/* Repair-focused ICR system: orange identity, white work surfaces and compact navy accents. */
:root{--rf-orange:#ff5a00;--rf-orange-dark:#b43b00;--rf-navy:#102b43;--rf-ink:#111b24;--rf-slate:#4a5f70;--rf-mist:#eef3f6;--rf-line:#cbd7df}

body{background:#fff;color:var(--rf-ink)}
.topbar{display:none}
.site-header{position:sticky;top:0;background:#fff;border:0;border-bottom:1px solid #d7e0e6;box-shadow:0 6px 22px #102b4312}
.header-inner{min-height:98px;max-width:1320px}
.brand{gap:15px}
.brand-logo{width:92px;height:92px;margin-block:-12px;filter:drop-shadow(0 3px 5px #102b4320)}
.brand-words{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:1.36rem;font-weight:800;line-height:.96;letter-spacing:.015em;color:var(--rf-ink);white-space:nowrap}
.brand-words>span{font-size:.98rem;line-height:1.08;margin-top:5px;color:#334b5d;white-space:nowrap}
.header-inner nav a{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:1rem;color:var(--rf-ink);font-weight:700}
.header-inner nav a:hover,.header-inner nav a[aria-current]{color:var(--rf-orange-dark)}
.header-call{background:var(--rf-orange);border:0;border-radius:3px;box-shadow:0 4px 0 #c94300;padding:13px 18px}
.header-call:hover{background:#f25200}
.menu-toggle{border:1px solid var(--rf-line);border-bottom:3px solid var(--rf-orange);border-radius:3px}

#main-content :where(h1,h2,h3){color:var(--rf-ink)}
#main-content :where(h1,h2){font-family:'Barlow Condensed','Arial Narrow',sans-serif;line-height:1;letter-spacing:-.018em}
#main-content .eyebrow{font-family:'Barlow Condensed','Arial Narrow',sans-serif;color:var(--rf-orange-dark);font-weight:700;letter-spacing:.16em}
#main-content .button:not(.emergency-button){background:var(--rf-orange);border:0;border-radius:3px;box-shadow:0 4px 0 #c94300}
#main-content .button:not(.emergency-button):hover{background:#f25200}
#main-content .emergency-button{background:#fff;color:var(--rf-ink)!important;border:1px solid #82919d;border-radius:3px;box-shadow:none}
#main-content .emergency-button:hover{background:#f2f5f7}

/* Homepage */
body.home-crew #main-content{text-align:center}
.crew-hero{min-height:570px;display:grid;grid-template-columns:minmax(430px,49%) minmax(0,51%);background:#fff;overflow:hidden;border:0}
.crew-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:72px max(44px,calc((100vw - 1320px)/2));padding-right:64px;text-align:center;background:linear-gradient(145deg,#fff 25%,#f0f4f6)}
.crew-hero-copy:after{content:"";position:absolute;z-index:-1;right:-88px;top:0;width:170px;height:100%;background:linear-gradient(145deg,#f7f9fa,#fff);clip-path:polygon(0 0,100% 0,48% 100%,0 100%)}
.crew-hero-copy .eyebrow{margin:0 0 20px}
.crew-hero-copy h1{max-width:690px;font-size:clamp(3.15rem,5.3vw,5.45rem);line-height:.91}
.crew-hero-copy .lead{max-width:660px;margin:24px auto 28px;color:var(--rf-slate);font-size:1.02rem;line-height:1.65}
.crew-hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.crew-hero-actions .button{min-height:58px;padding:15px 22px;font-size:.95rem}
.crew-hero-media{min-width:0;min-height:570px;background:#dfe6ea}
.crew-hero-media img{width:100%;height:100%;object-fit:cover;object-position:53% center}

.crew-emergency{background:var(--rf-navy);border-left:0;border-top:5px solid var(--rf-orange);color:#fff}
.crew-emergency>.shell{min-height:112px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:28px;text-align:left}
.crew-emergency .eyebrow{color:#fff;margin:0 0 3px;text-align:left}
.crew-emergency p{color:#e1e9ef;text-align:left;font-size:.92rem}
.crew-emergency-phone{display:inline-flex;align-items:center;gap:10px;color:var(--rf-orange);font-size:1.55rem;font-weight:800;white-space:nowrap}
.crew-emergency-phone svg{width:24px;height:24px}
.crew-emergency a:last-child{color:#fff;font-size:.85rem;font-weight:700;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}

.crew-services{max-width:1320px;padding-block:78px 70px}
.crew-services .section-heading{max-width:800px;margin:0 auto 36px;text-align:center}
.crew-services .section-heading:before{display:none!important}
.crew-services .section-heading .eyebrow{margin-bottom:9px}
.crew-services .section-heading h2{font-size:clamp(2.6rem,4.3vw,4.2rem)}
.crew-services .section-heading>p:last-child{max-width:680px;margin:14px auto 0;color:var(--rf-slate)}
.crew-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;text-align:left}
.crew-service-grid article{min-width:0;border-top:5px solid var(--rf-orange);padding-bottom:19px}
.crew-service-grid img{width:100%;aspect-ratio:1.55;object-fit:cover;margin-bottom:17px}
.crew-service-grid h3{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:1.65rem;text-align:left;line-height:1.05;text-transform:uppercase}
.crew-service-grid h3:before{content:"";display:inline-block;width:28px;height:3px;background:var(--rf-orange);margin:0 12px 6px 0}
.crew-service-grid ul{margin:14px 0 9px;padding:0;list-style:none;color:var(--rf-slate);font-size:.9rem}
.crew-service-grid li{position:relative;padding:4px 0 4px 19px}
.crew-service-grid li:before{content:"";position:absolute;left:2px;top:12px;width:6px;height:6px;background:var(--rf-orange)}
.crew-service-link{display:inline-block;margin-top:6px;color:var(--rf-orange-dark);font-size:.82rem;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.crew-services .system-links{display:flex;justify-content:center;gap:10px 26px;flex-wrap:wrap;margin:32px 0 0;padding:21px;border-block:1px solid var(--rf-line)}
.crew-services .system-links a{color:var(--rf-ink);font-size:.84rem;font-weight:700;text-decoration:underline;text-underline-offset:4px}

.crew-fleet{display:grid;grid-template-columns:minmax(0,45%) minmax(0,55%);min-height:410px;background:#f1f4f6;border-block:1px solid var(--rf-line)}
.crew-fleet figure{min-height:410px}
.crew-fleet img{width:100%;height:100%;object-fit:cover;object-position:center}
.crew-fleet-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.65fr);align-content:center;gap:10px 50px;padding:60px max(38px,calc((100vw - 1320px)/2));padding-left:58px;text-align:left}
.crew-fleet-copy .eyebrow,.crew-fleet-copy h2,.crew-fleet-copy>p{text-align:left}
.crew-fleet-copy .eyebrow{grid-column:1;margin:0 0 5px}
.crew-fleet-copy h2{grid-column:1;font-size:clamp(2.7rem,4.2vw,4.3rem)}
.crew-fleet-copy>p{grid-column:1;max-width:600px;margin-top:10px;color:var(--rf-slate)}
.crew-fleet-links{grid-column:2;grid-row:1/5;align-self:center;display:grid}
.crew-fleet-links a{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid #c2ccd3;color:var(--rf-ink);font-weight:700;font-size:.86rem}
.crew-fleet-links a span{color:var(--rf-orange-dark)}

.crew-shop{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:0;padding-block:56px;text-align:left}
.crew-shop>div{padding:8px 38px;border-left:1px solid var(--rf-line)}
.crew-shop>div:first-child{border-left:0;padding-left:0}
.crew-shop .eyebrow{margin-bottom:10px;text-align:left}
.crew-shop h2{font-size:2.1rem;text-align:left;margin-bottom:16px}
.crew-shop :where(address,p){text-align:left;color:var(--rf-slate)}
.crew-shop a{display:inline-block;margin-top:13px;color:var(--rf-orange-dark);font-size:.86rem;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.crew-shop dl{margin:0;color:var(--rf-ink)}
.crew-shop dl>div{display:flex;justify-content:space-between;gap:24px;padding:4px 0}
.crew-shop dt{font-weight:600}.crew-shop dd{margin:0;white-space:nowrap;color:var(--rf-slate)}

.crew-questions{padding:62px 0 70px;background:linear-gradient(145deg,#edf2f5,#fff);border-top:1px solid var(--rf-line)}
.crew-questions h2{font-size:clamp(2.4rem,4vw,3.7rem);margin-bottom:25px}
.crew-questions .faq-list details{background:#fff;border:1px solid #d5dee4;border-radius:2px;margin:9px 0;box-shadow:0 2px 7px #102b4309}
.crew-questions .faq-list summary{text-align:left!important;padding:17px 20px}
.crew-questions .faq-list details>p{text-align:left!important;padding:0 20px 20px}

/* Carry the homepage's branded silhouette across service, city and support pages. */
#main-content :where(.page-intro,.core-opening,.sx-hero,.lx-hero,.contact-intro,.emergency-hero){background:linear-gradient(145deg,#fff 15%,#eef3f6);border-bottom:5px solid var(--rf-orange)}
#main-content :where(.page-intro,.core-opening,.sx-hero,.lx-hero,.contact-intro,.emergency-hero) h1{color:var(--rf-ink)}
#main-content :where(.sx-hero-photo,.lx-hero-photo,.core-photo,.emergency-equipment-photo){border-radius:2px!important;box-shadow:10px 10px 0 var(--rf-orange)!important}
#main-content :where(.service-card,.area-cards>a,.sx-problems article,.sx-options-grid article,.lx-service-list article,.contact-reasons article){border-radius:2px!important;border:1px solid var(--rf-line)!important;border-top:4px solid var(--rf-orange)!important;box-shadow:none!important}
#main-content :where(.sx-options,.sx-focus,.lx-repairs,.lx-planning,.core-systems,.contact-location,.contact-coverage){border-radius:0!important;background:#f0f4f6;border-top:5px solid var(--rf-orange)}

/* Pair foregrounds with their final surfaces. These panels used to be navy;
   changing their backgrounds alone leaves pale text on the white cards. */
#main-content .core-systems p,
#main-content .sx-options-grid article p,
#main-content .lx-focus-notes article p,
#main-content .contact-coverage p:not(.eyebrow),
#main-content .contact-social-links>span{color:var(--rf-slate)}
#main-content .core-systems .core-link-label,
#main-content .sx-options-grid .sx-option-label,
#main-content .contact-coverage-links a,
#main-content .contact-social-links a{color:var(--rf-orange-dark)}
#main-content .contact-social-links a span{color:inherit}
#main-content .lx-focus-notes .lx-number{background:#fff;color:var(--rf-orange-dark)}
#main-content .core-systems .core-service-link:hover h3{color:var(--rf-orange-dark)}

/* Navy panels retain light headings and links, including after hover/focus. */
#main-content .crew-emergency .eyebrow,
#main-content .sx-detail-history .sx-prep h3,
#main-content .lx-plan-address :is(h3,.lx-text-link),
#main-content .emergency-close h2{color:#fff}
#main-content .lx-plan-address .lx-text-link:hover{color:#fff}

/* Brand orange remains the button surface; dark ink gives small labels a
   readable contrast ratio. Descendant arrows follow the button label. */
.header-call,
#main-content .button:not(.emergency-button){color:var(--rf-ink)!important}
#main-content .button:not(.emergency-button) span{color:inherit!important}
html[data-contrast] #page-shell .button span{background:transparent!important;color:inherit!important}

/* Focus rings need the same light/dark surface distinction as text. */
#main-content .core-experience .core-systems a:focus-visible,
#main-content .contact-experience .contact-coverage a:focus-visible,
#main-content .local-experience.lx-page .lx-service-footer>a:focus-visible,
#main-content .service-experience.sx .sx-options-load .sx-options-grid article:last-child a:focus-visible{outline-color:var(--rf-orange-dark)}
#main-content .crew-emergency a:focus-visible,
#main-content .lx-plan-address a:focus-visible,
#main-content .sx-detail-history .sx-prep a:focus-visible{outline-color:#fff}

.callout-banner{max-width:1200px;min-height:0;margin:38px auto 64px;padding:32px 38px;border-radius:2px!important;border-top:5px solid var(--rf-orange)!important;background:var(--rf-navy)!important}
.callout-banner h2{font-size:2.4rem!important}.callout-banner h2 br{display:none}
.callout-banner .button{background:var(--rf-orange)!important;box-shadow:0 4px 0 #c94300!important}

.site-footer{background:#0b1822!important;border-top:6px solid var(--rf-orange)!important}
.site-footer .brand-logo{width:112px;height:112px;margin:0 auto 12px}
.site-footer h2{border-bottom:2px solid var(--rf-orange);padding-bottom:7px}
.site-footer .footer-phone{border:1px solid #ffffff38;border-bottom:3px solid var(--rf-orange)}
.site-footer .footer-hours-link{display:block;width:fit-content;margin:12px auto 0;color:#fff!important;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.site-footer .footer-social a{border-bottom-color:var(--rf-orange)}

@media(max-width:1020px){
  .crew-hero{grid-template-columns:1fr;min-height:0}.crew-hero-copy{padding:65px 42px 55px}.crew-hero-copy:after{display:none}.crew-hero-media{min-height:480px}
  .crew-emergency>.shell{grid-template-columns:1fr auto}.crew-emergency a:last-child{grid-column:1/3;justify-self:center;margin-top:-12px}
  .crew-service-grid{grid-template-columns:1fr 1fr}.crew-service-grid article:last-child{grid-column:1/3;max-width:620px;width:100%;margin:auto}
  .crew-fleet{grid-template-columns:1fr}.crew-fleet figure{min-height:430px}.crew-fleet-copy{padding:55px 42px;grid-template-columns:1.1fr .9fr}
  .crew-shop{grid-template-columns:1fr 1fr}.crew-shop>div:last-child{grid-column:1/3;border-left:0;border-top:1px solid var(--rf-line);padding:28px 0 0;margin-top:28px}
}

@media(max-width:850px){
  .header-inner{min-height:88px}.brand-logo{width:74px;height:74px;margin-block:-5px}.brand-words{font-size:1.22rem}.brand-words>span{font-size:.88rem}
  .header-inner nav.open{border-bottom:4px solid var(--rf-orange)}
}

@media(max-width:650px){
  .shell{width:min(100% - 36px,1200px)}
  .header-inner{min-height:90px}.brand{gap:12px}.brand-logo{width:68px;height:68px;margin:0}.brand-words{font-size:1.18rem;line-height:.96}.brand-words>span{font-size:.85rem;line-height:1.06;margin-top:5px}
  .crew-hero-copy{padding:48px 20px 42px}.crew-hero-copy h1{font-size:3.1rem;line-height:.94}.crew-hero-copy .lead{font-size:.95rem;margin:20px auto 24px}.crew-hero-actions{width:100%;display:grid}.crew-hero-actions .button{width:100%;min-height:55px}.crew-hero-media{min-height:330px}.crew-hero-media img{object-position:55% center}
  .crew-emergency>.shell{grid-template-columns:1fr;padding-block:26px;gap:13px;text-align:center}.crew-emergency :where(.eyebrow,p){text-align:center}.crew-emergency-phone{justify-self:center;font-size:1.45rem}.crew-emergency a:last-child{grid-column:auto;margin:0;justify-self:center}
  .crew-services{padding-block:55px 48px}.crew-services .section-heading h2{font-size:2.75rem}.crew-service-grid{grid-template-columns:1fr;gap:32px}.crew-service-grid article:last-child{grid-column:auto}.crew-service-grid h3{text-align:center}.crew-service-grid h3:before{display:none}.crew-service-grid ul{max-width:330px;margin-inline:auto}.crew-service-link{display:block;text-align:center}
  .crew-services .system-links{padding-inline:0}
  .crew-fleet figure{min-height:300px}.crew-fleet-copy{display:block;padding:42px 22px;text-align:center}.crew-fleet-copy :where(.eyebrow,h2,p){text-align:center}.crew-fleet-copy h2{font-size:2.9rem}.crew-fleet-links{margin-top:25px}.crew-fleet-links a{text-align:left}
  .crew-shop{grid-template-columns:1fr;padding-block:38px}.crew-shop>div,.crew-shop>div:first-child{padding:25px 0;border-left:0;border-top:1px solid var(--rf-line);text-align:center}.crew-shop>div:first-child{border-top:0}.crew-shop>div:last-child{grid-column:auto;margin:0}.crew-shop :where(.eyebrow,h2,address,p){text-align:center}.crew-shop dl{max-width:330px;margin:auto}
  .crew-questions{padding:48px 0 54px}.crew-questions h2{font-size:2.65rem}
  .callout-banner{width:calc(100% - 36px);margin:28px auto 45px;padding:30px 20px}.callout-banner h2{font-size:2.1rem!important}
}

@media(max-width:360px){
  .header-inner{gap:10px}.brand{gap:8px}.brand-logo{width:58px;height:58px}.brand-words{font-size:.9rem}.brand-words>span{font-size:.65rem}.menu-toggle{padding-inline:9px}
}

@media(forced-colors:active){.crew-emergency,.site-footer,.callout-banner{border-color:CanvasText}.crew-service-grid article{border-color:CanvasText}}
