/* Avantis Header & Footer */
.avhf-header, .avhf-footer { --p:var(--avhf-primary,#0A2156); --a:var(--avhf-accent,#185FA5); --d:var(--avhf-dark,#06163b); --f:var(--avhf-font,Arial,Helvetica,sans-serif); --acL:#9cc2ee; --line:#e6e9f2; --bg:#f5f7fc; --ink:#0d1b3e; --mut:#5b6781; font-family:var(--f); }
.avhf-header *, .avhf-footer * { box-sizing:border-box; }
.avhf-ico { display:inline-block; vertical-align:middle; flex:none; }

/* ---- Header bar: grid = [logo | menu | actions] ---- */
.avhf-header { background:var(--avhf-bar-bg,#fff); position:relative; z-index:100; }
.avhf-header.is-sticky { position:sticky; top:0; }
.avhf-bar { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; max-width:1280px; margin:0 auto; padding:14px 30px; border-bottom:1px solid var(--line); }
.avhf-logo { justify-self:start; display:inline-flex; align-items:center; gap:10px; text-decoration:none; }
.avhf-logo img, .avhf-logo__img { height:var(--logo-h,40px) !important; width:auto !important; max-height:64px; max-width:none; display:block; }
.avhf-logo--dark { display:inline-flex; align-items:center; }
.avhf-logo--light { display:none; }
/* legacy text wordmark fallback */
.avhf-logo__shield { width:38px; height:38px; border-radius:9px; background:var(--p); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:21px; }
.avhf-logo__wm b { color:var(--p); font-size:18px; font-weight:800; letter-spacing:.05em; }
.avhf-logo__wm span { display:block; color:var(--mut); font-size:7.5px; letter-spacing:.16em; margin-top:2px; }

.avhf-nav { justify-self:center; display:flex; }
.avhf-menu { display:flex; align-items:center; gap:2px; list-style:none; margin:0; padding:0; }
.avhf-item > a { display:inline-flex; align-items:center; gap:4px; color:var(--avhf-link,var(--p)); font-weight:600; font-size:14px; padding:10px 12px; border-radius:9px; text-decoration:none; white-space:nowrap; transition:.15s; }
.avhf-item > a:hover, .avhf-item:hover > a { color:var(--a); background:var(--bg); }
.avhf-item.is-current > a { color:var(--a); background:var(--bg); }
.avhf-actions { justify-self:end; display:flex; align-items:center; gap:10px; }
.avhf-cta { display:inline-flex; align-items:center; gap:7px; background:var(--avhf-cta-bg,var(--p)); color:var(--avhf-cta-color,#fff); font-weight:700; font-size:14px; padding:11px 17px; border-radius:10px; text-decoration:none; white-space:nowrap; transition:.15s; }
.avhf-cta:hover { filter:brightness(1.12); }
.avhf-burger { display:none; background:none; border:none; color:var(--p); cursor:pointer; padding:6px; line-height:0; }

/* ---- Dropdown (About us) ---- */
.avhf-item.has-dd { position:relative; }
.avhf-dd { position:absolute; top:calc(100% + 6px); left:0; min-width:220px; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 30px 60px -32px rgba(10,33,86,.55); padding:8px; opacity:0; visibility:hidden; transform:translateY(8px); transition:.16s; z-index:30; }
.avhf-item.has-dd:hover .avhf-dd { opacity:1; visibility:visible; transform:translateY(0); }
.avhf-dd a { display:block; padding:11px 13px; border-radius:9px; text-decoration:none; color:var(--ink); font-size:14px; font-weight:500; }
.avhf-dd a:hover { background:var(--bg); color:var(--a); }

/* ---- Mega (centered to the bar width) ---- */
.avhf-mega { position:absolute; top:calc(100% + 6px); left:50%; width:min(1200px, calc(100% - 40px)); transform:translate(-50%,8px); background:var(--avhf-mega-bg,#fff); border:1px solid var(--line); border-radius:16px; box-shadow:0 40px 80px -38px rgba(10,33,86,.6); padding:24px; opacity:0; visibility:hidden; transition:.18s; z-index:30; }
.avhf-item.has-mega:hover .avhf-mega { opacity:1; visibility:visible; transform:translate(-50%,0); }
.avhf-mega__grid { display:grid; grid-template-columns:1.6fr 1fr; gap:26px; }
.avhf-mega__head { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.avhf-eyebrow { font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--a); }
.avhf-viewall { font-size:13px; font-weight:700; color:var(--a); text-decoration:none; display:inline-flex; align-items:center; gap:5px; }
.avhf-cols { display:grid; grid-template-columns:repeat(var(--cols,2),1fr); gap:2px 16px; }
.avhf-mlink { display:flex; align-items:baseline; gap:10px; padding:9px 11px; border-radius:9px; text-decoration:none; transition:.13s; }
.avhf-mlink:hover { background:var(--bg); box-shadow:inset 3px 0 0 var(--a); }
.avhf-acr { font-size:12px; font-weight:800; color:var(--a); min-width:46px; }
.avhf-pname { font-size:14px; color:var(--ink); font-weight:500; }
.avhf-empty { color:var(--mut); font-size:14px; padding:10px; }
.avhf-feature { position:relative; border-radius:13px; overflow:hidden; min-height:200px; background-color:var(--d); background-image:linear-gradient(150deg,var(--p),var(--d)); background-size:cover !important; background-position:center !important; background-repeat:no-repeat; display:flex; flex-direction:column; justify-content:flex-end; padding:20px; text-decoration:none; }
.avhf-feature__scrim { position:absolute; inset:0; background:linear-gradient(to top,rgba(6,22,59,.85),rgba(6,22,59,.15) 60%,transparent); }
.avhf-feature.has-img .avhf-feature__scrim { background:linear-gradient(to top,rgba(6,22,59,.9),rgba(6,22,59,.25) 60%,transparent); }
.avhf-feature__btn { position:absolute; top:16px; right:16px; width:38px; height:38px; border-radius:50%; background:var(--a); color:#fff; display:flex; align-items:center; justify-content:center; z-index:2; }
.avhf-feature__eyebrow { position:relative; z-index:2; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--acL); margin-bottom:6px; }
.avhf-feature__h { position:relative; z-index:2; color:#fff; font-size:20px; font-weight:800; line-height:1.15; margin-bottom:6px; }
.avhf-feature__sub { position:relative; z-index:2; color:rgba(255,255,255,.8); font-size:13px; line-height:1.45; }

/* ---- Mobile ---- */
.avhf-mobile { display:none; position:fixed; inset:0; background:var(--p); z-index:200; flex-direction:column; overflow-y:auto; }
.avhf-mobile.is-open { display:flex; }
.avhf-mobile__head { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid rgba(255,255,255,.1); }
.avhf-mobile__head .avhf-logo__wm b { color:#fff; } .avhf-mobile__head .avhf-logo__wm span { color:rgba(255,255,255,.5); }
.avhf-close { background:none; border:none; color:#fff; cursor:pointer; line-height:0; }
.avhf-mobile__menu { list-style:none; margin:0; padding:6px 0 0; }
.avhf-mrow { display:flex; align-items:center; justify-content:space-between; padding:0 20px; border-bottom:1px solid rgba(255,255,255,.08); }
.avhf-mrow a { color:#fff; font-size:16px; font-weight:600; text-decoration:none; padding:15px 0; flex:1; }
.avhf-mtoggle { background:none; border:none; color:var(--acL); cursor:pointer; line-height:0; padding:10px; transition:.2s; }
.avhf-mitem.is-open .avhf-mtoggle { transform:rotate(180deg); }
.avhf-msub { display:none; background:rgba(0,0,0,.18); padding:4px 20px 8px; }
.avhf-mitem.is-open .avhf-msub { display:block; }
.avhf-msub a { display:flex; gap:9px; align-items:baseline; color:rgba(255,255,255,.85); text-decoration:none; font-size:14px; padding:10px 4px; border-bottom:1px solid rgba(255,255,255,.06); }
.avhf-mobile__cta { margin:16px 20px; text-align:center; background:#fff; color:var(--p); font-weight:700; padding:14px; border-radius:11px; text-decoration:none; font-size:15px; }

/* ---- Transparent over hero (solid on scroll) ---- */
.avhf-header--trans { background:transparent; position:absolute; top:0; left:0; right:0; }
.avhf-header--trans .avhf-bar { border-bottom-color:transparent; }
.avhf-header--trans .avhf-item > a { color:#fff; }
.avhf-header--trans .avhf-item > a:hover, .avhf-header--trans .avhf-item:hover > a { color:#fff; background:rgba(255,255,255,.14); }
.avhf-header--trans .avhf-cta { background:#fff; color:var(--p); }
.avhf-header--trans .avhf-burger { color:#fff; }
.avhf-header--trans .avhf-logo--dark { display:none; }
.avhf-header--trans .avhf-logo--light { display:inline-flex; align-items:center; }
.avhf-header--trans.is-stuck { position:fixed; background:var(--avhf-bar-bg,#fff); box-shadow:0 12px 30px -22px rgba(10,33,86,.5); animation:avhf-drop .25s ease; }
.avhf-header--trans.is-stuck .avhf-bar { border-bottom-color:var(--line); }
.avhf-header--trans.is-stuck .avhf-item > a { color:var(--avhf-link,var(--p)); }
.avhf-header--trans.is-stuck .avhf-item > a:hover, .avhf-header--trans.is-stuck .avhf-item:hover > a { color:var(--a); background:var(--bg); }
.avhf-header--trans.is-stuck .avhf-cta { background:var(--avhf-cta-bg,var(--p)); color:var(--avhf-cta-color,#fff); }
.avhf-header--trans.is-stuck .avhf-burger { color:var(--p); }
.avhf-header--trans.is-stuck .avhf-logo--dark { display:inline-flex; align-items:center; }
.avhf-header--trans.is-stuck .avhf-logo--light { display:none; }
@keyframes avhf-drop { from { transform:translateY(-100%); } to { transform:translateY(0); } }

/* ---- Dark gradient — floating navy pill (image-2 style), matches footer ---- */
.avhf-header--dark { background:transparent; padding:16px; }
.avhf-header--dark .avhf-bar {
	max-width:1320px; margin:0 auto; border:1px solid rgba(255,255,255,.08); border-radius:18px; padding:12px 26px;
	box-shadow:0 26px 60px -34px rgba(0,0,0,.7);
	background:
		radial-gradient(closest-side at 16% 20%, rgba(60,110,190,.22), transparent 60%),
		linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px),
		linear-gradient(118deg, #0d2150 0%, #0a1a40 45%, #070f2c 100%);
	background-size:auto, 46px 46px, 46px 46px, auto;
}
.avhf-header--dark .avhf-logo--dark { display:none; }
.avhf-header--dark .avhf-logo--light { display:inline-flex; align-items:center; }
.avhf-header--dark .avhf-item > a { color:rgba(255,255,255,.9); }
.avhf-header--dark .avhf-item > a:hover, .avhf-header--dark .avhf-item:hover > a { background:rgba(255,255,255,.10); color:#fff; }
.avhf-header--dark .avhf-item.is-current > a { background:rgba(6,14,34,.55); box-shadow:inset 0 0 0 1px rgba(255,255,255,.14); color:#fff; }
.avhf-header--dark .avhf-burger { color:#fff; }
.avhf-header--dark .avhf-cta { background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.30); color:#fff; }
.avhf-header--dark .avhf-cta:hover { background:rgba(255,255,255,.18); filter:none; }
.avhf-header--dark .avhf-dd { background:linear-gradient(160deg,#0c2150,#081637); border-color:transparent; box-shadow:0 30px 60px -24px rgba(0,0,0,.7); }
.avhf-header--dark .avhf-dd a { color:rgba(255,255,255,.88); }
.avhf-header--dark .avhf-dd a:hover { background:rgba(255,255,255,.07); color:#fff; }
.avhf-header--dark .avhf-mega { width:min(1320px, calc(100% - 32px)); background:linear-gradient(160deg,#0c2150,#081637); border-color:transparent; box-shadow:0 40px 90px -30px rgba(0,0,0,.75); }
.avhf-header--dark .avhf-mega__head { border-bottom-color:rgba(255,255,255,.12); }
.avhf-header--dark .avhf-eyebrow, .avhf-header--dark .avhf-viewall, .avhf-header--dark .avhf-acr { color:var(--acL); }
.avhf-header--dark .avhf-mlink:hover { background:rgba(255,255,255,.06); box-shadow:inset 3px 0 0 var(--acL); }
.avhf-header--dark .avhf-pname { color:rgba(255,255,255,.9); }
.avhf-header--dark .avhf-feature { background-color:#13294f; background-image:linear-gradient(150deg,#1c3a78,#0c1f4a); border:none; }
.avhf-header--dark .avhf-empty { color:rgba(255,255,255,.6); }

/* ---- Footer ---- */
.avhf-footer { background:var(--avhf-fbg,var(--d)); color:var(--avhf-ftext,rgba(255,255,255,.78)); }
.avhf-fcta { max-width:1192px; margin:34px auto 0; display:grid; grid-template-columns:1.1fr 1fr; gap:28px; align-items:center; background:var(--avhf-band-bg,linear-gradient(135deg,#142a63,#0a1736 70%)); border-radius:16px; padding:32px; }
.avhf-fcta__text h3 { color:#fff; font-size:25px; font-weight:800; margin:0 0 12px; line-height:1.18; }
.avhf-fcta__text p { color:rgba(255,255,255,.72); font-size:14px; line-height:1.55; margin:0 0 18px; }
.avhf-fcta__btn { display:inline-flex; align-items:center; gap:7px; background:#fff; color:var(--p); font-weight:700; font-size:13.5px; padding:12px 19px; border-radius:10px; text-decoration:none; }
.avhf-fcc { display:flex; gap:13px; align-items:center; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:12px; padding:15px 18px; margin-bottom:12px; text-decoration:none; }
.avhf-fcc:last-child { margin-bottom:0; }
.avhf-fcc .ic { width:42px; height:42px; border-radius:10px; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; color:#fff; flex:none; }
.avhf-fcc small { display:block; color:rgba(255,255,255,.6); font-size:11px; margin-bottom:2px; }
.avhf-fcc b { color:#fff; font-size:15px; }
.avhf-fmain { max-width:1240px; margin:0 auto; padding:40px 24px 22px; }
.avhf-fgrid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:28px; }
.avhf-fbrand .avhf-logo__wm b { color:#fff; } .avhf-fbrand .avhf-logo__wm span { color:rgba(255,255,255,.5); }
.avhf-fbrand img { height:46px; }
.avhf-fbrand p { color:rgba(255,255,255,.6); font-size:13.5px; line-height:1.6; margin:14px 0 0; max-width:250px; }
.avhf-fcol h5 { color:var(--avhf-label,var(--a)); font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; margin:4px 0 16px; }
.avhf-fcol a { display:block; color:rgba(255,255,255,.78); text-decoration:none; font-size:14px; padding:6px 0; transition:.13s; }
.avhf-fcol a:hover { color:#fff; }
.avhf-fc { display:flex; gap:10px; align-items:flex-start; color:rgba(255,255,255,.8); font-size:13.5px; padding:6px 0; text-decoration:none; }
.avhf-fc .avhf-ico { color:var(--avhf-label,var(--a)); margin-top:2px; }
.avhf-fbottom { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:26px; padding-top:18px; border-top:1px solid rgba(255,255,255,.1); }
.avhf-fbottom small { color:rgba(255,255,255,.5); font-size:12.5px; }
.avhf-fsoc { display:flex; gap:9px; }
.avhf-fsoc a { width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.1); color:#fff; display:flex; align-items:center; justify-content:center; text-decoration:none; transition:.15s; }
.avhf-fsoc a:hover { background:var(--a); }

/* ---- Responsive ---- */
@media (max-width:1024px){
	.avhf-bar { grid-template-columns:auto 1fr auto; }
	.avhf-nav, .avhf-cta { display:none; }
	.avhf-burger { display:inline-flex; justify-self:end; }
	.avhf-actions { justify-self:end; }
	.avhf-fgrid { grid-template-columns:1fr 1fr; gap:24px 20px; }
	.avhf-fbrand { grid-column:1 / -1; }
	.avhf-fcta { grid-template-columns:1fr; }
}
@media (max-width:600px){
	.avhf-fgrid { grid-template-columns:1fr; }
	.avhf-fbottom { flex-direction:column; align-items:flex-start; }
	.avhf-fcta { padding:24px; }
	.avhf-fcta__text h3 { font-size:21px; }
	.avhf-header--dark { padding:10px; }
}
