:root{
  --bg:#FBFAF6;
  --bg-alt:#F2EFE6;
  --ink:#22262120;
  --text:#23271F;
  --muted:#6B6F66;
  --green:#3C5A45;
  --green-deep:#2C4434;
  --sand:#C9B79C;
  --line:#E2DECF;
  --maxw:980px;
  --narrow:720px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  font-size:18px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.narrow{max-width:var(--narrow);}
a{color:var(--green);text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2{font-family:'Fraunces',Georgia,'Times New Roman',serif;font-weight:500;line-height:1.12;letter-spacing:-0.01em;color:var(--text);}
strong{font-weight:600;color:var(--green-deep);}

.skip{position:absolute;left:-9999px;top:0;background:var(--green);color:#fff;padding:10px 16px;border-radius:6px;}
.skip:focus{left:16px;top:12px;z-index:50;}

.site-head{position:sticky;top:0;background:rgba(251,250,246,.86);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--line);z-index:20;}
.head-inner{display:flex;align-items:center;justify-content:space-between;padding-top:18px;padding-bottom:18px;}
.brand{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:19px;color:var(--text);}
.brand:hover{text-decoration:none;}
.site-head nav a{color:var(--muted);font-size:15px;margin-left:26px;}
.site-head nav a:hover{color:var(--green);text-decoration:none;}

.hero{padding:96px 0 84px;}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:13px;font-weight:500;color:var(--sand);margin:0 0 22px;}
.eyebrow{color:#A38F6E;}
.hero h1{font-size:clamp(34px,6vw,60px);margin:0 0 26px;max-width:14ch;}
.lede{font-size:clamp(19px,2.4vw,23px);color:var(--muted);max-width:42ch;margin:0 0 36px;}

.cta-row{display:flex;flex-wrap:wrap;gap:14px;}
.btn{display:inline-block;padding:13px 24px;border-radius:999px;font-size:16px;font-weight:500;transition:transform .12s ease,background .15s ease,color .15s ease;}
.btn:hover{text-decoration:none;transform:translateY(-1px);}
.btn-solid{background:var(--green);color:#fff;}
.btn-solid:hover{background:var(--green-deep);}
.btn-ghost{border:1px solid var(--line);color:var(--text);background:transparent;}
.btn-ghost:hover{border-color:var(--green);color:var(--green);}

.band{padding:74px 0;border-top:1px solid var(--line);}
.band.alt{background:var(--bg-alt);}
.band h2{font-size:clamp(24px,3.4vw,34px);margin:0 0 22px;}
.band p{margin:0 0 18px;color:var(--text);}
.band .big{font-size:clamp(20px,2.4vw,25px);line-height:1.5;color:var(--text);}
.band .muted{color:var(--muted);}
.links{margin-top:26px;font-size:17px;}

.ask-ai{padding:78px 0;background:var(--green);color:#EAF1EA;}
.ask-ai h2{color:#fff;font-size:clamp(24px,3.4vw,32px);margin:0 0 14px;}
.ask-ai p{color:#CBDDCB;max-width:54ch;margin:0 0 30px;}
.ai-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;}
.ai-btn{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:18px 20px;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(255,255,255,.06);color:#fff;cursor:pointer;text-align:left;transition:background .15s ease,transform .12s ease,border-color .15s ease;font-family:inherit;}
.ai-btn:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.5);transform:translateY(-2px);}
.ai-btn:focus-visible{outline:3px solid var(--sand);outline-offset:2px;}
.ai-name{font-size:18px;font-weight:600;}
.ai-sub{font-size:13px;color:#B7CCB7;}
.ai-note{min-height:1.2em;margin:18px 0 0;color:#CFE3CF;font-size:14px;}

.site-foot{padding:30px 0;border-top:1px solid var(--line);color:var(--muted);font-size:14px;}
.site-foot .foot-links a{color:var(--muted);margin-left:18px;}
.site-foot .foot-links a:hover{color:var(--green);}

@media (max-width:600px){
  body{font-size:17px;}
  .hero{padding:64px 0 56px;}
  .band{padding:56px 0;}
  .site-head nav a{margin-left:16px;font-size:14px;}
  .head-inner{flex-wrap:wrap;gap:6px;}
}
