/* fairgocasino.mobi: casino-app shell in Fair Go's jungle green and gold. Mobile first. */
/* Self-hosted fonts (SIL Open Font License), latin subset from Google Fonts. Baloo 2 800 for display text;
   Outfit is a variable font, so one file covers the 400 and 600 weights the CSS uses. */
@font-face { font-family: "Baloo 2"; font-style: normal; font-weight: 800; font-display: swap; src: url(/assets/fonts/baloo2-800-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: "Outfit"; font-style: normal; font-weight: 400 600; font-display: swap; src: url(/assets/fonts/outfit-var-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; }
:root {
  --g950: #04140E;
  --g900: #071F17;
  --g800: #0A2C21;
  --g700: #0F3D2E;
  --g600: #145C43;
  --g500: #1B7A57;
  --g300: #A9CDB8;
  --g200: #D4EBDD;
  --g100: #E9F5EE;
  --gold: #FFC629;
  --gold-hi: #FFD75E;
  --gold-d: #C98F00;
  --ink: #0E2219;
  --muted: #4A5F56;
  --line: #DCE8E1;
  --white: #fff;
  --red: #B3261E;
  --display: "Baloo 2", "Arial Rounded MT Bold", system-ui, sans-serif;
  --body: "Outfit", system-ui, -apple-system, "Segoe UI", sans-serif;
  --tab-h: 66px;
  --r: 22px;
  color-scheme: light;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 76px; }
body { margin: 0; font: 400 16px/1.6 var(--body); color: var(--white); background: var(--g700); -webkit-font-smoothing: antialiased; }
img, svg { max-width: 100%; }
img { height: auto; display: block; }
a { color: inherit; }
h1, h2, h3 { font-family: var(--display); line-height: 1.12; margin: 0; }
p { margin: 0; }
button { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid var(--focus, var(--gold)); outline-offset: 2px; border-radius: 6px; }
/* Light surfaces get a dark focus ring; dark panels inside them switch back to gold. */
.sheet, .menu, .offer, .ticket, .side__qr, .coupon:not(.coupon--dark) { --focus: var(--g700); }
.ctabox, .coupon--dark { --focus: var(--gold); }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--gold); color: var(--ink); font-weight: 600; padding: 12px 16px; border-radius: 12px; text-decoration: none; }
.skip:focus { top: 12px; }
.ico { width: 24px; height: 24px; flex: none; }
.ico--s { width: 18px; height: 18px; }
.ico--xl { width: 40px; height: 40px; }
main:focus { outline: none; }

/* ---------- App frame ---------- */
.stage { min-height: 100vh; }
.app { position: relative; max-width: 640px; margin: 0 auto; min-height: 100vh; overflow-x: clip;
  background: radial-gradient(120% 420px at 50% 0, var(--g600) 0, rgba(20,92,67,0) 70%), var(--g700);
  padding-bottom: calc(var(--tab-h) + 24px + env(safe-area-inset-bottom)); }
.side { display: none; }

/* ---------- App bar ---------- */
.appbar { position: sticky; top: 0; z-index: 50; display: flex; align-items: center; gap: 8px; min-height: 60px;
  padding: env(safe-area-inset-top) max(12px, env(safe-area-inset-right)) 0 max(12px, env(safe-area-inset-left));
  background: rgba(10, 44, 33, .94); border-bottom: 1px solid rgba(255,255,255,.08); }
@supports (backdrop-filter: blur(8px)) { .appbar { background: rgba(10, 44, 33, .82); backdrop-filter: saturate(1.4) blur(12px); } }
.lockup { display: flex; align-items: center; gap: 8px; text-decoration: none; min-width: 0; min-height: 44px; margin-right: auto; }
.lockup__logo { width: 58px; height: auto; }
.lockup__txt { display: flex; flex-direction: column; line-height: 1.15; min-width: 0; }
.lockup__dom { font-weight: 600; font-size: 13.5px; color: var(--white); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lockup__tag { font-size: 10.5px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--gold); white-space: nowrap; }
.pill { display: inline-flex; align-items: center; justify-content: center; height: 44px; padding: 0 18px; border-radius: 999px; flex: none;
  background: var(--gold); color: var(--ink); font: 800 16px/1 var(--display); text-decoration: none; box-shadow: 0 4px 14px rgba(255,198,41,.3); }
.pill:hover { background: var(--gold-hi); }
.iconbtn { display: inline-grid; place-items: center; width: 44px; height: 44px; flex: none; border: 0; border-radius: 14px; background: rgba(255,255,255,.08); cursor: pointer; }
.iconbtn:hover { background: rgba(255,255,255,.16); }
.iconbtn .ico--shut, .iconbtn[aria-expanded="true"] .ico--open { display: none; }
.iconbtn[aria-expanded="true"] .ico--shut { display: block; }
.menu { position: absolute; top: calc(100% + 6px); right: 10px; width: min(360px, calc(100vw - 20px)); padding: 10px; z-index: 60;
  max-height: calc(100vh - 84px - var(--tab-h)); max-height: calc(100dvh - 84px - var(--tab-h)); overflow-y: auto; overscroll-behavior: contain;
  background: var(--white); color: var(--ink); border-radius: 20px; box-shadow: 0 24px 60px rgba(0,0,0,.45); }
.menu[hidden] { display: none; }
.menu ul { list-style: none; margin: 0 0 10px; padding: 0; }
.menu a:not(.btn) { display: flex; align-items: center; gap: 12px; min-height: 46px; padding: 0 12px; border-radius: 12px; text-decoration: none; font-weight: 600; }
.menu a:not(.btn) .ico { color: var(--g500); }
.menu a:not(.btn):hover { background: var(--g100); }
.menu a[aria-current="page"] { background: var(--g100); box-shadow: inset 4px 0 0 var(--gold-d); }
.mgroup { border-bottom: 1px solid var(--line); }
.mgroup summary { display: flex; align-items: center; gap: 10px; min-height: 50px; padding: 0 12px; border-radius: 12px; cursor: pointer; list-style: none; font: 800 17px/1.2 var(--display); color: var(--g700); }
.mgroup summary::-webkit-details-marker { display: none; }
.mgroup summary:hover { background: var(--g100); }
.mgroup summary > .ico:first-child { color: #8A6300; }
.mgroup__n { margin-left: auto; min-width: 26px; padding: 0 7px; border-radius: 999px; background: var(--g100); color: var(--g600); font: 600 12px/1.7 var(--body); text-align: center; }
.mgroup__chev { color: var(--g500); transition: transform .2s; }
.mgroup[open] .mgroup__chev { transform: rotate(90deg); }
.menu .mgroup ul { margin: 0 0 8px; }
.menu .mgroup a { min-height: 44px; padding-left: 18px; font-size: 15.5px; }
.menu__quick { margin: 6px 0 10px; }
.menu__help { font-size: 13px; color: var(--muted); padding: 10px 6px 2px; text-align: center; }
.menu__help a { color: var(--g600); font-weight: 600; }

/* ---------- Buttons, coupons ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px; border-radius: 999px;
  font: 800 17px/1.1 var(--display); text-decoration: none; text-align: center; border: 2px solid transparent; cursor: pointer; transition: transform .15s, background-color .15s; }
.btn--gold { background: var(--gold); color: var(--ink); box-shadow: 0 6px 18px rgba(255,198,41,.32), inset 0 -3px 0 rgba(0,0,0,.12); }
.btn--gold:hover { background: var(--gold-hi); transform: translateY(-1px); }
.btn--ghost { background: transparent; color: var(--g600); border-color: var(--g600); }
.btn--ghost:hover { background: var(--g100); }
.btn--xl { min-height: 56px; font-size: 19px; }
.btn--sm { min-height: 44px; padding: 0 18px; font-size: 15px; }
.btn--block { display: flex; width: 100%; }
.micro { font-size: 12.5px; color: var(--muted); text-align: center; margin-top: 10px; }
.micro--light { color: var(--g200); }
.coupon { display: flex; align-items: center; gap: 10px; padding: 5px 5px 5px 14px; border: 2px dashed var(--gold-d); background: #FFF8E1; border-radius: 14px; color: var(--ink); min-width: 0; }
.coupon__l { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.coupon__c { font: 800 19px/1 var(--display); letter-spacing: .05em; white-space: nowrap; }
.copy { margin-left: auto; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 0 14px; border: 0; border-radius: 10px;
  background: var(--g700); color: var(--white); font-weight: 600; font-size: 14px; cursor: pointer; flex: none; min-width: 44px; }
.copy:hover { background: var(--g600); }
.copy.is-done { background: var(--g500); }
.coupon--lg { padding: 7px 7px 7px 16px; }
.coupon--lg .coupon__c { font-size: 24px; }
.coupon--dark { background: rgba(0,0,0,.35); border-color: var(--gold); color: var(--white); }
.coupon--dark .coupon__l { color: var(--g300); }
.coupon--dark .copy { background: var(--gold); color: var(--ink); }
.coupon--dark .copy:hover { background: var(--gold-hi); }
.no-js .copy, .no-js .sec__nav { display: none; }

/* ---------- Main ---------- */
main { display: block; padding: 12px 16px 8px; }
.hero { position: relative; isolation: isolate; padding-top: 22px; }
.hero::before { content: ""; position: absolute; z-index: -1; top: -6px; right: -16px; width: 170px; height: 91px;
  background: url(/assets/brand/leaves-1.png) left top / auto 100% no-repeat; transform: scaleX(-1); opacity: .5; }
.hero__hi { display: flex; align-items: center; gap: 6px; color: var(--gold); font-weight: 600; font-size: 14px; }
.hero h1 { font-weight: 800; font-size: clamp(29px, 8.4vw, 36px); margin: 6px 0 10px; letter-spacing: -.005em; }
.hero__lead { color: var(--g200); font-size: 16px; }
.hero__banner { display: block; margin-top: 16px; border-radius: 20px; overflow: hidden; box-shadow: 0 14px 30px rgba(0,0,0,.35); }
.hero__img { width: 100%; }
.hero__cap { margin-top: 8px; font-size: 12.5px; line-height: 1.4; color: var(--g300); text-align: center; }
.offer { margin-top: 14px; padding: 18px; background: var(--white); color: var(--ink); border-radius: var(--r); box-shadow: 0 14px 34px rgba(0,0,0,.28); }
.offer__k { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--g500); }
.offer__big { font: 800 38px/1.05 var(--display); margin: 2px 0 4px; }
.offer__big b { color: var(--g600); }
.offer__sub { color: var(--muted); font-size: 15px; margin-bottom: 14px; }
.offer__ctas { display: grid; gap: 10px; margin-top: 14px; }
.offer__alt { margin-top: 8px; text-align: center; font-size: 14.5px; }
.offer__alt a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--g600); font-weight: 600; text-underline-offset: 2px; }

/* ---------- Sections and rails ---------- */
.sec { margin-top: 30px; scroll-margin-top: 70px; }
.sec__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 4px; }
.sec__head h2 { font-size: 24px; font-weight: 800; }
.sec__sub { color: var(--g300); font-size: 14px; line-height: 1.4; margin-top: 2px; }
.sec__nav { display: flex; gap: 8px; flex: none; }
.navbtn { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.08); cursor: pointer; }
.navbtn:hover { background: rgba(255,255,255,.18); }
.navbtn[aria-disabled="true"] { opacity: .35; cursor: default; }
.sec__note { font-size: 13px; color: var(--g300); line-height: 1.5; margin-top: 2px; }
.track { margin: 0 -16px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: 16px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.track::-webkit-scrollbar { display: none; }
.track:focus-visible { outline-offset: -3px; border-radius: 16px; }
.track ul { display: flex; gap: 12px; width: max-content; margin: 0; padding: 10px 16px 16px; list-style: none; }
.track li { flex: none; scroll-snap-align: start; }

.tag { display: inline-block; padding: 3px 10px; border-radius: 999px; background: var(--gold); color: var(--ink); font-size: 11.5px; font-weight: 600; letter-spacing: .02em; }
.tag--light { background: var(--g100); color: var(--g600); }

/* Promo cards: Fair Go's tall art with the details over its dark lower half */
.pcard { position: relative; width: 236px; border-radius: 20px; overflow: hidden; background: #000; box-shadow: 0 12px 28px rgba(0,0,0,.4); }
.pcard__art { width: 100%; }
.pcard__body { position: absolute; left: 0; right: 0; bottom: 0; padding: 56px 14px 14px; display: flex; flex-direction: column; gap: 5px;
  background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,.85) 30%, #000 100%); }
.pcard__body .tag { align-self: flex-start; }
.pcard__t { font-size: 20px; font-weight: 800; }
.pcard__offer { font-size: 14px; line-height: 1.35; color: var(--white); }
.pcard__terms { font-size: 11.5px; line-height: 1.4; color: var(--g300); }
.pcard__row { display: grid; gap: 8px; margin-top: 4px; }
.pcard .coupon { padding: 4px 4px 4px 10px; gap: 8px; }
.pcard .coupon__c { font-size: 17px; }
.pcard .coupon__l { display: none; }
.nocode { display: flex; align-items: center; min-height: 44px; font-size: 13px; font-weight: 600; color: var(--g200); }
.nocode--light { color: var(--g600); min-height: 0; }

/* Game tiles */
.tile { position: relative; display: block; width: 112px; border-radius: 16px; overflow: hidden; text-decoration: none; background: var(--g900); box-shadow: 0 10px 22px rgba(0,0,0,.35); }
.tile--tall { width: 134px; }
.tile__img { width: 100%; transition: transform .3s; }
.tile__name { position: absolute; left: 0; right: 0; bottom: 0; padding: 26px 8px 8px; font-size: 12.5px; font-weight: 600; line-height: 1.25;
  background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,.85)); }
.tile__play { position: absolute; top: 42%; left: 50%; transform: translate(-50%, -50%); display: inline-flex; align-items: center; gap: 4px; white-space: nowrap;
  padding: 8px 12px; border-radius: 999px; background: var(--gold); color: var(--ink); font: 800 14px/1 var(--display); opacity: 0; transition: opacity .2s; box-shadow: 0 6px 16px rgba(0,0,0,.4); }
.tile:hover .tile__play, .tile:focus-visible .tile__play { opacity: 1; }
.tile:hover .tile__img, .tile:focus-visible .tile__img { transform: scale(1.05); }
.tile:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
@media (hover: none) {
  .tile__play { opacity: 1; top: 8px; right: 8px; left: auto; transform: none; padding: 0; width: 30px; height: 30px; justify-content: center; font-size: 0; gap: 0; }
}

/* Bonus tickets */
.ticket { display: grid; grid-template-columns: 82px 1fr; width: 300px; min-height: 100%; background: var(--white); color: var(--ink); border-radius: 18px; overflow: hidden; box-shadow: 0 10px 24px rgba(0,0,0,.3); }
.ticket__art { width: 82px; height: 100%; object-fit: cover; object-position: 50% 12%; }
.ticket__art--icon { display: grid; place-items: center; background: linear-gradient(160deg, var(--g500), var(--g800)); color: var(--gold); }
.ticket__body { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 12px 12px 12px 14px;
  background: radial-gradient(circle at 0 0, transparent 8px, #fff 8.5px) top left / 100% 51% no-repeat, radial-gradient(circle at 0 100%, transparent 8px, #fff 8.5px) bottom left / 100% 51% no-repeat; }
.ticket__body::before { content: ""; position: absolute; left: 0; top: 12px; bottom: 12px; border-left: 2px dashed var(--line); }
.ticket__body .tag { align-self: flex-start; }
.ticket__t { font-size: 17px; font-weight: 800; }
.ticket__offer { font-size: 13.5px; line-height: 1.35; }
.ticket__terms { font-size: 11.5px; color: var(--muted); line-height: 1.35; }
.ticket__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 6px; }
.ticket .coupon { padding: 3px 3px 3px 9px; gap: 6px; border-radius: 12px; }
.ticket .coupon__l { display: none; }
.ticket .coupon__c { font-size: 15px; }
.ticket .copy { padding: 0 10px; }
.ticket .copy [data-copy-label] { font-size: 13px; }

/* Join in 3 steps */
.join { margin-top: 30px; padding: 20px 18px; border-radius: var(--r); background: linear-gradient(160deg, var(--g600), var(--g800)); border: 1px solid rgba(255,198,41,.35); }
.join h2 { font-size: 24px; font-weight: 800; }
.join__steps { list-style: none; margin: 14px 0 18px; padding: 0; display: grid; gap: 12px; }
.join__steps li { display: flex; gap: 12px; align-items: flex-start; color: var(--g200); font-size: 15px; line-height: 1.45; }
.join__steps b { color: var(--white); }
.join__n { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; flex: none; background: var(--gold); color: var(--ink); font: 800 18px/1 var(--display); }

/* Trust strip */
.trust { margin-top: 30px; }
.trust h2 { font-size: 22px; font-weight: 800; margin-bottom: 12px; }
.trust__badges, .trust__pays { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.trust__badges { margin-bottom: 8px; }
.trust__badges img { width: 106px; }
.trust__pays { gap: 10px 14px; margin: 16px 0 8px; padding: 14px; border-radius: 18px; background: rgba(0,0,0,.18); align-items: center; }
.trust__pays img { height: 26px; width: auto; }

/* ---------- White sheets (reading content) ---------- */
.sheet { margin-top: 28px; padding: 22px 18px; background: var(--white); color: var(--ink); border-radius: 26px; box-shadow: 0 16px 40px rgba(0,0,0,.25); }
.sheet::after { content: ""; display: block; clear: both; }
.sheet h2 { font-size: 25px; font-weight: 800; color: var(--g700); margin: 30px 0 10px; scroll-margin-top: 76px; clear: both; }
.sheet > h2:first-child { margin-top: 0; }
.sheet h3 { font-size: 19px; font-weight: 800; color: var(--g700); }
.sheet p { margin: 0 0 14px; }
.sheet a:not(.btn) { color: var(--g600); font-weight: 600; text-underline-offset: 2px; }
.sheet a:not(.btn):hover { color: var(--g500); }
.list { margin: 0 0 16px; padding-left: 22px; }
.list li { margin: 7px 0; padding-left: 2px; }
.list li::marker { color: var(--g500); font-weight: 600; }
.facts { margin: 4px 0 16px; padding: 4px 14px; border-radius: 16px; background: var(--g100); }
.facts div { padding: 10px 0; border-bottom: 1px solid var(--line); }
.facts div:last-child { border-bottom: 0; }
.facts dt { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .07em; color: var(--muted); }
.facts dd { margin: 2px 0 0; font-size: 15.5px; line-height: 1.45; }
.facts--status dt { text-transform: none; letter-spacing: 0; }
.chip { display: inline-block; padding: 1px 8px; border-radius: 999px; font: 600 11.5px/1.6 var(--body); vertical-align: 1px; white-space: nowrap; }
.chip--verified { background: #DDF3E5; color: #0B5A33; }
.chip--operator-claim { background: #FFF1C7; color: #5E4500; }
.chip--unverified { background: #FCE3E1; color: #8A1F17; }
.chip--conflict { background: #EDE4FF; color: #4A2C8F; }
.callout { display: flex; gap: 12px; align-items: flex-start; margin: 18px 0; padding: 14px 16px; border-radius: 16px; background: var(--g100); border-left: 5px solid var(--g500); }
.callout .ico { color: var(--g600); margin-top: 2px; }
.callout p:last-child { margin-bottom: 0; }
.callout__t { font-weight: 600; margin-bottom: 4px !important; }
.callout--tip { background: #FFF8E1; border-left-color: var(--gold-d); }
.callout--tip .ico { color: #8A6300; }
.callout--warn { background: #FDECEA; border-left-color: var(--red); }
.callout--warn .ico { color: var(--red); }

/* Install switcher */
.install .seg { display: inline-flex; flex-wrap: wrap; gap: 4px; margin: 4px 0 14px; padding: 4px; border: 0; border-radius: 999px; background: var(--g100); }
.seg input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.seg label { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 16px; border-radius: 999px; font-weight: 600; cursor: pointer; color: var(--g600); }
.seg input:checked + label { background: var(--g700); color: var(--white); }
.seg input:focus-visible + label { outline: 3px solid var(--g700); outline-offset: 2px; }
.install:has(#os-and:checked) .taps--ios, .install:has(#os-ios:checked) .taps--and { display: none; }
.taps { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 10px; counter-reset: tap; }
.taps li { counter-increment: tap; display: flex; gap: 12px; align-items: flex-start; padding: 12px; border-radius: 16px; background: #F5FAF7; border: 1px solid var(--line); font-size: 15px; line-height: 1.45; }
.taps b { display: block; font: 800 18px/1.2 var(--display); color: var(--g700); margin-bottom: 2px; }
.taps b::before { content: counter(tap) ". "; color: #8A6300; }
.taps__ico { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; flex: none; background: var(--g700); color: var(--gold); }
.install__cta { margin: 6px 0 0 !important; }

/* FAQ */
.faq { border-top: 1px solid var(--line); margin-bottom: 4px; }
.qa { border-bottom: 1px solid var(--line); }
.qa summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 54px; padding: 12px 2px; cursor: pointer; list-style: none; font-weight: 600; font-size: 16.5px; line-height: 1.35; }
.qa summary::-webkit-details-marker { display: none; }
.qa__chev { color: var(--g500); transition: transform .2s; }
.qa[open] .qa__chev { transform: rotate(90deg); }
.qa__a { padding: 0 2px 6px; color: #23382F; }

/* Inner page header */
.phead { padding: 14px 0 4px; }
.crumbs ol { display: flex; flex-wrap: wrap; gap: 4px; list-style: none; margin: 0 0 10px; padding: 0; font-size: 13.5px; color: var(--g200); }
.crumbs li + li::before { content: "›"; margin-right: 4px; }
.crumbs a { color: var(--g200); display: inline-block; padding: 12px 0; margin: -12px 0; }
.phead__k { color: var(--gold); font-weight: 600; font-size: 14px; letter-spacing: .04em; }
.phead h1 { font-size: clamp(29px, 8vw, 36px); font-weight: 800; margin: 4px 0 10px; }
.phead__lede { color: var(--g200); font-size: 16.5px; }
.phead__meta { display: flex; align-items: flex-start; gap: 6px; margin-top: 10px; font-size: 13px; line-height: 1.45; color: var(--g300); }
.phead__meta .ico { margin-top: .5px; }
.phead__meta a { color: var(--g200); font-weight: 600; text-underline-offset: 2px; }

/* Login: top CTA block */
.ctatop { display: grid; grid-template-columns: 104px 1fr; gap: 14px; align-items: center; margin-top: 16px; padding: 16px; border-radius: var(--r);
  background: linear-gradient(150deg, var(--g600), var(--g800)); border: 2px solid rgba(255,198,41,.55); box-shadow: 0 16px 36px rgba(0,0,0,.3); }
.ctatop__art { display: block; line-height: 0; border-radius: 16px; }
.ctatop__img { width: 104px; height: 104px; object-fit: cover; object-position: 50% 20%; border-radius: 16px; background: var(--white); }
.ctatop__img--right { object-position: 100% 40%; }
.ctatop h2 { font-size: 25px; font-weight: 800; color: var(--white); }
.ctatop__body p { color: var(--g200); font-size: 14.5px; line-height: 1.45; margin-top: 4px; }
.ctatop__ctas { grid-column: 1 / -1; }
.ctatop__new { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; margin-top: 12px; font-weight: 600; font-size: 14px; color: var(--g200); }
.ctatop__new .coupon { flex: 1 1 100%; }
/* Narrow phones: art and heading share the first row and the text runs full width below, so the button and the
   new-player code sit inside the first screen (M06). */
@media (max-width: 480px) {
  .ctatop { grid-template-columns: 64px minmax(0, 1fr); gap: 10px 12px; margin-top: 12px; padding: 14px; }
  .ctatop__img { width: 64px; height: 64px; border-radius: 14px; }
  .ctatop__body { display: contents; }
  .ctatop h2 { font-size: 22px; }
  .ctatop__body p { grid-column: 1 / -1; margin-top: 0; }
  .ctatop__new { margin-top: 10px; }
  /* The coupon (which carries its own "Code" label) gets the row to itself, so it sits inside the first screen;
     the "New here? Use this code when you deposit:" lead-in stays for screen readers (M06). */
  .ctatop__new > span:not(.coupon) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
}

/* Login: TOC, steps, figures, fixes, CTA box */
.toc { margin: 0 0 8px; padding: 14px 16px; border-radius: 18px; background: var(--g100); }
.toc__h { font: 800 17px/1.2 var(--display) !important; color: var(--g700); margin: 0 0 6px !important; }
.toc ol { margin: 0; padding-left: 22px; }
.toc li::marker { color: #8A6300; font-weight: 600; }
.toc a { display: flex; align-items: center; min-height: 44px; padding: 4px 0; line-height: 1.35; }
.psteps { list-style: none; margin: 8px 0 12px; padding: 0; }
.pstep { display: grid; grid-template-columns: 104px 1fr; gap: 16px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line); }
.pstep:last-child { border-bottom: 0; }
.pstep__fig { margin: 0; }
.phone { width: 104px; height: auto; display: block; filter: drop-shadow(0 8px 14px rgba(7,31,23,.25)); }
.pstep__n { font-size: 12px !important; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #8A6300; margin: 0 0 2px !important; }
.pstep h3 { margin-bottom: 6px; }
.pstep__body p:last-child { margin-bottom: 0; }
.figure { margin: 8px 0 18px; }
.figure figcaption { font-size: 13px; color: var(--muted); margin-top: 6px; text-align: center; }
.browser { width: 100%; max-width: 440px; height: auto; display: block; margin: 0 auto; filter: drop-shadow(0 10px 18px rgba(7,31,23,.25)); }
.figure--side { float: right; width: 112px; margin: 2px 0 10px 16px; }
.figure--side img { width: 112px; margin: 0 auto; }
.fixes { list-style: none; margin: 4px 0 16px; padding: 0; display: grid; gap: 10px; }
.fix { display: flex; gap: 12px; align-items: flex-start; padding: 14px; border-radius: 16px; background: #F5FAF7; border: 1px solid var(--line); }
.fix__ico { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; flex: none; background: var(--g700); color: var(--gold); }
.fix h3 { font-size: 18px; }
.fix p { margin: 4px 0 0 !important; font-size: 15px; line-height: 1.5; }
.ctabox { margin: 22px 0; padding: 18px; border-radius: 20px; color: var(--white); background: linear-gradient(140deg, var(--g600), var(--g800)); clear: both; }
.ctabox__t { font: 800 23px/1.15 var(--display); margin: 0 0 6px !important; }
.ctabox p { color: var(--g200); }
.ctabox .micro { margin: 10px 0 0 !important; color: var(--g300); }

/* End CTA */
.endcta { position: relative; isolation: isolate; overflow: hidden; margin-top: 28px; padding: 24px 18px 20px; border-radius: 26px;
  background: radial-gradient(140% 90% at 100% 0, #17664A 0, rgba(23,102,74,0) 60%), linear-gradient(170deg, var(--g600), var(--g900)); border: 1px solid rgba(255,198,41,.4); }
.endcta::after { content: ""; position: absolute; z-index: -1; right: -40px; bottom: -14px; width: 230px; height: 119px; background: url(/assets/brand/leaves-2.png) right bottom / contain no-repeat; opacity: .55; }
.endcta__k { display: flex; align-items: center; gap: 6px; color: var(--gold); font-weight: 600; font-size: 14px; }
.endcta h2 { font-size: 28px; font-weight: 800; margin: 6px 0 8px; }
.endcta > p:not(.micro):not(.endcta__k) { color: var(--g200); margin-bottom: 14px; }
.endcta .coupon { margin-bottom: 12px; }
.endcta__alt { text-align: center; margin-top: 12px; font-size: 14.5px; color: var(--g200); }
.endcta__alt a { color: var(--gold); font-weight: 600; }

/* 404 list */
.golist { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.golist a { display: flex; align-items: center; min-height: 52px; padding: 0 16px; border-radius: 14px; background: var(--g100); text-decoration: none; }

/* ---------- Guide cards, related guides, shortcut grid ---------- */
.gcards { list-style: none; margin: 6px 0 18px; padding: 0; display: grid; gap: 10px; }
.sheet a.gcard { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 12px; border-radius: 16px; background: #F5FAF7; border: 1px solid var(--line);
  text-decoration: none; color: var(--ink); font-weight: 400; }
.sheet a.gcard:hover { border-color: var(--g500); background: var(--g100); color: var(--ink); }
.gcard__ico { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; flex: none; background: var(--g700); color: var(--gold); }
.gcard__txt { display: flex; flex-direction: column; min-width: 0; line-height: 1.35; }
.gcard__txt b { font: 800 17px/1.2 var(--display); color: var(--g700); }
.gcard__txt span { font-size: 14px; color: var(--muted); margin-top: 2px; }
.gcard__go { margin-left: auto; color: var(--g500); }
.gcards--compact { gap: 8px; }
.sheet .gcards--compact a.gcard { min-height: 52px; padding: 7px 12px 7px 8px; background: var(--white); }
.gcards--compact .gcard__ico { width: 36px; height: 36px; border-radius: 11px; }
.gcards--compact .gcard__ico .ico { width: 20px; height: 20px; }
.gcards--compact .gcard__txt b { font-size: 16px; }
.gcards--compact .gcard__txt span { display: none; }
.related { margin: 24px 0 8px; padding: 14px; border-radius: 18px; background: var(--g100); clear: both; }
.related__h { font: 800 18px/1.2 var(--display) !important; color: var(--g700); margin: 0 0 10px !important; }
.related .gcards { margin: 0; }
@media (min-width: 641px) and (max-width: 1023px) { .gcards { grid-template-columns: 1fr 1fr; } }
.apps { list-style: none; margin: 12px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px 8px; }
.apps a { display: flex; flex-direction: column; align-items: center; gap: 7px; text-decoration: none; text-align: center; font-size: 12.5px; font-weight: 600; line-height: 1.25; color: var(--g200); }
.apps__ico { display: grid; place-items: center; width: 60px; height: 60px; border-radius: 18px; background: linear-gradient(150deg, var(--g500), var(--g800));
  border: 1px solid rgba(255,255,255,.16); color: var(--gold); box-shadow: 0 8px 18px rgba(0,0,0,.3); transition: transform .15s; }
.apps a:hover .apps__ico { transform: translateY(-2px); }
.apps a:hover .apps__l { color: var(--white); }

/* ---------- Tables ---------- */
.tbl { margin: 6px 0 18px; overflow-x: auto; border-radius: 14px; border: 1px solid var(--line); clear: both; }
.tbl table { width: 100%; border-collapse: collapse; font-size: 14.5px; line-height: 1.4; }
.tbl caption { text-align: left; padding: 10px 12px; font-weight: 600; font-size: 14.5px; color: var(--g700); background: var(--g100); }
.tbl th, .tbl td { padding: 9px 10px; text-align: left; vertical-align: top; border-top: 1px solid var(--line); }
.tbl thead th { font-size: 11.5px; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); background: #F5FAF7; }
.tbl tbody th { font-weight: 600; color: var(--g700); }

/* ---------- Pokie spec cards ---------- */
.specs { list-style: none; margin: 8px 0 10px; padding: 0; display: grid; gap: 14px; }
.spec { display: grid; grid-template-columns: 86px minmax(0, 1fr); gap: 12px 14px; padding: 14px; border-radius: 18px; background: #F5FAF7; border: 1px solid var(--line); }
.spec__art { align-self: start; aspect-ratio: 3 / 4; border-radius: 12px; overflow: hidden; background: var(--g900); }
.spec__img, .tart { width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; display: block; }
.tart text { font-family: var(--display); }
.spec__t { font-size: 20px; margin-bottom: 6px; }
.spec__dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 10px; margin: 0; }
.spec__dl dt { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .07em; color: var(--muted); }
.spec__dl dd { margin: 0; font-size: 14.5px; font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; }
.np { color: var(--muted); font-weight: 400; font-style: italic; }
.spec__foot { grid-column: 1 / -1; }
.spec__f { margin: 0 0 10px; padding-left: 18px; font-size: 14.5px; line-height: 1.4; }
.spec__f li { margin: 2px 0; }
.sheet .spec__note, .sheet .spec__promo { font-size: 14px; margin: 0 0 8px; color: var(--muted); }
.spec .coupon { margin-bottom: 10px; }
.sheet .spec__src { font-size: 13.5px; color: var(--muted); }
@media (min-width: 420px) { .spec { grid-template-columns: 104px minmax(0, 1fr); } }

/* ---------- Phone drawings in a row ---------- */
.phones { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px 22px; margin: 10px 0 18px; clear: both; }
.phones figure { margin: 0; width: 120px; text-align: center; }
.phones .phone { width: 120px; margin: 0 auto; }
.phones figcaption { font-size: 13px; color: var(--muted); margin-top: 6px; line-height: 1.35; }
@media (max-width: 440px) {
  .phones { gap: 14px 8px; }
  .phones figure, .phones .phone { width: 90px; }
  .phones figcaption { font-size: 12px; }
}

/* ---------- Footer ---------- */
.foot { margin-top: 32px; padding: 26px 18px 28px; background: var(--g900); color: var(--g200); font-size: 14px; line-height: 1.55; }
.foot p { margin: 0 0 12px; }
.foot strong { color: var(--white); }
.foot__brand { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.foot__brand img { width: 96px; }
.foot__brand p { margin: 0; display: flex; flex-direction: column; line-height: 1.3; }
.foot__brand b { color: var(--white); }
.foot__brand span { font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--gold); }
.foot__au { padding: 10px 12px; border-radius: 12px; background: rgba(255,255,255,.06); }
.foot__help { display: flex; gap: 12px; align-items: center; margin-bottom: 12px; }
.foot__help p { margin: 0; }
.foot a { color: var(--gold); font-weight: 600; }
.age { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; flex: none; border: 2px solid var(--gold); color: var(--gold); font: 800 15px/1 var(--display); }
.foot__links { list-style: none; margin: 4px 0 10px; padding: 0; display: flex; flex-wrap: wrap; gap: 0 18px; }
.foot__links + .foot__links { margin-top: 0; padding-top: 4px; border-top: 1px solid rgba(255,255,255,.08); }
.foot__links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--white); }
.foot__small { font-size: 12.5px; color: var(--g300); margin: 0 !important; }

/* ---------- Bottom tab bar with the raised PLAY chip ---------- */
.tabbar { position: fixed; left: 50%; bottom: 0; z-index: 40; transform: translateX(-50%); width: min(100%, 640px);
  padding-bottom: env(safe-area-inset-bottom); background: var(--g950); border-top: 1px solid rgba(255,255,255,.08); box-shadow: 0 -10px 30px rgba(0,0,0,.35); }
.tabbar ul { display: grid; grid-template-columns: 1fr 1fr 1.3fr 1fr 1fr; margin: 0; padding: 0 4px; list-style: none; }
.tab { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; height: var(--tab-h);
  text-decoration: none; color: var(--g300); font-size: 11.5px; font-weight: 600; }
.tab:hover { color: var(--white); }
.tab[aria-current="page"] { color: var(--gold); }
.tab[aria-current="page"]::before { content: ""; position: absolute; top: 0; width: 28px; height: 3px; border-radius: 0 0 3px 3px; background: var(--gold); }
.tab--sec { color: var(--white); }
.tab--sec::before { content: ""; position: absolute; top: 0; width: 16px; height: 3px; border-radius: 0 0 3px 3px; background: rgba(255,198,41,.6); }
.tab--play { justify-content: flex-end; padding-bottom: 8px; color: var(--gold); }
.tab--play:hover { color: var(--gold-hi); }
.tab--play:focus-visible { outline-offset: -2px; }
.chipbtn { position: absolute; top: -26px; left: 50%; transform: translateX(-50%); display: grid; place-items: center; width: 68px; height: 68px; border-radius: 50%;
  background: radial-gradient(circle, var(--gold-hi) 0 54%, var(--gold-d) 55% 58%, transparent 59%), repeating-conic-gradient(from 8deg, #fff 0 13deg, var(--gold) 13deg 45deg);
  box-shadow: 0 0 0 5px var(--g950), 0 8px 22px rgba(255,198,41,.45); transition: transform .2s; }
.chipbtn span { font: 800 17px/1 var(--display); color: var(--ink); letter-spacing: .03em; padding-top: 2px; }
.tab--play:hover .chipbtn { transform: translateX(-50%) scale(1.06) rotate(-6deg); }
.tab--play .tab__offer { font: 800 12px/1 var(--display); letter-spacing: .01em; white-space: nowrap; }

/* ---------- Phone and browser drawings ---------- */
.phone text, .browser text { font-family: var(--body); }
.ph-body { fill: #06170F; }
.ph-paper { fill: #fff; }
.ph-site { fill: var(--g600); }
.ph-site2 { fill: var(--g700); }
.ph-gold { fill: var(--gold); }
.ph-soft { fill: rgba(255,255,255,.38); }
.ph-faint { fill: #E3ECE7; }
.ph-faint--dark { fill: #9BB0A6; }
.ph-field { fill: #F4F7F5; stroke: #C9D6CF; stroke-width: 1; }
.ph-hl { stroke: var(--gold-d); stroke-width: 2; }
.ph-kb { fill: #D5DBD8; }
.ph-key { fill: #fff; }
.ph-key--go { fill: var(--g500); }
.ph-ink, .ph-ink-fill { fill: var(--ink); }
.ph-muted { fill: var(--muted); }
.ph-white { fill: #fff; }
.ph-dim { fill: rgba(3,17,11,.55); }
.ph-tile--0 { fill: var(--gold); }
.ph-tile--1 { fill: #3BB27A; }
.ph-tile--2 { fill: #0B7C7C; }
.ph-island { fill: #06170F; }
.ph-homebar { fill: #6E8B7E; }
.ph-stroke { fill: none; stroke: var(--muted); stroke-width: 1.1; stroke-linecap: round; stroke-linejoin: round; }
.ph-stroke--ok { stroke: var(--g500); stroke-width: 1.3; }
.ph-stroke--white { stroke: #fff; stroke-width: 2.4; }
.ph-ok { fill: #1B9E5E; }
.ph-tap__ring { fill: rgba(255,198,41,.28); stroke: var(--gold-d); stroke-width: 1.5; }
.ph-tap__dot { fill: var(--gold-d); }
.ph-dot1 { fill: #FF5F57; } .ph-dot2 { fill: #FEBC2E; } .ph-dot3 { fill: #28C840; }
.ph-cursor { fill: #fff; stroke: var(--ink); stroke-width: 1; stroke-linejoin: round; }
.ph-ghost { fill: none; stroke: rgba(255,255,255,.75); stroke-width: 1; }
.ph-sheet { fill: #EEF3F0; }
.ph-hlrow { fill: #FFF1C2; }
.ph-line { fill: #D3DED8; }
.ph-app--0 { fill: #5C8F7B; } .ph-app--1 { fill: #C9A24A; } .ph-app--2 { fill: #3F6E8C; }
.ph-wall { fill: #1E4A3B; }
.ph-dock { fill: rgba(255,255,255,.2); }
.ph-ring { fill: none; stroke: var(--gold); stroke-width: 1.6; }
.ph-edge { stroke: #C9D6CF; stroke-width: .8; }
.ph-bubble { fill: #E6EEEA; }
.ph-bubble--me { fill: var(--g600); }
.ph-stroke--ink { stroke: var(--ink); stroke-width: 1.2; }

/* ---------- Side panel bits (desktop) ---------- */
.side__offer { position: relative; isolation: isolate; overflow: hidden; padding: 24px 22px 20px; border-radius: 30px; text-align: center;
  background: radial-gradient(120% 70% at 50% 0, var(--g600) 0, rgba(20,92,67,0) 65%), linear-gradient(170deg, var(--g600), var(--g900)); border: 1px solid rgba(255,198,41,.4); box-shadow: 0 30px 60px rgba(0,0,0,.4); }
.side__offer::after { content: ""; position: absolute; z-index: -1; right: -60px; bottom: -20px; width: 260px; height: 134px; background: url(/assets/brand/leaves-2.png) right bottom / contain no-repeat; opacity: .5; }
.side__logo { width: 170px; margin: -6px auto 2px; }
.side__offer .offer__k { color: var(--gold); }
.side__big { font-size: 44px; font-weight: 800; margin: 2px 0; }
.side__big b { color: var(--gold); }
.side__sub { color: var(--g200); font-size: 15px; margin-bottom: 14px; }
.side__offer .coupon { margin-bottom: 12px; text-align: left; }
.side__offer .micro { color: var(--g300); }
.side__qr { padding: 22px; border-radius: 30px; background: var(--white); color: var(--ink); text-align: center; box-shadow: 0 30px 60px rgba(0,0,0,.4); }
.side__qr h2 { font-size: 22px; font-weight: 800; color: var(--g700); margin-bottom: 12px; }
.qr { display: block; margin: 0 auto 12px; border-radius: 12px; border: 1px solid var(--line); }
.side__qr p { font-size: 14px; color: var(--muted); line-height: 1.5; }

.side__map { padding: 18px 18px 10px; border-radius: 30px; background: rgba(4,20,14,.6); border: 1px solid rgba(255,255,255,.1); }
.side__map h2 { display: flex; align-items: center; gap: 8px; font-size: 21px; font-weight: 800; margin-bottom: 6px; }
.side__map h2 .ico { color: var(--gold); }
.map__g { padding: 8px 0 6px; border-top: 1px solid rgba(255,255,255,.08); }
.map__g h3 { font: 600 11.5px/1.4 var(--body); letter-spacing: .09em; text-transform: uppercase; color: var(--gold); margin-bottom: 2px; }
.map__g ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.map__g a { display: block; padding: 5px 0; font-size: 13.5px; line-height: 1.3; color: var(--g200); text-decoration: none; }
.map__g a:hover { color: var(--white); text-decoration: underline; }
.map__g a[aria-current="page"] { color: var(--gold); font-weight: 600; }

/* ---------- Wider screens ---------- */
@media (min-width: 641px) {
  body { background: radial-gradient(1100px 600px at 50% -10%, #17664A 0, rgba(23,102,74,0) 60%), var(--g900); }
  .app { box-shadow: 0 0 0 1px rgba(255,255,255,.06), 0 30px 80px rgba(0,0,0,.45); }
  .tile { width: 124px; }
  .tile--tall { width: 150px; }
  .pcard { width: 252px; }
}
@media (min-width: 1024px) {
  body::before, body::after { content: ""; position: fixed; z-index: 0; pointer-events: none; width: 520px; height: 277px; opacity: .85; }
  body::before { left: -60px; top: -20px; background: url(/assets/brand/leaves-1.png) left top / contain no-repeat; }
  body::after { right: -60px; bottom: -30px; background: url(/assets/brand/leaves-2.png) right bottom / contain no-repeat; }
  .stage { position: relative; z-index: 1; display: grid; grid-template-columns: 468px 340px; gap: 56px; justify-content: center; align-items: start; padding: 32px 24px 0; }
  .app { width: 468px; max-width: none; margin: 0; min-height: calc(100vh - 32px); padding-bottom: 0; overflow: clip;
    border: 12px solid #03110B; border-bottom: 0; border-radius: 48px 48px 0 0; box-shadow: 0 0 0 1px rgba(255,255,255,.1), 0 40px 90px rgba(0,0,0,.55); }
  .appbar { border-radius: 36px 36px 0 0; }
  .tabbar { position: sticky; left: auto; transform: none; width: auto; border-radius: 0; }
  .side { display: grid; gap: 22px; position: sticky; top: 0; max-height: 100vh; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.25) transparent;
    margin: -32px -14px 0; padding: 32px 14px 40px; }
  .side__qr { display: grid; grid-template-columns: 112px 1fr; gap: 6px 16px; align-items: center; text-align: left; padding: 20px; }
  .side__qr h2 { grid-column: 1 / -1; font-size: 20px; margin-bottom: 6px; }
  .side__qr .qr { width: 112px; height: 112px; margin: 0; }
  html { scroll-padding-top: 80px; }
}
@media (max-width: 359px) {
  .lockup__dom { font-size: 12px; }
  .pill { padding: 0 14px; }
  .lockup__logo { width: 50px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

/* Larger Fair Go logo in the header */
header .lockup__logo{width:74px}
@media (min-width:1024px){header .lockup__logo{width:84px}}
