/* SQ9NFI public weather dashboard — v8.5.61 */
body.page-weather{background:var(--bg)}
.weather-dashboard{min-height:70vh;overflow:hidden;background:var(--bg)}
.weather-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line-soft);background:transparent}
.weather-hero:before{content:none}
.weather-hero-glow{display:none}
.weather-hero-inner{position:relative;z-index:1;min-height:300px;padding-top:58px;padding-bottom:54px;display:flex;align-items:flex-end;justify-content:space-between;gap:48px}
.weather-hero-copy{max-width:760px}.weather-kicker,.weather-section-kicker{display:flex;align-items:center;gap:9px;color:var(--gold-2);font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.weather-hero h1{margin:10px 0 12px;font-size:clamp(42px,5vw,68px);line-height:.98;letter-spacing:-.055em}.weather-hero-copy>p{max-width:730px;margin:0;color:#97979d;font-size:15px;line-height:1.75}.weather-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:24px;color:#75757a;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.weather-hero-meta>span{display:inline-flex;align-items:center;gap:7px}.weather-live-badge{padding:7px 10px;border:1px solid rgba(104,208,131,.24);border-radius:99px;background:rgba(104,208,131,.06);color:#82d99a!important}.weather-live-dot{width:7px;height:7px;display:inline-block;flex:0 0 7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px rgba(104,208,131,.08);animation:weatherPulse 2.2s infinite}@keyframes weatherPulse{0%,100%{box-shadow:0 0 0 4px rgba(104,208,131,.08)}50%{box-shadow:0 0 0 8px rgba(104,208,131,.02)}}
.weather-station-plaque{min-width:280px;display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;padding:16px 18px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(13,13,15,.78);box-shadow:0 20px 55px rgba(0,0,0,.25);backdrop-filter:blur(15px)}.weather-plaque-icon{grid-row:span 2;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(144,119,49,.45);border-radius:11px;background:#17140c;color:var(--gold-2);font-size:17px}.weather-station-plaque small{display:block;color:#77777d;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.weather-station-plaque strong{display:block;margin-top:2px;font:800 16px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}.weather-plaque-state{grid-column:2;display:flex;align-items:center;gap:6px;color:var(--ok);font-size:11px;font-weight:800}
.weather-main-section{padding:34px 0 78px;background:transparent}
.weather-update-strip{min-height:48px;display:flex;align-items:center;gap:18px;margin-bottom:16px;padding:0 16px;border:1px solid var(--line-soft);border-radius:11px;background:rgba(23,23,25,.74);color:#85858b;font-size:11px}.weather-update-state{display:flex;align-items:center;gap:8px;color:var(--ok)}.weather-update-state strong{font-size:11px;letter-spacing:.04em;text-transform:uppercase}.weather-update-time b{color:var(--muted-2);font-weight:700}.weather-update-location{margin-left:auto;color:var(--gold-2);font-weight:700}.weather-update-strip.is-stale .weather-update-state{color:var(--warn)}.weather-update-strip.is-error .weather-update-state{color:var(--bad)}
.weather-empty{display:flex;align-items:center;gap:22px;padding:38px;border:1px dashed #36363a;border-radius:16px;background:var(--panel)}.weather-empty[hidden]{display:none}.weather-empty-icon{width:72px;height:72px;display:grid;place-items:center;flex:0 0 72px;border:1px solid #343438;border-radius:18px;background:var(--panel-2);color:var(--gold-2);font-size:28px}.weather-empty h2{margin:0 0 7px;font-size:22px}.weather-empty p{max-width:760px;margin:0;color:var(--muted);font-size:13px;line-height:1.7}
.weather-overview{display:grid;grid-template-columns:1.04fr .96fr;gap:16px}.weather-card{position:relative;overflow:hidden;min-width:0;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,var(--panel),var(--panel-2));box-shadow:0 18px 45px rgba(0,0,0,.13)}.weather-card:after{content:"";position:absolute;width:180px;height:180px;right:-90px;bottom:-100px;border-radius:50%;background:radial-gradient(circle,rgba(144,119,49,.09),transparent 68%);pointer-events:none}.weather-card-head{position:relative;z-index:2;height:54px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 20px;border-bottom:1px solid var(--line-soft);color:#8d8d93;font-size:12px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.weather-card-head>span:first-child{display:flex;align-items:center;gap:9px}.weather-card-head i{color:var(--gold-2);font-size:13px}.weather-card-accent{width:38px;height:2px;border-radius:9px;background:linear-gradient(90deg,var(--gold-2),transparent)}
.weather-temperature-main{padding:32px 25px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.weather-temperature-reading{display:flex;align-items:flex-start;gap:7px;min-width:0}.weather-temperature-reading strong{font-size:clamp(58px,6vw,86px);font-weight:500;line-height:.86;letter-spacing:-.065em;font-variant-numeric:tabular-nums}.weather-temperature-reading>span{margin-top:6px;color:var(--gold-2);font-size:21px;font-weight:800}.weather-temperature-direction{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:8px 11px;border:1px solid var(--line-soft);border-radius:99px;background:#111113;color:#9a9aa0;font-size:12px;font-weight:850;white-space:nowrap}.weather-temperature-direction i{font-size:11px;transition:transform .25s ease,color .25s ease}.weather-temperature-direction.is-rising{color:var(--ok);border-color:rgba(104,208,131,.24);background:rgba(104,208,131,.06)}.weather-temperature-direction.is-falling{color:#7da6c4;border-color:rgba(125,166,196,.26);background:rgba(125,166,196,.06)}.weather-temperature-direction.is-falling i{transform:rotate(180deg)}.weather-temperature-direction.is-steady{color:var(--gold-2)}.weather-temperature-direction.is-steady i{transform:rotate(90deg)}.weather-temperature-subgrid{display:grid;grid-template-columns:repeat(3,1fr);margin:0 20px 20px;border:1px solid var(--line-soft);border-radius:12px;overflow:hidden;background:var(--line-soft);gap:1px}.weather-temperature-subgrid>div{min-width:0;padding:15px 14px;background:#121214}.weather-temperature-subgrid small{display:block;margin-bottom:4px;color:#6e6e74;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.weather-temperature-subgrid b{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}
.weather-direction-pill{padding:5px 8px;border:1px solid #36363a;border-radius:99px;background:#111113;color:#b4b4b8;font:800 11px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:0;text-transform:none}.weather-wind-layout{display:grid;grid-template-columns:minmax(210px,1fr) minmax(155px,.7fr);gap:24px;align-items:center;padding:25px}.weather-compass{position:relative;width:min(100%,250px);aspect-ratio:1;margin:auto;border:1px solid #3a3a3f;border-radius:50%;background:radial-gradient(circle at 50% 50%,#171719 0 14%,#111113 15% 51%,#0d0d0f 52% 100%);box-shadow:inset 0 0 45px rgba(0,0,0,.32),0 14px 38px rgba(0,0,0,.16)}.weather-compass-ring{position:absolute;inset:12%;border:1px solid rgba(255,255,255,.08);border-radius:50%}.weather-compass-ring-inner{inset:30%;border-color:rgba(144,119,49,.18)}.weather-compass-ticks{position:absolute;inset:5%;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.34) 0deg .7deg,transparent .7deg 15deg);mask:radial-gradient(circle,transparent 0 88%,#000 88.4% 100%);opacity:.55}.weather-compass span[class^="weather-compass-"]{position:absolute;z-index:2;color:#74747a;font:800 11px ui-monospace,SFMono-Regular,Menlo,monospace}.weather-compass-n{top:8px;left:50%;transform:translateX(-50%);color:var(--gold-2)!important}.weather-compass-s{bottom:8px;left:50%;transform:translateX(-50%)}.weather-compass-e{right:10px;top:50%;transform:translateY(-50%)}.weather-compass-w{left:10px;top:50%;transform:translateY(-50%)}.weather-compass-ne{right:17%;top:18%}.weather-compass-se{right:17%;bottom:18%}.weather-compass-sw{left:17%;bottom:18%}.weather-compass-nw{left:17%;top:18%}.weather-compass-arrow{position:absolute;z-index:3;inset:18%;transition:none}.weather-compass-arrow span{position:absolute;top:0;left:50%;width:3px;height:50%;transform:translateX(-50%);border-radius:99px;background:linear-gradient(to bottom,var(--gold-2) 0 78%,transparent 78%)}.weather-compass-arrow span:before{content:"";position:absolute;top:-3px;left:50%;transform:translateX(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:0;border-top:12px solid var(--gold-2)}.weather-compass-center{position:absolute;z-index:4;left:50%;top:50%;width:38px;height:38px;display:grid;place-items:center;transform:translate(-50%,-50%);border:1px solid #49494e;border-radius:50%;background:#151517;color:var(--gold-2);box-shadow:0 6px 18px rgba(0,0,0,.3)}.weather-compass-center i{transform:rotate(-45deg)}
.weather-wind-readout{display:flex;flex-direction:column;gap:14px}.weather-wind-speed{padding:18px;border:1px solid var(--line-soft);border-radius:13px;background:#111113}.weather-wind-speed strong{display:inline;font-size:45px;line-height:1;font-weight:600;letter-spacing:-.05em;font-variant-numeric:tabular-nums}.weather-wind-speed>span{margin-left:5px;color:var(--gold-2);font-size:11px;font-weight:900}.weather-wind-speed small{display:block;margin-top:6px;color:#74747a;font-size:12px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.weather-wind-gust{padding:13px 15px;border:1px solid var(--line-soft);border-radius:12px;background:#111113}.weather-wind-gust>span{display:block;color:#707076;font-size:12px;font-weight:800;text-transform:uppercase}.weather-wind-gust strong{display:block;margin-top:2px;font-size:15px}
.weather-metrics-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:12px}.weather-metric-card{position:relative;overflow:hidden;min-width:0;min-height:126px;padding:18px 16px;display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:14px;background:var(--panel);transition:border-color .2s,transform .2s}.weather-metric-card:hover{transform:translateY(-2px);border-color:#494235}.weather-metric-icon{position:relative;width:48px;height:48px;display:grid;place-items:center;flex:0 0 48px;border:1px solid #403a2c;border-radius:13px;background:linear-gradient(145deg,#1b180f,#121214);color:var(--gold-2);box-shadow:inset 0 1px rgba(255,255,255,.025),0 8px 20px rgba(0,0,0,.16)}.weather-metric-icon i{font-size:20px}.weather-metric-card:nth-child(2) .weather-metric-icon,.weather-metric-card:nth-child(3) .weather-metric-icon{color:#7da6c4;border-color:rgba(125,166,196,.26);background:linear-gradient(145deg,rgba(36,58,72,.34),#121214)}.weather-metric-card:nth-child(4) .weather-metric-icon,.weather-metric-card:nth-child(5) .weather-metric-icon{color:#d4ad4e}.weather-metric-card:nth-child(6) .weather-metric-icon{color:#8da293;border-color:rgba(141,162,147,.25);background:linear-gradient(145deg,rgba(44,61,50,.32),#121214)}.weather-metric-card small{display:block;color:#707076;font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;line-height:1.25}.weather-metric-card strong{display:block;margin-top:5px;font-size:17px;line-height:1.15;font-variant-numeric:tabular-nums}.weather-metric-card strong span[data-weather-unit]{color:#89898f;font-size:11px;font-weight:700}
.weather-trends{margin-top:42px}.weather-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:17px}.weather-section-head h2{margin:5px 0 4px;font-size:28px;letter-spacing:-.035em}.weather-section-head p{margin:0;color:var(--muted);font-size:12px}.weather-trend-range{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--gold-2);font:800 11px ui-monospace,SFMono-Regular,Menlo,monospace}.weather-trends-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.weather-trend-card{position:relative;overflow:hidden;min-width:0;padding:16px 16px 12px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.weather-trend-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.weather-trend-head>span{display:flex;align-items:center;gap:7px;color:#7e7e84;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.weather-trend-head i{color:var(--gold-2)}.weather-trend-head strong{font-size:12px;font-variant-numeric:tabular-nums}.weather-sparkline{display:block;width:100%;height:92px;margin-top:10px;overflow:visible}.weather-sparkline-line{fill:none;stroke:var(--gold-2);stroke-width:2;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.weather-sparkline-area{fill:rgba(144,119,49,.09);stroke:none}.weather-trend-card:nth-child(2) .weather-sparkline-line{stroke:#7e9aa8}.weather-trend-card:nth-child(2) .weather-sparkline-area{fill:rgba(126,154,168,.08)}.weather-trend-card:nth-child(3) .weather-sparkline-line{stroke:#9aa5b8}.weather-trend-card:nth-child(3) .weather-sparkline-area{fill:rgba(154,165,184,.07)}.weather-trend-card:nth-child(4) .weather-sparkline-line{stroke:#72969f}.weather-trend-card:nth-child(4) .weather-sparkline-area{fill:rgba(114,150,159,.07)}.weather-trend-scale{display:flex;justify-content:space-between;gap:12px;margin-top:3px;color:#626268;font:700 10px ui-monospace,SFMono-Regular,Menlo,monospace}
.weather-station-footer{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:14px;margin-top:24px;padding:17px 18px;border:1px solid var(--line-soft);border-radius:14px;background:var(--panel)}.weather-station-footer-icon{width:46px;height:46px;display:grid;place-items:center;border:1px solid #38342a;border-radius:12px;background:#17140c;color:var(--gold-2)}.weather-station-footer-copy small,.weather-station-footer-time small{display:block;color:#66666c;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.weather-station-footer-copy strong{display:block;margin-top:2px;font-size:12px}.weather-station-footer-copy span{display:block;margin-top:3px;color:#737379;font-size:11px}.weather-station-footer-time{text-align:right}.weather-station-footer-time strong{display:block;margin-top:2px;font:800 12px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted-2)}
.weather-error-toast{position:fixed;z-index:900;right:22px;bottom:22px;max-width:430px;display:flex;align-items:flex-start;gap:10px;padding:13px 15px;border:1px solid rgba(223,104,104,.34);border-radius:11px;background:rgba(31,15,16,.96);box-shadow:0 18px 50px rgba(0,0,0,.35);color:#df9a9a;font-size:11px;line-height:1.55}.weather-error-toast[hidden]{display:none}.weather-error-toast i{margin-top:2px;color:var(--bad)}
.weather-dashboard [hidden]{display:none!important}

html[data-theme="light"] .weather-hero{background:transparent}
html[data-theme="light"] .weather-hero:before{content:none}
html[data-theme="light"] .weather-hero-copy>p{color:#65666a}html[data-theme="light"] .weather-station-plaque{background:rgba(255,255,255,.78);border-color:#dbdbd6;box-shadow:0 20px 55px rgba(45,45,40,.08)}html[data-theme="light"] .weather-plaque-icon,html[data-theme="light"] .weather-metric-icon,html[data-theme="light"] .weather-station-footer-icon{background:#f6f1e4;border-color:#d8c995;color:#806929}
html[data-theme="light"] .weather-update-strip{background:#fff;color:#66676b}html[data-theme="light"] .weather-card,html[data-theme="light"] .weather-metric-card,html[data-theme="light"] .weather-trend-card,html[data-theme="light"] .weather-station-footer,html[data-theme="light"] .weather-empty{box-shadow:0 14px 35px rgba(40,40,35,.045)}html[data-theme="light"] .weather-temperature-subgrid{background:#e4e4df}html[data-theme="light"] .weather-temperature-direction{background:#fafaf8;border-color:#deded8}html[data-theme="light"] .weather-temperature-direction.is-rising{background:#f1fbf3}html[data-theme="light"] .weather-temperature-direction.is-falling{background:#f1f7fb}html[data-theme="light"] .weather-temperature-subgrid>div,html[data-theme="light"] .weather-wind-speed,html[data-theme="light"] .weather-wind-gust{background:#fafaf8}html[data-theme="light"] .weather-direction-pill{background:#f5f5f1;border-color:#ddddda;color:#55565a}
html[data-theme="light"] .weather-compass{border-color:#d7d7d2;background:radial-gradient(circle at 50% 50%,#fff 0 14%,#f4f4f1 15% 51%,#ededE9 52% 100%);box-shadow:inset 0 0 35px rgba(50,50,45,.06),0 14px 30px rgba(40,40,35,.05)}html[data-theme="light"] .weather-compass-ring{border-color:rgba(40,40,40,.12)}html[data-theme="light"] .weather-compass-ticks{background:repeating-conic-gradient(from 0deg,rgba(40,40,40,.35) 0deg .7deg,transparent .7deg 15deg)}html[data-theme="light"] .weather-compass-center{background:#fff;border-color:#d7d7d2;box-shadow:0 5px 12px rgba(40,40,35,.08)}html[data-theme="light"] .weather-error-toast{background:rgba(255,244,244,.98);color:#9e4545;box-shadow:0 18px 40px rgba(50,20,20,.12)}

@media(max-width:1100px){.weather-overview{grid-template-columns:1fr}.weather-metrics-grid{grid-template-columns:repeat(3,1fr)}.weather-trends-grid{grid-template-columns:repeat(2,1fr)}.weather-station-plaque{min-width:240px}.weather-wind-layout{grid-template-columns:minmax(230px,.9fr) 1fr}}
@media(max-width:760px){.weather-hero-inner{min-height:0;padding-top:38px;padding-bottom:36px;display:block}.weather-hero h1{font-size:clamp(38px,12vw,54px)}.weather-hero-copy>p{font-size:13px}.weather-station-plaque{width:100%;min-width:0;margin-top:28px}.weather-main-section{padding-top:20px;padding-bottom:52px}.weather-update-strip{align-items:flex-start;flex-direction:column;gap:5px;padding:12px 14px}.weather-update-location{margin-left:0}.weather-temperature-main{padding-top:28px}.weather-temperature-main{align-items:flex-start}.weather-temperature-reading strong{font-size:68px}.weather-temperature-subgrid{grid-template-columns:1fr}.weather-temperature-subgrid>div{display:flex;align-items:center;justify-content:space-between;gap:14px}.weather-temperature-subgrid small{margin:0}.weather-wind-layout{grid-template-columns:1fr;padding:20px}.weather-compass{max-width:235px}.weather-wind-readout{display:grid;grid-template-columns:1fr 1fr}.weather-wind-speed strong{font-size:36px}.weather-metrics-grid{grid-template-columns:repeat(2,1fr)}.weather-metric-card{min-height:104px}.weather-trends{margin-top:34px}.weather-section-head{align-items:flex-start;flex-direction:column;gap:12px}.weather-trends-grid{grid-template-columns:1fr}.weather-station-footer{grid-template-columns:42px 1fr}.weather-station-footer-time{grid-column:2;text-align:left}.weather-empty{align-items:flex-start;padding:25px;flex-direction:column}.weather-error-toast{left:14px;right:14px;bottom:14px;max-width:none}}
@media(max-width:480px){.weather-temperature-main{flex-direction:column;gap:14px}.weather-temperature-direction{align-self:flex-start}.weather-metrics-grid{grid-template-columns:1fr}.weather-metric-card{min-height:86px}.weather-wind-readout{grid-template-columns:1fr}.weather-hero-meta{align-items:flex-start;flex-direction:column}.weather-temperature-reading strong{font-size:62px}}
@media(prefers-reduced-motion:reduce){.weather-live-dot{animation:none}.weather-compass-arrow,.weather-metric-card{transition:none}}
/* Page-local mappings for the weather SVG icon subset. */
.page-weather .fa-temperature-half::before{-webkit-mask-image:url("/assets/icons/fa/temperature-half.svg");mask-image:url("/assets/icons/fa/temperature-half.svg")}
.page-weather .fa-wind::before{-webkit-mask-image:url("/assets/icons/fa/wind.svg");mask-image:url("/assets/icons/fa/wind.svg")}
.page-weather .fa-gauge-high::before{-webkit-mask-image:url("/assets/icons/fa/gauge-high.svg");mask-image:url("/assets/icons/fa/gauge-high.svg")}
.page-weather .fa-droplet::before{-webkit-mask-image:url("/assets/icons/fa/droplet.svg");mask-image:url("/assets/icons/fa/droplet.svg")}
.page-weather .fa-cloud-rain::before{-webkit-mask-image:url("/assets/icons/fa/cloud-rain.svg");mask-image:url("/assets/icons/fa/cloud-rain.svg")}
.page-weather .fa-solar-panel::before{-webkit-mask-image:url("/assets/icons/fa/solar-panel.svg");mask-image:url("/assets/icons/fa/solar-panel.svg")}
.page-weather .fa-mountain::before{-webkit-mask-image:url("/assets/icons/fa/mountain.svg");mask-image:url("/assets/icons/fa/mountain.svg")}
.page-weather .fa-rotate::before{-webkit-mask-image:url("/assets/icons/fa/rotate.svg");mask-image:url("/assets/icons/fa/rotate.svg")}
.page-weather .fa-location-arrow::before{-webkit-mask-image:url("/assets/icons/fa/location-arrow.svg");mask-image:url("/assets/icons/fa/location-arrow.svg")}
.page-weather .fa-clock::before{-webkit-mask-image:url("/assets/icons/fa/clock.svg");mask-image:url("/assets/icons/fa/clock.svg")}
.page-weather .fa-circle-nodes::before{-webkit-mask-image:url("/assets/icons/fa/circle-nodes.svg");mask-image:url("/assets/icons/fa/circle-nodes.svg")}
.page-weather .fa-cloud-sun::before{-webkit-mask-image:url("/assets/icons/fa/cloud-sun.svg");mask-image:url("/assets/icons/fa/cloud-sun.svg")}

.page-weather .fa-sun::before{-webkit-mask-image:url("/assets/icons/fa/sun.svg");mask-image:url("/assets/icons/fa/sun.svg")}
.page-weather .fa-arrow-up::before{-webkit-mask-image:url("/assets/icons/fa/arrow-up.svg");mask-image:url("/assets/icons/fa/arrow-up.svg")}

/* v8.5.50 — weather dashboard polish, graphic icon system, range selector and compass */
.page-weather .weather-station-plaque{grid-template-columns:42px 1fr;min-width:244px;padding:14px 17px}
.page-weather .weather-plaque-icon{grid-row:auto}
.page-weather .weather-plaque-copy{display:flex;flex-direction:column;justify-content:center;gap:1px;line-height:1.08}
.page-weather .weather-station-plaque small{font-size:12px;line-height:1.08;margin:0}
.page-weather .weather-station-plaque strong{margin:0;font-size:17px;line-height:1.08}
.page-weather .weather-refresh-countdown b{min-width:18px;display:inline-block;color:var(--gold-2);font-variant-numeric:tabular-nums;text-align:right}

.page-weather .weather-card-head{font-size:13px}
.page-weather .weather-card-head>span:first-child{gap:10px}
.page-weather .weather-card-graphic{width:30px;height:30px;display:block;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(0,0,0,.16))}
.page-weather .weather-temperature-reading strong{font-size:clamp(50px,5.25vw,74px)}
.page-weather .weather-temperature-reading>span{font-size:22px}
.page-weather .weather-temperature-direction{font-size:13px}
.page-weather .weather-temperature-subgrid>div{display:flex;align-items:center;gap:10px;padding:15px 14px}
.page-weather .weather-submetric-icon{width:34px;height:34px;flex:0 0 34px;object-fit:contain}
.page-weather .weather-temperature-subgrid small{font-size:13px;line-height:1.25}
.page-weather .weather-temperature-subgrid b{font-size:16px;line-height:1.2}
.page-weather .weather-update-strip{font-size:12px}
.page-weather .weather-update-state strong{font-size:12px}
.page-weather .weather-wind-speed strong{font-size:47px}
.page-weather .weather-wind-speed>span{font-size:12px}
.page-weather .weather-wind-speed small,.page-weather .weather-wind-gust>span{font-size:13px}
.page-weather .weather-wind-gust strong{font-size:17px}
.page-weather .weather-direction-pill{font-size:12px}

.page-weather .weather-metrics-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:16px}
.page-weather .weather-metric-card{min-height:132px;padding:18px 17px;gap:14px}
.page-weather .weather-metric-icon{width:58px;height:58px;flex-basis:58px;border-radius:15px;background:linear-gradient(145deg,#171719,#101012);border-color:#35353a}
.page-weather .weather-metric-icon img{width:45px;height:45px;display:block;object-fit:contain;filter:drop-shadow(0 6px 11px rgba(0,0,0,.22))}
.page-weather .weather-metric-card small{font-size:13px;line-height:1.25}
.page-weather .weather-metric-card strong{font-size:19px;line-height:1.15}
.page-weather .weather-metric-card strong span[data-weather-unit]{font-size:12px}

.page-weather .weather-section-head p{font-size:13px}
.page-weather .weather-trend-range{gap:5px;padding:5px;border-radius:11px;font-size:12px}
.page-weather .weather-trend-range>i{margin:0 5px 0 3px}
.page-weather .weather-trend-range button{min-width:46px;padding:7px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:#8b8b91;font:800 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer;transition:background .18s,border-color .18s,color .18s,transform .18s}
.page-weather .weather-trend-range button:hover{color:var(--gold-2);border-color:#3a372f}
.page-weather .weather-trend-range button.active{background:#1b180f;border-color:#51472d;color:#e2c566;box-shadow:inset 0 1px rgba(255,255,255,.035)}
.page-weather .weather-trend-head>span{font-size:13px;gap:8px}
.page-weather .weather-trend-head>span img{width:22px;height:22px;object-fit:contain}
.page-weather .weather-trend-head strong{font-size:13px}
.page-weather .weather-trend-scale{font-size:11px}
.page-weather .weather-station-footer-copy small,.page-weather .weather-station-footer-time small{font-size:12px}
.page-weather .weather-station-footer-copy strong{font-size:13px}
.page-weather .weather-station-footer-copy span{font-size:12px}
.page-weather .weather-station-footer-time strong{font-size:13px}

/* Professional wind rose: layered scale, north datum and instrument-like pointer. */
.page-weather .weather-compass{width:min(100%,270px);border:1px solid #414149;background:radial-gradient(circle at 50% 50%,#171719 0 11%,#111114 11.5% 31%,#0e0e11 31.5% 50%,#101014 50.5% 73%,#0b0b0e 73.5% 100%);box-shadow:inset 0 0 52px rgba(0,0,0,.38),0 18px 42px rgba(0,0,0,.18)}
.page-weather .weather-compass-ring-outer{inset:8%;border-color:rgba(255,255,255,.10)}
.page-weather .weather-compass-ring-middle{position:absolute;inset:21%;border:1px dashed rgba(255,255,255,.08);border-radius:50%}
.page-weather .weather-compass-ring-inner{inset:34%;border-color:rgba(144,119,49,.25)}
.page-weather .weather-compass-cross{position:absolute;z-index:1;left:50%;top:8%;width:1px;height:84%;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.07) 16%,rgba(255,255,255,.07) 84%,transparent);transform-origin:center}
.page-weather .weather-compass-cross-b{transform:rotate(90deg)}
.page-weather .weather-compass-ticks{inset:4%;background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.42) 0deg .55deg,transparent .55deg 5deg);mask:radial-gradient(circle,transparent 0 89%,#000 89.5% 100%);opacity:.62}
.page-weather .weather-compass span[class^="weather-compass-"]{font-size:11px;z-index:5}
.page-weather .weather-compass-n{top:13px;color:#ef6464!important;font-size:13px!important;font-weight:900!important}
.page-weather .weather-compass-north-marker{position:absolute!important;z-index:6!important;top:-2px!important;left:50%!important;width:0!important;height:0!important;transform:translateX(-50%)!important;border-left:8px solid transparent!important;border-right:8px solid transparent!important;border-top:0!important;border-bottom:14px solid #e45151!important;filter:drop-shadow(0 3px 5px rgba(228,81,81,.28))}
.page-weather .weather-compass-arrow{inset:18%;z-index:3}
.page-weather .weather-compass-arrow-shaft{position:absolute!important;top:0!important;left:50%!important;width:4px!important;height:50%!important;transform:translateX(-50%)!important;border-radius:99px!important;background:linear-gradient(to bottom,#e5c45e 0 79%,transparent 79%)!important;box-shadow:0 0 12px rgba(229,196,94,.18)}
.page-weather .weather-compass-arrow-shaft:before{content:"";position:absolute;top:-5px;left:50%;transform:translateX(-50%);border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:0;border-top:14px solid #e5c45e}
.page-weather .weather-compass-arrow-tail{position:absolute!important;left:50%!important;top:50%!important;width:2px!important;height:31%!important;transform:translateX(-50%)!important;background:linear-gradient(to bottom,rgba(229,196,94,.5),transparent)!important}
.page-weather .weather-compass-center{width:42px;height:42px;border:1px solid #5a5140;background:radial-gradient(circle,#1f1c14,#121214 70%);box-shadow:0 7px 20px rgba(0,0,0,.35),inset 0 1px rgba(255,255,255,.05)}

html[data-theme="light"] .page-weather .weather-metric-icon{background:linear-gradient(145deg,#fff,#f2f2ee);border-color:#deded7}
html[data-theme="light"] .page-weather .weather-trend-range button.active{background:#f2ead3;border-color:#d8c995;color:#735d22}
html[data-theme="light"] .page-weather .weather-compass{background:radial-gradient(circle at 50% 50%,#fff 0 11%,#f7f7f4 11.5% 31%,#efefeb 31.5% 50%,#f6f6f2 50.5% 73%,#eaeae6 73.5% 100%)}
html[data-theme="light"] .page-weather .weather-compass-cross{background:linear-gradient(to bottom,transparent,rgba(30,30,30,.08) 16%,rgba(30,30,30,.08) 84%,transparent)}
html[data-theme="light"] .page-weather .weather-compass-ticks{background:repeating-conic-gradient(from 0deg,rgba(40,40,40,.42) 0deg .55deg,transparent .55deg 5deg)}

@media(max-width:1100px){.page-weather .weather-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.page-weather .weather-temperature-reading strong{font-size:56px}.page-weather .weather-card-head{font-size:12px}.page-weather .weather-temperature-subgrid>div{display:flex}.page-weather .weather-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-weather .weather-trend-range{width:100%;justify-content:flex-start;overflow-x:auto}.page-weather .weather-compass{max-width:250px}}
@media(max-width:480px){.page-weather .weather-temperature-reading strong{font-size:52px}.page-weather .weather-metrics-grid{grid-template-columns:1fr}.page-weather .weather-metric-card{min-height:94px}.page-weather .weather-trend-range button{min-width:44px;padding:7px 8px}}


/* v8.5.51 — precision, builder transparency and instrument-style weather graphics. */
.page-weather .weather-temperature-reading strong{font-size:clamp(46px,4.8vw,68px)}
.page-weather .weather-temperature-subgrid small,.page-weather .weather-card-head,.page-weather .weather-metric-card small,.page-weather .weather-wind-speed small,.page-weather .weather-wind-gust>span{font-size:14px}
.page-weather .weather-temperature-subgrid b{font-size:17px}
.page-weather .weather-wind-speed strong{font-size:49px}
.page-weather .weather-wind-gust strong{font-size:18px}
.page-weather .weather-metric-card strong{font-size:21px}
.page-weather .weather-metric-card strong span[data-weather-unit]{font-size:13px}
.page-weather .weather-card-graphic{width:36px;height:36px;filter:drop-shadow(0 7px 11px rgba(0,0,0,.26))}
.page-weather .weather-submetric-icon{width:40px;height:40px;flex-basis:40px;filter:drop-shadow(0 7px 11px rgba(0,0,0,.22))}
.page-weather .weather-metric-icon{width:64px;height:64px;flex-basis:64px;padding:4px;border-radius:17px;background:radial-gradient(circle at 34% 24%,rgba(255,255,255,.08),transparent 30%),linear-gradient(145deg,#1c1d20,#0d0e10);border-color:#3a3b40;box-shadow:inset 0 1px rgba(255,255,255,.045),0 10px 24px rgba(0,0,0,.14)}
.page-weather .weather-metric-icon img{width:52px;height:52px;filter:drop-shadow(0 8px 12px rgba(0,0,0,.28))}
.page-weather .weather-trend-head>span img{width:26px;height:26px;filter:drop-shadow(0 4px 7px rgba(0,0,0,.18))}
html[data-theme="light"] .page-weather .weather-metric-icon{background:radial-gradient(circle at 34% 24%,rgba(255,255,255,.95),transparent 34%),linear-gradient(145deg,#fff,#e9ebef);border-color:#d6d8dd;box-shadow:inset 0 1px #fff,0 8px 20px rgba(40,45,55,.08)}
@media(max-width:760px){.page-weather .weather-temperature-reading strong{font-size:52px}.page-weather .weather-card-head,.page-weather .weather-metric-card small{font-size:13px}}
@media(max-width:480px){.page-weather .weather-temperature-reading strong{font-size:48px}}

/* v8.5.52 — hero typography follows Drag & Drop settings, wider title flow,
   more realistic weather instruments and an antique cartographic wind rose. */
.page-weather .weather-hero-copy{flex:1 1 auto;min-width:0;max-width:none}
.page-weather .weather-hero h1{max-width:100%;font-weight:inherit}
.page-weather .weather-hero-copy>p{max-width:min(880px,100%)}

/* The dedicated weather hero must respect the typography selected for its
   Drag & Drop module instead of forcing the global H1 weight. */
.page-weather .pb-type-weather_hero{min-width:0}
.page-weather .pb-type-weather_hero>.weather-hero{font-family:inherit}
.page-weather .pb-type-weather_hero>.weather-hero .weather-hero-copy{font-family:inherit}

/* Richer, instrument-like pictograms. */
.page-weather .weather-card-graphic,
.page-weather .weather-submetric-icon,
.page-weather .weather-metric-icon img,
.page-weather .weather-trend-head>span img{filter:drop-shadow(0 7px 9px rgba(0,0,0,.33));transform:translateZ(0)}
.page-weather .weather-card-graphic{width:42px;height:42px}
.page-weather .weather-submetric-icon{width:44px;height:44px;flex-basis:44px}
.page-weather .weather-metric-icon{width:70px;height:70px;flex-basis:70px;padding:3px;border-radius:18px;background:radial-gradient(circle at 31% 22%,rgba(255,255,255,.10),transparent 28%),linear-gradient(145deg,#202226,#0c0d0f 70%);border-color:#3c3e43;box-shadow:inset 0 1px rgba(255,255,255,.06),inset 0 -12px 22px rgba(0,0,0,.16),0 11px 26px rgba(0,0,0,.18)}
.page-weather .weather-metric-icon img{width:60px;height:60px}
.page-weather .weather-trend-head>span img{width:29px;height:29px}
html[data-theme="light"] .page-weather .weather-metric-icon{background:radial-gradient(circle at 30% 20%,#fff 0 18%,transparent 37%),linear-gradient(145deg,#fff,#eceef1 72%);border-color:#d1d4d9;box-shadow:inset 0 1px #fff,inset 0 -10px 18px rgba(87,96,108,.08),0 9px 22px rgba(42,47,54,.10)}

/* Antique wind rose inspired by engraved historical maps. */
.page-weather .weather-compass-antique{position:relative;width:min(100%,286px);aspect-ratio:1;margin:auto;border:0;border-radius:50%;background:transparent;box-shadow:none;overflow:visible;isolation:isolate}
.page-weather .weather-compass-map{position:absolute;z-index:1;inset:0;width:100%;height:100%;display:block;object-fit:contain;clip-path:circle(46.6% at 50% 50%);background:transparent;filter:none;pointer-events:none;user-select:none}
.page-weather .weather-compass-antique .weather-compass-north-marker{position:absolute!important;z-index:8!important;top:-5px!important;left:50%!important;width:0!important;height:0!important;transform:translateX(-50%)!important;border-left:9px solid transparent!important;border-right:9px solid transparent!important;border-bottom:16px solid #c9322d!important;border-top:0!important;filter:drop-shadow(0 2px 2px rgba(59,13,11,.48))!important}
.page-weather .weather-compass-antique .weather-compass-arrow{position:absolute;z-index:5;inset:15%;transition:none;filter:drop-shadow(0 4px 4px rgba(0,0,0,.28))}
.page-weather .weather-compass-antique .weather-compass-needle{position:absolute!important;left:50%!important;display:block!important;transform:translateX(-50%)!important}
.page-weather .weather-compass-antique .weather-compass-needle-head{top:4%!important;width:0!important;height:0!important;border-left:9px solid transparent!important;border-right:9px solid transparent!important;border-bottom:72px solid #ae2723!important;border-top:0!important;background:none!important}
.page-weather .weather-compass-antique .weather-compass-needle-head:after{content:"";position:absolute;left:-4px;top:15px;width:8px;height:51px;background:linear-gradient(90deg,#6c1613,#c73b33 48%,#791a17);clip-path:polygon(50% 0,100% 100%,0 100%);opacity:.95}
.page-weather .weather-compass-antique .weather-compass-needle-tail{top:50%!important;width:0!important;height:0!important;border-left:7px solid transparent!important;border-right:7px solid transparent!important;border-top:57px solid #2f3540!important;border-bottom:0!important;background:none!important}
.page-weather .weather-compass-antique .weather-compass-needle-tail:after{content:"";position:absolute;left:-3px;top:-52px;width:6px;height:45px;background:linear-gradient(90deg,#191d24,#5b6674 50%,#1d222a);clip-path:polygon(0 0,100% 0,50% 100%)}
.page-weather .weather-compass-antique .weather-compass-center{position:absolute;z-index:7;left:50%;top:50%;width:34px;height:34px;display:grid;place-items:center;transform:translate(-50%,-50%);border:2px solid #5c4524;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f4d98b,#b18a3e 46%,#6a4b20 74%,#342514 100%);box-shadow:0 4px 9px rgba(0,0,0,.38),inset 0 1px 1px rgba(255,255,255,.46)}
.page-weather .weather-compass-antique .weather-compass-center span{width:9px;height:9px;border-radius:50%;background:#4a351c;box-shadow:inset 0 1px rgba(255,255,255,.18)}
html[data-theme="light"] .page-weather .weather-compass-map{filter:drop-shadow(0 10px 15px rgba(60,45,20,.24)) saturate(.92) contrast(1.02)}

@media(max-width:1050px){
  .page-weather .weather-hero-inner{gap:30px}
  .page-weather .weather-station-plaque{min-width:240px}
}
@media(max-width:860px){
  .page-weather .weather-hero-inner{display:block}
  .page-weather .weather-station-plaque{width:100%;min-width:0;margin-top:28px}
}
@media(max-width:760px){
  .page-weather .weather-card-graphic{width:38px;height:38px}
  .page-weather .weather-submetric-icon{width:40px;height:40px;flex-basis:40px}
  .page-weather .weather-metric-icon{width:62px;height:62px;flex-basis:62px}
  .page-weather .weather-metric-icon img{width:54px;height:54px}
  .page-weather .weather-compass-antique{max-width:260px}
}
.page-weather .weather-compass-antique .weather-compass-needle:before{content:none!important}
.page-weather .weather-compass-antique{overflow:hidden}
html[data-theme="light"] .page-weather .weather-compass-antique{background:transparent;border:0;box-shadow:none}

/* v8.5.55 — stabilized temperature direction, metric-card proportions,
   normal-weight secondary readings and theme-correct weather graphics. */
.page-weather .weather-theme-icon-light{display:none!important}
html[data-theme="light"] .page-weather .weather-theme-icon-dark{display:none!important}
html[data-theme="light"] .page-weather .weather-theme-icon-light{display:block!important}

/* Main temperature is the single strong numerical focal point. */
.page-weather .weather-temperature-reading strong{font-size:clamp(62px,6.1vw,88px);font-weight:400;letter-spacing:-.06em}
.page-weather .weather-temperature-reading>span{font-weight:600}

/* All other live numerical readings use normal weight. */
.page-weather .weather-temperature-subgrid b,
.page-weather .weather-wind-speed strong,
.page-weather .weather-wind-gust strong,
.page-weather .weather-metric-value,
.page-weather .weather-trend-head strong{font-weight:400}
.page-weather .weather-temperature-subgrid b span[data-weather-unit],
.page-weather .weather-wind-gust strong span[data-weather-unit],
.page-weather .weather-metric-value span[data-weather-unit]{font-weight:400}

/* Temperature tendency: 3-sample moving average; visual states are intentionally stable. */
.page-weather .weather-temperature-direction.is-rising{color:#b85d20;border-color:rgba(184,93,32,.34);background:rgba(184,93,32,.08)}
.page-weather .weather-temperature-direction.is-falling{color:#2e73a5;border-color:rgba(46,115,165,.34);background:rgba(46,115,165,.08)}
html[data-theme="light"] .page-weather .weather-temperature-direction.is-rising{color:#9e4812;background:#fff4ec;border-color:#e9b48f}
html[data-theme="light"] .page-weather .weather-temperature-direction.is-falling{color:#23658f;background:#edf7fd;border-color:#a9cee5}

/* Five compact metrics: caption always on top, one-line value next to a proportional icon. */
.page-weather .weather-metrics-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:16px}
.page-weather .weather-metric-card{display:block;min-height:142px;padding:14px 14px 15px}
.page-weather .weather-metric-label{display:block;width:100%;margin:0 0 13px;color:#707076;font-size:12px;font-weight:800;line-height:1.05;letter-spacing:.065em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.page-weather .weather-metric-body{display:flex;align-items:center;gap:9px;min-width:0}
.page-weather .weather-metric-icon{width:56px;height:56px;flex:0 0 56px;padding:2px;border-radius:15px}
.page-weather .weather-metric-graphic{width:50px;height:50px;display:block;object-fit:contain}
.page-weather .weather-metric-value{display:flex;flex:1 1 auto;min-width:0;align-items:baseline;gap:5px;margin:0;font-size:clamp(24px,1.9vw,29px);line-height:1;letter-spacing:-.035em;font-variant-numeric:tabular-nums;white-space:nowrap}
.page-weather .weather-metric-value span[data-weather-unit]{font-size:12px;line-height:1;color:#89898f;letter-spacing:0;white-space:nowrap}
.page-weather .weather-metric-card:first-child .weather-metric-value{font-size:clamp(23px,1.75vw,27px)}

/* Dark theme: the engraved wind rose is darker; the dynamic pointer is larger and clearer. */
.page-weather .weather-compass-map-dark{filter:brightness(.30) saturate(.70) contrast(1.20)}
.page-weather .weather-compass-antique .weather-compass-arrow{inset:12%;filter:drop-shadow(0 3px 2px rgba(0,0,0,.72)) drop-shadow(0 0 1px rgba(255,244,220,.68))}
.page-weather .weather-compass-antique .weather-compass-needle-head{top:1%!important;border-left-width:11px!important;border-right-width:11px!important;border-bottom-width:91px!important;border-bottom-color:#e14b32!important}
.page-weather .weather-compass-antique .weather-compass-needle-head:after{left:-5px;top:17px;width:10px;height:66px;background:linear-gradient(90deg,#8f2118,#ff6b49 48%,#9b261c)}
.page-weather .weather-compass-antique .weather-compass-needle-tail{border-left-width:8px!important;border-right-width:8px!important;border-top-width:69px!important;border-top-color:#59616d!important}
.page-weather .weather-compass-antique .weather-compass-needle-tail:after{left:-4px;top:-63px;width:8px;height:55px;background:linear-gradient(90deg,#282d34,#8994a1 50%,#303740)}
.page-weather .weather-compass-antique .weather-compass-center{width:38px;height:38px;border-color:#8d6b34;box-shadow:0 3px 7px rgba(0,0,0,.48),inset 0 1px 1px rgba(255,255,255,.48)}

/* Light theme: no icon drop shadows and a genuinely light wind rose. */
html[data-theme="light"] .page-weather .weather-card-graphic,
html[data-theme="light"] .page-weather .weather-submetric-icon,
html[data-theme="light"] .page-weather .weather-metric-graphic,
html[data-theme="light"] .page-weather .weather-trend-graphic{filter:none!important}
html[data-theme="light"] .page-weather .weather-metric-icon{box-shadow:none!important;background:#fff;border-color:#deded9}
html[data-theme="light"] .page-weather .weather-compass-map-light{filter:none!important;opacity:1}
html[data-theme="light"] .page-weather .weather-compass-antique .weather-compass-arrow{filter:drop-shadow(0 1px 1px rgba(70,55,42,.18))}
html[data-theme="light"] .page-weather .weather-compass-antique .weather-compass-center{background:radial-gradient(circle at 35% 30%,#fff6da,#d7b96d 55%,#9d7b39 100%);border-color:#b49a63;box-shadow:none}
html[data-theme="light"] .page-weather .weather-live-badge{background:#ecfff1;border-color:#8ac89a;color:#237342!important}
html[data-theme="light"] .page-weather .weather-update-state{color:#237342}
html[data-theme="light"] .page-weather .weather-update-state strong{color:#237342}
html[data-theme="light"] .page-weather .weather-live-dot{background:#3dbb63;box-shadow:0 0 0 4px rgba(61,187,99,.16)}

@media(max-width:1100px){
  .page-weather .weather-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .page-weather .weather-metric-value,.page-weather .weather-metric-card:first-child .weather-metric-value{font-size:29px}
}
@media(max-width:760px){
  .page-weather .weather-temperature-reading strong{font-size:58px}
  .page-weather .weather-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-weather .weather-metric-card{min-height:132px}
  .page-weather .weather-metric-icon{width:52px;height:52px;flex-basis:52px}
  .page-weather .weather-metric-graphic{width:46px;height:46px}
  .page-weather .weather-metric-value,.page-weather .weather-metric-card:first-child .weather-metric-value{font-size:27px}
}
@media(max-width:480px){
  .page-weather .weather-temperature-reading strong{font-size:54px}
  .page-weather .weather-metrics-grid{grid-template-columns:1fr}
  .page-weather .weather-metric-card{min-height:116px}
  .page-weather .weather-metric-value,.page-weather .weather-metric-card:first-child .weather-metric-value{font-size:28px}
}



/* v8.5.58 — compass needle motion is driven frame-by-frame in JS.
   CSS transitions are disabled to prevent the pointer from snapping between new readings. */
.page-weather .weather-compass-antique .weather-compass-arrow{
  transition:none!important;
  transform-origin:50% 50%;
  will-change:transform;
}


/* v8.5.59 — slightly darker circular wind-rose face in dark theme only. */


/* v8.5.60 — five lower metric tiles: slightly smaller graphics, precisely centered in their square holders. */
.page-weather .weather-metric-icon{
  display:grid;
  place-items:center;
  align-items:center;
  justify-items:center;
  padding:0;
  line-height:0;
}
.page-weather .weather-metric-icon .weather-metric-graphic,
.page-weather .weather-metric-icon img.weather-metric-graphic{
  width:46px;
  height:46px;
  max-width:46px;
  max-height:46px;
  margin:auto;
  object-fit:contain;
  object-position:center center;
  transform:none;
}
@media(max-width:760px){
  .page-weather .weather-metric-icon .weather-metric-graphic,
  .page-weather .weather-metric-icon img.weather-metric-graphic{
    width:42px;
    height:42px;
    max-width:42px;
    max-height:42px;
  }
}


/* v8.5.62 — darker dark-theme wind rose disc. */


/* v8.5.75 — unified weather-page width and mobile rhythm. */
.page-weather .weather-main-section>.shell{width:min(var(--max),calc(100% - 48px))}
@media(max-width:760px){
  /* Full-width Builder sections already contain a dedicated .shell in weather modules. */
  .page-weather .builder-width-full>.builder-grid{padding-left:0!important;padding-right:0!important}
  .page-weather .weather-hero-inner,
  .page-weather .weather-main-section>.shell{width:calc(100% - 32px)!important}
  .page-weather .weather-hero-inner{padding-top:34px;padding-bottom:32px}
  .page-weather .weather-hero h1{font-size:clamp(36px,10.8vw,48px);line-height:1.02;letter-spacing:-.045em}
  .page-weather .weather-hero-copy>p{font-size:14px;line-height:1.68}
  .page-weather .weather-hero-meta{gap:9px 12px;margin-top:18px;font-size:10px;line-height:1.45}
  .page-weather .weather-station-plaque{margin-top:20px;padding:14px 15px;border-radius:14px}
  .page-weather .weather-main-section{padding-top:18px;padding-bottom:48px}
  .page-weather .weather-update-strip{margin-bottom:12px;border-radius:12px}
  .page-weather .weather-overview{gap:12px}
  .page-weather .weather-card{border-radius:14px}
  .page-weather .weather-card-head{min-height:50px;height:auto;padding:10px 15px;font-size:11px;line-height:1.35}
  .page-weather .weather-temperature-main{padding:24px 17px 19px;gap:12px}
  .page-weather .weather-temperature-subgrid{margin:0 15px 15px;border-radius:11px}
  .page-weather .weather-wind-layout{padding:17px;gap:17px}
  .page-weather .weather-wind-readout{gap:10px}
  .page-weather .weather-metrics-grid{gap:10px;margin-top:12px}
  .page-weather .weather-metric-card{min-height:118px;padding:13px;border-radius:14px}
  .page-weather .weather-metric-label{font-size:10px;margin-bottom:10px;letter-spacing:.055em}
  .page-weather .weather-trends{margin-top:30px}
  .page-weather .weather-section-head h2{font-size:25px}
  .page-weather .weather-trend-range{max-width:100%;overflow-x:auto;scrollbar-width:none;white-space:nowrap}
  .page-weather .weather-trend-range::-webkit-scrollbar{display:none}
  .page-weather .weather-trend-card{border-radius:14px;padding:14px 14px 11px}
}
@media(max-width:430px){
  .page-weather .weather-hero-inner,
  .page-weather .weather-main-section>.shell{width:calc(100% - 28px)!important}
  .page-weather .weather-temperature-main{flex-direction:column;align-items:flex-start}
  .page-weather .weather-temperature-direction{align-self:flex-start}
  .page-weather .weather-wind-readout{grid-template-columns:1fr}
  .page-weather .weather-metrics-grid{grid-template-columns:1fr}
  .page-weather .weather-metric-card{min-height:96px}
}


/* v8.5.79 — mobile weather hero typography matches the rest of the site. */
@media(max-width:760px){
  .page-weather .weather-hero h1{
    font-size:clamp(38px,11vw,52px)!important;
    line-height:1.01!important;
    letter-spacing:-.045em!important;
    overflow-wrap:anywhere
  }
  .page-weather .weather-hero-copy>p{
    font-size:15.5px!important;
    line-height:1.65!important
  }
}
@media(max-width:480px){
  .page-weather .weather-hero h1{font-size:clamp(36px,11vw,45px)!important}
}
