:root {
    --bg: #050B14; --bg-elevated: #0A1322; --bg-card: rgba(15,27,45,0.55);
    --text: #F5EFE4; --text-soft: rgba(245,239,228,0.66); --text-mute: rgba(245,239,228,0.42);
    --gold: #C8A84E; --gold-bright: #F4DD8D; --gold-royal: #FFEFA8; --gold-deep: #8B6E2A;
    --green: #1FE07F;
    --rule: rgba(244,221,141,0.12);
    --ff-serif: Georgia, serif; --ff-sans: -apple-system, Inter, sans-serif; --ff-mono: 'JetBrains Mono', monospace;
  }
  * { box-sizing: border-box; }
  html, body { margin: 0; padding: 0; }
  body { background: var(--bg); color: var(--text); font-family: var(--ff-sans); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
  a { color: var(--gold-bright); text-decoration: none; }
  a:hover { color: var(--gold-royal); }
  .wrap { max-width: 1180px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 56px); }

  .tape { background: rgba(5,11,20,0.92); backdrop-filter: blur(20px); border-bottom: 1px solid var(--rule); padding: 10px 0; font-family: var(--ff-mono); font-size: 10.5px; letter-spacing: 1.4px; color: var(--text-mute); text-transform: uppercase; }
  .tape-row { display: flex; justify-content: center; gap: 32px; flex-wrap: wrap; }
  .tape .item { display: inline-flex; align-items: center; gap: 8px; }
  .tape .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 8px rgba(31,224,127,.6); animation: tapePulse 2.2s infinite; }
  @keyframes tapePulse { 0%,100%{opacity:1;transform:scale(1);} 50%{opacity:.6;transform:scale(1.2);} }
  
  
  
  
  
  
  
  
  .nav-brand-tag b { color: var(--gold-bright); font-weight: 700; }
  
  
  
  
  @media (max-width: 920px) {  }

  .hero { padding: clamp(48px, 6vw, 96px) 0 clamp(36px, 5vw, 64px); background: radial-gradient(ellipse at 50% 0%, rgba(244,221,141,.08) 0%, transparent 50%), linear-gradient(180deg, var(--bg) 0%, var(--bg-elevated) 100%); border-bottom: 1px solid var(--rule); }
  .hero-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-family: var(--ff-mono); font-size: 10.5px; letter-spacing: 3px; color: var(--gold-bright); text-transform: uppercase; font-weight: 600; margin-bottom: 18px; padding: 6px 14px; border: 1px solid rgba(244,221,141,.25); border-radius: 999px; background: rgba(244,221,141,.05); }
  .hero h1 { font-family: var(--ff-serif); font-size: clamp(32px, 5vw, 60px); line-height: 1.05; letter-spacing: -0.04em; color: var(--text); margin: 0 0 18px; font-weight: 700; max-width: 18ch; }
  .hero h1 em { font-style: italic; color: var(--gold-bright); font-weight: 600; }
  .hero-sub { font-size: clamp(15px, 1.3vw, 17px); color: var(--text-soft); max-width: 60ch; margin: 0 0 24px; line-height: 1.6; }

  section.s { padding: clamp(48px, 6vw, 80px) 0; border-bottom: 1px solid var(--rule); }
  .s-head { margin-bottom: clamp(28px, 3.5vw, 44px); }
  .s-eyebrow { font-family: var(--ff-mono); font-size: 10.5px; letter-spacing: 3px; color: var(--gold); text-transform: uppercase; margin-bottom: 12px; font-weight: 600; }
  .s-title { font-family: var(--ff-serif); font-size: clamp(24px, 3vw, 36px); line-height: 1.14; letter-spacing: -0.5px; color: var(--text); margin: 0 0 14px; font-weight: 700; max-width: 28ch; }
  .s-sub { font-size: 14.5px; color: var(--text-soft); max-width: 60ch; margin: 0; line-height: 1.6; }

  /* facts grid */
  .facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 12px; }
  .fact { padding: 22px; background: var(--bg-card); border: 1px solid var(--rule); border-radius: 10px; }
  .fact-label { font-family: var(--ff-mono); font-size: 9.5px; letter-spacing: 2px; color: var(--text-mute); text-transform: uppercase; margin-bottom: 10px; }
  .fact-value { font-family: var(--ff-mono); font-size: clamp(20px, 2.2vw, 26px); color: var(--gold-bright); font-weight: 700; letter-spacing: -0.3px; margin-bottom: 4px; }
  .fact-meta { font-size: 12px; color: var(--text-mute); line-height: 1.4; }
  @media (max-width: 720px) { .facts { grid-template-columns: 1fr 1fr; } }

  /* brand assets */
  .ba-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
  .ba-card { padding: 24px; background: var(--bg-card); border: 1px solid var(--rule); border-radius: 12px; text-align: center; }
  .ba-preview { width: 100%; height: 120px; border-radius: 8px; margin-bottom: 16px; display: flex; align-items: center; justify-content: center; }
  .ba-preview.logo {
    background: linear-gradient(135deg, #050B14 0%, #0F1B2D 100%);
    border: 1px solid var(--rule);
  }
  .ba-preview.colour {
    background: linear-gradient(135deg, #F4DD8D 0%, #C8A84E 50%, #8B6E2A 100%);
  }
  .ba-preview.type {
    background: var(--bg);
    border: 1px solid var(--rule);
    color: var(--gold-bright);
    font-family: Georgia, serif;
    font-size: 36px;
    font-weight: 700;
  }
  .ba-card h3 { font-family: var(--ff-serif); font-size: 17px; color: var(--text); margin: 0 0 8px; font-weight: 700; }
  .ba-card p { font-size: 12.5px; color: var(--text-soft); margin: 0 0 14px; line-height: 1.5; }
  .ba-card .ba-meta { font-family: var(--ff-mono); font-size: 10px; color: var(--text-mute); letter-spacing: 1.2px; text-transform: uppercase; }
  .ba-coin-logo {
    width: 64px; height: 64px;
    background: radial-gradient(circle at 35% 30%, #FFEFA8 0%, #F4DD8D 35%, #C8A84E 70%, #8B6E2A 100%);
    border-radius: 50%; position: relative;
    box-shadow: 0 8px 24px rgba(244,221,141,.32);
  }
  .ba-coin-logo::after { content: ''; position: absolute; inset: 22px; background: #3F2E10; border-radius: 50%; }
  @media (max-width: 720px) { .ba-grid { grid-template-columns: 1fr; } }

  /* colour palette */
  .palette { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
  .swatch { display: flex; flex-direction: column; gap: 4px; }
  .swatch-block { aspect-ratio: 1; border-radius: 8px; border: 1px solid var(--rule); }
  .swatch-name { font-family: var(--ff-mono); font-size: 10px; color: var(--text); letter-spacing: 0.5px; }
  .swatch-hex { font-family: var(--ff-mono); font-size: 9.5px; color: var(--text-mute); }
  @media (max-width: 720px) { .palette { grid-template-columns: repeat(3, 1fr); } }

  /* founder block */
  .founder-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 28px;
    padding: 32px;
    background: linear-gradient(135deg, rgba(244,221,141,.04) 0%, rgba(15,27,45,.6) 100%);
    border: 1px solid var(--rule);
    border-radius: 16px;
    align-items: start;
  }
  /* Founder portrait · 2026-05-23 (Z.ai audit #12 closure)
     Real headshot via photo-anchor.jpg with gold-ring framing. The
     gradient + dot fallback is retained as ::before for the < 1 KB
     class of failures (slow image load, blocked asset). */
  .founder-portrait {
    width: 120px; height: 120px;
    border-radius: 50%;
    position: relative;
    border: 2px solid var(--gold-bright);
    overflow: hidden;
    background: radial-gradient(circle at 35% 30%, #FFEFA8 0%, #F4DD8D 35%, #C8A84E 70%, #8B6E2A 100%);
    box-shadow: 0 6px 18px rgba(0,0,0,.45), 0 0 0 4px rgba(200,168,78,.10);
  }
  .founder-portrait img {
    width: 100%; height: 100%;
    object-fit: cover; object-position: center 28%;
    display: block;
    border-radius: 50%;
  }
  .founder-text h3 { font-family: var(--ff-serif); font-size: 26px; color: var(--text); margin: 0 0 6px; font-weight: 700; }
  .founder-role { font-family: var(--ff-mono); font-size: 11px; letter-spacing: 2px; color: var(--gold-bright); text-transform: uppercase; margin-bottom: 14px; font-weight: 600; }
  .founder-bio { font-size: 14px; color: var(--text-soft); line-height: 1.65; margin: 0 0 14px; }
  .founder-meta { font-family: var(--ff-mono); font-size: 11px; color: var(--text-mute); letter-spacing: 1px; margin-bottom: 4px; }
  .founder-meta strong { color: var(--gold-bright); font-weight: 700; margin-right: 6px; }
  @media (max-width: 720px) { .founder-card { grid-template-columns: 1fr; text-align: center; } .founder-portrait { margin: 0 auto; } }

  /* coverage placeholder */
  .coverage-empty {
    padding: 36px;
    background: rgba(244,221,141,.03);
    border: 1px dashed var(--rule);
    border-radius: 12px;
    text-align: center;
  }
  .coverage-empty p { color: var(--text-soft); margin: 0 0 8px; font-size: 14.5px; }
  .coverage-empty .meta { font-family: var(--ff-mono); font-size: 11px; color: var(--text-mute); letter-spacing: 1.5px; text-transform: uppercase; }

  /* contact */
  .contact-block {
    padding: 32px;
    background: linear-gradient(135deg, #0A1322 0%, #050B14 100%);
    border: 1px solid var(--rule);
    border-radius: 14px;
    text-align: center;
  }
  .contact-block h3 { font-family: var(--ff-serif); font-size: 26px; color: var(--text); margin: 0 0 12px; font-weight: 700; letter-spacing: -0.3px; }
  .contact-block p { color: var(--text-soft); max-width: 50ch; margin: 0 auto 24px; font-size: 15px; }
  .contact-block .email-link {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 16px 30px;
    background: linear-gradient(135deg, #F4DD8D 0%, #C8A84E 60%, #8B6E2A 100%);
    color: #1A1410 !important;
    border-radius: 999px;
    font-family: var(--ff-mono);
    font-size: 13px; font-weight: 700;
    letter-spacing: 2px; text-transform: uppercase;
    box-shadow: 0 8px 24px rgba(244,221,141,.28);
    transition: transform .2s;
  }
  .contact-block .email-link:hover { transform: translateY(-2px); }

  /* footer */
  footer { padding: 56px 0 32px; background: var(--bg); border-top: 1px solid var(--rule); }
  .footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 32px; margin-bottom: 36px; }
  .footer-col h4 { font-family: var(--ff-mono); font-size: 10px; letter-spacing: 2.5px; color: var(--gold); text-transform: uppercase; margin: 0 0 14px; font-weight: 700; }
  .footer-col ul { list-style: none; padding: 0; margin: 0; }
  .footer-col li { margin-bottom: 8px; font-size: 13px; }
  .footer-col a { color: var(--text-soft); }
  .footer-col a:hover { color: var(--gold-bright); }
  .footer-bottom { padding-top: 24px; border-top: 1px solid var(--rule); display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-family: var(--ff-mono); font-size: 10.5px; color: var(--text-mute); letter-spacing: 1px; }
  @media (max-width: 720px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
  .yarn-strip { text-align: center; padding: 6px 0; background: rgba(0,0,0,.5); font-family: var(--ff-mono); font-size: 9px; letter-spacing: 4px; color: rgba(218,165,32,.55); text-transform: uppercase; }

/* ─────────────────────────────────────────────────────────────────
   Brand palette swatch colours · CSP-strip rescue · 2026-05-26
   Replaces stripped inline style="background:#HEX" with class-based
   fills so the swatches render in production CSP.
───────────────────────────────────────────────────────────────── */
.swatch-block.swatch-gold-royal  { background: #FFEFA8; }
.swatch-block.swatch-gold-bright { background: #F4DD8D; }
.swatch-block.swatch-gold-mid    { background: #C8A84E; }
.swatch-block.swatch-gold-deep   { background: #8B6E2A; }
.swatch-block.swatch-navy        { background: #0F1B2D; }
.swatch-block.swatch-paper       { background: #F5EFE4; border-color: rgba(0, 0, 0, .2); }
