:root{
  /* core black & gold palette */
  --black:#08090B;
  --black-soft:#0E1014;
  --panel:#14161B;
  --panel-2:#1B1E25;
  --gold:#D4AF37;
  --gold-soft:#E8CE7C;
  --gold-pale:#F4E6B6;
  --gold-deep:#A8801A;
  --bronze:#8A6014;
  --alert:#E3A857;

  --ink:#F1EDE2;
  --heading:#FBF6E9;
  --muted:#ADA692;

  --line:rgba(212,175,55,.20);
  --line-strong:rgba(212,175,55,.45);
  --shadow:0 18px 40px rgba(0,0,0,.55);
  --shadow-sm:0 8px 20px rgba(0,0,0,.40);

  --radius:14px;
  --radius-lg:22px;
  --wrap:1220px;
  --header-h:58px;
  --font-head:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --font-body:"Segoe UI",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}

html{-webkit-text-size-adjust:100%;}
html:focus-within{scroll-behavior:smooth;}

body{
  margin:0;
  background:var(--black);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.68;
  overflow-x:hidden;
}

::selection{background:var(--gold);color:#000;}

img,svg{max-width:100%;height:auto;display:block;}

h1,h2,h3,h4{font-family:var(--font-head);line-height:1.2;margin:0 0 .5em;font-weight:600;letter-spacing:-.01em;color:var(--heading);}
h1{font-size:clamp(2rem,4.4vw,3.2rem);}
h2{font-size:clamp(1.5rem,2.6vw,2.15rem);}
h3{font-size:1.12rem;}
p{margin:0 0 1rem;}
ul{margin:0 0 1rem;padding-left:1.15rem;}
li{margin-bottom:.4rem;}

a{color:var(--gold);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;}
a:hover{color:var(--gold-pale);}

:focus-visible{outline:3px solid var(--gold);outline-offset:3px;}

.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 28px;}

.skip-link{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--gold);color:#000;padding:12px 20px;border-radius:0 0 10px 0;
  text-decoration:none;font-weight:700;
}
.skip-link:focus{left:0;}

/* ---------- BRAND MARK (recoloured to black & gold) ---------- */
.brand__mark svg rect{fill:#000;}
.brand__mark svg circle:nth-of-type(1){stroke:var(--gold);}
.brand__mark svg path{fill:var(--gold-pale);}
.brand__mark svg circle:nth-of-type(2){fill:var(--gold-deep);}
.brand__mark--footer svg rect{fill:var(--gold);}
.brand__mark--footer svg circle:nth-of-type(1){stroke:#000;}
.brand__mark--footer svg path{fill:#000;}
.brand__mark--footer svg circle:nth-of-type(2){fill:#000;}

/* ---------- HEADER (static bar — scrolls away with the page) ---------- */
.site-header{
  position:relative;
  z-index:90;
  background:#040507;
  color:var(--ink);
  box-shadow:0 6px 20px rgba(0,0,0,.55);
}
.site-header::after{
  content:"";display:block;height:2px;
  background:linear-gradient(90deg,var(--gold-deep) 0%,var(--gold) 32%,var(--gold-pale) 50%,var(--gold) 68%,var(--gold-deep) 100%);
}

.header__inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:18px;min-height:var(--header-h);
}

.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);padding:6px 0;flex:0 0 auto;}
.brand:hover .brand__name{color:var(--gold-pale);}

/* compact logo mark */
.brand__mark{width:26px;height:26px;flex:0 0 26px;}

/* compact footer logo mark */
.brand__mark--footer{
  width:18px;height:18px;flex:0 0 18px;
  margin-bottom:8px;
  border-radius:5px;
  overflow:hidden;
}
.brand__mark--footer svg{width:18px;height:18px;}

.brand__text{display:flex;flex-direction:column;line-height:1.1;}
.brand__name{font-family:var(--font-head);font-size:.95rem;letter-spacing:.01em;color:var(--heading);transition:color .18s ease;}
.brand__tag{font-size:.55rem;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);}

.site-nav{margin-left:auto;}
.site-nav ul{display:flex;align-items:center;flex-wrap:nowrap;gap:1px;list-style:none;margin:0;padding:0;}
.site-nav li{margin:0;}
.site-nav a{
  position:relative;display:block;padding:8px 10px;border-radius:6px;
  color:rgba(241,237,226,.80);text-decoration:none;font-size:.75rem;
  text-transform:uppercase;letter-spacing:.08em;font-weight:600;white-space:nowrap;
  transition:color .18s ease,background-color .18s ease;
}
.site-nav a::after{
  content:"";position:absolute;left:10px;right:10px;bottom:3px;height:2px;
  background:var(--gold);border-radius:2px;
  opacity:0;transform:scaleX(.35);transform-origin:left center;
  transition:opacity .18s ease,transform .18s ease;
}
.site-nav a:hover{color:var(--gold-pale);background:rgba(212,175,55,.09);}
.site-nav a:hover::after{opacity:1;transform:scaleX(1);}
.site-nav a[aria-current="page"]{color:var(--gold);background:rgba(212,175,55,.12);}
.site-nav a[aria-current="page"]::after{opacity:1;transform:scaleX(1);}

.nav-toggle{
  display:none;align-items:center;gap:9px;
  background:transparent;border:1px solid var(--line-strong);color:var(--gold-pale);
  padding:8px 12px;border-radius:9px;font:inherit;font-size:.74rem;
  text-transform:uppercase;letter-spacing:.12em;font-weight:700;cursor:pointer;
}
.nav-toggle:hover{border-color:var(--gold);color:var(--gold);}
.nav-toggle__bars{position:relative;display:block;width:17px;height:2px;background:var(--gold);}
.nav-toggle__bars::before,.nav-toggle__bars::after{content:"";position:absolute;left:0;width:17px;height:2px;background:var(--gold);}
.nav-toggle__bars::before{top:-5px;}
.nav-toggle__bars::after{top:5px;}
.nav-toggle[aria-expanded="true"]{background:rgba(212,175,55,.12);border-color:var(--gold);}

/* ---------- MASTHEAD / PAGE HEAD ---------- */
.masthead{
  background:
    radial-gradient(circle at 88% 12%, rgba(212,175,55,.22), transparent 46%),
    radial-gradient(circle at 8% 88%, rgba(168,128,26,.20), transparent 44%),
    var(--black);
  border-bottom:1px solid var(--line);
  padding:64px 0 52px;
}
.masthead__kicker,.label{
  font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;font-weight:700;color:var(--gold);margin:0 0 12px;
}
.masthead__title{max-width:20ch;}
.masthead__intro{max-width:66ch;font-size:1.08rem;color:rgba(241,237,226,.85);}
.masthead__meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}

.pill{
  display:inline-block;padding:7px 14px;border-radius:999px;font-size:.78rem;font-weight:700;
  letter-spacing:.04em;border:1px solid var(--line-strong);background:var(--panel);color:var(--gold-pale);
}
.pill--green{border-color:var(--gold);color:var(--gold);}
.pill--amber{border-color:rgba(232,206,124,.7);color:var(--gold-soft);}
.pill--red{border-color:rgba(168,128,26,.7);color:var(--gold-deep);}

.page-head{
  background:linear-gradient(180deg,#000,#111318);color:var(--ink);padding:60px 0 54px;
  border-bottom:4px solid var(--gold);
}
.page-head h1{color:var(--heading);max-width:24ch;}
.page-head .masthead__kicker{color:var(--gold);}
.page-head__intro{max-width:70ch;color:rgba(241,237,226,.82);font-size:1.05rem;}

.jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
.jump a{
  background:rgba(212,175,55,.10);border:1px solid var(--line-strong);
  color:var(--gold-pale);padding:8px 14px;border-radius:999px;text-decoration:none;font-size:.82rem;font-weight:600;
}
.jump a:hover{background:var(--gold);border-color:var(--gold);color:#0A0A0A;}

/* ---------- LABELS ---------- */
.label--green{color:var(--gold);}
.label--amber{color:var(--gold-soft);}
.label--red{color:var(--gold-deep);}
.label--paper{color:var(--gold-pale);}

/* ---------- SECTIONS ---------- */
.section{padding:72px 0;}
.section--paper{background:var(--black-soft);}
.section--tint{background:linear-gradient(180deg,#101216,var(--black));}
.section--dark{background:#000;color:rgba(241,237,226,.88);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.section--dark h2,.section--dark h3{color:var(--heading);}
.section__head{max-width:74ch;margin-bottom:38px;}
.section__head--light .section__intro{color:rgba(241,237,226,.78);}
.section__intro{color:var(--muted);font-size:1.03rem;}
.section__foot{margin-top:26px;font-size:.95rem;color:var(--muted);}
.section__foot--cta{
  margin-top:34px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;
}
.section__foot-note{font-size:.9rem;color:var(--muted);max-width:52ch;}

.lede{font-size:1.14rem;color:rgba(241,237,226,.9);}
.section--dark .lede{color:rgba(241,237,226,.9);}

.text-link{font-weight:700;font-size:.9rem;letter-spacing:.02em;color:var(--gold);}
.text-link:hover{color:var(--gold-pale);}

/* ---------- HERO ---------- */
.hero{padding:64px 0;}
.discovery-grid{display:grid;grid-template-columns:minmax(0,2.05fr) minmax(0,1fr);gap:34px;align-items:start;}

.hero__feature{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:38px;box-shadow:var(--shadow);border-top:6px solid var(--gold);
}
.hero__points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:28px 0 10px;}
.hero__point{border-left:3px solid var(--gold-deep);padding-left:16px;}
.hero__point-num{font-family:var(--font-head);font-size:.9rem;color:var(--gold);letter-spacing:.1em;}
.hero__point h3{margin:4px 0 6px;font-size:1.02rem;}
.hero__point p{margin:0;font-size:.93rem;color:var(--muted);}
.hero__foot{margin-top:22px;padding-top:16px;border-top:1px dashed var(--line-strong);font-size:.88rem;color:var(--muted);}

.side-notes{display:grid;gap:20px;}
.side-note{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:24px;box-shadow:var(--shadow-sm);
}
.side-note h3{font-size:1.05rem;}
.side-note p{font-size:.93rem;color:var(--muted);margin-bottom:.6rem;}
.side-note--dark{background:#000;border-color:var(--gold);}
.side-note--dark h3{color:var(--gold-pale);}
.side-note--dark p{color:rgba(241,237,226,.8);}
.side-note--dark .text-link{color:var(--gold);}

/* ---------- SPORT CARDS ---------- */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.sport-card{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:28px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;
  border-top:5px solid var(--gold-deep);
  scroll-margin-top:24px;
}
.sport-card--feature{border-top-color:var(--gold);}
.sport-card__pos{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--muted);margin:0 0 8px;}
.sport-card__name{font-size:1.5rem;margin-bottom:.35em;}
.sport-card__desc{font-size:1rem;color:rgba(241,237,226,.86);}
.sport-card__row{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 18px;}

.tag{
  display:inline-block;font-size:.75rem;font-weight:700;padding:5px 11px;border-radius:6px;
  border:1px solid var(--line-strong);background:rgba(212,175,55,.06);letter-spacing:.02em;color:var(--gold-pale);
}
.tag--green{border-color:var(--gold);color:var(--gold);background:rgba(212,175,55,.12);}
.tag--amber{border-color:rgba(232,206,124,.7);color:var(--gold-soft);background:rgba(232,206,124,.10);}
.tag--red{border-color:rgba(168,128,26,.8);color:var(--gold-deep);background:rgba(168,128,26,.14);}
.tag--plain{color:var(--muted);border-color:rgba(241,237,226,.18);background:transparent;}

.mini-facts{margin:0 0 16px;}
.mini-facts dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--gold);margin-top:12px;}
.mini-facts dd{margin:2px 0 0;font-size:.94rem;color:var(--muted);}

.sport-card__note{
  margin-top:auto;background:rgba(212,175,55,.09);border-left:4px solid var(--gold);
  padding:12px 14px;border-radius:0 8px 8px 0;font-size:.93rem;color:var(--ink);
}

/* card call-to-action button */
.sport-card__cta{margin:18px 0 0;}

/* ---------- ACCORDION ---------- */
.accordion{max-width:900px;border-top:1px solid var(--line-strong);}
.accordion__item{border-bottom:1px solid var(--line-strong);}
.section--paper .accordion,.section--paper .accordion__item{border-color:var(--line-strong);}
.accordion h3{margin:0;font-family:var(--font-body);}
.accordion__trigger{
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;
  background:none;border:0;color:var(--ink);font:inherit;font-weight:700;font-size:1.02rem;
  text-align:left;padding:20px 4px;cursor:pointer;
}
.accordion__trigger:hover{color:var(--gold-pale);}
.accordion__trigger::after{content:"+";font-size:1.4rem;color:var(--gold);line-height:1;}
.accordion__trigger[aria-expanded="true"]{color:var(--gold);}
.accordion__trigger[aria-expanded="true"]::after{content:"–";}
.accordion__hint{font-weight:500;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;opacity:.7;margin-left:auto;margin-right:12px;}
.accordion__panel{display:none;padding:0 4px 22px;max-width:74ch;}
.accordion__panel.is-open{display:block;}
.accordion__panel p{font-size:.96rem;color:rgba(241,237,226,.85);}
.accordion__panel p:last-child{margin-bottom:0;}
.accordion__meta{font-size:.85rem;color:var(--muted);margin:0 0 .8rem;}

/* ---------- TABS ---------- */
.tabs__list{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px;}
.tabs__tab{
  background:var(--panel);border:1px solid var(--line-strong);color:var(--ink);
  font:inherit;font-weight:700;font-size:.88rem;padding:11px 18px;border-radius:999px;cursor:pointer;
}
.tabs__tab:hover{border-color:var(--gold);color:var(--gold-pale);}
.tabs__tab[aria-selected="true"]{background:var(--gold);color:#0A0A0A;border-color:var(--gold);}
.tabs__panel{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:32px;box-shadow:var(--shadow-sm);max-width:900px;
}
.tabs__panel h3{font-size:1.3rem;}
.tabs__panel p:last-child{margin-bottom:0;}

.check-list{list-style:none;padding:0;margin:1rem 0;}
.check-list li{position:relative;padding-left:26px;margin-bottom:.55rem;}
.check-list li::before{
  content:"";position:absolute;left:0;top:.55em;width:11px;height:11px;border-radius:3px;
  background:var(--gold);
}

/* ---------- METERS ---------- */
.meters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.meter-card{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:24px;box-shadow:var(--shadow-sm);
}
.meter-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.meter-card__top h3{margin:0;}
.meter-card__band{font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:4px 9px;border-radius:6px;}
.band--green{background:rgba(212,175,55,.16);color:var(--gold);}
.band--amber{background:rgba(232,206,124,.16);color:var(--gold-soft);}
.band--red{background:rgba(168,128,26,.22);color:var(--gold-pale);}
.meter-card p{margin:12px 0 0;font-size:.93rem;color:var(--muted);}

.meter{height:12px;border-radius:999px;background:rgba(241,237,226,.12);overflow:hidden;}
.meter--onDark{background:rgba(241,237,226,.14);}
.meter__fill{display:block;height:100%;border-radius:999px;}
.meter__fill--easy{width:28%;background:var(--gold-pale);}
.meter__fill--easy-medium{width:55%;background:var(--gold);}
.meter__fill--medium-hard{width:86%;background:var(--gold-deep);}

/* ---------- COST ---------- */
.cost-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;}
.cost-card{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;box-shadow:var(--shadow-sm);border-bottom:5px solid var(--gold);
}
.cost-card h3{font-size:1.08rem;margin-bottom:.2em;}
.cost-card__band{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);margin-bottom:12px;}
.cost-card__gear{font-size:.9rem;color:var(--muted);margin:14px 0 0;}

.dots{display:flex;gap:7px;}
.dot{width:14px;height:14px;border-radius:50%;background:rgba(241,237,226,.14);display:block;}
.dot.is-on{background:var(--gold);box-shadow:inset 0 0 0 2px rgba(0,0,0,.35);}
.dots--onDark .dot{background:rgba(241,237,226,.16);}
.dots--onDark .dot.is-on{background:var(--gold);box-shadow:none;}

/* ---------- GUIDE PANELS ---------- */
.guide-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.guide-panel{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px;box-shadow:var(--shadow-sm);position:relative;
}
.guide-panel__num{
  font-family:var(--font-head);font-size:1.6rem;color:rgba(212,175,55,.35);display:block;margin-bottom:6px;
}
.guide-panel h3{font-size:1.08rem;}
.guide-panel p{margin:0;font-size:.94rem;color:var(--muted);}

/* ---------- STRIP ---------- */
.strip{background:linear-gradient(120deg,#000 0%,#141109 60%,#000 100%);color:rgba(241,237,226,.88);padding:56px 0;border-top:4px solid var(--gold);border-bottom:4px solid var(--gold-deep);}
.strip h2{color:var(--heading);}
.strip__inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:32px;align-items:center;}
.strip__list{list-style:none;padding:0;margin:0;font-size:.94rem;}
.strip__list li{padding-left:18px;position:relative;}
.strip__list li::before{content:"";position:absolute;left:0;top:.7em;width:8px;height:8px;background:var(--gold);border-radius:2px;}
.strip__cta{margin:0;}

.btn{
  display:inline-block;font:inherit;font-weight:700;font-size:.9rem;letter-spacing:.03em;
  padding:13px 22px;border-radius:10px;border:2px solid transparent;cursor:pointer;text-decoration:none;
}
.btn--green{background:var(--gold);border-color:var(--gold);color:#0A0A0A;}
.btn--green:hover{background:var(--gold-soft);border-color:var(--gold-soft);color:#0A0A0A;}
.btn--paper{background:var(--gold-pale);border-color:var(--gold-pale);color:#0A0A0A;}
.btn--paper:hover{background:var(--gold);border-color:var(--gold);color:#0A0A0A;}
.btn--outline{background:transparent;border-color:var(--gold);color:var(--gold);}
.btn--outline:hover{background:var(--gold);border-color:var(--gold);color:#0A0A0A;}
.btn--link{background:none;border:0;color:var(--gold-soft);text-decoration:underline;padding:13px 6px;}
.btn--link:hover{color:var(--gold-pale);}

/* profile-link button used on sport cards and tab panels */
.btn--card{
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;
  background:rgba(212,175,55,.10);border-color:var(--gold);color:var(--gold);
  font-size:.87rem;padding:12px 18px;text-align:center;
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.btn--card:hover,
.btn--card:focus-visible{background:var(--gold);border-color:var(--gold);color:#0A0A0A;}
.btn--card .btn__arrow{transition:transform .18s ease;}
.btn--card:hover .btn__arrow{transform:translateX(4px);}
.btn--card-inline{display:inline-flex;width:auto;}

/* ---------- NOTES ---------- */
.notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.note{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px;box-shadow:var(--shadow-sm);border-left:5px solid var(--gold);
}
.note__tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;font-weight:700;color:var(--gold);margin:0 0 8px;}
.note h3{font-size:1.1rem;}
.note p{margin:0;font-size:.94rem;color:var(--muted);}

/* ---------- FEATURED ---------- */
.featured{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:34px;align-items:start;}
.featured__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:26px 0;}
.featured__facts h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);margin-bottom:6px;}
.featured__facts p{margin:0;font-size:.96rem;}
.featured__note{
  background:rgba(212,175,55,.10);border-left:4px solid var(--gold);padding:14px 16px;border-radius:0 8px 8px 0;
}
.featured__panel{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px;}
.glance{display:grid;gap:12px;}
.glance__row{display:flex;justify-content:space-between;gap:14px;font-size:.9rem;border-bottom:1px dashed var(--line-strong);padding-bottom:8px;}
.glance__row strong{color:var(--gold-pale);text-align:right;}

/* ---------- PROFILES ---------- */
.profiles{display:grid;gap:32px;}
.profile{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:36px;box-shadow:var(--shadow);border-left:6px solid var(--gold);
  scroll-margin-top:24px;
}
.profile__pos{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:var(--muted);margin:0 0 6px;}
.profile__head h2,
.profile__head h3{margin-bottom:.25em;font-size:clamp(1.5rem,2.6vw,2.15rem);}
.profile__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0;}
.profile__block h3,
.profile__block h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);margin-bottom:6px;font-family:var(--font-body);font-weight:700;}
.profile__block p{margin:0;font-size:.97rem;}
.profile__meters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.profile__meter-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--muted);margin-bottom:10px;}
.profile__note{margin:20px 0 0;background:rgba(212,175,55,.09);border-left:4px solid var(--gold);padding:14px 16px;border-radius:0 8px 8px 0;}

/* expanded beginner content inside each profile */
.profile__extra{margin-top:28px;padding-top:26px;border-top:1px dashed var(--line-strong);}
.profile__extra > h3,
.profile__extra > h4{
  font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;color:var(--gold);
  font-family:var(--font-body);font-weight:700;margin-bottom:18px;
}
.profile__extra-block-wide{
  background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px 20px;margin-bottom:22px;
}
.profile__extra-block-wide p{margin:0;font-size:.95rem;color:rgba(241,237,226,.85);}
.profile__extra-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.profile__extra-block h4{
  font-family:var(--font-head);text-transform:none;letter-spacing:-.01em;
  font-size:1.02rem;margin:0 0 8px;padding-left:12px;
  border-left:3px solid var(--gold-deep);line-height:1.3;color:var(--heading);
}
.profile__extra-block p{margin:0;font-size:.93rem;color:var(--muted);}
.profile__extra-block .check-list{margin:.2rem 0 0;}
.profile__extra-block .check-list li{font-size:.93rem;color:var(--muted);margin-bottom:.45rem;}
.profile__extra-block .check-list li::before{width:9px;height:9px;top:.6em;}
.profile__links{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px;
  margin:26px 0 0;padding-top:18px;border-top:1px solid var(--line);
}

.compare{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
.compare__col{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm);border-top:4px solid var(--gold);}
.compare__col h3{font-size:1.05rem;}
.compare__col p{margin:0;font-size:.93rem;color:var(--muted);}

/* ---------- ARTICLES / LEGAL ---------- */
.article-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:38px;align-items:start;}
.article{max-width:78ch;}
.article h2{margin-top:1.8em;padding-top:.2em;}
.article h2:first-child{margin-top:0;}
.article h3{margin-top:1.4em;}
.legal{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:42px;box-shadow:var(--shadow-sm);max-width:88ch;
}
.legal h2{font-size:1.28rem;color:var(--gold-pale);}
.legal h3{font-size:1.05rem;}
.legal__cta{margin-top:2rem;}

/* ---------- CONTACT ---------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:38px;align-items:start;}
.contact-form-wrap{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px;box-shadow:var(--shadow-sm);}
.form-note{font-size:.9rem;color:var(--muted);background:rgba(212,175,55,.08);border-left:4px solid var(--gold);padding:12px 14px;border-radius:0 8px 8px 0;}
.field{margin-bottom:20px;}
.field label{display:block;font-weight:700;font-size:.88rem;margin-bottom:6px;color:var(--ink);}
.req{font-weight:500;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);margin-left:6px;}
.field input,.field select,.field textarea{
  width:100%;font:inherit;padding:12px 14px;border:1px solid var(--line-strong);border-radius:10px;
  background:#0C0E12;color:var(--ink);
}
.field input::placeholder,.field textarea::placeholder{color:var(--muted);}
.field select option{background:#0C0E12;color:var(--ink);}
.field textarea{resize:vertical;}
.field__error{color:var(--alert);font-size:.85rem;margin:6px 0 0;font-weight:600;}
.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:var(--alert);}
.form-status{margin-top:16px;font-weight:600;font-size:.93rem;}
.form-status.is-ok{color:var(--gold);}
.form-status.is-error{color:var(--alert);}

/* ---------- FOOTER (refined) ---------- */
.site-footer{
  position:relative;
  background:
    radial-gradient(circle at 12% 0%, rgba(212,175,55,.10), transparent 42%),
    linear-gradient(180deg,#0A0B0E 0%,#000 62%,#000 100%);
  color:rgba(241,237,226,.74);
  padding:0 0 24px;
  border-top:0;
}
.site-footer::before{
  content:"";
  display:block;
  height:3px;
  background:linear-gradient(90deg,var(--gold-deep) 0%,var(--gold) 28%,var(--gold-pale) 50%,var(--gold) 72%,var(--gold-deep) 100%);
}

.footer__grid{
  display:grid;
  grid-template-columns:minmax(0,1.8fr) repeat(3,minmax(0,1fr));
  gap:36px 30px;
  padding-top:56px;
}

.footer__brand{max-width:36ch;}
.footer__brand p{font-size:.9rem;margin:0;color:rgba(241,237,226,.6);line-height:1.62;}
.footer__name{
  font-family:var(--font-head);font-size:1.06rem;color:var(--gold-pale);
  margin:0 0 8px;letter-spacing:.01em;
}
.footer__name::after{
  content:"";display:block;width:34px;height:2px;margin-top:8px;
  background:linear-gradient(90deg,var(--gold),rgba(212,175,55,0));
}

.footer__nav h2{
  font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:var(--gold);
  margin:0 0 16px;padding-bottom:10px;font-family:var(--font-body);font-weight:700;
  border-bottom:1px solid var(--line);
}
.footer__nav ul{list-style:none;padding:0;margin:0;}
.footer__nav li{margin-bottom:.15rem;}
.footer__nav a{
  position:relative;display:inline-block;
  color:rgba(241,237,226,.72);text-decoration:none;font-size:.885rem;
  padding:4px 0 4px 14px;
  transition:color .18s ease,transform .18s ease;
}
.footer__nav a::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:5px;height:5px;border-radius:50%;
  background:rgba(212,175,55,.35);
  transition:background .18s ease,width .18s ease;
}
.footer__nav a:hover,
.footer__nav a:focus-visible{color:var(--gold-pale);transform:translateX(3px);text-decoration:none;}
.footer__nav a:hover::before,
.footer__nav a:focus-visible::before{background:var(--gold);width:8px;border-radius:2px;}

.footer__legal{
  margin-top:44px;padding-top:24px;
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:8px 34px;
  align-items:start;
}
.footer__legal p{
  font-size:.8rem;line-height:1.6;color:rgba(241,237,226,.55);margin:0;max-width:70ch;
}
.footer__legal p:first-child{
  grid-row:span 2;
  border-left:2px solid var(--line-strong);
  padding-left:14px;
}
.footer__copy{
  grid-column:1 / -1;
  margin-top:14px !important;
  padding-top:14px;
  border-top:1px dashed var(--line);
  font-weight:600;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--gold-soft) !important;
}

/* ---------- COOKIE CONSENT BANNER ---------- */
.cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:120;
  background:linear-gradient(180deg,#0D0E12 0%,#08090B 100%);
  color:var(--ink);
  border-top:1px solid var(--line-strong);
  box-shadow:0 -14px 34px rgba(0,0,0,.65);
}
.cookie-banner::before{
  content:"";display:block;height:3px;
  background:linear-gradient(90deg,var(--gold-deep) 0%,var(--gold) 30%,var(--gold-pale) 50%,var(--gold) 70%,var(--gold-deep) 100%);
}
.cookie-banner[hidden]{display:none !important;}
.cookie-banner__inner{
  max-width:var(--wrap);margin:0 auto;padding:22px 28px;
  display:flex;gap:26px;align-items:center;justify-content:space-between;flex-wrap:wrap;
}
.cookie-banner__text{flex:1 1 420px;}
.cookie-banner h2{font-size:1.05rem;color:var(--gold-pale);margin-bottom:.3em;}
.cookie-banner p{margin:0;font-size:.88rem;color:rgba(241,237,226,.78);max-width:70ch;}
.cookie-banner__actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}

.cookie-modal{
  position:fixed;inset:0;z-index:130;background:rgba(0,0,0,.78);
  display:flex;align-items:center;justify-content:center;padding:24px;
}
/* fix: the hidden attribute must win over display:flex, otherwise the dialog
   never closes when "Save preferences" or "Close" is pressed */
.cookie-modal[hidden]{display:none !important;}

.cookie-modal__box{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:32px;max-width:620px;width:100%;
  max-height:86vh;overflow-y:auto;box-shadow:var(--shadow);border-top:6px solid var(--gold);
}
.cookie-modal__box h2{font-size:1.35rem;color:var(--gold-pale);}
.cookie-modal__box > p{color:rgba(241,237,226,.82);font-size:.95rem;}
.cookie-form__row{
  display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:center;
  padding:16px 0;border-bottom:1px solid var(--line);
}
.cookie-form__row label{font-weight:700;color:var(--ink);}
.cookie-form__row input{width:20px;height:20px;accent-color:var(--gold);}
.cookie-form__row input:disabled{opacity:.65;}
.cookie-form__row p{grid-column:1 / -1;margin:0;font-size:.88rem;color:var(--muted);}

.cookie-modal__actions{
  display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;position:relative;z-index:1;
}
.cookie-modal__actions .btn{min-width:170px;text-align:center;line-height:1.2;}
.cookie-modal__actions .btn--green{box-shadow:0 6px 16px rgba(212,175,55,.24);}
.cookie-modal__actions .btn--outline{background:transparent;border-color:var(--gold);color:var(--gold);}
.cookie-modal__actions .btn--outline:hover{background:var(--gold);color:#0A0A0A;}
.cookie-modal__actions .btn:focus-visible{outline:3px solid var(--gold-pale);outline-offset:3px;}

/* ---------- REVEAL ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;}
.reveal.is-visible{opacity:1;transform:none;}

/* ---------- BREAKPOINTS ---------- */
@media (max-width:1200px){
  .wrap{padding:0 22px;}
  .site-nav a{padding:8px 7px;font-size:.71rem;letter-spacing:.05em;}
  .site-nav a::after{left:7px;right:7px;}
  .cards,.meters,.guide-panels,.notes{grid-template-columns:repeat(2,minmax(0,1fr));}
  .cost-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .compare{grid-template-columns:repeat(2,minmax(0,1fr));}
  .profile__extra-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .discovery-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:26px;}
  .strip__inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .strip__cta{grid-column:1 / -1;}
  .footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 26px;}
  .footer__brand{grid-column:1 / -1;max-width:60ch;}
}

/* collapse the nav before it can ever crowd the brand */
@media (max-width:1024px){
  .nav-toggle{display:inline-flex;}
  .header__inner{flex-wrap:wrap;min-height:56px;}
  .site-nav{
    display:none;width:100%;order:3;margin-left:0;
    padding:8px 0 14px;border-top:1px solid var(--line);
  }
  .site-nav.is-open{display:block;}
  .site-nav ul{flex-direction:column;flex-wrap:wrap;align-items:stretch;gap:3px;}
  .site-nav a{
    padding:12px 12px;font-size:.82rem;letter-spacing:.06em;border-radius:8px;
    background:rgba(212,175,55,.06);
  }
  .site-nav a::after{display:none;}
  .site-nav a[aria-current="page"]{background:var(--gold);color:#0A0A0A;}
}

@media (max-width:768px){
  .masthead{padding:44px 0 38px;}
  .section,.hero{padding:52px 0;}
  .discovery-grid,.featured,.article-grid,.contact-grid{grid-template-columns:minmax(0,1fr);}
  .cards,.meters,.guide-panels,.notes,.cost-grid,.compare{grid-template-columns:minmax(0,1fr);}
  .hero__points,.featured__facts,.profile__grid,.profile__meters,.profile__extra-grid{grid-template-columns:minmax(0,1fr);}
  .hero__feature,.profile,.tabs__panel,.legal,.contact-form-wrap{padding:26px;}
  .strip__inner{grid-template-columns:minmax(0,1fr);}
  .profile__links{gap:8px 18px;}
  .section__foot--cta{flex-direction:column;align-items:flex-start;}
  .btn--card-inline{width:100%;}

  .footer__grid{padding-top:44px;gap:28px 24px;}
  .footer__legal{grid-template-columns:minmax(0,1fr);margin-top:34px;gap:10px;}
  .footer__legal p:first-child{grid-row:auto;}

  .cookie-banner{max-height:80vh;overflow-y:auto;}
  .cookie-banner__inner{padding:18px 22px;gap:16px;}
  .cookie-banner__actions{width:100%;}
  .cookie-banner__actions .btn{flex:1 1 auto;text-align:center;}
  .cookie-modal__actions .btn{flex:1 1 auto;min-width:0;}
  .accordion__hint{display:none;}
}

@media (max-width:480px){
  .wrap{padding:0 16px;}
  body{font-size:.97rem;}
  h1{font-size:1.78rem;}
  h2{font-size:1.34rem;}
  .header__inner{min-height:52px;gap:12px;}
  .brand__mark{width:22px;height:22px;flex:0 0 22px;}
  .brand__mark--footer{width:16px;height:16px;flex:0 0 16px;margin-bottom:6px;}
  .brand__mark--footer svg{width:16px;height:16px;}
  .brand__name{font-size:.88rem;}
  .brand__tag{font-size:.52rem;letter-spacing:.14em;}
  .nav-toggle{padding:7px 10px;font-size:.68rem;}
  .nav-toggle__label{display:none;}
  .masthead{padding:34px 0 30px;}
  .page-head{padding:40px 0 36px;}
  .section,.hero{padding:42px 0;}
  .hero__feature,.profile,.tabs__panel,.legal,.contact-form-wrap,.cookie-modal__box{padding:20px;}
  .sport-card,.meter-card,.cost-card,.note,.guide-panel,.side-note,.compare__col{padding:20px;}
  .sport-card__name{font-size:1.3rem;}
  .btn--card{font-size:.84rem;padding:12px 14px;}
  .tabs__tab{width:100%;text-align:center;}
  .meter-card__top{flex-direction:column;align-items:flex-start;gap:6px;}
  .glance__row{flex-direction:column;gap:2px;}
  .glance__row strong{text-align:left;}
  .profile__extra-block h4{font-size:.98rem;}

  .footer__grid{grid-template-columns:minmax(0,1fr);padding-top:38px;gap:26px;}
  .footer__nav h2{margin-bottom:12px;}
  .footer__legal p{font-size:.78rem;}
  .footer__copy{letter-spacing:.04em;}

  .cookie-banner__inner{padding:16px;}
  .cookie-banner h2{font-size:1rem;}
  .cookie-banner__actions{flex-direction:column;align-items:stretch;}
  .cookie-banner__actions .btn{width:100%;}
  .cookie-modal{padding:12px;}
  .cookie-modal__actions{flex-direction:column;}
  .cookie-modal__actions .btn{width:100%;}
}

@media (prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;transition:none;}
  *{animation-duration:.001ms !important;transition-duration:.001ms !important;}
}