:root { --blue:#173f5f; --sage:#7e9270; --ivory:#f9f4ec; --olive:#667454; --taupe:#c8b79e; --ink:#22333a; --line:#d9cbb8; font-family:Inter,Arial,sans-serif; color:var(--ink); line-height:1.5; }
* { box-sizing:border-box; }
body { margin:0; background:var(--ivory); }
a { color:inherit; }
.site-header { align-items:center; background:rgba(249,244,236,.95); border-bottom:1px solid var(--taupe); display:flex; justify-content:space-between; padding:14px clamp(18px,4vw,56px); position:sticky; top:0; z-index:2; }
.logo { display:block; height:54px; width:auto; }
.nav-link,.button { background:var(--blue); border:0; border-radius:999px; color:#fff; display:inline-block; font-weight:800; padding:11px 17px; text-decoration:none; }
.hero { display:grid; grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr); min-height:72vh; }
.copy { align-self:center; padding:clamp(42px,8vw,112px); }
.eyebrow { color:var(--olive); font-size:.78rem; font-weight:800; letter-spacing:.06em; margin:0 0 10px; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1 { color:var(--blue); font-size:clamp(2.7rem,5.5vw,5.6rem); letter-spacing:0; line-height:.98; margin-bottom:22px; }
h2 { color:var(--blue); font-size:clamp(1.7rem,3vw,3rem); line-height:1.04; }
h3 { color:var(--blue); font-size:1.15rem; }
.lede { color:var(--olive); font-size:1.13rem; max-width:610px; }
.hero-image { background:#dce5d7; min-height:440px; }
.less-clutter .hero-image { background:#e8ddca; }
.hero-image img { height:100%; object-fit:cover; width:100%; }
.steps { background:#fffaf3; display:grid; grid-template-columns:repeat(3,1fr); }
.steps article { border-right:1px solid var(--line); padding:clamp(26px,4vw,50px); }
.steps article:last-child { border-right:0; }
.number { color:var(--sage); font-size:1.2rem; font-weight:900; }
.content { display:grid; gap:clamp(30px,7vw,90px); grid-template-columns:minmax(0,1fr) minmax(240px,.7fr); padding:clamp(44px,8vw,110px); }
.content p { color:var(--olive); max-width:680px; }
.callout { align-self:start; background:var(--blue); color:#fff; font-size:clamp(1.35rem,2.4vw,2.4rem); font-weight:800; line-height:1.1; padding:clamp(26px,4vw,50px); }
.faq { background:#eef2eb; padding:clamp(42px,7vw,90px); }
.faq-inner { max-width:800px; }
.faq h2 { margin-bottom:24px; }
.faq details { border-top:1px solid var(--line); padding:18px 0; }
.faq details:last-child { border-bottom:1px solid var(--line); }
.faq summary { color:var(--blue); cursor:pointer; font-weight:800; }
.faq p { color:var(--olive); margin:10px 0 0; }
.cta { align-items:center; display:flex; gap:24px; justify-content:space-between; padding:clamp(44px,8vw,100px); }
.cta h2 { margin-bottom:0; max-width:720px; }
.footer { background:var(--blue); color:#fff; padding:24px clamp(18px,4vw,56px); }
.footer nav { display:flex; flex-wrap:wrap; gap:12px 20px; }
.footer a { font-weight:800; text-decoration:none; }
@media(max-width:760px){ .hero,.steps,.content { grid-template-columns:1fr; } .hero-image { min-height:330px; order:-1; } .copy,.content,.faq,.cta { padding:42px 24px; } .steps article { border-bottom:1px solid var(--line); border-right:0; padding:28px 24px; } .steps article:last-child { border-bottom:0; } .cta { align-items:flex-start; flex-direction:column; } .footer nav { align-items:flex-start; flex-direction:column; gap:12px; } }
