:root{
  --ivory:#f9f7f2;
  --sand:#dccfc1;
  --taupe:#b7a89a;
  --warm:#8c857b;
  --green:#20362d;
  --green-2:#2e453a;
  --charcoal:#1f1f1f;
  --line:rgba(31,31,31,.14);
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--charcoal);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}
.narrow{max-width:800px;margin-inline:auto}
.nav-wrap{position:sticky;top:0;z-index:30;background:rgba(249,247,242,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(31,31,31,.06)}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{font-family:Georgia,"Times New Roman",serif;font-size:19px;letter-spacing:.20em;text-decoration:none;white-space:nowrap}
.brand span{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-size:.72em;letter-spacing:.28em;margin-left:8px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--green);color:#fff;text-decoration:none;border-radius:999px;padding:16px 24px;font-weight:650;font-size:15px;transition:.22s ease;box-shadow:0 8px 28px rgba(32,54,45,.14)}
.button:hover{transform:translateY(-2px);background:#172b23}
.button-small{padding:11px 18px;font-size:14px}
.hero{min-height:calc(100vh - 78px);display:flex;align-items:center;padding:76px 0 64px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:50px}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.20em;margin:0 0 20px;color:#5c605c}
.eyebrow.light{color:rgba(255,255,255,.65)}
h1,h2,h3{margin-top:0}
h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.025em}
h1{font-size:clamp(52px,7.3vw,96px);line-height:.96;margin-bottom:28px}
h1 em,h2 em{font-weight:400;color:var(--green)}
.lead{font-size:19px;line-height:1.65;max-width:650px;color:#4e504e;margin-bottom:34px}
.hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.microcopy{font-size:13px;color:#747774}
.hero-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:470px}
.hero-art:before{content:"";position:absolute;width:540px;height:540px;border-radius:50%;background:radial-gradient(circle,rgba(220,207,193,.55),rgba(220,207,193,0) 68%);filter:blur(2px)}
.hero-art img{position:relative;width:min(690px,115%);mix-blend-mode:multiply;transform:rotate(-2deg)}
.section{padding:110px 0}
.manifesto{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.manifesto h2,.section-heading h2,.selection-copy h2,.feedback h2,.faq h2,.final-cta h2{font-size:clamp(38px,5vw,62px);line-height:1.08;margin-bottom:26px}
.manifesto p:not(.eyebrow){font-size:20px;line-height:1.75;color:#50534f}
.section-heading{max-width:760px;margin-bottom:54px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:38px}
.step{border-top:1px solid var(--line);padding:26px 8px 22px}
.step-no{font-family:Georgia,serif;color:var(--taupe);font-size:19px}
.step h3{font-family:Georgia,serif;font-weight:400;font-size:28px;margin:26px 0 12px}
.step p{line-height:1.7;color:#616460}
.center{text-align:center}
.selection{background:#f1ede6}
.selection-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.selection-card{position:relative;overflow:hidden;background:var(--green);color:white;border-radius:28px;padding:56px;min-height:540px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 30px 70px rgba(32,54,45,.16)}
.selection-card h2{font-size:clamp(44px,5vw,68px);line-height:1.02;font-family:Georgia,serif;font-weight:400;margin-bottom:24px}
.selection-card p:not(.eyebrow){line-height:1.7;color:rgba(255,255,255,.78);font-size:17px}
.ribbon{position:absolute;top:20px;left:-100px;right:-100px;opacity:.28;transform:rotate(-7deg)}
.ribbon img{width:100%;filter:brightness(1.5) saturate(.6);mix-blend-mode:screen}
.text-link{color:white;text-decoration:none;font-weight:650;margin-top:18px;display:inline-flex;gap:10px;align-items:center}
.selection-copy p{font-size:17px;line-height:1.8;color:#585b57}
.checklist{list-style:none;padding:0;margin:30px 0 0}
.checklist li{padding:14px 0 14px 30px;border-bottom:1px solid var(--line);position:relative;line-height:1.45}
.checklist li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:700}
.factor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.factor{background:var(--ivory);padding:34px;min-height:210px}
.factor span{font-size:12px;letter-spacing:.18em;color:var(--warm)}
.factor h3{font-family:Georgia,serif;font-size:28px;font-weight:400;margin:32px 0 10px}
.factor p{color:#656863;line-height:1.6;margin:0}
.statement{background:var(--green);color:white;text-align:center}
.statement h2{font-size:clamp(40px,5.6vw,72px);line-height:1.12}
.statement h2 em{color:var(--sand)}
.statement p:not(.eyebrow){font-size:18px;color:rgba(255,255,255,.72)}
.tagline{display:inline-block;margin-top:30px;padding-top:24px;border-top:1px solid rgba(255,255,255,.23);font-family:Georgia,serif;font-size:24px;color:var(--sand)}
.feedback-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.feedback-grid p{font-size:18px;line-height:1.8;color:#4e514d}
.feedback-grid .muted{color:#7a7d79}
.faq{border-top:1px solid var(--line)}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}
.faq-list details{border-top:1px solid var(--line);padding:21px 0}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{cursor:pointer;font-weight:650;font-size:17px;list-style:none;padding-right:30px;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:2px;top:-2px;font-size:24px;font-weight:300;color:var(--green)}
.faq-list details[open] summary:after{content:"–"}
.faq-list p{color:#666965;line-height:1.7;margin:16px 35px 0 0}
.final-cta{text-align:center;overflow:hidden}
.final-wave{width:min(440px,80%);mix-blend-mode:multiply;margin-bottom:15px}
.final-cta p{color:#666965;font-size:18px}
.final-cta .button{margin-top:18px}
footer{background:#171c19;color:white;padding:54px 0}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr auto;gap:40px;align-items:end}
.footer-brand{font-size:17px}
.footer-grid p{color:rgba(255,255,255,.55);margin-bottom:0}
.footer-links{display:flex;flex-direction:column;gap:10px}
.footer-links a{color:rgba(255,255,255,.75);text-decoration:none;font-size:14px}
.copyright{color:rgba(255,255,255,.45);font-size:12px}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button:hover{transform:none}}
@media (max-width:900px){
  .hero{min-height:auto;padding:68px 0 36px}.hero-grid{grid-template-columns:1fr;gap:16px}.hero-copy{order:1}.hero-art{order:2;min-height:260px}.hero-art img{width:108%;margin-top:18px}.hero-art:before{width:360px;height:360px}
  .section{padding:82px 0}.steps,.factor-grid{grid-template-columns:1fr}.selection-grid,.feedback-grid,.faq-grid{grid-template-columns:1fr;gap:46px}.selection-card{min-height:500px;padding:38px}.factor{min-height:auto}.footer-grid{grid-template-columns:1fr;align-items:start}.footer-links{margin-top:5px}
}
@media (max-width:560px){
  .container{width:min(100% - 28px,var(--max))}.nav{height:68px}.brand{font-size:15px;letter-spacing:.16em}.brand span{margin-left:5px}.button-small{padding:10px 14px;font-size:13px}
  .hero{padding-top:52px}.eyebrow{font-size:10px}.lead{font-size:17px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-art{min-height:210px}.hero-art img{width:122%}
  .section{padding:68px 0}.manifesto p:not(.eyebrow){font-size:18px}.step h3{font-size:25px}.selection-card{border-radius:22px;min-height:470px}.selection-card h2{font-size:45px}.factor{padding:28px}.final-wave{width:92%}
}
