/* getfairplayid.com — shared: tokens, header, footer, base components. Page-unique rules live in each page's <style>. */
:root{
  --ground:#F1F4EF;--tile:#FFFFFF;--tile-2:#E7EEE6;--ink:#10231C;--ink-2:#3C5249;--line:#D3DDD3;
  --chrome:#0F3D2E;--chrome-2:#0A2B20;--or:#F26522;--or-ink:#8A3208;--gr:#43B02A;--gr-ink:#1F6B12;
  --gold:#F9C40A;--gold-ink:#2A1A00;--wa:#25D366;--wa-ink:#04250F;
  --r:18px;--r-sm:11px;--sh:0 1px 0 rgba(16,35,28,.05),0 10px 28px -12px rgba(15,61,46,.28);
  --fh:"Syne",system-ui,sans-serif;--fb:"Hanken Grotesk",system-ui,sans-serif;--wrap:1180px
}
@view-transition{navigation:auto}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;-webkit-text-size-adjust:100%;scroll-padding-top:84px}
body{margin:0;overflow-x:clip;max-width:100%;background:var(--ground);color:var(--ink);font:400 17px/1.66 var(--fb)}
:where(body *){min-width:0}
main{display:block;max-width:100%;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4,p,li,dt,dd,summary,figcaption,td,th{overflow-wrap:break-word}
h1,h2,h3,h4{font-family:var(--fh);line-height:1.14;letter-spacing:-.01em;margin:0 0 .5em}
h1{font-size:clamp(1.8rem,4.2vw,3rem);font-weight:800}
h2{font-size:clamp(1.4rem,2.8vw,2rem);font-weight:800}
h3{font-size:1.18rem;font-weight:700}
p{margin:0 0 1em}
a{color:var(--gr-ink)}
a:not([class]){text-decoration-thickness:2px;text-underline-offset:3px;text-decoration-color:var(--or)}
a:not([class]):hover{color:var(--or-ink)}
:focus-visible{outline:3px solid var(--or);outline-offset:3px;border-radius:6px}
.gk-wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 18px}
.skip-link{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--gold);color:var(--gold-ink);padding:10px 16px;border-radius:8px;font-weight:700}
.skip-link:focus{left:10px}

/* header */
.gk-hdr{position:sticky;top:0;z-index:60;width:100%;max-width:100vw;background:var(--chrome);color:#fff;box-shadow:0 6px 20px -10px rgba(0,0,0,.45)}
.gk-hdr-row{display:flex;align-items:center;gap:14px;min-height:66px}
.gk-brand{display:flex;align-items:center;flex:0 0 auto}
.gk-brand img{width:148px;height:44px}
.gk-nav{display:flex;align-items:center;gap:2px;margin-left:auto}
.gk-nav a{color:#E6F2EA;text-decoration:none;font-weight:600;font-size:.93rem;white-space:nowrap;padding:10px 10px;border-radius:9px;min-height:44px;display:flex;align-items:center}
.gk-nav a:hover,.gk-nav a[aria-current="page"]{background:rgba(255,255,255,.1);color:#fff}
.gk-nav a[aria-current="page"]{box-shadow:inset 0 -3px 0 var(--or)}
.gk-burger{display:none;margin-left:auto;width:46px;height:46px;border:1px solid rgba(255,255,255,.25);border-radius:12px;background:transparent;color:#fff;cursor:pointer}
.gk-burger span{display:block;width:20px;height:2px;background:#fff;margin:4px auto;transition:transform .2s}
.gk-strip{background:var(--or);color:#1B0A00;font-size:.84rem;font-weight:700}
.gk-strip .gk-wrap{display:flex;gap:18px;align-items:center;min-height:30px;white-space:nowrap;overflow:hidden}
.gk-strip b{font-weight:800}
.gk-strip span{flex:0 0 auto}
@media (max-width:760px){.gk-strip span:not(:first-child){display:none}}
@media (max-width:1180px){
  .gk-burger{display:block}
  .gk-hdr-row .gk-go{display:none}
  .gk-nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;margin:0;background:var(--chrome-2);padding:6px 14px 14px;max-height:0;overflow:hidden;visibility:hidden;transition:max-height .25s ease,visibility .25s}
  .gk-nav.open{max-height:80vh;visibility:visible;overflow:auto}
  .gk-nav a{border-bottom:1px solid rgba(255,255,255,.08);border-radius:0}
  .gk-nav .gk-go{display:flex;margin-top:10px;justify-content:center}
}
@media (min-width:1181px){.gk-nav .gk-go{display:none}}

/* ticket-stub CTA — notched ends */
.gk-go,.gk-go-wa{--n:9px;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 26px;font:800 .98rem/1 var(--fh);letter-spacing:.02em;text-transform:uppercase;text-decoration:none;border:0;cursor:pointer;
  -webkit-mask:radial-gradient(circle var(--n) at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle var(--n) at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;
  mask:radial-gradient(circle var(--n) at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle var(--n) at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;
  transition:transform .18s ease,filter .18s ease}
.gk-go{background:var(--gold)!important;background-color:var(--gold)!important;color:var(--gold-ink)!important}
.gk-go-wa{background:var(--wa)!important;background-color:var(--wa)!important;color:var(--wa-ink)!important}
.gk-go:hover,.gk-go-wa:hover{transform:translateY(-2px);filter:saturate(1.15)}
.gk-go svg,.gk-go-wa svg{width:18px;height:18px;flex:0 0 auto}
.gk-hdr-row .gk-go{min-height:44px;padding:10px 20px;font-size:.86rem;white-space:nowrap;flex:0 0 auto}

/* breadcrumb */
.gk-crumb{font-size:.86rem;color:var(--ink-2);margin:18px 0 6px}
.gk-crumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.gk-crumb li+li::before{content:"/";margin-right:6px;color:var(--or)}
.gk-crumb a{color:var(--ink-2)}

/* bento tiles + paragraph shapes */
.gk-bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin:22px 0}
.gk-tile{grid-column:span 12;background:var(--tile);border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--sh)}
@media (min-width:860px){.gk-s4{grid-column:span 4}.gk-s5{grid-column:span 5}.gk-s6{grid-column:span 6}.gk-s7{grid-column:span 7}.gk-s8{grid-column:span 8}}
.gk-sec{margin:34px 0}
.gk-perf{position:relative;background:var(--tile);border-radius:var(--r);padding:24px 24px 24px 30px;border:1px solid var(--line)}
.gk-perf::before{content:"";position:absolute;left:12px;top:14px;bottom:14px;border-left:2px dashed var(--or);pointer-events:none}
.gk-rule{border-left:5px solid var(--or);background:linear-gradient(90deg,#FFF1E8,transparent 70%);padding:14px 18px;border-radius:0 12px 12px 0;margin:18px 0}
.gk-ledger{counter-reset:gl;list-style:none;padding:0;margin:14px 0}
.gk-ledger>li{counter-increment:gl;position:relative;padding:14px 16px 14px 62px;border-bottom:1px solid var(--line)}
.gk-ledger>li::before{content:counter(gl,decimal-leading-zero);position:absolute;left:12px;top:12px;font:800 1.05rem var(--fh);color:var(--or);pointer-events:none}

/* tables */
.gk-tbl{position:relative;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--tile);margin:16px 0}
.gk-tbl::-webkit-scrollbar{height:5px}.gk-tbl::-webkit-scrollbar-thumb{background:var(--or);border-radius:4px}
table{width:100%;min-width:430px;border-collapse:collapse;font-size:.95rem}
th,td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
th{background:var(--chrome);color:#fff;font-family:var(--fh);font-weight:700;font-size:.88rem}
tr:nth-child(even) td{background:#F7FAF6}

/* horizontal strips — visible affordance */
.gk-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin;padding-bottom:10px}
.gk-rail::-webkit-scrollbar{height:5px}.gk-rail::-webkit-scrollbar-thumb{background:var(--or);border-radius:4px}
.gk-rail>*{scroll-snap-align:start;flex:0 0 auto}

/* figures */
.gk-fig{margin:24px 0}
.gk-fig img{width:100%;border-radius:var(--r);box-shadow:var(--sh)}
.gk-fig figcaption{font-size:.86rem;color:var(--ink-2);margin-top:8px}
.gk-band{margin:34px 0;box-shadow:0 0 0 100vmax var(--chrome);clip-path:inset(0 -100vmax);background:var(--chrome);padding:22px 0;color:#E6F2EA}
.gk-band img{border-radius:14px}

/* FAQ — ticket cards */
.gk-faq{display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:860px){.gk-faq{grid-template-columns:1fr 1fr}}
.gk-faq details{counter-increment:fq;background:var(--tile);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--sh)}
.gk-faq{counter-reset:fq}
.gk-faq summary{list-style:none;cursor:pointer;display:flex;gap:12px;align-items:flex-start;padding:16px 50px 16px 16px;position:relative;font:700 1.02rem/1.35 var(--fh);min-height:44px}
.gk-faq summary::-webkit-details-marker{display:none}
.gk-faq summary::before{content:"Q" counter(fq);flex:0 0 auto;font:800 .78rem/1 var(--fh);background:var(--chrome);color:#fff;padding:7px 9px;border-radius:6px 14px 14px 6px;pointer-events:none}
.gk-faq summary::after{content:"";position:absolute;right:18px;top:22px;width:16px;height:16px;pointer-events:none;
  background:linear-gradient(var(--or),var(--or)) center/16px 3px no-repeat,linear-gradient(var(--or),var(--or)) center/3px 16px no-repeat;transition:transform .25s}
.gk-faq details[open] summary::after{transform:rotate(90deg);background:linear-gradient(var(--or),var(--or)) center/16px 3px no-repeat}
.gk-faq details>div{padding:0 18px 16px 18px;border-top:1px dashed var(--line);padding-top:12px}

/* related counters */
.gk-next{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin:18px 0}
.gk-next a{display:flex;gap:10px;align-items:center;background:var(--tile);border:1px solid var(--line);border-radius:14px;padding:14px 16px;text-decoration:none;color:var(--ink);font-weight:700;min-height:56px;box-shadow:var(--sh)}
.gk-next a::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--or);box-shadow:0 0 0 4px #FFE3D3;flex:0 0 auto;pointer-events:none}
.gk-next a:hover{border-color:var(--or)}

/* chips + seo-box base */
.also-search{margin:30px 0 14px}
.also-search ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:10px 0 0}
.also-search li{background:var(--tile-2);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:.9rem;min-height:40px;display:flex;align-items:center}
.also-search li a{color:var(--gr-ink);font-weight:700}
.seo-box{margin:18px 0 34px}
.seo-box h2{font-size:1.35rem}
.seo-box h3{font-size:1.04rem}
.seo-box ul,.seo-box ol{padding-left:20px}
.seo-box dl{margin:0}
.seo-box dt{font-weight:700;font-family:var(--fh)}
.seo-box dd{margin:0 0 10px}

/* footer */
.gk-foot{background:var(--chrome-2);color:#CFE0D5;margin-top:44px;padding:40px 0 90px;font-size:.93rem}
.gk-foot a{color:#E9F5EC}
.gk-fgrid{display:grid;gap:26px;grid-template-columns:1fr}
@media (min-width:860px){.gk-fgrid{grid-template-columns:1.5fr 1fr 1fr 1fr}}
.gk-flab{font:800 .82rem var(--fh);letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin:0 0 10px}
.gk-foot ul{list-style:none;margin:0;padding:0}
.gk-foot li a{display:inline-flex;min-height:40px;align-items:center;text-decoration:none}
.gk-foot li a:hover{text-decoration:underline}
.gk-social{display:flex;gap:10px;margin:14px 0}
.gk-social a{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.08);display:grid;place-items:center}
.gk-social svg{width:24px;height:24px;fill:#fff}
.gk-tp{display:inline-flex;align-items:center;gap:8px;background:#fff;color:#191919!important;text-decoration:none;border-radius:10px;padding:8px 12px;font-weight:700;min-height:44px}
.gk-tp svg{width:22px;height:22px}
.gk-partner{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:26px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}
.gk-plate{background:#fff;border-radius:12px;padding:8px 14px;display:inline-flex}
.gk-plate img{width:168px;height:40px}
.gk-legal{margin-top:18px;font-size:.84rem;color:#9FB8A9}

/* WhatsApp float */
.gk-wa{position:fixed;right:18px;bottom:18px;z-index:70;width:60px;height:60px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 8px 22px rgba(0,0,0,.3)}
.gk-wa svg{width:32px;height:32px;fill:#fff}
.gk-wa::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(37,211,102,.6);animation:gkpulse 2.2s infinite;pointer-events:none}
@keyframes gkpulse{70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}

/* scroll-driven entrance: transform only, content always visible */
@supports (animation-timeline:view()){
  .gk-rise{animation:gkrise linear both;animation-timeline:view();animation-range:entry 0% entry 60%}
  @keyframes gkrise{from{transform:translateY(22px) scale(.985)}to{transform:none}}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.gk-lede{font-size:1.12rem;color:var(--ink-2);max-width:62ch}
