:root{
  --paper:#F3EBDD;
  --green:#17382D;
  --green-light:#22493c;
  --ink:#18201D;
  --champagne:#B89B68;
  --brown:#4A2E1F;
  --red:#A23B2A;
  --panel:#ECE0CC;
  --panel2:#E6D9C2;
  --line:#D9C7A3;
  --maxw:760px;
  --font-title: 'Instrument Serif', Georgia, serif;
  --font-body: 'Space Grotesk', Helvetica, Arial, sans-serif;
}
*{box-sizing:border-box}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family: var(--font-body); font-weight:300;
  line-height:1.75;
}
a{ color:var(--green); }
header.hero{
  padding:6rem 1.5rem 3.5rem; text-align:center;
  background:var(--green); color:var(--paper);
}
header.hero p.kicker{
  letter-spacing:.25em; text-transform:uppercase; font-size:.72rem;
  color:var(--champagne); font-family: var(--font-body); font-weight:400; margin-bottom:1.4rem;
}
header.hero h1{
  font-family: var(--font-title); font-style:italic; font-weight:400;
  font-size:clamp(2.4rem,6vw,4rem); margin:0 0 1.3rem; color:var(--paper); line-height:1.15;
}
header.hero p.sub{ color:#D9CFB8; font-size:1.1rem; max-width:600px; margin:0 auto 1.4rem; font-weight:300; }
.hero-ctas{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
.btn{
  display:inline-block; text-decoration:none; font-family: var(--font-body);
  font-weight:500; padding:.85rem 1.8rem; border-radius:2px; font-size:.9rem;
  letter-spacing:.02em;
}
.btn-primary{ background:var(--champagne); color:var(--ink); }
.btn-outline{ border:1px solid var(--champagne); color:var(--paper); }
header.hero .btn-outline{ border-color:var(--champagne); color:var(--paper); }
main .btn-outline{ border:1px solid var(--green); color:var(--green); }

main{ max-width:var(--maxw); margin:0 auto; padding:3.5rem 1.5rem 2rem; }
h2{
  font-family: var(--font-title); font-style:italic; font-weight:400;
  font-size:1.9rem; margin-top:3.4rem; color:var(--green);
  border-left:3px solid var(--red); padding-left:.9rem;
}
h3{ font-family: var(--font-body); text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; color:var(--champagne); margin-top:2.2rem; font-weight:500; }
p{ color:var(--ink); font-size:1.03rem; font-weight:300; }
ul, ol{ color:var(--ink); font-weight:300; }
blockquote{
  margin:2.2rem 0; padding:1.1rem 1.6rem; border-left:3px solid var(--green);
  background:var(--panel); font-style:italic; font-family: var(--font-title);
  color:var(--ink); font-size:1.2rem;
}
.stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:1rem; margin:2rem 0; }
.stats div{ background:var(--panel); border:1px solid var(--line); padding:1.2rem; border-radius:2px; text-align:center; }
.stats div b{ display:block; font-size:1.6rem; color:var(--green); font-family: var(--font-title); }
.stats div span{ font-size:.75rem; color:var(--brown); font-family: var(--font-body); text-transform:uppercase; letter-spacing:.03em; }

.pillars{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1rem; margin:1.5rem 0; }
.pillars div{ background:var(--panel); border:1px solid var(--line); padding:1rem 1.2rem; border-radius:2px; }
.pillars div b{ color:var(--green); display:block; margin-bottom:.3rem; font-family: var(--font-title); font-style:italic; font-size:1.1rem; }

.flow{ display:flex; flex-direction:column; align-items:center; gap:.3rem; margin:2rem 0; }
.flow div{
  background:var(--green); color:var(--paper); border:none; border-radius:2px;
  padding:.75rem 1.6rem; font-family: var(--font-title); font-style:italic; font-size:1.05rem;
  text-align:center; min-width:200px;
}
.flow span{ color:var(--red); font-size:.9rem; font-weight:500; }

.diagnostic{ background:var(--panel); border:1px solid var(--line); border-radius:2px; padding:1.8rem; margin:2rem 0; }
.diagnostic label{ display:flex; align-items:flex-start; gap:.7rem; padding:.6rem 0; cursor:pointer; color:var(--ink); border-bottom:1px solid var(--line); font-weight:300; }
.diagnostic label:last-of-type{ border-bottom:none; }
.diagnostic input[type=checkbox]{ margin-top:.3rem; accent-color:var(--green); }
.diagnostic-state{ display:none; margin-top:1.6rem; padding-top:1.6rem; border-top:1px solid var(--line); }
.diagnostic-state.show{ display:block; }
.diagnostic-state .label{ font-family: var(--font-body); text-transform:uppercase; letter-spacing:.1em; font-size:.75rem; color:var(--red); margin-bottom:.5rem; font-weight:500; }
.diagnostic-state p{ margin:0 0 1.2rem; }
.lead-form{ display:none; margin-top:1.6rem; padding-top:1.6rem; border-top:1px solid var(--line); }
.lead-form.show{ display:block; }
.lead-form input{
  width:100%; background:var(--paper); border:1px solid var(--champagne); border-radius:2px;
  color:var(--ink); padding:.7rem .9rem; margin-bottom:.8rem; font-family: var(--font-body); font-size:.95rem;
}
.lead-form input::placeholder{ color:#9a8a6d; }

.revenue-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:.8rem; margin:1.6rem 0; }
.revenue-grid div{ background:var(--panel); border:1px solid var(--line); border-radius:2px; padding:1rem 1.2rem; text-align:center; }
.revenue-grid div b{ display:block; font-family: var(--font-title); color:var(--green); font-size:1.3rem; margin-bottom:.2rem; }
.revenue-grid div span{ color:var(--brown); font-size:.82rem; }

.cluster-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; margin:1.5rem 0; }
.cluster-grid a, .cluster-grid span{
  display:block; background:var(--panel); border:1px solid var(--line); border-radius:2px;
  padding:1.1rem 1.3rem; text-decoration:none; color:var(--ink); font-family: var(--font-body); font-size:.95rem;
}
.cluster-grid a:hover{ border-color:var(--green); }
.cluster-grid span{ color:#9a8a6d; }
.cluster-grid .soon{ font-size:.7rem; color:var(--red); text-transform:uppercase; letter-spacing:.06em; display:block; margin-top:.4rem; }

.cta-block{
  background:var(--green); color:var(--paper); border-radius:2px;
  padding:2.4rem 1.8rem; margin:3rem 0; text-align:center;
}
.cta-block h3{ margin-top:0; font-family: var(--font-title); font-style:italic; font-size:1.5rem; color:var(--paper); text-transform:none; letter-spacing:normal; }
.cta-block p{ margin-bottom:1.4rem; color:#D9CFB8; }
.cta-row{ display:flex; gap:.8rem; justify-content:center; flex-wrap:wrap; }

.faq details{ border-bottom:1px solid var(--line); padding:1rem 0; }
.faq summary{ cursor:pointer; font-weight:500; color:var(--green); font-size:1.02rem; font-family: var(--font-body); }
.faq summary::marker{ color:var(--red); }

.crosslink{
  display:flex; gap:1rem; align-items:center; background:var(--panel);
  border:1px solid var(--line); border-radius:2px; padding:1.4rem 1.6rem; margin:3rem 0;
}
.crosslink p{ margin:0; flex:1; }
.crosslink a{ white-space:nowrap; }

footer{ text-align:center; padding:3rem 1.5rem; color:var(--brown); font-family: var(--font-body); font-size:.82rem; border-top:1px solid var(--line); }
footer a{ color:var(--brown); font-weight:500; }

.note{
  font-family: var(--font-body); font-size:.72rem; color:var(--brown);
  text-align:center; padding:.6rem 1.5rem; background:var(--panel2);
}
.tagline{ font-family: var(--font-title); font-style:italic; font-size:1.3rem; color:var(--green); text-align:center; margin:3rem 0; }
.signature{ font-family: var(--font-body); text-transform:uppercase; letter-spacing:.18em; font-size:.78rem; color:var(--champagne); }
header.hero .signature{ color:var(--champagne); margin-bottom:1.6rem; display:block; }
main .signature{ color:var(--brown); }

.hero-grid{
  max-width:1100px; margin:0 auto; display:grid;
  grid-template-columns:1.1fr .9fr; gap:2.5rem; align-items:center;
  text-align:left; padding:0 1.5rem;
}
.hero-grid .hero-text{ text-align:left; }
.hero-grid .hero-text .kicker,
.hero-grid .hero-text .sub,
.hero-grid .hero-text .signature{ text-align:left; margin-left:0; margin-right:0; }
.hero-grid .hero-text h1{ text-align:left; }
.hero-grid .hero-photo img{
  width:100%; height:auto; aspect-ratio:4/5; object-fit:cover;
  border:1px solid var(--champagne); border-radius:2px; display:block;
}
.hero-grid .hero-ctas{ justify-content:flex-start; }
@media (max-width:820px){
  .hero-grid{ grid-template-columns:1fr; text-align:center; }
  .hero-grid .hero-text{ text-align:center; order:2; }
  .hero-grid .hero-text .kicker, .hero-grid .hero-text h1, .hero-grid .hero-text .sub, .hero-grid .hero-text .signature{ text-align:center; }
  .hero-grid .hero-ctas{ justify-content:center; }
  .hero-grid .hero-photo{ order:1; max-width:280px; margin:0 auto; }
}

.authoria-grid{ display:grid; grid-template-columns:200px 1fr; gap:1.8rem; align-items:start; margin:1.5rem 0; }
.authoria-grid img{ width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; border:1px solid var(--champagne); border-radius:2px; }
@media (max-width:600px){
  .authoria-grid{ grid-template-columns:1fr; }
  .authoria-grid img{ max-width:220px; margin:0 auto; }
}
