@font-face {
  font-family: 'Sifonn';
  src: url('/assets/fonts/sifonn.woff') format('woff');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
body, body *:not(.material-symbols-outlined) { font-family: 'Sifonn', sans-serif !important; font-synthesis: none; }
.text-secondary, .text-secondary-container { color: #111111; }
h1.text-secondary, h1 .text-secondary, h2.text-secondary, h2 .text-secondary, .bg-primary .text-secondary { color: #ff3131; }
.hover\:text-secondary:hover { color: inherit; text-decoration: underline; }
main h1.text-display, main h1.lg\:text-display { font-size: clamp(2rem, 4.4vw, 4rem); line-height: 1.08; }
main h2.text-headline-lg { font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.12; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height, 112px) + 16px); background: #f9f9f6; }
body > header { position: sticky; top: 0; view-transition-name: site-header; }
body > main { padding-top: 0 !important; }
.brand-link { display: inline-flex; flex-shrink: 0; }
.brand-logo { display: block; width: 180px; height: auto; }
.footer-brand { max-width: 100%; margin-bottom: 16px; padding: 0; }
.footer-brand .brand-logo { width: 220px; max-width: 100%; }
main .grid > * { min-width: 0; }
main h1, main h2, main h3, main h4 { overflow-wrap: break-word; }
main section { isolation: isolate; }
main .relative.overflow-hidden > .absolute.pointer-events-none { z-index: 0; }
main .relative.overflow-hidden > :not(.absolute) { position: relative; z-index: 1; }
main .sticky { top: calc(var(--header-height, 112px) + 24px); }
.hero-emphasis { text-decoration: underline; text-decoration-color: #ff3131; text-decoration-thickness: .06em; text-underline-offset: .12em; }
.site-contact-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 24px; min-height: 34px; padding: 7px 48px; background: #f4f4f1; border-bottom: 1px solid #e2e3e0; font-size: 11px; line-height: 1.4; }
.site-contact-bar a, .contact-tagline { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.site-contact-bar a:hover, footer a:hover, .service-quote-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.contact-tagline { margin-left: auto; }
.contact-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.contact-red { background: #ff3131; }
.contact-green { background: #7ed957; }
.contact-cyan { background: #0cc0df; }
.contact-yellow { background: #ffde59; }
footer a { display: inline-block; padding: 3px 0; overflow-wrap: anywhere; }
footer ul { font-size: 14px; line-height: 1.5; color: #444748; }
.service-quote-link { display: block; }
body[data-page="request-a-quote"] main > div > section:first-child { padding-bottom: 24px; }
body[data-page="request-a-quote"] main > div > section:nth-child(2) { padding-top: 16px; }
#scopingForm > div { padding: 28px; }
#scopingForm > div > .flex.items-center.justify-between { padding-bottom: 0; margin-bottom: 24px; gap: 16px; }
#scopingForm select { padding-right: 40px; text-overflow: ellipsis; }
#scopingForm input:not([type="checkbox"]):not([type="hidden"]), #scopingForm textarea, #scopingForm select { min-height: 48px; }
@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: 180ms; animation-timing-function: ease; }
::view-transition-group(site-header) { animation-duration: 180ms; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid #000000 !important; outline-offset: 4px; box-shadow: 0 0 0 7px #ffde59 !important; }
.skip-link { position: fixed; top: -100px; left: 16px; padding: 12px 20px; background: #000; color: #fff; z-index: 100; }
.skip-link:focus { top: 12px; }
.mobile-menu { display: none; }
.accordion-trigger { width: 100%; text-align: left; }
.material-symbols-outlined { display: inline-flex; align-items: center; justify-content: center; width: 1em; height: 1em; flex-shrink: 0; overflow: hidden; vertical-align: -.125em; font-weight: normal; font-style: normal; line-height: 1; letter-spacing: normal; text-transform: none; white-space: nowrap; word-wrap: normal; direction: ltr; font-feature-settings: 'liga'; -webkit-font-smoothing: antialiased; }
@media (max-width: 1279px) and (min-width: 1024px) {
  header nav { gap: 20px !important; }
  header nav a { font-size: 12px; }
  header > div:last-of-type { padding-left: 24px; padding-right: 24px; }
  header > div:last-of-type > div:last-child > div { display: none; }
  #section-editing .grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
  .site-contact-bar { padding: 7px 20px; gap: 6px 16px; }
  .contact-tagline { display: none; }
  header > div:last-of-type { height: 76px; gap: 12px; }
  header > div:last-of-type > div:last-child { gap: 12px; }
  header > div:last-of-type > div:last-child > div { display: none; }
  .mobile-menu { display: block; position: relative; margin-left: auto; }
  .mobile-menu summary { list-style: none; cursor: pointer; border: 1px solid #000; padding: 9px 11px; font: 700 12px 'Space Grotesk', sans-serif; text-transform: uppercase; }
  .mobile-menu summary::-webkit-details-marker { display: none; }
  .mobile-menu nav { position: absolute; top: calc(100% + 12px); right: 0; display: flex; flex-direction: column; width: min(320px, calc(100vw - 40px)); padding: 12px; background: #fff; border: 1px solid #000; box-shadow: 4px 4px #ff3131; }
  .mobile-menu nav a { padding: 12px; font: 600 14px 'Space Grotesk', sans-serif; text-transform: uppercase; }
  .mobile-menu nav a[aria-current="page"] { background: #eeeeeb; }
  main h1 { font-size: clamp(2rem, 6vw, 3rem) !important; line-height: 1.06 !important; overflow-wrap: break-word; }
  main h2.text-headline-lg, main h2.text-headline-md { font-size: clamp(1.5rem, 4vw, 2.25rem) !important; line-height: 1.12 !important; }
  main .font-mono { overflow-wrap: anywhere; }
  main .overflow-x-auto { max-width: 100%; }
}
@media (max-width: 599px) {
  .site-contact-bar { padding-left: 16px; padding-right: 16px; font-size: 10px; }
  header > div:last-of-type { padding-left: 16px; padding-right: 16px; }
  header > div:last-of-type > div:last-child > a { display: none; }
  main .flex.items-center.justify-between { flex-wrap: wrap; gap: 12px; }
  main .flex.items-center.gap-6 { flex-wrap: wrap; gap: 12px; }
  main h3, main h4 { overflow-wrap: break-word; }
  main h1 .-right-6 { right: 0; }
  #faq-accordion .font-headline-sm { font-size: 18px; line-height: 1.35; }
  #faq-accordion > div { padding: 20px; }
  .accordion-trigger { gap: 12px; }
  .accordion-trigger .material-symbols-outlined { flex-shrink: 0; }
  body[data-page="index"] main > div > section:first-child > .absolute { display: none; }
  #scopingForm > div { padding: 20px; }
  #scopingForm > div > .flex.items-center.justify-between { margin-bottom: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  ::view-transition-old(root), ::view-transition-new(root), ::view-transition-group(site-header) { animation: none !important; }
}
