/* ---------- family accents ---------- */
.fam-hand{--a:#d0a24a}.fam-banakil{--a:#2f9e6b}.fam-tarneeb{--a:#c8453d}.fam-trix{--a:#8b5cf6}.fam-baloot{--a:#d98b2b}
.fam-basra{--a:#2aa4b5}.fam-tonj{--a:#e0627f}.fam-solitaire{--a:#4f7bd9}.fam-tiles{--a:#38b48b}.fam-chess{--a:#9aa4b8}
.fam-domino{--a:#7a8cff}.fam-four_hundred{--a:#cf5aa6}.fam-mahbouseh{--a:#c78a52}

/* ---------- phone frame (pure CSS) ---------- */
.phone{--w:300px;width:var(--w);aspect-ratio:9/19.5;border-radius:calc(var(--w)*.15);background:#08080c;padding:calc(var(--w)*.03);position:relative;flex:none;
  box-shadow:0 0 0 1.5px #3a3d49,0 0 0 calc(var(--w)*.018) #101116,0 70px 110px -34px rgba(0,0,0,.85),0 0 90px -10px var(--glow)}
.phone::before{content:"";position:absolute;z-index:3;top:calc(var(--w)*.04);left:50%;width:27%;height:calc(var(--w)*.062);transform:translateX(-50%);background:#000;border-radius:99px}
.phone::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:4;background:linear-gradient(115deg,rgba(255,255,255,.14),transparent 28%,transparent 72%,rgba(255,255,255,.05))}
.phone__screen{width:100%;height:100%;border-radius:calc(var(--w)*.125);overflow:hidden;background:#000;position:relative}
.phone__screen img{width:100%;height:100%;object-fit:cover;object-position:top center}
.phone--land{aspect-ratio:19.5/9;--w:520px;border-radius:calc(var(--w)*.075)}
.phone--land::before{top:50%;left:calc(var(--w)*.014);width:calc(var(--w)*.012);height:22%;transform:translateY(-50%)}
.phone--land .phone__screen{border-radius:calc(var(--w)*.06)}
.phone--sm{--w:230px}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding:calc(var(--nav-h) + 48px) 0 72px;background:#05070f;color:#f6f0e4}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 30%;opacity:.34;filter:saturate(1.1)}
.hero__bg::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 55% at 70% 45%,rgba(217,171,79,.20),transparent 70%),linear-gradient(180deg,rgba(5,7,15,.35),#05070f 96%)}
.hero__in{position:relative;z-index:2;display:grid;grid-template-columns:1.12fr .88fr;gap:var(--s8);align-items:center;width:100%}
.hero__eyebrow{display:inline-flex;gap:10px;align-items:center;padding:7px 16px;border:1px solid rgba(217,171,79,.4);border-radius:var(--r-pill);color:var(--gold-soft);font-size:.95rem;margin-bottom:var(--s5);background:rgba(217,171,79,.07)}
.hero__eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px var(--gold)}
.hero h1{font-size:var(--fs-hero);margin-bottom:var(--s5);color:#fff}
.hero .lead{max-width:34em;color:rgba(246,240,228,.74)}
.hero__cta{display:flex;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s6)}
.hero__visual{position:relative;display:grid;place-items:center;min-height:520px}
.hero__visual .phone{--w:clamp(250px,26vw,340px);transform:rotate(-4deg);animation:float 9s ease-in-out infinite}
[dir="rtl"] .hero__visual .phone{transform:rotate(4deg);animation-name:floatr}
.hero__tile{position:absolute;width:clamp(180px,22vw,300px);border-radius:20px;overflow:hidden;box-shadow:0 40px 80px -20px rgba(0,0,0,.8);opacity:.9;border:1px solid rgba(255,255,255,.1)}
.hero__tile--a{top:2%;inset-inline-end:-6%;transform:rotate(9deg)}
.hero__tile--b{bottom:2%;inset-inline-start:-8%;transform:rotate(-8deg)}
.hero__mark{position:absolute;width:clamp(70px,8vw,110px);bottom:6%;inset-inline-end:2%;filter:drop-shadow(0 20px 30px rgba(0,0,0,.6));z-index:3;border-radius:22%}
@keyframes float{0%,100%{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(-4deg) translateY(-16px)}}
@keyframes floatr{0%,100%{transform:rotate(4deg) translateY(0)}50%{transform:rotate(4deg) translateY(-16px)}}
.scroll-cue{position:absolute;bottom:22px;inset-inline-start:50%;width:26px;height:42px;border:1.5px solid rgba(255,255,255,.35);border-radius:99px;transform:translateX(-50%);z-index:3}
.scroll-cue::after{content:"";position:absolute;top:8px;left:50%;width:3px;height:8px;border-radius:2px;background:var(--gold);transform:translateX(-50%);animation:cue 2s var(--ease) infinite}
@keyframes cue{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,14px)}}
@media (max-width:900px){
  .hero{min-height:0;padding-bottom:56px}
  .hero__in{grid-template-columns:1fr;gap:var(--s7);text-align:center}
  .hero .lead{margin-inline:auto}.hero__cta{justify-content:center}
  .hero__visual{min-height:440px}
  .hero__tile--a{inset-inline-end:-4%}.hero__tile--b{inset-inline-start:-4%}
  .scroll-cue{display:none}
}

/* ---------- statement strip ---------- */
.statement{padding-block:clamp(96px,16vw,220px);text-align:center}
.statement p{font-family:var(--font);font-size:clamp(1.9rem,5.4vw,4.4rem);line-height:1.38;max-width:19em;margin-inline:auto;font-weight:800;color:var(--ink)}
html[lang="en"] .statement p{font-family:var(--font-lat);font-weight:700;letter-spacing:-.02em;line-height:1.14}
.statement .w{display:inline-block;opacity:.16;transition:opacity .5s var(--ease),color .5s var(--ease);margin-inline:.11em}
.statement .w.on{opacity:1}
.no-js .statement .w{opacity:1}

/* ---------- badges ---------- */
.badge{display:inline-flex;align-items:center;gap:7px;padding:4px 12px;border-radius:var(--r-pill);font-size:.82rem;font-weight:700;border:1px solid var(--line);color:var(--ink-dim);background:rgba(255,255,255,.04);white-space:nowrap}
.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.badge--live{color:#4ade80;border-color:rgba(74,222,128,.4);background:rgba(74,222,128,.08)}
.sec--light .badge--live,.sec--ivory .badge--live{color:#15803d}

/* ---------- games carousel ---------- */
.carousel{position:relative}
.carousel__track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:12px var(--gutter) 40px;scroll-padding-inline:var(--gutter);scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.carousel__track::-webkit-scrollbar{display:none}
.carousel__track::before,.carousel__track::after{content:"";flex:0 0 max(0px,calc((100vw - var(--maxw))/2 - var(--gutter)))}
.gcard{flex:0 0 min(78vw,320px);scroll-snap-align:start;position:relative;display:flex;flex-direction:column;border-radius:28px;overflow:hidden;color:var(--ink);
  background:radial-gradient(130% 70% at 85% 100%,color-mix(in srgb,var(--a,#d9ab4f) 26%,transparent),transparent 62%),var(--bg-elev);
  border:1px solid var(--line);transition:transform var(--t2) var(--ease),box-shadow var(--t2) var(--ease),border-color var(--t2)}
.gcard:hover{transform:translateY(-8px);box-shadow:0 34px 70px -28px color-mix(in srgb,var(--a,#d9ab4f) 70%,transparent);border-color:color-mix(in srgb,var(--a,#d9ab4f) 60%,transparent)}
.gcard__icon{width:100%;aspect-ratio:2/1;overflow:hidden;position:relative;background:#06150f}
.gcard__icon::after{content:"";position:absolute;inset:auto 0 0;height:40%;background:linear-gradient(transparent,rgba(0,0,0,.35))}
.gcard__icon img{width:100%;height:100%;object-fit:cover;transition:transform var(--t4) var(--ease)}
.gcard:hover .gcard__icon img{transform:scale(1.07)}
.gcard__body{padding:22px 24px 22px;display:flex;flex-direction:column;flex:1}
.gcard h3{font-size:1.55rem}
.gcard p{color:var(--ink-dim);font-size:.98rem;margin-top:6px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gcard__meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:var(--s4);font-size:.92rem;color:var(--ink-dim)}
.gcard__body p+.gcard__meta{margin-top:var(--s4)}
.carousel__nav{display:flex;gap:10px;justify-content:center;margin-top:4px}
.carousel__nav button{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:background var(--t1),border-color var(--t1),opacity var(--t1)}
.carousel__nav button:hover{border-color:var(--gold);background:var(--card-hover)}
.carousel__nav button[disabled]{opacity:.35;cursor:default}
.carousel__nav svg{width:20px;height:20px}
[dir="rtl"] .carousel__nav svg{transform:scaleX(-1)}

/* ---------- feature stages (pinned) ---------- */
.stages{position:relative}
.stages__head{padding-bottom:var(--s8)}
.stages__sticky{display:block}
.stages__device{display:none}
.stage{display:grid;grid-template-columns:1fr 1fr;gap:var(--s8);align-items:center;padding-block:clamp(40px,7vw,96px)}
.stage:nth-child(even) .stage__phone{order:-1}
.stage__text{max-width:30em}
.stage__icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(180deg,rgba(217,171,79,.22),rgba(217,171,79,.06));border:1px solid rgba(217,171,79,.35);color:var(--gold-text);margin-bottom:var(--s5)}
.stage__icon svg{width:26px;height:26px}
.stage h3{font-size:var(--fs-h2);margin-bottom:var(--s4)}
.stage p{font-size:var(--fs-lead);color:var(--ink-dim);line-height:1.65}
.stage__phone{display:grid;place-items:center}
.stage__phone .phone{--w:clamp(220px,28vw,310px)}
@media (max-width:900px){
  .stage{grid-template-columns:1fr;gap:var(--s6);text-align:center}
  .stage__text{margin-inline:auto}
  .stage__icon{margin-inline:auto}
  .stage:nth-child(even) .stage__phone{order:0}
  .stage__phone{order:2}
}
/* pinned mode (JS adds .stages--pin on wide screens when motion is allowed) */
.stages--pin .stages__track{height:calc(var(--n) * 78vh + 100vh)}
.stages--pin .stages__sticky{position:sticky;top:0;height:100vh;display:grid;grid-template-columns:1fr 1fr;gap:var(--s8);align-items:center;max-width:calc(var(--maxw) + 2*var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.stages--pin .stages__texts{position:relative;height:60vh;display:grid;align-items:center}
.stages--pin .stage{grid-area:1/1;display:block;padding:0;opacity:0;transform:translateY(34px);pointer-events:none;transition:opacity .7s var(--ease),transform .7s var(--ease)}
.stages--pin .stage.is-active{opacity:1;transform:none;pointer-events:auto}
.stages--pin .stage.is-past{transform:translateY(-34px)}
.stages--pin .stage__phone{display:none}
.stages--pin .stages__device{display:grid;place-items:center;position:relative}
.stages--pin .stages__device .phone{--w:clamp(200px,34vh,320px)}
.stages__screen{position:absolute;inset:0;opacity:0;transform:scale(1.04);transition:opacity .7s var(--ease),transform 1s var(--ease)}
.stages__screen.is-active{opacity:1;transform:none}
.stages__screen img{width:100%;height:100%;object-fit:cover;object-position:top}
.stages__dots{position:absolute;inset-inline-end:calc(var(--gutter) * .6);top:50%;display:none;flex-direction:column;gap:12px;transform:translateY(-50%)}
.stages--pin .stages__dots{display:flex}
.stages__dots i{width:6px;height:6px;border-radius:50%;background:var(--ink-faint);transition:all var(--t2) var(--ease)}
.stages__dots i.on{background:var(--gold);height:26px;border-radius:99px}
.stages--pin .stages__text-wrap{position:relative}

/* ---------- gallery ---------- */
.gallery__track{display:flex;gap:clamp(20px,3vw,44px);overflow-x:auto;scroll-snap-type:x mandatory;padding:20px var(--gutter) 56px;scrollbar-width:none;cursor:grab;align-items:center}
.gallery__track.drag{cursor:grabbing;scroll-snap-type:none}
.gallery__track::-webkit-scrollbar{display:none}
.gallery__item{flex:none;scroll-snap-align:center;text-align:center}
.gallery__item .phone{--w:clamp(210px,24vw,290px)}
.gallery__item .phone--land{--w:clamp(380px,46vw,560px)}
.gallery__item figcaption{margin-top:var(--s5);color:var(--ink-dim);font-size:.95rem}
.gallery__note{display:inline-flex;gap:8px;align-items:center;margin-top:var(--s5);padding:7px 16px;border:1px solid var(--line);border-radius:var(--r-pill);font-size:.88rem;color:var(--ink-dim)}
.gallery__track{padding-inline:max(var(--gutter),calc((100vw - var(--maxw))/2))}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--s5);text-align:center}
.stat{padding:var(--s6) var(--s4);border-radius:var(--r-card);background:var(--card);border:1px solid var(--line)}
.stat b{display:block;font-family:var(--font-display-ar);font-size:clamp(2.8rem,6vw,5rem);line-height:1.1;font-weight:800;color:var(--gold-text);font-variant-numeric:tabular-nums}
html[lang="en"] .stat b{font-family:var(--font);font-weight:800;font-weight:600}
.stat span{display:block;margin-top:8px;color:var(--ink-dim);font-size:1.02rem}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6);counter-reset:s}
.step{position:relative;padding:var(--s7) var(--s6) var(--s6);border-radius:var(--r-card);background:var(--card);border:1px solid var(--line);overflow:hidden}
.step::before{counter-increment:s;content:counter(s);position:absolute;top:-.08em;inset-inline-end:.1em;font-family:var(--font);font-weight:800;font-size:9rem;line-height:1;font-weight:700;color:var(--gold);opacity:.13}
.step h3{margin-bottom:var(--s3);position:relative}
.step p{color:var(--ink-dim);position:relative}
@media (max-width:860px){.steps{grid-template-columns:1fr}}

/* ---------- feature grid ---------- */
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s5)}
.fcard{padding:var(--s6);border-radius:var(--r-card);background:var(--card);border:1px solid var(--line);transition:transform var(--t2) var(--ease),border-color var(--t2),box-shadow var(--t2)}
.fcard:hover{transform:translateY(-5px);border-color:rgba(217,171,79,.5);box-shadow:0 26px 60px -30px var(--glow)}
.fcard .ico{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:rgba(217,171,79,.12);border:1px solid rgba(217,171,79,.3);color:var(--gold-text);margin-bottom:var(--s4)}
.fcard .ico svg{width:24px;height:24px}
.fcard h3{font-size:1.25rem;margin-bottom:8px}
.fcard p{color:var(--ink-dim);font-size:1rem;line-height:1.65}
.safety{display:grid;grid-template-columns:1fr 1.25fr;gap:var(--s8);align-items:start}
.safety__intro{position:sticky;top:calc(var(--nav-h) + 40px)}
.safety__intro .lead{margin-block:var(--s4) var(--s5)}
@media (max-width:900px){.safety{grid-template-columns:1fr}.safety__intro{position:static;text-align:center}}

/* ---------- FAQ ---------- */
.faq{max-width:860px;margin-inline:auto}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--s5);padding:var(--s5) 0;font-size:clamp(1.1rem,1.6vw,1.3rem);font-weight:700;min-height:56px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:linear-gradient(var(--gold-text),var(--gold-text)) center/12px 1.6px no-repeat,linear-gradient(var(--gold-text),var(--gold-text)) center/1.6px 12px no-repeat;transition:transform var(--t2) var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details>div{padding:0 0 var(--s5);color:var(--ink-dim);max-width:70ch;animation:fadeDown .4s var(--ease)}
.faq details>div a{color:var(--gold-text);text-decoration:underline;text-underline-offset:3px}
@keyframes fadeDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.faq__cat{font-family:var(--font-display-ar);font-size:1.15rem;color:var(--gold-text);margin:var(--s8) 0 var(--s2)}
html[lang="en"] .faq__cat{font-family:var(--font-lat);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.9rem}

/* ---------- CTA + store badges ---------- */
.cta{text-align:center;position:relative;overflow:hidden;background:radial-gradient(70% 90% at 50% 100%,rgba(217,171,79,.22),transparent 70%),#05070f}
.cta h2{font-size:var(--fs-h1);max-width:14em;margin-inline:auto}
.cta .lead{margin:var(--s5) auto var(--s7);max-width:36em}
.cta__icon{width:112px;margin:0 auto var(--s6);border-radius:26%;box-shadow:0 30px 70px -20px var(--glow)}
.stores{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.store{display:inline-flex;align-items:center;gap:12px;min-height:60px;padding:8px 26px 8px 22px;border-radius:16px;background:#000;border:1px solid rgba(255,255,255,.28);color:#fff;text-align:start;transition:transform var(--t2) var(--ease),border-color var(--t2),box-shadow var(--t2)}
.sec--light .store,.sec--ivory .store{background:#0a0a0f;border-color:#0a0a0f}
a.store:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 18px 40px -14px var(--glow)}
.store svg{width:28px;height:28px;flex:none}
.store small{display:block;font-size:.72rem;opacity:.75;line-height:1.2;letter-spacing:.02em}
.store b{display:block;font-size:1.15rem;line-height:1.2;font-weight:700}
.store--off{cursor:default;border-style:dashed;background:#0f1424;color:rgba(255,255,255,.82)}
.store--off small{opacity:1}
.stores__note{margin-top:var(--s5);color:var(--ink-faint);font-size:.92rem}

/* ---------- inner page header ---------- */
.phead{position:relative;padding:calc(var(--nav-h) + clamp(56px,9vw,110px)) 0 clamp(48px,7vw,88px);background:radial-gradient(70% 120% at 50% 0,rgba(217,171,79,.17),transparent 65%),#05070f;color:#f6f0e4;text-align:center;overflow:hidden}
.phead h1{font-size:var(--fs-h1);max-width:16em;margin-inline:auto}
.phead .lead{max-width:40em;margin:var(--s4) auto 0}
.crumbs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;color:rgba(246,240,228,.5);font-size:.92rem;margin-bottom:var(--s5)}
.crumbs a{display:inline-block;padding:8px 4px}
.crumbs a:hover{color:var(--gold-soft)}
.crumbs li+li::before{content:"/";margin-inline-end:8px;opacity:.5}
.crumbs{list-style:none;padding:0}

/* ---------- games grid ---------- */
.gtools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:var(--s7);justify-content:center}
.gtools input[type=search]{flex:1 1 260px;max-width:380px;min-height:48px;padding:0 20px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--card);color:var(--ink)}
.chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.chip{min-height:40px;padding:0 18px;border-radius:var(--r-pill);border:1px solid var(--line);background:transparent;color:var(--ink-dim);cursor:pointer;font-weight:500;transition:all var(--t1)}
.chip:hover{border-color:var(--gold-text);color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--accent-ink);font-weight:700}
.ggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.ggrid .gcard{flex:initial}
.ggrid .gcard[hidden]{display:none}
.empty{text-align:center;color:var(--ink-dim);padding:var(--s8) 0}

/* ---------- game page ---------- */
.ghero{position:relative;padding:calc(var(--nav-h) + clamp(48px,8vw,100px)) 0 clamp(56px,8vw,100px);color:#f6f0e4;overflow:hidden;
  background:radial-gradient(90% 120% at 80% 0,color-mix(in srgb,var(--a,#d9ab4f) 30%,transparent),transparent 62%),radial-gradient(60% 80% at 10% 100%,rgba(217,171,79,.1),transparent),#05070f}
.ghero__in{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--s8);align-items:center}
.ghero h1{font-size:var(--fs-hero);margin:var(--s4) 0}
.ghero .lead{color:rgba(246,240,228,.75)}
.ghero__cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:var(--s6)}
.ghero__art{display:grid;place-items:center;position:relative}
.ghero__art .big-icon{width:100%;max-width:520px;border-radius:28px;box-shadow:0 50px 90px -30px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.1),0 0 120px -20px color-mix(in srgb,var(--a,#d9ab4f) 60%,transparent);animation:float2 8s ease-in-out infinite;aspect-ratio:2/1;object-fit:cover}
.ghero__art .hero-img{width:100%;border-radius:var(--r-media);box-shadow:var(--shadow)}
@keyframes float2{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@media (max-width:900px){.ghero__in{grid-template-columns:1fr;text-align:center}.ghero__cta{justify-content:center}.ghero__art{order:-1}.ghero__art .big-icon{width:min(380px,100%)}}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-top:calc(var(--s8) * -1);position:relative;z-index:3}
.fact{padding:var(--s5);border-radius:var(--r-card);background:var(--bg-elev);border:1px solid var(--line);box-shadow:var(--shadow)}
.fact small{display:block;color:var(--ink-faint);font-size:.85rem;font-weight:500}
.fact b{display:block;font-size:1.5rem;margin-top:4px;line-height:1.3}
.variants{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.variant{padding:var(--s5);border-radius:var(--r-card);background:var(--card);border:1px solid var(--line)}
.variant h3{font-size:1.2rem;margin-bottom:6px}
.variant p{color:var(--ink-dim);font-size:.98rem}

/* ---------- prose (rules, legal, pages) ---------- */
.prose{font-size:1.08rem;line-height:1.85;color:var(--ink)}
html[lang="en"] .prose{line-height:1.7}
.prose>*+*{margin-top:1.05em}
.prose h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-top:2.2em}
.prose h3{font-size:clamp(1.3rem,2.2vw,1.65rem);margin-top:1.9em}
.prose h4{font-size:1.15rem;margin-top:1.6em;color:var(--gold-text)}
.prose p,.prose li{color:var(--ink)}
.prose ul,.prose ol{padding-inline-start:1.4em}
.prose ul{list-style:disc}.prose ol{list-style:decimal}
.prose li{margin-top:.45em}
.prose li::marker{color:var(--gold-text)}
.prose a{color:var(--gold-text);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prose blockquote{padding:var(--s4) var(--s5);border-inline-start:3px solid var(--gold);background:var(--card);border-radius:12px;color:var(--ink-dim)}
.prose strong{font-weight:800}
.prose blockquote>:first-child{margin-top:0}
.prose.legal h2{padding-top:.6em;border-top:1px solid var(--line);scroll-margin-top:calc(var(--nav-h) + 20px)}
.prose.legal h2:first-of-type{border-top:0}
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--card);-webkit-overflow-scrolling:touch}
.prose table{border-collapse:collapse;width:100%;min-width:420px;font-size:.98rem}
.prose th,.prose td{padding:12px 16px;text-align:start;border-bottom:1px solid var(--line);vertical-align:top}
.prose th{background:color-mix(in srgb,var(--gold) 14%,transparent);font-weight:700;white-space:nowrap}
.prose tr:last-child td{border-bottom:0}
.prose code{font-size:.92em;background:var(--card);padding:2px 6px;border-radius:6px;direction:ltr;unicode-bidi:isolate}

/* ---------- rules page ---------- */
.rules{display:grid;grid-template-columns:290px minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
.rules>*{min-width:0}
.toc{position:sticky;top:calc(var(--nav-h) + 24px);max-height:calc(100vh - var(--nav-h) - 48px);overflow:auto;padding:var(--s5);border-radius:var(--r-card);background:var(--card);border:1px solid var(--line)}
.toc h2{font-size:1rem;color:var(--ink-faint);font-weight:700;margin-bottom:var(--s3)}
.toc a{display:block;padding:7px 12px;border-radius:10px;color:var(--ink-dim);font-size:.96rem;line-height:1.45;transition:background var(--t1),color var(--t1)}
.toc a:hover{background:var(--card-hover);color:var(--ink)}
.toc a.on{background:rgba(217,171,79,.14);color:var(--gold-text);font-weight:700}
.toc .toc__group{margin:var(--s4) 0 4px;font-size:.82rem;color:var(--gold-text);font-weight:700;padding-inline:12px}
.rsec{padding-block:var(--s6);border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--nav-h) + 20px)}
.rsec:last-child{border-bottom:0}
.rsec__kind{font-size:.82rem;color:var(--gold-text);font-weight:700;margin-bottom:6px;display:block}
.rsec h2{font-size:clamp(1.55rem,3vw,2.2rem);margin-bottom:var(--s4)}
.rsec .anchor{opacity:0;display:inline-block;min-width:24px;min-height:24px;text-align:center;margin-inline-start:4px;color:var(--gold-text);font-size:.7em;transition:opacity var(--t1)}
.rsec h2:hover .anchor,.rsec h2:focus-within .anchor{opacity:1}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:var(--s6);padding:6px;border-radius:var(--r-pill);background:var(--card);border:1px solid var(--line);width:fit-content;max-width:100%}
.tab{min-height:42px;padding:0 20px;border-radius:var(--r-pill);border:0;background:transparent;color:var(--ink-dim);cursor:pointer;font-weight:600}
.tab[aria-selected="true"]{background:var(--gold);color:var(--accent-ink);font-weight:800}
.vpanel[hidden]{display:none}
.rules-tools{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:var(--s6)}
@media (max-width:960px){.rules{grid-template-columns:1fr}.toc{position:static;max-height:none}}
@media print{
  .nav,.sheet,.footer,.toc,.tabs,.rules-tools,.phead .crumbs,.skip,.btn{display:none!important}
  body,.sec--light,.sec--dark,.phead{background:#fff!important;color:#000!important}
  .phead{padding:0}.phead h1{color:#000!important;font-size:2rem}
  .rules{display:block}.vpanel[hidden]{display:block!important}
  .prose,.prose *{color:#000!important}.sec{padding:0}
  .tbl{border-color:#999}.rsec{break-inside:avoid-page}
}

/* ---------- forms ---------- */
.form{display:grid;gap:var(--s5);max-width:640px;margin-inline:auto}
.field label{display:block;font-weight:700;margin-bottom:8px;font-size:.98rem}
.field input,.field textarea{width:100%;min-height:52px;padding:12px 18px;border-radius:16px;border:1px solid var(--line);background:var(--bg-elev);color:var(--ink);transition:border-color var(--t1),box-shadow var(--t1)}
.field textarea{min-height:170px;resize:vertical;line-height:1.6}
.field input:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(217,171,79,.18)}
.field .err{color:#e5484d;font-size:.9rem;margin-top:6px}
.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#e5484d}
.hp{position:absolute;inset-inline-start:-9999px;width:1px;height:1px;overflow:hidden}
.alert{padding:16px 20px;border-radius:16px;border:1px solid var(--line);margin-bottom:var(--s5);font-weight:500}
.alert--ok{border-color:rgba(74,222,128,.5);background:rgba(74,222,128,.08)}
.alert--err{border-color:rgba(229,72,77,.5);background:rgba(229,72,77,.08)}
.contact-card{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--s8);align-items:start}
.contact-card aside{padding:var(--s6);border-radius:var(--r-card);background:var(--card);border:1px solid var(--line)}
.contact-card aside a.mail{font-size:1.25rem;font-weight:800;color:var(--gold-text);direction:ltr;unicode-bidi:isolate;display:inline-block;margin-top:8px}
@media (max-width:860px){.contact-card{grid-template-columns:1fr}}

/* ---------- misc pages ---------- */
.notice{padding:14px 20px;border-radius:16px;background:var(--card);border:1px solid var(--line);color:var(--ink-dim);font-size:.95rem;margin-bottom:var(--s6)}
.errpage{min-height:100vh;display:grid;place-items:center;text-align:center;padding:calc(var(--nav-h) + 40px) var(--gutter) 60px;background:radial-gradient(60% 60% at 50% 40%,rgba(217,171,79,.15),transparent 70%),#05070f;color:#f6f0e4}
.errpage b{display:block;font-family:var(--font);font-weight:800;font-size:clamp(5rem,18vw,12rem);line-height:1;font-weight:700;background:linear-gradient(180deg,#f7e3ab,#a97d28);-webkit-background-clip:text;background-clip:text;color:transparent}
.errpage p{color:rgba(246,240,228,.7);margin:var(--s4) 0 var(--s6);font-size:var(--fs-lead)}
.legal-meta{color:var(--ink-faint);font-size:.92rem;margin-bottom:var(--s6)}
.draft-bar{position:fixed;bottom:12px;inset-inline-start:12px;z-index:200;background:#b45309;color:#fff;padding:8px 16px;border-radius:var(--r-pill);font-size:.85rem;font-weight:700}
.feat-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.video-frame{border-radius:var(--r-media);overflow:hidden;box-shadow:var(--shadow);max-width:960px;margin-inline:auto;background:#000}
.video-frame video{width:100%}
.imgfit img{border-radius:var(--r-media)}

.consent{position:fixed;inset-inline:16px;bottom:16px;z-index:300;max-width:640px;margin-inline:auto;background:rgba(13,19,38,.96);color:#f6f0e4;border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:16px 20px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;box-shadow:0 30px 70px -20px rgba(0,0,0,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.consent p{font-size:.95rem;line-height:1.5}.consent a{color:var(--gold-soft);text-decoration:underline}

/* delete-account page */
.du-card{position:relative;padding:clamp(22px,4vw,36px);border-radius:var(--r-card);background:var(--card);border:1px solid var(--line);margin-bottom:var(--s6);box-shadow:var(--shadow)}
.du-card h2{font-size:clamp(1.3rem,2.4vw,1.7rem);margin-bottom:var(--s3)}
.du-card p{color:var(--ink-dim)}
.du-card--primary{border-color:rgba(217,171,79,.55);background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 12%,var(--card)),var(--card))}
.du-badge{display:inline-block;margin-bottom:var(--s3);padding:3px 12px;border-radius:var(--r-pill);background:var(--gold);color:var(--accent-ink);font-weight:800;font-size:.8rem}
.du-note{font-size:.92rem;color:var(--ink-faint)!important}

.phead__bg{position:absolute;inset:0;z-index:0;opacity:.28}.phead__bg img{width:100%;height:100%;object-fit:cover}.phead>.wrap{position:relative;z-index:1}
