:root{
  --ink:#122019; --ink-soft:#3c4f47;
  --paper:#F7F5EE; --paper-alt:#EFEBDF;
  --line:#DEDACB;
  --brand:#16614A; --brand-dark:#0E4335; --brand-tint:#E4EFE9;
  --accent:#D9711F; --accent-dark:#B75A14;
  --white:#FFFFFF;
  --radius:14px;
  --shadow:0 1px 2px rgba(18,32,25,.04), 0 8px 24px -12px rgba(18,32,25,.18);
  --maxw:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:"Manrope",system-ui,sans-serif; font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:"PT Serif",Georgia,serif; font-weight:700; line-height:1.15; margin:0 0 .5em; color:var(--ink)}
h1{font-size:clamp(32px,5vw,52px)}
h2{font-size:clamp(26px,3.4vw,36px)}
h3{font-size:20px}
p{margin:0 0 1em}
a{color:var(--brand)}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px}
section{padding:88px 0}
.eyebrow{
  display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:13px; letter-spacing:.06em;
  text-transform:uppercase; color:var(--brand-dark); background:var(--brand-tint); border-radius:999px;
  padding:7px 16px; margin-bottom:18px;
}
.lede{font-size:19px; color:var(--ink-soft); max-width:640px}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:"Manrope",sans-serif; font-weight:700; font-size:16px; text-decoration:none; cursor:pointer;
  border-radius:10px; padding:15px 28px; border:1px solid transparent; transition:transform .12s ease, box-shadow .12s ease;
}
.btn:active{transform:translateY(1px)}
.btn-accent{background:var(--accent); color:#fff; box-shadow:0 10px 24px -10px rgba(217,113,31,.55)}
.btn-accent:hover{background:var(--accent-dark)}
.btn-ghost{background:transparent; color:var(--ink); border-color:var(--line)}
.btn-ghost:hover{border-color:var(--ink)}
.btn-lg{padding:18px 34px; font-size:17px}

header.site{
  position:sticky; top:0; z-index:40; background:rgba(247,245,238,.92); backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
header.site .bar{display:flex; align-items:center; justify-content:space-between; padding:16px 24px; max-width:var(--maxw); margin:0 auto}
.logo{display:flex; align-items:center; gap:10px; font-family:"PT Serif",serif; font-weight:700; font-size:22px; color:var(--ink); text-decoration:none}
.logo .mark{width:34px; height:34px; border-radius:9px; background:var(--brand); display:flex; align-items:center; justify-content:center}
nav.primary{display:flex; gap:24px}
nav.primary a{color:var(--ink-soft); text-decoration:none; font-weight:600; font-size:15px}
nav.primary a:hover{color:var(--brand-dark)}
.nav-cta{display:flex; align-items:center; gap:16px}
@media (max-width:960px){
  nav.primary{display:none}
}

.hero{padding:72px 0 40px}
.hero .grid{display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center}
@media (max-width:900px){ .hero .grid{grid-template-columns:1fr} }
.hero-cta-row{display:flex; gap:14px; flex-wrap:wrap; margin-top:28px}
.hero-trust{margin-top:34px; display:flex; gap:28px; flex-wrap:wrap; color:var(--ink-soft); font-size:14px}
.hero-trust b{display:block; font-family:"PT Serif",serif; font-size:26px; color:var(--brand-dark)}

.dashboard-mock{
  background:var(--white); border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow);
  padding:20px; position:relative;
}
.dashboard-mock .top{display:flex; justify-content:space-between; align-items:center; margin-bottom:16px}
.dashboard-mock .top .dot{width:9px;height:9px;border-radius:50%;background:#DEDACB;display:inline-block;margin-right:4px}
.dashboard-mock .kpis{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:16px}
.kpi{background:var(--paper-alt); border-radius:12px; padding:14px}
.kpi .n{font-family:"PT Serif",serif; font-size:22px; color:var(--brand-dark)}
.kpi .l{font-size:12px; color:var(--ink-soft)}
.bars{display:flex; align-items:flex-end; gap:8px; height:110px; background:var(--paper-alt); border-radius:12px; padding:14px}
.bars i{flex:1; background:var(--brand); border-radius:4px 4px 0 0; opacity:.85}
.rows{margin-top:14px; display:flex; flex-direction:column; gap:8px}
.rows .r{display:flex; justify-content:space-between; font-size:13px; color:var(--ink-soft); padding:8px 10px; background:var(--paper-alt); border-radius:8px}
.rows .r b{color:var(--ink)}

.pain-list{display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:40px}
@media (max-width:800px){ .pain-list{grid-template-columns:1fr} }
.pain-item{display:flex; gap:14px; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:22px}
.pain-item svg{flex:none; margin-top:2px; color:var(--accent)}
.pain-item p{margin:0; color:var(--ink-soft)}

.section-alt{background:var(--white); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}

.usp-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:44px}
@media (max-width:900px){ .usp-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:620px){ .usp-grid{grid-template-columns:1fr} }
.usp-card{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:26px}
.usp-card .ic{width:44px; height:44px; border-radius:10px; background:var(--brand-tint); color:var(--brand-dark); display:flex; align-items:center; justify-content:center; margin-bottom:16px}
.usp-card p{color:var(--ink-soft); margin:0; font-size:15px}
.usp-card.featured{background:var(--brand); border-color:var(--brand)}
.usp-card.featured h3, .usp-card.featured p{color:#fff}
.usp-card.featured .ic{background:rgba(255,255,255,.16); color:#fff}

.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:44px}
@media (max-width:900px){ .stats-grid{grid-template-columns:repeat(2,1fr)} }
.stat{background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:26px}
.stat .n{font-family:"PT Serif",serif; font-size:38px; color:var(--brand-dark)}
.stat .l{color:var(--ink-soft); font-size:14px; margin-top:6px}
.stats-note{margin-top:18px; font-size:13px; color:var(--ink-soft)}

.audience-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:44px}
@media (max-width:800px){ .audience-grid{grid-template-columns:1fr} }
.audience-card{background:var(--white); border:1px solid var(--line); border-radius:20px; padding:32px}
.audience-card .tag{display:inline-block; font-size:13px; font-weight:700; color:var(--brand-dark); background:var(--brand-tint); padding:5px 12px; border-radius:999px; margin-bottom:14px}
.audience-card ul{margin:18px 0 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:10px}
.audience-card li{display:flex; gap:10px; font-size:15px; color:var(--ink-soft)}
.audience-card li svg{flex:none; color:var(--brand); margin-top:3px}

.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:44px; counter-reset:step}
@media (max-width:900px){ .steps{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .steps{grid-template-columns:1fr} }
.step{position:relative; padding-top:8px}
.step .num{font-family:"PT Serif",serif; font-size:40px; color:var(--line); margin-bottom:6px}
.step h3{font-size:17px; margin-bottom:6px}
.step p{color:var(--ink-soft); font-size:14px; margin:0}

.faq{max-width:760px; margin:44px auto 0}
details{background:var(--white); border:1px solid var(--line); border-radius:12px; padding:6px 20px; margin-bottom:12px}
summary{cursor:pointer; font-weight:700; padding:14px 0; list-style:none; display:flex; justify-content:space-between; gap:16px; align-items:center}
summary::-webkit-details-marker{display:none}
summary .chev{transition:transform .15s ease; flex:none; color:var(--ink-soft)}
details[open] summary .chev{transform:rotate(180deg)}
details p{color:var(--ink-soft); padding-bottom:16px; margin:0}

.cta-band{background:var(--brand-dark); color:#fff; border-radius:24px; padding:56px; margin:0 auto}
.cta-band h2{color:#fff}
.cta-band .lede{color:rgba(255,255,255,.78)}
.cta-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start}
@media (max-width:860px){ .cta-grid{grid-template-columns:1fr} .cta-band{padding:36px 24px} }

form.lead{background:#fff; border-radius:16px; padding:26px; color:var(--ink)}
.lead label{display:block; font-size:13px; font-weight:700; color:var(--ink-soft); margin-bottom:6px}
.lead .field{margin-bottom:16px}
.lead input, .lead select, .lead textarea{
  width:100%; border:1px solid var(--line); border-radius:8px; padding:12px 13px; font-family:inherit; font-size:15px;
  background:var(--paper); color:var(--ink);
}
.lead input:focus, .lead select:focus, .lead textarea:focus{outline:2px solid var(--brand); outline-offset:1px}
.lead .hp{position:absolute; left:-9999px; opacity:0}
.lead .row2{display:grid; grid-template-columns:1fr 1fr; gap:14px}
@media (max-width:480px){ .lead .row2{grid-template-columns:1fr} }
.lead .btn{width:100%; margin-top:4px}
.lead .fine{font-size:12px; color:var(--ink-soft); margin-top:12px}
.form-msg{font-size:14px; font-weight:700; margin-top:12px}
.form-msg.ok{color:var(--brand-dark)}
.form-msg.err{color:#B3261E}

footer.site{padding:56px 0 40px; color:var(--ink-soft); font-size:14px}
footer.site .cols{display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; border-top:1px solid var(--line); padding-top:32px}
footer.site nav{display:flex; gap:20px; flex-wrap:wrap}
footer.site a{color:var(--ink-soft); text-decoration:none}
footer.site a:hover{color:var(--brand-dark)}

/* --- shared across inner (non-home) pages --- */
.crumbs{font-size:13px; color:var(--ink-soft); padding:22px 0 0}
.crumbs a{color:var(--ink-soft); text-decoration:none}
.crumbs a:hover{color:var(--brand-dark)}
.page-hero{padding:28px 0 8px}
.page-hero .lede{margin-top:14px}
.prose{max-width:760px}
.prose h2{margin-top:1.5em}
.prose ul,.prose ol{padding-left:1.2em}
.prose li{margin-bottom:.4em}
.two-col{display:grid; grid-template-columns:1fr 1fr; gap:40px}
@media (max-width:800px){ .two-col{grid-template-columns:1fr} }
.compare-table{width:100%; border-collapse:collapse; margin-top:24px; font-size:14px}
.compare-table th,.compare-table td{border:1px solid var(--line); padding:12px 16px; text-align:left; vertical-align:top}
.compare-table th{background:var(--paper-alt); font-family:"PT Serif",serif}
.placeholder-note{background:#FCF3DC; border:1px dashed #C79A3B; padding:14px 18px; border-radius:10px; font-size:14px; color:#6b5215; margin:20px 0}
.func-list{display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:32px}
@media (max-width:700px){ .func-list{grid-template-columns:1fr} }
.func-list a{display:block; background:var(--white); border:1px solid var(--line); border-radius:12px; padding:18px 20px; text-decoration:none; color:var(--ink); font-weight:600}
.func-list a:hover{border-color:var(--brand)}
.func-list a span{display:block; font-weight:400; color:var(--ink-soft); font-size:13px; margin-top:4px}
