
:root{
  --blue-light:#29abe2;
  --blue-mid:#1e88d0;
  --blue-dark:#0f5fa8;
  --blue-deep:#0a3f70;
  --red:#c1121f;
  --red-dark:#8f0e17;
  --text:#2b2f33;
  --gray-bg:#f3f6f8;
  --gray-line:#e2e6e9;
}
html,body{overflow-x:hidden}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',-apple-system,'Segoe UI',Arial,sans-serif;color:var(--text);background:#fff;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Poppins','Inter',sans-serif}
a{color:var(--blue-dark);text-decoration:none;transition:color .15s}
a:hover{color:var(--blue-light)}
img{max-width:100%;display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}

/* top utility bar */
.topbar{background:var(--blue-deep);color:#dce9f5;font-size:13px;letter-spacing:.02em}
.topbar .wrap{display:flex;justify-content:flex-end;align-items:center;gap:18px;padding-top:9px;padding-bottom:9px}
.topbar a{color:#dce9f5}
.topbar a:hover{color:#fff}
.social{display:flex;gap:8px;align-items:center}
.social a{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:#dce9f5;transition:background .15s,transform .15s,color .15s}
.social a:hover{background:var(--blue-light);color:#fff;transform:translateY(-2px)}

/* header */
header.site{background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--gray-line);position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(10,63,112,.03)}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}
.brand img{height:116px;width:auto}
.tagline-text{color:var(--blue-dark);font-style:italic;font-weight:600;font-size:22px;flex:1 1 200px;text-align:center;min-width:0}
.call{text-align:right;flex:0 1 auto;min-width:0;max-width:280px;overflow-wrap:anywhere}
.call .label{color:var(--blue-dark);font-size:clamp(18px,2vw,27px);font-weight:800;white-space:normal}
.call .num{font-size:clamp(18px,2vw,28px);font-weight:700;color:var(--blue-dark);white-space:normal}

.menu-toggle{display:none;background:none;border:none;font-size:26px;color:var(--blue-dark);cursor:pointer;padding:6px}

nav.mainnav{background:linear-gradient(90deg,var(--blue-mid),var(--blue-dark) 70%);}
nav.mainnav ul{list-style:none;margin:0 auto;padding:8px 16px;display:flex;justify-content:center;max-width:1200px;gap:28px}
nav.mainnav a{text-align:center;color:rgba(255,255,255,.88);font-weight:600;letter-spacing:.03em;padding:12px 22px;display:block;font-size:18px;border-radius:999px;transition:background .18s,color .18s}
nav.mainnav a:hover{background:rgba(255,255,255,.16);color:#fff}
nav.mainnav a.active{background:#fff;color:var(--blue-dark);box-shadow:0 2px 8px rgba(0,0,0,.15)}

/* hero */
.hero{position:relative;background:#0a3f70}
.hero img{width:100%;height:min(32vw,380px);object-fit:cover;opacity:.94}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,40,70,.15) 0%,rgba(8,30,55,.75) 100%);display:flex;align-items:flex-end;padding:0 0 44px}
.hero-overlay .wrap{width:100%;display:flex;align-items:center;justify-content:center;height:100%}
.hero-caption-text{color:#fff;font-weight:600;font-size:clamp(18px,2.6vw,28px);text-shadow:0 2px 12px rgba(0,0,0,.4);margin:0}
.hero-overlay h1{color:#fff;font-weight:600;font-size:clamp(24px,3.4vw,40px);margin:0 0 18px;max-width:720px;text-shadow:0 2px 12px rgba(0,0,0,.25)}
.btn{display:inline-block;background:var(--blue-light);color:#fff;font-weight:600;padding:13px 30px;border-radius:999px;box-shadow:0 6px 18px rgba(41,171,226,.35);border:none;cursor:pointer;font-size:15px;transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{background:var(--blue-mid);transform:translateY(-2px);box-shadow:0 10px 24px rgba(41,171,226,.45);color:#fff}

/* feature boxes */
.features{background:var(--gray-bg);padding:56px 0}
.features-heading{text-align:center;color:var(--blue-dark);font-weight:600;font-size:clamp(22px,3vw,32px);margin:0 0 56px}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.feature-grid a.feature-card{position:relative;display:flex;align-items:center;justify-content:center;height:200px;border-radius:16px;overflow:hidden;box-shadow:0 4px 16px rgba(10,63,112,.1);border:5px solid var(--blue-dark);background:linear-gradient(135deg,var(--blue-mid),var(--blue-dark));transition:transform .25s,box-shadow .25s}
.feature-grid a.feature-card:hover{transform:translateY(-6px);box-shadow:0 16px 32px rgba(10,63,112,.2)}
.feature-grid img{height:280px;width:100%;object-fit:contain;background:#0a0a0a;transition:transform .4s}
.feature-grid a:hover img{transform:scale(1.03)}
.feature-label{position:static;padding:0;color:#fff;font-weight:600;font-size:20px;letter-spacing:.02em;background:none;text-align:center}

/* generic page content */
main.page-content{padding:72px 0;min-height:60vh}
main.simple-page{display:flex;align-items:center}
main.simple-page .wrap{width:100%;text-align:center}
main.page-content h1{color:var(--blue-dark);font-size:clamp(28px,4vw,40px);margin-top:0}
main.page-content p.body-text{color:var(--blue-dark);font-size:clamp(20px,2.4vw,28px);font-weight:500}
main.page-content .back-link{display:inline-block;margin-top:24px;font-weight:600}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:48px}
.contact-info{background:var(--gray-bg);border-radius:16px;padding:32px}
.contact-info h3{color:var(--blue-dark);margin-top:0}
.contact-info p{margin:4px 0}
form.contact-form{display:flex;flex-direction:column;gap:16px}
.form-heading{color:var(--blue-dark);margin:0;font-size:22px;font-weight:600;text-align:center}
form.contact-form label{font-weight:600;font-size:14px}
form.contact-form input,form.contact-form textarea{padding:13px 14px;border:1px solid var(--gray-line);border-radius:10px;font-size:15px;font-family:inherit;width:100%;transition:border-color .15s,box-shadow .15s}
form.contact-form input:focus,form.contact-form textarea:focus{outline:none;border-color:var(--blue-light);box-shadow:0 0 0 3px rgba(41,171,226,.18)}
form.contact-form textarea{min-height:130px;resize:vertical}
form.contact-form button{align-self:center;background:linear-gradient(135deg,#c1121f,#8f0e17);color:#fff;border:none;padding:14px 36px;font-size:16px;font-weight:600;border-radius:999px;cursor:pointer;box-shadow:0 6px 18px rgba(143,14,23,.4);transition:transform .15s,box-shadow .15s,background .15s}
form.contact-form button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(143,14,23,.5);background:linear-gradient(135deg,#8f0e17,#6e0b12)}

/* footer */
footer.site{background:linear-gradient(135deg,var(--blue-deep),#082b4d);padding:36px 0;text-align:center;color:#c9d9e8;font-size:14px}
footer.site a{color:#fff;text-decoration:none}
footer.site a:hover{text-decoration:underline}

@media (max-width:900px){
  .contact-grid{grid-template-columns:1fr}
  .feature-grid{grid-template-columns:1fr}
}
@media (max-width:768px){
  .tagline-text{display:none}
  .topbar .wrap{justify-content:space-between}
  .header-row{padding:12px 0}
  .brand img{height:48px}
  .call{display:none}
  .menu-toggle{display:block}
  nav.mainnav ul{display:none;flex-direction:column}
  nav.mainnav.open ul{display:flex}
  nav.mainnav a{text-align:left;padding:14px 24px;border-top:1px solid rgba(255,255,255,.15)}
  .hero img{height:260px}
}
