/* Public shell (brand-restore spec section 4). Tokens only; breakpoints 1440/1280/1024/768. */
.site-header, .site-footer, .sticky-bar { --_hair: var(--stz-border-width-hairline) solid var(--stz-border-hairline); --_w: min(100% - 2 * var(--stz-space-8), var(--stz-container-max)); }
.shell-icon { display: block; flex: 0 0 auto; }
.site-header { position: sticky; top: 0; z-index: var(--stz-z-header); border-bottom: var(--_hair); }
.site-header__inner { display: flex; align-items: center; gap: var(--stz-space-5); width: var(--_w); min-height: calc(var(--stz-header-h) - var(--stz-border-width-hairline)); margin-inline: auto; }
.site-header a { color: var(--stz-on-surface-shell); }
.site-header__brand { display: inline-flex; align-items: center; flex: 0 0 auto; min-height: var(--stz-touch-target); }
.site-header__brand .stz-wordmark { width: auto; height: calc(var(--stz-logo-h) * 0.75); }
.site-nav { flex: 1 1 auto; min-width: 0; }
.nav-list, .nav-list > li, .nav-group ul, .site-footer__areas ul { margin: 0; padding: 0; list-style: none; }
.nav-list { display: flex; justify-content: flex-end; align-items: center; }
.nav-trigger { display: inline-flex; align-items: center; gap: var(--stz-space-1); min-height: var(--stz-touch-target); padding: 0 var(--stz-space-3); color: var(--stz-on-surface-shell); font-size: var(--stz-size-body-sm); font-weight: var(--stz-weight-medium); white-space: nowrap; list-style: none; cursor: pointer; }
.nav-trigger::-webkit-details-marker { display: none; }
.nav-chevron { flex: 0 0 auto; }
.nav-menu[open] .nav-chevron { transform: rotate(180deg); }
.nav-panel { position: absolute; top: 100%; inset-inline: 0; padding-block: var(--stz-space-8) var(--stz-space-10); border-block: var(--_hair); background-color: var(--stz-surface-panel); box-shadow: var(--stz-shadow-card); }
.nav-panel__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--stz-space-6) var(--stz-space-8); width: var(--_w); margin-inline: auto; }
.nav-group--wide { grid-column: span 2; }
.nav-group-title { margin: 0 0 var(--stz-space-3); color: var(--stz-text-muted); }
.nav-group--wide ul { columns: 2; column-gap: var(--stz-space-8); }
.nav-group li { break-inside: avoid; }
.nav-group a { display: block; padding-block: var(--stz-space-1); color: var(--stz-text); font-size: var(--stz-size-body-sm); }
.nav-actions { display: none; }
.site-header__actions { display: flex; align-items: center; gap: var(--stz-space-4); flex: 0 0 auto; }
.site-header__phone { display: inline-flex; align-items: center; justify-content: center; gap: var(--stz-space-2); min-width: var(--stz-touch-target); min-height: var(--stz-touch-target); font-weight: var(--stz-weight-medium); white-space: nowrap; }
.site-header__phone .shell-icon, .nav-chevron { color: var(--stz-accent-decor); }
.site-header__phone:hover, .nav-group a:hover, .nav-trigger:hover, .nav-menu[open] > .nav-trigger { color: var(--stz-accent-text); }
.site-header .site-header__apply { --_pad: var(--stz-btn-pad-header); min-height: var(--stz-touch-target); }
.site-header__menu { display: none; }
.site-header__phone-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (min-width: 1024px) and (max-width: 1279.98px) { .site-header__phone-text { position: static; width: auto; height: auto; clip-path: none; } }
/* Below 1280: menu mode (collapsed under html.js only). */
@media (max-width: 1279.98px) {
  html:not(.js) .site-header { position: relative; }
  .site-header__inner { flex-wrap: wrap; column-gap: var(--stz-space-4); }
  .site-header__brand { margin-right: auto; }
  .site-nav { order: 3; flex-basis: 100%; padding-bottom: var(--stz-space-4); }
  .nav-list { flex-direction: column; align-items: stretch; }
  .nav-item { border-top: var(--_hair); }
  .nav-trigger { display: flex; justify-content: space-between; width: 100%; padding: 0; font-size: var(--stz-size-body); }
  .nav-panel { position: static; padding: 0 0 var(--stz-space-5); border: 0; background-color: transparent; box-shadow: none; }
  .nav-panel__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .nav-group a { min-height: var(--stz-touch-target); padding-block: var(--stz-space-3); }
  html.js .site-header__menu { display: inline-flex; }
  html.js .site-header__inner { flex-wrap: nowrap; }
  html.js .site-nav { display: none; position: absolute; top: 100%; inset-inline: 0; height: calc(100dvh - var(--stz-header-h)); padding: var(--stz-space-2) max(var(--stz-space-8), (100% - var(--stz-container-max)) / 2) var(--stz-space-8); overflow-y: auto; overscroll-behavior: contain; border-bottom: var(--_hair); background-color: var(--stz-surface-shell); }
  html.js .site-nav.is-open { display: block; }
}
@media (max-width: 767.98px) {
  .site-header__inner { width: calc(100% - 2 * var(--stz-space-4)); min-height: calc(var(--stz-header-h-mobile) - var(--stz-border-width-hairline)); gap: var(--stz-space-2); }
  .site-header__brand { flex: 0 1 auto; min-width: 0; }
  .site-header__brand .stz-wordmark { height: var(--stz-space-5); max-width: 100%; }
  .site-header__actions { gap: var(--stz-space-2); }
  .site-header__phone { width: var(--stz-control-h-md); height: var(--stz-control-h-md); border: var(--stz-border-width-hairline) solid var(--stz-action-ghost-border); border-radius: var(--stz-radius-control); }
  .site-header .site-header__apply { display: none; }
  .nav-panel__grid { grid-template-columns: minmax(0, 1fr); }
  .nav-group--wide { grid-column: auto; }
  html.js .site-nav { height: calc(100dvh - var(--stz-header-h-mobile)); padding-inline: var(--stz-space-4); }
  .nav-actions { display: grid; gap: var(--stz-space-3); margin: var(--stz-space-4) 0; }
}
.site-footer { padding-block: var(--stz-section-y-md) var(--stz-space-8); color: var(--stz-on-surface-shell-muted); font-size: var(--stz-size-small); }
.site-footer__inner { width: var(--_w); margin-inline: auto; }
.site-footer a { color: var(--stz-on-surface-shell-muted); }
.site-footer a:hover { color: var(--stz-on-surface-shell); }
.site-footer__grid { display: grid; grid-template-columns: minmax(0, 2fr) repeat(5, minmax(0, 1fr)); gap: var(--stz-space-8) var(--stz-space-6); }
.site-footer__descriptor { display: block; margin: var(--stz-space-4) 0 0; color: var(--stz-on-surface-shell); }
.site-footer__line { max-width: 34ch; margin: var(--stz-space-4) 0; }
.site-footer address { margin: 0 0 var(--stz-space-3); color: var(--stz-on-surface-shell); font-style: normal; line-height: var(--stz-lh-label); }
.site-footer__contact { display: grid; justify-items: start; }
.site-footer .site-footer__apply { margin-top: var(--stz-space-2); color: var(--stz-on-surface-shell); font-weight: var(--stz-weight-medium); }
.site-footer__title { display: block; margin: 0 0 var(--stz-space-3); color: var(--stz-on-surface-shell); }
.site-footer__col a, .site-footer__contact a { display: block; padding-block: var(--stz-space-1); line-height: var(--stz-lh-label); }
.site-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--stz-space-2) var(--stz-space-5); margin-top: var(--stz-space-11); padding-top: var(--stz-space-5); border-top: var(--_hair); }
.site-footer__bottom p, .site-footer__contact { margin: 0; }
.site-footer__bottom nav { display: flex; flex-wrap: wrap; gap: 0 var(--stz-space-5); }
.site-footer__bottom nav a { padding-block: var(--stz-space-2); }
.site-footer__legal { margin-top: var(--stz-space-3); font-size: var(--stz-size-caption); }
.site-footer__legal p { max-width: 90ch; margin: 0 0 var(--stz-space-1); }
@media (max-width: 1279.98px) {
  .site-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .site-footer__identity { grid-column: 1 / -1; }
}
@media (max-width: 767.98px) {
  .site-footer { padding-block: var(--stz-section-y-sm) var(--stz-space-6); }
  .site-footer__inner { width: calc(100% - 2 * var(--stz-space-4)); }
  .site-footer__grid { grid-template-columns: minmax(0, 1fr); gap: var(--stz-space-6); }
  .site-footer__col a, .site-footer__contact a { min-height: var(--stz-touch-target); padding-block: var(--stz-space-2); }
  .site-footer__bottom { margin-top: var(--stz-space-8); }
}
.sticky-bar { display: none; }
@media (max-width: 767.98px) {
  body.has-sticky { padding-bottom: var(--_bar-h, 0); }
  .sticky-bar { position: fixed; z-index: var(--stz-z-sticky); inset: auto 0 0; display: flex; align-items: center; gap: var(--stz-space-2); padding: var(--stz-space-2) var(--stz-space-4) calc(var(--stz-space-2) + env(safe-area-inset-bottom, 0px)); transform: translateY(100%); visibility: hidden; }
  .sticky-bar.is-visible { transform: none; visibility: visible; }
  .sticky-bar .sticky-bar__apply { flex: 1 1 auto; min-width: 0; white-space: nowrap; }
}
@media (prefers-reduced-motion: no-preference) {
  .sticky-bar { transition: transform var(--stz-duration-quick) var(--stz-ease-standard), visibility var(--stz-duration-quick); }
  .nav-chevron { transition: transform var(--stz-duration-quick) var(--stz-ease-standard); }
}
