/* Avelon Blocks: site-wide tokens, reveal motion and header behaviour (Home v2 handoff). */
:root{
--av-deep:#0B2340;--av-navy:#123C69;--av-blue:#1B6CA8;--av-blue-hover:#155A8C;--av-teal:#0FA3B1;--av-teal-dark:#0A6F79;
--av-mist:#C9D6E6;--av-sky:#8FB8DC;--av-slate:#4A5568;--av-ink:#1D2430;--av-tint:#E3F4F5;--av-mist-bg:#EEF2F7;--av-white:#FFFFFF;
--av-ease-expo:cubic-bezier(.16,1,.3,1);--av-ease-back:cubic-bezier(.34,1.56,.64,1);--av-ease-std:cubic-bezier(.2,.7,.2,1);
--av-font-display:Montserrat,Arial,sans-serif;--av-font-body:Inter,Arial,sans-serif;
--av-gutter:max(clamp(48px,8.333vw,120px),calc((100% - 1200px)/2))}
@media (max-width:767px){:root{--av-gutter:16px}}

/* Reveal on scroll: hidden start state only once JS has run (html.avb-js). */
.avb-js [data-avb-reveal]{opacity:0;transform:translateY(24px);transition:opacity .9s var(--av-ease-expo),transform .9s var(--av-ease-expo);transition-delay:calc(var(--avb-i,0) * 100ms)}
.avb-js [data-avb-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.avb-js [data-avb-reveal]{opacity:1;transform:none;transition:none}}

/* Header on pages that open with a Signature Hero (body.avb-smart-header). */
.avb-smart-header #masthead{transition:transform .45s var(--av-ease-expo),background-color .35s var(--av-ease-std),box-shadow .35s var(--av-ease-std)}
.avb-smart-header.transparent-header #masthead .site-header-row-container-inner{box-shadow:inset 0 -1px 0 rgba(201,214,230,.16)}
.avb-smart-header .current-menu-item>a{box-shadow:inset 0 -2px 0 var(--av-teal)}
.avb-smart-header #masthead .header-button{background:var(--av-teal);color:var(--av-deep);border-color:transparent}
.avb-smart-header #masthead .header-button:hover{background:#fff;color:var(--av-deep)}
.avb-smart-header #masthead .header-button::after{content:"\2192";display:inline-block;margin-left:10px;transition:transform .3s var(--av-ease-expo)}
.avb-smart-header #masthead .header-button:hover::after{transform:translateX(4px)}
/* Scrolled past the hero: solid white bar, navy logo and links, blue button. */
.avb-hdr-solid #masthead{position:fixed;top:0;left:0;right:0;z-index:1000;background:#fff;box-shadow:0 1px 0 var(--av-mist)}
.admin-bar.avb-hdr-solid #masthead{top:32px}
@media (max-width:782px){.admin-bar.avb-hdr-solid #masthead{top:46px}}
.avb-hdr-solid #masthead .site-header-row-container-inner{background:transparent}
.avb-hdr-solid #masthead .custom-logo,.avb-hdr-solid #masthead .site-branding img{filter:brightness(0) saturate(100%) invert(18%) sepia(40%) saturate(2100%) hue-rotate(191deg) brightness(92%) contrast(95%)}
.avb-hdr-solid #masthead .menu>li>a,.avb-hdr-solid #masthead .site-title,.avb-hdr-solid #masthead .menu-toggle-open{color:var(--av-navy)}
.avb-hdr-solid #masthead .menu>li>a:hover{color:var(--av-blue)}
.avb-hdr-solid #masthead .header-button{background:var(--av-blue);color:#fff}
.avb-hdr-solid #masthead .header-button:hover{background:var(--av-blue-hover);color:#fff}
.avb-hdr-hide #masthead{transform:translateY(-100%)}
@media (prefers-reduced-motion:reduce){.avb-smart-header #masthead,.avb-smart-header #masthead .header-button::after{transition:none}}
