.site-header { gap: 1rem; }
.brand { flex-shrink: 0; order: 1; }
.main-nav { order: 2; margin-left: auto; }
.language-switch { order: 3; display: flex; flex-shrink: 0; align-items: center; gap: .3rem; }
.language-switch a { width: 38px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; opacity: .58; border-radius: 999px; transition: opacity .2s ease, transform .2s ease, background-color .2s ease; }
.language-switch .language-flag { display: block; font-size: 1.25rem; line-height: 1; }
.language-switch a[aria-current="page"] { opacity: 1; transform: scale(1.08); background: color-mix(in srgb, currentColor 9%, transparent); }
.language-switch a:hover, .language-switch a:focus-visible { opacity: 1; transform: scale(1.08); }
.language-switch a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.menu-toggle { order: 4; flex-shrink: 0; }
@media (min-width: 901px) and (max-width: 1150px) {
  .site-header { gap: .6rem; padding-inline: 1.25rem; }
  .site-header .brand { width: 180px; }
  .site-header .main-nav { font-size: .78rem; gap: .85rem; letter-spacing: .06em; }
  .site-header .nav-cta { padding: .75rem .8rem; }
}
@media (max-width: 900px) {
  .site-header { gap: .35rem; }
  .site-header .brand { width: clamp(130px, 42vw, 180px); margin-right: auto; }
  .main-nav { margin-left: 0; }
  .language-switch { position: relative; z-index: 102; gap: .15rem; }
  .language-switch a { width: 34px; min-height: 42px; }
  .language-switch .language-flag { font-size: 1.15rem; }
}
html[lang="en"] .hero h1 { font-size: clamp(4rem, 7.7vw, 8.5rem); }
@media (max-width: 700px) {
  html[lang="en"] .hero h1 { font-size: clamp(3.25rem, 13.2vw, 5.8rem); }
}
.footer-legal { color: inherit; opacity: .62; font-size: .78rem; font-weight: 700; text-decoration: underline; text-underline-offset: .24em; white-space: nowrap; transition: opacity .2s ease; }
.footer-legal:hover, .footer-legal:focus-visible { opacity: 1; }
.site-footer .footer-legal { display: block; margin-top: .65rem; }
.compact-footer .footer-legal { margin-left: auto; }
.mobile-quote-cta { display: none; }
@media (max-width: 760px) {
  .mobile-quote-cta { position: fixed; z-index: 119; right: max(.95rem, env(safe-area-inset-right)); left: auto; bottom: max(.95rem, env(safe-area-inset-bottom)); width: 54px; height: 54px; padding: 0; display: inline-flex; align-items: center; justify-content: center; color: #21062e; background: #caa8ff; border: 1px solid rgba(255,255,255,.72); border-radius: 50%; box-shadow: 0 12px 28px rgba(35,8,53,.3), 0 0 0 5px rgba(202,168,255,.18); transform: translateY(calc(100% + 2rem)); opacity: 0; pointer-events: none; transition: transform .3s cubic-bezier(.2,.8,.2,1), opacity .25s ease, background .2s ease; }
  .mobile-quote-cta svg { width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .mobile-quote-cta.is-visible { transform: translateY(0); opacity: 1; pointer-events: auto; }
  .mobile-quote-cta:active { background: #fff; }
  body.menu-open .mobile-quote-cta { transform: translateY(calc(100% + 2rem)); opacity: 0; pointer-events: none; }
  .compact-footer .footer-legal { width: 100%; margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) { .mobile-quote-cta { transition: none; } }
