  :root{
    --paper:#f4ece0; --paper-2:#efe4d2; --paper-3:#e9dcc6;
    --ink:#272018; --ink-soft:#5c5346; --ink-faint:#8a7f6d;
    --green:#3a5547; --green-deep:#2c4135; --clay:#b3622f; --clay-soft:#c47a45;
    --rule:#d6c8ad;
    --display:"Fraunces",Georgia,serif; --body:"Newsreader",Georgia,serif;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:1.26rem;line-height:1.72;font-weight:380;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
  body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.045;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
  .page{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding:0 clamp(22px,5vw,64px)}
  a{color:var(--green-deep);text-decoration:none}
  a:hover{text-decoration:underline;text-underline-offset:4px}
  .eyebrow{font-weight:500;font-size:.82rem;letter-spacing:.22em;text-transform:uppercase;color:var(--clay);margin:0 0 1rem;display:flex;align-items:center;gap:.7em}
  .eyebrow::before{content:"";width:26px;height:1px;background:var(--clay);opacity:.7}
  .center .eyebrow{justify-content:center}

  nav.bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 0;border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:30;background:rgba(244,236,224,.9);backdrop-filter:blur(8px)}
  .wordmark{font-family:var(--display);font-weight:600;font-size:1.45rem;color:var(--ink)}
  .wordmark b{color:var(--green-deep)}
  nav .links{display:flex;gap:26px;font-size:1rem;color:var(--ink-soft)}
  nav .links a{color:var(--ink-soft)}
  nav .call{font-weight:500;color:var(--green-deep);border:1px solid var(--green-deep);border-radius:40px;padding:7px 18px;font-size:1rem;white-space:nowrap}
  nav .call:hover{background:var(--green-deep);color:#fff;text-decoration:none}
  @media(max-width:780px){nav .links{display:none}}

  .hero{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(20px,5vw,60px);align-items:center;padding:clamp(40px,7vw,86px) 0 clamp(34px,5vw,60px)}
  h1{font-family:var(--display);font-weight:500;font-size:clamp(2.7rem,6.6vw,4.7rem);line-height:1;letter-spacing:-.02em;margin:.25em 0 0;max-width:13ch}
  h1 em{font-style:italic;color:var(--green-deep)}
  .hero .standfirst{font-size:clamp(1.25rem,2.2vw,1.5rem);color:var(--ink-soft);margin:1.6rem 0 0;max-width:34ch}
  .hero .actions{margin-top:2rem;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
  .btn{display:inline-block;background:var(--green-deep);color:#fff;font-weight:500;font-size:1.12rem;padding:13px 28px;border-radius:40px}
  .btn:hover{background:var(--green);text-decoration:none}
  .btn-ghost{color:var(--green-deep);font-size:1.1rem}

  .device-stage{position:relative;display:flex;justify-content:center;align-items:center;min-height:340px}
  .device-stage::before{content:"";position:absolute;width:74%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(196,122,69,.22),rgba(196,122,69,0) 68%)}
  .device-stage svg{position:relative;width:min(74%,300px);height:auto;filter:drop-shadow(0 26px 30px rgba(39,32,24,.28))}

  section{padding:clamp(40px,6vw,72px) 0;border-top:1px solid var(--rule)}
  h2{font-family:var(--display);font-weight:500;font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.08;letter-spacing:-.015em;margin:0 0 .55em;max-width:20ch}
  h2 em{font-style:italic;color:var(--green-deep)}
  .lead{font-size:1.22rem;color:var(--ink-soft);max-width:42ch;margin:.2rem 0 0}
  .center{text-align:center}.center h2,.center .lead{margin-left:auto;margin-right:auto}

  .showcase{display:grid;grid-template-columns:1fr 1fr 1fr;gap:clamp(16px,3vw,30px);margin-top:34px}
  .feature h3{font-family:var(--display);font-weight:500;font-size:1.3rem;color:var(--ink);margin:0 0 .25em}
  .feature p{margin:0;color:var(--ink-soft);font-size:1.08rem;line-height:1.5}
  .feature .ic{width:34px;height:34px;border:1.5px solid var(--clay);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--clay);margin-bottom:.6rem;font-size:1.05rem}

  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,36px);margin-top:30px}
  .step{padding-top:1.2rem;border-top:2px solid var(--clay-soft)}
  .step .n{font-family:var(--display);font-weight:500;font-size:1.4rem;color:var(--clay)}
  .step h3{font-family:var(--display);font-weight:500;font-size:1.45rem;margin:.2em 0 .25em;color:var(--ink)}
  .step p{margin:0;color:var(--ink-soft);font-size:1.1rem;line-height:1.5}

  .ask-quote{margin:1.4rem auto 0;max-width:30ch;text-align:center}
  .ask-quote p{font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(1.5rem,3.4vw,2.1rem);line-height:1.3;color:var(--green-deep);margin:.2em 0}
  .ask-quote p::before{content:"“";color:var(--clay)}.ask-quote p::after{content:"”";color:var(--clay)}

  .pledge{background:var(--paper-2);border:1px solid var(--rule);border-radius:3px;padding:clamp(24px,4vw,38px);position:relative;box-shadow:0 1px 0 #fff inset,0 18px 40px -32px rgba(39,32,24,.5);max-width:640px}
  .pledge::before{content:"";position:absolute;inset:7px;border:1px solid var(--rule);border-radius:2px;pointer-events:none}
  .pledge ul{list-style:none;margin:0;padding:0}
  .pledge li{position:relative;padding:.7em 0 .7em 2.1rem;border-bottom:1px solid var(--rule);font-size:1.16rem;line-height:1.45}
  .pledge li:last-child{border-bottom:none;padding-bottom:0}
  .pledge li::before{content:"✦";position:absolute;left:0;top:.62em;color:var(--clay);font-size:.9rem}
  .pledge li strong{color:var(--ink);font-weight:500}

  dl.care{margin:30px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 44px}
  dl.care div{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:baseline;padding:1.05rem 0;border-top:1px solid var(--rule)}
  dl.care .n{font-family:var(--display);font-weight:500;font-size:1.4rem;color:var(--clay);line-height:1}
  dl.care dt{font-family:var(--display);font-weight:500;font-size:1.26rem;color:var(--ink);margin:0}
  dl.care dd{margin:.15em 0 0;color:var(--ink-soft);font-size:1.06rem;line-height:1.5}

  ul.who{list-style:none;margin:24px 0 0;padding:0;columns:2;column-gap:44px}
  ul.who li{padding:.55em 0;border-bottom:1px solid var(--rule);font-size:1.12rem;break-inside:avoid}
  ul.who li::before{content:"— ";color:var(--clay)}

  .prices{display:grid;grid-template-columns:1fr 1fr;margin-top:8px}
  .price{padding:clamp(20px,3vw,32px)}
  .price:first-child{border-right:1px solid var(--rule)}
  .price .pname{font-weight:500;letter-spacing:.16em;text-transform:uppercase;font-size:.8rem;color:var(--ink-faint)}
  .price .amt{font-family:var(--display);font-weight:500;font-size:clamp(2.2rem,5vw,3rem);line-height:1;color:var(--green-deep);margin:.25em 0 .1em}
  .price .amt .sm{font-size:.42em;color:var(--ink-faint)}
  .price .amt .from{display:block;font-size:.32em;letter-spacing:.16em;text-transform:uppercase;color:var(--clay);margin-bottom:.35em}
  .price p{margin:.3em 0 0;color:var(--ink-soft);font-size:1.06rem;line-height:1.5}
  .quote-note{margin:1.3rem 0 0;font-style:italic;color:var(--ink-faint);font-size:1.06rem}

  .talk{margin-top:clamp(36px,5vw,56px);border-top:2px solid var(--ink);padding:clamp(44px,7vw,78px) 0 clamp(38px,6vw,60px);text-align:center}
  .talk h2{margin:0 auto .45em;max-width:20ch}
  .talk p{max-width:42ch;margin:0 auto 1.4rem;color:var(--ink-soft);font-size:1.2rem}
  .phone{display:inline-block;font-family:var(--display);font-weight:500;font-size:clamp(2.1rem,6vw,3rem);color:var(--clay);border-bottom:2px solid var(--clay-soft);padding-bottom:.06em}
  .phone:hover{color:var(--green-deep);border-color:var(--green-deep);text-decoration:none}
  .serving{margin-top:1.3rem;font-size:.88rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint)}
  footer{border-top:1px solid var(--rule);padding:26px 0 56px;text-align:center;color:var(--ink-faint);font-size:1rem;font-style:italic}

  .reveal{opacity:0;transform:translateY(14px);animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards}
  .d1{animation-delay:.05s}.d2{animation-delay:.18s}.d3{animation-delay:.32s}.d4{animation-delay:.46s}
  @keyframes rise{to{opacity:1;transform:none}}
  @keyframes glow{0%,100%{opacity:.55}50%{opacity:1}}
  .pulse{animation:glow 3.6s ease-in-out infinite}
  @media(prefers-reduced-motion:reduce){.reveal,.pulse{animation:none;opacity:1;transform:none}}

  @media(max-width:820px){
    .hero{grid-template-columns:1fr;text-align:center}.hero .standfirst,h1{margin-left:auto;margin-right:auto}.hero .actions{justify-content:center}
    .device-stage{order:-1;min-height:280px}
    .showcase,.steps{grid-template-columns:1fr}
    dl.care{grid-template-columns:1fr}ul.who{columns:1}
    .prices{grid-template-columns:1fr}.price:first-child{border-right:none;border-bottom:1px solid var(--rule)}
  }
  /* --- sub-page utilities --- */
  .subhero{padding:clamp(38px,7vw,76px) 0 clamp(16px,3vw,32px)}
  .subhero h1{max-width:18ch;font-size:clamp(2.4rem,6vw,4rem)}
  .subhero .standfirst{font-size:clamp(1.2rem,2.2vw,1.45rem);color:var(--ink-soft);max-width:40ch;margin:1.3rem 0 0}
  .prose p{font-size:1.2rem;line-height:1.75;color:var(--ink-soft);max-width:62ch;margin:0 0 1.15em}
  .prose p strong{color:var(--ink);font-weight:500}
  .qa{border-top:1px solid var(--rule);padding:1.35rem 0}
  .qa:first-of-type{border-top:none}
  .qa h3{font-family:var(--display);font-weight:500;font-size:1.4rem;color:var(--ink);margin:0 0 .3em}
  .qa p{margin:0;color:var(--ink-soft);font-size:1.13rem;line-height:1.6;max-width:60ch}
  .specs{list-style:none;padding:0;margin:24px 0 0}
  .specs li{display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:.85rem 0;border-top:1px solid var(--rule);font-size:1.1rem}
  .specs li b{font-family:var(--display);font-weight:500;color:var(--ink);min-width:8.5rem}
