/* WTCC premium editorial layer. Kept homepage-scoped so operational screens stay familiar. */
.public-home {
  --premium-ink:#070b12;
  --premium-line:rgba(17,24,39,.12);
  --premium-blue:#1769ff;
  --premium-ease:cubic-bezier(.2,.7,.2,1);
  --premium-grid-gap:24px;
  --premium-card-pad:28px;
  --premium-media-ratio:16/10;
}
html[data-theme="dark"] .public-home { --premium-line:rgba(255,255,255,.12); }

.public-home .ph-container { max-width:1320px; }
.public-home .ph-section { padding:clamp(88px,9vw,144px) 0; }
.public-home .ph-heading { margin-bottom:clamp(42px,5vw,72px);max-width:920px; }
.public-home .ph-heading--center { margin-left:0;margin-right:0;text-align:left; }
.public-home .ph-heading--center>p:last-child { margin-left:0;margin-right:0; }
.public-home .ph-eyebrow { font-size:.7rem;font-weight:700;letter-spacing:.18em;margin-bottom:20px; }
.public-home .ph-heading h2,
.public-home .ph-feature-copy h2,
.public-home .ph-dashboard-showcase__copy h2,
.public-home .ph-eligibility h2 { font-size:clamp(2.8rem,5.4vw,5.25rem);letter-spacing:-.055em;line-height:.96; }
.public-home .ph-heading>p:last-child { font-size:1.08rem;line-height:1.7;margin-top:24px; }

.public-home .ph-btn { border-radius:4px;font-size:.86rem;font-weight:700;letter-spacing:.025em;min-height:52px;padding:12px 28px; }
.public-home .ph-btn--primary { box-shadow:0 14px 36px rgba(23,105,255,.2); }
.public-home .ph-btn--primary:hover,
.public-home .ph-btn--primary:focus-visible { background:#0d57df;box-shadow:0 16px 40px rgba(23,105,255,.28);transform:translateY(-2px); }
.public-home .ph-btn--secondary:hover,
.public-home .ph-btn--secondary:focus-visible { transform:translateY(-2px); }

.public-home .ph-hero,
.public-home .ph-hero__inner { min-height:clamp(720px,82vh,940px); }
.public-home .ph-hero__inner { align-items:flex-start;padding-top:clamp(72px,9vh,108px);padding-bottom:clamp(44px,6vh,72px); }
.public-home .ph-hero__copy { padding-top:0;padding-bottom:0; }
.public-home .ph-hero__media {
  background-image:linear-gradient(90deg,rgba(5,9,15,.98) 0%,rgba(5,9,15,.86) 39%,rgba(5,9,15,.16) 78%),linear-gradient(0deg,rgba(5,9,15,.65),transparent 38%),var(--home-hero-image,url('/assets/img/home/car-club-hero-1600.jpg'));
  background-position:center 48%;
  transform:scale(1.002);
}
.public-home .ph-hero__copy { max-width:700px; }
.public-home .ph-hero h1 { font-size:clamp(3.9rem,6.7vw,6.8rem);letter-spacing:-.065em;line-height:.91;max-width:760px; }
.public-home .ph-hero h1 span { color:#8db3ff;display:block; }
.public-home .ph-hero__copy>p:not(.ph-eyebrow):not(.ph-hero__free) { color:rgba(255,255,255,.74);font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.65;margin:30px 0 24px;max-width:590px; }
.public-home .ph-hero__free { font-size:.88rem;letter-spacing:.015em;margin-bottom:28px!important; }
.public-home .ph-hero small { color:rgba(255,255,255,.62)!important;font-size:.78rem;margin-top:26px; }
.public-home .ph-hero-features { gap:12px; }
.public-home .hero-feature-card { border-color:rgba(255,255,255,.2);border-radius:6px;box-shadow:0 22px 55px rgba(0,0,0,.28); }

.public-home :is(.club-tools-grid article,.how-grid li,.club-value-card,.business-service-card,.vehicle-card,.drive-card,.market-row article) {
  border-color:var(--premium-line);
  border-radius:6px;
  transition:border-color 220ms var(--premium-ease),box-shadow 220ms var(--premium-ease),transform 220ms var(--premium-ease);
}
.public-home :is(.club-tools-grid article,.how-grid li,.club-value-card,.business-service-card):hover {
  border-color:rgba(23,105,255,.35);
  box-shadow:0 22px 54px rgba(16,24,40,.09);
  transform:translateY(-4px);
}
.public-home .club-tools-grid { gap:var(--premium-grid-gap);background:transparent;border:0;grid-template-columns:repeat(3,minmax(0,1fr)); }
.public-home .club-tools-grid article { border:1px solid var(--premium-line);border-radius:6px;min-height:260px;padding:38px; }
.public-home .club-tools-grid article>i { background:rgba(23,105,255,.09);border:0;border-radius:50%;font-size:1.05rem;height:46px;justify-content:center;margin-bottom:46px;width:46px; }
.public-home .club-tools-grid h3 { font-size:1.35rem;letter-spacing:-.03em;line-height:1.15; }
.public-home .club-tools-grid p { font-size:.84rem;line-height:1.65;margin-top:16px; }

.public-home .ph-dashboard-showcase__layout { gap:clamp(52px,7vw,110px);grid-template-columns:minmax(0,.78fr) minmax(520px,1.22fr); }
.public-home .club-dashboard { border-radius:6px;box-shadow:0 34px 90px rgba(7,11,18,.24); }
.public-home .ph-check-list { gap:14px;margin:32px 0 38px; }
.public-home .ph-check-list li { font-size:.9rem; }

.public-home .how-grid { gap:1px;background:var(--premium-line);border:1px solid var(--premium-line);grid-template-columns:repeat(3,minmax(0,1fr)); }
.public-home .how-grid li { border:0;border-radius:0;min-height:250px;padding:34px; }
.public-home .how-grid li>i { margin-bottom:54px; }
.public-home .how-grid li>span { font-size:1.8rem;opacity:.55; }
.public-home .how-grid h3 { font-size:1.25rem; }

.public-home .featured-club-spotlight { border-radius:6px; }
.public-home .journey-card,
.public-home .ph-photo,
.public-home .ph-support__panel { border-radius:6px; }
.public-home .ph-proof { border-bottom:1px solid var(--premium-line);border-top:1px solid var(--premium-line); }

/* Consistent grids, media crops and card interiors. */
.public-home :is(.journey-grid,.vehicle-grid,.event-grid,.drive-grid,.business-service-grid,.club-value-grid) {
  gap:var(--premium-grid-gap);
}
.public-home :is(.vehicle-grid,.event-grid,.drive-grid) { align-items:stretch;grid-template-columns:repeat(3,minmax(0,1fr)); }
.public-home :is(.vehicle-card,.event-card,.drive-card) {
  display:flex;
  min-width:0;
  height:100%;
  flex-direction:column;
  overflow:hidden;
  padding:0;
  border:1px solid var(--premium-line);
  border-radius:6px;
}
.public-home :is(.vehicle-card,.event-card,.drive-card,.business-service-card,.market-row article) {
  padding-right:0;
  padding-left:0;
}
.public-home :is(.vehicle-card__image,.event-card__media,.drive-card__map,.market-card__image) {
  width:100%;
  height:auto;
  aspect-ratio:var(--premium-media-ratio);
  flex:0 0 auto;
  margin:0;
  overflow:hidden;
  border:0;
  border-radius:0;
}
.public-home :is(.vehicle-card__image,.event-card__media,.drive-card__map,.market-card__image) img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform 500ms var(--premium-ease);
}
.public-home :is(.vehicle-card,.event-card,.drive-card,.market-row article):hover :is(.vehicle-card__image,.event-card__media,.drive-card__map,.market-card__image) img {
  transform:scale(1.025);
}
.public-home .vehicle-card { padding-bottom:var(--premium-card-pad); }
.public-home .vehicle-card>span,
.public-home .vehicle-card>h3,
.public-home .vehicle-card>p { margin-right:var(--premium-card-pad);margin-left:var(--premium-card-pad); }
.public-home .vehicle-card>span { margin-top:var(--premium-card-pad); }
.public-home .vehicle-card .ph-card-link { margin-top:auto;margin-right:var(--premium-card-pad);margin-left:var(--premium-card-pad);padding-top:22px; }
.public-home .event-card { padding-bottom:var(--premium-card-pad);border-bottom-width:1px; }
.public-home .event-card>*:not(.event-card__media) { margin-right:var(--premium-card-pad);margin-left:var(--premium-card-pad); }
.public-home .event-card>small { margin-top:var(--premium-card-pad); }
.public-home .event-card .event-card__cta { align-self:flex-start;margin-top:auto!important; }
.public-home .drive-card>div:last-child { display:flex;flex:1;flex-direction:column;padding:var(--premium-card-pad); }
.public-home .drive-card>div:last-child>a { margin-top:auto;padding-top:18px; }
.public-home :is(.vehicle-card,.event-card,.drive-card) h3 {
  display:-webkit-box;
  min-height:2.3em;
  overflow:hidden;
  font-size:1.55rem;
  line-height:1.15;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.public-home :is(.vehicle-card,.event-card,.drive-card) p { line-height:1.6; }

.public-home .journey-grid { align-items:stretch; }
.public-home .journey-card { min-height:0;aspect-ratio:4/5;padding:var(--premium-card-pad); }
.public-home .journey-card h3 { font-size:clamp(2rem,3vw,3rem); }
.public-home .ph-photo { min-height:0;aspect-ratio:4/5;background-position:center;background-size:cover; }

.public-home .business-service-grid { align-items:stretch; }
.public-home .business-service-card {
  grid-template-columns:1fr;
  min-height:0;
  padding:0;
}
.public-home .business-service-card__image { width:100%;min-height:0;aspect-ratio:16/9;margin:0;border:0;border-radius:0; }
.public-home .business-service-card__body { min-height:340px;padding:var(--premium-card-pad); }
.public-home .business-service-card h3 { font-size:2rem;line-height:1.05; }
.public-home .business-service-card .ph-btn { align-self:flex-start; }

.public-home .market-row { gap:var(--premium-grid-gap); }
.public-home .market-row article { flex-basis:280px;padding:0 0 var(--premium-card-pad);overflow:hidden; }
.public-home .market-row article>:not(.market-card__image) { margin-right:var(--premium-card-pad);margin-left:var(--premium-card-pad); }
.public-home .market-row article>small { display:block;margin-top:var(--premium-card-pad); }
.public-home .market-card__image { border-radius:0; }

.public-home .ph-heading--row { align-items:end;gap:48px; }
.public-home .ph-heading--row>div:last-child { max-width:520px; }
.public-home .ph-heading--row>div:last-child p { margin-top:0; }

@media (max-width:991px) {
  .public-home .ph-dashboard-showcase__layout { grid-template-columns:1fr; }
  .public-home .club-tools-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .public-home :is(.vehicle-grid,.event-grid,.drive-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .public-home .business-service-card__body { min-height:370px; }
  .public-home .ph-hero,.public-home .ph-hero__inner { min-height:auto; }
  .public-home .ph-hero__inner { align-items:stretch; }
}

@media (max-width:767px) {
  .public-home { --premium-grid-gap:14px;--premium-card-pad:22px; }
  .public-home .ph-section { padding:72px 0; }
  .public-home .ph-heading { margin-bottom:36px; }
  .public-home .ph-heading h2,
  .public-home .ph-feature-copy h2,
  .public-home .ph-dashboard-showcase__copy h2,
  .public-home .ph-eligibility h2 { font-size:clamp(2.4rem,11vw,3.35rem); }
  .public-home .ph-hero__inner { padding-top:34px;padding-bottom:46px; }
  .public-home .ph-hero h1 { font-size:clamp(3rem,14vw,4.25rem); }
  .public-home .ph-hero__media { background-image:linear-gradient(180deg,rgba(5,9,15,.5),rgba(5,9,15,.93) 52%,#05090f 100%),var(--home-hero-image,url('/assets/img/home/car-club-hero-1600.jpg'));background-position:58% center; }
  .public-home .ph-hero-features { display:none!important; }
  .public-home .ph-actions { gap:10px; }
  .public-home .ph-btn { width:100%; }
  .public-home .club-tools-grid { background:transparent;border:0;gap:12px;grid-template-columns:1fr; }
  .public-home .club-tools-grid article { border:1px solid var(--premium-line);border-radius:6px;min-height:0;padding:26px 24px; }
  .public-home .club-tools-grid article>i { margin-bottom:26px; }
  .public-home .how-grid { background:transparent;border:0;gap:12px;grid-template-columns:1fr; }
  .public-home .how-grid li { border:1px solid var(--premium-line);border-radius:6px;min-height:0;padding:26px 24px; }
  .public-home .how-grid li>i { margin-bottom:28px; }
  .public-home .ph-dashboard-showcase__layout { gap:42px; }
  .public-home :is(.vehicle-grid,.event-grid,.drive-grid) {
    display:grid;
    gap:var(--premium-grid-gap);
    grid-template-columns:1fr;
    margin-right:0;
    padding-right:0;
    overflow:visible;
  }
  .public-home :is(.vehicle-card,.event-card,.drive-card) { width:100%;flex-basis:auto;scroll-snap-align:none; }
  .public-home :is(.vehicle-card__image,.event-card__media,.drive-card__map) { aspect-ratio:16/9; }
  .public-home :is(.vehicle-card,.event-card,.drive-card) h3 { min-height:0;font-size:1.45rem; }
  .public-home .journey-grid { gap:var(--premium-grid-gap);grid-template-columns:1fr; }
  .public-home .journey-card { width:100%;min-height:420px;aspect-ratio:auto; }
  .public-home .business-service-grid { gap:var(--premium-grid-gap); }
  .public-home .business-service-card { display:grid;grid-template-columns:1fr;min-height:0; }
  .public-home .business-service-card__image { min-height:0;aspect-ratio:16/9;border-radius:0; }
  .public-home .business-service-card__body { min-height:0;padding:var(--premium-card-pad); }
  .public-home .business-service-card ul { display:grid; }
  .public-home .business-service-card .ph-btn { align-self:stretch;min-height:48px;width:100%; }
  .public-home .ph-heading--row { display:grid;gap:18px; }
  .public-home .ph-heading--row>div:last-child { max-width:none; }
}

@media (prefers-reduced-motion:no-preference) {
  .public-home .ph-hero__copy { animation:premium-reveal 700ms var(--premium-ease) both; }
  @keyframes premium-reveal { from { opacity:0;transform:translateY(18px); } to { opacity:1;transform:none; } }
}
