:root{--bg:#0b050c;--ink:#f8f2f6;--muted:#efcedc;--pink:#ff5b91;--pinksoft:#ffd2e0;--gutter:clamp(22px,6vw,108px)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--pinksoft);outline-offset:4px}.skip{position:fixed;z-index:120;top:-100px;left:12px;background:#fff;color:#110611;padding:12px}.skip:focus{top:12px}
.scene{position:fixed;inset:0;z-index:0;overflow:hidden;background:#180713}.scene-poster,.scene-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 31%;display:block}.scene-poster{z-index:0}.scene-video{z-index:1;opacity:0;transition:opacity .17s ease;will-change:opacity}.scene-video.active{opacity:1}.scene-shade{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,#0b0411e6 0%,#0b0411b6 22%,#0b04116b 49%,#0b041115 83%),linear-gradient(0deg,#09040cb9 0%,transparent 36%,transparent 72%,#09040c70 100%)}.scene-noise{z-index:3;position:absolute;inset:0;pointer-events:none;opacity:.04;background:repeating-linear-gradient(0deg,transparent 0px,transparent 4px,#ff89d30b 5px)}.scene-side-label{position:absolute;right:14px;top:50%;transform:translateY(-50%);z-index:4;writing-mode:vertical-rl;letter-spacing:.2em;color:#f9d2e6;font-size:9px}
main{position:relative;z-index:2}.top-progress{position:fixed;z-index:70;top:0;left:0;right:0;height:3px}.top-progress span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:var(--pink);box-shadow:0 0 13px var(--pink)}
.header{height:78px;padding:0 var(--gutter);position:fixed;z-index:60;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;background:#100613b9;border-bottom:1px solid #ffffff24;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.brand{display:flex;gap:11px;align-items:center;font-size:12px;line-height:1.03;font-weight:800;letter-spacing:.02em}.brand-icon{width:40px;height:40px;border:1px solid #ffffff90;border-radius:50%;display:grid;place-items:center;font-size:27px}.brand-icon span{color:var(--pink)}.brand strong{font-size:10px;color:#f1c0d1;letter-spacing:.12em}.desktop-nav{display:flex;gap:clamp(14px,2.6vw,40px)}.desktop-nav a{font-size:10px;letter-spacing:.15em;font-weight:800;color:#ecd6df}.desktop-nav a.active,.desktop-nav a:hover{color:#ff79a7}.menu-toggle{background:transparent;border:0;padding:12px;display:none;flex-direction:column;gap:6px;align-items:center;justify-content:center;min-height:44px;min-width:44px}.menu-toggle span{background:#fff;width:24px;height:2px}.mobile-menu[hidden]{display:none!important}.mobile-menu{position:fixed;top:78px;left:0;right:0;z-index:59;background:#1c091bea;padding:20px var(--gutter) 30px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.mobile-menu a{padding:15px 4px;display:flex;justify-content:space-between;font-weight:800;border-bottom:1px solid #ffffff33}.mobile-menu a span{color:#ff91b2;font-size:11px}.fixed-edge{position:fixed;z-index:4;top:50%;left:18px;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:14px;font-size:9px;letter-spacing:.1em;color:#ffc2d8}.edge-line{height:70px;width:1px;background:linear-gradient(transparent,#ffa2c5,transparent)}
.chapter{min-height:105svh;min-height:105dvh;padding:clamp(115px,13vh,150px) var(--gutter) 110px;display:flex;align-items:center;position:relative;isolation:isolate}.chapter-content{width:min(100%,900px);z-index:1}.chapter-left{width:min(100%,660px)}.chapter-number{position:absolute;bottom:34px;right:var(--gutter);font-size:10px;letter-spacing:.17em;color:#ffb9ce}.overline,.eyebrow{font-size:10px;letter-spacing:.19em;line-height:1.5;font-weight:850;color:var(--pinksoft)}.eyebrow span{padding:0 5px}.signal-dot{display:inline-block;width:7px;height:7px;background:var(--pink);border-radius:50%;box-shadow:0 0 12px var(--pink);margin-right:7px}
.hero-chapter{min-height:100svh;min-height:100dvh;padding-top:125px}.hero-hello{margin:30px 0 9px;font:italic clamp(21px,3vw,32px) Georgia,serif;color:#ffe9f2}.hero-title{margin:0;font-size:clamp(56px,10vw,150px);font-weight:950;line-height:.86;letter-spacing:-.083em;text-shadow:0 4px 37px #000b}.hero-title>span{display:block}.hero-outline{color:transparent;-webkit-text-stroke:1.5px #ffeff8;text-shadow:none}.title-period{color:var(--pink);-webkit-text-stroke:0}.hero-foot{display:flex;align-items:center;gap:34px;margin-top:37px}.hero-foot p{font-size:clamp(12px,1.3vw,17px);color:#f0d9e5;line-height:1.75}.hero-foot strong{color:white}.round-button{width:74px;height:74px;border:1px solid #ffb4cc;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:26px;transition:background .3s,transform .3s;backdrop-filter:blur(10px)}.round-button:hover{background:#ff5b9150;transform:rotate(40deg)}.round-button small{font-size:8px;font-weight:800;letter-spacing:.1em}.scroll-cue{position:absolute;bottom:35px;left:var(--gutter);display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.19em;color:#fcd5e3}.scroll-mouse{display:flex;justify-content:center;width:19px;height:29px;padding:5px;border:1px solid #ffb4cc;border-radius:30px}.scroll-mouse i{width:2px;height:7px;background:var(--pink);border-radius:3px;animation:wheel 1.5s ease-out infinite}.cue-arrow{font-size:17px;color:var(--pink)}@keyframes wheel{to{transform:translateY(8px);opacity:0}}
.chapter-title{font-size:clamp(51px,7.5vw,110px);font-weight:950;line-height:.87;letter-spacing:-.075em;margin:26px 0 30px;text-shadow:0 4px 35px #000a}.chapter-title em{font:italic 500 .82em Georgia,serif;color:#ffcee0;letter-spacing:-.05em}.copy-block{max-width:540px;padding:19px 24px 20px 0;border-top:1px solid #ffffff6b;background:linear-gradient(90deg,#1c08129c,transparent);display:grid;gap:13px}.copy-block p{margin:0;color:#f5e4ea;font-size:clamp(13px,1.15vw,16px);line-height:1.8}.copy-block .large-copy{font-size:clamp(17px,1.6vw,23px);line-height:1.55;color:#fff}.fine-line{height:1px;background:#ffffff46}.copy-block .mini-quote{font-size:10px;font-weight:850;letter-spacing:.1em;color:#ffbbd1}.about-chapter{min-height:112svh}.works-chapter{min-height:121svh}.film-card{position:relative;display:block;text-align:left;width:min(100%,550px);height:340px;padding:22px;border:1px solid #ffc3db7a;background:radial-gradient(ellipse at 72% 25%,#9c3155 0%,#42182e 35%,#110916 85%);overflow:hidden;transition:transform .3s,border-color .3s}.film-card:hover{transform:translateY(-4px);border-color:white}.film-card-top,.film-card-bottom{position:absolute;left:22px;right:22px;display:flex;justify-content:space-between;gap:15px;font-size:9px;letter-spacing:.13em;font-weight:800;color:#ffdfeb}.film-card-top{top:20px}.film-card-bottom{bottom:20px;padding-top:14px;border-top:1px solid #ffffff54}.film-card-title{position:absolute;bottom:65px;left:22px}.film-card-title small{display:block;color:#ffb9d0;font-size:10px;letter-spacing:.1em;margin-bottom:10px}.film-card-title strong{display:block;font-size:clamp(54px,7vw,88px);line-height:.85;letter-spacing:-.075em}.film-card-title strong span{color:var(--pink)}.work-note{font-size:12px;line-height:1.7;color:#f9dbe6;max-width:550px}.skill-list{max-width:580px;border-top:1px solid #ffffff62}.skill-list>div{display:grid;grid-template-columns:28px 1fr 20px;gap:14px;align-items:center;border-bottom:1px solid #ffffff5a;padding:17px 2px;background:linear-gradient(90deg,#210a1d8c,transparent)}.skill-list span{font-size:10px;color:#ffa2c4}.skill-list strong{font-size:clamp(14px,1.6vw,21px);letter-spacing:-.03em}.skill-list i{font-size:19px;font-style:normal;color:#ffafce}
.contact-chapter{min-height:108svh;padding-bottom:165px}.contact-intro{font:italic clamp(19px,2.1vw,27px) Georgia,serif;margin:24px 0 0}.contact-title{font-size:clamp(53px,8vw,118px)}.contact-copy{font-size:clamp(13px,1.3vw,17px);line-height:1.75;max-width:520px;color:#f6d8e4}.contact-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.contact-links a{border:1px solid #ffa0bf;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:28px;background:#230b20cc;font-size:11px;font-weight:850;letter-spacing:.08em}.contact-links a span{font-size:18px}.coming-soon{font-size:11px;color:#e3abc3;margin-top:21px}.footer{position:absolute;bottom:0;left:var(--gutter);right:var(--gutter);border-top:1px solid #ffffff4f;padding:25px 0;display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap;font-size:9px;color:#ffd1e0;letter-spacing:.1em}.footer a{color:#ffb5d1}
.scroll-hud{position:fixed;z-index:8;bottom:18px;right:var(--gutter);width:205px;border:1px solid #ffffff49;background:#160815b9;backdrop-filter:blur(13px);padding:11px 13px;display:grid;gap:8px;pointer-events:none}.hud-label{font-size:9px;font-weight:850;color:#f9d0e2;letter-spacing:.13em}.hud-label strong{color:#fff;font-variant-numeric:tabular-nums}.hud-muted{color:#ffd3e1}.hud-track{display:block;width:100%;height:2px;background:#ffffff54}.hud-track i{display:block;width:100%;height:100%;background:var(--pink);transform-origin:left;transform:scaleX(0)}.hud-hint{font-size:8px;color:#eebacb;line-height:1.4}
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .85s cubic-bezier(.2,.65,.2,1)}.js .reveal.visible{opacity:1;transform:none}
.project-dialog{width:min(92vw,630px);max-height:85vh;overflow-y:auto;background:#160916;color:#fff;border:1px solid #ff83b1;padding:25px;box-shadow:0 30px 90px #000d}.project-dialog::backdrop{background:#05030bec;backdrop-filter:blur(7px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.1em;color:#fbb7d2}.dialog-top button{padding:8px 11px;background:transparent;border:1px solid #ffffff70;font-size:19px}.dialog-cover{height:220px;background:radial-gradient(ellipse at 70% 45%,#8a254e,#271129 65%);padding:24px;display:flex;flex-direction:column;justify-content:end}.dialog-cover span{font-size:10px;letter-spacing:.15em}.dialog-cover strong{font-size:clamp(51px,7vw,81px);letter-spacing:-.07em;line-height:.9}.project-dialog h2{font-size:27px}.project-dialog p{line-height:1.8;color:#f1d3e1}.project-dialog .dialog-note{border-top:1px solid #ffffff4a;padding-top:16px;color:#ecb4cf;font-size:12px}
@media(max-width:900px){.fixed-edge,.scene-side-label{display:none}}
@media(max-width:680px){
 :root{--gutter:clamp(18px,5.5vw,26px)}
 html{scroll-padding-top:72px}
 .header{height:67px;padding:0 19px}.brand{font-size:11px;gap:9px}.brand strong{font-size:9px}.brand-icon{width:34px;height:34px;font-size:22px}.desktop-nav{display:none}.menu-toggle{display:flex}.mobile-menu{top:67px}
 .scene-poster,.scene-video{object-position:var(--face-x,20%) center}.scene-shade{background:linear-gradient(0deg,#08040cfa 0%,#08040ce6 17%,#08040cc0 32%,#08040c24 63%,#08040c33 100%)}
 .chapter{min-height:100svh;min-height:100dvh;padding:95px var(--gutter) 115px;align-items:flex-end}
 .hero-chapter{min-height:100svh;min-height:100dvh;padding-bottom:125px}.chapter-content{max-width:100%;padding:0;background:transparent}
 .overline,.eyebrow{font-size:9px;letter-spacing:.1em;max-width:100%;line-height:1.6}
 .hero-hello{margin:16px 0 10px;font-size:23px}.hero-title{font-size:clamp(48px,12vw,63px);line-height:.91;letter-spacing:-.07em;max-width:100%}.hero-foot{gap:12px;justify-content:space-between;margin-top:14px}.hero-foot p{font-size:11px;line-height:1.55;max-width:235px}.round-button{width:60px;height:60px;font-size:25px;flex:0 0 60px}.round-button small{font-size:7px}
 .chapter-title{font-size:clamp(45px,10.8vw,59px);line-height:.93;letter-spacing:-.065em;margin:16px 0 24px;overflow-wrap:normal}
 .chapter-left{width:100%}.about-chapter,.works-chapter,.expertise-chapter{min-height:108svh}.copy-block{max-width:100%;padding:14px 10px 15px 0;gap:9px}.copy-block p{font-size:12px;line-height:1.6}.copy-block .large-copy{font-size:16px;line-height:1.5}.copy-block .mini-quote{font-size:9px}
 .film-card{height:clamp(250px,75vw,320px);padding:16px}.film-card-top,.film-card-bottom{left:16px;right:16px;font-size:8px}.film-card-top{top:15px}.film-card-bottom{bottom:14px}.film-card-title{left:16px;bottom:57px}.film-card-title small{font-size:9px}.film-card-title strong{font-size:clamp(49px,12vw,69px)}.work-note{font-size:11px;line-height:1.65}
 .skill-list>div{padding:14px 0;gap:9px;grid-template-columns:19px minmax(0,1fr) 16px}.skill-list strong{font-size:clamp(12px,3.6vw,17px)}.skill-list span{font-size:9px}.skill-list i{font-size:16px}
 .contact-chapter{padding-bottom:150px;min-height:109svh}.contact-intro{font-size:19px}.contact-title{font-size:clamp(46px,11vw,61px)}.contact-copy{font-size:12px}.contact-links{flex-direction:column;align-items:stretch}.contact-links a{padding:12px 13px;font-size:10px}.coming-soon{font-size:10px}
 .footer{left:var(--gutter);right:var(--gutter);bottom:0;padding:14px 0;flex-direction:column;gap:7px;font-size:8px}.scroll-hud{display:none}.hud-hint{display:none}.scroll-cue{bottom:25px;font-size:8px;max-width:58%;gap:7px}.chapter-number{bottom:66px;right:var(--gutter);font-size:9px}
}
@media(max-width:360px){.hero-title{font-size:11.8vw}.chapter-title{font-size:10.4vw}.hero-foot p{max-width:200px}.overline,.eyebrow{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}.scene-video{display:none}.scroll-mouse i{animation:none}}

/* V7: the portrait stays fixed; browser video decoding supplies real 24-fps motion. */
.scene-video{background:transparent}
@media (max-width:680px){
  .header{padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right))}
  .scene{--face-x:40%}
  .scene-shade{background:linear-gradient(0deg,#08040cff 0%,#08040cf0 13%,#08040cc9 29%,#08040c28 56%,#08040c27 100%)}
  .hero-chapter .chapter-content{padding-bottom:8px}
  .chapter{padding-left:clamp(17px,5.2vw,27px);padding-right:clamp(17px,5.2vw,27px)}
  .hero-title,.chapter-title{overflow-wrap:normal;word-break:normal}
  .chapter-content{min-width:0}
  .film-card{max-width:100%;overflow:hidden}
  .film-card-title strong{font-size:clamp(44px,11.3vw,66px)}
  .contact-chapter .chapter-content{padding-bottom:10px}
}
@media (max-width:360px){
  .hero-title{font-size:clamp(39px,11.6vw,49px)}
  .hero-foot{gap:8px}
  .hero-foot p{font-size:10px;max-width:190px}
  .round-button{width:56px;height:56px;flex-basis:56px}
  .chapter-title{font-size:10vw}
  .film-card-title strong{font-size:12vw}
}

/* V8: canvas frame sequence eliminates autoplay requirements. */
.scene-canvas{position:absolute;inset:0;z-index:1;width:100%;height:100%;display:block;opacity:0;transition:opacity .28s ease;pointer-events:none}
.scene-canvas.ready{opacity:1}
.motion-start{position:fixed;z-index:100;bottom:22px;right:22px;background:#fc7aa8;color:#160715;border:0;border-radius:30px;padding:12px 16px;font-weight:800;box-shadow:0 10px 34px #0009;cursor:pointer}
.motion-start[hidden]{display:none!important}
html.motion-opt-in .scene-canvas{display:block!important}
@media(prefers-reduced-motion:reduce){.scene-canvas{display:none}}
