.site-header {
  position: sticky;
  z-index: 100;
  top: 0;
  min-height: var(--header-height);
  background: rgba(251, 250, 246, 0.96);
  border-bottom: 1px solid var(--color-line);
  transition: min-height var(--transition), box-shadow var(--transition);
}
.site-header.is-compact { min-height: 4.75rem; box-shadow: 0 10px 30px rgba(23, 25, 27, 0.06); }
.site-header__inner { min-height: inherit; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: var(--space-5); }
.brand-lockup { display: inline-flex; align-items: center; gap: 0.75rem; min-width: 15rem; }
.brand-lockup__mark { display: grid; width: 4.25rem; height: 3.7rem; place-items: center; overflow: hidden; background: transparent; }
.brand-lockup__mark img { width: 4.1rem; }
.brand-lockup__name { display: flex; align-items: baseline; font-size: 1.35rem; letter-spacing: -0.04em; white-space: nowrap; }
.brand-lockup__name strong { color: var(--color-red); font-size: 1.5rem; }
.brand-lockup__name span { color: var(--color-charcoal); font-weight: 800; }
.site-nav { display: flex; align-items: stretch; justify-content: center; gap: clamp(1rem, 2.1vw, 2.6rem); }
.site-nav__link { position: relative; display: inline-flex; min-height: 2.8rem; align-items: center; font-size: 0.94rem; font-weight: 650; }
.site-nav__link::after { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: var(--color-red); content: ""; transform: scaleX(0); transform-origin: left; transition: transform var(--transition); }
.site-nav__link:hover::after, .site-nav__link[aria-current="page"]::after { transform: scaleX(1); }
.site-nav__link[aria-current="page"] { color: var(--color-red); }
.header-contact { display: grid; line-height: 1.2; text-align: right; }
.header-contact__icon { display: none; }
.header-contact span { color: var(--color-muted); font-size: 0.72rem; letter-spacing: 0.08em; }
.header-contact strong { margin-top: 0.25rem; font-size: 1rem; }
.header-quote { display: inline-flex; min-height: 2.9rem; align-items: center; justify-content: center; padding: .6rem 1rem; background: var(--color-brand-red); color: #fff; font-size: .86rem; font-weight: 800; }
.header-quote:hover { background: var(--color-red-dark); }
body[data-page="home"] .site-header__inner { grid-template-columns: auto 1fr auto auto; gap: clamp(.8rem,1.7vw,2rem); }
.menu-toggle { display: none; border: 1px solid var(--color-line); background: transparent; padding: 0.65rem 0.8rem; color: var(--color-charcoal); font-weight: 700; }

.breadcrumbs { display: flex; gap: 0.6rem; align-items: center; padding-block: 1.1rem; color: var(--color-muted); font-size: var(--step--1); }
.breadcrumbs a:hover { color: var(--color-red); }
.breadcrumbs__separator { color: var(--color-concrete-dark); }

.site-footer { padding: var(--space-7) 0 1.5rem; background: var(--color-charcoal); color: var(--color-white); }
.site-footer__grid { display: grid; grid-template-columns: 1.45fr 0.8fr 1fr; gap: var(--space-6); align-items: start; }
body[data-page="home"] .site-footer { background: #052d54; }
body[data-page="home"] .site-footer__grid { grid-template-columns: 1.25fr .65fr .9fr 1fr; gap: 2rem; }
.footer-brand { display: flex; gap: var(--space-4); align-items: center; }
.footer-brand__mark { display: grid; width: 6rem; height: 5.4rem; place-items: center; background: transparent; }
.footer-brand__mark img { width: 5.6rem; }
.footer-brand strong { font-size: 1.12rem; }
.footer-brand p, .footer-address p { margin: 0.45rem 0 0; color: #b9b9b6; font-size: 0.9rem; }
.footer-contact, .footer-address { display: grid; align-content: start; gap: 0.5rem; }
.footer-contact span, .footer-address span { color: #8e8f8c; font-size: 0.76rem; letter-spacing: 0.12em; }
.footer-contact a:first-of-type { font-size: 1.35rem; font-weight: 750; }
.footer-qrs { display: flex; gap: .8rem; justify-content: flex-end; }
.footer-qrs figure { width: 7.7rem; margin: 0; text-align: center; }
.footer-qrs figure > span { display: grid; width: 7.7rem; aspect-ratio: 1; place-items: center; padding: .45rem; background: #fff; border: 1px solid rgba(255,255,255,.2); }
.footer-qrs img { width: 100%; height: 100%; object-fit: contain; image-rendering: auto; }
.footer-qrs figcaption { margin-top: .45rem; color: #d9e5ef; font-size: .75rem; font-weight: 700; }
.site-footer__legal { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin-top: var(--space-6); padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,0.16); color: #9d9e9b; font-size: 0.78rem; }
.site-footer__legal a:hover { color: white; }

.quote-dialog { width: min(38rem, calc(100% - 2rem)); padding: 0; border: 0; background: var(--color-paper); color: var(--color-charcoal); }
.quote-dialog::backdrop { background: rgba(23, 25, 27, 0.72); }
.quote-dialog__content { position: relative; padding: clamp(2rem, 6vw, 4rem); border-top: 5px solid var(--color-red); }
.quote-dialog__content h2 { max-width: 12em; font-size: var(--step-2); }
.quote-dialog__close { position: absolute; right: 1rem; top: 1rem; border: 0; background: transparent; color: var(--color-muted); }
.quote-dialog__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }
.noscript-contact { margin: 0; padding: 0.75rem 1rem; background: #fff2cf; text-align: center; }
.mobile-actions { display: none; }
