/* AIE V4.16 — Official mainpage design rules for ALL public pages.
   Homepage is canonical. Use these tokens, spacing, typography and shared
   header components for all new pages. Load AFTER legacy page CSS. */
:root{
 --aie-font:Inter,Arial,Helvetica,sans-serif;
 --aie-bg:#030c07;--aie-green:#071c11;--aie-card:#0a2516;
 --aie-gold:#e7b52f;--aie-gold-bright:#ffd36b;
 --aie-white:#f8f8fa;--aie-muted:#bccac0;--aie-line:#36563c;
 --aie-max-width:1440px;--aie-page-gutter:clamp(18px,4vw,74px);
 --aie-radius:15px;--aie-header-desktop:88px;--aie-header-mobile:72px;
}
html{font-family:var(--aie-font);scroll-padding-top:calc(var(--aie-header-desktop) + 16px)}
body{font-family:var(--aie-font)!important;font-size:15px;line-height:1.5;color:var(--aie-white);background:var(--aie-bg)}
button,input,select,textarea{font-family:inherit}
/* Match homepage logo graphic, left edge, vertical center and tagline. */
body>header.header,body>header.top{
 background:rgba(3,16,8,.97)!important;
}
body>header.header .container.nav-bar,
body>header.top .aie-brand-container{
 width:min(var(--aie-max-width),calc(100% - 2 * var(--aie-page-gutter)))!important;
 max-width:var(--aie-max-width)!important;
 margin-inline:auto!important;
 height:100%!important;
 display:flex!important;align-items:center!important;
 min-width:0!important;
}
body>header.top{padding:0!important;justify-content:initial!important}
body>header.top .aie-brand-container{padding-right:72px!important}
body>header.top .aie-brand-link,body>header.header .brand{
 display:flex!important;align-items:center!important;gap:19px!important;
 padding:0!important;border:0!important;border-radius:0!important;
 background:transparent!important;box-shadow:none!important;
 color:var(--aie-white)!important;text-decoration:none!important;
 line-height:normal!important;max-width:100%!important;min-width:0!important;
}
body>header.top .aie-brand-link img,body>header.header .brand img{
 display:block!important;width:clamp(145px,13vw,203px)!important;
 height:auto!important;max-width:203px!important;max-height:65px!important;
 object-fit:contain!important;object-position:left center!important;
 flex-shrink:0;
}
body>header.top .aie-brand-tagline,body>header.header .brand-desc{
 display:block;flex:none;border-left:1px solid #496448;padding-left:17px;
 font:800 10px/1.45 var(--aie-font);letter-spacing:.035em;
 color:var(--aie-white);min-width:118px;
}
body>header.top .top-inner.aie-brand-container{width:min(var(--aie-max-width),calc(100% - 2 * var(--aie-page-gutter)))!important;max-width:var(--aie-max-width)!important}
body>header.top .top-inner .top-right{margin-left:auto}
/* Inner informational pages used a different 1050px / 65px layout. Bring
   vertical rhythm and typography in line with the main page without flattening content. */
body.aie-content-page>main.container{
 width:min(1050px,calc(100% - 2 * var(--aie-page-gutter)))!important;
 max-width:1050px!important;margin-inline:auto!important;
 padding:clamp(36px,5vw,65px) 0 clamp(64px,7vw,100px)!important;
}
body.aie-content-page h1{
 font:800 clamp(30px,4.2vw,54px)/1.14 var(--aie-font)!important;
 letter-spacing:-.025em;color:var(--aie-white);margin:8px 0 20px;
}
body.aie-content-page h2{font:800 clamp(19px,2.3vw,23px)/1.25 var(--aie-font)!important;letter-spacing:-.015em}
body.aie-content-page .eyebrow{font:800 12px/1.5 var(--aie-font)!important;letter-spacing:.25em;color:#e9d1a1}
body.aie-content-page .intro{font-size:clamp(15px,1.35vw,17px);line-height:1.65;color:var(--aie-muted)}
body.aie-content-page .panel{border-radius:var(--aie-radius);border-color:var(--aie-line)}
body.aie-content-page .panel p{line-height:1.6}
body.aie-content-page .pill{font:700 13px/1.4 var(--aie-font);border-radius:8px}
body.aie-content-page .footer{font-family:var(--aie-font)}
/* Quotation page — shared palette and headline sizing, form fields unchanged. */
body.aie-quotation-page .hero h1{font-family:var(--aie-font)!important;font-size:clamp(31px,4.2vw,54px)!important;line-height:1.14!important}
body.aie-quotation-page .eyebrow{font-family:var(--aie-font);color:#e9d1a1;letter-spacing:.25em}
body.aie-quotation-page .footer{font-family:var(--aie-font)}
/* The global navigation must use the exact same font as homepage. */
.aie-global-trigger,.aie-global-drawer,.aie-global-drawer a,.aie-global-drawer button,
.aie-global-link,.aie-global-service{font-family:var(--aie-font)!important}
/* Consistent focus treatment across all pages. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--aie-gold-bright);outline-offset:3px}
@media(max-width:1023px){
 html{scroll-padding-top:calc(var(--aie-header-mobile) + 12px)}
 body>header.top .aie-brand-container{padding-right:64px!important}
 body>header.top .aie-brand-link img,body>header.header .brand img{width:162px!important;max-width:162px!important;max-height:55px!important}
 body>header.top .aie-brand-tagline,body>header.header .brand-desc{display:none!important}
}
@media(max-width:600px){
 body.aie-content-page>main.container{padding:42px 0 70px!important}
 body.aie-content-page h1{font-size:clamp(30px,8.3vw,37px)!important}
 body.aie-content-page .intro{font-size:15px}
 body.aie-quotation-page .hero h1{font-size:33px!important}
}
@media(max-width:420px){
 body>header.top .aie-brand-link img,body>header.header .brand img{width:142px!important;max-width:142px!important;max-height:50px!important}
}
@media(max-width:340px){
 body>header.top .aie-brand-link img,body>header.header .brand img{width:124px!important;max-width:124px!important}
}
