:root{
    --paper:#fafaf7; --paper-2:#ede6d2; --paper-3:#efeadf; --orange-pastel:#FFCFAC; --ink:#292929; --ink-soft:#6a6860;
    --rule:#29292918; --rule-2:#2929292e;
    --yellow:#feefb0; --yellow-lt:#fef7dc;
    --blue:#d4ecfc; --blue-ink:#1565c0;
    --lilac:#e8dff5; --lilac-ink:#6a3d9a;
    --purple:#b4a7d6; --purple-ink:#ffffff;

    --r-sm:10px; --r:16px; --r-lg:24px; --r-xl:32px;
  }
  *{box-sizing:border-box}
  html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased}
  body{overflow-x:hidden}
  a{color:inherit;text-decoration:none}
  ::selection{background:var(--yellow);color:var(--ink)}
  .ital{font-family:'Playfair Display',serif;font-style:italic;font-weight:900;text-transform:none;letter-spacing:-.01em}

  /* Squiggle divider (Run Rave cue) */
  .squig{display:block;width:100%;height:14px;color:var(--ink);opacity:.5;line-height:0}
  .squig svg{display:block;width:100%;height:100%}
  /* Color-matched wave variants for transitions between sections of different bg */
  .squig-wave{display:block;width:100%;height:18px;line-height:0}
  .squig-wave svg{display:block;width:100%;height:100%}
  .squig-wave.paper-to-paper-2{background:var(--paper-2)}
  .squig-wave.paper-to-paper-2 svg path{fill:var(--paper)}
  .squig-wave.paper-2-to-paper{background:var(--paper)}
  .squig-wave.paper-2-to-paper svg path{fill:var(--paper-2)}
  .squig-wave.paper-to-orange{background:var(--orange-pastel)}
  .squig-wave.paper-to-orange svg path{fill:var(--paper)}
  .squig-wave.orange-to-paper{background:var(--paper)}
  .squig-wave.orange-to-paper svg path{fill:var(--orange-pastel)}

  /* Nav */
  .nav{position:fixed;top:0;left:0;right:0;z-index:1100;display:flex;align-items:center;gap:20px;padding:14px 24px;background:linear-gradient(180deg, rgba(250,250,247,.94), rgba(250,250,247,.78) 70%, transparent);backdrop-filter:blur(10px);transition:background .3s, color .3s}
  .nav.scrolled{background:rgba(250,250,247,1);border-bottom:1px solid var(--rule-2);box-shadow:0 2px 14px rgba(0,0,0,.07)}
  .nav .logo{display:flex;align-items:center;gap:12px;font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.02em;font-size:15px;line-height:1}
  .nav .logo img{height:38px;width:auto;display:block}
  .nav .logo small{display:block;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.2em;font-weight:400;color:var(--ink-soft);margin-top:3px}
  .nav .links{margin-left:auto;display:flex;gap:22px;font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.08em;font-size:13px}
  .nav .links a{position:relative}
  .nav .links a::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:2px;background:currentColor;border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .3s}
  .nav .links a:hover::after{transform:scaleX(1)}
  .nav .cart-btn, .nav .cta{background:var(--ink);color:var(--paper);padding:9px 16px;border-radius:999px;font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.1em;font-size:12px;transition:background .2s;display:inline-flex;align-items:center;gap:8px;border:none;cursor:pointer}
  .nav .cart-btn{background:transparent;color:inherit;border:1px solid var(--rule-2);padding:8px 14px}
  .nav .cart-btn .badge{background:var(--ink);color:var(--paper);min-width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:10px;padding:0 4px}
  .nav .cart-btn .badge.empty{background:transparent;color:inherit;border:1px solid currentColor;opacity:.4}
  .nav .cta:hover{background:#000}
  @media(min-width:761px){
    .nav.over-dark{background:linear-gradient(180deg, rgba(26,26,26,.35), rgba(26,26,26,0));color:var(--paper)}
    .nav.over-dark .logo img{filter:invert(1)}
    .nav.over-dark .logo small{color:rgba(255,255,255,.55)}
    .nav.over-dark .cta{background:var(--yellow);color:var(--ink)}
    .nav.over-dark .cart-btn{border-color:rgba(255,255,255,.25)}
    .nav.over-dark .cart-btn .badge{background:var(--yellow);color:var(--ink)}
  }
  @media(max-width:760px){.nav{padding:10px 14px;gap:10px}.nav .links{display:none} .nav .cta{padding:7px 12px;font-size:11px} .nav .logo img{height:30px} .nav .logo span{display:none}}

  /* Hero */
  .hero{position:relative;min-height:100vh;overflow:hidden;display:flex;align-items:flex-end;background:#1a1a1a;color:var(--paper)}
  .hero-video{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 30%, rgba(255,220,120,.14), transparent 55%),radial-gradient(ellipse at 80% 60%, rgba(80,120,180,.18), transparent 60%),linear-gradient(135deg, #1a1a1a 0%, #222 40%, #161616 100%)}
  .hero-video::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg, transparent 0 60px, rgba(255,255,255,.02) 60px 61px),repeating-linear-gradient(0deg, transparent 0 60px, rgba(255,255,255,.02) 60px 61px)}
  .hero-video::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(20,20,20,.35) 0%, rgba(20,20,20,0) 30%, rgba(20,20,20,.1) 60%, rgba(20,20,20,.78) 100%)}
  .hero-frame{position:absolute;inset:24px;border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);pointer-events:none;z-index:2}
  .hero-meta{position:absolute;top:90px;left:40px;z-index:3;display:flex;gap:28px;align-items:baseline;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.72)}
  .hero-meta .rec{display:inline-flex;align-items:center;gap:6px}
  .hero-meta .rec::before{content:'';width:8px;height:8px;background:#ff4444;border-radius:50%;animation:rec 1.4s infinite}
  @keyframes rec{0%,49%{opacity:1}50%,100%{opacity:.2}}
  .hero-meta-right{position:absolute;top:90px;right:40px;z-index:3;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.72);text-align:right;line-height:1.6}
  .hero-content{position:relative;z-index:4;padding:40px 40px 90px;width:100%;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}
  .hero-headline{margin:0;color:var(--paper);font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;font-size:clamp(48px, 9vw, 140px);line-height:.88;letter-spacing:-.015em;max-width:16ch}
  .hero-headline .line{display:block;overflow:hidden}
  .hero-headline .line > span{display:inline-block;transform:translateY(110%);opacity:0;animation:rise 1s cubic-bezier(.2,.8,.2,1) forwards}
  .hero-headline .line:nth-child(1) > span{animation-delay:.15s}
  .hero-headline .line:nth-child(2) > span{animation-delay:.3s}
  .hero-headline .line:nth-child(3) > span{animation-delay:.45s}
  @keyframes rise{to{transform:translateY(0);opacity:1}}
  .hero-side{display:flex;flex-direction:column;gap:18px;align-items:flex-end;text-align:right;opacity:0;animation:fade 1s .8s forwards}
  @keyframes fade{to{opacity:1}}
  .hero-side .cta{display:inline-flex;align-items:center;gap:10px;background:var(--yellow);color:var(--ink);padding:16px 24px;border-radius:999px;font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:14px;transition:transform .2s, background .2s}
  .hero-side .cta:hover{transform:translateY(-2px);background:#fff}
  .hero-side .cta .arr{width:22px;height:22px;border-radius:50%;background:var(--ink);color:var(--yellow);display:inline-flex;align-items:center;justify-content:center;font-size:11px}
  .hero-side .tag{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.7)}
  .hero-bottom{position:absolute;bottom:44px;left:40px;right:40px;z-index:6;display:flex;gap:24px;align-items:center;color:rgba(255,255,255,.7);font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase}
  .hero-wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:28px;display:block;pointer-events:none;z-index:5}
  .hero-wave svg{display:block;width:100%;height:100%}
  @media(max-width:760px){.hero-meta{left:16px;top:72px;gap:14px;font-size:9px}.hero-meta-right{right:16px;top:72px;font-size:9px}.hero-content{padding:20px 16px 80px;grid-template-columns:1fr}.hero-side{align-items:flex-start;text-align:left}.hero-bottom{left:16px;right:16px;gap:12px;font-size:9px;flex-wrap:wrap;bottom:36px}.hero-frame{inset:10px;border-radius:18px}.hero-wave{height:20px}}

  /* Section chrome */
  section{position:relative}
  /* Alternating section backgrounds (paper ↔ paper-2). Apply via class. */
  .bg-paper{background:var(--paper)}
  .bg-paper-2{background:var(--paper-2)}
  .section-head{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:baseline;padding:22px 40px}
  .squig + section .section-head,
  .squig-wave + section .section-head{padding-top:14px}
  .section-head .num{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}
  .section-head .title{font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.06em;font-size:13px}
  .section-head .read{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;color:var(--ink-soft);text-align:right}
  @media(max-width:760px){.section-head{padding:14px 16px;gap:12px}}

  /* Manifesto */
  .manifesto{display:grid;grid-template-columns:1.3fr 1fr;gap:0}
  .manifesto .statement{padding:72px 56px;border-right:1px solid var(--rule);display:flex;flex-direction:column;gap:32px;position:relative}
  .manifesto .statement h2{margin:0;font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;font-size:clamp(40px,5.2vw,72px);line-height:.95;letter-spacing:-.01em;max-width:16ch}
  .manifesto .statement h2 em{font-family:'Playfair Display',serif;font-style:italic;font-weight:900;text-transform:none;letter-spacing:-.02em}
  .manifesto .stats{display:grid;grid-template-rows:repeat(4,1fr)}
  .manifesto .stat{padding:26px 40px;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:auto 1fr;align-items:center;gap:32px;cursor:pointer;transition:background .25s}
  .manifesto .stat:hover{background:var(--yellow-lt)}
  .manifesto .stat:last-child{border-bottom:none}
  .manifesto .stat .n{font-family:'Oswald',sans-serif;font-weight:600;font-size:84px;line-height:.85;letter-spacing:-.02em}
  .manifesto .stat .l{font-family:'Oswald',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.06em;font-size:14px;color:var(--ink-soft);line-height:1.4}
  .manifesto .stat .l b{color:var(--ink);font-weight:500}
  @media(max-width:900px){.manifesto{grid-template-columns:1fr}.manifesto .statement{padding:36px 18px;border-right:none;border-bottom:1px solid var(--rule)}.manifesto .stat{padding:18px;gap:18px}.manifesto .stat .n{font-size:56px}}

  /* Program */
  .program{padding:56px 0 0;position:relative}
  .program-head{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;padding:0 40px 32px}
  .program-head h2{margin:0;font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;font-size:clamp(40px,6vw,92px);line-height:.88;letter-spacing:-.015em;max-width:18ch}
  .program-head h2 em{font-family:'Playfair Display',serif;font-style:italic;font-weight:900;text-transform:none}
  .program-head .sub{font-family:'Inter',sans-serif;font-size:15px;color:var(--ink-soft);max-width:340px;line-height:1.55;text-align:right}
  .program-body{display:grid;grid-template-columns:5fr 4fr;gap:24px;padding:0 40px 40px;align-items:stretch}
  .map-wrap{position:relative;border:1px solid var(--rule-2);border-radius:var(--r-lg);background:#e8e4d7;min-height:460px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.03), 0 12px 36px rgba(0,0,0,.06);isolation:isolate;z-index:0}
  #map{position:absolute;inset:0;width:100%;height:100%;background:#e8e4d7}
  .map-wrap .chrome{position:absolute;inset:0;pointer-events:none;z-index:500}
  .map-wrap .lbl-top{position:absolute;top:14px;left:14px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.25em;color:var(--ink-soft);background:rgba(250,250,247,.92);padding:6px 10px;border-radius:999px;border:1px solid var(--rule-2);pointer-events:auto}
  .map-wrap .legend{position:absolute;top:14px;right:14px;display:flex;flex-direction:column;gap:6px;background:rgba(250,250,247,.96);padding:10px 12px;border-radius:var(--r-sm);border:1px solid var(--rule-2);font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;pointer-events:auto}
  .map-wrap .legend .row{display:flex;align-items:center;gap:8px;color:var(--ink-soft)}
  .map-wrap .legend .sw{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--ink)}
  /* Leaflet marker reset */
  .pin-marker{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50% 50% 50% 0;border:1.5px solid var(--ink);transform:rotate(-45deg);box-shadow:0 2px 8px rgba(0,0,0,.25);transition:transform .2s}
  .pin-marker::after{content:'';width:10px;height:10px;background:var(--ink);border-radius:50%}
  .pin-marker:hover{transform:rotate(-45deg) scale(1.15)}
  .pin-marker.run{background:var(--yellow)}
  .pin-marker.swim{background:var(--blue)}
  .pin-marker.bike{background:var(--lilac)}
  .pin-marker.special{background:var(--purple)}
  .pin-marker.special::after{background:#fff}
  .leaflet-popup-content-wrapper{border-radius:var(--r-sm);box-shadow:0 6px 24px rgba(0,0,0,.15);border:1px solid var(--rule-2)}
  .leaflet-popup-content{margin:12px 14px;font-family:'Inter',sans-serif;font-size:13px;line-height:1.4}
  .leaflet-popup-content b{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;font-size:13px;letter-spacing:.04em;display:block;margin-bottom:2px}
  .leaflet-popup-content .day{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-soft);margin-top:4px;display:block}

  .session-deck{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}
  .session-deck .s-card{min-height:auto;padding:14px 16px}
  .session-deck .s-card h3{font-size:20px;line-height:1.05}
  .s-card{padding:24px 22px 20px;border-radius:var(--r);display:flex;flex-direction:column;gap:16px;justify-content:space-between;min-height:340px;position:relative;cursor:pointer;transition:transform .25s, box-shadow .25s;overflow:hidden;border:1px solid var(--rule-2);background:var(--paper)}
  .s-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.1)}
  .s-card.run{background:var(--yellow-lt);border-color:#e6d880}
  .s-card.swim{background:var(--blue);border-color:#9cc8ea}
  .s-card.bike{background:var(--lilac);border-color:#c6b6e0}
  .s-card.active{box-shadow:0 0 0 2px var(--ink), 0 10px 28px rgba(0,0,0,.1)}
  .s-card .top{display:flex;justify-content:space-between;align-items:center;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}
  .s-card .top .chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:rgba(41,41,41,.1);color:var(--ink);font-weight:500}
  .s-card .top .chip .d{width:6px;height:6px;border-radius:50%;background:var(--ink)}
  .s-card.swim .top .chip{background:#fff6;color:var(--blue-ink)} .s-card.swim .top .chip .d{background:var(--blue-ink)}
  .s-card.bike .top .chip{background:#fff6;color:var(--lilac-ink)} .s-card.bike .top .chip .d{background:var(--lilac-ink)}
  .s-card.run .top .chip{background:#fff6}
  .s-card h3{margin:0;font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;font-size:38px;line-height:.9;letter-spacing:-.015em}
  .s-card h3 em{font-family:'Playfair Display',serif;font-style:italic;font-weight:900;text-transform:none}
  .s-card .where{font-family:'Inter',sans-serif;font-size:13.5px;color:var(--ink);line-height:1.5;opacity:.85}
  .s-card .where b{color:var(--ink);font-weight:600;display:block;margin-bottom:4px;opacity:1}
  .s-card .after{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:rgba(255,255,255,.5);border-radius:999px;align-self:flex-start;color:var(--ink)}
  .s-card .after::before{content:'↳';font-family:inherit;opacity:.6}
  .s-card .foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto}
  .s-card .stamp{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.2em;color:var(--ink);border:1px solid var(--ink);border-radius:999px;padding:4px 9px;text-transform:uppercase;background:rgba(255,255,255,.35)}
  .s-card .arrow{width:34px;height:34px;border-radius:50%;border:1px solid var(--ink);display:flex;align-items:center;justify-content:center;transition:transform .25s, background .25s, color .25s;background:rgba(255,255,255,.3)}
  .s-card:hover .arrow{background:var(--ink);color:var(--paper);transform:translate(2px,-2px)}
  @media(max-width:900px){.program-head{grid-template-columns:1fr;padding:0 16px 20px}.program-head .sub{text-align:left}.program-body{grid-template-columns:1fr;padding:0 16px 32px;gap:18px}.map-wrap{min-height:280px;aspect-ratio:4/3}.session-deck{grid-template-columns:1fr 1fr;gap:10px}.session-deck .s-card{padding:14px 14px}.session-deck .s-card h3{font-size:18px}.map-wrap .legend{font-size:8px;padding:8px}}

  /* Bike ribbon (monthly) */
  .bike-ribbon{margin:0 40px 60px;padding:26px 32px;border-radius:var(--r-lg);background:var(--lilac);border:1px solid #c6b6e0;display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center}
  .bike-ribbon .tag{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--lilac-ink);display:flex;align-items:center;gap:8px}
  .bike-ribbon .tag::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--lilac-ink)}
  .bike-ribbon h3{margin:0;font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;font-size:clamp(22px,2.2vw,30px);line-height:1;letter-spacing:-.005em;color:var(--ink)}
  .bike-ribbon h3 em{font-family:'Playfair Display',serif;font-style:italic;font-weight:900;text-transform:none;color:var(--lilac-ink)}
  .bike-ribbon .meta{font-family:'Inter',sans-serif;font-size:13px;color:var(--ink);opacity:.8;margin-top:6px}
  .bike-ribbon .go{background:var(--ink);color:var(--paper);padding:12px 20px;border-radius:999px;font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.1em;font-size:12px;display:inline-flex;align-items:center;gap:8px}
  @media(max-width:760px){.bike-ribbon{margin:0 16px 40px;grid-template-columns:1fr;padding:20px;gap:14px}}

  /* Cutout row — Tirol Camp feature */
  .cutout-row{padding:72px 40px;background:var(--paper-2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);display:flex;flex-direction:column;align-items:center;gap:14px;position:relative;overflow:hidden}
  .cutout-row .lbl{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--ink-soft)}
  .cutout-letters{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;align-items:center}
  .cl{display:inline-flex;align-items:center;justify-content:center;min-width:56px;height:72px;padding:0 14px;font-size:44px;line-height:1;border:1.5px solid var(--ink);border-radius:12px}
  .cl.y{background:var(--yellow)} .cl.d{background:var(--ink);color:var(--paper)} .cl.w{background:#fff}
  .cl.p{background:var(--purple);color:#fff} .cl.lb{background:var(--blue);color:var(--blue-ink)}
  .cl.f1{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase}
  .cl.f2{font-family:'Playfair Display',serif;font-style:italic;font-weight:900}
  .cl.gap{border:none;background:transparent;width:14px;min-width:14px}
  .cl.tl{transform:rotate(-2deg)} .cl.tr{transform:rotate(2deg)}
  .cutout-letters .cl{transition:transform .15s ease}
  .cutout-letters .cl:not(.gap){cursor:default}
  .cutout-letters .cl:not(.gap):hover{animation:cl-wiggle .45s cubic-bezier(.36,.07,.19,.97)}
  @keyframes cl-wiggle{
    0%   {transform:rotate(0) scale(1)}
    20%  {transform:rotate(-12deg) scale(1.16)}
    40%  {transform:rotate(10deg)  scale(1.16)}
    60%  {transform:rotate(-8deg)  scale(1.10)}
    80%  {transform:rotate(5deg)   scale(1.05)}
    100% {transform:rotate(0)      scale(1)}
  }
  .cutout-row .meta{text-align:center;font-family:'Inter',sans-serif;font-size:15px;color:var(--ink);max-width:40ch;line-height:1.5}
  .cutout-row .meta b{background:var(--yellow);padding:1px 6px;border-radius:4px;font-weight:600}
  .cutout-row .cta{margin-top:8px;background:var(--ink);color:var(--paper);padding:14px 22px;border-radius:999px;font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.1em;font-size:13px;display:inline-flex;align-items:center;gap:10px}

  /* Proof */
  .proof{padding:80px 40px;position:relative;background:radial-gradient(ellipse at top left, rgba(254,239,176,.35), transparent 60%),var(--paper)}
  .proof-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px;margin-bottom:48px}
  .proof-head h2{margin:0;font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;font-size:clamp(38px,4.6vw,68px);line-height:.95;letter-spacing:-.015em;max-width:22ch}
  .proof-head h2 em{font-family:'Playfair Display',serif;font-style:italic;font-weight:900;text-transform:none}
  .proof-head .tag{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);max-width:240px;text-align:right;line-height:1.6}
  .polas{display:grid;grid-template-columns:repeat(4, 1fr);gap:20px}
  .pola{background:#fff;padding:10px 10px 30px;border:1px solid var(--rule-2);border-radius:var(--r-sm);box-shadow:0 1px 2px rgba(0,0,0,.04), 0 8px 20px rgba(0,0,0,.06);position:relative;cursor:pointer;transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s}
  .pola:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(0,0,0,.05), 0 18px 36px rgba(0,0,0,.1)}
  .pola .ph{aspect-ratio:4/5;background:#a29f94;border-radius:6px;position:relative;overflow:hidden}
  .pola .ph::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg, rgba(0,0,0,.08) 0 2px, transparent 2px 10px),linear-gradient(135deg, #8b897f, #a29f94)}
  .pola .ph::after{content:attr(data-label);position:absolute;inset:auto 0 12px 0;text-align:center;color:#fff;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;text-shadow:0 1px 3px rgba(0,0,0,.4)}
  .pola .cap{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-family:'JetBrains Mono',monospace;font-weight:500;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}
  .pola.yellow .ph{background:var(--yellow)}.pola.yellow .ph::before{background:repeating-linear-gradient(45deg, rgba(0,0,0,.06) 0 2px, transparent 2px 14px)}
  .pola.blue .ph{background:var(--blue)}.pola.blue .ph::before{background:repeating-linear-gradient(45deg, rgba(21,101,192,.1) 0 2px, transparent 2px 14px)}
  @media(max-width:900px){.polas{grid-template-columns:repeat(2, 1fr);gap:14px}.proof{padding:40px 16px}.proof-head{grid-template-columns:1fr;margin-bottom:24px}.proof-head .tag{text-align:left}}

  /* Calendar */
  .calendar{padding:80px 40px;background:var(--paper-2)}
  .calendar-head{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;margin-bottom:40px}
  .calendar-head h2{margin:0;font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;font-size:clamp(40px,5.4vw,80px);line-height:.9;letter-spacing:-.015em}
  .calendar-head h2 em{font-family:'Playfair Display',serif;font-style:italic;font-weight:900;text-transform:none}
  .calendar-head .aux{display:flex;flex-direction:column;align-items:flex-end;gap:10px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);text-align:right}
  .calendar-head .aux a{border-bottom:1px solid var(--ink);color:var(--ink);padding-bottom:2px;font-size:11px;display:inline-flex;align-items:center;gap:6px}
  .cal-list{display:flex;flex-direction:column;gap:10px}
  .cal-row{display:grid;grid-template-columns:110px 1fr auto auto 44px;gap:24px;align-items:center;padding:18px 24px;background:var(--paper);border:1px solid var(--rule-2);border-radius:var(--r);cursor:pointer;transition:transform .2s, box-shadow .2s;position:relative}
  .cal-row:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.08)}
  .cal-row.featured{background:var(--purple);color:#fff;border-color:var(--purple)}
  .cal-row.featured .date small, .cal-row.featured .name small, .cal-row.featured .chip{color:rgba(255,255,255,.75)}
  .cal-row.featured .chip{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.3)}
  .cal-row.featured .count{background:var(--yellow);color:var(--ink)}
  .cal-row.featured .go{border-color:rgba(255,255,255,.35);color:#fff}
  .cal-row.featured:hover .go{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
  .cal-row.kind-partner{background:var(--blue);border-color:#b8dff5}
  .cal-row.kind-partner .chip{background:rgba(21,101,192,.12);color:var(--blue-ink);border-color:transparent}
  .cal-row .date{font-family:'Oswald',sans-serif;font-weight:600;font-size:30px;line-height:.95;letter-spacing:-.01em}
  .cal-row .date small{display:block;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;color:var(--ink-soft);font-weight:400;margin-top:4px;text-transform:uppercase}
  .cal-row .name{font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;font-size:22px;letter-spacing:-.005em;line-height:1}
  .cal-row .name small{display:block;font-family:'Inter',sans-serif;font-size:13px;color:var(--ink-soft);margin-top:6px;font-weight:400;letter-spacing:0;text-transform:none}
  .cal-row .chip{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;padding:5px 10px;border-radius:999px;background:var(--paper-2);color:var(--ink-soft);text-transform:uppercase;border:1px solid var(--rule-2);white-space:nowrap}
  .cal-row .count{display:inline-flex;align-items:baseline;gap:6px;background:var(--yellow);color:var(--ink);padding:8px 12px;border-radius:999px;font-family:'Oswald',sans-serif;font-weight:600;min-width:76px;justify-content:center}
  .cal-row .count .n{font-size:20px;line-height:.9}
  .cal-row .count .l{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;font-weight:400}
  .cal-row .count.pending{background:transparent;border:1px dashed currentColor;color:inherit;opacity:.7}
  .cal-row .count.pending .n{font-size:15px}
  .cal-row .go{width:36px;height:36px;border-radius:50%;border:1px solid var(--rule-2);display:flex;align-items:center;justify-content:center;transition:all .2s;background:var(--paper)}
  .cal-row:hover .go{background:var(--ink);color:var(--paper);border-color:var(--ink);transform:translate(2px,-2px)}
  .cal-add{margin-top:18px;padding:18px 24px;border:1px dashed var(--rule-2);border-radius:var(--r);background:transparent;color:var(--ink-soft);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:background .2s, color .2s, border-color .2s}
  .cal-add:hover{background:var(--yellow-lt);color:var(--ink);border-color:var(--ink)}
  .cal-add .lock{font-size:13px}
  .cal-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;padding:0 0 20px;border-bottom:1px solid var(--rule);margin-bottom:18px}
  .cal-filter{display:flex;flex-direction:column;gap:4px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}
  .cal-filter select{font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.04em;font-size:13px;padding:9px 32px 9px 14px;border:1px solid var(--rule-2);border-radius:999px;background:var(--paper) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%23292929' stroke-width='1.5' fill='none'/></svg>") no-repeat right 14px center;color:var(--ink);cursor:pointer;-webkit-appearance:none;appearance:none;outline:none;transition:border-color .15s}
  .cal-filter select:focus,.cal-filter select:hover{border-color:var(--ink)}
  .cal-filter-reset{margin-left:auto;align-self:flex-end;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);background:transparent;border:1px solid var(--rule-2);border-radius:999px;padding:9px 14px;cursor:pointer;transition:background .15s, color .15s}
  .cal-filter-reset:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
  .cal-empty{padding:32px;text-align:center;font-family:'Inter',sans-serif;font-size:14px;color:var(--ink-soft);font-style:italic}
  @media(max-width:900px){.calendar{padding:40px 16px}.calendar-head{grid-template-columns:1fr;gap:14px;margin-bottom:20px}.calendar-head .aux{align-items:flex-start;text-align:left}.cal-filters{gap:10px;padding-bottom:14px;margin-bottom:14px}.cal-filter-reset{margin-left:0}.cal-row{grid-template-columns:auto 1fr auto;gap:12px;padding:14px}.cal-row .chip{display:none}.cal-row .go{display:none}.cal-row .date{font-size:22px}.cal-row .name{font-size:16px}.cal-row .count{min-width:64px;padding:6px 8px}}

  /* Merch */
  .merch{padding:80px 40px;position:relative;overflow:hidden}
  .merch::before{content:'';position:absolute;top:-60px;right:-60px;width:340px;height:340px;border-radius:50%;background:var(--yellow);opacity:.4;filter:blur(2px);z-index:0}
  .merch-head{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;margin-bottom:40px;position:relative;z-index:1}
  .merch-head h2{margin:0;font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;font-size:clamp(40px,5.4vw,80px);line-height:.9;letter-spacing:-.015em}
  .merch-head h2 em{font-family:'Playfair Display',serif;font-style:italic;font-weight:900;text-transform:none}
  .merch-head .sub{font-family:'Inter',sans-serif;font-size:15px;color:var(--ink-soft);max-width:320px;line-height:1.55;text-align:right}
  .merch-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:14px;position:relative;z-index:1}
  .m-card{background:var(--paper-2);border:1px solid var(--rule-2);border-radius:var(--r-lg);padding:18px;display:flex;flex-direction:column;gap:16px;transition:transform .25s, box-shadow .25s}
  .m-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.08)}
  .m-card .img{aspect-ratio:4/3;border-radius:var(--r);background:var(--paper-3);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
  .m-card .img svg{width:60%;height:60%;opacity:.7}
  .m-card.tee .img{background:radial-gradient(ellipse at top, #fef7dc, var(--yellow) 80%)}
  .m-card.cap .img{background:radial-gradient(ellipse at top, #e4e0d2, var(--paper-3) 80%)}
  .m-card .body{display:flex;flex-direction:column;gap:10px;padding:0 4px}
  .m-card .row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
  .m-card h3{margin:0;font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;font-size:22px;letter-spacing:-.005em}
  .m-card .price{font-family:'Oswald',sans-serif;font-weight:600;font-size:22px}
  .m-card .desc{font-family:'Inter',sans-serif;font-size:13px;color:var(--ink-soft);line-height:1.45}
  .m-card .sizes{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
  .m-card .sz{border:1px solid var(--rule-2);border-radius:8px;padding:6px 10px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:var(--paper);cursor:pointer;transition:all .15s}
  .m-card .sz:hover{border-color:var(--ink)}
  .m-card .sz.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
  .m-card .sz.sold{opacity:.35;cursor:not-allowed;text-decoration:line-through}
  .m-card .add{margin-top:8px;background:var(--ink);color:var(--paper);padding:12px 16px;border-radius:999px;font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.08em;font-size:12px;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .2s, transform .2s}
  .m-card .add:hover{background:#000}
  .m-card .add.added{background:var(--yellow);color:var(--ink)}
  .m-card.coming{background:transparent;border:1px dashed var(--rule-2);display:flex;align-items:center;justify-content:center;text-align:center;min-height:360px;color:var(--ink-soft);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;line-height:1.6}
  .m-card.coming p{margin:0}
  .m-card.soon{border-style:dashed;background:var(--paper);display:flex;align-items:center;justify-content:center;text-align:left;min-height:180px;padding:22px}
  .m-card.soon .body{gap:10px;padding:0}
  .m-card.soon .badge{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:11px;padding:4px 10px;border-radius:999px;background:var(--yellow);color:var(--ink);white-space:nowrap}
  .m-card.soon .desc{color:var(--ink-soft);font-size:13px;margin:0}
  @media(max-width:900px){.merch{padding:40px 16px}.merch-head{grid-template-columns:1fr;gap:14px}.merch-head .sub{text-align:left}.merch-grid{grid-template-columns:repeat(2,1fr);gap:12px}}

  /* Cart drawer */
  .cart-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:60;opacity:0;pointer-events:none;transition:opacity .3s}
  .cart-backdrop.open{opacity:1;pointer-events:auto}
  .cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px, 100vw);background:var(--paper);z-index:61;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:-8px 0 30px rgba(0,0,0,.15)}
  .cart-drawer.open{transform:translateX(0)}
  .cart-drawer .hd{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--rule)}
  .cart-drawer .hd h3{margin:0;font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;font-size:22px;letter-spacing:-.005em}
  .cart-drawer .close-btn{background:transparent;border:1px solid var(--rule-2);width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;line-height:1}
  .cart-drawer .items{flex:1;overflow-y:auto;padding:16px 24px;display:flex;flex-direction:column;gap:14px}
  .cart-drawer .empty{color:var(--ink-soft);font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.15em;text-transform:uppercase;text-align:center;padding:40px 20px;line-height:1.6}
  .cart-item{display:grid;grid-template-columns:60px 1fr auto;gap:14px;align-items:center;padding:12px;border:1px solid var(--rule-2);border-radius:var(--r)}
  .cart-item .img{width:60px;height:60px;border-radius:10px;background:var(--paper-3);display:flex;align-items:center;justify-content:center}
  .cart-item .info{display:flex;flex-direction:column;gap:4px}
  .cart-item .info b{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;font-size:14px;letter-spacing:.01em}
  .cart-item .info small{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-soft)}
  .cart-item .qty{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-family:'JetBrains Mono',monospace;font-size:12px}
  .cart-item .qty button{width:24px;height:24px;border-radius:50%;border:1px solid var(--rule-2);background:var(--paper);cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center}
  .cart-item .price{font-family:'Oswald',sans-serif;font-weight:600;font-size:16px;align-self:flex-start}
  .cart-item .rm{background:transparent;border:none;color:var(--ink-soft);cursor:pointer;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.15em;text-transform:uppercase;padding:0;margin-top:8px;align-self:flex-end}
  .cart-item .rm:hover{color:var(--ink)}
  .cart-drawer .ft{border-top:1px solid var(--rule);padding:20px 24px;display:flex;flex-direction:column;gap:12px}
  .cart-drawer .ft .row{display:flex;justify-content:space-between;font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.04em;font-size:14px}
  .cart-drawer .ft .row.total{font-size:22px;font-weight:600}
  .cart-drawer .ft small{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-soft)}
  .cart-drawer .checkout{background:var(--ink);color:var(--paper);padding:16px;border-radius:999px;font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:13px;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:background .2s}
  .cart-drawer .checkout:hover{background:#000}
  .cart-drawer .checkout:disabled{opacity:.35;cursor:not-allowed}

  /* Partners */
  .partners{padding:80px 40px;background:var(--paper);position:relative;overflow:hidden;border-top:1px solid var(--rule)}
  .partners-inner{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:start}
  .partners h2{margin:0 0 22px;font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;font-size:clamp(40px,5.4vw,80px);line-height:.9;letter-spacing:-.015em}
  .partners h2 em{font-family:'Playfair Display',serif;font-style:italic;font-weight:900;text-transform:none}
  .partners .lede{font-family:'Inter',sans-serif;font-size:18px;line-height:1.55;color:var(--ink);max-width:52ch;margin:0 0 32px}
  .partners .lede b{background:var(--yellow);padding:1px 6px;border-radius:4px;font-weight:500}
  .partners .cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
  .partners .cta-row .cta{background:var(--ink);color:var(--paper);padding:14px 22px;border-radius:999px;font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.12em;font-size:13px;display:inline-flex;align-items:center;gap:10px}
  .partners .cta-row .cta:hover{background:#000}
  .partners .cta-row .email{font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:.08em;border-bottom:1px solid var(--ink);padding-bottom:2px}
  .partner-label{display:flex;gap:18px;align-items:baseline;margin-bottom:16px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}
  .partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .partner-card{background:var(--paper-2);border:1px solid var(--rule-2);border-radius:var(--r);padding:22px;min-height:180px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;transition:transform .25s, box-shadow .25s;cursor:pointer}
  .partner-card:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}
  .partner-card .tag{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}
  .partner-card .name{font-family:'Oswald',sans-serif;font-weight:600;font-size:22px;text-transform:uppercase;letter-spacing:-.005em;line-height:1}
  .partner-card .name small{display:block;font-family:'Inter',sans-serif;font-size:12px;color:var(--ink-soft);margin-top:6px;font-weight:400;letter-spacing:0;text-transform:none}
  .partner-card.empty{background:transparent;border:1px dashed var(--rule-2);color:var(--ink-soft);display:flex;align-items:center;justify-content:center;text-align:center;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;line-height:1.4}
  .partner-card.empty:hover{background:var(--yellow);color:var(--ink);border-style:solid;border-color:var(--ink)}
  @media(max-width:900px){.partners{padding:40px 16px}.partners-inner{grid-template-columns:1fr;gap:30px}.partners .lede{font-size:15px}}

  /* Footer */
  footer{background:var(--ink);color:var(--paper);padding:72px 40px 24px;border-radius:var(--r-xl) var(--r-xl) 0 0;margin-top:0}
  .foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;max-width:1400px;margin:0 auto}
  .foot-grid h5{margin:0 0 14px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.5);font-weight:500}
  .foot-grid ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;font-family:'Oswald',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.05em;font-size:14px}
  .foot-grid ul a:hover{color:var(--yellow)}
  .foot-brand img{height:64px;width:auto;display:block;filter:invert(1);margin-bottom:18px}
  .foot-brand p{font-family:'Inter',sans-serif;font-size:13px;color:rgba(255,255,255,.65);line-height:1.55;margin:0;max-width:36ch}
  .foot-bottom{max-width:1400px;margin:56px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between;gap:20px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.5);flex-wrap:wrap}
  @media(max-width:900px){footer{padding:40px 16px 20px;border-radius:24px 24px 0 0}.foot-grid{grid-template-columns:1fr 1fr;gap:30px}.foot-brand{grid-column:span 2}}

  /* Next-session pill */
  .next-pill{position:fixed;right:24px;bottom:24px;z-index:1200;background:var(--paper);color:var(--ink);border:1px solid var(--rule-2);border-radius:var(--r-lg);padding:10px 14px 10px 14px;display:flex;align-items:center;gap:12px;box-shadow:0 10px 30px rgba(0,0,0,.15);cursor:pointer;transition:all .25s;max-width:calc(100vw - 48px);text-decoration:none}
  .next-pill:hover{transform:translateY(-3px);background:var(--ink);color:var(--paper);border-color:var(--ink)}
  .next-pill .mark{display:flex;flex-direction:column;align-items:center;justify-content:center;width:40px;height:40px;border-right:1px solid var(--rule);padding-right:12px;flex-shrink:0;font-family:'Oswald',sans-serif;line-height:.9;text-transform:uppercase;letter-spacing:.04em}
  .next-pill:hover .mark{border-right-color:rgba(255,255,255,.18)}
  .next-pill .mark .mo{font-size:9px;letter-spacing:.22em;font-family:'JetBrains Mono',monospace;color:var(--ink-soft)}
  .next-pill:hover .mark .mo{color:rgba(255,255,255,.55)}
  .next-pill .mark .dy{font-size:22px;font-weight:600;margin-top:2px}
  .next-pill .info{display:flex;flex-direction:column;gap:3px;line-height:1}
  .next-pill .info .k{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.22em;color:var(--ink-soft);text-transform:uppercase}
  .next-pill:hover .info .k{color:rgba(255,255,255,.55)}
  .next-pill .info .v{font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;font-size:14px;letter-spacing:.02em}
  .next-pill .info .t{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.15em;color:var(--ink-soft)}
  .next-pill:hover .info .t{color:rgba(255,255,255,.6)}
  .next-pill .gog{width:30px;height:30px;border-radius:50%;background:var(--yellow);color:var(--ink);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:13px;font-weight:700}
  @media(max-width:500px){.next-pill{right:12px;bottom:12px;padding:9px 12px;gap:10px}.next-pill .mark{width:34px;padding-right:10px}.next-pill .mark .dy{font-size:18px}.next-pill .info .v{font-size:12px}.next-pill .info .t{font-size:9px}.next-pill .gog{width:26px;height:26px;font-size:12px}}

  /* ===== Checkout overlay (multi-step) ===== */
  .co-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .25s;z-index:1400}
  .co-backdrop.open{opacity:1;pointer-events:auto}
  .co-panel{position:fixed;right:24px;top:24px;bottom:24px;z-index:1410;width:min(520px, calc(100vw - 32px));background:var(--paper);border:1px solid var(--rule-2);border-radius:var(--r-lg);box-shadow:0 30px 80px rgba(0,0,0,.3);display:flex;flex-direction:column;transform:translateX(40px);opacity:0;pointer-events:none;transition:transform .25s, opacity .25s}
  .co-panel.open{transform:translateX(0);opacity:1;pointer-events:auto}
  .co-head{display:flex;justify-content:space-between;align-items:flex-start;padding:22px 24px 18px;border-bottom:1px solid var(--rule);background:var(--paper-2);border-radius:var(--r-lg) var(--r-lg) 0 0}
  .co-eyebrow{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:4px}
  .co-title{font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;font-size:22px;letter-spacing:-.005em;color:var(--ink)}
  .co-close{background:none;border:none;font-size:24px;line-height:1;cursor:pointer;color:var(--ink-soft);padding:4px 10px;border-radius:50%;transition:background .15s}
  .co-close:hover{background:rgba(0,0,0,.06);color:var(--ink)}
  .co-body{flex:1;overflow-y:auto;padding:22px 24px}
  .co-foot{padding:16px 24px;border-top:1px solid var(--rule);display:flex;gap:10px;justify-content:space-between;align-items:center;background:var(--paper-2);border-radius:0 0 var(--r-lg) var(--r-lg)}
  .co-row{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
  .co-row.two{flex-direction:row;gap:10px}
  .co-row.two > *{flex:1}
  .co-row label{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}
  .co-row input,.co-row select,.co-row textarea{font-family:'Inter',sans-serif;font-size:14px;color:var(--ink);background:var(--paper);border:1px solid var(--rule-2);border-radius:10px;padding:12px 14px;outline:none;transition:border-color .15s;width:100%}
  .co-row input:focus,.co-row select:focus,.co-row textarea:focus{border-color:var(--ink)}
  .co-row .hint{font-family:'Inter',sans-serif;font-size:12px;color:var(--ink-soft);line-height:1.4}
  .co-radio-group{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
  .co-radio{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border:1px solid var(--rule-2);border-radius:14px;cursor:pointer;transition:border-color .15s, background .15s}
  .co-radio:hover{border-color:var(--ink)}
  .co-radio.active{border-color:var(--ink);background:var(--yellow-lt)}
  .co-radio input[type="radio"]{margin-top:3px}
  .co-radio .ro-title{font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.04em;font-size:14px;color:var(--ink)}
  .co-radio .ro-sub{font-family:'Inter',sans-serif;font-size:13px;color:var(--ink-soft);margin-top:2px;line-height:1.4}
  .co-checkbox{display:flex;gap:8px;align-items:flex-start;font-family:'Inter',sans-serif;font-size:13px;color:var(--ink);margin-top:6px;cursor:pointer}
  .co-checkbox input{margin-top:3px}
  .co-error{background:#fdecea;color:#a02b25;padding:10px 14px;border-radius:10px;font-family:'Inter',sans-serif;font-size:13px;margin-bottom:12px}
  .co-summary-list{list-style:none;padding:0;margin:0 0 14px}
  .co-summary-list li{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid var(--rule);font-family:'Inter',sans-serif;font-size:14px}
  .co-summary-list li:first-child{border-top:none}
  .co-summary-total{display:flex;justify-content:space-between;padding-top:10px;border-top:1px solid var(--ink);font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;font-size:15px;letter-spacing:.04em}
  .co-summary-block{background:var(--paper-2);border-radius:var(--r);padding:14px 18px;margin:10px 0;font-family:'Inter',sans-serif;font-size:13px;line-height:1.5;color:var(--ink)}
  .co-summary-block strong{display:block;font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.06em;font-size:11px;color:var(--ink-soft);margin-bottom:4px}
  .co-btn{font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.08em;font-size:13px;padding:12px 22px;border-radius:999px;border:1px solid var(--rule-2);background:transparent;color:var(--ink);cursor:pointer;transition:background .15s, color .15s}
  .co-btn:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
  .co-btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}
  .co-btn.primary:hover{background:#000}
  .co-btn:disabled{opacity:.5;cursor:not-allowed}
  @media(max-width:560px){
    .co-panel{right:8px;left:8px;top:8px;bottom:8px;width:auto}
    .co-row.two{flex-direction:column}
  }

  /* ===== Next training indicator (lives in the nav, non-clickable) ===== */
  .next-indicator{display:none;align-items:center;gap:8px;padding:7px 14px 7px 12px;border:1px solid var(--rule-2);border-radius:999px;font-family:'Oswald',sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);background:rgba(250,250,247,.7);backdrop-filter:blur(6px);user-select:none}
  .nav.over-dark .next-indicator{color:var(--paper);background:rgba(0,0,0,.18);border-color:rgba(255,255,255,.2)}
  .next-indicator .ni-pulse{width:8px;height:8px;background:var(--yellow);border-radius:50%;flex-shrink:0;box-shadow:0 0 0 0 rgba(254,239,176,.8);animation:ni-pulse 2s infinite}
  .nav.over-dark .next-indicator .ni-pulse{background:var(--yellow)}
  @keyframes ni-pulse{0%{box-shadow:0 0 0 0 rgba(254,239,176,.65)}70%{box-shadow:0 0 0 10px rgba(254,239,176,0)}100%{box-shadow:0 0 0 0 rgba(254,239,176,0)}}
  .next-indicator .ni-eyebrow{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.2em;color:var(--ink-soft);font-weight:400}
  .nav.over-dark .next-indicator .ni-eyebrow{color:rgba(255,255,255,.6)}
  .next-indicator .ni-day{font-weight:600;font-size:12px}
  .next-indicator .ni-title{font-weight:500}
  .next-indicator .ni-time{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.04em}
  .next-indicator .ni-count{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-soft);text-transform:none;letter-spacing:0}
  .nav.over-dark .next-indicator .ni-count{color:rgba(255,255,255,.6)}
  .next-indicator .ni-sep{opacity:.4;font-weight:400}
  @media(min-width:1100px){.next-indicator{display:inline-flex}}

  /* ===== FAQ widget ===== */
  .faq-fab{position:fixed;right:24px;bottom:24px;z-index:1300;display:inline-flex;align-items:center;gap:10px;padding:12px 18px 12px 12px;background:var(--ink);color:var(--paper);border:none;border-radius:999px;font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.08em;font-size:13px;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.22);transition:transform .2s, background .2s}
  .faq-fab:hover{transform:translateY(-2px);background:#000}
  .faq-fab .faq-fab-icon{width:30px;height:30px;border-radius:50%;background:var(--yellow);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-style:italic;font-weight:900;font-size:18px;line-height:1}
  @media(max-width:560px){.faq-fab .faq-fab-text{display:none}.faq-fab{padding:10px}}
  .faq-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .25s;z-index:1310}
  .faq-backdrop.open{opacity:1;pointer-events:auto}
  .faq-panel{position:fixed;right:24px;bottom:24px;z-index:1320;width:min(420px, calc(100vw - 32px));max-height:70vh;background:var(--paper);border:1px solid var(--rule-2);border-radius:var(--r-lg);box-shadow:0 20px 60px rgba(0,0,0,.25);display:flex;flex-direction:column;transform:translateY(20px) scale(.98);opacity:0;pointer-events:none;transition:transform .25s, opacity .25s}
  .faq-panel.open{transform:translateY(0) scale(1);opacity:1;pointer-events:auto}
  .faq-head{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 20px 14px;border-bottom:1px solid var(--rule);background:var(--paper-2);border-radius:var(--r-lg) var(--r-lg) 0 0;flex-shrink:0}
  .faq-head-eyebrow{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;color:var(--ink-soft);margin-bottom:4px}
  .faq-head-title{font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;font-size:18px;letter-spacing:.02em;color:var(--ink)}
  .faq-close{background:none;border:none;font-size:22px;line-height:1;cursor:pointer;color:var(--ink-soft);padding:4px 8px;border-radius:50%;transition:background .15s}
  .faq-close:hover{background:rgba(0,0,0,.06);color:var(--ink)}
  .faq-body{flex:1;overflow-y:auto;padding:18px 20px;display:flex;flex-direction:column;gap:12px}
  .faq-msg{max-width:90%;font-family:'Inter',sans-serif;font-size:14px;line-height:1.5}
  .faq-msg.bot{align-self:flex-start;background:var(--paper-2);padding:12px 14px;border-radius:14px 14px 14px 4px;color:var(--ink)}
  .faq-msg.user{align-self:flex-end;background:var(--ink);color:var(--paper);padding:10px 14px;border-radius:14px 14px 4px 14px}
  .faq-msg.bot p{margin:0 0 6px}
  .faq-msg.bot p:last-child{margin-bottom:0}
  .faq-msg.bot strong{color:var(--ink);font-weight:600}
  .faq-themes{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
  .faq-chip{background:var(--paper);border:1px solid var(--rule-2);color:var(--ink);font-family:'Inter',sans-serif;font-size:12px;padding:8px 12px;border-radius:999px;cursor:pointer;transition:background .15s, border-color .15s;line-height:1.3;text-align:left}
  .faq-chip:hover{background:var(--yellow-lt);border-color:var(--ink)}
  .faq-chip.action{background:var(--yellow);border-color:var(--ink);font-weight:500}
  .faq-chip.action:hover{background:var(--yellow-lt)}
  .faq-chip.wa{background:#25D366;color:#fff;border-color:#25D366;font-weight:500}
  .faq-chip.wa:hover{background:#1ebe5d;border-color:#1ebe5d}
  .faq-input{display:flex;gap:8px;padding:14px 16px;border-top:1px solid var(--rule);background:var(--paper);border-radius:0 0 var(--r-lg) var(--r-lg);flex-shrink:0}
  .faq-input input{flex:1;border:1px solid var(--rule-2);background:var(--paper);border-radius:999px;padding:10px 16px;font-family:'Inter',sans-serif;font-size:14px;color:var(--ink);outline:none;transition:border-color .15s}
  .faq-input input:focus{border-color:var(--ink)}
  .faq-input button{width:42px;height:42px;border-radius:50%;background:var(--ink);color:var(--paper);border:none;font-size:18px;cursor:pointer;flex-shrink:0;transition:background .15s}
  .faq-input button:hover{background:#000}
  @media(max-width:560px){
    .faq-panel{right:8px;left:8px;bottom:8px;width:auto;max-height:80vh}
    .faq-fab{right:12px;bottom:12px}
  }

  /* ===== Cookie banner ===== */
  #cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:1500;padding:16px;pointer-events:none}
  #cookie-banner .cb-card{max-width:680px;margin:0 auto;background:var(--ink);color:var(--paper);border-radius:var(--r-lg);padding:22px 24px;box-shadow:0 20px 60px rgba(0,0,0,.35);pointer-events:auto;opacity:0;transform:translateY(20px);transition:opacity .25s, transform .25s}
  #cookie-banner.open .cb-card{opacity:1;transform:translateY(0)}
  #cookie-banner h3{margin:0 0 6px;font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:14px}
  #cookie-banner p{margin:0;font-family:'Inter',sans-serif;font-size:13px;line-height:1.55;color:rgba(250,250,247,.72)}
  #cookie-banner p a{color:var(--yellow);text-decoration:underline}
  #cookie-banner .cb-details{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:10px}
  #cookie-banner .cb-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;font-family:'Inter',sans-serif;font-size:13px;cursor:pointer}
  #cookie-banner .cb-row span{display:flex;flex-direction:column;gap:2px}
  #cookie-banner .cb-row b{font-weight:600;color:var(--paper)}
  #cookie-banner .cb-row small{color:rgba(250,250,247,.55);font-size:12px;line-height:1.4}
  #cookie-banner .cb-row input{margin-top:4px;accent-color:var(--yellow);width:18px;height:18px;flex-shrink:0;cursor:pointer}
  #cookie-banner .cb-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:18px;flex-wrap:wrap}
  #cookie-banner .cb-link{background:transparent;border:none;color:rgba(250,250,247,.6);font-family:'Inter',sans-serif;font-size:13px;text-decoration:underline;cursor:pointer;padding:6px 0}
  #cookie-banner .cb-link:hover{color:var(--paper)}
  #cookie-banner .cb-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto}
  #cookie-banner .cb-btn{font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.08em;font-size:12px;padding:11px 18px;border-radius:999px;cursor:pointer;border:1px solid rgba(255,255,255,.2);background:transparent;color:var(--paper);transition:background .15s, color .15s}
  #cookie-banner .cb-btn:hover{background:rgba(255,255,255,.08)}
  #cookie-banner .cb-btn.primary{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
  #cookie-banner .cb-btn.primary:hover{background:#fff;border-color:#fff}
  @media(max-width:560px){
    #cookie-banner{padding:8px}
    #cookie-banner .cb-card{padding:18px 18px}
    #cookie-banner .cb-actions{flex-direction:column;align-items:stretch}
    #cookie-banner .cb-buttons{margin-left:0}
    #cookie-banner .cb-btn{flex:1}
  }

  /* Toast */
  .toast{position:fixed;bottom:90px;right:24px;z-index:55;background:var(--ink);color:var(--paper);padding:14px 18px;border-radius:var(--r);font-family:'Oswald',sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:.06em;box-shadow:0 10px 30px rgba(0,0,0,.25);opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .3s, transform .3s;display:flex;align-items:center;gap:10px}
  .toast.show{opacity:1;transform:translateY(0)}

  /* ===== Yellow blob accent (lifted from .merch::before) =====
     Drop a <span class="yellow-blob tr|tl|br|bl|cr|cl"></span> inside any
     section that has class="has-blob". The blob sits behind content via
     a section-scoped stacking context, and extends past the section edge
     so it visually meets the squiggle above/below.                          */
  .has-blob{position:relative;overflow:hidden;isolation:isolate}
  /* Blob reaches the section edge with a solid core, then a soft falloff. Sized
     and positioned so the solid-yellow region intersects the section boundary,
     so the squiggle meets yellow without a paper gap in between. */
  .yellow-blob{position:absolute;border-radius:50%;pointer-events:none;z-index:-1;
    background:radial-gradient(circle at center, var(--yellow) 60%, rgba(254,239,176,.65) 80%, rgba(254,239,176,0) 100%)}
  .yellow-blob.tr{top:-280px;right:-200px;width:720px;height:720px}
  .yellow-blob.tl{top:-280px;left:-200px;width:720px;height:720px}
  .yellow-blob.br{bottom:-280px;right:-200px;width:720px;height:720px}
  .yellow-blob.bl{bottom:-280px;left:-200px;width:720px;height:720px}
  .yellow-blob.cr{top:50%;right:-320px;transform:translateY(-50%);width:640px;height:640px}
  .yellow-blob.cl{top:50%;left:-320px;transform:translateY(-50%);width:640px;height:640px}
  .yellow-blob.sm{width:460px !important;height:460px !important}
  .yellow-blob.lg{width:900px !important;height:900px !important}

  /* ===== Free-floating partner logos =====
     No card / no border / no box. Logos render as black silhouettes via
     filter:brightness(0) so the strip reads unified regardless of source colour.
     Tier sizes the visual weight of each logo (Huawei biggest, etc.) */
  .logo-strip{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:32px 56px;padding:24px 0 8px;width:100%}
  .logo-strip a, .logo-strip .logo-slot{display:inline-flex;align-items:center;justify-content:center;line-height:0;transition:transform .2s, opacity .2s;opacity:.85;flex:1 1 auto}
  .logo-strip a:hover, .logo-strip .logo-slot:hover{opacity:1;transform:translateY(-2px)}
  /* Logos now have transparent backgrounds (processed by _remove_logo_bg.py),
     so we render them as-is at their natural colour. Larger size budget per
     tier so they fill the strip. */
  .logo-strip img{display:block;width:auto;background:transparent}
  .logo-strip .tier-1 img{max-height:120px;max-width:340px}
  .logo-strip .tier-2 img{max-height:88px;max-width:260px}
  .logo-strip .tier-3 img{max-height:72px;max-width:220px}
  /* fallback text if a file is missing */
  .logo-strip .logo-text{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--ink);line-height:1;display:none}
  .logo-strip .no-img img{display:none}
  .logo-strip .no-img .logo-text{display:inline-block}
  .logo-strip .tier-1 .logo-text{font-size:42px}
  .logo-strip .tier-2 .logo-text{font-size:30px}
  .logo-strip .tier-3 .logo-text{font-size:20px}
  @media(max-width:900px){
    .logo-strip{gap:28px 36px;padding:16px 12px}
    .logo-strip .tier-1 img{max-height:64px;max-width:200px}
    .logo-strip .tier-2 img{max-height:52px;max-width:160px}
    .logo-strip .tier-3 img{max-height:44px;max-width:140px}
  }

  /* ===== Sold-out tag (Tirol etc) ===== */
  .sold-out-tag{display:inline-block;background:var(--ink);color:var(--yellow);padding:2px 8px;border-radius:999px;font-family:'Oswald',sans-serif;font-weight:600;font-size:10px;letter-spacing:.2em;margin-left:6px;vertical-align:baseline}

  /* ===== WhatsApp subgroups (compact) ===== */
  .wa-section{padding:32px 0 48px}
  .wa-head{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end;padding:20px 40px 18px}
  .wa-head h2{margin:0;font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;font-size:clamp(36px,5vw,68px);line-height:.95;letter-spacing:-.015em;max-width:18ch}
  .wa-head h2 em{font-family:'Playfair Display',serif;font-style:italic;font-weight:900;text-transform:none}
  .wa-head .sub{font-family:'Inter',sans-serif;font-size:14px;color:var(--ink-soft);max-width:360px;line-height:1.55;text-align:right}
  .wa-grid{padding:0 40px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
  .wa-chip{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:11px 14px;border:1px solid var(--rule-2);border-radius:999px;background:var(--paper);transition:background .2s}
  .wa-chip:hover{background:var(--yellow-lt)}
  .wa-chip .n{font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.04em;font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .wa-chip .c{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-soft);letter-spacing:.05em;white-space:nowrap}
  .wa-cta-row{padding:24px 40px 0;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
  .wa-cta-row a.primary{display:inline-flex;align-items:center;gap:10px;background:#25D366;color:#fff;padding:14px 22px;border-radius:999px;font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:13px;transition:transform .2s, filter .2s}
  .wa-cta-row a.primary:hover{transform:translateY(-2px);filter:brightness(1.05)}
  .wa-cta-row a.primary.locked{background:var(--ink);color:var(--yellow)}
  .wa-cta-row a.primary.locked::before{content:'🔒';margin-right:4px;filter:grayscale(1)}
  .wa-cta-row .note{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;color:var(--ink-soft);text-transform:uppercase}
  @media(max-width:900px){
    .wa-head{padding:16px 16px 12px;grid-template-columns:1fr;gap:8px}
    .wa-head .sub{text-align:left}
    .wa-grid{padding:0 16px;grid-template-columns:repeat(2,1fr)}
    .wa-cta-row{padding:20px 16px 0}
  }

  /* ===== Strava community block ===== */
  .strava-section{padding:40px 0 56px;background:var(--orange-pastel);position:relative}
  .strava-head{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end;padding:24px 40px 20px}
  .strava-head h2{margin:0;font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;font-size:clamp(40px,6vw,92px);line-height:.9;letter-spacing:-.015em;max-width:18ch}
  .strava-head h2 em{font-family:'Playfair Display',serif;font-style:italic;font-weight:900;text-transform:none}
  .strava-head .sub{font-family:'Inter',sans-serif;font-size:15px;color:var(--ink-soft);max-width:340px;line-height:1.55;text-align:right}
  .strava-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:0 40px;border-top:1px solid var(--rule)}
  .strava-stat{padding:28px 24px 24px;border-right:1px solid var(--rule);display:flex;flex-direction:column;gap:8px}
  .strava-stat:last-child{border-right:none}
  .strava-stat .n{font-family:'Oswald',sans-serif;font-weight:600;font-size:clamp(48px,6vw,84px);line-height:.85;letter-spacing:-.02em;color:var(--ink)}
  .strava-stat .n sup{font-family:'JetBrains Mono',monospace;font-weight:400;font-size:14px;letter-spacing:.05em;vertical-align:top;margin-left:4px;color:var(--ink-soft);text-transform:uppercase}
  .strava-stat .l{font-family:'Oswald',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.06em;font-size:13px;color:var(--ink-soft);line-height:1.4}
  .strava-stat .l b{color:var(--ink);font-weight:500}
  .strava-charts{display:grid;grid-template-columns:3fr 2fr;gap:20px;padding:28px 40px 0;align-items:start}
  .cum-card,.sport-card{background:var(--paper);border:1px solid var(--rule-2);border-radius:var(--r-lg);padding:20px 22px}
  .cumchart{display:block;width:100%;height:auto;margin-top:6px;max-height:280px}
  .sport-bars{display:flex;flex-direction:column;gap:14px;margin-top:10px}
  .sport-bar-head{display:flex;justify-content:space-between;align-items:baseline;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.06em}
  .sport-label{color:var(--ink);text-transform:uppercase;font-weight:500;display:inline-flex;align-items:center;gap:8px}
  .sport-label .dot{width:10px;height:10px;border-radius:50%;display:inline-block}
  .sport-label .dot.run{background:var(--yellow);border:1.5px solid var(--ink)}
  .sport-label .dot.swim{background:var(--blue-ink)}
  .sport-label .dot.bike{background:var(--lilac-ink)}
  .sport-val{color:var(--ink-soft)}
  .sport-bar-track{height:10px;background:var(--paper-3);border-radius:999px;overflow:hidden;margin-top:6px}
  .sport-bar-fill{height:100%;border-radius:999px;transition:width .6s ease}
  .sport-bar-fill.run{background:var(--yellow)}
  .sport-bar-fill.swim{background:var(--blue-ink)}
  .sport-bar-fill.bike{background:var(--lilac-ink)}

  .strava-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:20px 40px 0}
  .fact{background:var(--paper);border:1px solid var(--rule-2);border-radius:var(--r);padding:18px 20px;display:flex;flex-direction:column;gap:6px}
  .fact .fact-label{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft)}
  .fact .fact-n{font-family:'Oswald',sans-serif;font-weight:600;font-size:clamp(40px,5vw,64px);line-height:.9;letter-spacing:-.02em;color:var(--ink)}
  .fact .fact-n sup{font-family:'JetBrains Mono',monospace;font-weight:400;font-size:14px;letter-spacing:.05em;vertical-align:top;margin-left:4px;color:var(--ink-soft);text-transform:uppercase}
  .fact .fact-sub{font-family:'Inter',sans-serif;font-size:13px;color:var(--ink-soft);line-height:1.4}

  .strava-feed{padding:28px 40px 0}
  .strava-feed-head{display:flex;align-items:baseline;gap:16px;margin-bottom:14px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}
  .strava-feed-head .live{display:inline-flex;align-items:center;gap:6px;color:#ff4444}
  .strava-feed-head .live::before{content:'';width:8px;height:8px;background:#ff4444;border-radius:50%;animation:rec 1.4s infinite}
  .strava-activity{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:14px 0;border-top:1px solid var(--rule);font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.05em}
  .strava-activity:first-child{border-top:0}
  .strava-activity .sport{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;min-width:72px;justify-content:center}
  .strava-activity .sport.run{background:var(--yellow)}
  .strava-activity .sport.swim{background:var(--blue);color:var(--blue-ink)}
  .strava-activity .sport.bike{background:var(--lilac);color:var(--lilac-ink)}
  .strava-activity .desc{color:var(--ink);text-transform:uppercase;letter-spacing:.1em}
  .strava-activity .meta{color:var(--ink-soft);text-align:right;white-space:nowrap}
  .strava-cta{display:flex;gap:14px;align-items:center;padding:28px 40px 0;flex-wrap:wrap}
  .strava-cta a.primary{display:inline-flex;align-items:center;gap:10px;background:#FC4C02;color:white;padding:14px 22px;border-radius:999px;font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:13px;transition:transform .2s, filter .2s}
  .strava-cta a.primary:hover{transform:translateY(-2px);filter:brightness(1.05)}
  .strava-cta a.secondary{font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.08em;font-size:12px;padding:12px 18px;border:1px solid var(--rule-2);border-radius:999px;transition:background .2s, color .2s}
  .strava-cta a.secondary:hover{background:var(--ink);color:var(--paper)}
  @media(max-width:900px){
    .strava-charts{grid-template-columns:1fr;padding:20px 16px 0;gap:14px}
    .strava-facts{grid-template-columns:1fr;padding:14px 16px 0}
  }
  @media(max-width:760px){
    .strava-head{padding:18px 16px 16px;grid-template-columns:1fr;gap:10px}
    .strava-head .sub{text-align:left}
    .strava-stats{grid-template-columns:repeat(2,1fr);padding:0 16px}
    .strava-stat{padding:20px 12px 16px;border-right:1px solid var(--rule)}
    .strava-stat:nth-child(even){border-right:none}
    .strava-stat:nth-child(-n+2){border-bottom:1px solid var(--rule)}
    .strava-feed{padding:20px 16px 0}
    .strava-cta{padding:22px 16px 0}
  }
