
:root{color-scheme:dark;--bg:#0b101b;--panel:#121c2b;--panel2:#182638;--line:#2a3a4c;--muted:#9eafc1;--text:#f2f5fa;--accent:#81b5d1;--purple:#a99ce8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.7 Inter,Arial,sans-serif}h1,h2,h3,.brand{font-family:Manrope,Inter,sans-serif;line-height:1.14;letter-spacing:-.045em}h1{font-size:clamp(2.8rem,6vw,5.9rem);margin:18px 0 22px;font-weight:800}h2{font-size:clamp(1.9rem,3.3vw,3.2rem);margin:0 0 20px}h3{font-size:1.4rem;margin:0 0 12px}p{margin:0 0 18px}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}.container{max-width:1180px;margin:auto;padding:0 30px}.top{border-bottom:1px solid var(--line);position:sticky;top:0;background:#0b101bf2;backdrop-filter:blur(16px);z-index:20}.top-inner{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:25px}.brand{font-size:19px;font-weight:800;letter-spacing:-.05em}.brand span{color:var(--accent)}nav{display:flex;gap:26px;flex-wrap:wrap}nav a{font-size:13px;color:#c4d0df}nav a.active{color:white}.eyebrow{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);font-weight:700}.lead{font-size:clamp(1.05rem,1.8vw,1.3rem);color:#b6c5d4;max-width:740px;line-height:1.75}.hero{padding:100px 0 65px}.hero h1{max-width:920px}.hero .lead{max-width:760px}.grad{background:linear-gradient(110deg,#fff 35%,#94b7d0 75%,#a99ce8);background-clip:text;color:transparent}.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.chip{border:1px solid var(--line);border-radius:30px;padding:7px 13px;color:#b9c8d7;font-size:12px}.section{padding:70px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:28px}.muted{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.card{display:block;border:1px solid var(--line);background:var(--panel);border-radius:18px;overflow:hidden;transition:border-color .18s,transform .18s}.card:hover{border-color:var(--accent);transform:translateY(-2px)}.card-media{height:270px;background:linear-gradient(135deg,#1b344b,#0c1522);display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden}.card-media img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 20px 28px #0005)}.card-content{padding:27px}.card-content p{font-size:14px;color:var(--muted)}.card-meta{color:var(--accent);font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700}.card h3{margin:10px 0}.arrow{color:var(--accent);font-size:14px;font-weight:700}.breadcrumbs{padding-top:35px;color:#a4b4c4;font-size:12px}.breadcrumbs a{color:var(--accent)}.case-hero{padding:75px 0 45px}.case-hero h1{max-width:900px}.wide-image{background:linear-gradient(130deg,#1d354c,#111a2b);border:1px solid var(--line);border-radius:20px;padding:35px;margin:30px 0;display:flex;align-items:center;justify-content:center}.wide-image img{max-width:100%;max-height:610px;object-fit:contain}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:25px 0}.stat{background:var(--panel);border:1px solid var(--line);padding:27px;border-radius:15px}.stat strong{display:block;font:800 clamp(1.6rem,3vw,2.7rem)/1.2 Manrope;color:#f3f6fc;letter-spacing:-.04em}.stat small{color:var(--muted);font-size:12px}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center;margin:50px 0}.split.reverse{grid-template-columns:1.1fr .9fr}.split p,.copy p{color:#b7c5d3}.split img{width:100%;border-radius:14px}.copy{max-width:760px}.rule{height:1px;background:var(--line);margin:55px 0}.footer{border-top:1px solid var(--line);padding:42px 0;color:var(--muted);font-size:13px}.btn{display:inline-flex;align-items:center;gap:12px;border:1px solid #638faa;border-radius:100px;padding:12px 20px;color:#e9f6ff;font-size:13px;font-weight:700}.btn:hover{background:#1a3246}.callout{background:linear-gradient(120deg,#162d42,#1b1d37);border:1px solid #35516b;border-radius:17px;padding:32px;margin:35px 0}.label{font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:.1em}.page{display:none}.page.active{display:block}.mini{font-size:12px;color:var(--muted)}.next{padding:35px;border:1px solid var(--line);border-radius:18px;margin:50px 0;display:flex;justify-content:space-between;align-items:center;gap:20px}.prototype{background:#17283b;color:#c1d6e8;text-align:center;font-size:12px;padding:7px 15px;border-bottom:1px solid #38516b}@media(max-width:720px){.container{padding:0 20px}.top-inner{align-items:start;flex-direction:column;padding:16px 0;gap:10px}nav{gap:15px}nav a{font-size:11px}.hero{padding:60px 0 35px}.section{padding:45px 0}.cards,.split,.split.reverse{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.card-media{height:230px}.split{gap:20px}.wide-image{padding:12px}.case-hero{padding:45px 0 20px}.section-head{display:block}.next{flex-direction:column;align-items:start}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Refinement: understated, three-column product grid */
.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.card{box-shadow:0 10px 24px rgba(0,0,0,.24);cursor:pointer;transition:box-shadow .18s,border-color .18s,transform .18s}
.card:hover{box-shadow:0 18px 38px rgba(0,0,0,.44);border-color:#628eac;transform:translateY(-3px)}
.card:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.card-media{height:210px;padding:18px}.card-content{padding:21px}.card h3{margin:0 0 9px;font-size:1.23rem}
.card-content p{margin:0;font-size:13px;line-height:1.65}
.hero{padding-bottom:42px}.section{padding-top:42px}.section-head{margin-bottom:22px}
@media(max-width:950px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.cards{grid-template-columns:1fr}}


/* Product cards: independently accessible links, with a stretched overview link. */
.cards .card{position:relative;display:flex;flex-direction:column;box-shadow:0 12px 28px #0004;transition:box-shadow .18s,transform .18s,border-color .18s}
.cards .card:hover{box-shadow:0 20px 38px #0008;transform:translateY(-3px)}
.cards .card:focus-within{outline:2px solid var(--accent);outline-offset:3px}
.cards .card-content{display:flex;flex:1;flex-direction:column}
.cards .card-content p{flex:1}
.card-title-link::after{content:'';position:absolute;inset:0;z-index:1}
.card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:20px;min-height:31px}
.card-year{font-size:13px;color:var(--muted);margin-right:auto;font-variant-numeric:tabular-nums}
.card-shortcut{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:4px 11px;border:1px solid #52748e;border-radius:7px;color:#d4e8f5;font-size:12px;font-weight:600;line-height:1.2;background:#1a2c3f;white-space:nowrap}
.card-shortcut:hover,.card-shortcut:focus-visible{color:#fff;border-color:var(--accent);background:#28445b}
@media(max-width:650px){.card-actions{gap:7px}}


/* Product overview: original copy, minimal hierarchy, deliberate image composition */
.overview-hero{padding:65px 0 30px}.overview-hero h1{margin:0 0 22px}.overview-hero .lead{max-width:850px}
.overview-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr);gap:72px;align-items:start;padding-top:35px;padding-bottom:80px}
.overview-prose{max-width:690px}.overview-prose p{font-size:16px;line-height:1.9;color:#c1cedc;margin:0 0 24px}.inline-link{color:#a9d3ef;text-decoration:underline;text-underline-offset:4px}
.overview-image{margin:0;background:#142031;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 16px 42px #0005}.overview-image img{display:block;width:100%;max-height:640px;object-fit:contain}.overview-image figcaption{font-size:12px;color:var(--muted);margin-top:14px;text-align:center}
.overview-related{padding-top:45px;padding-bottom:110px;border-top:1px solid var(--line)}.overview-related h2{margin-bottom:28px}.related-card{display:grid;grid-template-columns:230px minmax(0,1fr);width:min(660px,100%);border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel);box-shadow:0 12px 28px #0004;transition:transform .18s,box-shadow .18s,border-color .18s}.related-card:hover{transform:translateY(-3px);box-shadow:0 20px 38px #0008;border-color:var(--accent)}.related-card:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.related-image{background:#1a2b3c;display:flex;align-items:center;justify-content:center;padding:18px;min-height:175px}.related-image img{width:100%;max-height:150px;object-fit:contain}.related-body{padding:25px;position:relative}.related-body h3{margin:0 0 12px}.related-body p{font-size:14px;color:var(--muted)}.related-indicator{position:absolute;right:22px;bottom:18px;color:var(--accent);font-size:23px}
@media(max-width:800px){.overview-layout{grid-template-columns:1fr;gap:25px;padding-bottom:55px}.overview-image{max-width:650px}.overview-hero{padding-top:45px}.related-card{grid-template-columns:1fr}.related-image{min-height:160px}}
@media(prefers-reduced-motion:reduce){.related-card{transition:none}}


/* Shared alignment and editorial case study layout */
.case-wrap{padding-top:35px;padding-bottom:110px}.case-wrap .crumb{margin:0 0 70px;color:var(--muted);font-size:13px}.case-wrap .crumb a{color:var(--muted);text-decoration:none}.case-wrap .crumb a:hover{color:var(--text)}.case-wrap .crumb span{padding:0 9px;color:#657487}.case-intro{max-width:860px;padding-bottom:65px}.case-intro h1{font-size:clamp(38px,5vw,65px);line-height:1.13;letter-spacing:-.04em;margin:0 0 22px}.case-intro p{color:#c0cede;font-size:clamp(17px,1.6vw,21px);line-height:1.7;max-width:740px}.case-divider{border-top:1px solid var(--line)}.case-block{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(35px,6vw,95px);align-items:start;padding:85px 0;border-bottom:1px solid var(--line)}.case-copy{max-width:600px}.case-copy h2,.case-results h2{font-size:clamp(26px,3vw,36px);letter-spacing:-.025em;margin:0 0 26px}.case-copy p{color:#c1cedc;font-size:16px;line-height:1.9;margin:0 0 23px}.case-figure{margin:0;background:#142031;border:1px solid var(--line);border-radius:15px;padding:18px;box-shadow:0 16px 42px #0005}.case-figure img{display:block;width:100%;height:auto;object-fit:contain}.case-figure figcaption{font-size:12px;color:var(--muted);margin-top:13px}.case-results{padding-top:80px}.case-impact{display:flex;align-items:baseline;gap:25px;padding:14px 0 38px;flex-wrap:wrap}.case-impact strong{font-size:clamp(50px,8vw,96px);line-height:1;color:var(--accent);letter-spacing:-.06em}.case-impact span{font-size:15px;color:var(--muted)}.case-results .case-copy{max-width:760px}.case-final{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.7fr);gap:20px;margin-top:36px;align-items:start}.case-phones{display:grid;grid-template-columns:1fr 1fr;gap:14px}.case-phones .case-figure{padding:10px}.case-end{border-top:1px solid var(--line);margin-top:75px;padding-top:30px}.case-end a{color:var(--accent);text-decoration:none}
@media(max-width:850px){.case-block,.case-final{grid-template-columns:1fr}.case-block{padding:50px 0}.case-wrap .crumb{margin-bottom:45px}.case-intro{padding-bottom:40px}.case-phones{max-width:560px}}


/* Product Design index: eight overview cards */
.card-media img{display:block;width:100%;height:100%;object-fit:contain}
.card-media-placeholder{background:linear-gradient(135deg,#183c38,#0e2029)}
.placeholder-mark{font:800 100px/1 Manrope,Inter,sans-serif;color:#83bba9;opacity:.8}
.card-unavailable{font-size:12px;color:var(--muted);padding:5px 0}
.cards .card:has(.card-unavailable){cursor:default}
.cards .card:has(.card-unavailable):hover{transform:none;border-color:var(--line)}

/* Original website-specific card previews: fill the card without shrinking a full page. */
.cards .card-media{padding:0;overflow:hidden;background:#142031;height:auto;aspect-ratio:720 / 424;display:block}
.cards .card-media img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center top;filter:none}


/* One shared horizontal grid for the header and Product Design content. */
:root{--site-content-width:1180px;--site-gutter:30px}
.top .container,.page[data-page="product-design"] > .container{width:100%;max-width:var(--site-content-width);margin-inline:auto;padding-left:var(--site-gutter);padding-right:var(--site-gutter)}
@media(max-width:720px){:root{--site-gutter:20px}}


/* Game Design: same card system as Product Design, no speculative summaries or dates. */
.game-tabletop{padding-top:32px;padding-bottom:110px}
.cards .card-media{height:235px;padding:22px}
.cards .card-media img{display:block;width:100%;height:100%;object-fit:contain;max-height:none}
.cards .card-content{min-height:105px;justify-content:space-between}
.cards .card h3{line-height:1.35;margin:0}
.cards .card-actions{min-height:25px;margin-top:15px}
.coming-soon-card{cursor:default;opacity:.77}
.coming-soon-card:hover{transform:none;box-shadow:0 12px 28px #0004;border-color:var(--line)}
.coming-soon-label{font-size:12px;color:#b4c2d0;letter-spacing:.03em}
@media(max-width:650px){.cards .card-media{height:250px}.game-tabletop{padding-bottom:65px}}


/* Shared header/content alignment for Game Design. */
:root{--site-content-width:1180px;--site-gutter:30px}
.top .container, .page[data-page="game-design"] > .container{width:100%;max-width:var(--site-content-width);margin-inline:auto;padding-left:var(--site-gutter);padding-right:var(--site-gutter)}
@media(max-width:720px){:root{--site-gutter:20px}}
/* Clear status pill, not a navigation affordance. */
.coming-soon-label{display:inline-flex;align-items:center;justify-content:center;padding:5px 11px;border:1px solid #52677d;border-radius:999px;background:#1c2a3a;color:#c9d6e4;font-size:12px;font-weight:600;line-height:1.3;letter-spacing:.01em;white-space:nowrap}

.page{display:block!important}.container{width:100%;max-width:1180px;margin-left:auto;margin-right:auto;padding-left:30px;padding-right:30px}
.game-breadcrumbs{padding-top:35px;color:#9eafc1;font-size:13px}.game-breadcrumbs a{color:#9eafc1}.game-hero{padding-top:60px;padding-bottom:35px}.game-hero h1{font-size:clamp(38px,5vw,65px);margin:0 0 20px}.game-main{padding-bottom:110px}.game-main h2{font-size:clamp(26px,3vw,36px);margin:62px 0 24px}.game-main h3{font-size:clamp(22px,2.5vw,28px);margin:44px 0 22px}.game-main p{color:#c1cedc;font-size:16px;line-height:1.85;margin:0 0 23px}.game-main a{color:#a9d3ef;text-decoration:underline;text-underline-offset:3px}.game-main .two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;margin:24px 0 56px}.game-main .gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:25px 0 55px}.game-main figure{margin:0}.game-main .image-frame,.game-main .video-frame{background:#142031;border:1px solid #2a3a4c;border-radius:15px;padding:20px;box-shadow:0 12px 30px #0004;overflow:hidden}.game-main .image-frame img{width:100%;height:auto;display:block;max-height:660px;object-fit:contain;cursor:zoom-in}.game-main .image-frame figcaption{color:#aab9c9;font-size:13px;line-height:1.65;margin-top:15px}.game-main .video-frame{aspect-ratio:16/9;padding:12px}.game-main iframe{width:100%;height:100%;border:0;border-radius:7px}.game-main .gallery .image-frame{padding:14px}.game-main .two-col .image-frame + .image-frame{margin-top:22px}.game-main .group .two-col{margin-top:20px}.game-main .gallery .image-frame img{max-height:390px}.game-main .gallery .image-frame figcaption{font-size:13px}.game-main .solo-copy{max-width:850px}.game-main .text-pair{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin:30px 0 55px}.game-main .text-pair h2{margin-top:0}.zoomable:focus-visible{outline:3px solid #81b5d1;outline-offset:4px}
.viewer{position:fixed;inset:0;z-index:100;background:rgba(4,8,15,.96);display:none;flex-direction:column;align-items:center;justify-content:center;padding:55px 70px 30px}.viewer.open{display:flex}.viewer img{display:block;max-width:100%;max-height:calc(100vh - 130px);width:auto;height:auto;object-fit:contain}.viewer button{background:#182638;color:#f2f5fa;border:1px solid #536779;border-radius:9px;cursor:pointer;font-size:25px;padding:6px 14px}.viewer .close{position:absolute;right:25px;top:20px}.viewer .prev{position:absolute;left:18px;top:50%}.viewer .next{position:absolute;right:18px;top:50%}.viewer .caption{font-size:16px;color:#c1cedc;text-align:center;margin-top:15px}
@media(max-width:760px){.container{padding-left:20px;padding-right:20px}.game-main .two-col,.game-main .text-pair{grid-template-columns:1fr;gap:20px}.game-main .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.game-hero{padding-top:42px}.game-main h2{margin-top:42px}.viewer{padding:65px 35px 35px}.viewer .prev{left:3px}.viewer .next{right:3px}}
@media(max-width:480px){.game-main .gallery{grid-template-columns:1fr}}

