
:root{--black:#111;--white:#fff;--yellow:#fff000;--blue:#132bff;--red:#e3342f;--grey:#f3f3f3;--ink:#171717;--max:1160px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--white);color:var(--ink);font:400 16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:#0a24c7;text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.54}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{color:var(--black);font-family:"Arial Black",Impact,system-ui,sans-serif;letter-spacing:-.045em;line-height:1.12}
h1{font-size:clamp(2.15rem,5.2vw,4.55rem);margin-bottom:24px}
h2{font-size:clamp(1.55rem,3vw,2.45rem);margin-bottom:18px}
h3{font-size:clamp(1.1rem,2vw,1.38rem);margin-bottom:9px}
p{margin-bottom:16px}
img{display:block;max-width:100%;height:auto}
.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}
.skip{position:absolute;left:12px;top:-80px;background:var(--yellow);color:var(--black);padding:12px;z-index:40}
.skip:focus{top:12px}
.site-header{position:sticky;top:0;z-index:30;background:var(--blue);border-bottom:5px solid var(--black)}
.header-inner{max-width:1200px;margin:auto;display:flex;gap:24px;align-items:center;min-height:86px;padding:12px 20px}
.brand{flex:none;display:inline-block}
.brand img{height:auto;width:194px;max-height:58px}
.header-nav{display:flex;gap:17px;align-items:center;margin-left:auto}
.header-nav a{font-size:13px;font-weight:800;color:#fff;text-decoration:none}
.header-nav a:hover,.header-nav a:focus-visible{text-decoration:underline}
.header-cta{flex:none;background:var(--yellow);color:var(--black);border:2px solid var(--black);box-shadow:4px 4px 0 var(--black);font-weight:900;text-decoration:none;padding:10px 12px;font-size:13px}
.header-cta:hover,.btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--black)}
.mobile-menu{display:none;background:var(--yellow);border:2px solid var(--black);font-weight:800;padding:10px 12px}
.blue-wrap{background:linear-gradient(180deg,var(--blue) 0 540px,#f6f6f6 540px 100%);border-top:10px solid #fff;padding-bottom:80px}
.breadcrumbs{padding:23px 0 0;font-size:12px;color:#fff;font-weight:700}
.breadcrumbs ol{list-style:none;display:flex;gap:7px;padding:0;margin:0;flex-wrap:wrap}
.breadcrumbs li+li:before{content:"/";margin-right:7px;color:var(--yellow)}
.breadcrumbs a{color:#fff}
.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start;gap:50px;padding:48px 0 74px;color:#fff}
.hero h1{color:#fff}
.hero-copy{min-width:0}
.eyebrow,.kicker,.section-number{font-size:12px;letter-spacing:.12em;font-weight:900;text-transform:uppercase}
.hero .eyebrow{color:var(--yellow)}
.hero .lead{font-size:clamp(1.05rem,1.6vw,1.26rem);line-height:1.62;max-width:710px;font-weight:540}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:24px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;text-decoration:none;text-align:center;padding:12px 18px;font-weight:850;font-size:14px;border:2px solid var(--black);box-shadow:4px 4px 0 var(--black);color:var(--black);transition:transform .12s,box-shadow .12s;background:var(--white);border-radius:0}
.btn-primary{background:var(--yellow)}
.btn-light{background:#fff}
.btn-dark{background:var(--black);color:#fff;border-color:var(--black);box-shadow:4px 4px 0 #666}
.btn-outline{background:var(--white);color:var(--black)}
.pill-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}
.pill-row span{border:1px solid #fff;padding:5px 10px;font-weight:750;font-size:12px;color:#fff}
.hero-media{position:relative;padding-top:8px}
.hero figure{margin:0;border:3px solid var(--black);background:#fff;box-shadow:8px 8px 0 var(--black)}
.hero figure img{width:100%;aspect-ratio:15/9;object-fit:cover}
.hero figcaption{font-size:11px;color:#333;padding:7px 10px}
.hero-proof{background:#fff;color:var(--black);margin:18px 0 0 16px;padding:16px;border:2px solid var(--black);box-shadow:5px 5px 0 var(--black);display:flex;flex-direction:column;gap:7px}
.hero-proof b{font-size:16px}
.hero-proof span{font-size:13px}
.hero-proof a{font-size:13px;font-weight:700}
.read-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px;align-items:start}
.content-stack{display:flex;flex-direction:column;gap:24px}
.content-panel,.white-panel,.sources,.related{background:#fff;border:2px solid var(--black);box-shadow:5px 5px 0 var(--black);padding:clamp(22px,3.4vw,40px)}
.content-panel h2{max-width:790px}
.section-number{color:var(--blue);margin-bottom:13px}
.answer{font-size:17px;line-height:1.65;font-weight:560;max-width:780px}
.sub-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:26px}
.sub-item{background:#f5f5f5;padding:20px;border-left:4px solid var(--blue)}
.sub-item p{font-size:15px;margin:0;line-height:1.65}
.quick-panel{position:sticky;top:112px;background:var(--yellow);border:2px solid var(--black);padding:20px;box-shadow:5px 5px 0 var(--black)}
.quick-panel h2{font-size:23px}
.quick-panel ol{padding-left:22px}
.quick-panel li{margin:9px 0}
.quick-panel p{font-size:13px}
.quick-panel .btn{width:100%;font-size:13px}
.decision-strip{display:flex;gap:26px;justify-content:space-between;align-items:center;background:var(--blue);border:3px solid #111;box-shadow:5px 5px 0 #111;color:#fff;padding:clamp(20px,3vw,32px)}
.decision-strip h2{color:#fff;font-size:clamp(1.4rem,2.2vw,2rem)}
.decision-strip p{max-width:650px;margin:0}
.decision-strip .btn{flex:none}
.sources,.related{box-shadow:4px 4px 0 var(--black)}
.source-list{list-style:square;padding-left:20px;display:grid;grid-template-columns:1fr 1fr;column-gap:24px;row-gap:9px}
.source-list li{padding-right:9px;overflow-wrap:anywhere}
.source-list a{font-weight:700;font-size:14px}
.related ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.related li a{display:block;background:#f3f3f3;color:var(--black);font-weight:800;border:2px solid #111;padding:18px;text-decoration:none;height:100%}
.related li a:hover{background:var(--yellow)}
.inline-link{display:inline-block;margin-top:20px;font-weight:800}
.enquiry-section{max-width:900px;margin:38px auto 0;scroll-margin-top:100px}
.form-card{background:#fff;border:3px solid #111;box-shadow:7px 7px 0 #111}
.form-head{padding:32px 32px 18px;background:var(--yellow);border-bottom:3px solid var(--black)}
.form-head h2{font-size:clamp(2rem,3.2vw,2.6rem);margin:8px 0}
.form-head p{margin-bottom:0}
.aag-rfq{padding:30px 32px}
.aag-rfq fieldset{border:0;margin:0;padding:0;min-width:0}
.aag-rfq fieldset[hidden]{display:none!important}
.aag-rfq legend{font-size:22px;font-weight:900;letter-spacing:-.035em;margin-bottom:16px}
.step-indicator{display:flex;gap:6px;margin-bottom:24px}
.step-indicator span{display:block;flex:1;border-bottom:4px solid #ddd;font-size:12px;font-weight:800;color:#555;padding-bottom:8px}
.step-indicator span[aria-current="step"]{border-color:var(--blue);color:var(--black)}
.aag-rfq label:not(.consent-label){display:block;font-size:14px;font-weight:800;margin:0 0 19px}
.aag-rfq label span{color:#bd1818}
.aag-rfq input:not([type=checkbox]),.aag-rfq select,.aag-rfq textarea{display:block;width:100%;border:2px solid #111;background:#fff;color:#111;padding:10px 13px;border-radius:0;margin-top:6px;min-height:47px;font-size:16px}
.aag-rfq textarea{min-height:110px;resize:vertical}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.form-buttons{display:flex;gap:14px;flex-wrap:wrap}
.form-state,.form-error,.form-success{font-size:14px;margin:20px 0 0}
.form-error{color:#a11d1d;font-weight:750}
.form-success{border:2px solid #111;background:#e6f9e6;padding:14px;font-weight:750}
.form-state:empty,.form-error:empty{display:none}
.disclosure{padding:14px 16px;background:#f3f3f3;border-left:4px solid var(--blue);font-size:14px;margin:20px 0}
.consent-label{display:flex;align-items:flex-start;gap:12px;font-weight:600;line-height:1.5}
.consent-label input{flex:none;width:22px;height:22px;margin-top:3px}
.consent-label span{color:#111!important}
.challenge{min-height:0;margin:16px 0}
.small{font-size:13px}.subtle{color:#444}
.trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.site-footer{background:#111;color:#fff;padding:44px 0}
.site-footer a{color:var(--yellow)}
.site-footer strong{font-family:"Arial Black",system-ui,sans-serif}
.footer-grid{display:flex;justify-content:space-between;gap:36px}
.footer-grid>div{max-width:600px}
.footer-grid nav{display:grid;gap:10px}
.footnote{border-top:1px solid #555;padding-top:18px;font-size:13px;color:#ddd;margin-top:20px}
.hub-hero{grid-template-columns:1.4fr .6fr}
.hub-side{background:var(--yellow);border:3px solid #111;box-shadow:7px 7px 0 #111;padding:27px;color:#111;margin-top:42px}
.hub-side h2{font-size:clamp(1.5rem,2.7vw,2.2rem)}
.hub-side a{font-weight:900;color:#111}
.white-panel{margin-bottom:24px}
.intro-text{max-width:900px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:25px}
.service-card{display:flex;flex-direction:column;color:var(--black);text-decoration:none;border:2px solid #111;padding:22px;background:#f6f6f6;min-height:220px}
.service-card:hover,.service-card:focus-visible{background:var(--yellow);box-shadow:4px 4px 0 #111;transform:translate(-1px,-1px)}
.service-card h3{font-size:24px;margin:10px 0}
.service-card p{font-size:14px;line-height:1.6}
.service-tag{font-size:12px;text-transform:uppercase;font-weight:900;letter-spacing:.08em;color:var(--blue)}
.arrow-link{margin-top:auto;font-weight:850}
.table-wrap{overflow-x:auto;max-width:100%}
table{border-collapse:collapse;width:100%;font-size:15px;min-width:500px}
caption{text-align:left;font-size:13px;margin-bottom:12px}
th,td{border:1px solid #888;padding:14px;text-align:left;vertical-align:top}
thead{background:var(--yellow)}
tbody th{background:#f4f4f4}
.split-facts{display:grid;grid-template-columns:1fr 1fr;gap:35px}
@media(max-width:1050px){.header-nav{gap:10px}.header-nav a{font-size:12px}.header-cta{font-size:12px}.hero{gap:28px}.read-grid{grid-template-columns:minmax(0,1fr) 240px}}
@media(max-width:820px){
 .header-inner{min-height:66px;flex-wrap:wrap;gap:12px}.brand img{width:158px;height:auto}
 .mobile-menu{display:block;margin-left:auto}.header-cta{display:none}
 .header-nav{display:none;width:100%;order:4;background:#081ac2;padding:10px;flex-wrap:wrap;flex-direction:column;align-items:stretch;margin:0}
 .header-nav.open{display:flex}.header-nav a{font-size:15px;min-height:44px;padding:12px;color:#fff}
 .hero{grid-template-columns:1fr;padding:35px 0 46px}.hero-media{max-width:700px}
 .hub-hero{grid-template-columns:1fr}.hub-side{margin-top:0}
 .read-grid{grid-template-columns:1fr}.quick-panel{position:static}
 .side-column{order:-1}.sub-grid{grid-template-columns:1fr 1fr}
 .service-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:580px){
 .container{width:calc(100% - 28px)}
 .blue-wrap{background:linear-gradient(180deg,var(--blue) 0 660px,#f6f6f6 660px 100%)}
 .hero{gap:20px}.hero h1{font-size:clamp(2.1rem,9.2vw,3rem)}
 .hero-actions{flex-direction:column}.hero-actions .btn{width:100%}
 .pill-row{margin:18px 0}.hero-proof{margin:12px 0 0 0}
 .content-panel,.white-panel,.sources,.related{padding:21px}
 .sub-grid,.split-facts,.field-grid,.service-grid,.related ul,.source-list{grid-template-columns:1fr}
 .sub-item{padding:16px}.decision-strip{flex-direction:column;align-items:stretch}
 .decision-strip .btn{width:100%}
 .form-head{padding:22px 18px 18px}.aag-rfq{padding:22px 18px}
 .form-buttons{flex-direction:column}.form-buttons .btn{width:100%}
 .step-indicator span{font-size:10px}
 .service-card{min-height:175px}.footer-grid{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

/* Batch 04 shared header accessibility/readability */

.brand{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;white-space:nowrap}
.brand img{width:52px;height:52px;max-height:52px;flex:none}
.brand-wordmark{display:inline-block;font-family:"Arial Black",system-ui,sans-serif;font-weight:900;font-size:13px;line-height:1.18;letter-spacing:-.025em}
.hero-disclosure{display:inline-block;color:#fff;background:#0b1cbc;padding:10px 14px;border-left:4px solid var(--yellow)}
@media(max-width:820px){.brand img{width:44px;height:44px}.brand-wordmark{font-size:12px}}
@media(max-width:360px){.brand-wordmark{display:none}}
