/* =========================================================
   HighFlyer Casino — styles.css
   Palette: midnight navy + first-class gold + champagne
   Signature: boarding-pass cards, mono data tables
   ========================================================= */

:root{
  --ink:        #0A1228;   /* midnight navy base */
  --ink-2:      #111E3F;   /* raised panel */
  --ink-3:      #16264c;   /* hover / lines */
  --gold:       #E8B642;   /* first-class gold */
  --gold-soft:  #F6D27A;
  --gold-deep:  #C8902A;
  --champ:      #F5E7C6;   /* champagne text accent */
  --cloud:      #F2F5FB;   /* near-white text */
  --mute:       #9FB0D0;   /* muted blue-grey */
  --line:       rgba(159,176,208,.18);
  --pro:        #5BD08A;
  --con:        #E8746A;

  --ff-display: "Bricolage Grotesque","Segoe UI",system-ui,sans-serif;
  --ff-body:    "Inter",system-ui,sans-serif;
  --ff-mono:    "Spline Sans Mono",ui-monospace,monospace;

  --wrap: 1120px;
  --r: 16px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--ff-body);
  color:var(--cloud);
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(232,182,66,.10), transparent 60%),
    radial-gradient(900px 500px at -10% 10%, rgba(74,123,208,.10), transparent 55%),
    var(--ink);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
.wrap{width:min(var(--wrap),92vw);margin-inline:auto}
img{max-width:100%;display:block;height:auto}
a{color:var(--gold-soft);text-decoration:none}
a:hover{color:var(--gold)}

h1,h2,h3{font-family:var(--ff-display);line-height:1.1;letter-spacing:-.02em;margin:0 0 .5em}
h1{font-size:clamp(2.1rem,5.2vw,3.6rem);font-weight:800}
h2{font-size:clamp(1.6rem,3.4vw,2.4rem);font-weight:700}
h3{font-size:clamp(1.15rem,2.2vw,1.4rem);font-weight:700;color:var(--champ)}
p{margin:0 0 1rem}

.eyebrow{
  display:inline-block;font-family:var(--ff-mono);font-size:.74rem;
  letter-spacing:.22em;text-transform:uppercase;color:var(--gold);
  border:1px solid var(--line);border-radius:999px;padding:.35em .9em;margin-bottom:1rem;
}
.eyebrow.center,.center{text-align:center}
.eyebrow.center{display:block;width:fit-content;margin-inline:auto}
.section-lead{max-width:62ch;margin-inline:auto;color:var(--mute);text-align:center;margin-bottom:2.2rem}
.center + .section-lead{margin-top:0}

/* ---------- buttons ---------- */
.btn{
  font-family:var(--ff-display);font-weight:700;font-size:1rem;
  border:none;border-radius:999px;padding:.85em 1.6em;cursor:pointer;
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease;
  display:inline-flex;align-items:center;gap:.5em;letter-spacing:-.01em;
}
.btn-sm{padding:.6em 1.2em;font-size:.92rem}
.btn-gold{
  background:linear-gradient(135deg,var(--gold-soft),var(--gold) 55%,var(--gold-deep));
  color:#241803;box-shadow:0 8px 24px rgba(232,182,66,.28);
}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(232,182,66,.42)}
.btn-ghost{background:transparent;color:var(--cloud);border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}
.btn:focus-visible{outline:3px solid var(--gold-soft);outline-offset:3px}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(10,18,40,.82);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.header-inner{display:flex;align-items:center;gap:1.5rem;padding:.7rem 0}
.brand img{height:42px;width:auto}
.main-nav{display:flex;gap:1.4rem;margin-left:auto}
.main-nav a{font-family:var(--ff-display);font-weight:600;color:var(--mute);font-size:.98rem}
.main-nav a:hover{color:var(--gold)}
.header-inner .btn{margin-left:1rem}

/* ---------- hero ---------- */
.hero{padding:clamp(2.5rem,6vw,5rem) 0 clamp(2rem,4vw,3.5rem)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
.hero-copy .lead{font-size:1.18rem;color:var(--mute);max-width:52ch}
.hero-cta{display:flex;gap:.9rem;flex-wrap:wrap;margin:1.6rem 0 1.4rem}
.hero-badges{list-style:none;display:flex;gap:1.6rem;padding:0;margin:0;flex-wrap:wrap}
.hero-badges li{font-family:var(--ff-mono);font-size:.86rem;color:var(--mute)}
.hero-badges strong{display:block;font-family:var(--ff-display);font-size:1.35rem;color:var(--gold)}
.hero-art img{border-radius:var(--r);border:1px solid var(--line);box-shadow:0 30px 60px rgba(0,0,0,.45)}

/* ---------- sections ---------- */
.section{padding:clamp(2.5rem,6vw,4.5rem) 0}
.section.alt{
  background:linear-gradient(180deg,rgba(17,30,63,.65),rgba(17,30,63,.25));
  border-block:1px solid var(--line);
}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.two-col.reverse .mobile-art{order:-1}
.prose p{color:var(--mute)}
.prose h2,.prose h3{color:var(--cloud)}

/* ---------- boarding pass ---------- */
.boarding-pass{
  display:grid;grid-template-columns:1fr 230px;
  background:linear-gradient(135deg,var(--ink-2),#0d1733);
  border:1px solid var(--line);border-radius:22px;overflow:hidden;
  box-shadow:0 24px 50px rgba(0,0,0,.4);
}
.bp-main{padding:clamp(1.4rem,3vw,2.4rem)}
.bp-label{font-family:var(--ff-mono);font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.bp-title{margin:.4rem 0 1rem}
.bp-stub{
  position:relative;background:linear-gradient(160deg,var(--gold-soft),var(--gold) 60%,var(--gold-deep));
  color:#241803;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:1.5rem 1rem;text-align:center;
}
.bp-stub::before{
  content:"";position:absolute;left:-9px;top:0;bottom:0;width:18px;
  background-image:radial-gradient(circle at 9px center, var(--ink) 5px, transparent 6px);
  background-size:18px 22px;background-repeat:repeat-y;
}
.bp-stub-label{font-family:var(--ff-mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;opacity:.8}
.bp-score{font-family:var(--ff-display);font-weight:800;font-size:3.4rem;line-height:1}
.bp-of{font-family:var(--ff-mono);font-size:.85rem;margin-top:-.2rem}
.bp-class{margin-top:.6rem;font-family:var(--ff-display);font-weight:700;letter-spacing:.04em;
  border-top:1px dashed rgba(36,24,3,.4);padding-top:.6rem}

/* ---------- tables ---------- */
.data-table{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.95rem;
  background:var(--ink-2);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.data-table caption{caption-side:top;text-align:left;font-family:var(--ff-mono);
  font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);
  padding:0 0 .6rem}
.data-table th,.data-table td{padding:.72rem 1rem;text-align:left;border-bottom:1px solid var(--line)}
.data-table thead th{font-family:var(--ff-mono);font-size:.74rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--mute);background:rgba(255,255,255,.03)}
.data-table tbody th[scope=row]{color:var(--champ);font-weight:600}
.data-table td{font-family:var(--ff-mono);color:var(--cloud)}
.data-table tbody tr:last-child td,.data-table tbody tr:last-child th{border-bottom:none}
.data-table.tight th,.data-table.tight td{padding:.55rem .9rem}
.data-table.mini{font-size:.88rem}
.data-table.striped tbody tr:nth-child(odd){background:rgba(255,255,255,.02)}
.data-table.accent-head thead th{background:rgba(232,182,66,.12);color:var(--gold-soft)}
.data-table .total-row td{background:rgba(232,182,66,.10);color:var(--gold-soft);font-weight:700}
.data-table tbody tr:hover{background:rgba(74,123,208,.08)}

/* ---------- author ---------- */
.author-card{display:flex;gap:1rem;align-items:center;background:var(--ink-2);
  border:1px solid var(--line);border-radius:var(--r);padding:1.1rem;align-self:start}
.author-card img{width:84px;height:84px;border-radius:50%;border:2px solid var(--gold)}
.author-name{font-family:var(--ff-display);font-weight:700;color:var(--cloud);margin:0}
.author-meta{font-size:.85rem;color:var(--mute);margin:.2rem 0 0}

/* ---------- bonus ---------- */
.bonus-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:2rem;align-items:center;margin-bottom:1.5rem}
.bonus-art img{border-radius:var(--r);border:1px solid var(--line)}

/* ---------- cards ---------- */
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin:1.5rem 0 2rem}
.game-card{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;transition:transform .2s ease,border-color .2s ease}
.game-card:hover{transform:translateY(-5px);border-color:var(--gold)}
.game-card img{aspect-ratio:4/3;object-fit:cover;width:100%}
.game-card h3{margin:.9rem 1rem .3rem}
.game-card p{padding:0 1rem 1.1rem;margin:0;color:var(--mute);font-size:.9rem}

.strip img{border-radius:var(--r);border:1px solid var(--line);margin:1rem 0 1.5rem;width:100%}

/* ---------- cta band ---------- */
.cta-band{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  background:linear-gradient(135deg,rgba(232,182,66,.12),rgba(17,30,63,.5));
  border:1px solid var(--line);border-radius:var(--r);padding:1.3rem 1.6rem;margin-top:1.5rem;flex-wrap:wrap}
.cta-band p{margin:0;color:var(--champ)}

/* ---------- pros & cons ---------- */
.proscons{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.pc-col{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--r);padding:1.4rem 1.6rem}
.pc-col h3{margin-top:0}
.pc-col ul{margin:0;padding-left:1.1rem}
.pc-col li{margin:.5rem 0;color:var(--mute)}
.pc-pro{border-top:3px solid var(--pro)}
.pc-con{border-top:3px solid var(--con)}
.pc-pro li::marker{content:"✓  ";color:var(--pro)}
.pc-con li::marker{content:"✕  ";color:var(--con)}

/* ---------- steps ---------- */
.steps{list-style:none;counter-reset:step;padding:0;margin:1.5rem 0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.1rem}
.steps li{counter-increment:step;background:var(--ink-2);border:1px solid var(--line);
  border-radius:var(--r);padding:1.3rem 1.3rem 1rem;position:relative}
.steps li::before{content:counter(step,decimal-leading-zero);font-family:var(--ff-mono);
  font-weight:600;color:var(--gold);font-size:.9rem;letter-spacing:.05em;display:block;margin-bottom:.5rem}
.steps h3{font-size:1.05rem;margin:0 0 .3rem;color:var(--cloud)}
.steps p{margin:0;color:var(--mute);font-size:.9rem}

/* ---------- vip / verdict ---------- */
.vip-art img,.mobile-art img{border-radius:var(--r);border:1px solid var(--line);margin-bottom:1rem}
.mobile-art img{margin:0 auto}

.score-pill{font-family:var(--ff-mono);font-weight:600;background:rgba(74,123,208,.18);
  color:var(--cloud);padding:.2em .7em;border-radius:999px;font-size:.9rem}
.score-pill.gold{background:linear-gradient(135deg,var(--gold-soft),var(--gold));color:#241803}
.scorecard td:nth-child(2){width:90px}

.verdict-box{background:linear-gradient(135deg,var(--ink-2),#0d1733);border:1px solid var(--gold);
  border-radius:20px;padding:clamp(1.5rem,3vw,2.4rem);margin-top:2rem;text-align:center}
.verdict-box h3{color:var(--gold)}
.verdict-box p{color:var(--mute);max-width:60ch;margin-inline:auto}
.verdict-box .btn{margin-top:1rem}

/* ---------- faq ---------- */
.faq{max-width:780px;margin-inline:auto}
.faq details{background:var(--ink-2);border:1px solid var(--line);border-radius:12px;
  padding:0 1.2rem;margin-bottom:.8rem}
.faq summary{cursor:pointer;padding:1rem 0;font-family:var(--ff-display);font-weight:600;
  color:var(--cloud);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold);font-size:1.4rem;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--mute);margin:0 0 1rem}

/* ---------- responsible gambling ---------- */
.section.rg{background:rgba(17,30,63,.4);border-top:1px solid var(--line)}
.section.rg p{color:var(--mute);max-width:75ch}
.age-flag{font-family:var(--ff-mono);font-weight:600;color:var(--gold);
  border:1px solid var(--gold);border-radius:999px;display:inline-block;padding:.3em 1em}

/* ---------- footer ---------- */
.site-footer{background:#070d1d;border-top:1px solid var(--line);padding:3rem 0 1.5rem;margin-top:1rem}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:2rem}
.footer-brand img{height:44px;width:auto;margin-bottom:.8rem}
.footer-brand p{color:var(--mute);font-size:.9rem;max-width:42ch}
.footer-h{font-family:var(--ff-mono);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold);margin:0 0 .9rem;font-weight:600}
.footer-nav{display:flex;flex-direction:column;gap:.5rem}
.footer-nav a{color:var(--mute);font-size:.95rem}
.footer-nav a:hover{color:var(--gold)}
.footer-legal p{color:var(--mute);font-size:.88rem;margin-bottom:1rem}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  border-top:1px solid var(--line);margin-top:2rem;padding-top:1.2rem;
  font-family:var(--ff-mono);font-size:.78rem;color:var(--mute)}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .main-nav{display:none}
  .hero-grid,.two-col,.bonus-layout,.proscons,.footer-grid{grid-template-columns:1fr}
  .two-col.reverse .mobile-art{order:0}
  .card-grid{grid-template-columns:1fr 1fr}
  .boarding-pass{grid-template-columns:1fr}
  .bp-stub{flex-direction:row;gap:.6rem;padding:1rem}
  .bp-stub::before{display:none}
  .bp-class{border-top:none;padding-top:0}
  .footer-bottom{flex-direction:column;text-align:center}
}
@media (max-width:540px){
  .card-grid{grid-template-columns:1fr}
  .header-inner .btn{display:none}
  .data-table{font-size:.86rem}
  .data-table th,.data-table td{padding:.55rem .65rem}
  .cta-band{flex-direction:column;align-items:flex-start}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
