.breadcrumbs { display: flex; gap: 9px; margin: auto; max-width: var(--content); padding: 24px 24px 0; font-size: 14px; color: var(--muted); }
.breadcrumbs a { text-decoration: underline; }
.service-hero { display: grid; grid-template-columns: 1fr 1fr; margin: auto; max-width: 1600px; min-height: 590px; }
.service-hero-copy { align-self: center; background: var(--navy); color: #fff; padding: 76px 60px 66px max(24px, calc((100vw - var(--content)) / 2)); }
.service-hero-copy h1 { color: #fff; font-size: 64px; }
.service-hero-copy > p { color: #d7e2ee; font-size: 18px; }
.service-hero-media { overflow: hidden; }
.service-hero-media img { height: 100%; object-fit: cover; width: 100%; }
.service-proof { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 26px; }
.service-proof span { align-items: center; border-right: 1px solid rgba(255,255,255,.28); display: flex; font-family: "Barlow Condensed", sans-serif; font-weight: 700; gap: 7px; justify-content: center; padding: 10px; text-align: center; text-transform: uppercase; }
.service-proof svg { color: var(--orange); }
.availability { align-items: start; display: flex; font-size: 14px !important; gap: 8px; margin: 18px 0 0; }
.availability svg { color: var(--orange); margin-top: 2px; }
.service-intro { align-items: start; display: grid; gap: 80px; grid-template-columns: .75fr 1.25fr; }
.service-intro > p { color: var(--muted); font-size: 18px; }
.detail-band { background: var(--navy); color: #fff; display: grid; gap: 80px; grid-template-columns: .8fr 1.2fr; padding: 84px max(24px, calc((100vw - var(--content)) / 2)); }
.detail-band h2 { color: #fff; }
.detail-band ul { display: grid; grid-template-columns: 1fr 1fr; list-style: none; margin: 0; padding: 0; }
.detail-band li { border-bottom: 1px solid rgba(255,255,255,.25); padding: 18px 8px; }
.service-steps { display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; margin: 0; padding: 0; }
.service-steps li { background: var(--gray); border-right: 1px solid var(--line); min-height: 180px; padding: 25px; }
.service-steps span { color: var(--orange); font-family: "Barlow Condensed", sans-serif; font-size: 44px; font-weight: 800; }
.service-steps p { color: var(--navy); font-family: "Barlow Condensed", sans-serif; font-size: 20px; font-weight: 700; margin-top: 20px; text-transform: uppercase; }
.related-section { background: var(--gray); padding: 82px max(24px, calc((100vw - var(--content)) / 2)); }
.related-links { display: grid; grid-template-columns: repeat(3, 1fr); }
.related-links a { align-items: center; background: #fff; border: 1px solid var(--line); display: flex; font-weight: 800; justify-content: space-between; padding: 24px; }

.simple-hero { background: var(--navy); color: #fff; padding: 82px max(24px, calc((100vw - var(--content)) / 2)); }
.simple-hero h1 { color: #fff; }
.simple-hero > svg { color: var(--orange); height: 48px; margin-bottom: 20px; width: 48px; }
.simple-hero > p { color: #d7e2ee; font-size: 18px; max-width: 780px; }
.area-lists { display: grid; gap: 70px; }
.region-grid { display: grid; gap: 18px; grid-template-columns: repeat(4, 1fr); }
.region-group { border-top: 4px solid var(--orange); padding: 28px 20px; }
.region-group h2 { font-size: 30px; }
.location-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.location-grid span { border-bottom: 1px solid var(--line); padding: 11px 5px; }
.area-disclaimer { border: 1px solid var(--orange); padding: 18px; }

.contact-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; margin: auto; max-width: var(--content); padding: 80px 24px 105px; }
.contact-copy { padding-right: 55px; }
.contact-copy > p:not(.section-label) { color: var(--muted); font-size: 18px; }
.urgent-note { align-items: start; border: 1px solid var(--orange); display: flex; gap: 14px; margin: 28px 0; padding: 16px; }
.urgent-note svg { color: var(--orange); margin-top: 3px; }
.urgent-note p { font-size: 14px; margin: 0; }
.quote-form { border-top: 3px solid var(--orange); padding-top: 28px; }
.form-section-title { align-items: center; display: flex; gap: 10px; margin: 28px 0 14px; }
.form-section-title:first-of-type { margin-top: 0; }
.form-section-title span, .quote-form legend span { align-items: center; background: var(--orange); color: #fff; display: inline-flex; font-family: "Barlow Condensed", sans-serif; font-size: 20px; font-weight: 800; height: 30px; justify-content: center; width: 30px; }
.form-section-title h2 { font-size: 24px; margin: 0; }
.form-grid { display: grid; gap: 20px; grid-template-columns: 1fr 1fr; }
.form-grid label, .quote-form fieldset > label { color: var(--navy); font-size: 14px; font-weight: 700; }
.form-grid label > span:not(.optional), .consent span span { color: var(--orange-dark); }
.optional { color: var(--muted); font-size: 12px; font-weight: 400; }
.form-grid input, .form-grid select, .form-grid textarea, .check-grid select { background: #fff; border: 1px solid #9ca8b5; border-radius: 3px; color: var(--ink); display: block; margin-top: 7px; min-height: 50px; padding: 10px 12px; transition: border-color var(--motion-press), box-shadow var(--motion-press), background var(--motion-press); width: 100%; }
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus, .check-grid select:focus, .description-label textarea:focus { border-color: var(--navy); box-shadow: 0 0 0 3px rgba(238,91,36,.16); }
.form-grid [aria-invalid="true"], .description-label [aria-invalid="true"] { background: #fffaf7; border-color: #a72c00; }
.form-grid textarea { resize: vertical; }
.form-grid .full { grid-column: 1 / -1; }
.quote-form fieldset { border: 0; border-top: 1px solid var(--line); margin: 28px 0 20px; padding: 22px 0 0; }
.quote-form legend { color: var(--navy); font-family: "Barlow Condensed", sans-serif; font-size: 22px; font-weight: 700; padding-right: 10px; text-transform: uppercase; }
.description-label { color: var(--navy); display: block; font-size: 14px; font-weight: 700; margin-top: 20px; }
.description-label textarea { border: 1px solid #9ca8b5; border-radius: 3px; display: block; margin-top: 7px; min-height: 140px; padding: 12px; resize: vertical; transition: border-color var(--motion-press), box-shadow var(--motion-press), background var(--motion-press); width: 100%; }
.turnstile-field { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 22px; }
.turnstile-label { color: var(--navy); display: block; font-size: 14px; font-weight: 700; margin-bottom: 10px; }
.turnstile-label > span { color: var(--orange-dark); }
.cf-turnstile { max-width: 100%; min-height: 65px; width: 100%; }
.cf-turnstile iframe { max-width: 100%; }
.cf-turnstile:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
.check-grid { align-items: end; display: grid; gap: 18px; grid-template-columns: 1fr 1.2fr 1fr; }
.check-grid label, .consent { align-items: center; display: flex; gap: 9px; }
.check-grid label:has(select) { display: block; }
.check-grid input[type=checkbox], .consent input { accent-color: var(--orange); height: 20px; min-width: 20px; transition: transform var(--motion-press) var(--motion-ease); width: 20px; }
.check-grid input[type=checkbox]:active, .consent input:active { transform: scale(.9); }
.consent { font-size: 14px; }
.submit-button { margin-top: 24px; position: relative; width: 100%; }
.submit-button.is-loading::before { animation: button-spin 700ms linear infinite; border: 2px solid rgba(255,255,255,.45); border-radius: 50%; border-top-color: #fff; content: ""; height: 17px; margin-right: 2px; width: 17px; }
.field-error { color: #a72c00; display: block !important; font-size: 12px; font-weight: 700; margin-top: 4px; }
.form-status { border-left: 3px solid transparent; font-weight: 700; margin-top: 14px; min-height: 24px; padding-left: 10px; }
.form-status.success { border-color: #23814b; color: #176237; }
.form-status.error { border-color: #a72c00; color: #872600; }
.contact-aside { background: var(--navy); color: #fff; min-height: 100%; }
.contact-aside > div { border-bottom: 1px solid rgba(255,255,255,.25); padding: 32px; }
.contact-aside svg { color: var(--orange); height: 30px; width: 30px; }
.contact-aside h2 { color: #fff; font-size: 24px; margin: 12px 0; }
.contact-aside p { color: #d7e2ee; }
.contact-aside p strong, .contact-aside p span { display: block; }
.contact-aside a { color: var(--orange); font-weight: 700; }

.about-hero { display: grid; grid-template-columns: .7fr 1.3fr; min-height: 540px; }
.about-hero-copy { align-self: stretch; background: var(--navy); color: #fff; display: flex; flex-direction: column; justify-content: center; padding: 70px 50px 70px max(24px, calc((100vw - var(--content)) / 2)); }
.about-hero-copy h1 { color: #fff; }
.about-hero-copy p { color: #d7e2ee; font-size: 18px; }
.about-hero picture { overflow: hidden; }
.about-hero img { height: 100%; object-fit: cover; object-position: center; width: 100%; }
.about-capabilities { display: grid; grid-template-columns: repeat(5, 1fr); }
.about-capabilities article { border-right: 1px solid var(--line); padding: 25px; }
.about-capabilities svg { color: var(--navy); height: 40px; width: 40px; }
.about-capabilities p { color: var(--muted); font-size: 14px; }

.projects-empty { margin: auto; max-width: var(--content); padding: 92px 24px 110px; }
.project-filter-preview { border-bottom: 1px solid var(--line); display: flex; gap: 0; margin: 34px 0 64px; overflow-x: auto; }
.project-filter-preview span { border: 1px solid var(--line); border-bottom: 0; flex: 0 0 auto; font-family: "Barlow Condensed", sans-serif; font-size: 17px; font-weight: 700; padding: 12px 18px; text-transform: uppercase; }
.project-filter-preview span:first-child { background: var(--navy); color: #fff; }
.empty-state { border-bottom: 4px solid var(--orange); border-top: 4px solid var(--orange); padding: 70px 0; text-align: center; }
.empty-state > svg { color: var(--orange); height: 64px; margin: 0 auto 20px; width: 64px; }
.empty-state p { color: var(--muted); margin-left: auto; margin-right: auto; max-width: 700px; }
.empty-service-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 26px 0; }
.empty-service-links a { border: 1px solid var(--line); color: var(--navy); font-weight: 700; padding: 10px 14px; }

.legal-hero { background: var(--navy); color: #fff; padding: 58px max(24px, calc((100vw - var(--content)) / 2)); }
.legal-hero h1 { color: #fff; margin-bottom: 12px; }
.legal-hero p { color: #d7e2ee; margin: 0; }
.legal-layout { align-items: start; display: grid; gap: 60px; grid-template-columns: 280px minmax(0, var(--reading)); justify-content: center; padding: 70px 24px 110px; }
.legal-toc { border-top: 4px solid var(--orange); position: sticky; top: 25px; }
.legal-toc h2 { font-size: 24px; margin: 20px 0 10px; }
.legal-toc a { border-bottom: 1px solid var(--line); display: block; font-size: 14px; padding: 9px 2px; }
.legal-page { max-width: var(--reading); }
.legal-page section { border-bottom: 1px solid var(--line); padding: 0 0 22px; margin-bottom: 26px; scroll-margin-top: 24px; }
.legal-page h2 { font-size: 30px; margin-bottom: 12px; }
.legal-page h3 { font-size: 22px; }
.legal-page p, .legal-page li { color: #354253; font-size: 16px; }
.legal-page a { color: var(--orange-dark); text-decoration: underline; }
.legal-page li + li { margin-top: 7px; }
.legal-callout { border: 1px solid var(--orange); padding: 18px; }
.accessibility-features { display: grid; grid-template-columns: 1fr 1fr; }
.accessibility-features span { border-bottom: 1px solid var(--line); font-weight: 700; padding: 12px; }
.legal-review-note { background: #fff6f1; border-left: 4px solid var(--orange); margin-top: 34px; padding: 16px; }
.human-sitemap { display: grid; gap: 50px; grid-template-columns: repeat(3, 1fr); }
.human-sitemap section { border-top: 4px solid var(--orange); }
.human-sitemap h2 { font-size: 30px; margin-top: 20px; }
.human-sitemap a { border-bottom: 1px solid var(--line); display: block; padding: 9px 0; }

@media (max-width: 1260px) {
  .site-header { grid-template-columns: 190px 1fr auto; }
  .brand { width: 160px; }
  .desktop-nav { gap: 18px; }
  .desktop-nav > a, .nav-group > button { font-size: 16px; }
  .header-quote { display: none; }
  .home-hero { grid-template-columns: 1fr 1fr; }
  .hero-content { padding-right: 36px; }
  .hero-content h1 { font-size: 58px; }
  .trust-grid { grid-template-columns: repeat(3, 1fr); }
  .trust-grid article { border-bottom: 1px solid var(--line); }
  .footer-grid { grid-template-columns: 1.25fr 1fr 1fr 1fr; }
  .footer-conversion { grid-column: 1 / -1; grid-template-columns: repeat(4, auto); margin-top: 12px; }
}

@media (max-width: 1020px) {
  h1 { font-size: 58px; }
  h2 { font-size: 42px; }
  .site-header { grid-template-columns: 190px 1fr; }
  .desktop-nav, .header-phone { display: none; }
  .header-actions { justify-content: end; }
  .menu-trigger { display: inline-flex; }
  .home-hero { grid-template-columns: 1fr; }
  .hero-content { padding: 80px 32px; }
  .hero-media { min-height: 480px; }
  .problem-grid { grid-template-columns: 1fr 1fr; }
  .services-showcase { grid-template-columns: 1fr 1fr; }
  .services-intro { grid-row: auto; }
  .repair-feature { min-height: 270px; }
  .opener-feature { grid-column: auto; }
  .urgent-band { grid-template-columns: 1fr 1fr; }
  .urgent-list { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
  .capability { grid-template-columns: 1fr 1fr; }
  .process-grid { grid-template-columns: repeat(3, 1fr); }
  .process-grid li { border-bottom: 1px solid var(--line); }
  .area-preview { grid-template-columns: 1fr; }
  .service-hero { grid-template-columns: 1fr; }
  .service-hero-copy { padding: 70px 32px; }
  .service-hero-media { height: 500px; }
  .contact-layout { grid-template-columns: 1fr; }
  .contact-copy { padding-right: 0; }
  .contact-aside { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 45px; }
  .about-capabilities { grid-template-columns: 1fr 1fr; }
  .legal-layout { grid-template-columns: 230px minmax(0, 1fr); }
}

@media (max-width: 768px) {
  body { padding-bottom: calc(66px + env(safe-area-inset-bottom)); }
  h1 { font-size: 48px; }
  h2 { font-size: 38px; }
  h3 { font-size: 24px; }
  .announcement { font-size: 12px; padding: 8px 14px; }
  .site-header { height: 72px; padding: 0 18px; }
  .brand { width: 155px; }
  .icon-button { border: 0; }
  .section { padding: 78px 20px; }
  .service-rail::before { top: -22px; }
  .service-rail::after { top: -29px; }
  .home-hero { min-height: 0; }
  .hero-content { padding: 64px 20px 42px; }
  .hero-content h1 { font-size: 48px; max-width: 100%; }
  .hero-content > p { font-size: 16px; }
  .hero-content .button-row .button { flex: 1 1 100%; }
  .hero-trust { grid-template-columns: 1fr 1fr; }
  .hero-trust span { font-size: 14px; }
  .hero-media { min-height: 350px; }
  .hero-media img { object-position: 58% center; }
  .problem-selector { padding: 26px 20px 34px; }
  .selector-heading h2 { font-size: 30px; white-space: normal; }
  .problem-grid { gap: 8px; grid-template-columns: 1fr 1fr; }
  .problem-grid a { display: flex; flex-direction: column; min-height: 170px; padding: 18px 10px; text-align: center; }
  .problem-grid a > svg:first-child { height: 48px; width: 48px; }
  .problem-grid a > svg:last-child { margin-left: auto; }
  .problem-grid span { font-size: 19px; }
  .services-showcase { display: grid; grid-template-columns: 1fr; padding: 74px 20px; }
  .services-intro { padding: 28px 0; }
  .services-photo, .installation-photo { min-height: 250px; }
  .service-feature { min-height: 0; }
  .opener-feature { grid-column: auto; }
  .urgent-band { grid-template-columns: 1fr; }
  .urgent-band picture { height: 300px; }
  .urgent-copy { padding: 58px 20px; }
  .urgent-list { grid-column: auto; grid-template-columns: 1fr; padding: 20px; }
  .trust-grid { grid-template-columns: 1fr 1fr; }
  .trust-grid article { padding: 18px 10px; }
  .capability, .capability--gate { grid-template-columns: 1fr; }
  .capability picture { min-height: 300px; }
  .capability > div { padding: 58px 20px; }
  .capability--gate > div { order: 2; }
  .commercial-pair { grid-template-columns: 1fr; }
  .commercial-pair > a, .commercial-pair > a:first-child { border-bottom: 1px solid rgba(255,255,255,.25); border-right: 0; padding: 52px 20px; }
  .process-section { padding: 76px 20px; }
  .process-grid { grid-template-columns: 1fr; }
  .motion-connector::before { bottom: 8%; height: auto; left: 58px; right: auto; top: 8%; transform: scaleY(0); transform-origin: top; width: 2px; }
  [data-motion-visible="true"] .motion-connector::before { transform: scaleY(1); }
  .process-grid li { align-items: center; flex-direction: row; gap: 16px; min-height: 100px; text-align: left; }
  .process-grid li > span { font-size: 42px; }
  .process-grid li > svg { height: 38px; margin: 0; width: 38px; }
  .process-grid h3 { margin: 0; }
  .approval-step { flex-wrap: wrap; }
  .approval-step strong { margin-left: 58px; }
  .area-preview { gap: 45px; padding: 76px 20px; }
  .area-chip-grid { grid-template-columns: 1fr 1fr; }
  .faq-section { grid-template-columns: 1fr; padding: 76px 20px; }
  .faq-intro picture { height: 250px; }
  .cta-section { align-items: stretch; flex-direction: column; padding: 54px 20px; }
  .cta-section .button { flex: 1; }
  .footer-grid { display: block; }
  .footer-business { margin-bottom: 28px; }
  .footer-group { border-top: 1px solid rgba(255,255,255,.2); }
  .footer-group > h2, .footer-desktop-links { display: none; }
  .footer-group details { display: block; }
  .footer-group summary { align-items: center; cursor: pointer; display: flex; font-family: "Barlow Condensed", sans-serif; font-size: 22px; font-weight: 700; justify-content: space-between; list-style: none; padding: 16px 0; text-transform: uppercase; }
  .footer-group summary::-webkit-details-marker { display: none; }
  .footer-group summary::after { color: var(--orange); content: "+"; font-family: Inter, sans-serif; font-size: 22px; transition: transform var(--motion-nav) var(--motion-ease); }
  .footer-group details[open] summary::after { transform: rotate(45deg); }
  .footer-group details > div { gap: 0; padding: 0 0 18px 12px; }
  .footer-grid .footer-group details a { min-height: 44px; }
  .footer-group details[open] > div { animation: disclosure-enter var(--motion-nav) var(--motion-ease) both; }
  .footer-conversion { border-top: 1px solid rgba(255,255,255,.2); display: grid; margin-top: 8px; padding-top: 24px; }
  .site-footer { padding: 48px 20px 42px; }
  .mobile-actions { background: #fff; bottom: 0; box-shadow: 0 -5px 18px rgba(7,30,58,.16); display: grid; grid-template-columns: 1fr 1.15fr; left: 0; padding-bottom: env(safe-area-inset-bottom); position: fixed; right: 0; z-index: 80; }
  .mobile-actions a { align-items: center; display: flex; font-family: "Barlow Condensed", sans-serif; font-size: 18px; font-weight: 700; gap: 8px; justify-content: center; min-height: 66px; text-transform: uppercase; }
  .mobile-actions a:first-child { background: var(--navy); color: #fff; }
  .mobile-actions a:last-child { background: var(--orange); color: #fff; }
  .mobile-actions a { transition: filter var(--motion-press), transform var(--motion-press) var(--motion-ease); }
  .mobile-actions a:active { filter: brightness(.92); transform: scale(.985); }
  .service-hero-copy { padding: 64px 20px 48px; }
  .service-hero-copy h1 { font-size: 46px; }
  .service-hero-media { height: 340px; }
  .service-proof { grid-template-columns: repeat(3, 1fr); }
  .service-proof span { font-size: 13px; padding: 8px 4px; }
  .service-intro { gap: 24px; grid-template-columns: 1fr; }
  .detail-band { gap: 25px; grid-template-columns: 1fr; padding: 70px 20px; }
  .detail-band ul { grid-template-columns: 1fr; }
  .service-steps { grid-template-columns: 1fr; }
  .service-steps li { min-height: 120px; }
  .related-section { padding: 70px 20px; }
  .related-links { grid-template-columns: 1fr; }
  .simple-hero { padding: 66px 20px; }
  .region-grid { grid-template-columns: 1fr; }
  .location-grid { grid-template-columns: 1fr 1fr; }
  .contact-layout { padding: 62px 20px 80px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-grid .full { grid-column: auto; }
  .check-grid { align-items: start; grid-template-columns: 1fr; }
  .contact-aside { grid-template-columns: 1fr; }
  .about-hero { grid-template-columns: 1fr; }
  .about-hero-copy { padding: 64px 20px 48px; }
  .about-hero picture { height: 340px; }
  .about-capabilities { grid-template-columns: 1fr 1fr; }
  .about-capabilities article { padding: 20px 12px; }
  .projects-empty { padding: 68px 20px 90px; }
  .project-filter-preview { margin-bottom: 48px; }
  .legal-hero { padding: 52px 20px; }
  .legal-layout { display: block; padding: 52px 20px 90px; }
  .legal-toc { margin-bottom: 42px; position: static; }
  .legal-toc details { display: block; }
  .legal-page p, .legal-page li { font-size: 16px; }
  .accessibility-features { grid-template-columns: 1fr; }
  .human-sitemap { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
  h1, .hero-content h1 { font-size: 44px; }
  h2 { font-size: 36px; }
  .site-header { grid-template-columns: 146px 1fr; }
  .brand { width: 145px; }
  .hero-trust { grid-template-columns: 1fr 1fr; }
  .hero-trust span { align-items: flex-start; flex-direction: column; }
  .problem-grid a { min-height: 165px; }
  .trust-grid { grid-template-columns: 1fr 1fr; }
  .location-grid { grid-template-columns: 1fr 1fr; }
  .contact-copy h1 { font-size: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .hero-sequence::before, .hero-sequence .motion-headline-segment, .hero-sequence-actions, .hero-sequence-trust, .hero-media::after { animation: none !important; }
  .hero-media::after { background: transparent; }
  .motion-rail::before, .motion-line, .motion-connector::before { transform: none !important; }
}
