/* =========================================================================
   BEHA Benelux — main stylesheet.
   Palette: Norse Ember · Font: Roboto · Buttons: Tidii signature
   ========================================================================= */

:root {
  /* Surfaces */
  --beha-bg:           #FFFFFF;
  --beha-bg-soft:      #F7F6F4;
  --beha-bg-warm:      #F2EFE9;
  --beha-surface:      #FFFFFF;
  --beha-surface-2:    #F2F0EC;
  --beha-border:       #E5E2DC;
  --beha-border-soft:  #ECEAE5;
  --beha-ink-dark:     #0B0B0B;
  --beha-ink-dark-2:   #161616;

  /* Ink */
  --beha-ink:          #111111;
  --beha-ink-soft:     #5A5A5A;
  --beha-ink-mute:     #8A8680;

  /* Accents — Norse Ember */
  --beha-accent:       #C2691F;
  --beha-accent-hover: #A85617;
  --beha-accent-glow:  rgba(194,105,31,.55);
  --beha-on-accent:    #FFFFFF;
  --beha-accent-2:     #1F3A4D;  /* Deep Nordic — Professional/info */
  --beha-success:      #2F7D4A;
  --beha-warn:         #B45309;
  --beha-error:        #B91C1C;

  /* Shadows — Tidii pattern: colored shadows that intensify on hover */
  --sh-cta:     0 12px 32px rgba(194,105,31,.30);
  --sh-cta-hov: 0 18px 40px rgba(194,105,31,.45);
  --sh-dark-cta:     0 12px 32px rgba(11,11,11,.30);
  --sh-dark-cta-hov: 0 18px 40px rgba(11,11,11,.50);
  --sh-sm: 0 1px 2px rgba(17,17,17,.05);
  --sh-md: 0 6px 18px rgba(17,17,17,.07);
  --sh-lg: 0 20px 48px rgba(17,17,17,.10);
  --sh-xl: 0 32px 72px rgba(17,17,17,.14);

  /* Type — Roboto, single family */
  --f: 'Roboto', system-ui, -apple-system, Segoe UI, sans-serif;
  --h1: clamp(2.6rem, 1.6rem + 4.5vw, 6rem);
  --h2: clamp(2rem, 1.3rem + 2.6vw, 3.75rem);
  --h3: clamp(1.4rem, 1.1rem + 1.2vw, 2.2rem);
  --h4: clamp(1.1rem, 1rem + .4vw, 1.4rem);
  --lead: clamp(1.05rem, 1rem + .25vw, 1.25rem);

  /* Spacing */
  --sp-1: .25rem; --sp-2: .5rem; --sp-3: .75rem; --sp-4: 1rem;
  --sp-5: 1.25rem; --sp-6: 1.5rem; --sp-7: 1.75rem; --sp-8: 2rem;
  --sp-10: 2.5rem; --sp-12: 3rem; --sp-16: 4rem; --sp-20: 5rem;
  --sp-24: 6rem; --sp-32: 8rem;
  --section-y: clamp(2.5rem, 3.5vw + .5rem, 5rem);
  --container: 1280px;

  /* Radius */
  --r-sm: .375rem; --r-md: .625rem; --r-lg: 1.125rem;
  --r-xl: 1.75rem; --r-pill: 999px;

  /* Motion */
  --ease: cubic-bezier(.2, .7, .2, 1);
  --ease-spring: cubic-bezier(.34, 1.4, .54, 1);
}

/* ─────────────────────────────────────────────────────────────
   Reset & base
   ───────────────────────────────────────────────────────────── */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--f);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--beha-ink);
  background: var(--beha-bg);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }

.container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 var(--sp-6);
}

/* Typography */
h1, h2, h3, h4 {
  font-family: var(--f);
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1.04;
  margin: 0;
  color: var(--beha-ink);
}
h1 { font-size: var(--h1); font-weight: 900; letter-spacing: -.035em; }
h2 { font-size: var(--h2); font-weight: 800; }
h3 { font-size: var(--h3); font-weight: 700; }
h4 { font-size: var(--h4); font-weight: 700; }
p { margin: 0; }

.eyebrow {
  display: inline-flex; align-items: center; gap: var(--sp-2);
  font-size: .72rem; font-weight: 800; letter-spacing: .18em;
  text-transform: uppercase; color: var(--beha-accent);
}
.eyebrow::before {
  content: ''; display: inline-block; width: 28px; height: 2px;
  background: var(--beha-accent);
}
.eyebrow.on-dark { color: #F5BC8A; }
.eyebrow.on-dark::before { background: #F5BC8A; }

/* ─────────────────────────────────────────────────────────────
   Buttons — Tidii signature
   translateY(-2px) lift + colored shadow intensifies 30→45%
   ───────────────────────────────────────────────────────────── */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 10px;
  padding: 16px 28px;
  font-family: var(--f); font-size: 14.5px;
  font-weight: 700;
  letter-spacing: .01em;
  border-radius: var(--r-pill);
  border: 2px solid transparent;
  transition: transform .22s var(--ease), box-shadow .28s var(--ease),
              background .2s ease, color .2s ease, border-color .2s ease;
  cursor: pointer; text-decoration: none; white-space: nowrap; line-height: 1;
}
.btn svg { transition: transform .2s var(--ease); }
.btn:hover svg { transform: translateX(3px); }

.btn-primary {
  background: var(--beha-accent); color: var(--beha-on-accent);
  box-shadow: var(--sh-cta);
}
.btn-primary:hover {
  background: var(--beha-accent-hover);
  transform: translateY(-2px);
  box-shadow: var(--sh-cta-hov);
}
.btn-dark {
  background: var(--beha-ink-dark); color: #fff;
  box-shadow: var(--sh-dark-cta);
}
.btn-dark:hover {
  background: #000;
  transform: translateY(-2px);
  box-shadow: var(--sh-dark-cta-hov);
}
.btn-outline {
  background: transparent; color: var(--beha-ink); border-color: var(--beha-ink);
}
.btn-outline:hover {
  background: var(--beha-ink); color: #fff; transform: translateY(-2px);
}
.btn-on-dark {
  background: transparent; color: #fff; border-color: rgba(255,255,255,.45);
}
.btn-on-dark:hover {
  background: #fff; color: var(--beha-ink); border-color: #fff;
  transform: translateY(-2px);
}
.btn-lg { padding: 19px 34px; font-size: 15.5px; }

/* ─────────────────────────────────────────────────────────────
   Welcoming entrance animations
   IntersectionObserver-driven via assets/js/main.js
   ───────────────────────────────────────────────────────────── */
.fade-up {
  opacity: 0; transform: translateY(28px);
  transition: opacity .9s var(--ease), transform .9s var(--ease);
}
.fade-up.in { opacity: 1; transform: translateY(0); }

.fade-in { opacity: 0; transition: opacity 1.2s var(--ease); }
.fade-in.in { opacity: 1; }

.slide-right {
  opacity: 0; transform: translateX(-40px);
  transition: opacity .9s var(--ease), transform .9s var(--ease);
}
.slide-right.in { opacity: 1; transform: translateX(0); }

.slide-left {
  opacity: 0; transform: translateX(40px);
  transition: opacity .9s var(--ease), transform .9s var(--ease);
}
.slide-left.in { opacity: 1; transform: translateX(0); }

.scale-in {
  opacity: 0; transform: scale(.94);
  transition: opacity .9s var(--ease), transform .9s var(--ease-spring);
}
.scale-in.in { opacity: 1; transform: scale(1); }

[data-stagger="1"] { transition-delay: 80ms; }
[data-stagger="2"] { transition-delay: 180ms; }
[data-stagger="3"] { transition-delay: 280ms; }
[data-stagger="4"] { transition-delay: 380ms; }
[data-stagger="5"] { transition-delay: 480ms; }
[data-stagger="6"] { transition-delay: 580ms; }

/* ─────────────────────────────────────────────────────────────
   Reduced motion — respect user preference
   ───────────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .fade-up, .fade-in, .slide-right, .slide-left, .scale-in {
    opacity: 1; transform: none; transition: none;
  }
}

/* ─────────────────────────────────────────────────────────────
   USP top bar
   ───────────────────────────────────────────────────────────── */
.usp-bar {
  background: var(--beha-ink-dark); color: #D8D5CF;
  font-size: .78rem; letter-spacing: .02em; font-weight: 500;
}
.usp-bar .container {
  display: flex; align-items: center; justify-content: space-between;
  padding-top: .6rem; padding-bottom: .6rem; gap: var(--sp-6);
}
.usp-list { display: flex; gap: var(--sp-8); flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.usp-list li { display: inline-flex; align-items: center; gap: .5rem; }
.usp-list svg { color: var(--beha-accent); flex-shrink: 0; }
.usp-bar a { opacity: .82; }
.usp-bar a:hover { opacity: 1; color: #fff; }
@media (max-width: 880px) { .usp-list { gap: var(--sp-5); font-size: .72rem; } .usp-list li:nth-child(3) { display: none; } }

/* ─────────────────────────────────────────────────────────────
   Site header
   ───────────────────────────────────────────────────────────── */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(16px) saturate(1.4);
  -webkit-backdrop-filter: blur(16px) saturate(1.4);
  border-bottom: 1px solid var(--beha-border-soft);
  transition: padding .25s var(--ease), box-shadow .25s var(--ease);
}
.site-header.is-scrolled { box-shadow: var(--sh-md); border-bottom-color: transparent; }
.site-header .container {
  display: flex; align-items: center; justify-content: space-between;
  height: 80px; gap: var(--sp-6);
}
.brand-link { display: block; }
.brand { font-weight: 900; letter-spacing: .04em; font-size: 1.8rem; color: var(--beha-ink); line-height: 1; }
.brand-logo { height: 30px; width: auto; display: block; }
.brand-sub { font-size: .55rem; letter-spacing: .3em; color: var(--beha-ink-mute); text-transform: uppercase; margin-top: 4px; font-weight: 700; }
.nav { display: flex; align-items: center; gap: var(--sp-6); font-weight: 500; font-size: .92rem; }
.nav a { padding: .5rem .25rem; position: relative; color: var(--beha-ink); }
.nav a::after {
  content: ''; position: absolute; left: .25rem; right: .25rem; bottom: .25rem;
  height: 2px; background: var(--beha-accent); transform: scaleX(0);
  transform-origin: left; transition: transform .3s var(--ease);
}
.nav a:hover::after { transform: scaleX(1); }
/* Active page — Ember color + persistent underline (fallback nav + WP menus) */
.nav a.is-active,
.nav .current-menu-item > a,
.nav .current-menu-parent > a,
.nav .current-menu-ancestor > a { color: var(--beha-accent); }
.nav a.is-active::after,
.nav .current-menu-item > a::after,
.nav .current-menu-parent > a::after,
.nav .current-menu-ancestor > a::after { transform: scaleX(1); }

/* ─── Desktop nav dropdown (Producten → product lines) ──────────────── */
.nav-item { position: relative; display: inline-flex; align-items: center; }
.nav-item.has-dropdown > .nav-parent { display: inline-flex; align-items: center; gap: 4px; }
.nav-chevron { transition: transform .25s var(--ease); }
.nav-item.has-dropdown:hover .nav-chevron,
.nav-item.has-dropdown:focus-within .nav-chevron { transform: rotate(180deg); }
/* WP-menu path: a parent <li> with a sub-menu behaves the same */
.nav > .menu-item-has-children { position: relative; list-style: none; display: inline-flex; align-items: center; }

.nav-dropdown,
.nav > .menu-item-has-children > .sub-menu {
  position: absolute; top: 100%; left: 50%;
  transform: translateX(-50%) translateY(8px);
  min-width: 320px; margin: 0; padding: var(--sp-2); list-style: none;
  background: #fff;
  border: 1px solid var(--beha-border-soft);
  border-radius: var(--r-lg);
  box-shadow: var(--sh-lg);
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .22s var(--ease), transform .22s var(--ease), visibility .22s;
  z-index: 60;
}
/* Hover bridge so the cursor can cross the gap without closing */
.nav-dropdown::before,
.nav > .menu-item-has-children > .sub-menu::before {
  content: ''; position: absolute; left: 0; right: 0; top: -12px; height: 12px;
}
.nav-item.has-dropdown:hover .nav-dropdown,
.nav-item.has-dropdown:focus-within .nav-dropdown,
.nav > .menu-item-has-children:hover > .sub-menu,
.nav > .menu-item-has-children:focus-within > .sub-menu {
  opacity: 1; visibility: visible; pointer-events: auto;
  transform: translateX(-50%) translateY(4px);
}
.nav-dropdown a,
.nav > .menu-item-has-children > .sub-menu a {
  display: flex; flex-direction: column; gap: 2px;
  padding: 10px 14px; border-radius: var(--r-md);
  color: var(--beha-ink); font-size: .9rem; font-weight: 600;
}
.nav-dropdown a::after,
.nav > .menu-item-has-children > .sub-menu a::after { display: none; }
.nav-dropdown a:hover,
.nav > .menu-item-has-children > .sub-menu a:hover { background: var(--beha-bg-soft); color: var(--beha-accent); }
.nav-dropdown a.is-active,
.nav > .menu-item-has-children > .sub-menu .current-menu-item > a { background: rgba(194,105,31,.08); color: var(--beha-accent); }
.nav-dropdown a.is-active .nav-dropdown__series { color: var(--beha-accent); }
.nav-dropdown__series {
  font-size: .68rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: var(--beha-ink-mute);
}
.nav-dropdown a:hover .nav-dropdown__series { color: var(--beha-accent); }
.nav-dropdown__all {
  margin-top: 4px; padding-top: 12px;
  border-top: 1px solid var(--beha-border-soft);
  color: var(--beha-accent) !important; font-weight: 700 !important;
}

.nav-tools { display: flex; align-items: center; gap: var(--sp-3); }
.icon-btn {
  width: 42px; height: 42px; border-radius: var(--r-pill);
  background: transparent; border: 1.5px solid var(--beha-border);
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--beha-ink); transition: all .2s var(--ease);
}
.icon-btn:hover { border-color: var(--beha-ink); background: var(--beha-ink); color: #fff; transform: translateY(-1px); }
.lang { font-size: .8rem; font-weight: 700; letter-spacing: .04em; }

/* ─── Language switcher (Linguise-ready) ────────────────────────────── */
/* Flag chip — rounded, hairline border so white flags read on any bg */
.beha-flag { display: inline-block; width: 20px; height: 14px; border-radius: 3px; overflow: hidden; line-height: 0; flex-shrink: 0; box-shadow: 0 0 0 1px rgba(0,0,0,.09), 0 1px 2px rgba(0,0,0,.12); }
.beha-flag svg { display: block; width: 100%; height: 100%; }

/* Header switcher — flag + code dropdown */
.beha-langs { position: relative; display: inline-flex; }
.beha-langs__toggle { display: inline-flex; align-items: center; gap: 7px; height: 42px; padding: 0 12px; border: 1.5px solid var(--beha-border); border-radius: var(--r-pill); background: #fff; color: var(--beha-ink); font-family: inherit; font-weight: 800; font-size: .78rem; letter-spacing: .04em; cursor: pointer; transition: border-color .2s var(--ease), background .2s var(--ease); }
.beha-langs__toggle:hover, .beha-langs:focus-within .beha-langs__toggle { border-color: var(--beha-ink); }
.beha-langs__toggle .caret, .beha-langs__toggle .nav-chevron { color: var(--beha-ink-mute); transition: transform .25s var(--ease); }
.beha-langs:hover .nav-chevron, .beha-langs:focus-within .nav-chevron { transform: rotate(180deg); }
.beha-langs__menu {
  position: absolute; top: 100%; right: 0;
  transform: translateY(8px);
  min-width: 132px; padding: var(--sp-2);
  background: #fff; border: 1px solid var(--beha-border-soft);
  border-radius: var(--r-lg); box-shadow: var(--sh-lg);
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .2s var(--ease), transform .2s var(--ease), visibility .2s;
  z-index: 60;
}
.beha-langs__menu::before { content: ''; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.beha-langs:hover .beha-langs__menu, .beha-langs:focus-within .beha-langs__menu {
  opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(4px);
}
.beha-langs__item { display: flex; align-items: center; gap: 10px; padding: 9px 11px; border-radius: var(--r-md); color: var(--beha-ink); text-decoration: none; }
.beha-langs__item:hover { background: var(--beha-bg-soft); }
.beha-langs__item.is-current { background: rgba(194,105,31,.1); }
.beha-langs__code { font-weight: 800; font-size: .78rem; letter-spacing: .06em; }
.beha-langs__item.is-current .beha-langs__code { color: var(--beha-accent); }

/* Inline variant — footer + mobile drawer */
.beha-langs-footer { display: inline-flex; gap: var(--sp-2); flex-wrap: wrap; }
.beha-langs-footer .beha-lang { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: var(--r-pill); border: 1px solid var(--beha-border-soft); color: inherit; opacity: .8; text-decoration: none; font-size: .74rem; font-weight: 800; letter-spacing: .04em; transition: opacity .2s, border-color .2s, background .2s; }
.beha-langs-footer .beha-lang:hover { opacity: 1; border-color: var(--beha-ink); }
.beha-langs-footer .beha-lang.is-current { opacity: 1; color: var(--beha-accent); border-color: var(--beha-accent); background: rgba(194,105,31,.08); }
.beha-mobile__langs { margin-top: var(--sp-3); display: flex; justify-content: center; }

/* Sticky bottom-left switcher — expandable flag + code cluster */
.beha-langs-sticky { position: fixed; left: var(--sp-5); bottom: var(--sp-5); z-index: 95; }
@media (max-width: 640px) { .beha-langs-sticky { left: var(--sp-4); bottom: var(--sp-4); } }
.beha-langs-sticky__toggle { display: inline-flex; align-items: center; gap: 8px; padding: 9px 13px; border: 0; border-radius: var(--r-pill); background: #fff; color: var(--beha-ink); font-family: inherit; font-weight: 800; font-size: .8rem; letter-spacing: .04em; cursor: pointer; box-shadow: 0 6px 20px rgba(17,17,17,.14), 0 0 0 1px var(--beha-border-soft); transition: transform .2s var(--ease), box-shadow .25s var(--ease); }
.beha-langs-sticky__toggle:hover { transform: translateY(-1px); box-shadow: 0 10px 26px rgba(17,17,17,.18), 0 0 0 1px var(--beha-border); }
.beha-langs-sticky__toggle .caret { color: var(--beha-ink-mute); transition: transform .25s var(--ease); }
.beha-langs-sticky:hover .caret, .beha-langs-sticky.is-open .caret { transform: rotate(180deg); }
.beha-langs-sticky__menu {
  position: absolute; left: 0; bottom: calc(100% + 8px);
  min-width: 118px; padding: var(--sp-2);
  background: #fff; border: 1px solid var(--beha-border-soft);
  border-radius: var(--r-lg); box-shadow: var(--sh-lg);
  display: flex; flex-direction: column; gap: 2px;
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translateY(8px);
  transition: opacity .2s var(--ease), transform .2s var(--ease), visibility .2s;
}
.beha-langs-sticky__menu::after { content: ''; position: absolute; left: 0; right: 0; bottom: -10px; height: 10px; }
.beha-langs-sticky:hover .beha-langs-sticky__menu, .beha-langs-sticky:focus-within .beha-langs-sticky__menu, .beha-langs-sticky.is-open .beha-langs-sticky__menu {
  opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0);
}
.beha-langs-sticky__item { display: flex; align-items: center; gap: 10px; padding: 9px 11px; border-radius: var(--r-md); color: var(--beha-ink); text-decoration: none; font-weight: 800; font-size: .78rem; letter-spacing: .05em; transition: background .15s var(--ease); }
.beha-langs-sticky__item:hover { background: var(--beha-bg-soft); }
.beha-langs-sticky__item.is-current { background: rgba(194,105,31,.1); color: var(--beha-accent); }
.hamburger { display: none; }
@media (max-width: 1080px) { .nav { display: none; } .hamburger { display: inline-flex; } }

/* ─── Mobile drawer (Tidii pattern) ─────────────────────────────────── */
.beha-mobile {
  position: fixed; inset: 0; z-index: 110;
  background: #fff; color: var(--beha-ink);
  display: flex; flex-direction: column;
  transform: translateX(100%);
  transition: transform .35s var(--ease);
  overflow-y: auto;
}
.beha-mobile.is-open { transform: translateX(0); }
.beha-mobile__backdrop {
  position: fixed; inset: 0; z-index: 105;
  background: rgba(17, 17, 17, .55);
  opacity: 0; visibility: hidden;
  transition: opacity .25s, visibility .25s;
}
.beha-mobile__backdrop.is-visible { opacity: 1; visibility: visible; }
.beha-mobile__top {
  display: flex; align-items: center; justify-content: space-between;
  padding: var(--sp-4) var(--sp-5);
  border-bottom: 1px solid var(--beha-border);
}
.beha-mobile__logo img { height: 38px; width: auto; display: block; }
.beha-mobile__close {
  width: 44px; height: 44px;
  border-radius: var(--r-md);
  border: 1px solid var(--beha-border);
  background: #fff; color: var(--beha-ink);
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer; transition: background .2s var(--ease), border-color .2s var(--ease);
}
.beha-mobile__close:hover { background: var(--beha-bg-soft); border-color: var(--beha-ink); }
.beha-mobile__nav { padding: var(--sp-5); flex: 1 1 auto; }
.beha-mobile__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.beha-mobile__list li { position: relative; }
.beha-mobile__list a {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 16px;
  font-size: 1.05rem; font-weight: 700;
  color: var(--beha-ink);
  text-decoration: none;
  border-radius: var(--r-md);
  transition: background .2s var(--ease), color .2s var(--ease);
}
.beha-mobile__list a:hover { background: var(--beha-bg-soft); }
.beha-mobile__list li.current-menu-item > a,
.beha-mobile__list li.current_page_item > a,
.beha-mobile__list li.current-menu-parent > a,
.beha-mobile__list li.current-menu-ancestor > a {
  color: var(--beha-accent);
  background: rgba(194, 105, 31, .08);
}
.beha-mobile__list li.current-menu-item > a::before,
.beha-mobile__list li.current_page_item > a::before {
  content: ''; position: absolute; left: 4px; top: 14px; bottom: 14px;
  width: 3px; background: var(--beha-accent); border-radius: 2px;
}
.beha-mobile__expand {
  position: absolute; right: 8px; top: 6px;
  width: 40px; height: 40px;
  background: transparent; border: 0; cursor: pointer;
  color: var(--beha-ink-soft);
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: var(--r-md);
  transition: transform .25s var(--ease), background .2s var(--ease), color .2s var(--ease);
}
.beha-mobile__expand:hover { background: var(--beha-bg-soft); color: var(--beha-ink); }
.beha-mobile__list li.is-expanded > .beha-mobile__expand { transform: rotate(180deg); color: var(--beha-accent); }
.beha-mobile__list .sub-menu {
  list-style: none; margin: 4px 8px 8px; padding: 0;
  background: var(--beha-bg-soft); border-radius: var(--r-md);
  max-height: 0; overflow: hidden;
  transition: max-height .35s var(--ease);
}
.beha-mobile__list li.is-expanded > .sub-menu { max-height: 1200px; }
.beha-mobile__list .sub-menu a { font-size: .95rem; font-weight: 500; padding: 10px 14px; }
.beha-mobile__foot {
  padding: var(--sp-5);
  border-top: 1px solid var(--beha-border);
  display: flex; flex-direction: column; gap: var(--sp-3);
}
.beha-mobile__cta { width: 100%; justify-content: center; }
.beha-mobile__phone {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px 16px;
  border: 1px solid var(--beha-border); border-radius: var(--r-pill);
  font-weight: 700; color: var(--beha-ink); text-decoration: none;
  transition: background .2s var(--ease), border-color .2s var(--ease);
}
.beha-mobile__phone:hover { background: var(--beha-bg-soft); border-color: var(--beha-ink); }
body.beha-no-scroll { overflow: hidden; touch-action: none; }
/* Above the mobile breakpoint the drawer is irrelevant */
@media (min-width: 1081px) {
  .beha-mobile, .beha-mobile__backdrop { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .beha-mobile, .beha-mobile__backdrop, .beha-mobile__expand, .beha-mobile__list .sub-menu { transition: none; }
}

/* ─────────────────────────────────────────────────────────────
   Site footer
   ───────────────────────────────────────────────────────────── */
.site-footer {
  background: var(--beha-ink-dark); color: #B7B4AE;
  padding: var(--sp-20) 0 var(--sp-6);
  border-top: 1px solid rgba(255,255,255,.05);
}
.site-footer .brand-logo { filter: invert(1) brightness(1.1); height: 28px; }
.site-footer .brand-sub { color: #6C685F; }
.footer-grid {
  display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
  gap: var(--sp-10);
  padding-bottom: var(--sp-12);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
@media (max-width: 880px) { .footer-grid { grid-template-columns: 1fr 1fr; gap: var(--sp-8); } }
@media (max-width: 520px) { .footer-grid { grid-template-columns: 1fr; } }
.footer-grid h4 { color: #fff; font-size: .78rem; letter-spacing: .18em; text-transform: uppercase; margin-bottom: var(--sp-5); font-weight: 800; }
.footer-grid ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--sp-3); }
.footer-grid li a { color: #B7B4AE; font-size: .92rem; transition: color .15s var(--ease); }
.footer-grid li a:hover { color: #fff; }
.brand-col p { font-size: .92rem; line-height: 1.7; margin-top: var(--sp-4); max-width: 38ch; }
.footer-newsletter-blurb { font-size: .9rem; line-height: 1.6; color: #B7B4AE; margin-bottom: var(--sp-4); }
.newsletter { display: flex; gap: var(--sp-2); margin-top: var(--sp-4); }
.newsletter input {
  flex: 1; padding: 12px 16px;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--r-pill); color: #fff; font-family: inherit; font-size: .9rem;
}
.newsletter input::placeholder { color: #6C685F; }
.newsletter button {
  padding: 0 18px; border-radius: var(--r-pill); border: 0;
  background: var(--beha-accent); color: #fff; font-weight: 800;
  transition: all .2s var(--ease);
}
.newsletter button:hover { background: var(--beha-accent-hover); transform: translateY(-1px); }
.footer-bottom {
  padding-top: var(--sp-6);
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--sp-4);
  font-size: .78rem; color: #6C685F;
}
.footer-bottom a { color: #B7B4AE; margin-left: var(--sp-5); transition: color .15s var(--ease); }
.footer-bottom a:hover { color: #fff; }
.footer-bottom a:first-child { margin-left: 0; }

/* Section files (inc/sections/*.php) add their styles via
   wp_add_inline_style() so they ship in the same cached file. */
