@font-face{font-family:Barlow;src:url('assets/barlow-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Barlow;src:url('assets/barlow-semibold.ttf') format('truetype');font-style:normal;font-weight:600 800;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('assets/barlow-condensed-bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
:root{--petrol:#153f49;--ink:#102f3e;--muted:#506477;--accent:#e80000;--accent-dark:#b80000;--ice:#f0f7f9;--line:#c9d7dd;--white:#fff;--max:1328px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:#f8fbfc;font-family:Barlow,Arial,sans-serif;font-size:17px;line-height:1.5}body:has(dialog[open]){overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2{line-height:1.1;letter-spacing:-.025em}h1{font-size:clamp(34px,3.45vw,52px);font-weight:700}h2{font-size:clamp(32px,3vw,44px);font-weight:700}h3{font:700 24px/1.15 'Barlow Condensed',sans-serif}p{color:var(--muted)}a,button,input,select,textarea,summary{touch-action:manipulation}:focus-visible{outline:3px solid #157997;outline-offset:5px}.container{max-width:var(--max);margin-inline:auto;padding-inline:36px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:50px;padding:12px 23px;background:var(--accent);color:white;font-weight:600;border:1px solid transparent;border-radius:3px;line-height:1.25;text-align:center;transition:background .18s,box-shadow .18s}.button:hover{background:var(--accent-dark);box-shadow:0 4px 14px #102f3e1a}.button span:last-child{margin-left:auto;font-size:23px;line-height:1}.button-light{background:#fff;color:#a60000}.button-light:hover{background:#f8e6e6}.button-outline{background:transparent;color:var(--ink);border-color:var(--line)}.button-outline:hover{background:var(--ice)}.skip-link{position:absolute;top:-100px;left:20px;padding:15px;background:white;z-index:20}.skip-link:focus{top:12px}.site-header{background:var(--petrol);color:white}.header-inner{max-width:1512px;margin:auto;padding:16px 48px;display:flex;align-items:center;justify-content:space-between;gap:36px;min-height:100px}.brand{display:block;flex-shrink:0;width:320px}.brand img{width:100%;height:auto}.brand>span{display:block;font-size:11px;letter-spacing:2.2px;margin-top:-6px;margin-left:8px;text-transform:uppercase;color:#d5e3e6}.desktop-nav{display:flex;align-items:center;gap:38px}.desktop-nav a{position:relative;padding:18px 0;font-weight:600}.desktop-nav a:after{content:'';position:absolute;bottom:6px;left:0;right:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s}.desktop-nav a:hover:after,.desktop-nav .current:after{transform:scaleX(1)}.header-cta{min-width:212px}.calendar-icon{font-size:26px}.menu-toggle{display:none}.mobile-menu{margin:0 0 0 auto;height:100dvh;max-height:none;width:min(90vw,420px);max-width:none;border:0;background:var(--petrol);color:white;padding:26px}.mobile-menu::backdrop,.review-dialog::backdrop{background:#0b263db3}.menu-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.menu-close,.review-top button{border:0;background:transparent;color:inherit;width:44px;height:44px;font-size:22px}.mobile-menu nav{display:grid;gap:12px;margin-block:45px}.mobile-menu nav a{padding:13px;font-size:25px}.mobile-menu nav .button{font-size:19px;margin-top:16px}.mobile-menu p{color:#d1dfe1;font-size:24px}.mobile-only{display:none}
.service-room{background:var(--ice);padding-top:30px}.room-intro{text-align:center;padding:0 24px;position:relative;z-index:1}.room-intro p{font-size:21px;margin-top:12px}.stage{position:relative;max-width:1580px;margin:0 auto;padding-bottom:128px}.stage-art{aspect-ratio:1942/650;background:url('assets/service-stage-bmw-m8.webp') center bottom/100% auto no-repeat}.stations{position:absolute;inset:0 0 128px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0 2.3%;gap:1.3%}.station{position:relative;align-self:start;margin-top:74%;border:0;background:none;padding:0 6px;text-align:left;color:var(--ink);min-width:0;transition:transform .2s}.station:nth-child(1){margin-top:81%}.station:nth-child(3){margin-top:75%}.station:nth-child(4){margin-top:76%}.station:nth-child(5){margin-top:73%}.station-face{display:flex;flex-direction:column;gap:3px}.station strong{font:700 clamp(17px,1.55vw,24px)/1.1 'Barlow Condensed',sans-serif;white-space:nowrap}.station-face>span:not(.station-action){font-size:clamp(12px,1.1vw,17px);line-height:1.25}.station-action{display:inline-flex;align-items:center;justify-content:space-between;gap:13px;align-self:flex-start;border:1px solid #607c89;border-radius:2px;padding:5px 12px;font-size:15px;font-weight:600;margin-top:8px;min-height:35px}.station:hover .station-action{background:#ffffffad}.station[aria-pressed=true] .station-action{background:var(--petrol);color:white;border-color:var(--petrol)}.station-art{display:none}.focus-drawer{position:absolute;top:calc((100% - 128px)*.75);left:calc(1.5% + var(--active)*19.4%);width:19.4%;padding:19px 18px 17px;background:linear-gradient(115deg,#e80000,#d00000);border:1px solid #f66a6a;border-bottom:8px solid #a60000;box-shadow:5px 9px 9px #193a4426;z-index:2;color:white;transition:left .25s ease}.focus-drawer:before{content:'';position:absolute;height:18px;top:-19px;left:-1px;right:-1px;background:#ff9999;clip-path:polygon(3% 0,97% 0,100% 100%,0 100%)}.focus-drawer h2{font:700 clamp(20px,1.8vw,27px)/1.15 'Barlow Condensed',sans-serif;letter-spacing:0}.focus-drawer p{color:white;font-size:16px;margin-top:5px}.focus-drawer label{display:block;font-size:13px;line-height:1.3;margin-top:13px}.focus-drawer label span{opacity:.9}.focus-drawer input{height:40px;min-width:0;padding:8px;font-size:13px;margin-top:4px;border-color:transparent;background:#f6fafc}.focus-drawer .button{width:100%;font-size:15px;padding:9px;min-height:43px;margin-top:10px;gap:6px}.focus-drawer .button span{font-size:20px}.no-script{padding:20px;text-align:center}.process-section{padding-top:40px;padding-bottom:50px;display:grid;grid-template-columns:1fr 330px;gap:44px}.process-main>p{margin-top:10px;font-size:20px}.process-list{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;list-style:none;margin:30px 0 0;padding:0}.process-list li{display:flex;align-items:flex-start;gap:16px}.step-number{display:grid;place-items:center;flex:0 0 42px;height:42px;background:var(--accent);color:white;border-radius:50%;font:700 23px 'Barlow Condensed',sans-serif}.process-list h3{font-size:22px;margin:5px 0 7px}.process-list p{font-size:16px;line-height:1.4}.quick-service{padding-left:32px;border-left:1px solid var(--line);padding-top:8px}.quick-service label{display:block;font-size:14px;margin:14px 0 5px}.quick-service .button{margin-top:12px;width:100%}input,select,textarea{width:100%;border:1px solid #bccbd2;border-radius:3px;color:var(--ink);background:white;padding:12px 13px;min-height:48px}select{padding-right:34px}textarea{resize:vertical;min-height:120px}input::placeholder,textarea::placeholder{color:#6c7d89;font-size:15px}input:focus,select:focus,textarea:focus{border-color:#157997}input[type=date]{min-width:0}.request-section{background:#e8f0f2;border-top:1px solid #dce6e9;padding:76px 0}.request-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.section-kicker{display:block;font-size:15px;font-weight:600;color:#38606c;margin-bottom:16px}.request-intro h2{font-size:43px}.request-intro>p{margin-top:23px;max-width:340px;font-size:19px}.request-note{margin-top:38px;padding:18px 0 18px 20px;border-left:4px solid var(--accent);max-width:340px}.request-note strong{font-weight:600}.request-note p{font-size:16px;margin-top:7px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{min-width:0}.field label{display:block;font-weight:600;font-size:16px;margin-bottom:7px}.field label span{font-weight:400;color:var(--muted);font-size:13px;margin-left:5px}.field-wide{grid-column:1/-1}.field-help{display:block;font-size:13px;color:var(--muted);margin-top:4px}.form-end{display:flex;align-items:flex-start;gap:20px;justify-content:space-between;margin-top:22px}.form-end p{font-size:13px;max-width:290px}.form-end .button{flex-shrink:0}.about-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;padding-top:80px;padding-bottom:65px}.about-copy p{font-size:20px;max-width:660px;margin-bottom:18px}.text-link{display:inline-flex;gap:30px;font-weight:600;color:var(--ink);padding:10px 0;border-bottom:2px solid var(--accent)}.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;padding-top:35px;padding-bottom:85px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;font-weight:600;list-style:none;padding:21px 40px 21px 0;position:relative}.faq-list summary:after{content:'+';position:absolute;right:4px;font-size:26px;top:13px;color:var(--accent)}.faq-list details[open] summary:after{content:'\2212'}.faq-list p{padding:0 35px 22px 0}.faq-list summary::-webkit-details-marker{display:none}footer{background:var(--petrol);color:white;padding:36px 0 20px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-inner .brand{width:240px}.footer-inner p{color:#cfdee1;font-size:15px}.footer-inner>a:last-child{font-weight:600}.footer-note{font-size:12px;color:#b5cbd1;padding-top:25px}.review-dialog{width:min(620px,calc(100% - 32px));max-height:90dvh;overflow:auto;border:0;border-top:6px solid var(--accent);padding:30px;color:var(--ink);background:#f8fbfc;box-shadow:0 24px 80px #0d273d4d}.review-top{display:flex;align-items:center;justify-content:space-between}.review-top .section-kicker{margin:0}.review-dialog h2{margin-top:5px}.review-dialog>p{margin-top:12px}.review-dialog dl{margin:24px 0}.review-dialog dt{font-size:13px;font-weight:600;color:var(--muted);margin-top:14px}.review-dialog dd{margin:3px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.review-actions{display:flex;gap:12px;flex-wrap:wrap}.review-actions .button{flex:1;font-size:15px}.review-dialog #download-status{font-size:14px;color:var(--petrol)}
@media(min-width:1580px){.stage{padding-bottom:140px}.stations{bottom:140px}.focus-drawer{top:calc((100% - 140px)*.75)}}
@media(max-width:1150px){.header-inner{padding-inline:28px;gap:24px}.brand{width:250px}.desktop-nav{gap:25px}.header-cta{min-width:180px;font-size:15px;padding-inline:15px}.calendar-icon{display:none}.focus-drawer{width:23%;left:calc(.5% + var(--active)*19%);padding:14px}.focus-drawer:last-child{max-width:calc(100% - 12px)}.stage{padding-bottom:170px}.stations{bottom:170px}.focus-drawer{top:calc((100% - 170px)*.77)}.station{padding-inline:2px}.station-action{font-size:13px;margin-top:5px;padding:4px 8px}.process-section{gap:28px;grid-template-columns:1fr 280px}.process-list{gap:18px}.process-list li{gap:10px}.process-list h3{font-size:20px}.process-list p{font-size:14px}.request-layout,.about-section,.faq-section{gap:45px}.form-end{flex-direction:column}.form-end p{max-width:none}.request-intro h2{font-size:37px}}
@media(max-width:800px){.container{padding-inline:24px}.header-inner{min-height:80px;padding:12px 24px;gap:15px}.brand{width:215px}.brand>span{font-size:8px;letter-spacing:1.6px;margin-top:-3px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex;gap:10px;align-items:center;background:transparent;color:white;border:1px solid #729097;border-radius:2px;padding:10px 12px;font-size:15px;min-height:44px}.menu-lines{width:19px;height:12px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;position:relative}.menu-lines:after{content:'';position:absolute;left:0;right:0;top:4px;border-top:2px solid currentColor}.service-room{padding-top:30px}.room-intro{padding-inline:24px;text-align:left}.room-intro h1{font-size:37px;max-width:550px}.room-intro p{font-size:18px;margin-top:14px;max-width:500px}.mobile-only{display:block}.stage{padding:25px 24px 30px;display:flex;flex-direction:column}.stage-art{display:none}.stations{position:static;display:flex;flex-direction:column;padding:0;gap:16px}.station,.station:nth-child(n){margin:0;display:grid;grid-template-columns:38% 1fr;min-height:150px;background:linear-gradient(115deg,#f7fafb,#d9e1e5);border:1px solid #bfced3;border-left:5px solid #496975;padding:0;box-shadow:0 7px 0 #8b9ea5,0 11px 12px #203d4212;text-align:left}.station-art{display:block;min-height:150px;background-image:url('assets/service-stage-bmw-m8.webp');background-size:500% auto;background-position:calc(var(--i)*25%) 58%;background-repeat:no-repeat}.station-face{padding:20px 18px;align-self:center;gap:7px}.station strong{font-size:24px;white-space:normal}.station-face>span:not(.station-action){font-size:16px}.station-action{font-size:14px;min-height:32px;margin-top:5px}.station[aria-pressed=true]{border-left-color:var(--accent);background:#e4ebed}.focus-drawer{position:relative;top:auto!important;left:auto!important;width:100%;max-width:none!important;margin-top:25px;padding:24px 22px 22px;box-shadow:4px 7px 0 #990000;transition:none}.focus-drawer:before{height:12px;top:-13px}.focus-drawer h2{font-size:28px}.focus-drawer label{font-size:14px}.focus-drawer input{font-size:16px;height:48px}.focus-drawer .button{font-size:17px;min-height:48px}.process-section{display:block;padding-top:38px;padding-bottom:40px}.process-list{gap:22px;margin-top:25px}.process-list h3{font-size:23px}.process-list p{font-size:16px}.quick-service{border-left:0;border-top:1px solid var(--line);margin-top:30px;padding:24px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:9px 16px}.quick-service h3,.quick-service label{grid-column:1/-1}.quick-service label{margin:4px 0 0}.quick-service .button{margin:0}.request-section{padding:45px 0}.request-layout{display:block}.request-intro h2{font-size:37px}.request-intro>p{max-width:600px}.request-note{max-width:600px;margin:22px 0 30px;padding-block:8px}.form-end{flex-direction:row}.about-section,.faq-section{display:block;padding-top:48px;padding-bottom:30px}.about-copy{margin-top:25px}.faq-section{padding-bottom:55px}.faq-list{margin-top:20px}.footer-inner{flex-wrap:wrap;gap:20px}.footer-inner p{width:100%}.footer-inner .brand{width:230px}}
@media(max-width:480px){body{font-size:16px}.header-inner{padding-inline:20px}.brand{width:195px}.menu-toggle{font-size:14px;padding-inline:9px}.container{padding-inline:22px}.room-intro{padding-inline:22px}.room-intro h1{font-size:35px;max-width:340px}.room-intro p{font-size:17px}.stage{padding-inline:18px}.station,.station:nth-child(n){grid-template-columns:34% 1fr;min-height:132px}.station-art{min-height:132px;background-size:500% auto;background-position-y:60%}.station-face{padding:16px 12px}.station strong{font-size:22px}.station-face>span:not(.station-action){font-size:14px}.process-section h2{font-size:33px}.process-main>p{font-size:18px}.process-list{grid-template-columns:1fr;gap:22px}.process-list li{gap:16px}.process-list h3{font-size:23px;margin-top:2px}.process-list p{font-size:16px}.quick-service{grid-template-columns:1fr}.quick-service .button{margin-top:5px}.form-grid{grid-template-columns:1fr;gap:18px}.field-wide{grid-column:auto}.form-end{flex-direction:column}.form-end .button{width:100%}.request-intro h2{font-size:34px}.about-copy p{font-size:18px}.review-dialog{padding:22px}.review-actions{flex-direction:column}.review-dialog h2{font-size:32px}}
/* A2 fidelity: labels sit on the front faces; the drawer joins the active plinth. */
@media(min-width:801px){
 .stage{padding-bottom:64px}
 .stage-art{mask-image:linear-gradient(to bottom,transparent 0,#000 7%,#000 84%,transparent 100%)}
 .stations{bottom:64px;padding:0 2.7%;gap:1.5%}
 .station{padding-left:9px}
 .station:nth-child(4){padding-left:15px}
 .station:nth-child(5){padding-left:36px}
 .focus-drawer{top:calc((100% - 64px)*.64);left:clamp(1.5%,calc(1.5% + var(--active)*19.4%),79.1%)}
 .focus-drawer label{font-size:12px;margin-top:10px}
 .focus-drawer p{font-size:15px}
 .focus-drawer{padding:15px 16px 13px}
 .focus-drawer input{min-height:38px;height:38px}
}
@media(min-width:801px) and (max-width:1150px){
 .stage{padding-bottom:132px}.stations{bottom:132px}
 .focus-drawer{top:calc((100% - 132px)*.7);left:clamp(1%,calc(.5% + var(--active)*19%),76%)}
 .station-face>span:not(.station-action){font-size:12px}
 .station strong{font-size:18px;white-space:normal}
 .station:nth-child(4),.station:nth-child(5){padding-left:10px}
 .station:nth-child(5){padding-left:25px}
 .brand>span{font-size:9px;letter-spacing:1.5px;white-space:nowrap}
}
@media(max-width:800px){
 .brand>span{display:none}
 .station,.station:nth-child(n){align-self:stretch;width:100%}
 .station-art{background-position-y:38%}
 .stations .focus-drawer{margin-top:6px;margin-bottom:6px}
 .process-list{grid-template-columns:repeat(3,minmax(0,1fr))}
 .process-list li{min-width:0;flex-direction:column}
 .step-number{flex:0 0 42px;width:42px}
}
@media(max-width:600px){
 .process-list{grid-template-columns:1fr}
 .process-list li{flex-direction:row;gap:16px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* A2 finish: a measured label plate on each physical front, not a generic card. */
.stage { container-type: inline-size; }
.service-room .station-face {
  display: grid;
  grid-template-rows: 1.35em 20px minmax(6px, 1fr) 30px;
  gap: 0;
  align-items: start;
  height: var(--plate-height, 86px);
  font-size: clamp(18px, 1.55cqw, 24px);
}
.service-room .station strong {
  font-size: inherit;
  line-height: 1.15;
  letter-spacing: -.005em;
  font-weight: 700;
  white-space: nowrap;
}
.service-room .station-face > span:not(.station-action) {
  font-size: clamp(13px, 1.04cqw, 16px);
  line-height: 1.35;
  color: #29434e;
  white-space: nowrap;
}
.service-room .station-action {
  grid-row: 4;
  align-self: end;
  justify-self: start;
  display: grid;
  grid-template-columns: 1fr 14px;
  align-items: center;
  width: 112px;
  height: 30px;
  min-height: 0;
  gap: 7px;
  padding: 0 11px;
  margin: 0;
  font: 600 13px/1 Barlow, sans-serif;
  border: 1px solid #607984;
  border-radius: 1px;
  background: #e9eff21a;
  box-shadow: inset 0 1px 0 #ffffff80, 0 1px 0 #173f4926;
  transition: background .16s, border-color .16s, box-shadow .16s;
}
.service-room .station-action > span { font-size: 16px; font-weight:400; text-align: right; line-height: 1; }
.service-room .station:hover .station-action { background: #edf2f4a6; border-color: #244b59; }
.service-room .station:focus-visible .station-action { outline:2px solid #157997; outline-offset:3px; }
.service-room .station:active .station-action { box-shadow:inset 0 2px 3px #102f3e30; }
.service-room .station[aria-pressed=true] .station-action {
  background: #173f49;
  border-color: #173f49;
  box-shadow: inset 0 1px 2px #0b252a30;
  color: #fff;
}
.service-room .focus-drawer {
  border-radius: 0;
  background: #d80000;
  border: 1px solid #f04c4c;
  border-bottom: 6px solid #a60000;
  box-shadow: 0 7px 8px #20353d1f, inset 1px 0 0 #ffaaaa38, inset -1px 0 0 #9100001a;
}
.service-room .focus-drawer::before {
  height: 13px;
  top: -14px;
  background: #f15c5c;
  box-shadow: inset 0 1px 0 #ffb6b6;
  clip-path: polygon(2% 0,98% 0,100% 100%,0 100%);
}
.service-room .focus-drawer h2 { font-size: clamp(22px, 1.7cqw, 26px); letter-spacing: -.01em; }
.service-room .focus-drawer .button { border-radius: 1px; box-shadow: 0 1px 0 #9a000035; }
.service-room .focus-drawer input { border-radius: 1px; box-shadow: inset 0 1px 2px #153f4912; }
@media (min-width: 801px) {
  .service-room .stations { display: block; padding: 0; inset: 0 0 var(--drawer-tail,80px); }
  .service-room .stage { padding-bottom: var(--drawer-tail,80px); }
  .service-room .station:nth-child(n) {
    position: absolute;
    top: var(--plate-top);
    left: var(--plate-left);
    width: var(--plate-width);
    margin: 0;
    padding: 0;
  }
  .service-room .station[data-service=reifen] { --plate-left:3.8%; --plate-top:46.5%; --plate-width:13.9%; }
  .service-room .station[data-service=pflege] { --plate-left:22.8%; --plate-top:44%; --plate-width:15%; }
  .service-room .station[data-service=performance] { --plate-left:42.3%; --plate-top:44%; --plate-width:15%; }
  .service-room .station[data-service=fahrzeuge] { --plate-left:62.2%; --plate-top:44%; --plate-width:14%; }
  .service-room .station[data-service=dpf] { --plate-left:82.4%; --plate-top:44%; --plate-width:14%; }
  .service-room .station-face { --plate-height:clamp(84px, 6cqw, 94px); }
  .service-room .station[data-service=pflege] strong { font-size:.97em; letter-spacing:-.01em; }
  .service-room .focus-drawer {
    top: calc((100% - var(--drawer-tail,80px)) * .65 + var(--drawer-drop, 0px));
    left: var(--drawer-left, 40%);
    width: var(--drawer-width, 19%);
    padding: 19px calc(var(--drawer-inset,2.3cqw) - 1px) 16px;
    max-width: none;
    transition: left .22s ease, top .22s ease;
  }
  .stage[data-selected=reifen] { --drawer-left:2%; --drawer-width:17%; --drawer-inset:1.8cqw; }
  .stage[data-selected=pflege] { --drawer-left:20.9%; --drawer-width:18%; --drawer-inset:1.9cqw; }
  .stage[data-selected=performance] { --drawer-left:40%; --drawer-width:19%; --drawer-inset:2.3cqw; }
  .stage[data-selected=fahrzeuge] { --drawer-left:60.6%; --drawer-width:18.3%; --drawer-inset:1.6cqw; }
  .stage[data-selected=dpf] { --drawer-left:79.8%; --drawer-width:18.3%; --drawer-inset:2.6cqw; }
  .service-room .stage[data-selected=reifen] .focus-drawer { top:calc((100% - var(--drawer-tail,80px))*.685 + var(--drawer-drop, 0px)); }
  .service-room .stage[data-selected=pflege] .focus-drawer { top:calc((100% - var(--drawer-tail,80px))*.65 + var(--drawer-drop, 0px)); }
  .service-room .focus-drawer p { line-height:1.3; min-height:1.3em; }
  .service-room .focus-drawer label { margin-top:14px; font-size:12px; }
  .service-room .focus-drawer input { margin-top:6px; }
  .service-room .focus-drawer .button { margin-top:12px; font-size:14px; }
}
/* Keep the raised drawer lip clear of every front control at intermediate widths. */
@media (min-width:1151px) {
  .service-room .stage { --drawer-drop:8px; }
}
@media (min-width:1151px) and (max-width:1350px) {
  .service-room .stage { --drawer-drop:12px; }
}
@media (min-width:801px) and (max-width:1150px) {
  .service-room .stage { padding-bottom:max(152px,var(--drawer-tail,152px)); }
  .service-room .stations { bottom:max(152px,var(--drawer-tail,152px)); }
  .service-room .station-face { --plate-height:76px; grid-template-rows:23px 17px minmax(6px,1fr) 30px; }
  .service-room .station strong { font-size:17px; }
  .service-room .station-face > span:not(.station-action) { font-size:12px; }
  .service-room .focus-drawer,
  .service-room .stage[data-selected=reifen] .focus-drawer,
  .service-room .stage[data-selected=pflege] .focus-drawer { top:calc((100% - max(152px,var(--drawer-tail,152px)))*.72); padding:16px; }
  .service-room .focus-drawer h2 { font-size:21px; }
  .service-room .focus-drawer .button { font-size:13px; gap:3px; padding:9px 6px; }
}
@media (max-width:800px) {
  .service-room .station:nth-child(n) {
    grid-template-columns:34% minmax(0,1fr);
    background:#e4ebee;
    border-left-width:3px;
    box-shadow:0 5px 0 #8d9ea4,0 7px 7px #203d4210;
  }
  .service-room .station-face {
    padding:0 14px 0 17px;
    --plate-height:89px;
    font-size:23px;
    grid-template-rows:27px 21px minmax(7px,1fr) 30px;
  }
  .service-room .station strong { font-size:22px; }
  .service-room .station[data-service=pflege] strong { font-size:20.5px; letter-spacing:-.02em; }
  .service-room .station-face > span:not(.station-action) { font-size:14px; }
  .service-room .station[aria-pressed=true] { border-left-color:#d80000; background:#dfe8eb; }
  .service-room .stations { gap:18px; }
  .service-room .stations .focus-drawer { margin-top:-10px; margin-bottom:4px; border-left:3px solid #b20000; padding:24px 22px 22px; }
  .service-room .focus-drawer h2 { font-size:27px; }
}
@media (min-width:481px) and (max-width:800px) {
  .service-room .station:nth-child(n) { grid-template-columns:170px minmax(0,1fr); }
  .service-room .station-art { background-size:850px auto; }
  .service-room .station-face { padding-left:24px; }
}
@media (max-width:370px) {
  .service-room .station:nth-child(n) { grid-template-columns:29% minmax(0,1fr); }
  .service-room .station-face { padding-left:11px; padding-right:7px; }
  .service-room .station strong { font-size:20px; }
  .service-room .station[data-service=pflege] strong { font-size:18px; }
  .service-room .station-face > span:not(.station-action) { font-size:12.5px; }
}

/* Quiet industrial termination: unequal spans and one shallow raised edge. */
.site-footer {
  position:relative;
  background:#12343e;
  color:#eef5f6;
  padding:0;
  border-top:7px solid #42606a;
}
.site-footer::before {
  content:'';
  position:absolute;
  top:-12px;
  left:max(36px,calc((100% - 1256px)/2));
  width:74px;
  height:5px;
  background:#e80000;
}
.footer-layout {
  display:grid;
  grid-template-columns:minmax(300px,1.65fr) minmax(160px,.8fr) minmax(210px,1.05fr) 108px;
  column-gap:48px;
  padding-top:58px;
  padding-bottom:58px;
}
.footer-brand-block .brand { width:300px; max-width:100%; }
.footer-claim { color:#f1f6f7; font-size:20px; font-weight:600; margin-top:21px; }
.footer-description { color:#b4cbd1; font-size:17px; line-height:1.65; margin-top:12px; }
.footer-contact {
  display:inline-flex;
  gap:26px;
  align-items:center;
  color:#f3f7f8;
  font-weight:600;
  font-size:16px;
  margin-top:25px;
  min-height:40px;
}
.footer-contact { min-height:44px; padding-bottom:4px; border-bottom:1px solid #65838e; transition:border-color .18s; }
.footer-contact:hover { border-bottom-color:#d4e4e9; }
.footer-contact span { color:#ff8c8c; font-size:22px; }
.footer-navigation,.footer-services { display:flex; flex-direction:column; align-items:flex-start; }
.footer-navigation { padding-top:14px; }
.footer-services { padding-top:14px; }
.site-footer h2 { font:600 16px/1.3 Barlow,sans-serif; letter-spacing:0; margin-bottom:19px; color:#9dbac3; }
.footer-navigation>a,.footer-services>a { display:flex; align-items:center; min-height:44px; padding:5px 0; line-height:1.35; font-size:17px; }
.site-footer nav a { text-decoration-line:underline; text-decoration-color:transparent; text-underline-offset:5px; text-decoration-thickness:1px; transition:text-decoration-color .18s; }
.site-footer nav a:hover { text-decoration-color:#90afb8; }
.footer-return { display:flex; justify-content:flex-end; align-items:flex-start; padding-top:14px; }
.footer-return a { display:grid; justify-items:end; gap:14px; max-width:108px; text-align:right; font-size:15px; line-height:1.4; color:#bbd0d6; }
.footer-return span { display:grid; place-items:center; width:46px; height:46px; border:1px solid #65838e; color:#fff; font-size:23px; transition:background .18s; }
.footer-return a:hover span { background:#274d58; }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; padding-block:23px; gap:24px; border-top:1px solid #46606b; }
.footer-bottom p { font-size:15px; color:#c8d9df; }
.footer-bottom nav { display:flex; gap:30px; }
.footer-bottom a { font-size:15px; display:inline-flex; align-items:center; min-height:36px; }
.site-footer :focus-visible { outline-color:#ffaaaa; }
.legal-main { padding-top:64px; padding-bottom:90px; min-height:66vh; max-width:1020px; }
.legal-back { display:inline-flex; align-items:center; min-height:44px; margin-bottom:32px; font-weight:600; gap:14px; }
.legal-main h1 { margin-bottom:25px; }
.legal-intro { font-size:20px; max-width:660px; }
.legal-section { margin-top:35px; padding-left:23px; border-left:3px solid #bdcdd2; max-width:700px; }
.legal-section h2 { font-size:26px; margin-bottom:10px; }
.legal-section p { margin-top:8px; }
.legal-notice { margin-top:32px; padding:20px 23px; border-left:3px solid var(--accent); background:#e8f0f2; max-width:700px; }
.legal-header .header-inner { min-height:96px; }
.legal-header .brand>span { display:none; }
.legal-footer { border-top:5px solid #42606a; }
@media(max-width:1150px) {
  .footer-layout { grid-template-columns:1.4fr .85fr 1fr; gap:34px; }
  .footer-return { display:flex; grid-column:1/-1; padding-top:20px; border-top:1px solid #46606b; }
  .footer-return a { display:flex; flex-direction:row-reverse; align-items:center; gap:18px; max-width:none; text-align:left; }
  .footer-brand-block .brand { width:260px; }
  .footer-claim { font-size:18px; }
  .footer-services { padding-top:14px; }
}
@media(max-width:800px) {
  .footer-layout { grid-template-columns:1fr 1.2fr; column-gap:28px; row-gap:34px; padding-top:38px; padding-bottom:36px; }
  .footer-brand-block { grid-column:1/-1; padding-bottom:28px; border-bottom:1px solid #46606b; }
  .footer-brand-block .brand { width:265px; }
  .footer-navigation,.footer-services { padding-top:0; }
  .footer-claim { font-size:20px; margin-top:17px; }
  .footer-description { font-size:16px; margin-top:9px; }
  .footer-contact { margin-top:17px; }
  .site-footer::before { left:24px; }
  .footer-bottom { padding-block:19px; }
  .legal-main { padding-top:34px; padding-bottom:55px; }
  .legal-header .button { font-size:14px; padding:10px 14px; min-height:44px; }
}
@media(max-width:480px) {
  .footer-layout { grid-template-columns:1fr; row-gap:27px; }
  .footer-brand-block { grid-column:auto; padding-bottom:25px; }
  .footer-navigation { display:grid; grid-template-columns:1fr 1fr; width:100%; column-gap:18px; }
  .footer-navigation h2 { grid-column:1/-1; margin-bottom:10px; }
  .footer-services h2 { margin-bottom:10px; }
  .footer-navigation>a,.footer-services>a { min-height:44px; }
  .footer-bottom { flex-wrap:wrap; gap:8px; }
  .footer-bottom p { width:100%; }
  .footer-bottom nav { gap:28px; }
  .footer-bottom a { min-height:44px; font-size:16px; }
  .legal-header .header-inner { flex-wrap:wrap; padding-block:16px; gap:12px; }
}

/* Supplied original identity: natural aspect ratio, no tint or distortion. */
.site-header .header-inner { padding-block:12px; }
.site-header .brand { width:260px; }
.brand img { object-fit:contain; }
.footer-brand-block .brand { width:310px; }
@media(max-width:1150px) { .site-header .brand { width:235px; } }
@media(max-width:800px) {
  .site-header .header-inner { padding-block:13px; gap:22px; }
  .site-header .brand { width:215px; }
  .footer-brand-block .brand { width:285px; }
}
@media(max-width:480px) {
  .site-header .brand { width:210px; }
  .site-header .header-inner { gap:16px; }
}
@media(max-width:370px) { .site-header .brand { width:185px; } }

/* Feather the photographic floor into the shared surface, keeping objects crisp. */
/* Balanced header: the navigation axis stays at the viewport centre. */
.site-header:not(.legal-header) .header-inner {
  display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  column-gap:28px; padding-block:14px;
}
.site-header:not(.legal-header) .brand { width:240px; justify-self:start; }
.desktop-nav { display:grid; grid-template-columns:repeat(3,108px); gap:12px; }
.desktop-nav a {
  display:grid; place-items:center; height:48px; padding:0 8px;
  font-size:16px; line-height:1; font-weight:600; letter-spacing:.015em;
  color:#d7e5e9; transition:color .18s,background .18s;
}
.desktop-nav a:hover,.desktop-nav a.current { color:#fff; background:#ffffff06; }
.desktop-nav a::after { width:22px; height:2px; left:calc(50% - 11px); right:auto; bottom:3px; transform-origin:center; }
.site-header .header-cta {
  justify-self:end; min-width:0; width:200px; min-height:46px;
  padding:10px 17px; gap:14px; font-size:15px; border-radius:2px;
}
.header-cta .calendar-icon { display:none; }
.header-cta.button span:last-child { font-size:20px; }
.site-header .header-cta,.mobile-menu nav .button { position:relative; justify-content:center; }
.header-cta.button span:last-child,.mobile-menu nav .button span:last-child { position:absolute; right:15px; margin:0; }
.mobile-menu {
  width:min(100%,460px); padding:0 0 32px; background:#edf4f6; color:var(--ink);
  border-left:1px solid #78909a; box-shadow:-18px 0 60px #102f3e24;
}
.mobile-menu .menu-top { padding:18px 24px; background:var(--petrol); color:white; min-height:110px; }
.menu-top img { width:190px; height:auto; }
.mobile-menu .menu-close { flex:0 0 44px; border:1px solid #66818a; font-size:19px; }
.mobile-menu nav { margin:30px 24px 0; gap:0; }
.mobile-menu nav a:not(.button) {
  display:grid; place-items:center; position:relative; min-height:82px;
  padding:18px 40px; font-size:28px; font-weight:600; letter-spacing:-.015em;
  border-bottom:1px solid #c6d5da; line-height:1.2;
}
.mobile-menu nav a:not(.button)::after { content:'↗'; position:absolute; right:8px; top:50%; transform:translateY(-50%); font-size:21px; color:#597780; }
.mobile-menu nav a:not(.button):hover { background:#e2ecef; }
.mobile-menu nav .button { width:100%; max-width:300px; justify-self:center; margin-top:32px; min-height:48px; font-size:16px; padding:12px 20px; }
.mobile-menu>p { color:#5b727c; font-size:17px; line-height:1.5; text-align:center; margin:30px 24px 0; }
.mobile-menu :focus-visible { outline-color:#db3333; outline-offset:3px; }
@media (max-width:1100px) and (min-width:1001px) {
  .site-header:not(.legal-header) .header-inner { padding-inline:28px; gap:20px; }
  .site-header:not(.legal-header) .brand { width:215px; }
  .desktop-nav { grid-template-columns:repeat(3,96px); gap:8px; }
  .site-header .header-cta { width:180px; }
}
@media (max-width:1000px) {
  .site-header:not(.legal-header) .header-inner { grid-template-columns:1fr auto; padding:14px 24px; column-gap:24px; }
  .site-header:not(.legal-header) .brand { width:205px; }
  .site-header .desktop-nav,.site-header .header-cta { display:none; }
  .menu-toggle {
    display:flex; justify-content:center; align-items:center; gap:12px;
    width:94px; height:46px; padding:0; color:#edf5f7; background:#244b56;
    border:1px solid #54747e; border-bottom:2px solid #94aab1;
    border-radius:2px; font-size:14px; font-weight:600; letter-spacing:.025em;
  }
  .menu-lines { width:18px; height:10px; position:relative; border-top:1.5px solid currentColor; border-bottom:1.5px solid currentColor; }
  .menu-lines::after { display:none; }
  .menu-toggle:hover { background:#305b66; }
}
@media (max-width:370px) {
  .site-header:not(.legal-header) .header-inner { padding-inline:18px; column-gap:14px; }
  .site-header:not(.legal-header) .brand { width:178px; }
  .menu-toggle { width:86px; }
}
.stage-art {
  mask-image:linear-gradient(to bottom,transparent,#000 3%,#000 77%,transparent 99%),linear-gradient(to right,transparent,#000 2%,#000 98%,transparent);
  mask-composite:intersect;
}
.stage-browse { display:none; }
@media(max-width:800px) {
  .service-room { background:var(--ice); }
  .room-intro h1 { max-width:440px; }
  .room-intro p { max-width:390px; }
  .service-room .stage { padding:22px 0 38px; }
  .stage-browse { display:flex; align-items:center; justify-content:space-between; margin:0 22px; color:var(--muted); font-size:15px; }
  .stage-browse>div { display:flex; align-items:center; gap:10px; }
  .stage-browse button { width:44px; height:44px; border:0; color:var(--ink); background:transparent; font-size:25px; }
  #stage-count { min-width:34px; text-align:center; font-variant-numeric:tabular-nums; }
  .service-room .stations {
    position:relative; display:flex; flex-direction:row; align-items:flex-start;
    overflow-x:auto; gap:0; padding:0 22px 10px;
    scroll-snap-type:x mandatory; scroll-padding-left:22px;
    scrollbar-width:none; overscroll-behavior-x:contain;
  }
  .service-room .stations::-webkit-scrollbar { display:none; }
  .service-room .stations::after { content:''; flex:0 0 max(0px,calc(100% - min(82vw,340px))); }
  .service-room .station:nth-child(n) {
    flex:0 0 min(82vw,340px); width:min(82vw,340px); aspect-ratio:5/7; container-type:inline-size;
    display:block; position:relative; margin:0; padding:0;
    background:transparent; border:0; box-shadow:none;
    scroll-snap-align:start; scroll-snap-stop:always;
  }
  .service-room .station-art {
    position:absolute; inset:0; display:block; min-height:0;
    background-size:500% auto; background-position:calc(var(--i)*25%) 52%;
    mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 89%,transparent);
  }
/* Front coordinates follow the rendered faces; label rhythm scales with each plinth. */
  .service-room .station-face {
    position:absolute; left:8%; right:10%; top:57%; height:auto;
    padding:0; text-align:center; justify-items:center; font-size:clamp(20px,7cqw,24px);
    grid-template-rows:clamp(27px,9cqw,31px) clamp(18px,6cqw,20px) clamp(8px,2.6cqw,9px) 30px;
  }
  .service-room .station strong { font-size:inherit; }
  .service-room .station[data-service=reifen] .station-face { top:59%; }
  .service-room .station[data-service=pflege] .station-face { top:55%; }
  .service-room .station[data-service=pflege] strong { font-size:clamp(18px,6.6cqw,23px); }
  .service-room .station[data-service=fahrzeuge] .station-face { top:55%; }
  .service-room .station[data-service=dpf] .station-face { top:57%; }
  .service-room .station-face>span:not(.station-action) { font-size:clamp(12px,4.4cqw,15px); }
  .service-room .station-action { width:112px; height:30px; justify-self:center; }
  .service-room .focus-drawer { width:min(82vw,340px); margin:-26px 0 0 22px; padding:24px 28px; }
  .service-room .focus-drawer h2 { font-size:27px; }
  .service-room .focus-drawer p { font-size:16px; }
  .service-room .station:focus-visible { outline-offset:-5px; }
}


/* The same physical front-centre model on desktop and in the mobile image strip. */
.service-room .station-face { text-align:center; justify-items:center; }
.service-room .station-action { justify-self:center; }
.service-room .focus-copy { text-align:center; }
@media(min-width:801px) {
  .service-room .station:nth-child(n) { transform:translate(-50%,-50%); }
  .service-room .station[data-service=reifen] { --plate-left:9.94%; --plate-top:55.54%; --plate-width:16%; }
  .service-room .station[data-service=pflege] { --plate-left:29.71%; --plate-top:50.92%; --plate-width:17.4%; }
  .service-room .station[data-service=performance] { --plate-left:49.48%; --plate-top:52.46%; --plate-width:17.4%; }
  .service-room .station[data-service=fahrzeuge] { --plate-left:69.67%; --plate-top:51.69%; --plate-width:17.4%; }
  .service-room .station[data-service=dpf] { --plate-left:89.60%; --plate-top:53.23%; --plate-width:16%; }
}
@media(max-width:800px) {
  .service-room .station:nth-child(n) .station-face { width:86%; right:auto; transform:translate(-50%,-50%); }
  .service-room .station[data-service=reifen] .station-face { left:49.7%; top:70.3%; }
  .service-room .station[data-service=pflege] .station-face { left:48.55%; top:64.75%; }
  .service-room .station[data-service=performance] .station-face { left:47.4%; top:66.6%; }
  .service-room .station[data-service=fahrzeuge] .station-face { left:48.35%; top:65.65%; }
  .service-room .station[data-service=dpf] .station-face { left:48%; top:67.55%; }
}
.site-header .header-cta .calendar-icon,.mobile-menu nav .button .calendar-icon {
  display:block; position:absolute; left:14px; top:50%; transform:translateY(-50%); width:19px; height:19px;
}
.site-header .header-cta { padding-inline:38px; font-size:14px; }
@media(min-width:1001px) and (max-width:1100px) { .site-header .header-cta { width:194px; } }

/* Non-interactive effects share the exact background-image coordinate system. */
.stage-art { position:relative; }
.stage-motion { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
@media(prefers-reduced-motion:reduce) { .stage-motion { display:none; } }

/* A2 performance object: only the central object zone is replaced. */
.stage-art::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:url('assets/service-stage-turbo.webp') center bottom/100% auto no-repeat;
  clip-path:inset(0 41% 61.8% 41%);
}
.focus-service-link {
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  min-height:36px; margin-top:8px; color:#fff; font-size:13px;
  text-decoration:underline; text-underline-offset:4px;
}
.focus-service-link[hidden] { display:none; }
.focus-service-link:hover { text-decoration-thickness:2px; }
.desktop-nav { grid-template-columns:96px 94px 178px 88px; gap:10px; }
@media (max-width:1180px) {
  .site-header:not(.legal-header) .header-inner { grid-template-columns:1fr auto; padding:14px 24px; column-gap:24px; }
  .site-header:not(.legal-header) .brand { width:205px; }
  .site-header .desktop-nav,.site-header .header-cta { display:none; }
  .menu-toggle {
    display:flex; justify-content:center; align-items:center; gap:12px;
    width:94px; height:46px; padding:0; color:#edf5f7; background:#244b56;
    border:1px solid #54747e; border-bottom:2px solid #94aab1;
    border-radius:2px; font-size:14px; font-weight:600; letter-spacing:.025em;
  }
  .menu-lines { width:18px; height:10px; position:relative; border-top:1.5px solid currentColor; border-bottom:1.5px solid currentColor; }
  .menu-lines::after { display:none; }
}
@media (max-width:800px) {
  .service-room .station-art::before {
    content:''; position:absolute; top:0; bottom:0; left:calc(var(--i)*-100%); width:500%;
    background:url('assets/service-stage-turbo.webp') center 52%/100% auto no-repeat;
    clip-path:inset(0 41% 50.5% 41%); pointer-events:none;
  }
  .focus-service-link { font-size:15px; min-height:44px; }
  .mobile-menu nav a:not(.button) { min-height:70px; font-size:25px; padding-inline:28px; }
}
@media (max-width:370px) {
  .site-header:not(.legal-header) .header-inner { padding-inline:18px; column-gap:14px; }
  .site-header:not(.legal-header) .brand { width:178px; }
  .menu-toggle { width:86px; }
  .mobile-menu nav a:not(.button) { font-size:23px; }
}

/* Supplied logo: display its central artwork without changing the original PNG. */
.brand img, .menu-top img {
  aspect-ratio:4.5;
  height:auto;
  object-fit:cover;
  object-position:center 48.7%;
  background:transparent;
}
