@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap');

:root { --ink:#18312b; --soft-ink:#52635d; --paper:#f7f5ef; --sage:#d8e6d5; --coral:#efb19e; --blue:#c9dce1; --yellow:#f6d78c; --line:#dfe3db; --white:#fffdf8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:'DM Sans', sans-serif; line-height:1.55; }
a { color:inherit; text-decoration:none; }
.site-header { max-width:1200px; margin:auto; padding:25px 32px; display:flex; align-items:center; gap:34px; }
.brand { display:flex; align-items:center; gap:10px; font-size:12px; line-height:1.15; letter-spacing:.03em; }
.brand strong { font-size:15px; }
.brand-mark { width:34px; height:34px; display:grid; place-items:center; background:var(--ink); color:var(--yellow); border-radius:50%; font-family:Fraunces,serif; font-size:21px; }
.nav { margin-left:auto; display:flex; gap:28px; color:var(--soft-ink); font-size:13px; }
.nav a:hover,.text-link:hover { color:#bd5b43; }
.button { display:inline-flex; align-items:center; gap:18px; background:var(--ink); color:var(--white); padding:14px 20px; border-radius:2px; font-size:13px; font-weight:700; transition:transform .2s, background .2s; }
.button:hover { transform:translateY(-2px); background:#294c41; }
.button-small { padding:10px 15px; font-size:12px; }
.hero { max-width:1200px; margin:18px auto 0; padding:62px 32px 76px; display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.eyebrow { color:#bd5b43; text-transform:uppercase; letter-spacing:.14em; font-size:10px; font-weight:700; margin:0 0 18px; }
h1,h2,h3 { font-family:Fraunces, Georgia, serif; font-weight:600; letter-spacing:0; line-height:1.04; margin:0; }
h1 { font-size:clamp(48px,6vw,78px); max-width:630px; }
h2 { font-size:clamp(34px,4vw,51px); }
h3 { font-size:27px; }
.hero-lede { max-width:510px; color:var(--soft-ink); font-size:17px; margin:27px 0 30px; }
.hero-actions { display:flex; align-items:center; gap:26px; }
.text-link { color:#bd5b43; font-weight:700; font-size:13px; }
.text-link span,.button span { font-size:17px; }
.hero-visual { height:455px; position:relative; overflow:hidden; background:var(--blue); border-radius:45% 45% 3px 3px; }
.sun { position:absolute; width:150px; height:150px; border-radius:50%; background:var(--yellow); top:55px; right:75px; }
.hill { position:absolute; width:850px; height:260px; border-radius:50% 50% 0 0; transform:rotate(-7deg); bottom:-100px; left:-120px; }
.hill-back { background:#91b7ad; bottom:-78px; }
.hill-front { background:#4d8979; bottom:-147px; left:-180px; }
.window-card { position:absolute; background:rgba(255,253,248,.94); width:280px; padding:22px; top:116px; left:58px; box-shadow:0 14px 35px rgba(24,49,43,.13); }
.window-label { display:block; font-family:Fraunces,serif; font-size:20px; margin-bottom:19px; }
.balance-row { display:flex; align-items:center; gap:9px; font-size:10px; color:var(--soft-ink); margin:12px 0; }.balance-row span { width:65px; }.balance-row i { display:block; height:8px; border-radius:8px; background:#6c9c8c; }.balance-row i.muted { background:#e1aa75; }
.signal-strip { border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; justify-content:center; gap:clamp(25px,8vw,110px); padding:19px 25px; text-transform:uppercase; font-size:10px; font-weight:700; letter-spacing:.15em; color:#718078; }
.section { max-width:1200px; margin:auto; padding:112px 32px; }.intro { display:grid; grid-template-columns:1fr 1fr; gap:100px; }.intro h2 { max-width:475px; }.intro-copy { color:var(--soft-ink); max-width:470px; font-size:16px; padding-top:25px; }.intro-copy p { margin:0 0 20px; }.compact { margin-bottom:39px; }.cards-section { padding-top:35px; }.resource-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.resource-card { min-height:270px; padding:28px; display:flex; flex-direction:column; align-items:flex-start; }.resource-card.sage { background:var(--sage); }.resource-card.coral { background:var(--coral); }.resource-card.blue { background:var(--blue); }.card-number { font-size:11px; font-weight:700; opacity:.65; margin-bottom:46px; }.resource-card p { color:#52635d; font-size:14px; max-width:280px; margin:14px 0 20px; }.resource-card a { margin-top:auto; color:#28594c; font-size:12px; font-weight:700; }.evidence-band { max-width:none; background:var(--ink); color:var(--white); display:grid; grid-template-columns:1fr 1.3fr 1fr; gap:70px; padding-left:max(32px, calc((100% - 1136px)/2)); padding-right:max(32px, calc((100% - 1136px)/2)); }.evidence-band .eyebrow { color:var(--yellow); }.evidence-stat strong { display:block; color:var(--yellow); font:700 110px/1 Fraunces,serif; }.evidence-stat span { color:#b8cbc1; font-size:12px; text-transform:uppercase; letter-spacing:.13em; }.evidence-copy h2 { max-width:420px; }.evidence-copy > p:not(.eyebrow) { color:#c6d2cb; max-width:400px; margin:23px 0; }.text-link.dark { color:var(--yellow); }.principle-list { align-self:center; }.principle-list div { border-top:1px solid #476158; padding:16px 0; display:flex; flex-direction:column; gap:3px; }.principle-list b { font-family:Fraunces,serif; font-size:20px; color:var(--yellow); }.principle-list span { font-size:12px; color:#b8cbc1; }.action-section { display:grid; grid-template-columns:1fr 1fr; gap:100px; }.action-section h2 { max-width:500px; }.action-copy { color:var(--soft-ink); max-width:460px; padding-top:5px; }.action-copy p { margin:0 0 25px; }.site-footer { background:#e7e8df; padding:37px max(32px, calc((100% - 1136px)/2)); display:flex; align-items:center; gap:35px; font-size:12px; color:#617069; }.footer-brand { color:var(--ink); }.footer-note { margin-left:auto; font-size:11px; }
@media (max-width:760px) { .site-header { padding:20px; }.nav { display:none; }.site-header .button { margin-left:auto; }.hero { display:block; padding:48px 20px 55px; }.hero-lede { font-size:16px; }.hero-visual { margin-top:48px; height:350px; }.window-card { left:25px; top:82px; }.sun { right:35px; top:32px; width:105px; height:105px; }.signal-strip { gap:17px; font-size:8px; flex-wrap:wrap; }.section { padding:72px 20px; }.intro,.action-section { display:block; }.intro-copy { padding-top:28px; }.resource-grid { display:block; }.resource-card { margin-bottom:12px; }.evidence-band { display:block; padding:70px 20px; }.evidence-stat { margin-bottom:45px; }.evidence-stat strong { font-size:80px; }.principle-list { margin-top:45px; }.action-copy { padding-top:28px; }.site-footer { display:block; padding:34px 20px; }.site-footer p { max-width:250px; }.footer-note { display:block; margin:25px 0 0; } }
