
:root{
  --blue:#006bb3;
  --blue-dark:#00538c;
  --blue-light:#eaf5fc;
  --text:#24323d;
  --muted:#687783;
  --line:#dce7ee;
  --white:#fff;
  --max:1180px;
  --shadow:0 12px 35px rgba(21,62,86,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  color:var(--text);
  background:#fff;
  line-height:1.65;
}
a{color:inherit}
.container{width:min(var(--max), calc(100% - 40px)); margin:auto}
.topbar{background:#00538c;color:#fff;font-size:.88rem}
.topbar-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.topbar a{color:#fff;text-decoration:none}
.topbar strong{font-weight:800}
.site-header{
  position:sticky; top:0; z-index:20;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(8px);
}
.header-inner{
  min-height:92px; display:flex; align-items:center;
  justify-content:space-between; gap:30px;
}
.logo{display:flex; align-items:center; text-decoration:none}
.logo img{width:92px; height:auto; display:block}
.nav{display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end}
.nav a{
  text-decoration:none; padding:10px 14px; border-radius:8px;
  font-size:.96rem; color:#334854; transition:.2s;
}
.nav a:hover,.nav a.active{background:var(--blue-light); color:var(--blue-dark)}
.hero{
  position:relative; min-height:560px; display:flex; align-items:center;
  overflow:hidden; background:#0d3853;
}
.hero img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.hero::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg,rgba(0,42,72,.82),rgba(0,61,99,.40) 55%,rgba(0,0,0,.05));
}
.hero-content{position:relative; z-index:1; color:white; padding:90px 0; max-width:680px}
.eyebrow{font-size:.9rem; text-transform:uppercase; letter-spacing:.12em; opacity:.9; font-weight:700}
.hero h1{font-size:clamp(2.2rem,5vw,4.2rem); line-height:1.08; margin:14px 0 22px}
.hero p{font-size:1.15rem; max-width:620px; margin:0 0 30px}
.btn{
  display:inline-block; padding:13px 20px; border-radius:8px;
  text-decoration:none; font-weight:700; border:1px solid transparent;
}
.btn-primary{background:#fff; color:var(--blue-dark)}
.btn-outline{border-color:rgba(255,255,255,.7); color:#fff; margin-left:8px}
.section{padding:80px 0}
.section.alt{background:#f7fafc}
.notice{
  background:#fff4df;border:1px solid #f0d39b;border-left:5px solid #d99a20;
  border-radius:12px;padding:24px 26px;box-shadow:0 7px 22px rgba(80,60,20,.06)
}
.notice h2{margin:0 0 10px;color:#9b6500;font-size:1.25rem}
.notice p{margin:6px 0;color:#4f5960}
.notice strong{color:#24323d}
.section-head{max-width:760px; margin:0 auto 42px; text-align:center}
.section-head h2{font-size:clamp(1.8rem,3vw,2.6rem); margin:0 0 12px; color:#173f59}
.section-head p{margin:0; color:var(--muted)}
.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.card{
  background:white; border:1px solid var(--line); border-radius:14px;
  padding:28px; box-shadow:var(--shadow);
}
.card h3{margin:0 0 10px; color:var(--blue-dark); font-size:1.25rem}
.card p{margin:0;color:var(--muted)}
.quick-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
.quick{
  border:1px solid var(--line); border-radius:14px; padding:25px;
  text-decoration:none; background:#fff; transition:.2s;
}
.quick:hover{transform:translateY(-3px); box-shadow:var(--shadow)}
.quick strong{display:block; font-size:1.15rem; color:var(--blue-dark); margin-bottom:7px}
.split{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center}
.split img{width:100%; border-radius:16px; box-shadow:var(--shadow); display:block}
.page-hero{padding:65px 0 55px; background:linear-gradient(135deg,#edf7fd,#fff)}
.page-hero h1{text-align:center; color:#173f59; margin:0 0 12px; font-size:clamp(2rem,4vw,3rem)}
.page-hero p{text-align:center; max-width:760px; margin:auto; color:var(--muted)}
.timeline{max-width:900px; margin:auto}
.timeline-item{display:grid; grid-template-columns:110px 1fr; gap:28px; padding:28px 0; border-bottom:1px solid var(--line)}
.timeline-year{font-size:1.45rem; font-weight:800; color:var(--blue)}
.timeline-item h3{margin:0 0 8px;color:#173f59}
.timeline-item p{margin:0;color:var(--muted)}
.service-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:22px}
.service-card{border:1px solid var(--line); border-radius:14px; padding:25px 28px; background:#fff}
.service-card h3{margin:0 0 14px;color:var(--blue-dark)}
.service-card ul{margin:0;padding-left:20px;color:var(--muted)}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.team-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 6px 20px rgba(21,62,86,.06)}
.team-card img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;display:block}
.team-card .team-info{padding:16px 18px 20px}
.team-card h3{margin:0;color:#173f59;font-size:1.05rem}
.team-card p{margin:4px 0 0;color:var(--muted);font-size:.92rem}
.placeholder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.placeholder{
  min-height:230px;border-radius:14px;border:2px dashed #b9d3e2;
  background:linear-gradient(135deg,#eef7fb,#f8fbfd);
  display:flex;align-items:center;justify-content:center;text-align:center;padding:25px;
  color:#5d7b8c;font-weight:700;
}
.hours{display:grid;grid-template-columns:1fr 1fr;gap:8px 28px;max-width:560px}
.hours div{padding:8px 0;border-bottom:1px solid var(--line)}
.cta{background:var(--blue);color:white}
.cta h2{color:white}
.site-footer{background:#123b55;color:#d9e8f1;padding:45px 0 25px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:35px}
.site-footer h3{color:white;margin-top:0}
.site-footer a{text-decoration:none;color:#d9e8f1}
.footer-bottom{margin-top:30px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);font-size:.85rem}
.mobile-toggle{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:9px 11px}
@media(max-width:900px){
  .cards,.quick-grid,.service-grid{grid-template-columns:1fr 1fr}
  .team-grid{grid-template-columns:repeat(3,1fr)}
  .split{grid-template-columns:1fr;gap:30px}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .topbar-inner{min-height:44px;flex-direction:column;justify-content:center;gap:0;padding:6px 0;font-size:.78rem;text-align:center}

  .container{width:min(var(--max),calc(100% - 28px))}
  .header-inner{min-height:76px}
  .logo img{width:72px}
  .mobile-toggle{display:block}
  .nav{display:none;position:absolute;left:14px;right:14px;top:75px;background:white;border:1px solid var(--line);padding:10px;border-radius:10px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}
  .nav.open{display:flex}
  .nav a{padding:12px}
  .hero{min-height:590px}
  .hero-content{padding:70px 0}
  .hero h1{font-size:2.35rem}
  .btn{display:block;text-align:center}
  .btn-outline{margin:10px 0 0}
  .section{padding:60px 0}
  .cards,.quick-grid,.service-grid,.placeholder-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .team-card .team-info{padding:12px}
  .timeline-item{grid-template-columns:1fr;gap:5px}
  .footer-grid{grid-template-columns:1fr}
  .hours{grid-template-columns:1fr}
}

.legal-content{max-width:900px;margin:0 auto}
.legal-content h2{margin-top:42px;color:#173f59;font-size:1.45rem}
.legal-content h3{margin-top:28px;color:var(--blue-dark);font-size:1.12rem}
.legal-content p,.legal-content li{color:#586a76}
.legal-content ul{padding-left:22px}
.legal-box{background:#f7fafc;border:1px solid var(--line);border-radius:12px;padding:24px 28px;margin:25px 0}
.legal-box strong{color:#24323d}

@media(max-width:680px){.news-card{grid-template-columns:1fr!important}}

/* Accessibility enhancements */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:9999}
.skip-link:focus{left:16px;top:16px;width:auto;height:auto;overflow:visible;padding:12px 16px;background:#fff;color:#173f59;border:3px solid var(--blue);border-radius:8px;box-shadow:var(--shadow);font-weight:700}
a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.update-notice{background:#eef5ff;border-left:5px solid var(--blue);padding:22px 25px;border-radius:10px}.emergency-box{background:#fff4f4;border:2px solid #b42318;border-radius:12px;padding:28px}.emergency-box h2{color:#b42318;margin-top:0}.compact-team{grid-template-columns:repeat(5,1fr)}.team-subhead{margin-top:38px}.compact{margin-top:20px}.notice-section{padding-top:30px;padding-bottom:20px}@media(max-width:900px){.compact-team{grid-template-columns:repeat(3,1fr)}}@media(max-width:680px){.compact-team{grid-template-columns:repeat(2,1fr)}}

.back-home{display:inline-block;font-weight:700;text-decoration:none;margin-bottom:4px}.back-home:hover{text-decoration:underline}
