
/* Unified site-wide design QA pass 09. Existing brand palette retained. */
:root{--aag-blue:#132BFF;--aag-yellow:#FFF000;--aag-black:#111;--aag-ice:#f3f5fa;--aag-line:#c9ced9}
html{scroll-padding-top:92px}
body{overflow-x:clip;background:#f3f5fa;color:#111}
*{min-width:0}
a,button,summary,input,textarea,select{touch-action:manipulation}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #E3342F;outline-offset:3px}
.aag-global-header{background:var(--aag-blue)!important;border-bottom:5px solid var(--aag-black)!important;position:sticky;top:0;z-index:100}
.aag-header-layout{width:min(1240px,calc(100% - 36px))!important;max-width:1240px!important;min-height:76px!important;gap:clamp(14px,2vw,24px)!important;padding:10px 0!important;display:flex;align-items:center;flex-wrap:nowrap!important;margin:auto}
.aag-brand{display:flex!important;align-items:center;gap:10px;text-decoration:none;color:#fff;white-space:normal!important;flex:0 0 auto;max-width:280px}
.aag-brand img{display:block!important;width:47px!important;height:47px!important;max-height:none!important;flex:none}
.aag-brand .brand-wordmark{display:block!important;color:#fff!important;font-size:clamp(12px,1vw,15px)!important;line-height:1.22!important;font-weight:900!important;letter-spacing:-.025em!important;font-family:"Arial Black",Arial,sans-serif}
.aag-global-header .aag-primary{display:flex;align-items:center;gap:4px;margin-left:auto;position:relative;min-width:0}
.aag-nav-group{position:relative;flex:none}
.aag-nav-group>summary{list-style:none;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:850;color:#fff;cursor:pointer;padding:12px 10px;border:2px solid transparent;border-radius:0;white-space:nowrap;user-select:none}
.aag-nav-group>summary::-webkit-details-marker{display:none}
.aag-chevron{display:inline-block;font-size:18px;transition:transform .15s}
.aag-nav-group[open] .aag-chevron{transform:rotate(180deg)}
.aag-nav-group>summary:hover,.aag-nav-group>summary:focus-visible,.aag-nav-group[open]>summary{background:#fff;color:#111;border-color:#111}
.aag-nav-panel{position:absolute;top:100%;left:0;min-width:245px;max-width:min(420px,85vw);width:max-content;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:14px;background:#fff;border:3px solid #111;box-shadow:6px 6px 0 #111;z-index:150}
.aag-menu-title{grid-column:1/-1;color:#0e1fc6;text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.08em;padding:1px 8px 8px;border-bottom:1px solid #d6d6d6}
.aag-nav-panel a{color:#111!important;font-size:13px!important;font-weight:700;text-decoration:none;display:block;padding:9px 10px;line-height:1.35;white-space:normal;border:1px solid transparent;border-radius:0}
.aag-nav-panel a:hover,.aag-nav-panel a:focus-visible,.aag-nav-panel a[aria-current="page"]{background:var(--aag-yellow);border-color:#111;text-decoration:underline}
.aag-nav-group:nth-child(3) .aag-nav-panel{left:auto;right:-75px}
.aag-nav-group:nth-child(4) .aag-nav-panel{left:auto;right:0;min-width:245px;grid-template-columns:1fr}
.aag-top-cta{display:inline-flex!important;align-items:center;gap:4px;white-space:nowrap;flex:none;background:var(--aag-yellow)!important;color:#111!important;border:2px solid #111!important;box-shadow:4px 4px 0 #111!important;padding:10px 14px!important;font-size:13px!important;font-weight:900!important;line-height:1.3!important;text-decoration:none!important}
.aag-top-cta:hover{background:#fff!important;transform:translate(2px,2px)!important;box-shadow:2px 2px 0 #111!important}
.aag-global-header .aag-menu-button{display:none}
@media(max-width:1080px){
  .aag-global-header .aag-header-layout{flex-wrap:wrap!important;row-gap:10px!important}
  .aag-global-header .aag-menu-button{display:inline-flex!important;align-items:center;gap:7px;margin-left:auto;background:var(--aag-yellow);color:#111;border:2px solid #111;box-shadow:3px 3px 0 #111;padding:9px 13px;font-weight:900;font-size:14px}
  .aag-global-header .aag-top-cta{margin-left:0}
  .aag-global-header .aag-primary{display:none!important;position:static;width:100%;order:10;flex:1 0 100%;background:#0b20ca;padding:10px!important;align-items:stretch;flex-direction:column;margin:0;gap:4px;border:2px solid #111}
  .aag-global-header .aag-primary.open{display:flex!important}
  .aag-nav-group>summary{padding:12px 13px;font-size:15px;justify-content:space-between;background:rgba(255,255,255,.09)}
  .aag-nav-panel{position:static!important;box-shadow:none!important;max-width:none;width:100%;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px;gap:2px;border-width:2px}
  .aag-nav-group:nth-child(3) .aag-nav-panel,.aag-nav-group:nth-child(4) .aag-nav-panel{left:auto;right:auto}
}
@media(max-width:580px){
  .aag-header-layout{width:calc(100% - 28px)!important;gap:8px!important}
  .aag-brand img{width:42px!important;height:42px!important}
  .aag-brand .brand-wordmark{font-size:12px!important}
  .aag-top-cta{font-size:11px!important;padding:8px 10px!important;order:9;max-width:100%}
  .aag-global-header .aag-primary{order:10}
  .aag-nav-panel{grid-template-columns:1fr}
}
/* Solid hero background, rather than a fixed-height blue-to-gray gradient.
   This fixes the reported white text on light background when headings wrap. */
.blue-wrap,.blue-wrap.home-wrap,.blue-wrap.location-wrap,.home-wrap,.location-wrap{
 background:var(--aag-ice)!important;border-top:0!important;padding-bottom:44px!important
}
.blue-wrap>.container{padding-bottom:14px}
.blue-wrap .breadcrumbs{background:#fff;border:2px solid #111;color:#111!important;margin-top:24px;padding:12px 17px!important;margin-bottom:18px;font-size:13px}
.blue-wrap .breadcrumbs ol{flex-wrap:wrap}
.blue-wrap .breadcrumbs a,.blue-wrap .breadcrumbs li{color:#111!important}
.blue-wrap .breadcrumbs li+li:before{color:var(--aag-blue)!important}
.blue-wrap .hero,.blue-wrap .home-hero,.blue-wrap .location-hero{
 background:var(--aag-blue)!important;color:#fff!important;border:3px solid #111;
 padding:clamp(28px,4vw,50px)!important;margin:20px 0 34px!important;box-shadow:8px 8px 0 #111;
 display:grid;grid-template-columns:minmax(0,1.09fr) minmax(280px,.91fr);align-items:start;gap:clamp(18px,3vw,42px)
}
.blue-wrap .hero h1,.blue-wrap .hero .lead,.blue-wrap .hero-copy p{color:#fff!important}
.blue-wrap .hero h1 em{color:var(--aag-yellow)!important}
.blue-wrap .hero .eyebrow{color:var(--aag-yellow)!important}
.blue-wrap .hero h1{font-size:clamp(2.3rem,4.65vw,4.7rem);line-height:1.09;overflow-wrap:normal;word-break:normal}
.blue-wrap .hero .lead{font-size:clamp(1.07rem,1.32vw,1.24rem);font-weight:550;line-height:1.64}
.blue-wrap .hero a:not(.btn){color:var(--aag-yellow)}
.blue-wrap .hero .hero-media{width:100%;padding:0}
.blue-wrap .hero figure{margin:0;background:#fff;border:3px solid #111;box-shadow:5px 5px 0 #111}
.blue-wrap .hero figure img{aspect-ratio:16 / 9!important;object-fit:cover!important;object-position:center;width:100%!important;height:auto}
.blue-wrap .hero figcaption{background:#fff;color:#363636!important;font-size:12px;padding:9px 12px}
.blue-wrap .hero .hero-proof{margin:18px 0 0!important;padding:20px;background:#fff;color:#111;box-shadow:5px 5px 0 #111;border:2px solid #111}
.blue-wrap .hero .hero-proof a{color:#0a25cc!important}
.blue-wrap .hero .btn.secondary,.blue-wrap .hero .btn-secondary{color:#111!important}
.blue-wrap .hero .pill-row{color:#fff!important}
.blue-wrap .hero .pill-row span,.blue-wrap .hero .pill-row a{color:#fff!important}
.blue-wrap .content-panel,.blue-wrap .white-panel,.blue-wrap .sources,.blue-wrap .related,.blue-wrap .enquiry-section{
 background:#fff!important;color:#111!important;border:2px solid #111!important;
 margin:0 0 24px!important;padding:clamp(22px,3.3vw,38px)!important;box-shadow:4px 4px 0 #111
}
.blue-wrap .content-panel h2,.blue-wrap .white-panel h2{color:#111!important}
.blue-wrap .content-panel:nth-of-type(2n),.blue-wrap .white-panel:nth-of-type(2n){background:#fafafa!important}
.blue-wrap .enquiry-section{border-top:8px solid var(--aag-yellow)!important}
.blue-wrap .white-panel p,.blue-wrap .content-panel p{color:#161616!important}
.blue-wrap .hero ~ .content-panel{margin-top:20px}
section[id]{scroll-margin-top:130px}
a{overflow-wrap:break-word}
img{max-width:100%;height:auto}
.hero-media figure{overflow:hidden}
/* Editorial outer pages: restrained reading area with an illustrative landscape hero photograph */
.outer-hero{background:var(--aag-blue)!important;border-block:5px solid #111;padding-block:15px 40px}
.outer-hero-grid{grid-template-columns:minmax(0,1fr) minmax(275px,340px)!important;gap:clamp(20px,3vw,45px)!important}
.outer-hero h1,.outer-hero p{color:#fff}
.outer-hero .outer-hero-aside{padding:18px!important;box-shadow:5px 5px 0 #111!important;background:#fff;color:#111}
.outer-hero .outer-hero-aside p{color:#111!important}
.outer-hero .aag-outer-photo{margin:0 0 18px}
.outer-hero .aag-outer-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border:2px solid #111}
.outer-hero .aag-outer-photo figcaption{font-size:11px;color:#555;padding-top:6px}
.outer-main{background:var(--aag-ice);padding:36px clamp(16px,4vw,54px) 70px!important}
.outer-main>.outer-section{border:2px solid #111!important;border-left:7px solid var(--aag-blue)!important;background:#fff!important;box-shadow:3px 3px 0 #111;margin:22px 0!important;padding:clamp(23px,3vw,38px)!important;border-radius:0!important}
.outer-main>.outer-section:nth-of-type(even){background:#fafafa!important}
.outer-main>.outer-section h2{color:#111!important}
.outer-main .outer-sub{border-top:1px solid #c8c8c8;padding-top:18px;margin-top:24px}
.outer-main .outer-sub p{color:#1e1e1e}
/* Company content uses similarly clear sections */
.company-hero{background:var(--aag-blue)!important;color:#fff!important;border-block:5px solid #111!important;padding-block:36px!important}
.company-hero h1,.company-hero .company-intro,.company-hero p{color:#fff}
.company-body{background:#fff;padding-block:44px}
.company-article,.company-body>section{background:#fff;border:2px solid #111;padding:clamp(20px,3vw,38px);margin:22px 0;box-shadow:4px 4px 0 #111}
.aag-company-hero-image{width:min(440px,100%);margin:24px auto 0;background:#fff;border:3px solid #111;box-shadow:5px 5px 0 #111}
.aag-company-hero-image img{width:100%;aspect-ratio:16/9;object-fit:cover}
.aag-company-hero-image figcaption{font-size:12px;color:#111;padding:8px 12px}
.legal-page{background:var(--aag-ice)!important}
/* Unified semantic footer with clear sections and legal disclosure */
.aag-global-footer{background:#111!important;color:#f8f8f8!important;padding:52px 0 23px!important;border-top:7px solid var(--aag-yellow)}
.aag-global-footer .container{width:min(1200px,calc(100% - 36px));margin:0 auto;max-width:1200px}
.aag-global-footer .aag-footer-intro{display:flex;align-items:center;flex-wrap:wrap;gap:22px;padding-bottom:28px;border-bottom:1px solid #545454}
.aag-footer-brand{display:flex;align-items:center;gap:12px;min-width:210px}
.aag-footer-brand img{width:46px;height:46px}
.aag-footer-brand strong{font-size:17px;line-height:1.2;color:#fff}
.aag-footer-intro>p{flex:1 1 300px;max-width:540px;font-size:14px;color:#e1e1e1;line-height:1.6;margin:0}
.aag-footer-cta{border:2px solid #111;background:var(--aag-yellow);color:#111!important;font-size:13px;font-weight:900;text-decoration:none;padding:12px 16px;white-space:nowrap;box-shadow:4px 4px 0 #555}
.aag-footer-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:32px 0}
.aag-footer-columns nav{display:block!important}
.aag-global-footer h2{font-family:"Arial Black",Arial,sans-serif;color:#fff!important;font-size:16px!important;line-height:1.3;letter-spacing:-.01em;margin:0 0 16px!important}
.aag-global-footer ul{margin:0;padding:0;list-style:none}
.aag-global-footer li{margin-bottom:9px!important}
.aag-global-footer li a{font-size:13px;color:#eee!important;text-decoration:none;line-height:1.35}
.aag-global-footer li a:hover,.aag-global-footer li a:focus-visible{color:var(--aag-yellow)!important;text-decoration:underline}
.aag-footer-legal{border-top:1px solid #555;padding-top:16px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.aag-footer-legal p{color:#cfcfcf!important;font-size:12px;line-height:1.6;margin:0;max-width:550px}
.aag-footer-legal a{color:var(--aag-yellow)!important}
@media(max-width:930px){
 .blue-wrap .hero,.blue-wrap .home-hero,.blue-wrap .location-hero{grid-template-columns:1fr!important;gap:28px!important}
 .blue-wrap .hero .hero-media{max-width:650px}
 .outer-hero-grid{grid-template-columns:1fr!important}
 .outer-hero-aside{max-width:600px}
 .aag-footer-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:580px){
  .blue-wrap .hero,.blue-wrap .home-hero,.blue-wrap .location-hero{padding:23px 19px 27px!important;margin:12px 0 25px!important;box-shadow:4px 4px 0 #111}
  .blue-wrap .hero h1{font-size:clamp(2rem,8.9vw,3rem)!important;overflow-wrap:break-word}
  .blue-wrap .hero .lead{font-size:1.05rem}
  .blue-wrap .breadcrumbs{margin-top:12px}
  .blue-wrap .content-panel,.blue-wrap .white-panel,.blue-wrap .sources,.blue-wrap .related,.blue-wrap .enquiry-section{padding:21px!important}
  .aag-footer-columns{grid-template-columns:1fr 1fr;gap:24px 12px}
  .aag-global-footer h2{font-size:14px!important}
  .aag-footer-intro{align-items:flex-start}
}
@media(max-width:400px){
  .aag-footer-columns{grid-template-columns:1fr}
  .aag-global-footer .container{width:calc(100% - 28px)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .aag-chevron,.aag-top-cta{transition:none!important}
}

/* T06 follow-through: sticky article rails must have a full-height grid track. */
@media(min-width:931px){
 .read-grid{align-items:stretch!important}
 .read-grid>.side-column{align-self:stretch!important;position:relative!important;display:block}
 .read-grid .quick-panel{position:sticky!important;top:112px!important;max-height:calc(100dvh - 130px);overflow:auto}
 .outer-article-layout{align-items:stretch!important}
 .outer-article-layout>.outer-sidebar{align-self:stretch!important;position:relative!important}
 .outer-sidebar>.outer-sticky{position:sticky!important;top:112px!important;max-height:calc(100dvh - 130px);overflow:auto}
 .company-body>.company-sidebar{position:sticky!important;top:112px!important;align-self:start!important}
}
@media(max-width:930px){
 .read-grid .quick-panel,.outer-sidebar>.outer-sticky,.company-body>.company-sidebar{position:static!important;max-height:none!important;overflow:visible!important}
}
