:root{
    --ink:#0B0E14;
    --paper:#F5F1E8;
    --orchard:#3D6B5C;
    --walnut:#C97D3E;
    --mist:#7A8B99;
    --ink-soft: rgba(245,241,232,0.62);
    --ink-faint: rgba(245,241,232,0.32);
    --hairline: rgba(245,241,232,0.14);
  }

  *{margin:0;padding:0;box-sizing:border-box;}

  html{scroll-behavior:smooth;}

  body{
    background:var(--ink);
    color:var(--paper);
    font-family:'Inter',system-ui,sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
  }

  a{color:inherit;}
  :focus-visible{outline:2px solid var(--walnut); outline-offset:3px; border-radius:2px;}

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

  /* ───────── NAV ───────── */
  nav{
    position:fixed; top:0; left:0; right:0; z-index:50;
    display:flex; align-items:center; justify-content:space-between;
    padding:22px 32px;
    backdrop-filter:blur(10px);
    background:linear-gradient(to bottom, rgba(11,14,20,0.85), rgba(11,14,20,0));
  }
  .logo{
    font-family:'Fraunces',serif;
    font-weight:500;
    font-size:18px;
    letter-spacing:0.01em;
  }
  .logo span{color:var(--walnut);}
  nav a.nav-link{
    font-size:13.5px;
    color:var(--ink-soft);
    text-decoration:none;
    border:1px solid var(--hairline);
    padding:8px 18px;
    border-radius:100px;
    transition:border-color .25s, color .25s;
  }
  nav a.nav-link:hover{border-color:var(--walnut); color:var(--paper);}

  /* ───────── HERO ───────── */
  .hero{
    position:relative;
    min-height:100vh;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding-top:120px;
    padding-bottom:80px;
    overflow:hidden;
  }

  .flow-field{
    position:absolute;
    top:0; left:0; width:100%; height:100%;
    z-index:0;
    opacity:0.55;
  }
  .flow-field path{
    fill:none;
    stroke-width:1;
    stroke-linecap:round;
  }

  .hero-inner{position:relative; z-index:2;}

  .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:9px;
    font-size:12.5px;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--ink-soft);
    margin-bottom:28px;
  }
  .eyebrow::before{
    content:'';
    width:6px; height:6px;
    border-radius:50%;
    background:var(--walnut);
    box-shadow:0 0 0 0 rgba(201,125,62,0.5);
    animation:pulse 2.6s infinite;
  }
  @keyframes pulse{
    0%{box-shadow:0 0 0 0 rgba(201,125,62,0.45);}
    70%{box-shadow:0 0 0 7px rgba(201,125,62,0);}
    100%{box-shadow:0 0 0 0 rgba(201,125,62,0);}
  }

  h1{
    font-family:'Fraunces',serif;
    font-weight:500;
    font-size:clamp(40px, 6.4vw, 76px);
    line-height:1.04;
    letter-spacing:-0.015em;
    max-width:920px;
  }
  h1 em{
    font-style:italic;
    font-weight:300;
    color:var(--orchard);
    background:linear-gradient(180deg, transparent 62%, rgba(61,107,92,0.35) 62%);
  }

  .hero-sub{
    margin-top:26px;
    max-width:560px;
    font-size:18px;
    line-height:1.6;
    color:var(--ink-soft);
  }

  .hero-cta{
    margin-top:42px;
    display:flex;
    align-items:center;
    gap:20px;
    flex-wrap:wrap;
  }

  .btn-primary{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:var(--paper);
    color:var(--ink);
    font-weight:600;
    font-size:14.5px;
    padding:14px 26px;
    border-radius:100px;
    text-decoration:none;
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .btn-primary:hover{transform:translateY(-2px); box-shadow:0 10px 30px -8px rgba(245,241,232,0.25);}
  .btn-primary svg{transition:transform .25s ease;}
  .btn-primary:hover svg{transform:translateX(3px);}

  .btn-ghost{
    font-size:14.5px;
    color:var(--ink-soft);
    text-decoration:none;
    border-bottom:1px solid var(--hairline);
    padding-bottom:3px;
    transition:color .25s, border-color .25s;
  }
  .btn-ghost:hover{color:var(--paper); border-color:var(--walnut);}

  /* ───────── SECTION SHARED ───────── */
  section{position:relative; padding:120px 0; border-top:1px solid var(--hairline);}
  .section-label{
    font-size:12.5px;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--walnut);
    margin-bottom:18px;
    font-weight:600;
  }
  .section-title{
    font-family:'Fraunces',serif;
    font-weight:500;
    font-size:clamp(28px, 3.6vw, 42px);
    line-height:1.15;
    max-width:680px;
    letter-spacing:-0.01em;
  }
  .section-intro{
    margin-top:18px;
    max-width:560px;
    font-size:16.5px;
    line-height:1.65;
    color:var(--ink-soft);
  }

  /* ───────── PROBLEM ───────── */
  .stat-grid{
    margin-top:64px;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:1px;
    background:var(--hairline);
    border:1px solid var(--hairline);
  }
  .stat-cell{
    background:var(--ink);
    padding:36px 32px;
  }
  .stat-num{
    font-family:'Fraunces',serif;
    font-weight:500;
    font-size:46px;
    color:var(--paper);
    line-height:1;
  }
  .stat-num span{color:var(--walnut); font-size:0.5em; vertical-align:super; margin-left:2px;}
  .stat-label{
    margin-top:14px;
    font-size:14px;
    color:var(--ink-soft);
    line-height:1.5;
    max-width:240px;
  }

  /* ───────── SOLUTION ───────── */
  .flow-steps{
    margin-top:64px;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:0;
    position:relative;
  }
  .flow-steps::before{
    content:'';
    position:absolute;
    top:34px; left:8%; right:8%;
    height:1px;
    background:repeating-linear-gradient(90deg, var(--mist) 0 6px, transparent 6px 14px);
    opacity:0.4;
    z-index:0;
  }
  .step{position:relative; z-index:1; padding-right:24px;}
  .step-marker{
    width:68px; height:68px;
    border-radius:50%;
    border:1px solid var(--hairline);
    background:var(--ink);
    display:flex; align-items:center; justify-content:center;
    margin-bottom:24px;
  }
  .step-marker svg{width:26px; height:26px; stroke:var(--orchard);}
  .step h3{
    font-family:'Fraunces',serif;
    font-weight:500;
    font-size:21px;
    margin-bottom:10px;
  }
  .step p{
    font-size:14.5px;
    line-height:1.6;
    color:var(--ink-soft);
    max-width:280px;
  }

  /* ───────── FRUIT TAGS ───────── */
  .fruit-row{
    margin-top:56px;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
  }
  .fruit-tag{
    font-size:13.5px;
    padding:9px 18px;
    border:1px solid var(--hairline);
    border-radius:100px;
    color:var(--ink-soft);
    transition:border-color .25s, color .25s;
  }
  .fruit-tag:hover{border-color:var(--orchard); color:var(--paper);}

  /* ───────── FOUNDER ───────── */
  .founder-grid{
    margin-top:56px;
    display:grid;
    grid-template-columns:1fr 1.4fr;
    gap:64px;
    align-items:start;
  }
  .founder-card{
    border:1px solid var(--hairline);
    border-radius:18px;
    padding:32px;
  }
  .founder-name{
    font-family:'Fraunces',serif;
    font-size:22px;
    font-weight:500;
  }
  .founder-role{
    font-size:13.5px;
    color:var(--walnut);
    margin-top:6px;
    margin-bottom:22px;
  }
  .founder-cred{
    display:flex;
    gap:10px;
    font-size:13.5px;
    color:var(--ink-soft);
    line-height:1.6;
    padding:10px 0;
    border-top:1px solid var(--hairline);
  }
  .founder-cred:first-of-type{border-top:none; padding-top:0;}
  .founder-cred svg{flex-shrink:0; margin-top:3px; width:14px; height:14px; stroke:var(--orchard);}

  .founder-text p{
    font-size:16.5px;
    line-height:1.75;
    color:var(--ink-soft);
    margin-bottom:18px;
  }
  .founder-text strong{color:var(--paper); font-weight:600;}

  /* ───────── STATUS ───────── */
  .status-bar{
    margin-top:56px;
    border:1px solid var(--hairline);
    border-radius:18px;
    padding:38px 36px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:24px;
  }
  .status-left{display:flex; align-items:center; gap:16px;}
  .status-dot{
    width:10px; height:10px;
    border-radius:50%;
    background:var(--orchard);
    flex-shrink:0;
    box-shadow:0 0 0 0 rgba(61,107,92,0.5);
    animation:pulse2 2.4s infinite;
  }
  @keyframes pulse2{
    0%{box-shadow:0 0 0 0 rgba(61,107,92,0.45);}
    70%{box-shadow:0 0 0 9px rgba(61,107,92,0);}
    100%{box-shadow:0 0 0 0 rgba(61,107,92,0);}
  }
  .status-left p{font-size:15px; color:var(--paper); font-weight:500;}
  .status-left span{font-size:13.5px; color:var(--ink-soft); display:block; margin-top:3px;}

  .progress-track{
    width:220px;
    height:5px;
    background:var(--hairline);
    border-radius:100px;
    overflow:hidden;
  }
  .progress-fill{
    width:18%;
    height:100%;
    background:var(--walnut);
    border-radius:100px;
  }

  /* ───────── CONTACT / FOOTER ───────── */
  footer{
    padding:100px 0 50px;
    border-top:1px solid var(--hairline);
  }
  .footer-title{
    font-family:'Fraunces',serif;
    font-weight:500;
    font-size:clamp(32px, 5vw, 54px);
    line-height:1.08;
    max-width:680px;
    letter-spacing:-0.01em;
  }
  .footer-cta{
    margin-top:36px;
    display:flex;
    gap:18px;
    flex-wrap:wrap;
    align-items:center;
  }
  .email-pill{
    font-family:'Fraunces',serif;
    font-size:18px;
    color:var(--paper);
    text-decoration:none;
    border-bottom:1px solid var(--walnut);
    padding-bottom:4px;
  }
  .footer-bottom{
    margin-top:90px;
    padding-top:28px;
    border-top:1px solid var(--hairline);
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:14px;
    font-size:13px;
    color:var(--ink-faint);
  }

  /* ───────── RESPONSIVE ───────── */
  @media (max-width:860px){
    .stat-grid{grid-template-columns:1fr;}
    .flow-steps{grid-template-columns:1fr; gap:40px;}
    .flow-steps::before{display:none;}
    .founder-grid{grid-template-columns:1fr; gap:36px;}
    section{padding:80px 0;}
    .status-bar{flex-direction:column; align-items:flex-start;}
  }

  .reveal{
    opacity:0;
    transform:translateY(18px);
    transition:opacity .7s ease, transform .7s ease;
  }
  .reveal.in{opacity:1; transform:translateY(0);}
