:root{
    --obsidian:#0c0b0a;
    --coal:#161311;
    --ivory:#f5efe4;
    --ivory-dim:#cabfa9;
    --gold:#c9a24b;
    --gold-bright:#e4c477;
    --line:rgba(201,162,75,.28);
    --line-soft:rgba(245,239,228,.12);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:'Jost',system-ui,sans-serif;font-weight:300;
    background:var(--obsidian);color:var(--ivory);
    line-height:1.75;-webkit-font-smoothing:antialiased;letter-spacing:.01em;
  }
  .wrap{max-width:1120px;margin:0 auto;padding:0 26px}
  .narrow{max-width:760px;margin:0 auto;padding:0 26px}
  h1,h2,h3,.serif{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:1.12}
  .eyebrow{
    font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:.42em;text-transform:uppercase;
    font-weight:500;color:var(--gold);display:inline-block;
  }
  .gold{color:var(--gold-bright)}
  em{font-style:italic;color:var(--gold-bright)}

  .btn{
    display:inline-block;font-family:'Jost',sans-serif;font-weight:500;font-size:.82rem;
    letter-spacing:.16em;text-transform:uppercase;padding:19px 44px;cursor:pointer;
    text-decoration:none;transition:all .25s ease;border:1px solid var(--gold);
  }
  .btn-solid{background:var(--gold);color:var(--obsidian)}
  .btn-solid:hover{background:var(--gold-bright);border-color:var(--gold-bright);transform:translateY(-2px)}
  .btn-ghost{background:transparent;color:var(--gold-bright)}
  .btn-ghost:hover{background:rgba(201,162,75,.1);transform:translateY(-2px)}

  .divider{width:60px;height:1px;background:var(--gold);margin:26px 0;opacity:.6}
  .divider.center{margin:26px auto}

  /* thin gold frame around whole page */
  .page-frame{position:fixed;inset:14px;border:1px solid var(--line-soft);pointer-events:none;z-index:100}

  /* ---------- HERO ---------- */
  .hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;
    background:radial-gradient(140% 100% at 78% 30%, #1c1712 0%, #0c0b0a 60%)}
  .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;width:100%;padding:110px 0 70px}
  .hero h1{font-size:clamp(3rem,6vw,5.6rem);letter-spacing:-.01em}
  .hero h1 .line{display:block}
  .hero .kicker{margin-bottom:26px}
  .hero p.sub{margin-top:30px;font-size:1.15rem;color:var(--ivory-dim);max-width:44ch;font-weight:300}
  .hero .cta-row{margin-top:44px;display:flex;gap:18px;flex-wrap:wrap;align-items:center}
  .hero .microtrust{margin-top:22px;font-size:.8rem;letter-spacing:.1em;color:var(--ivory-dim);text-transform:uppercase}

  .hero-photo{position:relative}
  .hero-photo .frame{position:relative;overflow:hidden;aspect-ratio:3/4;max-width:420px;margin-left:auto;
    border:1px solid var(--line);box-shadow:0 50px 90px -40px rgba(0,0,0,.9)}
  .hero-photo .frame img{width:100%;height:100%;object-fit:cover;display:block;filter:contrast(1.03) saturate(1.02)}
  .hero-photo .frame::after{content:"";position:absolute;inset:0;
    background:linear-gradient(180deg,transparent 55%,rgba(12,11,10,.55) 100%)}
  .hero-photo .cap{position:absolute;bottom:20px;left:20px;z-index:2}
  .hero-photo .cap .n{font-family:'Cormorant Garamond',serif;font-size:1.7rem;color:var(--ivory);line-height:1}
  .hero-photo .cap .r{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-bright);margin-top:6px}
  .hero-photo .corner{position:absolute;width:22px;height:22px;border:1px solid var(--gold);z-index:2}
  .hero-photo .corner.tl{top:-1px;left:-1px;border-right:0;border-bottom:0}
  .hero-photo .corner.br{bottom:-1px;right:-1px;border-left:0;border-top:0}

  /* scarcity bar */
  .bar{background:var(--coal);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);
    text-align:center;padding:16px;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ivory-dim)}
  .bar b{color:var(--gold-bright);font-weight:500}

  /* section base */
  section{padding:110px 0}
  .center{text-align:center}
  .shead{max-width:60ch}
  .shead.mid{margin:0 auto;text-align:center}
  .shead h2{font-size:clamp(2.2rem,4vw,3.4rem);margin-top:18px}
  .shead p{margin-top:18px;color:var(--ivory-dim);font-size:1.12rem}

  /* STORY */
  .story{background:var(--coal)}
  .story-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center}
  .story .pic{position:relative;overflow:hidden;border:1px solid var(--line)}
  .story .pic img{width:100%;display:block;filter:grayscale(.15) contrast(1.02)}
  .story-body p{font-size:1.12rem;color:var(--ivory);margin-bottom:20px;font-weight:300}
  .story-body .lead-line{font-family:'Cormorant Garamond',serif;font-size:1.9rem;line-height:1.3;color:var(--gold-bright);font-style:italic;margin:8px 0 26px}
  .story-body .sign{font-family:'Cormorant Garamond',serif;font-size:1.6rem;color:var(--ivory);margin-top:24px}
  .story-body .sign small{display:block;font-family:'Jost',sans-serif;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-top:6px;font-weight:400}

  /* PROBLEM */
  .problem{background:var(--obsidian);text-align:center}
  .problem .stack{max-width:640px;margin:34px auto 0}
  .problem .stack .p{font-family:'Cormorant Garamond',serif;font-size:clamp(1.5rem,3vw,2.1rem);color:var(--ivory);
    padding:16px 0;border-bottom:1px solid var(--line-soft);font-style:italic}
  .problem .stack .p:last-child{border-bottom:0;color:var(--gold-bright)}
  .problem .turn{margin-top:40px;font-size:1.15rem;color:var(--ivory-dim)}

  /* MECHANISM — two columns beside */
  .mech{background:var(--coal)}
  .mech-two{display:grid;grid-template-columns:1fr auto 1fr;gap:34px;align-items:center;margin-top:20px}
  .mcol{border:1px solid var(--line-soft);padding:40px 34px;background:rgba(245,239,228,.02)}
  .mcol.gold{border-color:var(--line);background:rgba(201,162,75,.06)}
  .mcol .tag{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
  .mcol h3{font-size:1.9rem;margin:12px 0 14px}
  .mcol ul{list-style:none}
  .mcol li{padding:9px 0;color:var(--ivory-dim);border-bottom:1px solid var(--line-soft);font-size:.98rem}
  .mcol li:last-child{border-bottom:0}
  .mech-amp{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.6rem;color:var(--gold-bright);text-align:center;white-space:nowrap}

  /* PROOF */
  .proof{background:var(--obsidian);text-align:center}
  .proof .quote{max-width:820px;margin:0 auto;font-family:'Cormorant Garamond',serif;
    font-size:clamp(1.8rem,3.6vw,2.7rem);line-height:1.32;font-style:italic;color:var(--ivory)}
  .proof .quote .h{color:var(--gold-bright)}
  .proof .attr{margin-top:30px;font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}

  /* VALUE STACK */
  .value{background:var(--coal)}
  .vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);margin-top:20px}
  .vcell{background:var(--coal);padding:38px 30px;transition:background .3s}
  .vcell:hover{background:rgba(201,162,75,.05)}
  .vcell .no{font-family:'Cormorant Garamond',serif;font-size:1.1rem;color:var(--gold);letter-spacing:.1em}
  .vcell h3{font-size:1.5rem;margin:14px 0 10px}
  .vcell p{color:var(--ivory-dim);font-size:.97rem}

  /* WHO */
  .who{background:var(--obsidian)}
  .who-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 48px;margin-top:16px}
  .who-row{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line-soft);font-size:1.08rem;color:var(--ivory)}
  .who-row .m{color:var(--gold);font-family:'Cormorant Garamond',serif;font-size:1.3rem;line-height:1;flex-shrink:0}

  /* SUPPORT ribbon */
  .support{background:var(--coal);text-align:center}
  .support .items{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:30px;max-width:820px;margin-left:auto;margin-right:auto}
  .support .chip{border:1px solid var(--line);padding:12px 22px;font-size:.82rem;letter-spacing:.08em;color:var(--ivory-dim);text-transform:uppercase}


  /* CIRCLE / MEMBERSHIP */
  .circle{background:radial-gradient(120% 90% at 50% 0%, #1a1510 0%, #0c0b0a 62%)}
  .circle .shead{margin-bottom:12px}
  .circle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:44px}
  .cbox{border:1px solid var(--line-soft);padding:40px 36px;background:rgba(245,239,228,.02);position:relative;transition:border-color .3s,background .3s}
  .cbox:hover{border-color:var(--line);background:rgba(201,162,75,.05)}
  .cbox .mk{font-family:'Cormorant Garamond',serif;font-size:1.6rem;color:var(--gold);line-height:1}
  .cbox h3{font-size:1.75rem;margin:16px 0 12px}
  .cbox p{color:var(--ivory-dim);font-size:1.02rem;font-weight:300}
  .cbox.feature{grid-column:1 / -1;background:rgba(201,162,75,.07);border-color:var(--line);text-align:center;padding:52px 40px}
  .cbox.feature h3{font-size:clamp(1.9rem,3.4vw,2.6rem);margin-top:10px}
  .cbox.feature p{font-size:1.14rem;max-width:60ch;margin:0 auto}
  .cbox .perks{list-style:none;margin-top:16px}
  .cbox .perks li{padding:8px 0;border-bottom:1px solid var(--line-soft);color:var(--ivory-dim);font-size:.98rem;display:flex;gap:12px}
  .cbox .perks li:last-child{border-bottom:0}
  .cbox .perks li .d{color:var(--gold);flex-shrink:0}
  .monthly-line{margin-top:44px;text-align:center;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.6rem,3vw,2.2rem);color:var(--gold-bright);max-width:24ch;margin-left:auto;margin-right:auto;line-height:1.3}

  /* ---------- FORM ---------- */
  .capture{background:radial-gradient(120% 100% at 50% 0%, #1a1510 0%, #0c0b0a 65%)}
  .form-card{max-width:720px;margin:0 auto;border:1px solid var(--line);background:var(--coal)}
  .form-head{padding:46px 46px 30px;text-align:center;border-bottom:1px solid var(--line-soft)}
  .form-head h2{font-size:2.4rem;margin-top:14px}
  .form-head p{color:var(--ivory-dim);margin-top:12px;font-size:1rem;max-width:46ch;margin-left:auto;margin-right:auto}
  .form-body{padding:40px 46px 46px}
  .steps{display:flex;gap:10px;margin-bottom:34px}
  .steps .s{flex:1;height:2px;background:var(--line-soft);transition:background .3s}
  .steps .s.active{background:var(--gold)}
  .field{margin-bottom:22px}
  .field label{display:block;font-size:.7rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:9px}
  .field input,.field textarea{width:100%;padding:15px 4px;border:none;border-bottom:1px solid var(--line-soft);
    background:transparent;color:var(--ivory);font-family:'Jost',sans-serif;font-size:1.05rem;font-weight:300;transition:border-color .2s}
  .field input::placeholder,.field textarea::placeholder{color:rgba(202,191,169,.4)}
  .field input:focus,.field textarea:focus{outline:none;border-color:var(--gold)}
  .field textarea{resize:vertical;min-height:70px}
  .field .err{color:#d98a6a;font-size:.8rem;margin-top:7px;display:none;letter-spacing:.04em}
  .field.invalid .err{display:block}
  .field.invalid input,.field.invalid textarea{border-color:#d98a6a}
  .form-nav{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:14px}
  .form-nav .back{background:none;border:none;color:var(--ivory-dim);font-family:'Jost',sans-serif;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
  .form-nav .back:hover{color:var(--ivory)}
  .form-nav .back[disabled]{opacity:0;pointer-events:none}
  .fine{font-size:.8rem;color:var(--ivory-dim);margin-top:22px;text-align:center;line-height:1.6}
  .step-panel{display:none}
  .step-panel.active{display:block;animation:fade .4s ease}
  @keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
  .success{display:none;text-align:center;padding:24px 0}
  .success.show{display:block;animation:fade .4s ease}
  .success .tick{width:70px;height:70px;border:1px solid var(--gold);color:var(--gold);border-radius:50%;
    display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:1.9rem;font-family:'Cormorant Garamond',serif}
  .success h3{font-size:2rem;margin-bottom:14px}
  .success p{color:var(--ivory-dim);max-width:44ch;margin:0 auto 10px}

  /* FAQ */
  .faq{background:var(--coal)}
  .faq-item{border-bottom:1px solid var(--line-soft)}
  .faq-q{width:100%;text-align:left;background:none;border:none;padding:26px 0;cursor:pointer;
    font-family:'Cormorant Garamond',serif;font-size:1.4rem;color:var(--ivory);display:flex;justify-content:space-between;gap:20px;align-items:center}
  .faq-q .pl{color:var(--gold);font-size:1.5rem;transition:transform .25s;flex-shrink:0;font-family:'Jost',sans-serif;font-weight:300}
  .faq-item.open .pl{transform:rotate(45deg)}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;color:var(--ivory-dim)}
  .faq-a p{padding:0 0 26px;font-size:1.05rem;max-width:66ch}

  /* CLOSING */
  .closing{background:radial-gradient(120% 100% at 50% 100%, #1a1510 0%, #0c0b0a 60%);text-align:center}
  .closing h2{font-size:clamp(2.4rem,5vw,4rem);max-width:18ch;margin:0 auto;line-height:1.08}
  .closing .lines{margin:32px auto 44px;color:var(--ivory-dim);font-size:1.12rem;max-width:52ch}
  .closing .lines span{display:block;margin:6px 0}

  footer{background:var(--obsidian);border-top:1px solid var(--line-soft);text-align:center;padding:40px 0;color:var(--ivory-dim);font-size:.82rem;letter-spacing:.1em}
  footer .b{font-family:'Cormorant Garamond',serif;font-size:1.4rem;color:var(--gold-bright);letter-spacing:0;margin-bottom:6px}

  /* leads panel */
  .admin-toggle{position:fixed;bottom:22px;right:22px;background:var(--coal);color:var(--gold-bright);
    border:1px solid var(--line);padding:9px 18px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;z-index:120;opacity:.6;font-family:'Jost',sans-serif}
  .admin-toggle:hover{opacity:1}
  .admin-panel{position:fixed;inset:auto 22px 64px 22px;max-width:560px;margin:0 auto;max-height:60vh;overflow:auto;
    background:var(--coal);border:1px solid var(--line);padding:24px;display:none;z-index:120}
  .admin-panel.show{display:block}
  .admin-panel h4{font-family:'Cormorant Garamond',serif;font-size:1.4rem;margin-bottom:14px;color:var(--gold-bright)}
  .admin-panel table{width:100%;border-collapse:collapse;font-size:.8rem}
  .admin-panel td,.admin-panel th{text-align:left;padding:9px 6px;border-bottom:1px solid var(--line-soft);vertical-align:top;color:var(--ivory-dim)}
  .admin-panel th{color:var(--gold)}
  .admin-panel .empty{color:var(--ivory-dim)}
  .admin-actions{display:flex;gap:10px;margin-top:16px}
  .admin-actions button{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:9px 16px;border:1px solid var(--line-soft);background:transparent;color:var(--ivory-dim);cursor:pointer;font-family:'Jost',sans-serif}
  .admin-actions button:hover{color:var(--gold-bright);border-color:var(--line)}

  @media(max-width:880px){
    .hero-grid{grid-template-columns:1fr;gap:50px;padding-top:90px}
    .hero-photo .frame{margin:0 auto}
    .story-grid{grid-template-columns:1fr;gap:36px}
    .story .pic{max-width:380px;margin:0 auto;order:-1}
    .mech-two{grid-template-columns:1fr;gap:22px}
    .mech-amp{transform:rotate(90deg)}
    .vgrid{grid-template-columns:1fr}
    .who-grid{grid-template-columns:1fr}
    .circle-grid{grid-template-columns:1fr}
    .form-head,.form-body{padding-left:26px;padding-right:26px}
    .page-frame{inset:8px}
  }
