:root{--navy:#1f3a68;--red:#e4231f;--yellow:#f5d916;--ink:#1a1f2b;--base:#f4f5f7;--line:#c9ced8;--bh:32px}
*{box-sizing:border-box}
html{scroll-padding-top:120px}
body{margin:0;padding-top:var(--bh);font:400 17px/1.6 Inter,system-ui,sans-serif;color:var(--ink);background:var(--base)}
h1,h2,h3{font-family:Oswald,"Arial Narrow",sans-serif;text-transform:uppercase;line-height:1.1;margin:0 0 .5em;color:var(--navy);letter-spacing:.01em}
h1{font-size:clamp(2.2rem,6vw,3.8rem)}h2{font-size:2rem}h3{font-size:1.4rem}
a{color:var(--navy)}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
.lbl{font-family:Oswald,"Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;font-weight:500;color:#b3140f;margin:0 0 .6em}
.banner{position:fixed;top:0;left:0;right:0;height:var(--bh);z-index:10000;background:#111;color:#f1f1f1;font:600 13px/var(--bh) Inter,sans-serif;text-align:center;padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.watermark{position:fixed;inset:0;z-index:9000;pointer-events:none;overflow:hidden;opacity:.06;color:#000}
.watermark div{position:absolute;left:50%;top:50%;width:160vmax;transform:translate(-50%,-50%) rotate(-30deg);display:flex;flex-wrap:wrap;justify-content:center;gap:34vmax 22vmax}
.watermark span{font:900 clamp(60px,10vw,140px)/1 Inter,Arial,sans-serif;letter-spacing:.1em}
.site-header{background:#fff;border-bottom:3px solid var(--red);position:sticky;top:var(--bh);z-index:100}
.head-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding-top:10px;padding-bottom:10px}
.brand{font-family:Oswald,sans-serif;text-transform:uppercase;font-weight:700;color:var(--navy);text-decoration:none;line-height:1.05;font-size:1.15rem}
.head-tel{margin-left:auto;background:var(--navy);color:#fff;text-decoration:none;padding:8px 14px;font:700 1.15rem Oswald,sans-serif;border-left:6px solid var(--yellow)}
.head-tel .lbl{color:var(--yellow);display:inline;margin:0 6px 0 0}
nav{display:flex;flex-wrap:wrap;gap:4px 18px;width:100%}
nav a{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.95rem;text-decoration:none;color:var(--ink);padding:4px 0;border-bottom:3px solid transparent}
nav a:hover,nav a[aria-current]{border-bottom-color:var(--red)}
@media(min-width:800px){.head-row{flex-wrap:nowrap}.head-row nav{width:auto;order:1}.head-tel{order:2}}
.hero{display:grid;grid-template-columns:1fr;border-bottom:3px solid var(--red)}
.hero-text{padding:48px 20px;max-width:620px;margin:0 auto;width:100%}
.hero-art{min-height:220px;border-top:3px solid var(--red)}
.hero-art svg{display:block;width:100%;height:100%;min-height:220px}
@media(min-width:800px){.hero{grid-template-columns:1fr 1fr;min-height:480px}.hero-text{padding:72px 48px 72px 20px;margin:0 0 0 auto;max-width:560px;align-self:center}.hero-art{border-top:0;border-left:3px solid var(--red)}}
.row-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.btn{display:inline-block;background:#c41a16;color:#fff;border:0;border-bottom:3px solid #8f1210;padding:12px 24px;font:700 1.05rem Oswald,sans-serif;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;cursor:pointer;border-radius:0}
.btn.ghost{background:#fff;color:var(--navy);border:3px solid var(--navy)}
.btn:hover{filter:brightness(.92)}
a:focus-visible,.btn:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--yellow);outline-offset:2px;box-shadow:0 0 0 5px var(--navy)}
.band{padding:56px 0}
.pagehead{background:#fff;border-bottom:3px solid var(--red);padding:48px 0 32px}
.pagehead p{max-width:60ch}
.rows{list-style:none;margin:24px 0;padding:0;border-top:3px solid var(--navy)}
.rows li{border:1px solid var(--line);border-top:0;border-left:6px solid var(--red);background:#fff;padding:20px 24px}
.rows li h2,.rows li h3{margin-bottom:.2em}.rows li p{margin:0}
.note{border-left:3px solid var(--yellow);padding-left:12px;max-width:60ch}
.textlink{font-weight:600}
.narrow{max-width:700px}
.cta{background:var(--navy);color:#fff;border-top:3px solid var(--yellow)}
.cta a:not(.btn){color:#fff}
.cta-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding-top:32px;padding-bottom:32px}
.cta .big{font:500 1.6rem Oswald,sans-serif;margin:0}
.contact-grid{display:grid;gap:40px}
@media(min-width:800px){.contact-grid{grid-template-columns:2fr 1fr}}
.field{margin-bottom:18px;display:flex;flex-direction:column}
label{font:500 .9rem Oswald,sans-serif;text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px}
input,textarea{font:inherit;padding:10px 12px;border:2px solid #4a5568;border-radius:0;background:#fff;color:var(--ink)}
input[aria-invalid=true],textarea[aria-invalid=true]{border-color:#b3140f;border-width:3px}
.err{color:#b3140f;font-weight:600;font-size:.9rem;min-height:1.2em}
.ok{border-left:6px solid var(--navy);background:#fff;padding:12px 16px;margin-top:16px}
.details{border-top:3px solid var(--navy);background:#fff;padding:20px;align-self:start}
.site-footer{background:#12213d;color:#fff;border-top:3px solid var(--red);padding-top:36px}
.site-footer a,.site-footer nav a{color:#fff}
.site-footer .lbl{color:var(--yellow)}
.site-footer p{margin:0 0 .4em}
.foot-grid{display:grid;gap:24px}
@media(min-width:800px){.foot-grid{grid-template-columns:repeat(3,1fr)}}
.flinks{flex-direction:column;gap:4px}
.proposal{border-top:1px solid #4a5a7a;margin-top:28px;padding-top:14px;padding-bottom:20px;font-size:.9rem}
@media(max-width:480px){.banner{font-size:11px}.brand{font-size:1rem}.head-tel{font-size:1rem;padding:6px 10px}}
