/* THE AD SLOT (see ad-slot.js). Neutral on purpose: it inherits the page's font and takes
   the page's --muted where there is one, so the same file sits under the parchment of the
   Season 15 pages and the dark panels of the planner without a per-page copy. The box is
   reserved from --ad-w / --ad-h before the image arrives, which is what keeps the footer
   from jumping; the 16px side padding is the phone gutter. Nothing here is fixed or
   sticky, and nothing here ever will be: the slot lives in the page's own flow. */
.adSlot{max-width:1120px;margin:40px auto 0;padding:14px 16px 0;
  border-top:1px solid rgba(233,226,211,.14);text-align:center}
.adSlotLabel{display:block;margin:0 0 8px;font-size:11px;line-height:1;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted,#a39b8b)}
.adSlotBox{display:block;margin:0 auto;width:100%;
  max-width:calc(var(--ad-w) * 1px);aspect-ratio:var(--ad-w) / var(--ad-h)}
.adSlot img{display:block;width:100%;height:auto}
.adSlotNote{margin:8px 0 0;font-size:12px;line-height:1.5;color:var(--muted,#a39b8b)}
/* A RESPONSIVE AdSense unit is 728 x 90 on a desktop and a short 320-wide strip on a phone,
   where the aspect-ratio box above would be 41px tall and the ad 50 or 100px: a jump. So under
   728px the AdSense kind reserves a 100px strip outright; a 50px ad leaves space, never a shift.
   A banner kind is an image with a known ratio and keeps the box above. (18 Sep 2026) */
@media (max-width:727px){.adSlot[data-kind="adsense"] .adSlotBox{aspect-ratio:auto;height:100px}}
