/* Taloventra — navigation, header, mega-menus, drawer, footer (package B, REDESIGN-BRIEF §4.0).
   Unlayered, so it beats the legacy cascade layer with normal declarations only. Tokens only (var(--tv-*) + color-mix with white/black/
   transparent), logical properties only, nothing below 12 px, hover effects only on fine pointers, motion via --tv-dur-*
   (0 ms under prefers-reduced-motion). Breakpoints: 600 / 1000 (drawer ↔ full header) / 1200. */

/* ---------- 1. Header bar ---------- */
.tv-nav{position:sticky;inset-block-start:0;z-index:60;display:block;block-size:var(--tv-header-h);margin:0;padding:0;border:0;border-block-end:1px solid var(--tv-border);background:color-mix(in oklab,var(--tv-ivory) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--tv-text);font:500 var(--tv-step--1)/1.2 var(--tv-font-ui);transition:background var(--tv-dur-2) var(--tv-ease-out),border-color var(--tv-dur-2),color var(--tv-dur-2)}
.tv-nav *,.tv-nav *::before,.tv-nav *::after{box-sizing:border-box}
:where(.tv-nav) a{color:inherit;text-decoration:none}
:where(.tv-nav) button{font:inherit;color:inherit;-webkit-appearance:none;appearance:none}
.tv-nav__bar{position:static;display:flex;align-items:center;gap:var(--tv-sp-s);block-size:100%}
.tv-nav__logo{display:inline-flex;align-items:center;flex:none;block-size:44px;padding:0;border-radius:var(--tv-r-xs);color:var(--tv-heading)}
.tv-nav__wordmark{display:block;inline-size:auto;block-size:34px;max-inline-size:none}
.tv-nav__wordmark--light{display:none}
[dir=rtl] .tv-nav__logo{direction:ltr}

/* ---------- 2. Primary list (≥ 1000 px) ---------- */
.tv-nav__primary{display:none;flex:1 1 auto;min-inline-size:0;block-size:100%;position:static;inset:auto;margin:0;padding:0;gap:0;background:none;border:0;box-shadow:none;font:inherit;text-align:start}
.tv-nav__list{display:flex;align-items:stretch;justify-content:center;gap:.125rem;margin:0;padding:0;list-style:none;block-size:100%}
.tv-nav__item{position:relative;display:flex;align-items:center;margin:0}
.tv-nav__item--mega{position:static}
.tv-nav__link,.tv-nav__trigger{position:relative;display:inline-flex;align-items:center;gap:.3rem;min-block-size:44px;margin:0;padding:.5rem .8rem;border:0;border-radius:var(--tv-r-s);background:none;color:var(--tv-nav-fg,var(--tv-text));font:600 var(--tv-step--1)/1.2 var(--tv-font-ui);letter-spacing:.005em;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--tv-dur-1) var(--tv-ease-out),color var(--tv-dur-1)}
.tv-nav__trigger>.tv-icon{color:var(--tv-nav-fg-3,var(--tv-text-3));transition:transform var(--tv-dur-2) var(--tv-ease-out),color var(--tv-dur-1)}
.tv-nav__trigger[aria-expanded=true]{color:var(--tv-heading);background:var(--tv-nav-hover,var(--tv-bg-3))}
.tv-nav__trigger[aria-expanded=true]>.tv-icon{transform:rotate(180deg);color:currentColor}
.tv-nav__item.is-current>:is(.tv-nav__link,.tv-nav__trigger)>span:first-child{text-decoration:underline;text-decoration-color:var(--tv-accent);text-decoration-thickness:2px;text-underline-offset:.45em}
.tv-nav__fallback{display:none}
html:not(.tv-js) .tv-nav__trigger{display:none}
html:not(.tv-js) .tv-nav__fallback{display:inline-flex}
@media (hover:hover) and (pointer:fine){
  .tv-nav__link:hover,.tv-nav__trigger:hover{background:var(--tv-nav-hover,var(--tv-bg-3));color:var(--tv-heading)}
  .tv-nav__trigger:hover>.tv-icon{color:currentColor}
}
@media (width>=1000px){
  .tv-nav__primary{display:flex;align-items:stretch;justify-content:center}
}
@media (width>=1000px) and (width<1200px){
  .tv-nav__wordmark{block-size:28px}
  .tv-nav__bar{gap:var(--tv-sp-xs)}
  .tv-nav__link,.tv-nav__trigger{padding-inline:.45rem;font-size:0.8125rem;gap:.2rem}
  .tv-nav__list{gap:0}
  .tv-nav__utility{gap:.25rem}
  .tv-nav__lang{padding-inline:.4rem;gap:.25rem}
  .tv-nav .tv-nav__login{padding-inline:.5rem}
  .tv-nav .tv-nav__cta{padding-inline:.8rem}
}
@media (width<600px){
  .tv-nav__wordmark{block-size:30px}
}

/* ---------- 3. Panels: shared surface (mega + dropdown), light tokens re-declared so a panel is always paper ---------- */
.tv-nav__panel{position:absolute;inset-block-start:100%;z-index:5;margin:0;padding:0;background:var(--tv-surface);color:var(--tv-text-2);border:1px solid var(--tv-border);box-shadow:var(--tv-sh-3);text-align:start;font:500 var(--tv-step--1)/1.35 var(--tv-font-ui);
  --tv-nav-fg:var(--tv-navy);--tv-nav-fg-3:var(--tv-muted);--tv-nav-hover:var(--tv-navy-050);
  --tv-heading:var(--tv-navy);--tv-text:var(--tv-navy);--tv-text-2:var(--tv-slate);--tv-text-3:var(--tv-muted);--tv-link:var(--tv-navy);--tv-link-hover:var(--tv-burnt);--tv-accent-text:var(--tv-burnt);--tv-bg-3:var(--tv-navy-050);--tv-surface:var(--tv-white);--tv-surface-2:var(--tv-ivory-050);--tv-border:var(--tv-line);--tv-border-strong:var(--tv-navy-100);--tv-btn-bg:var(--tv-navy);--tv-btn-text:var(--tv-white);--tv-btn-bg-hover:var(--tv-navy-700);--tv-focus:var(--tv-navy);--tv-focus-halo:var(--tv-white);--green:var(--tv-navy)}
.tv-nav__panel[hidden]{display:none}
.tv-nav__panel:not([hidden]){animation:tv-nav-in var(--tv-dur-2) var(--tv-ease-out) both}
@keyframes tv-nav-in{from{opacity:0;translate:0 -6px}to{opacity:1;translate:0 0}}
.tv-nav__panel a{display:flex;align-items:center;gap:.6rem;min-block-size:44px;padding:.45rem .7rem;border-radius:var(--tv-r-s);color:var(--tv-text);font-weight:500;text-decoration:none;transition:background var(--tv-dur-1) var(--tv-ease-out),color var(--tv-dur-1)}
.tv-nav__panel a>.tv-icon{color:var(--tv-text-3);transition:color var(--tv-dur-1)}
.tv-nav__panel a>span{min-inline-size:0}
.tv-nav__panel a[aria-current]{color:var(--tv-heading);background:var(--tv-bg-3);font-weight:600}
@media (hover:hover) and (pointer:fine){
  .tv-nav__panel a:hover{background:var(--tv-bg-3);color:var(--tv-heading)}
  .tv-nav__panel a:hover>.tv-icon{color:var(--tv-heading)}
  .tv-nav__panel a:hover>.tv-icon--arrow-next{translate:3px 0}
  [dir=rtl] .tv-nav__panel a:hover>.tv-icon--arrow-next{translate:-3px 0}
}
.tv-nav__panel .tv-icon--arrow{transition:translate var(--tv-dur-2) var(--tv-ease-out)}

/* ---------- 4. Mega-menu (Products, Solutions) ---------- */
.tv-nav-mega{inset-inline:0;inline-size:min(100% - 2*var(--tv-gutter),var(--tv-w-wide));margin-inline:auto;border-block-start:0;border-radius:0 0 var(--tv-r-l) var(--tv-r-l);max-block-size:calc(100dvh - var(--tv-header-h));overflow:auto;overscroll-behavior:contain}
.tv-nav-mega__inner{display:grid;gap:var(--tv-sp-s) var(--tv-sp-l);inline-size:100%;padding-block:var(--tv-sp-s) var(--tv-sp-xs);min-block-size:var(--tv-nav-mega-h,44rem);align-content:start}
.tv-nav-mega--products .tv-nav-mega__inner{grid-template-columns:minmax(0,1fr);grid-template-areas:"main" "strip" "foot"}
.tv-nav-mega--solutions .tv-nav-mega__inner{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,1.25fr);grid-template-areas:"ind size prog" "foot foot foot"}
.tv-nav-mega__main{grid-area:main;display:flex;flex-direction:column;gap:var(--tv-sp-xs);min-inline-size:0}
.tv-nav-mega__strip{grid-area:strip;display:grid;gap:var(--tv-sp-2xs);padding:var(--tv-sp-xs) var(--tv-sp-s) var(--tv-sp-s);border-radius:var(--tv-r-m);background:var(--tv-bg-3)}
.tv-nav-mega__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--tv-sp-xs)}
.tv-nav-mega__col{min-inline-size:0;display:flex;flex-direction:column;gap:.25rem}
.tv-nav-mega__col--industries{grid-area:ind}
.tv-nav-mega--solutions .tv-nav-mega__col:nth-child(2){grid-area:size}
.tv-nav-mega--solutions .tv-nav-mega__col:nth-child(3){grid-area:prog}
.tv-nav-mega__foot{grid-area:foot;display:flex;flex-wrap:wrap;align-items:center;gap:.25rem var(--tv-sp-xs);padding-block-start:var(--tv-sp-xs);border-block-start:1px solid var(--tv-border)}
.tv-nav-mega__foot a{font-weight:600;color:var(--tv-heading)}
.tv-nav-mega__foot a>.tv-icon{color:var(--tv-accent-text)}
.tv-nav-mega__contact{margin-inline-start:auto;color:var(--tv-accent-text)}
.tv-nav-mega__contact>.tv-icon{color:currentColor}
.tv-nav-mega__title{margin:0;padding-inline:.7rem;font:600 var(--tv-step-0)/1.3 var(--tv-font-ui);color:var(--tv-heading)}
.tv-nav-mega__title--strip{padding-inline:.25rem;font-size:var(--tv-step--2);text-transform:uppercase;letter-spacing:var(--tv-track-eyebrow);color:var(--tv-accent-text)}
.tv-nav-mega__desc{margin:0;font-size:0.8125rem;line-height:1.45;color:var(--tv-text-3)}
.tv-nav-mega__mark{flex:none;inline-size:40px;block-size:40px;border-radius:var(--tv-r-s)}
.tv-nav-mega__head{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem var(--tv-sp-xs);min-block-size:48px;padding:.25rem .7rem;border-radius:var(--tv-r-m);border:1px solid var(--tv-border);background:var(--tv-surface-2)}
.tv-nav-mega__head .tv-nav-mega__mark{inline-size:32px;block-size:32px;border-radius:var(--tv-r-xs)}
.tv-nav-mega__head .tv-nav-mega__title{padding-inline:0}
.tv-nav-mega__head .tv-nav-mega__desc{flex:1 1 14rem;padding-inline-start:.25rem}
.tv-nav-mega__overview{margin-inline-start:auto;font-weight:600;color:var(--tv-heading)}
.tv-nav-mega__overview>.tv-icon{color:var(--tv-accent-text)}
.tv-nav-mega__groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--tv-sp-s)}
.tv-nav-mega__group{display:flex;flex-direction:column;gap:.15rem;min-inline-size:0}
.tv-nav-mega__group-title{flex-wrap:wrap;color:var(--tv-heading)}
.tv-nav-mega__group-title>.tv-nav-mega__chip{inline-size:40px;block-size:40px;background:var(--tv-bg-3);color:var(--tv-heading)}
.tv-nav-mega__group-name{font:600 var(--tv-step-0)/1.25 var(--tv-font-ui)}
.tv-nav-mega__group-title .tv-badge{margin-inline-start:auto}
.tv-nav-mega__list{list-style:none;margin:0;padding:0;display:grid;gap:.05rem}
.tv-nav-mega__list--2{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--tv-sp-xs)}
.tv-nav-mega__list--sub{padding-inline-start:1.75rem;margin-block-end:var(--tv-sp-xs)}
.tv-nav-mega__list--sub a{min-block-size:40px;font-size:0.8125rem;color:var(--tv-text-2)}
.tv-nav-mega__sub{font-weight:600;color:var(--tv-heading)}
.tv-nav-mega__more{margin-block-start:auto;font-weight:600;color:var(--tv-accent-text)}
.tv-nav-mega__more>.tv-icon{color:currentColor}
.tv-nav-mega__card{display:flex;gap:var(--tv-sp-xs);min-inline-size:0;padding:var(--tv-sp-xs);border-radius:var(--tv-r-s);background:var(--tv-surface);border:1px solid var(--tv-border)}
.tv-nav-mega__card-copy{display:grid;gap:.25rem;min-inline-size:0}
.tv-nav-mega__card-name{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin:0;font:600 var(--tv-step--1)/1.3 var(--tv-font-ui);color:var(--tv-heading)}
.tv-nav-mega__card-links{display:flex;flex-wrap:wrap;gap:0 .25rem;margin-inline:-.5rem;margin-block-start:.1rem}
.tv-nav-mega__card-links a{min-block-size:40px;padding:.25rem .5rem;font-size:0.8125rem;font-weight:600;color:var(--tv-accent-text)}
@media (hover:hover) and (pointer:fine){
  .tv-nav-mega__card-links a:hover,.tv-nav-mega__more:hover,.tv-nav-mega__contact:hover{color:var(--tv-burnt-700);background:var(--tv-apricot-100)}
}

/* ---------- 5. Dropdown (Resources, Company, language) ---------- */
.tv-nav-menu{inset-inline-start:0;min-inline-size:17rem;max-inline-size:min(24rem,calc(100vw - 2*var(--tv-gutter)));padding:.5rem;border-radius:var(--tv-r-m);margin-block-start:-1px}
.tv-nav-menu__title{margin:.35rem 0 .15rem;padding-inline:.7rem;font:600 var(--tv-step--2)/1.3 var(--tv-font-ui);letter-spacing:var(--tv-track-eyebrow);text-transform:uppercase;color:var(--tv-text-3)}
.tv-nav-menu__list{list-style:none;margin:0;padding:0;display:grid;gap:.05rem}
.tv-nav-menu__list--rule{margin-block-start:.35rem;padding-block-start:.35rem;border-block-start:1px solid var(--tv-border)}
.tv-nav-menu--lang{inset-inline-start:auto;inset-inline-end:0;min-inline-size:13rem}
.tv-nav-menu__code{flex:none;inline-size:2.25rem;font:600 var(--tv-step--2)/1 var(--tv-font-ui);letter-spacing:.04em;color:var(--tv-text-3)}
.tv-nav-menu--lang a[aria-current]>.tv-nav-menu__code{color:var(--tv-accent-text)}

/* ---------- 6. Utility cluster ---------- */
.tv-nav__utility{display:flex;align-items:center;gap:.35rem;margin-inline-start:auto;block-size:100%}
.tv-nav__lang{padding-inline:.6rem;gap:.35rem}
.tv-nav__lang>.tv-icon:first-child{color:currentColor}
.tv-nav__lang-code{font:600 var(--tv-step--1)/1 var(--tv-font-ui);letter-spacing:.06em}
.tv-nav__cart{display:inline-flex;align-items:center;gap:.4rem;min-block-size:44px;padding:0 .8rem 0 .7rem;border:1px solid var(--tv-border-strong);border-radius:var(--tv-r-pill);color:var(--tv-nav-fg,var(--tv-text));font-weight:600;transition:border-color var(--tv-dur-1),background var(--tv-dur-1)}
.tv-nav__cart .tv-badge{background:var(--tv-apricot);color:var(--tv-navy);min-block-size:22px;padding-inline:.5rem}
.tv-nav .tv-nav__login{display:none;padding-inline:.6rem;min-block-size:44px;font-weight:600}
.tv-nav .tv-nav__cta{display:none;flex:none;min-block-size:44px}
@media (hover:hover) and (pointer:fine){.tv-nav__cart:hover{border-color:var(--tv-text);background:var(--tv-nav-hover,var(--tv-bg-3))}}
@media (width>=600px){.tv-nav .tv-nav__cta{display:inline-flex}}
@media (width>=1000px){.tv-nav .tv-nav__login{display:inline-flex}}
@media (width<1000px){.tv-nav__item--lang{display:none}}

/* Menu / Close toggle (below 1000 px) */
.tv-nav__toggle{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-inline-size:44px;min-block-size:44px;margin:0;padding:0 .8rem;border:1px solid var(--tv-border-strong);border-radius:var(--tv-r-pill);background:var(--tv-nav-toggle-bg,var(--tv-surface));color:var(--tv-nav-fg,var(--tv-text));font:600 var(--tv-step--1)/1 var(--tv-font-ui);cursor:pointer;transition:background var(--tv-dur-1),border-color var(--tv-dur-1),color var(--tv-dur-1)}
.tv-nav__toggle-icon--close,.tv-nav__toggle-label--close{display:none}
.tv-nav__toggle[aria-expanded=true] .tv-nav__toggle-icon--menu,.tv-nav__toggle[aria-expanded=true] .tv-nav__toggle-label--menu{display:none}
.tv-nav__toggle[aria-expanded=true] .tv-nav__toggle-icon--close,.tv-nav__toggle[aria-expanded=true] .tv-nav__toggle-label--close{display:inline}
.tv-nav__toggle[aria-expanded=true]{background:var(--tv-navy);border-color:var(--tv-navy);color:var(--tv-white)}
@media (hover:hover) and (pointer:fine){.tv-nav__toggle:hover{border-color:var(--tv-text)}}
@media (width>=1000px){.tv-nav__toggle{display:none}}
html:not(.tv-js) .tv-nav__toggle{display:none}

/* ---------- 7. Drawer <dialog> (below 1000 px) ---------- */
/* Absolute below the bar (like the mega panels): backdrop-filter on .tv-nav makes the header the containing block for
   fixed descendants, so a fixed inset would collapse to 0. The bar is sticky at the top while the drawer is open. */
.tv-nav__drawer{position:absolute;inset-block-start:100%;inset-inline:0;z-index:55;display:none;inline-size:100%;max-inline-size:none;block-size:calc(100dvh - var(--tv-header-h));max-block-size:none;margin:0;padding:0;border:0;border-radius:0;background:var(--tv-bg);color:var(--tv-text-2);box-shadow:none;overflow:auto;overscroll-behavior:contain;
  --tv-heading:var(--tv-navy);--tv-text:var(--tv-navy);--tv-text-2:var(--tv-slate);--tv-text-3:var(--tv-muted);--tv-link:var(--tv-navy);--tv-link-hover:var(--tv-burnt);--tv-accent-text:var(--tv-burnt);--tv-bg-3:var(--tv-navy-050);--tv-surface:var(--tv-white);--tv-border:var(--tv-line);--tv-border-strong:var(--tv-navy-100);--tv-btn-bg:var(--tv-navy);--tv-btn-text:var(--tv-white);--tv-btn-bg-hover:var(--tv-navy-700);--tv-focus:var(--tv-navy);--tv-focus-halo:var(--tv-white);--green:var(--tv-navy)}
.tv-nav__drawer[open]{display:block;animation:tv-nav-in var(--tv-dur-2) var(--tv-ease-out) both}
.tv-nav__drawer::backdrop{background:transparent}
html.tv-nav-locked{overflow:hidden;scrollbar-gutter:stable} /* html only: overflow on body would make body the sticky header's scroll container and push the header out of view */
.tv-nav__drawer-inner{display:flex;flex-direction:column;gap:var(--tv-sp-m);inline-size:min(100% - 2*var(--tv-gutter),var(--tv-w-narrow));min-block-size:100%;margin-inline:auto;padding-block:var(--tv-sp-s) var(--tv-sp-xl)}
.tv-nav__drawer-nav{display:block}
.tv-nav__drawer-groups{border-block-start:0}
.tv-nav__drawer-group>.tv-accordion__summary{min-block-size:56px}
.tv-nav__drawer-group>.tv-accordion__summary>span{transform:none} /* legacy site.css rotates details[open] summary span; cached copies may lack the tv exclusion */
.tv-nav__drawer-group>.tv-accordion__body{padding-block-end:var(--tv-sp-s)}
.tv-nav__drawer-link{display:flex;align-items:center;justify-content:space-between;gap:var(--tv-sp-s);min-block-size:56px;padding:var(--tv-sp-xs) 0;border-block-end:1px solid var(--tv-border);font:600 var(--tv-step-0)/1.35 var(--tv-font-ui);color:var(--tv-heading);text-decoration:none}
.tv-nav__drawer-link>.tv-icon{color:var(--tv-text-3)}
.tv-nav__drawer-label{margin:var(--tv-sp-xs) 0 .15rem;padding-inline:.5rem;font:600 var(--tv-step--2)/1.3 var(--tv-font-ui);letter-spacing:var(--tv-track-eyebrow);text-transform:uppercase;color:var(--tv-text-3)}
.tv-nav__drawer-list{list-style:none;margin:0;padding:0;display:grid;gap:.05rem}
.tv-nav__drawer-list a{display:flex;align-items:center;gap:.75rem;min-block-size:44px;padding:.4rem .5rem;border-radius:var(--tv-r-s);color:var(--tv-text);font-weight:500;text-decoration:none;transition:background var(--tv-dur-1),color var(--tv-dur-1)}
.tv-nav__drawer-list a>.tv-icon{color:var(--tv-text-3)}
.tv-nav__drawer-list a>span{min-inline-size:0}
.tv-nav__drawer-list .tv-badge{margin-inline-start:auto}
.tv-nav__drawer-mark{flex:none;inline-size:24px;block-size:24px;border-radius:6px}
@media (hover:hover) and (pointer:fine){.tv-nav__drawer-list a:hover{background:var(--tv-bg-3);color:var(--tv-heading)}}
.tv-nav__drawer-foot{display:grid;gap:var(--tv-sp-s);margin-block-start:auto;padding-block-start:var(--tv-sp-m);border-block-start:1px solid var(--tv-border)}
.tv-nav__drawer-langs{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:0;padding:0}
.tv-nav__drawer-langs a{display:inline-flex;align-items:center;min-block-size:44px;padding:0 1rem;border:1px solid var(--tv-border-strong);border-radius:var(--tv-r-pill);color:var(--tv-text);font-weight:600;text-decoration:none;transition:background var(--tv-dur-1),color var(--tv-dur-1),border-color var(--tv-dur-1)}
.tv-nav__drawer-langs a[aria-current]{background:var(--tv-navy);border-color:var(--tv-navy);color:var(--tv-white)}
.tv-nav__drawer-actions{display:grid;grid-template-columns:1fr;gap:var(--tv-sp-xs)}
.tv-nav__drawer-actions .tv-btn{inline-size:100%}
@media (width>=600px){.tv-nav__drawer-actions{grid-template-columns:1fr 1fr}}
@media (width>=1000px){.tv-nav__drawer,.tv-nav__drawer[open]{display:none}}
/* No JS: the drawer content renders inline under the bar so nothing is unreachable. */
@media (width<1000px){
  html:not(.tv-js) .tv-nav{position:relative;block-size:auto}
  html:not(.tv-js) .tv-nav__bar{block-size:var(--tv-header-h)}
  html:not(.tv-js) .tv-nav__drawer{display:block;position:static;inset:auto;block-size:auto;border-block-start:1px solid var(--tv-border)}
}

/* ---------- 8. Transparent header over a dark hero (first section of main.tv-page) ---------- */
:is(body.tv-hero-dark-first,body:has(main.tv-page>.tv-hero--dark:first-child)) .tv-nav:not(.is-scrolled):not(.is-open){background:transparent;border-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;
  --tv-nav-fg:var(--tv-ivory);--tv-nav-fg-3:color-mix(in oklab,var(--tv-ivory) 70%,var(--tv-navy));--tv-nav-hover:color-mix(in oklab,var(--tv-ivory) 12%,transparent);--tv-nav-toggle-bg:transparent;
  --tv-text:var(--tv-ivory);--tv-heading:var(--tv-ivory);--tv-text-2:color-mix(in oklab,var(--tv-ivory) 78%,var(--tv-navy));--tv-text-3:color-mix(in oklab,var(--tv-ivory) 70%,var(--tv-navy));--tv-link:var(--tv-ivory);--tv-link-hover:var(--tv-apricot);--tv-accent-text:var(--tv-apricot);--tv-border-strong:color-mix(in oklab,var(--tv-ivory) 34%,var(--tv-navy));--tv-btn-bg:var(--tv-apricot);--tv-btn-text:var(--tv-navy);--tv-btn-bg-hover:color-mix(in oklab,var(--tv-apricot) 88%,white);--tv-focus:var(--tv-apricot);--tv-focus-halo:var(--tv-navy);--green:var(--tv-apricot)}
:is(body.tv-hero-dark-first,body:has(main.tv-page>.tv-hero--dark:first-child)) .tv-nav:not(.is-scrolled):not(.is-open) .tv-nav__wordmark--dark{display:none}
:is(body.tv-hero-dark-first,body:has(main.tv-page>.tv-hero--dark:first-child)) .tv-nav:not(.is-scrolled):not(.is-open) .tv-nav__wordmark--light{display:block}
:is(body.tv-hero-dark-first,body:has(main.tv-page>.tv-hero--dark:first-child)) .tv-nav:not(.is-scrolled):not(.is-open) .tv-nav__toggle{color:var(--tv-ivory)}

/* ---------- 9. Preview notice below the header (staff only) ---------- */
.tv-nav__notice{margin-block:var(--tv-sp-s)}
.tv-nav__notice a{color:var(--tv-link);text-decoration:underline;text-underline-offset:.15em}

/* ---------- 10. Footer ---------- */
.tv-footer{position:relative;margin:0;padding-block:var(--tv-sp-2xl) var(--tv-sp-l);border-block-start:1px solid var(--tv-border);background:var(--tv-bg);color:var(--tv-text-2);font-size:var(--tv-step--1);line-height:1.5;--green:var(--tv-apricot)}
:where(.tv-footer) a{color:inherit;text-decoration:none}
.tv-footer__nav{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--tv-sp-l) var(--tv-gap)}
.tv-footer__brand{display:grid;gap:var(--tv-sp-s);align-content:start;max-inline-size:24rem}
.tv-footer__logo{display:inline-flex;align-items:center;inline-size:fit-content;min-block-size:44px;border-radius:var(--tv-r-xs)}
.tv-footer__logo img{display:block;inline-size:auto;block-size:30px}
[dir=rtl] .tv-footer__logo{direction:ltr}
.tv-footer__tagline{margin:0;font:500 var(--tv-step-0)/1.4 var(--tv-font-ui);color:var(--tv-heading);text-wrap:pretty}
.tv-footer__facts{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin:0;color:var(--tv-text-2)}
.tv-footer__facts>.tv-icon{color:var(--tv-accent)}
.tv-footer__dot{color:var(--tv-text-3)}
.tv-footer__langs{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:0;padding:0}
.tv-footer__langs a{display:inline-flex;align-items:center;min-block-size:44px;padding:0 .9rem;border:1px solid var(--tv-border-strong);border-radius:var(--tv-r-pill);color:var(--tv-text);font-weight:600;font-size:var(--tv-step--1);transition:background var(--tv-dur-1),color var(--tv-dur-1),border-color var(--tv-dur-1)}
.tv-footer__langs a[aria-current]{background:var(--tv-ivory);border-color:var(--tv-ivory);color:var(--tv-navy)}
.tv-footer__col{min-inline-size:0}
.tv-footer__title{margin:0 0 var(--tv-sp-xs);max-inline-size:none;font:600 var(--tv-step--1)/1.3 var(--tv-font-ui);letter-spacing:.08em;text-transform:uppercase;text-wrap:auto;color:var(--tv-heading)}
.tv-footer__list{list-style:none;margin:0;padding:0;display:grid;gap:0}
.tv-footer__list li{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}
.tv-footer__list a{display:inline-flex;align-items:center;gap:.5rem;min-block-size:44px;padding:.25rem 0;color:var(--tv-text-2);border-radius:var(--tv-r-xs);transition:color var(--tv-dur-1)}
.tv-footer__list a>span{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em;transition:text-decoration-color var(--tv-dur-1)}
.tv-footer__list a>.tv-icon--arrow{color:var(--tv-accent)}
.tv-footer__mark{flex:none;inline-size:20px;block-size:20px;border-radius:5px}
.tv-footer__status{display:inline-flex;align-items:center;min-block-size:20px;padding:0 .45rem;border:1px solid var(--tv-border);border-radius:var(--tv-r-pill);font:600 var(--tv-step--2)/1 var(--tv-font-ui);color:var(--tv-text-3);white-space:nowrap}
.tv-footer__bottom{display:flex;flex-wrap:wrap;align-items:center;gap:var(--tv-sp-xs) var(--tv-sp-m);margin-block-start:var(--tv-sp-xl);padding-block-start:var(--tv-sp-m);border-block-start:1px solid var(--tv-border);font-size:var(--tv-step--2);color:var(--tv-text-3)}
.tv-footer__copy,.tv-footer__note{margin:0}
.tv-footer__legal{display:flex;flex-wrap:wrap;gap:0 var(--tv-sp-s);list-style:none;margin:0;margin-inline-start:auto;padding:0}
.tv-footer__legal a{display:inline-flex;align-items:center;justify-content:center;min-block-size:44px;min-inline-size:44px;color:var(--tv-text-2);border-radius:var(--tv-r-xs)}
@media (hover:hover) and (pointer:fine){
  .tv-footer__list a:hover,.tv-footer__legal a:hover{color:var(--tv-heading)}
  .tv-footer__list a:hover>span{text-decoration-color:var(--tv-accent)}
  .tv-footer__langs a:hover:not([aria-current]){border-color:var(--tv-ivory);color:var(--tv-heading)}
}
@media (width>=600px){
  .tv-footer__nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tv-footer__brand{grid-column:1/-1;max-inline-size:none}
}
@media (width>=900px){
  .tv-footer__nav{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (width>=1200px){
  .tv-footer__nav{grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:var(--tv-sp-l) var(--tv-sp-xl)}
  .tv-footer__brand{grid-column:auto;max-inline-size:22rem}
}

/* ---------- 11. Print ---------- */
@media print{.tv-nav__panel,.tv-nav__drawer,.tv-nav__toggle,.tv-nav__utility,.tv-footer__langs{display:none}.tv-nav{position:static;background:none}}
