:root{
  --forest:#2E4034;
  --forest-dark:#203026;
  --sage:#4A6B5A;
  --sage-light:#B9CBB9;
  --cream:#FBF7EF;
  --cream-2:#F3EFE3;
  --amber:#C98A3B;
  --amber-light:#E3B57A;
  --ink:#26261F;
  --muted:#6B6B63;
  --line:#E3DFCF;
  --white:#ffffff;
  --maxw:1080px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Georgia', 'Iowan Old Style', serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.6;
}
h1,h2,h3,.brand{ font-family:'Helvetica Neue', Arial, sans-serif; }
a{ color:inherit; }
img{max-width:100%;}
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 28px; }

/* NAV */
.nav{
  position:sticky; top:0; z-index:50;
  background:var(--cream); border-bottom:1px solid var(--line);
}
.nav .wrap{ display:flex; align-items:center; justify-content:space-between; height:72px; }
.brand{ font-weight:800; letter-spacing:0.02em; font-size:19px; color:var(--forest); text-decoration:none; }
.brand span{ color:var(--amber); }
.navlinks{ display:flex; gap:28px; list-style:none; margin:0; padding:0; font-family:'Helvetica Neue',Arial,sans-serif; font-size:14px;}
.navlinks a{ text-decoration:none; color:var(--sage); font-weight:600; }
.navlinks a:hover{ color:var(--forest); }
.nav-cta{
  font-family:'Helvetica Neue',Arial,sans-serif; font-weight:700; font-size:13.5px;
  background:var(--forest); color:var(--white); padding:10px 18px; border-radius:6px;
  text-decoration:none; white-space:nowrap;
}
.nav-cta:hover{ background:var(--forest-dark); }
@media (max-width:760px){ .navlinks{ display:none; } }

/* HERO */
.hero{
  background:linear-gradient(180deg, var(--forest) 0%, var(--forest-dark) 100%);
  color:var(--white);
  padding:88px 0 76px;
}
.kicker{
  font-family:'Helvetica Neue',Arial,sans-serif; text-transform:uppercase; letter-spacing:0.14em;
  font-size:12.5px; font-weight:700; color:var(--amber-light); margin:0 0 18px;
}
.hero h1{ font-size:46px; line-height:1.12; margin:0 0 20px; max-width:760px; }
.hero p.lede{ font-size:18px; color:var(--sage-light); max-width:640px; margin:0 0 32px; }
.cta-row{ display:flex; gap:16px; flex-wrap:wrap; }
.btn{
  font-family:'Helvetica Neue',Arial,sans-serif; font-weight:700; font-size:15px;
  padding:14px 26px; border-radius:7px; text-decoration:none; display:inline-block;
}
.btn-primary{ background:var(--amber); color:var(--forest-dark); }
.btn-primary:hover{ background:var(--amber-light); }
.btn-secondary{ background:transparent; color:var(--white); border:1.5px solid rgba(255,255,255,0.45); }
.btn-secondary:hover{ border-color:var(--white); }
.btn-dark{ background:var(--forest); color:var(--white); }
.btn-dark:hover{ background:var(--forest-dark); }

/* SECTIONS */
section{ padding:64px 0; }
section.tight{ padding:40px 0; }
.section-kicker{
  font-family:'Helvetica Neue',Arial,sans-serif; text-transform:uppercase; letter-spacing:0.14em;
  font-size:12px; font-weight:700; color:var(--amber); margin:0 0 12px;
}
h2.section-title{ font-size:30px; color:var(--forest); margin:0 0 18px; max-width:680px; }
p.section-lede{ font-size:16.5px; color:var(--muted); max-width:660px; }

/* PROBLEM GRID */
.grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:18px; margin-top:32px; }
@media (max-width:760px){ .grid{ grid-template-columns:1fr; } }
.card{
  background:var(--white); border:1px solid var(--line); border-radius:10px; padding:24px 26px;
}
.card h3{ font-size:16px; color:var(--forest); margin:0 0 8px; }
.card p{ font-size:14.5px; color:var(--muted); margin:0; }

/* AUDIENCE QUOTE BLOCK */
.quote-block{
  background:var(--sage); color:var(--white); border-radius:12px; padding:38px 40px; margin:36px 0;
}
.quote-block p{ font-size:16.5px; font-style:italic; line-height:1.7; margin:0; }

/* TABLE-LIKE ROWS */
.problem-rows{ margin-top:28px; border-top:1px solid var(--line); }
.problem-row{ display:grid; grid-template-columns:1.15fr 1.6fr; gap:24px; padding:20px 0; border-bottom:1px solid var(--line); }
@media (max-width:700px){ .problem-row{ grid-template-columns:1fr; gap:6px; } }
.problem-row .p-name{ font-family:'Helvetica Neue',Arial,sans-serif; font-weight:700; color:var(--forest); font-size:15px; }
.problem-row .p-resp{ color:var(--muted); font-size:14.5px; }

/* STARTER KIT LIST */
.kit-list{ list-style:none; margin:28px 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:12px 28px; }
@media (max-width:600px){ .kit-list{ grid-template-columns:1fr; } }
.kit-list li{ font-size:15px; padding-left:28px; position:relative; }
.kit-list li:before{ content:"✓"; position:absolute; left:0; color:var(--amber); font-weight:800; }

/* CALLOUT BOX */
.callout{
  background:var(--cream-2); border-left:4px solid var(--amber); border-radius:6px;
  padding:20px 24px; margin:28px 0; font-size:14.5px; color:var(--ink);
}
.callout b{ color:var(--forest); }

/* FOOTER CTA BAND */
.band{
  background:var(--forest); color:var(--white); text-align:center; padding:60px 0;
}
.band h2{ color:var(--white); font-size:28px; margin:0 0 14px; }
.band p{ color:var(--sage-light); margin:0 0 28px; font-size:15.5px; }

/* FOOTER */
footer{ background:var(--forest-dark); color:var(--sage-light); padding:40px 0 30px; font-family:'Helvetica Neue',Arial,sans-serif; font-size:13px; }
footer .wrap{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:20px; }
footer a{ color:var(--sage-light); text-decoration:none; }
footer a:hover{ color:var(--white); }
footer .flinks{ display:flex; gap:20px; flex-wrap:wrap; }
.disclaimer-note{ max-width:680px; color:#8FA090; font-size:12px; margin-top:18px; line-height:1.6; }

/* PAGE HERO (secondary pages) */
.page-hero{ background:var(--cream-2); padding:56px 0 44px; border-bottom:1px solid var(--line); }
.page-hero h1{ font-size:34px; color:var(--forest); margin:0 0 12px; }
.page-hero p{ color:var(--muted); font-size:16px; max-width:640px; margin:0; }

/* TWO COL */
.twocol{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; }
@media (max-width:760px){ .twocol{ grid-template-columns:1fr; } }

.tag{
  display:inline-block; font-family:'Helvetica Neue',Arial,sans-serif; font-size:11.5px; font-weight:700;
  text-transform:uppercase; letter-spacing:0.06em; color:var(--forest); background:var(--sage-light);
  padding:5px 10px; border-radius:5px; margin-right:8px; margin-bottom:8px;
}
.beta-banner{
  background:var(--amber); color:var(--forest-dark); text-align:center; font-family:'Helvetica Neue',Arial,sans-serif;
  font-size:13.5px; font-weight:700; padding:10px 16px;
}
.beta-banner a{ text-decoration:underline; }
