.elementor-26 .elementor-element.elementor-element-tvhdbar{--display:flex;--min-height:88px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:24px 24px;--row-gap:24px;--column-gap:24px;--flex-wrap:nowrap;border-style:solid;--border-style:solid;border-width:0px 0px 2px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:2px;--border-left-width:0px;border-color:#8F6A3F;--border-color:#8F6A3F;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-26 .elementor-element.elementor-element-tvhdbar:not(.elementor-motion-effects-element-type-background), .elementor-26 .elementor-element.elementor-element-tvhdbar > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-26 .elementor-element.elementor-element-tvhdlogo.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-26 .elementor-element.elementor-element-tvhdlogo{text-align:start;}.elementor-26 .elementor-element.elementor-element-tvhdlogo img{width:230px;}.elementor-26 .elementor-element.elementor-element-tvhdgrp{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-26 .elementor-element.elementor-element-tvhdgrp.e-con{--flex-grow:1;--flex-shrink:1;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-menu-toggle{margin-left:auto;}.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu .elementor-item{font-family:"Figtree", sans-serif;font-size:16px;font-weight:500;}.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu--main .elementor-item{color:#03132E;fill:#03132E;padding-left:0px;padding-right:0px;padding-top:6px;padding-bottom:6px;}.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu--main .elementor-item:focus{color:#03132E;fill:#03132E;}.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:#8F6A3F;}.elementor-26 .elementor-element.elementor-element-tvhdmenu .e--pointer-framed .elementor-item:before,
					.elementor-26 .elementor-element.elementor-element-tvhdmenu .e--pointer-framed .elementor-item:after{border-color:#8F6A3F;}.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#03132E;}.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item.elementor-item-active:before,
					.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item.elementor-item-active:after{background-color:#8F6A3F;}.elementor-26 .elementor-element.elementor-element-tvhdmenu .e--pointer-framed .elementor-item.elementor-item-active:before,
					.elementor-26 .elementor-element.elementor-element-tvhdmenu .e--pointer-framed .elementor-item.elementor-item-active:after{border-color:#8F6A3F;}.elementor-26 .elementor-element.elementor-element-tvhdmenu .e--pointer-framed .elementor-item:before{border-width:2px;}.elementor-26 .elementor-element.elementor-element-tvhdmenu .e--pointer-framed.e--animation-draw .elementor-item:before{border-width:0 0 2px 2px;}.elementor-26 .elementor-element.elementor-element-tvhdmenu .e--pointer-framed.e--animation-draw .elementor-item:after{border-width:2px 2px 0 0;}.elementor-26 .elementor-element.elementor-element-tvhdmenu .e--pointer-framed.e--animation-corners .elementor-item:before{border-width:2px 0 0 2px;}.elementor-26 .elementor-element.elementor-element-tvhdmenu .e--pointer-framed.e--animation-corners .elementor-item:after{border-width:0 2px 2px 0;}.elementor-26 .elementor-element.elementor-element-tvhdmenu .e--pointer-underline .elementor-item:after,
					 .elementor-26 .elementor-element.elementor-element-tvhdmenu .e--pointer-overline .elementor-item:before,
					 .elementor-26 .elementor-element.elementor-element-tvhdmenu .e--pointer-double-line .elementor-item:before,
					 .elementor-26 .elementor-element.elementor-element-tvhdmenu .e--pointer-double-line .elementor-item:after{height:2px;}.elementor-26 .elementor-element.elementor-element-tvhdmenu{--e-nav-menu-horizontal-menu-item-margin:calc( 32px / 2 );--nav-menu-icon-size:24px;}.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:32px;}.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu--dropdown a, .elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-menu-toggle{color:#FFFFFF;fill:#FFFFFF;}.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu--dropdown{background-color:#03132E;}.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu--dropdown a:hover,
					.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu--dropdown a:focus,
					.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu--dropdown a.highlighted,
					.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-menu-toggle:hover,
					.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-menu-toggle:focus{color:#FFFFFF;}.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu--dropdown a:hover,
					.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu--dropdown a:focus,
					.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu--dropdown a.highlighted{background-color:#17233E;}.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu--dropdown .elementor-item, .elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:"Figtree", sans-serif;font-size:20px;font-weight:500;}.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu--dropdown a{padding-left:20px;padding-right:20px;padding-top:14px;padding-bottom:14px;}.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:0px !important;}.elementor-26 .elementor-element.elementor-element-tvhdmenu div.elementor-menu-toggle{color:#03132E;}.elementor-26 .elementor-element.elementor-element-tvhdmenu div.elementor-menu-toggle svg{fill:#03132E;}.elementor-26 .elementor-element.elementor-element-tvhdmenu div.elementor-menu-toggle:hover, .elementor-26 .elementor-element.elementor-element-tvhdmenu div.elementor-menu-toggle:focus{color:#8F6A3F;}.elementor-26 .elementor-element.elementor-element-tvhdmenu div.elementor-menu-toggle:hover svg, .elementor-26 .elementor-element.elementor-element-tvhdmenu div.elementor-menu-toggle:focus svg{fill:#8F6A3F;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-26 .elementor-element.elementor-element-tvhdgrp{--width:auto;}}@media(max-width:900px){.elementor-26 .elementor-element.elementor-element-tvhdbar{--min-height:72px;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-26 .elementor-element.elementor-element-tvhdlogo img{width:200px;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-26 .elementor-element.elementor-element-tvhdmenu{--e-nav-menu-horizontal-menu-item-margin:calc( 0px / 2 );}.elementor-26 .elementor-element.elementor-element-tvhdmenu .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:0px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-26 .elementor-element.elementor-element-tvhdbar{--min-height:64px;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-26 .elementor-element.elementor-element-tvhdlogo img{width:165px;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}/* Start custom CSS *//* ── tavadian header ────────────────────────────────────────────────────────
   Five declarations that Elementor has no control for. Everything else on
   this template is an option, not CSS. */

/* 1. STICKY. The container `position` SELECT offers relative/absolute/fixed
   only. It must go on the LOCATION element, not on our container: a sticky
   child unsticks the moment its parent scrolls out, and the parent here is
   exactly as tall as the child. Deliberately un-prefixed (no `.elementor-26`)
   because the header template IS global — see the "custom_css without
   .elementor-26 is global" trap, which is a trap only when it is unintended. */
header.elementor-location-header { position: sticky; top: 0; z-index: 50; }

/* 1b. THE LOGGED-IN TOOLBAR OFFSET (Niko revision items 6a/7a, 2026-08-18).
   WordPress's toolbar is position:fixed over the viewport top and core
   offsets the PAGE via html{margin-top} — so this sticky header pinned at
   top:0 slides UNDER the toolbar on scroll, while Elementor Pro's sticky
   elements (the practice/academy anchor bars, offset 88) ADD the toolbar
   height to their own offset. Measured on the live site at 1024/1440/1920:
   logged in, header stuck at 0..88 with the bar at 120 — a 32px strip of
   page showing between them; anonymous, gap 0.0. Offsetting the header by
   the toolbar height (the same convention core themes use) makes BOTH
   viewer states flush: logged in 32..120 against a bar at 120, anonymous
   0..88 against a bar at 88. ≤600px core makes the toolbar
   position:absolute (it scrolls away), so the header returns to top:0. */
body.admin-bar header.elementor-location-header { top: 32px; }
@media screen and (max-width: 782px) {
  body.admin-bar header.elementor-location-header { top: 46px; }
}
@media screen and (max-width: 600px) {
  body.admin-bar header.elementor-location-header { top: 0; }
}

/* 2. THE 7% SPINE (spec 3). clamp() cannot be expressed in the numeric
   DIMENSIONS control. One margin for the whole site. */
.elementor-26 .tv-header { padding-inline: clamp(20px, 7vw, 112px); }

/* logo sits optically on the spine — the PNG carries no side bearing */
.elementor-26 .tv-hd-logo img { display: block; }

/* 3. EN/FR utility pair (spec Band 1). FR is not a link and must not be
   dressed as one — same contract as the footer LinkedIn item (#802). */
.elementor-26 .tv-hd-lang {
  margin-left: 8px; padding-left: 32px;
  border-left: 1px solid rgba(3,19,46,0.12);
  font-size: 12px; text-transform: uppercase; letter-spacing: .14em;
  line-height: 1;
}
.elementor-26 .tv-hd-lang p { margin: 0; display: flex; align-items: center; gap: 4px; }
.elementor-26 .tv-lang-on  { font-weight: 700; color: #03132E; }
.elementor-26 .tv-lang-off { color: #5C6B7A; }
.elementor-26 .tv-lang-sl  { color: #5C6B7A; }   /* a hairline tint here is 1.28:1 */

@media (max-width: 900px) {
  .elementor-26 .tv-hd-lang { padding-left: 16px; margin-left: 0; }
}
@media (max-width: 480px) {
  .elementor-26 .tv-hd-lang { padding-left: 12px; font-size: 11px; }
}

/* 4. NO-JS NAV FALLBACK — task #805.
   The concept's drawer was 100% JS: below 900px the plain-link nav was
   removed unconditionally, so a visitor without JS could not reach ANY page.
   Elementor's own burger has the same shape — the dropdown <nav> is in the
   DOM at every width but is collapsed until JS adds .elementor-active.
   `scripting: none` is Media Queries Level 5 and is the honest test for
   "this browser will never run the toggle". A browser that does not know the
   query simply ignores the block, which is no worse than today.
   The exact collapse mechanism is overridden below AFTER reading it off the
   live render — not guessed. */
@media (scripting: none) {
  /* the burger is a control that cannot work here — hiding it is part of the
     fix, not cosmetics: a button that lies is an accessibility defect. Both
     the element and its wrapper are named because Elementor renders the
     toggle inside a positioned wrapper on some skins. */
  header.elementor-location-header .elementor-menu-toggle,
  header.elementor-location-header .elementor-menu-toggle__wrapper,
  header.elementor-location-header div.elementor-menu-toggle {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important; height: 0 !important;
    overflow: hidden !important;
  }
  header.elementor-location-header .elementor-nav-menu--dropdown {
    display: block !important;
    max-height: none !important;
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  header.elementor-location-header .tv-header {
    flex-wrap: wrap !important;
    padding-bottom: 8px;
  }
  header.elementor-location-header .tv-hd-group { flex-wrap: wrap; width: 100%; }
  header.elementor-location-header .elementor-widget-nav-menu,
  header.elementor-location-header .elementor-nav-menu--dropdown { width: 100% !important; }
  /* PROVEN, not assumed: with the sentinel in place the header measured 64px
     under JS and 322px with JS disabled, i.e. the block matches. Under JS the
     dropdown is 390x0 and its links are not visible; without JS it is 243x258
     and every link is. Both directions, one run. */
}

/* 5. ACTIVE-PAGE NAV STATE (inner-pages-spec §1, live from Phase 6: the menu
   URLs resolve now, so WordPress marks the current item). The 2px gold-deep
   underline is the widget's own active pointer (pointer_color_menu_item_active
   is already #8F6A3F, width 2) — only the 700 weight has no control. The
   widget's own typography rule sits at (0,5,0), so this must carry (0,5,1)
   or it loses per-property (measured: computed 500 with the rule present). */
.elementor-26 .elementor-element.tv-hd-nav .elementor-nav-menu--main a.elementor-item-active {
  font-weight: 700;
}

/* 5b. SINGLE POSTS (#871, 2026-08-18). WordPress marks the posts-page menu
   item `current_page_parent` on any non-page query (single posts foremost;
   also the theme-fallthrough term/date archives, #854, where Insights active
   is contextually right) - but Elementor Pro maps only `current-menu-item`
   to .elementor-item-active, so without these two rules the Insights label
   goes quiet the moment a reader opens an article. Reuses the widget's OWN
   underline pseudo: idle is `opacity:0` at (0,5,0) in
   custom-pro-widget-nav-menu.min.css (measured live), out-specified here at
   (0,6,2); color + 2px height match the compiled active rules in post-26.css.
   Measured: /insights/ li = current-menu-item + current_page_parent (Pro
   already handles it); a single's li = current_page_parent ONLY. */
.elementor-26 .elementor-element.tv-hd-nav .elementor-nav-menu--main li.current_page_parent > a.elementor-item {
  font-weight: 700;
}
.elementor-26 .elementor-element.tv-hd-nav .e--pointer-underline li.current_page_parent > a.elementor-item::after {
  opacity: 1;
  transform: scale(1);
  background-color: #8F6A3F;
}

/* 5c. SIX-ITEM NAV, MID-RANGE STEP (#871, 2026-08-18). Insights made the nav
   six items and the row stopped fitting between the lockup and the EN/FR
   cluster below ~1100 (measured at 1024: items sum 573.3px in a 537.4px box -
   Contact wrapped to a second line; at 1100-1199 it fit with ZERO slack).
   Same mid-range ladder move as the archive filter row and the anchor bars:
   901-1199 steps the items to 14px (ladder value) with 16px inter-item gaps.
   Pro delivers the 32px spacing as margin-inline 16px+16px on the anchors
   (custom-pro-widget-nav-menu.min.css consumes
   --e-nav-menu-horizontal-menu-item-margin at (0,3,2)); overriding the
   CONSUMER at (0,6,2) rather than the variable, which proved unreliable to
   re-declare. Measured after applying: one line at every width 901-1199. */
@media (min-width: 901px) and (max-width: 1199px) {
  .elementor-26 .elementor-element.tv-hd-nav .elementor-nav-menu--main .elementor-item {
    font-size: 14px;
  }
  .elementor-26 .elementor-element.tv-hd-nav .elementor-nav-menu--layout-horizontal .elementor-nav-menu > li:not(:first-child) > a {
    margin-inline-start: 8px;
  }
  .elementor-26 .elementor-element.tv-hd-nav .elementor-nav-menu--layout-horizontal .elementor-nav-menu > li:not(:last-child) > a {
    margin-inline-end: 8px;
  }
}/* End custom CSS */