  :root{
    /* ink + paper */
    --ink:#171513; --ink-soft:#403a35; --paper:#ffffff; --bone:#f6f4f1;
    /* brand */
    --coral:#f0543c; --coral-deep:#d23b26; --coral-ink:#7c1d0f;
    --coral-wash:#fff0ec; --coral-line:#ffd7cd;
    /* support accents (used sparingly: coral stays primary) */
    --blue:#1f4dff; --blue-wash:#eaefff;
    --sun:#ffcf3a;
    /* structure */
    --line:#eae6e1; --line-ink:#33302c;
    /* type */
    --display:'Bricolage Grotesque',system-ui,sans-serif;
    --body:'Hanken Grotesk',system-ui,sans-serif;
    --mono:'Space Mono',ui-monospace,monospace;
    /* z-scale */
    --z-sticky:100; --z-nav-menu:110;
    /* easing */
    --ease:cubic-bezier(.2,.7,.2,1);
  }
  *{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
  body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
  a{color:inherit;}
  img,svg{display:block;}
  .wrap{max-width:1140px;margin:0 auto;padding:0 24px;}
  .mono{font-family:var(--mono);}

  h1,h2,h3{font-family:var(--display);letter-spacing:-0.025em;text-wrap:balance;margin:0;}
  h1{font-weight:800;font-size:clamp(42px,7vw,82px);line-height:0.98;}
  h2{font-weight:800;font-size:clamp(30px,4.6vw,50px);line-height:1.02;}
  p{text-wrap:pretty;}

  /* ---- buttons ---- */
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--display);font-weight:700;border-radius:14px;border:none;cursor:pointer;text-decoration:none;letter-spacing:-0.01em;transition:transform .12s var(--ease),background .15s,color .15s,box-shadow .15s;}
  .btn:focus-visible{outline:3px solid var(--blue);outline-offset:3px;}
  .btn-coral{background:var(--coral-deep);color:#fff;padding:15px 26px;font-size:17px;box-shadow:0 10px 24px -12px rgba(210,59,38,.7);}
  .btn-coral:hover{background:#b52f1c;transform:translateY(-2px);}
  .btn-coral:active{transform:translateY(0);}
  .btn-ghost{background:transparent;color:var(--ink);padding:14px 24px;font-size:17px;box-shadow:inset 0 0 0 2px var(--ink);}
  .btn-ghost:hover{background:var(--ink);color:#fff;}
  .btn-white{background:#fff;color:var(--ink);padding:15px 28px;font-size:17px;}
  .btn-white:hover{background:var(--ink);color:#fff;}
  .btn-sm{padding:11px 18px;font-size:15px;border-radius:11px;}

  /* ---- nav ---- */
  .nav{position:sticky;top:0;z-index:var(--z-sticky);background:color-mix(in srgb,var(--paper) 82%,transparent);backdrop-filter:saturate(1.3) blur(12px);border-bottom:1px solid var(--line);}
  .nav-in{max-width:1140px;margin:0 auto;padding:13px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px;}
  .brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;}
  /* real logo (transparent PNG cut from the brand source) */
  .brand-lockup{display:block;height:30px;}
  .brand-lockup img{height:100%;width:auto;}
  .foot-in .brand-lockup{height:26px;}
  .nav-links{display:flex;align-items:center;gap:8px;}
  .nav-links a:not(.btn){text-decoration:none;font-family:var(--display);font-weight:600;font-size:15.5px;color:var(--ink-soft);padding:9px 12px;border-radius:10px;transition:color .15s,background .15s;}
  .nav-links a:not(.btn):hover{color:var(--coral-deep);background:var(--coral-wash);}
  .nav-burger{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;align-items:center;justify-content:center;cursor:pointer;}
  .nav-cta-mob{display:none;}

  /* ---- hero ---- */
  .hero{position:relative;padding:clamp(40px,7vw,86px) 0 clamp(48px,6vw,78px);overflow:hidden;}
  .hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(32px,4vw,60px);align-items:center;position:relative;z-index:1;}
  .hero h1 .hl{color:var(--coral);}
  .hero .lede{font-size:clamp(18px,2vw,21px);color:var(--ink-soft);margin:22px 0 30px;max-width:30ch;}
  .hero-cta{display:flex;gap:13px;flex-wrap:wrap;align-items:center;}
  .hero-note{font-family:var(--mono);font-size:12.5px;color:var(--ink-soft);margin-top:22px;display:flex;align-items:center;gap:9px;}
  .hero-note .dot{width:7px;height:7px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.16);flex:0 0 auto;}
  .hero-note a{color:var(--ink);font-weight:700;}

  /* decorative arch + confetti behind hero mock */
  .hero-art{position:absolute;inset:0;z-index:0;pointer-events:none;}
  .arch{position:absolute;right:-6%;top:50%;width:min(620px,52vw);height:min(620px,52vw);transform:translateY(-50%);background:
      radial-gradient(120% 100% at 50% 100%, var(--coral-wash) 0 60%, transparent 61%);
      border-radius:999px 999px 0 0;opacity:.9;}
  .confetti{position:absolute;border-radius:3px;}

  /* booking mock (signature, elevated) */
  .mock{position:relative;background:#fff;border:1.5px solid var(--ink);border-radius:22px;box-shadow:14px 18px 0 -2px var(--coral), 0 40px 70px -50px rgba(23,21,19,.6);overflow:hidden;}
  .mock-media{position:relative;height:138px;overflow:hidden;background:#0e0d0b;}
  .mock-media img{width:100%;height:100%;object-fit:cover;}
  .mock-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,13,11,.1) 0%,transparent 34%,rgba(14,13,11,.74) 100%);}
  .mock-venue{position:absolute;left:15px;bottom:13px;z-index:1;display:flex;align-items:center;gap:11px;color:#fff;}
  .mock-logo{width:36px;height:36px;border-radius:11px;background:var(--coral-deep);display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:14px;letter-spacing:-0.02em;flex:0 0 auto;box-shadow:0 5px 14px -5px rgba(0,0,0,.6);}
  .mock-vname{display:flex;flex-direction:column;line-height:1.18;font-family:var(--display);font-weight:700;font-size:16.5px;text-shadow:0 1px 10px rgba(0,0,0,.4);}
  .mock-vname small{font-family:var(--body);font-weight:500;font-size:11.5px;color:rgba(255,255,255,.85);letter-spacing:0;}
  .mock-badge{position:absolute;right:12px;top:12px;z-index:1;font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#fff;background:rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.24);padding:4px 9px;border-radius:999px;}
  .mock-body{padding:18px;}
  .mock-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 11px;}
  .mock-sessions{display:flex;gap:8px;margin-bottom:18px;}
  .mock-sess{flex:1;border:1.5px solid var(--line);border-radius:13px;padding:11px 8px;text-align:center;}
  .mock-sess.on{border-color:var(--coral);background:var(--coral-wash);}
  .mock-sess .t{font-family:var(--mono);font-weight:700;font-size:16px;}
  .mock-sess .s{font-size:11px;color:var(--ink-soft);margin-top:3px;}
  .mock-sess.on .s{color:var(--coral-ink);font-weight:600;}
  .mock-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);}
  .mock-row .n{font-family:var(--display);font-weight:600;font-size:15px;}
  .mock-step{display:inline-flex;align-items:center;gap:4px;background:var(--bone);border-radius:999px;padding:4px;}
  .mock-step b{width:30px;height:30px;border-radius:50%;background:#fff;border:1px solid var(--line);display:grid;place-items:center;font-family:var(--mono);font-weight:700;cursor:default;}
  .mock-step span{font-family:var(--mono);font-weight:700;min-width:22px;text-align:center;}
  .mock-pay{margin-top:16px;background:var(--coral-deep);color:#fff;border:none;border-radius:13px;width:100%;padding:14px;font-family:var(--display);font-weight:700;font-size:16px;display:flex;align-items:center;justify-content:center;gap:8px;}
  .mock-pay .amt{font-family:var(--mono);}

  /* ---- venue marquee (used inside the reel ticker) ---- */
  .marquee{display:flex;overflow:hidden;gap:0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
  .marquee ul{display:flex;align-items:center;gap:40px;list-style:none;margin:0;padding:0 20px;flex:0 0 auto;animation:scroll 26s linear infinite;}
  .marquee li{font-family:var(--display);font-weight:700;font-size:20px;color:#fff;display:flex;align-items:center;gap:40px;white-space:nowrap;}
  .marquee li::after{content:"";width:9px;height:9px;border-radius:50%;background:var(--coral);}
  @keyframes scroll{to{transform:translateX(-50%);}}
  .marquee:hover ul,.marquee:focus-within ul{animation-play-state:paused;}

  /* ---- promo reel (flicks between events) ---- */
  .reel{background:var(--ink);color:#fff;position:relative;overflow:hidden;}
  .reel .head{max-width:640px;margin-bottom:clamp(26px,3vw,38px);}
  .reel .head h2{color:#fff;}
  .reel .head h2 .hl{color:var(--coral);}
  .reel .head p{color:#c9c4be;}
  .reel-stage{position:relative;width:100%;aspect-ratio:4/3;border-radius:22px;overflow:hidden;background:#0e0d0b;border:1.5px solid #34302b;box-shadow:0 44px 90px -56px rgba(0,0,0,.9);}
  @media(min-width:640px){.reel-stage{aspect-ratio:16/9;}}
  @media(min-width:980px){.reel-stage{aspect-ratio:21/9;}}
  .reel-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s var(--ease);}
  .reel-slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);will-change:transform;}
  .reel-slide.on{opacity:1;}
  .js .reel-slide.on img{animation:kenburns 6.5s var(--ease) forwards;}
  @keyframes kenburns{from{transform:scale(1.02);}to{transform:scale(1.13);}}
  .reel-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s var(--ease);}
  .reel-video.on{opacity:1;}
  .reel-scrim{position:absolute;inset:0;pointer-events:none;background:
      linear-gradient(180deg,rgba(14,13,11,.28) 0%,transparent 26%,transparent 52%,rgba(14,13,11,.82) 100%);}
  .reel-cap{position:absolute;left:0;right:0;bottom:0;padding:clamp(16px,3vw,32px);display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;}
  .reel-tag{display:inline-flex;align-items:center;gap:11px;font-family:var(--display);font-weight:700;font-size:clamp(17px,2.4vw,26px);letter-spacing:-0.02em;text-shadow:0 2px 20px rgba(0,0,0,.5);}
  .reel-tag .play{width:clamp(28px,3.2vw,36px);height:clamp(28px,3.2vw,36px);border-radius:50%;background:var(--coral);display:grid;place-items:center;flex:0 0 auto;box-shadow:0 6px 18px -6px rgba(240,84,60,.9);}
  .js .reel-tag.flip .reel-tag-text{animation:tagin .5s var(--ease);display:inline-block;}
  @keyframes tagin{from{opacity:0;transform:translateY(7px);}to{opacity:1;transform:none;}}
  .reel-dots{display:flex;gap:0;align-items:center;}
  .reel-dots button{width:44px;height:44px;border:none;background:transparent;padding:0;cursor:pointer;display:grid;place-items:center;}
  .reel-dots button::after{content:"";width:30px;height:5px;border-radius:3px;background:rgba(255,255,255,.36);transition:background .2s,transform .2s;}
  .reel-dots button:hover::after{background:rgba(255,255,255,.6);}
  .reel-dots button.on::after{background:var(--coral);transform:scaleY(1.4);}
  .reel-dots button:focus-visible{outline:2px solid #fff;outline-offset:-5px;border-radius:12px;}
  .reel-pause{width:44px;height:44px;border:none;background:transparent;padding:0;cursor:pointer;display:grid;place-items:center;color:#fff;}
  .reel-pause span{width:30px;height:30px;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);display:grid;place-items:center;background:rgba(0,0,0,.28);transition:border-color .15s;}
  .reel-pause:hover span{border-color:#fff;}
  .reel-pause:focus-visible{outline:2px solid #fff;outline-offset:-5px;border-radius:12px;}
  .reel-ticker{margin-top:22px;border-top:1px solid #34302b;padding-top:20px;}
  .reel-ticker .marquee ul{gap:34px;}
  .reel-ticker .marquee li{font-size:16px;font-weight:600;color:#c9c4be;gap:34px;}
  .reel-ticker .marquee li::after{width:6px;height:6px;}

  /* ---- section frame ---- */
  section{padding:clamp(64px,8vw,108px) 0;}
  .head{max-width:680px;margin:0 0 clamp(34px,4vw,54px);}
  .head h2 .hl{color:var(--coral);}
  .head p{font-size:clamp(17px,1.7vw,20px);color:var(--ink-soft);margin:16px 0 0;max-width:54ch;}

  /* ---- features bento ---- */
  .bento{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;}
  .tile{border-radius:20px;padding:26px;border:1.5px solid var(--line);background:#fff;display:flex;flex-direction:column;min-height:200px;}
  .tile h3{font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:-0.02em;margin:0 0 9px;}
  .tile p{margin:0;font-size:15.5px;color:var(--ink-soft);line-height:1.5;}
  .tile .ic{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;margin-bottom:16px;background:var(--coral-wash);color:var(--coral-deep);border:1px solid var(--coral-line);}
  .tile .grow{flex:1;}
  /* spans */
  .t-wide{grid-column:span 4;} .t-third{grid-column:span 2;}
  /* coloured tiles */
  .tile.ink{background:var(--ink);border-color:var(--ink);color:#fff;}
  .tile.ink h3{color:#fff;} .tile.ink p{color:#c9c4be;}
  .tile.ink .ic{background:#2a2723;color:var(--coral);border-color:#3a3530;}
  .tile.coral{background:var(--coral-deep);border-color:var(--coral-deep);color:#fff;}
  .tile.coral h3{color:#fff;} .tile.coral p{color:#fff;}
  .tile.coral .ic{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.28);}
  /* mini visuals inside wide tiles */
  .flow{display:flex;align-items:center;gap:10px;margin-top:18px;flex-wrap:wrap;}
  .flow .node{font-family:var(--mono);font-size:12px;font-weight:700;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.26);color:#fff;border-radius:10px;padding:8px 12px;}
  .flow .node.you{background:#fff;color:var(--ink);border-color:#fff;}
  .flow .arr{color:#ffd7cd;font-family:var(--mono);font-weight:700;}
  .browser{margin-top:18px;border:1.5px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;}
  .browser .bar{background:var(--bone);padding:8px 12px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);}
  .browser .bar i{width:9px;height:9px;border-radius:50%;background:#d9d3cc;display:inline-block;}
  .browser .url{font-family:var(--mono);font-size:12px;color:var(--ink-soft);margin-left:6px;}
  .browser .pg{padding:14px;display:flex;align-items:center;justify-content:space-between;}
  .browser .pg .logo{display:flex;align-items:center;gap:8px;font-family:var(--display);font-weight:800;font-size:14px;}
  .browser .pg .swatch{width:18px;height:18px;border-radius:6px;background:var(--blue);}
  /* mini stat strip (dashboard tile) */
  .statline{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap;}
  .statline .stat{background:var(--bone);border:1px solid var(--line);border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;gap:3px;min-width:96px;}
  .statline .stat .k{font-family:var(--mono);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);}
  .statline .stat .v{font-family:var(--display);font-weight:700;font-size:17px;color:var(--ink);letter-spacing:-0.01em;}

  /* ---- marketing engine: one booking's afterlife ---- */
  .mkt{background:var(--bone);}
  .story{max-width:780px;}
  .beat{display:grid;grid-template-columns:104px 1fr;gap:22px;padding:24px 0;border-top:1px solid #e3ded8;align-items:start;}
  .story .beat:first-child{border-top:none;padding-top:0;}
  .when{font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:.04em;color:var(--coral-ink);background:var(--coral-wash);border:1px solid var(--coral-line);border-radius:999px;padding:7px 4px;text-align:center;margin-top:2px;white-space:nowrap;}
  .beat h3{font-size:20px;letter-spacing:-0.02em;margin:0 0 7px;}
  .beat p{margin:0;font-size:15.5px;color:var(--ink-soft);max-width:58ch;line-height:1.55;}
  .story-end{font-family:var(--display);font-weight:700;font-size:clamp(18px,2vw,21px);margin:30px 0 0;color:var(--ink);}
  .story-end .hl{color:var(--coral-deep);}
  .story-fine{font-size:13px;color:var(--ink-soft);margin:10px 0 0;}
  .story-fine a{color:var(--ink);}
  .found-lead{font-family:var(--display);font-weight:800;font-size:clamp(24px,3vw,34px);letter-spacing:-0.025em;line-height:1.04;margin:clamp(40px,5vw,64px) 0 8px;text-wrap:balance;}
  .found-lead .hl{color:var(--coral);}
  .found-sub{font-size:clamp(16px,1.6vw,18px);color:var(--ink-soft);margin:0 0 24px;max-width:56ch;}
  /* found-everywhere strip: a band, not cards */
  .found{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,3.4vw,44px);border-top:1.5px solid #e3ded8;padding-top:30px;}
  .found-head{display:flex;align-items:center;gap:10px;margin:0 0 9px;}
  .found-item .ic{color:var(--coral-deep);flex:0 0 auto;}
  .found-item h3{font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:-0.02em;margin:0;}
  .found-item p{margin:0;font-size:15px;color:var(--ink-soft);line-height:1.5;}

  /* ---- how it works ---- */
  .how{background:var(--ink);color:#fff;}
  .how .head h2{color:#fff;} .how .head p{color:#c9c4be;}
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:s;}
  .step{position:relative;padding-top:28px;border-top:2px solid #34302b;}
  .step::before{counter-increment:s;content:"0" counter(s);position:absolute;top:-18px;left:0;font-family:var(--mono);font-weight:700;font-size:13px;color:#0e0d0b;background:var(--coral);padding:5px 9px;border-radius:8px;}
  .step h3{font-family:var(--display);font-weight:700;font-size:20px;margin:0 0 9px;color:#fff;}
  .step p{margin:0;font-size:15.5px;color:#bdb8b2;}
  .how-live{margin:36px 0 0;font-size:16.5px;color:#c9c4be;}
  .how-live a{color:#fff;font-weight:700;}

  /* ---- mission / founders' note ---- */
  .mission{background:var(--coral-wash);border-top:1px solid var(--coral-line);border-bottom:1px solid var(--coral-line);}
  .mission-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,5vw,68px);align-items:center;}
  .mission-grid h2{font-size:clamp(28px,4vw,44px);}
  .mission-grid h2 .hl{color:var(--coral);}
  .mission-aside{font-size:clamp(15.5px,1.5vw,17px);color:var(--ink-soft);margin:18px 0 0;max-width:34ch;}
  .mission-lead{font-family:var(--display);font-weight:600;font-size:clamp(20px,2.3vw,26px);letter-spacing:-0.018em;line-height:1.32;color:var(--ink);margin:0 0 18px;text-wrap:balance;}
  .mission-body{font-size:clamp(16px,1.6vw,18px);color:var(--ink-soft);margin:0;max-width:58ch;}
  .mission-sign{display:flex;align-items:center;gap:12px;margin-top:28px;font-family:var(--display);font-weight:700;font-size:16px;color:var(--ink);}
  .mission-badge{height:38px;flex:0 0 auto;display:block;}
  .mission-badge img{height:100%;width:auto;}

  /* ---- pricing ---- */
  .price{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,3vw,44px);align-items:stretch;}
  .price-main{background:var(--coral-wash);border:1.5px solid var(--coral-line);border-radius:24px;padding:clamp(28px,3vw,44px);}
  .price-main h2 .hl{color:var(--coral-deep);}
  .price-main p{font-size:17px;color:var(--ink-soft);margin:14px 0 0;max-width:46ch;}
  .price-points{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-direction:column;gap:13px;}
  .price-points li{display:flex;gap:12px;align-items:center;font-size:16px;font-weight:500;}
  .price-fine{font-size:14px;color:var(--ink-soft);margin:20px 0 0;max-width:44ch;line-height:1.5;}
  .tick{flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:var(--coral);display:grid;place-items:center;}
  .price-side{background:var(--ink);color:#fff;border-radius:24px;padding:clamp(28px,3vw,40px);display:flex;flex-direction:column;text-align:left;}
  .price-side .big{font-family:var(--display);font-weight:800;font-size:clamp(26px,3vw,34px);letter-spacing:-0.02em;line-height:1.04;}
  .price-side .sub{font-size:15px;color:#bdb8b2;margin:14px 0 26px;max-width:34ch;}
  /* worked example */
  .calc{margin-top:26px;background:#fff;border:1.5px solid var(--coral-line);border-radius:16px;padding:18px 20px 14px;}
  .calc-head{font-family:var(--display);font-weight:700;font-size:14px;color:var(--ink);margin-bottom:6px;}
  .calc-row{display:flex;justify-content:space-between;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--ink-soft);}
  .calc-row .mono{font-family:var(--mono);color:var(--ink);}
  .calc-row.keep{border-bottom:none;padding-top:12px;font-family:var(--display);font-weight:700;color:var(--ink);font-size:17px;}
  .calc-row.keep .mono{font-size:20px;color:var(--coral-deep);font-weight:700;}
  /* fee comparison (on dark side) */
  .compare-title{font-family:var(--display);font-weight:700;font-size:16px;color:#fff;margin:0 0 4px;}
  .compare-sub{font-size:13px;color:#9c968f;margin:0 0 20px;}
  .cbar{margin-bottom:16px;}
  .cbar-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px;}
  .cbar-l{font-size:14px;color:#e7e3de;font-weight:500;}
  .cbar-v{font-family:var(--mono);font-size:14px;color:#fff;}
  .track{height:12px;border-radius:7px;background:rgba(255,255,255,.12);overflow:hidden;}
  .fill{display:block;height:100%;border-radius:7px;background:rgba(255,255,255,.34);width:var(--w);}
  .fill.hatch{background:var(--coral);}
  .js .price-side .fill{transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease) .1s;}
  .js .price-side.in .fill{transform:scaleX(1);}
  .compare-note{font-size:12px;color:#9c968f;margin:4px 0 26px;line-height:1.45;}
  /* the takeaway: fills the flexible middle of the dark panel */
  .compare-keep{margin:auto 0;padding:10px 0;}
  .ck-num{font-weight:700;font-size:clamp(34px,4vw,44px);color:var(--coral);letter-spacing:-0.02em;line-height:1;}
  .ck-label{font-size:14px;color:#bdb8b2;margin:12px 0 0;max-width:32ch;line-height:1.5;}
  .side-cta{margin-top:auto;padding-top:24px;border-top:1px solid #34302b;}
  .price-side .compare-title{padding-top:4px;}
  .side-cta .big{font-family:var(--display);font-weight:800;font-size:clamp(20px,2.2vw,25px);letter-spacing:-0.02em;margin-bottom:16px;}

  /* ---- faq ---- */
  .faq{display:grid;grid-template-columns:1fr 1fr;gap:0 44px;}
  .faq-h{grid-column:1/-1;font-family:var(--display);font-weight:800;font-size:clamp(24px,2.6vw,30px);letter-spacing:-0.02em;margin:44px 0 10px;}
  .faq .faq-h:first-child{margin-top:0;}
  .qa{border-top:1px solid var(--line);padding:22px 0;scroll-margin-top:96px;}
  .qa h4{font-family:var(--display);font-weight:700;font-size:18px;margin:0 0 8px;letter-spacing:-0.01em;}
  .qa p{margin:0;font-size:15.5px;color:var(--ink-soft);}

  /* ---- cta band ---- */
  .band{position:relative;background:var(--coral-deep);color:#fff;border-radius:28px;padding:clamp(40px,5vw,72px) clamp(28px,4vw,56px);text-align:center;overflow:hidden;}
  .band h2{color:#fff;font-size:clamp(32px,5vw,58px);}
  .band p{font-size:clamp(17px,2vw,20px);color:#fff;margin:16px auto 28px;max-width:40ch;font-weight:500;}
  .band-note a{color:#fff;font-weight:700;}
  .band-arch{position:absolute;left:50%;bottom:-40%;width:120%;aspect-ratio:2/1;transform:translateX(-50%);background:radial-gradient(100% 100% at 50% 100%,rgba(255,255,255,.12) 0 70%,transparent 71%);pointer-events:none;}
  .band-note{display:flex;width:fit-content;max-width:100%;align-items:center;justify-content:center;gap:9px;font-family:var(--mono);font-size:13px;color:#fff;margin:24px auto 0;letter-spacing:.01em;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.26);padding:9px 18px;border-radius:999px;text-align:center;text-wrap:balance;}
  .band-note .band-dot{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.24);flex:0 0 auto;}

  /* ---- footer ---- */
  footer{padding:52px 0;border-top:1px solid var(--line);}
  .foot-in{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;}
  .foot-tag{font-family:var(--mono);font-size:12.5px;letter-spacing:.03em;color:var(--ink-soft);}
  .foot-in a:not(.brand){font-family:var(--display);font-weight:600;text-decoration:none;color:var(--ink);}
  .foot-in a:not(.brand):hover{color:var(--coral-deep);}
  .foot-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}

  /* ---- reveal (progressive: only hides when JS present) ---- */
  .js .rv{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
  .js .rv.in{opacity:1;transform:none;}
  /* vary the entrance by element: heads ease up gently, the reel stage settles into place */
  .js .head.rv:not(.in){transform:translateY(10px);}
  .js .reel-stage.rv:not(.in){transform:translateY(12px) scale(.975);}
  .js .reel-stage.rv{transition-duration:.9s;}
  .js .price-side.rv:not(.in){transform:translateY(24px);}

  /* ---- hero load choreography ---- */
  .js .hero .rv-h{opacity:0;transform:translateY(20px);}
  .js .hero.loaded .rv-h{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease);}
  .js .hero.loaded .rv-h:nth-child(1){transition-delay:.05s;}
  .js .hero.loaded .rv-h:nth-child(2){transition-delay:.12s;}
  .js .hero.loaded .rv-h:nth-child(3){transition-delay:.19s;}
  .js .hero.loaded .rv-h:nth-child(4){transition-delay:.26s;}
  .js .hero .mock-wrap{opacity:0;transform:translateY(26px) scale(.97);}
  .js .hero.loaded .mock-wrap{opacity:1;transform:none;transition:opacity .8s var(--ease) .15s,transform .8s var(--ease) .15s;}

  /* ---- responsive ---- */
  @media (max-width:920px){
    .hero-grid{grid-template-columns:1fr;gap:40px;}
    .hero .lede{max-width:46ch;}
    .arch,.confetti{display:none;}
    .bento{grid-template-columns:repeat(4,1fr);}
    .t-wide{grid-column:span 4;} .t-third{grid-column:span 2;} .t-tab-wide{grid-column:span 4;}
    .steps{grid-template-columns:1fr 1fr;}
    .mission-grid{grid-template-columns:1fr;gap:14px;}
    .price{grid-template-columns:1fr;}
    .nav-links{display:none;}
    .nav-cta-mob{display:inline-flex;margin-left:auto;white-space:nowrap;padding:12px 15px;font-size:13.5px;min-height:44px;}
    .nav-in{gap:10px;}
    .nav-links.open{display:flex;position:absolute;top:62px;left:0;right:0;z-index:var(--z-nav-menu);flex-direction:column;align-items:stretch;gap:6px;background:var(--paper);border-bottom:1px solid var(--line);padding:16px 24px;}
    .nav-links.open a:not(.btn){padding:12px;}
    .nav-links.open .btn{margin-top:6px;}
    .nav-burger{display:inline-grid;}
  }
  @media (max-width:560px){
    .bento{grid-template-columns:1fr;}
    .found{grid-template-columns:1fr;}
    .t-wide,.t-third,.t-tab-wide{grid-column:span 1;}
    .steps{grid-template-columns:1fr;}
    .faq{grid-template-columns:1fr;gap:0;}
    .beat{grid-template-columns:1fr;gap:10px;}
    .when{width:fit-content;padding:6px 13px;}
    .price-side{text-align:left;}
    .mock{box-shadow:9px 12px 0 -2px var(--coral),0 30px 50px -40px rgba(23,21,19,.6);}
  }
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    .js .rv,.js .hero .rv-h,.js .hero .mock-wrap{opacity:1 !important;transform:none !important;transition:none !important;}
    .marquee ul{animation:none;}
    .reel-slide{transition:none;}
    .js .reel-slide.on img{animation:none;transform:scale(1.04);}
    .js .reel-tag.flip .reel-tag-text{animation:none;}
    .js .price-side .fill{transition:none;transform:none !important;}
  }

/* ===== cookie banner (was a 2nd inline <style>) ===== */
  #cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999;max-width:560px;margin:0 auto;
    background:var(--ink);color:#fff;border-radius:14px;padding:16px 18px;
    box-shadow:0 12px 44px rgba(0,0,0,.28);font-family:'Hanken Grotesk',system-ui,sans-serif;font-size:14px;line-height:1.55;}
  #cookie-banner p{margin:0 0 12px;}
  #cookie-banner a{color:#fff;text-underline-offset:2px;}
  #cookie-banner .cb-row{display:flex;gap:10px;flex-wrap:wrap;}
  #cookie-banner button{font:inherit;font-weight:700;border:0;border-radius:10px;padding:10px 20px;cursor:pointer;}
  #cookie-accept{background:var(--coral-deep);color:#fff;}
  #cookie-decline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4);}

/* --- Externalized former inline style="" attributes (CSP: style-src drops 'unsafe-inline') --- */
.confetti.c1{width:14px;height:14px;background:var(--coral);right:7%;top:11%;transform:rotate(18deg);}
.confetti.c2{width:11px;height:11px;background:var(--blue);right:22%;top:24%;}
.confetti.c3{width:13px;height:13px;background:var(--sun);right:3%;bottom:26%;transform:rotate(12deg);}
.confetti.c4{width:9px;height:9px;background:var(--coral);right:15%;bottom:18%;}
.hero-portrait-shift{object-position:50% 30%;}
.pg-book{font-size:12px;color:var(--ink-soft);}
.fill.w-39{--w:39%;}
.fill.w-99{--w:99%;}
.pt0{padding-top:0;}
.pos-rel{position:relative;}

/* ===== features page ===== */
  .fpage-hero{padding:clamp(40px,6vw,78px) 0 clamp(30px,4vw,46px);}
  .fpage-hero-in{position:relative;z-index:1;max-width:780px;}
  .fpage-hero h1{font-size:clamp(38px,6.2vw,72px);}
  .fpage-hero h1 .hl{color:var(--coral);}
  .fpage-eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--coral-deep);margin:0 0 16px;}
  .fpage-eyebrow-dot{width:7px;height:7px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 4px var(--coral-wash);flex:0 0 auto;}
  .fpage-lede{font-size:clamp(17px,1.9vw,21px);color:var(--ink-soft);margin:22px 0 30px;max-width:60ch;}
  .fpage-lede .hl{color:var(--coral-deep);font-weight:700;}

  /* sticky category quick-nav (sits under the main nav) */
  .catnav{position:sticky;top:71px;z-index:95;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:saturate(1.3) blur(10px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .catnav-in{max-width:1140px;margin:0 auto;padding:11px 24px;display:flex;gap:8px;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none;}
  .catnav-in::-webkit-scrollbar{display:none;}
  .catnav a{flex:0 0 auto;font-family:var(--display);font-weight:600;font-size:14px;color:var(--ink-soft);text-decoration:none;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;white-space:nowrap;transition:color .15s,background .15s,border-color .15s;}
  .catnav a:hover,.catnav a:focus-visible{color:var(--coral-deep);background:var(--coral-wash);border-color:var(--coral-line);outline:none;}

  /* category section */
  .fcat{padding:clamp(46px,5.5vw,82px) 0;scroll-margin-top:134px;}
  .fcat.alt{background:var(--bone);}
  .fcat.dark{background:var(--ink);color:#fff;}
  .fcat-head{max-width:660px;margin:0 0 clamp(24px,3vw,38px);display:flex;flex-direction:column;gap:11px;}
  .fcat-kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--coral-deep);margin:0;}
  .fcat.dark .fcat-kicker{color:var(--coral);}
  .fcat-num{font-family:var(--mono);font-weight:700;color:var(--ink);opacity:.34;}
  .fcat.dark .fcat-num{color:#fff;opacity:.4;}
  .fcat-head h2{font-size:clamp(26px,3.4vw,40px);}
  .fcat.dark .fcat-head h2{color:#fff;}
  .fcat-head h2 .hl{color:var(--coral);}
  .fcat.dark .fcat-head h2 .hl{color:var(--coral);}
  .fcat-head > p{font-size:clamp(16px,1.6vw,18px);color:var(--ink-soft);margin:0;max-width:54ch;}
  .fcat.dark .fcat-head > p{color:#c9c4be;}

  .fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
  .fitem{background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:19px 20px 20px;position:relative;transition:border-color .15s,box-shadow .15s,transform .15s var(--ease);}
  .fitem::before{content:"";position:absolute;left:20px;top:19px;width:18px;height:2px;border-radius:2px;background:var(--coral);}
  .fitem h3{font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:-0.02em;line-height:1.18;margin:16px 0 6px;}
  .fitem p{margin:0;font-size:14.5px;color:var(--ink-soft);line-height:1.5;}
  .fitem:hover{border-color:var(--coral-line);box-shadow:0 14px 30px -22px rgba(23,21,19,.5);transform:translateY(-2px);}
  .fcat.dark .fitem{background:#211e1b;border-color:#332f2b;}
  .fcat.dark .fitem h3{color:#fff;}
  .fcat.dark .fitem p{color:#b9b3ac;}
  .fcat.dark .fitem:hover{border-color:#4a433c;}

  @media (max-width:920px){
    /* the main nav (burger) is also sticky at the top here; let the category
       strip scroll away rather than overlap it */
    .catnav{position:static;}
    .fgrid{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:560px){
    .fgrid{grid-template-columns:1fr;}
  }
  @media (prefers-reduced-motion:reduce){
    .fitem:hover{transform:none;}
  }

  /* "see all features" link on the home page features section */
  .feat-all{margin:clamp(24px,3vw,36px) 0 0;text-align:center;}
  .feat-all a{display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-weight:700;font-size:clamp(17px,1.9vw,20px);letter-spacing:-0.015em;color:var(--coral-deep);text-decoration:none;padding:13px 22px;border-radius:14px;border:1.5px solid var(--coral-line);background:var(--coral-wash);transition:background .15s,transform .12s var(--ease);}
  .feat-all a:hover{background:#ffe3da;transform:translateY(-2px);}
  .feat-all-sub{font-weight:500;color:var(--ink-soft);}
  .feat-all-arr{font-family:var(--mono);}
  @media (max-width:560px){.feat-all-sub{display:none;}}
