* { box-sizing:border-box; }
body { margin:0; overflow-x:hidden; }
a { color:#30377a; }
a:hover { color:#262c63; }
details > summary { list-style:none; cursor:pointer; }
details > summary::-webkit-details-marker { display:none; }
details[open] .faq-plus { transform:rotate(45deg); }
.site-nav{ font-family:'Proxima Nova','Mulish',Arial,sans-serif; background:#fff; border-bottom:1px solid #d0d3da; position:sticky; top:0; z-index:50; }
.nav-toggle-cb{ display:none; }
.nav-bar{ max-width:1200px; margin:0 auto; padding:12px 26px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.nav-logo img{ display:block; height:52px; width:auto; }
.nav-right{ display:flex; align-items:center; gap:24px; }
.nav-links{ display:flex; align-items:center; gap:17px; flex-wrap:wrap; }
.nav-links a{ position:relative; text-decoration:none; font-weight:700; font-size:15px; color:#30377a; padding:6px 0; white-space:nowrap; }
.nav-links a.active::after{ content:""; position:absolute; left:0; right:0; bottom:-2px; height:3px; background:#c2491d; border-radius:2px; }
.nav-phone{ display:inline-flex; align-items:center; gap:9px; background:#30377a; color:#fff; text-decoration:none; font-weight:800; font-size:15px; padding:11px 18px; border-radius:8px; white-space:nowrap; }
.nav-phone:hover{ background:#262c63; color:#fff; }
.nav-burger{ display:none; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid #d0d3da; border-radius:9px; background:#fff; cursor:pointer; }
.nav-drawer{ display:none; border-top:1px solid #eef0f6; padding:8px 16px 16px; }
.nav-drawer a{ display:block; text-decoration:none; font-weight:800; font-size:17px; color:#30377a; padding:14px 10px; border-bottom:1px solid #f1f2f6; }
.nav-drawer-phone{ display:flex !important; align-items:center; justify-content:center; gap:9px; margin-top:14px; background:#30377a; color:#fff !important; border-bottom:0 !important; border-radius:9px; }
@media (max-width:1080px){
  .nav-links{ display:none; }
  .nav-phone{ display:none; }
  .nav-burger{ display:inline-flex; }
  #navtoggle:checked ~ .nav-drawer{ display:block; }
}
@media (max-width:900px){
  .nav-links{ display:none; }
  .nav-phone{ display:none; }
  .nav-burger{ display:inline-flex; }
  #navtoggle:checked ~ .nav-drawer{ display:block; }
  div[style*="grid-template-columns"]{ grid-template-columns:1fr !important; }
  div[style*="repeat(4"]{ grid-template-columns:repeat(2,1fr) !important; }
}
@media (max-width:640px){
  h1{ font-size:40px !important; line-height:1.08 !important; }
  div[style*="repeat(4"]{ grid-template-columns:1fr !important; }
}
@media (max-width:760px){
  .mcpt-foot-grid{ grid-template-columns:1fr !important; gap:34px !important; }
  .mcpt-foot-sub{ flex-direction:column !important; align-items:flex-start !important; }
}

.to-top{ position:fixed; right:18px; bottom:22px; z-index:60; width:50px; height:50px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; background:#30377a; color:#ffffff;
  border:2px solid #ffffff; box-shadow:0 4px 14px rgba(20,24,60,.34); text-decoration:none;
  opacity:0; visibility:hidden; transform:translateY(10px); transition:opacity .18s ease, transform .18s ease, visibility .18s ease; }
.to-top:hover{ background:#262c63; color:#ffffff; }
.to-top:focus-visible{ outline:3px solid #76B82A; outline-offset:3px; }
.to-top.show{ opacity:1; visibility:visible; transform:translateY(0); }
@media (max-width:700px){ .to-top{ right:14px; bottom:16px; width:46px; height:46px; } }
@media print{ .to-top{ display:none; } }
@media (prefers-reduced-motion:reduce){ .to-top{ transition:none; } }

.skip-link{ position:absolute; left:-9999px; top:0; z-index:200; background:#ffffff; color:#30377a;
  font-family:'Proxima Nova','Mulish',Arial,sans-serif; font-weight:900; font-size:15px;
  padding:12px 18px; border:2px solid #30377a; border-radius:0 0 10px 0; text-decoration:none; }
.skip-link:focus{ left:0; }

/* utility bar: tidy two-line stack on small screens */
@media (max-width:760px){
  .util-bar{ flex-direction:column; align-items:center; gap:0 !important; padding:11px 18px 10px !important; text-align:center; }
  .util-msg{ justify-content:center; gap:8px !important; }
  .util-dot{ display:none !important; }
  .util-msg > span{ font-size:14px; line-height:1.45; max-width:34ch; text-wrap:balance; }
  .util-meta{ width:100%; justify-content:center; flex-wrap:wrap; gap:6px 16px !important;
    margin-top:7px; font-size:13.5px; }
  .util-meta a{ display:none !important; }   /* Facebook lives in the footer on mobile */
  .util-sep{ display:none !important; }
  .util-br{ display:inline !important; }
}

.util-br{ display:none; }
