@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:wght@600;700&display=swap');

:root{--navy:#071a32;--navy-2:#102c4e;--blue:#173f6e;--gold:#c9a24d;--paper:#f4f6f8;--ink:#15243a;--muted:#69778a;--line:rgba(19,45,78,.14);--white:#fff}
.request-form .personal-data-notice{margin:18px 0;color:var(--muted);font-size:11px;font-weight:500;line-height:1.48;letter-spacing:0;text-transform:none}.request-form .personal-data-notice a{color:#8c6b25;text-decoration:none}.request-form .personal-data-notice a:hover{text-decoration:underline;text-underline-offset:3px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Manrope,sans-serif}a{color:inherit;text-decoration:none}.service-shell{width:min(1180px,calc(100% - 48px));margin:auto}.service-hero{min-height:610px;padding:90px 0 100px;color:#fff;background:radial-gradient(circle at 75% 35%,rgba(201,162,77,.15),transparent 29%),linear-gradient(135deg,var(--navy),var(--navy-2))}.service-hero h1{max-width:820px;margin:20px 0 24px;font-family:'Playfair Display',serif;font-size:clamp(48px,7vw,82px);line-height:.99}.service-lead{max-width:720px;margin:0 0 34px;color:rgba(232,238,246,.72);font-size:17px;line-height:1.75}.service-eyebrow{margin:0;color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.service-primary{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:0 24px;color:var(--navy);background:var(--gold);border:0;border-radius:9px;font:700 12px Manrope,sans-serif;cursor:pointer;transition:.22s}.service-primary:hover{filter:brightness(1.07);transform:translateY(-2px)}.service-overview{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:95px 0}.service-overview h2,.section-intro h2,.request-layout h2{margin:14px 0 28px;font-family:'Playfair Display',serif;font-size:clamp(32px,4vw,48px);line-height:1.1}.benefit-grid{display:grid;gap:12px}.benefit-card,.steps-list li{padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 38px rgba(11,29,51,.05)}.benefit-card strong{display:block;margin-bottom:5px}.benefit-card span{color:var(--muted);font-size:13px}.steps-list{margin:0;padding:0;list-style:none;counter-reset:step}.steps-list li{counter-increment:step;margin-bottom:12px}.steps-list li::before{content:counter(step,decimal);display:inline-block;width:38px;color:var(--gold);font-weight:800}.calculator-section{padding:100px 0;background:#e9eef3}.section-intro{max-width:700px;margin-bottom:42px}.section-intro p:last-child,.request-layout>div>p:last-child{color:var(--muted);line-height:1.7}.calculator-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.65fr);gap:30px;align-items:start}.calculator-card,.estimate-card,.request-form{padding:34px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 60px rgba(7,26,50,.08)}fieldset{margin:0 0 34px;padding:0;border:0}fieldset:last-child{margin-bottom:0}legend{margin-bottom:16px;font-size:16px;font-weight:800}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.choice{position:relative;display:block}.choice input{position:absolute;opacity:0;pointer-events:none}.choice span{display:flex;min-height:64px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:10px;color:#3b4b60;font-size:12px;font-weight:600;cursor:pointer;transition:.2s}.choice input:checked+span{color:var(--navy);background:rgba(201,162,77,.12);border-color:var(--gold);box-shadow:0 0 0 2px rgba(201,162,77,.08)}.estimate-card{position:sticky;top:24px;color:#fff;background:linear-gradient(145deg,var(--navy-2),var(--navy))}.estimate-card h3{margin:12px 0 25px;font-family:'Playfair Display',serif;font-size:28px}.estimate-items{display:grid;gap:13px}.estimate-item{display:flex;justify-content:space-between;gap:16px;padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.1);font-size:12px}.estimate-item span{color:rgba(255,255,255,.66)}.estimate-total{display:flex;align-items:flex-end;justify-content:space-between;margin:28px 0 20px}.estimate-total strong{color:var(--gold);font-family:'Playfair Display',serif;font-size:35px;transition:transform .2s}.estimate-total strong.is-updating{transform:scale(1.06)}.estimate-card>p:not(.service-eyebrow){color:rgba(255,255,255,.58);font-size:10px;line-height:1.6}.estimate-card .service-primary{width:100%;margin-top:12px}.request-section{padding:105px 0;background:var(--navy);color:#fff}.request-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.request-form{color:var(--ink);background:#fff}.request-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.request-form label{display:block;margin-bottom:18px;color:#4a596c;font-size:11px;font-weight:800;letter-spacing:.05em}.request-form input,.request-form textarea{width:100%;margin-top:8px;padding:14px 15px;color:var(--ink);background:#f8fafc;border:1px solid var(--line);border-radius:9px;outline:none;font:500 14px Manrope,sans-serif}.request-form input:focus,.request-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,77,.1)}.request-form .is-invalid{border-color:#c75252}.file-control span{display:block;margin-top:7px;color:var(--muted);font-size:10px;font-weight:500}.form-message{min-height:22px;margin-bottom:12px;color:#b43b3b;font-size:12px;line-height:1.5}.form-message.success{padding:14px;color:#22633c;background:#edf8f1;border-radius:9px}.request-form button{width:100%}
@media(max-width:850px){.service-shell{width:min(100% - 32px,680px)}.service-hero{min-height:560px;padding:70px 0}.service-hero h1{font-size:clamp(43px,12vw,66px)}.service-overview,.request-layout{grid-template-columns:1fr;gap:48px;padding-top:70px;padding-bottom:70px}.calculator-section{padding:72px 0}.calculator-layout{grid-template-columns:1fr}.estimate-card{position:static}.choice-grid,.choice-grid--compact{grid-template-columns:1fr}.calculator-card,.estimate-card,.request-form{padding:23px}.request-row{grid-template-columns:1fr}}
@media(max-width:430px){.service-shell{width:calc(100% - 24px)}.service-hero h1{font-size:42px}.service-lead{font-size:14px}.calculator-card,.estimate-card,.request-form{padding:18px;border-radius:12px}.choice span{min-height:58px}.estimate-total strong{font-size:29px}}
