@font-face{font-family:'BMW Type Next Pro';src:url('/fonts/BMWTypeNextPro-Light.woff2') format('woff2');font-style:normal;font-weight:300;font-display:swap}@font-face{font-family:'BMW Type Next Pro';src:url('/fonts/BMWTypeNextPro-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:'BMW Type Next Pro';src:url('/fonts/BMWTypeNextPro-Medium.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}:root{font-family:'BMW Type Next Pro',Arial,Helvetica,sans-serif;color:#161616;background:#F6F6F6;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #1C69D4;outline-offset:3px}.shell{width:min(100% - 48px,1320px);margin-inline:auto}.skip-link{position:absolute;left:10px;top:-100px;z-index:50;background:#FFFFFF;padding:12px}.skip-link:focus{top:10px}.site-header{position:sticky;top:0;z-index:40;background:#FFFFFF;border-bottom:1px solid #F6F6F6}.header-inner{min-height:88px;display:flex;align-items:center;gap:38px}.brand{display:flex;align-items:center;gap:13px;flex:none;font-size:11px;font-weight:500;letter-spacing:.15em;line-height:1.22}.brand strong{font-size:14px;letter-spacing:.13em}.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:#161616;color:#FFFFFF;font-weight:500;font-size:25px;letter-spacing:-.12em;position:relative}.brand-line{position:absolute;bottom:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#0066B1 0 33%,#FFFFFF 33% 66%,#1C69D4 66%)}.desktop-nav{display:flex;align-items:center;gap:23px;margin-left:auto;font-size:14px;font-weight:500;white-space:nowrap}.desktop-nav>a:hover,.desktop-nav summary:hover,.footer-columns a:hover{text-decoration:underline;text-underline-offset:5px}.nav-group{position:relative}.nav-group summary{cursor:pointer;list-style:none}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{content:'⌄';padding-left:6px;color:#666666}.dropdown{position:absolute;top:calc(100% + 22px);left:-24px;width:245px;padding:12px;background:#FFFFFF;box-shadow:none;border:1px solid #F6F6F6;display:flex;flex-direction:column}.dropdown a{padding:11px 13px;white-space:normal}.dropdown a:hover{background:#F6F6F6;color:#0066B1}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 23px;background:#0066B1;color:#FFFFFF;border:1px solid #0066B1;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s,transform .2s;text-align:center}.button:hover{background:#0066B1;transform:translateY(-1px)}.button-small{min-height:44px;padding:10px 16px;white-space:nowrap}.mobile-menu{display:none}.eyebrow{font-size:13px;letter-spacing:.19em;font-weight:500;color:#FFFFFF;margin:0 0 25px}.eyebrow.dark{color:#0066B1}.hero{background:#161616;color:#FFFFFF}.hero-grid{min-height:610px;display:grid;grid-template-columns:1fr 45%;align-items:stretch;gap:60px;padding-top:52px;padding-bottom:50px}.hero-content{display:flex;flex-direction:column;justify-content:center;padding:20px 0 42px}.hero h1{font-size:clamp(3.3rem,6.2vw,6.6rem);line-height:.98;letter-spacing:-.07em;margin:0 0 29px;font-weight:500}.hero h1 em{font-style:normal;color:#1C69D4}.hero-lead{font-size:19px;line-height:1.6;color:#666666;max-width:580px;margin:0}.actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap;margin-top:33px}.text-link,.underlined{font-size:15px;font-weight:500;border-bottom:1px solid currentColor;padding-bottom:5px}.text-link:hover,.underlined:hover{color:#0066B1}.text-link.light:hover{color:#1C69D4}.visual-slot{min-height:420px;border:1px solid #666666;background:linear-gradient(140deg,#262626,#161616 57%,#262626);color:#F6F6F6;padding:23px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.visual-slot .slot-corner,.slot-bottom{font-size:11px;letter-spacing:.18em;font-weight:500;color:#666666}.visual-slot>div{border-top:1px solid #666666;padding-top:25px}.slot-symbol{display:block;font-size:70px;font-weight:300;line-height:1;color:#1C69D4;margin-bottom:28px}.visual-slot p{font-size:23px;line-height:1.2;margin:0 0 12px;max-width:350px}.visual-slot small{font-size:13px;line-height:1.5;color:#666666;max-width:310px;display:block}.hero-bottom{display:flex;justify-content:space-between;border-top:1px solid #666666;padding:17px 0 22px;font-size:11px;letter-spacing:.16em;color:#666666}.section{padding-top:110px;padding-bottom:110px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.intro h2,.section-heading h2,.visit h2,.map-heading h2{font-size:clamp(2.4rem,4.3vw,4.7rem);letter-spacing:-.06em;line-height:1.05;margin:0}.intro-grid>div{max-width:540px}.intro-grid p{font-size:19px;line-height:1.6;margin:0 0 24px;color:#666666}.services{background:#F6F6F6}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:36px}.section-heading p:last-child{color:#666666;max-width:290px;line-height:1.5;margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#F6F6F6;border:1px solid #F6F6F6}.service-card{background:#F6F6F6;min-height:220px;padding:24px;display:flex;flex-direction:column;transition:background .2s}.service-card:hover{background:#FFFFFF}.service-card>span:first-child{font-size:13px;color:#0066B1;font-weight:500}.service-card h3{font-size:26px;letter-spacing:-.035em;margin:auto 0 0}.card-arrow{align-self:flex-end;font-size:26px;color:#0066B1}.visit{background:#0066B1;color:#FFFFFF}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:end}.visit .eyebrow{color:#FFFFFF}.visit-grid>div:last-child{font-size:20px;line-height:1.45}.visit-grid p{margin:0 0 12px}.button-light{background:#FFFFFF;color:#0066B1;border-color:#FFFFFF}.button-light:hover{background:#F6F6F6}.site-footer{background:#161616;color:#F6F6F6;padding:90px 0 26px}.footer-top{display:grid;grid-template-columns:290px 1fr;gap:80px;padding-bottom:80px}.footer-top h2{font-size:40px;letter-spacing:-.055em;line-height:1.08;margin:0 0 27px}.footer-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.footer-columns>div{display:flex;flex-direction:column;align-items:start;gap:12px;font-size:14px;color:#666666;line-height:1.45}.footer-columns h3{font-size:14px;color:#FFFFFF;margin:0 0 13px}.footer-columns address{font-style:normal}.footer-columns strong{color:#FFFFFF}.footer-bottom{border-top:1px solid #666666;padding-top:23px;display:flex;justify-content:space-between;gap:20px;color:#666666;font-size:13px}.footer-bottom>div{display:flex;gap:22px;flex-wrap:wrap}.footer-bottom button{background:none;border:0;padding:0;color:inherit;cursor:pointer}.footer-bottom a:hover,.footer-bottom button:hover{text-decoration:underline}.page-hero{padding-top:100px;padding-bottom:90px;border-bottom:1px solid #F6F6F6}.page-hero h1{font-size:clamp(3.3rem,7vw,6.7rem);line-height:1;letter-spacing:-.07em;margin:0 0 22px;max-width:950px}.page-hero>p:last-of-type{color:#666666;font-size:19px;line-height:1.5;max-width:660px;margin:0}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#F6F6F6;margin-top:55px}.contact-card{background:#FFFFFF;padding:36px 32px 45px;min-height:375px}.contact-card h2{font-size:31px;letter-spacing:-.04em;margin:0 0 18px}.contact-card address{font-style:normal;font-size:18px}.contact-actions{display:flex;flex-direction:column;align-items:start;gap:18px;margin-top:40px}.contact-card dl{margin:0}.contact-card dt{color:#666666;font-size:14px;margin:19px 0 5px}.contact-card dd{margin:0;font-weight:500;overflow-wrap:anywhere}.contact-card dd a:hover{text-decoration:underline}.map-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.map-heading p:last-child{color:#666666}.map-panel{height:430px;background:#F6F6F6;display:grid;place-items:center;text-align:center;border:1px solid #F6F6F6}.map-panel p{margin:0 0 22px;padding:0 20px}.map-panel iframe{border:0;width:100%;height:100%}.pending-layout{display:grid;grid-template-columns:1fr 42%;gap:75px;align-items:center;padding-top:75px;padding-bottom:110px}.pending-content h2,.legal-pending h2{font-size:clamp(2.1rem,4vw,3.5rem);letter-spacing:-.05em;margin:0 0 22px}.pending-content>p:not(.eyebrow),.legal-pending p{font-size:18px;line-height:1.65;color:#666666;max-width:580px}.pending-layout .visual-slot{min-height:400px}.notice{border-top:1px solid #F6F6F6}.notice p{font-size:18px;line-height:1.6;max-width:760px}.notice a,.legal-pending a{text-decoration:underline}.legal-pending{padding-top:80px;padding-bottom:140px}dialog{border:0;box-shadow:none;width:min(520px,calc(100% - 32px));padding:0}dialog::backdrop{background:#161616}.dialog-inner{padding:35px}.dialog-inner h2{font-size:26px}.dialog-inner p{line-height:1.6}.dialog-close{float:right;background:none;border:0;font-size:30px;cursor:pointer}
@media(max-width:1180px){.desktop-nav{gap:12px;font-size:13px}.header-inner{gap:16px}.button-small{padding-inline:12px}.footer-top{grid-template-columns:1fr;gap:45px}}@media(max-width:1180px){.desktop-nav,.header-cta{display:none}.mobile-menu{display:block;margin-left:auto;position:relative}.mobile-menu>summary{list-style:none;cursor:pointer;padding:12px;font-weight:500}.mobile-menu>summary::-webkit-details-marker{display:none}.mobile-menu>summary span{margin-left:9px}.mobile-menu nav{position:absolute;right:-24px;top:calc(100% + 19px);width:min(420px,100vw);max-height:calc(100vh - 85px);overflow:auto;background:#FFFFFF;box-shadow:none;padding:18px 24px 25px;display:flex;flex-direction:column;gap:0}.mobile-menu nav>a,.mobile-menu .nav-group>summary{display:block;padding:12px 0}.mobile-menu nav>.button{margin-top:15px;color:#FFFFFF}.mobile-menu .dropdown{position:static;box-shadow:none;border:0;border-left:2px solid #F6F6F6;padding:0 0 0 12px;width:auto}.mobile-menu .dropdown a{padding:9px}.hero-grid{gap:25px}.footer-columns{gap:20px}}@media(max-width:700px){.shell{width:min(100% - 36px,1320px)}.header-inner{min-height:72px}.hero-grid{display:flex;flex-direction:column;padding-top:65px;gap:25px}.hero-content{padding:0}.hero h1{font-size:clamp(3.4rem,11vw,5.5rem)}.hero-lead{font-size:17px}.hero .visual-slot{min-height:300px}.hero-bottom{margin-top:10px}.section{padding-top:75px;padding-bottom:75px}.intro-grid,.visit-grid,.pending-layout{grid-template-columns:1fr;gap:27px}.intro-grid p{font-size:17px}.section-heading,.map-heading{display:block}.section-heading p:last-child{margin-top:20px}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:175px;padding:18px}.service-card h3{font-size:21px}.footer-top{padding-bottom:55px}.footer-columns{grid-template-columns:1fr 1fr;row-gap:40px}.footer-bottom{flex-direction:column}.page-hero{padding-top:70px;padding-bottom:65px}.page-hero h1{font-size:clamp(3.1rem,11vw,5rem)}.contact-grid{grid-template-columns:1fr;margin-top:30px}.contact-card{min-height:0;padding:28px}.pending-layout{padding-top:55px;padding-bottom:75px}.pending-layout .visual-slot{min-height:290px}.map-panel{height:350px}}@media(max-width:470px){.footer-columns,.service-grid{grid-template-columns:1fr}.service-card{min-height:150px}.actions{align-items:stretch;gap:19px}.actions .button{width:100%}.hero-bottom span:last-child{display:none}.site-footer{padding-top:65px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* BMW palette and dark header for the supplied transparent white logo. */
.site-header{background:#161616;border-bottom:1px solid #262626;color:#FFFFFF}
.brand{color:#FFFFFF}.brand-logo{width:56px;height:56px;object-fit:contain;display:block;flex:none}
.desktop-nav>a:hover,.desktop-nav summary:hover{color:#FFFFFF}
.nav-group summary:after{color:#FFFFFF}
.dropdown{background:#262626;border:1px solid #666666;color:#FFFFFF}
.dropdown a:hover{background:#0066B1;color:#FFFFFF}
.mobile-menu nav{background:#262626;color:#FFFFFF;border:1px solid #666666}
.mobile-menu .dropdown{border-left-color:#666666}
.mobile-menu nav>.button{color:#FFFFFF}
.visual-slot{background:linear-gradient(140deg,#262626,#161616);border-color:#666666;color:#FFFFFF}
.visual-slot .slot-corner,.visual-slot .slot-bottom,.visual-slot small{color:#F6F6F6}
.hero-lead,.footer-columns>div,.footer-bottom{color:#F6F6F6}
.hero h1 em{color:#1C69D4}
.hero-bottom{border-color:#666666;color:#F6F6F6}
.service-grid{background:#666666;border-color:#666666}
.service-card{background:#F6F6F6}.service-card:hover{background:#FFFFFF}
.contact-grid{background:#666666}.contact-card{background:#FFFFFF}
.map-panel{background:#F6F6F6;border-color:#666666}
.visit .eyebrow{color:#FFFFFF}
.button-light{background:#FFFFFF;color:#0066B1;border-color:#FFFFFF}.button-light:hover{background:#F6F6F6}
.footer-bottom{border-color:#666666}.page-hero,.notice{border-color:#666666}
dialog{border:1px solid #666666;background:#FFFFFF;color:#161616}
dialog::backdrop{background:#161616;opacity:.8}
@media(max-width:950px){.mobile-menu nav{right:-24px}}
@media(max-width:700px){.brand-logo{width:48px;height:48px}}

/* Home hero: the supplied photograph sits behind centered, readable content. */
.hero{position:relative;isolation:isolate;overflow:hidden;background:#161616}
.hero::before{content:"";position:absolute;inset:0;z-index:0;background-image:url('/hero-bmw-blank.jpg');background-size:cover;background-position:center 54%;opacity:.30}
.hero-grid{position:relative;z-index:1;min-height:670px;display:flex;align-items:center;justify-content:center;padding-top:88px;padding-bottom:88px}
.hero-content{width:100%;max-width:950px;margin:0 auto;padding:0;align-items:center;text-align:center}
.hero h1{margin-bottom:29px}
.hero-lead{max-width:720px;margin:0 auto;color:#FFFFFF}
.hero .actions{justify-content:center}
@media(max-width:700px){.hero-grid{min-height:620px;padding-top:84px;padding-bottom:84px}.hero::before{background-position:60% center;opacity:.27}.hero-content{padding:0}.hero-lead{font-size:17px}}

/* Homepage sections */
.intro{padding-bottom:0}
.intro::after{content:"";display:block;height:2px;margin-top:90px;background:linear-gradient(90deg,#1C69D4 0 80px,#F6F6F6 80px 100%)}
.button-bright{background:#1C69D4;border-color:#1C69D4;color:#FFFFFF}
.button-bright:hover{background:#0066B1;border-color:#0066B1;color:#FFFFFF}
.services{background:#FFFFFF;scroll-margin-top:clamp(72px,18vh,170px)}
.services .section-heading{margin-bottom:40px}
.service-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;border:0;background:transparent}
.service-card{min-height:240px;padding:28px 18px;align-items:center;justify-content:center;text-align:center;background:#F6F6F6}
.service-card:hover{background:#F6F6F6;box-shadow:inset 0 -3px #1C69D4}
.service-card>span.service-card-symbol:first-child{width:46px;height:46px;display:grid;place-items:center;flex:none;margin-bottom:26px;border-radius:50%;background:#262626;color:#FFFFFF;font-size:23px;line-height:1}
.service-card h3{font-size:22px;line-height:1.18;letter-spacing:-.03em;margin:0;max-width:210px}
.booking-band{background:#161616;color:#FFFFFF}
.booking-band-inner{display:flex;justify-content:space-between;align-items:center;gap:35px}
.booking-band h2{font-size:clamp(2.3rem,4vw,4rem);line-height:1.08;letter-spacing:-.055em;margin:0}
@media(max-width:1120px){.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.intro::after{margin-top:65px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.service-card{min-height:210px}.service-card h3{font-size:19px}.booking-band-inner{flex-direction:column;align-items:flex-start}.booking-band h2{max-width:500px}}
@media(max-width:390px){.service-grid{grid-template-columns:1fr}.service-card{min-height:170px}.service-card-symbol{margin-bottom:18px}}

/* Supplied rear-view photograph echoes the home hero behind the booking CTA. */
.service-card-symbol img{display:block;width:24px;height:24px}
.booking-band{position:relative;isolation:isolate;overflow:hidden;background:#161616}
.booking-band::before{content:"";position:absolute;inset:0;z-index:0;background-image:url('/booking-bmw-blank.jpg');background-size:cover;background-position:center 53%;opacity:.30}
.booking-band-inner{position:relative;z-index:1;min-height:340px;flex-direction:column;justify-content:center;align-items:center;gap:28px;text-align:center}
@media(max-width:700px){.booking-band::before{background-position:45% center;opacity:.27}.booking-band-inner{min-height:320px;align-items:center}.booking-band h2{text-align:center}}

/* Parts page */
.parts-hero{position:relative;isolation:isolate;overflow:hidden;background:#161616;color:#FFFFFF}
.parts-hero::before{content:"";position:absolute;inset:0;z-index:0;background-image:url('/parts-hero.png');background-size:cover;background-position:center 53%;opacity:.27}
.parts-hero-content{position:relative;z-index:1;min-height:570px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding-top:75px;padding-bottom:75px}
.parts-hero h1{font-size:clamp(3.3rem,7vw,6.7rem);line-height:1;letter-spacing:-.07em;margin:0 0 25px}
.parts-hero p{max-width:660px;font-size:19px;line-height:1.6;color:#FFFFFF;margin:0 0 32px}
.parts-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#666666;padding-top:0;padding-bottom:0;margin-top:85px;margin-bottom:105px}
.parts-info-card{background:#F6F6F6;padding:45px;min-height:205px}
.parts-info-card h2{font-size:22px;letter-spacing:-.03em;margin:0 0 25px}
.parts-info-card>a,.parts-info-card strong{font-size:30px;line-height:1.2;font-weight:500}
.parts-info-card>a:hover{text-decoration:underline}
.parts-info-card p{font-size:18px;line-height:1.6;margin:0}
@media(max-width:700px){.parts-hero-content{min-height:510px}.parts-hero p{font-size:17px}.parts-info{grid-template-columns:1fr;margin-top:55px;margin-bottom:75px}.parts-info-card{min-height:0;padding:30px}.parts-info-card>a,.parts-info-card strong{font-size:25px}}

/* Service campaigns page */
.campaigns-hero{position:relative;isolation:isolate;overflow:hidden;background:#161616;color:#FFFFFF}
.campaigns-hero::before{content:"";position:absolute;inset:0;z-index:0;background-image:url('/campaigns-hero.webp');background-size:cover;background-position:center;opacity:.27}
.campaigns-hero-content{position:relative;z-index:1;min-height:520px;display:flex;justify-content:center;align-items:center;padding-top:70px;padding-bottom:70px;text-align:center}
.campaigns-hero h1{font-size:clamp(3.3rem,7vw,6.7rem);line-height:1;letter-spacing:-.07em;margin:0}
.campaigns-content{max-width:880px}
.campaigns-content>p{font-size:19px;line-height:1.7;color:#262626;margin:0 0 30px}
.campaigns-content>p strong{color:#161616}
.campaigns-check{margin-top:65px;padding:46px;background:#F6F6F6;border-left:3px solid #1C69D4}
.campaigns-check h2{font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:-.04em;margin:0 0 15px}
.campaigns-check p{font-size:17px;line-height:1.6;color:#666666;margin:0 0 26px}
@media(max-width:700px){.campaigns-hero-content{min-height:420px}.campaigns-hero::before{background-position:44% center;opacity:.24}.campaigns-content>p{font-size:17px}.campaigns-check{margin-top:45px;padding:28px}}

/* Mechanical service and warranty repair pages */
.service-detail-hero{position:relative;isolation:isolate;overflow:hidden;background:#161616;color:#FFFFFF}
.service-detail-hero::before{content:"";position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;opacity:.32}
.service-detail-hero.mechanical::before{background-image:url('/mehanichen-serviz.jpg');background-position:center 46%}
.service-detail-hero.warranty::before{background-image:url('/garancionni-remonti.jpg');background-position:center 48%}
.service-detail-hero-content{position:relative;z-index:1;min-height:530px;display:flex;align-items:center;justify-content:center;text-align:center;padding-top:75px;padding-bottom:75px}
.service-detail-hero h1{font-size:clamp(3.3rem,7vw,6.7rem);line-height:1;letter-spacing:-.07em;margin:0}
.service-detail-content{max-width:900px}
.service-detail-content h2{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.05em;line-height:1.1;margin:0 0 26px}
.service-detail-content p{font-size:19px;line-height:1.7;color:#262626;max-width:760px;margin:0}
@media(max-width:700px){.service-detail-hero-content{min-height:420px}.service-detail-hero.mechanical::before{background-position:61% center}.service-detail-hero.warranty::before{background-position:58% center}.service-detail-content p{font-size:17px}}

.service-detail-hero.online::before{background-image:url('/online.webp');background-position:center;opacity:.63}
.service-detail-hero.four-plus::before{background-image:url('/bmw-4-plus-blank.jpg');background-position:center 57%;opacity:.34}
.booking-content{padding-bottom:75px}
.booking-content .actions{margin-top:32px}
@media(max-width:700px){.service-detail-hero.online::before{background-position:66% center}.service-detail-hero.four-plus::before{background-position:40% center}}

/* Language selector in the shared header */
.language-menu{position:relative;flex:none;font-size:13px;font-weight:500}
.language-menu>summary{list-style:none;cursor:pointer;min-width:52px;padding:11px 5px;text-align:center;color:#FFFFFF}
.language-menu>summary::-webkit-details-marker{display:none}
.language-menu>summary::after{content:'⌄';margin-left:4px}
.language-options{position:absolute;right:0;top:100%;min-width:86px;display:flex;flex-direction:column;padding:7px;background:#262626;border:1px solid #666666;color:#FFFFFF}
.language-options a{display:block;padding:9px 12px;text-align:center}
.language-options a:hover,.language-options a[aria-current="true"]{background:#0066B1}
@media(max-width:470px){.brand>span{display:none}.header-inner{gap:8px}.mobile-menu>summary{padding:9px}}

/* Special offers overview */
.service-detail-hero.offers-hero::before{background-image:url('/offers-hero.jpg');background-position:center 52%;opacity:.35}
.offers-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.offer-card{display:flex;flex-direction:column;align-items:flex-start;min-height:285px;padding:40px;background:#F6F6F6;border-top:3px solid #1C69D4}
.offer-card h2{font-size:clamp(1.9rem,3vw,2.7rem);letter-spacing:-.045em;line-height:1.1;margin:0 0 22px}
.offer-card p{font-size:18px;line-height:1.6;color:#262626;margin:0 0 32px}
.offer-card .underlined{margin-top:auto}
@media(max-width:700px){.service-detail-hero.offers-hero::before{background-position:58% center}.offers-grid{grid-template-columns:1fr}.offer-card{min-height:0;padding:30px}.offer-card p{font-size:17px}}

/* Team accordion: aligned controls and calm, distinct role panels. */
.team-hero{padding-bottom:70px}
.team-content{padding-top:48px}
.team-list{max-width:1050px;margin-inline:auto;display:grid;gap:12px}
.team-group{background:#FFFFFF;border:1px solid transparent;border-left:3px solid transparent;scroll-margin-top:110px}
.team-group summary{display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;list-style:none;min-height:88px;padding:24px 28px;font-size:clamp(1.2rem,2.1vw,1.65rem);font-weight:500;line-height:1.3;letter-spacing:-.02em;transition:color .18s,background .18s}
.team-group summary>span{min-width:0;overflow-wrap:anywhere}
.team-group summary::-webkit-details-marker{display:none}
.team-group summary:hover{color:#0066B1;background:#F6F6F6}
.team-group summary::after{content:'+';display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;font-family:Arial,sans-serif;font-size:25px;font-weight:400;line-height:1;background:#F6F6F6;color:#0066B1}
.team-group[open]{border-left-color:#1C69D4}
.team-group[open] summary{color:#0066B1}
.team-group[open] summary::after{content:'−';background:#0066B1;color:#FFFFFF}
.team-group summary:focus-visible{outline-offset:3px}
.team-group ul{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin:0 28px;padding:0 0 24px;border-top:1px solid #F6F6F6}
.team-group li{padding:18px 0 8px;font-size:18px;line-height:1.5;color:#262626;overflow-wrap:anywhere}
html{scroll-padding-top:110px}
.skip-link{position:fixed}
@media(max-width:700px){html{scroll-padding-top:90px}.team-content{padding-top:30px}.team-list{gap:10px}.team-group{scroll-margin-top:90px}.team-group summary{min-height:76px;padding:20px 18px;gap:16px;font-size:20px}.team-group summary::after{flex-basis:32px;width:32px;height:32px;font-size:23px}.team-group ul{grid-template-columns:1fr;margin-inline:18px;padding-bottom:22px}.team-group li{font-size:17px;padding-top:14px}}
@media(max-width:1180px){.mobile-menu nav{max-height:calc(100dvh - 110px)}}

.hero h1 em{color:#FFFFFF}

/* Restrained motion: a quiet entrance and precise interaction feedback. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
.nav-group>summary::after,.language-menu>summary::after{display:inline-block;padding-left:0;margin-left:6px;transition:transform .22s var(--motion-ease)}
.nav-group[data-expanded="true"]>summary::after,.language-menu[data-expanded="true"]>summary::after{transform:rotate(180deg)}
.dropdown a,.language-options a{transition:background .18s ease,color .18s ease}
.team-group{transition:border-color .22s ease}
.team-group summary::after{transition:background .2s ease,color .2s ease,transform .25s var(--motion-ease)}
.button{transition:background .2s ease,border-color .2s ease,transform .22s var(--motion-ease)}
.button:active{transform:translateY(0)}
.service-card{transition:background .2s ease,box-shadow .2s ease,transform .28s var(--motion-ease)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.service-card:hover{transform:translateY(-3px)}}
@keyframes home-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
.hero h1{animation:home-enter .65s var(--motion-ease) both}
.hero-lead{animation:home-enter .65s .09s var(--motion-ease) both}
.hero .actions{animation:home-enter .6s .16s var(--motion-ease) both}
}
@media(prefers-reduced-motion:reduce){.service-card:hover,.button:hover{transform:none}}

/* Refined navigation with a consistent active-page indicator. */
.header-inner{gap:22px}
.desktop-nav{gap:16px}
.desktop-nav>a,.desktop-nav>.nav-group>summary{position:relative;padding:16px 0;text-decoration:none}
.desktop-nav>a:hover,.desktop-nav summary:hover{text-decoration:none}
.desktop-nav>a::before,.desktop-nav>.nav-group>summary::before{content:"";position:absolute;left:0;right:0;bottom:5px;height:2px;background:#1C69D4;transform:scaleX(0);transform-origin:left;transition:transform .25s var(--motion-ease)}
.desktop-nav>a:hover::before,.desktop-nav>a[aria-current="page"]::before,.desktop-nav>.nav-group>summary:hover::before,.desktop-nav>.nav-group.is-current>summary::before,.desktop-nav>.nav-group[data-expanded="true"]>summary::before{transform:scaleX(1)}
.site-header .dropdown{top:calc(100% + 8px);left:-18px;width:265px;padding:8px;border:1px solid #262626;border-top:2px solid #1C69D4;background:#161616;box-shadow:0 14px 28px #16161633}
.site-header .dropdown a{padding:13px 14px;border-radius:2px}
.site-header .dropdown a:hover,.site-header .dropdown a[aria-current="page"]{background:#262626;color:#FFFFFF;box-shadow:inset 2px 0 #1C69D4}
.header-cta{border-radius:3px;background:#1C69D4;border-color:#1C69D4}
.header-cta:hover{background:#0066B1;border-color:#0066B1}
.language-menu>summary{border:1px solid #666666;border-radius:3px;min-width:58px}
.language-options{margin-top:8px;border-color:#262626;border-top:2px solid #1C69D4;background:#161616;box-shadow:0 14px 28px #16161633}
@media(max-width:1180px){.header-inner{gap:16px}.mobile-menu nav{border-color:#262626;border-top:2px solid #1C69D4;background:#161616}.mobile-menu .dropdown{position:static;width:auto;border:0;border-left:1px solid #666666;padding:0 0 0 10px;box-shadow:none}.mobile-menu nav>a[aria-current="page"]{color:#1C69D4}}
@media(max-width:470px){.header-inner{gap:10px}}
/* Crisp chevrons rotate immediately in both directions, including while closing. */
.team-group summary::after,.team-group[open] summary::after{content:"";display:block;flex:0 0 10px;width:10px;height:10px;margin:0 10px 5px 0;border-right:2px solid #0066B1;border-bottom:2px solid #0066B1;background:transparent;transform:rotate(45deg);transition:transform .28s var(--motion-ease)}
.team-group[open]:not([data-expanded="false"]) summary::after{transform:rotate(225deg)}
/* A single cinematic image entrance, plus staggered text on all page heroes. */
@keyframes hero-image-enter{from{transform:scale(1.045)}to{transform:scale(1)}}
@media(prefers-reduced-motion:no-preference){
html.js .hero.image-ready::before{animation:hero-image-enter 1.7s var(--motion-ease) both}
.hero h1{animation-duration:.85s}
.hero-lead{animation-delay:.14s;animation-duration:.75s}
.hero .actions{animation-delay:.26s;animation-duration:.7s}
.page-hero h1,.parts-hero h1,.campaigns-hero h1,.service-detail-hero h1{animation:home-enter .75s var(--motion-ease) both}
.page-hero>p,.parts-hero p{animation:home-enter .7s .1s var(--motion-ease) both}
.parts-hero .button{animation:home-enter .65s .2s var(--motion-ease) both}
.service-card-symbol{transition:transform .3s var(--motion-ease)}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.service-card:hover .service-card-symbol{transform:translateY(-3px)}}

/* Balanced final service row at intermediate and narrow widths. */
@media(min-width:701px) and (max-width:1120px){
  .service-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .service-card{grid-column:span 2}
  .service-card:nth-child(4){grid-column:2 / span 2}
  .service-card:nth-child(5){grid-column:4 / span 2}
}
@media(min-width:391px) and (max-width:700px){
  .service-card:last-child{grid-column:1 / -1;justify-self:center;width:calc((100% - 14px)/2)}
}
/* Draw a true geometric chevron so font metrics cannot shift its alignment. */
.site-header .nav-group>summary,.site-header .language-menu>summary{display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.25}
.site-header .nav-group>summary::after,.site-header .language-menu>summary::after{content:"";display:block;flex:none;width:7px;height:7px;margin:-4px 0 0;padding:0;border-right:1.5px solid #FFFFFF;border-bottom:1.5px solid #FFFFFF;transform:rotate(45deg);transition:transform .22s var(--motion-ease),margin .22s var(--motion-ease)}
.site-header .nav-group[data-expanded="true"]>summary::after,.site-header .language-menu[data-expanded="true"]>summary::after{transform:rotate(225deg);margin:4px 0 0}
@media(max-width:1180px){.site-header .mobile-menu .nav-group>summary{display:flex;justify-content:flex-start}}

/* A decoded photo fades onto an already complete, dark hero surface.
   Static photos remain visible when JavaScript is disabled. */
.hero,.booking-band,.parts-hero,.campaigns-hero,.service-detail-hero{background-color:#161616}
.hero{--image-opacity:.30}
.booking-band{--image-opacity:.30}
.parts-hero,.campaigns-hero{--image-opacity:.27}
.service-detail-hero{--image-opacity:.32}
.service-detail-hero.online{--image-opacity:.63}
.service-detail-hero.four-plus{--image-opacity:.34}
.service-detail-hero.offers-hero{--image-opacity:.35}
html.js :is(.hero,.booking-band,.parts-hero,.campaigns-hero,.service-detail-hero)::before{opacity:0;transition:opacity .48s ease}
html.js :is(.hero,.booking-band,.parts-hero,.campaigns-hero,.service-detail-hero).image-ready::before{opacity:var(--image-opacity)}
html.js .brand-logo,html.js .service-card-symbol img{opacity:0;transition:opacity .25s ease}
html.js :is(.brand-logo,.service-card-symbol img).image-ready{opacity:1}
@media(max-width:700px){.hero,.booking-band{--image-opacity:.27}.campaigns-hero{--image-opacity:.24}}
@media(prefers-reduced-motion:reduce){html.js :is(.hero,.booking-band,.parts-hero,.campaigns-hero,.service-detail-hero)::before,html.js .brand-logo,html.js .service-card-symbol img{transition:none}}
/* The lower photo starts only near the viewport. Keep titles usable while a
   slow photo is pending; image motion begins with its decoded reveal. */
html.js .booking-band::before{background-image:none}
html.js .booking-band.image-ready::before{background-image:url('/booking-bmw-blank.jpg')}

/* Publisher details follow the contact page's spacing and card language. */
.publisher-hero{padding-bottom:72px}
.publisher-content{padding-top:45px;max-width:1320px}
.publisher-content p{max-width:790px;font-size:19px;line-height:1.65;color:#262626;margin:0 0 16px}
.publisher-content strong{color:#161616}
.publisher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#666666;margin-top:40px;margin-bottom:105px}
.publisher-card{background:#FFFFFF;min-height:240px;padding:40px 42px;overflow-wrap:anywhere}
.publisher-card h2{font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.2;letter-spacing:-.04em;margin:0 0 24px}
.publisher-card p,.publisher-card address{font-size:18px;line-height:1.6;font-style:normal;margin:0}
.publisher-card dl{margin:0}.publisher-card dt{font-size:14px;color:#666666;margin:16px 0 5px}.publisher-card dd{margin:0;font-size:18px;font-weight:500;line-height:1.4}
.publisher-card a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){.publisher-hero{padding-bottom:55px}.publisher-content{padding-top:32px}.publisher-content p{font-size:17px}.publisher-grid{grid-template-columns:1fr;margin-top:30px;margin-bottom:75px}.publisher-card{min-height:0;padding:30px}.publisher-card p,.publisher-card address,.publisher-card dd{font-size:17px}}

/* Set before below-the-fold content enters view; removed after its one-time reveal. */
.scroll-reveal-pending{opacity:0}
@media(prefers-reduced-motion:reduce){.scroll-reveal-pending{opacity:1}}
@media print{.scroll-reveal-pending{opacity:1}}

/* Fading cards reveal the page surface, not a dark grid underlay. */
.contact-grid,.publisher-grid,.parts-info{background:transparent}

/* BMW Type Next Pro: Regular for copy, Medium for controls, Light for large headings. */
h1,.hero h1,.page-hero h1,.parts-hero h1,.campaigns-hero h1,.service-detail-hero h1{font-weight:300;letter-spacing:-.025em;line-height:1.06}
h2,.booking-band h2,.service-detail-content h2{font-weight:400;letter-spacing:-.025em}
.service-card h3,.contact-card h2,.publisher-card h2,.parts-info-card h2,.offer-card h2{font-weight:500;letter-spacing:-.02em}
strong,b{font-weight:500}

/* Official BMW Light wordmark accompanying the roundel. */
.site-header .brand>span,.site-header .brand>span strong{font-family:"BMW Type Next Pro",Arial,Helvetica,sans-serif;font-weight:400;font-style:normal;letter-spacing:.06em;line-height:1.25}

.brochure-section{padding-top:0}.brochure-card{display:flex;align-items:center;justify-content:space-between;gap:40px;border-top:2px solid #0066B1}.brochure-card>div{max-width:730px}.brochure-card .button{flex:none}.brochure-card .brochure-note{font-size:14px;color:#666666;margin-bottom:0}@media(max-width:700px){.brochure-card{flex-direction:column;align-items:flex-start;gap:24px}.brochure-card .button{width:100%}}

/* White footer with readable contact details and a clear booking action. */
.site-footer{background:#FFFFFF;color:#161616;border-top:1px solid #F6F6F6}
.site-footer .footer-columns>div,.site-footer .footer-bottom{color:#666666}
.site-footer .footer-columns h3,.site-footer .footer-columns strong{color:#161616}
.site-footer .footer-columns a{color:#0066B1}
.site-footer .footer-bottom{border-color:#F6F6F6}
.site-footer .button-light{background:#0066B1;border-color:#0066B1;color:#FFFFFF}
.site-footer .button-light:hover{background:#1C69D4;border-color:#1C69D4;color:#FFFFFF}
.site-footer .footer-bottom a:hover,.site-footer .footer-bottom button:hover{color:#0066B1}
/* Full-width navigation: transparent over photography, light on plain pages. */
body{background:#FFFFFF;--header-height:104px}
.site-header{top:0;width:100%;margin:0;border:0;border-radius:0;background:rgba(255,255,255,.94);color:#161616;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:background .25s ease,color .25s ease}
.header-inner{height:var(--header-height);min-height:var(--header-height);border-bottom:1px solid rgba(102,102,102,.3)}
.site-header .brand{color:inherit}
.site-header .brand-logo{background:#161616;border-radius:50%}
.site-header .nav-group>summary::after,.site-header .language-menu>summary::after{border-color:currentColor}
.photo-page .site-header{margin-bottom:calc(-1 * var(--header-height))}
.photo-page:not(.header-scrolled) .site-header{background:rgba(22,22,22,.08);color:#FFFFFF;-webkit-backdrop-filter:none;backdrop-filter:none}
.photo-page:not(.header-scrolled) .header-inner{border-bottom-color:rgba(255,255,255,.65)}
.photo-page:not(.header-scrolled) .brand-logo{background:transparent}
.photo-page :is(.hero-grid,.parts-hero-content,.campaigns-hero-content,.service-detail-hero-content){padding-top:calc(var(--header-height) + 65px)}
.site-header .dropdown,.site-header .language-options,.site-header .mobile-menu nav{background:#FFFFFF;color:#161616;border-color:#F6F6F6;border-top-color:#0066B1;box-shadow:0 12px 24px #16161614}
.site-header .dropdown a:hover,.site-header .dropdown a[aria-current="page"],.site-header .language-options a:hover,.site-header .language-options a[aria-current="true"]{background:#F6F6F6;color:#0066B1}
.site-header .mobile-menu .dropdown{box-shadow:none}
.site-header .mobile-menu nav .nav-group>summary::after{border-color:#161616}
@media(max-width:950px){body{--header-height:88px}}
@media(max-width:700px){.photo-page :is(.hero-grid,.parts-hero-content,.campaigns-hero-content,.service-detail-hero-content){padding-top:calc(var(--header-height) + 45px)}}
@media(prefers-reduced-transparency:reduce){.site-header{background:#FFFFFF;-webkit-backdrop-filter:none;backdrop-filter:none}.photo-page:not(.header-scrolled) .site-header{background:#161616}}

/* Navigation colors follow the actual header surface in every interaction state. */
.site-header .desktop-nav>a:hover,.site-header .desktop-nav summary:hover,.site-header .desktop-nav summary:focus-visible{color:#0066B1}
.photo-page:not(.header-scrolled) .site-header .desktop-nav>a:hover,.photo-page:not(.header-scrolled) .site-header .desktop-nav summary:hover{color:#FFFFFF}
.site-header .language-menu>summary{color:inherit;border-color:currentColor;background:transparent}
.site-header .language-menu>summary:hover{background:rgba(102,102,102,.1)}
.site-header .language-options{color:#161616}
.cars-link{display:inline-flex;align-items:center;gap:6px}.external-icon{display:inline-block;vertical-align:middle;flex:none}
.intro-copy p+p{margin-top:22px}.intro-copy p:last-of-type{font-weight:500;color:#161616}
.team-group li{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.team-phone{color:#0066B1;white-space:nowrap;font-size:17px}.team-phone:hover{text-decoration:underline;text-underline-offset:4px}

/* Chevron color must inherit from the label, including after scrolling. */
.site-header .nav-group>summary::after,.site-header .language-menu>summary::after{color:inherit;border-right-color:currentColor;border-bottom-color:currentColor;opacity:1}
/* A full-width heading and balanced text rows avoid an empty left column. */
.intro .intro-grid{grid-template-columns:minmax(0,1fr);gap:32px}
.intro .intro-grid>h2{max-width:1050px;font-size:clamp(2rem,3.5vw,3.5rem);letter-spacing:-.025em;line-height:1.12}
.intro .intro-grid>.intro-copy{max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 48px}
.intro .intro-copy p{margin:0;font-size:18px;line-height:1.65}
.intro .intro-copy p:first-child,.intro .intro-copy p:last-child{grid-column:1/-1}
.intro .intro-copy p:last-child{padding-top:4px}
@media(max-width:700px){.intro .intro-grid{gap:24px}.intro .intro-grid>.intro-copy{grid-template-columns:1fr;gap:20px}.intro .intro-copy p{font-size:17px}}

/* Editorial introduction: opening, two themes, then a light signature panel. */
.intro .intro-editorial{display:flex;flex-direction:column;gap:26px}
.intro .intro-editorial>h2{max-width:1200px;margin:0;font-size:clamp(2rem,3.1vw,3rem)}
.intro .intro-editorial>p{max-width:none;margin:0;font-size:19px;line-height:1.65;color:#666666}
.intro .intro-editorial>.intro-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:48px;border-top:1px solid #F6F6F6;padding-top:32px;margin-top:4px}
.intro-features h3{font-size:24px;line-height:1.25;font-weight:500;letter-spacing:-.02em;margin:0 0 16px}
.intro .intro-features p{margin:0;font-size:18px;line-height:1.65}
.intro .intro-editorial>.intro-statement{max-width:none;background:#F6F6F6;padding:28px 32px;border-radius:3px}
.intro-statement::before{content:"";display:block;width:44px;height:3px;background:#1C69D4;margin-bottom:18px}
.intro-statement h3{font-size:clamp(1.5rem,2.3vw,2rem);line-height:1.3;font-weight:500;letter-spacing:-.02em;margin:0 0 14px}
.intro .intro-statement p{margin:0;font-size:17px;line-height:1.6}.intro .intro-statement p+p{margin-top:10px}
@media(max-width:700px){.intro .intro-editorial{gap:22px}.intro .intro-editorial>.intro-features{grid-template-columns:1fr;gap:26px;padding-top:26px}.intro .intro-editorial>p{font-size:17px}.intro-features h3{font-size:22px}.intro .intro-features p{font-size:17px}.intro .intro-editorial>.intro-statement{padding:24px}}
