:root{
    --ink:#101B2D;
    --ink-2:#17263F;
    --ink-3:#1F324F;
    --paper:#F1E8D2;
    --paper-2:#E8DCBE;
    --line:#3A4A66;
    --gold:#C89B3B;
    --gold-dark:#8F6B22;
    --teal:#5B9385;
    --teal-dark:#1F3A34;
    --muted:#A9B7CC;
    --ink-text:#2A2013;
    --max:1120px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--ink);
    color:var(--paper);
    font-family:'Inter',sans-serif;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{
    font-family:'Fraunces',serif;
    font-weight:600;
    line-height:1.15;
    margin:0 0 .6em;
    letter-spacing:-0.01em;
  }
  p{margin:0 0 1em; max-width:62ch;}
  a{color:inherit;}
  .wrap{max-width:var(--max); margin:0 auto; padding:0 24px;}
  .mono{font-family:'Space Mono',monospace;}

  /* header */
  header{padding:28px 0;}
  header .wrap{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px;}
  .brand{font-family:'Fraunces',serif; font-weight:600; font-size:19px;}
  .brand span{color:var(--gold);}
  header a.cta-link{
    font-size:14px; font-weight:500; text-decoration:none;
    border-bottom:1px solid var(--gold); padding-bottom:2px;
  }

  /* hero */
  .hero{padding:40px 0 80px;}
  .hero .wrap{display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center;}
  .hero h1{font-size:clamp(32px,4.4vw,52px);}
  .hero p.lead{font-size:18px; color:var(--muted); max-width:46ch;}
  .btn{
    display:inline-flex; align-items:center; gap:10px;
    background:var(--gold); color:var(--ink);
    font-weight:700; font-size:16px;
    padding:15px 26px; border-radius:6px;
    text-decoration:none; border:none; cursor:pointer;
    font-family:'Inter',sans-serif;
  }
  .btn.secondary{
    background:transparent; color:var(--paper);
    border:1px solid var(--line);
  }
  .hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin-top:28px;}

  /* receipt mockup */
  .receipt{
    background:var(--paper); color:var(--ink-text);
    border-radius:4px; padding:26px 26px 30px;
    max-width:320px; margin:0 auto;
    position:relative;
    box-shadow:0 24px 60px rgba(0,0,0,.35);
  }
  .receipt:after{
    content:"";
    position:absolute; left:0; right:0; bottom:-9px; height:16px;
    background:
      linear-gradient(135deg, var(--ink) 50%, transparent 50%) 0 0/16px 16px,
      linear-gradient(45deg, var(--ink) 50%, transparent 50%) 0 0/16px 16px;
    background-repeat:repeat-x;
  }
  .receipt h3{font-family:'Space Mono',monospace; font-size:14px; text-transform:none; margin-bottom:16px; letter-spacing:.02em;}
  .receipt .row{
    display:flex; justify-content:space-between; gap:12px;
    font-family:'Space Mono',monospace; font-size:12.5px;
    padding:7px 0; border-bottom:1px dashed var(--paper-2);
  }
  .receipt .row:last-of-type{border-bottom:none;}
  .receipt .total{
    display:flex; justify-content:space-between; margin-top:14px; padding-top:14px;
    border-top:1px solid var(--ink-text); font-family:'Space Mono',monospace;
    font-weight:700; font-size:15px;
  }

  /* sections generic */
  section{padding:72px 0;}
  .section-alt{background:var(--ink-2);}
  h2{font-size:clamp(24px,3vw,34px);}
  .section-head{max-width:640px; margin-bottom:40px;}
  .section-head p{color:var(--muted); font-size:17px;}

  /* problem / ledger lines */
  .ledger{border-top:1px solid var(--line);}
  .ledger-item{
    display:grid; grid-template-columns:52px 1fr; gap:24px;
    padding:26px 0; border-bottom:1px solid var(--line);
  }
  .ledger-item .num{font-family:'Space Mono',monospace; color:var(--gold); font-size:15px; padding-top:3px;}
  .ledger-item h3{font-size:19px; margin-bottom:6px; font-weight:600;}
  .ledger-item p{color:var(--muted); font-size:15.5px; margin:0;}

  /* content breakdown */
  .breakdown{display:grid; grid-template-columns:repeat(2,1fr); gap:0; border-top:1px solid var(--line); border-left:1px solid var(--line);}
  .breakdown-item{
    border-right:1px solid var(--line); border-bottom:1px solid var(--line);
    padding:24px 26px;
  }
  .breakdown-item .tick{color:var(--teal); font-family:'Space Mono',monospace; font-size:14px; margin-bottom:8px; display:block;}
  .breakdown-item p{margin:0; font-size:15px; color:var(--paper);}

  /* credibility */
  .credibility{
    display:flex; align-items:center; gap:24px;
    background:var(--ink-3); border:1px solid var(--line);
    border-radius:8px; padding:26px 28px; max-width:680px;
  }
  .credibility .seal{
    flex:none; width:64px; height:64px; border-radius:50%;
    border:2px solid var(--gold); display:flex; align-items:center; justify-content:center;
    font-family:'Space Mono',monospace; font-size:12px; color:var(--gold); text-align:center; line-height:1.2;
  }
  .credibility p{margin:0; color:var(--muted); font-size:15px;}
  .credibility strong{color:var(--paper);}

  /* pricing */
  .pricing-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:stretch;}
  .plan{
    background:var(--ink-2); color:var(--paper);
    border:1px solid var(--line); border-left:3px solid var(--line);
    border-radius:4px; padding:32px 30px; position:relative;
    display:flex; flex-direction:column;
  }
  .plan.featured{
    border-left-color:var(--gold); background:var(--ink-3);
    border-color:var(--gold);
    transform:scale(1.035);
    animation:pulse-gold 1.4s ease-in-out infinite;
  }
  @keyframes pulse-gold{
    0%,100%{box-shadow:0 20px 44px rgba(200,155,59,.28), 0 0 0 0 rgba(200,155,59,.55);}
    50%{box-shadow:0 20px 44px rgba(200,155,59,.28), 0 0 0 18px rgba(200,155,59,0);}
  }
  @media (prefers-reduced-motion:reduce){
    .plan.featured{animation:none; box-shadow:0 20px 44px rgba(200,155,59,.24);}
  }
  .plan .badge{
    align-self:flex-start;
    background:transparent; color:var(--gold); font-weight:600; font-size:13px;
    padding:0 0 14px; font-family:'Inter',sans-serif;
  }
  .plan.featured .badge{
    background:var(--gold); color:var(--ink); padding:6px 14px;
    border-radius:4px; font-weight:700; margin-bottom:18px;
  }
  .plan.featured .price{font-size:50px;}
  .plan .plan-name{font-size:15px; color:var(--muted); margin-bottom:14px;}
  .plan .price{font-family:'Fraunces',serif; font-weight:600; font-size:44px; margin-bottom:4px; color:var(--paper);}
  .plan .price sup{font-size:18px; top:-18px; color:var(--muted);}
  .plan .price-note{font-size:13px; color:var(--muted); margin-bottom:26px;}
  .plan ul{list-style:none; margin:0 0 28px; padding:0; flex:1;}
  .plan li{
    display:flex; gap:12px; align-items:flex-start; padding:11px 0;
    font-size:15px; color:var(--paper);
  }
  .plan li .ic{color:var(--teal); flex:none; font-weight:700;}
  .plan .btn{width:100%; justify-content:center; background:var(--paper); color:var(--ink); font-weight:700;}
  .plan.featured .btn{background:var(--gold); color:var(--ink);}

  /* faq */
  details{border-bottom:1px solid var(--line); padding:20px 0;}
  summary{
    cursor:pointer; font-family:'Fraunces',serif; font-weight:600; font-size:17px;
    list-style:none; display:flex; justify-content:space-between; align-items:center;
  }
  summary::-webkit-details-marker{display:none;}
  summary:after{content:"+"; font-family:'Space Mono',monospace; font-size:20px; color:var(--gold); margin-left:16px;}
  details[open] summary:after{content:"–";}
  details p{color:var(--muted); margin-top:14px; font-size:15px;}

  footer{padding:44px 0; border-top:1px solid var(--line);}
  footer .wrap{display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; font-size:13.5px; color:var(--muted);}

  @media (max-width:860px){
    .hero .wrap{grid-template-columns:1fr;}
    .hero .receipt-col{order:-1; max-width:280px; margin:0 auto;}
    .breakdown{grid-template-columns:1fr;}
    .pricing-grid{grid-template-columns:1fr;}
    .plan.featured{transform:none;}
    .credibility{flex-direction:column; text-align:center;}
  }
