:root{--bg:#091113;--panel:#101a1e;--ink:#e8eef0;--muted:#a1afb5;--teal:#9cbdb8;--amber:#d4a664;--line:#293a40;--font:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.12}p{color:var(--muted)}a:focus-visible,button:focus-visible{outline:2px solid var(--teal);outline-offset:5px}button{color:inherit}.skip{position:fixed;left:20px;top:-100px;z-index:100;background:var(--ink);color:var(--bg);padding:12px}.skip:focus{top:12px}.wrap{max-width:1536px;padding:0 4.5%;margin:0 auto}.role-line{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:22px;padding-bottom:22px;font-size:14px;letter-spacing:.12em;text-transform:none;color:var(--muted)}.role-line strong{font-weight:400;color:var(--teal)}.hero{position:relative;height:min(42vw,640px);min-height:420px;overflow:hidden;background:#102026}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#050b10eb 0,transparent 57%)}.hero-caption{position:absolute;z-index:1;bottom:42px;left:4.4%;right:4.4%;display:flex;justify-content:space-between;align-items:flex-end;gap:28px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.16em;color:var(--teal);display:block}.hero-caption .eyebrow{color:#d6e2e8;margin-bottom:13px}.hero-caption h1{font-size:clamp(34px,3.7vw,57px);font-weight:600;letter-spacing:-.05em}.hero-caption p{margin-top:13px;font-size:14px;color:#c5d1d8}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;border:1px solid #657f8a;background:#0c171fb3;color:var(--ink);padding:12px 18px;min-height:48px;font-size:16px;font-weight:500;white-space:nowrap}.button:hover{border-color:var(--teal);background:#16323e}.button-light{background:var(--ink);color:#102027;border-color:var(--ink)}.button-light:hover{background:var(--teal);color:#102027}.section{padding-top:62px;padding-bottom:60px}.section+.section{border-top:1px solid var(--line)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:27px}.section-heading h2{font-size:34px;letter-spacing:-.035em;font-weight:600}.section-heading .eyebrow{font-size:12px;margin-bottom:10px}.section-heading .link{padding-bottom:2px}.link{display:inline-flex;align-items:center;gap:26px;font-size:16px;font-weight:500;color:var(--ink)}.link:hover{color:var(--teal)}.link span{font-size:19px;line-height:1}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.cards.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.work-card{min-width:0;display:block}.card-media{position:relative;overflow:hidden;aspect-ratio:16/9;background:#111e24}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.work-card:hover .card-media img{transform:scale(1.03)}.card-media .card-arrow{position:absolute;bottom:13px;right:14px;border:1px solid #d5e4ed7a;background:#06111a70;width:30px;height:30px;display:grid;place-items:center;opacity:0;transition:opacity .2s}.work-card:hover .card-arrow,.work-card:focus-visible .card-arrow{opacity:1}.image-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:25px;border:1px solid var(--line);background:#112029;color:#b0c5cf;font-size:20px;text-align:center}.game-feature{display:grid;grid-template-columns:1.3fr .7fr;gap:50px;align-items:center}.game-cover{aspect-ratio:16/9;overflow:hidden;background:#11212a}.game-cover img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.game-cover:hover img{transform:scale(1.02)}.game-copy .eyebrow{margin-bottom:18px}.game-copy h3{font-size:clamp(26px,3.1vw,43px);letter-spacing:-.045em;line-height:1.1;font-weight:500}.game-copy p{margin:21px 0 25px;font-size:14px;max-width:340px}.game-copy .link{border-bottom:1px solid #5d7885;padding-bottom:6px}.journal-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:26px;padding-bottom:26px;font-size:14px;color:var(--muted)}.journal-row .link{font-size:16px}.site-footer{max-width:1536px;margin:0 auto;padding:47px 4.5% 25px;border-top:1px solid var(--line)}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-bottom:45px}.footer-name{font-size:15px;letter-spacing:-.01em}.footer-name span{font-weight:300;color:var(--teal);padding:0 8px}.footer-top p{font-size:14px;margin-top:9px}.footer-contact{font-size:24px;font-weight:500;letter-spacing:-.04em;display:flex;align-items:center;gap:35px}.footer-contact:hover{color:var(--teal)}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;flex-wrap:wrap;gap:28px;align-items:center;justify-content:space-between;font-size:14px;color:var(--muted)}.footer-bottom>div{display:flex;gap:24px}.prototype-label{font-size:12px;letter-spacing:.06em}.page-header{padding-top:44px;padding-bottom:40px}.back-link{display:inline-flex;align-items:center;min-height:44px;padding:9px 16px;border:1px solid var(--line);gap:16px;color:var(--muted);font-size:16px;font-weight:500;margin-bottom:37px}.back-link:hover{color:var(--ink)}.page-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.page-header h1{font-size:clamp(40px,5vw,68px);letter-spacing:-.055em;font-weight:500}.page-header .eyebrow{margin-bottom:15px}.page-header p{max-width:640px;margin-top:20px;font-size:16px}.entry-count{font-size:14px;color:var(--muted);white-space:nowrap;padding-bottom:7px}.archive{padding-bottom:80px}.archive .cards{row-gap:40px}.credit-list{border-top:1px solid var(--line);margin-top:42px}.credit-list a{display:grid;grid-template-columns:1fr 1fr 80px 25px;gap:25px;align-items:center;padding:23px 0;border-bottom:1px solid var(--line)}.credit-list h3{font-size:15px;font-weight:400}.credit-list p,.credit-list .year{font-size:14px}.credit-list .year{text-align:right;color:var(--muted)}.credit-list .row-arrow{text-align:right;color:var(--teal)}.credit-list a:hover h3{color:var(--teal)}.case-visual{width:100%;max-height:720px;aspect-ratio:16/9;object-fit:cover;background:#112129}.case-meta{padding:30px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;border-bottom:1px solid var(--line)}.case-meta dt{font-size:12px;letter-spacing:.14em;color:var(--teal);text-transform:uppercase;margin-bottom:9px}.case-meta dd{font-size:14px;margin:0}.case-body{padding:45px 0 65px;display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start}.case-body h2{font-size:26px;font-weight:500;letter-spacing:-.03em}.case-body p{font-size:16px;max-width:630px;margin-bottom:22px}.case-source-note{font-size:14px!important;color:#7e949e;line-height:1.6}.related{border-top:1px solid var(--line);padding-top:36px;margin-bottom:65px}.related h2{font-size:23px;font-weight:500;margin-bottom:25px}.game-detail-cover{width:100%;aspect-ratio:16/9;object-fit:cover}.body-split{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:46px 0 60px}.body-split h2{font-size:30px;letter-spacing:-.035em;font-weight:500;max-width:460px}.body-split p{font-size:16px;margin:0 0 22px;max-width:610px}.availability{border-top:1px solid var(--line);padding-top:20px;margin-top:28px;font-size:14px;color:var(--muted)}.availability strong{display:block;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--teal);margin-bottom:9px;font-weight:400}.screenshot-button{border:0;padding:0;background:none;width:100%;display:block;text-align:left}.screenshot-button img{width:100%;max-height:600px;object-fit:cover;border:1px solid var(--line)}.screenshot-button span{display:flex;justify-content:space-between;padding-top:12px;font-size:14px;color:var(--muted)}.game-screens{margin-bottom:65px}.game-screens h2{font-size:25px;font-weight:500;margin-bottom:23px}.project-archive .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.simple-content{padding-top:20px;padding-bottom:100px;max-width:900px}.simple-content h2{font-size:28px;font-weight:500;letter-spacing:-.03em;margin-bottom:20px}.simple-content p{font-size:16px;line-height:1.85;margin-bottom:22px}.simple-content .button{margin-top:12px}.about-points{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:42px 0;border-top:1px solid var(--line);padding-top:27px}.about-points strong{display:block;font-weight:500;font-size:22px;letter-spacing:-.03em}.about-points span{display:block;font-size:14px;color:var(--muted);margin-top:9px}.about-links{display:flex;gap:30px;margin-top:36px}.notice{border-left:2px solid var(--teal);padding:16px 22px;background:var(--panel);font-size:14px;color:var(--muted)}.empty-state{border-top:1px solid var(--line);padding:50px 0 90px}.empty-state h2{font-weight:500;font-size:30px;letter-spacing:-.03em;margin-bottom:20px}.empty-state p{max-width:600px;margin-bottom:25px}.mt30{margin-top:30px}dialog{padding:20px;background:#0b171e;color:var(--ink);border:1px solid #496573;width:min(1200px,95vw);max-height:94vh}dialog::backdrop{background:#000d}.dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:20px}.dialog-bar h2{font-size:16px;font-weight:400}.dialog-close{border:1px solid var(--line);background:transparent;color:var(--ink);padding:6px 12px;font-size:11px;white-space:nowrap}dialog img{max-height:77vh;width:100%;object-fit:contain}.no-data{padding:60px 0 100px}.no-data p{margin-top:20px}

@media(max-width:1150px){.hero{height:48vw}.game-feature{gap:35px}.cards{gap:21px}.footer-contact{font-size:21px}}
@media(max-width:760px){.wrap{padding-left:5%;padding-right:5%}.role-line{padding-top:17px;padding-bottom:17px;font-size:14px;letter-spacing:.07em}.role-line span:last-child{display:none}.hero{height:63vw;min-height:350px}.hero-caption{bottom:26px;left:6%;right:6%;gap:16px}.hero-caption h1{font-size:35px}.hero-caption .eyebrow{font-size:12px;margin-bottom:10px}.hero-caption p{font-size:14px;max-width:210px}.hero-caption .button{gap:16px;padding:9px 12px;font-size:16px;min-height:48px}.section{padding-top:40px;padding-bottom:40px}.section-heading{margin-bottom:22px;flex-wrap:wrap;gap:16px}.section-heading h2{font-size:28px}.section-heading .eyebrow{font-size:12px;margin-bottom:9px}.link{font-size:16px;gap:13px}.cards,.cards.two{grid-template-columns:1fr;gap:29px}.card-media .card-arrow{opacity:1}.game-feature{grid-template-columns:1fr;gap:24px}.game-copy h3{font-size:31px}.game-copy .eyebrow{font-size:12px;margin-bottom:13px}.game-copy p{margin:16px 0 20px;font-size:14px;max-width:480px}.journal-row{font-size:14px;gap:25px;align-items:start;padding-top:22px;padding-bottom:22px}.journal-row .link{font-size:16px}.site-footer{padding:33px 5% 22px}.footer-top{align-items:start;flex-direction:column;gap:24px;margin-bottom:32px}.footer-name{font-size:13px}.footer-contact{font-size:22px}.footer-bottom{align-items:start;flex-direction:column;gap:19px;font-size:14px}.footer-bottom>div{gap:23px;flex-wrap:wrap}.page-header{padding-top:30px;padding-bottom:30px}.back-link{margin-bottom:25px}.page-header h1{font-size:44px}.page-header p{font-size:16px;margin-top:17px}.page-title-row{gap:18px;align-items:start}.entry-count{padding-top:10px;font-size:14px}.archive{padding-bottom:50px}.credit-list{margin-top:30px}.credit-list a{grid-template-columns:1fr 45px 15px;gap:10px;padding:18px 0}.credit-list h3{font-size:14px}.credit-list p{grid-column:1;grid-row:2;font-size:14px}.credit-list .year{grid-column:2;grid-row:1;font-size:14px}.credit-list .row-arrow{grid-column:3;grid-row:1}.case-meta{grid-template-columns:1fr 1fr;gap:23px;padding:25px 0}.case-meta dd{font-size:14px}.case-body,.body-split{grid-template-columns:1fr;gap:23px;padding:32px 0 40px}.case-body h2{font-size:25px}.body-split h2{font-size:28px}.case-body p,.body-split p{font-size:16px}.related{margin-bottom:45px}.game-screens{margin-bottom:40px}.project-archive .cards{grid-template-columns:1fr}.simple-content{padding-bottom:60px;padding-top:10px}.simple-content p{font-size:14px}.about-points{grid-template-columns:1fr;gap:22px;margin:32px 0}.about-points strong{font-size:21px}.about-points span{margin-top:5px}.about-links{gap:21px;flex-wrap:wrap}.empty-state{padding:30px 0 65px}.empty-state h2{font-size:26px}.empty-state p{font-size:16px}.dialog-bar h2{font-size:13px}dialog{padding:14px}.no-data{padding:40px 0 70px}}
@media(max-width:390px){.hero-caption{align-items:start;flex-direction:column}.hero-caption h1{font-size:31px}.hero-caption p{max-width:none}.hero{min-height:390px}.footer-name{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* V3: browse media horizontally; archive every credit as a dated card. */
.work-rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/2.85);gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#456775 #091113;padding-bottom:18px;cursor:grab}.work-rail>.work-card{scroll-snap-align:start}.work-rail img{-webkit-user-drag:none;user-select:none}.work-rail.dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}.work-rail.dragging a{cursor:grabbing}.archive-year+.archive-year{margin-top:48px}.year-heading{display:flex;align-items:center;justify-content:space-between;padding-top:23px;border-top:1px solid var(--line);margin-bottom:24px}.year-heading h2{font-size:30px;font-weight:500;letter-spacing:-.04em}.year-heading span{font-size:14px;color:var(--muted)}.archive-year .cards{row-gap:34px}.image-fallback{background:linear-gradient(135deg,#18313d,#0d1b24);position:relative;isolation:isolate;font-weight:500;letter-spacing:-.025em;line-height:1.25}.image-fallback:before{content:'';position:absolute;inset:12px;border:1px solid #4d718333;z-index:-1}.blog-page{padding-bottom:75px}.blog-articles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.blog-articles article{padding:26px 0;border-top:1px solid var(--line)}.blog-articles h2{font-size:27px;font-weight:500;letter-spacing:-.03em;margin:18px 0}.blog-articles p{font-size:16px;max-width:560px}.blog-substack{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--line);padding:35px 0}.blog-substack h2{font-size:31px;letter-spacing:-.035em;font-weight:500;margin:14px 0}.blog-substack p{font-size:14px}.blog-links{display:flex;align-items:center;gap:25px}.awards-page{padding-bottom:80px}.awards-context{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px 35px;border:1px solid var(--line);padding:29px;margin-bottom:39px;background:var(--panel)}.awards-context h2{font-size:27px;font-weight:500;letter-spacing:-.035em}.awards-context p{font-size:14px;grid-column:1}.awards-context .link{grid-column:2;grid-row:1/3}.award-row{display:grid;grid-template-columns:85px 1fr 220px;gap:30px;border-top:1px solid var(--line);padding:28px 0}.award-row:last-child{border-bottom:1px solid var(--line)}.award-year{color:var(--muted);font-size:14px}.award-name h2{font-size:21px;font-weight:500;letter-spacing:-.025em}.award-name p{font-size:14px;margin-top:9px}.award-name small{display:block;font-size:12px;color:var(--muted);margin-top:7px}.award-result{color:var(--amber);font-size:14px;display:flex;justify-content:space-between;gap:18px}.award-result a{color:var(--teal);font-size:20px}.game-route .site-footer{display:none}
@media(max-width:1150px){.work-rail{grid-auto-columns:calc((100% - 24px)/2.25)}}

@media(max-width:760px){.work-rail{grid-auto-columns:84%;gap:18px;padding-bottom:15px}.archive-year+.archive-year{margin-top:36px}.year-heading{padding-top:20px;margin-bottom:22px}.year-heading h2{font-size:27px}.blog-articles{grid-template-columns:1fr;gap:15px}.blog-page{padding-bottom:40px}.blog-substack{align-items:start;flex-direction:column;gap:24px}.blog-links{flex-wrap:wrap;gap:23px}.awards-context{grid-template-columns:1fr;padding:22px;gap:16px}.awards-context h2{font-size:24px}.awards-context .link{grid-column:1;grid-row:auto}.award-row{grid-template-columns:46px 1fr;gap:12px 20px;padding:25px 0}.award-name h2{font-size:19px}.award-result{grid-column:2;font-size:14px;justify-content:start;align-items:center}.award-year{font-size:14px}.award-name p{font-size:14px}.awards-page{padding-bottom:50px}.archive-year .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 15px}.archive-year .image-fallback{font-size:14px;padding:18px}.archive-year .image-fallback:before{inset:7px}}
@media(max-width:390px){.section-heading h2{font-size:28px}.work-rail{grid-auto-columns:89%}}
.blog-article-image{display:block;aspect-ratio:16/9;overflow:hidden;margin-bottom:23px;background:var(--panel)}.blog-article-image img{width:100%;height:100%;object-fit:cover}

/* Header: one shared optical scale, based on the supplied image bounds. */
.site-header{--brand-width:360px;--optical-height:calc(var(--brand-width) * .1283);--emblem-size:calc(var(--optical-height) / .478);--header-height:104px;height:var(--header-height);position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 4.5%;background:#000;border-bottom:1px solid var(--line)}
.identity{display:flex;align-items:center;gap:9px;flex:0 0 auto;min-width:0;margin-right:auto}
.brand{display:block;flex:0 0 var(--brand-width);width:var(--brand-width)}
.brand img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.home-emblem{position:relative;display:block;flex:0 0 auto;width:calc(var(--emblem-size) * .84);height:calc(var(--optical-height) + 8px);overflow:hidden;background:#000}
.home-emblem img{position:absolute;left:50%;top:calc(4px - var(--emblem-size) * .2461);width:var(--emblem-size);height:var(--emblem-size);max-width:none;transform:translateX(-50%);object-fit:contain;mask-image:radial-gradient(ellipse 48% 43% at 50% 53%,#000 80%,transparent 100%)}
.header-menu{position:relative;flex:0 0 auto}
.menu-toggle{display:flex;align-items:center;justify-content:flex-end;min-width:64px;min-height:48px;padding:10px 0;border:0;background:none;color:var(--ink);font-size:16px;font-weight:600;letter-spacing:.08em;cursor:pointer}
.menu-toggle[aria-expanded=true]{color:var(--teal)}
.site-header nav{display:none;position:absolute;right:0;top:calc(100% + 12px);width:248px;max-width:calc(100vw - 32px);margin:0;padding:12px 0;border:1px solid var(--line);border-radius:8px;background:#0d1a22;box-shadow:0 16px 40px #0008;flex-direction:column;max-height:calc(100dvh - var(--header-height) - 24px);overflow-y:auto}
.site-header nav.open{display:flex}
.site-header nav a{position:relative;display:flex;align-items:center;justify-content:flex-end;min-height:44px;padding:10px 20px;color:var(--muted);font-size:18px;font-weight:500;white-space:nowrap;text-align:right}
.site-header nav a:hover,.site-header nav a:focus-visible,.site-header nav a[aria-current=page]{color:var(--ink);background:#ffffff0a}
.site-header nav a[aria-current=page]:after{content:'';position:absolute;right:0;top:12px;bottom:12px;width:2px;background:var(--teal)}
.header-contact{display:flex;align-items:center;gap:22px;flex:0 0 auto;min-height:48px;padding:0 14px;border:1px solid #4c626c;font-size:16px;font-weight:500;white-space:nowrap}
.header-contact:hover{border-color:var(--teal)}
.card-media.image-contain{background:#091116}
.card-media.image-contain img,.case-visual.image-contain{object-fit:contain;background:#091116}
.work-card:hover .card-media.image-contain img{transform:none}
@media(min-width:1700px){.site-header{padding-left:max(4.5%,calc((100vw - 1398px)/2));padding-right:max(4.5%,calc((100vw - 1398px)/2))}}
@media(max-width:1279px){.header-contact{display:none}}
@media(max-width:600px){.site-header{--brand-width:clamp(145px,calc((100vw - 124px) / 1.226),330px);--header-height:84px;padding:0 16px;gap:12px}.identity{gap:8px}}
/* About: supplied portrait and credited biography, without promotional stat blocks. */
.about-editorial{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(38px,5.5vw,86px);align-items:start;padding-bottom:85px}



/* Media cards: one title on the image, concise factual metadata underneath. */
.card-title-overlay{position:absolute;left:0;right:0;bottom:0;padding:50px 20px 18px;background:linear-gradient(0deg,rgba(3,9,14,.96),rgba(3,9,14,.63) 55%,transparent);pointer-events:none}
.card-title-overlay h3{position:relative;margin:0;color:#f1f5f7;font-size:18px;font-weight:500;line-height:1.24;letter-spacing:-.02em;overflow-wrap:break-word}
.card-media .card-arrow{top:12px;bottom:auto;right:12px;z-index:1}
.card-copy{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px 0 2px}
.card-copy p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.card-copy .year{flex:0 0 auto;font-size:14px;color:var(--muted);line-height:1.6}
.project-card{display:block;min-width:0;background:none;border:0;padding:0}
.project-copy{padding-top:13px}
.project-category{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.project-description{font-size:14px;line-height:1.75;margin-top:12px;max-width:520px;color:var(--muted)}
.project-card:hover .card-media img{transform:none}
.card-placeholder:before{inset:14px;border-color:#4d718333}
@media(max-width:760px){.card-title-overlay{padding:40px 16px 15px}.card-title-overlay h3{font-size:20px}.card-copy{gap:12px;padding-top:11px}.card-copy p,.card-copy .year{font-size:14px}.project-category{font-size:12px}.archive-year .card-title-overlay{padding:34px 11px 10px}.archive-year .card-title-overlay h3{font-size:16px;line-height:1.23;letter-spacing:-.015em}.archive-year .card-copy{gap:8px;padding-top:9px}.archive-year .card-copy p,.archive-year .card-copy .year{font-size:13px}.archive-year .card-media .card-arrow{top:7px;right:7px;width:23px;height:23px;font-size:12px}.archive-year .card-media{aspect-ratio:4/3}}
@media(max-width:390px){.archive-year .card-title-overlay h3{font-size:16px}.archive-year .card-title-overlay{padding-left:9px;padding-right:9px}.archive-year .card-copy{gap:6px}.archive-year .card-copy p,.archive-year .card-copy .year{font-size:13px}}

/* Biography uses a modest portrait beside comfortable editorial text. */
.about-editorial{display:grid;grid-template-columns:280px minmax(0,1fr);gap:clamp(36px,5.5vw,80px);align-items:start;padding-bottom:85px}
.about-portrait{margin:0;width:100%;max-width:280px}
.about-portrait>img{display:block;width:100%;height:auto;aspect-ratio:1287/1925;object-fit:contain;object-position:top left;background:var(--panel)}

.about-profile-links{display:flex;gap:25px;padding-top:22px}
.about-biography{max-width:770px;padding-top:3px}
.about-biography>.eyebrow{margin-bottom:22px}
.about-biography>p{font-size:18px;line-height:1.7;color:#bdcbd1;margin-bottom:24px}
.about-biography>p:first-of-type{color:var(--ink)}
.about-biography>p a{color:var(--ink);text-decoration:underline;text-decoration-color:#55727e;text-underline-offset:4px}
.about-biography>p a:hover{color:var(--teal)}
.about-biography-actions{display:flex;align-items:center;gap:29px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:31px;padding-top:26px}
@media(max-width:900px){.about-editorial{grid-template-columns:230px minmax(0,1fr);gap:32px}.about-biography-actions{gap:22px}}
@media(max-width:680px){.about-editorial{grid-template-columns:1fr;gap:33px;padding-bottom:55px}.about-portrait{max-width:250px}.about-biography{max-width:none}.about-profile-links{padding-top:20px}.about-biography-actions{margin-top:25px;padding-top:24px}}
.site-header nav .nav-contact{display:none}@media(max-width:1279px){.site-header nav .nav-contact{display:block}}

/* Catalog game cards use the same title placement as other work. */
.game-catalog{display:grid;grid-template-columns:1fr;gap:30px}.game-card .card-copy{align-items:center;flex-wrap:wrap}.game-card .card-media{aspect-ratio:16/9}

/* Quiet legal navigation; review status lives on the document pages. */
.game-document-heading h1{overflow-wrap:anywhere;min-width:0}
.game-document-nav{display:flex;gap:12px 24px;flex-wrap:wrap;padding-bottom:24px;border-bottom:1px solid var(--line)}.game-document-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}.game-document-nav [aria-current]{color:var(--teal)}.legal-copy h3{font-size:22px;line-height:1.4;margin:32px 0 14px}.legal-copy .legal-references{font-size:14px;line-height:1.7}.legal-references dt{font-weight:600;margin-top:12px}.legal-references dd{margin:0;overflow-wrap:anywhere}.legal-license{font:13px/1.65 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--panel);padding:20px}
.footer-bottom>div{flex-wrap:wrap}.footer-bottom a,.game-landing .gl-legal a{display:inline-flex;align-items:center;min-height:32px}.legal-copy h2{margin:32px 0 15px;font-size:24px}.legal-copy a,.contact-privacy a{text-decoration:underline;text-underline-offset:3px}.legal-copy .legal-draft{padding:18px 20px;background:var(--panel);border-left:2px solid var(--teal);font-size:13px}.contact-privacy{font-size:12px;margin-top:18px}.game-landing .gl-legal{display:flex;justify-content:center;flex-wrap:wrap;gap:24px;padding:20px;background:var(--gl-panel);font-size:12px;color:var(--gl-muted)}.game-landing .gl-legal a:hover{color:var(--gl-ink)}

/* Quick video contract */
.portfolio-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:88px;height:56px;border-radius:10px;background:rgba(0,0,0,0.6);color:#fff;border:0;display:grid;place-items:center;z-index:2;transition:background 0.2s,color 0.2s}
@media(max-width:760px){.portfolio-play{width:76px;height:48px}}
.portfolio-play:hover,.portfolio-play:focus-visible{background:rgba(255,255,255,0.2)}
.playable-card{position:relative}
.card-details{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:12px 0 2px}
.card-details .card-copy{padding:0}
.details-link{font-size:16px;color:var(--teal);white-space:nowrap;display:inline-flex;align-items:center;min-height:48px}

/* Intro section */
.intro-section{padding-top:40px;padding-bottom:20px;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:40px}
.intro-heading h2{font-size:42px;font-weight:500;letter-spacing:-0.04em;max-width:400px;margin:0}
.intro-heading-second{display:inline-block;margin-left:.9em}
.intro-body p{font-size:22px;line-height:1.5;color:var(--ink);margin:0;text-align:right}
.reel-section{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-block:32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.reel-section h2{font-size:28px;margin:0 0 8px}.reel-section p{margin:0;color:var(--muted);font-size:17px}.reel-section .button{flex-shrink:0}
@media(max-width:600px){.reel-section{align-items:flex-start;flex-direction:column;gap:20px}}
.play-reel-btn{display:inline-flex;align-items:center;gap:12px;font-size:16px;min-height:48px;font-weight:500}
.play-reel-btn svg{width:20px;height:20px;flex-shrink:0}

@media(max-width:760px){
  .intro-section{grid-template-columns:1fr;gap:24px}
  .intro-heading h2{font-size:32px}
  .intro-body p{font-size:18px}
}

/* Projects intro */
.projects-intro{margin-bottom:40px}
.projects-intro h3{font-size:24px;font-weight:500;margin-bottom:12px}
.projects-intro p{font-size:16px;max-width:600px;color:var(--muted)}

/* Games brand */
.games-route-header{padding-top:44px}
.games-brand-container{text-align:center;margin:20px auto 40px}
.games-brand-logo{width:100%;max-width:none;height:auto;object-fit:contain;margin:0 auto;display:block}
.games-h1{text-align:center;font-size:48px;margin-bottom:40px}


/* Archive overrides */
.archive-button{padding:12px 20px;min-height:48px;font-size:16px;font-weight:500;flex-shrink:0}
.card-note{font-size:15px;color:var(--muted);margin-top:8px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:520px){
  .archive-year .cards{grid-template-columns:1fr}
}

.hero+.work-rail{margin-top:24px}.commercial-heading{margin-top:48px}
