/* A compact navigation makes room for the new Weather link. */
@media (min-width:1101px) { .site-header nav { gap:clamp(14px,1.7vw,26px); } }
@media (min-width:621px) and (max-width:1100px) {
  .site-header .nav-wrap { position:relative; }
  .site-header .menu-toggle { display:flex; width:48px; height:48px; flex-direction:column; align-items:center; justify-content:center; gap:6px; border:1px solid #8fd4eb80; border-radius:14px; background:#09263bd9; cursor:pointer; }
  .site-header .menu-toggle span:not(.sr-only):not(.touch-feedback) { display:block; width:20px; height:2px; background:#e8f8ff; border-radius:4px; }
  .site-header nav { display:none; position:absolute; top:82px; left:auto; right:0; width:min(23rem,calc(100vw - 56px)); padding:10px; border:1px solid #89cce96b; border-radius:16px; background:#071e30f7; box-shadow:0 20px 45px #0008; flex-direction:column; align-items:stretch; gap:0; }
  .site-header nav.open { display:flex; }
  .site-header nav a { display:block; padding:12px 14px; font-size:1rem; line-height:1.4; }
}

/* A doorway on the homepage; the report itself is a separate, growing space. */
.weather-home { padding:0 0 clamp(20px,3vw,40px); background:#f5f9fa; }
.weather-home-card { display:flex; justify-content:space-between; align-items:center; gap:2rem; padding:clamp(1.5rem,3vw,2.5rem); border:1px solid #b7d7df; border-radius:1rem; background:linear-gradient(110deg,#e2f1f3,#f7f5ea); color:#153b4d; }
.weather-home-heading { margin:0 0 .35rem; font-family:'Jody Display',system-ui,sans-serif; font-size:clamp(1.55rem,2vw,2rem); line-height:1.15; }
.weather-home-card p { margin:0; color:#3c5e6c; font-size:clamp(1rem,.97rem + .2vw,1.12rem); line-height:1.6; }
.weather-home-label { display:block; margin-bottom:.5rem; color:#28748a; font-size:.72rem; font-weight:800; letter-spacing:.12em; }
.weather-home-link { flex-shrink:0; display:inline-flex; justify-content:space-between; align-items:center; gap:1.5rem; min-height:3.2rem; padding:.8rem 1rem; border-radius:.7rem; background:#123e52; color:#fff; text-decoration:none; font-size:1rem; font-weight:700; }
.weather-home-link:hover { background:#176789; }

.weather-page { background:#f5f9fa; color:#173849; }
.weather-hero { position:relative; isolation:isolate; overflow:hidden; display:flex; align-items:center; min-height:clamp(34rem,72vh,48rem); background:#071827; color:#f7fbff; }
.weather-hero::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,#04101cf7 0%,#071827df 43%,#07182785 78%),linear-gradient(0deg,#071827,transparent 46%),url('/assets/galaxy-horizon.webp') center/cover no-repeat; }
.weather-hero-inner { position:relative; z-index:1; padding-top:10rem; padding-bottom:5.5rem; }
.weather-kicker { margin:0 0 1.2rem; color:#ffd596; font-size:.8rem; line-height:1.5; font-weight:800; letter-spacing:.12em; }
.weather-kicker span { font-size:1.1rem; margin-right:.4rem; }
.weather-hero h1 { max-width:12ch; margin:0; font-size:clamp(3.1rem,6.3vw,6.2rem); line-height:1.02; letter-spacing:-.045em; }
.weather-hero h1 em,.weather-feed h2 em { color:#a5e5f8; font-style:normal; font-weight:400; }
.weather-deck { max-width:39rem; margin:1.5rem 0 .65rem; color:#f3fcff; font-size:clamp(1.15rem,1.1rem + .55vw,1.55rem); line-height:1.5; font-weight:700; }
.weather-intro { max-width:39rem; color:#d0e3eb; font-size:clamp(1.0625rem,1rem + .25vw,1.25rem); line-height:1.75; }
.weather-button { display:inline-flex; align-items:center; justify-content:space-between; gap:2.25rem; min-height:3.3rem; margin-top:1rem; padding:.8rem 1rem .8rem 1.2rem; border:1px solid #c8f4ff; border-radius:.7rem; background:linear-gradient(110deg,#d8f7ff,#91dcf4); color:#0b3145; text-decoration:none; font-size:1rem; line-height:1.4; font-weight:800; transition:transform .2s,box-shadow .2s; }
.weather-button:hover { transform:translateY(-2px); box-shadow:0 .7rem 1.6rem #6dcbe745; }
.weather-orbit { position:absolute; right:10%; top:25%; display:grid; place-items:center; width:clamp(12rem,22vw,21rem); aspect-ratio:1; border:1px solid #c3eaff57; border-radius:50%; box-shadow:0 0 0 1.25rem #a7e6fc08,0 0 0 3rem #a7e6fc08; color:#ffd699; font-size:clamp(4rem,8vw,8rem); opacity:.75; pointer-events:none; }
.weather-feed { padding:clamp(4.5rem,8vw,8rem) 0; background:#f5fafb; }
.weather-feed-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:3rem; margin-bottom:2.5rem; }
.weather-kicker.dark { color:#26748d; }
.weather-feed h2 { margin:0; color:#13374a; font-size:clamp(2.3rem,4vw,4rem); line-height:1.07; letter-spacing:-.04em; }
.weather-feed h2 em { color:#287c98; }
.weather-feed-heading > p { max-width:27rem; margin:0; color:#496b79; font-size:1.08rem; line-height:1.7; }
.weather-entries { display:grid; gap:1rem; }
.weather-entry { display:grid; grid-template-columns:minmax(0,1fr) minmax(8rem,.28fr); align-items:center; gap:clamp(2rem,5vw,5rem); padding:clamp(1.6rem,4vw,3.25rem); border:1px solid #c8e0e7; border-radius:1.15rem; background:#fff; box-shadow:0 1rem 2rem #153b4d0a; }
.weather-entry-copy { max-width:48rem; min-width:0; }
.weather-meta { display:flex; flex-wrap:wrap; gap:.5rem 1.1rem; color:#33788f; font-size:.76rem; font-weight:800; line-height:1.5; letter-spacing:.1em; }
.weather-entry h3 { margin:1.1rem 0 .85rem; color:#14374a; font-size:clamp(1.8rem,2.8vw,2.7rem); line-height:1.13; letter-spacing:-.035em; }
.weather-entry p { margin:.8rem 0; color:#3e5f6d; font-size:clamp(1.05rem,1rem + .2vw,1.2rem); line-height:1.75; }
.weather-entry-link { display:inline-flex; align-items:center; gap:1.1rem; margin-top:.6rem; color:#11647f; font-size:1rem; font-weight:800; line-height:1.5; text-underline-offset:.25em; }
.weather-entry-art { display:block; width:min(100%,12rem); justify-self:end; }
.weather-entry-art img { display:block; width:100%; height:auto; border-radius:.45rem; box-shadow:0 .75rem 1.8rem #08233730; }
.weather-radar { color:#f1faff; background:radial-gradient(circle at 85% 30%,#204c65,#0a2233 50%,#081b2b); border-color:#46788c; }
.weather-radar .weather-meta { color:#b1dbe8; }.weather-radar h3 { color:#f5fbff; }.weather-radar p { color:#d4e6ec; }
.weather-radar-note { display:inline-block; margin-top:.8rem; color:#ffd596; font-size:.8rem; font-weight:800; letter-spacing:.1em; }
.weather-radar-note span { font-size:1.2rem; margin-right:.35rem; }
.weather-radar-art { position:relative; justify-self:center; display:grid; place-items:center; width:min(100%,12rem); aspect-ratio:1; border:1px solid #90d7ee77; border-radius:50%; color:#ffd28e; font-size:3rem; box-shadow:0 0 0 1rem #9fdff708; }
.weather-radar-art span:nth-child(2) { position:absolute; top:12%; right:8%; color:#b5eaff; font-size:1.8rem; }.weather-radar-art span:nth-child(3) { position:absolute; bottom:17%; left:12%; font-size:1rem; }
.weather-radar-art i { position:absolute; inset:20% -12%; border:1px solid #9adcf85c; border-radius:50%; transform:rotate(-35deg); }.weather-radar-art i:last-child { transform:rotate(35deg); }
.weather-signoff { margin:2rem 0 0; color:#53717d; font-size:1rem; line-height:1.6; }.weather-signoff span { color:#b77e31; }
.weather-door { padding:clamp(3.5rem,6vw,6rem) 0; color:#eefaff; background:#0b2a3c; }.weather-door-inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; }.weather-door h2 { margin:0; font-size:clamp(2rem,3vw,3rem); }.weather-door p:not(.weather-kicker) { max-width:40rem; color:#cce2e9; line-height:1.7; }.weather-door .weather-button { flex-shrink:0; }
.weather-page a:focus-visible,.weather-page button:focus-visible,.weather-home-link:focus-visible { outline:3px solid #f5ba5d; outline-offset:4px; }
@media(max-width:620px) {
  .weather-home-card,.weather-feed-heading,.weather-door-inner { flex-direction:column; align-items:stretch; gap:1.2rem; }
  .weather-home-link { width:100%; }
  .weather-hero { min-height:0; }.weather-hero::before { background:linear-gradient(90deg,#04101cf5,#071827d9),linear-gradient(0deg,#071827,transparent),url('/assets/architect-galaxy-mobile.webp') center/cover no-repeat; }
  .weather-hero-inner { padding-top:8.4rem; padding-bottom:4rem; }.weather-hero h1 { font-size:clamp(2.65rem,10vw,4rem); }.weather-orbit { display:none; }
  .weather-entry { grid-template-columns:1fr; gap:1.35rem; }.weather-entry-art { width:min(44%,10rem); justify-self:start; }.weather-radar-art { display:none; }
  .weather-feed-heading { margin-bottom:1.75rem; }.weather-door .weather-button { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .weather-button { transition:none; } }
