/* Image-led introductions and lightweight, progressively enhanced interactions. */
.image-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:530px;background:#082b55;padding-block:76px;color:#fff}
.image-hero .hero-backdrop{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:70% 50%;margin:0}
.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,25,54,.96) 0%,rgba(6,31,63,.91) 35%,rgba(7,35,65,.56) 65%,rgba(7,35,65,.16) 100%)}
.image-hero>.container{position:relative;display:block}.image-hero .container>div{max-width:760px}.image-hero h1{color:#fff;font-size:clamp(42px,4.7vw,68px);line-height:1.08;margin:0 0 20px;max-width:18ch}.image-hero .eyebrow{color:#a8d4ff;letter-spacing:.14em;font-size:11px;margin-bottom:24px}.image-hero .eyebrow span{background:#81c4ff}.image-hero .hero-tagline{color:#d0e8ff;font-size:clamp(23px,2.4vw,32px)!important;line-height:1.3!important;max-width:32ch;margin:0 0 24px}.image-hero .lede{color:#e1eafa;font-size:18px;line-height:1.75;max-width:660px}.image-hero .caption{color:#c1d5eb;font-size:13px;max-width:630px;margin-top:20px}.image-hero .hero-actions{margin-top:28px}.image-hero .button{background:#2588ef;border-color:#4a9ff6;color:white;box-shadow:0 8px 24px #00162a30}.image-hero .button:hover{background:#1372d8}.image-hero .availability{color:#fff;background:#ffffff18;border:1px solid #ffffff40;margin-bottom:18px}.hero-image-note{position:absolute;bottom:16px;right:26px;color:#ffffffb8;font-size:10px;letter-spacing:.04em;text-shadow:0 1px 5px #000}
.audience-section{background:#f4f8fe;padding-block:52px 84px}.audience-switch{display:flex;width:fit-content;max-width:100%;gap:6px;padding:6px;background:#e4edf9;border:1px solid #d3e1f2;border-radius:18px;margin:0 0 48px}.audience-switch button{display:flex;align-items:center;justify-content:center;gap:10px;padding:15px 27px;min-height:54px;border-radius:12px;color:#3e5a7a;font-size:17px;font-weight:650;transition:background .18s,color .18s,box-shadow .18s}.audience-switch button .icon{width:22px;height:22px}.audience-switch button[aria-selected=true]{background:#fff;color:#1269ca;box-shadow:0 3px 12px #163e7512}.audience-switch button:hover{color:#1269ca;background:#ffffff80}.audience-panel[hidden]{display:none!important}.audience-panel{scroll-margin-top:130px}.audience-panel:focus-visible{outline:2px solid #2588ef;outline-offset:10px;border-radius:10px}.audience-panel .section-head{margin-bottom:34px}.audience-panel .section-head h2{font-size:clamp(30px,3.1vw,43px);line-height:1.2}.audience-panel .section-head>p{font-size:17px}.audience-panel .feature-grid{gap:22px;align-items:stretch}.feature-grid article{background:#fff;border:1px solid #dbe6f4;border-radius:20px;padding:30px;box-shadow:0 4px 20px #19467604;transition:transform .2s,box-shadow .2s,border-color .2s}.feature-grid article:hover{transform:translateY(-3px);border-color:#b3d3f4;box-shadow:0 12px 30px #1645770c}.feature-icon,.service-icon{display:grid;place-items:center;width:52px;height:52px;background:linear-gradient(145deg,#e8f3ff,#dcecff);color:#1574d6;border:1px solid #cfe4fc;border-radius:15px;margin-bottom:24px}.feature-icon .icon,.service-icon .icon{width:26px;height:26px}.feature-grid h3{font-size:23px;line-height:1.3;margin:0 0 14px}.feature-grid p{font-size:16px;line-height:1.75;margin:0;color:#46617f}.feature-grid .feature-detail{font-size:14px;line-height:1.75;color:#657a92;border-top:1px solid #e7eef8;padding-top:16px;margin-top:18px}.audience-panel .scope-strip{margin-top:28px;background:#eaf2fc}.no-js .audience-switch{display:none}.no-js .audience-panel+.audience-panel{margin-top:64px}.service-icon{margin-top:24px}.services-grid .service-icon+h2{margin-top:0}
/* Native cross-document transitions: no navigation delays or client-side page fetching. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:page-out .16s ease-out both}
::view-transition-new(root){animation:page-in .24s ease-out both}
@keyframes page-out{to{opacity:0}}
@keyframes page-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes panel-in{from{opacity:.25;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.audience-panel:not([hidden]){animation:panel-in .22s ease-out}.nav-dropdown[open] .mega-menu,.header nav.open{animation:menu-in .2s ease-out}.header nav>a,.mega-menu a{transition:color .18s,background .18s,transform .18s}.mega-menu a:hover{background:#edf5ff;border-radius:8px;transform:translateX(3px)}.nav-dropdown>summary>span{display:inline-block;transition:transform .2s}.nav-dropdown[open]>summary>span{transform:rotate(180deg)}.button .icon,.text-link .icon{transition:transform .18s}.button:hover .icon,.text-link:hover .icon{transform:translateX(3px)}
.navigation-progress{position:fixed;inset:0 0 auto;z-index:1000;height:3px;pointer-events:none;background:transparent;opacity:0;transition:opacity .15s}.navigation-progress:after{content:"";display:block;width:35%;height:100%;background:#3d9cff;box-shadow:0 0 12px #409cff80;transform:translateX(-110%)}.is-navigating .navigation-progress{opacity:1}.is-navigating .navigation-progress:after{animation:loading-sweep 1.1s ease-in-out infinite}.navigation-status{position:fixed;right:22px;bottom:22px;z-index:1000;pointer-events:none;padding:11px 17px;border-radius:12px;background:#0b2d53;color:white;font-size:13px;box-shadow:0 8px 30px #08244224;opacity:0;transform:translateY(8px);transition:opacity .15s,transform .15s}.is-navigating .navigation-status{opacity:1;transform:none}.image-hero.media-loading{background:linear-gradient(110deg,#082b55,#174f88,#082b55);background-size:200% 100%;animation:hero-shimmer 2s ease-in-out infinite}.hero-backdrop{transition:opacity .3s}.media-loading .hero-backdrop{opacity:0}.media-ready .hero-backdrop{opacity:1}.image-hero.media-ready{animation:none}.reveal-enter{animation:panel-in .35s ease-out both}
@keyframes loading-sweep{to{transform:translateX(390%)}}@keyframes hero-shimmer{50%{background-position:100% 0}}
#enquiry-form[aria-busy=true] button[type=submit]::after{content:"";width:15px;height:15px;border:2px solid #ffffff70;border-top-color:white;border-radius:50%;animation:submit-spin .65s linear infinite;margin-left:10px} @keyframes submit-spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.image-hero{min-height:510px;padding-block:62px}.hero-shade{background:linear-gradient(90deg,#071d3ded,#071d3dd9 55%,#071d3d91)}.image-hero .container>div{max-width:680px}.hero-backdrop{object-position:65% center}.audience-section{padding-block:40px 64px}}
@media(max-width:600px){.image-hero{min-height:0;padding-block:48px 55px}.image-hero .hero-backdrop{object-position:68% center}.hero-shade{background:linear-gradient(90deg,#071d3df0,#071d3dc9)}.image-hero h1{font-size:39px;line-height:1.12;overflow-wrap:break-word}.image-hero .hero-tagline{font-size:23px!important;margin-bottom:18px}.image-hero .lede{font-size:16px;line-height:1.75}.image-hero .eyebrow{font-size:9px;line-height:1.8;margin-bottom:20px}.image-hero .button{font-size:14px;padding:14px 17px}.image-hero .caption{font-size:12px}.hero-image-note{font-size:8px;right:20px;bottom:12px}.audience-switch{width:100%;gap:4px;padding:5px;border-radius:15px;margin-bottom:32px}.audience-switch button{flex:1;gap:7px;padding:12px 8px;font-size:14px;min-height:49px;white-space:nowrap}.audience-switch button .icon{width:18px;height:18px}.audience-panel .section-head h2{font-size:31px}.audience-panel .section-head>p{font-size:16px}.feature-grid article{padding:25px}.feature-grid h3{font-size:23px}.feature-icon{width:46px;height:46px;margin-bottom:20px}.feature-grid p{font-size:16px}.feature-grid .feature-detail{font-size:14px}.navigation-status{right:15px;bottom:15px}}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.feature-grid article:hover,.mega-menu a:hover,.button:hover .icon{transform:none}.is-navigating .navigation-progress:after{transform:none;width:100%}}
