/* Shared wayfinding for the complete local concept. */
.site-header { grid-template-columns: minmax(210px,1fr) auto auto auto; gap:24px; }
.site-header .menu-toggle:not([hidden]) { display:flex; }
.site-header .desktop-nav { gap:22px; }
.site-header .desktop-nav, .site-header .header-actions, .site-header .menu-toggle { font-size:12px; }
.brand small { font-size:10px; }
.site-header + .mobile-menu { inset:0; padding:132px var(--gutter) 105px; }
.menu-grid { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:9vw; max-width:1400px; margin:auto; }
.menu-primary, .menu-practical { min-width:0; }
.menu-primary a { display:flex; align-items:baseline; gap:20px; min-height:70px; border-bottom:1px solid var(--line); padding:12px 0; font:clamp(36px,4.6vw,70px)/1.04 var(--display); }
.menu-primary a span { flex:none; font:11px var(--body); color:var(--red); }
.menu-practical { padding-top:10px; }
.menu-practical a { display:flex; align-items:center; justify-content:space-between; min-height:52px; border-bottom:1px solid var(--line); font-size:15px; }
.mobile-menu .menu-address { max-width:1400px; margin:35px auto 0; font-size:13px; }
.mobile-menu a[aria-current="page"] { color:var(--red); }
.site-footer.complete-footer { display:block; padding:58px var(--gutter) 28px; }
.footer-top { display:flex; align-items:center; justify-content:space-between; gap:30px; padding-bottom:42px; border-bottom:1px solid var(--line); }
.footer-top > p { font:italic clamp(28px,3vw,46px)/1.1 var(--display); }
.footer-columns { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:6vw; padding-block:36px; }
.footer-columns h2 { font:11px var(--body); letter-spacing:.12em; text-transform:uppercase; color:var(--red); margin:0 0 16px; }
.footer-columns a, .footer-columns p { font-size:13px; line-height:1.7; }
.footer-columns nav a { display:block; width:fit-content; min-height:38px; padding:6px 0; }
.footer-columns address { font-style:normal; font-size:13px; line-height:1.8; }
.footer-columns address > a { display:block; width:fit-content; padding-top:10px; overflow-wrap:anywhere; }
.footer-legal { display:flex; flex-wrap:wrap; gap:8px 24px; border-top:1px solid var(--line); padding-top:19px; }
.footer-legal a { display:inline-flex; align-items:center; min-height:40px; font-size:11px; }
.complete-footer > small { display:flex; justify-content:space-between; gap:20px; margin-top:8px; padding-top:12px; font-size:11px; line-height:1.7; letter-spacing:0; opacity:1; }
.complete-footer .motion-preference { font-size:11px; }
.complete-footer a:hover { text-decoration:underline; text-underline-offset:5px; }
.demo-add-status { padding-top:10px; font-size:12px; line-height:1.7; }
.product-configurator button.product-order-link { width:100%; border:0; text-align:left; cursor:pointer; }
.product-live-link { display:inline-flex; align-items:center; min-height:44px; margin-top:9px; font-size:12px; text-decoration:underline; text-underline-offset:5px; }
@media(max-width:1180px) {
  .site-header { grid-template-columns:minmax(0,1fr) auto auto; gap:20px; }
  .site-header .desktop-nav { display:none; }
}
@media(max-width:760px) {
  .site-header { grid-template-columns:minmax(0,1fr) auto; }
  .site-header .header-actions { display:none; }
  .site-header + .mobile-menu { padding-top:107px; padding-bottom:105px; }
  .menu-grid { grid-template-columns:minmax(0,1fr); gap:30px; }
  .menu-primary a { font-size:clamp(32px,8.8vw,55px); min-height:61px; gap:15px; padding:12px 0; }
  .menu-practical { padding-top:0; }
  .menu-practical a { min-height:48px; font-size:14px; }
  .site-footer.complete-footer { padding-top:38px; padding-bottom:100px; }
  .footer-top { align-items:start; flex-direction:column; gap:26px; padding-bottom:28px; }
  .footer-top > p { font-size:35px; }
  .footer-columns { grid-template-columns:1fr 1fr; gap:30px 24px; padding-block:28px; }
  .footer-columns > div:first-child { grid-column:1/-1; }
  .footer-columns nav a { min-height:44px; padding:8px 0; }
  .footer-legal { gap:0 20px; }
  .complete-footer > small { flex-direction:column; gap:8px; }
}
@media(prefers-reduced-motion:reduce) { .site-header { transition:none; } }
