.northport-weather{background:var(--paper);border-top:1px solid var(--line)}
.northport-weather .section-heading{align-items:center;gap:30px;margin-bottom:35px}
.northport-weather .eyebrow{margin-bottom:16px}
.northport-weather .section-heading h2{font-size:clamp(32px,4vw,48px)}
.northport-weather-place{font-size:13px;margin-top:17px;line-height:1.7}
.northport-weather .section-heading>a{flex-shrink:0}
.northport-weather-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:34px 0 30px;border-block:1px solid var(--line);gap:0}
.northport-weather-days[hidden]{display:none}
.northport-weather-days:focus-visible{outline:2px solid var(--rust);outline-offset:5px}
.northport-weather-day{min-width:0;padding:0 24px;border-left:1px solid var(--line)}
.northport-weather-day:first-child{border-left:0;padding-left:0}
.northport-weather-day:last-child{padding-right:0}
.northport-weather-day h3{font:600 13px/1.5 Arial,Helvetica,sans-serif;letter-spacing:0;margin-bottom:22px}
.northport-weather-outlook{display:flex;gap:13px;align-items:center}
.northport-weather-outlook>svg{width:33px;height:33px;flex-shrink:0;color:var(--forest)}
.northport-weather-temperatures{display:flex;align-items:flex-start;gap:13px;margin:0}
.northport-weather-temperatures dt{font:600 8px/1.5 Arial,Helvetica,sans-serif;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.northport-weather-temperatures dd{font:400 37px/1.25 var(--serif);letter-spacing:-1px;margin:1px 0 0}
.northport-weather-temperatures>div:last-child dd{font-size:26px;color:var(--muted);line-height:1.75}
.northport-weather-summary{font-size:13px;line-height:1.7;margin-top:19px;min-height:45px;color:var(--ink)}
.northport-weather-details{font-size:12px;line-height:1.6;margin:18px 0 0}
.northport-weather-details>div{margin-top:12px}
.northport-weather-details dt{color:var(--muted);font-size:11px}
.northport-weather-details dd{margin:2px 0 0;font-weight:600;color:var(--ink)}
.northport-weather-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:23px}
.northport-weather-footer p{font-size:11px;line-height:1.8}
.northport-weather-footer small{display:block;font-size:10px;color:var(--muted);margin-top:4px}
.northport-weather-footer button{font:600 11px/1.5 Arial,Helvetica,sans-serif;color:var(--forest);background:none;border-bottom:1px solid #a4b1a3;padding:7px 0;flex-shrink:0}
.northport-weather-footer button:disabled{opacity:.6;cursor:wait}
.northport-weather-status{font-size:13px;line-height:1.8;color:var(--muted);padding:20px 22px;background:var(--cream);border-left:2px solid var(--gold);margin:20px 0}
.northport-weather-status[hidden]{display:none}
@media(max-width:1100px){.northport-weather-day{padding-inline:18px}.northport-weather-outlook{gap:8px}.northport-weather-outlook>svg{width:27px;height:27px}.northport-weather-temperatures{gap:8px}.northport-weather-temperatures dd{font-size:32px}.northport-weather-temperatures>div:last-child dd{font-size:23px}}
@media(max-width:800px){.northport-weather-days{grid-template-columns:repeat(5,175px);overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:25px;scrollbar-color:#a4b1a3 var(--cream);scrollbar-width:thin}.northport-weather-day{scroll-snap-align:start;padding-inline:20px}.northport-weather-day:last-child{padding-right:12px}.northport-weather .section-heading{align-items:flex-start}.northport-weather-place{font-size:12px}.northport-weather .section-heading>a{font-size:11px;gap:9px}}
@media(max-width:540px){.northport-weather .section-heading{display:block}.northport-weather .section-heading>a{margin-top:22px}.northport-weather-footer{align-items:flex-start}.northport-weather-footer p{max-width:210px;font-size:10px}.northport-weather-footer button{font-size:10px}.northport-weather-days{grid-template-columns:repeat(5,170px)}.northport-weather-status{padding:16px;font-size:12px}}
