:root{
  --m2b-bg:#ffffff;
  --m2b-bg-soft:#f7fbff;
  --m2b-line:#d7e6f8;
  --m2b-line-strong:#c7dcff;
  --m2b-text:#0f172a;
  --m2b-text-soft:#334155;
  --m2b-text-mute:#475569;
  --m2b-blue:#0b57ff;
  --m2b-blue-deep:#0f3b82;
  --m2b-chip:#eaf3ff;
  --m2b-shadow:0 18px 42px rgba(15,23,42,.08);
  --m2b-shadow-soft:0 10px 24px rgba(15,23,42,.05);
  --m2b-radius:24px;
}

/* shared hero shell */
.m2-final__hero,
.m2-hero,
.m2-landing-hero,
.k43-hero,
.m2-service-banner,
.m2-home-hero-wrap .banner-inner,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .banner-inner{
  background:linear-gradient(180deg,var(--m2b-bg) 0%, var(--m2b-bg-soft) 100%) !important;
  border:1px solid var(--m2b-line) !important;
  border-radius:var(--m2b-radius) !important;
  box-shadow:var(--m2b-shadow) !important;
}

/* unified text */
.m2-final__hero h1,
.m2-final__hero h2,
.m2-hero h1,
.m2-hero h2,
.m2-landing-hero h1,
.m2-landing-hero h2,
.k43-hero h1,
.k43-hero h2,
.m2-service-banner__title,
.m2-home-hero-wrap .banner-title,
.m2-home-hero-wrap .golf-glass h2,
.m2-home-hero-wrap .golf-card h2,
.m2-home-hero-wrap .golf-glass h3,
.m2-home-hero-wrap .golf-card h3,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .banner-title,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .golf-glass h2,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .golf-card h2,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .golf-glass h3,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .golf-card h3{
  color:var(--m2b-text) !important;
  text-shadow:none !important;
  letter-spacing:-.03em;
}

.m2-final__hero p,
.m2-hero p,
.m2-landing-hero p,
.k43-hero p,
.k43-lead,
.m2-service-banner__desc,
.m2-home-hero-wrap .banner-desc,
.m2-home-hero-wrap .m2-brand-definition,
.m2-home-hero-wrap .golf-glass p,
.m2-home-hero-wrap .golf-card p,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .banner-desc,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .m2-brand-definition,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .golf-glass p,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .golf-card p{
  color:var(--m2b-text-soft) !important;
  text-shadow:none !important;
}

/* eyebrow and chips */
.k43-eyebrow,
.m2-service-banner__eyebrow,
.m2-home-hero-wrap .badge-row .badge,
.m2-home-hero-wrap .m2-mini-chip,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .badge-row .badge,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .m2-mini-chip{
  background:var(--m2b-chip) !important;
  color:var(--m2b-blue) !important;
  border:1px solid var(--m2b-line-strong) !important;
  box-shadow:none !important;
}

.m2-home-hero-wrap .m2-mini-text,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .m2-mini-text{
  color:var(--m2b-text-mute) !important;
}

/* home banner specifically */
.m2-home-hero-wrap .main-banner,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .main-banner,
#heroBanner.main-banner{
  background:linear-gradient(180deg,#eaf4ff 0%,#dff0ff 100%) !important;
}
.m2-home-hero-wrap .banner-a,
.m2-home-hero-wrap .banner-b,
.m2-home-hero-wrap .banner-c,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .banner-a,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .banner-b,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .banner-c{
  min-height:430px !important;
  padding:30px 32px !important;
}
.m2-home-hero-wrap .banner-title span,
.m2-home-hero-wrap .interior-neon,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .banner-title span,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .interior-neon{
  color:var(--m2b-blue) !important;
}
.m2-home-hero-wrap .golf-glass,
.m2-home-hero-wrap .golf-card,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .golf-glass,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .golf-card{
  background:#ffffff !important;
  border:1px solid var(--m2b-line) !important;
  border-radius:22px !important;
  box-shadow:var(--m2b-shadow-soft) !important;
}
.m2-home-hero-wrap .banner-panel,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .banner-panel{
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%) !important;
  border:1px solid var(--m2b-line) !important;
  box-shadow:var(--m2b-shadow-soft) !important;
}
.m2-home-hero-wrap .panel-title,
.m2-home-hero-wrap .panel-ask,
.m2-home-hero-wrap .call-label,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .panel-title,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .panel-ask,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .call-label{
  color:var(--m2b-text) !important;
}
.m2-home-hero-wrap .call-number,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .call-number{
  color:var(--m2b-blue) !important;
  text-shadow:none !important;
}
.m2-home-hero-wrap .golf-btn,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .golf-btn{
  background:var(--m2b-blue) !important;
  color:#ffffff !important;
}
.m2-home-hero-wrap .banner-btn,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .banner-btn{
  background:#ffea47 !important;
  color:#173267 !important;
}
.m2-home-hero-wrap .panel-btn.custom,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .panel-btn.custom{
  color:#ffffff !important;
}
.m2-home-hero-wrap .golf-img,
body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .golf-img,
.m2-service-banner__media img{
  border-radius:22px !important;
  box-shadow:var(--m2b-shadow-soft) !important;
}

/* generic section cards under hero */
.k43-mini-card,
.m2-hero-card,
.m2-landing-hero .m2-hero-side > *,
.m2-thumb-strip__box,
.k43-section,
.m2-final__card,
.m2-guidehub__card,
.m2-card,
.m2seo-safe__card{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  border:1px solid var(--m2b-line) !important;
  box-shadow:var(--m2b-shadow-soft) !important;
}
.k43-mini-card strong,
.k43-section-head h2,
.m2-thumb-strip__head h2,
.m2-hero-card h3,
.m2-final__card h2,
.m2-guidehub__card h2,
.m2-card h2,
.m2seo-safe__card h1,
.m2seo-safe__card h2{color:var(--m2b-text) !important}
.k43-mini-card span,
.k43-section-head p,
.m2-thumb-strip__head p,
.m2-final__card p,
.m2-guidehub__card p,
.m2-card p,
.m2seo-safe__card p{color:var(--m2b-text-soft) !important}

/* common links/buttons */
.k43-btn,
.m2-final__links a,
.m2-guidehub__links a,
.m2-card-links a,
.m2seo-safe__links a,
.m2-service-banner__actions a,
.t7-region-card,
.m2-cta-row .m2-btn,
.m2-hero-card .m2-btn{
  border-radius:16px !important;
}
.k43-btn.primary,
.m2-service-banner__actions .primary,
.m2-cta-row .m2-btn:not(.ghost):not(.secondary){
  background:var(--m2b-blue) !important;
  color:#ffffff !important;
  border-color:transparent !important;
}
.k43-btn:not(.primary),
.m2-service-banner__actions a:not(.primary),
.m2-final__links a,
.m2-guidehub__links a,
.m2-card-links a,
.m2seo-safe__links a,
.t7-region-card,
.m2-cta-row .m2-btn.ghost,
.m2-cta-row .m2-btn.secondary{
  background:#eef6ff !important;
  color:var(--m2b-blue-deep) !important;
  border:1px solid var(--m2b-line-strong) !important;
}

@media (max-width: 860px){
  .m2-home-hero-wrap .banner-a,
  .m2-home-hero-wrap .banner-b,
  .m2-home-hero-wrap .banner-c,
  body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .banner-a,
  body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .banner-b,
  body.m2-hero-applied .m2-home-hero-wrap.m2-global-injected .banner-c{
    min-height:auto !important;
    padding:22px 18px !important;
  }
  .m2-final__hero,
  .m2-hero,
  .m2-landing-hero,
  .k43-hero,
  .m2-service-banner{border-radius:20px !important;}
}
