:root{--background:#f4f1e8;--surface:#fffdf7;--surface-muted:#e9e5d8;--text:#18201d;--muted:#5d6862;--line:#c9c6ba;--accent:#12664f;--accent-dark:#0a4434;--accent-soft:#cce8d8;--header-height:5.25rem;--radius:1.25rem}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 2rem)}body{background:radial-gradient(circle at 85% 5%, #cce8d8a6, transparent 28rem), var(--background);min-height:100%;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;overflow-x:hidden}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:.08em}button,select{font:inherit}.skip-link{z-index:100;background:var(--text);color:#fff;border-radius:.5rem;padding:.65rem .9rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{z-index:50;min-height:var(--header-height);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f4f1e8e0;border-bottom:1px solid #18201d24;position:sticky;top:0}.header-inner{width:min(100% - 2.5rem,76rem);min-height:var(--header-height);justify-content:space-between;align-items:center;gap:clamp(.75rem,2vw,2rem);margin:0 auto;display:flex;position:relative}.brand{flex-direction:column;flex:none;line-height:1.1;text-decoration:none;display:inline-flex}.brand strong{letter-spacing:-.035em;font-size:clamp(1.15rem,2vw,1.45rem)}.brand span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-top:.3rem;font-size:.72rem;font-weight:650}.site-nav{align-items:center;gap:clamp(.75rem,2vw,1.5rem);min-width:0;margin-left:auto;font-size:.9rem;font-weight:650;display:flex}.site-nav>a{white-space:nowrap;text-decoration:none;position:relative}.site-nav>a:after{transform-origin:100%;background:var(--accent);content:"";height:2px;transition:transform .16s;position:absolute;bottom:-.3rem;left:0;right:0;transform:scaleX(0)}.site-nav>a:hover:after,.site-nav>a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.language-picker select{border:1px solid var(--line);background:var(--surface);min-height:2.75rem;color:var(--text);cursor:pointer;border-radius:999px;padding:.35rem 1.85rem .35rem .65rem;font-weight:700}.menu-toggle{border:1px solid var(--line);background:var(--surface);min-height:2.75rem;color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:.5rem;padding:.35rem .85rem;font-weight:700;display:none}.menu-toggle:hover{background:var(--surface-muted)}.menu-toggle span{text-align:center;width:1.25rem;font-size:1.25rem;line-height:1}main{overflow:clip}.hero,.section,.site-footer{width:min(100% - 2.5rem,76rem);margin-inline:auto}.hero,.section,.project-category{scroll-margin-top:calc(var(--header-height) + 2rem)}.hero{min-height:calc(100svh - var(--header-height));grid-template-columns:minmax(0,.92fr) minmax(20rem,1.08fr);align-items:center;gap:clamp(2rem,5vw,5rem);padding-block:5rem;display:grid}.hero>*{min-width:0}.hero-copy{z-index:1;position:relative}.eyebrow,.card-label{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .8rem;font-size:.78rem;font-weight:800}h1,h2,h3,h4,p{overflow-wrap:break-word}h1,h2,h3,h4{margin-top:0;line-height:1.08}h1{letter-spacing:-.065em;max-width:15ch;margin-bottom:1.5rem;font-size:clamp(2.7rem,6vw,5.5rem)}h2{letter-spacing:-.05em;margin-bottom:1rem;font-size:clamp(2.1rem,4vw,3.8rem)}h3,h4{letter-spacing:-.025em;margin-bottom:.75rem;font-size:1.25rem}.lead,.section-heading>p:last-child,.section-lead{color:var(--muted);font-size:clamp(1rem,1.6vw,1.2rem)}.lead{max-width:39rem;margin:0 0 2rem}.hero-actions,.case-study-actions{flex-wrap:wrap;gap:.75rem;display:flex}.button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:3rem;padding:.7rem 1.15rem;font-weight:750;text-decoration:none;transition:transform .16s,background-color .16s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--accent);color:#fff}.button-primary:hover{background:var(--accent-dark)}.button-secondary{border-color:var(--line);background:#fffdf78c}.frog{width:100%;min-width:0;max-width:100%;color:var(--accent);opacity:.82;white-space:pre;justify-self:center;margin:0;font-family:Cascadia Mono,DejaVu Sans Mono,Segoe UI Symbol,monospace;font-size:clamp(.24rem,.68vw,.53rem);line-height:1;overflow:hidden}.section{padding-block:clamp(5rem,9vw,8rem)}.section-heading{max-width:48rem;margin-bottom:3rem}.section-heading>p:last-child,.section-lead{margin-bottom:0}.project-category+.project-category{margin-top:clamp(3rem,5vw,4rem)}.project-category-heading{max-width:48rem;margin-bottom:1.5rem}.project-category-heading h3{font-size:clamp(1.5rem,2.5vw,2rem)}.project-category-heading p{color:var(--muted);margin-bottom:0}.games-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:1.25rem;display:grid}.project-list-actions{justify-content:center;margin-top:1.5rem;display:flex}.project-list-actions button{cursor:pointer}.project-list-actions button:focus-visible{outline:2px solid var(--accent-dark);outline-offset:3px}.project-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);height:100%;display:flex;position:relative;overflow:hidden}.project-card-featured{grid-column:1/-1}.project-card[hidden]{display:none}.card-visual{color:#fffc;background:linear-gradient(135deg,#0a4434eb,#12664f9e);place-items:center;height:14rem;display:grid;overflow:hidden}.card-visual span{letter-spacing:-.08em;font-size:clamp(3rem,8vw,7rem);font-weight:900}.card-visual img{object-fit:cover;width:100%;height:100%;display:block}.card-visual-featured{background:radial-gradient(circle at 70% 25%,#cce8d88c,#0000 26%),linear-gradient(145deg,#0a3025,#12664f 58%,#9ccdaf);height:24rem}.card-visual-game{background:linear-gradient(145deg,#153244,#157b7d)}.card-visual-berry{background:radial-gradient(circle at 28% 70%,#223069e0,#0000 24%),linear-gradient(145deg,#183f36,#337d5f 55%,#d4836a)}.card-visual-stone{background:linear-gradient(145deg,#493d35,#9d775d)}.card-visual-web{background:radial-gradient(circle at 72% 24%,#6fc4ff61,#0000 28%),linear-gradient(145deg,#14213d,#28527a 58%,#438a8f)}.card-visual-renderer{background:linear-gradient(145deg,#17191f,#535d6c)}.card-visual-network{background:linear-gradient(115deg,#0000 48%,#ffffff14 49% 51%,#0000 52%),linear-gradient(145deg,#192b35,#315c64 58%,#6b8f71)}.card-visual-infrastructure{background:radial-gradient(circle at 25% 30%,#52a9eb52,#0000 26%),linear-gradient(145deg,#162431,#245779 60%,#4b8ca8)}.card-visual-shell{background:repeating-linear-gradient(0deg,#0000 0 1.7rem,#7eebac12 1.7rem 1.76rem),linear-gradient(145deg,#111815,#1e3c31 62%,#3a6b54)}.card-visual-shell img{object-fit:contain;background:#300a24}.card-content{flex-direction:column;align-items:flex-start;padding:clamp(1.35rem,3vw,2.25rem);display:flex}.card-content>p:not(.card-label),.capability-list p,.contact-section>p:not(.eyebrow){color:var(--muted)}.card-content>p:not(.card-label){margin-top:0}.tag-list{flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:1rem;display:flex}.tag-list span{background:var(--accent-soft);color:var(--accent-dark);border-radius:999px;padding:.3rem .65rem;font-size:.78rem;font-weight:750}.game-card-summary{flex-direction:column;flex:1;width:100%;display:flex}.game-card-summary .card-content{flex:1;transition:background-color .16s}.project-card:hover .card-content,.project-card:focus-within .card-content{background:var(--surface-muted)}.project-card-trigger{z-index:2;border-radius:inherit;cursor:pointer;background:0 0;border:0;position:absolute;inset:0}.project-card-trigger:focus-visible{outline-offset:-3px;outline:3px solid #e19d35}.project-card-featured .game-card-summary{grid-template-columns:minmax(15rem,1.1fr) minmax(16rem,.9fr);display:grid}body:has(.case-study-modal[open]){overflow:hidden}.case-study-modal{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:min(76rem,100% - 2rem);max-width:none;max-height:calc(100dvh - 2rem);color:var(--text);padding:0;overflow:hidden;box-shadow:0 1.5rem 5rem #0a120f59}.case-study-modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a120fb8}.case-study-modal-panel{overscroll-behavior:contain;max-height:calc(100dvh - 2rem);overflow-y:auto}.case-study-modal-toolbar{z-index:3;border-bottom:1px solid var(--line);background:var(--surface);justify-content:flex-end;padding:.75rem;display:flex;position:sticky;top:0}.case-study-close{border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:.5rem;padding:.55rem .8rem;font-weight:750;display:inline-flex}.case-study-close:hover,.case-study-close:focus-visible{background:var(--surface-muted)}.case-study-close span{font-size:1.25rem;line-height:1}.case-study{border-top:1px solid var(--line);grid-template:"intro media""copy media"1fr/minmax(0,1.35fr) minmax(18rem,.65fr);align-items:start;gap:1.5rem clamp(2rem,5vw,4rem);padding:clamp(1.5rem,4vw,3.5rem);display:grid}.case-study-modal .case-study{border-top:0}.case-study.case-study-text-only{grid-template:"intro""copy"1fr/minmax(0,1fr);width:100%;max-width:56rem;margin-inline:auto}.case-study-intro{grid-area:intro}.case-study-intro>:last-child{margin-bottom:0}.case-study-copy{grid-area:copy}.case-study-copy>:first-child{margin-top:0}.case-study-copy>p:not(.card-label){color:var(--muted)}.case-study-tagline{font-size:clamp(1.05rem,1.7vw,1.25rem)}.case-study-tagline strong,.technical-highlights strong{color:var(--text)}.project-metadata{grid-template-columns:repeat(2,minmax(0,1fr));margin:2rem 0;display:grid}.project-metadata div{border-top:1px solid var(--line);padding:.9rem 1rem}.project-metadata dt{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;font-weight:800}.project-metadata dd{margin:.25rem 0 0}.case-study h4{margin:2rem 0 1rem;font-size:1.3rem}.technical-highlights{gap:1rem;padding:0;list-style:none;display:grid}.technical-highlights li{border-top:1px solid var(--line);gap:.2rem;padding-top:1rem;display:grid}.technical-highlights span{color:var(--muted)}.case-study-section{margin-top:2.5rem}.case-study-section>p,.detail-list{color:var(--muted)}.detail-list{gap:.55rem;padding-left:1.25rem;display:grid}.case-study-media{grid-area:media;align-content:start;gap:1rem;display:grid}.project-gallery{gap:1rem;display:grid}.project-gallery img{border:1px solid var(--line);border-radius:calc(var(--radius) * .75);width:100%;height:auto;display:block}.capability-list{border-top:1px solid var(--line)}.capability-list article{border-bottom:1px solid var(--line);grid-template-columns:minmax(12rem,.7fr) minmax(0,1.3fr);gap:2rem;padding-block:1.5rem;display:grid}.capability-list h3,.capability-list p{margin:0}.capability-projects{flex-wrap:wrap;gap:.5rem;margin:.85rem 0 0;padding:0;list-style:none;display:flex}.capability-projects button{border:1px solid var(--accent);background:var(--surface);min-height:2.75rem;color:var(--accent-dark);text-align:left;overflow-wrap:anywhere;cursor:pointer;border-radius:.6rem;padding:.45rem .8rem;font-weight:700}.capability-projects button:hover{background:var(--accent-soft)}.capability-projects button:focus-visible{outline:2px solid var(--accent-dark);outline-offset:3px}.about-copy p{margin:0 0 1.25rem}.about-copy p:last-child{margin-bottom:0}.hero .about-copy{margin-bottom:2rem}.about-copy strong{color:var(--text)}.contact-section{text-align:center;min-height:70svh}.contact-section h2{font-size:clamp(3rem,10vw,8rem)}.contact-section>p:not(.eyebrow){margin:0 auto 2rem}.contact-links{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.site-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:1rem;padding-block:1.5rem 2.5rem;font-size:.85rem;display:flex}:focus-visible{outline-offset:4px;outline:3px solid #e19d35}@media (max-width:900px){:root{--header-height:7.5rem}.header-inner{grid-template-columns:1fr auto;grid-template-areas:"brand brand""toggle language";align-items:center;gap:.8rem;padding-block:.75rem;display:grid}.brand{grid-area:brand;justify-self:start}.menu-toggle{grid-area:toggle;justify-self:start;display:inline-flex}.language-picker{grid-area:language;justify-self:end}.site-nav{max-height:calc(100dvh - var(--header-height) - 1rem);border:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);background:var(--surface);grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:.25rem;margin:0;padding:.75rem;font-size:1rem;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 .75rem 1.5rem #0a120f1f}.site-nav[data-open=true]{display:grid}.site-nav>a{white-space:normal;border-radius:.5rem;align-items:center;min-height:2.75rem;padding:.6rem .75rem;display:flex}.site-nav>a:after{display:none}.site-nav>a:hover,.site-nav>a:focus-visible{background:var(--surface-muted)}.hero{grid-template-columns:minmax(0,1fr);min-height:auto;padding-block:4rem}.hero-copy,.lead{width:100%;max-width:100%}.frog{font-size:clamp(.22rem,1.28vw,.53rem)}.project-card-featured .game-card-summary{grid-template-columns:1fr}.case-study{grid-template:"intro""media""copy"/1fr}.card-visual-featured{height:18rem}}@media (max-width:650px){.hero,.section,.site-footer,.header-inner{width:min(100% - 1.5rem,76rem)}.games-grid,.capability-list article,.project-metadata{grid-template-columns:1fr}.capability-list article{gap:.4rem}.site-footer{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
