/* Temporary December 7, 2026 model call. Scoped to this promotion. */
[data-model-call][hidden] { display: none !important; }
.mc-banner { background: #0f2133; color: #fff; padding: 9px 24px; }
.mc-banner-inner { max-width: 1220px; margin: 0 auto; display: flex; justify-content: center; align-items: center; gap: 25px; font-size: 14px; line-height: 1.45; letter-spacing: .025em; }
.mc-banner-copy { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 0 10px; }
.mc-banner-copy strong { font-weight: 500; color: #a9defb; }
.mc-banner-copy .mc-banner-details::before { content: '·'; margin-right: 10px; }
.mc-banner-link { flex-shrink: 0; color: #fff; border-bottom: 1px solid #8bc7ed; font-size: 13px; font-weight: 500; letter-spacing: .02em; padding: 3px 0; }
.mc-banner-link:hover { color: #b5e2fc; }
.mc-banner a:focus-visible, .mc-feature a:focus-visible { outline: 3px solid #4880c2; outline-offset: 5px; }
.mc-banner a:focus-visible { outline-color: #b5e2fc; }
.mc-feature { background: #f6f4f0; padding: 40px 32px 46px; scroll-margin-top: 100px; }
.mc-layout { max-width: 1116px; margin: 0 auto; display: grid; grid-template-columns: minmax(0,1fr) 354px; align-items: center; gap: 74px; }
.mc-feature .eyebrow { color: #345f8b; font-size: 11px; letter-spacing: .26em; }
.mc-feature h2 { font-size: clamp(34px,3.5vw,49px); line-height: 1.16; letter-spacing: .025em; margin: 14px 0 20px; font-weight: 300; max-width: 600px; }
.mc-date { color: #0f2133; font-size: 17px; line-height: 1.5; margin: 0 0 20px; }
.mc-price-row { display: flex; gap: 20px; align-items: center; margin: 0 0 20px; }
.mc-price { font-family: var(--display); font-weight: 300; font-size: 58px; line-height: 1; letter-spacing: .02em; color: #0f2133; }
.mc-value { font-size: 15px; line-height: 1.5; color: #53616d; }
.mc-value strong { display: block; font-size: 19px; color: #0f2133; font-weight: 400; }
.mc-includes { padding: 16px 0; border-top: 1px solid #ccd3d8; border-bottom: 1px solid #ccd3d8; margin: 0 0 22px; display: flex; gap: 28px; color: #0f2133; font-size: 16px; line-height: 1.6; }
.mc-includes span { display: block; }
.mc-actions .btn { background: #0f2133; border-color: #0f2133; font-size: 11px; min-height: 48px; letter-spacing: .16em; padding: 14px 24px; }
.mc-actions .btn:hover { background: #345f8b; border-color: #345f8b; }
.mc-phone { margin-top: 8px; font-size: 14px; color: #53616d; }
.mc-phone a { color: #0f2133; text-decoration: underline; text-underline-offset: 3px; }
.mc-poster { margin: 0; }
.mc-poster img { width: 100%; height: auto; aspect-ratio: 4/5; border-radius: 3px; box-shadow: 0 12px 32px -22px #0f2133; }
@media (max-width: 900px) {
  .mc-layout { grid-template-columns: minmax(0,1fr) 300px; gap: 36px; }
  .mc-feature { padding: 35px 24px 40px; }
  .mc-feature h2 { font-size: 37px; }
  .mc-includes { display: block; }
}
@media (max-width: 700px) {
  .mc-banner { padding: 9px 16px 10px; }
  .mc-banner-inner { display: block; font-size: 12px; text-align: center; }
  .mc-banner-copy { gap: 1px 8px; }
  .mc-banner-copy .mc-banner-details { display: block; width: 100%; }
  .mc-banner-copy .mc-banner-details::before { content: none; }
  .mc-banner-link { display: inline-block; padding: 5px 5px 1px; margin-top: 1px; font-size: 12px; }
  .mc-feature { padding: 30px 22px 34px; }
  .mc-layout { grid-template-columns: minmax(0,1fr); gap: 26px; }
  .mc-feature h2 { font-size: 35px; margin: 12px 0 16px; }
  .mc-date { font-size: 16px; margin-bottom: 18px; }
  .mc-price { font-size: 54px; }
  .mc-price-row { gap: 18px; margin-bottom: 18px; }
  .mc-includes { font-size: 16px; padding: 14px 0; margin-bottom: 20px; }
  .mc-actions .btn { width: 100%; padding-left: 14px; padding-right: 14px; }
  .mc-phone { text-align: center; }
  .mc-poster { max-width: 354px; margin: 0 auto; }
}
@media (prefers-reduced-motion: reduce) { .mc-banner a, .mc-feature a { transition: none; } }
