:root{color-scheme:dark;--color-bg: #2f3138;--color-header: #2f3035;--color-footer: #2f3035;--color-band-red: #ab0f14;--color-band-dark: #303136;--color-surface: #35363c;--color-surface-deep: #0e0d10;--color-text: #fff4ec;--color-text-strong: #fff9f6;--color-text-muted: #e6dcd8;--color-text-soft: #b995a9;--color-text-dark: #2c2c2c;--color-accent: #b60f1c;--color-accent-gold: #ffc857;--color-button-secondary: #dbd2c9;--color-border: rgba(255, 209, 182, .12);--color-border-soft: rgba(255, 255, 255, .05);--color-border-warm: rgba(255, 245, 243, .22);--color-fill-soft: rgba(255, 255, 255, .04);--color-fill-input: rgba(58, 7, 10, .2);--color-border-input: rgba(255, 235, 230, .18);--color-text-placeholder: rgba(255, 232, 226, .75);--color-outline-portrait: rgba(202, 184, 178, .9);--shadow-color-soft: rgba(0, 0, 0, .2);--shadow-color-card: rgba(0, 0, 0, .28);--shadow-color-portrait: rgba(20, 20, 20, .2)}:root{--text: var(--color-text);--text-muted: var(--color-text-muted);--text-soft: var(--color-text-soft);--border: var(--color-border);--accent: var(--color-accent);--accent-gold: var(--color-accent-gold);--content-width: 1560px;--font-sans: "Averia Sans Libre", "Trebuchet MS", "Segoe UI", sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--color-bg);color:var(--text);font-family:var(--font-sans)}body:before{content:none}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,a,input,textarea,select{font:inherit}h1,h2,h3,p{margin-top:0}h1{margin-bottom:1rem;font-size:clamp(3rem,7vw,6rem);line-height:.98;letter-spacing:-.05em}h2{margin-bottom:.75rem;font-size:clamp(1.8rem,4vw,3rem);line-height:1.05;letter-spacing:-.04em}h3{margin-bottom:.65rem;font-size:clamp(1.2rem,2.2vw,1.7rem);line-height:1.12}p,li,dt,dd,span{line-height:1.6}ul{margin:0;padding-left:1.1rem;color:var(--text-muted)}.skip-link{position:absolute;left:1rem;top:-3rem;z-index:10;padding:.75rem 1rem;background:var(--accent);color:#fff}.skip-link:focus{top:1rem}.eyebrow{margin:0 0 1rem;color:var(--accent-gold);font-size:.8rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.button,.header-cta{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.9rem;padding:.85rem 1.15rem;border-radius:999px;border:1px solid transparent;line-height:1.1;text-align:center;white-space:nowrap;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}.header-cta,.button-primary{background:var(--color-accent);color:var(--color-text);font-weight:700}.button-secondary{background:var(--color-accent);border-color:var(--border);color:var(--text)}.button-disabled{border-color:var(--color-border-soft);background:var(--color-fill-soft);color:var(--text-soft);cursor:not-allowed}.header-cta:hover,.button:hover{transform:translateY(-2px)}.link-row{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1rem}.text-link,.back-link{color:var(--color-footer)}.text-link-light{color:var(--color-text-strong);font-weight:700}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.site-shell{min-height:100vh;padding:0 1.25rem}.site-header{position:sticky;top:0;z-index:10;margin:0 calc(50% - 50vw) 2rem;background:var(--color-header);box-shadow:0 16px 34px var(--shadow-color-soft)}.site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(var(--content-width),calc(100vw - 2.5rem));margin:0 auto;padding:.85rem 0}.brand-mark{display:inline-flex;align-items:center;gap:.7rem;min-width:0;white-space:nowrap}.brand-logo{display:block;width:3rem;height:3rem;object-fit:contain;transition:transform .18s ease,filter .18s ease}.brand-mark:hover .brand-logo,.brand-mark:focus-visible .brand-logo{transform:translateY(-1px) scale(1.08)}.brand-name{min-width:0;font-size:clamp(1.05rem,2.1vw,1.5rem);font-weight:700;color:var(--color-text-strong);line-height:1;white-space:nowrap}.site-nav{display:flex;align-items:center;gap:2rem;margin-left:auto;padding-right:.7rem}.mobile-nav-toggle{display:none}.nav-link{color:var(--color-text-muted);font-size:1rem;font-weight:600;letter-spacing:.1rem;text-transform:uppercase;transition:color .16s ease,transform .16s ease}.nav-link:hover,.nav-link.is-active{color:var(--color-text-strong);transform:translateY(-1px)}.site-main{width:min(var(--content-width),100%);margin:0 auto}.content-section,.page-stack{display:grid;gap:1.5rem;margin:4rem 0}.hero{display:grid;align-items:center;min-height:90vh}.hero-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(420px,520px);gap:4.25rem;align-items:center}.hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;width:100%;max-width:46rem;padding-inline:clamp(1.25rem,3vw,2.75rem);text-align:left;animation:rise-in .65s ease both}.hero-kicker{margin:0 0 .15rem;color:var(--color-text-strong);font-size:clamp(2.3rem,4.6vw,3.2rem);font-weight:700;line-height:1}.hero-name{margin:0;color:var(--color-text-strong);font-size:clamp(4.2rem,9vw,6.8rem);line-height:.9;letter-spacing:-.06em}.hero-role{margin:.85rem 0 1.45rem;color:var(--color-text-muted);font-size:.95rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.hero-intro{margin:0 0 1.75rem;color:var(--color-text);max-width:42rem;font-size:1.35rem;line-height:1.65}.hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,29rem);justify-content:flex-start;gap:.85rem;margin-top:.4rem}.hero-actions .button{width:100%;min-width:0;min-height:4.75rem;padding-inline:clamp(1.35rem,4vw,2.8rem);font-size:clamp(1rem,2.2vw,1.28rem);font-weight:700}.hero-social-strip{display:flex;flex-wrap:wrap;justify-content:center;width:min(100%,29rem);align-items:center;gap:1rem;margin-top:1.2rem}.hero-social-label{margin:0;color:var(--color-text-muted);font-size:.9rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.hero-portrait-panel{display:flex;justify-content:flex-end}.hero-portrait-frame{position:relative;overflow:hidden;width:100%;max-width:800px;aspect-ratio:1 / 1;outline:15px solid var(--color-outline-portrait);border-radius:50%;background:var(--color-surface-deep);box-shadow:0 70px 70px var(--shadow-color-portrait)}.hero-portrait-frame:after{content:none}.hero-portrait-base,.hero-portrait-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:cover}.hero-portrait-base{z-index:0}.hero-portrait-overlay{z-index:1;opacity:0;image-rendering:pixelated;image-rendering:crisp-edges;transition:opacity .18s ease}.hero-portrait-frame:hover .hero-portrait-overlay,.hero-portrait-frame:focus-visible .hero-portrait-overlay{opacity:1}.container{width:min(1280px,100%);margin-inline:auto}.band{--band-slant: clamp(2.25rem, 5vw, 4.75rem);--band-space: clamp(4rem, 6vw, 6rem);position:relative;margin-inline:calc(50% - 50vw);padding:var(--band-space) clamp(2rem,5vw,5rem) calc(var(--band-space) + var(--band-slant));background:var(--color-band-dark);color:var(--color-text);clip-path:polygon(0 var(--band-slant),100% 0,100% calc(100% - var(--band-slant)),0 100%);overflow:hidden}.band+.band{margin-top:calc(var(--band-slant) * -1);padding-top:calc(var(--band-space) + var(--band-slant))}.band:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:var(--color-fill-soft);content:"";pointer-events:none}.band>*{position:relative;z-index:1}.band-first{clip-path:polygon(0 0,100% 0,100% calc(100% - var(--band-slant)),0 100%)}.band-last{padding-bottom:var(--band-space);clip-path:polygon(0 var(--band-slant),100% 0,100% 100%,0 100%)}.band-red{background:var(--color-band-red)}.band-red .button{border-color:var(--border);background:var(--color-button-secondary);color:var(--color-text-dark)}.band-dark{background:var(--color-band-dark)}.media-frame{display:block;width:100%;aspect-ratio:16 / 9;overflow:hidden;border:1px solid var(--color-border-warm);border-radius:1rem;background:var(--color-surface);color:inherit;text-decoration:none}.media-frame>img,.media-frame>video,.media-frame img,.media-frame video{width:100%;height:100%;object-fit:cover}.pill-row{display:flex;flex-wrap:wrap;gap:.6rem}.pill-row span{display:inline-flex;align-items:center;min-height:2.2rem;padding:.48rem .8rem;border:1px solid var(--color-border-warm);border-radius:999px;background:var(--color-fill-soft);color:var(--color-text-strong);font-size:.75rem;font-weight:700;letter-spacing:.11em;line-height:1.1;text-transform:uppercase}.icon-list{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.icon-link{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;transition:opacity .18s ease,transform .18s ease}.icon-link img{width:1.45rem;height:1.45rem;filter:brightness(0) invert(1)}.icon-link:hover,.icon-link:focus-visible{opacity:.95;transform:translateY(-2px)}.icon-link-small{width:2rem;height:2rem}.icon-link-small img{width:1.2rem;height:1.2rem}.icon-link-large{width:3rem;height:3rem}.icon-link-large img{width:2.1rem;height:2.1rem}.tag-row,.related-links{display:flex;flex-wrap:wrap;gap:.75rem}.site-main:has(>.subpage),.site-main:has(>.games-page){margin-top:-2rem}.subpage,.games-page{position:relative;gap:0;margin:0 calc(50% - 50vw);padding:0;background:var(--color-band-dark);color:var(--color-text);isolation:isolate}.subpage-title-band{--band-space: clamp(1rem, 2vw, 1.65rem)}.subpage h1,.subpage h2,.subpage h3,.games-page h1,.games-page h2,.games-page h3{color:var(--color-text-strong)}.subpage p,.subpage li,.games-page p,.games-page li{color:var(--color-text-muted)}.not-found{max-width:700px}.resume-page{--resume-content-width: min(980px, calc(100vw - 2rem) );gap:0}.resume-hero{display:grid;grid-template-columns:1fr;align-items:start;padding-top:calc(var(--band-space) + 1rem)}.resume-copy{display:grid;gap:.7rem;justify-self:center;width:var(--resume-content-width)}.resume-title-stack{display:grid;gap:.25rem}.resume-role{margin:0;color:var(--color-text-strong);font-size:clamp(1.2rem,2vw,1.5rem);font-weight:700}.resume-location,.resume-summary{margin:0;color:var(--color-text-muted)}.resume-location{font-size:1rem;font-weight:700}.resume-summary{max-width:74rem;font-size:1.03rem}.resume-actions{display:grid;justify-items:start;gap:.75rem}.resume-download-button{min-height:3.7rem;padding-inline:1.85rem;font-size:1.1rem}.resume-section>.container{display:grid;gap:1.25rem;width:var(--resume-content-width)}.resume-section>.container>h2{margin:0;font-size:clamp(1.55rem,2.8vw,2.4rem)}.resume-entry-list{display:grid;gap:0}.resume-entry{padding:1.25rem 0;border-top:1px solid var(--color-border-warm)}.resume-entry h3{margin-bottom:.25rem}.resume-entry ul{display:grid;gap:.55rem}.resume-entry a{color:var(--color-text-strong);font-weight:700;text-decoration:underline;text-decoration-color:#fff5f373;text-underline-offset:.18em}.resume-entry a:hover,.resume-entry a:focus-visible{color:var(--accent-gold)}.resume-entry-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.95rem}.resume-entry-head p{margin-bottom:0;font-size:1.08rem;font-weight:700;line-height:1.35}.resume-entry-period{display:inline-flex;align-items:center;min-height:2rem;padding:.3rem .75rem;border:1px solid var(--color-border-warm);border-radius:999px;background:var(--color-fill-soft);color:var(--color-text-strong);font-size:.82rem;font-weight:700;letter-spacing:.06em}.resume-subtitle-lines{display:grid;gap:.15rem}.resume-subtitle-lines span{line-height:1.35}.resume-subtitle-lines strong{color:var(--color-text-strong)}.resume-section-skills{padding-top:5rem}.resume-skills-heading{padding-bottom:.25rem}.resume-skills-heading h2{margin:0;font-size:2.4rem}.resume-skills-layout{display:grid;grid-template-columns:1fr}.resume-skill-rows{display:grid;align-content:start;gap:.65rem}.resume-skill-row{display:grid;gap:.35rem;align-items:start;min-height:2.7rem;padding:.25rem 0}.resume-skill-row-head{display:flex;align-items:center;gap:.65rem;min-width:0}.resume-skill-marker{flex:0 0 auto;width:.65rem;height:.65rem;border:2px solid var(--accent-gold);border-radius:50%;background:#ffc85729;box-shadow:0 0 0 .28rem #ffc85714}.resume-skill-row-head h3{margin:0;color:var(--color-text-strong);font-size:1.08rem;line-height:1.15}.resume-skill-inline-list{display:flex;flex-wrap:wrap;gap:.25rem 0;margin:0;padding:0 0 0 1.55rem;list-style:none}.resume-skill-inline-list li{display:flex;align-items:center;color:var(--color-text-strong);font-size:.98rem;font-weight:400;line-height:1.35}.resume-skill-inline-list li:not(:last-child):after{margin-inline:.52rem;color:#ffc857e6;content:"/"}.case-study-simple{width:100%;gap:clamp(1rem,2vw,1.5rem);margin:auto;padding-bottom:clamp(3rem,5vw,4rem)}.case-study-simple-hero{position:relative;display:grid;grid-template-columns:minmax(17rem,.72fr) minmax(0,1.28fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;width:100%;padding:5rem clamp(12rem,16vw,20rem);background:var(--color-band-red);overflow:hidden}.case-study-simple-hero:before{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-fill-soft);content:"";pointer-events:none}.case-study-simple-hero{position:relative;z-index:1}.case-study-simple-header{display:grid;gap:.85rem;max-width:22rem;position:relative;z-index:1}.case-study-simple-header h1{max-width:100%;margin-bottom:0;font-size:clamp(calc(2.35rem * var(--hero-title-scale, 1)),calc(5.5vw * var(--hero-title-scale, 1)),calc(4.6rem * var(--hero-title-scale, 1)));letter-spacing:0;overflow-wrap:anywhere;text-wrap:balance}.case-study-simple-header h4{max-width:34rem;margin:0;color:var(--color-text-muted);font-size:.98rem;font-weight:400;line-height:1.5}.case-study-simple-header .subpage-meta{margin-top:.25rem}.case-study-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem 1.35rem;max-width:42rem;margin:.15rem 0 0}.case-study-meta div{display:grid;gap:.1rem}.case-study-meta dt{color:#fff5f3ad;font-size:.72rem;font-weight:800;letter-spacing:.13em;line-height:1.1;text-transform:uppercase}.case-study-meta dd{margin:0;color:var(--color-text-strong);font-size:1rem;font-weight:700;line-height:1.25}.case-study-media{box-shadow:0 12px 32px #0003}.case-study-simple-media{position:relative;z-index:1}.case-study-simple-section{width:100%;max-width:1120px;margin-inline:auto;padding:0 clamp(1.25rem,4vw,3rem)}.case-study-simple-hero+.case-study-simple-section{padding-top:clamp(1.75rem,3vw,2.75rem);padding-bottom:clamp(1.5rem,3vw,2.75rem)}.case-study-simple-challenges{padding-top:clamp(2rem,4vw,3.5rem)}.case-study-simple-section h2{margin-bottom:.75rem}.case-study-simple-list{margin:.75rem 0 0;padding-left:1.1rem}.case-study-simple-list li+li{margin-top:.5rem}.case-study-feature-grid{display:grid;gap:clamp(1.1rem,2vw,1.6rem)}.case-study-feature{display:grid;gap:.55rem;padding-top:.9rem;border-top:1px solid var(--color-border-warm)}.case-study-feature.has-media{grid-template-columns:minmax(0,.82fr) minmax(18rem,.95fr);gap:clamp(1rem,2vw,1.5rem);align-items:start;padding-block:1.1rem .25rem}.case-study-feature-copy{display:grid;gap:.55rem}.case-study-feature h3,.case-study-feature p{margin:0}.case-study-feature h3{font-size:1rem;line-height:1.2}.case-study-feature p{font-size:.92rem}.case-study-feature-media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));justify-self:end;width:min(100%,36rem);gap:.85rem}.case-study-feature-media{display:grid;gap:.45rem;margin:0}.case-study-feature-media video,.case-study-feature-media img{display:block;width:100%;aspect-ratio:16 / 9;border:1px solid rgba(255,245,243,.18);border-radius:8px;background:#100c0db8;object-fit:cover}.case-study-feature-media.is-image img{padding:.55rem;object-fit:contain}.case-study-feature-media figcaption{color:var(--color-text-muted);font-size:.78rem;line-height:1.25}.case-study-simple .link-row,.case-study-bottom-nav{margin-top:0}.case-study-simple .text-link-light{text-decoration:none}.case-study-bottom-nav{padding:clamp(2rem,4vw,3.5rem) clamp(2rem,5vw,5rem) 0}.case-study-back-link{display:inline-flex;align-items:center;gap:.65rem;color:var(--color-accent-gold);font-size:clamp(1.15rem,1.7vw,1.45rem);font-weight:800;text-decoration:none;transition:color .18s ease,transform .18s ease}.case-study-back-link:hover,.case-study-back-link:focus-visible{color:var(--color-text-strong);transform:translate(-3px)}.games-page{padding-top:clamp(.5rem,1vw,1rem)}.games-page-hero{display:grid;width:min(1360px,calc(100% - clamp(2rem,10vw,10rem)));margin:0 auto;padding:clamp(1rem,2vw,1.65rem) 0 clamp(.75rem,1.8vw,1.35rem)}.games-page-hero h1{margin-bottom:0}.games-project-list{display:grid;gap:0}.games-project{margin-inline:0;background:var(--color-band-red)}.games-project:first-child{padding-top:calc(var(--band-space) + var(--band-slant))}.games-project:nth-child(2n){background:var(--color-band-dark)}.games-project:last-child{padding-bottom:var(--band-space);clip-path:polygon(0 var(--band-slant),100% 0,100% 100%,0 100%)}.games-project-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);gap:clamp(1.5rem,3vw,3rem);align-items:center;width:min(1360px,100%);margin-inline:auto}.games-project-copy{display:grid;gap:.85rem;min-width:0;max-width:36rem}.games-project-copy h2{max-width:100%;margin-bottom:.15rem;font-size:clamp(1.8rem,3vw,2.2rem);white-space:nowrap}.games-project-summary{max-width:38rem;margin-bottom:0;font-size:.94rem;line-height:1.62}.games-project-highlights{display:grid;gap:.75rem;padding-top:.2rem}.games-project-highlights h3{margin-bottom:0;color:#fff5f3c2;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.games-project-highlights ul{display:grid;gap:.58rem;max-width:38rem;margin:0;padding:0;list-style:none}.games-project-highlights li{position:relative;padding-left:1.1rem}.games-project-highlights li:before{position:absolute;top:.68rem;left:0;width:.42rem;height:.42rem;border-radius:999px;background:var(--color-accent-gold);content:""}.games-project-link{width:fit-content;font-weight:700}.games-project:nth-child(odd) .games-project-link{border-color:var(--border);background:var(--color-button-secondary);color:var(--color-text-dark)}.games-project-media{position:relative;align-self:center;box-shadow:0 20px 48px #0000003d;transition:border-color .18s ease,transform .18s ease}.games-project-media:hover,.games-project-media:focus-visible{border-color:#fff5f370;transform:translateY(-2px)}.games-project-media:before{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff0f;content:"";pointer-events:none}.home-page{display:grid;gap:0}.site-main:has(>.home-page){margin-top:-2rem}.home-page .band{--band-space: clamp(2.25rem, 4vw, 4rem)}.home-page .band-inner{padding-block:clamp(2rem,3vw,3rem) clamp(1.75rem,2.5vw,2.5rem)}.home-games-container{width:min(1440px,100%)}.home-section-header{margin-bottom:2rem;text-align:center}.home-section-header h1{font-size:clamp(2.6rem,5.2vw,4.6rem)}.home-section-header h2,.home-section-header h3{margin-bottom:0;color:var(--color-text-strong)}.home-games-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.home-game-card{display:flex;flex-direction:column;min-height:100%;overflow:hidden;border-radius:.35rem;background:var(--color-band-red);box-shadow:0 16px 34px var(--shadow-color-card);transition:box-shadow .18s ease,transform .18s ease}.home-game-card:hover,.home-game-card:focus-visible{box-shadow:0 24px 42px #00000057;transform:translateY(-4px)}.home-game-media{border:0;border-bottom:1px solid var(--color-border-warm);border-radius:0;background:var(--color-surface-deep)}.home-game-body{display:grid;flex:1;grid-template-rows:auto minmax(3.2rem,1fr) auto;align-items:center;justify-items:center;gap:.9rem;padding:1.25rem 1.6rem 1.45rem;text-align:center}.home-game-body h3{margin-bottom:0;color:var(--color-text-strong);font-size:1.9rem;line-height:1.05}.home-game-body p{align-self:center;max-width:21rem;margin:0;color:var(--color-text-muted);font-size:.92rem}.home-game-tags{display:flex;flex-wrap:wrap;align-self:end;justify-content:center;gap:.45rem;width:100%;max-width:22rem;margin-top:0}.home-game-tags span{display:inline-flex;align-items:center;min-height:1.75rem;padding:.3rem .62rem;border:1px solid rgba(255,245,243,.24);border-radius:999px;background:#ffffff0f;color:var(--color-text-strong);font-size:.68rem;font-weight:700;letter-spacing:.08em;line-height:1;text-transform:uppercase}.home-games-actions{display:flex;justify-content:center;margin-top:1.45rem}.home-games-more{min-height:3.65rem;padding-inline:2.3rem;font-size:1.05rem;font-weight:700}.home-about{display:grid;grid-template-columns:minmax(240px,.42fr) minmax(0,1fr);gap:clamp(2rem,4vw,4rem);align-items:center}.home-about-image{align-self:center;margin:0;overflow:hidden;border-radius:.35rem;background:var(--color-band-dark)}.home-about-image img{width:100%;aspect-ratio:4 / 5;object-fit:cover;object-position:center top}.home-about-copy{display:grid;gap:1rem}.home-about-copy h2{margin-bottom:0;color:var(--color-text-strong);font-size:clamp(2.3rem,4vw,4rem);line-height:.95}.home-about-copy p{max-width:64rem;margin:0;color:var(--color-text);font-size:1.01rem;line-height:1.72}.home-about-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:.4rem}.home-contact-shell{display:grid;gap:clamp(2rem,4vw,3.25rem)}.home-contact-shell h2{max-width:58rem;margin-bottom:.75rem}.home-contact-shell p{max-width:44rem;color:var(--color-text)}.home-contact-card{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1fr);gap:clamp(2rem,5vw,3.25rem);align-items:center}.home-contact-links{display:grid;align-self:start;justify-self:center;justify-items:start;gap:1.2rem;padding-top:clamp(2.25rem,4vw,3.1rem)}.home-contact-link{display:inline-flex;align-items:center;gap:.8rem;max-width:100%;color:var(--color-text)}.home-contact-icon{display:inline-grid;flex:0 0 auto;width:1.8rem;height:1.8rem;place-items:center}.home-contact-icon img{width:1.35rem;height:1.35rem;filter:brightness(0) invert(1)}.home-contact-link-text{min-width:0}.home-contact-link-text span{color:#fff4eed6;font-size:clamp(.78rem,1.35vw,1.08rem);line-height:1.3;white-space:nowrap}.home-contact-form{display:grid;gap:.8rem}.home-contact-form label{display:grid;gap:.35rem;color:var(--color-text);font-size:.85rem;font-weight:700}.home-contact-form input,.home-contact-form textarea{width:100%;padding:.8rem .9rem;border:1px solid var(--color-border-input);background:var(--color-fill-input);color:var(--color-text-strong)}.home-contact-form textarea{min-height:8rem;resize:vertical}.home-contact-form input::placeholder,.home-contact-form textarea::placeholder{color:var(--color-text-placeholder)}.home-submit{justify-self:start}.home-footer{margin-inline:calc(50% - 50vw);padding:.55rem 1rem .65rem;background:var(--color-footer)}.home-footer-inner{display:grid;justify-items:center;gap:.15rem;width:min(1280px,100%);margin:0 auto;color:var(--color-text);text-align:center}.home-footer-copyright{margin:0;color:#fff4eeb8;font-size:.8rem;line-height:1.2}@media(max-width:1320px){.site-header-inner{gap:.75rem}.site-nav{gap:1.15rem}.nav-link{font-size:.84rem;letter-spacing:.13em}.header-cta{padding-inline:1rem}}@media(max-width:1180px){.site-nav{gap:.95rem}.case-study-feature.has-media{grid-template-columns:1fr}}@media(max-width:1024px){.case-study-feature.has-media{grid-template-columns:1fr}.case-study-simple-hero{grid-template-columns:minmax(17rem,.72fr) minmax(0,1.28fr);gap:clamp(1.25rem,2.5vw,2rem);padding-inline:clamp(2rem,5vw,5rem)}.games-project-layout{grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr);gap:clamp(1.25rem,2.5vw,2rem)}.home-about{grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);gap:clamp(1.5rem,3vw,2.4rem)}.home-contact-card{grid-template-columns:minmax(220px,.48fr) minmax(0,1fr);gap:clamp(1.5rem,3vw,2.4rem)}.hero-layout{grid-template-columns:minmax(0,.98fr) minmax(280px,340px);gap:clamp(1.25rem,3vw,2rem);transform:none}.hero-portrait-panel{justify-content:flex-end;transform:none}.hero-portrait-frame{max-width:340px}.hero-actions,.hero-social-strip{margin-inline:auto}}@media(max-width:760px){.site-shell{padding:1rem 1rem 0}.site-header{margin-bottom:1.25rem}.site-main:has(>.games-page),.site-main:has(>.home-page),.site-main:has(>.subpage){margin-top:-1.25rem}.site-header-inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.7rem;padding:.85rem 0}.brand-name{font-size:clamp(.95rem,4.9vw,1.5rem)}.mobile-nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:.28rem;width:3.2rem;height:3.2rem;border:1px solid var(--color-border-warm);border-radius:50%;background:#ffffff0a;color:var(--color-text-strong)}.mobile-nav-toggle span{width:1.2rem;height:.13rem;border-radius:999px;background:currentColor;transition:opacity .16s ease,transform .16s ease}.mobile-nav-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(.41rem) rotate(45deg)}.mobile-nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.mobile-nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-.41rem) rotate(-45deg)}.site-nav{position:absolute;top:calc(100% + .6rem);right:0;left:0;z-index:2;display:none;flex-direction:column;align-items:stretch;gap:0;margin-left:0;padding:.45rem;border:1px solid var(--color-border-warm);border-radius:.5rem;background:var(--color-header);box-shadow:0 18px 32px var(--shadow-color-soft)}.site-nav.is-open{display:flex}.site-nav .nav-link{padding:.85rem .95rem;border-radius:.35rem}.site-nav .nav-link:hover,.site-nav .nav-link.is-active{background:#ffffff0f}h1{font-size:clamp(2.6rem,14vw,4.2rem)}.hero{min-height:auto;padding-top:2.4rem;padding-bottom:4.3rem}.hero-actions{grid-template-columns:1fr;width:min(100%,22rem)}.hero-layout,.hero-portrait-panel{transform:none}.hero-layout{display:flex;flex-direction:column;align-items:flex-start;gap:1.35rem}.hero-copy{display:contents}.hero-kicker,.hero-name,.hero-role{order:1}.hero-portrait-panel{order:2;width:100%;justify-content:center;margin-block:.35rem .55rem}.hero-intro{order:3;margin-bottom:.65rem}.hero-actions{order:4}.hero-social-strip{order:5}.hero-portrait-frame{max-width:340px}.band{--band-slant: 1.5rem;--band-space: 2.5rem;padding-inline:1rem}.home-page .band-inner{padding-block:2.5rem 2rem}.home-games-grid,.home-about{grid-template-columns:1fr}.home-contact-shell{gap:1.25rem}.home-contact-card{grid-template-columns:1fr;gap:1.25rem}.home-contact-links{justify-self:start;gap:.95rem;padding-top:.2rem}.resume-section-skills{padding-top:3.75rem}.resume-skills-heading h2{font-size:2rem}.resume-skill-row{grid-template-columns:1fr;gap:.5rem;align-items:start}.home-footer{padding-inline:1rem}.home-footer-inner{gap:.35rem}.games-page-hero{width:100%;padding-inline:1rem;padding-top:.95rem}.games-project-layout{display:flex;flex-direction:column;align-items:stretch;gap:1rem}.games-project-copy{display:contents}.games-project-copy h2{order:1}.games-project-meta{order:2}.games-project-media{order:3;width:100%;margin-block:.35rem}.games-project-summary{order:4}.games-project-highlights{order:5}.games-project-link{order:6}.resume-entry-head{flex-direction:column;align-items:flex-start}.case-study-simple-section,.case-study-bottom-nav,.case-study-simple-hero{padding-inline:1rem}.case-study-simple-hero{display:flex;flex-direction:column;align-items:stretch;gap:1.15rem}.case-study-simple-header{display:contents}.case-study-simple-header h1{order:1}.case-study-simple-media{order:2}.case-study-simple-header h4{order:3}.case-study-simple-header .subpage-meta{order:4}}
