/* Each destination has its own page; the home page is a discovery experience. */
html[data-route]:not([data-route="home"]) .home-feature{display:none!important}
html[data-route="home"] #collection{display:none!important}
html[data-route]:not([data-route="models"]):not([data-route="electric"]) #collection{display:none!important}
html[data-booting] main>:not(.app-loading){display:none!important}
.app-loading{min-height:65svh;display:flex;align-items:center;justify-content:center;gap:14px;color:var(--muted);font-size:13px}
html[data-route="home"] .popular-comparisons{display:none!important}
html[data-route="home"] #recent-section{display:none!important}
.hero .button-primary{background:#86beff;color:#071423}
.hero .button-primary:hover{background:#aed3ff;color:#071423}
html[data-route="models"] #recent-section:not([hidden]){display:block!important}
html[data-route="electric"] .hero.home-feature{display:block!important}
html[data-route="electric"] .collection-ticker.home-feature{display:flex!important}
html[data-route="models"] .collection,html[data-route="electric"] .collection{padding-top:58px}
html[data-route="models"] .collection .section-heading h2{font-size:clamp(34px,4vw,58px);line-height:1.12;max-width:700px;letter-spacing:-2px}
html[data-route="models"] .collection-intro{max-width:550px;line-height:1.8}
html[data-route="models"] .collection .section-heading{margin-bottom:32px}
html[data-route="models"] .quick-picks{margin-bottom:28px}
html[data-route="model"] .home-feature,html[data-route="model"] #collection{display:none!important}
html[data-route="learn"] #compare-tray,html[data-route="compare"] #compare-tray,html[data-route="engine-lab"] #compare-tray,html[data-route="tuning-garage"] #compare-tray,html[data-route="my-garage"] #compare-tray{display:none!important}
.destination-page{width:90%;max-width:1440px;margin:0 auto;padding:32px 0 80px;min-height:70svh;scroll-margin-top:var(--header-height,88px)}
.destination-breadcrumb{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:10px;margin:2px 0 24px}
.destination-breadcrumb a:hover{color:var(--accent)}
.destination-breadcrumb a{padding:0;font-size:inherit}
.destination-breadcrumb>span:last-child{color:var(--white)}
.destination-heading{position:static;height:auto;min-height:0;display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:12px 0 30px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.destination-heading h1{font-weight:450;font-size:clamp(38px,4.5vw,64px);letter-spacing:-2.4px;line-height:1.05;margin:15px 0 16px}
.destination-heading p{font-size:13px;line-height:1.8;color:var(--muted);max-width:590px;margin:0}
.destination-label{font-size:9px;color:var(--accent);border:1px solid var(--line);padding:11px 14px;letter-spacing:1.1px;white-space:nowrap;margin-bottom:3px}
.destination-panel{min-width:0;outline:none}
.destination-panel .bmw-academy{margin-block:0}
.destination-panel>.engine-lab,.destination-panel>.tuning-garage{margin-block:0}
.destination-panel .pg-header h2{font-size:40px}
.destination-error{padding:70px 24px;text-align:center;border:1px solid var(--line);background:var(--surface)}
.destination-error p{color:var(--muted);font-size:13px;line-height:1.8}
.destination-error button{margin-top:15px;padding:12px 24px}
.home-directions{width:90%;max-width:1440px;margin:58px auto 16px}
.directions-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px;gap:30px}
.directions-heading h2{font-size:clamp(30px,3vw,42px);letter-spacing:-1.5px;font-weight:450;line-height:1.15;margin:12px 0 0}
.directions-heading>p{font-size:12px;color:var(--muted);max-width:240px;line-height:1.8;margin:0 0 4px}
.directions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.direction-card{display:flex;flex-direction:column;position:relative;isolation:isolate;min-height:300px;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:28px;color:var(--white)}
.direction-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s}
.direction-card:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#02080d42,#02080dd9 65%,#02080df5)}
.direction-card:has(img){color:#fff}
.direction-card:hover img{transform:scale(1.04)}
.direction-card>small{font-size:9px;letter-spacing:1.7px;color:#b4d5ff}
.direction-card h3{font-size:29px;font-weight:450;letter-spacing:-.8px;margin:70px 0 10px;line-height:1.12;color:#fff}
.direction-card p{font-size:12px;line-height:1.8;color:#cad0da;max-width:280px;margin:0 0 24px}
.direction-card>span{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;border-top:1px solid #ffffff35;padding-top:16px;margin-top:auto;color:#b4d5ff}
.direction-card>span b{font-size:20px;font-weight:400}
.direction-card.learn-direction{background:radial-gradient(ellipse at 90% 5%,#1765ad55,transparent 75%),#101a27}
.learn-direction .direction-lessons{position:absolute;display:grid;gap:9px;width:170px;right:-16px;top:28px;transform:rotate(-12deg);z-index:-1;opacity:.75}
.learn-direction .direction-lessons b{display:block;position:relative;height:42px;border:1px solid #8dc8ff66;border-radius:9px;background:linear-gradient(110deg,#8dc8ff20,#8dc8ff04);box-shadow:0 8px 22px #0002}
.learn-direction .direction-lessons b:before{content:"";position:absolute;left:13px;top:12px;width:16px;height:16px;border:1px solid #8dc8ff99;border-radius:50%;background:#8dc8ff16}
.learn-direction .direction-lessons b:after{content:"";position:absolute;left:40px;right:20px;top:17px;height:5px;border-radius:3px;background:#8dc8ff50}
.learn-direction .direction-lessons b:nth-child(2){margin-left:16px}.learn-direction .direction-lessons b:nth-child(3){margin-left:32px}
.hero-stats strong.count-skeleton{position:relative;display:inline-block;min-width:2.2em;color:transparent!important}
.hero-stats strong.count-skeleton:after{content:"";position:absolute;left:50%;top:50%;width:2em;height:.52em;transform:translate(-50%,-50%);border-radius:3px;background:linear-gradient(90deg,#ffffff12,#ffffff36,#ffffff12);background-size:200% 100%;animation:counter-shimmer 1.35s ease-in-out infinite}
@keyframes counter-shimmer{to{background-position:-200% 0}}
.spec-source-line{margin:0;padding:0 5% 18px;font-size:10px;line-height:1.6;color:var(--muted)}
.spec-source-line a{color:var(--accent);text-underline-offset:3px}
.home-directions+.editorial{margin-top:54px}
.site-header nav .nav-garage{font-size:12px;color:var(--muted)}
.engineering-detail-actions .learn-car-link{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 20px;min-height:46px;font-size:12px;border:1px solid var(--accent);background:var(--accent);color:var(--bg);border-radius:3px}
.site-header nav .nav-compare{display:flex;gap:5px;align-items:center}
.nav-comparison-count{font-size:8px;background:var(--surface-raised);color:var(--accent);border-radius:50%;width:17px;height:17px;display:grid;place-items:center}
.generation-guide-index{max-width:1250px;margin:0 auto}
.generation-guide-disclosure,.generation-guide-detail-heading>p{color:var(--muted);font-size:13px;line-height:1.8;max-width:760px}
.generation-guide-search{display:grid;gap:9px;color:var(--muted);font-size:11px;margin:28px 0 12px;max-width:480px}
.generation-guide-search input{min-height:46px;padding:0 14px;border:1px solid var(--line);border-radius:3px;background:var(--surface);color:var(--white)}
.generation-guide-count{min-height:20px;color:var(--muted);font-size:10px}
.generation-guide-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.generation-guide-card{position:relative;display:flex;min-height:152px;flex-direction:column;justify-content:center;gap:9px;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:4px;transition:border-color .2s,transform .2s}
.generation-guide-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.generation-guide-card>.eyebrow{font-size:8px;color:var(--muted)}
.generation-guide-card>strong{font-size:28px;font-weight:450;letter-spacing:-.8px}
.generation-guide-card>span:not(.eyebrow){font-size:10px;color:var(--muted)}
.generation-guide-card-arrow{position:absolute;right:18px;bottom:17px;color:var(--accent);font-size:18px}
.generation-guide-card[hidden],.generation-guide-empty[hidden]{display:none}
.generation-guide-empty,.generation-guide-not-found{padding:20px;background:var(--surface);border:1px solid var(--line);color:var(--muted)}
.generation-guide-detail{max-width:1200px;margin:0 auto}
.generation-guide-back{display:inline-block;margin:0 0 30px;color:var(--accent);font-size:11px}
.generation-guide-detail-heading{padding:28px 0;border-bottom:1px solid var(--line)}
.generation-guide-detail-heading>.eyebrow{color:var(--accent);font-size:9px;letter-spacing:1.5px}
.generation-guide-detail-heading h2{font-size:clamp(48px,7vw,82px);font-weight:400;letter-spacing:-3px;line-height:1;margin:15px 0}
.generation-guide-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.generation-guide-section{min-width:0;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:4px}
.generation-guide-section>.eyebrow{font-size:8px;letter-spacing:1px;color:var(--accent)}
.generation-guide-section h3{font-size:21px;font-weight:450;letter-spacing:-.4px;margin:14px 0}
.generation-guide-section>p,.generation-guide-section h4{font-size:12px;line-height:1.8;color:var(--muted)}
.generation-guide-models{display:grid;gap:8px;margin-top:20px}
.generation-model-card{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px;background:var(--bg);border:1px solid var(--line)}
.generation-model-name{font-size:12px;color:var(--white)}
.generation-model-card p{font-size:9px;color:var(--muted);margin:6px 0 0}
.generation-model-sources{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.guide-source-link{font-size:9px;color:var(--accent);white-space:nowrap}
.generation-guide-engine-codes{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.generation-guide-engine-codes span{padding:9px 12px;border:1px solid var(--line);color:var(--white);font:11px ui-monospace,monospace}
.guide-unavailable{padding:14px;border-left:2px solid var(--line);background:var(--bg)}
.generation-guide-checks{display:grid;gap:13px;padding:0;list-style:none}
.generation-guide-checks li{padding:14px;background:var(--bg);border:1px solid var(--line)}
.generation-guide-checks li p{margin:0 0 9px;font-size:12px;line-height:1.75}
.generation-guide-import-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.generation-guide-import-grid h4{color:var(--white)}
.generation-georgia-section{grid-column:1/-1}
.generation-guide-neighbors{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;padding:18px;background:var(--surface);border:1px solid var(--line)}
.generation-guide-neighbors>span{font-size:10px;color:var(--muted);margin-right:8px}
.generation-guide-neighbors>a{padding:7px 9px;border:1px solid var(--line);border-radius:2px;font-size:9px}
.generation-guide-neighbors>a:hover{border-color:var(--accent)}
@media(max-width:950px){.generation-guide-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.generation-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.generation-guide-card{min-height:125px;padding:15px}.generation-guide-card>strong{font-size:24px}.generation-guide-sections,.generation-guide-import-grid{grid-template-columns:1fr}.generation-georgia-section{grid-column:auto}.generation-guide-section{padding:18px}.generation-model-card{align-items:flex-start;flex-direction:column;gap:11px}.generation-model-sources{justify-content:flex-start}.generation-guide-detail-heading h2{letter-spacing:-2px}}
.nav-comparison-count:empty{display:none}
.site-header nav{gap:20px!important}
.mobile-navigation nav>a[aria-current="page"]{color:var(--accent)}
.site-header nav a{font-size:12px}
html[data-route="learn"] .destination-page{max-width:1600px;padding-top:25px}
html[data-route="learn"] .destination-heading,html[data-route="compare"] .destination-heading,html[data-route="account"] .destination-heading{display:none}
html[data-route="learn"] .destination-breadcrumb{margin-bottom:18px}
.personal-garage.pg-inline{position:static;display:block;width:100%;max-width:none;max-height:none;margin:0;border:1px solid var(--line);box-shadow:none;overflow:visible}
.personal-garage.pg-inline .pg-close{display:none}
.personal-garage.pg-inline .pg-header{padding-top:26px}
@media(min-width:1101px) and (max-width:1280px){.site-header nav{gap:13px!important}.site-header{padding-inline:3%!important;gap:20px!important}.site-header nav a{font-size:11px}.header-tools{gap:1px!important}}
@media(max-width:760px){.destination-page{padding-top:24px;padding-bottom:50px}.destination-heading{display:block;padding-top:6px}.destination-heading h1{letter-spacing:-1.5px}.destination-heading p{font-size:12px}.destination-label{display:inline-block;margin-top:20px;font-size:8px}.directions-grid{grid-template-columns:1fr}.direction-card{min-height:230px;padding:24px}.direction-card h3{margin-top:45px;font-size:29px}.direction-card p{max-width:360px;margin-bottom:18px}.directions-heading>p{display:none}.home-directions{margin-top:36px}.destination-breadcrumb{font-size:9px}.destination-panel .pg-header h2{font-size:34px}html[data-route="models"] .collection{padding-top:40px}html[data-route="models"] .collection .section-heading h2{letter-spacing:-1.3px}}
@media(prefers-reduced-motion:reduce){.direction-card img{transition:none}.direction-card:hover img{transform:none}}
@media(prefers-reduced-motion:reduce){.hero-stats strong.count-skeleton:after{animation:none;background:#ffffff24}}
