:root{--ink:#1d252b;--muted:#626b70;--paper:#f4f5f3;--line:#dce0e1;--lime:#bd0f20;--accent:#bd0f20}
.concept-bar{background:#1d252b;color:#e3e7e8}.concept-bar span{color:#f3c9cf}.brand-mark>span{color:var(--accent)}.desktop-nav>a:not(.nav-contact):after{background:var(--accent)}.nav-contact{background:var(--ink);color:#fff}.nav-contact:hover{background:var(--accent)}.green-dot{background:var(--accent)}.highlight:after{background:#f3c9cf}.button:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.button.lime{background:var(--accent);color:#fff;border-color:var(--accent)}.button.lime:hover{background:#980e1c}.button.light:hover{background:#fff0f2;color:var(--ink);border-color:#fff0f2}.hero{min-height:580px}.hero-copy{padding-top:75px;padding-bottom:40px}.hero-copy>.eyebrow{font-size:11px;letter-spacing:.08em}.hero h1{font-size:clamp(40px,4.1vw,60px)}.hero-small{line-height:1.8}.hero-photo{position:relative}.hero-photo>img{object-position:65% center}.hero-photo:after{background:linear-gradient(90deg,var(--paper),transparent 18%)}.garage-photo-label{position:absolute;z-index:2;bottom:50px;left:45px;color:#fff;line-height:1.2;text-shadow:0 1px 15px #0008}.garage-photo-label span{display:block;font-size:10px;letter-spacing:.2em;margin-bottom:8px}.garage-photo-label strong{font-size:25px;letter-spacing:.07em}.photo-index{color:#fff;text-shadow:0 1px 7px #000;bottom:20px;font-size:8px}.garage-intro{padding-block:38px;border-bottom:1px solid var(--line)}.fact-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.fact-strip>div{display:flex;gap:18px;align-items:center}.fact-strip>div+div{border-left:1px solid var(--line);padding-left:40px}.fact-strip svg{width:32px;height:32px;color:var(--accent)}.fact-strip p{font-size:16px;font-weight:700;line-height:1.6}.fact-strip p span{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:6px}.garage-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:35px}.garage-service{position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 30px;transition:background .25s}.garage-service:hover{background:var(--paper)}.garage-service>svg{width:35px;height:35px;margin:12px 0 22px;color:var(--ink)}.service-index{font-size:10px;color:var(--muted);position:absolute;right:25px;top:25px}.garage-service h3{font-size:21px;line-height:1.6}.garage-service p{font-size:13px;line-height:1.9;color:var(--muted);margin:12px 0 28px}.garage-service>span:last-child{position:absolute;bottom:22px;right:25px;font-size:24px;transition:transform .25s}.garage-service:hover>span:last-child{transform:translate(3px,-3px)}.garage-about{background:var(--paper)}.about-copy>p:not(.body-lead){margin-top:20px;font-size:15px;line-height:2}.about-copy .button{margin-top:28px}.source-line{font-size:11px!important;line-height:1.9!important;color:var(--muted);margin-top:22px!important}.source-anchor{font-size:inherit;border-bottom:1px solid #a8b2a7;padding-bottom:2px}.source-anchor>span{font-size:13px}.tire-showcase{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:#fff}.tire-showcase-photo{position:relative;min-height:640px;overflow:hidden}.tire-showcase-photo>img{position:absolute;inset:0}.image-note{position:absolute;bottom:16px;right:22px;color:#fff;font-size:8px;letter-spacing:.12em;text-shadow:0 1px 7px #000;z-index:2}.tire-showcase-copy{padding:70px max(56px,calc((100vw - 1280px)/2)) 70px 55px}.tire-showcase-copy .eyebrow{font-size:9px;color:#f5cbd1;margin-bottom:22px}.tire-showcase-copy h2{font-size:32px;line-height:1.7}.tire-showcase-copy>p:not(.eyebrow){font-size:14px;line-height:2;margin-top:22px;color:#dae0da}.price-teaser{border-block:1px solid #ffffff30;margin:28px 0;padding:22px 0}.price-teaser>span{font-size:11px;color:#e0e8df}.price-teaser strong{display:block;font-size:46px;letter-spacing:-.03em;font-family:Arial,sans-serif;line-height:1.4}.price-teaser small{font-size:15px;font-family:inherit;margin-left:8px;letter-spacing:0}.price-teaser p{font-size:11px;line-height:1.9;max-width:420px;color:#d6dfd5}.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:30px}.portal-card{border:1px solid var(--line);padding:36px;display:flex;flex-direction:column;transition:background .25s,border-color .25s}.portal-card:hover{background:var(--paper);border-color:#b5bfb3}.portal-card .eyebrow{font-size:9px;color:var(--muted)}.portal-card h3{font-size:30px;margin:18px 0 12px;letter-spacing:.015em}.portal-card p{font-size:14px;color:var(--muted)}.portal-action{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);margin-top:28px;padding-top:22px;font-size:13px;font-weight:700}.portal-action span{font-size:25px}.order-note{display:flex;align-items:center;gap:28px;margin-top:45px;background:var(--paper);padding:35px}.order-note>div{flex:1}.order-note h3{font-size:19px}.order-note p{font-size:13px;color:var(--muted);margin-top:8px}.order-note .button{font-size:12px;padding:13px 18px}.garage-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:60px}.step-number{color:var(--accent)}.faq-list summary>span{color:var(--accent)}.contact-band{background:#eef0f1}.contact-inner h2{font-size:31px}.call-block{min-width:310px;text-align:left}.phone-number{font:500 34px/1.4 Arial,sans-serif;letter-spacing:.025em;display:inline-block;border-bottom:1px solid var(--ink);padding-bottom:5px;white-space:nowrap}.call-block>span{display:block;font-size:10px;color:var(--muted);margin-top:10px}.call-block .button{margin-top:23px;min-width:290px;background:var(--ink);color:#fff}.contact-phone{font-size:34px;margin-top:30px}footer .brand-mark>span{color:#f28c98}.rate-section{background:var(--paper)}.rate-wrap{max-width:940px}.rate-heading{margin-bottom:30px}.rate-heading .eyebrow{color:var(--accent);margin-bottom:12px}.rate-heading>p:last-child{font-size:13px;color:var(--muted);margin-top:12px}.rate-table{width:100%;border-collapse:collapse;background:#fff;font-size:16px;text-align:left}.rate-table th,.rate-table td{border-bottom:1px solid var(--line);padding:20px 28px}.rate-table thead th{background:var(--ink);color:#fff;font-size:13px;font-weight:500}.rate-table tbody th{font-size:16px;font-weight:500}.rate-table td{font:600 28px Arial,sans-serif;text-align:right}.rate-table small{font-size:12px;font-weight:400;margin-left:7px}.rate-conditions{margin-top:35px}.rate-conditions h3{font-size:20px;margin-bottom:15px}.rate-conditions p{font-size:14px;line-height:2;color:#53605d}.info-columns{display:grid;grid-template-columns:1fr 1fr;gap:65px}.info-columns h3{font-size:23px;margin-bottom:18px}.info-columns p{font-size:15px;line-height:2;color:var(--muted);margin-top:18px}.service-consult{max-width:920px}.service-consult h2{font-size:30px}.service-consult>p:not(.note):not(.source-line){font-size:16px;margin:20px 0 28px}.service-consult .note{max-width:750px}.review-links{display:flex;flex-direction:column;gap:20px;align-items:start}.map-preview{margin-top:25px;background:var(--paper);border:1px solid var(--line)}.map-preview iframe{display:block}.mast-photo{position:relative}.contact-layout .text-link{display:flex;font-size:13px;margin-top:18px}.contact-source .source-line{margin-top:16px!important}.check-list{font-size:16px;line-height:2}.check-list li{align-items:start}.check-list svg{margin-top:6px;color:var(--accent)}.consent{display:flex;gap:12px;align-items:center;line-height:1.8;font-size:13px;font-weight:400}.consent input{width:18px;height:18px;margin:0;flex:none;accent-color:var(--accent)}
@media(max-width:1150px){.hero-copy{padding-top:55px}.hero h1{font-size:46px}.fact-strip{gap:24px}.fact-strip>div+div{padding-left:24px}.fact-strip p{font-size:14px}.garage-service{padding:28px 24px}.garage-service h3{font-size:18px}.tire-showcase-copy{padding:55px 36px}.tire-showcase-copy h2{font-size:28px}.tire-showcase-photo{min-height:650px}.order-note{flex-wrap:wrap}.order-note>div{min-width:250px}.call-block{min-width:270px}.call-block .button{min-width:250px}.phone-number{font-size:30px}}
@media(max-width:900px){.hero-copy>.eyebrow{font-size:9px}.fact-strip{gap:20px}.fact-strip>div{gap:12px}.fact-strip>div+div{padding-left:20px}.fact-strip p{font-size:13px}.fact-strip svg{width:25px}.fact-strip p span{font-size:10px}.garage-services{grid-template-columns:1fr 1fr}.tire-showcase{grid-template-columns:1fr}.tire-showcase-photo{min-height:340px;height:340px}.tire-showcase-copy{padding:50px 36px}.tire-showcase-copy .button{min-width:260px}.price-teaser{max-width:650px}.price-teaser p{max-width:650px}.garage-steps{gap:30px}.contact-inner h2{font-size:27px}.call-block{min-width:250px}.phone-number{font-size:28px}.info-columns{gap:35px}}
@media(max-width:600px){.concept-bar{font-size:8px;gap:7px}.concept-bar span{font-size:6px;letter-spacing:.02em}.hero-copy{padding:20px 20px 28px}.hero h1{font-size:clamp(32px,9.4vw,40px)}.hero-copy>.eyebrow{font-size:9px;letter-spacing:.03em;line-height:1.9;margin-bottom:16px}.hero .actions{grid-template-columns:1fr 1fr}.hero .button{font-size:11px;padding-inline:11px;gap:5px}.hero-photo{height:240px}.hero-photo>img{object-position:63% center}.hero-photo:after{background:linear-gradient(0deg,var(--paper),transparent 16%)}.garage-photo-label{left:20px;bottom:32px}.garage-photo-label span{font-size:7px}.garage-photo-label strong{font-size:17px}.photo-index{font-size:6px;bottom:14px;right:18px}.garage-intro{padding-block:25px}.fact-strip{grid-template-columns:1fr;gap:18px}.fact-strip>div+div{border-left:0;padding-left:0}.fact-strip>div{gap:16px}.fact-strip p{font-size:14px}.fact-strip p span{display:inline;font-size:11px;margin-left:12px}.fact-strip svg{width:25px;height:25px}.garage-services{grid-template-columns:1fr;margin-top:28px}.garage-service{padding:22px 24px 24px 80px;min-height:145px}.garage-service>svg{position:absolute;left:23px;top:22px;width:30px;height:30px;margin:0}.garage-service h3{font-size:20px;padding-right:25px}.garage-service p{font-size:14px;margin:10px 15px 0 0}.service-index{top:16px;right:18px;font-size:9px}.garage-service>span:last-child{bottom:15px;right:18px;font-size:22px}.about-copy>p:not(.body-lead){font-size:16px;line-height:2}.source-line{font-size:11px!important}.tire-showcase-photo{height:270px;min-height:270px}.tire-showcase-copy{padding:38px 20px 44px}.tire-showcase-copy h2{font-size:27px}.tire-showcase-copy>p:not(.eyebrow){font-size:15px}.price-teaser{margin:25px 0}.price-teaser>span{font-size:11px}.price-teaser strong{font-size:45px}.price-teaser p{font-size:12px;line-height:1.9}.portal-grid{grid-template-columns:1fr;gap:20px}.portal-card{padding:27px}.portal-card h3{font-size:27px}.portal-card p{font-size:15px}.portal-action{font-size:13px;gap:14px;line-height:1.8}.order-note{padding:27px 23px;gap:18px;align-items:start}.order-note>div{min-width:0;flex-basis:calc(100% - 50px)}.order-note h3{font-size:18px}.order-note p{font-size:14px}.order-note .button{width:100%;font-size:13px}.garage-steps{grid-template-columns:1fr;gap:35px}.garage-steps li{padding:25px 0 0 55px;min-height:100px}.garage-steps svg{position:absolute;left:0;top:27px;width:30px;height:30px}.garage-steps h3{font-size:18px}.garage-steps p{font-size:15px;margin-top:8px}.contact-inner h2{font-size:25px;line-height:1.7}.call-block{min-width:0;margin-top:30px}.phone-number{font-size:31px}.call-block .button{margin-top:20px}.contact-inner .button{margin-top:20px}.call-block>span{font-size:10px}.rate-table th,.rate-table td{padding:18px}.rate-table tbody th{font-size:15px}.rate-table td{font-size:25px}.rate-table small{font-size:11px;margin-left:4px}.rate-conditions p{font-size:14px}.rate-conditions h3{font-size:20px}.info-columns{grid-template-columns:1fr;gap:35px}.info-columns p{font-size:16px}.service-consult h2{font-size:25px}.service-consult .button{width:100%;font-size:13px}.contact-phone{font-size:30px}.contact-layout form{min-width:0}.contact-layout form>.button{font-size:13px}.consent{font-size:12px}.check-list{font-size:15px}.review-links .text-link{font-size:13px}.map-preview iframe{height:260px}}
@media(max-width:360px){.hero-copy{padding-inline:18px}.hero h1{font-size:31px}.hero .button{font-size:10px;padding-inline:9px}.hero-copy>.eyebrow{font-size:8px}.fact-strip p span{font-size:10px;margin-left:9px}.garage-service{padding-left:67px}.garage-service h3{font-size:18px}.garage-service>svg{left:19px;width:28px}.phone-number{font-size:28px}.concept-bar{font-size:7px}.portal-action{font-size:12px}.rate-table th,.rate-table td{padding:15px 13px}.rate-table td{font-size:23px}}
@media(min-width:601px) and (max-width:900px){.hero-copy{padding:30px 36px 40px}.hero-photo{height:360px}.hero-photo>img{object-position:65% center}.hero-photo:after{background:linear-gradient(0deg,var(--paper),transparent 15%)}}

@media(max-width:600px){.hero .button{font-size:14px}}
@media(max-width:360px){.hero .button{font-size:14px}}

.rate-heading .rate-applies{font-size:14px;line-height:1.9;color:#891424;margin-top:18px}

/* Car-led hero: keep the whole vehicle readable at narrow sizes. */
.hero-car .hero-photo>img{object-position:center center}.hero-car .photo-index{font-size:10px;letter-spacing:.02em}
@media(min-width:901px) and (max-width:1280px){.hero-car .hero-photo{height:auto;aspect-ratio:3/2;align-self:center;width:100%}}
@media(max-width:900px){.hero-car .hero-photo{height:auto;aspect-ratio:3/2}.hero-car .hero-photo>img{position:absolute;inset:0;object-position:center center}}
@media(max-width:600px){.hero-car .photo-index{font-size:8px;right:12px;bottom:13px}}

/* Sign-led red: white and charcoal remain dominant; red marks actions and details. */
:root{--accent:#bd0f20;--accent-hover:#980e1c;--accent-soft:#f3c9cf;--lime:var(--accent)}
.hero-lc h1{font-size:clamp(40px,3.8vw,58px);letter-spacing:.015em;line-height:1.6}
.hero-lc .button.dark,.nav-contact{background:var(--accent);border-color:var(--accent);color:#fff}
.hero-lc .button.dark:hover,.nav-contact:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.hero-lc .hero-copy>.eyebrow{font-size:11px;letter-spacing:.06em}.hero-lc .highlight:after{background:var(--accent-soft)}
.portal-logo{height:64px;display:flex;align-items:center;margin:18px 0 12px}.portal-logo img{width:auto;height:auto;max-width:100%;max-height:46px;object-fit:contain;object-position:left center}
.form-demo span{color:#fff}.call-block .button:hover{background:var(--accent);border-color:var(--accent);color:#fff}
footer .footer-top nav a:hover,footer .footer-top nav a:focus-visible{color:#ff9ba8}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:var(--accent)}
form>label>span{color:var(--accent)}
@media(max-width:600px){.hero-lc h1{font-size:clamp(27px,8.5vw,34px)}.hero-lc .hero-copy>.eyebrow{font-size:10px;letter-spacing:.02em}.hero-lc .hero-photo .photo-index{font-size:7px}.portal-logo{height:56px}.portal-logo img{max-height:40px}}
@media(max-width:360px){.hero-lc h1{font-size:27px}.hero-lc .hero-copy>.eyebrow{font-size:9px}}
@media(max-width:360px){.mobile-cta .button{font-size:12px;padding-inline:10px;gap:5px;white-space:nowrap}}

.portal-logo{height:82px}.portal-logo img[src$=".svg"]{width:204px;max-height:76px}
.portal-logo img[src$="goo-net-logo.png"]{width:280px;max-height:76px}
@media(max-width:600px){.portal-logo{height:72px}.portal-logo img[src$=".svg"]{width:175px;max-height:65px}}
@media(max-width:600px){.portal-logo img[src$="goo-net-logo.png"]{width:235px;max-height:65px}}

/* User-supplied company identity; original letterforms and colours preserved. */
.brand-image{display:block;width:286px;height:auto;object-fit:contain}.site-header .brand{min-width:0;flex-shrink:1}.site-header .brand-image{max-width:100%}
footer .brand{background:#fff;padding:13px 16px;border-radius:2px}footer .brand-image{width:268px}
@media(max-width:1150px){.site-header .brand-image{width:240px}}
@media(min-width:901px) and (max-width:1050px){.site-header .brand-image{width:220px}}
@media(max-width:600px){.site-header .brand-image{width:220px;max-width:calc(100vw - 140px)}footer .brand{padding:12px 14px}footer .brand-image{width:250px;max-width:calc(100vw - 76px)}}
@media(max-width:360px){.site-header .brand-image{width:190px;max-width:calc(100vw - 130px)}}

/* Inventory follows the hero; short portrait screens reserve room for both CTAs. */
.about-evidence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:28px 0 0;padding-top:24px;border-top:1px solid var(--line)}
.about-evidence>div{display:grid;grid-template-columns:26px 1fr;column-gap:12px;align-content:start}.about-evidence svg{width:24px;height:24px;color:var(--accent);grid-row:1/3}.about-evidence dt{font-size:15px;font-weight:700;line-height:1.7}.about-evidence dd{font-size:14px;line-height:1.8;color:var(--muted);margin:6px 0 0}
.brand-opening{position:fixed;inset:0;z-index:99990;background:#fff;display:flex;align-items:center;justify-content:center;overscroll-behavior:contain;touch-action:none}
.brand-opening>img{width:min(440px,76vw);height:auto;object-fit:contain}.opening-skip{position:absolute;right:26px;bottom:26px;border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 18px;font-size:12px;cursor:pointer}
@media(max-width:600px){.about-evidence{grid-template-columns:1fr;gap:20px}.opening-skip{right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){.brand-opening{display:none!important}}
.home-stock{scroll-margin-top:112px}.home-stock .section-lead{max-width:760px}
#inquiry-form [data-reply-field][hidden]{display:none!important}
#inquiry-form .field-hint{font-size:13px;line-height:1.8;color:var(--muted);margin:-8px 0 22px}
#inquiry-form button:disabled{opacity:.6;cursor:not-allowed}
@media(max-width:600px){.home-stock{padding-top:42px;scroll-margin-top:90px}}
@media(max-width:600px) and (max-height:740px){
 .hero-lc .hero-photo{height:clamp(140px,calc(100vh - 420px - env(safe-area-inset-bottom,0px)),210px);height:clamp(140px,calc(100svh - 420px - env(safe-area-inset-bottom,0px)),210px);aspect-ratio:auto}
 .hero-lc .hero-photo>img{object-position:center 65%}
 .hero-lc .hero-copy{padding:12px 18px 18px}
 .hero-lc .hero-copy>.eyebrow{margin-bottom:8px}
 .hero-lc h1{line-height:1.35}
 .hero-lc .hero-lead{font-size:14px;line-height:1.75;margin:10px 0 12px}
 .hero-lc .actions .button{min-height:48px;padding-block:12px}
 .hero-lc .hero-small{display:none}
}

/* Keep the right-to-left entrance inside each photograph frame. */
.hero-photo,.mast-photo{overflow:hidden}
.page-mast .image-note{font-size:10px;line-height:1.5;max-width:calc(100% - 30px)}

/* Calm entrance: layout boxes never move. CSS also works without JavaScript. */
@keyframes msp-photo-enter{from{opacity:0;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
@keyframes msp-copy-enter{from{opacity:0}to{opacity:1}}
@keyframes msp-opening-screen{0%{opacity:1;transform:translateY(0)}75%{opacity:1;transform:translateY(0);animation-timing-function:cubic-bezier(.22,1,.36,1)}100%{opacity:1;transform:translateY(-102%)}}
@keyframes msp-opening-logo{from{opacity:0}to{opacity:1}}
.hero-photo>img,.mast-photo>img{animation:msp-photo-enter 1000ms cubic-bezier(.22,1,.36,1) both;transform-origin:center center}
.hero h1,.mast-copy h1{animation:msp-copy-enter 650ms cubic-bezier(.22,1,.36,1) 200ms both}
.hero-lead,.hero .actions,.mast-copy>p:last-child{animation:msp-copy-enter 650ms cubic-bezier(.22,1,.36,1) 250ms both}
.brand-opening{display:none}
html.msp-opening{overflow:hidden;scrollbar-gutter:stable}
html.msp-opening::before{content:"";position:fixed;inset:0;background:#fff;z-index:99989;pointer-events:auto}
html.msp-opening:has(.brand-opening)::before{display:none}
html.msp-opening .brand-opening{display:flex;animation:msp-opening-screen 2000ms linear both}
html.msp-opening .brand-opening>img{animation:msp-opening-logo 400ms cubic-bezier(.22,1,.36,1) both;transform:none}
html.msp-intro-hold .hero-photo>img,html.msp-intro-hold .mast-photo>img,html.msp-intro-hold .hero h1,html.msp-intro-hold .mast-copy h1,html.msp-intro-hold .hero-lead,html.msp-intro-hold .hero .actions,html.msp-intro-hold .mast-copy>p:last-child{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){
 .hero-photo>img,.mast-photo>img,.hero h1,.mast-copy h1,.hero-lead,.hero .actions,.mast-copy>p:last-child{animation:none!important;opacity:1!important;transform:none!important}
 html.msp-opening::before,.brand-opening{display:none!important}
}

.msp-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.msp-contact-status{grid-column:1/-1;border-left:3px solid var(--accent);padding:16px 20px;background:var(--paper)}

/* Brand interaction: precise red accents, no card movement. */
.garage-service{transition:background-color .22s ease}
.garage-service:hover{background:transparent}
.garage-service::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left center;transition:transform .22s cubic-bezier(.22,1,.36,1);pointer-events:none}
.garage-service h3,.garage-service>svg,.garage-service .service-index{transition:color .22s ease}
.garage-service>span:last-child{display:inline-flex;align-items:center;gap:10px;font-size:0;line-height:1;color:var(--accent);transform:none!important}
.garage-service>span:last-child::before{content:"詳しく見る";font-size:12px;font-weight:600;letter-spacing:.04em}
.garage-service>span:last-child::after{content:"→";font-size:20px;font-weight:400;line-height:1;transition:transform .22s cubic-bezier(.22,1,.36,1)}
.garage-service:focus-visible{background:#fff7f8;outline:2px solid var(--accent);outline-offset:-2px}
.garage-service:focus-visible h3,.garage-service:focus-visible>svg,.garage-service:focus-visible .service-index{color:var(--accent)}
.garage-service:focus-visible::after{transform:scaleX(1)}
.garage-service:focus-visible>span:last-child::after{transform:translateX(4px)}
.portal-card .text-link{color:var(--accent)}
.portal-card:focus-visible{background:#fff7f8;border-color:#e3a0aa;outline:2px solid var(--accent);outline-offset:-2px}
.journal-card:focus-visible h3,.service-strip:focus-visible h3{color:var(--accent)}
.journal-card h3>span{font-size:0}.journal-card h3>span::after{content:"→";font-size:24px;color:var(--accent)}
.desktop-nav>a:not(.nav-contact):focus-visible{color:var(--accent)}
@media(hover:hover) and (pointer:fine){
 .garage-service:hover{background:#fff7f8}
 .garage-service:hover h3,.garage-service:hover>svg,.garage-service:hover .service-index{color:var(--accent)}
 .garage-service:hover::after{transform:scaleX(1)}
 .garage-service:hover>span:last-child::after{transform:translateX(4px)}
 .portal-card:hover{background:#fff7f8;border-color:#e3a0aa;box-shadow:inset 0 -2px 0 var(--accent)}
 .journal-card:hover h3,.service-strip:hover h3{color:var(--accent)}
 .desktop-nav>a:not(.nav-contact):hover{color:var(--accent)}
}
@media(max-width:600px){.garage-service{padding-bottom:48px}.garage-service>span:last-child{bottom:18px;right:22px}.garage-service>span:last-child::before{font-size:12px}}
@media(prefers-reduced-motion:reduce){.garage-service,.garage-service::after,.garage-service h3,.garage-service>svg,.garage-service>span:last-child::after,.portal-card{transition:none!important}.garage-service>span:last-child::after{transform:none!important}}

/* Shared interactive language: red emphasis, 4px horizontal arrows, 220ms. */
:root{--msp-ui-time:220ms;--msp-ui-ease:cubic-bezier(.22,1,.36,1)}
.portal-card,.journal-card{position:relative;transition:background-color var(--msp-ui-time) ease,border-color var(--msp-ui-time) ease}
.portal-card::after,.journal-card::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left center;transition:transform var(--msp-ui-time) var(--msp-ui-ease);pointer-events:none}
.portal-card .portal-action{color:var(--accent);transition:border-color var(--msp-ui-time) ease}
.portal-card .portal-action>span[aria-hidden=true],.button>span[aria-hidden=true],.nav-contact>span[aria-hidden=true],.text-link>span[aria-hidden=true],.map-link>span[aria-hidden=true],.journal-card h3>span[aria-hidden=true]{display:inline-block;font-size:0;transform:none;transition:transform var(--msp-ui-time) var(--msp-ui-ease)}
.portal-card .portal-action>span[aria-hidden=true]::after,.button>span[aria-hidden=true]::after,.nav-contact>span[aria-hidden=true]::after,.text-link>span[aria-hidden=true]::after,.map-link>span[aria-hidden=true]::after,.journal-card h3>span[aria-hidden=true]::after{content:"→";font-size:20px;font-weight:400;line-height:1}
.portal-card:focus-visible,.journal-card:focus-visible{background:#fff7f8;outline:2px solid var(--accent);outline-offset:-2px}
.portal-card:focus-visible::after,.journal-card:focus-visible::after{transform:scaleX(1)}
.portal-card:focus-visible .portal-action>span,.journal-card:focus-visible h3>span,.text-link:focus-visible>span[aria-hidden=true],.map-link:focus-visible>span[aria-hidden=true],.button:focus-visible>span[aria-hidden=true],.nav-contact:focus-visible>span[aria-hidden=true]{transform:translateX(4px)}
.text-link:focus-visible,.map-link:focus-visible,footer nav a:focus-visible,.phone-number:focus-visible,.menu-toggle:focus-visible,.faq-list summary:focus-visible{color:var(--accent);outline:2px solid var(--accent);outline-offset:4px}
.button:focus-visible,.nav-contact:focus-visible{background:var(--accent);border-color:var(--accent);color:#fff;outline:2px solid var(--accent);outline-offset:3px}
#inquiry-form input:focus,#inquiry-form select:focus,#inquiry-form textarea:focus{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}
#inquiry-form input[type=checkbox]{accent-color:var(--accent)}
@media(hover:hover) and (pointer:fine){
 .portal-card:hover,.journal-card:hover{background:#fff7f8;box-shadow:none}
 .portal-card:hover{border-color:var(--line)}
 .portal-card:hover::after,.journal-card:hover::after{transform:scaleX(1)}
 .portal-card:hover .portal-action{border-color:#e9b9c1}
 .portal-card:hover .portal-action>span,.journal-card:hover h3>span,.text-link:hover>span[aria-hidden=true],.map-link:hover>span[aria-hidden=true],.button:hover>span[aria-hidden=true],.nav-contact:hover>span[aria-hidden=true]{transform:translateX(4px)}
 .journal-card:hover img{transform:none}
 .text-link:hover,.map-link:hover,footer nav a:hover,.phone-number:hover,.menu-toggle:hover,.faq-list summary:hover{color:var(--accent)}
 .button.light:hover,.contact-inner .button:hover,.button.dark:hover,.button.outline:hover,.nav-contact:hover{background:var(--accent);border-color:var(--accent);color:#fff}
 .button.lime:hover{background:#980e1c;border-color:#980e1c;color:#fff}
}
@media(prefers-reduced-motion:reduce){.portal-card,.journal-card,.portal-card::after,.journal-card::after,.portal-action,.portal-action>span,.button>span,.nav-contact>span,.text-link>span,.map-link>span,.journal-card h3>span{transition:none!important}.portal-action>span,.button>span[aria-hidden=true],.nav-contact>span,.text-link>span,.map-link>span,.journal-card h3>span{transform:none!important}}

.button{transition:background-color var(--msp-ui-time) ease,color var(--msp-ui-time) ease,border-color var(--msp-ui-time) ease}
.button:hover,.button:focus-visible{transform:none}
.journal-card h3,.text-link,.map-link,.footer-top nav a,.phone-number,.menu-toggle,.faq-list summary{transition:color var(--msp-ui-time) ease,border-color var(--msp-ui-time) ease}
@media(hover:hover) and (pointer:fine){.footer-top nav a:hover{color:var(--accent)}}
@media(prefers-reduced-motion:reduce){.button,.journal-card h3,.text-link,.map-link,.footer-top nav a,.phone-number,.menu-toggle,.faq-list summary{transition:none!important}}

main a:not([class]){transition:color var(--msp-ui-time) ease}main a:not([class]):focus-visible{color:var(--accent);outline:2px solid var(--accent);outline-offset:3px}@media(hover:hover) and (pointer:fine){main a:not([class]):hover{color:var(--accent)}}@media(prefers-reduced-motion:reduce){main a:not([class]){transition:none!important}}
