.elementor-8615 .elementor-element.elementor-element-19e9a74f .elementor-menu-toggle{margin-left:auto;}.elementor-8615 .elementor-element.elementor-element-19e9a74f .elementor-nav-menu .elementor-item{font-family:"Figtree", Sans-serif;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for nav-menu, class: .elementor-element-19e9a74f */.elementor-8615 .elementor-element.elementor-element-19e9a74f nav.elementor-nav-menu--main ul.elementor-nav-menu { display: flex; flex-direction: row; gap: 26px; align-items: center; } .elementor-8615 .elementor-element.elementor-element-19e9a74f a.elementor-item { color: rgba(245,240,234,0.82); font-size: 13.5px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 600; padding: 8px 0; background-repeat: no-repeat; background-position: 0 100%; background-size: 0% 3px; transition: background-size 0.35s ease, color 0.25s ease; } .elementor-8615 .elementor-element.elementor-element-19e9a74f nav.elementor-nav-menu--main li.menu-item:nth-child(1) > a.elementor-item { background-image: linear-gradient(90deg, #D4423D 0 40%, #F9C93B 40% 60%, #2468E8 60%); } .elementor-8615 .elementor-element.elementor-element-19e9a74f nav.elementor-nav-menu--main li.menu-item:nth-child(2) > a.elementor-item { background-image: linear-gradient(90deg, #ADBC52 0 30%, #572A74 30% 55%, #F9C93B 55% 75%, #D4423D 75%); } .elementor-8615 .elementor-element.elementor-element-19e9a74f nav.elementor-nav-menu--main li.menu-item:nth-child(3) > a.elementor-item { background-image: linear-gradient(90deg, #2468E8 0 35%, #ADBC52 35% 55%, #9E3730 55% 80%, #F9C93B 80%); } .elementor-8615 .elementor-element.elementor-element-19e9a74f nav.elementor-nav-menu--main li.menu-item:nth-child(4) > a.elementor-item { background-image: linear-gradient(90deg, #F9C93B 0 30%, #D4423D 30% 70%, #7A14EA 70%); } .elementor-8615 .elementor-element.elementor-element-19e9a74f nav.elementor-nav-menu--main li.menu-item:nth-child(5) > a.elementor-item { background-image: linear-gradient(90deg, #572A74 0 25%, #2468E8 25% 50%, #ADBC52 50% 70%, #F9C93B 70%); } .elementor-8615 .elementor-element.elementor-element-19e9a74f nav.elementor-nav-menu--main a.elementor-item:hover { color: #F5F0EA; background-size: 100% 3px; } .elementor-8615 .elementor-element.elementor-element-19e9a74f nav.elementor-nav-menu--main a.elementor-item:focus-visible { color: #F5F0EA; background-size: 100% 3px; outline: 3px solid #F9C93B; outline-offset: 4px; } .elementor-8615 .elementor-element.elementor-element-19e9a74f .elementor-menu-toggle { color: #F5F0EA; background-color: transparent; margin: 0; } .elementor-8615 .elementor-element.elementor-element-19e9a74f .elementor-menu-toggle:focus-visible { outline: 3px solid #F9C93B; outline-offset: 3px; } @media (max-width: 1024px) { .elementor-8615 .elementor-element.elementor-element-19e9a74f { width: auto; flex: 0 0 auto; position: static; } .elementor-8615 .elementor-element.elementor-element-19e9a74f .elementor-widget-container { display: block; position: static; } .elementor-8615 .elementor-element.elementor-element-19e9a74f .elementor-menu-toggle { width: auto; } .elementor-8615 .elementor-element.elementor-element-19e9a74f nav.elementor-nav-menu--dropdown { position: absolute; top: calc(100% + 10px); right: 16px; left: auto; width: 260px; max-width: calc(100vw - 32px); z-index: 999; background-color: #24272B; border-radius: 10px; overflow: hidden; box-shadow: 0 14px 36px rgba(0,0,0,0.45); } .elementor-8615 .elementor-element.elementor-element-19e9a74f nav.elementor-nav-menu--dropdown ul.elementor-nav-menu { display: flex; flex-direction: column; gap: 0; align-items: stretch; } .elementor-8615 .elementor-element.elementor-element-19e9a74f nav.elementor-nav-menu--dropdown a.elementor-item { color: #F5F0EA; font-size: 15px; letter-spacing: 0.08em; padding: 14px 20px; background-image: none; } .elementor-8615 .elementor-element.elementor-element-19e9a74f nav.elementor-nav-menu--dropdown a.elementor-item:hover, .elementor-8615 .elementor-element.elementor-element-19e9a74f nav.elementor-nav-menu--dropdown a.elementor-item:focus-visible { background-color: #383D42; color: #FFFFFF; } }/* End custom CSS */
/* Start custom CSS *//* ---- Main Header 2026 (8615): header-only styling, carried by the header itself ----
   Moved out of page 8614's Custom CSS on 2026-11-13, when this header went site-wide. Selectors
   are unchanged apart from being scoped to .elementor-8615, so scope and behaviour are identical
   - but they now load wherever the header renders instead of only on the homepage. Do not move
   these back to a page: an internal page would then render the header unstyled.

   NOTE ON !important below: the nav widget's own element-level custom CSS targets
   .elementor-8615 .elementor-element.elementor-element-19e9a74f a.elementor-item, which scores
   (0,4,1) and outranks a class-only .elementor-8615. Without !important the clamps are silently ignored
   (verified - a first attempt left 13.5px/26px at every width). */

/* ---- 1. Global-class layout fallback - REQUIRED, do not delete ----
   The avo26-* classes on the header's elements are Elementor V4 global classes. Elementor only
   emits the V4 global-class stylesheets (global-<id>-frontend-*.css) for V4 documents, and names
   them after the MAIN queried document - so the header's layout was coming from
   global-8614-frontend-*.css and only existed on the homepage. Every internal page here is a V3
   document, so it enqueues NO global-class stylesheet at all and the header rendered unstyled
   (nav wrapped to two rows, Contact button 144px past the edge - measured on /about-us/).
   Republishing the header does NOT generate global-8615-frontend-*.css; those URLs 404.
   These rules mirror the kit's current definitions, scoped to this header, so the header stands
   up on V3 and V4 pages alike. The shared kit classes themselves are NOT modified - page 8614
   still uses them. Breakpoints match Elementor's: tablet <=1024px, mobile <=767px.
   If those global classes are ever edited in the kit, update these values to match. */
.elementor-8615 .avo26-header-shell{width:100%;font-family:Figtree;padding:0px;background-color:#24272B;display:flex;flex-direction:column;background-image:radial-gradient(120% 90% at 78% 8%, #4C5257 0%, #383D42 45%, #24272B 100%);background-size:100% 900px;background-position:0px 0px;background-repeat:no-repeat;}
.elementor-8615 .avo26-topstrip{width:100%;height:4px;min-height:0px;overflow:hidden;padding:0px;display:flex;flex-direction:row;}
.elementor-8615 .avo26-topstrip-band{height:4px;min-height:0px;padding:0px;flex:1 1 0px;}
.elementor-8615 .avo26-header-inner{width:100%;max-width:1160px;position:relative;padding-block-start:30px;padding-block-end:30px;padding-inline-start:40px;padding-inline-end:40px;margin-inline-start:auto;margin-inline-end:auto;display:flex;flex-direction:row;gap:40px;justify-content:space-between;align-items:center;}
.elementor-8615 .avo26-nav-group{width:auto;min-width:0px;padding:0px;display:flex;flex-direction:row;flex:0 1 auto;justify-content:flex-end;align-items:center;}
.elementor-8615 .avo26-cta:hover,.elementor-8615 .avo26-cta:focus-visible{color:#24272B;background-color:#ADBC52;}
@media (max-width:1024px){.elementor-8615 .avo26-header-inner{padding-block-start:20px;padding-block-end:20px;padding-inline-start:24px;padding-inline-end:24px;gap:16px;}}
@media (max-width:767px){.elementor-8615 .avo26-header-inner{padding-block-start:14px;padding-block-end:14px;padding-inline-start:16px;padding-inline-end:16px;gap:8px;}}

/* The header's side padding is deliberately NOT clamped. Batch 16 carried a padding clamp, but it
   never took effect: it sat in post-8614.css, which loads BEFORE global-8614-frontend-desktop.css,
   so the global class's 40px won and the verified slack was a constant 40px at every width. Moving
   these rules into post-8615.css reversed that source order, and an active clamp would have pulled
   the gutter to ~20px at 1070 and ~32px at 1440 - shifting the logo and nav out of alignment with
   the page content below, which keeps its own 40px container padding. The fit is already achieved
   by the font-size, gap and logo clamps below, so the gutter stays at the kit's 40/24/16. */

/* ---- 2. Keyboard access to the submenus - NO-SCRIPT FALLBACK ONLY ----
   Elementor's nav menu has no native keyboard submenu toggle. Custom Code snippet 8833 drives
   SmartMenus' own API from focus and adds .avo26-js-kb, which switches this rule off.
   It MUST stay gated: SmartMenus' menuShow() bails on jQuery :visible, so a panel already forced
   open by :focus-within is treated as already shown and silently refused - leaving
   aria-expanded="false", the exact bug the snippet exists to fix. */
.elementor-8615 .elementor-nav-menu--main:not(.avo26-js-kb) li.menu-item-has-children:focus-within > ul.sub-menu{display:block !important;}

/* ---- 3. Header fit ----
   Bounded fluid type and spacing keep the logo, the nav and the WHOLE Contact button inside the
   gutter down to the 1024px hamburger breakpoint.
   CORRECTION kept on record: "no horizontal scroll" did NOT mean the header fitted -
   body{overflow-x:hidden} was silently clipping ~59px of the Contact button at 1070px.
   letter-spacing stays at 0.14em and scales with the font because it is em-based. */
.elementor-8615 .avo26-header-inner > a.e-image-link-base{width:clamp(168px,12.5vw + 40px,200px);flex:0 0 auto;}
.elementor-8615 .avo26-header-inner > a.e-image-link-base img{width:100%;height:auto;}
.elementor-8615 .elementor-nav-menu--main a.elementor-item{font-size:clamp(11.5px,0.78vw + 3.5px,13.5px) !important;}
.elementor-8615 .elementor-nav-menu--main ul.elementor-nav-menu{gap:clamp(14px,4.7vw - 34px,26px) !important;}
.elementor-8615 .avo26-nav-group{gap:clamp(16px,3.9vw - 25px,26px) !important;}
.elementor-8615 .avo26-cta{flex:0 0 auto;white-space:nowrap;}

/* ---- 4. Dropdown panels ----
   Elementor's defaults rendered a WHITE panel with 13px Akrobat in dark grey (11px on mobile),
   which read as a different design system. Re-skinned to the header's own language. No top
   margin, so the pointer never crosses a dead gap moving from the parent into the panel. */
.elementor-8615 .elementor-nav-menu--main ul.sub-menu{background-color:#24272B;border:1px solid rgba(245,240,234,0.14);border-radius:10px;padding:8px;box-shadow:0 18px 40px rgba(18,20,23,0.5);min-width:208px !important;margin-top:0 !important;}
.elementor-8615 ul.sub-menu a.elementor-sub-item{font-family:"Figtree",sans-serif !important;font-size:14px !important;font-weight:500;line-height:1.35;text-transform:none;color:#F5F0EA;padding:11px 16px;border-radius:6px;transition:background-color .18s ease,color .18s ease;}
.elementor-8615 ul.sub-menu a.elementor-sub-item:hover{background-color:rgba(245,240,234,0.10);color:#FFFFFF;}
.elementor-8615 ul.sub-menu a.elementor-sub-item:focus-visible{background-color:rgba(245,240,234,0.10);color:#FFFFFF;outline:2px solid #F9C93B;outline-offset:-2px;}
/* Mobile: same language, expandable structure untouched. */
.elementor-8615 .elementor-nav-menu--dropdown ul.sub-menu{background-color:rgba(245,240,234,0.06);border-radius:8px;padding:4px;margin:2px 12px 8px;}
.elementor-8615 .elementor-nav-menu--dropdown ul.sub-menu a.elementor-sub-item{font-size:14px !important;padding:12px 16px;}/* End custom CSS */