@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Text:ital@0;1&display=swap');

:root { --ink:#172033; --blue:#28658f; --blue-dark:#184b70; --cream:#fbf5ed; --paper:#fffdf9; --mist:#e9eef0; --warm:#eee0d0; --gold:#a07144; --line:#d9d2c9; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; color:var(--ink); background:var(--paper); font-family:"DM Sans", sans-serif; line-height:1.65; }
a { color:inherit; }
.site-header { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:32px; padding:14px max(5vw, 24px); background:rgba(255,253,249,.96); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:10; backdrop-filter:blur(12px); }
.brand { display:flex; align-items:center; gap:11px; text-decoration:none; line-height:1; }
.brand-number { font-family:"Libre Caslon Text",serif; font-size:1.55rem; color:var(--blue); border-right:1px solid var(--gold); padding-right:11px; }
.brand strong,.brand small { display:block; }.brand strong { font-family:"Libre Caslon Text",serif; font-size:1.06rem; }.brand small { margin-top:6px; color:var(--gold); font-size:.67rem; text-transform:uppercase; letter-spacing:.09em; }
nav { display:flex; align-items:center; gap:26px; } nav a { text-decoration:none; font-size:.92rem; font-weight:600; } nav a:not(.button):hover { color:var(--blue); }
.button { display:inline-flex; justify-content:center; align-items:center; border:0; border-radius:999px; padding:14px 24px; background:var(--blue); color:white; text-decoration:none; font:700 .95rem "DM Sans",sans-serif; cursor:pointer; box-shadow:0 8px 18px rgba(40,101,143,.16); transition:.2s ease; }.button:hover { background:var(--blue-dark); transform:translateY(-1px); }.button-small { padding:10px 18px; }
.hero { min-height:650px; padding:80px max(7vw,24px); display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:center; gap:6vw; background:linear-gradient(115deg,var(--cream) 0 62%,#eef2f1 62%); overflow:hidden; }
.hero-copy,.hero-art { min-width:0; }
.eyebrow,.section-label { color:var(--blue); font-size:.78rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
h1,h2,h3,blockquote { font-family:"Libre Caslon Text",Georgia,serif; font-weight:400; }
h1 { max-width:740px; margin:18px 0 24px; font-size:clamp(3.4rem,6vw,6.7rem); line-height:.98; letter-spacing:-.045em; }
.hero-lede { max-width:680px; font-size:clamp(1.08rem,1.7vw,1.35rem); color:#49505b; }.hero-lede em { color:var(--gold); }
.hero-actions { display:flex; align-items:center; gap:25px; margin-top:34px; }.text-link { color:var(--blue-dark); font-weight:700; text-underline-offset:5px; }.reassurance { margin-top:25px; font-size:.9rem; color:#58616a; }.reassurance span { color:var(--blue); }
.hero-art { position:relative; text-align:center; }.hero-art img { position:relative; z-index:1; width:min(100%,600px); filter:drop-shadow(0 20px 22px rgba(48,44,36,.12)); }.sun { position:absolute; width:290px; height:290px; left:50%; top:5%; transform:translateX(-50%); border-radius:50%; background:#e8caa7; opacity:.55; }.hero-art blockquote { position:relative; z-index:2; width:88%; margin:-12px auto 0; padding:22px 25px; background:rgba(255,253,249,.92); border-left:4px solid var(--gold); box-shadow:0 12px 30px rgba(23,32,51,.09); font-size:1.08rem; line-height:1.5; }
.intro,.faq { max-width:1180px; margin:auto; padding:100px max(4vw,24px); text-align:center; }.intro>h2,.faq>h2 { max-width:850px; margin:10px auto 18px; }.intro>p:not(.section-label) { max-width:760px; margin:0 auto; color:#555e67; font-size:1.08rem; }
h2 { font-size:clamp(2.2rem,4vw,4rem); line-height:1.12; letter-spacing:-.025em; }h3 { font-size:1.35rem; line-height:1.25; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:56px; text-align:left; }.feature-grid article { padding:32px; background:var(--cream); border-radius:18px; border:1px solid #eee2d4; }.feature-grid article:nth-child(2) { background:var(--mist); border-color:#dbe3e6; }.feature-grid span { display:block; color:var(--gold); font-family:"Libre Caslon Text",serif; font-size:1.1rem; }.feature-grid p { color:#565d66; }
.process { display:grid; grid-template-columns:1fr 1fr; gap:8vw; padding:100px max(7vw,24px); background:var(--blue-dark); color:white; }.process .section-label { color:#bdd7e8; }.process h2 { margin:10px 0 25px; }.process>div>p:not(.section-label) { color:#d8e5ec; font-size:1.05rem; }.process ol { margin:0; padding:0; list-style:none; counter-reset:steps; }.process li { counter-increment:steps; display:grid; grid-template-columns:48px 1fr; column-gap:18px; padding:20px 0; border-bottom:1px solid rgba(255,255,255,.22); }.process li::before { content:counter(steps); grid-row:1/3; display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:white; color:var(--blue-dark); font-family:"Libre Caslon Text",serif; }.process li strong,.process li span { grid-column:2; }.process li span { color:#c9dce7; }
.promise { display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:7vw; padding:85px max(7vw,24px); background:var(--warm); }.promise h2 { margin:10px 0 0; }.promise ul { display:grid; grid-template-columns:1fr 1fr; gap:18px 28px; margin:0; padding:0; list-style:none; }.promise li { padding-left:28px; position:relative; }.promise li::before { content:"✓"; position:absolute; left:0; color:var(--blue); font-weight:700; }
.faq { max-width:900px; text-align:left; }.faq>.section-label,.faq>h2 { text-align:center; }.faq h2 { margin-bottom:45px; }.faq details { border-top:1px solid var(--line); }.faq details:last-child { border-bottom:1px solid var(--line); }.faq summary { cursor:pointer; padding:22px 5px; font-family:"Libre Caslon Text",serif; font-size:1.23rem; list-style-position:outside; }.faq details p { padding:0 26px 22px; margin:0; color:#555e67; }
.signup { display:grid; grid-template-columns:.85fr 1.15fr; gap:7vw; padding:100px max(7vw,24px); background:var(--cream); }.signup h2 { margin:10px 0 22px; }.signup-copy>p:not(.section-label) { color:#565d66; font-size:1.08rem; }.email-link { display:inline-block; margin-top:20px; color:var(--blue-dark); font-family:"Libre Caslon Text",serif; font-size:1.25rem; }.signup form { display:grid; grid-template-columns:1fr 1fr; gap:8px 16px; padding:32px; background:white; border-radius:20px; box-shadow:0 20px 50px rgba(65,54,41,.1); }.signup label { margin-top:8px; font-size:.84rem; font-weight:700; }.signup input,.signup select,.signup textarea { width:100%; border:1px solid #cfc9c0; border-radius:9px; padding:12px 13px; background:#fffefa; font:inherit; }.signup label:nth-of-type(n+3),.signup select,.signup textarea,.signup label[for="location"],.signup input#location,.signup label[for="message"],.signup button,.form-note { grid-column:1/-1; }.signup label span,.form-note { color:#737b82; font-weight:400; }.signup button { margin-top:15px; }.form-note { margin:2px 0 0; text-align:center; font-size:.77rem; }
footer { display:grid; grid-template-columns:1fr auto; align-items:center; gap:6px 30px; padding:45px max(5vw,24px); background:#101a29; color:#dfe6ea; }.footer-brand { grid-row:1/4; }.footer-brand .brand-number,.footer-brand strong { color:white; }footer p,footer a { margin:0; font-size:.86rem; }footer a { color:#b9d7e8; }.copyright { color:#89939c; }
@media (max-width:850px) { nav a:not(.button) { display:none; }.hero { grid-template-columns:1fr; padding-top:60px; background:var(--cream); }.hero-art { margin-top:25px; }.feature-grid,.process,.promise,.signup { grid-template-columns:1fr; }.promise ul { grid-template-columns:1fr; }.signup form { grid-template-columns:1fr; }.signup label,.signup input { grid-column:1/-1; }footer { grid-template-columns:1fr; }.footer-brand { grid-row:auto; margin-bottom:18px; } }
@media (max-width:520px) { .site-header { min-height:70px; }.brand small { display:none; }.brand-number { font-size:1.65rem; }.site-header nav { display:none; }.hero { grid-template-columns:minmax(0,1fr); padding-top:45px; }.eyebrow { max-width:100%; overflow-wrap:anywhere; font-size:.71rem; line-height:1.5; }.hero-lede,.reassurance { overflow-wrap:anywhere; }.hero-actions { align-items:flex-start; flex-direction:column; gap:14px; }.intro,.faq,.process,.promise,.signup { padding-top:70px; padding-bottom:70px; }.feature-grid { grid-template-columns:1fr; }.signup form { padding:22px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.button { transition:none; } }
