/* =========================================================================
   Bee Ready Performance — assets/css/bold.css
   "Bold & sporty" direction.

   Drop-in alternative to styles.css. It redefines the SAME class vocabulary,
   so switching a page over is one line in the <head> — no markup rewrite.

   The look: black and gold only, no greys pretending to be colours. Square
   corners, 2px rules, uppercase display type at heavy weights, gold used as
   solid edge-to-edge blocks rather than as an accent. Tighter vertical
   rhythm than styles.css — this should feel like it has its sleeves rolled up.
   ========================================================================= */

/* -------------------------------------------------- 01 Tokens ----------- */
:root {
  --gold:        #FFC72C;
  --gold-hi:     #FFD75E;
  --gold-deep:   #7A5800;          /* AA on white */

  --ink:         #0B0B0C;
  --ink-2:       #4A4A50;
  --black:       #000;
  --paper:       #FFFFFF;

  --fg:          #FFFFFF;
  --fg-2:        #A2A2AA;

  --bg:          var(--ink);
  --panel:       #131315;
  --panel-2:     #1A1A1D;
  --line:        rgba(255,255,255,.16);
  --line-strong: var(--gold);

  --font-display: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --font-body:    "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-mono:    "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  /* Bigger and tighter than styles.css — this is the main lever. */
  --fs-h1:    clamp(3.1rem, 1rem + 9vw, 8.5rem);
  --fs-h2:    clamp(2.3rem, 1.1rem + 5vw, 5rem);
  --fs-h3:    clamp(1.6rem, 1.1rem + 2.1vw, 2.6rem);
  --fs-h4:    clamp(1.05rem, .96rem + .45vw, 1.3rem);
  --fs-lead:  clamp(1.03rem, .97rem + .38vw, 1.2rem);
  --fs-body:  1.0313rem;
  --fs-sm:    .9063rem;
  --fs-xs:    .8125rem;
  --fs-mono:  .7188rem;

  --sp-1: .25rem;  --sp-2: .5rem;   --sp-3: .75rem;  --sp-4: 1rem;
  --sp-5: 1.5rem;  --sp-6: 2rem;    --sp-7: 3rem;    --sp-8: 4rem;
  --sp-9: 6rem;    --sp-10: 8rem;

  --sec-y: clamp(3.25rem, 1.8rem + 6vw, 6.5rem);
  --gut:   clamp(1.15rem, .6rem + 2.4vw, 2.5rem);

  --r-sm: 0;  --r: 0;  --r-lg: 0;  --r-pill: 0;   /* square everything */
  --bd: 2px;

  --ease: cubic-bezier(.2,.7,.3,1);
  --nav-h: 4.25rem;
}

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

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--nav-h) + 1rem);
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--fg);
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}
body.is-locked { overflow: hidden; }

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

h1, h2, h3, h4 {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -.035em;
  line-height: .88;
}
p { margin: 0 0 var(--sp-4); }
p:last-child { margin-bottom: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; color: inherit; }
fieldset { margin: 0; padding: 0; border: 0; }
table { border-collapse: collapse; width: 100%; }
hr { border: 0; }

:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
::selection { background: var(--gold); color: var(--black); }

.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}

.skip-link {
  position: fixed; top: var(--sp-3); left: var(--sp-3); z-index: 200;
  padding: .75rem 1.15rem;
  background: var(--gold); color: var(--black);
  font-family: var(--font-mono); font-size: var(--fs-mono);
  letter-spacing: .12em; text-transform: uppercase; font-weight: 500;
  transform: translateY(-160%); transition: transform .2s var(--ease);
}
.skip-link:focus { transform: none; }

/* -------------------------------------------------- 03 Typography ------- */
h1 { font-size: var(--fs-h1); }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); line-height: 1.02; }
h4 { font-size: var(--fs-h4); line-height: 1.15; letter-spacing: -.01em; }

.lead {
  font-size: var(--fs-lead);
  line-height: 1.55;
  color: var(--fg-2);
  margin: 0 0 var(--sp-5);
}
.lead--wide { max-width: 44ch; }
.lead:last-child { margin-bottom: 0; }

.measure { max-width: 62ch; }
.measure p { color: var(--fg-2); }
.measure p + p { margin-top: var(--sp-4); }

/* No enclosing tag. A short skewed gold bar leads the label instead — sharper
   than a box, and it echoes the angled edges on the gold bands. */
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  font-family: var(--font-mono);
  font-size: var(--fs-mono);
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold);
  background: none;
  padding: 0;
  margin: 0 0 var(--sp-4);
}
.eyebrow::before {
  content: "";
  flex: none;
  width: 1.6rem;
  height: 3px;
  background: currentColor;
  transform: skewX(-24deg);
}
.eyebrow--plain::before { display: none; }
.section--light .eyebrow { color: var(--gold-deep); }
.section--gold .eyebrow { color: var(--black); }
/* Tighten the tracking on very narrow screens so longer eyebrows — e.g.
   "Founded in Manchester, England" — hold one line instead of splitting the tag. */
@media (max-width: 24rem) { .eyebrow { letter-spacing: .12em; } }

.mono { font-family: var(--font-mono); font-size: var(--fs-mono); letter-spacing: .12em; }
.num  { font-family: var(--font-display); font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
strong { font-weight: 700; color: var(--fg); }
.rule { height: var(--bd); background: var(--line); margin-block: var(--sp-4); }

/* -------------------------------------------------- 04 Layout ----------- */
.wrap { width: 100%; max-width: 80rem; margin-inline: auto; padding-inline: var(--gut); }
.wrap--narrow { max-width: 54rem; }

.section { padding-block: var(--sec-y); position: relative; }
.section--tight { padding-block: clamp(1.75rem,1rem + 2.5vw,3rem) var(--sec-y); }

.section-head { margin-bottom: clamp(2rem, 1.4rem + 2.2vw, 3.25rem); }
.section-head--split { display: grid; gap: var(--sp-5) var(--sp-8); align-items: end; }
@media (min-width: 56rem) {
  .section-head--split { grid-template-columns: 1.2fr .8fr; }
  .section-head--split .lead { margin-bottom: .4rem; }
}

/* Real gaps — the cards are rule-topped columns now, not abutting blocks. */
.grid { display: grid; gap: clamp(1.75rem, 1.2rem + 1.6vw, 2.75rem); }
@media (min-width: 40rem) { .grid--2 { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (min-width: 48rem) { .grid--3, .grid--4 { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (min-width: 64rem) {
  .grid--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .grid--4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
}

.split { display: grid; gap: clamp(2rem,1.2rem + 3.5vw,4rem); align-items: center; }
@media (min-width: 56rem) {
  .split { grid-template-columns: 1.05fr .95fr; }
  .split--flip .split__media { order: -1; }
}
.split__media { position: relative; overflow: hidden; border: var(--bd) solid var(--gold); }
.split__media img { width: 100%; height: 100%; object-fit: cover; }
.split__media--crest { background: var(--black); aspect-ratio: 1; max-width: 32rem; margin-inline: auto; }
.split__media--crest img { object-fit: contain; }

/* -------------------------------------------------- 05 Section themes --- */
.section--surface { background: var(--panel); }

.section--light {
  --fg: var(--ink); --fg-2: var(--ink-2);
  --panel: #F2F2F2; --panel-2: #FFF;
  --line: rgba(11,11,12,.18); --line-strong: var(--ink);
  background: var(--paper); color: var(--ink);
}

.section--gold {
  --fg: var(--black); --fg-2: rgba(0,0,0,.72);
  --panel: rgba(0,0,0,.06); --panel-2: rgba(0,0,0,.06);
  --line: rgba(0,0,0,.22); --line-strong: var(--black);
  background: var(--gold); color: var(--black);
}

/* Hard diagonal edge on gold bands — the main "sporty" gesture */
.section--gold::before,
.section--gold::after {
  content: "";
  position: absolute; left: 0; right: 0; height: clamp(1.5rem, 3vw, 3rem);
  background: inherit;
}
.section--gold::before { top: 0;    transform: translateY(-98%) skewY(-1.6deg); transform-origin: 100% 0; }
.section--gold::after  { bottom: 0; transform: translateY(98%)  skewY(-1.6deg); transform-origin: 0 100%; }

.cta-band { overflow: hidden; }

/* Interior page header */
.page-head {
  padding-block: calc(var(--nav-h) + clamp(1.75rem,1rem + 3.5vw,4rem)) clamp(1.75rem,1rem + 2.5vw,3rem);
  border-bottom: var(--bd) solid var(--gold);
}
.crumbs {
  display: flex; align-items: center; gap: .5rem;
  font-family: var(--font-mono); font-size: var(--fs-mono);
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--fg-2); margin-bottom: var(--sp-5);
}
.crumbs a:hover { color: var(--gold); }
.crumbs span[aria-hidden] { color: var(--gold); }

/* -------------------------------------------------- 06 Buttons ---------- */
.btn {
  --btn-bg: var(--gold);
  --btn-fg: var(--black);
  --btn-bd: var(--gold);
  display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
  padding: .85rem 1.5rem;
  background: var(--btn-bg); color: var(--btn-fg);
  border: var(--bd) solid var(--btn-bd);
  font-family: var(--font-mono);
  font-size: var(--fs-mono);
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
  line-height: 1;
  cursor: pointer; white-space: nowrap;
  transition: background-color .18s, color .18s, border-color .18s, transform .18s var(--ease);
}
.btn:hover { background: transparent; color: var(--gold); transform: translate(-2px,-2px); box-shadow: 4px 4px 0 var(--gold); }
.btn:active { transform: none; box-shadow: none; }

.btn--lg { padding: 1.05rem 1.9rem; font-size: var(--fs-xs); }
.btn--block { width: 100%; }

.btn--ghost { --btn-bg: transparent; --btn-fg: var(--fg); --btn-bd: currentColor; }
.btn--ghost:hover { background: var(--gold); color: var(--black); border-color: var(--gold); box-shadow: 4px 4px 0 rgba(255,199,44,.35); }

.btn--dark { --btn-bg: var(--black); --btn-fg: var(--gold); --btn-bd: var(--black); }
.btn--dark:hover { background: transparent; color: var(--black); box-shadow: 4px 4px 0 var(--black); }

.btn .arrow, .link-arrow .arrow { transition: transform .22s var(--ease); }
.btn:hover .arrow, .link-arrow:hover .arrow { transform: translateX(5px); }

.link-arrow {
  display: inline-flex; align-items: center; gap: .5rem;
  font-family: var(--font-mono); font-size: var(--fs-mono);
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--gold);
  border-bottom: var(--bd) solid currentColor;
  padding-bottom: .3rem;
}
.link-arrow:hover { color: var(--fg); }

.card__body a, .acc__panel a, .table-note a, .measure a, .hint a {
  color: var(--gold); text-decoration: underline; text-underline-offset: .18em;
}
.section--gold .card__body a, .section--gold .measure a { color: var(--black); }

/* -------------------------------------------------- 07 Nav -------------- */
.nav {
  position: sticky; top: 0; z-index: 100;
  height: var(--nav-h);
  display: flex; align-items: center;
  background: var(--black);
  border-bottom: var(--bd) solid transparent;
  transition: border-color .2s;
}
.nav.is-stuck { border-bottom-color: var(--gold); }
.nav__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-5); }

.brand { display: inline-flex; align-items: center; flex: none; }
.brand img { width: auto; height: 1.75rem; }
@media (max-width: 24rem) { .brand img { height: 1.5rem; } }

.nav__links { display: none; gap: clamp(.9rem,.3rem + 1.4vw,1.9rem); }
@media (min-width: 62rem) { .nav__links { display: flex; } }

.nav__link {
  font-family: var(--font-mono); font-size: var(--fs-mono);
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--fg-2);
  padding: .3rem 0;
  border-bottom: var(--bd) solid transparent;
  transition: color .18s, border-color .18s;
}
.nav__link:hover, .nav__link[aria-current="page"] { color: var(--gold); border-bottom-color: var(--gold); }

.nav__actions { display: flex; align-items: center; gap: var(--sp-4); flex: none; }
.nav__cta { display: none; }
@media (min-width: 62rem) { .nav__cta { display: inline-flex; padding: .6rem 1.1rem; } }

.nav__toggle {
  width: 2.75rem; height: 2.75rem; display: grid; place-items: center;
  margin-right: -.6rem; background: none; border: 0; cursor: pointer;
}
@media (min-width: 62rem) { .nav__toggle { display: none; } }
.nav__toggle span, .nav__toggle span::before, .nav__toggle span::after {
  display: block; width: 24px; height: 2.5px; background: var(--gold);
  transition: transform .25s var(--ease), opacity .18s;
}
.nav__toggle span { position: relative; }
.nav__toggle span::before, .nav__toggle span::after { content: ""; position: absolute; left: 0; }
.nav__toggle span::before { top: -8px; }
.nav__toggle span::after  { top:  8px; }

/* Drawer */
.drawer {
  position: fixed; inset: 0; z-index: 150;
  background: var(--black);
  display: flex; flex-direction: column;
  transform: translateY(-100%); visibility: hidden;
  transition: transform .4s var(--ease), visibility .4s;
}
.drawer.is-open { transform: none; visibility: visible; }
@media (min-width: 62rem) { .drawer { display: none; } }

.drawer__head {
  height: var(--nav-h); display: flex; align-items: center;
  border-bottom: var(--bd) solid var(--gold); flex: none;
}
.drawer__head .nav__toggle span { transform: rotate(45deg); }
.drawer__head .nav__toggle span::before { transform: translateY(8px) rotate(-90deg); }
.drawer__head .nav__toggle span::after { opacity: 0; }

.drawer__body { flex: 1; overflow-y: auto; padding: var(--sp-5) var(--gut) var(--sp-7); display: flex; flex-direction: column; }

.drawer__link {
  display: flex; align-items: baseline; gap: var(--sp-4);
  padding-block: clamp(.7rem,.4rem + 1.2vw,1.1rem);
  border-bottom: var(--bd) solid var(--line);
  font-family: var(--font-display); font-weight: 900; text-transform: uppercase;
  font-size: clamp(1.8rem,1.1rem + 3.4vw,3rem); letter-spacing: -.04em; line-height: 1;
  opacity: 0; transform: translateY(12px);
}
.drawer.is-open .drawer__link {
  opacity: 1; transform: none;
  transition: opacity .4s var(--ease) calc(.1s + var(--i)*.05s),
              transform .4s var(--ease) calc(.1s + var(--i)*.05s);
}
.drawer__link:hover { color: var(--gold); }
.drawer__link .mono { color: var(--gold); }
.drawer__foot { margin-top: auto; padding-top: var(--sp-6); }

/* -------------------------------------------------- 08 Hero ------------- */
.hero {
  position: relative;
  padding-block: clamp(2.25rem,1rem + 5vw,4.5rem) 0;
  background: var(--black);
  overflow: hidden;
}
.hero__inner { position: relative; display: grid; gap: clamp(2rem,1.2rem + 4vw,3.5rem); align-items: center; }
@media (min-width: 62rem) { .hero__inner { grid-template-columns: 1.25fr .75fr; } }

.hero__title { margin-bottom: var(--sp-5); }
.hero__title em { display: block; font-style: normal; color: var(--gold); }

/* The magnesium line must stay directly under the headline — see
   COMPLIANCE-NOTES.md §8.1. Given weight here so it cannot read as small print. */
.hero .lead { color: #D6D6DC; border-left: var(--bd) solid var(--gold); padding-left: var(--sp-4); }

.hero__actions { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin-top: var(--sp-6); }

/* Unboxed: gold tick + label, spaced apart rather than each in its own pill. */
.hero__facts {
  display: flex; flex-wrap: wrap;
  gap: .6rem clamp(1.1rem, .7rem + 1.4vw, 2rem);
  margin-top: var(--sp-6);
  padding-top: var(--sp-5);
  border-top: var(--bd) solid var(--line);
}
.hero__fact {
  display: inline-flex; align-items: center; gap: .45rem;
  font-family: var(--font-mono); font-size: var(--fs-mono);
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--fg); border: 0; padding: 0;
}
.hero__fact svg { color: var(--gold); flex: none; }

/* Edge-to-edge gold stat band closing the hero.
   This sits OUTSIDE .wrap in the markup — a negative-z-index bleed would paint
   behind the hero's black background, so the width comes from the DOM instead. */
/* Five stats. Dividers come from the gap letting the black ground show
   through, not from borders on the cells — borders leave a stray edge on
   whichever cell starts a new row once they wrap. */
.spec-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: var(--bd);
  margin-top: clamp(2rem, 1.2rem + 3vw, 3.5rem);
  background: var(--black);
  border-top: var(--bd) solid var(--black);
}
.spec-strip__cell {
  background: var(--gold); color: var(--black);
  padding: clamp(.85rem,.6rem + .8vw,1.35rem) var(--sp-3);
  text-align: center;
}
/* Odd one out fills its row rather than leaving a black gap. */
.spec-strip__cell:last-child { grid-column: 1 / -1; }

@media (min-width: 52rem) {
  .spec-strip { grid-template-columns: repeat(5, minmax(0,1fr)); }
  .spec-strip__cell:last-child { grid-column: auto; }
}
.spec-strip__val { font-size: clamp(1.15rem,.8rem + 1.25vw,1.8rem); font-weight: 900; line-height: 1; }
.spec-strip__key {
  font-family: var(--font-mono); font-size: var(--fs-mono);
  letter-spacing: .14em; text-transform: uppercase; margin-top: .35rem; opacity: .7;
}

.hero__media { position: relative; border: var(--bd) solid var(--gold); }
.hero__media img { width: 100%; }
.hero__chip {
  position: absolute; left: 0; bottom: 0;
  background: var(--gold); color: var(--black);
  padding: .7rem 1rem;
}
.hero__chip-val { display: block; font-family: var(--font-display); font-weight: 900; font-size: 1.7rem; line-height: 1; }
.hero__chip-key {
  display: block; font-family: var(--font-mono); font-size: var(--fs-mono);
  letter-spacing: .1em; text-transform: uppercase; margin-top: .25rem; opacity: .72;
}
.stat__unit { font-size: .5em; margin-left: .06em; }

/* -------------------------------------------------- 09 Ticker ----------- */
.ticker {
  background: var(--gold); color: var(--black);
  border-block: var(--bd) solid var(--black);
  padding-block: .6rem; overflow: hidden;
}
.ticker__track { display: flex; width: max-content; animation: ticker 32s linear infinite; }
.ticker__group { display: flex; align-items: center; flex: none; }
.ticker__item {
  display: inline-flex; align-items: center;
  font-family: var(--font-mono); font-size: var(--fs-mono); font-weight: 500;
  letter-spacing: .2em; text-transform: uppercase;
  padding-inline: clamp(.85rem,.4rem + 1.3vw,1.6rem);
}
.ticker__item::after { content: "✦"; margin-left: clamp(.85rem,.4rem + 1.3vw,1.6rem); opacity: .55; }
@keyframes ticker { to { transform: translateX(-50%); } }

/* -------------------------------------------------- 10 Cards & stats ---- */
/* Not a box: each card is a column sitting under a sharp gold rule. */
.card {
  position: relative;
  background: none;
  border: 0;
  border-top: 3px solid var(--gold);
  padding: clamp(1.15rem,.9rem + .8vw,1.6rem) 0 0;
  transition: color .2s;
}
.section--light .card { border-top-color: var(--ink); box-shadow: none; }
.section--gold .card  { border-top-color: var(--black); }

/* Hover wipes a second rule across the top rather than filling a panel. */
.card--hover::after {
  content: "";
  position: absolute; left: 0; top: -3px;
  width: 0; height: 3px;
  background: var(--fg);
  transition: width .4s var(--ease);
}
.card--hover:hover::after { width: 100%; }
.card--hover:hover .card__title { color: var(--gold); }
.section--gold .card--hover:hover .card__title { color: var(--black); }

.card__title { margin-bottom: var(--sp-3); }
.card__body { color: var(--fg-2); font-size: var(--fs-sm); margin: 0; }
.card__index {
  font-family: var(--font-mono); font-size: var(--fs-mono);
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--gold); margin: 0 0 var(--sp-4);
}

/* Icon only — the filled square was another box. */
.icon-badge {
  display: inline-flex;
  background: none;
  color: var(--gold);
  margin-bottom: var(--sp-4);
}
.icon-badge svg { width: 1.75rem; height: 1.75rem; }

.stat__val { font-family: var(--font-display); font-weight: 900; font-size: clamp(2.3rem,1.5rem + 3vw,3.6rem); line-height: .9; letter-spacing: -.05em; }
.stat__key {
  font-family: var(--font-mono); font-size: var(--fs-mono);
  letter-spacing: .16em; text-transform: uppercase; color: var(--gold); margin-top: var(--sp-3);
}
.stat__note { font-size: var(--fs-xs); color: var(--fg-2); margin: var(--sp-2) 0 0; }

/* Steps as big numbered blocks */
.steps { display: grid; gap: clamp(1.75rem, 1.2rem + 1.6vw, 2.75rem); counter-reset: step; }
@media (min-width: 48rem) { .steps { grid-template-columns: repeat(3, minmax(0,1fr)); } }
.step {
  counter-increment: step;
  border: 0;
  border-top: 3px solid var(--gold);
  padding: var(--sp-5) 0 0;
  position: relative;
}
.step::before {
  content: counter(step,decimal-leading-zero);
  display: block; font-family: var(--font-display); font-weight: 900;
  font-size: clamp(2.5rem,2rem + 2vw,3.75rem); line-height: .85;
  color: var(--gold); margin-bottom: var(--sp-4); letter-spacing: -.05em;
}
.step h3 { font-size: var(--fs-h4); margin-bottom: var(--sp-2); }
.step p { color: var(--fg-2); font-size: var(--fs-sm); margin: 0; }

/* Lists */
.tick-list { margin-top: var(--sp-6); display: grid; gap: 0; }
.tick-list li {
  display: grid; grid-template-columns: auto 1fr; gap: var(--sp-4);
  align-items: start; padding: var(--sp-4) 0; border-top: var(--bd) solid var(--line);
}
.tick-list li:last-child { border-bottom: var(--bd) solid var(--line); }
.tick-list svg { color: var(--gold); margin-top: .2rem; flex: none; }
.tick-list strong { display: block; margin-bottom: .25rem; text-transform: uppercase; font-family: var(--font-mono); font-size: var(--fs-mono); letter-spacing: .12em; color: var(--gold); }
.tick-list span span { display: block; color: var(--fg-2); font-size: var(--fs-sm); }

.trust-list { margin-top: var(--sp-6); padding-top: var(--sp-5); border-top: var(--bd) solid var(--line); display: grid; gap: var(--sp-3); }
.trust-list li { display: flex; align-items: center; gap: .6rem; font-size: var(--fs-sm); color: var(--fg-2); }
.trust-list svg { color: var(--gold); flex: none; }

.quote {
  margin: 0; font-family: var(--font-display); font-weight: 900; text-transform: uppercase;
  font-size: clamp(1.9rem,1.1rem + 3.6vw,4rem); line-height: .95; letter-spacing: -.04em;
  max-width: 18ch;
}
.quote__cite {
  margin-top: var(--sp-5); font-family: var(--font-mono); font-size: var(--fs-mono);
  letter-spacing: .16em; text-transform: uppercase; color: var(--gold);
}

/* -------------------------------------------------- 11 Audiences -------- */
.aud-grid { display: grid; gap: var(--bd); grid-template-columns: repeat(2, minmax(0,1fr)); }
@media (min-width: 56rem) { .aud-grid { grid-template-columns: repeat(3, minmax(0,1fr)); } }

.aud { position: relative; overflow: hidden; background: var(--panel-2); aspect-ratio: 4/5; }
.aud img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.1); transition: filter .4s, transform .5s var(--ease); }
.aud:hover img { filter: none; transform: scale(1.04); }

.aud__label {
  position: absolute; left: 0; right: 0; bottom: 0; margin: 0;
  padding: var(--sp-6) var(--sp-4) var(--sp-4);
  display: flex; align-items: baseline; gap: .55rem;
  font-family: var(--font-mono); font-size: var(--fs-mono);
  letter-spacing: .14em; text-transform: uppercase; color: #FFF;
  background: linear-gradient(transparent, rgba(0,0,0,.85));
}
.aud__label span { color: var(--gold); font-weight: 500; }

/* -------------------------------------------------- 12 Tables ----------- */
.table-scroll { overflow-x: auto; border: var(--bd) solid var(--line); }
.data-table { min-width: 30rem; font-size: var(--fs-sm); }
.data-table caption {
  caption-side: top; text-align: left; padding: var(--sp-4) var(--sp-5);
  font-family: var(--font-mono); font-size: var(--fs-mono);
  letter-spacing: .16em; text-transform: uppercase;
  background: var(--gold); color: var(--black);
}
.data-table th, .data-table td { padding: .8rem var(--sp-5); text-align: left; border-bottom: var(--bd) solid var(--line); }
.data-table thead th {
  font-family: var(--font-mono); font-size: var(--fs-mono); font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase; color: var(--fg-2);
}
.data-table tbody th { font-weight: 700; }
.data-table tbody tr:last-child th, .data-table tbody tr:last-child td { border-bottom: 0; }
.data-table tbody tr:hover { background: rgba(255,199,44,.09); }
.num-cell, .nrv { font-family: var(--font-mono); font-variant-numeric: tabular-nums; white-space: nowrap; }
.nrv { color: var(--gold); }
.table-note { margin-top: var(--sp-4); font-size: var(--fs-xs); color: var(--fg-2); }

/* -------------------------------------------------- 13 Accordion -------- */
.acc { border-top: var(--bd) solid var(--line); }
.acc__item { border-bottom: var(--bd) solid var(--line); }
.acc__btn {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: var(--sp-5);
  padding: clamp(.95rem,.8rem + .5vw,1.25rem) 0;
  background: none; border: 0; text-align: left; cursor: pointer;
  font-family: var(--font-display); font-weight: 800; text-transform: uppercase;
  font-size: clamp(1rem,.95rem + .35vw,1.2rem); letter-spacing: -.015em; line-height: 1.25;
  color: var(--fg); transition: color .18s;
}
.acc__btn:hover, .acc__btn[aria-expanded="true"] { color: var(--gold); }
.acc__icon { position: relative; width: 1.4rem; height: 1.4rem; flex: none; border: var(--bd) solid currentColor; transition: background-color .2s, transform .25s var(--ease); }
.acc__icon::before, .acc__icon::after {
  content: ""; position: absolute; top: 50%; left: 50%;
  width: .6rem; height: 2px; background: currentColor; transform: translate(-50%,-50%); transition: transform .25s var(--ease), opacity .2s;
}
.acc__icon::after { transform: translate(-50%,-50%) rotate(90deg); }
.acc__btn[aria-expanded="true"] .acc__icon::after { opacity: 0; transform: translate(-50%,-50%); }
.acc__panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .35s var(--ease); }
.acc__panel > div { overflow: hidden; }
.acc__panel > div > p { padding-bottom: var(--sp-5); margin: 0; color: var(--fg-2); font-size: var(--fs-sm); max-width: 68ch; }
.acc__item.is-open .acc__panel { grid-template-rows: 1fr; }
html:not(.js) .acc__panel { grid-template-rows: 1fr; }
html:not(.js) .acc__icon { display: none; }

/* -------------------------------------------------- 14 Product / forms -- */
.pdp { display: grid; gap: clamp(2rem,1.2rem + 3.5vw,4rem); align-items: start; }
@media (min-width: 62rem) { .pdp { grid-template-columns: .8fr 1.2fr; } }

.pdp__media {
  position: relative; display: grid; place-items: center;
  padding: var(--sp-7) var(--sp-5);
  background: var(--black); border: var(--bd) solid var(--gold);
  min-height: 24rem; overflow: hidden;
}
.pdp__media img { height: min(56vh,28rem); width: auto; }
.unreleased img { filter: blur(5px) saturate(.75) brightness(.7); transform: scale(1.06); }
.coming { position: absolute; inset: auto var(--sp-5) var(--sp-6); text-align: center; }
.coming__pill {
  display: inline-block; padding: .35rem .8rem; background: var(--gold); color: var(--black);
  font-family: var(--font-mono); font-size: var(--fs-mono); letter-spacing: .16em; text-transform: uppercase;
}
.coming__title { font-family: var(--font-display); font-weight: 900; text-transform: uppercase; font-size: var(--fs-h4); margin: var(--sp-4) 0 var(--sp-2); }
.coming__note { font-size: var(--fs-xs); color: var(--fg-2); margin: 0; max-width: 26ch; margin-inline: auto; }

.notice {
  display: grid; grid-template-columns: auto 1fr; gap: var(--sp-4); align-items: start;
  margin-top: var(--sp-5); padding: var(--sp-4) var(--sp-5);
  border: var(--bd) solid var(--gold); background: rgba(255,199,44,.09);
}
.notice svg { color: var(--gold); margin-top: .15rem; }
.notice p { margin: 0; font-size: var(--fs-sm); color: var(--fg-2); }
.notice strong { color: var(--gold); text-transform: uppercase; font-family: var(--font-mono); font-size: var(--fs-mono); letter-spacing: .12em; }

.price-row { display: flex; align-items: baseline; gap: var(--sp-3); }
.price { font-family: var(--font-display); font-weight: 900; font-size: clamp(2.4rem,1.6rem + 2.6vw,3.4rem); letter-spacing: -.05em; line-height: 1; font-variant-numeric: tabular-nums; }
.price-was { font-size: var(--fs-lead); color: var(--fg-2); text-decoration: line-through; }
.price-unit { font-family: var(--font-mono); font-size: var(--fs-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--gold); margin: var(--sp-3) 0 0; }

.opt-group { margin-top: var(--sp-6); }
.opt-group__label {
  display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-4); margin-bottom: var(--sp-3);
  font-family: var(--font-mono); font-size: var(--fs-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--fg-2);
}
.opt-group__value { color: var(--gold); }
.opt-list { display: grid; gap: var(--bd); }
.opt-list--row { grid-template-columns: repeat(2, minmax(0,1fr)); }

.opt {
  position: relative; display: flex; align-items: center; gap: var(--sp-3);
  padding: var(--sp-4); border: var(--bd) solid var(--line); background: var(--panel-2);
  cursor: pointer; transition: border-color .18s, background-color .18s;
}
.opt:hover { border-color: var(--gold); }
.opt input { position: absolute; opacity: 0; pointer-events: none; }
.opt__mark { width: 1.1rem; height: 1.1rem; flex: none; border: var(--bd) solid var(--fg-2); display: grid; place-items: center; }
.opt__mark::after { content: ""; width: .5rem; height: .5rem; background: var(--gold); transform: scale(0); transition: transform .2s var(--ease); }
.opt:has(input:checked) { border-color: var(--gold); background: rgba(255,199,44,.1); }
.opt:has(input:checked) .opt__mark { border-color: var(--gold); }
.opt:has(input:checked) .opt__mark::after { transform: scale(1); }
.opt:has(input:focus-visible) { outline: 3px solid var(--gold); outline-offset: 2px; }
.opt__swatch { width: 1.4rem; height: 1.4rem; flex: none; border: var(--bd) solid var(--line); }
.opt__text { display: flex; flex-direction: column; gap: .1rem; min-width: 0; }
.opt__name { font-size: var(--fs-sm); font-weight: 600; }
.opt__meta { font-size: var(--fs-xs); color: var(--fg-2); }
.opt__tag {
  margin-left: auto; flex: none; padding: .2rem .5rem; background: var(--gold); color: var(--black);
  font-family: var(--font-mono); font-size: .625rem; letter-spacing: .12em; text-transform: uppercase;
}
.opt--locked { cursor: not-allowed; opacity: .85; }

.field { display: flex; flex-direction: column; gap: .4rem; }
.field label { font-family: var(--font-mono); font-size: var(--fs-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--gold); }
.field input, .field textarea {
  width: 100%; padding: .85rem 1rem; background: var(--panel-2);
  border: var(--bd) solid var(--line); font-size: var(--fs-sm);
  transition: border-color .18s, background-color .18s;
}
.field textarea { min-height: 8rem; resize: vertical; }
.field input:focus, .field textarea:focus { outline: none; border-color: var(--gold); background: rgba(255,199,44,.06); }
.field input[aria-invalid="true"], .field textarea[aria-invalid="true"] { border-color: #FF4D4F; }
.hint { font-size: var(--fs-xs); color: var(--fg-2); }

/* -------------------------------------------------- 15 Footer ----------- */
.footer { background: var(--black); border-top: var(--bd) solid var(--gold); padding-block: var(--sp-8) var(--sp-5); }
.footer__top { display: grid; gap: var(--sp-6); padding-bottom: var(--sp-6); border-bottom: var(--bd) solid var(--line); }
@media (min-width: 40rem) { .footer__top { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (min-width: 64rem) { .footer__top { grid-template-columns: 1.6fr repeat(3, minmax(0,1fr)); } }

.footer__blurb { margin-top: var(--sp-4); max-width: 32ch; font-size: var(--fs-sm); color: var(--fg-2); }
.footer__col h4 {
  font-family: var(--font-mono); font-size: var(--fs-mono); font-weight: 500;
  letter-spacing: .18em; color: var(--gold); margin-bottom: var(--sp-4);
}
.footer__col ul { display: grid; gap: .6rem; }
.footer__col a { font-size: var(--fs-sm); color: var(--fg-2); overflow-wrap: anywhere; transition: color .18s; }
.footer__col a:hover { color: var(--gold); }

.footer__legal { padding-top: var(--sp-5); }
.footer__legal p { font-size: var(--fs-xs); line-height: 1.6; color: rgba(255,255,255,.4); max-width: 86ch; }
.footer__meta {
  display: flex; flex-wrap: wrap; gap: var(--sp-3) var(--sp-5); margin-top: var(--sp-5);
  font-family: var(--font-mono); font-size: var(--fs-mono); letter-spacing: .12em;
  text-transform: uppercase; color: rgba(255,255,255,.3);
}

.toast {
  position: fixed; left: 50%; bottom: var(--sp-6); z-index: 300;
  padding: .85rem 1.35rem; background: var(--gold); color: var(--black);
  font-family: var(--font-mono); font-size: var(--fs-xs); letter-spacing: .1em; text-transform: uppercase;
  border: var(--bd) solid var(--black);
  transform: translate(-50%, calc(100% + var(--sp-6))); opacity: 0; pointer-events: none;
  transition: transform .35s var(--ease), opacity .25s;
  max-width: calc(100vw - 2*var(--gut)); text-align: center;
}
.toast.is-shown { transform: translate(-50%,0); opacity: 1; }

/* -------------------------------------------------- 16 Motion ----------- */
.js [data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .6s var(--ease), transform .6s var(--ease); }
.js [data-reveal="scale"] { transform: scale(.97); }
.js [data-reveal].is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .js [data-reveal] { opacity: 1; transform: none; }
  .ticker__track { animation: none; }
  .aud:hover img { transform: none; }
}

@media print {
  .nav, .drawer, .ticker, .toast, .skip-link, .hero__media { display: none !important; }
  body { background: #FFF; color: #000; }
  .js [data-reveal] { opacity: 1 !important; transform: none !important; }
}


/* -------------------------------------------------- 17 Honeycomb -------- */
/* One repeating hex tile, inlined as an SVG data URI so it costs no request
   and stays crisp at any zoom. It lives on the body so the hero and the plain
   sections share a single continuous ground — the gold band and the light
   section deliberately cover it, which is what gives the page its rhythm. */
body {
  background-color: var(--bg);
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'38.105'%20height%3D'66'%20viewBox%3D'0%200%2038.105%2066'%3E%3Cpath%20d%3D'M%200%20-22%20L%2019.053%20-11%20L%2019.053%2011%20L%200%2022%20L%20-19.053%2011%20L%20-19.053%20-11%20Z%20M%2038.105%20-22%20L%2057.158%20-11%20L%2057.158%2011%20L%2038.105%2022%20L%2019.053%2011%20L%2019.053%20-11%20Z%20M%200%2044%20L%2019.053%2055%20L%2019.053%2077%20L%200%2088%20L%20-19.053%2077%20L%20-19.053%2055%20Z%20M%2038.105%2044%20L%2057.158%2055%20L%2057.158%2077%20L%2038.105%2088%20L%2019.053%2077%20L%2019.053%2055%20Z%20M%2019.053%2011%20L%2038.105%2022%20L%2038.105%2044%20L%2019.053%2055%20L%200%2044%20L%200%2022%20Z'%20fill%3D'none'%20stroke%3D'%23FFC72C'%20stroke-width%3D'1.25'%20stroke-opacity%3D'.075'%2F%3E%3C%2Fsvg%3E");
  background-size: 84px 145.5px;
}
/* Was solid black; now transparent so the body honeycomb runs through it. */
.hero { background: transparent; }

.section--surface {
  background-color: var(--panel);
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'38.105'%20height%3D'66'%20viewBox%3D'0%200%2038.105%2066'%3E%3Cpath%20d%3D'M%200%20-22%20L%2019.053%20-11%20L%2019.053%2011%20L%200%2022%20L%20-19.053%2011%20L%20-19.053%20-11%20Z%20M%2038.105%20-22%20L%2057.158%20-11%20L%2057.158%2011%20L%2038.105%2022%20L%2019.053%2011%20L%2019.053%20-11%20Z%20M%200%2044%20L%2019.053%2055%20L%2019.053%2077%20L%200%2088%20L%20-19.053%2077%20L%20-19.053%2055%20Z%20M%2038.105%2044%20L%2057.158%2055%20L%2057.158%2077%20L%2038.105%2088%20L%2019.053%2077%20L%2019.053%2055%20Z%20M%2019.053%2011%20L%2038.105%2022%20L%2038.105%2044%20L%2019.053%2055%20L%200%2044%20L%200%2022%20Z'%20fill%3D'none'%20stroke%3D'%23FFC72C'%20stroke-width%3D'1.25'%20stroke-opacity%3D'.06'%2F%3E%3C%2Fsvg%3E");
  background-size: 84px 145.5px;
}
.footer {
  background-color: var(--black);
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'38.105'%20height%3D'66'%20viewBox%3D'0%200%2038.105%2066'%3E%3Cpath%20d%3D'M%200%20-22%20L%2019.053%20-11%20L%2019.053%2011%20L%200%2022%20L%20-19.053%2011%20L%20-19.053%20-11%20Z%20M%2038.105%20-22%20L%2057.158%20-11%20L%2057.158%2011%20L%2038.105%2022%20L%2019.053%2011%20L%2019.053%20-11%20Z%20M%200%2044%20L%2019.053%2055%20L%2019.053%2077%20L%200%2088%20L%20-19.053%2077%20L%20-19.053%2055%20Z%20M%2038.105%2044%20L%2057.158%2055%20L%2057.158%2077%20L%2038.105%2088%20L%2019.053%2077%20L%2019.053%2055%20Z%20M%2019.053%2011%20L%2038.105%2022%20L%2038.105%2044%20L%2019.053%2055%20L%200%2044%20L%200%2022%20Z'%20fill%3D'none'%20stroke%3D'%23FFC72C'%20stroke-width%3D'1.25'%20stroke-opacity%3D'.05'%2F%3E%3C%2Fsvg%3E");
  background-size: 84px 145.5px;
}
