:root{--brand-primary:#123e73;--brand-primary-dark:#082b52;--brand-accent:#d9340b;--brand-accent-light:#ffc29b;--brand-accent-dark:#b12a08;--surface:#f5f7fa;--border:#dce5ef;--text:#13263a;--muted:#5a6b7c;--white:#fff;--shell:1180px;--section-space:6.5rem;--shadow:0 24px 60px rgba(8,43,82,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;color:var(--text);font:16px/1.6 Arial,sans-serif}img{display:block;width:100%;max-width:100%}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08}.shell{width:min(var(--shell),calc(100% - 3rem));margin:auto}.skip-link{position:fixed;top:-5rem;left:1rem;z-index:100;background:#fff;padding:.75rem}.skip-link:focus{top:1rem}.utility{background:var(--brand-primary-dark);color:#fff;font-size:.8rem}.utility .shell{min-height:2.25rem;display:flex;justify-content:space-between;align-items:center}.header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--border)}.header-inner{min-height:4.75rem;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:800;color:var(--brand-primary);border-left:5px solid var(--brand-accent);padding-left:.8rem}.header nav{display:flex;align-items:center;gap:2rem;font-weight:700}.nav-cta,.button.primary{background:var(--brand-accent);color:#fff}.nav-cta{padding:.7rem 1rem}.menu{display:none}.button{display:inline-flex;justify-content:center;align-items:center;min-height:3.2rem;padding:.75rem 1.4rem;border:1px solid transparent;font-weight:800}.button.outline{border-color:#fff;color:#fff}.button.light{background:#fff;color:var(--brand-primary)}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:800;color:#ffc29b}.eyebrow.accent{color:var(--brand-accent)}
.hero{position:relative;min-height:42rem;background:var(--brand-primary-dark);color:#fff}.hero-image,.hero-overlay{position:absolute;inset:0;height:100%;object-fit:cover}.hero-overlay{background:linear-gradient(90deg,rgba(5,32,64,.97),rgba(7,42,80,.62))}.hero-grid{position:relative;display:grid;grid-template-columns:1.15fr .72fr;gap:3.5rem;align-items:center;padding-block:4.5rem}.hero-copy h1{font-size:clamp(3rem,5vw,4.8rem)}.hero-copy>p:not(.eyebrow){max-width:42rem;color:#e3edf7}.actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.8rem}.lead-form{background:#fff;color:var(--text);padding:1.8rem;border-top:5px solid var(--brand-accent);box-shadow:var(--shadow)}.lead-form h2{color:var(--brand-primary)}.form-kicker{color:var(--brand-accent);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.lead-form label,.contact label{display:block;font-size:.72rem;font-weight:800;color:var(--brand-primary);margin-bottom:.75rem}.lead-form input,.lead-form select,.lead-form textarea,.contact input,.contact textarea{display:block;width:100%;margin-top:.25rem;padding:.65rem;border:1px solid #cbd7e3}.upload{border:1px dashed #91a9c0;padding:.7rem}.lead-form .button{width:100%}.lead-form small{display:block;text-align:center;color:var(--muted);margin-top:.5rem}
.trust{background:var(--surface);border-bottom:1px solid var(--border)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-grid>div{padding:1.5rem;border-inline-end:1px solid var(--border)}.trust strong,.trust span{display:block}.trust strong{color:var(--brand-primary)}.trust span{font-size:.8rem;color:var(--muted)}.section{padding:var(--section-space) 0}.heading{max-width:48rem;margin-bottom:2.5rem}.heading h2,.about h2{font-size:clamp(2.2rem,4vw,3.7rem);color:var(--brand-primary)}.heading.centered{text-align:center;margin-inline:auto}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.card{background:var(--surface)}.card>img{height:15rem;object-fit:cover}.card>div{padding:1.5rem}.card span,.card a{color:var(--brand-accent);font-weight:800}.card h3{color:var(--brand-primary)}.cta-band{background:var(--brand-accent);color:#fff;padding:3.5rem 0}.cta-band .shell{display:flex;justify-content:space-between;align-items:center}.soft{background:var(--surface)}.gallery{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:16rem 16rem;gap:.8rem}.gallery figure{position:relative;margin:0;overflow:hidden}.gallery .large{grid-row:1/3}.gallery img{height:100%;object-fit:cover}.gallery figcaption{position:absolute;inset:auto 0 0;padding:2rem 1rem 1rem;background:linear-gradient(transparent,rgba(5,32,64,.85));color:#fff}.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:5rem;align-items:center}.about-image img{height:36rem;object-fit:cover}.lead{font-size:1.1rem;color:var(--muted)}.principles>div{border-top:1px solid var(--border);padding:1rem 0}.principles strong{color:var(--brand-primary)}.contact{padding:var(--section-space) 0;background:var(--brand-primary);color:#fff}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem}.contact-grid h2{font-size:3rem}.contact-grid>div>a{display:block;font-weight:800}.contact form{background:#fff;padding:2rem}.contact .button{width:100%}footer{background:var(--brand-primary-dark);color:#d9e5f0;padding:4rem 0 6rem}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem}.footer-grid h2{font-size:.75rem;text-transform:uppercase;color:#ffb07c}.footer-grid a{display:block;margin:.5rem 0}.scope{border-top:1px solid rgba(255,255,255,.15);margin-top:2rem;padding-top:1.5rem;font-size:.75rem;color:#9fb4ca}.mobile-actions{display:none}
@media(max-width:800px){.shell{width:min(100% - 1.8rem,var(--shell))}.utility span{display:none}.utility .shell{justify-content:center}.menu{display:block}.header nav{display:none;position:absolute;top:4.75rem;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:1rem}.header nav.open{display:flex}.hero-grid,.about,.contact-grid{grid-template-columns:1fr}.hero-grid{padding-block:4rem}.lead-form{margin-top:1rem}.trust-grid{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr}.cta-band .shell{display:block}.gallery{grid-template-columns:1fr;grid-template-rows:24rem 18rem 18rem}.gallery .large{grid-row:auto}.footer-grid{grid-template-columns:1fr}.mobile-actions{position:fixed;display:grid;grid-template-columns:1fr 1fr;bottom:0;left:0;right:0;z-index:30}.mobile-actions a{display:grid;place-items:center;min-height:3.5rem;background:#fff;color:var(--brand-primary);font-weight:800}.mobile-actions a:last-child{background:var(--brand-accent);color:#fff}}
@media(max-width:480px){.form-row,.trust-grid{grid-template-columns:1fr}.hero-copy h1{font-size:2.7rem}}

/* Generator-repair overrides: approved assets, contrast, responsive structure. */
.header-inner{min-height:7.25rem}.brand{display:inline-flex;align-items:center}.brand:has(.brand-logo){border-left:0;padding-left:0}.brand-logo{display:block;width:auto;height:6.5rem;max-width:20rem;object-fit:contain}.footer-logo{display:block;width:auto;height:6rem;max-width:12rem;object-fit:contain;background:#fff}.button.secondary{border-color:var(--brand-primary);color:var(--brand-primary);background:#fff}.trust-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.gallery{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));grid-template-rows:none;gap:1rem}.gallery-image{display:block;width:100%;height:22rem;object-fit:cover}.gallery .large{grid-row:auto}.footer-grid h2{color:var(--brand-accent-light)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.thankyou-page{min-height:100vh;background:var(--surface);display:grid;place-items:center;padding:2rem}.thankyou-shell{width:min(100%,42rem)}.thankyou-card{background:#fff;padding:clamp(2rem,8vw,4rem);box-shadow:var(--shadow);text-align:center}.thankyou-logo{display:block;width:auto;height:7rem;max-width:100%;object-fit:contain;margin:0 auto 1.5rem}.thankyou-card h1{font-size:clamp(2.2rem,5vw,3.5rem);color:var(--brand-primary)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--brand-accent-light);outline-offset:3px}.contact form :focus-visible{outline-color:var(--brand-primary)}
@media(max-width:800px){.header-inner{min-height:4.75rem}.brand-logo{height:3.5rem;max-width:10rem}.trust-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.gallery-image{height:20rem}}
