/* Weather only: existing portal themes continue to own the surrounding shell. */
.weather-page.legal-content{max-width:1200px;margin:36px auto 64px;padding:0;color:var(--ink,#1e3430);line-height:1.7;min-width:0}
.weather-page *{box-sizing:border-box}.weather-page header{max-width:850px;margin:24px 0 32px}.weather-page h1{font-size:clamp(30px,4vw,48px);line-height:1.14;letter-spacing:-.035em;margin:10px 0 18px}.weather-page h2{font-size:clamp(23px,2.7vw,31px);line-height:1.3;margin:32px 0 14px}.weather-page h3{font-size:20px;line-height:1.35;margin:0 0 12px}.weather-page h4{font-size:18px;line-height:1.35;margin:0 0 10px}.weather-page p{margin:12px 0 18px;line-height:1.7}.weather-page .kicker{font-size:12px;text-transform:uppercase;letter-spacing:.13em;font-weight:750;color:var(--green,#21674e)}
.weather-page .breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--muted,#65716d)}.weather-page a{color:var(--green,#21674e);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.weather-page a:focus-visible{outline:3px solid currentColor;outline-offset:4px;border-radius:2px}
.weather-page .weather-status{border:1px solid var(--line,#dce5df);border-left:4px solid var(--green,#21674e);padding:14px 18px;border-radius:6px;background:var(--light,#f1f6f2);font-weight:650}.weather-page [data-status=stale]>.weather-status,.weather-page .weather-warnings[data-status=stale]>.weather-status{border-left-color:#986519;background:#fff8e8;color:#69420c}.weather-page [data-status=unavailable]>.weather-status{border-left-color:#65716d;background:#f3f5f4;color:#45504c}
.weather-page .weather-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.weather-page .weather-card{min-width:0;border:1px solid var(--line,#dce5df);border-radius:10px;padding:20px;background:var(--light,#f1f6f2)}.weather-page .weather-card .card-copy{padding:0}.weather-page .weather-card h3{font-size:16px;margin:0 0 12px}.weather-page .weather-card p{font-size:14px;margin:0;line-height:1.8}.weather-page .weather-value{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.weather-page .weather-value--missing{font-weight:500;color:var(--muted,#65716d)}.weather-page .weather-value-stale{font-size:12px;white-space:normal;color:#69420c}
.weather-page .weather-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--line,#dce5df);border-radius:9px;margin:18px 0 24px;-webkit-overflow-scrolling:touch}.weather-page .weather-table-wrap table{display:table;width:100%;min-width:980px;overflow:visible;border-collapse:collapse;font-size:13px;line-height:1.5;margin:0;background:#fff;color:var(--ink,#1e3430)}.weather-page .weather-table-wrap caption{text-align:left;padding:15px 18px;font-weight:750;background:var(--light,#f1f6f2);border-bottom:1px solid var(--line,#dce5df)}.weather-page .weather-table-wrap th,.weather-page .weather-table-wrap td{text-align:left;vertical-align:top;padding:14px 12px;border:0;border-bottom:1px solid var(--line,#dce5df)}.weather-page .weather-table-wrap thead th{font-size:12px;font-weight:750;background:#f8faf8;min-width:90px}.weather-page .weather-table-wrap tbody th{font-weight:650;min-width:170px}.weather-page .weather-table-wrap tbody td:last-child{min-width:140px;color:var(--muted,#65716d)}.weather-page .weather-table-wrap tbody tr:last-child>*{border-bottom:0}.weather-page .weather-table-wrap tr[data-status=stale]{background:#fffaf0}.weather-page .weather-table-wrap tr[data-status=unavailable]{background:#f7f8f7}.weather-page #weather-data-note{font-size:13px;color:var(--muted,#65716d);border-bottom:1px solid var(--line,#dce5df);padding-bottom:24px}
.weather-page .weather-warnings{margin:32px 0;padding:24px;border:1px solid var(--line,#dce5df);border-radius:10px;background:#fff}.weather-page .weather-warnings>h2{margin-top:0}.weather-page .weather-warnings section{margin-top:22px}.weather-page .weather-warnings ul{list-style:none;padding:0;margin:0;display:grid;gap:16px}.weather-page .weather-warning{padding:20px;border:1px solid var(--line,#dce5df);border-left:5px solid #65716d;border-radius:6px;background:#f7f9f8}.weather-page .weather-warning[data-official-level="1"]{border-left-color:#b38c00}.weather-page .weather-warning[data-official-level="2"]{border-left-color:#c16712}.weather-page .weather-warning[data-official-level="3"]{border-left-color:#bb3540}.weather-page .weather-warning dl{display:grid;grid-template-columns:minmax(100px,130px) 1fr;gap:8px 16px;font-size:13px;margin:16px 0}.weather-page .weather-warning dt{font-weight:650}.weather-page .weather-warning dd{margin:0;min-width:0}.weather-page .weather-warning p,.weather-page .weather-warnings>p:last-child{font-size:13px}.weather-page #weather-guides-heading+ p{font-size:14px}.weather-page section[aria-labelledby=weather-guides-heading] ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;padding-left:20px}
@media(max-width:1000px){.weather-page .weather-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.weather-page .weather-table-wrap table{font-size:12px;min-width:920px}.weather-page .weather-table-wrap th,.weather-page .weather-table-wrap td{padding:12px 10px}.weather-page .weather-table-wrap tbody th{min-width:160px}}
@media(max-width:600px){.weather-page.legal-content{margin:24px 0 44px}.weather-page header{margin:18px 0 24px}.weather-page h1{font-size:32px}.weather-page h2{font-size:24px;margin-top:28px}.weather-page .weather-cards{gap:12px}.weather-page .weather-card{padding:15px}.weather-page .weather-card h3{font-size:15px}.weather-page .weather-card p{font-size:13px}.weather-page .weather-status{padding:12px 14px;font-size:14px}.weather-page .weather-warnings{padding:16px}.weather-page .weather-warning{padding:15px}.weather-page .weather-warning dl{grid-template-columns:1fr;gap:3px}.weather-page .weather-warning dd{margin-bottom:8px}.weather-page section[aria-labelledby=weather-guides-heading] ul{grid-template-columns:1fr}.weather-page .weather-table-wrap{border-radius:6px}.weather-page .weather-table-wrap caption{padding:12px 14px}.weather-page .weather-table-wrap table{min-width:880px}}
@media(max-width:360px){.weather-page .weather-cards{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.weather-page{scroll-behavior:auto}}
