/* Phase 5: scoped banner/form/contact/footer styles, preserving Phases 1–4. */
.completion-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.about-section{min-height:480px;position:relative;color:white;display:flex;align-items:center}
.about-image{position:absolute;inset:0}.about-image>img{width:100%;height:100%;object-fit:cover;object-position:62% center}
.about-shade{position:absolute;inset:0;background:linear-gradient(0deg,#07090bf5 0%,#07090bd9 55%,#07090b44 100%)}
.about-copy{position:relative;padding-block:65px 35px}.about-copy .eyebrow{color:#ff5b64;font-size:.6rem;margin-bottom:16px}
.about-copy h2{font-size:2.3rem;max-width:700px}.about-copy>p:not(.eyebrow){color:#d7d8da;font-size:.83rem;line-height:1.7;max-width:330px;margin-top:24px}
.about-copy .text-link{margin-top:24px;font-size:.8rem}.about-disclaimer{display:block;margin-top:32px;color:#c9c9ca;font-size:.62rem}
.appointment-section{padding-block:60px;scroll-margin-top:18px}.appointment-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:30px;align-items:start}
.appointment-layout .eyebrow{font-size:.63rem;margin-bottom:16px}.appointment-layout h2{font-size:2.4rem}.appointment-layout h2 br{display:none}
.red-rule{height:3px;width:40px;margin-block:20px;background:var(--red)}.appointment-intro>p:not(.eyebrow){color:var(--muted);font-size:.83rem}
.appointment-layout .form-notice{padding:14px;background:#f3f3f2;margin-bottom:24px;font-size:.72rem;line-height:1.6;border-left:2px solid var(--red)}
#appointment-demo fieldset{border:0;padding:0;margin:0;min-width:0}.form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.form-grid label,.message-field{font-size:.76rem;font-weight:600}.form-grid label span,.message-field span{font-weight:400;color:var(--muted)}
#appointment-demo input,#appointment-demo select,#appointment-demo textarea{width:100%;min-height:52px;padding:12px;border:1px solid #bfc1c3;border-radius:2px;background:white;color:var(--ink);margin-top:8px;font:inherit;font-size:16px}
#appointment-demo input::placeholder,#appointment-demo textarea::placeholder{color:#73767b}
#appointment-demo textarea{display:block;resize:vertical;min-height:90px}.field-wide{grid-column:1/-1}
.field-help{color:var(--muted);font-size:.72rem;line-height:1.6;margin-top:-10px}
#appointment-demo .tyre-fields{border:1px solid var(--line);background:#f8f8f7;padding:18px 14px;margin-top:28px}
.tyre-fields legend{padding-inline:8px;font-size:.85rem;font-weight:650}.tyre-fields legend span{font-weight:400;color:var(--muted)}
.message-field{display:block;margin-top:24px}.form-actions{display:flex;flex-direction:column;align-items:stretch;gap:15px;margin-top:24px}
.form-actions>span{color:var(--muted);font-size:.72rem;text-align:center}.form-status{font-size:.85rem;color:#244d35}
.form-status.has-message{background:#edf5ef;padding:16px;margin-top:20px;border-left:3px solid #397951}
.contact-section{padding-block:45px;background:#f3f3f2;scroll-margin-top:18px}.contact-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:center}
.contact-section .eyebrow{font-size:.63rem;margin-bottom:16px}.contact-layout h2{font-size:2rem;letter-spacing:-.04em}
.contact-layout address{font-style:normal;font-size:.85rem;line-height:1.7;margin-top:20px}.contact-map{min-width:0}
.map-preview{display:block;background:white;border:1px solid var(--line);transition:border-color .2s,box-shadow .2s}.map-preview img{width:100%;height:auto}
.map-action{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:12px 16px;font-size:.78rem;font-weight:650}.map-action .icon{transform:rotate(-45deg)}
.map-attribution{display:inline-flex;align-items:center;min-height:32px;font-size:.65rem;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.contact-section h3{font-family:Arial,"Helvetica Neue",sans-serif;font-weight:800;line-height:1.03;letter-spacing:-.025em;margin:0;font-size:1rem}
.contact-details{border-top:1px solid var(--line);padding-top:25px}.contact-number{margin-top:16px}.contact-number+.contact-number{border-top:1px solid var(--line);padding-top:14px}
.contact-number>span{display:block;font-size:.73rem;color:var(--muted)}.phone-link{display:inline-flex;align-items:center;min-height:44px;font-size:1.3rem;font-weight:650;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.contact-actions{display:flex;flex-wrap:wrap;gap:4px 22px}.contact-actions a{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:.78rem;font-weight:650;text-decoration:underline;text-underline-offset:5px}
.contact-actions .icon{width:16px;height:16px;flex-basis:16px}.contact-hours{border-top:1px solid var(--line);margin-top:35px;padding-top:28px}
.contact-hours dl{display:flex;flex-direction:column;gap:16px;margin:20px 0 0;font-size:.83rem}.contact-hours dl>div{display:flex;justify-content:space-between;gap:20px}
.contact-hours dt{font-weight:650}.contact-hours dd{margin:0;text-align:right;color:var(--muted)}
.contact-provisional{margin-top:28px;font-size:.73rem;color:var(--muted);border-left:2px solid var(--red);padding-left:14px}
.site-footer{background:var(--ink);color:white;padding:40px 0 20px}.footer-main{display:flex;flex-wrap:wrap;gap:24px;align-items:center;padding-bottom:30px}
.site-footer .brand-name{display:block}.site-footer .brand-name>span{color:#b8b9bc}.footer-main nav{width:100%}
.footer-main .nav-list{display:grid;grid-template-columns:1fr 1fr;gap:0}.footer-main nav a{font-size:.75rem;min-height:44px;display:flex;align-items:center}
.back-to-top{display:flex;gap:10px;align-items:center;font-size:.7rem;min-height:44px}.back-to-top .icon{transform:rotate(-90deg)}
.footer-legal{display:flex;gap:12px 24px;flex-wrap:wrap;padding-bottom:20px;font-size:.7rem;color:#b6b8ba}.footer-legal>span{display:inline-flex;gap:4px;align-items:center;min-height:32px}
.footer-bottom{border-top:1px solid #33363a;display:flex;flex-direction:column;gap:10px;padding-top:22px;padding-bottom:80px;color:#b6b8ba;font-size:.65rem}
.mobile-appointment{display:flex;position:fixed;z-index:35;bottom:max(16px,env(safe-area-inset-bottom));left:20px;right:20px;background:var(--red);color:white;min-height:52px;padding:14px 22px;justify-content:space-between;align-items:center;border-radius:4px;font-size:.9rem;font-weight:650;box-shadow:0 4px 24px #0003}
body:has(dialog[open]) .mobile-appointment{display:none}
@media(min-width:701px){
 .about-image>img{object-position:center 48%}.about-shade{background:linear-gradient(90deg,#07090bf2 0%,#07090bca 40%,#07090b35 100%)}
 .about-copy{padding-block:65px}.about-copy .eyebrow{font-size:.7rem;margin-bottom:20px}.about-copy h2,.appointment-layout h2{font-size:clamp(2.25rem,4.2vw,3.75rem)}
 .about-copy>p:not(.eyebrow){font-size:.93rem;max-width:490px}.about-copy .text-link{font-size:.85rem}
 .appointment-section{padding-block:75px}.appointment-layout{grid-template-columns:minmax(0,.7fr) minmax(0,1.5fr);gap:40px}.appointment-intro{position:sticky;top:120px}
 .appointment-layout .eyebrow{font-size:.7rem;margin-bottom:20px}.appointment-layout h2 br{display:initial}.appointment-intro>p:not(.eyebrow){font-size:.85rem}
 .red-rule{margin-block:24px}.appointment-layout .form-notice{padding:13px 16px;font-size:.75rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #appointment-demo input,#appointment-demo select,#appointment-demo textarea{font-size:.85rem;min-height:49px}#appointment-demo textarea{min-height:90px}
 #appointment-demo .tyre-fields{padding:22px}.form-actions{flex-direction:row;align-items:center;gap:24px}.form-actions>span{max-width:220px;text-align:left}
 .contact-section{padding-block:60px}.contact-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.contact-section .eyebrow{font-size:.7rem;margin-bottom:20px}.contact-details{grid-column:1/-1}
 .contact-hours dl{flex-direction:row;gap:25px}.contact-hours dl>div{display:block}.contact-hours dd{margin:6px 0 0;text-align:left}
 .footer-main{flex-wrap:nowrap;gap:25px}.site-footer .brand-name{display:none}.footer-main nav{width:auto;margin-left:auto}.footer-main .nav-list{display:flex;flex-wrap:wrap;gap:18px}
 .back-to-top{border-left:1px solid #404246;padding-left:30px}.footer-bottom{flex-direction:row;justify-content:space-between;gap:20px;padding-bottom:0}.mobile-appointment{display:none}
}
@media(min-width:960px){.appointment-section{padding-block:100px}.contact-layout{grid-template-columns:1fr 1.1fr 1fr;gap:30px}.contact-details{grid-column:auto;border:0;padding:0}.contact-hours{display:flex;align-items:start;gap:30px}.contact-hours h3{padding-top:4px}.contact-hours dl{margin:0}}
@media(min-width:1151px){.appointment-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);gap:70px}.contact-layout{gap:45px}.contact-hours,.contact-hours dl{gap:50px}.footer-main{gap:45px}.site-footer .brand-name{display:block}.footer-main .nav-list{gap:25px}}
@media(hover:hover){.map-preview:hover{border-color:var(--red);box-shadow:0 8px 24px #1113150a}.contact-actions a:hover,.phone-link:hover{color:var(--red-dark)}.footer-main a:hover{color:#ff6a73}}
@media(prefers-reduced-motion:reduce){.map-preview{transition:none}}
