/* Header from Figma 5xsp3XLmneoJcyKIpLWPVU, 3:19 / 20:21. */
.structure-preview .site-header.is-solid { background: #fff !important; color: #111718; }
.structure-preview .site-header.is-solid :is(.wordmark,.desktop-nav a,.header-phone) { color: #111718; }
.structure-preview:has(.site-header) { --header-h: 88px; }
.structure-preview .site-header .masthead { display: flex; width: min(1120px,calc(100% - 80px)); max-width: 1120px; height: var(--header-h); margin-inline: auto; padding: 14px 0 13px; gap: 18px; justify-content: space-between; align-items: center; border-bottom: 1px solid currentColor; }
.structure-preview .site-header .header-brand { display: flex; gap: 18px; align-items: center; flex-shrink: 0; }
.structure-preview .site-header .wordmark { font: 300 32px/1.23 var(--sans); letter-spacing: -2px; }
.structure-preview .site-header .header-tagline { padding-left: 18px; border-left: 1px solid currentColor; font: 400 10px/14px var(--sans); opacity: .8; }
.structure-preview .site-header .desktop-nav { display: flex; gap: clamp(20px,1.667vw,32px); align-items: center; white-space: nowrap; }
.structure-preview .site-header .desktop-nav a { font: 400 12px/18px var(--sans); }
.structure-preview .site-header .header-contact { display: flex; flex-direction: column; gap: 2px; align-items: flex-end; flex-shrink: 0; }
.header-availability { display: flex; align-items: center; gap: 8px; }
.structure-preview .site-header .header-address { font: 400 10px/14px var(--sans); color: inherit; white-space: nowrap; text-underline-offset: 3px; }
.structure-preview .site-header .header-address:hover { text-decoration: underline; }
.structure-preview .site-header .header-phone { font: 500 16px/22px var(--sans); white-space: nowrap; }
.structure-preview .site-header .header-status { display: flex; align-items: center; gap: 8px; font: 400 10px/14px var(--sans); white-space: nowrap; }
.structure-preview .site-header .header-hours { font: 400 10px/14px var(--sans); opacity: .8; }
.structure-preview .site-header :is(.desktop-nav a,.header-tagline,.header-status,.header-hours) { font-weight: 400 !important; }
.structure-preview .site-header .header-phone { font-weight: 500 !important; }
.status-dot { position: relative; display: block; width: 8px; height: 8px; }
.status-dot img { position: absolute; width: 24px; height: 24px; max-width: none; left: -8px; top: -8px; }
.header-status.is-open .status-dot { animation: studio-status 2s ease-in-out infinite; }
.header-status:not(.is-open) .status-dot { filter: grayscale(1); opacity: .5; }
@keyframes studio-status { 0%,50%,100% { opacity: 1; } 25%,75% { opacity: .25; } }
.structure-preview .site-header .menu-toggle { display: none; }
@media (min-width: 1101px) and (max-width: 1500px) {
  .structure-preview .site-header .header-tagline { display: none; }
}
@media (min-width: 1101px) {
  .structure-preview:has(#home) .site-header .wordmark { font-size: 32px; line-height: 1.23; letter-spacing: -2px; }
}
@media (max-width: 1100px) {
  .structure-preview:has(.site-header) { --header-h: 64px; }
  .structure-preview .site-header .masthead { width: calc(100% - 40px); padding: 10px 0 9px; gap: 12px; }
  .structure-preview .site-header .wordmark { font-size: 26px; line-height: 32px; letter-spacing: -1.7px; }
  .structure-preview .site-header :is(.header-tagline,.desktop-nav,.header-hours) { display: none; }
  .structure-preview .site-header .header-contact { margin-left: auto; gap: 1px; }
  .structure-preview .site-header .header-phone { font-size: 12px; line-height: 18px; }
  .structure-preview .site-header .header-status { gap: 6px; font-size: 10px; line-height: 16px; }
  .structure-preview .site-header .status-dot { transform: scale(.75); }
  .structure-preview .site-header .menu-toggle { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 44px; height: 44px; border: 1px solid #59615e; border-radius: 50%; padding: 0; background: #050c0d; }
  .structure-preview .site-header .menu-toggle img { width: 22px; height: 22px; }
}
@media (max-width: 700px) {
  .structure-preview:has(#home) { --header-h: 64px; }
  .structure-preview:has(#home) .site-header .masthead { width: calc(100% - 40px); padding: 10px 0 9px; }
  .structure-preview:has(#home) .site-header .wordmark { font-size: 26px; line-height: 32px; letter-spacing: -1.7px; }
}
@media (prefers-reduced-motion: reduce) { .header-status.is-open .status-dot { animation: none; } }
@media (max-width: 360px) {
  .structure-preview .site-header .masthead { gap: 8px; }
  .structure-preview:has(#home) .site-header .wordmark, .structure-preview .site-header .wordmark { font-size: 26px; }
}

/* Shared homepage grid: align header, hero and every section. */
@media (max-width: 1100px) {
  .structure-preview:has(.site-header), .structure-preview:has(#home) { --header-h: 84px; }
  .structure-preview .site-header .masthead, .structure-preview:has(#home) .site-header .masthead { position: relative; padding: 10px 0 29px; }
  .structure-preview .site-header .header-address { position: absolute; left: 0; bottom: 6px; }
}
@media (min-width: 701px) {
  .structure-preview:has(#home) main .wrap { width: min(1120px,calc(100% - 80px)); max-width: 1120px; padding-inline: 0; }
  .structure-preview #home .hero-headline { left: 0; }
}

