:root {
  --gw-bg: var(--pt-bg, #f5f0e6);
  --gw-paper: var(--pt-paper, #fffdf8);
  --gw-navy: var(--pt-navy, #172b4d);
  --gw-navy-soft: var(--pt-navy-soft, #314566);
  --gw-gold: var(--pt-gold, #b8912f);
  --gw-gold-soft: var(--pt-gold-soft, #d8bf7b);
  --gw-gold-text: var(--pt-gold-text, #765812);
  --gw-line: var(--pt-line, rgba(23, 43, 77, 0.17));
  --gw-muted: var(--pt-muted, #6f706c);
}

.gate-weather-page {
  --gw-bg: var(--pt-bg, #f5f0e6);
  --gw-paper: var(--pt-paper, #fffdf8);
  --gw-navy: var(--pt-navy, #172b4d);
  --gw-navy-soft: var(--pt-navy-soft, #314566);
  --gw-gold: var(--pt-gold, #b8912f);
  --gw-gold-soft: var(--pt-gold-soft, #d8bf7b);
  --gw-gold-text: var(--pt-gold-text, #765812);
  --gw-line: var(--pt-line, rgba(23, 43, 77, 0.17));
  --gw-muted: var(--pt-muted, #6f706c);
  margin: 0;
  color: var(--gw-navy);
  background:
    radial-gradient(circle at 10% 3%, rgba(184, 145, 47, 0.12), transparent 28rem),
    var(--gw-bg);
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  line-height: 1.75;
}

.gate-weather-page *,
.gate-weather-page *::before,
.gate-weather-page *::after { box-sizing: border-box; }

.gate-weather-page [hidden] { display: none !important; }

.gate-weather-header {
  width: min(1180px, calc(100% - 48px));
  min-height: 74px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--gw-line);
}

.gate-weather-brand {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  color: var(--gw-navy);
  font-family: Georgia, "Yu Mincho", serif;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-decoration: none;
}

.gate-weather-brand img { display: block; }

.gate-weather-header-link,
.gate-weather-button,
.gate-weather-period-link,
.gate-weather-related a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  text-decoration: none;
}

.gate-weather-header-link {
  padding: 0 18px;
  color: var(--gw-navy);
  border: 1px solid var(--gw-navy);
  border-radius: 999px;
  font-size: 0.82rem;
}

.gate-weather-main {
  width: min(1120px, calc(100% - 48px));
  margin: 0 auto;
  padding: 38px 0 92px;
}

.gate-weather-breadcrumb {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 36px;
  color: var(--gw-muted);
  font-size: 0.76rem;
}

.gate-weather-breadcrumb a { color: var(--gw-navy-soft); }

.gate-weather-eyebrow,
.gate-weather-kicker,
.gate-weather-card-label {
  margin: 0 0 10px;
  color: var(--gw-gold);
  font-family: Georgia, serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
}

.gate-weather-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
  gap: clamp(34px, 6vw, 84px);
  align-items: center;
  padding: 24px 0 70px;
}

.gate-weather-hero h1,
.gate-weather-period-summary h2,
.gate-weather-section-heading h2,
.gate-weather-cta h2,
.gate-weather-not-found h1 {
  margin: 0;
  font-family: Georgia, "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.3;
}

.gate-weather-hero h1 { font-size: clamp(2.7rem, 6vw, 5rem); }

.gate-weather-hero-lead {
  max-width: 640px;
  margin: 22px 0 0;
  color: var(--gw-navy-soft);
  font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: clamp(1.15rem, 2.2vw, 1.55rem);
  line-height: 1.8;
}

.gate-weather-sky-facts {
  display: flex;
  gap: 12px;
  margin: 34px 0 0;
}

.gate-weather-sky-facts div {
  min-width: 126px;
  padding: 13px 17px;
  background: rgba(255, 253, 248, 0.72);
  border: 1px solid var(--gw-line);
}

.gate-weather-sky-facts dt { color: var(--gw-muted); font-size: 0.74rem; }
.gate-weather-sky-facts dd {
  margin: 3px 0 0;
  color: var(--gw-navy);
  font-family: Georgia, serif;
  font-size: 1.35rem;
}

.gate-weather-period {
  display: flex;
  gap: 13px;
  align-items: baseline;
  margin: 22px 0 0;
  color: var(--gw-muted);
  font-size: 0.84rem;
}

.gate-weather-period strong { color: var(--gw-gold-text); }

.gate-weather-hero-figure { margin: 0; }

.gate-weather-hero-figure img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border: 1px solid rgba(23, 43, 77, 0.14);
  box-shadow: 0 18px 48px rgba(23, 43, 77, 0.1);
}

.gate-weather-hero-figure figcaption {
  margin-top: 10px;
  color: var(--gw-muted);
  font-size: 0.72rem;
  text-align: right;
}

.gate-weather-period-summary {
  max-width: 820px;
  margin: 0 auto 48px;
  padding: 34px 40px;
  background: var(--gw-paper);
  border-left: 4px solid var(--gw-gold);
  box-shadow: 0 14px 38px rgba(23, 43, 77, 0.05);
}

.gate-weather-period-summary h2,
.gate-weather-section-heading h2 { font-size: clamp(1.55rem, 3vw, 2.2rem); }

.gate-weather-period-summary > p:not(.gate-weather-kicker):not(.gate-weather-period-question) {
  margin: 18px 0 0;
  color: var(--gw-navy-soft);
  line-height: 2;
}

.gate-weather-period-question,
.gate-weather-daily-question,
.gate-weather-card-question {
  color: var(--gw-gold-text);
  line-height: 1.8;
}

.gate-weather-period-question {
  display: flex;
  gap: 12px;
  margin: 22px 0 0;
}

.gate-weather-period-question span,
.gate-weather-daily-question span,
.gate-weather-card-question span { color: var(--gw-navy); }

.gate-weather-mode-fieldset {
  max-width: 620px;
  margin: 0 auto 56px;
  padding: 18px;
  border: 1px solid var(--gw-line);
  background: rgba(255, 253, 248, 0.48);
}

.gate-weather-mode-fieldset legend {
  padding: 0 8px;
  color: var(--gw-navy);
  font-size: 0.78rem;
  font-weight: 700;
}

.gate-weather-segmented {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.gate-weather-segmented label {
  min-height: 44px;
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  padding: 7px 12px;
  color: var(--gw-navy-soft);
  background: var(--gw-paper);
  border: 1px solid var(--gw-line);
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 700;
}

.gate-weather-segmented label.is-selected {
  color: var(--gw-navy);
  border-color: var(--gw-gold);
  box-shadow: inset 0 -3px 0 var(--gw-gold);
}

.gate-weather-segmented input {
  width: 20px;
  height: 20px;
  margin: 0;
  accent-color: var(--gw-gold-text);
}

.gate-weather-mode-note {
  margin: 12px 0 0;
  color: var(--gw-muted);
  font-size: 0.73rem;
  line-height: 1.7;
}

.gate-weather-section-heading {
  max-width: 720px;
  margin-bottom: 24px;
}

.gate-weather-section-heading > p:last-child {
  margin: 12px 0 0;
  color: var(--gw-muted);
  font-size: 0.84rem;
}

.gate-weather-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.gate-weather-card {
  min-width: 0;
  padding: 28px;
  background: var(--gw-paper);
  border: 1px solid var(--gw-line);
  box-shadow: 0 12px 36px rgba(23, 43, 77, 0.045);
}

.gate-weather-card.is-current {
  border-color: rgba(184, 145, 47, 0.78);
  box-shadow: inset 0 4px 0 var(--gw-gold), 0 12px 36px rgba(23, 43, 77, 0.06);
}

.gate-weather-card-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 12px;
  align-items: start;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--gw-line);
}

.gate-weather-card-label { margin-bottom: 4px; font-size: 0.65rem; }
.gate-weather-card h3 {
  margin: 0;
  color: var(--gw-navy);
  font-family: Georgia, serif;
  font-size: 1.2rem;
  font-weight: 500;
}

.gate-weather-card-header time {
  grid-column: 1 / -1;
  color: var(--gw-muted);
  font-size: 0.76rem;
  line-height: 1.5;
}

.gate-weather-current-badge {
  padding: 4px 9px;
  color: var(--gw-gold-text);
  border: 1px solid rgba(184, 145, 47, 0.5);
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  white-space: nowrap;
}

.gate-weather-mode-panel h4 {
  margin: 20px 0 8px;
  color: var(--gw-navy);
  font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 1.16rem;
  font-weight: 500;
  line-height: 1.65;
}

.gate-weather-mode-panel > p {
  margin: 0;
  color: var(--gw-navy-soft);
  font-size: 0.88rem;
  line-height: 1.95;
}

.gate-weather-card-action,
.gate-weather-card-question {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 8px;
  margin-top: 17px !important;
  font-size: 0.8rem !important;
}

.gate-weather-card-action strong,
.gate-weather-card-question strong { color: var(--gw-gold-text); }

.gate-weather-evidence {
  margin-top: 22px;
  border-top: 1px solid var(--gw-line);
}

.gate-weather-evidence summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  color: var(--gw-navy-soft);
  cursor: pointer;
  font-size: 0.8rem;
  font-weight: 700;
}

.gate-weather-evidence-body {
  padding: 6px 0 2px;
  color: var(--gw-muted);
  font-size: 0.75rem;
}

.gate-weather-evidence-body > p {
  display: flex;
  gap: 9px;
  margin: 0 0 16px;
}

.gate-weather-evidence-body time { color: var(--gw-navy-soft); font-variant-numeric: tabular-nums; }
.gate-weather-evidence-block { margin-top: 16px; }
.gate-weather-evidence-block h5 {
  margin: 0 0 8px;
  color: var(--gw-gold-text);
  font-size: 0.75rem;
  font-weight: 700;
}

.gate-weather-positions,
.gate-weather-channel-list,
.gate-weather-aspect-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.gate-weather-positions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 14px;
}

.gate-weather-positions li {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  border-bottom: 1px dotted rgba(23, 43, 77, 0.14);
}

.gate-weather-positions strong { color: var(--gw-navy); font-family: Georgia, serif; font-weight: 500; }
.gate-weather-channel-list li,
.gate-weather-aspect-list li { line-height: 1.7; }
.gate-weather-channel-list li::before { content: "— "; color: var(--gw-gold); }
.gate-weather-aspect-list li { color: var(--gw-navy-soft); }

.gate-weather-related {
  margin: 52px 0 0;
  padding: 24px 0;
  border-top: 1px solid var(--gw-line);
  border-bottom: 1px solid var(--gw-line);
}

.gate-weather-related .gate-weather-kicker { margin-bottom: 8px; }
.gate-weather-related a { justify-content: flex-start; color: var(--gw-gold-text); }

.gate-weather-cta,
.gate-weather-daily {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
  gap: 30px;
  align-items: center;
  margin-top: 52px;
  padding: 38px 42px;
  background: var(--gw-navy);
  border-radius: 18px;
}

.gate-weather-cta { color: #fff; }
.gate-weather-cta .gate-weather-kicker { color: var(--gw-gold-soft); }
.gate-weather-cta h2 { font-size: clamp(1.45rem, 3vw, 2rem); }
.gate-weather-cta > div:first-child > p:not(.gate-weather-kicker) { color: rgba(255, 255, 255, 0.78); font-size: 0.87rem; line-height: 1.85; }
.gate-weather-paid-note { margin-bottom: 0; font-size: 0.75rem !important; }
.gate-weather-cta-actions { display: flex; flex-direction: column; gap: 10px; }

.gate-weather-button {
  padding: 0 20px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 0.82rem;
  text-align: center;
}

.gate-weather-button-primary { color: var(--gw-navy); background: var(--gw-gold-soft); }
.gate-weather-button-secondary { color: #fff; border-color: rgba(255, 255, 255, 0.52); }

.gate-weather-daily {
  margin: 0 0 28px;
  padding: 32px 36px;
  color: #fff;
  background: var(--gw-navy);
}

.gate-weather-daily .gate-weather-eyebrow { color: var(--gw-gold-soft); }
.gate-weather-daily-line { margin: 0 0 8px; color: var(--gw-gold-soft); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; }
.gate-weather-daily h2 { margin: 0; font-family: Georgia, "Yu Mincho", serif; font-size: clamp(1.35rem, 3vw, 1.95rem); font-weight: 500; line-height: 1.55; }
.gate-weather-daily-period { margin: 9px 0 0; color: rgba(255, 255, 255, 0.65); font-size: 0.75rem; }
.gate-weather-daily-body { margin: 20px 0 0; color: rgba(255, 255, 255, 0.88); font-size: 0.87rem; line-height: 1.9; }
.gate-weather-daily-action,
.gate-weather-daily-question { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 9px; font-size: 0.8rem; }
.gate-weather-daily-action { margin: 19px 0 0; color: var(--gw-gold-soft); }
.gate-weather-daily-question { margin: 8px 0 0; color: var(--gw-gold-soft); }
.gate-weather-daily-action span,
.gate-weather-daily-question span { color: #fff; }
.gate-weather-daily-side { align-self: stretch; display: flex; flex-direction: column; justify-content: center; }
.gate-weather-daily .gate-weather-mode-fieldset { width: 100%; margin: 0; border-color: rgba(255, 255, 255, 0.28); background: transparent; }
.gate-weather-daily .gate-weather-mode-fieldset legend { color: #fff; }
.gate-weather-daily .gate-weather-segmented label { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.3); color: rgba(255, 255, 255, 0.82); }
.gate-weather-daily .gate-weather-segmented label.is-selected { color: #fff; border-color: var(--gw-gold-soft); box-shadow: inset 0 -3px 0 var(--gw-gold-soft); }
.gate-weather-daily .gate-weather-mode-note { color: rgba(255, 255, 255, 0.64); }
.gate-weather-period-link { margin-top: 14px; padding: 0 14px; color: var(--gw-navy); background: var(--gw-gold-soft); border-radius: 999px; font-size: 0.78rem; text-align: center; }
.gate-weather-calendar-link { min-height: 38px; margin-top: 8px; color: rgba(255, 255, 255, 0.82); font-size: 0.75rem; text-align: center; text-decoration: underline; text-underline-offset: 4px; }

.gate-weather-view-links { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 18px 0 54px; padding: 14px 16px; border-top: 1px solid rgba(184, 145, 47, 0.28); border-bottom: 1px solid rgba(184, 145, 47, 0.28); color: var(--gw-muted); font-size: 0.8rem; }
.gate-weather-view-links a { color: var(--gw-gold-text); font-weight: 700; text-decoration: none; }

.gate-calendar-hero { max-width: 760px; padding: 50px 0 40px; }
.gate-calendar-hero h1, .gate-calendar-entry h2, .gate-calendar-empty h2 { margin: 0; color: var(--gw-navy); font-family: Georgia, "Yu Mincho", serif; font-weight: 500; line-height: 1.22; }
.gate-calendar-hero h1 { font-size: clamp(2.35rem, 5.3vw, 4.4rem); }
.gate-calendar-hero > p:not(.gate-weather-eyebrow) { max-width: 620px; margin: 20px 0 0; color: var(--gw-navy-soft); line-height: 1.9; }
.gate-calendar-hero .gate-calendar-boundary { color: var(--gw-muted); font-size: 0.84rem; }
.gate-calendar-period-link { display: inline-flex; min-height: 44px; align-items: center; margin-top: 24px; padding: 0 18px; border: 1px solid rgba(184, 145, 47, 0.58); color: var(--gw-gold-text); font-size: 0.82rem; font-weight: 700; text-decoration: none; }
.gate-calendar-track { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; padding: 18px; border: 1px solid rgba(26, 43, 76, 0.12); background: rgba(255, 255, 255, 0.42); }
.gate-calendar-day { display: flex; min-height: 144px; flex-direction: column; justify-content: space-between; gap: 10px; padding: 15px 13px; border: 1px solid rgba(26, 43, 76, 0.14); background: rgba(255, 255, 255, 0.72); color: var(--gw-navy); text-decoration: none; }
.gate-calendar-day-number { color: var(--gw-muted); font-size: 0.72rem; font-variant-numeric: tabular-nums; }
.gate-calendar-day strong { font-family: Georgia, "Yu Mincho", serif; font-size: 1.05rem; font-weight: 500; }
.gate-calendar-day small { color: var(--gw-gold-text); font-size: 0.68rem; line-height: 1.45; }
.gate-calendar-day.is-past:hover, .gate-calendar-day.is-current:hover { border-color: var(--gw-gold); transform: translateY(-2px); }
.gate-calendar-day.is-current { border-color: var(--gw-gold); background: var(--gw-navy); color: #fff; box-shadow: 0 12px 24px rgba(26, 43, 76, 0.15); }
.gate-calendar-day.is-current .gate-calendar-day-number { color: rgba(255, 255, 255, 0.65); }
.gate-calendar-day.is-current small { color: var(--gw-gold-soft); }
.gate-calendar-day.is-selected { box-shadow: inset 0 -4px 0 var(--gw-gold); }
.gate-calendar-day.is-future { border-style: dashed; background: rgba(245, 240, 230, 0.58); color: rgba(26, 43, 76, 0.5); }
.gate-calendar-day.is-future small { color: rgba(26, 43, 76, 0.52); }
.gate-calendar-entry, .gate-calendar-empty { margin-top: 38px; padding: clamp(25px, 4vw, 48px); background: var(--gw-navy); color: #fff; }
.gate-calendar-entry-heading { margin-bottom: 26px; }
.gate-calendar-entry .gate-weather-kicker { color: var(--gw-gold-soft); }
.gate-calendar-entry h2 { color: #fff; font-size: clamp(2rem, 4vw, 3.4rem); }
.gate-calendar-entry-heading > p:last-child { margin: 9px 0 0; color: rgba(255, 255, 255, 0.64); font-size: 0.8rem; }
.gate-calendar-entry .gate-weather-mode-fieldset { margin: 0 0 25px; border-color: rgba(255, 255, 255, 0.26); background: rgba(255, 255, 255, 0.04); }
.gate-calendar-entry .gate-weather-mode-fieldset legend, .gate-calendar-entry .gate-weather-mode-note { color: rgba(255, 255, 255, 0.76); }
.gate-calendar-entry .gate-weather-segmented label { background: rgba(255, 255, 255, 0.07); border-color: rgba(255, 255, 255, 0.28); color: rgba(255, 255, 255, 0.82); }
.gate-calendar-entry .gate-weather-segmented label.is-selected { border-color: var(--gw-gold-soft); color: #fff; box-shadow: inset 0 -3px 0 var(--gw-gold-soft); }
.gate-calendar-entry-copy h3 { margin: 0; font-family: Georgia, "Yu Mincho", serif; font-size: clamp(1.45rem, 3vw, 2.15rem); font-weight: 500; line-height: 1.5; }
.gate-calendar-entry-copy > p:not(.gate-weather-card-action):not(.gate-weather-card-question) { margin: 22px 0 0; color: rgba(255, 255, 255, 0.88); line-height: 1.95; }
.gate-calendar-entry .gate-weather-card-action, .gate-calendar-entry .gate-weather-card-question { margin-left: 0; color: var(--gw-gold-soft); }
.gate-calendar-entry .gate-weather-card-action span, .gate-calendar-entry .gate-weather-card-question span { color: #fff; }
.gate-calendar-entry .gate-weather-evidence { border-top-color: rgba(255, 255, 255, 0.24); }
.gate-calendar-entry .gate-weather-evidence summary, .gate-calendar-entry .gate-weather-evidence-body, .gate-calendar-entry .gate-weather-evidence-body time, .gate-calendar-entry .gate-weather-channel-list li, .gate-calendar-entry .gate-weather-aspect-list li { color: rgba(255, 255, 255, 0.78); }
.gate-calendar-entry .gate-weather-positions strong { color: #fff; }
.gate-calendar-empty { background: rgba(26, 43, 76, 0.08); color: var(--gw-navy); }
.gate-calendar-empty h2 { font-size: clamp(1.6rem, 3vw, 2.35rem); }
.gate-calendar-empty > p:last-child { color: var(--gw-navy-soft); line-height: 1.8; }

.gate-weather-page a:focus-visible,
.gate-weather-page button:focus-visible,
.gate-weather-page input:focus-visible,
.gate-weather-page summary:focus-visible,
.gate-weather-daily a:focus-visible,
.gate-weather-daily button:focus-visible,
.gate-weather-daily input:focus-visible,
.gate-weather-daily summary:focus-visible {
  outline: 3px solid rgba(184, 145, 47, 0.72);
  outline-offset: 3px;
}

.gate-weather-not-found { max-width: 760px; min-height: 52vh; text-align: center; }
.gate-weather-not-found h1 { font-size: clamp(1.8rem, 4vw, 3rem); }
.gate-weather-not-found p { color: var(--gw-muted); }
.gate-weather-not-found .gate-weather-button { margin-top: 18px; }

@media (hover: hover) {
  .gate-weather-header-link:hover,
  .gate-weather-button:hover,
  .gate-weather-period-link:hover,
  .gate-weather-related a:hover { transform: translateY(-1px); }
}

@media (max-width: 780px) {
  .gate-weather-header,
  .gate-weather-main { width: min(100% - 30px, 680px); }
  .gate-weather-main { padding-top: 28px; }
  .gate-weather-hero { display: block; padding: 12px 0 46px; }
  .gate-weather-hero-figure { margin-top: 34px; }
  .gate-weather-cards { grid-template-columns: 1fr; }
  .gate-weather-cta,
  .gate-weather-daily { display: block; }
  .gate-weather-cta-actions,
  .gate-weather-daily-side { margin-top: 24px; }
  .gate-calendar-track { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
  .gate-weather-header { min-height: 64px; }
  .gate-weather-brand span { display: none; }
  .gate-weather-header-link { padding: 0 14px; font-size: 0.75rem; }
  .gate-weather-main { padding-bottom: 70px; }
  .gate-weather-breadcrumb { margin-bottom: 22px; }
  .gate-weather-sky-facts { margin-top: 24px; }
  .gate-weather-sky-facts div { min-width: 0; flex: 1 1 0; }
  .gate-weather-period { display: block; line-height: 1.8; }
  .gate-weather-period span { display: block; }
  .gate-weather-period-summary { padding: 28px 24px; }
  .gate-weather-period-question { display: block; }
  .gate-weather-period-question span { display: block; margin-top: 5px; }
  .gate-weather-mode-fieldset { margin-bottom: 40px; padding: 14px; }
  .gate-weather-segmented { grid-template-columns: 1fr; }
  .gate-weather-view-links { display: block; margin-bottom: 38px; line-height: 1.7; }
  .gate-weather-view-links a { display: block; margin-top: 5px; }
  .gate-weather-card { padding: 24px 20px; }
  .gate-weather-positions { grid-template-columns: 1fr; }
  .gate-weather-cta,
  .gate-weather-daily { padding: 30px 22px; border-radius: 16px; }
  .gate-weather-daily-action,
  .gate-weather-daily-question,
  .gate-weather-card-action,
  .gate-weather-card-question { grid-template-columns: 1fr; gap: 3px; }
  .gate-calendar-hero { padding: 22px 0 30px; }
  .gate-calendar-track { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 10px; }
  .gate-calendar-day { min-height: 126px; padding: 13px 11px; }
  .gate-calendar-entry, .gate-calendar-empty { margin-top: 24px; padding: 27px 20px; }
}

@media print {
  .gate-weather-header,
  .gate-weather-mode-fieldset,
  .gate-weather-related,
  .gate-weather-cta,
  .gate-weather-daily-side,
  .gate-calendar-track { display: none !important; }
  .gate-weather-page { background: #fff; }
  .gate-weather-main { width: 100%; padding: 0; }
  .gate-weather-hero { padding-top: 0; }
  .gate-weather-cards { gap: 10px; }
  .gate-weather-card { box-shadow: none; break-inside: avoid; }
  .gate-weather-mode-panel[hidden] { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .gate-weather-page *,
  .gate-weather-daily * { scroll-behavior: auto !important; transition: none !important; }
}
