/* Compare the same holiday month; keep current performance as its own snapshot. */
.snapshot-chart { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ads-only .snapshot-chart { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.forecast-column { border-left: 1px dashed #93b8cd; border-radius: 0; color: #286487; }
.forecast-column:hover { border-color: transparent; border-left-color: #93b8cd; }
.forecast-bar { border: 2px dashed #44789b; background: repeating-linear-gradient(135deg, #d4eaf6, #d4eaf6 7px, #eef8fd 7px, #eef8fd 14px); box-shadow: none; }
.legend-forecast { border: 1px dashed #44789b; background: #d4eaf6; }
.ads-only .forecast-column, .ads-only .forecast-legend { display: none; }
.revenue-legend { gap: 14px; flex-wrap: wrap; }
.forecast-note { font-size: 14px; color: #426879; margin-top: 14px; line-height: 1.55; padding-left: 14px; border-left: 2px dashed #6396b4; }
.forecast-note strong { display: block; color: #286487; font-weight: 600; margin-bottom: 5px; }
.snapshot-caption { min-height: 20px; }
.latest-performance { padding: 20px; margin-top: 24px; border: 1px solid #c9e1e8; border-radius: 10px; background: #ffffffb3; }
.latest-heading { display: grid; grid-template-columns: 1fr auto; column-gap: 16px; align-items: center; }
.latest-heading .eyebrow { grid-column: 1 / -1; font-size: 12px; color: #007e88; margin-bottom: 8px; }
.latest-heading > strong { font: 600 18px Manrope, sans-serif; letter-spacing: -.025em; }
.latest-heading > span:last-child { font-size: 13px; color: var(--muted); }
.latest-numbers { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 16px; }
.latest-numbers span { display: block; font-size: 14px; color: var(--muted); }
.latest-numbers strong { display: block; font: 600 24px Manrope, sans-serif; letter-spacing: -.04em; margin-top: 3px; }
.latest-performance p { font-size: 14px; color: var(--muted); margin-top: 15px; line-height: 1.55; }
.footer { background: linear-gradient(120deg, #effbff, #f4fff8); padding-top: 52px; }
.footer-top { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 60px; }
.footer-message p { display: block; font: 500 clamp(28px, 3vw, 42px)/1.15 Manrope, sans-serif; letter-spacing: -.04em; color: #007e88; }
.footer-message > span { display: block; font-size: 16px; color: #426374; margin-top: 14px; }
.footer .social-links { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 28px; font-size: 14px; }
.footer-bottom { align-items: center; font-size: 14px; margin-top: 36px; }
@media(max-width:1000px) {
  .footer-top { gap: 30px; }
  .footer-message p { display: block; }
  .footer .social-links { gap: 10px 18px; }
  .latest-heading { grid-template-columns: 1fr; gap: 4px; }
}
@media(max-width:700px) {
  .snapshot-chart { gap: 4px; }
  .ads-only .snapshot-chart { gap: 18px; }
  .latest-performance { padding: 18px; }
  .latest-numbers { gap: 12px; }
  .latest-numbers strong { font-size: 22px; }
  .footer-top { grid-template-columns: 1fr; align-items: start; gap: 26px; }
  .footer-message p { font-size: 34px; }
  .footer-message > span { font-size: 16px; }
  .footer .social-links { display: flex; flex-wrap: wrap; gap: 14px 24px; margin-top: 0; }
  .footer-bottom { margin-top: 30px; }
}
