/* Home introduction and catalogue search. */
/* Scoped home sections preserve the catalogue styles on other pages. */
.home-content .home-section { padding: 48px 0; }
.home-content h2 { margin: 0 0 12px; font-size: clamp(1rem, 2vw, 1.5rem); font-weight: 700; color: #172b40; }
.home-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 24px; }
.home-section-heading p { max-width: 400px; color: #566675; }
.home-kicker { color: #3269bc !important; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 10px; }
.home-catalogue-link { font-weight: 600; white-space: nowrap; padding-bottom: 12px; }
.home-car { height: 100%; background: #fff; display: flex; flex-direction: column; }
.home-car__photo { display: block; aspect-ratio: 400 / 252; background: #e9eef4; overflow: hidden; }
.home-car__photo img { width: 100%; height: 100%; object-fit: cover; }
.home-car__missing { display: flex; height: 100%; align-items: center; justify-content: center; color: #566675; }
.home-car h3 { font-size: 1rem; text-wrap: nowrap; overflow-x: hidden; }
.home-car h3 a { color: #172b40; font-weight: 700; }
.home-car__price { color: #245baa; font-size: 1rem; font-weight: 700; }
.home-car__price small { font-size: .72rem; white-space: nowrap; }
.home-car__specs { font-size: .8rem; }
.home-car__specs div { display: flex; line-height: 1rem; justify-content: space-between; text-wrap: nowrap; overflow-x: hidden; }
.home-car__specs dt { color: #3269bc; }
.home-car__specs dd { text-align: right; }
.home-car .btn { color: #423104; }
.home-guidance, .home-values { background: #f2f5f8; }
.home-editorial-image { display: block; width: 100%; height: auto; aspect-ratio: 640 / 420; object-fit: cover; border-radius: 10px; }
.home-steps { list-style: none; counter-reset: step; padding: 0; margin: 24px 0 0; }
.home-steps li { counter-increment: step; position: relative; padding-left: 46px; margin-bottom: 20px; }
.home-steps li::before { content: counter(step); position: absolute; left: 0; top: 0; width: 30px; height: 30px; background: #e0eafa; color: #245baa; border-radius: 50%; text-align: center; line-height: 30px; font-weight: 700; }
.home-steps strong, .home-steps span { display: block; }
.home-steps span { color: #a1abb4; font-size: .92rem; margin-top: 4px; }
.home-publish { background: #132333; color: #e2e8ef; border-radius: 12px; overflow: hidden; }
.home-publish > .home-publish__body { padding: 32px; }
.home-publish h2 { color: #fff; }
.home-publish .home-kicker { color: #ffd174 !important; }
.home-value { height: 100%; padding: 24px 20px; border: 1px solid #e0e6ed; border-radius: 10px; background: #fff; }
.home-value img { object-fit: contain; margin-bottom: 16px; }
.home-value h3 { font-size: 1.05rem; font-weight: 700; color: #172b40; }
.home-value p { font-size: .88rem; color: #566675; margin: 0; }
.home-brand { display: flex; align-items: center; justify-content: center; padding: 12px 8px; background: #fff; }
.home-brand img { max-width: 100%; object-fit: contain; }
.home-brand:hover { background: #f2f5f8; }
.home-brand-carousel .home-brand:focus-visible { outline-offset: -4px; }
.home-brands-note { font-size: .85rem; color: #566675; margin: 20px 0 0; }
.home-empty { padding: 24px; background: #f2f5f8; border-radius: 8px; }
.home-content a:focus-visible { outline: 3px solid #ffbf47; outline-offset: 4px; }

#home_hero.home-intro { height: auto; background-color: #132333; }
.home-intro__shade { padding: 64px 0 48px; background: linear-gradient(100deg, rgba(9,22,36,.96), rgba(9,22,36,.76) 60%, rgba(9,22,36,.35)); }
.home-intro__eyebrow { color: #ffd174; letter-spacing: .16em; font-size: .75rem; font-weight: 700; text-transform: uppercase; }
.home-intro h1 { max-width: 750px; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.12; letter-spacing: -.035em; margin: 16px 0 20px; }
.home-intro__text { color: #e2e8ef; max-width: 650px; font-size: 1.08rem; line-height: 1.65; }
.home-intro__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.home-intro .btn { padding: 12px 20px; font-weight: 600; border-radius: 8px; }
.home-intro__publish { color: #ffd174; display: inline-flex; align-items: center; padding: 12px 4px; text-decoration: underline; }
.home-intro__publish:hover { color: #fff; }
.home-search { background: #fff; color: #172b40; padding: 24px; border-radius: 12px; box-shadow: 0 12px 32px rgba(0,0,0,.18); }
.home-search h2 { font-size: 1.1rem; margin: 0 0 18px; }
.home-search label { font-size: .85rem; font-weight: 600; }
.home-search .form-control, .home-search .custom-select { min-height: 48px; border-color: #bac5d0; }
.home-search__note { font-size: .8rem; color: #566675; margin: 12px 0 0; }
.home-intro__trust { font-size: .85rem; color: #e2e8ef; margin: 22px 0 0; }
.home-intro a:focus-visible, .home-search :focus-visible { outline: 3px solid #ffbf47; outline-offset: 4px; }
@media (max-width: 767px) {
  .home-intro__actions .btn { flex: 1; }
}
