:root { --ink:#071c1a; --ink-2:#0b2925; --paper:#f4f3ed; --cream:#ebe8de; --gold:#cbb779; --accent:#c8e957; --mint:#b9d6c4; --muted:#b9c3bd; --line:rgba(244,243,237,.17); --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; --serif:Iowan Old Style,"Palatino Linotype",Palatino,Georgia,serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--paper); background:var(--ink); font-family:var(--sans); -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
.wrap { width:min(1100px,calc(100% - 48px)); margin:auto; }
.eyebrow { margin:0; color:var(--gold); font-size:.71rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.nav { min-height:84px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:11px; font-size:.82rem; font-weight:800; letter-spacing:.065em; text-transform:uppercase; }
.mark { display:grid; place-items:center; width:26px; height:26px; border:1px solid var(--gold); color:var(--gold); font-family:var(--serif); font-size:1.15rem; }
.nav-links { display:flex; align-items:center; gap:26px; color:#d9ded8; font-size:.82rem; }
.nav-links a:hover,.text-link:hover { color:var(--accent); }
.button { display:inline-flex; min-height:44px; align-items:center; justify-content:center; padding:0 18px; background:var(--accent); border:1px solid var(--accent); color:var(--ink); font-size:.75rem; font-weight:850; letter-spacing:.075em; text-transform:uppercase; transition:transform .18s ease,background .18s ease; }
.button:hover { transform:translateY(-2px); background:transparent; color:var(--accent); }
.hero { position:relative; overflow:hidden; padding:118px 0 100px; background:radial-gradient(circle at 86% 0%,rgba(200,233,87,.16),transparent 25rem),linear-gradient(145deg,#071c1a,#0e332c); }
.hero::after { position:absolute; z-index:0; right:-120px; top:-160px; width:470px; height:470px; border:1px solid rgba(203,183,121,.25); border-radius:50%; box-shadow:0 0 0 64px rgba(203,183,121,.035),0 0 0 128px rgba(203,183,121,.02); content:""; }
.hero-content { position:relative; z-index:1; max-width:800px; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:var(--serif); font-weight:400; letter-spacing:-.06em; line-height:.97; }
h1 { max-width:760px; margin:18px 0 24px; font-size:clamp(3.7rem,7.7vw,6.9rem); }
h1 em { color:var(--mint); font-style:italic; }
.lede { max-width:600px; color:#ced7d0; font-size:1.1rem; line-height:1.7; }
.hero-note { max-width:480px; margin-top:42px; border-left:1px solid var(--gold); padding-left:19px; color:var(--muted); font-size:.88rem; line-height:1.6; }
.section { padding:104px 0; }
.light { color:var(--ink); background:var(--paper); }
.section-head { display:grid; grid-template-columns:.48fr 1.25fr; gap:56px; }
h2 { margin-bottom:21px; font-size:clamp(2.7rem,5vw,4.85rem); }
.section-copy { max-width:690px; color:#40524d; font-size:1.08rem; line-height:1.7; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:68px; background:#bdc8bf; border:1px solid #bdc8bf; }
.card { min-height:235px; padding:27px; background:var(--paper); }
.card-number { color:#6a7e75; font-family:var(--serif); font-size:1.25rem; }
.card h3 { margin:44px 0 10px; font-size:1.08rem; letter-spacing:-.02em; }
.card p { margin:0; color:#40524d; font-size:.91rem; line-height:1.6; }
.dark .section-head > p { color:var(--gold); }
.dark .section-copy { color:var(--muted); }
.steps { margin:58px 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.steps li { display:grid; grid-template-columns:80px 220px 1fr; gap:20px; padding:25px 0; border-bottom:1px solid var(--line); }
.step-number { color:var(--gold); font-family:var(--serif); font-size:1.1rem; }
.steps strong { font-size:.95rem; }
.steps p { max-width:590px; margin:0; color:var(--muted); font-size:.93rem; line-height:1.6; }
.callout { padding:95px 0; background:#10332e; }
.callout-grid { display:grid; grid-template-columns:1fr .86fr; gap:70px; align-items:center; }
.callout h2 { margin:15px 0 0; }
.callout-card { border:1px solid rgba(185,214,196,.34); padding:30px; }
.callout-card p { margin:0; color:#d7e0da; font-family:var(--serif); font-size:1.55rem; letter-spacing:-.035em; line-height:1.18; }
.callout-card small { display:block; margin-top:25px; color:var(--gold); font-size:.7rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.faq { display:grid; grid-template-columns:.7fr 1.3fr; gap:56px; }
.questions { border-top:1px solid #bfc8bf; }
.question { padding:23px 0; border-bottom:1px solid #bfc8bf; }
.question h3 { margin:0 0 9px; font-size:1rem; letter-spacing:-.015em; }
.question p { margin:0; color:#40524d; font-size:.93rem; line-height:1.62; }
.cta { padding:110px 0; text-align:center; }
.cta h2 { max-width:790px; margin:15px auto 23px; }
.cta p { max-width:530px; margin:0 auto 31px; color:var(--muted); line-height:1.65; }
.footer { padding:30px 0; border-top:1px solid var(--line); color:var(--muted); font-size:.75rem; }
.footer-inner { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.footer-links { display:flex; gap:18px; }
.footer a:hover { color:var(--accent); }
.legal-hero { padding:90px 0 70px; }
.legal-content { max-width:760px; color:#dbe2dc; padding-bottom:95px; }
.legal-content h2 { margin:48px 0 12px; font-family:var(--sans); font-size:1.15rem; font-weight:800; letter-spacing:-.02em; }
.legal-content p,.legal-content li { color:var(--muted); line-height:1.7; }
.legal-content ul { padding-left:22px; }
@media (max-width:760px) { .wrap { width:min(100% - 36px,1100px); } .nav { min-height:70px; } .nav-links a:not(.button) { display:none; } .hero { padding:82px 0 70px; } h1 { font-size:clamp(3.1rem,14vw,5rem); } .section { padding:78px 0; } .section-head,.callout-grid,.faq { grid-template-columns:1fr; gap:22px; } .cards { grid-template-columns:1fr; margin-top:42px; } .card { min-height:205px; } .steps { margin-top:38px; } .steps li { grid-template-columns:45px 1fr; gap:10px; } .steps p { grid-column:2; } .callout { padding:78px 0; } .footer-inner { align-items:flex-start; flex-direction:column; } }
