@font-face{font-family:Satoshi;src:url('assets/satoshi-400.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Satoshi;src:url('assets/satoshi-500.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Satoshi;src:url('assets/satoshi-700.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:Satoshi;src:url('assets/satoshi-900.woff2') format('woff2');font-weight:900;font-display:swap}
:root{--bg:#101311;--surface:#181d19;--ink:#f0f2ec;--muted:#929c94;--mint:#c1efcc;--line:#333b34;--ease:cubic-bezier(.22,1,.36,1);color-scheme:dark;font-family:Satoshi,sans-serif;background:var(--bg);color:var(--ink);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:105px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--mint);outline-offset:7px}::selection{background:var(--mint);color:var(--bg)}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}button{border:0}img,svg{display:block}em{font-style:normal;color:var(--mint)}.wrap{width:calc(100% - 112px);max-width:1440px;margin-inline:auto}.section{padding-block:118px}.muted{color:var(--muted)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;line-height:1.6}.status-dot{display:inline-block;width:6px;height:6px;background:var(--mint);border-radius:50%;flex-shrink:0}.eyebrow .status-dot{margin-right:10px;vertical-align:2px}.header{height:98px;padding-inline:56px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:20;background:var(--bg)}.brand{display:flex;gap:13px;align-items:center;font-size:24px;font-weight:700;letter-spacing:-1px}.brand svg{width:39px;height:35px;color:var(--mint)}.brand-dot{color:var(--mint)}nav{display:flex;gap:34px;align-items:center}nav a{font-size:12px;position:relative;padding-block:12px}nav a:not(.nav-contact):after{content:'';position:absolute;bottom:4px;height:1px;background:var(--mint);left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .3s}nav a:hover:after{transform:scaleX(1)}nav a span{font-size:9px;color:var(--muted);margin-left:4px;vertical-align:super}nav .nav-contact{border:1px solid #566158;border-radius:3px;padding:12px 20px;margin-left:14px;transition:background .2s,color .2s}nav .nav-contact:hover{background:var(--mint);color:var(--bg)}nav .nav-contact span{color:inherit;font-size:18px;vertical-align:baseline;margin-left:20px}.menu-toggle{display:none}.skip{position:fixed;top:8px;left:16px;background:var(--mint);color:var(--bg);padding:12px 20px;z-index:100;transform:translateY(-150%)}.skip:focus{transform:translateY(0)}.reading-progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--mint);transform:scaleX(0);transform-origin:left;z-index:100;pointer-events:none}.hero{position:relative}.hero-topline{display:flex;justify-content:space-between;padding-top:30px}.hero-composition{position:relative;min-height:610px;display:flex;align-items:center}.hero-copy{position:relative;z-index:3;width:74%;pointer-events:none;padding-block:50px 65px}.hero-copy a{pointer-events:auto}.hero h1{font-size:clamp(64px,7.6vw,116px);letter-spacing:-.068em;line-height:1.03;font-weight:500}.hero h1 .line{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}.hero h1 .line>span{display:block;animation:line-enter 1.2s var(--ease) both}.hero h1 .line:nth-child(2)>span{animation-delay:.12s}.hero h1 em{color:var(--mint)}.hero-description{font-size:16px;line-height:1.75;max-width:380px;color:#adb6af;margin-top:31px;animation:fade-enter 1.1s .3s var(--ease) both}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-size:12px;font-weight:700;padding:17px 22px;border-radius:3px;transition:background .25s,transform .25s}.button-mint{background:var(--mint);color:var(--bg)}.button:hover{background:#e0fae6;transform:translateY(-3px)}.button span{font-size:18px;transition:transform .25s}.button:hover span{transform:translate(2px,2px)}.hero .button{margin-top:28px;animation:fade-enter 1.1s .4s var(--ease) both}.hero-art{position:absolute;width:58%;right:-2%;top:0;bottom:0;display:flex;align-items:center;justify-content:center;isolation:isolate}.sculpture{width:100%;transform:translate3d(var(--mx,0px),var(--my,0px),0) rotate(var(--mr,-8deg));transition:transform 1.6s var(--ease);will-change:transform}.sculpture img{width:100%;height:auto;mix-blend-mode:lighten;mask-image:radial-gradient(ellipse 60% 59% at center,#000 60%,transparent 90%);animation:sculpture-enter 1.7s var(--ease) both}.hero-art:before{content:'';position:absolute;inset:10% 8% 9%;border:1px solid #29312a;border-radius:50%;z-index:-1}.art-cross{position:absolute;color:#657469;font-size:17px;font-weight:400}.cross-top{top:10%;right:16%}.cross-bottom{bottom:12%;left:18%}.art-caption{position:absolute;bottom:16px;left:22%;right:9%;display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:.16em;color:var(--muted)}.hero-bottom{border-top:1px solid var(--line);padding-block:27px 35px;display:grid;grid-template-columns:1.2fr 1fr 1fr;align-items:center;gap:30px}.current{display:flex;flex-direction:column;gap:8px}.company{font-size:16px;font-weight:500;letter-spacing:-.02em}.company .status-dot{width:5px;height:5px;margin-left:10px}.hero-bottom>p{color:var(--muted);font-size:12px;line-height:1.6}.scroll-link{justify-self:end;display:flex;align-items:center;gap:22px;font-size:10px;color:#bcc5bd}.round-arrow{width:41px;height:41px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:19px;transition:background .25s,color .25s}.scroll-link:hover .round-arrow{background:var(--mint);color:var(--bg)}.section-top{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:48px}.section-top .eyebrow{color:var(--muted)}.section-note{font-size:11px;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;gap:64px;align-items:flex-end;margin-bottom:58px}h2{font-size:clamp(42px,5vw,72px);line-height:1.08;letter-spacing:-.055em}.section-heading>p{font-size:15px;line-height:1.75;color:var(--muted);max-width:355px;padding-bottom:4px}.experience{border-top:1px solid var(--line)}.featured-role{display:grid;grid-template-columns:1fr 1.5fr;background:var(--surface);border:1px solid var(--line);margin-bottom:36px}.role-intro{padding:44px 42px;display:flex;flex-direction:column;align-items:flex-start;border-right:1px solid var(--line)}.role-intro .eyebrow{color:#a1ada4}.role-intro h3{font-size:66px;font-weight:700;letter-spacing:-.065em;line-height:1.4;margin-top:26px}.role-intro h3>span{font-size:20px;vertical-align:super;letter-spacing:0;margin-left:4px}.role-company{font-size:11px;color:var(--muted);letter-spacing:.04em}.role-title{margin-top:38px;font-size:20px;line-height:1.4;letter-spacing:-.02em}.text-link{display:inline-flex;align-items:center;gap:28px;font-size:12px;border-bottom:1px solid #57665b;padding-block:7px;transition:gap .25s,color .25s}.text-link:hover{color:var(--mint);gap:36px}.text-link span{font-size:18px}.role-intro .text-link{margin-top:auto;padding-top:32px;color:var(--mint)}.role-detail{padding:43px 45px}.large-copy{font-size:30px;line-height:1.28;letter-spacing:-.035em;margin-bottom:20px}.role-detail>p:not(.large-copy){color:#a7b1a9;font-size:14px;line-height:1.85;max-width:600px}.ownership{margin:28px 0}.ownership>div{display:grid;grid-template-columns:65px 1fr;gap:10px;border-top:1px solid var(--line);padding:13px 0;font-size:12px;line-height:1.5}.ownership dt{color:var(--mint)}.ownership dd{margin:0;color:#bdc5bd}.tags{display:flex;gap:7px;flex-wrap:wrap}.tags span{border:1px solid #3c483e;border-radius:3px;padding:6px 10px;font-size:9px;color:#bec9c0}.career-history details{border-bottom:1px solid var(--line)}.career-history summary{display:grid;grid-template-columns:1fr 3fr 30px;gap:24px;align-items:center;list-style:none;padding:27px 8px;cursor:pointer}.career-history summary::-webkit-details-marker{display:none}.career-date{color:var(--muted);font-size:11px}.career-company{font-size:20px;letter-spacing:-.035em}.career-company small{display:block;color:var(--muted);font-size:12px;letter-spacing:0;margin-top:6px}.expand{font-size:27px;font-weight:400;justify-self:end;transition:transform .3s,color .3s}.career-history summary:hover .expand{color:var(--mint)}details[open] .expand{transform:rotate(45deg)}.career-description{padding:0 55px 28px 25%;max-width:920px;animation:fade-enter .4s var(--ease)}.career-description p{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:18px}.approach{background:#151a16;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.process{border:1px solid #3a443c}.process-tabs{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid #3a443c}.process-tabs button{background:transparent;text-align:left;padding:23px 25px;font-size:13px;display:flex;align-items:center;gap:15px;color:#9ba89e;position:relative;transition:background .25s,color .25s}.process-tabs button+button{border-left:1px solid #3a443c}.process-tabs button span{font-size:9px;opacity:.65}.process-tabs button[aria-selected=true]{background:var(--mint);color:var(--bg)}.process-tabs button:hover:not([aria-selected=true]){background:#222c24;color:var(--ink)}.process-body{display:grid;grid-template-columns:1fr 1fr;min-height:392px}.process-visual{align-self:center;padding:25px;overflow:hidden}.system-diagram{width:100%;height:auto}.diagram-node rect{fill:#1a231d;stroke:#536558}.diagram-node text{fill:#a7bcac;font:9px Satoshi,sans-serif;text-anchor:middle;letter-spacing:1px}.diagram-core rect{fill:var(--mint)}.diagram-orbit{transform-origin:240px 175px;animation:orbit 24s linear infinite}.diagram-packet{animation:packet 4s ease-in-out infinite}.diagram-legend{display:flex;align-items:center;justify-content:center;gap:9px;font-size:10px;color:#9bb1a1;padding-bottom:15px}.process-panels{border-left:1px solid #3a443c;padding:42px 44px;display:grid;align-items:center}.process-panels [role=tabpanel]:not([hidden]){animation:panel-in .45s var(--ease)}.process-panels h3{font-size:34px;line-height:1.13;letter-spacing:-.04em;margin-top:14px;margin-bottom:19px}.process-panels p{font-size:13px;line-height:1.8;color:#acb9af;max-width:420px}.process-panels ul{list-style:none;margin:22px 0 0;padding:0;font-size:11px;color:#c7d4ca;line-height:2}.process-panels li:before{content:'↗';margin-right:12px;color:var(--mint)}.toolkit{display:grid;grid-template-columns:200px 1fr;gap:25px;margin-top:43px;align-items:center}.toolkit>div{display:flex;gap:20px 26px;flex-wrap:wrap;font-size:13px;color:#d0d8d1;justify-content:flex-end}.about{background:#e7ebe2;color:#1a241c;--muted:#57645a;--line:#c1cbbf;--mint:#275e39;--bg:#e7ebe2}.about-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:clamp(50px,8vw,130px);align-items:center}.portrait-frame{background:#c8d4c6;aspect-ratio:1/1.13;position:relative;overflow:hidden}.portrait-frame img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);mix-blend-mode:multiply;transition:transform 1s var(--ease)}.portrait-frame:hover img{transform:scale(1.035)}.portrait-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 70%,#1a241c66)}.portrait-bracket{width:25px;height:25px;position:absolute;z-index:2;border-color:#c6e6c8}.b1{top:22px;left:22px;border-left:1px solid;border-top:1px solid}.b2{bottom:22px;right:22px;border-right:1px solid;border-bottom:1px solid}.portrait-initials{position:absolute;bottom:14px;left:25px;font-size:66px;font-weight:700;letter-spacing:-.065em;color:#dfe7dd;z-index:2}.portrait-caption{display:flex;justify-content:space-between;gap:20px;margin-top:18px;font-size:8px;letter-spacing:.1em;font-weight:700}.about h2{font-size:clamp(36px,4vw,57px)}.about-copy .about-lead{font-size:19px;line-height:1.55;letter-spacing:-.02em;color:#263a2a;margin-top:29px}.about-copy>p{font-size:13px;line-height:1.85;color:var(--muted);margin-top:17px}.about-facts{display:flex;gap:55px;border-top:1px solid var(--line);padding-top:24px;margin-top:30px;margin-bottom:25px}.about-facts>div{display:flex;flex-direction:column;gap:8px}.about-facts strong{font-size:30px;font-weight:500;letter-spacing:-.05em}.about-facts span{font-size:10px;color:var(--muted);line-height:1.5}.about .text-link{border-color:#9eae9d}.writing .section-heading{align-items:center}.articles>a{display:grid;grid-template-columns:70px 1fr 60px;align-items:center;gap:25px;padding:30px 8px;border-top:1px solid var(--line);transition:padding .4s var(--ease),background .4s}.articles>a:last-child{border-bottom:1px solid var(--line)}.articles>a:hover{padding-left:22px;background:var(--surface)}.article-index{font-size:11px;color:var(--muted)}.articles h3{font-size:24px;line-height:1.4;letter-spacing:-.025em;margin-top:11px}.article-arrow{justify-self:end;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:23px;transition:transform .3s,background .3s,color .3s}.articles a:hover .article-arrow{transform:rotate(45deg);background:var(--mint);color:var(--bg)}.contact{background:#1c2820;padding:65px 0 48px;border-block:1px solid #3e4e41}.contact .section-top{margin-bottom:53px}.contact-main{display:flex;align-items:center;justify-content:space-between;gap:35px}.contact h2{font-size:clamp(58px,7.7vw,115px);letter-spacing:-.062em;line-height:1.02}.contact-orb{height:150px;width:150px;flex-shrink:0;border-radius:50%;background:var(--mint);color:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:transform .45s var(--ease),background .3s}.contact-orb>span:first-child{font-size:50px;line-height:1}.contact-orb>span:last-child{font-size:11px;font-weight:700}.contact-orb:hover{transform:rotate(-12deg) scale(1.05);background:#e5fbe9}.contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:66px;padding-top:25px;border-top:1px solid #3e4e41}.email-group{display:flex;align-items:center;gap:10px;position:relative}.email{font-size:18px;letter-spacing:-.02em}.email:hover{color:var(--mint)}.copy-email{background:transparent;padding:10px;border:1px solid transparent;border-radius:3px;color:#b0c3b4}.copy-email:hover{border-color:#546b5b;color:var(--mint)}#copy-status{position:absolute;top:100%;left:0;font-size:10px;color:var(--mint)}.socials{display:flex;gap:22px;font-size:11px}.socials a:hover{color:var(--mint)}.footer{display:flex;align-items:center;gap:24px;padding-block:30px;font-size:9px;color:var(--muted)}.footer-brand{margin-right:6px}.footer-brand svg{width:29px;height:25px}.local-time{margin-left:auto;display:flex;align-items:center;gap:7px}.local-time .status-dot{width:4px;height:4px}.motion-toggle{background:transparent;font-size:9px;color:var(--muted);padding:10px 0;white-space:nowrap}.motion-toggle:hover,.back-top:hover{color:var(--mint)}.motion-icon{font-size:10px;display:inline-block;min-width:12px}.back-top{margin-left:9px;white-space:nowrap}.js .reveal.pending{opacity:0;transform:translateY(26px)}.js .reveal{transition:opacity .85s var(--ease),transform .85s var(--ease)}.js .reveal.visible{opacity:1;transform:translateY(0)}
@keyframes line-enter{from{transform:translateY(115%) rotate(2deg)}to{transform:translateY(0) rotate(0)}}@keyframes fade-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes sculpture-enter{from{opacity:0;transform:scale(.82) rotate(13deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes packet{0%{transform:translate(-25px,0);opacity:0}10%{opacity:1}40%{transform:translate(80px,0)}65%{transform:translate(80px,79px)}90%{opacity:1}100%{transform:translate(184px,79px);opacity:0}}@keyframes panel-in{from{opacity:.3;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.motion-paused *, .motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important;scroll-behavior:auto!important;transition-duration:0s!important}.motion-paused .hero h1 .line>span,.motion-paused .hero-description,.motion-paused .hero .button,.motion-paused .sculpture img{animation:none!important;opacity:1!important;transform:none!important}.motion-paused .reveal.pending{opacity:1;transform:none}.motion-paused .sculpture{transform:rotate(-8deg)}
@media(min-width:1600px){.hero-composition{min-height:700px}}@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.header{padding-inline:36px}nav{gap:22px}.hero-composition{min-height:560px}.hero h1{font-size:8.1vw}.hero-copy{width:83%}.hero-art{width:62%;right:-3%;top:3%}.hero-description{max-width:330px;font-size:14px}.section{padding-block:90px}.role-intro{padding:33px 30px}.role-detail{padding:34px 30px}.role-intro h3{font-size:55px}.process-tabs button{padding:21px 17px;gap:10px}.process-panels{padding:30px}.about-grid{gap:55px}.about-facts{gap:35px}.toolkit{grid-template-columns:150px 1fr}.footer{gap:17px}.contact-orb{width:125px;height:125px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{height:76px;padding-inline:20px}.brand{font-size:22px}.brand svg{width:33px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;background:transparent;z-index:25}.menu-toggle span{height:1px;width:24px;background:var(--ink);transition:transform .3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}nav{display:none;position:absolute;top:75px;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--bg);padding:20px;border-bottom:1px solid var(--line);gap:0}nav.open{display:flex}nav a{padding:17px 8px;font-size:18px}nav .nav-contact{margin:16px 0 6px;padding:14px}nav .nav-contact span{float:right}.hero-topline{padding-top:22px}.hero-location{display:none}.hero-composition{min-height:0;display:block;padding-top:285px}.hero-art{height:330px;top:0;left:10%;right:0;width:85%;bottom:auto}.hero-art:before{inset:8% 14%}.sculpture{width:350px;max-width:100%}.hero-copy{width:100%;padding:0 0 34px}.hero h1{font-size:clamp(42px,10.5vw,77px);letter-spacing:-.065em;line-height:1.05}.hero-description{max-width:400px;font-size:14px;line-height:1.7;margin-top:22px}.hero .button{margin-top:22px}.art-caption{font-size:6px;bottom:16px;left:9%;right:2%}.cross-top{right:9%;top:16%}.cross-bottom{left:10%;bottom:20%}.hero-bottom{grid-template-columns:1fr auto;gap:20px;padding-block:23px 30px}.hero-bottom>p{display:none}.hero-bottom .company{font-size:13px}.scroll-link{gap:0}.scroll-link>span:first-child{display:none}.section{padding-block:66px}.section-top{margin-bottom:32px;gap:15px}.section-note{font-size:9px;text-align:right}.eyebrow{font-size:8px}.section-heading{display:block;margin-bottom:32px}.section-heading h2{font-size:46px}.section-heading>p{font-size:13px;margin-top:22px;max-width:450px}.featured-role{grid-template-columns:1fr;margin-bottom:20px}.role-intro{padding:27px;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;align-items:end}.role-intro .eyebrow{grid-column:1/-1}.role-intro h3{font-size:50px;margin-top:14px;grid-column:1}.role-company{grid-column:1;font-size:9px}.role-title{grid-column:2;grid-row:2/4;font-size:14px;margin:0 0 3px 10px}.role-intro .text-link{grid-column:1/-1;padding-top:20px;font-size:10px}.role-detail{padding:27px}.large-copy{font-size:26px}.role-detail>p:not(.large-copy){font-size:12px}.ownership>div{font-size:11px}.tags span{font-size:8px}.career-history summary{grid-template-columns:1fr 25px;gap:9px;padding:24px 0}.career-date{grid-column:1/-1;font-size:9px}.career-company{font-size:17px}.career-company small{font-size:10px;line-height:1.5}.expand{grid-column:2;grid-row:2}.career-description{padding:0 25px 25px 0}.career-description p{font-size:12px}.process-tabs button{padding:14px 4px;flex-direction:column;gap:5px;font-size:10px}.process-tabs button span{font-size:8px}.process-body{grid-template-columns:1fr}.process-visual{padding:12px 25px 0}.system-diagram{max-height:260px}.diagram-legend{font-size:9px;padding-bottom:22px}.process-panels{border-left:0;border-top:1px solid #3a443c;padding:28px;min-height:335px}.process-panels h3{font-size:30px}.process-panels p{font-size:12px}.process-panels ul{font-size:10px}.toolkit{display:block;margin-top:30px}.toolkit>div{justify-content:flex-start;font-size:11px;gap:15px 20px;margin-top:17px}.about-grid{grid-template-columns:1fr;gap:35px}.portrait-block{max-width:380px;width:100%}.portrait-frame{aspect-ratio:1/1;max-height:360px}.portrait-frame img{object-position:center 34%}.portrait-caption{font-size:7px}.about h2{font-size:40px}.about-copy .about-lead{font-size:18px}.about-copy>p{font-size:12px}.about-facts{gap:42px}.about-facts strong{font-size:29px}.writing .section-top .text-link{font-size:9px;gap:12px}.articles>a{grid-template-columns:22px 1fr 30px;gap:13px;padding:23px 0}.article-index{font-size:9px}.articles h3{font-size:17px;margin-top:9px;line-height:1.5}.articles h3 br{display:none}.article-arrow{width:30px;height:30px;font-size:17px}.contact{padding:42px 0}.contact .section-top{margin-bottom:34px}.contact .section-top>span{display:none}.contact-main{gap:15px;align-items:flex-end}.contact h2{font-size:clamp(40px,9.8vw,70px)}.contact-orb{width:66px;height:66px;margin-bottom:3px}.contact-orb>span:first-child{font-size:26px}.contact-orb>span:last-child{font-size:8px}.contact-bottom{display:block;margin-top:35px;padding-top:21px}.email{font-size:16px}.socials{margin-top:23px;font-size:10px;gap:22px}.footer{display:grid;grid-template-columns:auto 1fr auto;gap:15px 10px;padding-block:23px;font-size:8px}.footer-brand{grid-column:1}.footer>span:nth-child(2){grid-column:2/4}.local-time{margin-left:0;grid-column:1/3;grid-row:2}.motion-toggle{font-size:8px;grid-column:3;grid-row:2;padding:0}.back-top{grid-column:3;grid-row:1;margin-left:0;display:none}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal.pending{opacity:1;transform:none}.sculpture{transform:rotate(-8deg)!important}}@media print{body{background:white;color:black}.header,.hero-art,.process-visual,.motion-toggle,.reading-progress,.contact-orb{display:none}.wrap{width:100%}.section{padding-block:30px}.reveal{opacity:1!important;transform:none!important}.hero-composition{min-height:0;padding:0}.hero-copy{width:100%}.hero h1{font-size:50px}.about,.approach,.contact,.featured-role{background:white;color:black}.muted,p{color:#444!important}a{color:inherit}.featured-role,.about-grid{break-inside:avoid}}
.tab-inactive *, .tab-inactive *:before,.tab-inactive *:after{animation-play-state:paused!important}

.sculpture-float{animation:float-form 9s 1.6s ease-in-out infinite}@keyframes float-form{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(1.5deg)}}
.hero-art{overflow:clip}@media(max-width:760px){.hero-art{height:280px}.art-caption{display:none}}
/* Astral identity: stars remain behind the content, the RV field is interactive. */
.hero{isolation:isolate}.galaxy-background{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}.hero-topline,.hero-bottom{position:relative;z-index:3}.hero-art:before{border-color:#28373b}.sculpture{position:relative;z-index:1;pointer-events:none;transition:transform 1.6s var(--ease),opacity 1s var(--ease)}.galaxy-monogram{position:absolute;inset:0;width:100%;height:100%;z-index:2;cursor:grab;touch-action:pan-y}.galaxy-monogram:active{cursor:grabbing}.art-controls{position:absolute;bottom:0;left:23%;right:8%;display:flex;justify-content:space-between;gap:12px;z-index:4}.art-controls button{display:flex;align-items:center;gap:7px;background:#101311d9;border:1px solid #36443c;border-radius:3px;padding:10px 13px;font-size:9px;min-height:36px;color:#b5c9bc;transition:background .25s,color .25s}.art-controls button:hover{background:#24372c;color:#dcf5e5}.art-controls button>span{font-size:15px;line-height:1}.stardust .sculpture{opacity:0}.stardust:before{opacity:.3}.stardust .galaxy-mode{border-color:#6d9b81;color:var(--mint)}.motion-paused .galaxy-pulse{opacity:.4;cursor:default}
@media(max-width:760px){.hero-composition{padding-top:320px}.hero-art{height:305px;left:0;width:100%;right:0}.sculpture{width:315px}.art-controls{bottom:0;left:0;right:0;justify-content:center;gap:10px}.art-controls button{min-height:40px;padding:8px 12px;font-size:9px}.hero-art:before{inset:2% 16% 16%}.galaxy-monogram{height:100%}.hero-art .cross-bottom{bottom:24%}}
@media print{.galaxy-background,.galaxy-monogram,.art-controls{display:none}}

.portrait-frame img{filter:none;mix-blend-mode:normal;object-position:center 35%}

.capabilities{margin-top:65px}.capabilities-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:30px}.capabilities-heading h3{font-size:28px;letter-spacing:-.035em}.capability-row{display:grid;grid-template-columns:1fr 1.5fr;gap:40px;padding:30px 0;border-top:1px solid var(--line)}.capability-row>div:first-child{display:flex;gap:26px}.capability-number{font-size:10px;color:var(--muted);padding-top:5px}.capability-row h4{font-size:22px;font-weight:500;line-height:1.3;letter-spacing:-.03em;margin:0}.capability-row p{font-size:13px;line-height:1.8;color:#acb9af;max-width:590px;margin-bottom:17px}.platform-context{border-top:1px solid var(--line);padding-top:22px;font-size:11px;line-height:1.8;color:var(--muted)}.platform-context>span{color:#d1dfd4;margin-right:18px}@media(max-width:760px){.capabilities{margin-top:42px}.capabilities-heading{display:block}.capabilities-heading h3{font-size:25px;margin-top:12px}.capability-row{grid-template-columns:1fr;gap:18px;padding:25px 0}.capability-row h4{font-size:21px}.capability-row h4 br{display:none}.capability-row>div:first-child{gap:15px}.capability-row p{font-size:12px}.capability-row .tags{gap:7px}.capability-row .tags span{font-size:9px}.platform-context>span{display:block;margin-bottom:5px}}
.hero-art:before,.hero-art .art-cross{display:none}.art-controls{bottom:10px;left:24%;right:8%;justify-content:center;gap:14px}.art-controls button{background:#101a17a8;border-color:#344b3e;font-size:10px;min-height:40px;padding:10px 16px}.galaxy-mode[aria-pressed=true]{background:#1b3026b8}.galaxy-monogram{mask-image:linear-gradient(to bottom,transparent,#000 7%,#000 88%,transparent)}@media(max-width:760px){.art-controls{left:0;right:0;bottom:0;gap:10px}.art-controls button{padding:9px 12px;font-size:9px}.hero-art{height:305px}}

.process-visual{align-self:stretch;padding:32px;background:radial-gradient(ellipse at top left,#41517633,transparent 70%),#111719;display:flex;flex-direction:column;justify-content:center;gap:20px}
.deliverable-header{display:flex;justify-content:space-between;color:#acbbc9;font-size:10px;letter-spacing:.12em}.deliverable-card{position:relative;padding:27px;border:1px solid #61718560;background:linear-gradient(135deg,#29364399,#162121);border-radius:12px;box-shadow:0 16px 40px #0002}.deliverable-symbol{position:absolute;right:24px;top:20px;color:#badbff;font-size:25px}.deliverable-card>.eyebrow{color:#a9c9ee;padding-right:30px}.deliverable-card h3{font-size:28px;letter-spacing:-.04em;line-height:1.15;margin:18px 0 12px;max-width:280px}.deliverable-card>p:not(.eyebrow){font-size:12px;line-height:1.7;color:#b5c0ca;max-width:340px}.deliverable-card ul{list-style:none;padding:0;margin:22px 0 0}.deliverable-card li{border-top:1px solid #60708040;padding:13px 0;display:flex;gap:15px;font-size:12px;color:#dce6e9}.deliverable-card li span{font-size:9px;color:#9caabb;align-self:center}.deliverable-outcome{display:flex;gap:18px;align-items:baseline}.deliverable-outcome>span{font-size:8px;letter-spacing:.15em;color:#91d7b5}.deliverable-outcome p{font-size:11px;line-height:1.6;color:#becbc7}
@media(max-width:760px){.process-visual{padding:22px;gap:17px}.deliverable-card{padding:23px}.deliverable-card h3{font-size:26px}.deliverable-card li{font-size:11px}}


/* Restore the original open, typographic star field. */
:root{--bg:#0a0d11}.header{height:84px;background:#0a0d11;border-bottom-color:#ffffff0d}.hero{background:radial-gradient(ellipse at 58% 20%,#16223345,transparent 65%)}
.hero-topline{padding-top:22px}.hero-composition{min-height:720px;display:flex;align-items:flex-end}.hero-art{top:0;left:0;right:0;bottom:auto;width:100%;height:460px;overflow:hidden}.hero-art .sculpture{display:none}.galaxy-monogram{opacity:1;mask-image:linear-gradient(transparent,#000 8%,#000 90%,transparent)}
.hero-copy{width:100%;padding:0 0 35px;display:grid;grid-template-columns:1.3fr 1fr;gap:20px 70px;align-items:start}.hero h1{font-size:clamp(32px,3.5vw,52px);line-height:1.12;letter-spacing:-.045em;max-width:670px}.hero-description{margin:3px 0 0;font-size:14px;max-width:390px;justify-self:end;animation:none}.hero .button{margin-top:0;justify-self:start;font-size:11px;padding:12px 17px}.art-controls{bottom:12px;left:auto;right:0;gap:20px}.art-controls button,.galaxy-mode[aria-pressed=true]{background:transparent;border:0;border-radius:0;padding:8px 0;color:#929eac;font-size:9px;letter-spacing:.04em}.art-controls button:hover{background:transparent;color:#e1f3ed}.hero-bottom{padding-block:24px;border-top-color:#ffffff14}.hero-location{color:#9aa4af}
@media(max-width:760px){.header{height:76px}.hero-composition{min-height:0;padding-top:295px;display:block}.hero-art{height:280px;left:0;width:100%}.hero-copy{display:block;padding-bottom:28px}.hero h1{font-size:32px;line-height:1.14}.hero h1 br{display:none}.hero-description{margin-top:20px;font-size:13px;max-width:100%}.hero .button{margin-top:20px}.art-controls{bottom:0;right:0;left:0;justify-content:center;gap:22px}.hero-topline{padding-top:20px}}
@media(min-width:761px){.hero-copy{grid-template-columns:1.65fr 1fr;gap:22px 65px}.hero h1{font-size:clamp(32px,3vw,44px);max-width:760px}.hero-description{max-width:360px}}
/* One motion language: explain the sequence, then settle. */
.scene-toolbar{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.06em;color:#8eaaa0;margin-bottom:-12px}.replay-process{padding:6px 0 6px 12px;background:transparent;font-size:10px;color:#b9d3c5}.replay-process:hover{color:white}.replay-process:disabled{opacity:.4;cursor:default}.process-scene{min-height:160px;border-bottom:1px solid #41524d66;padding:5px 0 18px;overflow:hidden}.process-scene svg{width:100%;max-height:190px;display:block}.process-scene text{fill:#b9cac7;font-family:Satoshi,sans-serif;font-size:11px}.process-scene .scene-label{font-size:8px;letter-spacing:.7px;fill:#94bba9}.scene-paper{fill:#14231f;stroke:#577569;stroke-width:.7}.scene-muted{fill:#243c32;stroke:#62816e;stroke-width:.5}.scene-accent,.scene-item circle{fill:#c1efcc}.scene-rule{fill:none;stroke:#425950;stroke-width:.7}.draw-line,.scene-check{fill:none;stroke:#b2d9c5;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:450;stroke-dashoffset:0;animation:draw-process 1.8s .15s var(--ease) both}.scene-item,.scene-sheet{animation:assemble-process .9s var(--delay,0s) var(--ease) both}.scene-tiles rect{fill:#b2d9c5;animation:assemble-process .7s var(--ease) both}.scene-tiles rect:nth-child(2){animation-delay:.2s}.scene-tiles rect:nth-child(3){animation-delay:.4s}.process-scene:not(.scene-visible) *{animation-play-state:paused}.deliverable-card{padding:23px 0 0;background:none;border:0;border-radius:0;box-shadow:none}.deliverable-card h3{max-width:none;font-size:27px;margin-top:12px}.deliverable-card ul{margin-top:18px}.deliverable-symbol{display:none}.process-visual{gap:17px;background:radial-gradient(ellipse at 20% 20%,#24423844,transparent 65%),#101917}.process-panels{align-content:center}.process-tabs button:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--mint);transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease)}.process-tabs button[aria-selected=true]:after{transform:scaleX(1)}
@keyframes draw-process{from{stroke-dashoffset:450}to{stroke-dashoffset:0}}
@keyframes assemble-process{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
.capability-row,.articles>a,.career-history summary{transition:background .3s,color .3s}.capability-row:hover{background:#c1efcc04}.articles>a:hover{background:#c1efcc05}.articles>a h3{transition:transform .4s var(--ease)}.articles>a:hover h3{transform:translateX(5px)}.portrait-frame{overflow:hidden}.portrait-frame img{transition:transform 1s var(--ease)}.portrait-frame:hover img{transform:scale(1.025)}.contact-orb{transition:transform .5s var(--ease),background .3s}.contact-orb:hover{transform:translateY(-5px) rotate(-5deg)}
.js .reveal.visible .ownership>div,.js .reveal.visible .tags span{animation:assemble-process .65s var(--ease) both}.js .reveal.visible .ownership>div:nth-child(2),.js .reveal.visible .tags span:nth-child(2){animation-delay:.07s}.js .reveal.visible .ownership>div:nth-child(3),.js .reveal.visible .tags span:nth-child(3){animation-delay:.14s}.js .reveal.visible .ownership>div:nth-child(4),.js .reveal.visible .tags span:nth-child(4){animation-delay:.21s}
@media(max-width:760px){.process-visual{padding:22px}.process-scene{min-height:130px}.deliverable-card h3{font-size:25px}}
@media(prefers-reduced-motion:reduce){.process-scene *{animation:none!important;stroke-dashoffset:0!important}.portrait-frame:hover img,.articles>a:hover h3,.contact-orb:hover{transform:none}}
.motion-paused .process-scene *{animation:none!important;stroke-dashoffset:0!important;opacity:1!important;transform:none!important}
.deliverable-card ul{display:none}.process-scene{padding-bottom:15px}.process-scene svg{max-height:215px}.deliverable-outcome{padding-top:5px}:root:not(.js) .scene-toolbar,:root:not(.js) .process-scene{display:none}
/* Shared brand and usability baseline. */
:root{--bg:#0a0d11;--surface:#121a1d;--ink:#edf2ef;--muted:#a3afa9;--line:#34423e;--mint:#c1efcc;--section-space:104px;--body-size:16px;--small-size:12px}
.section{padding-block:var(--section-space)}.approach{background:#101819}.featured-role{background:var(--surface)}.contact{background:#15231f}.header{background:var(--bg)}
.hero-description,.section-heading>p,.role-detail>p:not(.large-copy),.career-description p,.process-panels p,.capability-row p,.about-copy>p{font-size:var(--body-size);line-height:1.75}.hero-description{max-width:390px}.section-heading>p{max-width:390px}.ownership>div,.process-panels ul{font-size:14px}.tags span{font-size:11px;padding:7px 10px}.eyebrow{font-size:11px;letter-spacing:.11em}.section-note,.role-company,.career-date,.career-company small,.hero-bottom>p,.platform-context,.portrait-caption,.footer{font-size:12px}.text-link,.button,nav a{font-size:13px}.art-controls button{font-size:11px;min-height:44px}.replay-process{min-height:44px;min-width:64px;font-size:12px}.motion-toggle,.copy-email{min-height:44px;min-width:44px}.process-tabs button{min-height:54px;font-size:14px}.deliverable-card>p:not(.eyebrow){font-size:14px;line-height:1.7}.deliverable-outcome p{font-size:13px}.deliverable-header,.scene-toolbar{font-size:11px}.deliverable-count{font-variant-numeric:tabular-nums}.socials a{display:inline-flex;align-items:center;min-height:44px}.articles>a:visited h3{color:#a5b8b0}.about .text-link:hover{color:#214d39}
.js .reveal.pending{opacity:1;transform:none}.js .reveal.visible{animation:section-arrive .65s var(--ease) both}.motion-paused .reveal.visible{animation:none!important}
@keyframes section-arrive{from{transform:translateY(12px)}to{transform:translateY(0)}}
@media(max-width:1100px){nav{gap:18px}.section{padding-block:84px}}
@media(max-width:760px){.section{padding-block:64px}.eyebrow{font-size:10px}.section-note{font-size:11px}.hero-description,.section-heading>p,.role-detail>p:not(.large-copy),.career-description p,.process-panels p,.capability-row p,.about-copy>p{font-size:15px}.hero-description{margin-top:22px}.tags span{font-size:11px}.ownership>div{font-size:13px;grid-template-columns:62px 1fr}.process-tabs button{font-size:12px;padding:15px 4px;min-height:64px}.process-tabs button span{font-size:10px}.role-company,.career-date,.career-company small,.platform-context,.portrait-caption,.footer{font-size:11px}.text-link{font-size:13px}.career-company{font-size:19px}.capabilities-heading h3{font-size:26px}.process-panels{padding:26px}.process-panels ul{font-size:13px}.hero .button{font-size:12px;min-height:44px}.art-controls{gap:22px}.art-controls button{font-size:10px}.motion-toggle{font-size:11px}.footer{grid-template-columns:auto 1fr auto}.local-time{font-size:10px}.scene-toolbar{font-size:10px}.about-facts{gap:28px}.contact h2{font-size:clamp(38px,9vw,68px)}nav a{font-size:18px}.portrait-caption{letter-spacing:.04em}}
/* Responsive surfaces and a consistent, restrained motion rhythm. */
.featured-role,.process{position:relative;isolation:isolate}.featured-role:before,.process:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(450px circle at var(--spot-x,50%) var(--spot-y,50%),#b8e4d30a,transparent 75%);opacity:0;transition:opacity .4s}.featured-role:hover:before,.process:hover:before{opacity:1}.process{transition:border-color .35s}.process:hover{border-color:#62766e}.button,.contact-orb{translate:var(--pull-x,0px) var(--pull-y,0px);transition:translate .35s var(--ease),background .25s,transform .25s}.scene-check{animation:draw-process 1.8s .15s var(--ease) both}.scene-tiles rect{animation:tile-live 5s ease-in-out infinite}.scene-tiles rect:nth-child(2){animation-delay:.25s}.scene-tiles rect:nth-child(3){animation-delay:.5s}@keyframes tile-live{0%,60%,100%{opacity:.5;transform:translateY(0)}20%,35%{opacity:1;transform:translateY(-2px)}}
.process-scene svg>.draw-line{stroke-dasharray:4 6;animation:connection-flow 3s linear infinite}@keyframes connection-flow{to{stroke-dashoffset:-30}}
nav a[aria-current=location]:after{transform:scaleX(1)}nav a[aria-current=location]{color:var(--mint)}
.motion-paused .ownership>div,.motion-paused .tags span{animation:none!important;opacity:1!important;transform:none!important}.motion-paused .button,.motion-paused .contact-orb{translate:0 0!important}
@media(prefers-reduced-motion:reduce){.button,.contact-orb{translate:0 0!important}.featured-role:before,.process:before{display:none}}
/* Scroll choreography: progressive enhancement, never hidden content. */
.section-top{position:relative;padding-top:20px}.section-top:before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:currentColor;opacity:.2;transform:scaleX(var(--section-progress,1));transform-origin:left;will-change:transform}.section-heading h2{translate:0 var(--heading-drift,0px)}.portrait-frame img{scale:1.035;translate:0 var(--portrait-drift,0px)}.contact-orb{rotate:var(--contact-turn,0deg)}.header{position:sticky;top:0;background:#0a0d11ed;backdrop-filter:blur(16px)}
.js .reveal.visible{animation:scroll-arrive .85s var(--ease) both}@keyframes scroll-arrive{from{opacity:.7;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.motion-paused .section-heading h2,.motion-paused .portrait-frame img{translate:0 0!important}.motion-paused .contact-orb{rotate:0deg!important}.motion-paused .section-top:before{transform:none!important}
@media(prefers-reduced-motion:reduce){.section-heading h2,.portrait-frame img{translate:0 0!important}.contact-orb{rotate:0deg!important}.section-top:before{transform:none!important}}

/* Selected work: public, playable proof first; NDA work offered privately. */
.work{border-top:1px solid var(--line)}
.work-feature{display:grid;grid-template-columns:1.2fr 1fr;background:var(--surface);border:1px solid var(--line);overflow:hidden;transition:border-color .3s}
.work-visual{position:relative;overflow:hidden;isolation:isolate;min-height:300px;background:radial-gradient(ellipse at 28% 18%,#1d2f3a66,transparent 62%),radial-gradient(ellipse at 82% 92%,#c1efcc14,transparent 58%),#0b1013}
.work-visual canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.work-visual-feature{min-height:470px;border-right:1px solid var(--line)}
.visual-note{position:absolute;right:22px;bottom:28px;font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#6c7d77;pointer-events:none;text-align:right}
.work-info{padding:44px 42px 36px;display:flex;flex-direction:column;align-items:flex-start}
.work-info>.eyebrow{color:#a1ada4}
.work-info h3{font-size:clamp(40px,4.4vw,62px);font-weight:700;letter-spacing:-.06em;line-height:1.04;margin-top:22px}
.work-lead{font-size:22px;line-height:1.35;letter-spacing:-.025em;margin-top:14px;max-width:440px}
.work-info>p:not(.eyebrow):not(.work-lead):not(.work-footnote){color:#a7b1a9;font-size:var(--body-size);line-height:1.75;margin-top:16px;max-width:520px}
.work-stats{display:grid;grid-template-columns:1fr 1fr;width:100%;margin:28px 0 30px;border-top:1px solid var(--line)}
.work-stats>div{padding:18px 18px 0 0}.work-stats>div+div{padding-left:22px;border-left:1px solid var(--line)}
.work-stats dt{font-size:46px;font-weight:500;letter-spacing:-.05em;line-height:1;color:var(--mint)}
.work-stats dd{margin:10px 0 0;font-size:13px;line-height:1.5;color:var(--muted);max-width:230px}
.work-stats sup,.work-footnote sup{color:var(--mint)}
.work-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:auto}
.work-actions .text-link{color:var(--mint)}
.work-footnote{font-size:11px;line-height:1.5;color:#7d8a84;margin-top:22px}
.title-marquee{grid-column:1/-1;border-top:1px solid var(--line);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.title-marquee ul{display:flex;width:max-content;list-style:none;margin:0;padding:17px 0;animation:title-scroll 80s linear infinite}
.title-marquee li{font-size:13px;color:#bcc8c1;padding-right:20px;white-space:nowrap}
.title-marquee li:before{content:'✦';color:var(--mint);font-size:8px;margin-right:20px;vertical-align:2px}
.work-feature:hover .title-marquee ul{animation-play-state:paused}
@keyframes title-scroll{to{transform:translateX(-50%)}}
.motion-paused .title-marquee ul{animation:none;flex-wrap:wrap;width:auto;row-gap:6px;padding-inline:20px}.motion-paused .title-marquee li[aria-hidden=true]{display:none}.motion-paused .title-marquee{-webkit-mask-image:none;mask-image:none}
@media(prefers-reduced-motion:reduce){.title-marquee ul{animation:none;flex-wrap:wrap;width:auto;row-gap:6px;padding-inline:20px}.title-marquee li[aria-hidden=true]{display:none}.title-marquee{-webkit-mask-image:none;mask-image:none}}
.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
.work-card{background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden;transition:border-color .3s}
.work-card:hover,.work-feature:hover{border-color:#4d605a}
.work-card .work-visual{aspect-ratio:16/10;min-height:0;border-bottom:1px solid var(--line)}
.work-card .work-visual canvas{cursor:crosshair}
.work-card-body{padding:30px 32px 32px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.work-card h3{font-size:30px;letter-spacing:-.04em;margin-top:12px}
.work-card-body>p:not(.eyebrow){color:#a7b1a9;font-size:var(--body-size);line-height:1.7;margin:12px 0 24px}
.work-card .text-link{margin-top:auto;color:var(--mint)}
.work-nda{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:24px;padding:26px 32px;border:1px dashed #40514a;background:repeating-linear-gradient(135deg,#ffffff04 0 12px,transparent 12px 24px)}
.nda-copy{font-size:18px;line-height:1.45;letter-spacing:-.02em;margin-top:8px;max-width:620px}
.work-nda .text-link{flex-shrink:0;color:var(--mint)}
:root:not(.js) .visual-note{display:none}

/* Motion layer (motion.js). Hidden start states apply only once the script has run. */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* Intro: header drops in, hero chrome follows the stars. */
.motion-intro .header{animation:intro-drop 1s var(--ease) .15s both}
.motion-intro .hero-topline{animation:fade-enter 1s var(--ease) .55s both}
.motion-intro .hero-bottom{animation:fade-enter 1.1s var(--ease) 1.25s both}
.motion-intro .art-controls{animation:fade-enter 1s var(--ease) 1.7s both}
.motion-intro .hero-description{animation:fade-enter 1.1s var(--ease) .95s both}
.motion-intro .hero .button{animation:fade-enter 1.1s var(--ease) 1.1s both}
@keyframes intro-drop{from{transform:translateY(-100%);opacity:0}to{transform:none;opacity:1}}
/* Words rise out of a mask with a short blur trail. */
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .04em .14em;margin:0 -.04em -.14em}
.split .wi{display:inline-block;transform-origin:0 100%;transition:transform 1s var(--ease) calc(var(--i)*48ms),opacity .7s ease calc(var(--i)*48ms),filter .9s ease calc(var(--i)*48ms)}
.motion-ready .split:not(.in) .wi{transform:translateY(108%) rotate(5deg);opacity:0;filter:blur(8px)}
/* Slot reels. */
.reels{display:inline-flex;align-items:flex-start;font-variant-numeric:tabular-nums}
.reel{display:inline-block;height:1em;line-height:1;overflow:hidden}
.reel-strip{display:flex;flex-direction:column;transition:transform 1.7s cubic-bezier(.16,.84,.3,1.14) calc(var(--d)*.16s)}
.reel-strip>span,.reel-static{display:block;height:1em;line-height:1;text-align:center}
.reeled.in .reel-strip{transform:translateY(calc(var(--to)*-1em));animation:reel-blur 1.7s ease calc(var(--d)*.16s) both}
@keyframes reel-blur{0%{filter:none}15%,55%{filter:blur(1.6px)}85%,100%{filter:none}}
.about-facts strong{line-height:1}
.about-facts strong span{font-size:inherit;color:inherit;line-height:1}
/* Screens power on: a mint scan line wipes the cover away and the picture flares. */
.work-visual.armed::after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:#05080a}
.work-visual.armed::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;z-index:4;pointer-events:none;background:var(--mint);box-shadow:0 0 22px 5px #c1efcc80;opacity:0}
.work-visual.powered::after{animation:screen-wipe 1s var(--ease) .05s forwards}
.work-visual.powered::before{animation:scan-line 1s var(--ease) .05s forwards}
.work-visual.powered canvas{animation:screen-flare 1.3s ease .05s backwards}
@keyframes screen-wipe{from{clip-path:inset(0 0 0 0)}to{clip-path:inset(100% 0 0 0)}}
@keyframes scan-line{0%{top:0;opacity:1}88%{opacity:1}100%{top:100%;opacity:0}}
@keyframes screen-flare{0%{filter:brightness(2.4) saturate(.4)}100%{filter:none}}
/* Cards tilt toward the pointer; a soft glare follows it. */
.work,.work-grid{perspective:1400px}
.work-card,.work-feature{position:relative;transform-style:flat;will-change:rotate}
.work-card:after,.work-feature:after{content:'';position:absolute;inset:0;z-index:5;pointer-events:none;background:radial-gradient(520px circle at var(--gx,50%) var(--gy,50%),#c1efcc14,transparent 60%);opacity:0;transition:opacity .45s}
@media(hover:hover) and (pointer:fine){.work-card:hover:after,.work-feature:hover:after{opacity:1}}
/* Ticker leans with scroll velocity. */
.title-marquee li{display:inline-block;transform:skewX(var(--skew,0deg))}
/* Mint buttons get a light sweep on hover. */
.button{position:relative;overflow:hidden;isolation:isolate}
.button-mint:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,#ffffff8c 50%,transparent 70%);transform:translateX(-130%);transition:transform .8s var(--ease)}
.button-mint:hover:after{transform:translateX(130%)}
/* Paused or reduced motion: everything in its final state, nothing in flight. */
.motion-paused .header,.motion-paused .hero-topline,.motion-paused .hero-bottom,.motion-paused .art-controls{animation:none}
.motion-paused .split .wi{transform:none!important;opacity:1!important;filter:none!important;transition:none}
.motion-paused .reel-strip{transform:translateY(calc(var(--to)*-1em))!important;transition:none;animation:none}
.motion-paused .work-visual::before,.motion-paused .work-visual::after{display:none}
.motion-paused .work-visual canvas{animation:none}
.motion-paused .button-mint:after{display:none}
@media(prefers-reduced-motion:reduce){.split .wi{transform:none!important;opacity:1!important;filter:none!important}.reel-strip{transform:translateY(calc(var(--to)*-1em))!important}.work-visual::before,.work-visual::after{display:none}}
@media print{.split .wi{transform:none!important;opacity:1!important;filter:none!important}.reel-strip{transform:translateY(calc(var(--to)*-1em))!important}.work-visual::before,.work-visual::after{display:none}}
@media(hover:none){.work-card .visual-note{display:none}}
@media print{.work-visual{display:none}}
@media(max-width:760px){
 .work-feature{grid-template-columns:1fr}
 .work-visual-feature{min-height:0;aspect-ratio:4/3.4;border-right:0;border-bottom:1px solid var(--line)}
 .work-info{padding:27px}
 .work-info h3{margin-top:16px}
 .work-lead{font-size:19px}
 .work-stats{margin:24px 0}.work-stats dt{font-size:36px}.work-stats dd{font-size:12px}
 .work-actions{width:100%}.work-actions .button{width:100%}
 .work-grid{grid-template-columns:1fr;gap:20px;margin-top:20px}
 .work-card-body{padding:24px}
 .work-card h3{font-size:26px}
 .work-nda{flex-direction:column;align-items:flex-start;gap:16px;padding:24px;margin-top:20px}
 .nda-copy{font-size:16px}
 .visual-note{font-size:9px;right:16px;bottom:26px}
}
