:root{--purple:#3f1db8;--silver:#c4c7d2;--white:#f5f3ff;--muted:#a6a1ba;--night:#07050f;--line:#c4c7d22a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}body{margin:0;background:var(--night);color:var(--white);font-family:"Avenir Next","Segoe UI",system-ui,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #bcabff;outline-offset:7px}::selection{background:var(--purple);color:#fff}.cosmos{position:fixed;inset:0;z-index:-1;overflow:hidden;background:#07050f;pointer-events:none}.nebula{position:absolute;inset:-15%;background:radial-gradient(ellipse at 68% 38%,#3f1db84a 0%,transparent 38%),radial-gradient(ellipse at 20% 66%,#6523a52b,transparent 40%),radial-gradient(ellipse at 80% 85%,#26315d35,transparent 35%)}#universe{width:100%;height:100%;display:block;position:absolute;inset:0}.cosmic-shade{position:absolute;inset:0;background:linear-gradient(180deg,#07050f55,transparent 18%,transparent 70%,#07050f55),radial-gradient(ellipse at center,transparent 25%,#07050f77 100%)}.grain{position:absolute;inset:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.5' filter='url(%23n)'/%3E%3C/svg%3E")}header{height:100px;position:absolute;left:6%;right:6%;top:0;display:flex;align-items:center;justify-content:space-between;z-index:5}.wordmark{font-size:36px;font-weight:750;letter-spacing:-5px;position:relative;padding-right:15px;color:#efedfa}.wordmark>span{font-size:18px;position:absolute;right:0;top:0;color:#a18bfa;letter-spacing:0}nav{display:flex;gap:35px;font-size:11px;align-items:center;color:#d4cfe6}nav a{transition:color .2s}nav a:hover{color:#b9a1ff}.header-contact{display:flex;align-items:center;gap:25px;border-bottom:1px solid #c4c7d25a;padding:9px 0}.header-contact span{font-size:17px}.micro{font-size:7px;letter-spacing:1.5px;font-weight:500;line-height:1.8}.chapter{position:relative;max-width:1600px;margin:auto;padding:100px 10%;}.hero{min-height:830px;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:110px 6% 115px}.hero-location{position:absolute;left:6%;top:140px;display:flex;align-items:center;gap:12px;color:#aca3c0}.location-dot{width:4px;height:4px;background:#b8a4ff;box-shadow:0 0 12px #a383ff;border-radius:50%}.coordinates{color:#6f6786;margin-left:12px}.hero-center{text-align:center;padding:85px 0 65px}.eyebrow{font-size:8px;letter-spacing:2.6px;font-weight:500;line-height:1.8;color:#c1b4de;margin:0}.hero-center .eyebrow{letter-spacing:5px;font-size:8px;color:#b0a4c9}.hero h1{font-size:clamp(70px,11vw,170px);line-height:1.05;letter-spacing:-.065em;font-weight:700;margin:26px 0 22px;color:#ece9f5;background:linear-gradient(165deg,#fff 10%,#f6f3ff 36%,#b1a4cc 77%,#cfc9df);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 5px 25px #08041099)}.hero h1>span{-webkit-text-fill-color:#a287f0}.hero-tagline{font-size:clamp(20px,2.4vw,31px);font-weight:400;line-height:1.35;letter-spacing:-.8px;text-shadow:0 3px 25px #07050f}.hero-tagline>span{color:#b1a4c9}.explore-link{display:inline-flex;align-items:center;gap:25px;margin-top:20px;font-size:10px;letter-spacing:.5px}.explore-link>span{border:1px solid #c7b7ed77;border-radius:50%;width:37px;height:37px;display:grid;place-items:center;font-size:18px;transition:background .3s,transform .3s}.explore-link:hover>span{background:#3f1db8;transform:translateY(3px)}.hero-bottom{position:absolute;bottom:85px;left:6%;right:6%;display:flex;justify-content:space-between;align-items:center;gap:25px}.portrait-signature{display:flex;align-items:center;gap:18px}.portrait-signature img{width:51px;height:51px;object-fit:cover;object-position:50% 35%;border:1px solid #c4c7d27f;border-radius:50%;box-shadow:0 0 0 5px #c4c7d207}.portrait-signature p{font-size:9px;color:#d8d2e6;line-height:1.9;margin:0}.portrait-signature p>span{color:#8c829f;font-size:8px}.scroll-note{font-size:6px;letter-spacing:2px;color:#9f92b8;display:flex;gap:25px;align-items:center}.scroll-note>span{font-size:18px}.chapter-mark{position:absolute;left:6%;bottom:29px;color:#786c91;font-size:6px}.journey-nav{position:fixed;right:3%;top:50%;translate:0 -50%;display:flex;flex-direction:column;gap:24px;z-index:8}.journey-nav:before{content:'';position:absolute;right:3px;top:8px;bottom:8px;width:1px;background:#bcb1d426;z-index:-1}.journey-nav a{display:flex;align-items:center;gap:11px;min-width:35px;min-height:16px}.journey-nav span{font-size:7px;color:#91859f;opacity:0;transition:opacity .3s}.journey-nav i{width:7px;height:7px;border-radius:50%;border:1px solid #9785b1;background:#0c0817;transition:box-shadow .3s,background .3s}.journey-nav .active i{background:#c8b7f8;border-color:#e8dfff;box-shadow:0 0 16px #9569ff}.journey-nav .active span,.journey-nav a:hover span{opacity:1}.section-kicker{display:flex;align-items:center;gap:18px;margin-bottom:40px}.chapter-dot{width:8px;height:8px;border:1px solid #c0a5f5;border-radius:50%;box-shadow:0 0 0 7px #8455d712,0 0 25px #8c5bd655}.chapter h2{font-size:clamp(38px,5.4vw,78px);font-weight:600;letter-spacing:-.05em;line-height:1.1;margin:0;color:#f0ecfa}.chapter h2>span{color:#b1a1cb}.work{padding-top:135px;padding-bottom:120px}.work:before,.about:before{content:'';position:absolute;inset:15px 4%;background:radial-gradient(ellipse,#07050fbb,transparent 75%);z-index:-1;pointer-events:none}.work-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.work-heading>p{font-size:13px;line-height:1.9;color:var(--muted);margin:0 0 7px}.project-list{border-top:1px solid var(--line)}.project-entry{position:relative;display:grid;grid-template-columns:40px 1fr 80px 25px;gap:23px;align-items:center;width:100%;padding:27px 0;background:none;border:0;border-bottom:1px solid var(--line);text-align:left;color:var(--white);transition:padding .35s,border-color .35s}.project-entry:hover{padding-left:14px;border-bottom-color:#aa7df57f}.project-entry:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#6a38c91c,transparent);opacity:0;transition:opacity .3s;z-index:-1}.project-entry:hover:before{opacity:1}.project-index{font-size:8px;color:#9c8eb1;align-self:start;margin-top:12px}.project-title{font-size:clamp(24px,3.1vw,42px);letter-spacing:-1.2px;font-weight:600;line-height:1.3}.project-title small{display:block;font-size:8px;letter-spacing:1.5px;font-weight:400;color:#9a8aaf;margin-top:9px;line-height:1.8}.project-symbol{font-size:46px;justify-self:center;line-height:1;color:#c3b4db;text-shadow:0 0 30px #8551f08a;transition:transform .5s}.project-entry:hover .project-symbol{transform:rotate(12deg) scale(1.12)}.alt-symbol{font-size:27px;letter-spacing:-3px}.film-symbol{font-size:39px}.play-symbol{font-size:42px}.project-arrow{font-size:23px;color:#b5a0d9;font-weight:300}.quiet-link{display:inline-flex;gap:25px;font-size:9px;color:#b7a8ce;margin-top:32px;align-items:center}.quiet-link:hover{color:white}.quiet-link span{font-size:17px}.about{padding-top:115px;padding-bottom:80px;min-height:0}.about-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px;align-items:center}.about-portrait{position:relative;max-width:340px;margin-top:35px;isolation:isolate}.about-portrait img{width:100%;height:auto;aspect-ratio:.85;object-fit:cover;object-position:50% 40%;border-radius:43% 43% 6px 6px;filter:saturate(.7);border:1px solid #d3bed747;box-shadow:0 25px 55px #0005}.portrait-light{position:absolute;inset:-25%;border-radius:50%;background:radial-gradient(ellipse,#7647d843,transparent 63%);z-index:-1}.portrait-coordinate{position:absolute;left:20px;bottom:27px;z-index:2;text-shadow:0 2px 4px #000;font-size:6px;color:#e5dcec}.portrait-spark{position:absolute;right:-25px;top:-22px;font-size:77px;line-height:1;color:#d0c3e1;text-shadow:0 0 30px #703fc69a}.about-story h2{font-size:clamp(32px,4.4vw,62px);margin-bottom:30px}.about-story>p{font-size:14px;color:#beb3cd;line-height:1.95;max-width:480px;text-shadow:0 2px 15px #07050f}.recognition{display:flex;gap:30px;margin-top:25px;padding-top:24px;border-top:1px solid var(--line)}.recognition>span{font-size:7px;line-height:1.9;color:#9483aa}.recognition strong{font-size:9px;font-weight:500;color:#d5c9e7}.contact{min-height:0;padding-top:90px;padding-bottom:60px;display:block}.contact-intro{font-size:12px;line-height:1.9;color:#b7a9cb;margin:0 0 28px}.contact-invitation{display:flex;align-items:center;justify-content:space-between;gap:20px}.contact-invitation h2{font-size:clamp(60px,9.5vw,140px);letter-spacing:-.065em;line-height:1.03;text-shadow:0 8px 40px #07050f66}.contact-invitation h2>span{background:linear-gradient(125deg,#f1e9ff,#b396dc 60%,#8f6cbe);background-clip:text;-webkit-background-clip:text;color:transparent}.contact-arrow{font-size:clamp(70px,10vw,145px);font-weight:300;color:#c4b3dd;transition:transform .4s}.contact-invitation:hover .contact-arrow{transform:translate(8px,-8px)}.contact-email{display:inline-flex;align-items:center;gap:45px;margin-top:35px;padding-bottom:12px;border-bottom:1px solid #ac8ed277;font-size:14px;align-self:start;color:#d1c2e4}.contact-email span{font-size:18px}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:25px;margin-top:100px;font-size:7px;color:#9281aa}footer .wordmark{font-size:28px}footer .wordmark>span{font-size:14px}footer .micro{font-size:6px}.motion-control{position:fixed;bottom:22px;right:3%;display:flex;align-items:center;gap:22px;z-index:9}.motion-control>span{color:#7d6f91;font-size:5px}.motion-control button{border:1px solid #b39ad22e;border-radius:20px;background:#0b0717d9;color:#b6a7cd;display:flex;gap:10px;align-items:center;padding:8px 12px;font-size:10px;line-height:1;backdrop-filter:blur(10px)}.motion-indicator{font-size:9px;color:#d2b8ff}.skip{position:fixed;left:20px;top:-100px;z-index:20;background:var(--purple);padding:14px;color:white}.skip:focus{top:15px}dialog{width:calc(100% - 36px);max-width:620px;max-height:85svh;overflow:auto;color:var(--white);background:linear-gradient(140deg,#1c122c,#0e0a17);padding:45px 45px 42px;border:1px solid #bca0d64a;border-radius:4px;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#07040dbd;backdrop-filter:blur(12px)}.close-dialog{position:absolute;right:18px;top:15px;width:35px;height:35px;border:0;background:none;color:#d3c2e9;font-size:26px}.dialog-symbol{display:block;font-size:60px;color:#ba9ae9;margin-top:24px;text-shadow:0 0 35px #7343c9}.dialog-light{position:absolute;right:0;top:0;width:240px;height:240px;background:radial-gradient(ellipse at top right,#3f1db84d,transparent 70%);pointer-events:none}dialog h2{font-size:42px;font-weight:600;letter-spacing:-1.9px;line-height:1.1;margin:20px 0}#dialog-copy>p{font-size:13px;line-height:1.95;color:#baaccb}.dialog-cta{display:inline-flex;gap:30px;border-bottom:1px solid #b193d37a;font-size:11px;padding-bottom:12px;margin-top:20px}.dialog-cta span{font-size:17px}
@media(min-width:1600px){header{max-width:1408px;left:50%;right:auto;width:88%;translate:-50% 0}.hero h1{font-size:176px}}
@media(max-width:1000px){.chapter{padding-left:8%;padding-right:8%}.hero{padding-left:6%;padding-right:6%}.about-layout{gap:50px}.about-story>p{font-size:13px}.project-entry{grid-template-columns:30px 1fr 50px 22px;gap:15px}.project-symbol{font-size:39px}.alt-symbol{font-size:23px}.recognition{gap:20px}.work{padding-top:100px}.journey-nav{right:2%}.contact{padding-top:80px}}
@media(max-width:650px){header{height:78px;left:7%;right:7%}.wordmark{font-size:30px}.wordmark>span{font-size:15px}nav{gap:20px;font-size:12px}.header-contact{gap:12px}.hero{min-height:780px;min-height:100svh;padding:100px 7% 180px}.hero-location{top:110px;left:7%;font-size:6px;gap:9px}.coordinates{font-size:5px;margin-left:4px}.hero-center{padding:75px 0 35px}.hero-center .eyebrow{font-size:6px;letter-spacing:2.7px}.hero h1{font-size:17vw;line-height:.99;letter-spacing:-.055em;margin:26px -2% 24px;max-width:100%;white-space:normal}.hero-tagline{font-size:23px;line-height:1.4;letter-spacing:-.6px}.explore-link{margin-top:20px;font-size:9px;gap:19px}.explore-link>span{width:34px;height:34px;font-size:16px}.hero-bottom{bottom:90px;left:7%;right:7%;display:block}.portrait-signature{gap:13px}.portrait-signature img{width:43px;height:43px}.portrait-signature p{font-size:8px}.portrait-signature p>span{font-size:7px}.scroll-note{display:none}.chapter-mark{left:7%;bottom:35px;font-size:5px}.journey-nav{right:13px;gap:22px}.journey-nav span{display:none}.journey-nav a{min-width:17px;justify-content:center}.journey-nav:before{right:8px}.journey-nav i{width:5px;height:5px}.chapter{padding-left:7%;padding-right:11%}.hero{padding-right:7%}.section-kicker{gap:14px;margin-bottom:28px}.eyebrow{font-size:6px;letter-spacing:1.9px}.chapter-dot{width:6px;height:6px}.work{padding-top:80px;padding-bottom:75px}.chapter h2{font-size:42px;letter-spacing:-1.8px}.work-heading{display:block;margin-bottom:30px}.work-heading>p{font-size:12px;margin-top:20px}.project-entry{grid-template-columns:20px 1fr 20px;gap:10px;padding:25px 0}.project-title{font-size:clamp(20px,5.7vw,30px);letter-spacing:-.8px}.project-title small{font-size:7px;letter-spacing:1px;margin-top:9px}.project-index{font-size:6px;margin-top:6px}.project-symbol{display:none}.project-arrow{font-size:20px}.project-entry:hover{padding-left:5px}.quiet-link{font-size:8px;gap:20px}.about{padding-top:75px;padding-bottom:100px;min-height:auto}.about-layout{display:flex;flex-direction:column;gap:38px;align-items:start}.about-portrait{width:68%;max-width:250px;margin:15px auto 0}.about-portrait img{aspect-ratio:.95;border-radius:43% 43% 5px 5px}.portrait-spark{font-size:57px;right:-18px;top:-14px}.portrait-coordinate{left:15px;bottom:22px;font-size:5px}.about-story h2{font-size:39px;margin-bottom:25px}.about-story>p{font-size:14px}.recognition{gap:22px}.recognition>span{font-size:6px}.recognition strong{font-size:8px}.contact{padding-top:65px;padding-bottom:75px;min-height:0}.contact-intro{font-size:10px;margin-bottom:30px}.contact-invitation{gap:8px}.contact-invitation h2{font-size:13vw;line-height:1.05;letter-spacing:-.06em}.contact-arrow{font-size:46px}.contact-email{font-size:11px;gap:30px;margin-top:30px}.contact-email>span{font-size:15px}footer{margin-top:80px;gap:18px;flex-wrap:wrap;font-size:6px;padding-top:20px}footer>.micro{display:none}footer .wordmark{font-size:25px}.motion-control{right:20px;bottom:20px}.motion-control>span{display:none}.motion-control button{font-size:9px;padding:8px 10px;gap:8px}dialog{padding:35px 25px 30px}dialog h2{font-size:32px;letter-spacing:-1.3px}.dialog-symbol{font-size:48px}#dialog-copy>p{font-size:12px}.dialog-cta{font-size:10px}.close-dialog{right:12px;top:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* A short particle trail joins the clicked project to its opening detail view. */
#project-transition{display:none;position:fixed;inset:0;margin:0;padding:0;border:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:transparent;overflow:hidden;pointer-events:none;z-index:1000}#project-transition.is-active{display:block}#project-transition::backdrop{background:transparent;pointer-events:none}#project-particles{display:block;width:100%;height:100%;pointer-events:none}dialog[open]::backdrop{animation:backdrop-in .45s ease both}.motion-off dialog[open]::backdrop{animation:none}@keyframes backdrop-in{from{background:#07040d00;backdrop-filter:blur(0)}to{background:#07040dbd;backdrop-filter:blur(12px)}}@media(prefers-reduced-motion:reduce){#project-transition{display:none!important}dialog[open]::backdrop{animation:none}}

/* The solid panel stays invisible until its particle geometry has assembled. */
dialog.is-forming{pointer-events:none}dialog.is-forming .close-dialog{pointer-events:auto}dialog.is-forming::backdrop{background:#07040da8;backdrop-filter:blur(8px)}

body.scene-only{overflow:hidden}.scene-only header,.scene-only main,.scene-only .journey-nav{opacity:0;visibility:hidden;pointer-events:none}#scene-toggle{font-size:10px;border-color:#c2a2ef66;background:#170d2bd9}.scene-only .motion-control{left:50%;right:auto;translate:-50% 0;white-space:nowrap}.scene-only .motion-control>.micro{display:none}@media(max-width:650px){#scene-toggle{font-size:9px}.motion-control{gap:10px}}

.project-title .project-summary{display:block;font-size:12px;font-weight:400;line-height:1.7;letter-spacing:0;color:#b8aaca;margin-top:9px;max-width:520px}@media(max-width:650px){.project-title .project-summary{font-size:11px;max-width:245px}}

/* Compact phone layout: natural section heights and a closer reading rhythm. */
@media(max-width:650px){
  .hero{min-height:0;padding-top:106px;padding-bottom:34px;justify-content:flex-start}
  .hero-location{position:static;margin:0 0 20px}
  .hero-center{padding:18px 0 20px}
  .hero h1{margin-top:20px;margin-bottom:20px}
  .hero-tagline{margin-top:18px;margin-bottom:18px}
  .hero-bottom{position:static;margin-top:22px}
  .chapter-mark{position:static;margin-top:24px}
  .work{padding-top:40px;padding-bottom:40px}
  .section-kicker{margin-bottom:22px}
  .work-heading{margin-bottom:22px}
  .work-heading>p{margin-top:15px}
  .project-entry{padding-top:19px;padding-bottom:19px}
  .quiet-link{margin-top:24px}
  .about{padding-top:42px;padding-bottom:40px}
  .about-layout{gap:26px}
  .about-portrait{margin-top:0}
  .about-story h2{margin-bottom:20px}
  .recognition{margin-top:20px;padding-top:20px}
  .contact{min-height:0;padding-top:42px;padding-bottom:88px}
  .contact-intro{margin-bottom:22px}
  .contact-email{margin-top:24px}
  footer{margin-top:38px}
}
@media(min-width:651px) and (max-width:900px){
  .hero{min-height:0;padding-top:120px;padding-bottom:40px;justify-content:flex-start}
  .hero-location{position:static;margin-bottom:20px}
  .hero-center{padding:28px 0 30px}
  .hero-bottom{position:static;margin-top:28px}
  .chapter-mark{position:static;margin-top:24px}
  .scroll-note{display:none}
  .work{padding-top:50px;padding-bottom:44px}
  .about{min-height:0;padding-top:50px;padding-bottom:44px}
  .section-kicker{margin-bottom:28px}
  .contact{min-height:0;padding-top:50px;padding-bottom:88px}
  footer{margin-top:48px}
}

/* Keep the bio-to-contact transition compact at every mobile width. */
@media(max-width:900px){
 .about{padding-bottom:16px;min-height:0}
 .contact{display:block;min-height:0;height:auto;padding-top:20px}
 .contact .section-kicker{margin-bottom:16px}
 .contact-intro{margin-bottom:16px}
 .contact footer{margin-top:28px}
}
