/* V96.2: homepage only. Catalogue, checkout and staff styles remain isolated. */
.ego-homepage { background: #faf8f4; }
.ego-homepage .worldwide-message { font-size: 12px; font-weight: 600; }
.ego-homepage .public-header { gap: 20px; padding-inline: clamp(20px, 3vw, 60px); }
.ego-homepage .public-header nav { gap: clamp(10px, 1.1vw, 22px); flex-wrap: wrap; }
.ego-homepage .public-header nav a { font-size: 13px; font-weight: 650; }
.home-hero { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: #10212e; }
.home-hero-photo { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 67%; }
.home-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(6, 21, 32, .91), rgba(6, 21, 32, .73) 44%, rgba(6, 21, 32, .4) 73%, rgba(6, 21, 32, .13)), linear-gradient(180deg, rgba(6, 21, 32, .38), transparent 55%); }
.home-hero-inner { width: min(1460px, 100% - 64px); margin-inline: auto; padding: 40px 0 30px; }
.home-intro { text-align: center; margin-bottom: 30px; }
.home-intro h1 { margin: 0 0 12px; font-size: clamp(36px, 4.3vw, 64px); letter-spacing: -.045em; line-height: 1.06; }
.home-intro p { margin: 0; color: #e6eaec; font-size: clamp(16px, 1.4vw, 20px); line-height: 1.5; }
.home-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.home-choice { position: relative; min-width: 0; min-height: 325px; padding: clamp(25px, 2.5vw, 42px); display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 30px; }
.home-choice h2 { margin: 0; max-width: 360px; font-size: clamp(25px, 2.6vw, 39px); line-height: 1.16; letter-spacing: -.035em; }
.home-choice p { margin: 17px 0 0; max-width: 350px; font-size: 17px; line-height: 1.55; }
.home-choice-new { overflow: hidden; border-radius: 14px; color: #10212e; background: #f5f1eb; box-shadow: 0 12px 32px #00000016; }
.home-choice-new p { color: #53606a; }
.home-choice-new .home-choice-copy { position: relative; z-index: 1; width: 59%; }
.home-new-image { position: absolute; width: 58%; height: auto; right: -2%; bottom: 20px; pointer-events: none; }
.home-choice-new .home-cta { z-index: 1; }
.home-choice-used { padding-left: clamp(20px, 2vw, 40px); }
.home-choice-used .home-choice-copy { text-shadow: 0 2px 16px #03111b; }
.home-choice-used p { color: #f0f3f5; }
.home-cta { display: inline-flex; align-items: center; justify-content: space-between; gap: 26px; max-width: 100%; min-height: 54px; padding: 14px 23px; border: 0; border-radius: 8px; background: #a45f2c; color: #fff; text-decoration: none; font-size: 16px; font-weight: 750; line-height: 1.4; box-shadow: 0 5px 15px #28140313; transition: background .18s ease; }
.home-cta:hover { background: #87491f; }
.home-cta > span { flex: 0 0 auto; font-size: 23px; line-height: 1; }
.ego-homepage a:focus-visible, .ego-homepage button:focus-visible { outline: 3px solid #d69a5d; outline-offset: 5px; }
.home-search-section { background: #f2eee8; padding: 25px 24px 19px; scroll-margin-top: 20px; }
.home-search-inner { max-width: 980px; margin-inline: auto; }
.home-search-label { display: block; margin-bottom: 9px; color: #53606a; font-size: 14px; font-weight: 650; }
.home-search-section .hero-search { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: stretch; gap: 0; width: 100%; max-width: none; min-height: 58px; margin: 0; padding: 0; border: 1px solid #bbc1c6; border-radius: 9px; box-shadow: none; background: #fff; overflow: hidden; }
.home-search-section .search-symbol { display: grid; place-items: center; }
.home-search-section .search-symbol svg { width: 25px; height: 25px; fill: none; stroke: #10212e; stroke-width: 1.8; }
.home-search-section .hero-search input { width: 100%; min-width: 0; height: 56px; min-height: 0; margin: 0; padding: 0 16px 0 0; border-radius: 0; color: #10212e; font-size: 17px; line-height: 1.4; }
.home-search-section .hero-search:focus-within { outline: 3px solid #bc8146; outline-offset: 3px; }
.home-search-section .hero-search button { grid-column: auto; align-self: stretch; display: flex; align-items: center; justify-content: center; gap: 10px; height: auto; min-width: 150px; min-height: 56px; margin: 0; padding: 0 24px; border: 0; border-radius: 0 8px 8px 0; background: #a45f2c; font-size: 16px; line-height: 1.3; font-weight: 750; white-space: nowrap; }
.home-search-section .hero-search button:hover:not(:disabled) { background: #87491f; }
.home-search-section .hero-search button:focus-visible { outline: 2px solid #fff; outline-offset: -5px; }
.home-search-section .part-help { margin: 12px 0 0; padding: 0; border: 0; background: none; color: #596570; font-size: 13px; justify-content: center; gap: 8px; box-shadow: none; }
.home-search-section .part-help button { color: #8a4b24; font-size: 13px; }
.home-search-section .catalog-state { color: #364551; }
.home-search-section .catalog-state small { color: #53616b; }
#homepage-catalog-notice { margin: 12px 0; color: #8a4b24; font-size: 14px; line-height: 1.5; }
.home-categories { max-width: 1524px; margin: auto; padding: 32px 32px 35px; }
.home-categories > header { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.home-categories h2 { margin: 0; color: #10212e; font-size: clamp(25px, 2.1vw, 33px); line-height: 1.2; letter-spacing: -.035em; }
.home-categories > header a, .home-vehicles-link { color: #914b21; font-size: 15px; font-weight: 650; text-decoration: none; }
.home-categories > header a:hover, .home-vehicles-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.home-category-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; margin: 12px 0 25px; }
.home-category { min-width: 0; color: #10212e; text-decoration: none; text-align: center; border-radius: 8px; }
.home-category-image { display: block; position: relative; width: 100%; aspect-ratio: 1 / 1.04; transition: transform .2s ease; }
.home-category-image::before { content: ""; position: absolute; inset: 0 9%; background-image: url("home-categories.webp"); background-repeat: no-repeat; background-size: var(--sprite-size) auto; background-position: var(--sprite-x) 50%; }
.home-category-interior::before { inset-inline: 20%; }
/* Per-object framing preserves the generated sprite's natural aspect ratio. */
.home-category-engine { --sprite-size: 601.66%; --sprite-x: .44%; }
.home-category-transmission { --sprite-size: 573.09%; --sprite-x: 20.91%; }
.home-category-lighting { --sprite-size: 610.11%; --sprite-x: 41.52%; }
.home-category-wheels { --sprite-size: 595.07%; --sprite-x: 61.43%; }
.home-category-interior { --sprite-size: 668.31%; --sprite-x: 79.86%; }
.home-category-body { --sprite-size: 593.44%; --sprite-x: 99.89%; }
.home-category > span:last-child { display: flex; justify-content: center; align-items: center; gap: 9px; font-size: 16px; font-weight: 700; line-height: 1.4; }
.home-category b { color: #a45f2c; font-weight: 500; }
.home-category:hover .home-category-image { transform: translateY(-4px); }
.home-category:hover > span:last-child { color: #914b21; }
.home-vehicles-link { display: block; padding-top: 23px; border-top: 1px solid #ddd7d0; text-align: center; }
.ego-homepage .catalog-workspace { padding-top: 32px; scroll-margin-top: 20px; }
@media (min-width: 1450px) { .home-category-image { max-height: 218px; } }
@media (max-width: 1120px) {
    .home-choice { min-height: 310px; padding: 25px; }
    .home-choice-new .home-choice-copy { width: 62%; }
    .home-choice-new h2 { font-size: 29px; }
    .home-choice-new p { max-width: 170px; }
    .home-new-image { width: 44%; right: -1%; bottom: 65px; }
    .home-category-grid { gap: 14px; }
    .home-category > span:last-child { font-size: 14px; }
}
@media (max-width: 760px) {
    .home-hero-inner { width: calc(100% - 32px); padding: 27px 0 20px; }
    .home-intro { margin-bottom: 24px; text-align: left; }
    .home-intro h1 { max-width: 520px; font-size: clamp(34px, 6vw, 46px); }
    .home-intro p { max-width: 500px; font-size: 16px; }
    .home-choices { grid-template-columns: 1fr; gap: 8px; }
    .home-choice { padding: 23px; min-height: 250px; }
    .home-choice h2, .home-choice-new h2 { font-size: 27px; }
    .home-choice-new .home-choice-copy { width: 60%; }
    .home-new-image { width: 40%; right: 0; bottom: 25px; }
    .home-choice p { font-size: 16px; }
    .home-cta { padding: 13px 16px; gap: 15px; font-size: 15px; }
    .home-categories { padding: 28px 20px; }
    .home-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 20px; }
    .home-category-image { max-height: none; }
    .home-search-section .part-help { align-items: center; }
}
@media (max-width: 540px) {
    .ego-homepage .public-header { gap: 12px; padding-inline: 16px; }
    .home-choices { grid-template-columns: 1fr; gap: 8px; }
    .home-choice { min-height: 235px; padding: 23px; gap: 22px; }
    .home-choice-new .home-choice-copy { width: 65%; }
    .home-choice-new { min-height: 285px; }
    .home-choice-new p { max-width: 148px; }
    .home-new-image { width: 42%; right: 0; bottom: 84px; opacity: 1; }
    .home-choice h2, .home-choice-new h2 { font-size: 27px; }
    .home-choice p { max-width: 260px; margin-top: 12px; font-size: 15px; }
    .home-choice-used { min-height: 232px; padding-top: 26px; }
    .home-choice-used h2 { max-width: 290px; }
    .home-hero-photo { object-position: 72% center; }
    .home-hero::before { background: linear-gradient(90deg, #061520ed, #061520a6 58%, #06152060); }
    .home-search-section { padding: 22px 16px 18px; }
    .home-search-section .hero-search { grid-template-columns: 40px minmax(0, 1fr); border-radius: 8px; }
    .home-search-section .hero-search input { height: 54px; font-size: 16px; }
    .home-search-section .hero-search button { grid-column: 1 / -1; min-height: 48px; padding: 12px 16px; border-radius: 0 0 7px 7px; }
    .home-search-label { line-height: 1.5; }
    .home-categories { padding: 28px 16px; }
    .home-categories > header { align-items: flex-start; flex-direction: column; gap: 12px; }
    .home-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 22px; }
    .home-category > span:last-child { font-size: 15px; }
    .home-category-image { aspect-ratio: 1 / 1.12; }
    .home-vehicles-link { line-height: 1.5; }
}
@media (prefers-reduced-motion: reduce) {
    .ego-homepage { scroll-behavior: auto; }
    .home-category-image, .home-cta { transition: none; }
    .home-category:hover .home-category-image { transform: none; }
}
