#migration-calendar{scroll-margin-top:110px}.migration-months{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;margin:24px 0}.migration-months[hidden],.migration-controls[hidden]{display:none}.migration-months button,.migration-controls button{font:inherit;background:transparent;color:#235347;border:1px solid #23534733;border-radius:24px;padding:10px 12px;cursor:pointer}.migration-months button[aria-pressed=true],.migration-controls button[aria-pressed=true]{background:#235347;color:#fff}.migration-months button:hover,.migration-controls button:hover{background:#e4ecdf;color:#163832}.migration-months button:focus-visible,.migration-controls button:focus-visible{outline:3px solid #a27f3e;outline-offset:3px}.migration-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}.migration-map{margin:0;background:linear-gradient(135deg,#f6f3e9,#eaf0e4);border-radius:60px 8px 60px 8px;padding:16px}.migration-map svg{width:100%;height:auto;display:block}.migration-land{fill:#dce6d3;stroke:#23534722;stroke-width:2}.migration-trail{fill:none;stroke:#9a845a;stroke-width:2;stroke-dasharray:5 8}.migration-labels{fill:#235347;font-size:12px;font-family:inherit}.migration-labels text:nth-child(2),.migration-labels text:nth-child(4){font-size:11px;fill:#58665a}.migration-small{font-size:11px;fill:#58665a}.migration-map figcaption,.migration-note,.migration-sources{font-size:.8rem;line-height:1.65;color:#58665a}.migration-map figcaption{padding:8px 12px}.migration-copy h3{font-size:clamp(1.5rem,2.6vw,2rem);margin:8px 0 14px}.migration-copy>p{line-height:1.7}.migration-controls{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 14px}.migration-sources{margin-top:20px}.migration-note{border-top:1px solid #23534722;padding-top:12px}@media(max-width:700px){.migration-layout{grid-template-columns:1fr;gap:22px}.migration-months{grid-template-columns:repeat(6,1fr)}.migration-months button{padding:10px 4px}.migration-map{padding:8px;border-radius:36px 6px}.migration-labels{font-size:12px}}@media(prefers-reduced-motion:reduce){#migration-herd{transition:none}}

/* Open editorial migration illustration: no enclosing panel. */
body.page-weather #migration-calendar .migration-layout{background:none;border:0;box-shadow:none;gap:48px;grid-template-columns:1.25fr 1fr;align-items:center}
body.page-weather #migration-calendar .migration-map{background:none;border:0;box-shadow:none;border-radius:0;padding:0}
body.page-weather #migration-calendar .migration-land{fill:url(#migration-open-terrain);stroke:#82977d55;stroke-width:1}
body.page-weather #migration-calendar .migration-trail{stroke:#94733b;stroke-width:1.8;stroke-dasharray:3 7;opacity:.8}
.migration-contours{stroke:#fffefa;stroke-opacity:.65;stroke-width:1}
.migration-points{fill:#fffefa;stroke:#94733b;stroke-width:1.5}
body.page-weather #migration-calendar .migration-labels{font-size:11px;letter-spacing:.6px}
body.page-weather #migration-calendar .migration-labels text:nth-child(2),body.page-weather #migration-calendar .migration-labels text:nth-child(4){font-size:10px;letter-spacing:.2px}
body.page-weather #migration-calendar .migration-copy{background:none;border:0;box-shadow:none;padding:12px 0}
body.page-weather #migration-calendar .migration-copy>.travel-kicker{color:#94733b;font-size:.76rem;letter-spacing:.24em;display:flex;align-items:center;gap:12px;margin-bottom:16px}
body.page-weather #migration-calendar .migration-copy>.travel-kicker:before{content:"";display:block;width:32px;height:1px;background:#94733b}
body.page-weather #migration-calendar .migration-copy h3{font-size:clamp(1.8rem,2.8vw,2.6rem);line-height:1.15;margin:0 0 20px;max-width:390px}
body.page-weather #migration-calendar #migration-description{font-size:1rem;line-height:1.8;color:#384e42}
body.page-weather #migration-calendar #migration-planning{font-size:.88rem;line-height:1.75;color:#667064;margin:16px 0 20px}
body.page-weather #migration-calendar .migration-controls{gap:20px;margin:26px 0 16px;align-items:center}
body.page-weather #migration-calendar .migration-controls button{border:0;border-bottom:1px solid #94733b77;border-radius:0;padding:8px 0;background:none;color:#235347;font-size:.84rem}
body.page-weather #migration-calendar #migration-play::before{content:"▷";display:inline-block;margin-right:8px;font-size:1rem}
body.page-weather #migration-calendar #migration-play[aria-pressed=true]::before{content:"Ⅱ"}
body.page-weather #migration-calendar .migration-controls button:hover{color:#94733b;border-color:#94733b;background:none}
body.page-weather #migration-calendar .migration-note{font-size:.74rem;border-top:0;padding-top:0;line-height:1.7;color:#768070}
body.page-weather #migration-calendar .migration-map figcaption{font-size:.72rem;line-height:1.7;padding:12px 20px 0;max-width:460px}
body.page-weather #migration-calendar .migration-sources{border-top:1px solid #23534715;padding-top:14px;font-size:.7rem;margin-top:24px;color:#768070}
body.page-weather #migration-calendar .migration-selected-line{margin-bottom:24px;font-size:.8rem}
@media(max-width:700px){body.page-weather #migration-calendar .migration-layout{grid-template-columns:1fr;gap:16px}body.page-weather #migration-calendar .migration-copy{padding:4px 0}body.page-weather #migration-calendar .migration-copy h3{max-width:none}body.page-weather #migration-calendar .migration-map figcaption{padding:8px 0}body.page-weather #migration-calendar .migration-copy>.travel-kicker{margin-bottom:12px}}

body.page-weather #migration-calendar .migration-month-nav{display:flex;align-items:center;gap:14px;margin-bottom:18px}
body.page-weather #migration-calendar .migration-month-nav .travel-kicker{margin:0;min-width:110px;text-align:center;font-size:.76rem;letter-spacing:.18em;color:#94733b}
body.page-weather #migration-calendar .migration-month-nav button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #94733b44;border-radius:50%;background:transparent;color:#235347;font:inherit;font-size:20px;cursor:pointer}
body.page-weather #migration-calendar .migration-month-nav button:hover{background:#edf1e7;border-color:#235347}
body.page-weather #migration-calendar button:focus-visible{outline:2px solid #94733b;outline-offset:4px}
@media(max-width:600px){body.page-weather #migration-calendar .migration-labels{font-size:13px;letter-spacing:0}body.page-weather #migration-calendar .migration-labels text:nth-child(2),body.page-weather #migration-calendar .migration-labels text:nth-child(4){font-size:12px}}
