:root{
    --bg:#17140F;
    --bg-deep:#0E0C09;
    --surface:#231E17;
    --surface-2:#2C2519;
    --hairline:#3B331F;
    --text:#F1E9D4;
    --text-soft:#B3A588;
    --amber:#F2A63C;      /* label / eyebrow accent, close to logo orange */
    --blue:#1596CC;       /* logo blue */
    --purple:#A85796;     /* logo purple */
    --green:#96C240;      /* logo green */
    --orange:#FBA02E;     /* logo orange */
    --flame:#F5791A;      /* logo red-orange — primary CTA */
    --flame-deep:#D9600D;
    --red:#EF4A1C;        /* logo red */
    --radius-card:3px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:'Source Serif 4', serif;
    font-size:17px;
    line-height:1.6;
  }
  ::selection{background:var(--flame); color:var(--bg-deep);}

  h1,h2,h3{
    font-family:'Fraunces', serif;
    font-weight:450;
    margin:0;
    color:var(--text);
    letter-spacing:-0.01em;
  }
  a{color:inherit;}

  .stamp{
    display:inline-flex;
    align-items:center;
    gap:.4em;
    font-family:'Space Mono', monospace;
    font-size:.68rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    padding:.32em .7em;
    border:1.5px solid currentColor;
    border-radius:2px;
    transform:rotate(-1.4deg);
  }
  .stamp.amber{color:var(--amber);}
  .stamp.flame{color:var(--flame);}
  .stamp.green{color:var(--green);}

  .wrap{max-width:1180px; margin:0 auto; padding:0 32px;}

  /* ---------- HEADER ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(23,20,15,0.88);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--hairline);
  }
  .nav-inner{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 32px; max-width:1180px; margin:0 auto;
  }
  .logo-img{height:64px; display:block;}
  nav.primary{display:flex; align-items:center; gap:30px;}
  nav.primary a{
    font-family:'Space Mono', monospace;
    font-size:.72rem; letter-spacing:.09em; text-transform:uppercase;
    text-decoration:none; color:var(--text-soft);
    padding-bottom:3px; border-bottom:1px solid transparent;
    transition:color .15s, border-color .15s;
  }
  nav.primary a:hover, nav.primary a:focus-visible{color:var(--amber); border-color:var(--amber);}
  .btn{
    font-family:'Space Mono', monospace; font-size:.72rem;
    letter-spacing:.08em; text-transform:uppercase;
    text-decoration:none; display:inline-block; cursor:pointer; border:none;
  }
  .btn-primary{
    background:var(--flame); color:#1A1108;
    padding:13px 22px; border-radius:2px;
    transition:background .15s, transform .15s;
    font-weight:700;
  }
  .btn-primary:hover{background:var(--orange); transform:translateY(-1px);}
  .btn-ghost{color:var(--blue); padding:13px 4px; border-bottom:1px solid var(--blue);}
  .hamburger{display:none;}

  /* ---------- HERO ---------- */
  .hero{
    padding:88px 0 96px;
    position:relative; overflow:hidden;
    background:
      radial-gradient(ellipse 900px 500px at 85% -10%, rgba(21,150,204,0.16), transparent 60%),
      radial-gradient(ellipse 700px 500px at 100% 30%, rgba(245,121,26,0.14), transparent 60%);
  }
  .hero .wrap{display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center;}
  .hero-copy .eyebrow-line{margin-bottom:22px;}
  .hero h1{font-size:clamp(2.5rem, 4.6vw, 3.6rem); line-height:1.05; max-width:11.5ch;}
  .hero .deck{margin-top:22px; font-size:1.12rem; color:var(--text-soft); max-width:46ch;}
  .hero .cta-row{margin-top:34px; display:flex; align-items:center; gap:26px; flex-wrap:wrap;}
  .hero .proof{
    margin-top:26px; font-family:'Space Mono', monospace; font-size:.72rem;
    letter-spacing:.1em; text-transform:uppercase; color:var(--text-soft);
  }
  .hero .proof span{color:var(--amber);}

  /* card catalog signature — each tab colored from the logo palette */
  .catalog{position:relative; height:420px;}
  .card{
    position:absolute; width:230px;
    background:var(--surface);
    border:1px solid var(--hairline);
    border-radius:var(--radius-card);
    box-shadow:0 14px 30px -14px rgba(0,0,0,0.65);
    padding:16px 18px 18px;
    transition:transform .3s ease, box-shadow .3s ease;
  }
  .card:hover{box-shadow:0 20px 38px -14px rgba(0,0,0,0.75); z-index:10 !important;}
  .card .tab{
    position:absolute; top:-11px; left:16px;
    color:#1A1108;
    font-family:'Space Mono', monospace; font-size:.6rem;
    letter-spacing:.1em; text-transform:uppercase;
    padding:3px 9px; border-radius:2px; font-weight:700;
  }
  .card.c1 .tab{background:var(--blue);}
  .card.c2 .tab{background:var(--purple);}
  .card.c3 .tab{background:var(--green);}
  .card.c4 .tab{background:var(--orange);}
  .card .rule-line{border-top:1px dashed var(--hairline); margin:10px 0;}
  .card h4{font-family:'Fraunces', serif; font-size:1.05rem; font-weight:500; margin:6px 0 4px; color:var(--text);}
  .card p{margin:0; font-size:.82rem; color:var(--text-soft); font-family:'Space Mono', monospace; letter-spacing:.01em; line-height:1.5;}
  .card.c1{top:0; left:0; transform:rotate(-4deg); z-index:4;}
  .card.c2{top:26px; left:150px; transform:rotate(3deg); z-index:3;}
  .card.c3{top:180px; left:10px; transform:rotate(2.5deg); z-index:2;}
  .card.c4{top:210px; left:170px; transform:rotate(-3deg); z-index:1;}

  /* ---------- SECTION SCAFFOLDING ---------- */
  section{padding:86px 0;}
  .section-head{max-width:640px; margin-bottom:46px;}
  .section-head h2{font-size:clamp(1.7rem, 2.6vw, 2.3rem); margin-top:16px; line-height:1.15;}

  /* problem */
  .problem{background:var(--bg-deep);}
  .problem .wrap{display:grid; grid-template-columns:0.9fr 1.1fr; gap:60px;}
  .problem blockquote{
    margin:0; font-family:'Fraunces', serif; font-style:italic; font-size:1.5rem; line-height:1.4;
    color:var(--orange); border-left:3px solid var(--flame); padding-left:24px;
  }
  .problem .body-copy{align-self:center; color:var(--text-soft); font-size:1.02rem;}

  /* what it is */
  .grid-3{display:grid; grid-template-columns:repeat(3, 1fr); gap:26px;}
  .type-card{background:var(--surface); border:1px solid var(--hairline); border-radius:var(--radius-card); padding:24px 22px;}
  .type-card .index{font-family:'Space Mono', monospace; font-size:.68rem; color:var(--amber); letter-spacing:.1em; text-transform:uppercase; margin-bottom:10px; display:block;}
  .type-card h4{font-size:1.15rem; margin-bottom:8px; font-weight:500; color:var(--text);}
  .type-card p{margin:0; color:var(--text-soft); font-size:.93rem;}

  /* how it works */
  .howitworks{background:var(--surface-2);}
  .steps{display:grid; grid-template-columns:repeat(3,1fr); gap:30px;}
  .step{border:1px solid var(--hairline); border-radius:var(--radius-card); padding:28px 24px; position:relative; background:var(--surface);}
  .step .stampish{
    font-family:'Space Mono', monospace; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase;
    display:inline-block; padding:4px 10px; border-radius:2px; margin-bottom:16px; transform:rotate(-1.2deg); font-weight:700;
  }
  .step:nth-child(1) .stampish{color:var(--blue); border:1px solid var(--blue);}
  .step:nth-child(2) .stampish{color:var(--purple); border:1px solid var(--purple);}
  .step:nth-child(3) .stampish{color:var(--green); border:1px solid var(--green);}
  .step h3{font-size:1.2rem; font-weight:500; margin-bottom:10px; color:var(--text);}
  .step p{color:var(--text-soft); font-size:.94rem; margin:0;}
  .step .footnote{margin-top:14px; font-family:'Space Mono', monospace; font-size:.72rem; color:var(--text-soft); opacity:.7;}

  /* video lightbox */
  .video-modal{max-width:900px; width:92%; padding:16px;}
  .video-frame{position:relative; width:100%; aspect-ratio:16/9; background:#000; border-radius:3px; overflow:hidden;}
  .video-frame iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
  .video-card{
    position:relative; border-radius:3px; overflow:hidden; cursor:pointer;
    border:1px solid var(--hairline); background:#000; display:block;
    max-width:720px;
  }
  .video-card img{width:100%; display:block; aspect-ratio:16/9; object-fit:cover;}
  .video-card .play-btn{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; transition:background .2s;}
  .video-card .circle{
    width:60px; height:60px; border-radius:50%; background:rgba(20,16,10,0.6);
    display:flex; align-items:center; justify-content:center;
    border:1.5px solid rgba(241,233,212,0.7); transition:transform .2s, background .2s, border-color .2s;
  }
  .video-card .circle svg{width:18px; height:18px; fill:#F1E9D4; margin-left:2px;}
  .video-card:hover .circle{transform:scale(1.08); background:var(--flame); border-color:var(--flame);}
  .video-card-caption{
    position:absolute; bottom:0; left:0; right:0; padding:14px 16px;
    background:linear-gradient(transparent, rgba(0,0,0,0.8));
    color:#F1E9D4; font-family:'Space Mono', monospace; font-size:.7rem;
    letter-spacing:.08em; text-transform:uppercase;
  }
  .video-card-sm{max-width:340px;}
  .video-card-sm .circle{width:46px; height:46px;}
  .video-card-sm .circle svg{width:14px; height:14px;}

  /* faq */
  .faq-list{display:flex; flex-direction:column;}
  .faq-item{padding:20px 0; border-bottom:1px solid var(--hairline);}
  .faq-item h4{font-family:'Fraunces', serif; font-size:1.05rem; font-weight:500; color:var(--text); margin-bottom:8px;}
  .faq-item p{margin:0; color:var(--text-soft); font-size:.95rem;}

  /* trust strip */
  .principles{display:grid; grid-template-columns:repeat(2,1fr); gap:20px 40px;}
  .principle{display:flex; gap:16px; padding:18px 0; border-bottom:1px solid var(--hairline);}
  .principle .seal{
    flex:none; width:34px;height:34px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-family:'Fraunces', serif; font-size:1rem; font-weight:600;
  }
  .principle:nth-child(1) .seal{border:1.5px solid var(--blue); color:var(--blue);}
  .principle:nth-child(2) .seal{border:1.5px solid var(--flame); color:var(--flame);}
  .principle:nth-child(3) .seal{border:1.5px solid var(--green); color:var(--green);}
  .principle:nth-child(4) .seal{border:1.5px solid var(--purple); color:var(--purple);}
  .principle .txt strong{display:block; font-family:'Fraunces', serif; font-weight:500; font-size:1.02rem; margin-bottom:3px; color:var(--text);}
  .principle .txt span{color:var(--text-soft); font-size:.92rem;}

  /* closing cta */
  .closing{
    background:linear-gradient(135deg, var(--flame-deep), var(--red) 60%, var(--flame-deep));
    color:#1A1108; text-align:center;
  }
  .closing h2{color:#1A1108; font-size:clamp(1.9rem,3vw,2.6rem); max-width:16ch; margin:0 auto;}
  .closing p{color:#3A1F0B; margin-top:16px;}
  .closing .btn-primary{background:#1A1108; color:var(--orange); margin-top:30px;}
  .closing .btn-primary:hover{background:#000;}

  /* footer */
  footer{background:var(--bg-deep); color:var(--text-soft); padding:56px 0 30px; border-top:1px solid var(--hairline);}
  .footer-top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:30px; padding-bottom:36px; border-bottom:1px solid var(--hairline);}
  .footer-top h5{font-family:'Space Mono', monospace; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--amber); margin:0 0 14px;}
  .footer-top a{display:block; text-decoration:none; color:var(--text-soft); font-size:.92rem; margin-bottom:8px;}
  .footer-top a:hover{color:var(--text);}
  .footer-brand .logo-img{height:54px; margin-bottom:12px;}
  .footer-brand p{font-size:.9rem; max-width:32ch; color:var(--text-soft); margin-top:10px;}
  .footer-brand .sig{margin-top:16px; font-family:'Fraunces', serif; font-style:italic; color:var(--amber);}
  .footer-bottom{display:flex; justify-content:space-between; padding-top:22px; font-family:'Space Mono', monospace; font-size:.7rem; color:#6E6551; flex-wrap:wrap; gap:10px;}

  /* modal */
  .modal-backdrop{position:fixed; inset:0; background:rgba(0,0,0,0.65); display:none; align-items:center; justify-content:center; z-index:100; padding:20px;}
  .modal-backdrop.open{display:flex;}
  .modal{background:var(--surface); border-radius:4px; max-width:420px; width:100%; padding:34px 30px; position:relative; border:1px solid var(--hairline);}
  .modal-close{position:absolute; top:16px; right:16px; background:none; border:none; cursor:pointer; font-family:'Space Mono', monospace; font-size:1rem; color:var(--text-soft);}
  .modal h3{font-size:1.4rem; margin-bottom:10px; color:var(--text);}
  .modal p.desc{color:var(--text-soft); font-size:.94rem; margin:0 0 22px;}
  .modal .privacy{font-family:'Space Mono', monospace; font-size:.68rem; color:var(--amber); margin-top:14px; text-align:center;}
  .waitlist-modal{max-width:460px;}
  .waitlist-iframe-wrap{
    background:#fff; border-radius:3px; overflow:hidden; border:1px solid var(--hairline);
    min-height:420px;
  }
  .waitlist-iframe{width:100%; height:420px; border:0; display:block;}

  /* legal documents */
  .legal-doc{max-width:760px; margin:0 auto;}
  .legal-doc .doc-meta{color:var(--text-soft); font-size:.92rem; margin-bottom:6px;}
  .legal-doc .doc-meta strong{color:var(--text);}
  .legal-doc .deck{font-style:italic; color:var(--text-soft); font-size:1.05rem; margin-bottom:22px;}
  .legal-doc .intro{color:var(--text-soft); font-size:.98rem; margin-bottom:8px;}
  .legal-doc h2{font-size:1.3rem; margin-top:44px; margin-bottom:14px; padding-bottom:10px; border-bottom:1px solid var(--hairline);}
  .legal-doc h3{font-size:1.05rem; margin-top:26px; margin-bottom:10px; color:var(--amber); font-family:'Space Mono', monospace; font-weight:700; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase;}
  .legal-doc p{color:var(--text-soft); font-size:.96rem; margin:0 0 14px;}
  .legal-doc ul, .legal-doc ol{color:var(--text-soft); font-size:.96rem; padding-left:22px; margin:0 0 16px;}
  .legal-doc li{margin-bottom:8px;}
  .legal-doc strong{color:var(--text);}
  .legal-doc .caps-block{
    background:var(--surface); border:1px solid var(--hairline); border-radius:var(--radius-card);
    padding:18px 20px; font-size:.86rem; color:var(--text-soft); margin-bottom:16px;
  }
  .contact-card{
    background:var(--surface); border:1px solid var(--hairline); border-radius:var(--radius-card);
    padding:22px 24px; margin-top:12px;
  }
  .contact-card .row{display:flex; justify-content:space-between; gap:16px; padding:8px 0; border-bottom:1px solid var(--hairline); font-size:.9rem;}
  .contact-card .row:last-child{border-bottom:none;}
  .contact-card .row span:first-child{color:var(--text-soft); font-family:'Space Mono', monospace; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase;}
  .contact-card .row span:last-child{color:var(--text); text-align:right;}
  .contact-card a{color:var(--amber); text-decoration:none;}
  .draft-banner{
    background:var(--surface-2); border:1px solid var(--flame); border-radius:var(--radius-card);
    padding:16px 20px; margin-bottom:32px; color:var(--text-soft); font-size:.88rem;
  }
  .draft-banner strong{color:var(--flame); font-family:'Space Mono', monospace; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; display:block; margin-bottom:6px;}
  .legal-nav{
    display:flex; gap:24px; margin-top:50px; padding-top:24px; border-top:1px solid var(--hairline);
    font-family:'Space Mono', monospace; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase;
  }
  .legal-nav a{color:var(--text-soft); text-decoration:none;}
  .legal-nav a:hover{color:var(--amber);}

  @media (max-width:860px){
    nav.primary{
      display:none; position:absolute; top:100%; left:0; right:0;
      flex-direction:column; align-items:flex-start; gap:18px;
      background:var(--surface); border-bottom:1px solid var(--hairline);
      padding:22px 32px 26px;
    }
    nav.primary.open{display:flex;}
    .nav-inner .btn-primary{display:none;}
    .hamburger{display:block; background:none; border:none; font-size:1.3rem; cursor:pointer; color:var(--text);}
    .hero .wrap{grid-template-columns:1fr;}
    .catalog{height:340px; max-width:420px; margin:0 auto;}
    .problem .wrap{grid-template-columns:1fr;}
    .grid-3{grid-template-columns:1fr;}
    .steps{grid-template-columns:1fr;}
    .principles{grid-template-columns:1fr;}
    .footer-top{grid-template-columns:1fr 1fr;}
  }
