/* MTV36 Services v0.2.0 — deliberately inherits Patisson typography and colors. */
.mtvs {
  --mtvs-red: var(--accent, #d51c27);
  --mtvs-ink: var(--text, #141619);
  --mtvs-gray: var(--muted, #6b7179);
  --mtvs-bg: var(--surface, #f5f6f7);
  --mtvs-stroke: var(--border, #e2e5e9);
  color: var(--mtvs-ink);
  width: 100%;
  max-width: 100%;
  margin: 0 auto 32px;
  font-size: 1rem;
}
.mtvs *, .mtvs *::before, .mtvs *::after { box-sizing: border-box; }
.mtvs-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin: 0 0 18px; }
.mtvs-eyebrow { color: var(--mtvs-red); font-weight:800; font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; }
.mtvs-updated, .mtvs-source { color:var(--mtvs-gray); font-size:.82rem; }
.mtvs-updated { margin:0; text-align:right; }
.mtvs-today, .mtvs-observation { background:var(--mtvs-bg); padding:clamp(20px,4vw,32px); border-radius:16px; margin-bottom:26px; }
.mtvs-today { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.mtvs-observation { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.mtvs-observation > p { max-width:260px; margin:0; color:var(--mtvs-gray); font-size:.9rem; line-height:1.5; }
.mtvs-label { font-size:.84rem; font-weight:650; color:var(--mtvs-gray); }
.mtvs-hero-value { font-size:clamp(3.4rem,9vw,5.6rem); letter-spacing:-.065em; font-weight:850; line-height:1.04; margin:6px 0 8px; }
.mtvs-desc { font-size:1.02rem; font-weight:650; margin:4px 0 0; }
.mtvs-details { display:grid; grid-template-columns: repeat(2, minmax(100px, 1fr)); gap:22px 28px; margin:0; }
.mtvs-details > div { border-left:2px solid var(--mtvs-stroke); padding-left:14px; }
.mtvs-details dt { color:var(--mtvs-gray); font-size:.8rem; margin-bottom:3px; }
.mtvs-details dd { margin:0; font-size:1.03rem; font-weight:800; }
.mtvs-subtitle { font-size:clamp(1.25rem,2.6vw,1.65rem); font-weight:850; letter-spacing:-.035em; margin:0 0 18px !important; }
.mtvs-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); gap:12px; }
.mtvs-tile { border:1px solid var(--mtvs-stroke); border-radius:14px; padding:17px 16px; min-width:0; }
.mtvs-tile h3 { font-size:.96rem; font-weight:800; line-height:1.25; margin:0 0 15px !important; letter-spacing:0; }
.mtvs-temperatures { font-size:1.22rem; font-weight:850; letter-spacing:-.04em; margin:0 0 9px !important; white-space:normal; }
.mtvs-temperatures span { font-size:.85rem; color:var(--mtvs-gray); font-weight:600; }
.mtvs-condition { font-weight:650; font-size:.9rem; line-height:1.3; margin:0 0 12px !important; }
.mtvs-meta { font-size:.77rem; color:var(--mtvs-gray); margin:6px 0 0 !important; line-height:1.35; }
.mtvs-source { padding-top:18px; border-top:1px solid var(--mtvs-stroke); margin:22px 0 0 !important; line-height:1.6; }
.mtvs-source a { color:var(--mtvs-ink); text-decoration:underline; text-decoration-color:var(--mtvs-red); text-underline-offset:3px; }
.mtvs-source a:hover, .mtvs-source a:focus-visible { color:var(--mtvs-red); }
.mtvs-empty { border:1px solid var(--border,#e2e5e9); border-radius:12px; padding:22px; color:var(--muted,#6b7179); background:var(--surface,#f5f6f7); font-size:.95rem; }
.mtvs-hub { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; }
.mtvs-hub-card { border:1px solid var(--mtvs-stroke); border-radius:14px; padding:20px; text-decoration:none !important; display:flex; flex-direction:column; gap:7px; color:var(--mtvs-ink) !important; min-height:160px; }
.mtvs-hub-card strong { font-size:1.16rem; }
.mtvs-hub-card span { font-size:.9rem; color:var(--mtvs-gray); }
.mtvs-hub-card span:last-child { color:var(--mtvs-red); font-weight:800; margin-top:auto; }
.mtvs-hub-card:hover, .mtvs-hub-card:focus-visible { border-color:var(--mtvs-red); }
@media (max-width:640px) {
  .mtvs-head { display:block; }
  .mtvs-updated { text-align:left; margin-top:7px; }
  .mtvs-today, .mtvs-observation { display:block; }
  .mtvs-details { margin-top:22px; }
  .mtvs-observation > p { max-width:none; margin-top:14px; }
  .mtvs-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mtvs-tile { padding:13px 12px; }
}
@media (max-width:390px) {
  .mtvs-grid { grid-template-columns:1fr; }
}

/* Patisson .p-article-content uses generic p/h2/h3 rules with higher
   specificity. These scoped styles only target MTV36 Services cards. */
.p-article-content .mtvs .mtvs-subtitle { font-size:clamp(1.25rem,2.6vw,1.65rem); line-height:1.2; margin:0 0 18px !important; }
.p-article-content .mtvs .mtvs-updated { font-size:.82rem; margin:0; }
.p-article-content .mtvs .mtvs-source { font-size:.82rem; margin:22px 0 0 !important; }
.p-article-content .mtvs .mtvs-observation > p { font-size:.9rem; margin:0; }
.p-article-content .mtvs .mtvs-desc { font-size:1.02rem; margin:4px 0 0; }
.p-article-content .mtvs .mtvs-tile h3 { font-size:.96rem; line-height:1.25; margin:0 0 15px !important; }
.p-article-content .mtvs .mtvs-temperatures { font-size:1.22rem; margin:0 0 9px !important; }
.p-article-content .mtvs .mtvs-condition { font-size:.9rem; margin:0 0 12px !important; }
.p-article-content .mtvs .mtvs-meta { font-size:.77rem; margin:6px 0 0 !important; }
@media(max-width:640px){
  .p-article-content .mtvs .mtvs-updated { margin-top:7px; }
  .p-article-content .mtvs .mtvs-observation > p { margin-top:14px; }
}

/* MET Norway weather: readable hourly data without horizontal scroll. */
.mtvs-hourly-title { margin-top: 28px !important; }
.mtvs-hour-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:0 0 12px; }
.mtvs-hour { display:flex; flex-direction:column; gap:6px; background:var(--mtvs-bg); border:1px solid var(--mtvs-stroke); border-radius:12px; padding:14px 12px; min-width:0; }
.mtvs-hour strong { font-size:.86rem; font-weight:750; }
.mtvs-hour > span { font-size:1.4rem; font-weight:850; letter-spacing:-.04em; }
.mtvs-hour small { font-size:.77rem; line-height:1.35; color:var(--mtvs-gray); }
.p-article-content .mtvs .mtvs-hour small { font-size:.77rem; line-height:1.35; }
@media(max-width:640px){.mtvs-hour-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:340px){.mtvs-hour-grid {grid-template-columns:1fr;}}

/* Weather redesign 0.2.1: self-contained layout; NOAA cards unchanged. */
.mtvs-weather.mtvs-wx {
  --wx-navy: #173249;
  --wx-blue: #247ca6;
  --wx-sky: #e9f4fb;
  --wx-soft: #f5f8fa;
  --wx-line: #e4ebf0;
  --wx-muted: #617583;
  --wx-yellow: #eeb94d;
  max-width: 1100px;
  color: #162a38;
  line-height: 1.45;
  font-variant-numeric: tabular-nums;
}
.mtvs-weather .mtvs-wx-topline {display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 16px; margin: 0 0 15px;}
.mtvs-weather .mtvs-wx-place {display:flex; align-items:center; flex-wrap:wrap; gap:8px; font-size:.83rem; color:var(--wx-muted);}
.mtvs-weather .mtvs-wx-place strong {font-size:.97rem; font-weight:800; color:var(--wx-navy);}
.mtvs-weather .mtvs-wx-pin {width:8px; height:8px; background:var(--mtvs-red); border-radius:50%;}
.mtvs-weather .mtvs-wx-place-divider {width:1px; height:15px; margin:0 3px; background:#c6d4dd;}
.mtvs-weather .mtvs-wx-update {font-size:.74rem; color:var(--wx-muted); margin:0 !important; line-height:1.35;}
.mtvs-weather .mtvs-wx-hero {position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:26px; overflow:hidden; border-radius:24px; padding:clamp(22px,4.4vw,42px); background:linear-gradient(112deg,#e5f2fb 0%,#f2f8fc 54%,#dcebf5 100%); border:1px solid #deebf3;}
.mtvs-weather .mtvs-wx-hero::after {content:""; position:absolute; z-index:-1; width:320px; height:320px; border-radius:50%; right:-150px; top:-215px; border:45px solid rgb(255 255 255 / .36);}
.mtvs-weather .mtvs-wx-hero-main {min-width:0;}
.mtvs-weather .mtvs-wx-kicker {font-size:.79rem; color:var(--wx-navy); font-weight:800; letter-spacing:.01em; margin:0 0 8px !important;}
.mtvs-weather .mtvs-wx-reading {display:flex; align-items:center; gap:clamp(6px,2.5vw,25px);}
.mtvs-weather .mtvs-wx-main-temp {font-size:clamp(4.1rem, 11vw, 6.4rem); font-weight:850; letter-spacing:-.085em; line-height:1.08; color:#102e44; white-space:nowrap;}
.mtvs-weather .mtvs-wx-reading-icon {display:block; margin-left:auto; margin-right:auto; flex-shrink:0;}
.mtvs-weather .mtvs-wx-hero-condition {margin:4px 0 4px !important; font-size:clamp(1.1rem,2vw,1.35rem); font-weight:780; color:var(--wx-navy);}
.mtvs-weather .mtvs-wx-hero-hint {font-size:.76rem; color:var(--wx-muted); margin:5px 0 0 !important; max-width:24rem;}
.mtvs-weather .mtvs-wx-stats {display:flex; flex-direction:column; justify-content:end; gap:10px; margin:0; min-width:176px;}
.mtvs-weather .mtvs-wx-stat {padding:14px 16px; border:1px solid rgb(255 255 255 / .82); border-radius:16px; background:rgb(255 255 255 / .6); backdrop-filter:blur(5px);}
.mtvs-weather .mtvs-wx-stat dt {font-size:.76rem; font-weight:700; color:var(--wx-muted); margin:0 0 5px;}
.mtvs-weather .mtvs-wx-stat dd {font-size:1.3rem; font-weight:850; margin:0; letter-spacing:-.03em; line-height:1.2; color:var(--wx-navy);}
.mtvs-weather .mtvs-wx-stat dd small {font-size:.7rem; font-weight:650; letter-spacing:0; color:var(--wx-muted);}
.mtvs-weather .mtvs-wx-icon {display:block; width:42px; height:42px; stroke-width:3; flex:none; color:#5c8299;}
.mtvs-weather .mtvs-wx-icon--large {width:clamp(92px,12vw,138px); height:clamp(92px,12vw,138px); stroke-width:2.8;}
.mtvs-weather .mtvs-wx-cloud-shape {fill:#e6f2f7; stroke:#7699af;}
.mtvs-weather .mtvs-wx-sun-shape {fill:#ffe39b; stroke:#e6a92c;}
.mtvs-weather .mtvs-wx-sun-rays {stroke:#e6a92c;}
.mtvs-weather .mtvs-wx-moon-shape {fill:#f6d784; stroke:#c49325;}
.mtvs-weather .mtvs-wx-rain-shape {stroke:#267eb2; stroke-width:3.4;}
.mtvs-weather .mtvs-wx-snow-shape {stroke:#5d9cc5; stroke-width:2.5;}
.mtvs-weather .mtvs-wx-storm-shape {fill:#ffdd84; stroke:#d49c18;}
.mtvs-weather .mtvs-wx-fog-shape {stroke:#7b9bab; stroke-width:3;}
.mtvs-weather .mtvs-wx-section-title {display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin:33px 0 16px;}
.mtvs-weather .mtvs-wx-section-title h2 {font-size:clamp(1.25rem,2.7vw,1.62rem); line-height:1.2; font-weight:850; letter-spacing:-.035em; margin:0 !important; color:var(--wx-navy);}
.mtvs-weather .mtvs-wx-section-title > span {font-size:.76rem; color:var(--wx-muted); flex:none;}
.mtvs-weather .mtvs-wx-scroll-hint {display:none; font-size:.72rem; color:var(--wx-muted); margin:-8px 0 10px;}
.mtvs-weather .mtvs-wx-hours {display:flex; gap:9px; padding:2px 1px 13px; overflow-x:auto; max-width:100%; scrollbar-width:thin; scrollbar-color:#bad0de transparent; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch;}
.mtvs-weather .mtvs-wx-hours:focus-visible {outline:2px solid var(--wx-blue); outline-offset:3px; border-radius:8px;}
.mtvs-weather .mtvs-wx-hour {display:flex; flex:none; align-items:center; flex-direction:column; text-align:center; gap:9px; scroll-snap-align:start; border:1px solid var(--wx-line); border-radius:18px; background:#f8fafb; padding:15px 9px 11px; width:104px; min-height:158px;}
.mtvs-weather .mtvs-wx-hour:first-child {background:#ecf6fc; border-color:#ccdfeb;}
.mtvs-weather .mtvs-wx-hour-time {font-size:.88rem; font-weight:830; line-height:1.15; color:var(--wx-navy);}
.mtvs-weather .mtvs-wx-hour-time small {display:block; font-size:.67rem; font-weight:550; color:var(--wx-muted); margin-top:5px;}
.mtvs-weather .mtvs-wx-hour .mtvs-wx-icon {width:38px; height:38px; stroke-width:3;}
.mtvs-weather .mtvs-wx-hour strong {font-size:1.25rem; line-height:1.1; font-weight:850; color:var(--wx-navy);}
.mtvs-weather .mtvs-wx-hour-rain {font-size:.71rem; color:var(--wx-blue); font-weight:700; line-height:1.1; white-space:nowrap;}
.mtvs-weather .mtvs-wx-hour-rain--empty {visibility:hidden;}
.mtvs-weather .mtvs-wx-secondary-note {font-size:.73rem; color:var(--wx-muted); line-height:1.5; margin:3px 0 0 !important;}
.mtvs-weather .mtvs-wx-section-title--week {margin-top:36px;}
.mtvs-weather .mtvs-wx-week {list-style:none; margin:0; padding:0; border:1px solid var(--wx-line); border-radius:18px; overflow:hidden; background:#fff;}
.mtvs-weather .mtvs-wx-day {display:grid; grid-template-columns:110px minmax(125px,1fr) minmax(170px,230px); align-items:center; gap:12px 16px; padding:12px 18px; margin:0; min-width:0; border-bottom:1px solid var(--wx-line);}
.mtvs-weather .mtvs-wx-day:last-child {border-bottom:none;}
.mtvs-weather .mtvs-wx-day--today {background:#f1f8fc;}
.mtvs-weather .mtvs-wx-day-date strong {display:block; font-size:.92rem; font-weight:850; color:var(--wx-navy);}
.mtvs-weather .mtvs-wx-day-date span {display:block; font-size:.74rem; margin-top:2px; color:var(--wx-muted);}
.mtvs-weather .mtvs-wx-day-weather {display:flex; align-items:center; gap:9px; min-width:0;}
.mtvs-weather .mtvs-wx-day-weather > div {min-width:0;}
.mtvs-weather .mtvs-wx-day-weather span {display:block; font-size:.83rem; font-weight:700; line-height:1.25; color:var(--wx-navy);}
.mtvs-weather .mtvs-wx-day-weather small {display:block; font-size:.69rem; line-height:1.25; color:var(--wx-muted); margin-top:3px;}
.mtvs-weather .mtvs-wx-day-temps {display:flex; align-items:center; gap:8px; min-width:0; white-space:nowrap;}
.mtvs-weather .mtvs-wx-day-low {font-size:.85rem; color:var(--wx-muted); width:36px; text-align:right;}
.mtvs-weather .mtvs-wx-day-temps strong {font-size:.92rem; font-weight:850; width:37px; color:var(--wx-navy); text-align:right;}
.mtvs-weather .mtvs-wx-range {position:relative; flex:1; height:7px; border-radius:999px; background:#e8eef2; min-width:40px;}
.mtvs-weather .mtvs-wx-range i {display:block; position:absolute; top:0; bottom:0; border-radius:999px; background:linear-gradient(90deg,#78b5ce,#f0bf71);}
.mtvs-weather .mtvs-wx-credit {display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:8px 15px; border-top:1px solid var(--wx-line); padding:16px 0 0; margin:23px 0 0; font-size:.73rem; color:var(--wx-muted);}
.mtvs-weather .mtvs-wx-credit a {color:var(--wx-blue); text-underline-offset:2px; text-decoration:underline;}
.mtvs-weather .mtvs-wx-credit summary {cursor:pointer; color:var(--wx-blue); font-weight:700;}
.mtvs-weather .mtvs-wx-credit details {max-width:100%;}
.mtvs-weather .mtvs-wx-credit details p {max-width:50rem; font-size:.76rem; color:var(--wx-muted); margin:10px 0 0 !important; line-height:1.6;}
/* Neutralize generic Patisson page rules for the new weather module. */
.p-article-content .mtvs-weather .mtvs-wx-update {font-size:.74rem; margin:0 !important;}
.p-article-content .mtvs-weather .mtvs-wx-hero p {margin-top:0;}
.p-article-content .mtvs-weather .mtvs-wx-section-title h2 {margin:0 !important; font-size:clamp(1.25rem,2.7vw,1.62rem);}
.p-article-content .mtvs-weather .mtvs-wx-hour strong {font-size:1.25rem;}
.p-article-content .mtvs-weather .mtvs-wx-day-date strong {font-size:.92rem;}
.p-article-content .mtvs-weather .mtvs-wx-day-temps strong {font-size:.92rem;}
@media (max-width:700px) {
  .mtvs-weather .mtvs-wx-hero {grid-template-columns:1fr; gap:20px; border-radius:20px;}
  .mtvs-weather .mtvs-wx-stats {flex-direction:row; min-width:0; gap:8px;}
  .mtvs-weather .mtvs-wx-stat {flex:1; padding:12px 14px;}
  .mtvs-weather .mtvs-wx-scroll-hint {display:block;}
  .mtvs-weather .mtvs-wx-day {grid-template-columns:100px minmax(0,1fr) minmax(130px,175px); padding:12px; column-gap:8px;}
  .mtvs-weather .mtvs-wx-day-weather {gap:4px;}
  .mtvs-weather .mtvs-wx-day-weather .mtvs-wx-icon {width:34px; height:34px;}
}
@media (max-width:530px) {
  .mtvs-weather .mtvs-wx-hero {padding:21px 19px;}
  .mtvs-weather .mtvs-wx-main-temp {font-size:clamp(4.1rem,16vw,5.6rem);}
  .mtvs-weather .mtvs-wx-reading-icon .mtvs-wx-icon {width:92px; height:92px;}
  .mtvs-weather .mtvs-wx-day {grid-template-columns:82px minmax(0,1fr); grid-template-areas:'date temps' 'weather weather'; gap:8px 9px;}
  .mtvs-weather .mtvs-wx-day-date {grid-area:date;}
  .mtvs-weather .mtvs-wx-day-temps {grid-area:temps; justify-self:end; width:min(100%, 230px);}
  .mtvs-weather .mtvs-wx-day-weather {grid-area:weather; padding-left:2px; gap:8px;}
  .mtvs-weather .mtvs-wx-day-weather .mtvs-wx-icon {width:30px; height:30px;}
  .mtvs-weather .mtvs-wx-day-weather > div {display:flex; align-items:baseline; flex-wrap:wrap; column-gap:8px;}
  .mtvs-weather .mtvs-wx-day-weather small {margin-top:0;}
  .mtvs-weather .mtvs-wx-section-title > span {display:none;}
}
@media (prefers-reduced-motion:reduce) {
  .mtvs-weather .mtvs-wx-hours {scroll-behavior:auto;}
}


/* 0.2.3: NOAA geomagnetic dashboard, aligned with the 0.2.1 weather layout.
   All selectors are scoped to .mtvs-geo; weather layout remains unchanged. */
.mtvs-geo {
  --geo-navy:#173249;
  --geo-blue:#247ca6;
  --geo-ink:#192f41;
  --geo-line:#e4ebf0;
  --geo-muted:#617583;
  --geo-quiet:#5e9eab;
  --geo-active:#cb9538;
  --geo-storm:#d16d38;
  --geo-strong:#b34a59;
  max-width:1100px;
  color:var(--geo-ink);
  line-height:1.45;
  font-variant-numeric:tabular-nums;
}
.mtvs-geo .mtvs-geo-topline {display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 16px; margin:0 0 15px;}
.mtvs-geo .mtvs-geo-place {display:flex; align-items:center; flex-wrap:wrap; gap:8px; font-size:.83rem; color:var(--geo-muted);}
.mtvs-geo .mtvs-geo-place strong {color:var(--geo-navy); font-weight:800; font-size:.97rem;}
.mtvs-geo .mtvs-geo-pin {width:8px; height:8px; border-radius:50%; background:var(--mtvs-red);}
.mtvs-geo .mtvs-geo-divider {width:1px; height:15px; margin:0 3px; background:#c6d4dd;}
.mtvs-geo .mtvs-geo-updated {font-size:.74rem; color:var(--geo-muted); margin:0 !important; line-height:1.35;}
.mtvs-geo .mtvs-geo-hero {position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:26px; overflow:hidden; border-radius:24px; padding:clamp(22px,4.4vw,42px); background:linear-gradient(112deg,#e5f2fb 0%,#f2f8fc 54%,#e2eafa 100%); border:1px solid #deebf3;}
.mtvs-geo .mtvs-geo-hero--storm {background:linear-gradient(112deg,#fbeedc 0%,#fff6e9 58%,#f9e8e5 100%); border-color:#f6dfcc;}
.mtvs-geo .mtvs-geo-hero--strong {background:linear-gradient(112deg,#f8e9eb 0%,#fff2f0 58%,#f9e4e4 100%); border-color:#f2d7dd;}
.mtvs-geo .mtvs-geo-hero::after {content:""; position:absolute; z-index:-1; width:320px; height:320px; border-radius:50%; right:-150px; top:-215px; border:45px solid rgb(255 255 255 / .36);}
.mtvs-geo .mtvs-geo-hero-main {min-width:0;}
.mtvs-geo .mtvs-geo-kicker {font-size:.79rem; color:var(--geo-navy); font-weight:800; margin:0 0 8px !important;}
.mtvs-geo .mtvs-geo-reading {display:flex; align-items:center; gap:clamp(6px,2.5vw,20px); min-height:120px;}
.mtvs-geo .mtvs-geo-kp-prefix {font-size:clamp(1.5rem,3vw,2rem); font-weight:800; align-self:baseline; margin-top:30px; color:#365e73; letter-spacing:-.05em;}
.mtvs-geo .mtvs-geo-main-value {font-size:clamp(4.25rem,11vw,6.45rem); font-weight:850; color:#102e44; letter-spacing:-.087em; line-height:1.07; white-space:nowrap;}
.mtvs-geo .mtvs-geo-reading-art {display:block; margin-left:auto; flex-shrink:0;}
.mtvs-geo .mtvs-geo-art {display:block; width:clamp(92px,13vw,142px); height:clamp(92px,13vw,142px);}
.mtvs-geo .mtvs-geo-hero-condition {font-size:clamp(1.05rem,2vw,1.3rem); font-weight:800; color:var(--geo-navy); margin:3px 0 4px !important; line-height:1.3;}
.mtvs-geo .mtvs-geo-hero-hint {font-size:.77rem; color:var(--geo-muted); margin:5px 0 0 !important; max-width:35rem; line-height:1.5;}
.mtvs-geo .mtvs-geo-meter {max-width:465px; margin:24px 0 0;}
.mtvs-geo .mtvs-geo-meter-track {position:relative; height:10px; border-radius:999px; background:linear-gradient(to right,#64a5b4 0%,#92b7a2 34%,#e6bf69 44.4%,#eba55e 55.55%,#dd7d60 72%,#bc576b 100%);}
.mtvs-geo .mtvs-geo-meter-track::after {content:""; position:absolute; top:-5px; bottom:-5px; left:55.55%; width:2px; border-radius:2px; background:#19384b; opacity:.55;}
.mtvs-geo .mtvs-geo-meter-pointer {position:absolute; top:50%; display:block; width:17px; height:17px; background:#fff; border:3px solid #163c56; border-radius:50%; transform:translate(-50%,-50%); box-shadow:0 2px 5px #24455931; z-index:1;}
.mtvs-geo .mtvs-geo-meter-labels {display:flex; justify-content:space-between; align-items:start; gap:8px; margin-top:9px; color:var(--geo-muted); font-size:.7rem; line-height:1.25;}
.mtvs-geo .mtvs-geo-meter-labels span:nth-child(2) {font-weight:750; color:#804e2a; text-align:center;}
.mtvs-geo .mtvs-geo-stats {display:flex; flex-direction:column; justify-content:end; gap:10px; margin:0; min-width:176px; max-width:212px;}
.mtvs-geo .mtvs-geo-stat {padding:14px 16px; border:1px solid rgb(255 255 255 / .82); border-radius:16px; background:rgb(255 255 255 / .6); backdrop-filter:blur(5px);}
.mtvs-geo .mtvs-geo-stat dt {font-size:.76rem; font-weight:700; color:var(--geo-muted); margin:0 0 5px;}
.mtvs-geo .mtvs-geo-stat dd {font-size:1.3rem; font-weight:850; margin:0; line-height:1.2; color:var(--geo-navy); letter-spacing:-.03em;}
.mtvs-geo .mtvs-geo-stat dd.mtvs-geo-stat-type {font-size:.95rem; line-height:1.35; letter-spacing:0;}
.mtvs-geo .mtvs-geo-no-observation {padding:20px; border:1px solid var(--geo-line); border-radius:20px; color:var(--geo-muted); background:#f4f8fb; font-size:.9rem;}
.mtvs-geo .mtvs-geo-section-title {display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin:33px 0 16px;}
.mtvs-geo .mtvs-geo-section-title h2 {font-size:clamp(1.25rem,2.7vw,1.62rem); line-height:1.2; font-weight:850; letter-spacing:-.035em; margin:0 !important; color:var(--geo-navy);}
.mtvs-geo .mtvs-geo-section-title>span {font-size:.76rem; color:var(--geo-muted); flex:none;}
.mtvs-geo .mtvs-geo-scroll-hint {display:none; font-size:.72rem; color:var(--geo-muted); margin:-8px 0 10px !important;}
.mtvs-geo .mtvs-geo-slots {display:flex; gap:9px; padding:2px 1px 13px; overflow-x:auto; max-width:100%; scrollbar-width:thin; scrollbar-color:#bad0de transparent; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch;}
.mtvs-geo .mtvs-geo-slots:focus-visible {outline:2px solid var(--geo-blue); outline-offset:3px; border-radius:8px;}
.mtvs-geo .mtvs-geo-slot {--geo-status-color:var(--geo-quiet); display:flex; flex:none; align-items:center; flex-direction:column; text-align:center; gap:9px; scroll-snap-align:start; border:1px solid var(--geo-line); border-radius:18px; background:#f8fafb; padding:15px 9px 11px; width:112px; min-height:158px;}
.mtvs-geo .mtvs-geo-slot:first-child {background:#ecf6fc; border-color:#ccdfeb;}
.mtvs-geo .mtvs-geo-slot--active {--geo-status-color:var(--geo-active);}
.mtvs-geo .mtvs-geo-slot--storm {--geo-status-color:var(--geo-storm);}
.mtvs-geo .mtvs-geo-slot--strong {--geo-status-color:var(--geo-strong);}
.mtvs-geo .mtvs-geo-slot-time {font-size:.88rem; font-weight:830; line-height:1.15; color:var(--geo-navy);}
.mtvs-geo .mtvs-geo-slot-time small {display:block; font-size:.67rem; font-weight:550; color:var(--geo-muted); margin-top:5px;}
.mtvs-geo .mtvs-geo-slot-symbol {width:42px; height:42px; position:relative; border-radius:50%; display:flex; align-items:center; justify-content:center; gap:4px; background:color-mix(in srgb, var(--geo-status-color) 14%, #fff);}
.mtvs-geo .mtvs-geo-slot-symbol i {display:block; width:3px; border-radius:99px; background:var(--geo-status-color); transform:rotate(25deg);}
.mtvs-geo .mtvs-geo-slot-symbol i:nth-child(1) {height:14px;}
.mtvs-geo .mtvs-geo-slot-symbol i:nth-child(2) {height:24px;}
.mtvs-geo .mtvs-geo-slot-symbol i:nth-child(3) {height:17px;}
.mtvs-geo .mtvs-geo-slot-kp {font-size:1.1rem; line-height:1.1; font-weight:850; color:var(--geo-navy);}
.mtvs-geo .mtvs-geo-slot-status {font-size:.69rem; font-weight:750; line-height:1.2; color:var(--geo-status-color); white-space:normal;}
.mtvs-geo .mtvs-geo-secondary-note {font-size:.73rem; color:var(--geo-muted); line-height:1.5; margin:4px 0 0 !important;}
.mtvs-geo .mtvs-geo-section-title--days {margin-top:36px;}
.mtvs-geo .mtvs-geo-days {list-style:none; margin:0; padding:0; border:1px solid var(--geo-line); border-radius:18px; overflow:hidden; background:#fff;}
.mtvs-geo .mtvs-geo-day {--geo-status-color:var(--geo-quiet); display:grid; grid-template-columns:110px minmax(110px,1fr) minmax(130px,185px); align-items:center; gap:12px 16px; padding:15px 18px; margin:0; min-width:0; border-bottom:1px solid var(--geo-line);}
.mtvs-geo .mtvs-geo-day:last-child {border-bottom:none;}
.mtvs-geo .mtvs-geo-day--today {background:#f1f8fc;}
.mtvs-geo .mtvs-geo-day--active {--geo-status-color:var(--geo-active);}
.mtvs-geo .mtvs-geo-day--storm {--geo-status-color:var(--geo-storm);}
.mtvs-geo .mtvs-geo-day--strong {--geo-status-color:var(--geo-strong);}
.mtvs-geo .mtvs-geo-day--unknown {--geo-status-color:#c4ccd2;}
.mtvs-geo .mtvs-geo-day-date strong {display:block; font-size:.92rem; font-weight:850; color:var(--geo-navy);}
.mtvs-geo .mtvs-geo-day-date span {display:block; font-size:.74rem; color:var(--geo-muted); margin-top:2px;}
.mtvs-geo .mtvs-geo-day-condition {display:flex; align-items:center; gap:9px; min-width:0;}
.mtvs-geo .mtvs-geo-day-dot {display:block; width:9px; height:9px; flex:none; border-radius:50%; background:var(--geo-status-color);}
.mtvs-geo .mtvs-geo-day-condition>div {min-width:0;}
.mtvs-geo .mtvs-geo-day-condition strong {display:block; font-size:.84rem; font-weight:750; line-height:1.3; color:var(--geo-navy);}
.mtvs-geo .mtvs-geo-day-condition small {display:block; font-size:.72rem; line-height:1.4; margin-top:3px; color:var(--geo-muted);}
.mtvs-geo .mtvs-geo-day-reading {display:flex; align-items:center; justify-content:flex-end; gap:13px; min-width:0; white-space:nowrap;}
.mtvs-geo .mtvs-geo-day-reading strong {font-size:1.03rem; font-weight:850; color:var(--geo-navy);}
.mtvs-geo .mtvs-geo-day-track {display:block; flex:1; min-width:40px; height:7px; border-radius:99px; background:#e8eef2; overflow:hidden;}
.mtvs-geo .mtvs-geo-day-track i {display:block; height:100%; border-radius:99px; background:var(--geo-status-color);}
.mtvs-geo .mtvs-geo-day-none {font-size:1.5rem; color:var(--geo-muted);}
.mtvs-geo .mtvs-geo-credit {display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:8px 15px; border-top:1px solid var(--geo-line); padding:16px 0 0; margin:23px 0 0; font-size:.73rem; color:var(--geo-muted);}
.mtvs-geo .mtvs-geo-credit a {color:var(--geo-blue); text-decoration:underline; text-underline-offset:2px;}
.mtvs-geo .mtvs-geo-credit summary {cursor:pointer; color:var(--geo-blue); font-weight:700;}
.mtvs-geo .mtvs-geo-credit details {max-width:100%;}
.mtvs-geo .mtvs-geo-credit details p {max-width:50rem; font-size:.76rem; color:var(--geo-muted); margin:10px 0 0 !important; line-height:1.6;}
/* Patisson page typography overrides for the scoped geomagnetic module. */
.p-article-content .mtvs-geo .mtvs-geo-hero p {margin-top:0;}
.p-article-content .mtvs-geo .mtvs-geo-updated {font-size:.74rem; margin:0 !important;}
.p-article-content .mtvs-geo .mtvs-geo-section-title h2 {margin:0 !important; font-size:clamp(1.25rem,2.7vw,1.62rem);}
.p-article-content .mtvs-geo .mtvs-geo-day-date strong {font-size:.92rem;}
.p-article-content .mtvs-geo .mtvs-geo-day-reading strong {font-size:1.03rem;}
@media (max-width:700px) {
  .mtvs-geo .mtvs-geo-hero {grid-template-columns:1fr; gap:20px; border-radius:20px;}
  .mtvs-geo .mtvs-geo-stats {flex-direction:row; max-width:none; min-width:0; gap:8px;}
  .mtvs-geo .mtvs-geo-stat {flex:1; padding:12px 14px;}
  .mtvs-geo .mtvs-geo-scroll-hint {display:block;}
  .mtvs-geo .mtvs-geo-day {grid-template-columns:100px minmax(0,1fr) minmax(110px,170px); padding:12px; column-gap:8px;}
}
@media (max-width:530px) {
  .mtvs-geo .mtvs-geo-hero {padding:21px 19px;}
  .mtvs-geo .mtvs-geo-reading {min-height:104px;}
  .mtvs-geo .mtvs-geo-main-value {font-size:clamp(4.2rem,16vw,5.8rem);}
  .mtvs-geo .mtvs-geo-art {width:92px; height:92px;}
  .mtvs-geo .mtvs-geo-day {grid-template-columns:82px minmax(0,1fr); grid-template-areas:'date reading' 'condition condition'; gap:10px 9px;}
  .mtvs-geo .mtvs-geo-day-date {grid-area:date;}
  .mtvs-geo .mtvs-geo-day-reading {grid-area:reading; width:min(100%,230px); justify-self:end;}
  .mtvs-geo .mtvs-geo-day-condition {grid-area:condition; padding-left:2px;}
  .mtvs-geo .mtvs-geo-section-title>span {display:none;}
}
@media (max-width:365px) {
  .mtvs-geo .mtvs-geo-art {width:74px; height:74px;}
  .mtvs-geo .mtvs-geo-kp-prefix {font-size:1.3rem;}
  .mtvs-geo .mtvs-geo-stat dd.mtvs-geo-stat-type {font-size:.81rem;}
  .mtvs-geo .mtvs-geo-reading {gap:6px;}
}
@media (prefers-reduced-motion:reduce) {
  .mtvs-geo .mtvs-geo-slots {scroll-behavior:auto;}
}

/* MTV36 Services 0.4.9 — CB RF, calendar and shared services navigation. */
.mtvs-fin,.mtvs-cal,.mtvs-hub-new {--panel-navy:#173249;--panel-muted:#617583;--panel-line:#e0e9ef;--panel-blue:#267ba4;max-width:1100px;color:#173249;font-variant-numeric:tabular-nums;line-height:1.48;}
.mtvs-panel-topline {display:flex;justify-content:space-between;align-items:center;gap:8px 16px;flex-wrap:wrap;margin:0 0 16px;}
.mtvs-panel-kicker {font-size:.85rem;font-weight:800;color:#173249;display:flex;align-items:center;gap:9px;}
.mtvs-panel-pin {width:8px;height:8px;border-radius:50%;background:#d51c27;display:inline-block;flex:none;}
.mtvs-panel-time,.mtvs-panel-overline {font-size:.76rem;color:#617583;line-height:1.45;}
.mtvs-panel-overline {display:block;font-weight:800;letter-spacing:.025em;text-transform:uppercase;}
.mtvs-panel-credit {font-size:.76rem;line-height:1.55;color:#667986;display:flex;align-items:flex-start;gap:12px 24px;justify-content:space-between;flex-wrap:wrap;border-top:1px solid #e0e9ef;padding-top:15px;margin-top:22px;}
.mtvs-panel-credit a {color:#226d98!important;text-decoration:underline;text-underline-offset:2px;}
.mtvs-panel-credit details {max-width:100%;}
.mtvs-panel-credit summary {color:#226d98;cursor:pointer;font-weight:700;}
.mtvs-panel-credit details p {color:#617583;margin:8px 0 0!important;max-width:42rem;font-size:.76rem;}

/* Currency — large daily effective date and three easily scannable rate cards. */
.mtvs-fin .mtvs-fin-hero {display:flex;justify-content:space-between;align-items:center;gap:18px 30px;position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(110deg,#e6f3f8 0%,#f5f9fb 65%,#dfeff5 100%);border:1px solid #dae9f0;border-radius:24px;padding:clamp(24px,4vw,40px);margin-bottom:18px;min-height:184px;}
.mtvs-fin .mtvs-fin-hero h2 {font-size:clamp(1.7rem,4vw,2.45rem)!important;line-height:1.16;color:#173249;font-weight:850;letter-spacing:-.045em;margin:9px 0 9px!important;}
.mtvs-fin .mtvs-fin-hero p {font-size:.9rem;line-height:1.55;color:#59707f;max-width:520px;margin:0!important;}
.mtvs-fin .mtvs-fin-hero-mark {width:104px;height:104px;border-radius:28px;transform:rotate(-8deg);background:#ffffffa8;color:#297da1;box-shadow:0 18px 50px #9fbfce40;display:flex;align-items:center;justify-content:center;flex:none;font-size:4.2rem;font-weight:850;line-height:1;}
.mtvs-fin .mtvs-fin-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.mtvs-fin .mtvs-fin-card {border:1px solid var(--panel-line);border-radius:19px;padding:22px 20px 17px;min-width:0;background:#fff;display:flex;flex-direction:column;gap:16px;}
.mtvs-fin .mtvs-fin-label {display:flex;align-items:center;gap:10px;color:#617583;font-size:.81rem;font-weight:700;min-width:0;}
.mtvs-fin .mtvs-fin-badge {border-radius:9px;background:#eaf3f8;color:#245b78;padding:6px 8px;font-size:.8rem;font-weight:850;letter-spacing:.02em;flex:none;}
.mtvs-fin .mtvs-fin-value {font-size:clamp(1.65rem,3.4vw,2.55rem);color:#13334b;font-weight:850;line-height:1.13;letter-spacing:-.055em;white-space:nowrap;}
.mtvs-fin .mtvs-fin-foot {margin-top:auto;padding-top:15px;border-top:1px solid #edf1f5;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;font-size:.73rem;color:#667d8c;}
.mtvs-fin .mtvs-fin-change {font-weight:800;white-space:nowrap;}
.mtvs-fin .mtvs-fin-change--up {color:#b34442;}
.mtvs-fin .mtvs-fin-change--down {color:#267e69;}
.mtvs-fin .mtvs-fin-change--neutral {color:#81909a;font-weight:650;}
.mtvs-fin .mtvs-fin-warning {border:1px solid #f4d39e;background:#fff7e8;color:#885c1a;border-radius:12px;padding:12px 15px;margin:0 0 15px!important;font-size:.85rem;}
/* Show only markup relevant to the requested date, no fake conversion rates. */

/* Calendar — one full-width column with vertically readable event cards. */
.mtvs-cal .mtvs-cal-hero {background:linear-gradient(110deg,#e6f2f8,#f2f8fb 67%,#e4f0f7);border:1px solid #dae9f0;border-radius:24px;padding:clamp(20px,4vw,32px);display:flex;align-items:center;gap:clamp(18px,4vw,36px);margin:0 0 26px;}
.mtvs-cal .mtvs-cal-date-tile {width:125px;min-width:125px;min-height:140px;border:1px solid #d4e5ef;background:#fff;border-radius:20px;box-shadow:0 8px 30px #8ab7cb1c;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:16px 9px;color:#356c8a;}
.mtvs-cal .mtvs-cal-date-tile span {font-size:.82rem;font-weight:750;line-height:1.35;}
.mtvs-cal .mtvs-cal-date-tile strong {font-weight:870;font-size:4.1rem;letter-spacing:-.07em;line-height:1.08;color:#143c54;}
.mtvs-cal .mtvs-cal-hero-copy {min-width:0;}
.mtvs-cal .mtvs-cal-hero h2 {font-size:clamp(1.55rem,3.8vw,2.35rem)!important;letter-spacing:-.044em;line-height:1.16;font-weight:850;color:#173249;margin:8px 0!important;}
.mtvs-cal .mtvs-cal-hero p {font-size:.88rem!important;line-height:1.6;color:#607b8b;max-width:600px;margin:0!important;}
.mtvs-cal .mtvs-cal-groups {display:block!important;}
.mtvs-cal .mtvs-cal-groups,
.mtvs-cal .mtvs-cal-group,
.mtvs-cal .mtvs-cal-category,
.mtvs-cal .mtvs-cal-events,
.mtvs-cal .mtvs-cal-event {width:100%!important;max-width:none!important;min-width:0;}
.mtvs-cal .mtvs-cal-group h3 {font-size:clamp(1.22rem,2.8vw,1.6rem)!important;margin:0 0 19px!important;font-weight:850;letter-spacing:-.03em;line-height:1.2;color:#18374c;}
.mtvs-cal .mtvs-cal-section {border-top:1px solid #e4ebf0;padding-top:25px;margin-top:28px;}
.mtvs-cal .mtvs-cal-category {margin:0 0 24px;}
.mtvs-cal .mtvs-cal-category h4 {display:flex;gap:8px;align-items:center;font-size:.84rem!important;font-weight:850;color:#587485;margin:0 0 10px!important;line-height:1.4;}
.mtvs-cal .mtvs-cal-category-dot {display:inline-block;width:7px;height:7px;border-radius:50%;background:#d51c27;flex:none;}
.mtvs-cal .mtvs-cal-events {display:grid;grid-template-columns:minmax(0,1fr);gap:10px;width:100%;}
.mtvs-cal .mtvs-cal-event {padding:17px 18px;border:1px solid #e3ebf1;border-radius:16px;background:#fff;}
.mtvs-cal .mtvs-cal-event strong {font-weight:800;font-size:1rem;color:#18394f;display:block;line-height:1.35;}
.mtvs-cal .mtvs-cal-event p {font-size:.8rem!important;color:#647b89;line-height:1.55;margin:6px 0 9px!important;}
.mtvs-cal .mtvs-cal-event .mtvs-cal-names {font-size:.95rem!important;font-weight:800;color:#245a77;line-height:1.55;margin:8px 0!important;}
.mtvs-cal .mtvs-cal-event--names .mtvs-cal-names {font-size:1rem!important;margin:0!important;}
.mtvs-cal .mtvs-cal-omens {margin:9px 0 12px!important;padding-left:19px!important;color:#647b89;font-size:.79rem;line-height:1.55;}
.mtvs-cal .mtvs-cal-omens li {margin:5px 0!important;}
.mtvs-cal .mtvs-cal-event--folk {background:#fffaf3;border-color:#eee2d1;}
.mtvs-cal .mtvs-cal-event--orthodox {background:#f8fbfd;}
.mtvs-cal .mtvs-cal-event--memorial {border-left:3px solid #b34343;}
.mtvs-cal .mtvs-cal-empty {padding:20px;background:#f5f9fb;border:1px solid #e0eaf0;border-radius:15px;font-size:.85rem;line-height:1.6;margin:0!important;color:#5c7485;}

/* Unified useful-services landing. */
.mtvs-hub-new .mtvs-hub-intro {margin:0 0 18px;}
.mtvs-hub-new .mtvs-hub-intro p {font-size:.94rem!important;color:#647a87;max-width:610px;line-height:1.6;margin:10px 0 0!important;}
.mtvs-hub-new .mtvs-hub-cards {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.mtvs-hub-new .mtvs-hub-new-card {display:flex;align-items:flex-start;gap:16px;text-decoration:none!important;min-width:0;padding:22px 20px;border:1px solid #e1e9ef;background:#fff;border-radius:19px;color:#173249!important;min-height:145px;transition:border-color .15s,box-shadow .15s;}
.mtvs-hub-new .mtvs-hub-new-card:hover,.mtvs-hub-new .mtvs-hub-new-card:focus-visible {border-color:#96c4d8;box-shadow:0 8px 27px #b5ccd330;}
.mtvs-hub-new .mtvs-hub-new-mark {display:flex;align-items:center;justify-content:center;flex:none;width:54px;height:54px;border-radius:16px;background:#e6f3f9;color:#267da5;font-size:2rem;font-weight:850;line-height:1;}
.mtvs-hub-new .mtvs-hub-new-card--kp .mtvs-hub-new-mark {background:#eaf0fb;color:#5c75a5;}
.mtvs-hub-new .mtvs-hub-new-card--currency .mtvs-hub-new-mark {background:#e8f5f0;color:#267b64;}
.mtvs-hub-new .mtvs-hub-new-card--calendar .mtvs-hub-new-mark {background:#f9f0e7;color:#aa7743;font-size:1.35rem;}
.mtvs-hub-new .mtvs-hub-new-body {display:flex;flex-direction:column;align-items:flex-start;gap:8px;flex:1;min-width:0;}
.mtvs-hub-new .mtvs-hub-new-body strong {font-size:1.15rem;font-weight:850;line-height:1.3;color:#173249;}
.mtvs-hub-new .mtvs-hub-new-body small {font-size:.82rem;color:#647b89;line-height:1.45;}
.mtvs-hub-new .mtvs-hub-new-body em {font-size:.72rem;font-style:normal;font-weight:700;color:#317b9c;margin-top:auto;}
.mtvs-hub-new .mtvs-hub-new-arrow {margin-left:auto;color:#628397;font-size:1.28rem;flex:none;}

/* Patisson's generic page typography uses higher-specificity rules. */
.p-article-content .mtvs-fin .mtvs-fin-hero h2 {font-size:clamp(1.7rem,4vw,2.45rem)!important;margin:9px 0!important;}
.p-article-content .mtvs-fin .mtvs-fin-hero p {font-size:.9rem!important;margin:0!important;}
.p-article-content .mtvs-cal .mtvs-cal-hero h2 {font-size:clamp(1.55rem,3.8vw,2.35rem)!important;margin:8px 0!important;}
.p-article-content .mtvs-cal .mtvs-cal-group h3 {font-size:clamp(1.22rem,2.8vw,1.6rem)!important;margin:0 0 19px!important;}
.p-article-content .mtvs-cal .mtvs-cal-category h4 {font-size:.84rem!important;margin:0 0 10px!important;}
.p-article-content .mtvs-hub-new .mtvs-hub-intro p {font-size:.94rem!important;margin:10px 0 0!important;}

@media (max-width:820px){
 .mtvs-fin .mtvs-fin-card {padding:17px 14px;}
 .mtvs-fin .mtvs-fin-value {font-size:clamp(1.4rem,3.2vw,2.05rem);}
}
@media (max-width:680px){
 .mtvs-fin .mtvs-fin-hero {padding:23px 20px;}
 .mtvs-fin .mtvs-fin-grid {grid-template-columns:1fr;gap:10px;}
 .mtvs-fin .mtvs-fin-card {gap:11px;padding:16px 18px;}
 .mtvs-fin .mtvs-fin-label {font-size:.82rem;}
 .mtvs-fin .mtvs-fin-value {font-size:2.1rem;}
 .mtvs-fin .mtvs-fin-foot {padding-top:10px;}
 .mtvs-cal .mtvs-cal-hero {gap:16px;}
 .mtvs-cal .mtvs-cal-date-tile {width:95px;min-width:95px;min-height:123px;border-radius:16px;}
 .mtvs-cal .mtvs-cal-date-tile strong {font-size:3.4rem;}
 .mtvs-hub-new .mtvs-hub-cards {grid-template-columns:1fr;}
 .mtvs-hub-new .mtvs-hub-new-card {min-height:125px;}
}
@media (max-width:390px){
 .mtvs-fin .mtvs-fin-hero-mark {width:58px;height:64px;font-size:2.6rem;border-radius:14px;}
 .mtvs-fin .mtvs-fin-hero h2 {font-size:1.65rem!important;}
 .mtvs-fin .mtvs-fin-value {font-size:1.85rem;}
 .mtvs-cal .mtvs-cal-hero {align-items:flex-start;flex-wrap:wrap;}
 .mtvs-cal .mtvs-cal-date-tile {min-height:100px;width:100px;min-width:100px;padding:10px;}
 .mtvs-cal .mtvs-cal-date-tile strong {font-size:2.9rem;}
 .mtvs-cal .mtvs-cal-hero-copy {flex:1;min-width:170px;}
 .mtvs-hub-new .mtvs-hub-new-card {padding:15px 12px;gap:10px;}
 .mtvs-hub-new .mtvs-hub-new-mark {width:42px;height:42px;border-radius:13px;font-size:1.55rem;}
}
@media (prefers-reduced-motion: reduce){.mtvs-hub-new .mtvs-hub-new-card {transition:none;}}

/* MTV36 Services 0.3.2: regional CGMS forecast, distinct from model output. */
.mtvs-cgms {margin:28px 0 0;padding:24px;border:1px solid #e5e7eb;border-radius:18px;background:#fafbfc;color:#15191f;font-size:16px;line-height:1.52;}
.mtvs-cgms .mtvs-cgms-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px;}
.mtvs-cgms .mtvs-cgms-heading h2{margin:5px 0 0;font-size:clamp(1.4rem,2.5vw,1.8rem);font-weight:750;line-height:1.2;}
.mtvs-cgms-eyebrow{font-size:12px;font-weight:800;letter-spacing:.08em;color:#b91c1c;text-transform:uppercase;}
.mtvs-cgms-stamp{font-size:13px;color:#646e78;white-space:nowrap;}
.mtvs-cgms-fact{border:1px solid #dce2e9;border-radius:12px;padding:12px 15px;background:#fff;margin-bottom:14px;color:#343b43;}
.mtvs-cgms-forecast-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.mtvs-cgms-forecast{background:#fff;border:1px solid #e5e7eb;border-radius:13px;padding:17px 18px;}
.mtvs-cgms-forecast h3{margin:0 0 9px!important;font-size:18px!important;color:#15191f;}
.mtvs-cgms-forecast p{margin:0!important;color:#343b43;line-height:1.55;}
.mtvs-cgms-credit{margin:16px 0 0!important;font-size:13px;color:#646e78;}
.mtvs-cgms-credit a{color:#1648bc;text-decoration:underline;}
@media(max-width:650px){
 .mtvs-cgms{padding:16px;border-radius:14px;}
 .mtvs-cgms .mtvs-cgms-heading{display:block;}
 .mtvs-cgms-stamp{display:block;margin-top:8px;}
 .mtvs-cgms-forecast-grid{grid-template-columns:1fr;}
 .mtvs-cgms-forecast{padding:14px 15px;}
}
.mtvs-cgms-days-title{font-size:15px;font-weight:750;margin:20px 0 10px;}
.mtvs-cgms-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;list-style:none!important;padding:0!important;margin:0!important;}
.mtvs-cgms-days li{background:#fff;border:1px solid #e5e7eb;border-radius:11px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;min-width:0;}
.mtvs-cgms-days time{font-weight:750;color:#15191f;}
.mtvs-cgms-days span{font-size:13px;color:#68707a;}
.mtvs-cgms-days strong{font-size:14px;color:#15191f;}
@media(max-width:650px){
 .mtvs-cgms-days{grid-template-columns:none;grid-auto-columns:135px;grid-auto-flow:column;overflow-x:auto;overscroll-behavior-inline:contain;padding-bottom:9px!important;scroll-snap-type:x proximity;}
 .mtvs-cgms-days li{scroll-snap-align:start;}
}

/* 0.3.3: unified regional-first weather; small labels distinguish night/day
   from MET model's minimum/maximum without adding explanatory paragraphs. */
.mtvs-weather .mtvs-wx-hero-condition {
    max-width: 48ch;
    font-size: clamp(1.06rem, 1.95vw, 1.31rem);
    font-weight: 725;
    line-height: 1.42;
    overflow-wrap: break-word;
}
.mtvs-weather .mtvs-wx-wind-direction {
    display: inline-block;
    font-size: .89rem;
    letter-spacing: 0;
    font-weight: 850;
    color: #1d5c82;
    background: #e5f1f8;
    border-radius: 7px;
    padding: 3px 6px;
    margin-left: 4px;
    vertical-align: middle;
}
.mtvs-weather .mtvs-wx-day-temps > .mtvs-wx-day-low,
.mtvs-weather .mtvs-wx-day-temps > strong {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 1px;
    width: 52px;
}
.mtvs-weather .mtvs-wx-day-temps small {
    display: block;
    font-size: .6rem;
    line-height: 1.05;
    font-weight: 650;
    letter-spacing: 0;
    color: #738693;
}
@media (max-width: 530px) {
    .mtvs-weather .mtvs-wx-day-temps {gap: 5px;}
    .mtvs-weather .mtvs-wx-day-temps > .mtvs-wx-day-low,
    .mtvs-weather .mtvs-wx-day-temps > strong {width: 44px;}
    .mtvs-weather .mtvs-wx-wind-direction {margin-left: 2px;}
}

/* Horoscope pages: calm, editorial presentation, sharing Patisson typography. */
.mtvs-horoscope { --horo-ink:#193345; --horo-mute:#5c7282; }
.mtvs-horoscope .mtvs-horoscope-hero {
  background:linear-gradient(130deg,#f2f7fb 0%,#f9f7f1 100%);
  border:1px solid #dce7eb; border-radius:20px;
  padding:clamp(20px,3.5vw,32px); margin:0 0 18px;
}
.mtvs-horoscope .mtvs-horoscope-hero h2 {
  color:var(--horo-ink)!important; font-size:clamp(1.7rem,3.5vw,2.25rem)!important;
  line-height:1.16!important; letter-spacing:-.025em!important;
  margin:9px 0 12px!important; font-weight:850!important;
}
.mtvs-horoscope .mtvs-horoscope-hero p {
  color:var(--horo-mute); max-width:680px; font-size:1rem!important;
  line-height:1.55!important; margin:0 0 13px!important;
}
.mtvs-horoscope .mtvs-horoscope-grid {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px;
}
.mtvs-horoscope .mtvs-horoscope-card {
  min-height:202px; display:flex; flex-direction:column; gap:10px;
  border:1px solid #e1e7ed; background:#fff; text-decoration:none!important;
  border-radius:17px; padding:20px 18px; color:var(--horo-ink)!important;
  transition:border-color .2s,box-shadow .2s; box-shadow:0 1px 3px rgba(12,40,55,.035);
}
.mtvs-horoscope .mtvs-horoscope-card:hover,
.mtvs-horoscope .mtvs-horoscope-card:focus-visible {
  border-color:#a7bbca;box-shadow:0 5px 18px rgba(12,40,55,.10);
}
.mtvs-horoscope .mtvs-horo-glyph {
  font-size:2rem; font-weight:400; line-height:1; color:var(--mtvs-red);
}
.mtvs-horoscope .mtvs-horoscope-card strong {
  font-size:1.17rem!important;font-weight:800!important;line-height:1.2!important;
}
.mtvs-horoscope .mtvs-horoscope-card > span:not(.mtvs-horo-glyph) {
  color:var(--horo-mute); font-size:.88rem; line-height:1.48;
}
.mtvs-horoscope .mtvs-horoscope-card em {
  margin-top:auto;color:#276b8c;font-weight:700;font-style:normal;font-size:.82rem;
}
.mtvs-horoscope .mtvs-horo-link {
  color:#146b94!important;text-decoration:underline!important;text-underline-offset:3px;
  font-size:.9rem;font-weight:750;
}
.mtvs-horoscope-sign .mtvs-horo-large {font-size:3.6rem;margin:12px 0 6px;}
@media (max-width:850px) {
  .mtvs-horoscope .mtvs-horoscope-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:560px) {
  .mtvs-horoscope .mtvs-horoscope-grid {grid-template-columns:minmax(0,1fr);gap:10px;}
  .mtvs-horoscope .mtvs-horoscope-card {min-height:0;padding:15px 16px;gap:8px;}
  .mtvs-horoscope .mtvs-horo-glyph {font-size:1.75rem;}
}
@media(prefers-reduced-motion:reduce) {
  .mtvs-horoscope .mtvs-horoscope-card {transition:none;}
}

/* Dynamic SEO layer for service pages. */
.mtvs-seo-copy{max-width:980px;margin:28px auto 0;color:#1f2328}
.mtvs-seo-copy section,.mtvs-seo-links{margin-top:28px}
.mtvs-seo-copy h2{margin:0 0 12px;font-size:clamp(22px,3vw,30px);line-height:1.2}
.mtvs-seo-copy h3{margin:18px 0 6px;font-size:clamp(18px,2.2vw,22px);line-height:1.3}
.mtvs-seo-copy p{margin:0 0 14px;line-height:1.65}
.mtvs-seo-faq{margin-top:28px}
.mtvs-seo-faq-item{padding:16px 0;border-top:1px solid #e5e7eb}
.mtvs-seo-faq-item:last-child{border-bottom:1px solid #e5e7eb}
.mtvs-seo-links a{text-decoration:underline;text-underline-offset:3px}
.mtvs-seo-links .mtvs-service-link-current{font-weight:800}
.mtvs-services-footer .mtvs-seo-links{margin-top:0}

