:root{--teal:#0f8f9a;--navy:#0b2a5b;--gold:#c9a24a;--bg:#f6f9fb;--text:#1d2b3a}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:#fff;line-height:1.6}
a{color:var(--teal)}.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
header{background:#fff;border-bottom:1px solid #e3eaf0;position:sticky;top:0;z-index:10}
.nav{display:flex;align-items:center;justify-content:space-between;padding:10px 0;flex-wrap:wrap;gap:10px}
.nav img{height:48px}.nav ul{list-style:none;display:flex;gap:18px;margin:0;padding:0;flex-wrap:wrap;align-items:center}
.nav ul a{text-decoration:none;color:var(--navy);font-weight:600}
.btn{display:inline-block;background:var(--gold);color:var(--navy)!important;padding:12px 22px;border-radius:8px;font-weight:700;text-decoration:none;border:0;cursor:pointer;font-size:1rem}
.btn:hover{filter:brightness(1.07)}
.hero{background:linear-gradient(135deg,var(--teal),var(--navy));color:#fff;padding:80px 0}
.hero h1{font-size:clamp(2rem,5vw,3.2rem);margin:0 0 12px;line-height:1.15}.hero p{font-size:1.2rem;max-width:620px;opacity:.95}
section{padding:56px 0}.alt{background:var(--bg)}h2{color:var(--navy)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}
.card{background:#fff;border:1px solid #e3eaf0;border-radius:12px;padding:24px;box-shadow:0 2px 8px rgba(11,42,91,.05)}
.card h3{color:var(--teal);margin-top:0}
.placeholder{background:#fff6dd;border:2px dashed var(--gold);padding:2px 6px;border-radius:4px}
footer{background:var(--navy);color:#cfe0ea;padding:32px 0;font-size:.9rem}footer a{color:#fff}
form{background:#fff;border:1px solid #e3eaf0;border-radius:12px;padding:28px;max-width:720px}
label{display:block;font-weight:600;margin:14px 0 4px;color:var(--navy)}
input,select,textarea{width:100%;padding:11px;border:1px solid #c5d3df;border-radius:8px;font-size:1rem}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:640px){.row{grid-template-columns:1fr}.nav img{height:38px}.hero{padding:50px 0}}
fieldset{border:1px solid #e3eaf0;border-radius:8px;margin:16px 0;padding:12px 16px}
.yn{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid #f0f3f6}.yn span{flex:1}.yn label{display:inline;margin:0 6px;font-weight:400}.yn input,.consent input{width:auto}
.consent{display:flex;gap:10px;font-size:.85rem;margin-top:18px}.consent label{font-weight:400;margin:0;color:var(--text)}
.thanks{display:none;background:#e8f7f3;border-left:5px solid var(--teal);padding:24px;border-radius:8px}
footer .placeholder{color:var(--navy)}@media(max-width:640px){[style*="span 2"]{grid-column:auto!important}}
.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
.hero-logo{display:block;height:280px;width:auto;max-width:100%;margin:0 0 18px}
.hero-photo{width:100%;height:100%;max-height:440px;object-fit:cover;border-radius:16px;box-shadow:0 12px 30px rgba(0,0,0,.25)}
.photo{width:100%;border-radius:14px;object-fit:cover;box-shadow:0 6px 20px rgba(11,42,91,.12)}
.photo.banner{max-height:380px;margin:10px 0 24px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}.split .photo{max-height:420px}
.card-img{width:calc(100% + 48px);margin:-24px -24px 16px;height:170px;object-fit:cover;border-radius:12px 12px 0 0;display:block}
@media(max-width:820px){.hero-grid,.split{grid-template-columns:1fr}.hero-logo{height:auto;width:min(260px,70vw);margin:0 auto 18px}.hero-photo{max-height:280px}}
.card-img,.hero-photo{object-position:center 25%}
.photo{max-height:340px;height:auto}.photo.banner{max-height:300px}.split .photo{max-height:340px}.hero-photo{max-height:380px}
img:not(.hero-logo):not(.card-img){max-width:100%}
.hero-photo{max-height:300px!important;max-width:460px;justify-self:center}
.photo{max-height:280px!important;max-width:480px;display:block;margin-left:auto;margin-right:auto}
.photo.banner{max-height:240px!important;max-width:100%}
.card-img{height:140px}
.btn.btn-quote{background:#FFD400;color:#0B2A5B;text-transform:uppercase;letter-spacing:.03em;font-weight:700}
.btn.btn-quote:hover,.btn.btn-quote:focus{background:#E6BF00;color:#0B2A5B}
.estimator input[type=number]{width:100%}
.est-result{background:#fff;border-left:5px solid var(--teal);padding:20px 24px;border-radius:8px;margin:18px 0;box-shadow:0 6px 20px rgba(11,42,91,.08)}
.est-amount{font-size:1.4rem;margin:0 0 8px}.est-note{color:#555;margin-top:16px}
.post-list .card h3 a{color:inherit;text-decoration:none}.article{max-width:780px}.article p,.article li{line-height:1.7}
