/* Keep the decorative red stripe behind every contact-band child. */
.hero{height:calc(100svh - 94px)}
.footer-map{padding-top:0!important}
.contact-band-media{position:absolute;inset:-30% 0;z-index:-3;will-change:transform;pointer-events:none}
.contact-band-media img{width:100%;height:100%;object-fit:cover;object-position:center 53%;display:block}
.contact-band::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080d14e8,#0b121dcc 55%,#080e16b5);z-index:-2;pointer-events:none}
.desktop-menu-tab{background:linear-gradient(155deg,#ff5b68 0%,#ed2039 42%,#a90f32 100%)!important;transition:filter .25s,box-shadow .25s}
.desktop-menu-tab:hover{filter:brightness(1.12);width:54px!important}
.desktop-menu-tab>span:last-child{white-space:nowrap}
.desktop-menu{padding:0!important;overflow:visible!important}
.drawer-panel{height:100%;overflow-y:auto;padding:30px 34px}
.desktop-menu-close-tab{position:absolute!important;left:-54px;right:auto!important;background:linear-gradient(155deg,#70b6ff 0%,#297bce 45%,#194987 100%)!important}
.desktop-menu-close-tab .menu-tab-lines i:first-child{transform:translateY(3px) rotate(45deg)}
.desktop-menu-close-tab .menu-tab-lines i:last-child{transform:translateY(-3px) rotate(-45deg)}
@media(max-width:1200px){.hero{height:690px}}
@media(max-width:760px){.hero{height:730px}.contact-band-media{inset:-18% 0}}
@media(prefers-reduced-motion:reduce){.contact-band-media{transform:none!important;will-change:auto}}
.contact-band{isolation:isolate}
.contact-band::after{z-index:-1;pointer-events:none}
.contact-band-inner{position:relative;z-index:1}
.contact-band .eyebrow{color:#ff919a}
.contact-band p:not(.eyebrow){color:#e1e4e6}
.hero h1>span,.hero h1>em{display:inline-block}
.motion-toggle[hidden]{display:none}
html.drawer-open{overflow:hidden}
.footer-map{background:#f4f5f3;padding-top:35px}
.footer-map-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:28px}
.footer-map-heading h2{font-size:23px;margin:7px 0}
.footer-map-heading p:not(.eyebrow){font-size:12px;color:#657076}
.footer-map-heading .text-link{white-space:nowrap;font-size:12px}
.footer-map iframe{display:block;width:100%;height:360px}
@media(max-width:760px){.footer-map-heading{display:block}.footer-map-heading h2{font-size:21px}.footer-map-heading p:not(.eyebrow){font-size:11px}.footer-map-heading .text-link{margin-top:15px}.footer-map iframe{height:300px}}
.service-scope{display:flex;flex-wrap:wrap;gap:9px;margin:-8px 0 30px;padding:0;list-style:none}
.service-scope li{padding:6px 12px;border:1px solid #dadddd;font-size:11px;color:#586168;background:#fff}
.repair-scope{margin-top:45px;padding:30px 35px;background:var(--paper);border-left:3px solid var(--red)}
.repair-scope h3{font-size:21px;margin-bottom:12px}
.repair-scope p{font-size:13px;color:#657076;line-height:2}
.repair-scope .text-link{margin-top:14px}
@media(max-width:760px){.service-scope{gap:7px;margin:0 0 25px}.service-scope li{font-size:10px;padding:5px 9px}.repair-scope{padding:25px 22px;margin-top:30px}.repair-scope h3{font-size:19px}.repair-scope p{font-size:12px}}

/* Photographic subpage introductions. */
.page-hero{background:#171b1e;color:#fff;padding:25px 0 70px;min-height:340px}
.page-hero-media{position:absolute;inset:0;z-index:-3;display:flex;overflow:hidden}
.page-hero-media img{width:100%;height:100%;object-fit:cover;object-position:72% 54%}
.page-hero-media.is-pair img{width:50%}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(8,13,16,.88),rgba(8,13,16,.52) 55%,rgba(8,13,16,.18)),linear-gradient(0deg,rgba(8,13,16,.35),transparent)}
.page-hero .breadcrumb{color:#d0d5d8}.page-hero .breadcrumb a:hover{color:#fff}.page-hero>.container>.eyebrow{color:#ff7580}.page-hero h1{font-weight:750;text-shadow:0 2px 25px #0003}.page-hero .page-intro{color:#e0e4e6;max-width:700px}.page-hero-word{color:rgba(255,255,255,.06);bottom:-18px}.page-hero .image-note{position:absolute;right:30px;bottom:12px;color:#e3e6e8;font-size:9px}

/* Clearly identified demonstration purchase cases. */
.purchase-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:28px}.purchase-intro h2{font-size:31px;line-height:1.65;margin-top:20px}.purchase-intro .text-link{white-space:nowrap}.demo-disclosure{border-left:3px solid #c98523;background:#faf5eb;color:#726144;padding:14px 18px;font-size:12px;line-height:1.9;margin-bottom:30px}.demo-disclosure strong{font-weight:700;color:#625130}.purchase-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.purchase-card{border:1px solid var(--line);background:#fff;min-width:0}.purchase-photo{display:block;position:relative;overflow:hidden;aspect-ratio:1.95;background:#24292c}.purchase-photo img{height:100%;width:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.75,.2,1)}.purchase-card:first-child .purchase-photo img{object-position:72% 60%}.purchase-photo:hover img{transform:scale(1.045)}.demo-tag{position:absolute;top:18px;left:20px;padding:5px 12px;background:#fff;color:#373e42;font-size:10px;letter-spacing:.04em;box-shadow:0 2px 15px #0002}.purchase-body{padding:30px}.purchase-category{font:600 10px Arial,sans-serif;letter-spacing:.15em;color:var(--red);margin-bottom:12px}.purchase-body h3{font-size:24px;line-height:1.65;margin:0 0 15px}.purchase-name{font-size:14px;font-weight:650}.purchase-specs{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:#686e71;margin-top:9px}.purchase-specs>span{background:var(--paper);padding:4px 9px}.purchase-price{margin:25px 0 0;padding:22px 0 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.purchase-price>div>span{display:block;font-size:12px;font-weight:650}.purchase-price>div>small{display:block;color:#867458;font-size:10px;margin-top:4px}.purchase-price>strong{font:600 54px/.95 Arial,sans-serif;letter-spacing:-.04em;color:var(--red);white-space:nowrap}.purchase-price>strong>span{font-family:var(--font);font-size:18px;margin-left:7px;letter-spacing:0}.purchase-scenario{font-size:13px;line-height:2.1;color:#657076;margin-top:23px}.purchase-message{font-size:13px;line-height:2;font-weight:600;margin-top:18px}.purchase-body>.button{margin-top:25px;width:100%;font-size:12px}.purchase-footnote{font-size:10px;line-height:1.85;color:#81765f;margin-top:18px}.cases-home .purchase-cards .purchase-body h3{font-size:22px}.purchase-read-more{display:flex;justify-content:center;margin-top:34px}.purchase-contact-note{margin-top:60px;text-align:center;background:var(--paper);padding:45px}.purchase-contact-note h2{font-size:25px;margin-bottom:14px}.purchase-contact-note h2 span{color:var(--red)}.purchase-contact-note p{font-size:13px;color:#687177}.purchase-contact-note .button{margin-top:25px}

/* Desktop right-edge navigation requested in the reference. */
.desktop-menu-tab{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:44;width:54px;min-height:176px;border:0;border-radius:7px 0 0 7px;background:var(--red);color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:22px;box-shadow:-5px 3px 22px #0002}.desktop-menu-tab:hover{background:#b91b29;width:60px}.desktop-menu-tab>span:last-child{writing-mode:vertical-rl;font:700 12px Arial,sans-serif;letter-spacing:.25em}.menu-tab-lines{width:20px;display:grid;gap:5px}.menu-tab-lines i{display:block;height:1px;background:#fff}.desktop-menu{position:fixed;inset:0 0 0 auto;margin:0;width:410px;max-width:100vw;height:100dvh;max-height:none;border:0;padding:30px 34px;background:#fff;color:var(--ink);overflow-y:auto;box-shadow:-15px 0 70px #0002}.desktop-menu[open]{animation:drawer-in .35s cubic-bezier(.2,.7,.2,1) both}.desktop-menu::backdrop{background:#090e13a8;backdrop-filter:blur(3px)}.drawer-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.drawer-heading h2{font:700 13px Arial,sans-serif;letter-spacing:.2em;color:var(--red)}.drawer-close{border:1px solid var(--line);background:#fff;width:40px;height:40px;display:grid;place-items:center;font:28px Arial,sans-serif}.drawer-close:hover{background:var(--paper)}.drawer-brand{display:block;margin-bottom:30px}.drawer-brand img{width:285px;height:auto}.drawer-nav{display:grid;border-top:1px solid var(--line)}.drawer-nav>a{display:flex;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px;font-weight:600;transition:color .2s,padding .2s}.drawer-nav>a>span{font:10px Arial,sans-serif;color:#a2a8ac}.drawer-nav .icon{margin-left:auto;width:17px;height:17px}.drawer-nav>a:hover,.drawer-nav>a[aria-current=page]{color:var(--red);padding-left:6px}.drawer-contact{margin-top:30px}.drawer-contact>.button{width:100%;font-size:12px}.drawer-phone{display:flex;align-items:center;justify-content:center;gap:12px;font:27px Arial,sans-serif;margin-top:23px}.drawer-contact>p{font-size:10px;color:#798186;text-align:center;margin-top:10px}@keyframes drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}

/* Motion is progressively enabled; content stays visible without JavaScript. */
.motion-toggle{position:absolute;right:56px;bottom:96px;z-index:4;display:flex;align-items:center;gap:9px;border:1px solid #ffffff65;padding:8px 12px;background:#10171e66;color:#fff;backdrop-filter:blur(5px);font-size:10px;line-height:1.4;cursor:pointer}.motion-toggle:hover{background:#10171ecc}.motion-toggle-icon{width:9px;height:10px;border-left:2px solid currentColor;border-right:2px solid currentColor}.motion-toggle[aria-pressed=true] .motion-toggle-icon{height:0;width:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:0;border-left:8px solid currentColor}.motion-ready .hero-image{transform-origin:68% 57%;animation:bmw-drift 14s ease-in-out infinite alternate;will-change:transform}.motion-paused .hero-image,.hero.motion-offscreen .hero-image{animation-play-state:paused}.motion-ready .hero::after{content:"";position:absolute;z-index:-1;inset:-40% auto -40% -80%;width:30%;pointer-events:none;background:linear-gradient(90deg,transparent,#ffffff0b,transparent);transform:skewX(-24deg);animation:hero-light-pass 1.6s .35s ease-out both}.motion-paused .hero::after{display:none}.motion-ready .site-header{transition:box-shadow .3s,background .3s}.site-header.is-scrolled{box-shadow:0 5px 28px #00000012}.scroll-progress{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--red);transform:scaleX(0);transform-origin:left;pointer-events:none}.motion-ready .button{position:relative;overflow:hidden}.motion-ready .button>.icon{transition:transform .3s}.motion-ready .button:hover>.icon{transform:translateX(4px)}.motion-ready .service-card{transition:transform .4s,box-shadow .4s}.motion-ready .service-card:hover{transform:translateY(-6px);box-shadow:0 16px 35px #12191d10}.motion-ready .quick-nav a>.icon{transition:transform .3s}.motion-ready .quick-nav a:hover>.icon{transform:translate(2px,-2px)}
@keyframes bmw-drift{from{transform:scale(1.015) translateX(0)}to{transform:scale(1.095) translateX(-.6%)}}
@keyframes hero-light-pass{from{left:-80%}to{left:150%}}
@media(max-width:1200px){.desktop-menu-tab{display:none}.page-hero{min-height:325px}.purchase-intro h2{font-size:27px}.purchase-body{padding:25px}.purchase-body h3{font-size:21px}.purchase-price>strong{font-size:48px}.motion-toggle{right:32px}}
@media(max-width:760px){.page-hero{min-height:300px;padding:20px 0 52px}.page-hero::before{background:linear-gradient(90deg,#0d1316d9,#0d131675),linear-gradient(0deg,#0d131670,transparent)}.page-hero-media img{object-position:65% center}.page-hero .image-note{right:20px;bottom:9px;font-size:8px}.page-hero .page-intro{font-size:12px;max-width:300px}.purchase-intro{display:block;margin-bottom:24px}.purchase-intro h2{font-size:25px}.purchase-intro .text-link{margin-top:15px}.demo-disclosure{font-size:11px;padding:12px 14px;margin-bottom:24px}.purchase-cards{grid-template-columns:1fr;gap:28px}.purchase-body{padding:23px}.purchase-body h3,.cases-home .purchase-cards .purchase-body h3{font-size:21px}.purchase-name{font-size:13px}.purchase-photo{aspect-ratio:1.65}.demo-tag{font-size:9px;top:14px;left:15px}.purchase-price{gap:15px;margin-top:22px;padding:20px 0}.purchase-price>div>span{font-size:11px}.purchase-price>strong{font-size:49px}.purchase-price>strong>span{font-size:16px}.purchase-scenario,.purchase-message{font-size:12px}.purchase-footnote{font-size:10px}.purchase-contact-note{padding:30px 20px;margin-top:40px}.purchase-contact-note h2{font-size:21px;line-height:1.8}.purchase-contact-note p{font-size:12px}.motion-toggle{right:20px;bottom:149px;font-size:9px;padding:7px 10px}.motion-ready .hero-image{transform-origin:64% 55%;animation-duration:17s}}
@media(prefers-reduced-motion:reduce){.motion-ready .hero-image{animation:none!important;transform:none!important}.motion-ready .hero::after{display:none}.motion-toggle{display:none}.motion-ready .service-card:hover{transform:none}.desktop-menu[open]{animation:none}.page-hero-media img{transform:none!important}}
/* Desktop services remain directly below the primary header. */
@media(min-width:1201px){
  .quick-nav{position:sticky;top:95px;z-index:29;box-shadow:0 5px 18px #1018200a}
  .page-home main [id]{scroll-margin-top:76px}
  .header-inner{gap:20px;padding-inline:32px}
  .header-inner>.brand{width:280px;flex-shrink:1;min-width:170px}
  .site-nav{margin-left:auto;gap:16px;flex-shrink:0}
}
@media(min-width:1201px) and (max-width:1420px){.site-nav{gap:11px}.site-nav>a{font-size:10px}.site-nav .nav-contact{padding-inline:13px;gap:10px}.header-inner{gap:15px;padding-inline:25px}.header-inner>.brand{width:230px}}
@media(max-width:1200px){.header-inner>.brand{margin-right:auto}.menu-button{order:3;flex-shrink:0}.header-inner{gap:15px}}
@media(max-width:760px){.header-inner{gap:12px}.header-inner>.brand{width:250px;max-width:calc(100% - 54px)}.menu-button{width:38px}}
/* Step-by-step inquiry form and its server-rendered confirmation. */
.form-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:25px 0 30px;scroll-margin-top:110px}
.form-steps li{border-top:3px solid #d7dcdb;padding:13px 0;color:#939b9d;position:relative}
.form-steps span{display:block;font:700 11px Arial,sans-serif;letter-spacing:.12em;margin-bottom:6px}
.form-steps b{font-size:12px}
.form-steps [aria-current=step]{color:var(--red);border-color:var(--red)}
.form-steps .is-complete{color:#303b41;border-color:#303b41}
.contact-form-panel fieldset{padding:0;margin:0;border:0;min-width:0}
.contact-form-panel fieldset[hidden],.contact-form-panel button[hidden]{display:none}
.contact-form-panel legend{font-weight:700;font-size:16px;margin-bottom:22px;outline:none}
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.form-actions{display:flex;align-items:center;gap:22px;margin-top:26px}
.form-actions .button{flex:1;min-width:0;justify-content:space-between}
.form-back{border:0;background:none;color:#596267;font-size:12px;white-space:nowrap;cursor:pointer;padding:12px 0}
.form-back:hover{color:var(--red)}
.form-next{justify-content:space-between}
.contact-form-panel .button:disabled,.contact-confirm-panel .button:disabled{opacity:.6;cursor:wait}
.form-error{padding:16px 18px;border-left:3px solid var(--red);background:#fff0f1;color:#b01d30;font-size:13px;margin:20px 0}
.form-error ul{padding-left:20px;margin-top:8px}
.contact-flow{background:#f3f4f2;min-height:65vh}
.contact-confirm-panel{background:#fff;max-width:820px;margin:auto;padding:50px 60px}
.contact-confirm-panel h1{font-size:30px;margin-top:14px;line-height:1.6}
.contact-review>div{padding:22px 0;border-bottom:1px solid #e3e6e5}
.contact-review dt{font-size:11px;color:#717b80;font-weight:600;margin-bottom:9px}
.contact-review dd{font-size:15px;line-height:1.9;overflow-wrap:anywhere}
.contact-complete{text-align:center}.complete-check{display:grid;place-items:center;width:66px;height:66px;margin:0 auto 24px;border:1px solid var(--red);border-radius:50%;color:var(--red);font-size:32px}
.contact-complete>p:not(.eyebrow){margin-top:22px}.receipt-number{font-size:12px;color:#657078}.complete-phone{display:block;font:28px Arial,sans-serif;margin:12px 0 30px}.contact-complete>.button{min-width:260px}
@media(max-width:760px){.form-steps{gap:7px;margin-top:22px;scroll-margin-top:90px}.form-steps b{font-size:10px}.form-steps span{font-size:10px}.contact-form-panel legend{font-size:15px}.form-actions{gap:15px;flex-wrap:wrap}.contact-confirm-panel{padding:30px 22px}.contact-confirm-panel h1{font-size:23px}.contact-confirm-panel .form-actions{flex-direction:column-reverse;align-items:stretch}.contact-confirm-panel .form-actions .button{font-size:13px}.contact-review dd{font-size:14px}}
.about-section{position:relative;isolation:isolate;overflow:hidden}
.about-mechanic{position:absolute;inset:0 43% 0 0;z-index:-1;pointer-events:none}
.about-mechanic img{width:100%;height:100%;object-fit:cover;object-position:65% center;filter:grayscale(1);opacity:.62}
.about-mechanic::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff8 0%,#ffffffb8 28%,#ffffff50 58%,#ffffff80 78%,#fff 100%),linear-gradient(0deg,#fff,transparent 22%,transparent 75%,#ffffffbd)}
.about-grid>div:first-child{position:relative;z-index:1}
.news-item{display:block;position:relative;padding:30px 55px 30px 0;border-top:1px solid #dce1df;border-bottom:1px solid #dce1df}
.news-item>div,.news-meta{display:flex;align-items:center;gap:20px;font-size:12px;color:#727e83}
.news-item time,.news-meta time{font:12px Arial,sans-serif;letter-spacing:.04em}
.news-item>div>span,.news-meta>span{color:var(--red);background:#fff0f1;padding:3px 12px;font-size:10px}
.news-item h3{font-size:18px;margin-top:15px;line-height:1.7}.news-item>.icon{position:absolute;right:0;top:50%;width:24px;height:24px}.news-item:hover{color:var(--red)}
.news-article{max-width:860px}.news-article h1{font-size:32px;margin:25px 0 40px;padding-bottom:30px;border-bottom:1px solid var(--line);line-height:1.7}.news-article-body p{font-size:15px;line-height:2.2;margin-bottom:22px}.news-article>.button{margin-top:20px}.news-return{margin-top:50px;border-top:1px solid var(--line);padding-top:28px}
@media(max-width:760px){.about-mechanic{inset:0 0 auto;height:390px}.about-mechanic img{object-position:65% center;opacity:.55}.about-mechanic::after{background:linear-gradient(90deg,#fffffff0,#ffffff60 70%),linear-gradient(0deg,#fff,transparent 35%,#fff8)}.news-item h3{font-size:16px}.news-article h1{font-size:24px;margin-bottom:26px}.news-article-body p{font-size:14px}}
.privacy-document{max-width:900px;font-size:14px;line-height:2.1;color:#59656b}.privacy-document>section{margin-top:40px}.privacy-document h2{font-size:20px;color:var(--ink);margin-bottom:15px}.privacy-document ul{padding-left:22px}.privacy-document p+p{margin-top:14px}.privacy-document .text-link{font-size:12px;margin-top:15px}.privacy-document a:hover{color:var(--red)}.privacy-date{text-align:right;margin-top:45px;font-size:12px}.form-note>a{color:var(--red);text-decoration:underline;margin-inline:3px}
@media(max-width:760px){.privacy-document{font-size:13px}.privacy-document h2{font-size:18px}}
/* Keep machine-translated copy readable when labels become longer. */
html:not([lang="ja"]) .hero h1>span,html:not([lang="ja"]) .quick-nav b{white-space:normal}
html:not([lang="ja"]) .hero h1{font-size:clamp(30px,3.2vw,54px);max-width:760px}
html:not([lang="ja"]) .hero h1>em{font-size:1.25em}
@media(min-width:1201px){html:not([lang="ja"]) .header-inner>.brand{width:190px;min-width:150px}html:not([lang="ja"]) .site-nav{flex:1;min-width:0;gap:12px}html:not([lang="ja"]) .site-nav>a{white-space:normal;line-height:1.4;font-size:10px;text-align:center}html:not([lang="ja"]) .site-nav .nav-contact{padding-inline:12px}html:not([lang="ja"]) .quick-nav{top:95px}}
.form-steps[hidden],form[hidden]{display:none}.translation-form-entry p{font-size:13px;line-height:1.9;margin:24px 0}.translation-form-entry .button{font-size:12px}
.about-eyebrow{font:700 clamp(25px,2.4vw,36px)/1.2 Arial,sans-serif;letter-spacing:.12em;color:var(--red)}
@media(max-width:760px){.about-eyebrow{font-size:25px;letter-spacing:.1em}}
/* Readable introductory copy on both desktop and narrow screens. */
.hero-copy{font-size:20px;font-weight:500;line-height:1.95;letter-spacing:.035em;color:#fff;text-shadow:0 2px 12px #0009;max-width:680px}
.hero-copy>span{display:inline-block}
@media(max-width:760px){.hero-copy{font-size:16px;line-height:1.95;letter-spacing:.02em;max-width:100%}}
/* Larger desktop navigation, with the contact action at the right edge. */
@media(min-width:1201px){
  .header-inner{max-width:none;padding:0 0 0 40px;gap:30px}
  .header-inner>.brand{width:280px;min-width:220px}
  .site-nav{gap:22px;margin-left:auto}
  .site-nav>a{font-size:14px}
  .site-nav .nav-contact{height:100%;min-width:174px;padding:0 28px;margin-left:10px;justify-content:center;gap:19px;font-size:14px}
  .site-nav .nav-contact>.icon{width:20px;height:20px}
}
@media(min-width:1201px) and (max-width:1420px){
  .header-inner{padding-left:25px;gap:22px}
  .header-inner>.brand{width:220px;min-width:190px}
  .site-nav{gap:15px}
  .site-nav>a{font-size:13px}
  .site-nav .nav-contact{min-width:155px;padding-inline:20px;margin-left:5px;font-size:13px;gap:15px}
}
@media(max-width:1200px){.site-nav>a{font-size:16px}.site-nav .nav-contact{font-size:15px}}
