:root { --ink:#18342f; --paper:#f5f1e8; --cream:#ede6d8; --gold:#bc7c45; --coral:#d65742; --light:#f9f7f0; --line:rgba(24,52,47,.22); --sans:"DM Sans", sans-serif; --serif:"Fraunces", serif; --mono:"DM Mono", monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.55; }
a { color:inherit; text-underline-offset:3px; }
.shell { width:min(1180px, calc(100% - 48px)); margin-inline:auto; }
.site-header { min-height:92px; display:flex; align-items:center; justify-content:space-between; }
.wordmark { text-decoration:none; font:600 1.28rem/1 var(--serif); letter-spacing:-.045em; }.wordmark span { color:var(--gold); font-style:italic; font-weight:500; }
.nav-cta { font:500 .76rem var(--mono); text-decoration:none; text-transform:uppercase; letter-spacing:.04em; }.nav-cta span { color:var(--coral); margin-left:5px; }
.hero { display:grid; grid-template-columns:1.04fr .96fr; gap:8%; min-height:590px; padding:78px 0 92px; align-items:center; }
.eyebrow,.mono-label { font:500 .68rem var(--mono); letter-spacing:.12em; text-transform:uppercase; margin:0 0 18px; color:var(--gold); }.eyebrow-light { color:#d6a46f; }
h1,h2,h3,p { margin-top:0; } h1,h2,h3 { font-family:var(--serif); font-weight:500; letter-spacing:-.05em; line-height:1.03; } h1 { font-size:clamp(3.35rem,7vw,6.65rem); margin-bottom:27px; } h1 em,h2 em { color:var(--coral); font-style:italic; } h2 { font-size:clamp(2.3rem,4.2vw,4.25rem); margin-bottom:0; }.hero-intro { max-width:485px; font-size:1.1rem; margin-bottom:31px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:25px; border:0; border-radius:0; padding:15px 20px; font:500 .76rem var(--mono); text-transform:uppercase; letter-spacing:.04em; cursor:pointer; text-decoration:none; transition:transform .18s ease, background .18s ease; }.button:hover { transform:translateY(-2px); }.button-primary { background:var(--ink); color:var(--light); }.button-primary span { font-size:1.15rem; color:#e0ab74; }.button:disabled { opacity:.5; cursor:not-allowed; transform:none; }.microcopy { margin:13px 0 0; color:#607069; font-size:.8rem; }
.hero-art { min-height:470px; position:relative; overflow:hidden; background:var(--ink); color:#f7efe0; padding:32px; display:flex; align-items:end; isolation:isolate; }.hero-art:before,.hero-art:after { content:""; position:absolute; inset:auto -17% 14% -17%; height:53%; border:1px solid rgba(245,241,232,.28); border-radius:50% 50% 0 0; transform:rotate(-5deg); }.hero-art:after { inset:auto -26% 6% -26%; height:38%; transform:rotate(3deg); }.sun-disc { position:absolute; width:265px; aspect-ratio:1; background:var(--coral); border-radius:50%; top:11%; left:32%; }.hero-art p { position:relative; z-index:2; margin:0; font:500 .78rem/1.45 var(--mono); letter-spacing:.09em; }.art-index { position:absolute; z-index:2; top:30px; right:31px; font:.67rem var(--mono); color:#d5b38f; }
.section-rule { border-top:1px solid var(--line); }.statement { padding:110px 0; }.statement-grid { display:grid; grid-template-columns:1.35fr .65fr; gap:12%; align-items:start; }.statement-grid p { font-size:1.04rem; padding-top:14px; }
.process { padding:110px 0 90px; }.section-heading { display:flex; justify-content:space-between; margin-bottom:55px; }.section-heading p:last-child { max-width:260px; color:#50625c; font-size:.9rem; }.process ol { list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }.process li { display:grid; grid-template-columns:12% 1fr; gap:4%; padding:28px 0; border-bottom:1px solid var(--line); }.process li>span { color:var(--coral); font:.72rem var(--mono); }.process h3 { font-size:1.8rem; margin:0 0 8px; }.process li p { max-width:600px; margin:0; color:#52635d; }
.section-dark { background:var(--ink); color:#f8f4eb; }.included { padding:106px 0; }.included-grid { display:grid; grid-template-columns:1fr 1fr; gap:13%; }.included h2 { max-width:470px; }.included ul { list-style:none; margin:0; padding:0; border-top:1px solid rgba(248,244,235,.28); }.included li { padding:18px 0; border-bottom:1px solid rgba(248,244,235,.28); font-size:1rem; }.included li:before { content:"✦"; color:#e1af78; font-size:.7rem; margin-right:15px; }
.fit { padding:105px 0; }.fit-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:13%; }.fit-grid h2 { max-width:650px; margin-bottom:22px; }.fit-grid>div>p { max-width:540px; color:#53645d; }.fit aside { border-left:2px solid var(--coral); padding:7px 0 0 24px; }.fit aside a { font:500 .7rem var(--mono); text-transform:uppercase; letter-spacing:.04em; }.fit aside a span { color:var(--coral); margin-left:8px; }
.pricing { padding:102px 0; display:grid; grid-template-columns:1.15fr .85fr; gap:13%; align-items:end; }.pricing h2 { font-size:clamp(2.2rem,3.8vw,3.7rem); }.pricing-note { border-top:1px solid var(--ink); padding-top:17px; color:#53645d; font-size:.94rem; }.pricing-note p:last-child { margin:0; }
.fit-form-section { background:var(--cream); padding:105px 0; }.form-layout { display:grid; grid-template-columns:.78fr 1.22fr; gap:12%; }.form-intro h2 { font-size:clamp(2.25rem,4vw,3.7rem); }.form-intro>p:not(.eyebrow) { color:#51615c; max-width:370px; }.form-side-note { border-top:1px solid var(--line); margin-top:60px; display:flex; gap:12px; padding-top:16px; font-size:.83rem; max-width:340px; }.form-side-note span { color:var(--coral); }.form-side-note p { margin:0; }
form { display:grid; gap:20px; } .field-row { display:grid; grid-template-columns:1fr 1fr; gap:17px; } label,legend { font-size:.86rem; font-weight:600; } input,select { display:block; width:100%; margin-top:7px; padding:13px 0 12px; background:transparent; border:0; border-bottom:1px solid #829089; color:var(--ink); font:400 1rem var(--sans); border-radius:0; } input:focus,select:focus { outline:2px solid var(--gold); outline-offset:4px; } fieldset { margin:0; padding:0; border:0; display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; } fieldset legend { grid-column:1/-1; margin-bottom:2px; } fieldset label { font-size:.85rem; font-weight:400; display:flex; align-items:center; gap:8px; } fieldset input,.checkbox input { width:auto; margin:0; accent-color:var(--ink); }.checkbox { display:flex; align-items:flex-start; gap:10px; font-size:.78rem; font-weight:400; line-height:1.45; }.checkbox span { max-width:520px; }.cf-turnstile { min-height:65px; }.form-status { min-height:1.45em; margin:0; color:var(--coral); font-size:.88rem; }.form-privacy { margin:0; font-size:.76rem; color:#56655f; }.form-privacy a { color:var(--ink); }
.faq { padding:104px 0; }.faq details { border-top:1px solid var(--line); max-width:850px; padding:20px 0; }.faq details:last-child { border-bottom:1px solid var(--line); }.faq summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; gap:20px; font:500 1.15rem var(--serif); }.faq summary::-webkit-details-marker { display:none; }.faq summary span { color:var(--coral); }.faq details p { margin:14px 45px 0 0; color:#53645d; max-width:630px; }
.site-footer { min-height:160px; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; gap:20px; font-size:.8rem; }.site-footer p { margin:0; color:#53645d; }.site-footer nav { display:flex; justify-content:flex-end; gap:18px; }.site-footer nav a { color:#53645d; }
.policy { max-width:780px; padding:80px 0 110px; }.policy h1 { font-size:clamp(3.1rem,7vw,5.6rem); margin-bottom:24px; }.policy .policy-lead { font:1.28rem/1.5 var(--serif); max-width:620px; margin-bottom:66px; }.policy section { border-top:1px solid var(--line); padding:25px 0 30px; }.policy section h2 { font-size:1.6rem; margin-bottom:13px; }.policy section p { max-width:690px; color:#4d5d57; }.policy section p:last-child { margin-bottom:0; }
@media (max-width:760px) { .shell { width:min(100% - 36px,1180px); }.site-header { min-height:72px; }.hero { grid-template-columns:1fr; padding:50px 0 66px; gap:45px; }.hero-art { min-height:315px; }.sun-disc { width:190px; }.statement,.process,.included,.fit,.pricing,.fit-form-section,.faq { padding:70px 0; }.statement-grid,.included-grid,.fit-grid,.pricing,.form-layout { grid-template-columns:1fr; gap:32px; }.section-heading { display:block; }.section-heading p:last-child { margin:0; }.process li { grid-template-columns:15% 1fr; }.field-row,fieldset { grid-template-columns:1fr; }.fit aside { margin-top:8px; }.form-side-note { margin-top:30px; }.site-footer { grid-template-columns:1fr; padding:35px 0; }.site-footer nav { justify-content:flex-start; flex-wrap:wrap; }.hero h1 { font-size:clamp(3rem,14vw,4.6rem); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*:before,*:after { transition:none !important; animation:none !important; } }
