:root{--paper:#f3edf8;--ink:#26182f;--purple:#8251ca;--lilac:#c4a6ef;--light:#e5d8f4;--line:#26182f30;--dark:#24132f;--mono:'IBM Plex Mono',monospace;--sans:'DM Sans',Arial,sans-serif;--serif:'Bodoni Moda',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--purple);outline-offset:6px}a{color:inherit;text-decoration:none}button{border:0}p{line-height:1.7;margin:0 0 20px}h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.055em;line-height:.95}h2 em,h3 em{font-family:var(--serif);font-weight:500;letter-spacing:-.055em}img{max-width:100%;display:block}::selection{background:#b48be3;color:var(--ink)}[hidden]{display:none!important}.mono{font-family:var(--mono);font-size:10px;font-weight:400;letter-spacing:.05em;line-height:1.5}.skip{position:fixed;top:-100px;left:20px;background:white;padding:15px;z-index:200}.skip:focus{top:15px}.header{position:absolute;top:0;left:0;width:100%;height:108px;display:flex;align-items:center;justify-content:space-between;padding:0 3.8vw;z-index:30}.wordmark{font-family:Georgia,serif;font-size:32px;font-weight:700;letter-spacing:-.07em;line-height:.8}.wordmark span{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.005em;margin-top:7px}.monogram{position:absolute;left:50%;transform:translateX(-50%);font:italic bold 46px Georgia,serif;letter-spacing:-.16em}.monogram span{display:inline-block;transform:translateY(7px)}.header-actions{display:flex;gap:10px;align-items:center}.pill{background:var(--lilac);border:1px solid transparent;display:inline-flex;align-items:center;gap:40px;border-radius:100px;padding:16px 24px;font-family:var(--mono);font-size:11px;font-weight:500}.pill:hover{background:var(--ink);color:var(--paper)}.pill span{font-size:20px;line-height:1}.menu-button{width:52px;height:52px;border:1px solid var(--ink);border-radius:50%;background:transparent;display:grid;align-content:center;gap:6px;padding:15px;transition:.2s}.menu-button span{height:1px;width:20px;background:var(--ink);display:block;transition:transform .25s}.menu-button[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.navigation{position:fixed;inset:0;background:var(--lilac);z-index:25;padding:140px 9vw 40px;display:flex;flex-direction:column;justify-content:center;transform:translateY(-105%);transition:transform .55s cubic-bezier(.76,0,.24,1)}.navigation.open{transform:translateY(0)}.navigation a{display:flex;gap:30px;align-items:center;font-size:clamp(32px,5.7vw,78px);letter-spacing:-.06em;line-height:1.2;padding:12px 0;border-bottom:1px solid #26182f36}.navigation small{font:11px var(--mono);letter-spacing:0}.navigation a span{margin-left:auto}.navigation p{font:11px var(--mono);margin-top:35px}.hero{position:relative;min-height:860px;height:100svh;max-height:1250px;overflow:hidden;background:#eee7f5}.contours{position:absolute;inset:0;width:100%;height:100%;color:#8e6cae;opacity:.2;pointer-events:none}.hero-kicker{position:absolute;top:135px;left:3.8vw;display:flex;gap:10px;align-items:center;z-index:5}.live-dot{width:6px;height:6px;background:var(--purple);border-radius:50%;box-shadow:0 0 0 4px #8251ca13}.hero-name{position:absolute;top:165px;left:50%;transform:translateX(-50%);font-size:clamp(150px,25vw,400px);font-weight:900;line-height:.72;letter-spacing:-.085em;color:#aa8cbe28;width:100%;text-align:center;pointer-events:none}.hero-name>span{display:block;font-size:clamp(40px,7.1vw,110px);letter-spacing:-.065em;padding-top:20px;color:#9f83af22}.portrait-stage{position:absolute;width:min(800px,63vw);height:calc(100% - 175px);top:135px;left:50%;transform:translateX(-50%);z-index:2;--mx:58%;--my:40%;--radius:20%;--tilt:0deg;touch-action:pan-y}.portrait{position:absolute;inset:0;height:100%;width:100%;object-fit:contain;object-position:center bottom;pointer-events:none;filter:drop-shadow(0 20px 40px #31152d12)}.portrait-base{opacity:1}.portrait-alternate{position:absolute;inset:0;clip-path:ellipse(var(--radius) calc(var(--radius)*.62) at var(--mx) var(--my));transition:clip-path .1s linear;will-change:clip-path}.portrait-alternate .portrait{filter:drop-shadow(0 20px 40px #31152d12)}.portrait-stage.full-story .portrait-alternate{clip-path:ellipse(110% 110% at 50% 50%);transition:clip-path .7s cubic-bezier(.2,.8,.2,1)}.portrait-stage.full-research .portrait-alternate{clip-path:ellipse(0 0 at 50% 50%);transition:clip-path .6s}.portrait-halo{position:absolute;width:85%;aspect-ratio:1;border-radius:50%;background:#d6c0ed;top:14%;left:7%;filter:blur(2px);z-index:-1;opacity:.42}.portrait-scan{position:absolute;inset:15% 8%;border:1px solid #8251ca15;border-radius:50%;transform:rotate(-22deg);z-index:-1}.lens-note{position:absolute;left:37%;top:53%;color:white;font-size:9px;opacity:.85;transform:rotate(-12deg);display:none}.persona-title{position:absolute;top:45%;z-index:4;width:25%}.persona-title .mono{font-size:9px;display:block;margin-bottom:21px;color:var(--purple)}.persona-title h2{font-size:clamp(38px,4.6vw,75px);line-height:1.02;font-weight:500;letter-spacing:-.065em}.persona-title h2 em{font-weight:600}.persona-title p{font-size:12px;margin-top:24px;line-height:1.5;color:#685772}.persona-research{left:6vw}.persona-story{right:4vw;text-align:right}.persona-controls{position:absolute;bottom:84px;left:50%;transform:translateX(-50%);z-index:7;display:flex;flex-direction:column;align-items:center;gap:14px;width:max-content;max-width:90vw}.persona-switch{display:flex;gap:4px;background:#f5eff9df;border:1px solid #9582a450;border-radius:100px;padding:5px;backdrop-filter:blur(12px)}.persona-switch button{font:9px var(--mono);letter-spacing:.04em;border-radius:100px;padding:13px 22px;background:transparent;transition:.3s;white-space:nowrap}.persona-switch button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.pointer-hint{font-size:8px;color:#5d4a6c}.hero-bottom{position:absolute;bottom:25px;left:3.8vw;right:3.8vw;display:flex;justify-content:space-between;align-items:center;z-index:8;font-size:9px}.hero-bottom a{transition:transform .2s}.hero-bottom a:hover{transform:translateY(3px)}.local-time{min-width:80px;text-align:right}.marquee{overflow:hidden;background:var(--ink);color:var(--lilac);padding:25px 0}.marquee>div{width:max-content;font-size:clamp(32px,4.4vw,68px);font-weight:700;letter-spacing:-.05em;animation:marquee 34s linear infinite}.marquee span{padding:0 35px;font-size:.9em;font-weight:400;vertical-align:middle}@keyframes marquee{to{transform:translateX(-50%)}}.section-wrap{max-width:1600px;margin:auto;padding:100px 6vw}.section-label{display:flex;justify-content:space-between;gap:25px;padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:70px;font-size:9px}.intro-title{font-size:clamp(50px,7.2vw,112px);line-height:1.02;font-weight:500}.intro-bottom{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:65px}.intro-bottom>div:last-child{max-width:550px;font-size:18px}.intro-bottom>div:last-child p+p{font-size:15px;color:#77677d}.annotation{display:flex;align-items:center;gap:25px}.asterisk{font-size:90px;line-height:1;color:var(--purple)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;font:10px var(--mono);padding-bottom:9px;margin-top:14px;border-bottom:1px solid currentColor}.text-link span{font-size:19px;transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}.worlds{background:#e5d8f2}.worlds .section-label{margin-bottom:40px}.world-tabs{display:flex;border-bottom:1px solid var(--line);gap:25px}.world-tabs button{position:relative;flex:1;display:flex;gap:15px;align-items:center;justify-content:flex-start;padding:20px 0 25px;background:transparent;font-weight:700;font-size:clamp(20px,3.1vw,46px);letter-spacing:-.05em;text-align:left;opacity:.4}.world-tabs button small{font:10px var(--mono);letter-spacing:0;margin-right:4px}.world-tabs button span{margin-left:auto}.world-tabs button[aria-selected=true]{opacity:1}.world-tabs button[aria-selected=true]:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--purple)}.world-panel{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding-top:55px;align-items:center;animation:panel .4s ease}.world-art{aspect-ratio:1.16;position:relative;overflow:hidden;border-radius:3px;background:#34213f;color:#d5b5fa;display:flex;align-items:center;justify-content:center}.art-label{position:absolute;top:25px;left:25px;font-size:9px;opacity:.8}.art-foot{position:absolute;bottom:25px;left:25px;font-size:8px;opacity:.8}.research-art svg{position:absolute;inset:0;width:100%;height:100%;opacity:.32}.research-art strong{font-family:Georgia,serif;font-size:95px;font-weight:400}.research-art strong span{font-size:36px;vertical-align:middle;margin:0 15px}.orbital{transform-origin:center;animation:rotate-orbit 45s linear infinite}@keyframes rotate-orbit{to{transform:rotate(360deg)}}.world-copy h3{font-size:clamp(40px,4.4vw,68px);line-height:1.02;margin:23px 0 28px;font-weight:500}.eyebrow{font-size:9px;color:var(--purple)}.world-copy p{font-size:14px;color:#675672;line-height:1.8}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:28px}.chips span{font:8px var(--mono);border:1px solid #61487540;padding:8px 10px;border-radius:50px}.world-copy .text-link{margin-top:26px}.film-art{background:#36222f;color:#f3d9ed}.film-gate{position:absolute;inset:20%;border:1px solid #f3d9ed77;padding:20px;display:flex;flex-direction:column;justify-content:space-between}.film-gate>span{font:8px var(--mono)}.film-gate>span:first-child{display:flex;gap:8px;align-items:center}.film-gate i{width:5px;height:5px;background:#c798ec;border-radius:50%}.film-gate strong{font-size:52px;line-height:.85;font-weight:500;letter-spacing:-.06em}.film-gate strong em{font-family:var(--serif);font-size:65px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:48px}.section-heading h2,.notes h2{font-size:clamp(45px,5.4vw,84px);line-height:1.04;font-weight:500}.filters{display:flex;gap:5px;padding-bottom:8px}.filters button{background:none;font:9px var(--mono);border:1px solid transparent;border-radius:50px;padding:10px 13px}.filters button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--paper)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px 28px}.project{background:none;padding:0;text-align:left;width:100%;display:block}.project-visual{aspect-ratio:1.25;position:relative;overflow:hidden;border-radius:3px;display:flex;align-items:flex-end;padding:35px;isolation:isolate;transition:transform .5s}.project-visual strong{font-size:clamp(36px,4.7vw,76px);font-weight:500;letter-spacing:-.06em;line-height:.95;position:relative;z-index:1;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.project-visual strong em{font-family:var(--serif);font-weight:500;letter-spacing:-.065em}.project .top-left{position:absolute;top:25px;left:27px;font-size:8px;z-index:2}.project-arrow{position:absolute;top:20px;right:20px;width:36px;height:36px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;transition:.3s;font-size:21px;z-index:2}.project:hover .project-arrow{transform:rotate(45deg);background:var(--paper);color:var(--ink);border-color:var(--paper)}.project:hover .project-visual strong{transform:translateY(-10px)}.project-meta{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-top:18px}.project-meta h3{font-size:18px;letter-spacing:-.035em;line-height:1.2;font-weight:500}.project-meta>span{font:7px var(--mono);line-height:1.6;max-width:44%;text-align:right;opacity:.7}.corpus-visual{background:#d4c0e7;color:#35213e}.waveform{position:absolute;left:-10%;top:15%;width:120%;height:35%;display:flex;align-items:center;justify-content:center;gap:5px;transform:rotate(-13deg);opacity:.35}.waveform i{background:var(--purple);height:var(--h);width:3px;border-radius:4px}.ashes-visual{background:#2d272b;color:#e7c7ab}.eclipse{position:absolute;width:70%;aspect-ratio:1;border-radius:50%;top:13%;left:35%;background:radial-gradient(ellipse at 30% 25%,#e7c7ab70,transparent 65%);border:1px solid #e7c7ab65;box-shadow:0 0 100px #b7876d24,inset -22px -10px 0 #e7c7ab12}.temple-visual{background:#a8a89f;color:#fff8ec}.temple-gate{position:absolute;width:60%;height:115%;left:30%;top:-12%;border:30px solid #4d56534a;border-radius:50% 50% 0 0;transform:rotate(20deg);box-shadow:0 0 0 30px #35413c15,0 0 0 65px #35413c10}.causal-visual{background:#362245;color:#dec4ff}.causal-nodes{position:absolute;left:13%;right:13%;top:25%;display:flex;justify-content:space-between;align-items:center;opacity:.7}.causal-nodes span{width:65px;height:65px;border:1px solid #dec4ff66;border-radius:50%;display:grid;place-items:center;font:28px var(--serif)}.causal-nodes i{font-style:normal;font-size:25px;opacity:.4}.project-note{font-size:7px;opacity:.5;margin:28px 0 0}.notes{padding-top:30px}.notes-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:55px}.notes-heading p{font-size:13px;width:240px;margin:0;color:#7a687e}.publication-list{border-top:1px solid var(--line)}.publication-list article{display:grid;grid-template-columns:1fr 3fr 1.3fr;gap:30px;border-bottom:1px solid var(--line);padding:30px 0}.publication-list h3{font-size:21px;line-height:1.2;letter-spacing:-.035em;font-weight:500;max-width:650px}.publication-list article>span:last-child{font-size:10px;line-height:1.6;opacity:.65}.off-duty{background:#ded0ed}.off-duty .section-label{border-color:#27133235}.off-duty-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9vw}.off-duty h2{font-size:clamp(55px,7vw,112px);font-weight:500;line-height:.95;margin-bottom:30px}.off-duty p{font-size:14px;max-width:420px;color:#695172}.track-art{background:var(--dark);color:#ceb1ee;aspect-ratio:1.05;position:relative;display:grid;place-items:center;border-radius:3px;transform:rotate(3deg);transition:transform .6s}.track-art:hover{transform:rotate(0)}.track-art svg{width:100%}.track-label,.track-footer{position:absolute;left:25px;right:25px;display:flex;justify-content:space-between;font-size:7px}.track-label{top:25px}.track-footer{bottom:25px}.track-shadow{fill:none;stroke:#ceb1ee12;stroke-width:35}.track-art #track-path{fill:none;stroke:#ceb1ee;stroke-width:2}.start-line{stroke:#f6f0fb;stroke-width:8;stroke-dasharray:3 3}footer{background:var(--dark);color:var(--paper);overflow:hidden}footer .section-wrap{padding-bottom:22px}footer .section-label{border-color:#ede1f52a;color:#b79bcb}footer h2{font-size:clamp(58px,8.5vw,140px);font-weight:500;line-height:.98}footer h2 em{color:var(--lilac)}.email-link{font-size:clamp(17px,2.5vw,40px);font-weight:400;letter-spacing:-.04em;display:inline-flex;align-items:center;gap:25px;margin-top:45px;border-bottom:1px solid #c4a6ef66;padding-bottom:14px}.email-link span{color:var(--lilac)}.footer-links{display:flex;gap:30px;font:9px var(--mono);margin-top:35px}.footer-links a:last-child{margin-left:auto}.footer-name{font-size:25vw;line-height:.8;font-weight:900;letter-spacing:-.085em;margin:100px -1vw 50px;color:#c4a6ef}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:20px;border-top:1px solid #ede1f52a;font-size:8px;color:#bba9c9}.project-dialog{border:0;background:var(--paper);color:var(--ink);width:min(760px,90vw);max-height:85svh;padding:65px;border-radius:5px;overflow-y:auto}.project-dialog::backdrop{background:#160a20b8;backdrop-filter:blur(8px)}.dialog-close{position:absolute;top:15px;right:20px;background:none;font-size:32px;font-weight:300}.project-dialog h2{font-size:clamp(40px,5vw,65px);margin:27px 0;line-height:1}.dialog-role{font:10px var(--mono);line-height:1.7;color:var(--purple)}.project-dialog p:not(.dialog-role){font-size:15px}.project-dialog li{font-size:14px;line-height:1.7;margin-bottom:12px}.project-dialog ul{padding-left:18px}.dialog-link{margin-top:20px}.reveal{transition:opacity .7s,translate .7s}.js-motion .reveal:not(.visible){opacity:0;translate:0 28px}.filters button:hover{border-color:var(--ink)}@keyframes panel{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1800px){.persona-research{left:10vw}.persona-story{right:9vw}.hero-name{top:180px}}@media(max-width:1000px){.hero{height:900px;min-height:760px}.portrait-stage{width:79vw;top:150px;height:calc(100% - 190px)}.persona-title{width:31%;top:46%}.persona-title h2{font-size:47px}.persona-research{left:4vw}.persona-story{right:4vw}.persona-title p{font-size:10px}.hero-name{top:185px}.section-wrap{padding:80px 5vw}.section-label{margin-bottom:50px}.world-panel{gap:5vw}.world-copy p{font-size:13px}.world-art strong{font-size:70px}.project-meta{flex-direction:column;gap:8px}.project-meta>span{text-align:left;max-width:100%}.publication-list article{grid-template-columns:1fr 3fr}.publication-list article>span:last-child{grid-column:2}.film-gate strong{font-size:38px}.film-gate strong em{font-size:50px}.persona-controls{bottom:82px}}
@media(max-width:650px){.header{height:82px;padding:0 22px}.wordmark{font-size:25px}.wordmark span{font-size:8px}.monogram{font-size:35px}.contact-pill{display:none}.menu-button{width:42px;height:42px;padding:10px}.hero{height:860px;min-height:760px;max-height:none}.hero-kicker{top:104px;left:22px;font-size:7px;letter-spacing:.03em}.hero-name{top:174px;font-size:29vw}.hero-name>span{font-size:8vw;padding-top:13px}.portrait-stage{top:228px;left:50%;width:115vw;height:560px}.portrait-halo{top:3%;width:76%;left:12%}.persona-title{top:285px;width:44%;z-index:4}.persona-title h2{font-size:32px;line-height:.95}.persona-title .mono{font-size:6px;letter-spacing:.04em;margin-bottom:12px}.persona-title p{display:none}.persona-research{left:20px}.persona-story{right:20px}.persona-title h2 em{font-size:31px}.persona-controls{bottom:68px;gap:12px}.persona-switch button{padding:12px 14px;font-size:8px}.pointer-hint{font-size:6px;letter-spacing:.03em}.hero-bottom{left:22px;right:22px;font-size:7px;bottom:20px;gap:12px}.hero-bottom>span:first-child{max-width:125px}.hero-bottom .local-time{display:none}.marquee{padding:17px 0}.marquee>div{font-size:34px}.marquee span{padding:0 20px}.section-wrap{padding:65px 22px}.section-label{font-size:7px;margin-bottom:40px;padding-bottom:17px}.section-label>span:last-child{text-align:right;max-width:43%}.intro-title{font-size:51px}.intro-bottom{grid-template-columns:1fr;gap:30px;margin-top:35px}.annotation{gap:15px}.asterisk{font-size:54px}.annotation .mono{font-size:8px}.intro-bottom>div:last-child{font-size:17px}.intro-bottom>div:last-child p+p{font-size:14px}.world-tabs{gap:20px}.world-tabs button{font-size:19px;gap:7px;padding:12px 0 20px;align-items:flex-start;flex-wrap:wrap}.world-tabs button small{font-size:7px}.world-tabs button>span{display:none}.world-panel{grid-template-columns:1fr;gap:30px;padding-top:30px}.world-art{aspect-ratio:1.15}.world-copy h3{font-size:49px;margin:15px 0 25px}.world-copy p{font-size:14px}.world-art strong{font-size:90px}.section-heading{display:block;margin-bottom:30px}.section-heading h2,.notes h2{font-size:52px}.filters{margin-top:25px;gap:3px}.filters button{font-size:8px}.project-grid{grid-template-columns:1fr;gap:35px}.project-visual{padding:25px;aspect-ratio:1.18}.project-visual strong{font-size:61px}.project-meta{flex-direction:row}.project-meta h3{font-size:17px;max-width:58%}.project-meta>span{text-align:right;max-width:40%;font-size:6px}.project-note{font-size:6px}.notes{padding-top:5px}.notes-heading{display:block;margin-bottom:35px}.notes-heading p{margin-top:25px;width:90%;font-size:13px}.publication-list article{grid-template-columns:1fr;gap:13px;padding:25px 0}.publication-list article>span:last-child{grid-column:1;font-size:9px}.publication-list h3{font-size:22px}.publication-list .mono{font-size:8px}.off-duty-grid{grid-template-columns:1fr;gap:35px}.off-duty h2{font-size:75px}.track-art{margin:15px 8px 0}.off-duty .text-link{font-size:8px;gap:18px}footer h2{font-size:64px}.email-link{font-size:21px;gap:15px;margin-top:35px}.footer-links{font-size:7px;gap:18px;flex-wrap:wrap}.footer-links a:last-child{margin-left:0}.footer-name{margin:75px 0 35px;font-size:26vw}.footer-bottom{font-size:6px;gap:15px;flex-wrap:wrap}.project-dialog{padding:50px 28px 35px}.project-dialog h2{font-size:43px}.navigation{padding:100px 25px 30px}.navigation a{font-size:36px;gap:15px;padding:20px 0}.navigation small{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal:not(.visible){opacity:1;translate:none}.track-art{transform:none}.portrait-alternate{will-change:auto}}

.portrait-stage.full-story .portrait-base{opacity:0}

/* Whole portrait transitions keep each look complete. */
.monogram{width:120px;height:76px;display:flex;align-items:center;justify-content:center}
.monogram img{width:100%;height:100%;object-fit:contain}
.portrait-alternate,.portrait-stage.full-story .portrait-alternate,.portrait-stage.full-research .portrait-alternate{clip-path:none;will-change:opacity;transition:opacity .7s ease;opacity:0}
.portrait-base{transition:opacity .7s ease}
.portrait-stage.full-story .portrait-alternate{opacity:1}
.portrait-stage.full-story .portrait-base{opacity:0}
.lens-note{display:none}
@media(max-width:650px){.monogram{width:88px;height:60px}}

/* Double-sided portrait: complete looks on the front and back. */
.portrait-stage{perspective:1400px}
.portrait-rotor{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateY(var(--rotation,0deg));transition:transform 1.25s cubic-bezier(.22,.7,.22,1);cursor:grab;touch-action:pan-y;outline-offset:8px}
.portrait-rotor.is-dragging{transition:none}
.portrait-rotor.grabbing{cursor:grabbing}
.portrait-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.portrait-front{transform:rotateY(0deg) translateZ(1px)}
.portrait-back{transform:rotateY(180deg) translateZ(1px)}
.portrait-face .portrait{backface-visibility:hidden;user-select:none;-webkit-user-drag:none}
.spin-button{border-left:1px solid #8251ca40!important;border-radius:0!important;color:var(--ink);font-family:var(--mono);font-size:11px}
@media(prefers-reduced-motion:reduce){.portrait-rotor{transition:none}}

/* Automatic portrait turntable and opening signature. */
.portrait-stage{perspective:1500px}
.portrait-rotor{cursor:default;transition:none;transform:rotateX(-3deg) rotateY(var(--rotation,0deg));height:94%;top:0}
.portrait-front{transform:rotateY(0deg) translateZ(35px)}
.portrait-back{transform:rotateY(180deg) translateZ(35px)}
.turntable-base{position:absolute;bottom:-1%;left:9%;width:82%;height:12%;border-radius:50%;background:linear-gradient(180deg,#bba0d8,#8460aa);box-shadow:0 18px 32px #34194c30,inset 0 2px 0 #f9f2ff;z-index:-1;border-bottom:10px solid #6b458d}
.turntable-base:before{content:'';position:absolute;inset:10% 8%;border:1px solid #f3edf8aa;border-radius:50%}
.turntable-base span{position:absolute;bottom:10%;left:47%;color:#f3edf8;font:10px var(--mono);letter-spacing:2px}
.persona-story h2{font-size:clamp(32px,4vw,65px)}
.persona-research h2{font-size:clamp(36px,4.8vw,76px)}
.brand-intro{position:fixed;inset:0;background:#f3edf8;z-index:10000;display:grid;place-items:center;pointer-events:none;animation:intro-away .6s ease 1.1s forwards}
.brand-intro img{width:min(220px,45vw);animation:signature-in .8s cubic-bezier(.2,.8,.2,1) both}
@keyframes signature-in{from{opacity:0;transform:translateY(20px) scale(.86)}to{opacity:1;transform:none}}
@keyframes intro-away{to{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){.brand-intro{display:none}}

/* Pink exterior, blue shirt revealed by the pointer. */
.portrait-stage{--radius:0%;perspective:none}
.portrait-base{opacity:1!important}
.portrait-alternate{opacity:1;clip-path:ellipse(var(--radius) calc(var(--radius)*.8) at var(--mx) var(--my));transition:clip-path .15s ease;will-change:clip-path}
.portrait-stage.show-blue .portrait-alternate{clip-path:ellipse(110% 110% at 50% 50%)}
.portrait-stage.show-pink .portrait-alternate{clip-path:ellipse(0 0 at 50% 50%)}
