:root{--bg:#20242C;--ink:#E9EEF5;--muted:#A9B3C4;--accent:#7C3AED;--line:#E9EEF520;--accent-light:#A78BFA;--pad:clamp(24px,5vw,90px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 'DM Sans',Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button[hidden]{display:none!important}img{max-width:100%;display:block}h1,h2,p,figure{margin:0}em{font-family:'Instrument Serif',Georgia,serif;font-weight:400}button{border:0}.skip{position:fixed;top:10px;left:20px;transform:translateY(-150%);z-index:50;background:var(--accent);color:#E9EEF5;padding:12px}.skip:focus{transform:none}
.topbar{position:fixed;top:0;left:0;right:0;height:88px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;gap:22px;z-index:20;background:#20242Ce8;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.brand{font-weight:700;font-size:29px;letter-spacing:-1.6px;white-space:nowrap}.brand span{color:var(--accent);font-size:24px;margin-left:5px}.topbar nav{display:flex;gap:32px;font-size:14px}.topbar nav a:hover,.text-link:hover{color:var(--accent)}.header-contact{font-size:14px;border-bottom:1px solid #4b5162;padding:8px 0}.header-contact span{margin-left:18px;color:var(--accent)}
.story{position:relative}.story-sticky{position:relative;min-height:100svh;overflow:clip;background:radial-gradient(ellipse at 76% 48%,#2c1a4d55,transparent 52%)}.grid-lines{position:absolute;inset:88px var(--pad) 0;pointer-events:none;border-left:1px solid #ffffff08;border-right:1px solid #ffffff08;background:linear-gradient(90deg,transparent 49.95%,#ffffff08 50%,transparent 50.05%)}.stage{position:relative;height:50vh;min-height:300px;margin-top:90px}.stage-halo{position:absolute;inset:10%;background:radial-gradient(ellipse,#7C3AED20,transparent 66%);filter:blur(25px)}#scene{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .6s}.scene-ready #scene{opacity:1}.fallback-art{position:absolute;inset:0;display:grid;place-items:center;transition:opacity .6s}.fallback-g{font:700 clamp(180px,25vw,380px)/1 Arial,sans-serif;background:linear-gradient(135deg,#C4B5FD,#7C3AED 37%,#DDD6FE 55%,#4C1D95);background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(12px 20px 25px #000)}.fallback-art img{display:none;max-height:80%;max-width:75%;width:auto;object-fit:contain;box-shadow:0 10px 60px #0008}.scene-ready .fallback-art{opacity:0}.object-caption{position:absolute;bottom:15px;width:100%;text-align:center;font-size:11px;letter-spacing:.18em;color:#9AA3B8}.story-copy{position:relative;padding:40px var(--pad)}.chapter{padding:40px 0;max-width:650px}.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:500}.tiny-star{display:inline-block;font-size:20px;margin-right:9px}h1,.chapter h2{font-size:clamp(54px,6.6vw,112px);font-weight:500;letter-spacing:-.065em;line-height:1.01;margin:25px 0}h1 em,.chapter h2 em{letter-spacing:-.045em;color:#C4B5FD}.description{max-width:335px;color:var(--muted);line-height:1.75}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:14px;border-bottom:1px solid #ffffff40;padding:18px 0 8px;margin-top:18px}.text-link span{color:var(--accent)}.story-bottom{padding:22px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line)}.steps{display:flex;gap:28px;font-size:13px}.steps a{color:#8890A0}.steps span{font-size:11px;margin-right:5px}.steps [aria-current]{color:var(--ink)}.steps [aria-current] span{color:var(--accent)}#motion-toggle{font-size:12px;background:none;color:var(--muted);padding:8px;border:1px solid #ffffff25;border-radius:2px}.scroll-hint{font-size:12px;color:var(--muted)}.progress{height:2px;background:#ffffff12}.progress span{height:100%;display:block;background:var(--accent);width:0}
.enhanced .story{height:380svh}.enhanced .story-sticky{position:sticky;top:0;height:100svh;min-height:0}.enhanced .stage{position:absolute;right:1vw;top:96px;width:56%;height:calc(100% - 178px);min-height:0;margin:0}.enhanced .story-copy{position:absolute;left:var(--pad);right:55%;top:50%;transform:translateY(-46%);padding:0}.enhanced .chapter{position:absolute;inset:0 auto auto 0;width:100%;padding:0;opacity:0;visibility:hidden;transform:translateY(18px);transition:opacity .35s,transform .5s,visibility .35s;pointer-events:none}.enhanced .chapter.is-active{position:relative;opacity:1;visibility:visible;transform:none;pointer-events:auto}.enhanced .story-bottom{position:absolute;bottom:2px;left:0;right:0}.enhanced .progress{position:absolute;bottom:0;left:0;right:0}
.portfolio{position:relative;background:#E9EEF5;color:#20242C;padding:90px var(--pad) 110px;scroll-margin-top:70px}.section-top{display:flex;justify-content:space-between;border-bottom:1px solid #20242C40;padding-bottom:20px;gap:20px}.portfolio .eyebrow{color:#7C3AED}.small-note{font-size:13px;color:#565F72}.portfolio-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:45px 0 55px}.portfolio-heading h2{font-size:clamp(56px,7.6vw,118px);line-height:.96;font-weight:500;letter-spacing:-.065em}.portfolio-heading p{max-width:280px;color:#565F72;font-size:15px}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.work-grid figure:nth-child(2){padding-top:75px}.work-grid figure:nth-child(3){padding-top:150px}.work-open{position:relative;display:block;width:100%;background:#171A21;padding:0;overflow:hidden}.work-open img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;transition:transform .5s}.work-open:hover img{transform:scale(1.035)}.expand{position:absolute;right:15px;bottom:15px;border-radius:50%;background:#E9EEF5;color:#20242C;width:40px;height:40px;display:grid;place-items:center;font-size:20px}figcaption{padding-top:18px;border-top:1px solid #20242C40;margin-top:20px;font-size:15px}figcaption small{display:block;color:#565F72;font-size:12px;margin-top:7px}
.contact{padding:110px var(--pad);background:radial-gradient(ellipse at bottom left,#7C3AED30,transparent 65%);scroll-margin-top:70px}.contact-row{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-top:35px}.contact h2{font-size:clamp(60px,8.5vw,138px);font-weight:500;line-height:.95;letter-spacing:-.065em}.contact h2 em{color:#C4B5FD}.contact-details{max-width:350px;padding-bottom:10px}.contact-details p{color:var(--muted);margin-bottom:35px}.contact-button{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:18px 23px;background:var(--accent);color:#E9EEF5;font-size:14px;font-weight:600}.contact-button:hover{background:#8B5CF6}.contact-button span{font-size:22px}footer{border-top:1px solid var(--line);padding:30px var(--pad);display:flex;justify-content:space-between;align-items:center;gap:20px}footer p,footer>span{font-size:12px;color:var(--muted)}dialog{padding:20px;background:#1B1F27;color:var(--ink);border:1px solid #ffffff35;max-width:min(740px,94vw);width:740px;max-height:94svh}dialog::backdrop{background:#000d;backdrop-filter:blur(8px)}.dialog-header,.dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:15px}.dialog-header h2{font-size:16px;font-weight:500}.dialog-header button{background:none;font-size:30px;width:44px;height:44px}.dialog-footer button{background:#ffffff12;width:44px;height:44px}.dialog-footer{margin-top:15px}.dialog-footer span{font-size:13px;color:var(--muted)}#work-image{max-height:70svh;width:100%;object-fit:contain}
@media(min-width:1600px){.enhanced .story-copy{right:52%}}@media(max-width:850px){.topbar{height:75px}.brand{font-size:25px}.header-contact{font-size:12px}.header-contact span{margin-left:5px}.topbar nav{gap:16px;font-size:13px}.enhanced .story{height:330svh}.enhanced .stage{top:80px;right:0;width:100%;height:43%}.enhanced .story-copy{top:52%;left:var(--pad);right:var(--pad);transform:none}.enhanced .chapter{max-width:none}.chapter h2,h1{font-size:clamp(40px,9vw,68px);line-height:1.02;margin:14px 0}.chapter h1 br:nth-of-type(2),.chapter h2 br:nth-of-type(2){display:none}.chapter h1 em,.chapter h2 em{margin-left:.16em}.description{font-size:14px;line-height:1.6;max-width:400px}.eyebrow{font-size:11px}.text-link{margin-top:4px;padding-top:10px;font-size:13px}.story-bottom{padding:13px var(--pad);gap:10px}.steps{gap:14px;font-size:12px}.steps span{display:none}.scroll-hint{display:none}.object-caption{font-size:9px;bottom:0}.portfolio{padding:65px var(--pad)}.portfolio-heading{display:block;margin:32px 0}.portfolio-heading p{margin-top:25px;max-width:350px}.work-grid{gap:18px}.work-grid figure:nth-child(2){padding-top:35px}.work-grid figure:nth-child(3){padding-top:70px}.contact{padding:70px var(--pad)}.contact-row{display:block}.contact-details{margin-top:40px}footer{flex-wrap:wrap}.small-note{display:none}}
@media(max-width:540px){.topbar nav{display:none}.work-grid{grid-template-columns:1fr}.work-grid figure:nth-child(n){padding-top:0;margin-bottom:25px}.portfolio-heading h2{font-size:63px}.contact h2{font-size:68px}#motion-toggle{font-size:11px;padding:7px}.steps{gap:14px}.story-copy{padding-top:0}.chapter{padding-top:25px}.topbar{gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(max-height:650px){.enhanced .story{height:auto}.enhanced .story-sticky{position:relative;height:auto;overflow:visible}.enhanced .stage{position:relative;top:0;right:0;width:100%;height:340px;margin-top:80px}.enhanced .story-copy{position:relative;top:auto;left:auto;right:auto;transform:none;padding:0 var(--pad)}.enhanced .chapter,.enhanced .chapter.is-active{position:relative;opacity:1;visibility:visible;pointer-events:auto;transform:none;padding:32px 0;max-width:650px}.enhanced .story-bottom{position:relative}.enhanced .chapter h1,.enhanced .chapter h2{font-size:54px}.enhanced .progress{display:none}}

