/* Responsive + accessibility layer. Loaded after each page's inline <style>. */

.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--du-crimson-600);color:#fff;padding:10px 18px;border-radius:0 0 var(--radius-md) 0;font-weight:700}
.skip-link:focus{left:0;color:#fff}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--du-gold-500);outline-offset:2px;border-radius:2px}

.navtoggle{display:none;align-items:center;justify-content:center;width:46px;height:46px;margin-left:auto;background:transparent;border:1px solid var(--neutral-300);border-radius:var(--radius-md);color:var(--du-crimson-600);cursor:pointer}
.navtoggle:hover{background:var(--du-crimson-100)}
.navtoggle svg{width:24px;height:24px}

img{max-width:100%}

nav.links a{white-space:nowrap}

@media (max-width:1024px){
  .grid4{grid-template-columns:repeat(2,1fr)}
  .split,.split.photo-lead{grid-template-columns:1fr;gap:28px}
  .split .art,.split .art.full{height:320px}
  .hero{min-height:640px}
  .foot-grid{grid-template-columns:1fr 1fr}
}

@media (max-width:1100px){
  .navtoggle{display:flex}
  .nav{height:70px;gap:12px}
  .brand .mark{font-size:32px}
  nav.links{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:3px solid var(--du-crimson-500);box-shadow:0 14px 28px rgba(0,0,0,.16);display:none}
  header.site.open nav.links{display:block}
  nav.links ul{flex-direction:column;align-items:stretch;gap:0;padding:8px 0}
  nav.links li{border-top:1px solid var(--neutral-200)}
  nav.links li:first-child{border-top:0}
  nav.links a{display:flex;align-items:center;min-height:52px;padding:0 24px;border-bottom:0;font-size:16px}
  nav.links a.btn{margin:12px 24px;justify-content:center;min-height:48px;padding:0 20px}
  .social{margin-left:0}
}

@media (max-width:720px){
  .wrap{padding:0 18px}
  section{padding:44px 0}
  .stats .wrap{grid-template-columns:repeat(2,1fr);row-gap:22px}
  .hero{min-height:0;padding:44px 0 56px}
  .hero h2{font-size:clamp(34px,9vw,52px);line-height:1.08}
  .hero p{font-size:17px}
  .hero .cta .btn{width:100%;text-align:center}
  .cobrand .wrap{gap:24px}
  .cobrand img{height:56px}
  .topbar .wrap{font-size:12px}
}

@media (max-width:560px){
  .grid4{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr;gap:26px}
  .foot-bot{flex-direction:column}
  .split .art,.split .art.full{height:240px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}
