@font-face{font-family:"Alexandria";font-style:normal;font-weight:100 900;font-display:swap;src:url(/wp-content/uploads/faim-fonts/alexandria-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Alexandria";font-style:normal;font-weight:100 900;font-display:swap;src:url(/wp-content/uploads/faim-fonts/alexandria-arabic.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+200C-200E,U+2010-2011,U+FB50-FDFF,U+FE70-FEFC}
.bnd{--cb-red:#EA3F43;--cb-ink:#CC323A;--cb-warm:#F9F4F3;--cb-white:#fff;--cb-text:#2A1215;--bnd-panel:#0b0e0c;--bnd-line:rgba(255,255,255,.12);--bnd-ink:#f1efed;--bnd-dim:rgba(241,239,237,.74);--bnd-g:#55e039;--bnd-ease:cubic-bezier(.16,1,.3,1);--bnd-font:"Alexandria","Zalando Sans",Arial,sans-serif}
.bnd [lang="ar"]{font-family:"Alexandria",Tahoma,Arial,sans-serif}
.bnd [dir="rtl"]{text-align:right}
/* Hero */
.bnd-hero{position:relative;overflow:hidden;border-radius:18px;background:var(--cb-red);min-height:clamp(300px,42vw,440px);margin:28px 0 34px;display:flex;align-items:center;isolation:isolate;touch-action:pan-y}
.bnd-hero__canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;display:block}
.bnd-hero__copy{position:relative;z-index:1;padding:clamp(24px,4.5vw,56px);max-width:620px;pointer-events:none}
.bnd .bnd-kicker{font-family:var(--bnd-font);font-size:13px!important;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--cb-white);margin:0 0 14px!important}
.bnd-hero__line{font-family:var(--bnd-font);font-weight:700;color:var(--cb-white);font-size:clamp(38px,6.4vw,74px)!important;line-height:1.02!important;letter-spacing:-.02em;margin:0!important}
.bnd .bnd-hero__ar{font-weight:700;color:var(--cb-white);font-size:clamp(30px,4.6vw,52px)!important;line-height:1.3!important;margin:8px 0 22px!important;display:table;text-align:right}
.bnd-hero__hint{display:inline-block;font-family:var(--bnd-font);background:var(--cb-ink);color:var(--cb-white);font-size:14px!important;line-height:1.45!important;padding:9px 14px;border-radius:10px;margin:0!important;max-width:360px}
/* Jump + toc */
.bnd .bnd-jump{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 30px}
.bnd-toc{border:1px solid var(--bnd-line);border-radius:16px;padding:20px 24px;margin:30px 0 10px;background:var(--bnd-panel)}
.bnd .bnd-toc__title{font-family:var(--bnd-font);font-weight:700;font-size:15px!important;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px!important;color:var(--bnd-ink)}
.bnd-toc ol{margin:0!important;padding-left:1.2em!important;columns:2;column-gap:32px}
.bnd-toc li{margin:0 0 7px!important;break-inside:avoid}
.bnd-toc a{color:var(--bnd-ink)!important;text-decoration:none!important;border-bottom:1px solid rgba(255,255,255,.22)}
.bnd-toc a:hover,.bnd-toc a:focus-visible{border-color:var(--bnd-g)}
@media(max-width:700px){.bnd-toc ol{columns:1}}
.bnd h2[id]{scroll-margin-top:110px}
/* Slogan */
.bnd-slogan{background:var(--cb-warm);border-radius:16px;padding:clamp(22px,3.5vw,36px);margin:24px 0;border-left:6px solid var(--cb-red)}
.bnd .bnd-slogan p{color:var(--cb-text)!important;margin:0!important}
.bnd .bnd-slogan__en{font-family:var(--bnd-font);font-weight:700;font-size:clamp(22px,2.6vw,30px)!important;line-height:1.25!important;color:var(--cb-ink)!important}
.bnd .bnd-slogan__ar{font-weight:700;font-size:clamp(22px,2.6vw,30px)!important;line-height:1.6!important;color:var(--cb-ink)!important;margin:6px 0 12px!important}
.bnd .bnd-slogan__cta{font-family:var(--bnd-font);font-size:16px!important}
.bnd .bnd-slogan__cta span{display:inline-block;margin-left:6px}
/* Pillars */
.bnd-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0 30px}
@media(max-width:900px){.bnd-pillars{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.bnd-pillars{grid-template-columns:1fr}}
.bnd-pillar{background:var(--cb-warm);border-radius:14px;overflow:hidden;padding:0 18px 18px;position:relative}
.bnd-pillar__band,.bnd-card__band{display:block;height:12px;margin:0 -18px 16px;background:linear-gradient(90deg,var(--p) 0 62%,var(--t) 62% 100%)}
.bnd .bnd-pillar h3{font-family:var(--bnd-font);color:var(--cb-text)!important;font-size:20px!important;margin:0 0 2px!important;line-height:1.2!important}
.bnd .bnd-pillar p{color:var(--cb-text)!important;font-size:15px!important;line-height:1.5!important;margin:0!important}
.bnd .bnd-pillar .bnd-pillar__emo{font-family:var(--bnd-font);font-weight:500;font-size:13px!important;letter-spacing:.04em;margin:0 0 8px!important;opacity:.85}
/* Demos */
.bnd-demo{background:var(--bnd-panel);border:1px solid var(--bnd-line);border-radius:18px;padding:clamp(18px,3vw,30px);margin:26px 0;position:relative;overflow:hidden}
.bnd-demo::before{content:"";position:absolute;left:0;top:0;right:0;height:8px;background:linear-gradient(90deg,var(--p) 0 62%,var(--t) 62% 100%)}
.bnd .bnd-demo__head h3{font-family:var(--bnd-font);font-size:clamp(24px,2.6vw,32px)!important;margin:8px 0 6px!important;color:var(--bnd-ink)!important}
.bnd .bnd-demo__head p{color:var(--bnd-dim)!important;margin:0 0 16px!important}
.bnd .bnd-tag{display:inline-block;font-family:var(--bnd-font);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--bnd-ink);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:5px 11px}
.bnd-demo__stage{border-radius:14px;background:var(--p);padding:clamp(14px,2.4vw,24px);position:relative}
.bnd-hud{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;font-family:var(--bnd-font);font-size:14px;color:var(--cb-text)}
.bnd-hud span{background:rgba(249,244,243,.92);border-radius:999px;padding:6px 12px}
.bnd-hud b{font-weight:700;margin-left:4px}
.bnd .bnd-status{font-family:var(--bnd-font);font-size:16px!important;color:var(--bnd-ink)!important;margin:14px 0 10px!important;min-height:1.5em}
.bnd-controls{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center}
.bnd-controls .fb-btn{cursor:pointer;font-family:var(--bnd-font)}
.bnd-controls .fb-btn span[lang]{margin-left:6px}
.bnd-opt{font-family:var(--bnd-font);font-size:15px;color:var(--bnd-ink);display:inline-flex;gap:8px;align-items:center;cursor:pointer}
.bnd-opt input{width:18px;height:18px;accent-color:var(--bnd-g)}
.bnd .bnd-note{font-size:14px!important;color:var(--bnd-dim)!important;margin:12px 0 0!important;line-height:1.5!important}
/* Reflex pads */
.bnd-pads{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(8px,1.6vw,14px);max-width:440px;margin:0 auto}
.bnd-pad{aspect-ratio:1;border-radius:50%;border:3px solid rgba(42,18,21,.18);background:var(--t);color:var(--cb-text);font-family:var(--bnd-font);font-weight:700;font-size:15px;cursor:pointer;display:grid;place-items:center;transition:background .15s,transform .15s var(--bnd-ease),box-shadow .2s;padding:0}
.bnd-pad span{opacity:.55}
.bnd-pad:disabled{cursor:default}
.bnd-pad.is-lit{background:#fff;border-color:var(--cb-text);box-shadow:0 0 0 6px rgba(255,255,255,.35);transform:scale(1.04)}
.bnd-pad.is-lit span{opacity:1}
.bnd-pad.is-hit{background:var(--cb-text);color:#fff;transform:scale(.94)}
.bnd-pad.is-miss{box-shadow:inset 0 0 0 4px var(--cb-ink)}
.bnd-pad:focus-visible,.bnd-dish:focus-visible,.bnd-mirror:focus-visible,.bnd-car__track:focus-visible,.bnd-car__btn:focus-visible,.bnd-tablewrap:focus-visible{outline:3px solid #fff;outline-offset:3px}
/* Table dishes */
.bnd-dishes{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(8px,1.6vw,14px)}
@media(max-width:560px){.bnd-dishes{grid-template-columns:repeat(2,1fr)}}
.bnd-dish{border:0;border-radius:16px;background:var(--t);color:var(--cb-text);font-family:var(--bnd-font);font-weight:700;font-size:clamp(16px,1.8vw,20px);min-height:clamp(96px,13vw,140px);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;transition:background .15s,transform .15s var(--bnd-ease),box-shadow .2s;padding:10px}
.bnd-dish b{font-size:13px;opacity:.6;font-weight:500}
.bnd-dish:disabled{cursor:default}
.bnd-dish.is-on{background:#fff;box-shadow:0 0 0 6px rgba(255,255,255,.3);transform:scale(1.04)}
/* Mirror */
.bnd-mirror{display:block;width:100%;height:auto;aspect-ratio:16/10;border-radius:10px;background:var(--p)}
.bnd-mirror.is-playing{touch-action:none;cursor:crosshair}
/* Concepts */
.bnd-legend{border:1px dashed rgba(255,255,255,.25);border-radius:14px;padding:16px 18px;margin:18px 0 26px}
.bnd .bnd-legend p{margin:0 0 8px!important;font-size:15px!important;color:var(--bnd-dim)!important}
.bnd .bnd-legend p:last-child{margin:0!important}
.bnd .bnd-group{font-family:var(--bnd-font);margin-top:1.2em!important}
.bnd-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0 34px}
@media(max-width:820px){.bnd-cards{grid-template-columns:1fr}}
.bnd-card{background:var(--bnd-panel);border:1px solid var(--bnd-line);border-radius:16px;padding:0 18px 18px;overflow:hidden;position:relative}
.bnd .bnd-card h4{font-family:var(--bnd-font);font-size:21px!important;margin:10px 0 2px!important;color:var(--bnd-ink)!important;line-height:1.25!important}
.bnd .bnd-hook{font-family:var(--bnd-font);font-size:16px!important;color:var(--bnd-ink)!important;opacity:.9;margin:0 0 12px!important;font-style:italic}
.bnd-card dl{display:grid;grid-template-columns:118px 1fr;gap:6px 12px;margin:0 0 12px!important;font-size:15px;line-height:1.5}
.bnd-card dt{font-family:var(--bnd-font);font-weight:500;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--bnd-dim);padding-top:3px}
.bnd-card dd{margin:0!important;color:var(--bnd-ink)}
@media(max-width:420px){.bnd-card dl{grid-template-columns:1fr;gap:2px}.bnd-card dd{margin-bottom:8px!important}}
.bnd .bnd-why{font-size:15px!important;color:var(--bnd-dim)!important;margin:0!important;border-top:1px solid var(--bnd-line);padding-top:12px}
.bnd .bnd-why a,.bnd .bnd-card a{color:var(--bnd-ink)!important}
.bnd-status-tag{display:inline-block;font-family:var(--bnd-font);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:4px 10px;line-height:1.4;vertical-align:middle}
.bnd-status-tag.is-new{border:1px solid rgba(255,255,255,.5);color:var(--bnd-ink)}
.bnd-status-tag.is-delivered{border:1px solid var(--bnd-g);color:var(--bnd-g)}
.bnd-status-tag.is-done{background:var(--bnd-g);color:#06140a}
.bnd-status-tag.is-demo{border:1px solid #F6C644;color:#F6C644}
.bnd-status-tag.is-cat{border:1px solid rgba(255,255,255,.5);color:var(--bnd-ink)}
.bnd-figure{margin:30px 0 8px!important}
.bnd-figure img{width:100%;height:auto;border-radius:16px;display:block}
.bnd-figure figcaption{font-size:14px;color:var(--bnd-dim);margin-top:8px}
/* Matrix */
.bnd-tablewrap{overflow-x:auto;margin:26px 0;border:1px solid var(--bnd-line);border-radius:14px}
.bnd-matrix{width:100%;min-width:720px;border-collapse:collapse;font-size:15px;margin:0!important}
.bnd-matrix caption{text-align:left;font-family:var(--bnd-font);font-weight:700;padding:14px 16px 6px;color:var(--bnd-ink)}
.bnd-matrix th,.bnd-matrix td{padding:11px 14px;border-top:1px solid var(--bnd-line);text-align:left;vertical-align:top;color:var(--bnd-ink)}
.bnd-matrix thead th{font-family:var(--bnd-font);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--bnd-dim);font-weight:500}
.bnd-matrix tbody th{font-family:var(--bnd-font);font-weight:500}
/* Steps */
.bnd-steps{list-style:none!important;padding:0!important;margin:22px 0 26px!important;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;counter-reset:s}
.bnd-steps li{counter-increment:s;background:var(--bnd-panel);border:1px solid var(--bnd-line);border-radius:14px;padding:14px 12px;margin:0!important;position:relative}
.bnd-steps li::before{content:counter(s);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--cb-red);color:#fff;font-family:var(--bnd-font);font-weight:700;font-size:13px;margin-bottom:10px}
.bnd-steps b{display:block;font-family:var(--bnd-font);font-size:15px;color:var(--bnd-ink);line-height:1.25}
.bnd-steps span{display:block;font-family:var(--bnd-font);font-size:12px;color:#F6C644;margin:4px 0 6px}
.bnd .bnd-steps p{font-size:14px!important;line-height:1.45!important;color:var(--bnd-dim)!important;margin:0!important}
@media(max-width:1100px){.bnd-steps{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:640px){.bnd-steps{grid-template-columns:1fr}.bnd-steps li{display:grid;grid-template-columns:36px 1fr;column-gap:10px}.bnd-steps li::before{grid-row:span 3;margin:0}}
/* Carousel */
.bnd-car{margin:22px 0 34px}
.bnd-car__track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:2px 2px 14px;scrollbar-width:thin;position:relative}
.bnd-car__slide{flex:0 0 min(84%,640px);scroll-snap-align:start;margin:0!important;background:var(--bnd-panel);border:1px solid var(--bnd-line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.bnd-car__slide img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top center;height:auto}
.bnd-car__slide figcaption{padding:14px 16px 18px;font-size:15px;line-height:1.5;color:var(--bnd-ink);display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.bnd-car__slide figcaption strong{font-family:var(--bnd-font);font-size:18px}
.bnd-car__slide figcaption>span:not(.bnd-status-tag){color:var(--bnd-dim)}
.bnd-car__slide figcaption a{color:var(--bnd-g)!important;font-family:var(--bnd-font);font-size:14px;text-decoration:none!important}
.bnd-car__nav{display:flex;align-items:center;gap:14px;justify-content:flex-end;margin-top:6px}
.bnd-car__btn{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:transparent;color:var(--bnd-ink);font-size:20px;cursor:pointer;line-height:1}
.bnd-car__btn:hover{border-color:var(--bnd-g)}
.bnd-car__btn:disabled{opacity:.35;cursor:default}
.bnd-car__count{font-family:var(--bnd-font);font-size:14px;color:var(--bnd-dim);min-width:48px;text-align:center}
/* Tiers */
.bnd-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0 24px}
@media(max-width:900px){.bnd-tiers{grid-template-columns:1fr}}
.bnd-tier{background:var(--bnd-panel);border:1px solid var(--bnd-line);border-radius:16px;padding:20px}
.bnd .bnd-tier h3{font-family:var(--bnd-font);font-size:20px!important;margin:10px 0 10px!important}
.bnd .bnd-tier p{font-size:15px!important;line-height:1.5!important;margin:0 0 8px!important;color:var(--bnd-dim)!important}
.bnd .bnd-tier p strong{color:var(--bnd-ink)}
/* Thanks */
.bnd-thanks{background:var(--cb-ink);border-radius:18px;padding:clamp(24px,4vw,44px);margin:40px 0 28px}
.bnd .bnd-thanks h2{font-family:var(--bnd-font);color:#fff!important;margin:0 0 16px!important}
.bnd .bnd-thanks p{color:#fff!important}
.bnd .bnd-thanks .bnd-kicker{margin-bottom:8px!important}
.bnd .bnd-thanks__ar{font-size:24px!important;font-weight:700;margin:14px 0 0!important}
@media(prefers-reduced-motion:reduce){.bnd *{transition:none!important;animation:none!important}}
/* v2 fixes after live check: heading weight, single-column cards in the narrow reading column, step grid */
.bnd .bnd-pillar h3,.bnd .bnd-demo__head h3,.bnd .bnd-card h4,.bnd .bnd-tier h3,.bnd .bnd-group,.bnd .bnd-thanks h2,.bnd-car__slide figcaption strong{font-weight:700!important}
.bnd-cards{grid-template-columns:1fr!important}
.bnd-card dl{grid-template-columns:150px 1fr}
.bnd-steps{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}
.bnd-steps li{list-style:none!important}
.bnd-steps li::marker{content:""}
.bnd-steps span{line-height:1.3!important;margin:4px 0 8px!important}
@media(max-width:640px){.bnd-steps{grid-template-columns:1fr!important}}
/* v3: theme table override */
.bnd .bnd-matrix,.bnd .bnd-matrix tr,.bnd .bnd-matrix th,.bnd .bnd-matrix td{background:#0b0e0c!important;color:#f1efed!important;text-align:left!important;border-color:rgba(255,255,255,.12)!important}
.bnd .bnd-matrix thead th{color:rgba(241,239,237,.74)!important}
.bnd .bnd-matrix tbody tr:nth-child(even) th,.bnd .bnd-matrix tbody tr:nth-child(even) td{background:#111512!important}
/* FAIM · Bahrain National Day landing site. Loaded after bnd.css (shared game styles). */
:root{--bg:#040705;--bg2:#0a0d0b;--panel:#0d110e;--line:rgba(255,255,255,.11);--ink:#F2F5F0;--dim:rgba(242,245,240,.72);--mute:rgba(242,245,240,.5);--g:#55e039;--red:#EA3F43;--inkred:#CC323A;--warm:#F9F4F3;--text:#2A1215;--f:"Alexandria","Zalando Sans",Arial,sans-serif;--ease:cubic-bezier(.16,1,.3,1);--w:1200px;--hh:76px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body.nd{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f);font-size:17px;line-height:1.6;overflow-x:clip}
.nd img{max-width:100%;height:auto;display:block}
.nd a{color:inherit}
.nd :focus-visible{outline:3px solid var(--g);outline-offset:3px;border-radius:6px}
.nd p{margin:0 0 1em}
.nd h1,.nd h2,.nd h3,.nd h4{font-family:var(--f);font-weight:700;line-height:1.08;letter-spacing:-.02em;margin:0 0 .5em;color:var(--ink)}
.nd h2{font-size:clamp(30px,4.4vw,54px)}
.nd h3{font-size:clamp(20px,2vw,24px);line-height:1.2}
.nd-skip{position:absolute;left:-9999px;top:0;background:var(--g);color:#000;padding:10px 14px;z-index:100}
.nd-skip:focus{left:12px;top:12px}
.nd-wrap{width:100%;max-width:var(--w);margin:0 auto;padding:0 20px}
.nd-sec{padding:clamp(64px,9vw,120px) 0;position:relative}
.nd-sec.alt{background:var(--bg2)}
.nd-kick{font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--g);margin:0 0 14px}
.nd-lead{font-size:clamp(18px,1.7vw,21px);color:var(--dim);max-width:640px}
.nd-head{max-width:760px;margin-bottom:clamp(28px,4vw,48px)}
.nd-head p{color:var(--dim);font-size:18px;margin:0}
/* Buttons */
.nd-btn,.fb-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border-radius:999px;font-family:var(--f);font-size:16px;font-weight:700;text-decoration:none!important;border:1.5px solid transparent;cursor:pointer;transition:transform .2s var(--ease),background .2s,border-color .2s,color .2s;white-space:nowrap;line-height:1}
.nd-btn:hover,.fb-btn:hover{transform:translateY(-2px)}
.nd-btn--g,.fb-btn--primary{background:var(--g);color:#06140a!important}
.nd-btn--w{background:#fff;color:var(--inkred)!important}
.nd-btn--o,.fb-btn--ghost{background:transparent;color:var(--ink)!important;border-color:rgba(255,255,255,.4)}
.nd-btn--o:hover,.fb-btn--ghost:hover{border-color:var(--g)}
.nd-btn--ow{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.75)}
.nd-btn svg{width:18px;height:18px;flex:none}
.nd-btns{display:flex;flex-wrap:wrap;gap:12px}
.nd-link{color:var(--g)!important;font-weight:700;text-decoration:none!important;display:inline-flex;align-items:center;gap:8px}
.nd-link::after{content:"\2192";transition:transform .2s var(--ease)}
.nd-link:hover::after{transform:translateX(4px)}
/* Header */
.nd-hdr{position:fixed;inset:0 0 auto 0;height:var(--hh);z-index:60;background:rgba(4,7,5,.86);backdrop-filter:saturate(1.2) blur(12px);-webkit-backdrop-filter:saturate(1.2) blur(12px);border-bottom:1px solid var(--line);transition:transform .3s var(--ease)}
.nd-hdr.is-hidden{transform:translateY(-100%)}
.nd-hdr .nd-wrap{height:100%;display:flex;align-items:center;gap:20px}
.nd-logo{display:flex;align-items:center;flex:none}
.nd-logo img{height:30px;width:auto}
.nd-nav{display:flex;gap:4px;margin-left:auto}
.nd-nav a{font-size:15px;font-weight:500;text-decoration:none;padding:8px 12px;border-radius:999px;color:var(--dim)}
.nd-nav a:hover,.nd-nav a[aria-current="page"]{color:var(--ink);background:rgba(255,255,255,.07)}
.nd-hdr .nd-btn{min-height:42px;padding:0 18px;font-size:15px}
.nd-burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:transparent;color:var(--ink);cursor:pointer;align-items:center;justify-content:center}
.nd-burger svg{width:20px;height:20px}
@media(max-width:1060px){.nd-nav{display:none}.nd-burger{display:inline-flex}.nd-hdr .nd-call{margin-left:auto}}
@media(max-width:420px){.nd-hdr .nd-call{padding:0 14px;font-size:14px}.nd-logo img{height:24px}}
.nd-menu{position:fixed;inset:0;z-index:80;visibility:hidden}
.nd-menu.is-open{visibility:visible}
.nd-menu__veil{position:absolute;inset:0;background:rgba(0,0,0,.6);opacity:0;transition:opacity .3s}
.nd-menu__pane{position:absolute;top:0;right:0;bottom:0;width:min(380px,100%);background:#0a0d0b;border-left:1px solid var(--line);padding:22px 24px 30px;transform:translateX(100%);transition:transform .35s var(--ease);overflow-y:auto;display:flex;flex-direction:column;gap:6px}
.nd-menu.is-open .nd-menu__veil{opacity:1}
.nd-menu.is-open .nd-menu__pane{transform:none}
.nd-menu__pane .nd-x{align-self:flex-end}
.nd-menu__pane a.m{display:block;font-size:20px;font-weight:700;text-decoration:none;padding:10px 0;border-bottom:1px solid var(--line)}
.nd-menu__pane a.m[aria-current="page"]{color:var(--g)}
.nd-menu__pane .nd-btn{margin-top:18px}
.nd-x{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:transparent;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.nd-x svg{width:18px;height:18px}
main{padding-top:var(--hh)}
/* Hero */
.nd-hero{position:relative;min-height:calc(100svh - var(--hh));display:flex;align-items:center;background:var(--red);overflow:hidden;isolation:isolate;touch-action:pan-y}
.nd-hero .bnd-hero__canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.nd-hero__in{position:relative;z-index:1;padding-top:clamp(48px,8vw,90px);padding-bottom:clamp(48px,8vw,90px)}
.nd-hero .nd-kick{color:#fff}
.nd-hero h1{font-size:clamp(46px,9.2vw,124px);line-height:.94;letter-spacing:-.035em;text-transform:uppercase;color:#fff;max-width:11ch;margin:0 0 24px}
.nd-hero .nd-lead{color:#fff;max-width:600px;margin-bottom:30px}
.nd-hero__ar{font-size:clamp(22px,2.6vw,30px);font-weight:700;color:#fff;margin:26px 0 0;display:inline-block}
.nd-chip{display:inline-flex;align-items:center;gap:8px;background:var(--inkred);color:#fff;border-radius:999px;padding:8px 14px;font-size:14px;margin-top:22px}
.nd-chip i{width:8px;height:8px;border-radius:50%;background:#fff;animation:ndPulse 1.8s ease-in-out infinite}
@keyframes ndPulse{50%{transform:scale(1.8);opacity:.4}}
.nd-hero .nd-btns{pointer-events:auto}
.nd-hero__copy{pointer-events:none}
.nd-hero__copy a,.nd-hero__copy button{pointer-events:auto}
/* Page hero (sub-pages) */
.nd-phero{position:relative;overflow:hidden;background:var(--ph,#EA3F43);padding:clamp(56px,8vw,104px) 0 clamp(48px,7vw,88px)}
.nd-phero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 1px 1px,rgba(255,255,255,.22) 1.5px,transparent 2px) 0 0/26px 26px;-webkit-mask-image:linear-gradient(90deg,transparent 35%,#000);mask-image:linear-gradient(90deg,transparent 35%,#000);pointer-events:none}
.nd-phero.dark-text,.nd-phero.dark-text h1,.nd-phero.dark-text .nd-kick,.nd-phero.dark-text .nd-lead{color:var(--text)}
.nd-phero.dark-text::after{background:radial-gradient(circle at 1px 1px,rgba(42,18,21,.22) 1.5px,transparent 2px) 0 0/26px 26px}
.nd-phero .nd-wrap{position:relative;z-index:1}
.nd-phero h1{font-size:clamp(36px,6vw,76px);line-height:1;letter-spacing:-.03em;color:#fff;max-width:16ch;margin:0 0 18px}
.nd-phero .nd-kick{color:#fff}
.nd-phero .nd-lead{color:#fff;margin-bottom:28px}
.nd-back{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:700;text-decoration:none!important;padding:9px 16px;border-radius:999px;border:1.5px solid currentColor;margin-bottom:28px;opacity:.95}
.nd-back:hover{opacity:1;transform:translateX(-2px)}
.nd-back::before{content:"\2190"}
.nd-phero .nd-back{color:#fff}
.nd-phero.dark-text .nd-back{color:var(--text)}
.nd-phero.dark-text .nd-btn--ow{color:var(--text)!important;border-color:var(--text)}
.nd-phero .nd-btn--w{color:var(--text)!important}
/* Steps on landing */
.nd-steps3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media(max-width:860px){.nd-steps3{grid-template-columns:1fr}}
.nd-step{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:26px}
.nd-step svg{width:100%;height:150px;display:block;margin-bottom:18px;border-radius:14px;background:#0a0e0b}
.nd-step b{display:block;font-size:13px;color:var(--g);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
.nd-step p{color:var(--dim);margin:0}
/* Game preview cards */
.nd-games{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media(max-width:960px){.nd-games{grid-template-columns:1fr}}
.nd-game{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:20px;overflow:hidden;text-decoration:none!important;transition:transform .25s var(--ease),border-color .25s}
.nd-game:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.3)}
.nd-game__art{height:200px;background:var(--p);position:relative;overflow:hidden;display:grid;place-items:center}
.nd-game__body{padding:20px 22px 24px}
.nd-game__body span{display:block;font-size:13px;color:var(--mute);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.nd-game__body h3{margin-bottom:6px}
.nd-game__body p{color:var(--dim);margin:0 0 12px}
/* mini previews */
.mini-pads{display:grid;grid-template-columns:repeat(3,34px);gap:10px}
.mini-pads i{width:34px;height:34px;border-radius:50%;background:#F6C644;box-shadow:inset 0 0 0 2px rgba(42,18,21,.15)}
.mini-pads i:nth-child(2){animation:mpLit 3.6s infinite}.mini-pads i:nth-child(7){animation:mpLit 3.6s infinite 1.2s}.mini-pads i:nth-child(6){animation:mpLit 3.6s infinite 2.4s}
@keyframes mpLit{0%,22%{background:#fff;box-shadow:0 0 0 6px rgba(255,255,255,.35)}30%,100%{background:#F6C644}}
.mini-dish{display:grid;grid-template-columns:repeat(2,54px);gap:10px}
.mini-dish i{width:54px;height:54px;border-radius:12px;background:#EC692C}
.mini-dish i:nth-child(1){animation:mdOn 4s infinite}.mini-dish i:nth-child(4){animation:mdOn 4s infinite .9s}.mini-dish i:nth-child(2){animation:mdOn 4s infinite 1.8s}
@keyframes mdOn{0%,18%{background:#fff;transform:scale(1.06)}26%,100%{background:#EC692C;transform:none}}
.mini-mirror{width:150px;height:150px;animation:mmSpin 24s linear infinite}
@keyframes mmSpin{to{transform:rotate(360deg)}}
.is-off .mini-pads i,.is-off .mini-dish i,.is-off .mini-mirror,.is-off .nd-chip i{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.mini-pads i,.mini-dish i,.mini-mirror,.nd-chip i{animation:none!important}}
/* Workflow */
.nd-flow{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:clamp(18px,3vw,34px);position:relative}
.nd-flow__track{position:relative;display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:10px;margin:8px 0 6px}
.nd-flow__line{position:absolute;left:6%;right:6%;top:34px;height:2px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.28) 0 8px,transparent 8px 16px);z-index:0}
.nd-flow__dot{position:absolute;top:28px;left:6%;width:14px;height:14px;border-radius:50%;background:var(--g);box-shadow:0 0 0 6px rgba(85,224,57,.18);z-index:1;transform:translateX(-50%);opacity:0}
.nd-node{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;background:none;border:0;color:var(--ink);font-family:var(--f);cursor:pointer;padding:0 2px}
.nd-node .ic{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#111612;border:1.5px solid rgba(255,255,255,.22);transition:background .25s,border-color .25s,transform .25s var(--ease)}
.nd-node .ic svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nd-node b{font-size:15px}
.nd-node small{font-size:13px;color:var(--mute);line-height:1.35}
.nd-node.is-on .ic,.nd-node[aria-pressed="true"] .ic{background:var(--g);border-color:var(--g);color:#06140a;transform:scale(1.06)}
.nd-flow__detail{margin-top:22px;border-top:1px solid var(--line);padding-top:20px;min-height:96px}
.nd-flow__detail h4{font-size:19px;margin-bottom:6px}
.nd-flow__detail p{color:var(--dim);margin:0}
@media(max-width:760px){
 .nd-flow__track{grid-template-columns:1fr;gap:0}
 .nd-flow__line{left:33px;right:auto;top:20px;bottom:20px;width:2px;height:auto;background:repeating-linear-gradient(180deg,rgba(255,255,255,.28) 0 8px,transparent 8px 16px)}
 .nd-flow__dot{left:33px;top:20px;transform:translate(-50%,-50%)}
 .nd-node{flex-direction:row;text-align:left;align-items:center;gap:14px;padding:8px 0}
 .nd-node .ic{width:52px;height:52px;flex:none;margin-left:7px}
 .nd-node .ic svg{width:22px;height:22px}
 .nd-node span.t{display:flex;flex-direction:column}
}
/* Architecture */
.nd-arch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;position:relative}
@media(max-width:900px){.nd-arch{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.nd-arch{grid-template-columns:1fr}}
.nd-layer{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:20px;position:relative;overflow:hidden}
.nd-layer b{display:block;font-size:13px;color:var(--g);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
.nd-layer ul{list-style:none;margin:0;padding:0}
.nd-layer li{padding:8px 0;border-top:1px solid var(--line);font-size:15px;color:var(--dim)}
.nd-layer::after{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,transparent,var(--g),transparent);transform:translateX(-100%)}
.nd-arch.is-live .nd-layer::after{animation:ndScan 3.2s var(--ease) infinite}
.nd-arch.is-live .nd-layer:nth-child(2)::after{animation-delay:.4s}.nd-arch.is-live .nd-layer:nth-child(3)::after{animation-delay:.8s}.nd-arch.is-live .nd-layer:nth-child(4)::after{animation-delay:1.2s}
@keyframes ndScan{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){.nd-arch .nd-layer::after{display:none}}
/* Ideas tiles */
.nd-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media(max-width:1000px){.nd-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.nd-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.nd-tiles{grid-template-columns:1fr}}
.nd-tile{display:block;background:var(--warm);color:var(--text)!important;border-radius:16px;overflow:hidden;text-decoration:none!important;transition:transform .25s var(--ease)}
.nd-tile:hover{transform:translateY(-3px)}
.nd-tile i{display:block;height:10px;background:linear-gradient(90deg,var(--p) 0 62%,var(--t) 62% 100%)}
.nd-tile div{padding:14px 16px 16px}
.nd-tile small{font-size:12px;font-weight:500;letter-spacing:.06em;opacity:.75}
.nd-tile b{display:block;font-size:17px;line-height:1.25;margin:4px 0}
.nd-tile span{font-size:14px;opacity:.85;line-height:1.4;display:block}
/* Venue cards */
.nd-venues{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media(max-width:860px){.nd-venues{grid-template-columns:1fr}}
.nd-venue{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:260px;border-radius:22px;padding:26px;overflow:hidden;background:var(--p);color:#fff!important;text-decoration:none!important;transition:transform .25s var(--ease)}
.nd-venue.dark-text{color:var(--text)!important}
.nd-venue:hover{transform:translateY(-4px)}
.nd-venue svg{position:absolute;right:-20px;top:-20px;width:220px;height:220px;opacity:.35}
.nd-venue h3{color:inherit;font-size:clamp(24px,2.4vw,30px);position:relative}
.nd-venue p{position:relative;margin:0 0 14px;opacity:.92}
.nd-venue span{position:relative;font-weight:700}
.nd-venue span::after{content:" \2192"}
/* Film */
.nd-film{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(24px,4vw,56px);align-items:center}
@media(max-width:900px){.nd-film{grid-template-columns:1fr}}
.nd-player{position:relative;border-radius:22px;overflow:hidden;background:#000;aspect-ratio:16/9;border:1px solid var(--line)}
.nd-player video,.nd-player img{width:100%;height:100%;object-fit:cover;display:block}
.nd-play{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.45));border:0;cursor:pointer;color:#fff;font-family:var(--f)}
.nd-play span{display:inline-flex;align-items:center;gap:12px;background:var(--g);color:#06140a;border-radius:999px;padding:14px 22px;font-weight:700;font-size:16px}
.nd-play svg{width:18px;height:18px}
.nd-facts{list-style:none;padding:0;margin:20px 0 26px;display:grid;gap:10px}
.nd-facts li{display:flex;gap:12px;align-items:flex-start;color:var(--dim)}
.nd-facts li::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--g);margin-top:9px}
/* Proof */
.nd-proof{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
@media(max-width:960px){.nd-proof{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.nd-proof{grid-template-columns:1fr}}
.nd-pcard{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;text-decoration:none!important;display:flex;flex-direction:column}
.nd-pcard img{aspect-ratio:4/3;object-fit:cover;width:100%}
.nd-pcard div{padding:14px 16px 18px}
.nd-pcard small{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--g);color:#06140a;border-radius:999px;padding:3px 9px;margin-bottom:8px}
.nd-pcard b{display:block;font-size:16px;line-height:1.3}
.nd-pcard span{display:block;font-size:14px;color:var(--dim);margin-top:4px}
/* CTA band */
.nd-cta{background:var(--red);border-radius:28px;padding:clamp(34px,6vw,72px);position:relative;overflow:hidden;text-align:left}
.nd-cta::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 1px 1px,rgba(255,255,255,.2) 1.5px,transparent 2px) 0 0/24px 24px;-webkit-mask-image:linear-gradient(90deg,transparent 40%,#000);mask-image:linear-gradient(90deg,transparent 40%,#000);pointer-events:none}
.nd-cta>*{position:relative;z-index:1}
.nd-cta h2{color:#fff;font-size:clamp(34px,5.6vw,72px);text-transform:uppercase;letter-spacing:-.03em;line-height:.96;margin-bottom:14px}
.nd-cta .ar{font-size:clamp(22px,2.6vw,32px);font-weight:700;color:#fff;margin:0 0 18px;display:inline-block}
.nd-cta p{color:#fff;max-width:560px;font-size:18px}
.nd-thanks{border:1px solid var(--line);border-radius:22px;padding:clamp(22px,4vw,40px);background:var(--panel)}
.nd-thanks h2{font-size:clamp(24px,3vw,34px)}
.nd-thanks p{color:var(--dim)}
.nd-thanks .ar{font-size:22px;font-weight:700;color:var(--ink);margin:0}
/* Prose blocks on sub-pages */
.nd-prose{max-width:780px}
.nd-prose p,.nd-prose li{color:var(--dim)}
.nd-prose strong{color:var(--ink)}
.nd-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media(max-width:760px){.nd-list{grid-template-columns:1fr}}
.nd-list li{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px 20px;color:var(--dim);font-size:16px}
.nd-list li b{display:block;color:var(--ink);font-size:17px;margin-bottom:4px}
.nd-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:start}
@media(max-width:860px){.nd-split{grid-template-columns:1fr}}
.nd-note{border:1px dashed rgba(255,255,255,.25);border-radius:16px;padding:18px 20px;color:var(--dim);font-size:15px}
.nd-note a{color:var(--ink)}
.nd-panels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
@media(max-width:960px){.nd-panels{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.nd-panels{grid-template-columns:1fr}}
.nd-panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px}
.nd-panel svg{width:36px;height:36px;stroke:var(--g);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-bottom:12px}
.nd-panel h3{font-size:19px}
.nd-panel p{color:var(--dim);font-size:15px;margin:0}
.nd-time{list-style:none;padding:0;margin:0;position:relative}
.nd-time::before{content:"";position:absolute;left:13px;top:8px;bottom:8px;width:2px;background:var(--line)}
.nd-time li{position:relative;padding:0 0 26px 48px}
.nd-time li::before{content:"";position:absolute;left:6px;top:6px;width:16px;height:16px;border-radius:50%;background:var(--bg);border:3px solid var(--g)}
.nd-time b{display:block;font-size:18px}
.nd-time span{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--g);margin:2px 0 6px}
.nd-time p{color:var(--dim);margin:0}
.nd-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.nd-filter button{font-family:var(--f);font-size:15px;font-weight:500;padding:9px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.3);background:transparent;color:var(--ink);cursor:pointer}
.nd-filter button[aria-pressed="true"]{background:var(--ink);color:#040705;border-color:var(--ink)}
.bnd-card[hidden]{display:none!important}
.nd-next{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:26px;margin-top:10px}
.nd-faq details{border-top:1px solid var(--line);padding:4px 0}
.nd-faq details:last-child{border-bottom:1px solid var(--line)}
.nd-faq summary{cursor:pointer;list-style:none;font-size:clamp(18px,1.8vw,21px);font-weight:700;padding:18px 40px 18px 0;position:relative}
.nd-faq summary::-webkit-details-marker{display:none}
.nd-faq summary::after{content:"+";position:absolute;right:6px;top:14px;font-size:26px;font-weight:400;color:var(--g)}
.nd-faq details[open] summary::after{content:"\2212"}
.nd-faq details p{color:var(--dim);margin:0 0 20px;max-width:760px}
.nd-sources{font-size:14px;color:var(--mute)}
.nd-sources a{color:var(--dim)}
.nd-sources li{margin-bottom:6px}
.nd-table{overflow-x:auto;border:1px solid var(--line);border-radius:16px}
.nd-table table{width:100%;min-width:560px;border-collapse:collapse;font-size:15px}
.nd-table th,.nd-table td{text-align:left;padding:12px 16px;border-top:1px solid var(--line);vertical-align:top}
.nd-table thead th{border-top:0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);font-weight:500}
.nd-table td{color:var(--dim)}
/* Footer */
.nd-ftr{border-top:1px solid var(--line);padding:56px 0 40px;margin-top:40px}
.nd-ftr .nd-wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
@media(max-width:860px){.nd-ftr .nd-wrap{grid-template-columns:1fr}}
.nd-ftr img{height:30px;width:auto;margin-bottom:14px}
.nd-ftr p,.nd-ftr li{color:var(--dim);font-size:15px}
.nd-ftr h4{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:12px}
.nd-ftr ul{list-style:none;padding:0;margin:0}
.nd-ftr li{margin-bottom:8px}
.nd-ftr a{text-decoration:none}
.nd-ftr a:hover{color:var(--g)}
.nd-ftr .copy{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;font-size:13px;color:var(--mute)}
/* Sticky mobile CTA */
.nd-dock{display:none}
@media(max-width:760px){
 .nd-dock{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:55;gap:10px;transform:translateY(140%);transition:transform .35s var(--ease)}
 .nd-dock.is-on{transform:none}
 .nd-dock .nd-btn{flex:1;min-height:52px;box-shadow:0 10px 30px rgba(0,0,0,.45)}
 body.nd{padding-bottom:84px}
}
/* Modals */
.nd-modal{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;padding:16px}
.nd-modal.is-open{display:flex}
.nd-modal__veil{position:absolute;inset:0;background:rgba(0,0,0,.78)}
.nd-modal__box{position:relative;width:min(560px,100%);max-height:calc(100svh - 32px);overflow-y:auto;background:#0b0f0c;border:1px solid var(--line);border-radius:22px;padding:26px}
.nd-modal--film .nd-modal__box{width:min(1100px,100%);padding:0;background:#000;overflow:hidden}
.nd-modal--film video{display:block;width:100%;max-height:calc(100svh - 120px);background:#000}
.nd-modal__top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.nd-modal--film .nd-modal__top{position:absolute;top:10px;right:10px;z-index:2;margin:0}
.nd-modal h3{margin:0}
.nd-form label{display:block;font-size:14px;font-weight:500;margin:14px 0 6px;color:var(--ink)}
.nd-form .row{display:flex;gap:8px}
.nd-form input,.nd-form select,.nd-form textarea{width:100%;min-height:50px;border-radius:12px;border:1px solid rgba(255,255,255,.22);background:#121714;color:var(--ink);font-family:var(--f);font-size:16px;padding:0 14px}
.nd-form textarea{min-height:84px;padding:12px 14px;resize:vertical}
.nd-form select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--dim) 50%),linear-gradient(135deg,var(--dim) 50%,transparent 50%);background-position:calc(100% - 20px) 22px,calc(100% - 14px) 22px;background-size:6px 6px;background-repeat:no-repeat;padding-right:34px}
.nd-form .cc{flex:0 0 116px}
.nd-form .pref{display:flex;flex-wrap:wrap;gap:8px}
.nd-form .pref label{margin:0;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:10px 14px;cursor:pointer;font-size:15px}
.nd-form .pref input{width:18px;height:18px;min-height:0;accent-color:var(--g)}
.nd-form .err{color:#ff8a8d;font-size:14px;margin:6px 0 0;min-height:0}
.nd-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.nd-form .nd-btn{width:100%;margin-top:20px}
.nd-form .small{font-size:13px;color:var(--mute);margin:12px 0 0}
.nd-done{text-align:left}
.nd-done svg{width:54px;height:54px;stroke:var(--g);fill:none;stroke-width:2;margin-bottom:10px}
/* Reveal */
.nd-rv{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.nd-rv.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.nd-rv{opacity:1;transform:none;transition:none}}
.no-js .nd-rv{opacity:1;transform:none}
/* Games/cards from shared styles, adjusted for the landing layout */
.nd .bnd-demo{margin:0 0 28px}
.nd .bnd-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.nd .bnd-cards{grid-template-columns:1fr}}
.nd .bnd-card dl{grid-template-columns:120px 1fr}
.nd .bnd-car__slide{flex-basis:min(78%,560px)}
.nd .bnd-tiers{margin:0}
.nd .bnd-steps{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));list-style:none;padding:0;margin:0}
.nd .bnd-steps li::marker{content:""}
.nd .bnd-matrix{min-width:720px}
.nd .fb-checklist{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:760px){.nd .fb-checklist{grid-template-columns:1fr}}
.nd .fb-checklist li{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 18px;color:var(--dim);font-size:15px}
.nd .fb-checklist li strong{color:var(--ink)}
/* review fixes */
.nd .nd-hero.bnd-hero{border-radius:0;margin:0;min-height:calc(100svh - var(--hh))}
.nd-node span.t{display:flex;flex-direction:column;gap:2px}
.nd-venue svg{right:18px;top:18px;width:120px;height:120px;opacity:.3}
.nd-play{place-items:end start;padding:18px}
.nd-sec{padding:clamp(56px,7vw,96px) 0}
.nd-sec.tight-top{padding-top:0}

/* overflow fix v1 */
html{overflow-x:clip}.nd-menu{overflow:hidden}

/* menu fix v2 */
.nd-menu__pane>*{flex:none}
/* ---------- Contour elements (guideline p31) ---------- */
@keyframes nd-draw{to{stroke-dashoffset:0}}
@keyframes nd-spin{to{transform:rotate(360deg)}}
.nd-contour{position:absolute;pointer-events:none;fill:none;stroke:rgba(255,255,255,.2);stroke-width:.34;stroke-linejoin:round;stroke-linecap:round;z-index:0;overflow:visible}
.nd-contour>g{transform-origin:50px 50px;animation:nd-spin 160s linear infinite}
.nd-contour path,.nd-el__main path,.nd-el__copy path{stroke-dasharray:1;stroke-dashoffset:1;animation:nd-draw 2.6s var(--ease) forwards;animation-delay:calc(var(--i,0)*.09s + .15s)}
.nd-phero>.nd-contour{right:-7%;top:50%;width:min(66vw,640px);aspect-ratio:1;transform:translate3d(0,calc(-50% + var(--py,0px)),0)}
.nd-phero.dark-text>.nd-contour{stroke:rgba(42,18,21,.16)}
.nd-contour--hero{right:-6%;top:50%;width:min(74vw,820px);aspect-ratio:1;transform:translate3d(0,calc(-50% + var(--py,0px)),0);stroke:rgba(255,255,255,.17)}
.nd-hero .nd-contour--hero{z-index:0}
.nd-cta>.nd-contour{position:absolute;z-index:0;right:-12%;top:50%;width:min(70vw,560px);aspect-ratio:1;transform:translateY(-50%);stroke:rgba(255,255,255,.2)}
.nd-cta:not(.is-in)>.nd-contour path{animation:none}
html.no-js .nd-contour path{stroke-dashoffset:0}
@media(max-width:760px){.nd-phero>.nd-contour{right:-28%;width:92vw;top:38%}.nd-contour--hero{right:-30%;width:110vw;top:30%}.nd-cta>.nd-contour{right:-40%;width:110vw}}

.nd-el{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,4vw,56px);align-items:center}
.nd-el__stagewrap{text-align:center;min-width:0}
.nd-el__stage{--c:#F1A239;display:block;width:100%;max-width:540px;margin:0 auto;aspect-ratio:1;border:1px solid var(--line);border-radius:32px;cursor:pointer;padding:0;touch-action:pan-y;
 background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--c) 22%,transparent),transparent 62%),var(--panel);transition:background .6s var(--ease),box-shadow .6s var(--ease);overflow:hidden;-webkit-tap-highlight-color:transparent}
.nd-el__stage:focus-visible{outline:3px solid var(--g);outline-offset:4px}
.nd-el__stage svg{width:100%;height:100%;display:block;fill:none;stroke:var(--c);stroke-width:.9;stroke-linejoin:round;stroke-linecap:round;overflow:visible;transition:stroke .6s var(--ease)}
.nd-el__spin{transform-origin:50px 50px;transform:rotate(var(--rot,0deg))}
.nd-el__main{transform-origin:50px 50px;transition:transform .7s var(--ease)}
.nd-el__ring{transform-origin:50px 50px;transform:rotate(var(--rr,0deg))}
.nd-el__petal{transform-origin:50px 50px;transform:rotate(var(--a)) scale(.2);opacity:0;transition:transform .9s var(--ease),opacity .5s;transition-delay:calc(var(--k)*.045s)}
.nd-el__petal .nd-el__copy{stroke-width:2.6}
.nd-el.is-bloom .nd-el__petal{transform:rotate(var(--a)) translate(0,-90px) scale(1);opacity:.85}
.nd-el.is-bloom .nd-el__main{transform:scale(.82)}
.nd-el.is-pulse .nd-el__stage{box-shadow:0 0 0 10px color-mix(in srgb,var(--c) 18%,transparent),0 0 60px color-mix(in srgb,var(--c) 35%,transparent)}
.nd-el__cap{margin:18px 0 4px;font-size:20px;color:var(--ink)}
.nd-el__cap span{color:var(--dim);margin-inline-start:8px}
.nd-el__hint{margin:0;color:var(--mute);font-size:14px}
.nd-el__picks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}
.nd-el__pick{display:flex;align-items:center;gap:14px;text-align:left;padding:14px;border-radius:18px;background:var(--panel);border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;min-width:0;transition:border-color .3s,transform .3s var(--ease),background .3s}
.nd-el__pick svg{flex:none;width:52px;height:52px;fill:none;stroke:var(--c);stroke-width:2.6;stroke-linejoin:round;transition:transform .6s var(--ease)}
.nd-el__pick span{display:flex;flex-direction:column;min-width:0}
.nd-el__pick b{font-size:15px;line-height:1.25}
.nd-el__pick small{color:var(--dim);font-size:14px;text-align:left}
.nd-el__pick:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--c) 60%,transparent)}
.nd-el__pick:hover svg{transform:rotate(45deg)}
.nd-el__pick[aria-pressed="true"]{border-color:var(--c);background:color-mix(in srgb,var(--c) 12%,var(--panel))}
.nd-el__pick:focus-visible{outline:3px solid var(--g);outline-offset:2px}
.nd-el.is-off .nd-contour>g{animation-play-state:paused}
@media(max-width:900px){.nd-el{grid-template-columns:1fr}.nd-el__stage{max-width:440px}}
@media(max-width:420px){.nd-el__pick{padding:10px;gap:10px}.nd-el__pick svg{width:40px;height:40px}.nd-el__pick b{font-size:14px}}
@media(prefers-reduced-motion:reduce){.nd-contour>g{animation:none}.nd-contour path,.nd-el__main path,.nd-el__copy path{animation:none;stroke-dashoffset:0}.nd-el__petal,.nd-el__main{transition:none}}
@media(max-width:560px){.nd-el__picks{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.nd-el__pick{flex-direction:column;text-align:center;padding:12px 6px;gap:8px}.nd-el__pick span{align-items:center}.nd-el__pick b{font-size:12.5px}.nd-el__pick small{font-size:12px;text-align:center}.nd-el__pick svg{width:40px;height:40px}}
/* ---------- Patterns landing: interactive field ---------- */
.nd-f{position:relative;min-height:calc(100svh - var(--hh));background:radial-gradient(120% 90% at 70% 40%,#1a0a0c 0%,var(--bg) 70%);overflow:hidden;isolation:isolate;display:flex;align-items:flex-end;touch-action:pan-y}
.nd-f__grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(4,1fr);gap:clamp(6px,1.4vw,18px);padding:clamp(14px,3vw,40px);z-index:0}
.nd-f__t{--s:1;--r:0deg;--o:.32;position:relative;border:0;background:none;padding:0;cursor:pointer;display:grid;place-items:center;min-width:0;min-height:0;-webkit-tap-highlight-color:transparent;border-radius:22px}
.nd-f__t svg{width:min(82%,150px);aspect-ratio:1;fill:none;stroke:rgba(249,244,243,var(--o));stroke-width:1.5;stroke-linejoin:round;transform:rotate(var(--r)) scale(var(--s));transition:stroke .5s,filter .5s;will-change:transform}
.nd-f__t.is-lit svg{stroke:var(--c);filter:drop-shadow(0 0 14px color-mix(in srgb,var(--c) 70%,transparent))}
.nd-f__t.is-lit::before{content:"";position:absolute;inset:12%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--c) 26%,transparent),transparent 70%);animation:nd-pop .9s var(--ease) both}
.nd-f__t.is-lit svg path{stroke-dasharray:1;stroke-dashoffset:1;animation:nd-draw 1.2s var(--ease) forwards}
.nd-f__t:focus-visible{outline:2px solid var(--g);outline-offset:-4px}
@keyframes nd-pop{from{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}
.nd-f__ui{position:relative;z-index:1;width:100%;padding:28px 0 clamp(28px,5vw,56px);pointer-events:none}
.nd-f__ui .nd-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.nd-f__ui a,.nd-f__ui button,.nd-f__card,.nd-f__win{pointer-events:auto}
.nd-f__ui .nd-back{color:var(--ink);background:rgba(4,7,5,.55);backdrop-filter:blur(8px)}
.nd-f__card,.nd-f__win{max-width:470px;width:100%;background:rgba(10,13,11,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:24px;padding:clamp(20px,3vw,30px)}
.nd-f__card h1,.nd-f__win h2{font-size:clamp(26px,3vw,38px);line-height:1.08;letter-spacing:-.02em;margin:6px 0 10px;color:#fff}
.nd-f__card p,.nd-f__win p{color:var(--dim);font-size:16px;margin:0 0 16px}
.nd-f__card .nd-kick,.nd-f__win .nd-kick{color:var(--g);margin:0}
.nd-f__meter{display:flex;align-items:center;gap:12px;margin:0 0 18px}
.nd-f__meter b{font-size:14px;white-space:nowrap;color:var(--ink)}
.nd-f__bar{flex:1;height:8px;border-radius:9px;background:rgba(255,255,255,.1);overflow:hidden}
.nd-f__bar i{display:block;height:100%;width:var(--pct,0%);background:linear-gradient(90deg,#F1A239,#EA3F43,#B324F6,#3377F6,#80E8B2);transition:width .5s var(--ease)}
.nd-f.is-won .nd-f__card{display:none}
.nd-f.is-won .nd-f__t svg{animation:nd-spin 6s linear infinite}
.nd-f .nd-btns{gap:10px}
@media(max-width:760px){.nd-f__grid{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(5,1fr);bottom:auto;height:62%}.nd-f__t:nth-child(n+21){display:none}.nd-f{align-items:flex-end;min-height:calc(100svh - var(--hh))}.nd-f__card,.nd-f__win{max-width:none}.nd-f__card p{font-size:15px}}
@media(max-width:760px) and (max-height:700px){.nd-f__grid{height:46%}}

.nd-g6{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.nd-g6__c{display:flex;flex-direction:column;gap:6px;padding:22px;border-radius:22px;background:var(--panel);border:1px solid var(--line);color:var(--ink);text-decoration:none;min-width:0;transition:transform .4s var(--ease),border-color .3s}
.nd-g6__c svg{width:64px;height:64px;fill:none;stroke:var(--c);stroke-width:2.4;stroke-linejoin:round;margin-bottom:10px}
.nd-g6__c svg>g{transform-origin:50px 50px;transition:transform .9s var(--ease)}
.nd-g6__c:hover{transform:translateY(-4px);border-color:var(--c)}
.nd-g6__c:hover svg>g{transform:rotate(90deg) scale(1.08)}
.nd-g6__c:not(.is-in) svg path{animation:none}
.nd-g6__c small{color:var(--c);font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.nd-g6__c b{font-size:20px}
.nd-g6__c span{color:var(--dim);font-size:15px}
@media(max-width:900px){.nd-g6{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.nd-g6{grid-template-columns:1fr}.nd-g6__c{flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:14px;padding:16px}.nd-g6__c svg{width:46px;height:46px;margin:0}.nd-g6__c small{flex:1}.nd-g6__c b,.nd-g6__c span{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.nd-f__t svg{transform:none!important}.nd-f.is-won .nd-f__t svg,.nd-f__t.is-lit svg path{animation:none;stroke-dashoffset:0}}
/* ---------- Brand patterns inside games and cards ---------- */
.nd-pi{fill:none;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}
.nd-pi>g{transform-origin:50px 50px}
.bnd-pad{position:relative;overflow:hidden}
.bnd-pad .nd-pi{position:absolute;inset:13%;width:74%;height:74%;stroke:rgba(42,18,21,.28);stroke-width:2.2;transition:stroke .2s}
.bnd-pad span{position:relative;z-index:1}
.bnd-pad.is-lit .nd-pi{stroke:var(--cb-text,#2A1215)}
.bnd-pad.is-lit .nd-pi>g{animation:nd-spin 2.4s linear infinite}
.bnd-pad.is-lit .nd-pi path{stroke-dasharray:1;stroke-dashoffset:1;animation:nd-draw .5s var(--ease) forwards}
.bnd-pad.is-hit .nd-pi{stroke:#fff}
.bnd-dish{position:relative;overflow:hidden}
.bnd-dish .nd-pi{display:block;width:46%;max-width:64px;aspect-ratio:1;margin:6px auto;stroke:currentColor;stroke-width:2.6;opacity:.6;transition:opacity .2s}
.bnd-dish.is-lit .nd-pi,.bnd-dish.is-on .nd-pi,.bnd-dish:active .nd-pi{opacity:1}
.bnd-dish.is-lit .nd-pi>g,.bnd-dish.is-on .nd-pi>g{animation:nd-spin 3s linear infinite}
.nd-mwrap{position:relative}
.nd-mwrap .nd-pi--mirror{position:absolute;left:50%;top:50%;height:86%;aspect-ratio:1;transform:translate(-50%,-50%);stroke:rgba(249,244,243,.22);stroke-width:.5}
.nd-mwrap .nd-pi--mirror>g{animation:nd-spin 90s linear infinite}
.nd-game__art{position:relative;overflow:hidden}
.nd-game__art .nd-pi--art{position:absolute;right:-18%;top:50%;width:76%;aspect-ratio:1;transform:translateY(-50%);stroke:rgba(255,255,255,.22);stroke-width:.7;z-index:0}
.nd-game__art .nd-pi--art>g{animation:nd-spin 60s linear infinite}
.nd-game__art>*:not(.nd-pi){position:relative;z-index:1}
.nd-game.is-off .nd-pi>g,[data-pause].is-off .nd-pi>g{animation-play-state:paused}
.nd-venue .nd-pi--venue{width:84px;height:84px;stroke:currentColor;stroke-width:2.2;transition:transform .9s var(--ease)}
.nd-venue:not(.dark-text) .nd-pi--venue{stroke:#fff}.nd-venue.dark-text .nd-pi--venue{stroke:#2A1215}
.nd-venue:hover .nd-pi--venue>g{transform:rotate(90deg)}
.nd-venue .nd-pi--venue>g{transition:transform .9s var(--ease)}
.nd-tile{position:relative;overflow:hidden}
.nd-tile .nd-pi--tile{position:absolute;right:-14px;bottom:-14px;width:96px;height:96px;stroke:var(--p);stroke-width:2;opacity:.35;transition:opacity .4s}
.nd-tile .nd-pi--tile>g{transition:transform 1s var(--ease)}
.nd-tile:hover .nd-pi--tile{opacity:.8}.nd-tile:hover .nd-pi--tile>g{transform:rotate(90deg)}
.nd-tile>div{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.nd-pi>g{animation:none!important;transition:none!important}.nd-pi path{animation:none!important;stroke-dashoffset:0!important}}

/* Patterns field: split layout so no tile sits under the card */
.nd-f{display:grid;grid-template-columns:minmax(320px,440px) minmax(0,1fr);align-items:center;gap:clamp(16px,3vw,40px);padding:clamp(20px,3vw,40px) max(20px,calc((100vw - var(--w))/2))}
.nd-f__grid{position:relative;inset:auto;grid-column:2;grid-row:1;height:min(78svh,720px);padding:0}
.nd-f__ui{grid-column:1;grid-row:1;padding:0}
.nd-f__ui .nd-wrap{padding:0;max-width:none;width:auto}
@media(max-width:860px){.nd-f{grid-template-columns:1fr;align-items:start;padding:16px 16px 28px}.nd-f__grid{grid-column:1;grid-row:1;height:auto;aspect-ratio:4/5;max-height:58svh;width:100%;justify-self:center;max-width:460px}.nd-f__ui{grid-row:2}.nd-f__ui .nd-back{display:none}}
.nd-tile .nd-pi--tile{width:84px;height:84px;right:-18px;bottom:-18px;opacity:.22}
.nd-tile:hover .nd-pi--tile{opacity:.55}
.bnd-pad span{position:absolute;left:0;right:0;bottom:7%;font-size:12px}
/* ---------- Inside the engine (anatomy figure) ---------- */
.nd-eng{--lo:#121614;--mid:#1d2320;--hi:#2a322e;--ink:rgba(242,245,240,.42);--ink2:rgba(242,245,240,.2);position:relative}
.nd-eng__card{position:relative;margin:0;border:1px solid var(--line);border-radius:28px;background:radial-gradient(70% 60% at 50% 55%,rgba(85,224,57,0),transparent),var(--bg2);overflow:hidden;transition:border-color .5s,box-shadow .6s,background .6s}
.nd-eng__card::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 55% at 52% 56%,rgba(85,224,57,.11),transparent 70%);opacity:0;transition:opacity .6s;pointer-events:none}
.nd-eng.is-lit .nd-eng__card,.nd-eng:hover .nd-eng__card{border-color:rgba(85,224,57,.35);box-shadow:0 0 0 1px rgba(85,224,57,.12),0 30px 90px -40px rgba(85,224,57,.35)}
.nd-eng.is-lit .nd-eng__card::before,.nd-eng:hover .nd-eng__card::before{opacity:1}
.nd-eng__top,.nd-eng__foot{display:flex;justify-content:space-between;gap:12px;padding:16px 22px;font-size:13px;color:var(--mute);letter-spacing:.04em;position:relative;z-index:2}
.nd-eng__top span:first-child{font-weight:700;color:var(--dim)}
.nd-eng__foot b{color:var(--ink,#fff);color:#F2F5F0}
.nd-eng__stage{position:relative;padding:0 clamp(4px,2vw,24px)}
.nd-eng__svg{display:block;width:100%;height:auto;max-height:72svh;margin:0 auto;overflow:visible;stroke-linejoin:round;stroke-linecap:round}
.nd-eng__svg .halo{fill:url(#nd-eng-halo)}
.nd-eng__svg .lo{fill:var(--lo);stroke:var(--ink2);stroke-width:.6}
.nd-eng__svg .mid{fill:var(--mid);stroke:var(--ink);stroke-width:.6}
.nd-eng__svg .hi{fill:var(--hi);stroke:rgba(242,245,240,.55);stroke-width:.6}
.nd-eng__svg .fx{filter:brightness(.78)}.nd-eng__svg .fy{filter:brightness(.62)}
.nd-eng__svg .bev{fill:none;stroke:rgba(242,245,240,.1);stroke-width:.5}
.nd-eng__svg .groove{fill:none;stroke:rgba(0,0,0,.5);stroke-width:.9}
.nd-eng__svg .tk{stroke:var(--ink2);stroke-width:.5}.nd-eng__svg .tkM{stroke:var(--ink);stroke-width:.6}
.nd-eng__svg .edge{stroke:var(--ink);stroke-width:.6}
.nd-eng__svg .scr ellipse{fill:var(--hi);stroke:var(--ink);stroke-width:.4}.nd-eng__svg .scr path{stroke:rgba(0,0,0,.6);stroke-width:.5}
.nd-eng__svg .plate{fill:var(--mid);stroke:var(--ink);stroke-width:.5}
.nd-eng__svg .rule{stroke:var(--ink2);stroke-width:.7}
.nd-eng__svg .eng{font:700 4.2px var(--f);letter-spacing:.12em;fill:var(--ink)}
.nd-eng__svg .pin{fill:var(--ink)}
.nd-eng__svg .rail{fill:none;stroke:var(--ink2);stroke-width:1.2}
.nd-eng__svg .wire{fill:none;stroke:#0a0c0b;stroke-width:3.2}
.nd-eng__svg .wire-sig{fill:none;stroke:var(--g);stroke-width:1.4;stroke-dasharray:.12 1;stroke-dashoffset:1.12;opacity:0}
.nd-eng__svg .term{fill:var(--hi);stroke:var(--ink);stroke-width:.5}
.nd-eng__svg .glass{stroke:rgba(200,240,255,.28);stroke-width:.6}
.nd-eng__svg .gb{fill:rgba(160,220,255,.025)}
.nd-eng__svg .gf{fill:rgba(160,220,255,.04);pointer-events:none}
.nd-eng__svg .gt{fill:rgba(160,220,255,.03);pointer-events:none}
.nd-eng__svg .glint{stroke:rgba(255,255,255,.18);stroke-width:1.1;pointer-events:none}
.nd-eng.is-lit .glass,.nd-eng:hover .glass{stroke:rgba(200,255,220,.5)}
/* glass gears */
.nd-eng__g{cursor:pointer;outline:none}
.nd-eng__g .gside path{fill:color-mix(in srgb,var(--c) 10%,transparent);stroke:color-mix(in srgb,var(--c) 20%,transparent);stroke-width:.4;fill-rule:evenodd}
.nd-eng__g .gface{fill:color-mix(in srgb,var(--c) 16%,transparent);stroke:color-mix(in srgb,var(--c) 70%,transparent);stroke-width:.7;fill-rule:evenodd;transition:fill .5s,stroke .5s}
.nd-eng__g .gicon{fill:none;stroke:color-mix(in srgb,var(--c) 55%,transparent);stroke-width:1.6;transition:stroke .5s}
.nd-eng__g .ghub{fill:none;stroke:color-mix(in srgb,var(--c) 60%,transparent);stroke-width:.6}
.nd-eng__g .gbore{fill:rgba(0,0,0,.4);stroke:none}.nd-eng__g .gset{fill:rgba(242,245,240,.6)}
.nd-eng__g .ghit{fill:transparent;stroke:none}
.nd-eng.is-lit .nd-eng__g .gface,.nd-eng:hover .nd-eng__g .gface{fill:color-mix(in srgb,var(--c) 24%,transparent);stroke:var(--c)}
.nd-eng__g:hover .gface,.nd-eng__g.is-hot .gface,.nd-eng__g.is-sel .gface{fill:color-mix(in srgb,var(--c) 40%,transparent);stroke:var(--c);filter:drop-shadow(0 0 6px var(--c))}
.nd-eng__g:hover .gicon,.nd-eng__g.is-hot .gicon,.nd-eng__g.is-sel .gicon{stroke:#fff}
.nd-eng__g.is-found .gset{fill:var(--c)}
.cap{transition:transform .18s var(--ease)}.cap.is-down{transform:translateY(3px)}
.capicon{fill:none;stroke:var(--g);stroke-width:2.2}
.bezel{fill:var(--hi);stroke:var(--ink);stroke-width:.6}
.glassscr{fill:#050806;stroke:rgba(0,0,0,.8);stroke-width:.6}
.outicon{fill:none;stroke:rgba(242,245,240,.25);stroke-width:2.4;transition:stroke .6s}
.outspin{transform:scale(.62);transition:transform 1.4s var(--ease)}.nd-eng.is-out .outspin{transform:scale(1.18) rotate(60deg)}
.nd-eng.is-out .outicon{stroke:var(--g)}
.led{fill:#28331f}.nd-eng.is-out .led{fill:var(--g)}
.dface{fill:#0c0f0d;stroke:var(--ink);stroke-width:.5}.dtick{stroke-width:1.3}.dtk{stroke:var(--ink2);stroke-width:.4}
.needle{stroke:#F2F5F0;stroke-width:1.1}.dhub{fill:var(--hi);stroke:var(--ink);stroke-width:.4}

.crown{fill:var(--mid);stroke:var(--ink);stroke-width:.4}
.nd-eng__press{position:absolute;left:8%;bottom:8%;transform:translate(-10%,0);padding:9px 16px;border-radius:999px;border:1px solid rgba(85,224,57,.5);background:rgba(4,7,5,.7);color:var(--g);font:600 14px var(--f);cursor:pointer;backdrop-filter:blur(6px);z-index:3}
.nd-eng__press:hover,.nd-eng__press:focus-visible{background:var(--g);color:#04100a;outline:none}
/* pop-up */
.nd-pop{position:absolute;z-index:4;width:min(320px,calc(100% - 24px));background:rgba(10,13,11,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid color-mix(in srgb,var(--c,#55e039) 55%,transparent);border-radius:20px;padding:18px 18px 16px;box-shadow:0 24px 60px -20px rgba(0,0,0,.8);animation:nd-popin .35s var(--ease)}
@keyframes nd-popin{from{opacity:0;transform:translateY(8px) scale(.97)}}
.nd-pop__top{display:flex;justify-content:space-between;align-items:center}
.nd-pop__n{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--c,#55e039);font-weight:700}
.nd-pop__x{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--dim);font-size:20px;line-height:1;cursor:pointer}
.nd-pop h3{margin:6px 0 2px;font-size:22px;color:#fff}
.nd-pop__sub{color:var(--mute);font-size:13px}
.nd-pop__p{color:var(--dim);font-size:15px;margin:10px 0 14px}
.nd-pop__nav .nd-btn{padding:10px 16px;font-size:14px}
.nd-eng__win{position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%);width:min(360px,calc(100% - 24px));text-align:center;background:rgba(10,13,11,.94);border:1px solid rgba(85,224,57,.5);border-radius:22px;padding:22px;display:flex;flex-direction:column;gap:10px;align-items:center;animation:nd-popin .4s var(--ease)}
.nd-eng__win b{font-size:22px;color:var(--g)}.nd-eng__win span{color:var(--dim)}
.nd-eng__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.nd-eng__chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 8px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--ink,#F2F5F0);color:#F2F5F0;font:500 14px var(--f);cursor:pointer;transition:border-color .3s,background .3s}
.nd-eng__chip i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-style:normal;font-size:12px;font-weight:700;border:1px solid var(--c);color:var(--c)}
.nd-eng__chip:hover,.nd-eng__chip[aria-pressed="true"]{border-color:var(--c)}
.nd-eng__chip.is-found i{background:var(--c);color:#06100a}
.nd-eng__chip:focus-visible{outline:2px solid var(--g);outline-offset:2px}
@media(max-width:640px){.nd-pop{left:12px!important;right:12px;top:auto!important;bottom:12px;width:auto}.nd-eng__top,.nd-eng__foot{padding:12px 14px;font-size:12px}.nd-eng__press{left:12px;bottom:12px;transform:none}.nd-eng__foot{flex-direction:column;gap:2px}}
@media(prefers-reduced-motion:reduce){.nd-pop,.nd-eng__win{animation:none}.outspin,.cap{transition:none}}
.nd-eng__win[hidden],.nd-pop[hidden],.nd-f__win[hidden]{display:none!important}
@media(max-width:640px){.nd-pop{position:relative;left:auto!important;top:auto!important;bottom:auto;right:auto;width:auto;margin:6px 4px 4px}.nd-eng__stage{display:flex;flex-direction:column}.nd-eng__press{position:static;align-self:flex-start;margin:0 0 6px 10px;order:2}.nd-pop{order:3}}
.nd-pop__next{color:var(--g)!important;border-color:rgba(85,224,57,.5)!important}
.nd-eng__wx{position:absolute;top:10px;right:10px}
.nd-tag{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(18px,3vw,40px);align-items:center;max-width:980px}
.nd-tag__ic{width:clamp(72px,10vw,132px);height:auto;aspect-ratio:1;stroke:var(--red);stroke-width:1.6}
.nd-tag__ic>g{animation:nd-spin 80s linear infinite}
.nd-tag h2{font-size:clamp(26px,3.4vw,44px);line-height:1.1;letter-spacing:-.02em;margin:6px 0 12px}
.nd-tag p:not(.nd-kick){color:var(--dim);max-width:640px;margin:0}
@media(max-width:560px){.nd-tag{grid-template-columns:1fr}.nd-tag__ic{width:64px}}
/* ================= GAMES ================= */
.ng-page{padding:18px 0 56px}
.ng-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.ng{--r:#EA3F43;--ir:#CC323A;--ww:#F9F4F3;border:1px solid var(--line);border-radius:26px;background:var(--bg2);overflow:hidden;outline:none}
.ng__bar{display:flex;align-items:center;justify-content:space-between;gap:12px 18px;padding:14px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.ng__title h1{font-size:clamp(20px,2.2vw,26px);margin:0;line-height:1.1;color:#fff}
.ng__title span{font-size:13px;color:var(--mute)}
.ng__ctrls{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ng__b{font:600 13px var(--f);color:#F2F5F0;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:8px 13px;cursor:pointer;min-height:36px;transition:border-color .2s,background .2s}
.ng__b:hover{border-color:rgba(242,245,240,.4)}.ng__b:disabled{opacity:.45;cursor:default}
.ng__b:focus-visible,.ng__sel select:focus-visible{outline:3px solid var(--g);outline-offset:2px}
.ng__b--go{background:var(--g);color:#06120a;border-color:var(--g)}
.ng__b--cam[aria-pressed="true"]{border-color:var(--r);color:#fff;background:rgba(234,63,67,.22)}
.ng__sel{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--mute)}
.ng__sel select{font:500 13px var(--f);background:var(--panel);color:#F2F5F0;border:1px solid var(--line);border-radius:999px;padding:7px 10px;min-height:36px;max-width:200px}
.ng__stage{position:relative;height:clamp(420px,68svh,720px);overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
.ng__video{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.ng__foot{display:flex;justify-content:space-between;align-items:center;gap:8px 16px;padding:10px 16px;border-top:1px solid var(--line);flex-wrap:wrap;min-height:46px}
.ng__stats{display:flex;gap:14px;font-size:13px;color:var(--dim)}.ng__stats b{color:#fff}
.ng__status{margin:0;font-size:13px;color:var(--mute);max-width:640px}
.ng__camdot{position:absolute;top:12px;right:12px;z-index:6;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:rgba(4,7,5,.72);color:#fff;font-size:12px;font-weight:600}
.ng__camdot i{width:8px;height:8px;border-radius:50%;background:var(--r);box-shadow:0 0 0 3px rgba(234,63,67,.3);animation:ngblink 1.6s infinite}
@keyframes ngblink{50%{opacity:.35}}
.ng__preview{position:absolute;right:12px;bottom:12px;z-index:5;width:160px;height:120px;border-radius:12px;border:1px solid rgba(249,244,243,.35);background:#000}
.ng__cursor{position:absolute;left:-14px;top:-14px;width:28px;height:28px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 3px rgba(4,7,5,.4);z-index:7;pointer-events:none;transition:width .12s,height .12s,left .12s,top .12s,background .12s}
.ng__cursor.is-pinch{width:18px;height:18px;left:-9px;top:-9px;background:#fff}
.ng__intro,.ng__pausebox,.ng__done,.ng__how{position:absolute;inset:0;z-index:9;display:grid;place-items:center;padding:16px;background:rgba(4,7,5,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);overflow:auto}
.ng__intro[hidden],.ng__pausebox[hidden],.ng__done[hidden],.ng__how[hidden],.ng__ready[hidden],.hs__fact[hidden],.ng__preview[hidden],.ng__cursor[hidden],.ng__camdot[hidden]{display:none!important}
.ng__card{max-width:560px;width:100%;background:var(--bg2);border:1px solid var(--line);border-radius:22px;padding:clamp(18px,3vw,28px);max-height:100%;overflow:auto}
.ng__card h2{font-size:clamp(22px,2.6vw,30px);margin:0 0 10px;color:#fff}
.ng__card h3{font-size:22px;color:#fff;margin:0 0 6px}
.ng__card p{color:var(--dim);font-size:15px}
.ng__steps{margin:0 0 10px;padding-left:20px;color:var(--dim);font-size:15px}.ng__steps li{margin:4px 0}.ng__steps b{color:#fff}
.ng__fine{font-size:13px!important;color:var(--mute)!important}
.ng__consent{margin:12px 0;padding:12px 14px;border-radius:14px;background:rgba(234,63,67,.1);border:1px solid rgba(234,63,67,.35);font-size:13.5px;color:var(--dim)}.ng__consent b{color:#fff}
.ng__row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}
.ng__wb{color:var(--text)!important}
.ng__ob{color:#F2F5F0!important}
.ng__ready{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:8;display:flex;align-items:center;gap:12px;padding:10px 12px 10px 18px;border-radius:999px;background:rgba(4,7,5,.82);border:1px solid rgba(85,224,57,.45);max-width:calc(100% - 24px)}
.ng__ready p{margin:0;color:#fff;font-size:14px}
.ng-credit{margin:16px 4px 0;font-size:13px;color:var(--mute);max-width:820px}
.ng-credit--lg{margin:0;font-size:16px;color:var(--dim);max-width:860px}.ng-credit--lg p{margin:0}
.ng-q{color:#fff;font-weight:600}
code{font-size:.92em;background:rgba(255,255,255,.08);padding:1px 6px;border-radius:6px}

/* Heritage Sort */
.ng[data-game="sort"] .ng__stage{background:var(--r)}
.hs{position:absolute;inset:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px;padding:14px}
.hs__zones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-height:0}
.hs__zone{display:flex;flex-direction:column;gap:8px;align-items:stretch;border:2px dashed rgba(249,244,243,.45);border-radius:20px;background:var(--ir);padding:12px;color:var(--ww);font:inherit;text-align:left;cursor:default;min-width:0;min-height:0;transition:border-color .2s,background .2s,transform .3s var(--ease)}
.hs__zone:focus-visible{outline:3px solid #fff;outline-offset:2px}
.hs__zone[tabindex="0"]{cursor:pointer}
.hs__zone.is-over{border-style:solid;border-color:#fff;background:#b52a31;transform:scale(1.015)}
.hs__zone.is-hit{animation:hshit .7s var(--ease)}
@keyframes hshit{30%{box-shadow:0 0 0 8px rgba(255,255,255,.35)}}
.hs__zl{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:14px}.hs__zl b{font-weight:700}.hs__zl span{opacity:.85}
.hs__slots{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start;flex:1;min-height:0;overflow:hidden}
.hs__tray{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;min-height:96px;align-items:center;padding:8px;border-radius:18px;background:rgba(4,7,5,.14)}
.hs__item{width:clamp(84px,9vw,112px);height:clamp(84px,9vw,112px);border-radius:18px;border:0;background:var(--ww);color:var(--ir);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px;cursor:grab;font:600 11.5px var(--f);line-height:1.15;text-align:center;box-shadow:0 6px 0 rgba(0,0,0,.12);touch-action:none;transition:box-shadow .2s,transform .25s var(--ease)}
.hs__item svg{width:46%;height:auto;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.hs__item:focus-visible{outline:3px solid #fff;outline-offset:3px}
.hs__item.is-hover{transform:translateY(-3px);box-shadow:0 10px 0 rgba(0,0,0,.14)}
.hs__item.is-held{cursor:grabbing;z-index:8;box-shadow:0 22px 40px rgba(0,0,0,.35);outline:3px solid #fff}
.hs__item.is-kb{transform:translateY(-6px)}
.hs__item.is-wrong{animation:hsno .5s}
@keyframes hsno{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.hs__item.is-placed{width:clamp(58px,5.6vw,76px);height:clamp(58px,5.6vw,76px);font-size:0;gap:0;cursor:default;box-shadow:none;animation:hsin .5s var(--ease)}
.hs__item.is-placed svg{width:62%}
.hs__item.is-placed::after{content:"✓";position:absolute;transform:translate(22px,-22px);font-size:13px;color:#fff;background:var(--ir);border-radius:50%;width:20px;height:20px;display:grid;place-items:center;border:2px solid var(--ww)}
@keyframes hsin{from{transform:scale(1.25)}}
.hs__fact{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);z-index:6;max-width:min(440px,calc(100% - 32px));background:var(--ww);color:var(--text);border-radius:18px;padding:14px 16px;box-shadow:0 20px 50px rgba(0,0,0,.3);animation:hsin .4s var(--ease);pointer-events:none}
.hs__fact b{display:block;color:var(--ir);font-size:15px;margin-bottom:4px}.hs__fact span{font-size:14px}
.hs__recap{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:8px;max-height:220px;overflow:auto}.hs__recap li{font-size:13.5px;color:var(--dim)}.hs__recap b{color:#fff;display:block}
@media(max-width:700px){.hs__zones{grid-template-columns:1fr;gap:8px}.hs__zone{flex-direction:row;align-items:center;padding:8px 10px}.hs__zl{flex-direction:column;gap:0;min-width:96px;font-size:12.5px}.hs__item{width:72px;height:72px;font-size:10px}.hs__item.is-placed{width:44px;height:44px}.hs__item.is-placed::after{transform:translate(15px,-15px);width:16px;height:16px;font-size:10px}.ng__preview{width:112px;height:84px}}

/* Pattern Quest */
.ng[data-game="quest"] .ng__stage{background:var(--ww);color:var(--text);touch-action:manipulation}
.pq{position:absolute;inset:0;padding:clamp(14px,3vw,30px);overflow:auto}
.pq__board{max-width:860px;margin:0 auto}
.pq__head h3{font-size:clamp(20px,2.4vw,28px);color:var(--ir);margin:0 0 4px}.pq__head p{margin:0 0 16px;color:#5b4346;font-size:15px}
.pq__hint{position:absolute;right:14px;top:14px;background:#fff!important;color:var(--text)!important;border-color:rgba(42,18,21,.2)!important}
.pq svg{display:block;width:100%;height:auto;fill:none;stroke:var(--ir);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.pq-frame{fill:#fff;stroke:rgba(204,50,58,.35)!important;stroke-width:1.5!important}
.pq__match{display:grid;grid-template-columns:minmax(120px,220px) minmax(0,1fr);gap:clamp(14px,3vw,34px);align-items:center}
.pq__target{display:flex;flex-direction:column;gap:6px;align-items:center;font-size:13px;color:#5b4346}
.pq__target svg{border-radius:14px;box-shadow:0 0 0 3px var(--r)}
.pq__opts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.pq-pick{appearance:none;border:2px solid transparent;background:transparent;border-radius:16px;padding:6px;cursor:pointer;font:600 13px var(--f);color:#5b4346;display:flex;flex-direction:column;align-items:center;gap:4px;transition:transform .2s var(--ease),border-color .2s,opacity .3s}
.pq-pick:hover,.pq-pick.is-hover{border-color:rgba(234,63,67,.5);transform:translateY(-2px)}
.pq-pick:focus-visible{outline:3px solid var(--text);outline-offset:2px}
.pq-pick.is-right{border-color:#1d8a3a;background:rgba(29,138,58,.08)}.pq-pick.is-right small::before{content:"✓ "}
.pq-pick.is-wrong{border-color:var(--r);animation:hsno .5s}.pq-pick.is-wrong small::before{content:"✕ "}
.pq-pick.is-out{opacity:.25}
.pq-pick.is-hint{border-color:#e6a300;box-shadow:0 0 0 4px rgba(230,163,0,.3)}
.pq__window{max-width:420px;margin:0 auto;background:#fff;border:3px solid var(--ir);border-radius:200px 200px 14px 14px;padding:56px 14px 14px;position:relative}
.pq__arch{position:absolute;left:14px;right:14px;top:12px;height:40px;border-radius:200px 200px 0 0;background:repeating-conic-gradient(from 270deg at 50% 100%,rgba(234,63,67,.25) 0 15deg,rgba(204,50,58,.08) 15deg 30deg)}
.pq__panes{display:grid;grid-template-columns:repeat(var(--c),minmax(0,1fr));gap:8px}
.pq__pane{aspect-ratio:1;border-radius:10px;border:2px solid rgba(204,50,58,.35);background:rgba(204,50,58,.06);padding:0}
.pq__pane.is-lit{background:var(--r);border-color:var(--ir);box-shadow:inset 0 0 0 6px rgba(255,255,255,.35)}
.pq__pane.is-right{background:var(--r);border-color:#1d8a3a}.pq__pane.is-right::after{content:"✓";color:#fff;font-size:20px}
.pq__pane.is-wrong::after{content:"✕";color:var(--ir);font-size:20px}
.pq__pane:disabled{cursor:default}
.pq__rot{display:grid;grid-template-columns:minmax(90px,170px) minmax(0,1fr);gap:clamp(14px,3vw,34px);align-items:start}
.pq__mini,.pq__tiles{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:3px}
.pq__mini{gap:0;padding:6px;background:#fff;border-radius:12px;box-shadow:0 0 0 3px var(--r);align-self:start}
.pq__mini small{grid-column:1/-1;text-align:center;font-size:12px;color:#5b4346;margin-top:4px}
.pq__mini svg{stroke-width:4}
.pq__tiles{max-width:min(460px,100%);background:#fff;padding:8px;border-radius:16px;box-shadow:0 0 0 2px rgba(204,50,58,.25)}
.pq__tile{padding:0;border-radius:6px;border:1px solid rgba(204,50,58,.15);aspect-ratio:1}
.pq__tile svg{stroke-width:4}
.pq__tile.is-ok{background:rgba(29,138,58,.07)}
.pq__note{margin-top:14px;padding:14px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line)}.pq__note b{color:#fff}.pq__note p{margin:4px 0 0;font-size:14px}
@media(max-width:640px){.pq__match{grid-template-columns:1fr}.pq__target{max-width:150px;margin:0 auto}.pq__opts{grid-template-columns:repeat(2,minmax(0,1fr))}.pq__rot{grid-template-columns:1fr}.pq__mini{max-width:120px;margin:0 auto}.pq__hint{top:auto;bottom:12px}}

/* Catch the Caps */
.ng[data-game="caps"] .ng__stage{background:#1a0a0c}
.cc__canvas{position:absolute;inset:0;display:block}
.cc__calib{position:absolute;left:12px;top:12px;z-index:6;display:none;align-items:center;gap:6px;padding:6px 8px 6px 12px;border-radius:999px;background:rgba(4,7,5,.72);color:#fff;font-size:12px}
.ng.face-on .cc__calib{display:flex}
.cc__calib .ng__b{min-height:30px;padding:5px 10px}

/* Games hub */
.gh{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.gh__card{display:flex;flex-direction:column;border-radius:24px;overflow:hidden;background:var(--panel);border:1px solid var(--line);min-width:0}
.gh__body{display:flex;flex-direction:column;gap:8px;padding:20px 20px 22px;flex:1}
.gh__body .nd-btn{margin-top:auto;align-self:flex-start}
.gh__tag{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--r,#EA3F43)}
.gh__body h2{font-size:clamp(24px,2.4vw,32px);line-height:1.05;margin:0;color:#fff}
.gh__hook{margin:0;color:var(--dim);font-size:15px}
.gh__cam{margin:0 0 10px;color:var(--mute);font-size:13px}
.gh__art{position:relative;aspect-ratio:16/10;overflow:hidden;background:#EA3F43}
.gh__art--sort i{position:absolute;bottom:16%;width:22%;aspect-ratio:1;border-radius:18%;background:#F9F4F3;box-shadow:0 6px 0 rgba(0,0,0,.12);animation:ghbob 3.2s var(--ease) infinite}
.gh__art--sort i:nth-child(1){left:12%}.gh__art--sort i:nth-child(2){left:39%;animation-delay:-.9s}.gh__art--sort i:nth-child(3){left:66%;animation-delay:-1.8s}
.gh__art--sort b{position:absolute;left:8%;right:8%;top:12%;height:30%;border-radius:14px;border:2px dashed rgba(249,244,243,.6);background:#CC323A}
@keyframes ghbob{50%{transform:translateY(-10%)}}
.gh__art--quest{background:#F9F4F3;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:9% 22%}
.gh__art--quest span{border:3px solid #CC323A;border-radius:50% 0 50% 0;animation:ghrot 6s var(--ease) infinite}
.gh__art--quest span:nth-child(2n){border-radius:0 50% 0 50%;animation-delay:-2s}.gh__art--quest span:nth-child(3n){animation-delay:-4s}
@keyframes ghrot{0%,80%{transform:rotate(0)}90%,100%{transform:rotate(90deg)}}
.gh__art--caps{background:#1a0a0c}
.gh__art--caps i{position:absolute;left:50%;width:22%;height:11%;margin-left:-11%;border-radius:50% 50% 12% 12%/90% 90% 12% 12%;background:#EA3F43;box-shadow:inset 0 -6px 0 #F9F4F3}
.gh__art--caps i:nth-child(1){bottom:44%}.gh__art--caps i:nth-child(2){bottom:54%}.gh__art--caps i:nth-child(3){bottom:64%}
.gh__art--caps i:nth-child(4){bottom:auto;top:-12%;margin-left:6%;animation:ghfall 2.6s linear infinite}
.gh__art--caps b{position:absolute;left:50%;bottom:14%;width:20%;aspect-ratio:1;margin-left:-10%;border-radius:50%;background:rgba(249,244,243,.85)}
.gh__art--caps em{position:absolute;left:10%;right:10%;top:12%;border-top:2px dashed rgba(249,244,243,.7)}
@keyframes ghfall{to{top:110%}}
@media(max-width:900px){.gh{grid-template-columns:1fr}.gh__art{aspect-ratio:16/8}}
@media(prefers-reduced-motion:reduce){.gh__art *{animation:none!important}.hs__item,.hs__zone{transition:none}}
@media(max-width:640px){.ng__bar{padding:12px}.ng__ctrls{gap:5px}.ng__b{padding:7px 10px;font-size:12.5px}.ng__sel span{display:none}.ng__stage{height:clamp(440px,70svh,640px)}}
.ng[data-game="sort"] .ng__camdot,.ng[data-game="quest"] .ng__camdot{top:auto;bottom:142px}
@media(max-width:700px){.ng[data-game="sort"] .ng__camdot,.ng[data-game="quest"] .ng__camdot{bottom:104px}}
/* hub: art for the earlier games */
.gh{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.gh__new{font-style:normal;margin-left:6px;padding:2px 8px;border-radius:999px;background:var(--g);color:#06120a;letter-spacing:.06em}
.gh__art--field{background:#0b0607;display:grid;grid-template-columns:repeat(4,1fr);gap:6%;padding:8% 10%}
.gh__art--field svg{width:100%;height:auto;stroke:rgba(249,244,243,.35);stroke-width:2.6;fill:none}
.gh__art--field svg:nth-child(3n+1){stroke:#EA3F43}
.gh__art--reflex{background:#F1A239;display:grid;grid-template-columns:repeat(3,1fr);gap:7%;padding:7% 32%}
.gh__art--reflex i{border-radius:50%;background:#F6C644;box-shadow:inset 0 0 0 3px rgba(42,18,21,.15)}
.gh__art--reflex i:nth-child(5){background:#fff;animation:ghpulse 1.4s ease-in-out infinite}
@keyframes ghpulse{50%{box-shadow:0 0 0 8px rgba(255,255,255,.35)}}
.gh__art--table{background:#B12418;display:grid;grid-template-columns:repeat(2,1fr);gap:8%;padding:9% 30%}
.gh__art--table i{border-radius:16%;background:#EC692C}.gh__art--table i:nth-child(2){background:#fff;animation:ghpulse 2s ease-in-out infinite}
.gh__art--mirror{background:#7013F5;display:grid;place-items:center}
.gh__art--mirror svg{width:46%;stroke:#F9F4F3;stroke-width:2;fill:none}.gh__art--mirror svg>g{transform-origin:50px 50px;animation:nd-spin 30s linear infinite}
.gh__art--engine{background:#0d110e}
.gh__art--engine i{position:absolute;top:50%;width:30%;aspect-ratio:1;border-radius:50%;border:3px dashed rgba(85,224,57,.7);background:rgba(85,224,57,.08);animation:nd-spin 12s linear infinite}
.gh__art--engine i:nth-child(1){left:12%;transform:translateY(-50%)}.gh__art--engine i:nth-child(2){left:37%;width:24%;margin-top:-12%;border-color:rgba(99,188,232,.7);animation-direction:reverse}.gh__art--engine i:nth-child(3){left:58%;width:28%;border-color:rgba(179,36,246,.7)}
/* ================= FLOATING BAHRAIN WALL landing ================= */
.nw-hero{position:relative;overflow:hidden;background:radial-gradient(90% 80% at 80% 20%,#f0585b,transparent 60%),linear-gradient(160deg,#EA3F43,#CC323A);padding:clamp(28px,5vw,72px) 0 clamp(36px,5vw,72px)}
.nw-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 1px 1px,rgba(255,255,255,.18) 1.4px,transparent 2px) 0 0/26px 26px;-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000);mask-image:linear-gradient(90deg,transparent 30%,#000);pointer-events:none}
.nw-hero__in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:center}
.nw-hero .nd-kick,.nw-hero h1,.nw-hero .nd-lead,.nw-hero .nd-back{color:#fff}
.nw-hero h1{font-size:clamp(32px,4.2vw,56px);line-height:1.02;letter-spacing:-.03em;margin:0 0 14px;max-width:14ch}
.nw-hero .nd-lead{margin-bottom:24px;max-width:540px}
.nw-hero .nd-btn--w{color:var(--text)!important}
.nw-ar{color:#fff;font-size:22px;font-weight:700;margin:18px 0 0}
.nw-screen{position:relative;padding-bottom:64px}
.nw-screen__bezel{position:relative;border-radius:18px;padding:10px;background:#0b0c0c;box-shadow:0 40px 90px -30px rgba(40,0,6,.7),inset 0 0 0 1px rgba(255,255,255,.08)}
.nw-screen__bezel iframe{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:10px;background:#b8262d;pointer-events:none}
.nw-screen__stand{position:absolute;left:50%;bottom:28px;width:22%;height:36px;margin-left:-11%;background:linear-gradient(#1a1b1b,#0b0c0c);clip-path:polygon(38% 0,62% 0,100% 100%,0 100%);border-radius:0 0 8px 8px}
.nw-qr{position:absolute;right:-6px;bottom:0;display:flex;align-items:center;gap:12px;background:#F9F4F3;color:var(--text);border-radius:18px;padding:10px 14px 10px 10px;box-shadow:0 20px 50px -20px rgba(0,0,0,.5);max-width:300px}
.nw-qr svg{width:96px;height:96px;display:block}
.nw-qr span{font-size:13px;line-height:1.35;color:#6d5154}.nw-qr b{display:block;color:var(--text);font-size:15px}
.nw-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.nw-step{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:22px}
.nw-n{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#EA3F43;color:#fff;font-weight:800;margin-bottom:12px}
.nw-step h3{margin:0 0 6px;font-size:22px;color:#fff}.nw-step p{margin:0;color:var(--dim)}
.nw-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.nw-mode{background:var(--panel);border:1px solid var(--line);border-radius:24px;overflow:hidden;display:flex;flex-direction:column}
.nw-mode>div{padding:18px 20px 22px}.nw-mode h3{margin:0 0 8px;font-size:20px;color:#fff}.nw-mode p{margin:0;color:var(--dim);font-size:15px}
.nw-art{position:relative;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(160deg,#EA3F43,#CC323A)}
.nw-art i{position:absolute;display:block;background:#F9F4F3;border-radius:8px;box-shadow:0 8px 20px -8px rgba(60,0,6,.5)}
.nw-art--float i{left:var(--x);bottom:-30%;width:15%;aspect-ratio:.8;transform:translateX(-50%) scale(var(--s));animation:nwup 9s linear infinite;animation-delay:var(--d)}
.nw-art--float i::before{content:"";position:absolute;left:10%;right:10%;top:10%;height:52%;border-radius:4px;background:#e9c3c4}
@keyframes nwup{to{bottom:115%}}
.nw-art--grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5%;padding:14% 8% 8%;align-content:center}
.nw-art--grid i{position:relative;aspect-ratio:.8;animation:nwgrid 6s cubic-bezier(.16,1,.3,1) infinite;animation-delay:calc(var(--k)*40ms)}
.nw-art--grid b{position:absolute;left:8%;top:6%;color:#fff;font-size:13px;animation:nwfade 6s infinite}
@keyframes nwgrid{0%,8%{opacity:0;transform:translateY(30%) scale(.5)}22%,72%{opacity:1;transform:none}86%,100%{opacity:0;transform:translateY(-30%) scale(.8)}}
@keyframes nwfade{0%,15%{opacity:0}25%,70%{opacity:1}85%,100%{opacity:0}}
.nw-art--spot i{width:14%;aspect-ratio:.8;opacity:.55}
.nw-art--spot i:nth-child(1){left:10%;top:20%}.nw-art--spot i:nth-child(2){left:76%;top:12%}.nw-art--spot i:nth-child(3){left:66%;top:62%}
.nw-art--spot em{position:absolute;left:50%;top:50%;width:30%;aspect-ratio:.8;margin:-19% 0 0 -15%;background:#fff;border-radius:10px;box-shadow:0 20px 50px -14px rgba(40,0,6,.6);animation:nwspot 5s cubic-bezier(.16,1,.3,1) infinite}
.nw-art--spot em span{position:absolute;left:8%;top:8%;background:#55e039;color:#06120a;font:800 10px var(--f);font-style:normal;padding:3px 7px;border-radius:99px}
@keyframes nwspot{0%{transform:scale(.4);opacity:0}15%,75%{transform:none;opacity:1}100%{transform:scale(.6) translateY(-40%);opacity:0}}
.nw-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.nw-spec{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;padding:16px 18px;border-radius:18px;background:var(--panel);border:1px solid var(--line)}
.nw-spec b{color:#EA3F43;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding-top:2px}.nw-spec p{margin:0;color:var(--dim);font-size:15px}
.nw-try{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:28px;padding:clamp(20px,4vw,40px)}
.nw-try__qr{background:#fff;border-radius:18px;padding:10px}.nw-try__qr svg{width:clamp(140px,16vw,200px);height:auto;display:block}
.nw-try h2{margin:4px 0 10px;color:#fff;font-size:clamp(26px,3vw,38px)}.nw-try p{color:var(--dim)}
.gh__art--wall{background:linear-gradient(160deg,#EA3F43,#CC323A)}
.gh__art--wall i{position:absolute;bottom:-30%;width:16%;aspect-ratio:.8;background:#F9F4F3;border-radius:8px;animation:nwup 8s linear infinite}
.gh__art--wall i:nth-child(1){left:12%}.gh__art--wall i:nth-child(2){left:40%;animation-delay:-2s}.gh__art--wall i:nth-child(3){left:66%;animation-delay:-4s}.gh__art--wall i:nth-child(4){left:26%;animation-delay:-6s}
.gh__art--wall b{position:absolute;right:6%;bottom:8%;width:20%;aspect-ratio:1;background:#fff;border-radius:6px;background-image:repeating-linear-gradient(90deg,#2A1215 0 10%,transparent 10% 20%),repeating-linear-gradient(0deg,#2A1215 0 10%,transparent 10% 20%);background-blend-mode:multiply;border:4px solid #fff}
@media(max-width:900px){.nw-hero__in{grid-template-columns:1fr}.nw-steps,.nw-modes{grid-template-columns:1fr}.nw-specs{grid-template-columns:1fr}.nw-qr{right:0}}
@media(max-width:560px){.nw-spec{grid-template-columns:1fr;gap:4px}.nw-try{grid-template-columns:1fr}.nw-try__qr{justify-self:start}.nw-qr svg{width:76px;height:76px}.nw-qr{max-width:240px}}
@media(prefers-reduced-motion:reduce){.nw-art *{animation:none!important;opacity:1!important}}
.nw-art--flag{display:grid;place-items:center;background:radial-gradient(90% 80% at 50% 30%,#2a1a1c,#140c0d)}
.nw-art--flag>div{display:grid;grid-template-columns:repeat(10,1fr);gap:2px;width:72%;aspect-ratio:5/3}
.nw-art--flag i{border-radius:1px;animation:nwwave 4s ease-in-out infinite;animation-delay:calc(var(--c)*-.18s + var(--r)*-.06s)}
.nw-art--flag i.w{background:#fff}.nw-art--flag i.r{background:#CE1126}
.nw-art--flag i:nth-child(7n).r{background:#b40f22}.nw-art--flag i:nth-child(5n).w{background:#e9e2e0}
@keyframes nwwave{0%,100%{transform:translateY(calc(var(--c)*-.6px))}50%{transform:translateY(calc(var(--c)*.9px));filter:brightness(1.12)}}
.nw-art--flag i{position:static;display:block;box-shadow:none;border-radius:1px}
.nw-sess{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,4vw,56px);align-items:center}
.nw-sess h2{font-size:clamp(28px,3.4vw,44px);line-height:1.05;margin:6px 0 12px;color:#fff}
.nw-sess p{color:var(--dim)}
.nw-sess__steps{margin:6px 0 22px;padding-left:20px;color:var(--dim)}.nw-sess__steps li{margin:4px 0}.nw-sess__steps b{color:#fff}
@media(max-width:900px){.nw-sess{grid-template-columns:1fr}}
/* wall hero as a floating stage: cards drift across the first frame and plan around the content */
.nw-hero--float{min-height:min(100vh,1000px);display:flex;align-items:center}
.nw-hero--float>.nd-wrap{width:100%}
.nw-hero--float::after{z-index:0}
.nw-cb{display:flex;align-items:center;gap:14px;margin:6px 0 18px;max-width:520px}
.nw-cb img{width:clamp(84px,8vw,118px);height:auto;flex:none}
.nw-cb p{margin:0;color:rgba(255,255,255,.9);font-size:13px;line-height:1.45}
/* Celebrate Bahrain ownership badge, on every page */
.nd-cb{display:flex;align-items:center;gap:14px;margin:14px 0 18px;max-width:560px;position:relative;z-index:2}
.nd-cb img{width:clamp(78px,7.5vw,112px);height:auto;flex:none}
.nd-cb p{margin:0;font-size:13px;line-height:1.45;color:rgba(255,255,255,.9)}
.nd-cb--light p{color:#2a1215}.nd-cb--light img{filter:drop-shadow(0 1px 1px rgba(60,10,0,.35))}
.ng-top .nd-cb{flex-basis:100%}
@media (max-width:560px){.nd-cb{gap:10px}.nd-cb p{font-size:12px}}
