:root { --ink:#132128; --paper:#f4f0e8; --signal:#ec4d2d; --lime:#c4d737; --line:#d2cbc0; --muted:#5f696a; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans", sans-serif; font-size:16px; line-height:1.5; }
a { color:inherit; }
.site-header { min-height:82px; display:flex; align-items:center; justify-content:space-between; padding:0 5vw; background:var(--paper); }
.brand { text-decoration:none; font:800 31px/1 "Barlow Condensed", sans-serif; letter-spacing:1px; white-space:nowrap; }.brand span { color:var(--signal); }
nav { display:flex; align-items:center; gap:28px; } nav a { font-size:14px; font-weight:700; text-decoration:none; }.nav-cta { padding:10px 16px; border:1px solid var(--ink); }
.menu-toggle { display:none; background:none; border:0; font:700 14px "DM Sans",sans-serif; }
.hero { min-height:630px; position:relative; display:flex; align-items:flex-end; padding:72px 11vw; isolation:isolate; color:white; background:linear-gradient(90deg,rgba(7,17,20,.92),rgba(7,17,20,.43)),url("https://images.unsplash.com/photo-1492144534655-ae79c964c9d7?auto=format&fit=crop&w=1800&q=85") center/cover; }.hero-content { max-width:720px; }.eyebrow { margin:0 0 14px; color:var(--signal); font-size:12px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; }.hero .eyebrow { color:var(--lime); }.hero h1, h2, h3 { margin:0; font-family:"Barlow Condensed", sans-serif; line-height:.96; letter-spacing:.2px; }.hero h1 { font-size:clamp(54px,7vw,96px); max-width:730px; }.hero-intro { max-width:615px; margin:25px 0 30px; font-size:18px; }.hero-actions { display:flex; align-items:center; gap:25px; }.button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:12px 21px; border:1px solid transparent; font:700 14px "DM Sans",sans-serif; text-decoration:none; cursor:pointer; }.button-primary { color:var(--ink); background:var(--lime); }.text-link { font-weight:700; text-decoration:none; }.text-link span { margin-left:8px; color:var(--lime); }.hero-note { position:absolute; right:5vw; bottom:48px; display:flex; align-items:center; gap:12px; padding:15px 0; border-top:1px solid rgba(255,255,255,.55); border-bottom:1px solid rgba(255,255,255,.55); }.hero-note strong { color:var(--lime); font:800 48px/.8 "Barlow Condensed",sans-serif; }.hero-note span { font-size:12px; font-weight:700; line-height:1.2; text-transform:uppercase; }
.trust-strip { display:grid; grid-template-columns:repeat(3,1fr); padding:22px 5vw; color:#f8f6ef; background:var(--ink); }.trust-strip p { margin:0; padding:0 25px; border-left:1px solid #526065; font-size:14px; }.trust-strip p:first-child { border:0; }.trust-strip strong { color:var(--lime); }
.section { padding:104px 11vw; }.section-heading { display:grid; grid-template-columns:1fr 1.2fr; gap:18px 7vw; margin-bottom:45px; }.section-heading .eyebrow { grid-column:1; }.section-heading h2 { grid-column:1; font-size:65px; }.section-heading > p:last-child { grid-column:2; grid-row:2; margin:0; max-width:420px; color:var(--muted); }
.services-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr; grid-template-rows:280px 280px; gap:13px; }.service-card { display:flex; position:relative; overflow:hidden; padding:28px; background:#e0ddd5; }.service-card > div { align-self:flex-end; position:relative; z-index:1; }.service-card h3 { font-size:35px; }.service-card p:not(.service-number) { max-width:270px; margin:8px 0 0; font-size:14px; }.service-number { margin:0 0 38px; color:var(--signal); font:700 18px "Barlow Condensed",sans-serif; }.service-card-wide { grid-row:span 2; padding:0; color:white; align-items:flex-end; }.service-card-wide img { position:absolute; inset:0; height:100%; width:100%; object-fit:cover; filter:brightness(.63); }.service-card-wide > div { padding:32px; }.service-card-accent { color:white; background:var(--signal); }.service-card-accent .service-number { color:var(--lime); }
.process { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:stretch; color:#f8f6ef; background:var(--ink); }.process-image { min-height:585px; background:url("https://images.unsplash.com/photo-1503376780353-7e6692767b70?auto=format&fit=crop&w=1000&q=80") center/cover; }.process-content { padding:32px 0; }.process h2 { max-width:470px; font-size:65px; }.process .eyebrow { color:var(--lime); }.process ol { margin:42px 0 0; padding:0; list-style:none; }.process li { display:grid; grid-template-columns:44px 1fr; gap:15px; padding:20px 0; border-top:1px solid #526065; }.process li span { color:var(--lime); font:700 22px "Barlow Condensed",sans-serif; }.process li h3 { font-size:27px; }.process li p { margin:7px 0 0; color:#c7cdcb; font-size:14px; }
.zone { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:end; padding-bottom:110px; }.zone h2 { max-width:500px; font-size:72px; }.zone-copy { margin:0; font-size:20px; }.zone-note { grid-column:2; margin:0; color:var(--muted); font-size:13px; }
.request { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; padding:90px 11vw; background:#dbe0c5; }.request h2 { font-size:67px; }.request-heading > p:last-child { color:var(--muted); }.request form { max-width:680px; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:19px; }.form-grid label, .consent { display:grid; gap:6px; color:#314043; font-size:12px; font-weight:700; }.form-grid input, .form-grid textarea { width:100%; border:0; border-bottom:1px solid #829083; padding:9px 0; border-radius:0; outline:0; background:transparent; color:var(--ink); font:16px "DM Sans",sans-serif; }.form-grid input:focus, .form-grid textarea:focus { border-color:var(--signal); }.full-width { grid-column:span 2; }.consent { grid-template-columns:17px 1fr; align-items:start; gap:9px; margin:26px 0; font-weight:400; }.consent input { width:15px; height:15px; margin:2px 0 0; accent-color:var(--signal); }.consent a { text-decoration-thickness:1px; }.form-status { min-height:24px; margin:16px 0 0; font-size:14px; font-weight:700; }
.site-footer { display:grid; grid-template-columns:1fr 1fr 1fr; gap:26px; padding:55px 5vw 25px; background:var(--ink); color:#d8dfda; }.site-footer > p { margin:0; font-size:13px; }.footer-links { display:flex; flex-wrap:wrap; gap:15px; align-items:start; }.footer-links a { font-size:12px; }.copyright { grid-column:1/-1; padding-top:26px; border-top:1px solid #526065; color:#95a19d; }
.legal-page { min-height:100vh; }.legal-content { width:min(800px,calc(100% - 44px)); margin:0 auto; padding:75px 0 100px; }.legal-content h1 { margin:0 0 38px; font:800 62px/.96 "Barlow Condensed",sans-serif; }.legal-content h2 { margin:40px 0 12px; font-size:34px; }.legal-content p, .legal-content li { color:#455052; }.legal-content ul { padding-left:20px; }.legal-content .notice { padding:15px; border-left:4px solid var(--signal); background:#e6e1d7; color:var(--muted); font-size:14px; }.legal-header { border-bottom:1px solid var(--line); }
@media (max-width:760px) { .site-header { min-height:68px; padding:0 22px; }.brand { font-size:27px; }.menu-toggle { display:block; }.site-header nav { display:none; position:absolute; z-index:5; top:68px; left:0; right:0; flex-direction:column; align-items:stretch; gap:0; padding:12px 22px 22px; background:var(--paper); border-top:1px solid var(--line); }.site-header nav.open { display:flex; }.site-header nav a { padding:13px 0; }.nav-cta { text-align:center; margin-top:8px; }.hero { min-height:610px; align-items:flex-end; padding:55px 22px 112px; background-position:61% center; }.hero h1 { font-size:57px; }.hero-intro { font-size:16px; }.hero-note { right:22px; bottom:26px; }.trust-strip { grid-template-columns:1fr; gap:12px; padding:20px 22px; }.trust-strip p { padding:0; border:0; }.section { padding:70px 22px; }.section-heading { display:block; }.section-heading h2 { font-size:54px; }.section-heading > p:last-child { margin-top:20px; }.services-grid { display:flex; flex-direction:column; }.service-card { min-height:215px; }.service-card-wide { min-height:360px; }.process { display:flex; flex-direction:column; gap:0; }.process-image { min-height:360px; margin:0 -22px; }.process-content { padding:35px 0 0; }.process h2 { font-size:55px; }.zone { display:block; }.zone h2 { font-size:57px; }.zone-copy { margin:28px 0 20px; font-size:18px; }.request { display:block; padding:70px 22px; }.request h2 { font-size:56px; }.request form { margin-top:36px; }.form-grid { grid-template-columns:1fr; }.full-width { grid-column:auto; }.site-footer { grid-template-columns:1fr; padding:45px 22px 22px; }.copyright { grid-column:auto; } }