:root {
  /* Lighter cream · softer racing green · whiskey leather amber */
  --paper:    #FCF7E6;
  --paper-2:  #F5EFD8;
  --ink:      #2F362D;
  --ink-2:    #3A413A;
  --ink-3:    #5E6658;
  --muted:    #8A8F82;
  --line:     #E7DCBB;
  --line-2:   #D2C598;
  --green:    #2E6240;
  --green-2:  #234B31;
  --green-soft: #DFE9D7;
  --amber:    #B07A3A;
  --amber-2:  #8C5B22;
  --amber-soft: #EEDCB7;
  --accent:   var(--green);
  --accent-2: var(--green-2);
  --radius:   14px;
  --radius-sm: 8px;
  --max: 1200px;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--ink); background:var(--paper);
  font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
.container{max-width:var(--max); margin:0 auto; padding:0 28px}
.container.narrow{max-width:780px}
.center{text-align:center}
.center-flex{justify-content:center}

/* ===== TYPE ===== */
.display{
  font-size:clamp(40px, 5.8vw, 66px);
  line-height:1.06;
  letter-spacing:-0.024em;
  font-weight:700;
  margin:0 0 22px;
  color:var(--ink);
}
.display .soft{
  color:var(--green);
  font-weight:600;
}
.display .amber{color:var(--amber); font-weight:700}
.hero-gap{display:block; height:24px}
@media (max-width:560px){.hero-gap{height:16px}}
.h2{
  font-size:clamp(28px, 3.4vw, 40px);
  line-height:1.14;
  letter-spacing:-0.018em;
  font-weight:700;
  margin:0 0 18px;
}
.h2.light{color:var(--paper)}
h3{
  font-size:19px; font-weight:600;
  letter-spacing:-0.005em;
  margin:0 0 10px;
  color:var(--ink);
}
h4{
  font-size:12px; font-weight:700;
  letter-spacing:0.14em; text-transform:uppercase;
  color:var(--ink-3); margin:0 0 14px;
}
.eyebrow{
  font-size:11px; font-weight:700;
  letter-spacing:0.18em; text-transform:uppercase;
  color:var(--green); margin:0 0 14px;
}
.eyebrow.amber{color:var(--amber)}
.eyebrow.light{color:rgba(255,252,242,0.6)}
.sub,.lede{
  font-size:18px; line-height:1.6;
  color:var(--ink-3); max-width:680px;
  margin:0 0 22px;
}
.lede.light{color:rgba(255,252,242,0.88)}
.light{color:var(--paper)}
.micro{font-size:13px; color:var(--muted); margin-top:20px}

/* ===== NAV ===== */
.nav{
  position:sticky; top:0; z-index:60;
  background:rgba(255,252,242,0.9);
  backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .2s ease, background .2s ease;
}
.nav.scrolled{border-bottom-color:var(--line); background:rgba(255,252,242,0.97)}
.nav-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:24px; height:70px;
}
.brand{display:inline-flex; align-items:center; gap:12px; color:var(--ink)}
.logo{color:var(--green); flex-shrink:0}
.brand-name{font-weight:700; font-size:17px; letter-spacing:-0.012em}
.nav-links{display:flex; gap:28px; align-items:center}
.nav-links a{
  color:var(--ink-3); font-weight:500; font-size:14.5px;
  transition:color .15s ease;
}
.nav-links a:hover{color:var(--green)}
@media (max-width:820px){ .nav-links{display:none} }

/* ===== BUTTONS ===== */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 22px; border-radius:var(--radius-sm);
  font-size:15px; font-weight:600; letter-spacing:-0.002em;
  border:1.5px solid transparent;
  transition:all .15s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-lg{padding:16px 28px; font-size:16px}
.btn-primary{
  background:var(--green); color:var(--paper);
  border-color:var(--green);
  box-shadow:0 6px 16px -6px rgba(17,99,62,.4);
}
.btn-primary:hover{background:var(--green-2); border-color:var(--green-2)}
.btn-amber{
  background:var(--amber); color:#fff;
  border-color:var(--amber);
  box-shadow:0 6px 16px -6px rgba(229,123,31,.4);
}
.btn-amber:hover{background:var(--amber-2); border-color:var(--amber-2)}
.btn-ghost{
  color:var(--ink); background:transparent;
  border-color:var(--line-2);
}
.btn-ghost:hover{border-color:var(--ink); background:rgba(255,255,255,0.4)}
.btn-inverse{background:var(--paper); color:var(--green); border-color:var(--paper)}
.btn-inverse:hover{background:#fff}
.btn-ghost-light{
  color:var(--paper); background:transparent;
  border-color:rgba(255,252,242,0.35);
}
.btn-ghost-light:hover{border-color:rgba(255,252,242,0.7)}

/* ===== HERO ===== */
.hero{
  padding:88px 0 104px;
  background:
    radial-gradient(900px 500px at 85% 20%, rgba(176,122,58,0.10), transparent 60%),
    radial-gradient(700px 400px at 15% 70%, rgba(31,64,40,0.08), transparent 55%),
    var(--paper);
  border-bottom:1px solid var(--line);
}
.hero .container{max-width:940px}
.hero-cta{display:flex; gap:12px; flex-wrap:wrap; margin-top:30px}

/* ===== SECTIONS ===== */
.section{
  padding:96px 0;
  border-bottom:1px solid var(--line);
  background:var(--paper);
}
.section-cream{background:var(--paper-2)}
.section-dark{
  background:var(--green-2); color:var(--paper);
  border:none; padding:112px 0;
}
.section-dark .eyebrow{color:var(--amber)}
.eyebrow.center, .h2.center, .lede.center{text-align:center; margin-left:auto; margin-right:auto}

/* ===== PRINCIPLES LIST ===== */
.principles{
  list-style:none; padding:0; margin:30px 0;
}
.principles li{
  padding:20px 24px;
  margin:0 0 12px;
  background:#fff;
  border:1px solid var(--line);
  border-left:4px solid var(--green);
  border-radius:var(--radius-sm);
  font-size:16px; line-height:1.6;
  color:var(--ink-3);
}
.principles li:nth-child(2){border-left-color:var(--amber)}
.principles li:nth-child(3){border-left-color:var(--green)}
.principles li:nth-child(4){border-left-color:var(--amber)}
.principles li strong{color:var(--ink); font-weight:700}

/* ===== 5-STEP LOOP ===== */
.steps{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:14px;
  margin-top:52px;
}
.step{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:26px 22px 24px;
  transition:transform .15s ease, border-color .15s ease;
}
.step:hover{transform:translateY(-2px); border-color:var(--green)}
.step-num{
  display:grid; place-items:center;
  width:34px; height:34px;
  background:var(--green); color:var(--paper);
  border-radius:10px;
  font-weight:700; font-size:15px;
  margin-bottom:16px;
}
.step:nth-child(2) .step-num{background:var(--amber)}
.step:nth-child(4) .step-num{background:var(--amber)}
.step h3{font-size:17px; margin-bottom:8px}
.step p{font-size:14px; color:var(--ink-3); margin:0; line-height:1.55}
@media (max-width:980px){ .steps{grid-template-columns:repeat(2, 1fr)} }
@media (max-width:560px){ .steps{grid-template-columns:1fr} }

/* ===== 3-CARD ROW ===== */
.cards{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
  margin-top:48px;
}
.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:32px 28px 28px;
  display:flex; flex-direction:column;
  transition:border-color .15s ease, transform .15s ease;
}
.card:hover{
  border-color:var(--green);
  transform:translateY(-2px);
}
.card h3{font-size:20px; margin-bottom:10px}
.card p{
  color:var(--ink-3); font-size:15px; line-height:1.6;
  margin:0 0 20px; flex:1;
}
.card-link{
  color:var(--green);
  font-weight:600; font-size:14px;
  letter-spacing:-0.002em;
}
.card-link:hover{color:var(--green-2)}
@media (max-width:860px){ .cards{grid-template-columns:1fr} }

/* ===== STAT STRIP (new — the $ / AI / efficiencies story) ===== */
.stats{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
  margin-top:48px;
}
.stat{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:34px 28px 30px;
  text-align:left;
}
.stat-num{
  font-size:44px; font-weight:800;
  letter-spacing:-0.028em;
  color:var(--green);
  line-height:1;
  margin-bottom:10px;
}
.stat:nth-child(2) .stat-num{color:var(--amber)}
.stat h4{margin-bottom:6px; color:var(--ink); font-size:14px; text-transform:none; letter-spacing:-0.005em; font-weight:700}
.stat p{color:var(--ink-3); font-size:14px; line-height:1.55; margin:0}
@media (max-width:860px){ .stats{grid-template-columns:1fr} }

/* ===== SPLIT ===== */
.split{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:56px;
  align-items:start;
}
@media (max-width:860px){ .split{grid-template-columns:1fr; gap:40px} }

.pledge-box{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:30px 26px;
}
.pledge-box h4{font-size:13px; color:var(--green); margin-bottom:16px}
.pledge{list-style:none; padding:0; margin:0}
.pledge li{
  padding:9px 0;
  border-bottom:1px solid var(--line);
  font-size:14.5px; color:var(--ink-2);
  line-height:1.5;
}
.pledge li:last-child{border-bottom:none}
.pledge li::before{content:"✓  "; color:var(--amber); font-weight:700}
.funding{margin:0}
.funding dt{
  font-weight:800; font-size:20px; color:var(--green);
  margin-top:14px;
}
.funding dt:first-child{margin-top:0}
.funding dd{
  margin:2px 0 0 0; font-size:14px; color:var(--ink-3);
  padding-bottom:12px; border-bottom:1px solid var(--line);
}
.funding dd:last-child{border-bottom:none}

/* ===== LIBRARY GRID ===== */
.lib-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:16px;
}
.lib-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:24px 24px 22px;
  display:block;
  transition:border-color .15s ease, transform .15s ease;
}
.lib-card:hover{
  border-color:var(--green);
  transform:translateY(-2px);
}
.lib-card h4{
  font-size:17px; font-weight:600;
  text-transform:none; letter-spacing:-0.005em;
  color:var(--ink); margin-bottom:8px;
}
.lib-card p{
  color:var(--ink-3); font-size:13.5px;
  margin:0; line-height:1.5;
}
@media (max-width:860px){ .lib-grid{grid-template-columns:1fr} }

/* ===== FORMS ===== */
.form-card{
  background:rgba(0,0,0,0.2);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:var(--radius);
  padding:36px 32px 30px;
  max-width:600px;
  margin:0 auto;
}
.form-card-light{
  background:#fff;
  border:1px solid var(--line);
}
.form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
@media (max-width:560px){.form-row{grid-template-columns:1fr}}
.form-group{
  margin-bottom:16px;
}
.form-group label{
  display:block;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  margin-bottom:6px;
  color:rgba(255,255,255,0.7);
}
.form-card-light .form-group label{
  color:var(--ink-3);
}
.form-group input,
.form-group textarea{
  width:100%;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,0.18);
  border-radius:var(--radius-sm);
  background:rgba(255,255,255,0.08);
  color:#fff;
  font-size:15px;
  font-family:inherit;
  transition:border-color .15s ease;
}
.form-card-light .form-group input,
.form-card-light .form-group textarea{
  background:#fff;
  border-color:var(--line);
  color:var(--ink);
}
.form-group input:focus,
.form-group textarea:focus{
  outline:none;
  border-color:var(--amber);
}
.form-group input::placeholder,
.form-group textarea::placeholder{
  color:rgba(255,255,255,0.35);
}
.form-card-light .form-group input::placeholder,
.form-card-light .form-group textarea::placeholder{
  color:var(--muted);
}
.form-group textarea{resize:vertical}
.form-note{
  font-size:12.5px;
  color:rgba(255,255,255,0.5);
  margin:14px 0 0;
  text-align:center;
}
.form-card-light .form-note{color:var(--muted)}

/* ===== FOOTER ===== */
.footer{
  background:var(--paper);
  border-top:1px solid var(--line);
  padding:60px 0 28px;
}
.footer-inner{
  display:grid;
  grid-template-columns:1.8fr 1fr 1fr;
  gap:42px;
  align-items:start;
}
.footer-brand .brand{margin-bottom:14px}
.footer-tag{
  font-size:15px; color:var(--ink-3);
  margin:0; max-width:320px; line-height:1.55;
}
.footer-col a{
  display:block; padding:5px 0;
  font-size:14px; color:var(--ink-3);
  transition:color .15s;
}
.footer-col a:hover{color:var(--green)}
.footer-bottom{
  margin-top:48px; padding-top:24px;
  border-top:1px solid var(--line);
  display:flex; justify-content:space-between;
  align-items:center;
  font-size:13px; color:var(--muted);
}
.build-tag{
  font-family:ui-monospace,'SF Mono',Menlo,monospace;
  font-size:11px;
  padding:3px 8px;
  background:var(--paper-2);
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  color:var(--ink-3);
}
@media (max-width:860px){
  .footer-inner{grid-template-columns:repeat(2, 1fr)}
  .footer-brand{grid-column:1 / -1}
  .footer-bottom{flex-direction:column; gap:10px; align-items:flex-start}
}

@media (max-width:560px){
  .hero{padding:56px 0 72px}
  .section{padding:64px 0}
  .section-dark{padding:88px 0}
  .container{padding:0 22px}
}
