/* Consistent opening photography with the complete image visible. */
:root { --tn-hero-height:420px; --tn-hero-height-mobile:600px; }
.hero.hero--with-bg.tn-page-hero,
.page-head.page-head-cover.tn-page-hero,
.tn-story-hero.tn-page-hero {
  display:block; height:var(--tn-hero-height); min-height:0; padding:0; margin:0;
  background:#191b1d; background-image:none; overflow:visible;
}
.hero.hero--with-bg.tn-page-hero > .container,
.page-head.page-head-cover.tn-page-hero > .container,
.tn-story-hero.tn-page-hero > .tn-story-hero__grid {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:36px;
  align-items:center; width:100%; max-width:1180px; height:100%; min-height:0;
  margin:0 auto; padding:0 20px;
}
.tn-page-hero .tn-page-visual,
.tn-story-hero.tn-page-hero .tn-story-hero__photo > img {
  display:block; width:100%; height:100%; max-height:420px; min-height:0;
  object-fit:contain; object-position:center; aspect-ratio:auto; padding:0;
  background:#191b1d; border:0; border-radius:0; flex:none;
}
.hero.hero--with-bg.tn-page-hero .hero-copy,
.page-head.page-head-cover.tn-page-hero .page-hero-copy,
.tn-story-hero.tn-page-hero .tn-story-hero__copy {
  position:relative; width:100%; max-width:none; min-width:0; height:auto;
  padding:22px 0; margin:0; transform:none; z-index:2;
}
.tn-story-hero.tn-page-hero .tn-story-hero__photo {
  position:static; inset:auto; width:100%; height:100%; min-height:0; margin:0;
  opacity:1; display:block; background:#191b1d;
}
.tn-story-hero.tn-page-hero .tn-story-hero__photo::after,
.tn-story-hero.tn-page-hero .tn-story-hero__photo figcaption,
.tn-story-hero.tn-page-hero .tn-story-hero__bottom { display:none; }
.tn-story-hero.tn-page-hero h1 > span,
.tn-story-hero.tn-page-hero h1 > em { white-space:normal; }
.hero.hero--with-bg.tn-page-hero h1 { font-size:clamp(2rem,2.75vw,2.65rem); }
.hero.hero--with-bg.tn-page-hero .hero-search {
  width:100%; max-width:100%; display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.8fr) auto; gap:7px; padding:8px;
}
.hero.hero--with-bg.tn-page-hero .hero-search > * { min-width:0; }
.hero.hero--with-bg.tn-page-hero .hero-search .btn { padding-inline:12px; }
.section-brands--stock { padding:26px 0 18px; border-bottom:1px solid #e9e7e2; }
.section-brands--stock .section-head { margin-bottom:12px; }
.section-brands--stock .section-head h2 { font-size:1.2rem; }
.section-brands--stock .brand-chip--carousel { min-height:82px; padding:10px; }
.section-brands--stock .brand-chip--carousel img { height:32px; }
.section-brands--stock .brand-carousel-viewport { padding-bottom:8px; }
/* Keep the content and footer joined; retain spacing inside each section. */
.site-footer { margin-top:0; }
main { margin-bottom:0; padding-bottom:0; }
main > :last-child { margin-bottom:0; }
/* The business photos also stay intact in the editorial sections. */
.tn-story .tn-story-intro__main { height:auto; }
.tn-story .tn-story-intro__main img,
.tn-story .tn-approach-grid > figure > img,
.tn-story .tn-visit-grid > figure > img { height:auto; aspect-ratio:auto; object-fit:contain; }
.tn-story .tn-story-intro__detail img,
.tn-story .tn-service-card__photo img,
.tn-story .tn-gallery-item img { object-fit:contain; background:#191b1d; }
.about-home-cta__media img { object-fit:contain; }
.about-home-cta__media::after { display:none; }
@media(max-width:1000px) and (min-width:761px) {
  .hero.hero--with-bg.tn-page-hero .hero-search { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .hero.hero--with-bg.tn-page-hero .hero-search > .btn { grid-column:1/-1; }
  .tn-story-hero.tn-page-hero h1 { font-size:2rem; }
}
@media(max-width:760px) {
  .hero.hero--with-bg.tn-page-hero,
  .page-head.page-head-cover.tn-page-hero,
  .tn-story-hero.tn-page-hero { height:var(--tn-hero-height-mobile); min-height:0; }
  .hero.hero--with-bg.tn-page-hero > .container,
  .page-head.page-head-cover.tn-page-hero > .container,
  .tn-story-hero.tn-page-hero > .tn-story-hero__grid {
    display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:340px 260px;
    gap:0; padding:0 20px; height:100%;
  }
  .tn-page-hero .tn-page-visual,
  .tn-story-hero.tn-page-hero .tn-story-hero__photo > img { max-height:260px; }
  .hero.hero--with-bg.tn-page-hero .hero-copy,
  .page-head.page-head-cover.tn-page-hero .page-hero-copy,
  .tn-story-hero.tn-page-hero .tn-story-hero__copy { padding:20px 0; }
  .hero.hero--with-bg.tn-page-hero h1,
  .page-head.page-head-cover.tn-page-hero h1,
  .tn-story-hero.tn-page-hero h1 { max-width:none; font-size:clamp(1.8rem,7.5vw,2.3rem); line-height:1.1; margin-bottom:12px; }
  .hero.hero--with-bg.tn-page-hero .hero-sub { font-size:.88rem; line-height:1.5; }
  .hero.hero--with-bg.tn-page-hero .hero-search { margin-top:15px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .hero.hero--with-bg.tn-page-hero .hero-search > .btn { grid-column:1/-1; }
  .hero.hero--with-bg.tn-page-hero .hero-search :is(.brand-select-toggle,select,.btn) { min-height:40px; font-size:.81rem; }
  .section-brands--stock { padding-top:24px; }
}

/* A direct Google review link without sample ratings or a third-party widget. */
.google-reviews-head--external { align-items: center; gap: 32px; margin-bottom: 0; padding: 32px; border: 1px solid #e6e0d3; border-radius: 14px; background: #fff; }
.google-reviews-head--external .google-reviews-copy { max-width: 660px; }
.google-reviews-head--external .google-reviews-link { white-space: normal; text-align: center; }
@media (max-width:760px) {
  .google-reviews-head--external { align-items: stretch; flex-direction: column; gap: 22px; padding: 24px 20px; }
  .google-reviews-head--external .google-reviews-link { width: 100%; }
}

/* Keep the homepage invitation in the site's ink and gold palette. */
.home-promo-banner { background: linear-gradient(120deg, #14161a, #252a31); color: #f7f6f2; border: 1px solid #c8a24b4d; }
.home-promo-copy h2 { color: #d9b45b; }
.home-promo-copy p { color: #d5d7db; }
.home-promo-button { background: linear-gradient(135deg, #d9b45b 0%, #c8a24b 46%, #a9822f 100%); color: #14161a; border-color: #c8a24b; }
.home-promo-button:hover { background: linear-gradient(135deg, #e5c36d 0%, #cfaa52 48%, #ad8a39 100%); color: #14161a; }
.home-promo-button:focus-visible { outline-color: #e5c36d; }

/* Space after the brand strip and a consistent hierarchy inside listing cards. */
.section-brands--stock + .stock-layout { padding-top: 32px; }
.car-grid, .car-grid-stock { align-items: stretch; }
.car-card-media-wrap { aspect-ratio: 3 / 2; }
.car-card-media-wrap .car-card-media img { padding: 0; transform: none; object-fit: cover; object-position: center 60%; }
.car-card-body { padding: 18px; gap: 0; }
.car-card-title-row { margin: 0 0 16px; }
.car-card-title { min-height: 2.7em; font-size: 1rem; line-height: 1.35; overflow-wrap: break-word; }
.car-card-specs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 14px; margin: 0 0 20px; }
.car-card-specs li { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: 3px; }
.car-card-specs li + li::before { content: none; }
.car-card-spec-label { color: #858a90; font-size: .65rem; line-height: 1.3; }
.car-card-spec-value { color: #41474e; font-size: .78rem; line-height: 1.4; overflow-wrap: break-word; }
.car-card-foot { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; padding-top: 16px; }
.car-card-price { width: auto; }
.car-card-link { margin-left: auto; font-size: .75rem; white-space: normal; }
.footer-socials { flex-wrap: wrap; gap: 10px; }
.footer-socials .social-link { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: 0 0 40px; padding: 0; border: 1px solid #ffffff38; border-radius: 50%; color: #e3e5e8; }
@media (max-width:760px) {
  .section-brands--stock + .stock-layout { padding-top: 24px; }
  .car-card { flex-direction: column; }
  .car-card-media-wrap { flex: 0 0 auto; width: 100%; min-height: 0; aspect-ratio: 3 / 2; }
  .car-card-media-wrap .car-card-media { min-height: 0; height: 100%; }
  .car-card-body { padding: 18px; }
  .car-card-title { min-height: 0; font-size: 1.06rem; }
  .car-card-specs { gap: 12px 18px; }
}
