/* Contact and emergency: deliberately different journeys within Precision Workshop. */
.contact-experience,.emergency-experience{color:#102e48;text-align:center;overflow:clip}
.contact-experience h1,.emergency-experience h1{font-size:clamp(2.2rem,4.15vw,3.8rem);line-height:1.15;letter-spacing:-.045em}
.contact-experience :is(p,dd),.emergency-experience p{color:#455e73}
.contact-experience .eyebrow,.emergency-experience .eyebrow{color:#a51c32}
.contact-intro{position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 0,#dfeaf266,transparent 70%);padding:78px 0 72px}
.contact-intro:before{content:'';position:absolute;inset:0 0 auto;height:100%;z-index:-1;opacity:.28;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),#d5e1eb calc(25% - 1px),#d5e1eb 25%);mask-image:linear-gradient(#000,transparent)}
.contact-intro .lead{max-width:680px;margin:25px auto 30px}
.contact-phone-block{display:inline-flex;flex-direction:column;gap:11px;padding:20px 35px;border:1px solid #e9c9d0;border-radius:15px;background:#fff;box-shadow:0 10px 30px #18365008}
.contact-direct-number{display:flex;align-items:center;justify-content:center;gap:16px;color:#ad1730;font-size:clamp(1.8rem,3.5vw,3rem);font-weight:700;line-height:1.35;letter-spacing:-.04em;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:9px}
.contact-direct-number svg{width:30px;height:30px}
.contact-phone-block>span{font-size:.75rem;color:#455e73}
.contact-quick-address{display:flex;align-items:center;justify-content:center;gap:10px;margin:27px auto 0;font-size:.875rem;color:#455e73}
.contact-quick-address svg{width:18px;height:20px}
.contact-reasons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px 0 68px;gap:0}
.contact-reasons article{padding:15px 34px;border-right:1px solid #d7e1e8}
.contact-reasons article:last-child{border-right:0}
.contact-route-number{display:block;font-size:.75rem;color:#a51c32;font-weight:700;margin-bottom:17px}
.contact-reasons h2{font-size:1.2rem;line-height:1.4;letter-spacing:-.025em;max-width:260px;margin:auto}
.contact-reasons p{font-size:.9375rem;line-height:1.7;margin:15px auto;max-width:310px}
.contact-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;font-size:.9375rem;font-weight:700;color:#a51c32;text-decoration:underline;text-underline-offset:5px}
.contact-action:hover{color:#791526}.contact-action svg{width:18px;height:18px}
.contact-location{position:relative;padding:65px 0 35px;background:linear-gradient(#eef4f8 0 72%,#fff 72%);border-radius:38px 38px 0 0}
.contact-location-heading>p:not(.eyebrow){max-width:630px;margin:23px auto 35px}
.contact-map-composition{position:relative;padding-bottom:32px;max-width:1200px;margin:auto}
.contact-google-map{display:block;width:100%;height:465px;border:1px solid #bfceda;border-radius:22px;background:#d9e5ec}
.contact-address-plate{position:relative;margin:20px auto 0;max-width:680px;min-height:0;padding:25px 28px;background:#fff;border:1px solid #d7e1e8;border-radius:16px;box-shadow:0 16px 42px #183a5520}
.contact-location-icon{display:flex;justify-content:center;color:#a51c32;margin-bottom:13px}.contact-location-icon svg{width:24px;height:26px}
.contact-address-plate h3{font-size:1.125rem}.contact-address-plate address{margin:14px auto 18px;font-size:1rem;line-height:1.65}
.contact-address-plate .button{font-size:.875rem;min-height:50px;padding:12px 22px}
.contact-address-plate>p{font-size:.75rem;margin-top:15px}
.contact-access-note{font-size:.875rem;line-height:1.75;max-width:680px;margin:0 auto}
.contact-call-details{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:45px 0 75px;align-items:center}
.contact-details-title>p:not(.eyebrow){margin:23px auto;max-width:390px}.contact-details-title .button{font-size:.9375rem}
.contact-detail-list{margin:0;padding:10px 28px 18px;background:#f2f6f9;border-radius:20px;box-shadow:12px 12px 0 #e7eff5}
.contact-detail-list>div{padding:20px 8px;border-bottom:1px solid #d1dfe9}.contact-detail-list>div:last-child{border-bottom:0}
.contact-detail-list dt{font-weight:700;font-size:1rem}.contact-detail-list dd{margin:6px auto 0;font-size:.9375rem;max-width:335px}
.contact-coverage{background:#102e48;padding:54px 0;margin-bottom:70px;border-radius:0 30px 30px 0;width:calc(100% - 28px)}
.contact-coverage .eyebrow{color:#ffc1cb}.contact-coverage h2{color:#fff}.contact-coverage p:not(.eyebrow){max-width:740px;color:#e3edf4;margin:23px auto}
.contact-coverage-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 38px}.contact-coverage-links a{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:48px;color:white;font-size:.875rem;font-weight:600;text-decoration:underline;text-underline-offset:5px}.contact-coverage-links svg{width:17px;height:17px}
.contact-social-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 26px;margin:24px auto 0;padding-top:20px;border-top:1px solid #ffffff40}.contact-social-links span{color:#cbd8e2;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.contact-social-links a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:5px}
.contact-experience .questions-band{background:#fff;padding-top:0;border-radius:0}.contact-experience .questions-band .eyebrow{margin-bottom:20px}
/* Emergency: prompt call above a photo and a short decision sequence. */
.emergency-hero{position:relative;isolation:isolate;background:linear-gradient(135deg,#edf4f9,#fff 65%);padding:65px 0 54px}
.emergency-hero-layout{display:grid;grid-template-columns:1.14fr 1fr;gap:50px;align-items:center}
.emergency-hero-copy h1{font-size:clamp(2.15rem,3.5vw,3.25rem)}.emergency-hero-copy h1 span{font-weight:400}
.emergency-hero-copy .lead{font-size:1rem;max-width:590px;margin:24px auto}
.emergency-experience .emergency-phone{font-size:1.0625rem;min-height:57px;padding:15px 23px}
.emergency-availability{font-size:.8125rem;margin:16px auto 0;max-width:370px}
.emergency-equipment-photo{position:relative;margin:0 16px 16px 0;aspect-ratio:1;isolation:isolate}
.emergency-equipment-photo:before{content:'';position:absolute;inset:22px -16px -16px 22px;background:#dce9f1;border-radius:65px 20px 20px 20px;z-index:-1}
.emergency-equipment-photo img{height:100%;object-fit:cover;border-radius:65px 20px 20px 20px;object-position:center}
.emergency-equipment-photo figcaption{position:absolute;bottom:23px;left:8%;right:8%;padding:14px 12px;border:1px solid #8398a8;background:#102e48ed;backdrop-filter:blur(5px);border-radius:28px;color:#fff;font-size:.75rem;line-height:1.5}
.emergency-first-call{padding:62px 0}.emergency-call-heading>p:not(.eyebrow){margin:20px auto 0;max-width:550px}
.emergency-call-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:35px auto 15px;gap:0}
.emergency-call-steps li{position:relative;padding:22px 34px;border-right:1px solid #d7e1e8}.emergency-call-steps li:last-child{border-right:0}
.emergency-call-steps li>span{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #cfdae4;background:#f5f8fa;color:#a51c32;border-radius:50%;margin:0 auto 18px;font-size:.8125rem;font-weight:700}
.emergency-call-steps h3{font-size:1.25rem}.emergency-call-steps p{font-size:.9375rem;margin:15px auto 0;max-width:320px}
.emergency-options{background:linear-gradient(140deg,#eaf2f7,#f6f9fb);padding:48px 45px;border-radius:28px}
.emergency-options-heading>p:not(.eyebrow){max-width:620px;margin:20px auto 30px}
.emergency-option-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px}.emergency-option-pair article{padding:33px 34px;border-radius:16px;background:#fff;border:1px solid #d7e1e8;display:flex;flex-direction:column;align-items:center}
.emergency-option-label{font-size:.6875rem;letter-spacing:.1em;color:#a51c32;font-weight:700;margin-bottom:15px}.emergency-option-pair h3{font-size:1.45rem}.emergency-option-pair p{margin:20px auto;font-size:.9375rem;max-width:400px}.emergency-option-pair .button{margin:auto auto 0;font-size:.9375rem}
.emergency-option-pair address{font-size:.875rem;color:#455e73;margin:0 auto 10px}.emergency-option-pair .contact-action{margin:auto auto 0}
.emergency-service-area{padding:70px 0 40px}.emergency-service-area>p:not(.eyebrow){max-width:750px;margin:22px auto 14px}
.emergency-repair-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 25px;padding-top:25px}
.emergency-repair-links a{font-size:.8125rem;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
.emergency-safety{border-block:1px solid #d7e1e8;padding:28px 30px 32px;margin-bottom:55px}.emergency-safety h2{font-size:1.25rem;letter-spacing:-.02em}.emergency-safety p{font-size:.875rem;max-width:820px;margin:15px auto 0}
.emergency-close{background:#102e48;padding:57px 0;border-radius:30px 30px 0 0}.emergency-close h2{color:#fff}.emergency-close p{color:#e1edf4;margin:22px auto 25px}.emergency-contact-link{display:block;width:fit-content;max-width:100%;color:white;font-size:.875rem;text-decoration:underline;text-underline-offset:5px;margin:17px auto 0;padding:8px 0}
@media(max-width:900px){.contact-reasons article{padding-inline:21px}.contact-call-details{gap:40px}.emergency-hero-layout{gap:30px}.emergency-hero-copy h1{font-size:2.4rem}.emergency-equipment-photo{aspect-ratio:.85}.emergency-call-steps li{padding-inline:21px}.emergency-options{padding:40px 26px}.emergency-option-pair article{padding:28px 23px}}
@media(max-width:700px){.contact-intro{padding:48px 0 35px}.contact-intro .lead{font-size:.9375rem;margin:22px auto}.contact-phone-block{padding:18px 21px;max-width:100%}.contact-direct-number{font-size:clamp(1.55rem,6.6vw,2.5rem);gap:10px;white-space:nowrap}.contact-direct-number svg{width:23px;height:23px}.contact-phone-block>span{font-size:.6875rem}.contact-quick-address{max-width:350px;font-size:.8125rem;gap:8px}.contact-quick-address address{max-width:270px}.contact-reasons{grid-template-columns:1fr;padding:5px 0 43px}.contact-reasons article{padding:24px 16px;border-right:0;border-bottom:1px solid #d7e1e8}.contact-reasons article:last-child{border-bottom:0}.contact-route-number{margin-bottom:11px}.contact-reasons h2{max-width:none}.contact-reasons p{max-width:420px;margin-block:12px}.contact-action{font-size:.875rem}.contact-location{padding-top:43px;border-radius:25px 25px 0 0;background:linear-gradient(#eef4f8 0 60%,#fff 60%)}.contact-location-heading>p:not(.eyebrow){font-size:.9375rem;margin:21px auto 27px}.contact-google-map{height:330px;border-radius:16px}.contact-address-plate{margin:16px auto 0;width:calc(100% - 28px);max-width:420px;padding:23px 18px;min-height:0;box-shadow:0 10px 28px #183a5518}.contact-map-composition{padding-bottom:22px}.contact-access-note{font-size:.8125rem}.contact-call-details{grid-template-columns:1fr;padding:22px 0 48px;gap:31px}.contact-details-title>p:not(.eyebrow){font-size:.9375rem;margin:20px auto}.contact-detail-list{padding:6px 20px 10px;margin-right:8px;box-shadow:8px 8px 0 #e7eff5}.contact-detail-list>div{padding:18px 4px}.contact-detail-list dd{font-size:.875rem}.contact-coverage{padding:40px 0;margin-bottom:46px;width:calc(100% - 12px);border-radius:0 22px 22px 0}.contact-coverage>.shell{width:calc(100% - 36px)}.contact-coverage p:not(.eyebrow){font-size:.9375rem}.contact-coverage-links{gap:4px}.contact-coverage-links a{width:100%;font-size:.8125rem}.contact-experience .questions-band .eyebrow{font-size:.6875rem}
.emergency-hero{padding:44px 0 33px}.emergency-hero-layout{grid-template-columns:1fr;gap:31px}.emergency-hero-copy h1{font-size:clamp(2.05rem,6.7vw,2.8rem)}.emergency-hero-copy .lead{font-size:.9375rem;max-width:500px;margin:21px auto}.emergency-experience .emergency-phone{min-height:54px;font-size:1rem;padding:14px 20px;max-width:100%;width:auto}.emergency-availability{font-size:.75rem;max-width:320px}.emergency-equipment-photo{width:calc(100% - 12px);aspect-ratio:1.8;margin:0 12px 12px 0}.emergency-equipment-photo:before{inset:14px -12px -12px 14px;border-radius:40px 15px 15px 15px}.emergency-equipment-photo img{border-radius:40px 15px 15px 15px}.emergency-equipment-photo figcaption{bottom:15px;left:6%;right:6%;font-size:.6875rem;padding:11px 8px}.emergency-first-call{padding:46px 0 38px}.emergency-call-heading>p:not(.eyebrow){font-size:.9375rem}.emergency-call-steps{grid-template-columns:1fr;margin-top:22px}.emergency-call-steps li{padding:24px 14px;border-right:0;border-bottom:1px solid #d7e1e8}.emergency-call-steps li:last-child{border-bottom:0}.emergency-call-steps p{max-width:410px;margin-top:12px}.emergency-call-steps li>span{width:37px;height:37px;margin-bottom:12px}.emergency-options{width:calc(100% - 24px);padding:35px 18px;border-radius:22px}.emergency-options-heading>p:not(.eyebrow){font-size:.9375rem}.emergency-option-pair{grid-template-columns:1fr;gap:17px}.emergency-option-pair article{padding:27px 20px}.emergency-option-pair h3{font-size:1.3rem}.emergency-option-pair .button{font-size:.875rem}.emergency-service-area{padding:47px 0 30px}.emergency-service-area>p:not(.eyebrow){font-size:.9375rem}.emergency-repair-links{gap:4px 18px;padding-top:18px}.emergency-repair-links a{font-size:.75rem}.emergency-safety{padding:25px 10px;margin-bottom:40px}.emergency-safety p{font-size:.8125rem}.emergency-close{padding:42px 0;border-radius:23px 23px 0 0}.emergency-close p{font-size:.9375rem;margin:20px auto}.emergency-contact-link{font-size:.8125rem}}
@media(forced-colors:active){.contact-phone-block,.contact-address-plate,.contact-detail-list,.emergency-option-pair article,.emergency-equipment-photo figcaption{border:1px solid CanvasText;background:Canvas;color:CanvasText}.emergency-equipment-photo:before,.contact-intro:before{display:none}.contact-coverage,.emergency-close{background:Canvas;color:CanvasText}}
html[data-contrast] :is(.contact-experience,.emergency-experience) :is(.contact-phone-block,.contact-address-plate,.contact-detail-list,.emergency-option-pair article,.emergency-equipment-photo figcaption){border:2px solid #000}

#main-content .contact-experience .contact-coverage a:focus-visible,#main-content .emergency-experience .emergency-close a:focus-visible{outline:3px solid #fff;outline-offset:5px}
