@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#080808;--fg:#f5f3ef;--muted:#969592;--orange:#ff6238;--line:#ffffff24;--font:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--bg);color:var(--fg);font-family:'DM Sans',sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--orange);outline-offset:6px}button{border:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font)}em{font-style:normal;color:var(--muted)}.orange{color:var(--orange)}.muted{color:var(--muted)}.mono,.eyebrow,.sample-label{font:12px/1.5 monospace;letter-spacing:.08em}.eyebrow{display:block}.sample-label{color:#c1bbb3;border:1px solid #ffffff30;border-radius:3px;padding:5px 9px;display:inline-block;font-size:11px}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:var(--orange);padding:12px;color:#000}.skip-link:focus{top:12px}.nav{height:86px;position:fixed;inset:0 0 auto;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;background:linear-gradient(#080808d9,#08080840);backdrop-filter:blur(16px);border-bottom:1px solid #ffffff0f}.nav:after{content:'';position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--orange);transform-origin:left;transform:scaleX(var(--progress,0))}.brand{font:bold 28px/1 var(--font);display:flex;align-items:center;gap:1px}.brand>span:first-child{color:var(--orange);font-size:23px}.brand-name{font:11px monospace;letter-spacing:.1em;margin-left:14px}.nav nav{display:flex;gap:34px;font-size:13px;color:#c8c5c1}.nav a:hover,.nav a[aria-current]{color:var(--orange)}.nav-contact{font-size:13px;display:flex;gap:25px}.hero-track{height:185svh;position:relative}.hero-stage{height:100svh;min-height:620px;position:sticky;top:0;overflow:hidden;background:#050505}.hero-art{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(var(--hero-scale,1));filter:brightness(.85);will-change:transform}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0007,transparent 70%),linear-gradient(0deg,#080808 1%,transparent 30%,#08080833)}.hero-title{position:absolute;top:24%;left:8%;width:84%;transform:translateY(var(--hero-y,0px));opacity:var(--hero-opacity,1)}.hero-title>.eyebrow{color:#d1c9c3;font-size:11px;margin-bottom:23px}.hero-title h1{font-size:clamp(64px,8.8vw,148px);line-height:.98;letter-spacing:-.075em;font-weight:600;text-shadow:0 3px 35px #0003}.hero-title h1 span{color:#f6f0e2}.hero-intro{margin-top:30px;color:#c1bbb6;font-size:16px;line-height:1.7}.hero-second{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;opacity:var(--second-opacity,0);transform:translateY(var(--second-y,50px));pointer-events:none}.hero-second p{font:600 clamp(40px,6.5vw,100px)/1.1 var(--font);letter-spacing:-.055em;margin-top:24px}.hero-second em{color:#ff996f}.hero-bottom{position:absolute;bottom:37px;left:4.5%;right:4.5%;display:flex;justify-content:space-between;align-items:center;color:#c4beb7;font-size:12px}.scroll-cue{display:flex;gap:22px}.scroll-cue span{display:inline-block;animation:scroll-step 1.8s steps(5,end) infinite}.frame-counter b{font-weight:normal;color:#ff9c79}.section{padding:100px 8%;max-width:1600px;margin:auto}.section-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:50px}.section-top>.eyebrow{color:#d2cbc3}.about{padding-top:115px;padding-bottom:125px}.story-line{font-size:clamp(35px,5.1vw,77px);letter-spacing:-.055em;line-height:1.15;font-weight:500;max-width:1120px;margin-bottom:70px}.story-word{color:rgb(calc(65 + var(--lit,1)*180),calc(65 + var(--lit,1)*178),calc(65 + var(--lit,1)*174));transition:color .12s}.about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:9%;align-items:center}.terminal{border:1px solid #ffffff1c;background:#111110;border-radius:12px;overflow:hidden;transform:perspective(1200px) rotateY(4deg)}.terminal-bar{border-bottom:1px solid var(--line);padding:15px 20px;display:flex;justify-content:space-between;color:#8e8d86;font:12px monospace}.terminal pre{padding:25px 28px;font:clamp(12px,1.12vw,17px)/1.9 monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.code-purple{color:#b9a8ef}.code-orange{color:#ff9c79}.cursor{color:var(--orange);animation:blink .8s steps(1,end) infinite}.about-copy>p{font-size:17px;color:#b2afaa;margin-bottom:20px}.fact-row{padding-top:21px;margin-top:21px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:7px}.fact-row span{font:11px monospace;color:#99948e}.fact-row strong{font-size:14px;font-weight:400}.skills{max-width:none;background:#eeece7;color:#181817;border-radius:30px 30px 0 0;padding-top:85px;padding-bottom:85px}.skills .section-top>.eyebrow{color:#45433f}.skills .sample-label{color:#6d655c;border-color:#0003}.skills-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;max-width:1344px;margin:auto}.skills h2{font-size:clamp(42px,5.5vw,83px);letter-spacing:-.065em;line-height:1.08;font-weight:600}.skills h2 em{color:#9a9286}.skills-heading>p{font-size:15px;color:#736e67;margin:23px 0 35px}.skill-tabs{display:flex;flex-direction:column}.skill-tabs button{display:flex;gap:20px;align-items:center;text-align:left;border-top:1px solid #0002;background:none;padding:16px 4px;color:#888075;font:12px monospace}.skill-tabs button span{flex:1;font:500 20px var(--font);color:#7d766c}.skill-tabs button[aria-selected=true],.skill-tabs button[aria-selected=true] span{color:#171715}.skill-tabs button[aria-selected=true]{border-color:#171715}.skill-panel{background:#181817;color:#eee9df;padding:37px;border-radius:13px;display:flex;flex-direction:column;justify-content:space-between;min-height:545px;box-shadow:0 30px 50px #0002}.skill-symbol{font:60px monospace;color:#fa8b60;letter-spacing:-.1em;margin-bottom:20px}.skill-panel h3{font-size:29px;line-height:1.2;letter-spacing:-.035em;max-width:380px;margin-bottom:15px}.skill-panel p{color:#a9a69d;font-size:15px}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:23px}.tags span{border:1px solid #ffffff25;border-radius:5px;padding:5px 9px;font:12px monospace;color:#bdb9b0}.skill-panel ul{padding-left:18px;margin-top:24px;font-size:14px;color:#c9c5bb}.panel-footer{display:flex;justify-content:space-between;align-items:center;padding-top:24px;margin-top:16px;border-top:1px solid #ffffff20;color:#817f77}.panel-footer .mono{font-size:10px}.step-meter{display:flex;gap:3px;height:15px;align-items:flex-end}.step-meter i{display:block;width:3px;height:6px;background:#fe865b;animation:meter 1.2s steps(3) infinite alternate}.step-meter i:nth-child(2n){animation-delay:-.5s}.step-meter i:nth-child(3n){animation-delay:-.8s}.approach-row{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin:60px auto 0;max-width:1344px}.approach-row details{border-top:1px solid #0003;padding-top:16px}.approach-row summary{cursor:pointer;list-style:none;font-size:14px;display:flex;justify-content:space-between;gap:10px}.approach-row p{font-size:14px;color:#716a60;margin-top:14px}.approach-row details[open] summary span{transform:rotate(45deg)}.work-heading{padding-top:115px;padding-bottom:75px}.work-heading h2{font-size:clamp(48px,6.6vw,100px);line-height:1.04;letter-spacing:-.06em;font-weight:500}.work-heading>p{font-size:16px;color:var(--muted);margin-top:24px}.project-card{height:90svh;min-height:640px;max-height:1100px;position:sticky;top:86px;overflow:hidden;border-top:1px solid #ffffff20;background:#070707}.project-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(var(--project-scale,1.08));object-position:65% center}.project-scrim{position:absolute;inset:0;background:linear-gradient(90deg,#000c 0%,#0006 42%,transparent 80%),linear-gradient(0deg,#000a,transparent 45%)}.project-content{position:relative;z-index:2;height:100%;padding:5% 8%;display:flex;flex-direction:column;align-items:flex-start}.project-top{display:flex;justify-content:space-between;width:100%;gap:20px;align-items:center}.project-top .mono{color:#cac4ba}.project-title{font-size:clamp(50px,8vw,130px);line-height:1;letter-spacing:-.06em;font-weight:500;margin-top:auto}.project-tagline{font-size:clamp(25px,3vw,44px);line-height:1.13;letter-spacing:-.04em;margin-top:18px}.project-description{max-width:410px;color:#b8b4ad;font-size:15px;margin-top:19px}.project-bottom{display:flex;justify-content:space-between;align-items:flex-end;width:100%;gap:20px;margin-top:24px}.project-bottom .tags{margin:0}.project-open{display:flex;align-items:center;gap:26px;background:#f4f0e8;color:#181714;padding:13px 20px;border-radius:5px;font-size:13px}.project-open:hover{background:#ff926b}.concept{position:relative;background:#10100f;border-top:1px solid var(--line);padding-top:95px;padding-bottom:95px}.concept h2{font-size:clamp(38px,5vw,70px);letter-spacing:-.06em;font-weight:500}.concept-controls{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0}.concept-controls button{border:1px solid #ffffff25;background:transparent;border-radius:50px;padding:11px 19px;font-size:14px;color:#b5b1aa}.concept-controls button[aria-pressed=true]{background:#e9e5dc;color:#161512;border-color:#e9e5dc}.concept-response{display:flex;gap:25px;border-top:1px solid var(--line);padding-top:25px;min-height:122px}.concept-response>.mono{font-size:25px}.concept-response h3{font-size:22px;font-weight:500;letter-spacing:-.02em}.concept-response p{color:var(--muted);max-width:650px;font-size:16px;margin-top:8px}.next{padding-top:120px;padding-bottom:80px}.next h2{font-size:clamp(60px,10vw,155px);letter-spacing:-.065em;line-height:1.03;font-weight:500;margin:35px 0 50px}.next h2>span{font-size:.8em;margin-left:30px;display:inline-block;transition:transform .4s}.next:hover h2>span{transform:translate(10px,-10px)}.next h2 em{color:#ff7148}.next-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:25px}.next-bottom p{font-size:16px;color:var(--muted)}.contact-placeholder{display:flex;flex-direction:column;align-items:flex-start;gap:13px}.contact-placeholder>span:last-child{font-size:20px;color:#c6bfb4}footer{margin:0 4.5%;padding:27px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}footer>span,footer>a:last-child,footer button{font-size:12px;color:var(--muted)}footer .brand{font-size:23px}footer .brand-name{font-size:10px}footer button{background:none;padding:8px}footer button span{margin-left:12px;color:#eee}.reveal{opacity:0;transform:translateY(35px);transition:opacity .85s,transform .85s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible,.reveal:focus-within{opacity:1;transform:none}dialog{background:#171715;color:#eee9df;border:1px solid #ffffff28;border-radius:14px;max-width:720px;width:calc(100% - 32px);max-height:85svh;padding:45px;overflow:auto}dialog::backdrop{background:#000c;backdrop-filter:blur(12px)}.dialog-close{position:absolute;right:16px;top:10px;background:none;font-size:30px}dialog h2{font-size:55px;letter-spacing:-.05em;margin-top:22px}dialog>p{color:#b0aba2}dialog h3{font-size:18px;margin:26px 0 9px}dialog #dialog-details p{color:#b6b0a5;font-size:15px}.dialog-note{font-size:13px;border-top:1px solid var(--line);margin-top:30px;padding-top:20px}.no-motion *, .no-motion *:before,.no-motion *:after{animation:none!important;transition:none!important}.no-motion .hero-track{height:100svh}.no-motion .hero-title{opacity:1!important;transform:none!important}.no-motion .hero-second{display:none}.no-motion .hero-art,.no-motion .project-image{transform:none!important}.no-motion .project-card{position:relative;top:auto}.no-motion .story-word{color:var(--fg)}.no-motion .reveal{opacity:1;transform:none}.no-motion{scroll-behavior:auto}.panel-enter{animation:panel-in .35s ease}@keyframes panel-in{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes blink{50%{opacity:0}}@keyframes meter{to{height:15px}}@keyframes scroll-step{50%{transform:translateY(7px)}}
@media(min-width:1800px){.hero-title{left:calc((100vw - 1500px)/2)}.project-content{padding-left:calc((100vw - 1500px)/2)}}@media(max-width:950px){.brand-name{display:none}.about-grid{gap:35px}.skills-layout{gap:40px}.skill-panel{padding:27px}.project-description{max-width:380px}.frame-counter{display:none}.nav nav{gap:25px}.approach-row{gap:20px}}@media(max-width:650px){html{scroll-padding-top:78px}.nav{height:72px;padding:0 5%}.nav nav{gap:18px;font-size:12px}.nav-contact{display:none}.hero-track{height:150svh}.hero-stage{min-height:580px}.hero-title{left:6%;top:28%;width:88%}.hero-title h1{font-size:clamp(53px,12vw,78px)}.hero-title>.eyebrow{font-size:10px;max-width:250px}.hero-art{object-position:60% center}.hero-intro{font-size:14px;max-width:230px}.hero-second p{font-size:clamp(34px,8vw,49px)}.hero-second>.eyebrow{font-size:10px}.hero-bottom{bottom:25px}.hero-bottom>.mono{font-size:9px;max-width:120px}.scroll-cue{font-size:12px;gap:10px}.section{padding:65px 6%}.section-top{align-items:flex-start;gap:18px;margin-bottom:32px}.section-top>.muted{display:none}.eyebrow{font-size:11px}.sample-label{font-size:9px;letter-spacing:.03em}.story-line{font-size:37px;margin-bottom:35px}.about-grid,.skills-layout{grid-template-columns:1fr;gap:35px}.terminal{transform:none}.terminal pre{font-size:13px;padding:23px}.about-copy>p{font-size:16px}.skills{border-radius:20px 20px 0 0}.skills h2{font-size:51px}.skills-heading>p{font-size:14px}.skill-panel{min-height:500px}.skill-panel h3{font-size:29px}.approach-row{grid-template-columns:1fr;gap:24px;margin-top:40px}.work-heading h2{font-size:51px}.work-heading>p br{display:none}.project-card{height:85svh;min-height:660px;position:relative;top:auto}.project-image{object-position:60% center}.project-scrim{background:linear-gradient(0deg,#000e,transparent 95%),linear-gradient(90deg,#0005,transparent)}.project-content{padding:32px 6%}.project-top .mono{font-size:10px}.project-title{font-size:75px}.project-tagline{font-size:30px}.project-description{font-size:14px}.project-bottom{align-items:flex-start;flex-direction:column;gap:23px}.project-open{font-size:14px;padding:12px 17px}.concept-controls{gap:8px}.concept-controls button{font-size:12px;padding:10px 13px}.concept-response{gap:16px;min-height:170px}.concept-response h3{font-size:20px}.concept-response p{font-size:15px}.next h2{font-size:64px}.next h2>span{margin-left:12px}.next-bottom{align-items:flex-start;flex-direction:column;gap:30px}.contact-placeholder>span:last-child{font-size:18px}footer{flex-wrap:wrap;gap:18px}footer>span{display:none}footer button{margin-left:auto}footer>a:last-child{width:100%;text-align:right}dialog{padding:38px 24px}dialog .sample-label{max-width:90%}dialog h2{font-size:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-track{height:100svh}.hero-title{opacity:1!important;transform:none!important}.hero-second{display:none}.hero-art,.project-image{transform:none!important}.project-card{position:relative;top:auto}.reveal{opacity:1;transform:none}.story-word{color:var(--fg)}}
/* Portrait hero: preserve face placement and reserve dark space for the headline. */
.hero-art{object-position:76% 20%;transform-origin:76% 30%;filter:none}
.hero-title{width:52%}
.hero-title h1{font-size:clamp(58px,7.2vw,120px)}
.hero-second{left:8%;right:auto;width:48%;align-items:flex-start;text-align:left}
.hero-second p{font-size:clamp(38px,5vw,78px)}
@media(max-width:650px){
 .hero-art{top:72px;height:70%;object-position:82% top;transform-origin:76% 28%}
 .hero-shade{background:linear-gradient(0deg,#080808 0%,#080808ed 12%,#080808aa 30%,transparent 58%)}
 .hero-title{top:auto;bottom:13%;left:6%;width:88%}
 .hero-title h1{font-size:clamp(48px,11.5vw,74px)}
 .hero-title>.eyebrow{margin-bottom:14px}
 .hero-intro{margin-top:17px}
 .hero-second{inset:auto 6% 17%;width:88%;align-items:flex-start;text-align:left}
 .hero-second p{font-size:clamp(33px,8vw,49px)}
}
