:root{
  --ink:#1e2721;
  --ink-soft:#445047;
  --cream:#f5f0e6;
  --paper:#fffdf8;
  --sage:#758a76;
  --sage-dark:#536855;
  --clay:#a66c4b;
  --line:#ded8cc;
  --shadow:0 24px 70px rgba(30,39,33,.10);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"DM Sans",system-ui,sans-serif;background:var(--paper);color:var(--ink);line-height:1.6}
a{color:inherit}
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:14px clamp(20px,5vw,72px);background:rgba(255,253,248,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(222,216,204,.8)}
.brand{display:flex;gap:12px;align-items:center;text-decoration:none}
.brand-copy{display:flex;flex-direction:column;line-height:1.05}
.brand-copy strong{font-family:"Libre Baskerville",serif;font-size:1.05rem}
.brand-copy small{font-size:.68rem;margin-top:5px;color:var(--ink-soft)}
.brand-mark{position:relative;width:34px;height:34px;border:2px solid var(--ink);border-top:0;border-radius:4px 4px 8px 8px;display:inline-block}
.brand-mark .roof{position:absolute;width:23px;height:23px;border-top:2px solid var(--ink);border-left:2px solid var(--ink);transform:rotate(45deg);top:-9px;left:4px;background:var(--paper)}
.brand-mark .door{position:absolute;width:9px;height:15px;background:var(--sage);bottom:0;left:11px;border-radius:5px 5px 0 0}
.nav{display:flex;align-items:center;gap:24px}
.nav a{text-decoration:none;font-size:.92rem}
.menu-btn{display:none;background:transparent;border:1px solid var(--line);padding:8px 12px;border-radius:999px}
.section{padding:92px clamp(20px,7vw,110px)}
.hero{min-height:78vh;display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:center;background:
radial-gradient(circle at 10% 10%,rgba(117,138,118,.15),transparent 32%),
linear-gradient(180deg,#fffdf8,#f7f2e8)}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:.76rem;color:var(--sage-dark);margin:0 0 14px}
h1,h2{font-family:"Libre Baskerville",serif;line-height:1.08;margin:0}
h1{font-size:clamp(3rem,6vw,6.6rem);max-width:10ch;letter-spacing:-.04em}
h2{font-size:clamp(2rem,4vw,4rem);letter-spacing:-.035em}
h3{line-height:1.2}
.lede{font-size:1.2rem;max-width:640px;color:var(--ink-soft);margin:28px 0}
.cta-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.btn{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;border:0;background:var(--ink);color:white;padding:14px 22px;border-radius:999px;font-weight:700;cursor:pointer;font:inherit}
.btn:hover{transform:translateY(-1px)}
.btn-small{padding:10px 16px!important;color:white!important}
.btn-secondary{background:var(--sage-dark)}
.btn-light{background:var(--cream);color:var(--ink)}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.text-link{font-weight:700;text-decoration:none}
.trust-strip{display:flex;gap:16px;flex-wrap:wrap;margin-top:36px;font-size:.82rem;color:var(--ink-soft)}
.trust-strip span:before{content:"•";margin-right:8px;color:var(--clay)}
.hero-card{background:var(--ink);color:white;border-radius:var(--radius);padding:38px;box-shadow:var(--shadow)}
.hero-card h2{font-size:2rem;letter-spacing:-.02em}
.card-kicker{color:#c6d4c7;text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:700}
.check-list{padding:0;list-style:none;margin:28px 0}
.check-list li{padding:10px 0 10px 28px;position:relative;border-bottom:1px solid rgba(255,255,255,.1)}
.check-list li:before{content:"✓";position:absolute;left:0;color:#c6d4c7}
.band{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f2eee5}
.band div{padding:28px;border-right:1px solid var(--line)}
.band div:last-child{border-right:0}
.band strong,.band span{display:block}
.band span{font-size:.86rem;color:var(--ink-soft);margin-top:4px}
.section-heading{max-width:850px;margin-bottom:48px}
.section-heading.narrow{max-width:720px}
.section-heading p:not(.eyebrow){font-size:1.08rem;color:var(--ink-soft)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.steps article{padding:28px;border:1px solid var(--line);border-radius:18px;background:white}
.steps span{font-family:"Libre Baskerville",serif;color:var(--clay);font-weight:700}
.steps p{color:var(--ink-soft)}
.assessment-section{background:var(--cream)}
.assessment-card{max-width:880px;background:white;border-radius:var(--radius);box-shadow:var(--shadow);padding:38px}
.progress-meta{display:flex;justify-content:space-between;font-size:.82rem;color:var(--ink-soft)}
.progress-track{height:8px;background:#ece8df;border-radius:999px;margin:10px 0 34px;overflow:hidden}
.progress-bar{height:100%;width:8%;background:var(--sage);transition:width .25s ease}
.question{display:none}
.question.active{display:block}
.question h3{font-family:"Libre Baskerville",serif;font-size:1.7rem;margin:0 0 22px}
.question label{display:block;border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:10px 0;cursor:pointer}
.question label:hover{border-color:var(--sage)}
.question input{margin-right:10px}
.form-actions{display:flex;justify-content:space-between;margin-top:28px}
.result{text-align:center;padding:10px 0}
.hidden{display:none!important}
.score-ring{width:160px;height:160px;margin:18px auto;border:10px solid var(--sage);border-radius:50%;display:grid;place-content:center}
.score-ring strong{font-size:3.2rem;line-height:1}
.score-ring span{font-size:.8rem;color:var(--ink-soft)}
.priority-list{display:grid;gap:12px;text-align:left;margin:26px auto;max-width:650px}
.priority-item{border:1px solid var(--line);padding:16px;border-radius:14px}
.priority-item strong{display:block}
.result-cta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:26px}
.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.price-card{position:relative;border:1px solid var(--line);border-radius:20px;padding:28px;background:white;display:flex;flex-direction:column}
.price-card.featured{border:2px solid var(--ink);box-shadow:var(--shadow)}
.popular{position:absolute;top:-14px;left:22px;background:var(--clay);color:white;padding:5px 10px;border-radius:999px;font-size:.72rem;font-weight:700}
.plan{font-weight:700;margin-bottom:8px}
.price{font-family:"Libre Baskerville",serif;font-size:2.3rem}
.price-card>p{color:var(--ink-soft)}
.price-card ul{padding-left:20px;flex:1}
.price-card .btn{margin-top:16px}
.split-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;background:#f4f5f0}
.split-section p{color:var(--ink-soft)}
.quote-box{background:var(--sage-dark);color:white;border-radius:var(--radius);padding:42px}
.quote-box p{font-family:"Libre Baskerville",serif;font-size:1.8rem;color:white;line-height:1.35}
.quote-box span{font-size:.85rem;color:#d9e0da}
.pro-section{text-align:center}
.pro-section .section-heading{margin-left:auto;margin-right:auto}
.pro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:900px;margin:0 auto}
.pro-grid div{border:1px solid var(--line);border-radius:18px;padding:28px}
.pro-grid strong,.pro-grid span{display:block}
.pro-grid strong{font-family:"Libre Baskerville",serif;font-size:1.6rem}
.pro-grid span{margin-top:6px;color:var(--ink-soft)}
.fineprint{font-size:.78rem;color:var(--ink-soft);margin-top:22px}
.about-section{background:#1e2721;color:white}
.about-section .eyebrow{color:#b7c8b8}
.about-section .section-heading p:not(.eyebrow){color:#d7ded8}
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.principles article{border-top:1px solid rgba(255,255,255,.22);padding-top:18px}
.principles p{color:#cbd4cc}
.final-cta{padding:58px clamp(20px,7vw,110px);background:var(--clay);color:white;display:flex;align-items:center;justify-content:space-between;gap:24px}
.final-cta .eyebrow{color:#f3dfd3}
footer{padding:50px clamp(20px,7vw,110px);display:grid;grid-template-columns:.6fr 1.4fr;gap:34px;background:#f2eee5;color:var(--ink-soft);font-size:.8rem}
footer strong{color:var(--ink)}
footer>span{grid-column:1/-1;border-top:1px solid var(--line);padding-top:18px}

@media (max-width:980px){
  .hero,.split-section{grid-template-columns:1fr}
  .steps,.pricing-grid{grid-template-columns:repeat(2,1fr)}
  .band{grid-template-columns:repeat(2,1fr)}
  .pro-grid,.principles{grid-template-columns:1fr}
  .nav{display:none;position:absolute;top:70px;right:20px;left:20px;background:white;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start}
  .nav.open{display:flex}
  .menu-btn{display:block}
  h1{max-width:13ch}
}
@media (max-width:640px){
  .section{padding:68px 20px}
  .steps,.pricing-grid,.band{grid-template-columns:1fr}
  .band div{border-right:0;border-bottom:1px solid var(--line)}
  .assessment-card{padding:24px 18px}
  .question h3{font-size:1.35rem}
  .final-cta{align-items:flex-start;flex-direction:column}
  footer{grid-template-columns:1fr}
}
