@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{--ink:#eeeede;--paper:#131416;--accent:#effa75;--line:#eeeede30}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:6px}h1,h2,h3,h4,p{margin:0}h1,h2{font-family:'Space Grotesk',sans-serif;font-weight:500;letter-spacing:-.065em;line-height:.94}em,i{font-family:'Instrument Serif',serif;font-weight:400}header{position:absolute;z-index:10;top:0;width:100%;padding:32px 6vw 32px 8vw;display:flex;justify-content:space-between;align-items:center}.wordmark{font-size:21px;line-height:1;letter-spacing:-1px}.wordmark span{display:block;font-size:8px;letter-spacing:1.5px;line-height:2;margin-top:10px}nav{display:flex;gap:30px;font-size:13px}.kicker,.number{font-size:10px;letter-spacing:2px;font-weight:500}.skip{position:fixed;top:-100px;z-index:20000;background:var(--accent);color:#111;padding:15px}.skip:focus{top:10px}.offset-hero{position:relative;height:100vh;min-height:900px;overflow:hidden;background:linear-gradient(115deg,#131416 45%,#272922)}.offset-side{position:absolute;inset:0 auto 0 0;width:55px;border-right:1px solid var(--line);display:flex;justify-content:space-around;align-items:center;writing-mode:vertical-rl;transform:rotate(180deg);font:9px monospace;letter-spacing:2px}.offset-top{position:absolute;top:165px;left:9vw;right:6vw;display:flex;justify-content:space-between;font:10px monospace;letter-spacing:1px}.offset-hero h1{position:absolute;left:57%;top:27%;width:39%;font-size:clamp(70px,7.2vw,110px);transform:rotate(3deg);z-index:3;pointer-events:none}.offset-hero h1 i{color:var(--accent)}.offset-model{position:absolute;left:6%;top:18%;width:51%;height:71%;z-index:2}.offset-caption{position:absolute;bottom:90px;left:59%;z-index:3}.offset-caption>span{font:10px monospace;letter-spacing:2px;color:var(--accent)}.offset-caption p{font-size:25px;line-height:1.2;margin:20px 0 30px}.offset-caption a{font:10px monospace;border-bottom:1px solid;padding-bottom:10px}.spatial{width:100%;height:100%;display:block}.model-button{position:relative;display:block;width:100%;height:100%;border:0;padding:0;background:transparent;isolation:isolate;overflow:hidden;text-align:left}.model-button canvas{position:absolute;inset:0;z-index:1;pointer-events:none}.model-button:focus-visible{outline-offset:-6px}.model-state{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.model-hint{position:absolute;left:20%;top:75%;z-index:3;font:600 clamp(50px,7vw,110px)/.9 'Space Grotesk',sans-serif;letter-spacing:-.065em;color:transparent;-webkit-text-stroke:1px #ebf28c;pointer-events:none;transition:transform .35s,color .35s}.model-hint small{display:block;font:9px monospace;letter-spacing:1.5px;margin-top:20px;color:var(--accent);-webkit-text-stroke:0}.hint-hover{display:none}.model-button:hover .hint-idle,.model-button:focus-visible .hint-idle{display:none}.model-button:hover .hint-hover,.model-button:focus-visible .hint-hover{display:block}.model-button:hover .model-hint,.model-button:focus-visible .model-hint{color:var(--accent);-webkit-text-stroke:0;transform:translateX(15px)}.just-morphed:after{content:'';position:absolute;inset:25%;border:1px solid var(--accent);border-radius:50%;z-index:2;pointer-events:none;animation:model-ripple .7s ease-out forwards}@keyframes model-ripple{from{transform:scale(.6);opacity:.7}to{transform:scale(1.8);opacity:0}}
.offset-statement{padding:100px 8vw;display:grid;grid-template-columns:1.4fr 1fr;gap:40px;border-bottom:1px solid var(--line)}.offset-statement>.kicker{grid-column:1/-1}.offset-statement h2{font-size:clamp(60px,7vw,100px)}.offset-statement>p{align-self:end;font-size:15px;line-height:1.8;color:#b0b0a6;max-width:400px}.practice-panel{display:grid;grid-template-columns:1fr 1fr;background:#24251f}.practice-half{padding:80px 5vw 65px 8vw;min-width:0}.practice-half+ .practice-half{border-left:1px solid var(--line);padding-left:5vw}.practice-half h2{font-size:clamp(60px,6.5vw,100px);margin:35px 0 30px}.practice-half>p{font-size:15px;line-height:1.8;color:#c1c3b6;max-width:440px;min-height:110px}.practice-skills{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:22px 0}.practice-skills li{font-size:10px;border:1px solid var(--line);padding:9px 12px;border-radius:20px}.ai-practice{background:#1b1e1d}.ai-practice .toolkit-grid{margin-top:65px}.toolkit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px 18px;padding:25px 0 35px;perspective:900px;max-width:450px}.tool-badge{position:relative;height:76px;width:76px;display:grid;place-items:center;border-radius:21px;background:linear-gradient(145deg,#30352f,#141815);border:1px solid #ffffff24;box-shadow:8px 15px 25px #0005,inset 0 1px #ffffff25;transform:rotate(calc((var(--i) - 5)*2deg));transition:transform .4s,box-shadow .4s;animation:badge-float 6s ease-in-out infinite;animation-delay:calc(var(--i)*-.4s)}.tool-badge:nth-child(3n){margin-top:18px}.tool-badge:nth-child(4n+2){margin-top:-15px}.real-logo{width:42px;height:42px;object-fit:contain}.tool-figma .real-logo{width:30px}.tool-chat .real-logo,.tool-runway .real-logo,.tool-higgs .real-logo{border-radius:9px}.tool-name{position:absolute;bottom:-30px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;padding:6px 9px;background:#0a0e0c;border:1px solid #ffffff22;border-radius:6px;opacity:0;pointer-events:none;z-index:4;transition:opacity .2s}.tool-badge:hover,.tool-badge:focus-visible{transform:translateY(-10px) rotate(0) scale(1.12);animation-play-state:paused;box-shadow:0 0 30px color-mix(in srgb,var(--tile-color),transparent 80%)}.tool-badge:hover .tool-name,.tool-badge:focus-visible .tool-name{opacity:1}@keyframes badge-float{0%,100%{translate:0 0}50%{translate:0 -8px}}
.work,.experience,.contact{padding:100px 8vw}.section-title h2{font-size:clamp(45px,6vw,90px);margin:30px 0 60px}.work-card{display:grid;grid-template-columns:150px .85fr 1.5fr 165px;gap:30px;padding:45px 0;border-top:1px solid var(--line);position:relative;transition:background .3s}.work-card:hover{background:#ffffff04}.work-card .number{position:absolute;top:12px;left:0;opacity:.55;font-size:9px}.project-art{height:150px;display:grid;place-items:center;perspective:800px;background:radial-gradient(ellipse,#ffffff0a,transparent 65%)}.project-art img{width:110px;height:110px;object-fit:contain;filter:drop-shadow(15px 22px 13px #0005);transition:transform .6s}.work-card:hover img{transform:rotateY(-20deg) rotateX(12deg) translateY(-10px)}.work-card h3{align-self:center;font-size:30px;letter-spacing:-1px}.work-card p{align-self:center;font-size:14px;line-height:1.8;color:#b0b0a6}.project-action{align-self:center;display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:14px 18px;border:1px solid #effa7577;border-radius:9px;background:var(--accent);color:#171a0e;font-size:12px;font-weight:700;box-shadow:0 5px 0 #65702e;transition:transform .2s,box-shadow .2s}.project-action:hover{transform:translateY(-3px);box-shadow:0 8px 0 #65702e}.project-action:active{transform:translateY(4px);box-shadow:0 1px 0 #65702e}.work-card:nth-child(even){padding-left:3vw}.experience{border-top:1px solid var(--line)}.experience h2{font-size:clamp(55px,7vw,100px);margin:30px 0}.intro{margin-bottom:60px;font-size:14px;color:#b0b0a6}.career-row{display:grid;grid-template-columns:230px 70px 1fr;gap:35px;align-items:center;padding:35px 0;border-top:1px solid var(--line)}.career-date p{font-size:12px;margin:15px 0 8px}.career-date>span:last-child{font-size:13px;color:#b0b0a6}.company-logo,.company-monogram{width:60px;height:60px;object-fit:contain;border-radius:10px}.company-monogram{display:grid;place-items:center;background:#252a27;border:1px solid var(--line);font:500 17px 'Space Grotesk',sans-serif;color:var(--accent)}.career-detail h3{font-size:27px;letter-spacing:-1px}.career-detail h4{font-size:14px;font-weight:500;margin-top:10px;color:var(--accent)}.career-detail p{font-size:13px;line-height:1.7;color:#b0b0a6;margin-top:15px;max-width:600px}.contact{background:var(--accent);color:#171a0e}.contact h2{font-size:clamp(50px,6.8vw,110px);margin:45px 0 30px}.contact p{font-size:14px;max-width:550px;line-height:1.8}.contact>a{display:inline-block;border-bottom:1px solid;margin-top:35px;font-size:25px;letter-spacing:-1px}footer{border-top:1px solid #171b1233;margin-top:100px;padding-top:25px;font-size:12px;display:flex;justify-content:space-between}footer span{font:10px monospace}
.project-modal__backdrop,.image-gallery__backdrop{position:absolute;inset:0;background:#000c;backdrop-filter:blur(10px)}.project-modal__panel{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:35px;width:min(1000px,95vw);max-height:90vh;overflow:auto}.project-modal__close{float:right;background:transparent;border:1px solid var(--line);padding:10px 15px}.project-modal__header h3{font-size:35px;margin:15px 0}.project-modal__description{font-size:14px;line-height:1.7;max-width:750px;margin-bottom:30px}.project-modal__shots{display:flex;gap:20px}.shot-card{width:33%;cursor:pointer}.shot-slot{width:100%;height:340px;object-fit:contain;background:#ffffff08}.shot-overlay{font-size:11px;line-height:1.6;margin-top:10px}.tag{font:10px monospace}.image-gallery{position:fixed;inset:0;z-index:20000}.image-gallery__icon{position:absolute;background:#111;color:#fff;border:1px solid #fff5;border-radius:50%;width:44px;height:44px;font-size:25px;top:45%}
@media(max-width:1100px){.work-card{grid-template-columns:110px 1fr 1.5fr;gap:25px}.project-action{grid-column:3;justify-self:start}.work-card p{grid-row:1;grid-column:3}.work-card h3{grid-row:1;grid-column:2}.tool-badge{width:64px;height:64px}.practice-half{padding-left:6vw}.practice-half h2{font-size:70px}}
@media(max-width:700px){header{padding:22px 6vw 22px 10vw}.wordmark{font-size:17px}.wordmark span{font-size:6px;letter-spacing:1px}nav{gap:13px;font-size:11px}.offset-side{width:25px;font-size:7px}.offset-top{top:155px;left:10vw;font-size:8px;line-height:1.7;gap:25px}.offset-hero{height:110vh;min-height:960px}.offset-hero h1{top:24%;left:15%;width:78%;font-size:clamp(60px,16vw,85px)}.offset-model{left:8%;top:41%;width:88%;height:40%}.offset-caption{left:12%;bottom:45px}.offset-caption p{font-size:21px}.offset-caption>span,.offset-caption a{font-size:8px}.model-hint{left:7%;top:62%;font-size:50px}.offset-statement{grid-template-columns:1fr;padding:70px 6vw}.offset-statement h2{font-size:50px}.practice-panel{grid-template-columns:1fr}.practice-half,.practice-half+ .practice-half{padding:65px 8vw;border-left:0}.practice-half+.practice-half{border-top:1px solid var(--line)}.practice-half>p{min-height:0}.ai-practice .toolkit-grid{margin-top:40px}.toolkit-grid{max-width:400px}.tool-badge{height:64px;width:64px}.real-logo{width:36px;height:36px}.work,.experience,.contact{padding:70px 8vw}.work-card{grid-template-columns:85px 1fr;gap:20px}.work-card p{grid-column:1/-1;grid-row:auto}.work-card h3{font-size:27px}.project-art{height:120px}.project-art img{width:80px;height:80px}.project-action{grid-column:1/-1;justify-self:stretch}.work-card:nth-child(even){padding-left:0}.career-row{grid-template-columns:60px 1fr;gap:20px;padding:30px 0}.career-date{grid-column:1/-1}.career-date .number{margin-right:10px}.career-date p{display:inline-block;margin:0 0 10px}.career-date>span:last-child{display:block}.career-detail h3{font-size:23px}.contact>a{font-size:21px}footer{gap:20px;flex-wrap:wrap}.project-modal__shots{flex-direction:column}.shot-card{width:100%}.project-modal__panel{padding:25px}.shot-slot{height:400px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.model-button:hover .model-hint{transform:none}}
.tool-blender{background:#fff;border-color:#fff}.tool-blender .real-logo{width:49px;height:40px}.studio-credits{display:flex;gap:28px;align-items:center;margin:30px 0 20px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.studio-credits img{width:75px;height:44px;object-fit:contain}.studio-credits img:first-child{width:90px}.career-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:4vw}.career-row{grid-template-columns:95px 1fr;gap:18px;padding:30px 12px}.career-date{grid-column:1/-1}.career-date p{display:inline-block;margin:0 12px 10px}.career-date>span:last-child{display:block;margin-left:0}.career-mark{display:grid;place-items:center}.company-logo{width:75px;height:65px}.supplied-logo{width:90px;height:65px;border-radius:0}.career-row{cursor:pointer;transition:background .3s,border-color .3s;outline-offset:0}.career-row:hover,.career-row.is-active,.career-row:focus-visible{background:#effa7509;border-top-color:var(--accent)}.career-detail h3{font-size:25px}.globe-sticky{position:sticky;top:65px;text-align:center;padding:35px 0}.globe-sticky canvas{width:100%;height:390px;display:block}.globe-location{font:500 23px 'Space Grotesk',sans-serif;letter-spacing:-.7px;color:var(--accent);margin-top:15px}.globe-sticky p{font-size:11px;line-height:1.7;color:#b0b0a6;margin:15px auto;max-width:220px}.career-world{min-width:0}.spatial{filter:none}
@media(max-width:700px){.career-layout{display:flex;flex-direction:column-reverse;gap:25px}.career-world{position:sticky;top:0;background:#131416f5;z-index:5;border-bottom:1px solid var(--line)}.globe-sticky{padding:12px 0;display:grid;grid-template-columns:110px 1fr;text-align:left;align-items:center;column-gap:20px}.globe-sticky canvas{height:110px;grid-row:1/4;grid-column:1}.globe-sticky>.kicker{font-size:8px;grid-column:2}.globe-location{font-size:19px;grid-column:2;margin:0}.globe-sticky p{font-size:9px;grid-column:2;margin:0}.career-row{grid-template-columns:85px 1fr}.studio-credits{gap:25px}.studio-credits img{width:60px}.studio-credits img:first-child{width:80px}}
.studio-credits{border:0;padding:15px 0;gap:30px;margin:30px 0 15px;perspective:900px}.studio-credits img{width:82px;height:65px;object-fit:contain;filter:drop-shadow(6px 12px 10px #0005);animation:badge-float 6s ease-in-out infinite;transform:rotate(-5deg);transition:transform .4s}.studio-credits img:nth-child(2){animation-delay:-2s;transform:rotate(7deg);margin-top:-15px}.studio-credits img:nth-child(3){animation-delay:-4s;transform:rotate(-8deg);margin-top:12px}.studio-credits img:hover{transform:translateY(-10px) rotate(0) scale(1.12);animation-play-state:paused}.career-layout{display:block;position:relative;isolation:isolate}.career-list{position:relative;z-index:2}.career-world{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:clip}.globe-sticky{position:sticky;top:5vh;padding:0;width:min(90vw,1200px);margin-left:auto;opacity:.48}.globe-sticky canvas{width:100%;height:90vh;min-height:650px}.career-row{grid-template-columns:220px 100px 1fr;gap:35px;padding:38px 15px;min-height:175px;background:linear-gradient(90deg,#131416eb,#131416a8 65%,#13141655)}.career-date{grid-column:auto}.career-date p{display:block;margin:15px 0 8px}.career-row:hover,.career-row.is-active,.career-row:focus-visible{background:linear-gradient(90deg,#20231be8,#20231bb0 60%,#20231b33);border-color:var(--accent)}.career-detail h3{font-size:29px}.career-detail p{max-width:650px}.company-logo{width:80px;height:65px}.supplied-logo{width:95px}.career-mark{min-width:0}
@media(max-width:700px){.career-layout{display:block}.career-world{position:absolute;inset:0;background:none;border:0;z-index:0}.globe-sticky{display:block;width:125vw;margin-left:-15vw;top:15vh;opacity:.4}.globe-sticky canvas{height:70vh;min-height:450px}.career-row{grid-template-columns:80px 1fr;gap:20px;padding:30px 10px}.career-date{grid-column:1/-1}.career-date p{display:inline-block;margin:0 10px 10px}.career-detail h3{font-size:23px}.supplied-logo{width:75px}.studio-credits img{width:65px;height:60px}}
.globe-sticky{opacity:.85}.career-row{background:linear-gradient(90deg,#131416ee,#13141688 55%,#13141622)}.career-row:hover,.career-row.is-active,.career-row:focus-visible{background:linear-gradient(90deg,#20231be8,#20231b77 55%,#20231b15)}.career-detail h3,.career-detail h4,.career-detail p{text-shadow:0 2px 8px #131416,0 0 18px #131416}
/* Project actions echo Offset's typography and yellow accents. */
.project-action{position:relative;min-height:52px;padding:16px 20px;border:1px solid #effa7566;border-radius:0;background:#1d2018;color:var(--accent);font:500 10px 'Space Grotesk',sans-serif;letter-spacing:1.2px;text-transform:uppercase;box-shadow:none;transition:background .22s,color .22s,border-color .22s,transform .22s}
.project-action:after{content:'';position:absolute;left:0;bottom:0;width:28%;height:2px;background:var(--accent);transition:width .25s}
.project-action:hover,.project-action:focus-visible{background:var(--accent);color:#171a0e;border-color:var(--accent);transform:translateY(-3px);box-shadow:none}
.project-action:hover:after,.project-action:focus-visible:after{width:100%;background:#171a0e}
.project-action:active{transform:translateY(1px);background:#dbe665;box-shadow:none}
/* Stretch the action within each project row while preserving its width. */
.work-card{padding-top:0;padding-bottom:0;min-height:240px;align-items:center}.work-card .project-art,.work-card h3,.work-card p{margin-top:45px;margin-bottom:45px}.work-card .project-action{align-self:stretch;margin:0;min-height:100%;width:165px}.work-card .number{z-index:1}
@media(max-width:1100px) and (min-width:701px){.work-card{grid-template-columns:100px .8fr 1.5fr 160px;gap:20px}.work-card .project-action{grid-column:4;grid-row:1;width:160px}.work-card p{grid-column:3;grid-row:1}.work-card h3{grid-column:2;grid-row:1}}
@media(max-width:700px){.work-card{padding-top:45px;padding-bottom:0;gap:20px}.work-card .project-art,.work-card h3,.work-card p{margin-top:0;margin-bottom:0}.work-card .project-action{width:100%;min-height:70px;margin-top:10px}.work-card p{margin-bottom:10px}}
.work-card .project-action{padding-left:12px;padding-right:12px;white-space:nowrap}
/* Project overlays use the same editorial language as the portfolio. */
.project-modal__backdrop,.image-gallery__backdrop{background:#0a0b0dee;backdrop-filter:blur(16px)}.project-modal__panel{background:#131416;border:1px solid #eeeede40;border-radius:0;padding:48px;width:min(1100px,94vw);box-shadow:0 35px 100px #0008;border-top:3px solid var(--accent)}.project-modal__header{padding-bottom:30px;border-bottom:1px solid var(--line);margin-bottom:30px}.project-modal__header .tag{color:var(--accent);font:500 10px 'Space Grotesk',sans-serif;letter-spacing:2px;text-transform:uppercase}.project-modal__header h3{font:500 clamp(40px,5vw,70px)/1 'Space Grotesk',sans-serif;letter-spacing:-.065em;margin:25px 0}.project-modal__description{color:#b0b0a6;line-height:1.85;margin:0;max-width:780px}.project-modal__close{border:1px solid #effa7566;border-radius:0;background:#1d2018;color:var(--accent);padding:13px 18px;font:500 10px 'Space Grotesk',sans-serif;letter-spacing:1.5px;text-transform:uppercase;transition:background .2s,color .2s}.project-modal__close:hover,.project-modal__close:focus-visible{background:var(--accent);color:#171a0e}.project-modal__shots{gap:24px}.shot-card{border:1px solid var(--line);padding:12px;background:#191b1b;transition:border-color .2s,transform .2s}.shot-card:hover,.shot-card:focus-visible{border-color:var(--accent);transform:translateY(-4px)}.shot-slot{background:#101113;height:350px}.shot-overlay{display:flex;justify-content:space-between;gap:12px;color:#c7c8bd;font-size:11px;line-height:1.6;padding-top:14px;margin-top:12px;border-top:1px solid var(--line)}.shot-overlay:after{content:'↗';color:var(--accent);font-size:19px;flex-shrink:0}.image-gallery__icon{border-radius:0;width:48px;height:48px;background:#1d2018;color:var(--accent);border-color:#effa7566;transition:background .2s,color .2s}.image-gallery__icon:hover,.image-gallery__icon:focus-visible{background:var(--accent);color:#171a0e}.image-gallery__count{color:var(--accent);font:500 10px 'Space Grotesk',sans-serif;letter-spacing:2px}
@media(max-width:700px){.project-modal__panel{padding:25px 20px;max-height:92dvh}.project-modal__close{padding:10px 13px}.project-modal__header h3{font-size:44px;clear:both;padding-top:15px}.project-modal__shots{gap:20px}.shot-slot{height:400px}.image-gallery__icon{width:40px;height:40px;top:auto;bottom:45px}}



/* A bounded image area keeps the entire photo and controls inside the viewport. */
.image-gallery__panel{position:relative;width:100%;height:100dvh;min-height:0;padding:24px 5vw;display:block;overflow:hidden}
.image-gallery__stage{width:100%;height:100%;min-height:0;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;grid-template-rows:48px minmax(0,1fr) auto;gap:16px;position:relative}
.image-gallery__media{grid-column:2;grid-row:2;position:relative;min-width:0;min-height:0}
.image-gallery__image{position:absolute;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 20px 25px #0008)}
.image-gallery__stage>.image-gallery__icon{position:static;align-self:center;justify-self:center;z-index:2}
.image-gallery__icon--close{grid-column:3;grid-row:1}.image-gallery__icon--prev{grid-column:1;grid-row:2}.image-gallery__icon--next{grid-column:3;grid-row:2}
.image-gallery__meta{position:static;grid-column:1/-1;grid-row:3;max-width:none;min-width:0;padding:16px 10px 0;text-align:center;border-top:1px solid var(--line);color:var(--ink)}
.image-gallery__caption{font-size:12px;line-height:1.6;margin-top:8px;overflow-wrap:anywhere}
@media(max-width:700px){.image-gallery__panel{padding:12px}.image-gallery__stage{grid-template-columns:40px minmax(0,1fr) 40px;grid-template-rows:40px minmax(0,1fr) auto;gap:10px}.image-gallery__media{grid-column:1/-1}.image-gallery__stage>.image-gallery__icon--prev,.image-gallery__stage>.image-gallery__icon--next{align-self:end;margin-bottom:8px}.image-gallery__caption{font-size:11px}.image-gallery__meta{padding-top:12px}}

.hero-game-hud{position:absolute;top:8%;left:8%;z-index:6;font:500 9px 'Space Grotesk',sans-serif;letter-spacing:1.6px;color:var(--accent);pointer-events:none;border-left:2px solid var(--accent);padding:8px 12px;background:#13141699}.model-button{cursor:crosshair}.hero-game-hud~span{pointer-events:none}@media(max-width:700px){.hero-game-hud{top:3%;font-size:8px;left:5%}.model-hint small{font-size:8px;letter-spacing:1px}}
.model-button{touch-action:none}.hero-game-hud{max-width:90%;line-height:1.6}



.model-button .model-hint{transition:color .35s,transform .35s,opacity 1.8s}.model-button.is-flowing .model-hint{opacity:.45}.model-button.is-flowing:hover .model-hint{opacity:.8}.hero-game-hud{background:transparent;border:0;padding:0;transition:opacity 1.8s;font-size:8px;letter-spacing:2px;color:#eeeede88}.model-button.is-flowing{cursor:crosshair}

.hero-game-score{position:absolute;right:7%;top:9%;z-index:5;font:500 clamp(65px,9vw,125px)/1 'Space Grotesk',sans-serif;letter-spacing:-.075em;color:var(--accent);pointer-events:none;opacity:0;transition:opacity 1.5s;text-shadow:0 3px 20px #13141655}.model-button.is-flowing .hero-game-score{opacity:.8}.hero-game-score.score-added{animation:score-rise .6s ease-out}@keyframes score-rise{0%{transform:translateY(12px) scale(.88)}40%{transform:translateY(-5px) scale(1.08)}100%{transform:none}}@media(prefers-reduced-motion:reduce){.hero-game-score.score-added{animation:none}}



.hero-game-accuracy{position:absolute;left:8%;top:14%;z-index:7;font:500 30px 'Space Grotesk',sans-serif;letter-spacing:-1px;color:var(--accent);pointer-events:none;white-space:nowrap;opacity:0}.hero-game-accuracy.accuracy-entered{animation:accuracy-float var(--accuracy-duration,1.6s) ease-out forwards}@keyframes accuracy-float{0%{opacity:0;transform:translateY(10px)}15%,40%{opacity:1}100%{opacity:0;transform:translateY(-28px)}}@media(prefers-reduced-motion:reduce){.hero-game-accuracy.accuracy-entered{animation:accuracy-fade var(--accuracy-duration,1.6s) forwards!important}@keyframes accuracy-fade{0%,40%{opacity:1}100%{opacity:0}}}

.hero-game-score{left:8%;right:auto;top:9%}.hero-game-hud{top:auto;bottom:3%;left:8%}.hero-game-accuracy{left:auto;top:auto;margin-left:-25px;width:50px;text-align:center;font-size:24px}

.contact-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.contact-links a{border:1px solid #171a0e66;padding:14px 20px;font:500 11px 'Space Grotesk',sans-serif;letter-spacing:1px;text-transform:uppercase;transition:background .2s,color .2s}.contact-links a:hover{background:#171a0e;color:var(--accent)}
/* Consistent project logo footprint across all seven projects. */
.work-card .project-art img{width:110px;height:110px;object-fit:contain;transform-origin:center}
@media(max-width:700px){.work-card .project-art img{width:80px;height:80px}}

.hero-loader{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:transparent;font:500 13px 'Space Grotesk',sans-serif;letter-spacing:3px;color:var(--accent);transition:opacity .6s;pointer-events:none}.hero-loader.is-ready{opacity:0;visibility:hidden;transition:opacity .6s,visibility 0s .6s}.model-button:disabled{cursor:wait}.model-button:disabled .model-hint{opacity:0}

.popup-image-frame{position:relative}.popup-image-frame .shot-slot{display:block}.popup-image-spinner{display:none;position:absolute;left:50%;top:50%;width:32px;height:32px;margin:-16px 0 0 -16px;border:2px solid #effa7526;border-top-color:var(--accent);border-right-color:var(--accent);border-radius:50%;animation:popup-image-spin .8s linear infinite;pointer-events:none;z-index:1}.is-image-loading>.popup-image-spinner{display:block}.is-image-loading>img{opacity:0}@keyframes popup-image-spin{to{transform:rotate(360deg)}}

.hero-loader>.popup-image-spinner{display:block}.hero-loader.has-error>.popup-image-spinner{display:none}

.project-action .action-arrow{width:16px;height:16px;flex-shrink:0;margin-left:7px}
