:root{--blue:#03202F;--red:#A71930;--white:#fff;--gray100:#F7F7F8;--gray300:#E5E7EB;--gray600:#4B5563;--gray900:#111827;--maxw:1200px}
*{box-sizing:border-box}html,body{margin:0;padding:0;color:var(--gray900);background:var(--white);font-family:ui-sans-serif,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6}
a{color:#0b4a6e;text-decoration:none}a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.container{max-width:var(--maxw);margin:0 auto;padding:0 16px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:10px;font-weight:800;border:2px solid transparent;transition:.15s;cursor:pointer;line-height:1;color:#fff!important;white-space:nowrap;max-width:260px}
.btn-red{background:#A71930;color:#fff!important}.btn-blue{background:#03202F;color:#fff!important}.btn:hover,.btn:focus{filter:brightness(.96)}
.header{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--gray300)}.nav{display:flex;align-items:center;gap:16px;padding:12px 0}
.brand-wrap{display:flex;align-items:center;gap:12px;margin-right:auto}.logo-img{height:32px;width:auto}
.logo-text{display:flex;align-items:baseline;gap:6px;white-space:nowrap}.logo-text .brand{font-weight:900;color:var(--blue)}.logo-text .sub{font-weight:700;color:var(--gray600);font-size:.95rem}
.navlinks{display:flex;align-items:center;gap:16px}.navlinks a{font-weight:700;color:var(--gray900)}
.dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--gray300);border-radius:12px;min-width:320px;display:none;box-shadow:0 10px 30px rgba(0,0,0,.08);padding:8px}.dropdown:hover .dropdown-menu{display:block}.dropdown-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.mobile-menu-btn{display:none}@media(max-width:768px){.navlinks{display:none}.mobile-menu-btn{display:inline-flex}}
.hero{background:linear-gradient(120deg,var(--blue),#0a3a54);color:#fff;padding:48px 0}.hero h1{font-size:2.05rem;line-height:1.15;margin:0 0 12px}
.section{padding:32px 0}.card{border:1px solid var(--gray300);border-radius:16px;padding:16px;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.03)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(max-width:900px){.grid-3{grid-template-columns:1fr 1fr}}@media(max-width:640px){.grid-3,.grid-2{grid-template-columns:1fr}}
.footer{background:var(--blue);color:#fff;padding:32px 0;margin-top:32px}.footer a{color:#fff}
.breadcrumbs{font-size:.9rem;color:var(--gray600)}
.gallery{position:relative;border-radius:16px;border:1px solid var(--gray300);overflow:hidden;max-height:340px;margin:12px 0}
.gallery img{width:100%;height:340px;object-fit:cover;cursor:pointer}
@media(max-width:640px){.gallery{max-height:220px}.gallery img{height:220px}}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;z-index:1000}
.lightbox img{max-width:90%;max-height:90%;border-radius:8px}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.gallery-grid img{width:100%;height:180px;object-fit:cover;border-radius:8px;cursor:pointer}
input,select,textarea{width:100%;padding:10px;border:1px solid var(--gray300);border-radius:8px}label{font-weight:700;display:block;margin:8px 0 6px}
form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:640px){form .row{grid-template-columns:1fr}}
.kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:var(--red);font-weight:800}.badges{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.sticky-cta{position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.98);border-top:1px solid var(--gray300);display:flex;gap:12px;justify-content:center;padding:10px;z-index:50}
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{left:16px;top:16px;width:auto;height:auto;background:#fff;padding:8px 12px;border-radius:8px;z-index:1000}
.small{font-size:.92rem;color:#374151}