:root{
    --paper:#F6F4EF;
    --paper-dim:#EDEAE2;
    --ink:#1C2333;
    --ink-soft:#4A5164;
    --hairline:#DAD5C9;
    --brand:#243B55;
    --signal:#D64A2A;
    --agree:#1E7F5C;
    --disagree:#B3441E;
    --like:#C98A1E;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
  }
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'Inter',sans-serif;
    line-height:1.55;
  }
  h1,h2,h3{
    font-family:'Fraunces',serif;
    font-weight:600;
    letter-spacing:-0.01em;
    margin:0;
    color:var(--ink);
  }
  a{color:inherit;}
  .wrap{max-width:1080px;margin:0 auto;padding:0 24px;}
  .mono{font-family:'IBM Plex Mono',monospace;letter-spacing:0.02em;}

  /* ---------- nav ---------- */
  nav{
    position:sticky;top:0;z-index:20;
    background:rgba(246,244,239,0.92);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--hairline);
  }
  nav .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px;}
  nav img{height:26px;display:block;}
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    background:var(--signal);color:#fff;
    font-family:'Inter',sans-serif;font-weight:600;font-size:15px;
    padding:11px 22px;border-radius:10px;text-decoration:none;
    transition:transform 0.15s ease, box-shadow 0.15s ease;
    box-shadow:0 1px 0 rgba(0,0,0,0.06);
  }
  .btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(214,74,42,0.28);}
  .btn:focus-visible{outline:3px solid var(--brand);outline-offset:2px;}
  .btn-ghost{
    background:transparent;color:var(--ink);
    border:1px solid var(--hairline);
    font-weight:600;font-size:15px;padding:10px 20px;border-radius:10px;text-decoration:none;
  }
  .btn-ghost:hover{border-color:var(--ink);}
  .btn-ghost:focus-visible{outline:3px solid var(--brand);outline-offset:2px;}

  /* ---------- hero ---------- */
  header.hero{padding:72px 0 56px;}
  .hero-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:center;}
  .eyebrow{
    font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:0.08em;
    text-transform:uppercase;color:var(--ink-soft);
    display:inline-block;margin-bottom:18px;
  }
  h1.headline{font-size:44px;line-height:1.12;margin-bottom:18px;}
  .sub{font-size:18px;color:var(--ink-soft);max-width:46ch;margin-bottom:30px;}
  .cta-row{display:flex;gap:14px;flex-wrap:wrap;}

  /* ---------- demo opinion card (the signature element) ---------- */
  .demo-card{
    background:#fff;border:1px solid var(--hairline);border-radius:16px;
    padding:22px 22px 18px;
    box-shadow:0 24px 48px -24px rgba(28,35,51,0.28);
  }
  .demo-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
  .demo-avatar{
    width:34px;height:34px;border-radius:50%;
    background:var(--brand);opacity:0.14;
  }
  .demo-name{font-size:14px;font-weight:600;}
  .demo-meta{font-size:12.5px;color:var(--ink-soft);}
  .demo-text{
    font-family:'Fraunces',serif;font-size:18px;line-height:1.44;margin-bottom:16px;
  }
  .pulse{
    height:8px;border-radius:4px;overflow:hidden;display:flex;
    background:var(--paper-dim);margin-bottom:12px;
  }
  .pulse span{display:block;height:100%;}
  .pulse .like{background:var(--like);width:34.4%;}
  .pulse .agree{background:var(--agree);width:21.9%;}
  .pulse .disagree{background:var(--disagree);width:6.5%;}
  @media (prefers-reduced-motion: no-preference){
    .pulse span{
      animation:grow 1.1s cubic-bezier(.2,.7,.3,1) both;
      transform-origin:left;
    }
    @keyframes grow{from{transform:scaleX(0);}to{transform:scaleX(1);}}
  }
  .demo-stats{display:flex;gap:16px;font-size:13px;color:var(--ink-soft);}
  .demo-stats .mono{font-size:13px;}

  /* ---------- section shell ---------- */
  section{padding:64px 0;}
  section.alt{background:var(--paper-dim);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);}
  .section-head{max-width:56ch;margin-bottom:40px;}
  .section-head .eyebrow{margin-bottom:12px;}
  h2.title{font-size:32px;margin-bottom:14px;}
  .section-head p{font-size:17px;color:var(--ink-soft);}

  /* ---------- example clippings ---------- */
  .clippings{
    display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
  }
  .clip{
    background:#fff;border:1px solid var(--hairline);border-radius:12px;padding:18px;
  }
  .clip .tag{
    font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.06em;
    text-transform:uppercase;color:var(--signal);margin-bottom:10px;display:block;
  }
  .clip p{font-family:'Fraunces',serif;font-size:15.5px;line-height:1.4;margin:0;}

  /* ---------- why-it-matters grid ---------- */
  .grid-4{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}
  .why-item h3{font-size:19px;margin-bottom:8px;}
  .why-item p{font-size:15.5px;color:var(--ink-soft);margin:0;}
  .why-mark{
    width:36px;height:36px;border-radius:10px;
    display:flex;align-items:center;justify-content:center;
    margin-bottom:14px;font-size:17px;
  }
  .why-mark.a{background:rgba(30,127,92,0.12);color:var(--agree);}
  .why-mark.b{background:rgba(36,59,85,0.12);color:var(--brand);}
  .why-mark.c{background:rgba(201,138,30,0.16);color:var(--like);}
  .why-mark.d{background:rgba(214,74,42,0.12);color:var(--signal);}

  /* ---------- how it works ---------- */
  .steps{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
  .step{position:relative;padding-top:8px;border-top:2px solid var(--hairline);}
  .step::before{
    counter-increment:step;content:counter(step);
    font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--signal);
    display:block;margin-bottom:10px;
  }
  .step h3{font-size:17px;margin-bottom:6px;}
  .step p{font-size:14.5px;color:var(--ink-soft);margin:0;}

  /* ---------- footer cta ---------- */
  .final-cta{
    text-align:center;padding:80px 0 90px;
  }
  .final-cta h2{font-size:34px;margin-bottom:14px;}
  .final-cta p{font-size:17px;color:var(--ink-soft);margin-bottom:30px;}

  footer{border-top:1px solid var(--hairline);padding:32px 0;}
  footer .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;}
  footer img{height:20px;opacity:0.85;}
  footer .fine{font-size:13px;color:var(--ink-soft);}
  footer a.link{font-size:13px;color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px;}

  @media (max-width: 860px){
    .hero-grid{grid-template-columns:1fr;}
    h1.headline{font-size:34px;}
    .clippings{grid-template-columns:1fr;}
    .grid-4{grid-template-columns:1fr;}
    .steps{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width: 520px){
    .steps{grid-template-columns:1fr;}
    .cta-row{flex-direction:column;align-items:stretch;}
  }

  /* ---------- legal / policy page ---------- */
  .legal-header{padding:56px 0 32px;border-bottom:1px solid var(--hairline);}
  .legal-header h1{font-size:34px;margin-bottom:10px;}
  .legal-header .updated{font-size:14px;color:var(--ink-soft);}
  .legal-body{padding:44px 0 80px;}
  .legal-body .wrap{max-width:760px;}
  .legal-body h2{
    font-family:'Fraunces',serif;font-size:22px;font-weight:600;
    margin:40px 0 12px;
  }
  .legal-body h2:first-child{margin-top:0;}
  .legal-body p{font-size:15.5px;color:var(--ink-soft);margin:0 0 14px;}
  .legal-body ul,.legal-body ol{
    font-size:15.5px;color:var(--ink-soft);
    padding-left:22px;margin:0 0 14px;
  }
  .legal-body li{margin-bottom:6px;}
  .legal-body strong{color:var(--ink);}
  .legal-body a{color:var(--brand);text-decoration:underline;text-underline-offset:2px;}
  .legal-note{
    background:var(--paper-dim);border:1px solid var(--hairline);
    border-radius:10px;padding:16px 18px;margin:0 0 32px;
    font-size:14px;color:var(--ink-soft);
  }
  .legal-note strong{color:var(--ink);}
  .company-block{
    background:#fff;border:1px solid var(--hairline);border-radius:12px;
    padding:20px 22px;margin:24px 0 0;
  }
  .company-block dt{
    font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.06em;
    text-transform:uppercase;color:var(--ink-soft);margin-top:12px;
  }
  .company-block dt:first-child{margin-top:0;}
  .company-block dd{font-size:15px;margin:3px 0 0;}

  /* ---------- footer, extended for company details ---------- */
  footer .company-line{
    font-size:13px;color:var(--ink-soft);width:100%;
    padding-top:16px;margin-top:16px;border-top:1px solid var(--hairline);
  }
  footer .company-line a{color:var(--ink-soft);}
