/* =========================================================
   Amunbet — shared stylesheet
   Theme: "Slate Ember" — cool neutral slate + fiery ember accent
   STRUCTURE: fixed left sidebar navigation (not a top header),
   split bento-card hero (image beside text, not behind it),
   asymmetric bento feature grid.
   ========================================================= */

:root{
  --bg:            #14181D;
  --bg-2:          #191E24;
  --surface:       #1C2128;
  --surface-2:     #262C35;
  --line:          #3D4652;
  --line-soft:     #262C35;

  --gold:          #FF5A36;   /* ember orange-red — primary accent */
  --gold-hi:       #FF8562;
  --gold-deep:     #C23A1C;

  --cyan:          #8FA8BD;   /* muted steel blue — secondary accent */
  --cyan-hi:       #B8CBDA;
  --cyan-deep:     #5C7690;

  --crimson:       #D6455A;
  --crimson-hi:    #EC7285;

  --white:         #F7F8FA;
  --text:          #D7DBE0;
  --text-soft:     #9CA6B2;
  --muted:         #626B77;

  --radius:        10px;
  --radius-lg:     18px;
  --radius-pill:   999px;

  --grad-gold:     linear-gradient(135deg,#FF8562 0%,#FF5A36 60%,#C23A1C 100%);
  --grad-orange:   linear-gradient(135deg,#FF8562 0%,#FF5A36 100%);
  --grad-cyan:     linear-gradient(135deg,#B8CBDA 0%,#8FA8BD 100%);

  --font-display: 'Outfit', 'Segoe UI', sans-serif;
  --font-body: 'Source Sans 3', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: 'Overpass Mono', 'Courier New', monospace;

  --sidebar-w: 236px;
  --container-w: 1040px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:var(--cyan-hi); text-decoration:none; }
h1,h2,h3,h4{ font-family:var(--font-display); letter-spacing:-.01em; color:var(--white); line-height:1.2; margin:0 0 .5em; font-weight:700; }
h1{ font-size:clamp(1.9rem,4vw,2.9rem); font-weight:800; }
h2{ font-size:clamp(1.3rem,2.6vw,1.8rem); color:var(--gold-hi); font-weight:700; }
h3{ font-size:1.15rem; color:var(--white); font-weight:700; }
p{ margin:0 0 1em; color:var(--text-soft); }
ul{ margin:0 0 1em; padding-left:1.2em; color:var(--text-soft); }
li{ margin-bottom:.4em; }
.container{ max-width:var(--container-w); margin-inline:auto; padding-inline:24px; }
section{ padding:48px 0; }
.eyebrow{ font-family:var(--font-mono); text-transform:uppercase; letter-spacing:.1em; color:var(--gold); font-size:.72rem; display:inline-block; margin-bottom:12px; }

/* Buttons */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:13px 26px; border-radius:var(--radius-pill); font-weight:600; font-family:var(--font-body); font-size:.92rem; cursor:pointer; border:1px solid transparent; transition:transform .15s ease, box-shadow .15s ease; }
.btn:hover{ transform:translateY(-2px); }
.btn-primary{ background:var(--grad-gold); color:#2A0D04; box-shadow:0 8px 22px -8px rgba(255,90,54,.5); }
.btn-outline{ background:transparent; border-color:var(--line); color:var(--text); }
.btn-outline:hover{ border-color:var(--gold); color:var(--gold-hi); }
.btn-lg{ padding:16px 32px; font-size:1rem; }
.btn-sm{ padding:9px 16px; font-size:.8rem; }
.btn-block{ width:100%; }

/* ===================================================
   STRUCTURE: app shell — fixed sidebar + main column
   =================================================== */
.app-shell{ display:flex; min-height:100vh; }

.sidebar{
  position:fixed; top:0; left:0; bottom:0; width:var(--sidebar-w);
  background:var(--bg-2); border-right:1px solid var(--line-soft);
  display:flex; flex-direction:column; padding:24px 16px; z-index:60;
  overflow-y:auto;
}
.sidebar .brand{ display:block; margin-bottom:28px; padding-left:6px; }
.sidebar .brand img{ height:34px; width:auto; }
.sidebar .header-cta{ display:none; }
.sidebar .main-nav{ flex:1; }
.sidebar .main-nav ul{ display:flex; flex-direction:column; gap:2px; }
.sidebar .main-nav a{ display:flex; align-items:center; gap:12px; padding:11px 12px; border-radius:var(--radius); color:var(--text-soft); font-weight:600; font-size:.9rem; }
.sidebar .main-nav a:hover{ background:var(--surface); color:var(--white); }
.sidebar .main-nav a.active{ background:var(--surface-2); color:var(--gold-hi); box-shadow:inset 3px 0 0 var(--gold); }
.nav-icon{ font-size:1.05rem; width:22px; text-align:center; flex-shrink:0; }
.sidebar-cta{ display:flex; flex-direction:column; gap:10px; margin-top:16px; }
.sidebar-foot{ margin-top:18px; padding:0 6px; font-family:var(--font-mono); font-size:.66rem; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); }

.main-col{ margin-left:var(--sidebar-w); flex:1; min-width:0; display:flex; flex-direction:column; }
main{ flex:1; }

@media (max-width: 980px){
  .sidebar{
    flex-direction:row; align-items:center; justify-content:space-between;
    left:0; right:0; bottom:auto; width:100%; height:60px; padding:0 18px;
    border-right:none; border-bottom:1px solid var(--line-soft);
  }
  .sidebar .brand{ margin-bottom:0; padding-left:0; }
  .sidebar .brand img{ height:28px; }
  .sidebar .header-cta{ display:flex; align-items:center; gap:10px; }
  .sidebar .sidebar-cta{ display:none; }
  .sidebar .sidebar-foot{ display:none; }
  .main-col{ margin-left:0; padding-top:60px; }
  .nav-toggle{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); color:var(--white); width:38px; height:38px; font-size:1.05rem; cursor:pointer; }
  .sidebar .main-nav{
    display:none; position:fixed; inset:60px 0 0 0; background:var(--bg-2);
    z-index:59; padding:16px; overflow-y:auto; flex:none;
  }
  .sidebar .main-nav.open{ display:block; }
  .sidebar .main-nav a{ padding:14px; border-bottom:1px solid var(--line-soft); border-radius:0; }
}

/* ===================================================
   Bento split hero (home) — image sits in a card beside text
   =================================================== */
.hero-bento{
  display:grid; grid-template-columns:1.05fr .95fr; gap:28px; align-items:stretch;
  padding:40px 32px; max-width:1180px; margin-inline:auto;
}
.hero-bento-text{ display:flex; flex-direction:column; justify-content:center; }
.hero-bento-text h1{ margin-bottom:.35em; }
.hero-bento-media{ display:block; border-radius:var(--radius-lg); overflow:hidden; position:relative; min-height:320px; box-shadow:0 20px 44px -18px rgba(0,0,0,.6); }
.hero-bento-media img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.hero-eyebrow{ font-family:var(--font-mono); text-transform:uppercase; letter-spacing:.1em; color:var(--gold); font-size:.75rem; display:inline-block; margin-bottom:14px; }
.hero-splash-sub{ font-size:1.02rem; color:var(--text); max-width:480px; }
.hero-stamp{ display:flex; gap:18px; background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-lg); padding:16px 20px; margin:20px 0; max-width:480px; }
.hero-stamp-col{ display:flex; flex-direction:column; gap:2px; }
.hero-stamp-tag{ font-family:var(--font-mono); font-size:.66rem; text-transform:uppercase; letter-spacing:.05em; color:var(--cyan-hi); }
.hero-stamp-num{ font-family:var(--font-display); font-weight:800; font-size:1.7rem; color:var(--gold-hi); line-height:1; }
.hero-stamp-label{ font-size:.8rem; color:var(--text-soft); }
.hero-stamp-divider{ width:1px; background:var(--line); }
.hero-cta{ display:flex; gap:12px; margin:18px 0; flex-wrap:wrap; }
.hero-meta{ display:flex; gap:16px; flex-wrap:wrap; font-size:.8rem; color:var(--text-soft); }
.hero-meta span::before{ content:'● '; color:var(--gold); font-size:.6rem; }

@media (max-width: 900px){
  .hero-bento{ grid-template-columns:1fr; padding:28px 20px; }
  .hero-bento-media{ min-height:220px; order:-1; }
  .hero-stamp{ flex-direction:column; gap:12px; max-width:100%; }
  .hero-stamp-divider{ display:none; }
  .hero-cta{ flex-direction:column; }
  .hero-cta .btn{ width:100%; }
}

/* ===================================================
   Split bento hero (secondary pages)
   =================================================== */
.page-hero-split{
  display:grid; grid-template-columns:1.05fr .95fr; gap:24px; align-items:stretch;
  padding:36px 32px; max-width:1180px; margin-inline:auto;
}
.page-hero-text{ display:flex; flex-direction:column; justify-content:center; }
.page-hero-media{ display:block; border-radius:var(--radius-lg); overflow:hidden; position:relative; min-height:260px; box-shadow:0 18px 36px -16px rgba(0,0,0,.55); }
.page-hero-media img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.breadcrumb{ font-size:.76rem; color:var(--muted); margin-bottom:12px; font-family:var(--font-mono); }
.breadcrumb a{ color:var(--text-soft); }
.page-hero-text h1{ max-width:520px; }
.page-hero-desc{ max-width:480px; font-size:1rem; }

@media (max-width: 900px){
  .page-hero-split{ grid-template-columns:1fr; padding:24px 20px; }
  .page-hero-media{ min-height:200px; order:-1; }
}

/* plain hero (legal/support pages — no photo) */
.page-hero{ background:var(--bg-2); border-bottom:1px solid var(--line-soft); padding:44px 32px; max-width:1180px; margin-inline:auto; }
.page-hero h1{ max-width:640px; }
.page-hero-desc{ max-width:600px; }

/* ===================================================
   Promo strip
   =================================================== */
.promo-strip{ display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-lg); padding:24px 28px; }
.promo-strip h3{ margin-bottom:6px; }
.promo-strip .amount{ color:var(--gold-hi); }
.promo-strip-body p{ margin:0; }
.promo-copy{ text-align:right; }
.promo-code-btn{ background:var(--bg); border:1.5px dashed var(--gold-deep); border-radius:var(--radius); padding:11px 18px; display:inline-flex; align-items:center; gap:10px; cursor:pointer; font-family:var(--font-mono); font-size:1.05rem; color:var(--gold-hi); font-weight:700; letter-spacing:.04em; }
.promo-code-btn:hover{ border-color:var(--gold-hi); }
.promo-code-btn.copied{ border-color:var(--cyan); color:var(--cyan-hi); border-style:solid; }
.copy-ico::before{ content:'⧉'; font-size:1rem; }
.promo-hint{ margin-top:8px; font-size:.76rem; color:var(--muted); }
.toast{ position:fixed; bottom:26px; left:calc(50% + var(--sidebar-w)/2); transform:translateX(-50%) translateY(20px); background:var(--surface-2); border:1px solid var(--gold); color:var(--white); padding:12px 22px; border-radius:var(--radius-pill); font-size:.88rem; opacity:0; pointer-events:none; transition:all .25s ease; z-index:200; }
.toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }
@media (max-width:980px){ .toast{ left:50%; } }

@media (max-width:700px){
  .promo-strip{ flex-direction:column; align-items:stretch; text-align:center; }
  .promo-copy{ text-align:center; }
}

/* ===================================================
   Data tables
   =================================================== */
.table-wrap{ overflow-x:auto; border-radius:var(--radius-lg); border:1px solid var(--line-soft); }
.data-table{ width:100%; border-collapse:collapse; min-width:480px; }
.data-table th{ background:var(--surface-2); color:var(--cyan-hi); text-align:left; padding:12px 16px; font-family:var(--font-mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; border-bottom:1px solid var(--line); }
.data-table td{ padding:12px 16px; border-bottom:1px solid var(--line-soft); color:var(--text-soft); font-size:.88rem; }
.data-table td:first-child{ color:var(--white); font-weight:600; }
.data-table tr:last-child td{ border-bottom:none; }
.data-table tr:hover td{ background:rgba(255,90,54,.04); }

/* ===================================================
   Bento asymmetric feature grid
   =================================================== */
.feature-grid{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:150px; gap:14px; }
.feature-card{ background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-lg); padding:20px; transition:transform .15s ease, border-color .15s ease; display:flex; flex-direction:column; justify-content:center; }
.feature-card:hover{ transform:translateY(-3px); border-color:var(--gold-deep); }
.feature-card:nth-child(1){ grid-column:span 2; grid-row:span 2; background:linear-gradient(150deg, var(--surface-2), var(--surface)); }
.feature-card:nth-child(4){ grid-row:span 2; }
.feature-card .emoji{ font-size:1.6rem; display:block; margin-bottom:8px; }
.feature-card:nth-child(1) .emoji{ font-size:2.4rem; }
.feature-card h4{ font-family:var(--font-body); font-size:.96rem; color:var(--white); margin-bottom:6px; font-weight:700; }
.feature-card p{ font-size:.85rem; margin:0; }
@media (max-width:900px){ .feature-grid{ grid-template-columns:repeat(2,1fr); grid-auto-rows:auto; } .feature-card:nth-child(1){ grid-column:span 2; grid-row:auto; } .feature-card:nth-child(4){ grid-row:auto; } }
@media (max-width:560px){ .feature-grid{ grid-template-columns:1fr; } .feature-card:nth-child(1){ grid-column:span 1; } }

/* ===================================================
   Reg boxes
   =================================================== */
.reg-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.reg-box{ background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-lg); padding:24px; }
.reg-box h3{ margin-bottom:12px; }
.reg-box ol{ padding-left:1.2em; color:var(--text-soft); }
.reg-box ol li{ margin-bottom:10px; }
.reg-benefits{ list-style:none; padding:0; margin:14px 0; }
.reg-benefits li{ padding-left:1.6em; position:relative; }
.reg-benefits li::before{ content:'✓'; position:absolute; left:0; color:var(--gold); font-weight:700; }
@media (max-width:780px){ .reg-grid{ grid-template-columns:1fr; } }

/* ===================================================
   Callout
   =================================================== */
.callout{ display:flex; gap:12px; background:rgba(255,90,54,.06); border:1px solid var(--gold-deep); border-radius:var(--radius-lg); padding:16px 20px; margin:22px 0; }
.callout .icon{ font-size:1.2rem; flex-shrink:0; }
.callout p{ margin:0; color:var(--text); font-size:.9rem; }
.callout.warning{ background:rgba(214,69,90,.07); border-color:var(--crimson); }

/* ===================================================
   Welcome bonus cards
   =================================================== */
.welcome-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.wcard{ background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-lg); overflow:hidden; display:flex; flex-direction:column; transition:transform .15s ease; }
.wcard:hover{ transform:translateY(-3px); }
.wcard-img{ position:relative; aspect-ratio:16/10; overflow:hidden; }
.wcard-img img{ width:100%; height:100%; object-fit:cover; }
.wcard-tag{ position:absolute; top:10px; left:10px; background:var(--bg); color:var(--gold-hi); font-family:var(--font-mono); font-size:.66rem; text-transform:uppercase; padding:4px 10px; border-radius:var(--radius-pill); }
.wcard-body{ padding:16px; display:flex; flex-direction:column; gap:6px; flex:1; }
.wcard-percent{ font-family:var(--font-display); font-weight:800; font-size:1.7rem; color:var(--gold-hi); }
.wcard-sub{ color:var(--text-soft); font-size:.85rem; margin-bottom:8px; }
.wcard-btn{ margin-top:auto; }
@media (max-width:900px){ .welcome-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .welcome-grid{ grid-template-columns:1fr; } }

/* ===================================================
   Theme banners
   =================================================== */
.theme-banner{ display:block; border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--line-soft); }
.theme-banner img{ width:100%; height:auto; }

/* ===================================================
   Slots grid
   =================================================== */
.slots-toolbar{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:20px; }
.slot-chip{ background:var(--surface); border:1px solid var(--line-soft); color:var(--text-soft); padding:7px 14px; border-radius:var(--radius-pill); font-size:.8rem; font-weight:600; }
.slots-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.slot-tile{ position:relative; border-radius:var(--radius); overflow:hidden; border:1px solid var(--line-soft); display:block; background:var(--surface); transition:transform .15s ease; }
.slot-tile:hover{ transform:translateY(-3px); }
.slot-tile img{ width:100%; aspect-ratio:352/474; object-fit:cover; transition:transform .2s ease; }
.slot-tile:hover img{ transform:scale(1.05); }
.slot-tile .slot-overlay{ position:absolute; inset:auto 0 0 0; background:linear-gradient(0deg, rgba(20,24,29,.94), transparent); padding:14px 8px 8px; opacity:0; transition:opacity .2s ease; }
.slot-tile:hover .slot-overlay{ opacity:1; }
.slot-tile .slot-play{ color:var(--gold-hi); font-family:var(--font-mono); font-size:.7rem; text-transform:uppercase; letter-spacing:.03em; }
@media (max-width:900px){ .slots-grid{ grid-template-columns:repeat(4,1fr); } }
@media (max-width:620px){ .slots-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:420px){ .slots-grid{ grid-template-columns:repeat(2,1fr); } }
.slots-showmore{ text-align:center; margin-top:24px; }

/* ===================================================
   VIP tiers
   =================================================== */
.vip-list{ display:flex; flex-direction:column; gap:8px; margin-top:20px; }
.vip-tier{ display:flex; align-items:center; justify-content:space-between; gap:16px; background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius); padding:14px 18px; flex-wrap:wrap; }
.vip-tier-name{ font-family:var(--font-display); font-weight:800; font-size:1.1rem; color:var(--gold-hi); }
.vip-tier-desc{ color:var(--text-soft); font-size:.86rem; margin:0; }

/* ===================================================
   App download buttons
   =================================================== */
.store-buttons{ display:flex; gap:12px; flex-wrap:wrap; margin:18px 0; }
.store-btn{ display:flex; align-items:center; gap:10px; background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-lg); padding:9px 18px; color:var(--white); }
.store-btn:hover{ border-color:var(--gold); }
.store-btn .store-icon{ font-size:1.5rem; }
.store-btn .store-text{ display:flex; flex-direction:column; line-height:1.2; }
.store-btn .store-text small{ font-size:.66rem; color:var(--muted); }
.store-btn .store-text strong{ font-size:.95rem; }

/* ===================================================
   Compare table (app vs browser)
   =================================================== */
.compare-table td:first-child{ color:var(--cyan-hi); }

/* ===================================================
   FAQ accordion
   =================================================== */
.faq-list{ display:flex; flex-direction:column; gap:8px; }
.faq-item{ background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-lg); overflow:hidden; transition:border-color .15s ease; }
.faq-item.open{ border-color:var(--gold-deep); }
.faq-question{ width:100%; text-align:left; background:none; border:none; color:var(--white); font-weight:700; font-size:.96rem; padding:16px 20px; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:14px; font-family:var(--font-body); }
.faq-question .faq-icon{ flex-shrink:0; width:24px; height:24px; border:1px solid var(--line); border-radius:50%; display:flex; align-items:center; justify-content:center; transition:transform .25s ease; color:var(--gold-hi); }
.faq-item.open .faq-question .faq-icon{ transform:rotate(45deg); border-color:var(--gold-deep); }
.faq-answer{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
.faq-answer-inner{ padding:0 20px 18px; color:var(--text-soft); font-size:.9rem; }
.faq-answer-inner p{ margin:0; }

/* ===================================================
   Pros / cons
   =================================================== */
.proscons{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:22px 0; }
.proscons-col{ border-radius:var(--radius-lg); padding:20px; border:1px solid; }
.proscons-col.pros{ background:rgba(143,168,189,.06); border-color:var(--cyan-deep); }
.proscons-col.cons{ background:rgba(214,69,90,.06); border-color:var(--crimson); }
.proscons-col h4{ font-family:var(--font-body); margin-bottom:10px; }
.proscons-col ul{ list-style:none; padding:0; margin:0; }
.proscons-col li{ padding-left:1.4em; position:relative; font-size:.88rem; }
.proscons-col.pros li::before{ content:'+'; position:absolute; left:0; color:var(--cyan-hi); font-weight:700; }
.proscons-col.cons li::before{ content:'–'; position:absolute; left:0; color:var(--crimson-hi); font-weight:700; }
@media (max-width:700px){ .proscons{ grid-template-columns:1fr; } }

/* ===================================================
   RG banner
   =================================================== */
.rg-banner{ background:rgba(214,69,90,.07); border:1px solid var(--crimson); border-radius:var(--radius-lg); padding:24px 28px; display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.rg-banner-badge{ font-family:var(--font-display); font-weight:800; font-size:1.6rem; color:var(--crimson-hi); border:2px solid var(--crimson-hi); border-radius:50%; width:58px; height:58px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.rg-banner-links{ display:flex; gap:14px; flex-wrap:wrap; margin-top:6px; }
.rg-banner-links a{ color:var(--white); text-decoration:underline; font-size:.86rem; }

/* ===================================================
   Footer (inside main-col)
   =================================================== */
.site-footer{ background:var(--bg-2); border-top:1px solid var(--line-soft); padding:40px 32px 24px; margin-top:20px; max-width:1180px; margin-inline:auto; width:100%; }
.footer-wave{ height:0; }
.footer-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:28px; }
.footer-col h4{ font-family:var(--font-display); font-weight:700; color:var(--gold-hi); font-size:.86rem; margin-bottom:12px; }
.footer-col ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.footer-col ul a{ color:var(--text-soft); font-size:.86rem; }
.footer-col ul a:hover{ color:var(--gold-hi); }
.footer-brand p{ font-size:.84rem; max-width:300px; }
.licence-tags{ display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.licence-tags span{ border:1px solid var(--line); color:var(--muted); font-size:.7rem; padding:4px 10px; border-radius:var(--radius-pill); font-family:var(--font-mono); }
.footer-bottom{ border-top:1px solid var(--line-soft); margin-top:28px; padding-top:18px; display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; font-size:.76rem; color:var(--muted); }
.age-badge{ border:1px solid var(--crimson-hi); color:var(--crimson-hi); border-radius:6px; padding:2px 8px; font-weight:700; margin-right:8px; }
@media (max-width:900px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .footer-grid{ grid-template-columns:1fr; } }

/* ===================================================
   Generic content page
   =================================================== */
.content-page section + section{ border-top:1px solid var(--line-soft); }
.content-page .container{ max-width:800px; }
.content-page.wide .container{ max-width:var(--container-w); }
.lead{ font-size:1.05rem; color:var(--text); }
.two-col{ display:grid; grid-template-columns:1fr 1fr; gap:32px; }
@media (max-width:780px){ .two-col{ grid-template-columns:1fr; } }

/* misc */
.mt-0{ margin-top:0; }
.text-center{ text-align:center; }
.section-head{ max-width:680px; margin-bottom:28px; }
.tag-list{ display:flex; gap:10px; flex-wrap:wrap; }
.tag-list span{ background:var(--surface); border:1px solid var(--line-soft); border-radius:var(--radius-pill); padding:6px 14px; font-size:.8rem; color:var(--text-soft); }
