
/* Mill City Weather redesign - font cleanup
   Upload fonts separately into /public_html/fonts/
*/
@font-face {
  font-family: "ProximaNovaAltTh";
  src:
    local("Proxima Nova Alt Th"),
    local("Proxima Nova Alt Th Bold"),
    local("Proxima Nova Alt Thin"),
    url("fonts/ProximaNovaAltTh-Bold.otf") format("opentype"),
    url("fonts/ProximaNovaAltThBold.otf") format("opentype"),
    url("fonts/ProximaNovaAltTh-Bold.woff2") format("woff2");
  font-weight: 300 950;
  font-display: swap;
}
@font-face {
  font-family: "HelveticaNeueHeavyExt";
  src:
    local("Helvetica Neue LT Std 83 Heavy Extended"),
    local("HelveticaNeueLTStd-HvEx"),
    url("fonts/HelveticaNeueLTStd-HvEx.otf") format("opentype"),
    url("fonts/HelveticaNeueLTStd-HvEx.woff2") format("woff2"),
    url("HelveticaNeueLTStd-HvEx.otf") format("opentype");
  font-weight: 800 950;
  font-display: swap;
}
:root{
  --mcw-blue:#092b57;
  --mcw-blue-2:#0f4c91;
  --mcw-blue-3:#0a76d8;
  --mcw-red:#e31b23;
  --mcw-red-dark:#b70d14;
  --mcw-ink:#101827;
  --mcw-muted:#617083;
  --mcw-border:#d9e2ef;
  --mcw-bg:#f4f7fb;
  --mcw-card:#ffffff;
  --mcw-soft:#eaf2ff;
  --mcw-yellow:#fbc02d;
  --shadow: 0 18px 45px rgba(7,22,48,.14);
  --radius:18px;
  --max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--mcw-ink);
  background:
    radial-gradient(circle at top left, rgba(10,118,216,.16), transparent 32rem),
    linear-gradient(180deg,#f8fbff 0%, var(--mcw-bg) 42%, #eef4fb 100%);
  font-family: Arial, Helvetica, sans-serif;
  line-height:1.45;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea{font:inherit}
.skip-link{
  position:absolute;left:-999px;top:8px;background:#fff;color:#000;padding:8px 12px;border-radius:8px;z-index:999;
}
.skip-link:focus{left:8px}

.top-ad{display:none}
.top-ad .wrap{
  max-width:var(--max);
  margin:auto;
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:.52rem 1rem;
}
.top-ad a{text-decoration:underline;text-underline-offset:3px}

.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.94);
  backdrop-filter:saturate(160%) blur(12px);
  border-bottom:1px solid var(--mcw-border);
  box-shadow:0 5px 22px rgba(10,27,54,.06);
}
.header-main{
  max-width:var(--max);
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.25rem;
  padding:.75rem 1rem;
}
.logo{
  display:flex;align-items:center;gap:.75rem;min-width:320px;
}
.logo img{height:66px;width:auto}
.live-chip{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.35rem .62rem;
  border-radius:999px;
  background:#071a31;
  color:#fff;
  font-size:.78rem;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.08em;
  white-space:nowrap;
}
.live-dot{
  width:.58rem;height:.58rem;border-radius:99px;background:var(--mcw-red);
  box-shadow:0 0 0 0 rgba(227,27,35,.7);
  animation:pulse 1.8s infinite;
}
@keyframes pulse{
  70%{box-shadow:0 0 0 11px rgba(227,27,35,0)}
  100%{box-shadow:0 0 0 0 rgba(227,27,35,0)}
}
.nav-toggle{
  display:none;
  border:0;
  background:var(--mcw-blue);
  color:#fff;
  border-radius:10px;
  padding:.62rem .75rem;
  font-weight:800;
}
.primary-nav{
  display:flex;align-items:center;gap:.25rem;flex-wrap:wrap;justify-content:flex-end;
}
.primary-nav a{
  padding:.72rem .8rem;
  border-radius:10px;
  color:#10294a;
  font-weight:800;
  font-size:.93rem;
  text-transform:uppercase;
  letter-spacing:.025em;
}
.primary-nav a:hover,
.primary-nav a[aria-current="page"]{
  background:var(--mcw-soft);
  color:var(--mcw-blue);
}
.weather-strip{
  background:linear-gradient(90deg,#071a31,var(--mcw-blue),#071a31);
  color:#fff;
  border-bottom:4px solid var(--mcw-red);
}
.weather-strip .wrap{
  max-width:var(--max);
  margin:auto;
  display:flex;
  gap:1rem;
  align-items:center;
  justify-content:space-between;
  padding:.7rem 1rem;
  overflow:hidden;
}
.strip-title{
  display:flex;align-items:center;gap:.6rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.055em;
  white-space:nowrap;
}
.strip-title strong{color:#fff}
.strip-scroll{
  white-space:nowrap;
  overflow:hidden;
  color:#dbeafe;
  font-size:.94rem;
}
.strip-scroll span{
  display:inline-block;
  animation:marquee 22s linear infinite;
  padding-left:100%;
}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-100%)}}

main{min-height:65vh}
.container{max-width:var(--max);margin:auto;padding:1.35rem 1rem 2.5rem}
.hero{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(310px,.75fr);
  gap:1.2rem;
  align-items:stretch;
  margin-top:1rem;
}
.hero-card{
  min-height:430px;
  border-radius:24px;
  overflow:hidden;
  position:relative;
  color:#fff;
  background:linear-gradient(180deg,#071a31,#0b2f5b 65%, #0f4c91 100%);
  box-shadow:var(--shadow);
}
.hero-card:after{
  content:"";
  position:absolute;inset:auto 0 0 0;height:8px;
  background:linear-gradient(90deg,var(--mcw-red),#fff,var(--mcw-blue-3));
}
.hero-showcase{display:flex;flex-direction:column}
.hero-image-frame{
  position:relative;
  background:#06152a;
}
.hero-feature-image{
  width:100%;
  height:auto;
  display:block;
}
.hero-showcase-panel{
  position:relative;
  z-index:1;
  padding:1.2rem 1.4rem 1.35rem;
  background:linear-gradient(180deg,rgba(4,18,38,.96),rgba(5,36,72,.9));
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  background:rgba(227,27,35,.95);
  padding:.45rem .72rem;
  border-radius:999px;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.08em;
  font-size:.78rem;
}
h1,h2,h3,p{margin-top:0}
h1{
  font-family:Arial Black,Arial,sans-serif;
  font-size:clamp(2.35rem,5vw,5.2rem);
  line-height:.9;
  letter-spacing:-.06em;
  text-transform:uppercase;
  margin:1rem 0 .8rem;
}
.hero-lede{
  color:#eaf4ff;
  font-size:1.12rem;
  max-width:640px;
}
.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:0}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  border-radius:999px;
  padding:.78rem 1.05rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.045em;
  border:2px solid transparent;
  cursor:pointer;
}
.btn-red{background:var(--mcw-red);color:#fff}
.btn-blue{background:#fff;color:var(--mcw-blue)}
.btn-outline{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.08)}
.btn:hover{filter:brightness(1.05);transform:translateY(-1px)}
.hero-meta{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.75rem;
  margin-top:1rem;
  max-width:620px;
}
.hero-stat{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.2);
  border-radius:16px;
  padding:.8rem;
}
.hero-stat b{display:block;font-size:1.35rem}
.hero-stat span{font-size:.78rem;text-transform:uppercase;color:#bdd9ff;font-weight:800;letter-spacing:.08em}

.now-card{
  background:var(--mcw-card);
  border:1px solid var(--mcw-border);
  border-radius:24px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.card-topper{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  background:linear-gradient(90deg,var(--mcw-blue),#123f7c);
  color:#fff;
  padding:1rem 1.05rem;
  border-bottom:4px solid var(--mcw-red);
}
.card-topper h2,.card-topper h3{margin:0;text-transform:uppercase;font-family:Arial Black,Arial,sans-serif;letter-spacing:-.025em}
.updated{color:#dce9ff;font-size:.8rem;text-align:right}
.current-main{
  padding:1.15rem;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.95rem;
  align-items:center;
}
.wx-icon{
  width:84px;height:84px;border-radius:22px;
  background:linear-gradient(135deg,#eaf5ff,#fff);
  border:1px solid #dbeafe;
  display:flex;align-items:center;justify-content:center;
  font-size:2.8rem;
}
.temp{
  font-family:"HelveticaNeueHeavyExt", "Arial Black", Arial, sans-serif;
  font-size:clamp(3rem,6vw,4.6rem);
  line-height:1;
  letter-spacing:-.06em;
  color:var(--mcw-blue);
}
.condition{font-weight:900;color:#263a52;margin-top:.15rem}
.metric-grid{
  padding:0 1.15rem 1.15rem;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:.65rem;
}
.metric{
  background:#f6f9fd;
  border:1px solid var(--mcw-border);
  border-radius:14px;
  padding:.78rem;
}
.metric span{display:block;color:var(--mcw-muted);font-size:.75rem;text-transform:uppercase;font-weight:900;letter-spacing:.07em}
.metric b{font-size:1.08rem;color:var(--mcw-blue)}

.section-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:1rem;
  margin:2rem 0 .85rem;
}
.section-head h2{
  font-family:Arial Black,Arial,sans-serif;
  font-size:clamp(1.55rem,3vw,2.4rem);
  text-transform:uppercase;
  letter-spacing:-.05em;
  margin:0;
  color:#0b2343;
}
.section-head p{margin:0;color:var(--mcw-muted);font-weight:700}
.red-rule{height:5px;width:86px;background:var(--mcw-red);border-radius:99px;margin-top:.4rem}

.grid{
  display:grid;
  gap:1rem;
}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{
  background:var(--mcw-card);
  border:1px solid var(--mcw-border);
  border-radius:var(--radius);
  box-shadow:0 10px 30px rgba(7,22,48,.08);
  overflow:hidden;
}
.card-body{padding:1.05rem}
.card h3{
  margin-bottom:.45rem;
  font-family:Arial Black,Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:-.03em;
  color:var(--mcw-blue);
}
.card p{color:#4e5e73}
.label{
  display:inline-flex;
  background:var(--mcw-red);
  color:#fff;
  font-weight:900;
  text-transform:uppercase;
  font-size:.72rem;
  padding:.28rem .5rem;
  border-radius:999px;
  letter-spacing:.07em;
}

.forecast-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(130px,1fr));
  gap:.75rem;
  overflow-x:auto;
  padding-bottom:.2rem;
}
.day-card{
  min-width:130px;
  background:#fff;
  border:1px solid var(--mcw-border);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(7,22,48,.07);
}
.day-head{
  background:linear-gradient(180deg,var(--mcw-blue),#071a31);
  color:#fff;
  text-align:center;
  padding:.75rem .45rem;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.07em;
  border-bottom:4px solid var(--mcw-red);
}
.day-body{
  display:grid;gap:.55rem;justify-items:center;text-align:center;
  padding:.85rem .7rem 1rem;
}
.day-body img{width:66px;height:66px;object-fit:contain}
.day-temp{font-family:"HelveticaNeueHeavyExt","Arial Black",Arial,sans-serif;color:var(--mcw-blue);font-size:2rem;line-height:1}
.day-low{color:#65758a;font-weight:900}
.day-desc{font-weight:700;color:#36475b;font-size:.84rem;min-height:2.4em}

.hourly-strip{
  display:flex;
  gap:.65rem;
  overflow-x:auto;
  padding:.2rem .1rem .65rem;
}
.hour-card{
  min-width:118px;
  background:#fff;
  border:1px solid var(--mcw-border);
  border-radius:15px;
  padding:.85rem .7rem;
  text-align:center;
  box-shadow:0 8px 18px rgba(7,22,48,.06);
}
.hour-time{font-weight:900;text-transform:uppercase;color:var(--mcw-blue);font-size:.85rem}
.hour-card img{width:48px;height:48px;margin:.35rem auto;object-fit:contain}
.hour-temp{font-family:Arial Black,Arial,sans-serif;font-size:1.55rem;color:#111827}
.hour-pop{font-size:.78rem;color:#617083;font-weight:800}

.split-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:1.1rem;
  align-items:start;
}
.side-rail{display:grid;gap:1rem;position:sticky;top:128px}
.ad-box{
  min-height:250px;
  background:#fff;
  border:1px dashed #b6c6dc;
  border-radius:18px;
  padding:1rem;
  display:flex;align-items:center;justify-content:center;text-align:center;
  color:#617083;
  font-weight:900;
  text-transform:uppercase;
}
.radar-panel{
  background:#071a31;
  border-radius:22px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.radar-panel img{width:100%;height:auto}
.radar-panel .card-body{color:#fff}
.radar-panel p{color:#d7e7ff}

.radar-map-preview{
  position:relative;
  width:100%;
  min-height:210px;
  aspect-ratio:16/10.2;
  overflow:hidden;
  background:#071a31 url("assets/radar-placeholder.svg") center/cover no-repeat;
}

.radar-map-preview .mapboxgl-canvas{
  display:block;
}

.radar-map-preview .mapboxgl-ctrl-bottom-left,
.radar-map-preview .mapboxgl-ctrl-bottom-right{
  transform:scale(.72);
}

.radar-map-preview .mapboxgl-ctrl-bottom-left{
  transform-origin:bottom left;
}

.radar-map-preview .mapboxgl-ctrl-bottom-right{
  transform-origin:bottom right;
}

.radar-map-loading{
  position:absolute;
  inset:0;
  z-index:2;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,rgba(7,26,49,.84),rgba(7,26,49,.42));
  color:#ffffff;
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.02em;
}

.radar-map-preview.is-ready .radar-map-loading{
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease;
}

.radar-map-badge{
  position:absolute;
  left:.75rem;
  bottom:.75rem;
  z-index:3;
  max-width:calc(100% - 1.5rem);
  border-radius:999px;
  background:rgba(0,0,0,.72);
  color:#ffffff;
  padding:.34rem .62rem;
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif;
  font-size:.72rem;
  font-weight:900;
  line-height:1;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.radar-hero-band{
  background:linear-gradient(180deg,#092b57,#071a31);
  border-bottom:5px solid #000000;
  color:#ffffff;
  padding:2.1rem 0 2.35rem;
}

.radar-hero-band h1{
  margin:0;
  color:#ffffff;
  font-family:"HelveticaNeueHeavyExt","Helvetica Neue LT Std 83 Heavy Extended","Arial Black",Impact,Arial,sans-serif;
  font-size:clamp(3.4rem,7vw,6.2rem);
  line-height:.86;
  letter-spacing:-.07em;
  text-transform:uppercase;
}

.radar-hero-band p{
  max-width:820px;
  margin:.9rem 0 0;
  color:#ffffff;
  font-size:1.05rem;
  font-weight:900;
  line-height:1.4;
}

.radar-page-main{
  background:linear-gradient(180deg,#eef5fc 0%,#f8fbff 100%);
}

.radar-page-wrap{
  padding:2.1rem 0 2.6rem;
}

.radar-page-card{
  overflow:hidden;
  border-radius:24px;
  border:2px solid #b7cef0;
  background:#071a31;
  box-shadow:0 20px 44px rgba(8,25,53,.16);
}

.radar-map-full{
  min-height:680px;
  aspect-ratio:auto;
}

.radar-map-full .radar-map-badge{
  left:1rem;
  bottom:1rem;
  padding:.52rem .85rem;
  font-size:.86rem;
}

@media(max-width:760px){
  .radar-hero-band{
    padding:1.55rem 0 1.75rem;
  }

  .radar-hero-band h1{
    font-size:3.3rem;
  }

  .radar-page-wrap{
    padding:1rem 0 1.5rem;
  }

  .radar-page-card{
    border-radius:18px;
  }

  .radar-map-full{
    min-height:560px;
  }
}

.alert-list{display:grid;gap:.8rem}
.alert-item{
  border-left:7px solid var(--mcw-red);
  background:#fff;
  border-radius:16px;
  border-top:1px solid var(--mcw-border);
  border-right:1px solid var(--mcw-border);
  border-bottom:1px solid var(--mcw-border);
  padding:1rem;
  box-shadow:0 10px 24px rgba(7,22,48,.06);
}
.alert-item h3{margin:0 0 .25rem;color:#8f0d12}
.alert-item p{margin:.3rem 0;color:#334155}
.alert-meta{color:#64748b;font-weight:800;font-size:.85rem;text-transform:uppercase}

.sponsor-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.sponsor-card{
  background:#fff;
  border:1px solid var(--mcw-border);
  border-radius:18px;
  padding:.75rem;
  box-shadow:0 10px 24px rgba(7,22,48,.08);
}
.sponsor-card img{border-radius:12px;width:100%}

.package-card{
  position:relative;
  overflow:hidden;
}
.price{
  font-family:Arial Black,Arial,sans-serif;
  color:var(--mcw-red);
  font-size:2.1rem;
  letter-spacing:-.06em;
}
.package-card ul{padding-left:1.1rem;color:#46566b}
.package-card li{margin:.35rem 0}
.featured-package{
  border:2px solid var(--mcw-red);
}
.featured-package:before{
  content:"Most Popular";
  position:absolute;right:-38px;top:19px;
  transform:rotate(35deg);
  background:var(--mcw-red);color:#fff;
  padding:.35rem 2.4rem;
  font-size:.74rem;font-weight:900;text-transform:uppercase;
}

.page-hero{
  background:
    linear-gradient(90deg,rgba(7,26,49,.94),rgba(9,43,87,.86)),
    url("assets/radar-placeholder.svg") center/cover;
  color:#fff;
  padding:3rem 0;
  border-bottom:6px solid var(--mcw-red);
}
.page-hero .container{padding-top:0;padding-bottom:0}
.page-hero h1{margin:.8rem 0 .35rem}
.page-hero p{max-width:760px;color:#dce9ff;font-size:1.1rem}

.contact-band{
  margin-top:2rem;
  background:linear-gradient(90deg,var(--mcw-blue),#071a31);
  color:#fff;
  border-radius:24px;
  padding:1.35rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  box-shadow:var(--shadow);
}
.contact-band p{margin:0;color:#dce9ff}

.footer{
  background:#071a31;
  color:#cfe2ff;
  margin-top:2.5rem;
  border-top:6px solid var(--mcw-red);
}
.footer .container{
  display:grid;
  grid-template-columns:1.3fr .8fr .8fr;
  gap:1rem;
  padding-top:2rem;
}
.footer h3{color:#fff;margin-bottom:.5rem}
.footer a{display:block;color:#dce9ff;margin:.32rem 0}
.footer img{height:66px;width:auto;margin-bottom:.8rem}
.copyright{
  border-top:1px solid rgba(255,255,255,.14);
  margin-top:1rem;
  padding:1rem 0;
  text-align:center;
  color:#9db9df;
  font-size:.9rem;
}
.status{
  color:#64748b;
  background:#fff;
  border:1px solid var(--mcw-border);
  border-radius:14px;
  padding:.8rem;
  font-weight:700;
}
.status.error{color:#8f0d12;background:#fff7f7;border-color:#ffc7ca}
.status.good{color:#14532d;background:#f0fdf4;border-color:#bbf7d0}

.form{
  display:grid;
  gap:.8rem;
}
.form label{font-weight:900;color:#1f3552}
.form input,.form textarea{
  width:100%;
  border:1px solid var(--mcw-border);
  border-radius:12px;
  padding:.85rem;
  background:#fff;
}
.form textarea{min-height:130px;resize:vertical}
.small-note{font-size:.86rem;color:#64748b}


.hero-showcase .btn-blue{background:#fff;color:var(--mcw-blue)}
.hero-showcase .btn-outline{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.08)}

@media (max-width:950px){
  .hero,.split-layout,.grid-3,.grid-4,.footer .container{grid-template-columns:1fr}
  .side-rail{position:static}
  .sponsor-grid{grid-template-columns:repeat(2, minmax(0,1fr))}
  .hero-card{min-height:auto}
}
@media (max-width:780px){
  .header-main{align-items:flex-start}
  .logo{min-width:245px}
  .logo img{height:50px}
  .nav-toggle{display:inline-flex}
  .primary-nav{
    display:none;
    width:100%;
    flex-direction:column;
    align-items:stretch;
    padding:.75rem 1rem 1rem;
    border-top:1px solid var(--mcw-border);
  }
  .primary-nav.open{display:flex}
  .site-header .header-main{flex-wrap:wrap}
  .top-ad .wrap,.weather-strip .wrap{font-size:.75rem}
  .strip-title{display:none}
  .hero-meta{grid-template-columns:1fr}
  .section-head{display:block}
  .metric-grid{grid-template-columns:1fr}
  .contact-band{display:block}
  .sponsor-grid{grid-template-columns:1fr}
}
@media (max-width:520px){
  .container{padding-left:.78rem;padding-right:.78rem}
  h1{font-size:2.45rem}
  .current-main{grid-template-columns:1fr;text-align:center;justify-items:center}
}


/* === MCW font + header cleanup update === */
:root{
  --font-proxima:"ProximaNovaAltTh","Proxima Nova Alt Th","Proxima Nova",Arial,Helvetica,sans-serif;
  --font-weather-data:"HelveticaNeueHeavyExt","Helvetica Neue LT Std 83 Heavy Extended","Arial Black",Arial,sans-serif;
}

/* Everything general uses Proxima Nova Alt Th style */
body,
button,
input,
textarea,
.primary-nav a,
.live-chip,
.weather-strip,
.btn,
.card,
.card p,
.card-body,
.section-head,
.section-head p,
.label,
.updated,
.condition,
.metric span,
.day-head,
.day-desc,
.hour-time,
.hour-pop,
.alert-meta,
.contact-band,
.footer,
.ad-box,
.status,
.form,
.small-note,
.package-card ul,
.package-card li{
  font-family:var(--font-proxima);
}

/* Headings also use Proxima Nova Alt Th Bold instead of Arial Black */
h1,
h2,
h3,
.section-head h2,
.card h3,
.card-topper h2,
.card-topper h3,
.strip-title,
.price,
.page-hero h1{
  font-family:var(--font-proxima);
  font-weight:900;
  letter-spacing:-.025em;
}

/* Weather data values use Helvetica Neue Heavy Extended */
.temp,
.metric b,
.hero-stat b,
.day-temp,
.day-low,
.hour-temp,
.current-main .temp,
#hero-forecast b{
  font-family:var(--font-weather-data);
  font-weight:900;
  letter-spacing:-.055em;
}

/* Make header logo readable on the white header */
.logo{
  min-width:auto;
  background:linear-gradient(90deg,#06172d,#0b3268 70%,#0f4c91);
  padding:.32rem .8rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.25);
  box-shadow:0 8px 22px rgba(7,22,48,.14);
}
.logo img{
  height:54px;
  width:auto;
}

/* Slightly stronger TV-style homepage layout */
.hero{
  grid-template-columns:minmax(0,1.62fr) minmax(300px,.72fr);
  gap:1.3rem;
  align-items:start;
}
.hero-card{
  min-height:auto;
}
.hero-showcase-panel{
  padding:1rem 1.25rem 1.2rem;
}
.now-card{
  min-height:430px;
}
.current-main{
  padding-top:1.35rem;
}
.metric-grid{
  padding-bottom:1.35rem;
}

@media (max-width:950px){
  .hero{
    grid-template-columns:1fr;
  }
  .now-card{
    min-height:auto;
  }
}
@media (max-width:780px){
  .logo{
    padding:.25rem .55rem;
  }
  .logo img{
    height:44px;
  }
}


/* === MCW extra-bold readability fix === */
:root{
  --font-proxima:"ProximaNovaAltTh","Proxima Nova Alt Th","Proxima Nova",Arial,Helvetica,sans-serif;
  --font-weather-data:"HelveticaNeueHeavyExt","Helvetica Neue LT Std 83 Heavy Extended","Arial Black",Arial,sans-serif;
}

/* Proxima Nova Alt Th for all non-data text */
body,
button,
input,
textarea,
.primary-nav a,
.live-chip,
.weather-strip,
.strip-title,
.strip-scroll,
.btn,
.section-head,
.section-head p,
.card,
.card p,
.card-body,
.card-topper,
.condition,
.metric span,
.day-head,
.day-desc,
.hour-time,
.hour-pop,
.alert-meta,
.footer,
.footer a,
.footer h3,
.status,
.ad-box,
.label,
.updated,
.small-note,
.contact-band,
.package-card,
.package-card li{
  font-family:var(--font-proxima) !important;
  font-weight:900 !important;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}

/* Make the thin Proxima-style text visibly heavier without changing the font family */
.primary-nav a,
.live-chip,
.weather-strip,
.strip-title,
.btn,
.section-head h2,
.card-topper h2,
.card-topper h3,
.day-head,
.card h3,
.label{
  font-weight:950 !important;
  letter-spacing:.015em !important;
  text-shadow:.25px 0 currentColor, -.25px 0 currentColor;
}

/* Big section titles */
h1,
h2,
h3,
.section-head h2,
.page-hero h1{
  font-family:var(--font-proxima) !important;
  font-weight:950 !important;
  letter-spacing:-.005em !important;
  text-shadow:.35px 0 currentColor, -.35px 0 currentColor;
}

/* Weather-data numbers: current temp, wind, dewpoint, pressure, visibility, 7-day temps, hourly temps */
.temp,
.current-main .temp,
.metric b,
.hero-stat b,
.day-temp,
.day-low,
.hour-temp,
#current-conditions .temp,
#current-conditions .metric b,
#hero-forecast b,
#seven-day .day-temp,
#seven-day .day-low,
#hourly .hour-temp{
  font-family:var(--font-weather-data) !important;
  font-weight:950 !important;
  letter-spacing:-.065em !important;
  text-shadow:none !important;
}

/* Make the right-now temperature more obviously the Heavy Extended font */
#current-conditions .temp{
  font-size:clamp(3.35rem,6.8vw,5rem) !important;
  line-height:.95 !important;
}

/* Make smaller data boxes easier to read */
.metric b{
  font-size:1.08rem !important;
}

/* Forecast data readouts */
.day-temp{
  font-size:2.15rem !important;
}
.hour-temp{
  font-size:1.7rem !important;
}

/* Menu/readability */
.primary-nav a{
  color:#071a31 !important;
}
.weather-strip{
  font-weight:950 !important;
}

/* Keep logo readable */
.logo{
  min-width:auto;
  background:linear-gradient(90deg,#06172d,#0b3268 70%,#0f4c91);
  padding:.32rem .8rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.25);
  box-shadow:0 8px 22px rgba(7,22,48,.14);
}
.logo img{
  height:54px;
  width:auto;
}

/* Mobile */
@media (max-width:780px){
  .logo{padding:.25rem .55rem}
  .logo img{height:44px}
}


/* === MCW BLACK / HEAVIER TEXT UPDATE === */

/* Make regular Proxima text dark and heavier */
body{
  color:#020817 !important;
  font-weight:950 !important;
}

.primary-nav a,
.btn,
.section-head h2,
.section-head p,
.card h3,
.card p,
.label,
.condition,
.metric span,
.day-head,
.day-desc,
.hour-time,
.hour-pop,
.alert-meta,
.status,
.footer a,
.form label,
.small-note{
  font-weight:950 !important;
  color:#020817 !important;
  -webkit-text-stroke:.15px currentColor;
  text-shadow:.35px 0 currentColor, -.35px 0 currentColor, 0 .25px currentColor;
}

/* Header/nav specific readability */
.primary-nav a{
  color:#001a3d !important;
  letter-spacing:.02em !important;
}

.primary-nav a[aria-current="page"],
.primary-nav a:hover{
  color:#001a3d !important;
  background:#e6f0ff !important;
}

/* White/dark-background text should stay white but become heavier */
.live-chip,
.weather-strip,
.strip-title,
.strip-scroll,
.card-topper h2,
.card-topper h3,
.card-topper,
.hero-showcase-panel,
.hero-showcase-panel .btn-outline,
.hero-showcase-panel .hero-stat span,
.radar-panel,
.radar-panel h3,
.radar-panel p,
.footer,
.footer h3,
.footer p,
.footer .copyright,
.page-hero,
.page-hero p,
.contact-band,
.contact-band p{
  font-weight:950 !important;
  -webkit-text-stroke:.12px currentColor;
  text-shadow:.35px 0 currentColor, -.35px 0 currentColor, 0 .25px currentColor;
}

/* Keep the right-now header bold white */
.card-topper h2,
.card-topper h3{
  color:#ffffff !important;
  font-size:1.45rem !important;
}

/* Section titles stronger and darker */
.section-head h2,
#main h2,
.page-hero h1{
  color:#001a3d !important;
  font-weight:950 !important;
  letter-spacing:-.01em !important;
  -webkit-text-stroke:.25px currentColor;
  text-shadow:.5px 0 currentColor, -.5px 0 currentColor;
}

/* Button text stronger */
.btn{
  font-weight:950 !important;
  letter-spacing:.025em !important;
}
.btn-red{
  color:#fff !important;
  -webkit-text-stroke:.12px currentColor;
}
.btn-blue{
  color:#001a3d !important;
}
.btn-outline{
  color:#fff !important;
}

/* Weather data numbers: force Helvetica Heavy Extended and make very dark */
.temp,
.current-main .temp,
.metric b,
.hero-stat b,
.day-temp,
.day-low,
.hour-temp,
#current-conditions .temp,
#current-conditions .metric b,
#hero-forecast b,
#seven-day .day-temp,
#seven-day .day-low,
#hourly .hour-temp{
  font-family:var(--font-weather-data) !important;
  font-weight:950 !important;
  color:#001a3d !important;
  -webkit-text-stroke:0 !important;
  text-shadow:none !important;
}

/* Weather numbers sitting on dark hero boxes should stay white */
.hero-stat b,
#hero-forecast b{
  color:#ffffff !important;
}

/* Make current temp huge and bold */
#current-conditions .temp{
  font-size:clamp(3.5rem,7vw,5.2rem) !important;
  line-height:.9 !important;
}

/* Forecast temps bolder */
.day-temp{
  font-size:2.25rem !important;
}
.hour-temp{
  font-size:1.8rem !important;
}

/* Weather card label text darker */
.metric span{
  color:#40506a !important;
}
.metric b{
  color:#001a3d !important;
}

/* Forecast card top headers on dark blue stay white */
.day-head,
.day-head *{
  color:#ffffff !important;
}

/* Footer links/text stay readable on dark footer */
.footer,
.footer a,
.footer h3,
.footer p{
  color:#ffffff !important;
}

/* Alert ticker stays white/blue readable */
.weather-strip,
.weather-strip *{
  color:#ffffff !important;
}
.strip-scroll,
.strip-scroll *{
  color:#dce9ff !important;
}



/* === TRUE PROXIMA NOVA ALT TH BOLD LOOK UPDATE ===
   Upload the real font file to:
   public_html/fonts/ProximaNovaAltThBold.otf
   or:
   public_html/fonts/ProximaNovaAltTh-Bold.otf
*/
@font-face{
  font-family:"ProximaNovaAltThBold";
  src:
    local("Proxima Nova Alt Th Bold"),
    local("ProximaNova Alt Th Bold"),
    url("fonts/ProximaNovaAltThBold.otf") format("opentype"),
    url("fonts/ProximaNovaAltTh-Bold.otf") format("opentype"),
    url("fonts/ProximaNovaAltThBold.woff2") format("woff2"),
    url("fonts/ProximaNovaAltTh-Bold.woff2") format("woff2");
  font-weight:900;
  font-style:normal;
  font-display:swap;
}

/* This mimics the screenshot: bold, black, compressed TV-style Proxima */
body,
.primary-nav a,
.live-chip,
.weather-strip,
.strip-title,
.strip-scroll,
.btn,
.section-head h2,
.section-head p,
.card-topper h2,
.card-topper h3,
.card h3,
.label,
.condition,
.metric span,
.day-head,
.day-desc,
.hour-time,
.hour-pop,
.alert-meta,
.status,
.footer,
.footer a,
.footer h3,
.small-note,
.card p,
.updated,
.page-hero h1,
.page-hero p,
.contact-band,
.contact-band p{
  font-family:"ProximaNovaAltThBold","Proxima Nova Alt Th Bold","Arial Black","Arial Narrow",Arial,sans-serif !important;
  font-weight:900 !important;
  color:#000814 !important;
  letter-spacing:.005em !important;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}

/* Big section/header type should look like the provided sample */
.section-head h2,
#main h2,
.card-topper h2,
.card-topper h3,
.page-hero h1,
h1,
h2,
h3{
  font-family:"ProximaNovaAltThBold","Proxima Nova Alt Th Bold","Arial Black","Arial Narrow",Arial,sans-serif !important;
  font-weight:900 !important;
  color:#000000 !important;
  text-transform:uppercase !important;
  letter-spacing:-.018em !important;
  line-height:.9 !important;
}

/* Nav/button text: bold but cleaner */
.primary-nav a,
.btn,
.live-chip{
  font-family:"ProximaNovaAltThBold","Proxima Nova Alt Th Bold","Arial Black","Arial Narrow",Arial,sans-serif !important;
  font-weight:900 !important;
  letter-spacing:.018em !important;
}

/* White text on dark backgrounds stays white */
.weather-strip,
.weather-strip *,
.live-chip,
.live-chip *,
.card-topper,
.card-topper *,
.hero-showcase-panel,
.hero-showcase-panel *,
.radar-panel,
.radar-panel *,
.footer,
.footer *,
.page-hero,
.page-hero *,
.contact-band,
.contact-band *{
  color:#ffffff !important;
}

/* Data numbers stay Helvetica Heavy Extended */
.temp,
.current-main .temp,
.metric b,
.hero-stat b,
.day-temp,
.day-low,
.hour-temp,
#current-conditions .temp,
#current-conditions .metric b,
#hero-forecast b,
#seven-day .day-temp,
#seven-day .day-low,
#hourly .hour-temp{
  font-family:"HelveticaNeueHeavyExt","Helvetica Neue LT Std 83 Heavy Extended","Arial Black",Arial,sans-serif !important;
  font-weight:950 !important;
  color:#001a3d !important;
  letter-spacing:-.065em !important;
  text-shadow:none !important;
  -webkit-text-stroke:0 !important;
}

/* Data numbers on the dark hero cards stay white */
.hero-stat b,
#hero-forecast b{
  color:#ffffff !important;
}

/* Section title sizing more like the screenshot */
.section-head h2{
  font-size:clamp(1.9rem,3.3vw,2.75rem) !important;
}

/* Make menu not look faded */
.primary-nav a{
  color:#001a3d !important;
  opacity:1 !important;
}
.primary-nav a[aria-current="page"],
.primary-nav a:hover{
  color:#001a3d !important;
  background:#e6f0ff !important;
}

/* Weather card title on blue */
.card-topper h2{
  font-size:1.55rem !important;
}

/* Day headers stay white on dark blue */
.day-head,
.day-head *{
  color:#ffffff !important;
}



/* === USE UPLOADED PROXIMA NOVA EXTRABOLD FILE ===
   Upload the user's Proxima Nova Extrabold.ttf file to:
   public_html/fonts/ProximaNovaExtraBold.ttf
*/
@font-face{
  font-family:"ProximaNovaExtraBoldMCW";
  src:
    url("fonts/ProximaNovaExtraBold.ttf") format("truetype"),
    url("fonts/Proxima%20Nova%20Extrabold.ttf") format("truetype");
  font-weight:900;
  font-style:normal;
  font-display:swap;
}

/* Use the uploaded Proxima ExtraBold for everything except weather-data numbers */
body,
button,
input,
textarea,
.primary-nav a,
.live-chip,
.weather-strip,
.strip-title,
.strip-scroll,
.btn,
.section-head,
.section-head h2,
.section-head p,
.card,
.card p,
.card-body,
.card h3,
.card-topper,
.card-topper h2,
.card-topper h3,
.label,
.condition,
.metric span,
.day-head,
.day-desc,
.hour-time,
.hour-pop,
.alert-meta,
.status,
.footer,
.footer a,
.footer h3,
.small-note,
.page-hero,
.page-hero h1,
.page-hero p,
.contact-band,
.contact-band p{
  font-family:"ProximaNovaExtraBoldMCW","Proxima Nova ExtraBold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-weight:900 !important;
}

/* Make it visually closer to the bold sample */
.section-head h2,
#main h2,
.card-topper h2,
.card-topper h3,
h1,h2,h3{
  color:#000814 !important;
  text-transform:uppercase !important;
  letter-spacing:-.025em !important;
  line-height:.92 !important;
}

/* Dark-background text stays white */
.weather-strip,
.weather-strip *,
.live-chip,
.live-chip *,
.card-topper,
.card-topper *,
.hero-showcase-panel,
.hero-showcase-panel *,
.radar-panel,
.radar-panel *,
.footer,
.footer *,
.page-hero,
.page-hero *,
.contact-band,
.contact-band *{
  color:#fff !important;
}

/* Weather data numbers stay Helvetica Heavy Extended */
.temp,
.current-main .temp,
.metric b,
.hero-stat b,
.day-temp,
.day-low,
.hour-temp,
#current-conditions .temp,
#current-conditions .metric b,
#hero-forecast b,
#seven-day .day-temp,
#seven-day .day-low,
#hourly .hour-temp{
  font-family:"HelveticaNeueHeavyExt","Helvetica Neue LT Std 83 Heavy Extended","Arial Black",Arial,sans-serif !important;
  font-weight:950 !important;
  letter-spacing:-.065em !important;
  text-shadow:none !important;
  -webkit-text-stroke:0 !important;
}

/* Weather data values on white cards stay dark blue */
#current-conditions .temp,
#current-conditions .metric b,
#seven-day .day-temp,
#seven-day .day-low,
#hourly .hour-temp{
  color:#001a3d !important;
}

/* Weather data values on dark hero cards stay white */
.hero-stat b,
#hero-forecast b{
  color:#fff !important;
}

/* Slightly bigger data readouts */
#current-conditions .temp{
  font-size:clamp(3.6rem,7vw,5.3rem) !important;
}
.day-temp{
  font-size:2.25rem !important;
}
.hour-temp{
  font-size:1.8rem !important;
}


/* === MCW BOLD STEP-DOWN UPDATE ===
   Less aggressive than the super-black version, but still much bolder than before.
*/

/* Use uploaded Proxima ExtraBold for non-data text */
@font-face{
  font-family:"MCWProximaExtraBold";
  src:
    url("fonts/ProximaNovaExtraBold.ttf") format("truetype"),
    url("fonts/Proxima%20Nova%20Extrabold.ttf") format("truetype"),
    local("Proxima Nova Extrabold"),
    local("Proxima Nova ExtraBold");
  font-weight:900;
  font-style:normal;
  font-display:swap;
}

/* General text: bold and dark, but not over-stroked */
body,
button,
input,
textarea,
.primary-nav a,
.btn,
.section-head h2,
.section-head p,
.card h3,
.card p,
.label,
.condition,
.metric span,
.day-head,
.day-desc,
.hour-time,
.hour-pop,
.alert-meta,
.status,
.updated,
.small-note,
.form label,
.contact-band p,
.footer a,
.footer h3,
.footer p{
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-weight:900 !important;
  font-synthesis:weight !important;
}

/* Dark text on light backgrounds */
body,
.primary-nav a,
.section-head h2,
.section-head p,
.card h3,
.card p,
.condition,
.metric span,
.hour-pop,
.status,
.updated,
.small-note,
.form label{
  color:#06162d !important;
  opacity:1 !important;
  -webkit-text-stroke:0 !important;
  text-shadow:none !important;
}

/* Main titles: bold broadcast style, but not overly black */
.section-head h2,
#main h2,
.page-hero h1,
h1,
h2,
h3{
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-weight:900 !important;
  color:#03122a !important;
  text-transform:uppercase !important;
  letter-spacing:-.025em !important;
  line-height:.94 !important;
  -webkit-text-stroke:.08px currentColor !important;
  text-shadow:.18px 0 currentColor !important;
}

/* Menu readable but cleaner */
.primary-nav a{
  color:#06162d !important;
  font-size:1rem !important;
  letter-spacing:.01em !important;
  -webkit-text-stroke:0 !important;
  text-shadow:none !important;
}
.primary-nav a[aria-current="page"],
.primary-nav a:hover{
  color:#06162d !important;
  background:#e6f0ff !important;
}

/* Buttons */
.btn{
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-weight:900 !important;
  letter-spacing:.015em !important;
  -webkit-text-stroke:0 !important;
  text-shadow:none !important;
}
.btn-red,
.btn-outline{
  color:#ffffff !important;
}
.btn-blue{
  color:#06162d !important;
}

/* Dark blue areas stay white, but not overly stroked */
.weather-strip,
.weather-strip *,
.live-chip,
.live-chip *,
.card-topper,
.card-topper *,
.hero-showcase-panel,
.hero-showcase-panel *,
.radar-panel,
.radar-panel *,
.footer,
.footer *,
.page-hero,
.page-hero *,
.contact-band,
.contact-band *,
.day-head,
.day-head *{
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-weight:900 !important;
  color:#ffffff !important;
  opacity:1 !important;
  -webkit-text-stroke:0 !important;
  text-shadow:none !important;
}

/* Right Now header */
#current-conditions .card-topper h2,
#current-conditions .card-topper .updated{
  color:#ffffff !important;
}

/* Metric labels inside light boxes */
#current-conditions .metric span{
  color:#4b5870 !important;
  -webkit-text-stroke:0 !important;
  text-shadow:none !important;
}

/* Weather data numbers: Helvetica Neue Heavy Extended only */
.temp,
.current-main .temp,
.metric b,
.hero-stat b,
.day-temp,
.day-low,
.hour-temp,
#current-conditions .temp,
#current-conditions .metric b,
#hero-forecast b,
#seven-day .day-temp,
#seven-day .day-low,
#hourly .hour-temp{
  font-family:"HelveticaNeueHeavyExt","Helvetica Neue LT Std 83 Heavy Extended","Arial Black",Impact,Arial,sans-serif !important;
  font-weight:950 !important;
  font-synthesis:weight !important;
  letter-spacing:-.065em !important;
  -webkit-text-stroke:0 !important;
  text-shadow:none !important;
}

/* Data colors */
#current-conditions .temp,
#current-conditions .metric b,
#seven-day .day-temp,
#seven-day .day-low,
#hourly .hour-temp{
  color:#001a3d !important;
}
.hero-stat b,
#hero-forecast b{
  color:#ffffff !important;
}

/* Good size but not overdone */
#current-conditions .temp{
  font-size:clamp(3.6rem,7vw,5.3rem) !important;
  line-height:.9 !important;
}
.metric b{
  font-size:1.12rem !important;
}
.day-temp{
  font-size:2.25rem !important;
}
.hour-temp{
  font-size:1.8rem !important;
}
.section-head h2{
  font-size:clamp(1.9rem,3.3vw,2.75rem) !important;
}



/* =========================================================
   FORCE DARK BLUE / BLACK ACCENTS - MCW UPDATE
   This removes the red accent look site-wide.
   ========================================================= */

:root{
  --mcw-red:#001a3d !important;
  --mcw-red-dark:#000814 !important;
  --mcw-accent-dark:#001a3d !important;
  --mcw-accent-black:#000814 !important;
}

/* Hide old red top bar if any cached/old HTML still has it */
.top-ad{
  display:none !important;
}

/* Main horizontal alert strip bottom line */
.weather-strip{
  border-bottom:4px solid #001a3d !important;
}

/* Right Now red line */
.card-topper{
  border-bottom:4px solid #001a3d !important;
}

/* Hero bottom accent line */
.hero-card::after,
.hero-card:after{
  background:#001a3d !important;
}

/* Section underline under 7 Day Forecast, Sponsors, etc. */
.red-rule{
  background:#001a3d !important;
}

/* 7-day forecast card red stripe */
.day-head{
  border-bottom:4px solid #001a3d !important;
}

/* Footer and page hero borders */
.footer{
  border-top:6px solid #001a3d !important;
}
.page-hero{
  border-bottom:6px solid #001a3d !important;
}

/* Buttons that were red */
.btn-red{
  background:#001a3d !important;
  border-color:#001a3d !important;
  color:#ffffff !important;
}
.btn-red:hover{
  background:#000814 !important;
  border-color:#000814 !important;
}

/* Small red labels/pills */
.label,
.eyebrow{
  background:#001a3d !important;
  color:#ffffff !important;
}

/* Active alert item side stripe */
.alert-item{
  border-left-color:#001a3d !important;
}
.alert-item h3{
  color:#001a3d !important;
}

/* Featured package accents */
.featured-package{
  border-color:#001a3d !important;
}
.featured-package::before,
.featured-package:before{
  background:#001a3d !important;
}

/* Sponsor/card hover accents */
.sponsor-card:hover,
.day-card:hover,
.card:hover{
  border-color:#001a3d !important;
}

/* Extra specificity for generated forecast card headers */
#seven-day .day-head{
  border-bottom-color:#001a3d !important;
}

/* Any remaining inline-looking red rule shadows */
main .red-rule,
.container .red-rule,
.section-head .red-rule{
  background-color:#001a3d !important;
}

/* Keep live-dot red only because it means LIVE */
.live-dot{
  background:#e31b23 !important;
}



/* =========================================================
   MCW BLACK LINE + WHITE BUTTON FIX
   ========================================================= */

/* Replace accent lines with black / near-black */
.weather-strip{
  border-bottom:4px solid #000000 !important;
}
.card-topper{
  border-bottom:4px solid #000000 !important;
}
.red-rule,
.section-head .red-rule,
main .red-rule{
  background:#000000 !important;
}
.day-head{
  border-bottom:4px solid #000000 !important;
}
.hero-card::after,
.hero-card:after{
  background:#000000 !important;
}

/* Keep live chip dot red, but all other accents black */
.btn-red{
  background:#000000 !important;
  border-color:#000000 !important;
  color:#ffffff !important;
}
.btn-red:hover{
  background:#111111 !important;
  border-color:#111111 !important;
}

/* Fix the white Active Alerts button area */
.btn-blue{
  background:#ffffff !important;
  border:2px solid rgba(255,255,255,.75) !important;
  color:#0b1f3d !important;
}
.btn-blue,
.btn-blue *{
  color:#0b1f3d !important;
  -webkit-text-stroke:0 !important;
  text-shadow:none !important;
  opacity:1 !important;
}
.btn-blue:hover{
  background:#f2f6fb !important;
  color:#071a31 !important;
}
.hero-showcase .btn-blue{
  background:#ffffff !important;
  color:#0b1f3d !important;
}

/* Also keep outline button readable */
.btn-outline{
  color:#ffffff !important;
}

/* Backup fix if the middle button is inheriting white text */
.hero-actions a:nth-child(2){
  background:#ffffff !important;
  color:#0b1f3d !important;
  border-color:rgba(255,255,255,.75) !important;
}
.hero-actions a:nth-child(2) *{
  color:#0b1f3d !important;
}


/* =========================================================
   BIG WEATHER ALERTS TITLE + BUILT-IN ANIMATED FORECAST ICONS
   ========================================================= */

/* Top strip title: bigger and in Helvetica Neue Heavy Extended */
.weather-strip .wrap{
  min-height:58px !important;
  align-items:center !important;
}
.strip-title{
  min-width:360px !important;
}
.strip-title strong{
  font-family:"HelveticaNeueHeavyExt","Helvetica Neue LT Std 83 Heavy Extended","Arial Black",Impact,Arial,sans-serif !important;
  font-size:1.28rem !important;
  font-weight:950 !important;
  line-height:1 !important;
  letter-spacing:-.045em !important;
  text-transform:uppercase !important;
  color:#ffffff !important;
}

/* Built-in CSS animated weather icons, no outside script required */
.mcw-animated-icon{
  --icon-blue:#123f7c;
  --icon-sun:#ffbd26;
  --icon-sun-2:#ff8a00;
  --icon-cloud:#dfeaf6;
  --icon-rain:#1574d4;
  --icon-snow:#5ab4ff;
  width:74px;
  height:74px;
  position:relative;
  margin:.1rem auto .25rem;
  display:block;
}
.mcw-animated-icon.hourly-icon{
  width:58px;
  height:58px;
  margin:.25rem auto;
}
.icon-sun,.icon-moon,.icon-cloud,.icon-bolt,.icon-drop,.icon-snowflake,.icon-fog-line,.icon-wind-line{
  position:absolute;
  display:block;
}

/* Sun */
.icon-sun{
  width:44%;
  height:44%;
  left:18%;
  top:13%;
  border-radius:50%;
  background:radial-gradient(circle at 35% 32%, #fff176 0 12%, var(--icon-sun) 35%, var(--icon-sun-2) 100%);
  box-shadow:0 0 0 5px rgba(255,189,38,.25), 0 0 18px rgba(255,189,38,.5);
  animation:mcwSpin 8s linear infinite, mcwPulse 2.2s ease-in-out infinite;
}
.icon-sun:before{
  content:"";
  position:absolute;
  inset:-8px;
  border-radius:50%;
  background:conic-gradient(from 0deg, transparent 0 12deg, rgba(255,189,38,.75) 12deg 23deg, transparent 23deg 45deg);
  z-index:-1;
}

/* Moon */
.icon-moon{
  width:42%;
  height:42%;
  left:24%;
  top:14%;
  border-radius:50%;
  background:#f4f7ff;
  box-shadow:inset -10px 0 0 #9db7df, 0 0 12px rgba(157,183,223,.45);
}

/* Clouds */
.icon-cloud{
  width:62%;
  height:30%;
  left:24%;
  top:42%;
  border-radius:999px;
  background:linear-gradient(180deg,#ffffff,var(--icon-cloud));
  box-shadow:inset 0 -4px 0 rgba(18,63,124,.08), 0 4px 12px rgba(18,63,124,.16);
  animation:mcwCloud 3.6s ease-in-out infinite;
}
.icon-cloud:before,.icon-cloud:after{
  content:"";
  position:absolute;
  border-radius:50%;
  background:inherit;
}
.icon-cloud:before{
  width:42%;
  height:130%;
  left:13%;
  bottom:20%;
}
.icon-cloud:after{
  width:48%;
  height:160%;
  right:11%;
  bottom:10%;
}
.cloud-two{
  width:50%;
  height:24%;
  left:12%;
  top:50%;
  opacity:.82;
  animation-delay:-1.4s;
}

/* Rain */
.icon-drop{
  width:5px;
  height:16px;
  border-radius:999px;
  background:var(--icon-rain);
  top:70%;
  opacity:0;
  animation:mcwRain 1.05s linear infinite;
}
.drop-one{left:34%;}
.drop-two{left:50%;animation-delay:.22s;}
.drop-three{left:66%;animation-delay:.44s;}

/* Snow */
.icon-snowflake{
  color:var(--icon-snow);
  font:900 22px/1 Arial, sans-serif;
  top:66%;
  opacity:0;
  animation:mcwSnow 1.7s linear infinite;
}
.snow-one{left:32%;}
.snow-two{left:50%;animation-delay:.35s;}
.snow-three{left:66%;animation-delay:.7s;}

/* Lightning */
.icon-bolt{
  width:18%;
  height:36%;
  left:52%;
  top:58%;
  background:#ffd000;
  clip-path:polygon(42% 0,100% 0,64% 42%,100% 42%,28% 100%,48% 54%,10% 54%);
  filter:drop-shadow(0 0 5px rgba(255,208,0,.7));
  animation:mcwFlash 1.2s steps(2,end) infinite;
}

/* Fog */
.icon-fog-line{
  left:20%;
  width:62%;
  height:4px;
  border-radius:99px;
  background:#8aa1bb;
  opacity:.9;
  animation:mcwFog 2.4s ease-in-out infinite;
}
.fog-one{top:56%;}
.fog-two{top:67%;animation-delay:.35s;}
.fog-three{top:78%;animation-delay:.7s;}

/* Wind */
.icon-wind-line{
  left:14%;
  width:72%;
  height:5px;
  border-radius:999px;
  background:#7fa8d9;
  box-shadow:20px 11px 0 -1px #7fa8d9;
  animation:mcwWind 1.65s ease-in-out infinite;
}
.wind-one{top:42%;}
.wind-two{top:60%;animation-delay:.35s;}

/* Show/hide by weather type */
.icon-sunny .icon-cloud,.icon-sunny .icon-moon,.icon-sunny .icon-drop,.icon-sunny .icon-snowflake,.icon-sunny .icon-fog-line,.icon-sunny .icon-wind-line,.icon-sunny .icon-bolt{display:none;}
.icon-partly .cloud-two,.icon-partly .icon-moon,.icon-partly .icon-drop,.icon-partly .icon-snowflake,.icon-partly .icon-fog-line,.icon-partly .icon-wind-line,.icon-partly .icon-bolt{display:none;}
.icon-cloudy .icon-sun,.icon-cloudy .icon-moon,.icon-cloudy .icon-drop,.icon-cloudy .icon-snowflake,.icon-cloudy .icon-fog-line,.icon-cloudy .icon-wind-line,.icon-cloudy .icon-bolt{display:none;}
.icon-rain .icon-sun,.icon-rain .icon-moon,.icon-rain .icon-snowflake,.icon-rain .icon-fog-line,.icon-rain .icon-wind-line,.icon-rain .icon-bolt{display:none;}
.icon-storm .icon-sun,.icon-storm .icon-moon,.icon-storm .icon-snowflake,.icon-storm .icon-fog-line,.icon-storm .icon-wind-line{display:none;}
.icon-snow .icon-sun,.icon-snow .icon-moon,.icon-snow .icon-drop,.icon-snow .icon-fog-line,.icon-snow .icon-wind-line,.icon-snow .icon-bolt{display:none;}
.icon-sleet .icon-sun,.icon-sleet .icon-moon,.icon-sleet .icon-fog-line,.icon-sleet .icon-wind-line,.icon-sleet .icon-bolt{display:none;}
.icon-fog .icon-sun,.icon-fog .icon-moon,.icon-fog .icon-cloud,.icon-fog .icon-drop,.icon-fog .icon-snowflake,.icon-fog .icon-wind-line,.icon-fog .icon-bolt{display:none;}
.icon-wind .icon-sun,.icon-wind .icon-moon,.icon-wind .icon-cloud,.icon-wind .icon-drop,.icon-wind .icon-snowflake,.icon-wind .icon-fog-line,.icon-wind .icon-bolt{display:none;}
.icon-night .icon-sun,.icon-night .cloud-two,.icon-night .icon-drop,.icon-night .icon-snowflake,.icon-night .icon-fog-line,.icon-night .icon-wind-line,.icon-night .icon-bolt{display:none;}

/* Animations */
@keyframes mcwSpin{to{transform:rotate(360deg)}}
@keyframes mcwPulse{50%{transform:scale(1.06)}}
@keyframes mcwCloud{50%{transform:translateX(5px)}}
@keyframes mcwRain{0%{opacity:0;transform:translateY(-6px)}25%{opacity:1}100%{opacity:0;transform:translateY(14px)}}
@keyframes mcwSnow{0%{opacity:0;transform:translateY(-4px) rotate(0)}25%{opacity:1}100%{opacity:0;transform:translateY(16px) rotate(180deg)}}
@keyframes mcwFlash{50%{opacity:.35}}
@keyframes mcwFog{50%{transform:translateX(9px);opacity:.55}}
@keyframes mcwWind{50%{transform:translateX(10px);opacity:.55}}

/* Hide old NWS icon images if old markup somehow remains */
.day-body > img,
.hour-card > img{
  display:none !important;
}

@media (max-width:780px){
  .strip-title{min-width:auto !important;}
  .strip-title strong{font-size:1.05rem !important;}
}


/* =========================================================
   FORCE SAME ICON SYSTEM EVERYWHERE
   Right Now, 7 Day Forecast, and Hourly now all use .mcw-animated-icon.
   ========================================================= */

.current-main{
  grid-template-columns:auto 1fr !important;
}

.current-main .mcw-animated-icon.current-icon{
  width:84px !important;
  height:84px !important;
  margin:0 auto !important;
  background:linear-gradient(135deg,#eaf5ff,#ffffff) !important;
  border:1px solid #dbeafe !important;
  border-radius:22px !important;
  box-shadow:0 8px 18px rgba(7,22,48,.08) !important;
  overflow:visible !important;
}

.current-main .current-icon .icon-sun{
  width:38% !important;
  height:38% !important;
  left:23% !important;
  top:19% !important;
}
.current-main .current-icon .icon-cloud{
  width:56% !important;
  height:27% !important;
  left:28% !important;
  top:45% !important;
}

.day-body .mcw-animated-icon.forecast-icon{
  width:74px !important;
  height:74px !important;
}

.hour-card .mcw-animated-icon.hourly-icon{
  width:58px !important;
  height:58px !important;
}

/* Kill old emoji/NWS icons if cached markup appears */
.wx-icon,
.day-body > img,
.hour-card > img{
  display:none !important;
}

/* If old markup appears in Right Now, don't let it take space */
.current-main .wx-icon + div{
  grid-column:auto !important;
}

@media (max-width:520px){
  .current-main .mcw-animated-icon.current-icon{
    width:76px !important;
    height:76px !important;
  }
}


/* =========================================================
   LOWER PAGE READABILITY / SPONSOR SECTION CLEANUP
   ========================================================= */

/* Forecast cards above sponsors */
.card{
  background:#ffffff !important;
  border:1px solid #d7e3f1 !important;
  border-radius:22px !important;
  box-shadow:0 12px 30px rgba(8,25,53,.07) !important;
}
.card-body{
  padding:1.1rem 1.15rem !important;
}
.label{
  display:inline-block !important;
  padding:.28rem .62rem !important;
  border-radius:999px !important;
  background:#0a2a57 !important;
  color:#ffffff !important;
  font-size:.82rem !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
  margin-bottom:.55rem !important;
}
.card-body h3{
  color:#081f45 !important;
  font-size:1.05rem !important;
  font-weight:900 !important;
  line-height:1.12 !important;
  margin:.15rem 0 .55rem !important;
}
.card-body p{
  color:#132b52 !important;
  font-size:1.02rem !important;
  font-weight:700 !important;
  line-height:1.45 !important;
  margin:0 !important;
}

/* Section intro text */
.section-head p{
  color:#16345f !important;
  font-size:1.02rem !important;
  font-weight:800 !important;
}

/* Sponsors */
.sponsor-grid{
  gap:1rem !important;
}
.sponsor-card{
  background:#ffffff !important;
  border:1px solid #d7e3f1 !important;
  border-radius:22px !important;
  min-height:130px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:1rem !important;
  box-shadow:0 10px 24px rgba(7,22,48,.08) !important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
.sponsor-card:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 14px 30px rgba(7,22,48,.14) !important;
  border-color:#adc6e4 !important;
}
.sponsor-card img{
  max-width:92% !important;
  max-height:96px !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  display:block !important;
  filter:none !important;
}

body[data-page="advertising"] .sponsor-logo-wall{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:stretch !important;
  gap:1.15rem !important;
}

body[data-page="advertising"] .sponsor-logo-wall .sponsor-card{
  min-height:190px !important;
  background:#ffffff !important;
  padding:1rem 1.25rem !important;
}

body[data-page="advertising"] .sponsor-logo-wall .sponsor-card img{
  max-width:94% !important;
  max-height:150px !important;
}

body[data-page="advertising"] .sponsor-logo-wall .sponsor-card[data-sponsor="lowell-catholic"] img,
body[data-page="advertising"] .sponsor-logo-wall .sponsor-card[data-sponsor="revolution-fire"] img,
body[data-page="advertising"] .sponsor-logo-wall .sponsor-card[data-sponsor="lawndale-farm"] img{
  width:auto !important;
  max-width:78% !important;
  max-height:158px !important;
}

@media (max-width: 900px){
  body[data-page="advertising"] .sponsor-logo-wall{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width: 600px){
  body[data-page="advertising"] .sponsor-logo-wall{
    grid-template-columns:minmax(0,1fr) !important;
    gap:1rem !important;
  }

  body[data-page="advertising"] .sponsor-logo-wall .sponsor-card{
    min-height:220px !important;
    padding:1rem !important;
    border-radius:18px !important;
  }

  body[data-page="advertising"] .sponsor-logo-wall .sponsor-card img{
    max-width:94% !important;
    max-height:184px !important;
  }

  body[data-page="advertising"] .sponsor-logo-wall .sponsor-card[data-sponsor="lowell-catholic"] img,
  body[data-page="advertising"] .sponsor-logo-wall .sponsor-card[data-sponsor="revolution-fire"] img,
  body[data-page="advertising"] .sponsor-logo-wall .sponsor-card[data-sponsor="lawndale-farm"] img{
    max-width:76% !important;
    max-height:188px !important;
  }
}

body[data-page="advertising"] .contact-band{
  margin-top:2.25rem !important;
  padding:1.35rem 1.55rem !important;
  border-radius:20px !important;
  background:
    linear-gradient(90deg, rgba(7,26,49,.98) 0%, rgba(9,43,87,.96) 54%, rgba(7,26,49,.98) 100%) !important;
  border:1px solid rgba(188,208,234,.36) !important;
  box-shadow:0 18px 42px rgba(7,22,48,.16) !important;
}

body[data-page="advertising"] .contact-band h2{
  margin:0 0 .4rem !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  font-size:1.45rem !important;
  line-height:1 !important;
  text-transform:uppercase !important;
}

body[data-page="advertising"] .contact-band p{
  margin:0 !important;
  color:#dce9ff !important;
  -webkit-text-fill-color:#dce9ff !important;
  font-size:1rem !important;
  line-height:1.35 !important;
}

body[data-page="advertising"] .contact-band .btn{
  min-width:150px !important;
  justify-content:center !important;
  background:#ffffff !important;
  color:#071a31 !important;
  -webkit-text-fill-color:#071a31 !important;
  border:2px solid #ffffff !important;
  box-shadow:0 10px 22px rgba(0,0,0,.18) !important;
}

/* Sidebar boxes */
.ad-box{
  background:#ffffff !important;
  border:2px dashed #9eb9d8 !important;
  border-radius:22px !important;
  color:#36506f !important;
  font-size:1.2rem !important;
  font-weight:800 !important;
  line-height:1.45 !important;
  text-align:center !important;
  padding:2.2rem 1rem !important;
  min-height:250px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-direction:column !important;
}
.side-rail .card{
  background:#ffffff !important;
}
.side-rail .card-body h3{
  color:#081f45 !important;
  font-size:1.2rem !important;
  font-weight:900 !important;
  margin-bottom:.5rem !important;
}
.side-rail .card-body p{
  color:#132b52 !important;
  font-size:1rem !important;
  font-weight:700 !important;
  line-height:1.55 !important;
}

/* Footer readability fix */
.footer{
  background:linear-gradient(180deg,#06214a 0%, #03162f 100%) !important;
  color:#e8f1fb !important;
}
.footer .container{
  gap:2rem !important;
}
.footer img{
  max-width:230px !important;
  display:block !important;
  margin-bottom:1rem !important;
}
.footer h3{
  color:#ffffff !important;
  font-size:1.35rem !important;
  font-weight:900 !important;
  margin:0 0 .75rem !important;
}
.footer p,
.footer a{
  color:#deebfa !important;
  font-size:1rem !important;
  font-weight:700 !important;
  line-height:1.6 !important;
  text-decoration:none !important;
}
.footer a{
  display:block !important;
  margin:.2rem 0 !important;
}
.footer a:hover{
  color:#ffffff !important;
  text-decoration:underline !important;
}

/* Mobile tweak */
@media (max-width: 768px){
  .ad-box{
    min-height:190px !important;
    font-size:1rem !important;
  }
  .card-body p,
  .side-rail .card-body p{
    font-size:.96rem !important;
  }
}


/* =========================================================
   STRONG LOWER HOMEPAGE READABILITY UPDATE
   ========================================================= */

/* Today / Tonight forecast cards */
.grid.grid-2 .card{
  border:2px solid #c8d8eb !important;
  border-radius:24px !important;
  background:#ffffff !important;
  box-shadow:0 14px 34px rgba(8,25,53,.10) !important;
}
.grid.grid-2 .card-body{
  padding:1.35rem 1.45rem !important;
}
.grid.grid-2 .label{
  background:#071a31 !important;
  color:#ffffff !important;
  font-size:1.05rem !important;
  font-weight:900 !important;
  padding:.42rem .9rem !important;
  margin-bottom:.75rem !important;
  letter-spacing:.01em !important;
}
.grid.grid-2 .card h3{
  color:#001a3d !important;
  font-size:1.55rem !important;
  line-height:1 !important;
  font-weight:900 !important;
  margin-bottom:.7rem !important;
}
.grid.grid-2 .card p{
  color:#001a3d !important;
  font-size:1.22rem !important;
  line-height:1.45 !important;
  font-weight:900 !important;
  max-width:95% !important;
}

/* Sponsor section title and subtitle */
section .section-head h2{
  color:#001a3d !important;
}
section .section-head p{
  color:#001a3d !important;
  font-size:1.2rem !important;
  font-weight:900 !important;
  line-height:1.25 !important;
}

/* Homepage sponsors now use actual logos and larger cards */
.sponsor-grid-home{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:1.15rem !important;
}
.real-sponsor-card{
  min-height:160px !important;
  background:#ffffff !important;
  border:2px solid #c8d8eb !important;
  border-radius:24px !important;
  box-shadow:0 14px 34px rgba(8,25,53,.10) !important;
  padding:1.15rem !important;
}
.real-sponsor-card img{
  max-height:128px !important;
  max-width:96% !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
}

/* If placeholder sponsor SVGs are still cached, make their text readable */
.sponsor-card:not(.real-sponsor-card){
  background:#071a31 !important;
  color:#ffffff !important;
  min-height:150px !important;
  border:2px solid #c8d8eb !important;
}
.sponsor-card:not(.real-sponsor-card) img{
  filter:none !important;
}

/* Right rail boxes */
.ad-box{
  background:linear-gradient(180deg,#071a31,#0b3268) !important;
  border:0 !important;
  border-radius:24px !important;
  box-shadow:0 16px 36px rgba(8,25,53,.14) !important;
  color:#ffffff !important;
  min-height:230px !important;
  text-align:center !important;
  padding:1.5rem !important;
}
.ad-box strong{
  display:block !important;
  color:#ffffff !important;
  font-size:1.65rem !important;
  line-height:1 !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  margin-bottom:.65rem !important;
}
.ad-box span{
  display:block !important;
  color:#e4eefb !important;
  font-size:1.08rem !important;
  line-height:1.35 !important;
  font-weight:800 !important;
  text-transform:none !important;
}

/* Weather updates card */
.side-rail .card{
  border:2px solid #c8d8eb !important;
  border-radius:24px !important;
  background:#ffffff !important;
}
.side-rail .card-body{
  padding:1.3rem 1.4rem !important;
}
.side-rail .card-body h3{
  color:#001a3d !important;
  font-size:1.55rem !important;
  line-height:1 !important;
  font-weight:900 !important;
  margin-bottom:.65rem !important;
}
.side-rail .card-body p{
  color:#001a3d !important;
  font-size:1.15rem !important;
  line-height:1.45 !important;
  font-weight:900 !important;
}

/* Footer: force clear contrast */
.footer{
  background:#03162f !important;
  color:#ffffff !important;
}
.footer *{
  color:#ffffff !important;
}
.footer p,
.footer a{
  color:#e4eefb !important;
  font-size:1.05rem !important;
  font-weight:800 !important;
}
.footer h3{
  font-size:1.35rem !important;
  font-weight:900 !important;
}

/* Mobile */
@media (max-width: 950px){
  .sponsor-grid-home{
    grid-template-columns:1fr !important;
  }
  .grid.grid-2 .card p{
    font-size:1.08rem !important;
  }
}


/* =========================================================
   TODAY / TONIGHT LABEL TWEAK + REMOVE LOWER RIGHT UPDATES BOX
   ========================================================= */

.grid.grid-2 .label{
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: .92rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  background: #0a2a57 !important;
  color: #ffffff !important;
  padding: .34rem .82rem !important;
  border-radius: 999px !important;
  line-height: 1 !important;
}

/* Slightly soften the big titles below the pills too */
.grid.grid-2 .card h3{
  font-size: 1.45rem !important;
  line-height: 1.05 !important;
  letter-spacing: -.02em !important;
}

/* In case an old Weather Updates box is still cached in the DOM, hide it */
.side-rail .card:has(h3){
}
.side-rail .card .card-body h3{
  color:#001a3d !important;
}
.side-rail .card .card-body h3:is(:where(*)) {
}
.side-rail .card{
}
.side-rail .card .card-body h3{
}
.side-rail .card:has(.card-body h3){
}
.side-rail .card .card-body h3{
}
.side-rail .card .card-body h3{
}

/* More robust hide in browsers that support :has */
@supports selector(.side-rail .card:has(h3)) {
  .side-rail .card:has(.card-body h3){
    display: none !important;
  }
}


/* =========================================================
   RIGHT RAIL READABILITY FIX
   Fixes dark text on dark blue Live Radar and ad boxes.
   ========================================================= */

/* Live Radar dark card text */
.radar-panel{
  background:#071a31 !important;
  color:#ffffff !important;
}
.radar-panel .card-body{
  background:#071a31 !important;
  color:#ffffff !important;
}
.radar-panel .card-body h3,
.radar-panel h3{
  color:#ffffff !important;
  font-size:1.45rem !important;
  font-weight:900 !important;
  line-height:1 !important;
  margin-bottom:.55rem !important;
  text-shadow:none !important;
  -webkit-text-stroke:0 !important;
}
.radar-panel .card-body p,
.radar-panel p{
  color:#e6f0ff !important;
  font-size:1.03rem !important;
  font-weight:800 !important;
  line-height:1.45 !important;
  text-shadow:none !important;
  -webkit-text-stroke:0 !important;
}
.radar-panel .btn,
.radar-panel .btn-red{
  color:#ffffff !important;
  background:#000000 !important;
  border-color:#000000 !important;
}

/* Advertise Here box: make it readable but still clean */
.ad-box{
  background:linear-gradient(180deg,#071a31,#123f7c) !important;
  color:#ffffff !important;
  border:0 !important;
  border-radius:24px !important;
  box-shadow:0 16px 36px rgba(8,25,53,.14) !important;
}
.ad-box,
.ad-box *{
  color:#ffffff !important;
  text-shadow:none !important;
  -webkit-text-stroke:0 !important;
}
.ad-box strong{
  color:#ffffff !important;
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-size:1.55rem !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.005em !important;
  text-transform:uppercase !important;
}
.ad-box span{
  color:#dce9ff !important;
  font-size:1rem !important;
  font-weight:800 !important;
  line-height:1.35 !important;
}

.advertising-panel-link{
  cursor:pointer !important;
  text-decoration:none !important;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

.advertising-panel-link:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 20px 42px rgba(8,25,53,.22) !important;
  filter:brightness(1.08) !important;
}

.advertising-panel-link:focus-visible{
  outline:3px solid #245ea8 !important;
  outline-offset:4px !important;
}

/* Extra footer contrast safety */
.footer,
.footer *{
  text-shadow:none !important;
  -webkit-text-stroke:0 !important;
}
.footer h3{
  color:#ffffff !important;
}
.footer p,
.footer a{
  color:#e6f0ff !important;
}

/* Keep removed weather updates box hidden if old cached markup appears */
@supports selector(.side-rail .card:has(h3)) {
  .side-rail .card:has(h3){
    display:none !important;
  }
}


/* =========================================================
   TODAY / TONIGHT PILL SOFTEN FIX
   Makes the small top labels easier to read.
   ========================================================= */

.grid.grid-2 .label,
.grid-2 .label,
.card .label{
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 0.80rem !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  padding: 0.38rem 0.95rem !important;
  border-radius: 999px !important;
  background: #0a2a57 !important;
  color: #ffffff !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
}

/* Keep the large headings bold, but not the small pills */
.grid.grid-2 .card h3,
.grid-2 .card h3{
  color: #001a3d !important;
  font-weight: 800 !important;
}


/* =========================================================
   MATCH TODAY / TONIGHT CARDS TO HERO STAT STYLE
   ========================================================= */

.grid.grid-2 .card,
.grid-2 .card{
  background:linear-gradient(180deg,#102e52,#27476b) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  border-radius:16px !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

.grid.grid-2 .card-body,
.grid-2 .card-body{
  padding:1rem 1.1rem !important;
}

.grid.grid-2 .label,
.grid-2 .label,
.card .label{
  display:block !important;
  background:transparent !important;
  color:#d9e8ff !important;
  padding:0 !important;
  margin:0 0 .35rem !important;
  border-radius:0 !important;
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-size:.78rem !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  text-shadow:none !important;
  -webkit-text-stroke:0 !important;
}

.grid.grid-2 .card h3,
.grid-2 .card h3{
  color:#ffffff !important;
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-size:1.35rem !important;
  font-weight:900 !important;
  line-height:1.05 !important;
  letter-spacing:-.02em !important;
  text-transform:uppercase !important;
  margin:.15rem 0 .45rem !important;
  text-shadow:none !important;
  -webkit-text-stroke:0 !important;
}

.grid.grid-2 .card p,
.grid-2 .card p{
  color:#f1f6ff !important;
  font-size:1rem !important;
  font-weight:800 !important;
  line-height:1.4 !important;
  margin:0 !important;
  text-shadow:none !important;
  -webkit-text-stroke:0 !important;
}

.grid.grid-2 .card:hover,
.grid-2 .card:hover{
  border-color:rgba(255,255,255,.34) !important;
}


/* =========================================================
   AUTOMATIC SPONSOR LOGO ROTATOR
   ========================================================= */

.sponsor-rotator{
  position:relative !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  gap:.8rem !important;
  align-items:center !important;
  margin-top:.75rem !important;
}

.sponsor-track{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:1rem !important;
  transition:opacity .18s ease, transform .18s ease !important;
}

.sponsor-track.is-changing{
  opacity:.2 !important;
  transform:translateY(4px) !important;
}

.sponsor-slide{
  min-height:160px !important;
  background:#ffffff !important;
  border:2px solid #c8d8eb !important;
  border-radius:24px !important;
  box-shadow:0 14px 34px rgba(8,25,53,.10) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:1.15rem !important;
  overflow:hidden !important;
}

.sponsor-slide img{
  max-width:96% !important;
  max-height:125px !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
}

.sponsor-nav{
  width:42px !important;
  height:42px !important;
  border-radius:999px !important;
  border:0 !important;
  background:#071a31 !important;
  color:#ffffff !important;
  font-size:2rem !important;
  font-weight:900 !important;
  line-height:1 !important;
  display:grid !important;
  place-items:center !important;
  cursor:pointer !important;
  box-shadow:0 8px 18px rgba(7,22,48,.18) !important;
}

.sponsor-nav:hover{
  background:#000000 !important;
}

@media (max-width:950px){
  .sponsor-rotator{
    grid-template-columns:1fr !important;
  }
  .sponsor-track{
    grid-template-columns:1fr !important;
  }
  .sponsor-nav{
    display:none !important;
  }
}


/* =========================================================
   7-DAY DESCRIPTION + HOURLY TIME READABILITY FIX
   Make the condition text and hourly timestamps use the
   same easy-to-read bold style as the top labels/cards.
   ========================================================= */

.day-desc{
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-size:1rem !important;
  line-height:1.15 !important;
  font-weight:900 !important;
  color:var(--mcw-blue) !important;
  letter-spacing:-0.01em !important;
  text-transform:none !important;
  min-height:2.5em !important;
}

.hour-time{
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-size:1rem !important;
  line-height:1 !important;
  font-weight:900 !important;
  color:var(--mcw-blue) !important;
  letter-spacing:-0.01em !important;
  text-transform:uppercase !important;
}

/* keep other lower text readable too */
.hour-pop{
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-weight:800 !important;
  color:#4d5f77 !important;
}


/* =========================================================
   MAKE 7-DAY CONDITION TEXT + HOURLY TIMES MATCH HEADER STYLE
   ========================================================= */

.day-desc{
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-size:1.02rem !important;
  line-height:1.08 !important;
  font-weight:900 !important;
  color:var(--mcw-blue) !important;
  letter-spacing:0 !important;
  text-transform:uppercase !important;
  text-align:center !important;
  min-height:2.45em !important;
  margin-top:-.1rem !important;
}

.hour-time{
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-size:1.02rem !important;
  line-height:1 !important;
  font-weight:900 !important;
  color:var(--mcw-blue) !important;
  letter-spacing:0 !important;
  text-transform:uppercase !important;
  text-align:center !important;
}

/* Optional extra clarity for the wind line below each 7-day card */
.day-body > div:last-child{
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  color:var(--mcw-blue) !important;
  font-weight:900 !important;
}


/* ======================================================
   FINAL FONT/VISIBILITY MATCH
   Make 7-day condition text and hourly timestamps look
   like the 7-day forecast day headers.
   ====================================================== */

.day-card .day-desc,
#seven-day .day-desc,
.forecast-strip .day-desc {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 40px !important;
  margin: .1rem 0 .15rem !important;
  padding: .45rem .45rem !important;
  background: linear-gradient(180deg, var(--mcw-blue), #071a31) !important;
  color: #ffffff !important;
  border-radius: 12px !important;
  font-family: "MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-weight: 900 !important;
  font-size: .80rem !important;
  line-height: 1.15 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
}

.day-card .day-body,
#seven-day .day-body {
  gap: .5rem !important;
  padding: .85rem .6rem .95rem !important;
}

.hour-card,
#hourly .hour-card {
  overflow: hidden !important;
  padding: 0 0 .75rem !important;
}

.hour-card .hour-time,
#hourly .hour-time,
.hourly-strip .hour-time {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 36px !important;
  margin: 0 0 .5rem !important;
  padding: .5rem .25rem !important;
  background: linear-gradient(180deg, var(--mcw-blue), #071a31) !important;
  color: #ffffff !important;
  border-radius: 14px 14px 0 0 !important;
  font-family: "MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-weight: 900 !important;
  font-size: .85rem !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
}

.hour-card img,
.hour-card .mcw-animated-icon,
#hourly .mcw-animated-icon,
#hourly img {
  margin: .4rem auto .25rem !important;
}


/* =========================================================
   ALL PAGES THEME MATCH
   Makes forecast, alerts, closings, advertising, and graphics
   match the current homepage theme.
   ========================================================= */

.top-ad{display:none !important;}

.weather-strip{
  background:linear-gradient(90deg,#07254a,#092b57 65%,#07254a) !important;
  color:#fff !important;
  border-bottom:4px solid #000 !important;
}
.weather-strip .wrap{
  min-height:54px !important;
  align-items:center !important;
}
.weather-strip .strip-title,
.weather-strip .strip-title strong{
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial Black,Arial,Helvetica,sans-serif !important;
  font-weight:900 !important;
  font-size:1.02rem !important;
  text-transform:uppercase !important;
  letter-spacing:.03em !important;
}
.weather-strip .strip-scroll{
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-weight:800 !important;
}

.page-hero{
  margin:1.25rem auto 0 !important;
  background:transparent !important;
}
.page-hero .container{
  max-width:1180px !important;
  margin:0 auto !important;
  padding:1.15rem 1.35rem !important;
  border-radius:26px !important;
  background:linear-gradient(135deg,#062349 0%,#0b2f5f 55%,#0a264b 100%) !important;
  color:#fff !important;
  box-shadow:0 18px 45px rgba(7,22,48,.14) !important;
}
.page-hero .eyebrow{
  display:inline-flex !important;
  align-items:center !important;
  padding:.42rem .82rem !important;
  border-radius:999px !important;
  background:#0a1a30 !important;
  color:#fff !important;
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-size:.78rem !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.05em !important;
  margin-bottom:.75rem !important;
}
.page-hero h1{
  margin:.1rem 0 .35rem !important;
  color:#fff !important;
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial Black,Arial,Helvetica,sans-serif !important;
  font-size:clamp(2rem,4vw,3.2rem) !important;
  line-height:.96 !important;
  text-transform:uppercase !important;
  letter-spacing:-.02em !important;
}
.page-hero p{
  color:rgba(255,255,255,.92) !important;
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-weight:700 !important;
  font-size:1rem !important;
  max-width:860px !important;
}

.section-head h2,
.card-topper h2,
.side-card h3,
.package-card h3,
.card-body h3,
.footer-grid h3{
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial Black,Arial,Helvetica,sans-serif !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:-.02em !important;
  color:#071a31 !important;
}
.section-head p,
.card-body p,
.side-card p,
.package-card p,
.alert-card p,
.alert-card li,
.card-body li,
.footer-grid a,
.footer-grid p,
.updated,
.status{
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-weight:700 !important;
}
.red-rule{
  background:#000 !important;
  height:5px !important;
  width:96px !important;
  border-radius:999px !important;
}

.card,
.side-card,
.alert-card,
.package-card,
.placeholder-box,
.sponsor-slot{
  border-radius:24px !important;
  border:1px solid #bcd0ea !important;
  background:#fff !important;
  box-shadow:0 10px 24px rgba(7,22,48,.06) !important;
}

.card-topper,
.side-card .card-topper{
  background:linear-gradient(180deg,#0a2c59,#071a31) !important;
  color:#fff !important;
  border-radius:20px 20px 0 0 !important;
}
.card-topper h2,
.card-topper .updated{
  color:#fff !important;
}

.primary-nav a[aria-current="page"]{
  background:#eaf2ff !important;
  color:#092b57 !important;
}

/* Forecast/Hourly sections on forecast page visually match home */
#seven-day .day-card,
#hourly .hour-card{
  box-shadow:0 10px 22px rgba(7,22,48,.06) !important;
  border:1px solid #c9d8eb !important;
}

/* Mobile spacing */
@media (max-width: 760px){
  .page-hero .container{padding:1rem 1rem !important; border-radius:20px !important;}
  .weather-strip .wrap{min-height:48px !important;}
}


/* =========================================================
   FORECAST PAGE USES CUSTOM 7-DAY HTML EMBED
   ========================================================= */

.forecast-page-embed-container{
  margin-top:1.5rem !important;
}

.forecast-page-head{
  margin-bottom:.85rem !important;
}

.forecast-html-embed-card{
  width:100% !important;
  background:#ffffff !important;
  border:1px solid #bcd0ea !important;
  border-radius:26px !important;
  box-shadow:0 18px 45px rgba(7,22,48,.12) !important;
  overflow:hidden !important;
  padding:0 !important;
}

.forecast-html-embed{
  width:100% !important;
  min-height:780px !important;
  height:82vh !important;
  border:0 !important;
  display:block !important;
  background:#ffffff !important;
}

/* Make top logo consistent with homepage */
.site-header .logo img{
  max-height:64px !important;
  width:auto !important;
  object-fit:contain !important;
}

/* Forecast page spacing so the embedded graphic feels like part of the site */
body[data-page="forecast"] .page-hero{
  margin-bottom:1.25rem !important;
}

@media (max-width: 900px){
  .forecast-html-embed{
    min-height:720px !important;
    height:78vh !important;
  }
}

@media (max-width: 600px){
  .forecast-html-embed-card{
    border-radius:18px !important;
  }
  .forecast-html-embed{
    min-height:680px !important;
  }
}


/* =========================================================
   FORECAST EMBED FIT + HEADER LOGO UPDATE
   ========================================================= */

/* Top logo uses the uploaded long MCW logo and fits neatly in the header */
.site-header .logo{
  min-width:260px !important;
}
.site-header .logo img{
  height:70px !important;
  max-height:70px !important;
  width:auto !important;
  object-fit:contain !important;
  display:block !important;
}

/* Keep header spacing clean with the wider logo */
.header-main{
  align-items:center !important;
}

/* Forecast page: remove giant empty white padding and fit the 7-day HTML */
body[data-page="forecast"] .page-hero{
  display:none !important;
}

.forecast-page-embed-container{
  margin-top:1.4rem !important;
  max-width:1240px !important;
}

.forecast-page-head{
  margin-bottom:.65rem !important;
}

.forecast-html-embed-card{
  background:#ffffff !important;
  border:1px solid #bcd0ea !important;
  border-radius:24px !important;
  box-shadow:0 18px 45px rgba(7,22,48,.12) !important;
  overflow:hidden !important;
  padding:0 !important;
}

/* The iframe now shows the full uploaded forecast scaled down instead of cropped */
.forecast-html-embed{
  width:100% !important;
  height:720px !important;
  min-height:720px !important;
  border:0 !important;
  display:block !important;
  background:#ffffff !important;
}

/* Make the forecast page feel tighter like a graphic page */
body[data-page="forecast"] main{
  padding-top:1rem !important;
}

@media (max-width: 1100px){
  .site-header .logo{
    min-width:220px !important;
  }
  .site-header .logo img{
    height:58px !important;
    max-height:58px !important;
  }
  .forecast-html-embed{
    height:620px !important;
    min-height:620px !important;
  }
}

@media (max-width: 700px){
  .site-header .logo{
    min-width:180px !important;
  }
  .site-header .logo img{
    height:48px !important;
    max-height:48px !important;
  }
  .forecast-html-embed{
    height:520px !important;
    min-height:520px !important;
  }
}


/* =========================================================
   FORECAST IFRAME FULL-WIDTH FIT FIX V2
   ========================================================= */

body[data-page="forecast"] .forecast-page-embed-container{
  max-width:1280px !important;
  margin-top:1rem !important;
}

body[data-page="forecast"] .forecast-html-embed-card{
  width:100% !important;
  min-height:760px !important;
  background:#ffffff !important;
  border:1px solid #bcd0ea !important;
  border-radius:24px !important;
  overflow:hidden !important;
  padding:0 !important;
}

body[data-page="forecast"] .forecast-html-embed{
  width:100% !important;
  height:760px !important;
  min-height:760px !important;
  border:0 !important;
  display:block !important;
  background:#ffffff !important;
}

/* Pull the embedded forecast higher and remove the huge white feel */
body[data-page="forecast"] main{
  padding-top:.75rem !important;
}

@media (max-width:1100px){
  body[data-page="forecast"] .forecast-html-embed,
  body[data-page="forecast"] .forecast-html-embed-card{
    height:680px !important;
    min-height:680px !important;
  }
}

@media (max-width:700px){
  body[data-page="forecast"] .forecast-html-embed,
  body[data-page="forecast"] .forecast-html-embed-card{
    height:560px !important;
    min-height:560px !important;
  }
}


/* =========================================================
   WEATHER ALERTS TOP BAR — BIGGER + HELVETICA HEAVY EXTENDED
   ========================================================= */

.weather-strip{
  min-height:64px !important;
  background:linear-gradient(90deg,#061b34,#092b57 55%,#061b34) !important;
  border-bottom:5px solid #000000 !important;
}

.weather-strip .wrap{
  min-height:64px !important;
  display:grid !important;
  grid-template-columns:minmax(260px, 420px) minmax(0, 1fr) !important;
  align-items:center !important;
  gap:1.25rem !important;
}

.weather-strip .strip-title{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  min-width:0 !important;
}

.weather-strip .strip-title strong{
  font-family:"HelveticaNeueHeavyExt","Helvetica Neue LT Std 83 Heavy Extended","Arial Black",Impact,Arial,sans-serif !important;
  font-size:1.45rem !important;
  font-weight:900 !important;
  line-height:.95 !important;
  letter-spacing:-.055em !important;
  text-transform:uppercase !important;
  color:#ffffff !important;
  text-shadow:0 2px 4px rgba(0,0,0,.28) !important;
  -webkit-text-stroke:0 !important;
  white-space:nowrap !important;
}

.weather-strip .strip-scroll,
.weather-strip .strip-scroll span{
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-size:.98rem !important;
  font-weight:900 !important;
  line-height:1.1 !important;
  color:#ffffff !important;
}

@media (max-width: 900px){
  .weather-strip .wrap{
    grid-template-columns:1fr !important;
    gap:.35rem !important;
    padding-top:.6rem !important;
    padding-bottom:.6rem !important;
  }
  .weather-strip .strip-title strong{
    font-size:1.25rem !important;
  }
  .weather-strip .strip-scroll,
  .weather-strip .strip-scroll span{
    font-size:.88rem !important;
  }
}


/* =========================================================
   SUBMIT YOUR PIC PAGE
   Replaces the old School Closings page.
   ========================================================= */

body[data-page="closings"] .page-hero.submit-pic-hero .container{
  background:
    radial-gradient(circle at 85% 20%, rgba(45,128,255,.35), transparent 32%),
    linear-gradient(135deg,#061b34 0%,#092b57 55%,#071a31 100%) !important;
  border-radius:28px !important;
  box-shadow:0 18px 45px rgba(7,22,48,.16) !important;
}

body[data-page="closings"] .page-hero h1{
  color:#ffffff !important;
  font-family:"HelveticaNeueHeavyExt","Helvetica Neue LT Std 83 Heavy Extended","Arial Black",Impact,Arial,sans-serif !important;
  font-size:clamp(2.4rem,5vw,4.35rem) !important;
  letter-spacing:-.06em !important;
}

body[data-page="closings"] .page-hero p{
  color:#f0f6ff !important;
  max-width:980px !important;
  font-size:1.05rem !important;
  font-weight:800 !important;
}

.submit-pic-page{
  margin-top:1.65rem !important;
}

.submit-photo-card{
  background:#ffffff !important;
  border:1px solid #bcd0ea !important;
  border-radius:24px !important;
  overflow:hidden !important;
  box-shadow:0 14px 32px rgba(7,22,48,.08) !important;
}

.submit-photo-card .card-topper{
  background:linear-gradient(180deg,#092b57,#071a31) !important;
  border-bottom:4px solid #000 !important;
}

.submit-photo-card .card-topper h2,
.submit-photo-card .card-topper .updated{
  color:#ffffff !important;
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  text-shadow:none !important;
}

.submit-photo-card .card-body{
  padding:1.25rem 1.35rem !important;
}

.submit-photo-card .card-body p,
.submit-photo-card .card-body li{
  color:#071a31 !important;
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-size:1.05rem !important;
  line-height:1.5 !important;
  font-weight:800 !important;
}

.submit-photo-card .btn{
  margin-top:1rem !important;
}

.submit-list{
  margin:0 !important;
  padding-left:1.2rem !important;
}

.submit-list li{
  margin:.45rem 0 !important;
}

.submit-types{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:1rem !important;
  margin-top:1.25rem !important;
}

.submit-type{
  background:linear-gradient(180deg,#ffffff,#f3f8ff) !important;
  border:1px solid #bcd0ea !important;
  border-radius:22px !important;
  padding:1.2rem !important;
  box-shadow:0 10px 24px rgba(7,22,48,.06) !important;
}

.submit-type span{
  display:block !important;
  font-size:2.15rem !important;
  margin-bottom:.45rem !important;
}

.submit-type h3{
  margin:0 0 .35rem !important;
  color:#071a31 !important;
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-size:1.2rem !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
}

.submit-type p{
  margin:0 !important;
  color:#17365f !important;
  font-size:.96rem !important;
  font-weight:800 !important;
  line-height:1.45 !important;
}

@media (max-width:900px){
  .submit-types{
    grid-template-columns:1fr !important;
  }
}

/* =========================================================
   SUBMIT YOUR PIC — POSTER HERO UPGRADE
   ========================================================= */
.submit-pic-hero-v2{
  padding:2.1rem 0 1.4rem !important;
  background:radial-gradient(circle at 15% 20%, rgba(255,120,35,.18), transparent 24%),radial-gradient(circle at 84% 30%, rgba(35,100,255,.16), transparent 30%),linear-gradient(180deg,#f5f9ff 0%, #eaf2fb 100%) !important;
}
.submit-hero-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr) !important;
  gap:1.4rem !important;
  align-items:stretch !important;
}
.submit-hero-copy{
  position:relative !important;
  overflow:hidden !important;
  border-radius:30px !important;
  padding:2rem !important;
  min-height:470px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  background:linear-gradient(90deg, rgba(5,18,37,.94), rgba(8,38,78,.78)),radial-gradient(circle at 25% 80%, rgba(255,128,0,.6), transparent 34%),linear-gradient(135deg,#061b34,#0b3a75) !important;
  box-shadow:0 22px 50px rgba(7,22,48,.18) !important;
}
.submit-hero-copy:before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(115deg, transparent 0 52%, rgba(255,255,255,.08) 52% 54%, transparent 54%),radial-gradient(circle at 92% 15%, rgba(255,208,80,.28), transparent 18%) !important;
  pointer-events:none !important;
}
.submit-hero-copy > *{position:relative !important;z-index:2 !important;}
.submit-hero-copy .eyebrow{
  width:max-content !important;
  background:#000000 !important;
  color:#ffffff !important;
  border-radius:999px !important;
  padding:.46rem .9rem !important;
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-weight:900 !important;
  letter-spacing:.05em !important;
  text-transform:uppercase !important;
  margin-bottom:1rem !important;
}
.submit-hero-copy h1{
  margin:0 !important;
  color:#ffffff !important;
  font-family:"HelveticaNeueHeavyExt","Helvetica Neue LT Std 83 Heavy Extended","Arial Black",Impact,Arial,sans-serif !important;
  font-size:clamp(3rem,7vw,6.4rem) !important;
  line-height:.88 !important;
  letter-spacing:-.07em !important;
  text-transform:uppercase !important;
  text-shadow:0 5px 18px rgba(0,0,0,.35) !important;
}
.submit-hero-copy .hero-lead{
  max-width:760px !important;
  margin:1rem 0 0 !important;
  color:#ffffff !important;
  font-size:1.14rem !important;
  line-height:1.42 !important;
  font-weight:850 !important;
  text-shadow:0 2px 8px rgba(0,0,0,.25) !important;
}
.submit-hero-actions{display:flex !important;flex-wrap:wrap !important;gap:.75rem !important;margin-top:1.25rem !important;}
.btn-outline-light{background:#ffffff !important;color:#071a31 !important;border:2px solid #ffffff !important;}
.submit-quick-note{
  margin-top:1rem !important;
  color:#dcecff !important;
  font-weight:900 !important;
  font-size:.95rem !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
}
.submit-poster-card{
  border-radius:30px !important;
  overflow:hidden !important;
  background:#071a31 !important;
  box-shadow:0 22px 50px rgba(7,22,48,.22) !important;
  border:1px solid rgba(255,255,255,.4) !important;
  min-height:470px !important;
}
.submit-poster-card img{
  width:100% !important;
  height:100% !important;
  min-height:470px !important;
  object-fit:cover !important;
  display:block !important;
}
.submit-pic-page-v2{margin-top:1.2rem !important;padding-bottom:2rem !important;}
.submit-banner{
  background:linear-gradient(90deg,#071a31,#0d3a77) !important;
  color:#ffffff !important;
  border-radius:26px !important;
  padding:1.3rem 1.45rem !important;
  box-shadow:0 14px 32px rgba(7,22,48,.12) !important;
  margin-bottom:1.1rem !important;
}
.submit-banner div{display:flex !important;align-items:center !important;gap:1rem !important;flex-wrap:wrap !important;}
.submit-banner span{font-size:2.4rem !important;}
.submit-banner h2{margin:0 !important;color:#ffffff !important;font-size:1.85rem !important;font-weight:900 !important;text-transform:uppercase !important;}
.submit-banner p{margin:0 !important;color:#dcecff !important;font-weight:800 !important;}
.submit-types-v2{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:1rem !important;
  margin-bottom:1.25rem !important;
}
.submit-type-v2{
  border-radius:24px !important;
  padding:1.25rem !important;
  min-height:190px !important;
  color:#ffffff !important;
  box-shadow:0 14px 32px rgba(7,22,48,.12) !important;
  overflow:hidden !important;
  position:relative !important;
}
.submit-type-v2:after{
  content:"" !important;
  position:absolute !important;
  inset:auto -25% -45% auto !important;
  width:180px !important;
  height:180px !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.12) !important;
}
.submit-type-v2.storm{background:linear-gradient(135deg,#061b34,#123f7c) !important;}
.submit-type-v2.sunset{background:linear-gradient(135deg,#43135e,#f05a22) !important;}
.submit-type-v2.local{background:linear-gradient(135deg,#071a31,#0f7b6c) !important;}
.submit-type-v2 span{font-size:2.35rem !important;display:block !important;margin-bottom:.55rem !important;}
.submit-type-v2 h3{margin:0 0 .45rem !important;color:#ffffff !important;font-size:1.32rem !important;line-height:1 !important;font-weight:900 !important;text-transform:uppercase !important;}
.submit-type-v2 p{margin:0 !important;color:#f2f7ff !important;font-size:1rem !important;line-height:1.42 !important;font-weight:800 !important;}
.submit-info-grid{margin-top:0 !important;}
@media (max-width: 980px){
  .submit-hero-grid{grid-template-columns:1fr !important;}
  .submit-poster-card,.submit-poster-card img{min-height:auto !important;}
  .submit-poster-card img{aspect-ratio:1/1 !important;}
  .submit-types-v2{grid-template-columns:1fr !important;}
}
@media (max-width: 600px){
  .submit-hero-copy{padding:1.35rem !important;min-height:390px !important;}
  .submit-hero-copy h1{font-size:3.25rem !important;}
}

/* CLEAN SUBMIT YOUR PIC REDESIGN */
.submit-clean-main{background:linear-gradient(180deg,#eef5fc 0%,#f7fbff 100%)!important}.submit-clean-hero{position:relative!important;overflow:hidden!important;padding:2.2rem 0!important;min-height:560px!important;display:flex!important;align-items:center!important;background:#071a31!important}.submit-clean-bg{position:absolute!important;inset:0!important;background:linear-gradient(90deg,rgba(3,10,25,.94) 0%,rgba(5,18,40,.82) 42%,rgba(5,18,40,.35) 100%),url("assets/submit-your-pic-poster.png") center/cover no-repeat!important;filter:saturate(1.1) contrast(1.08)!important;transform:scale(1.02)!important}.submit-clean-hero:after{content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(115deg,transparent 0 52%,rgba(255,255,255,.08) 52% 54%,transparent 54%),radial-gradient(circle at 18% 82%,rgba(255,132,30,.34),transparent 26%)!important;pointer-events:none!important}.submit-clean-inner{position:relative!important;z-index:2!important;display:grid!important;grid-template-columns:minmax(0,1fr) 360px!important;gap:1.6rem!important;align-items:center!important}.submit-clean-copy{max-width:840px!important}.submit-kicker{display:inline-flex!important;background:#000!important;color:#fff!important;border-radius:999px!important;padding:.5rem .9rem!important;margin-bottom:1rem!important;font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif!important;font-weight:900!important;letter-spacing:.05em!important;text-transform:uppercase!important;font-size:.82rem!important}.submit-clean-copy h1{margin:0!important;color:#fff!important;font-family:"HelveticaNeueHeavyExt","Helvetica Neue LT Std 83 Heavy Extended","Arial Black",Impact,Arial,sans-serif!important;font-size:clamp(3.3rem,8vw,7rem)!important;line-height:.86!important;letter-spacing:-.075em!important;text-transform:uppercase!important;text-shadow:0 8px 24px rgba(0,0,0,.45)!important}.submit-clean-copy p{max-width:760px!important;margin:1.1rem 0 0!important;color:#fff!important;font-size:1.18rem!important;font-weight:850!important;line-height:1.42!important;text-shadow:0 2px 10px rgba(0,0,0,.42)!important}.submit-clean-actions{display:flex!important;flex-wrap:wrap!important;gap:.8rem!important;margin-top:1.35rem!important}.btn-white{background:#fff!important;color:#071a31!important;border:2px solid #fff!important}.submit-clean-poster{border-radius:28px!important;overflow:hidden!important;box-shadow:0 22px 55px rgba(0,0,0,.35)!important;border:3px solid rgba(255,255,255,.75)!important;background:#000!important}.submit-clean-poster img{width:100%!important;aspect-ratio:1/1!important;object-fit:cover!important;display:block!important}.submit-clean-section{padding:2.1rem 0 2.4rem!important}.submit-clean-section .section-head{align-items:flex-end!important;margin-bottom:1rem!important}.submit-clean-section .section-head h2{color:#071a31!important;font-family:"HelveticaNeueHeavyExt","Helvetica Neue LT Std 83 Heavy Extended","Arial Black",Impact,Arial,sans-serif!important;font-size:clamp(2rem,4vw,3rem)!important;letter-spacing:-.06em!important}.submit-clean-section .section-head p{color:#0b2e5a!important;font-weight:900!important;font-size:1.05rem!important;max-width:620px!important}.submit-clean-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1rem!important}.submit-clean-card{overflow:hidden!important;border-radius:22px!important;background:#fff!important;border:1px solid #bcd0ea!important;box-shadow:0 12px 26px rgba(7,22,48,.08)!important}.submit-card-head{background:linear-gradient(180deg,#092b57,#071a31)!important;color:#fff!important;padding:.9rem 1rem!important;font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif!important;font-size:1.08rem!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.02em!important}.submit-card-body{padding:1rem!important}.submit-card-body p{margin:0!important;color:#071a31!important;font-size:1rem!important;line-height:1.45!important;font-weight:800!important}.submit-clean-info{display:grid!important;grid-template-columns:minmax(0,1fr) 360px!important;gap:1rem!important;margin-top:1rem!important}.submit-info-panel,.submit-send-panel{background:#fff!important;border:1px solid #bcd0ea!important;border-radius:22px!important;padding:1.2rem!important;box-shadow:0 12px 26px rgba(7,22,48,.08)!important}.submit-info-panel h3,.submit-send-panel h3{margin:0 0 .8rem!important;color:#071a31!important;font-size:1.35rem!important;font-weight:900!important;text-transform:uppercase!important}.submit-info-panel ul{margin:0!important;padding-left:1.2rem!important}.submit-info-panel li,.submit-send-panel p{color:#071a31!important;font-size:1rem!important;font-weight:800!important;line-height:1.55!important;margin:.35rem 0!important}@media(max-width:980px){.submit-clean-inner,.submit-clean-info{grid-template-columns:1fr!important}.submit-clean-poster{max-width:420px!important;margin:0 auto!important}.submit-clean-cards{grid-template-columns:1fr!important}}@media(max-width:620px){.submit-clean-hero{min-height:auto!important;padding:1.6rem 0!important}.submit-clean-copy h1{font-size:3.3rem!important}.submit-clean-copy p{font-size:1.02rem!important}}


/* =========================================================
   SPONSOR IMAGE FALLBACK + SIMPLE FOOTER FIX
   ========================================================= */

/* Sponsor cards: no broken-image icons. If a logo file is missing, show clean sponsor text. */
.sponsor-slide{
  position:relative !important;
}

.sponsor-name-fallback{
  display:none !important;
  color:#071a31 !important;
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-size:1.15rem !important;
  font-weight:900 !important;
  line-height:1.15 !important;
  text-align:center !important;
  text-transform:uppercase !important;
  padding:.35rem !important;
}

.sponsor-slide.logo-missing{
  background:linear-gradient(180deg,#ffffff,#f2f7ff) !important;
  border:2px solid #bcd0ea !important;
}

.sponsor-slide.logo-missing .sponsor-name-fallback{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:86px !important;
}

.sponsor-slide.logo-missing:after{
  content:"Logo file missing" !important;
  position:absolute !important;
  left:50% !important;
  bottom:.65rem !important;
  transform:translateX(-50%) !important;
  color:#57708f !important;
  font-size:.72rem !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
}

/* Minimal footer: only logo + copyright. No stretched logo, no extra columns. */
.footer.footer-simple{
  background:#041b36 !important;
  color:#ffffff !important;
  padding:1.35rem 0 !important;
  border-top:4px solid #000000 !important;
}

.footer-simple .footer-simple-inner{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:1rem !important;
  flex-wrap:wrap !important;
  text-align:center !important;
}

.footer-simple-logo{
  width:auto !important;
  height:42px !important;
  max-height:42px !important;
  max-width:210px !important;
  object-fit:contain !important;
  display:block !important;
  filter:none !important;
}

.footer-simple-copy{
  color:#ffffff !important;
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-weight:900 !important;
  font-size:1rem !important;
  letter-spacing:.01em !important;
}

.footer.footer-simple .copyright{
  display:none !important;
}

@media (max-width:600px){
  .footer-simple-logo{
    height:34px !important;
    max-height:34px !important;
  }
  .footer-simple-copy{
    font-size:.9rem !important;
  }
}


/* =========================================================
   SPONSOR LOGO + COPYRIGHT-ONLY FOOTER FINAL FIX
   ========================================================= */

.sponsor-track{
  align-items:stretch !important;
}

.sponsor-slide{
  position:relative !important;
  background:#ffffff !important;
  border:2px solid #bcd0ea !important;
  border-radius:22px !important;
  min-height:158px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:1rem !important;
  overflow:hidden !important;
}

.sponsor-slide img{
  display:block !important;
  max-width:92% !important;
  max-height:118px !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  filter:none !important;
}

.sponsor-name-fallback{
  display:none !important;
  color:#071a31 !important;
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-size:1.1rem !important;
  font-weight:900 !important;
  line-height:1.15 !important;
  text-align:center !important;
  text-transform:uppercase !important;
}

.sponsor-slide.logo-missing img{
  display:none !important;
}

.sponsor-slide.logo-missing .sponsor-name-fallback{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:90px !important;
}

/* Footer: only the copyright line, no logo and no extra columns. */
.footer.footer-copyright-only{
  background:#041b36 !important;
  color:#ffffff !important;
  border-top:4px solid #000000 !important;
  padding:1.15rem 0 !important;
  min-height:auto !important;
}

.footer-copyright-inner{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
  color:#ffffff !important;
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-size:1rem !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
}

/* Hide any old footer content if cached CSS/HTML lingers */
.footer.footer-copyright-only img,
.footer.footer-copyright-only h3,
.footer.footer-copyright-only a,
.footer.footer-copyright-only p,
.footer.footer-copyright-only .copyright{
  display:none !important;
}


/* =========================================================
   BOTTOM SPONSOR LOGOS + COPYRIGHT-ONLY FOOTER FINAL FIX
   ========================================================= */

/* Footer: only copyright symbol and Mill City Weather */
.footer,
.footer.footer-copyright-only{
  background:#041b36 !important;
  border-top:4px solid #000 !important;
  padding:1.6rem 0 !important;
}

.footer .container:not(.footer-copyright-inner),
.footer.footer-simple .footer-simple-logo,
.footer.footer-simple .footer-simple-copy,
.footer img,
.footer h3,
.footer p,
.footer a{
  display:none !important;
}

.footer-copyright-inner,
.footer .copyright{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#ffffff !important;
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-size:1rem !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  text-align:center !important;
}

/* Sponsor carousel: make actual logos fit and remove broken-image look */
.sponsor-slide{
  background:#ffffff !important;
  border:2px solid #bcd0ea !important;
  border-radius:22px !important;
  padding:1rem !important;
  min-height:160px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}

.sponsor-slide img{
  display:block !important;
  max-width:94% !important;
  max-height:128px !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
}

.sponsor-name-fallback{
  display:none !important;
}

.sponsor-slide.logo-missing img,
.sponsor-slide img[src=""],
.sponsor-slide img:not([src]){
  display:none !important;
}

.sponsor-slide.logo-missing .sponsor-name-fallback{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#071a31 !important;
  font-size:1.05rem !important;
  font-weight:900 !important;
  text-align:center !important;
  text-transform:uppercase !important;
  line-height:1.15 !important;
}


/* =========================================================
   EMBEDDED SPONSOR LOGO FIX
   Logos are now embedded in script.js, so no file path can break.
   ========================================================= */

.sponsor-slide.logo-missing:after{
  content:"" !important;
  display:none !important;
}

.sponsor-slide{
  min-height:170px !important;
  padding:1rem !important;
  background:#ffffff !important;
  border:2px solid #bcd0ea !important;
  border-radius:22px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.sponsor-slide img{
  display:block !important;
  max-width:94% !important;
  max-height:135px !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
}

.sponsor-name-fallback{
  display:none !important;
}

/* Homepage sponsor wall: keep the cards clean and let the current logos carry the section. */
body[data-page="home"] .home-sponsors-section .sponsor-rotator{
  gap:1rem !important;
  margin-top:1rem !important;
}

body[data-page="home"] .home-sponsors-section .sponsor-track{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:1.05rem !important;
}

body[data-page="home"] .home-sponsors-section .sponsor-slide,
body[data-page="home"] .home-sponsors-section .real-sponsor-card{
  min-height:180px !important;
  background:#ffffff !important;
  border:2px solid #b7cef0 !important;
  border-radius:18px !important;
  box-shadow:0 16px 34px rgba(8,25,53,.10) !important;
  padding:1rem !important;
}

body[data-page="home"] .home-sponsors-section .sponsor-slide img,
body[data-page="home"] .home-sponsors-section .real-sponsor-card img{
  display:block !important;
  max-width:96% !important;
  max-height:142px !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
}

/* Sponsor logos are website links on the homepage and advertising page. */
.real-sponsor-card{
  color:inherit !important;
  cursor:pointer !important;
  text-decoration:none !important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.real-sponsor-card:hover{
  transform:translateY(-3px) !important;
  border-color:#245ea8 !important;
  box-shadow:0 18px 36px rgba(8,25,53,.16) !important;
}

.real-sponsor-card:focus-visible{
  outline:3px solid #245ea8 !important;
  outline-offset:4px !important;
}

.real-sponsor-card[data-sponsor="royal"] img{
  width:100% !important;
  max-width:100% !important;
  max-height:152px !important;
  object-fit:contain !important;
}

.real-sponsor-card[data-sponsor="doug"] img{
  width:auto !important;
  max-width:84% !important;
  max-height:164px !important;
  object-fit:contain !important;
}

.real-sponsor-card[data-sponsor="zone"] img{
  width:100% !important;
  max-width:100% !important;
  max-height:138px !important;
  object-fit:contain !important;
}

.real-sponsor-card[data-sponsor="joes"] img{
  width:100% !important;
  max-width:100% !important;
  max-height:170px !important;
  object-fit:contain !important;
}

.real-sponsor-card[data-sponsor="tuckys"] img{
  width:auto !important;
  max-width:82% !important;
  max-height:166px !important;
  object-fit:contain !important;
}

.real-sponsor-card[data-sponsor="tmi"] img{
  width:100% !important;
  max-width:100% !important;
  max-height:150px !important;
  object-fit:contain !important;
}

.real-sponsor-card[data-sponsor="lowell-catholic"] img{
  width:auto !important;
  max-width:78% !important;
  max-height:166px !important;
  object-fit:contain !important;
}

.real-sponsor-card[data-sponsor="revolution-fire"] img{
  width:auto !important;
  max-width:76% !important;
  max-height:164px !important;
  object-fit:contain !important;
}

.real-sponsor-card[data-sponsor="lawndale-farm"] img{
  width:auto !important;
  max-width:78% !important;
  max-height:166px !important;
  object-fit:contain !important;
}

.real-sponsor-card[data-sponsor="social-pup"] img{
  max-height:82% !important;
  max-width:92% !important;
  object-fit:contain !important;
}

.real-sponsor-card[data-sponsor="lawson-weitzen"] img{
  max-height:90% !important;
  max-width:90% !important;
  object-fit:contain !important;
}

.real-sponsor-card[data-sponsor="one-call-junk-haul"] img{
  max-height:72% !important;
  max-width:96% !important;
  object-fit:contain !important;
}

body[data-page="home"] .home-sponsors-section .sponsor-name-fallback{
  display:none !important;
}

/* Footer remains copyright only */
.footer,
.footer.footer-copyright-only{
  background:#041b36 !important;
  border-top:4px solid #000000 !important;
  padding:1.6rem 0 !important;
}

.footer-copyright-inner{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#ffffff !important;
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-size:1rem !important;
  font-weight:900 !important;
  text-align:center !important;
}


/* =========================================================
   FOOTER COPYRIGHT TOGETHER
   Displays as: ©2026MillCityWeather
   ========================================================= */

.footer.footer-copyright-only{
  background:#041b36 !important;
  border-top:4px solid #000000 !important;
  padding:1.45rem 0 !important;
}

.footer-copyright-inner{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#ffffff !important;
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-size:1.05rem !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
  text-align:center !important;
  white-space:nowrap !important;
}


/* =========================================================
   EXACT NO-SPACES COPYRIGHT FOOTER
   Forces footer to display as: ©2026MillCityWeather
   ========================================================= */

.footer.footer-copyright-only{
  background:#041b36 !important;
  border-top:4px solid #000000 !important;
  padding:1.45rem 0 !important;
}

.footer.footer-copyright-only .footer-copyright-inner,
.footer-copyright-inner{
  display:block !important;
  color:#ffffff !important;
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-size:1.05rem !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
  word-spacing:0 !important;
  text-align:center !important;
  white-space:nowrap !important;
  gap:0 !important;
}

.footer.footer-copyright-only .footer-copyright-inner *{
  display:inline !important;
  margin:0 !important;
  padding:0 !important;
}


/* =========================================================
   UPLOADED SVG WEATHER ICONS
   Uses /assets/weather-icons/00.svg through 47.svg and na.svg.
   ========================================================= */

.mcw-weather-svg{
  display:block !important;
  object-fit:contain !important;
  width:auto !important;
  height:auto !important;
  filter:drop-shadow(0 8px 14px rgba(7,22,48,.12)) !important;
  transform:none !important;
  animation:none !important;
}

.current-main .mcw-weather-svg.current-icon,
.mcw-weather-svg.current-icon{
  width:78px !important;
  height:78px !important;
  max-width:78px !important;
  max-height:78px !important;
}

.day-body .mcw-weather-svg.forecast-icon,
.mcw-weather-svg.forecast-icon{
  width:92px !important;
  height:92px !important;
  max-width:92px !important;
  max-height:92px !important;
  margin:.55rem auto .35rem !important;
}

.hour-card .mcw-weather-svg.hourly-icon,
.mcw-weather-svg.hourly-icon{
  width:56px !important;
  height:56px !important;
  max-width:56px !important;
  max-height:56px !important;
  margin:.45rem auto .25rem !important;
}

/* Hide old CSS animation pieces in case any cached markup remains */
.mcw-animated-icon span{
  display:none !important;
}

@media (max-width:700px){
  .day-body .mcw-weather-svg.forecast-icon,
  .mcw-weather-svg.forecast-icon{
    width:76px !important;
    height:76px !important;
  }

  .hour-card .mcw-weather-svg.hourly-icon,
  .mcw-weather-svg.hourly-icon{
    width:50px !important;
    height:50px !important;
  }
}


/* =========================================================
   SVG ICON VISIBILITY FIX
   Previous cleanup CSS was hiding direct img children in
   .day-body and .hour-card. This restores the new SVG icons.
   ========================================================= */

.day-body > img.mcw-weather-svg,
.hour-card > img.mcw-weather-svg,
.current-main > img.mcw-weather-svg{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

.day-body > img.mcw-weather-svg.forecast-icon,
.mcw-weather-svg.forecast-icon{
  width:88px !important;
  height:88px !important;
  max-width:88px !important;
  max-height:88px !important;
  margin:.45rem auto .25rem !important;
  object-fit:contain !important;
}

.hour-card > img.mcw-weather-svg.hourly-icon,
.mcw-weather-svg.hourly-icon{
  width:54px !important;
  height:54px !important;
  max-width:54px !important;
  max-height:54px !important;
  margin:.4rem auto .2rem !important;
  object-fit:contain !important;
}

.current-main > img.mcw-weather-svg.current-icon,
.mcw-weather-svg.current-icon{
  width:76px !important;
  height:76px !important;
  max-width:76px !important;
  max-height:76px !important;
  object-fit:contain !important;
}

.day-body{
  gap:.38rem !important;
}

.hour-card{
  min-height:145px !important;
}


/* =========================================================
   7-DAY FORECAST BACKGROUND IMAGE UPDATE
   ========================================================= */

.forecast-backdrop-section{
  position:relative !important;
  overflow:hidden !important;
  border-radius:28px !important;
  border:1px solid #b7cbe4 !important;
  background:
    linear-gradient(180deg, rgba(247,250,255,.84) 0%, rgba(237,244,252,.88) 100%),
    url("assets/forecast-section-bg.png") center center / cover no-repeat !important;
  box-shadow:0 18px 46px rgba(7,22,48,.10) !important;
  padding:1.15rem !important;
  isolation:isolate !important;
}

.forecast-backdrop-section::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(112deg, transparent 0 44%, rgba(255,255,255,.22) 44% 46%, transparent 46% 100%),
    linear-gradient(116deg, transparent 0 62%, rgba(255,255,255,.14) 62% 64%, transparent 64% 100%);
  z-index:0 !important;
}

.forecast-backdrop-section > *{
  position:relative !important;
  z-index:1 !important;
}

.home-forecast-backdrop .section-head,
.forecast-page-backdrop .section-head{
  margin-bottom:.85rem !important;
}

.home-forecast-backdrop .forecast-grid{
  padding:.15rem .1rem .45rem !important;
}

.forecast-backdrop-section .day-card{
  background:rgba(255,255,255,.96) !important;
  backdrop-filter:blur(2px);
}

.forecast-backdrop-section .day-head{
  border-bottom:0 !important;
}

.forecast-page-backdrop .forecast-html-embed-card{
  background:rgba(255,255,255,.24) !important;
  border:1px solid rgba(183,203,228,.55) !important;
  box-shadow:none !important;
}

.forecast-page-backdrop .forecast-html-embed{
  background:transparent !important;
}


/* =========================================================
   7-DAY BACKGROUND FIT — ORIGINAL CARD STYLE
   Keeps the original forecast boxes/graphic. Only fits the
   background/graphic cleanly inside the displayed iframe.
   ========================================================= */

body[data-page="forecast"] .forecast-page-embed-container{
  max-width:1280px !important;
  margin-top:1rem !important;
}

body[data-page="forecast"] .forecast-backdrop-section{
  padding:1rem !important;
  background:
    linear-gradient(180deg, rgba(247,250,255,.78) 0%, rgba(235,244,253,.86) 100%),
    url("assets/forecast-section-bg.png") center center / cover no-repeat !important;
}

body[data-page="forecast"] .forecast-html-embed-card{
  width:100% !important;
  aspect-ratio:16 / 9 !important;
  height:auto !important;
  min-height:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
  border-radius:20px !important;
  padding:0 !important;
}

body[data-page="forecast"] .forecast-html-embed{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  border:0 !important;
  display:block !important;
  background:transparent !important;
}

body[data-page="forecast"] .forecast-presenter-banner{
  width:min(100%, 820px) !important;
  margin:0 auto .85rem !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:#ffffff !important;
  border:1px solid rgba(183,203,228,.7) !important;
  box-shadow:0 12px 26px rgba(7,22,48,.08) !important;
}

body[data-page="forecast"] .forecast-presenter-banner img{
  display:block !important;
  width:100% !important;
  height:auto !important;
}

@media (max-width:700px){
  body[data-page="forecast"] .forecast-backdrop-section{
    padding:.65rem !important;
  }

  body[data-page="forecast"] .forecast-presenter-banner{
    width:92% !important;
    margin-bottom:.65rem !important;
    border-radius:14px !important;
  }
}


/* =========================================================
   MOBILE FRIENDLY UPDATE
   Keeps the same MCW fonts/theme, but makes the layout usable
   on phones and small tablets.
   ========================================================= */

@media (max-width: 900px){

  html, body{
    overflow-x:hidden !important;
  }

  body{
    font-size:16px !important;
  }

  .container{
    width:min(100% - 1.1rem, 1160px) !important;
  }

  /* Header */
  .site-header{
    position:sticky !important;
    top:0 !important;
    z-index:1000 !important;
    background:#ffffff !important;
    box-shadow:0 8px 24px rgba(7,22,48,.08) !important;
  }

  .header-main{
    min-height:auto !important;
    padding:.55rem .65rem !important;
    display:grid !important;
    grid-template-columns:1fr auto !important;
    grid-template-areas:
      "logo menu"
      "live live"
      "nav nav" !important;
    gap:.45rem !important;
    align-items:center !important;
  }

  .site-header .logo{
    grid-area:logo !important;
    min-width:0 !important;
    justify-self:start !important;
  }

  .site-header .logo img{
    height:50px !important;
    max-height:50px !important;
    max-width:210px !important;
    width:auto !important;
    object-fit:contain !important;
  }

  .nav-toggle{
    grid-area:menu !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#071a31 !important;
    color:#ffffff !important;
    border:0 !important;
    border-radius:999px !important;
    min-width:84px !important;
    min-height:40px !important;
    font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.03em !important;
  }

  .live-chip{
    grid-area:live !important;
    justify-self:start !important;
    font-size:.74rem !important;
    padding:.45rem .7rem !important;
    max-width:100% !important;
  }

  .primary-nav{
    grid-area:nav !important;
    display:none !important;
    width:100% !important;
    grid-template-columns:1fr 1fr !important;
    gap:.42rem !important;
    padding:.35rem 0 .15rem !important;
  }

  .primary-nav.is-open,
  .primary-nav[data-open="true"]{
    display:grid !important;
  }

  body.nav-open .primary-nav{
    display:grid !important;
  }

  .primary-nav a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:42px !important;
    border-radius:14px !important;
    background:#f0f6ff !important;
    color:#071a31 !important;
    font-size:.83rem !important;
    font-weight:900 !important;
    text-align:center !important;
    padding:.55rem .35rem !important;
  }

  .primary-nav a.active,
  .primary-nav a[aria-current="page"]{
    background:#dcecff !important;
  }

  /* Weather alert strip */
  .weather-strip{
    min-height:46px !important;
    border-bottom:3px solid #000 !important;
  }

  .weather-strip .wrap{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:.15rem !important;
    padding:.45rem .75rem !important;
  }

  .strip-title strong{
    font-family:"HelveticaNeueHeavyExt","Arial Black",Impact,Arial,sans-serif !important;
    font-size:1.1rem !important;
    letter-spacing:-.04em !important;
  }

  .strip-scroll{
    font-size:.78rem !important;
    white-space:nowrap !important;
    overflow:hidden !important;
  }

  /* Homepage hero/now card */
  .hero{
    grid-template-columns:1fr !important;
    gap:.9rem !important;
    margin-top:1rem !important;
  }

  .hero-card,
  .hero-showcase{
    border-radius:22px !important;
  }

  .hero-image-frame{
    min-height:0 !important;
  }

  .hero-feature-image{
    width:100% !important;
    height:auto !important;
    aspect-ratio:16/9 !important;
    object-fit:cover !important;
  }

  .hero-showcase-panel{
    padding:.85rem !important;
  }

  .hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:.55rem !important;
  }

  .hero-actions .btn{
    width:100% !important;
    min-height:46px !important;
  }

  .hero-meta{
    grid-template-columns:1fr !important;
    gap:.55rem !important;
  }

  .hero-stat{
    min-height:72px !important;
  }

  .now-card{
    border-radius:22px !important;
  }

  .current-main{
    grid-template-columns:auto 1fr !important;
    gap:.7rem !important;
  }

  .current-main .temp{
    font-size:3.6rem !important;
    line-height:.88 !important;
  }

  .current-main .mcw-weather-svg.current-icon{
    width:60px !important;
    height:60px !important;
  }

  .metric-grid{
    grid-template-columns:1fr 1fr !important;
    gap:.55rem !important;
  }

  .metric{
    min-height:62px !important;
  }

  /* Main split layout */
  .split-layout{
    display:block !important;
  }

  .side-rail{
    position:static !important;
    margin-top:1rem !important;
  }

  .radar-panel,
  .ad-box{
    border-radius:20px !important;
  }

  /* Section heads */
  .section-head{
    display:block !important;
    margin:1.2rem 0 .7rem !important;
  }

  .section-head h2{
    font-family:"HelveticaNeueHeavyExt","Arial Black",Impact,Arial,sans-serif !important;
    font-size:clamp(2rem, 9vw, 2.75rem) !important;
    letter-spacing:-.07em !important;
    line-height:.92 !important;
  }

  .section-head p{
    margin-top:.45rem !important;
    font-size:.98rem !important;
    line-height:1.25 !important;
  }

  .red-rule{
    width:78px !important;
    height:5px !important;
    background:#000 !important;
  }

  /* Homepage 7-day and hourly cards */
  .home-forecast-backdrop,
  .forecast-backdrop-section{
    border-radius:22px !important;
    padding:.75rem !important;
  }

  .forecast-grid{
    display:flex !important;
    overflow-x:auto !important;
    gap:.55rem !important;
    padding:.2rem .15rem .55rem !important;
    scroll-snap-type:x mandatory !important;
  }

  .day-card{
    min-width:132px !important;
    max-width:132px !important;
    border-radius:16px !important;
    scroll-snap-align:start !important;
  }

  .day-head{
    min-height:48px !important;
    padding:.55rem .35rem !important;
    font-size:.86rem !important;
    letter-spacing:.02em !important;
  }

  .day-body{
    padding:.7rem .45rem .85rem !important;
    gap:.38rem !important;
  }

  .day-body .mcw-weather-svg.forecast-icon{
    width:68px !important;
    height:68px !important;
    margin:.3rem auto .1rem !important;
  }

  .day-temp{
    font-size:2.15rem !important;
  }

  .day-desc{
    font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
    font-size:.82rem !important;
    line-height:1.15 !important;
    min-height:0 !important;
    color:#071a31 !important;
    font-weight:900 !important;
  }

  .day-low{
    font-size:.84rem !important;
  }

  .hourly-strip{
    display:flex !important;
    overflow-x:auto !important;
    gap:.55rem !important;
    padding:.2rem .1rem .65rem !important;
    scroll-snap-type:x mandatory !important;
  }

  .hour-card{
    min-width:116px !important;
    max-width:116px !important;
    min-height:132px !important;
    border-radius:15px !important;
    padding:.65rem .5rem !important;
    scroll-snap-align:start !important;
  }

  .hour-time{
    font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
    font-size:.82rem !important;
    color:#071a31 !important;
    font-weight:900 !important;
  }

  .hour-card .mcw-weather-svg.hourly-icon{
    width:46px !important;
    height:46px !important;
  }

  .hour-temp{
    font-family:"HelveticaNeueHeavyExt","Arial Black",Impact,Arial,sans-serif !important;
    font-size:1.85rem !important;
    color:#071a31 !important;
  }

  /* Today/Tonight and generic grids */
  .grid,
  .grid-2,
  .grid-3{
    grid-template-columns:1fr !important;
  }

  .card{
    border-radius:18px !important;
  }

  .card-body h3{
    font-size:1.45rem !important;
    line-height:1.05 !important;
  }

  .card-body p{
    font-size:1rem !important;
    line-height:1.4 !important;
  }

  .label{
    font-size:.78rem !important;
    padding:.35rem .75rem !important;
  }

  /* Sponsors */
  .sponsor-rotator{
    padding:0 2.4rem !important;
  }

  .sponsor-track{
    grid-template-columns:1fr !important;
    gap:.65rem !important;
  }

  .sponsor-slide,
  .sponsor-card{
    min-height:150px !important;
    border-radius:18px !important;
  }

  .sponsor-slide img,
  .sponsor-card img{
    max-height:115px !important;
  }

  .sponsor-nav{
    width:42px !important;
    height:42px !important;
  }

  /* Footer */
  .footer.footer-copyright-only{
    padding:1.2rem 0 !important;
  }

  .footer-copyright-inner{
    font-size:.92rem !important;
  }

  /* Submit Your Pic mobile */
  .submit-clean-hero{
    min-height:auto !important;
    padding:1.15rem 0 !important;
  }

  .submit-clean-inner,
  .submit-clean-info,
  .submit-clean-cards{
    grid-template-columns:1fr !important;
  }

  .submit-clean-copy{
    padding:.2rem !important;
  }

  .submit-clean-copy h1{
    font-size:clamp(3rem, 15vw, 4.8rem) !important;
    letter-spacing:-.08em !important;
  }

  .submit-clean-copy p{
    font-size:1rem !important;
  }

  .submit-clean-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
  }

  .submit-clean-poster{
    max-width:330px !important;
    margin:0 auto !important;
  }

  .submit-clean-section .section-head h2{
    font-size:2.2rem !important;
  }

  /* Page hero on subpages */
  .page-hero{
    padding:1.2rem 0 !important;
    border-radius:0 !important;
  }

  .page-hero h1{
    font-size:clamp(2.6rem, 13vw, 4.6rem) !important;
    line-height:.9 !important;
  }

  .page-hero p{
    font-size:1rem !important;
  }
}

/* Extra small phones */
@media (max-width: 430px){
  .primary-nav{
    grid-template-columns:1fr !important;
  }

  .site-header .logo img{
    height:44px !important;
    max-width:175px !important;
  }

  .nav-toggle{
    min-width:74px !important;
    min-height:38px !important;
    font-size:.78rem !important;
  }

  .current-main .temp{
    font-size:3.15rem !important;
  }

  .metric-grid{
    grid-template-columns:1fr !important;
  }

  .day-card{
    min-width:124px !important;
    max-width:124px !important;
  }

  .hour-card{
    min-width:104px !important;
    max-width:104px !important;
  }

  .section-head h2{
    font-size:2rem !important;
  }
}

/* Forecast page iframe/mobile: keep the original 16:9 graphic scaled cleanly */
@media (max-width: 900px){
  body[data-page="forecast"] .forecast-page-embed-container{
    width:100% !important;
    max-width:100% !important;
    margin-top:.5rem !important;
    padding:0 .55rem !important;
  }

  body[data-page="forecast"] .forecast-backdrop-section{
    border-radius:18px !important;
    padding:.65rem !important;
  }

  body[data-page="forecast"] .forecast-html-embed-card{
    aspect-ratio:16 / 9 !important;
    border-radius:16px !important;
  }

  body[data-page="forecast"] .forecast-page-head h2{
    font-size:clamp(2rem, 10vw, 2.8rem) !important;
  }
}


/* =========================================================
   MOBILE WEATHER ALERTS FONT FIX
   Keeps the same MCW bold font, fixes spacing/readability.
   ========================================================= */

@media (max-width: 900px){
  .weather-strip .wrap{
    grid-template-columns:auto minmax(0,1fr) !important;
    align-items:center !important;
    gap:.8rem !important;
    padding:.55rem .75rem !important;
  }

  .strip-title{
    min-width:max-content !important;
  }

  .strip-title strong{
    font-family:"MCWProximaExtraBold","Proxima Nova Alt Th Bold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
    font-weight:900 !important;
    font-size:1.22rem !important;
    line-height:1 !important;
    letter-spacing:.01em !important;
    word-spacing:.12em !important;
    color:#ffffff !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
    display:inline-block !important;
  }

  .strip-scroll{
    min-width:0 !important;
    font-family:"MCWProximaExtraBold","Proxima Nova Alt Th Bold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
    font-weight:900 !important;
    font-size:.9rem !important;
    line-height:1.1 !important;
    color:#ffffff !important;
  }
}

@media (max-width: 430px){
  .weather-strip .wrap{
    grid-template-columns:1fr !important;
    gap:.22rem !important;
  }

  .strip-title strong{
    font-size:1.08rem !important;
  }

  .strip-scroll{
    font-size:.82rem !important;
  }
}


/* =========================================================
   MOBILE HEADER + WEATHER ALERTS HVEX FONT FIX
   ========================================================= */

@font-face{
  font-family:"MCWHvEx";
  src:url("assets/fonts/HelveticaNeueLTStd-HvEx.otf") format("opentype");
  font-weight:900;
  font-style:normal;
  font-display:swap;
}

/* Use uploaded Helvetica Neue Heavy Extended on the alert title */
.weather-strip .strip-title strong,
.strip-title strong{
  font-family:"MCWHvEx","HelveticaNeueHeavyExt","Helvetica Neue LT Std 83 Heavy Extended","Arial Black",Impact,Arial,sans-serif !important;
  font-weight:900 !important;
  letter-spacing:-.06em !important;
  word-spacing:0 !important;
  text-transform:uppercase !important;
}

/* Remove the top Live Weather Center pill on mobile */
@media (max-width: 900px){
  .live-chip{
    display:none !important;
  }

  .header-main{
    grid-template-areas:
      "logo menu"
      "nav nav" !important;
    gap:.4rem !important;
  }

  .weather-strip .wrap{
    grid-template-columns:auto minmax(0,1fr) !important;
    gap:.85rem !important;
    align-items:center !important;
    padding:.6rem .75rem !important;
  }

  .strip-title strong{
    font-family:"MCWHvEx","HelveticaNeueHeavyExt","Helvetica Neue LT Std 83 Heavy Extended","Arial Black",Impact,Arial,sans-serif !important;
    font-size:1.28rem !important;
    line-height:.92 !important;
    letter-spacing:-.075em !important;
    color:#ffffff !important;
    white-space:nowrap !important;
  }

  .strip-scroll{
    font-family:"MCWProximaExtraBold","Proxima Nova Alt Th Bold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
    font-size:.9rem !important;
    line-height:1.15 !important;
  }
}

@media (max-width: 430px){
  .weather-strip .wrap{
    grid-template-columns:1fr !important;
    gap:.25rem !important;
  }

  .strip-title strong{
    font-size:1.18rem !important;
    letter-spacing:-.075em !important;
  }
}


/* =========================================================
   ALL TEMPERATURES — HELVETICA NEUE HVEX
   ========================================================= */

/* Current conditions, 7-day cards, hourly cards, and hero stat temps */
.temp,
.current-main .temp,
.day-temp,
.hour-temp,
.hero-stat strong,
.hero-stat .stat-value,
.metric strong,
.metric-value,
.forecast-temp,
.current-temp,
.js-temp,
[id*="temp"],
[class*="temp"]{
  font-family:"MCWHvEx","HelveticaNeueHeavyExt","Helvetica Neue LT Std 83 Heavy Extended","Arial Black",Impact,Arial,sans-serif !important;
  font-weight:900 !important;
  letter-spacing:-.075em !important;
  font-variant-numeric:tabular-nums !important;
}

/* Keep temp numbers readable on mobile */
@media (max-width:900px){
  .current-main .temp,
  .temp{
    font-family:"MCWHvEx","HelveticaNeueHeavyExt","Helvetica Neue LT Std 83 Heavy Extended","Arial Black",Impact,Arial,sans-serif !important;
    font-size:3.65rem !important;
    letter-spacing:-.085em !important;
  }

  .day-temp{
    font-family:"MCWHvEx","HelveticaNeueHeavyExt","Helvetica Neue LT Std 83 Heavy Extended","Arial Black",Impact,Arial,sans-serif !important;
    font-size:2.65rem !important;
    letter-spacing:-.09em !important;
    line-height:.92 !important;
  }

  .hour-temp{
    font-family:"MCWHvEx","HelveticaNeueHeavyExt","Helvetica Neue LT Std 83 Heavy Extended","Arial Black",Impact,Arial,sans-serif !important;
    font-size:2.25rem !important;
    letter-spacing:-.085em !important;
    line-height:.92 !important;
  }

  .hero-stat strong,
  .hero-stat .stat-value{
    font-family:"MCWHvEx","HelveticaNeueHeavyExt","Helvetica Neue LT Std 83 Heavy Extended","Arial Black",Impact,Arial,sans-serif !important;
    letter-spacing:-.075em !important;
  }
}

@media (max-width:430px){
  .current-main .temp,
  .temp{
    font-size:3.2rem !important;
  }

  .day-temp{
    font-size:2.35rem !important;
  }

  .hour-temp{
    font-size:2rem !important;
  }
}


/* =========================================================
   TEMPERATURE FONT READABILITY FIX
   Only actual temperatures use HelveticaNeueLTStd-HvEx.
   Wind, pressure, visibility, rain %, and wind text stay readable.
   ========================================================= */

/* Actual temperature readouts */
.current-main .temp,
.temp,
.day-temp,
.hour-temp,
.metric-temp-value,
.js-current-temp{
  font-family:"MCWHvEx","HelveticaNeueHeavyExt","Helvetica Neue LT Std 83 Heavy Extended","Arial Black",Impact,Arial,sans-serif !important;
  font-weight:900 !important;
  letter-spacing:-.045em !important;
  font-variant-numeric:tabular-nums !important;
}

/* Non-temp readouts must NOT use the condensed temperature font */
.metric-normal-value,
.metric b.metric-normal-value,
.day-low,
.hour-pop,
.wind-text,
.forecast-wind,
.metric-grid .metric b:not(.metric-temp-value){
  font-family:"MCWProximaExtraBold","Proxima Nova Alt Th Bold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
  word-spacing:.08em !important;
  color:#071a31 !important;
  line-height:1.12 !important;
}

/* Forecast card wind text */
.day-low{
  font-size:1rem !important;
  line-height:1.18 !important;
  white-space:normal !important;
  text-align:center !important;
  padding:0 .25rem !important;
}

/* Metric cards */
.metric-grid .metric b,
.metric-normal-value,
.metric-temp-value{
  display:block !important;
  white-space:normal !important;
}

.metric-grid .metric b.metric-normal-value{
  font-size:1.3rem !important;
}

.metric-grid .metric b.metric-temp-value{
  font-size:1.35rem !important;
  letter-spacing:-.035em !important;
}

/* Mobile tuning */
@media (max-width:900px){
  .current-main .temp,
  .temp{
    font-size:3.65rem !important;
    letter-spacing:-.045em !important;
  }

  .day-temp{
    font-size:2.85rem !important;
    letter-spacing:-.045em !important;
    line-height:.9 !important;
  }

  .hour-temp{
    font-size:2.25rem !important;
    letter-spacing:-.045em !important;
    line-height:.9 !important;
  }

  .day-low{
    font-size:.93rem !important;
    line-height:1.12 !important;
    margin-top:.15rem !important;
  }

  .metric-grid .metric b.metric-normal-value{
    font-size:1.35rem !important;
    letter-spacing:0 !important;
    word-spacing:.08em !important;
  }

  .metric-grid .metric b.metric-temp-value{
    font-size:1.45rem !important;
    letter-spacing:-.035em !important;
  }
}

@media (max-width:430px){
  .current-main .temp,
  .temp{
    font-size:3.2rem !important;
  }

  .day-temp{
    font-size:2.45rem !important;
  }

  .hour-temp{
    font-size:2rem !important;
  }

  .day-low{
    font-size:.84rem !important;
  }

  .metric-grid .metric b.metric-normal-value{
    font-size:1.18rem !important;
  }

  .metric-grid .metric b.metric-temp-value{
    font-size:1.28rem !important;
  }
}


/* =========================================================
   FINAL MOBILE FONT OVERRIDE — CACHE-BUSTED FILE
   Actual temps = HelveticaNeueLTStd-HvEx.
   Wind/pressure/visibility/wind descriptions = readable MCW font.
   ========================================================= */

@font-face{
  font-family:"MCWHvEx";
  src:url("assets/fonts/HelveticaNeueLTStd-HvEx.otf") format("opentype");
  font-weight:900;
  font-style:normal;
  font-display:swap;
}

/* Actual temperature numbers only */
.current-main .temp,
.now-card .temp,
.day-card .day-temp,
.hour-card .hour-temp,
.metric-temp-value,
.js-current-temp{
  font-family:"MCWHvEx","HelveticaNeueHeavyExt","Helvetica Neue LT Std 83 Heavy Extended","Arial Black",Impact,Arial,sans-serif !important;
  font-weight:900 !important;
  letter-spacing:-0.035em !important;
  font-variant-numeric:tabular-nums !important;
}

/* Keep current big temp strong and readable */
.current-main .temp,
.now-card .temp{
  font-size:clamp(4rem, 14vw, 6rem) !important;
  line-height:.86 !important;
}

/* 7-day and hourly temp sizes */
.day-card .day-temp{
  font-size:clamp(2.75rem, 11vw, 4.15rem) !important;
  line-height:.88 !important;
}

.hour-card .hour-temp{
  font-size:clamp(2.15rem, 8.5vw, 3rem) !important;
  line-height:.9 !important;
}

/* Force non-temp items OUT of condensed font */
.metric-grid .metric b,
.metric-grid .metric b.metric-normal-value,
.day-card .day-low,
.day-low,
.hour-card .hour-pop,
.hour-pop,
.day-card .day-desc,
.day-desc{
  font-family:"MCWProximaExtraBold","Proxima Nova Alt Th Bold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
  word-spacing:.08em !important;
  font-stretch:normal !important;
  line-height:1.15 !important;
}

/* Dew point can stay temp-style if class exists */
.metric-grid .metric b.metric-temp-value{
  font-family:"MCWHvEx","HelveticaNeueHeavyExt","Helvetica Neue LT Std 83 Heavy Extended","Arial Black",Impact,Arial,sans-serif !important;
  letter-spacing:-.03em !important;
}

/* Better metric spacing on mobile */
@media (max-width: 900px){
  .metric-grid{
    gap:.7rem !important;
  }

  .metric-grid .metric{
    padding:1rem 1.1rem !important;
    min-height:84px !important;
  }

  .metric-grid .metric span{
    font-family:"MCWProximaExtraBold","Proxima Nova Alt Th Bold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
    font-size:.9rem !important;
    letter-spacing:.02em !important;
    line-height:1 !important;
  }

  .metric-grid .metric b{
    font-size:1.35rem !important;
    line-height:1.05 !important;
    margin-top:.18rem !important;
    white-space:normal !important;
  }

  .day-card .day-low{
    font-size:.92rem !important;
    line-height:1.15 !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
  }

  .day-card .day-desc{
    font-size:.9rem !important;
    line-height:1.1 !important;
  }

  .hour-card .hour-pop{
    font-size:.85rem !important;
  }
}

/* Weather Alerts mobile font: uploaded HvEx */
.weather-strip .strip-title strong,
.strip-title strong{
  font-family:"MCWHvEx","HelveticaNeueHeavyExt","Helvetica Neue LT Std 83 Heavy Extended","Arial Black",Impact,Arial,sans-serif !important;
  letter-spacing:-.06em !important;
}

@media (max-width:900px){
  .live-chip{
    display:none !important;
  }
}


/* =========================================================
   WEATHER NUMBERS FORCE FONT — v2800
   Since Weather Alerts already loads the font, this targets the
   dynamic weather numbers directly and splits units for readability.
   ========================================================= */

@font-face{
  font-family:"MCWHvEx";
  src:url("assets/fonts/HelveticaNeueLTStd-HvEx.otf") format("opentype");
  font-weight:900;
  font-style:normal;
  font-display:swap;
}

/* Actual numeric weather readouts */
.mcw-hvex-number,
.wx-num,
.current-main .temp,
.now-card .temp,
.day-temp,
.hour-temp,
.hero-stat strong,
.hero-stat .stat-value,
.js-current-temp{
  font-family:"MCWHvEx","HelveticaNeueHeavyExt","Helvetica Neue LT Std 83 Heavy Extended","Arial Black",Impact,Arial,sans-serif !important;
  font-weight:900 !important;
  font-stretch:normal !important;
  letter-spacing:-.045em !important;
  font-variant-numeric:tabular-nums !important;
  color:#071a31 !important;
}

/* Weather metric value line */
.metric .weather-number-value,
.metric b.weather-number-value,
.metric b{
  display:flex !important;
  align-items:baseline !important;
  gap:.18em !important;
  flex-wrap:wrap !important;
  line-height:1 !important;
}

/* Units remain readable and separated */
.wx-unit,
.metric .wx-unit{
  font-family:"MCWProximaExtraBold","Proxima Nova Alt Th Bold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
  color:#071a31 !important;
  margin-left:.12em !important;
}

/* Degree symbol should sit close to the number */
.wx-degree{
  font-family:"MCWHvEx","HelveticaNeueHeavyExt","Arial Black",Impact,Arial,sans-serif !important;
  margin-left:0 !important;
  letter-spacing:-.04em !important;
}

/* Desktop/current default sizes */
.current-main .temp,
.now-card .temp{
  font-size:clamp(4.2rem, 6vw, 6.3rem) !important;
  line-height:.86 !important;
}

.day-temp{
  font-size:clamp(2.7rem, 4vw, 4.15rem) !important;
  line-height:.88 !important;
}

.hour-temp{
  font-size:clamp(2.05rem, 3vw, 3rem) !important;
  line-height:.9 !important;
}

.metric .wx-num{
  font-size:1.55rem !important;
}

.metric .wx-unit{
  font-size:1.1rem !important;
}

/* Keep non-numeric text readable */
.day-low,
.hour-pop,
.day-desc,
.condition,
.metric span{
  font-family:"MCWProximaExtraBold","Proxima Nova Alt Th Bold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  letter-spacing:0 !important;
  word-spacing:.06em !important;
}

/* Mobile sizes */
@media (max-width:900px){
  .current-main .temp,
  .now-card .temp{
    font-size:4rem !important;
    letter-spacing:-.045em !important;
  }

  .day-temp{
    font-size:3rem !important;
    letter-spacing:-.045em !important;
  }

  .hour-temp{
    font-size:2.35rem !important;
    letter-spacing:-.045em !important;
  }

  .metric .wx-num{
    font-size:1.55rem !important;
  }

  .metric .wx-unit{
    font-size:1.1rem !important;
  }

  .day-low{
    font-size:.92rem !important;
    line-height:1.15 !important;
  }
}

@media (max-width:430px){
  .current-main .temp,
  .now-card .temp{
    font-size:3.45rem !important;
  }

  .day-temp{
    font-size:2.65rem !important;
  }

  .hour-temp{
    font-size:2.05rem !important;
  }

  .metric .wx-num{
    font-size:1.35rem !important;
  }

  .metric .wx-unit{
    font-size:.98rem !important;
  }
}


/* =========================================================
   DESKTOP v3400 — Wunderground scrape source
   ========================================================= */

.live-chip{
  display:none !important;
}

.current-source{
  margin-top:.55rem !important;
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold","Proxima Nova",Arial,Helvetica,sans-serif !important;
  font-size:.72rem !important;
  line-height:1.1 !important;
  color:#5c6b80 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}

.current-source a{
  color:#071a31 !important;
  text-decoration:none !important;
  border-bottom:1px solid rgba(7,26,49,.25) !important;
}


/* v3500 switched local Wunderground source to KMALOWEL33 */
.current-source a::after{
  content:"";
}

/* =========================================================
   Global weather alert ticker: full-width and visible on every tab
   ========================================================= */
.weather-strip {
  width: 100% !important;
  min-height: 62px !important;
}

.weather-strip .wrap {
  width: 100% !important;
  max-width: var(--max) !important;
  min-height: 62px !important;
  display: grid !important;
  grid-template-columns: max-content minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 1.25rem !important;
  padding: 0 1rem !important;
}

.weather-strip .strip-title {
  display: flex !important;
  min-width: max-content !important;
}

.weather-strip .strip-scroll {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

.weather-strip .strip-scroll span,
#alert-ticker span {
  padding-left: 0 !important;
  white-space: nowrap !important;
}

@media (max-width: 720px) {
  .weather-strip .wrap {
    grid-template-columns: 1fr !important;
    gap: .35rem !important;
    padding: .55rem .85rem !important;
  }

  .weather-strip .strip-title,
  .weather-strip .strip-title strong {
    min-width: 0 !important;
    white-space: nowrap !important;
  }
}

/* =========================================================
   Submit Storm Report page
   ========================================================= */
.storm-report-main {
  padding-bottom: 5rem !important;
}

.storm-report-hero {
  background:
    linear-gradient(135deg, rgba(7,26,49,.95), rgba(15,67,137,.9)),
    url("assets/forecast-section-bg.png") center/cover no-repeat;
  border-bottom: 5px solid #000;
  color: #fff;
  margin-bottom: 3rem;
}

.storm-report-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 2rem;
  align-items: center;
  min-height: 300px;
  padding-top: 2.25rem;
  padding-bottom: 2.25rem;
}

.storm-report-hero h1 {
  color: #fff;
  font-family: "MCWHvEx","HelveticaNeueHeavyExt","Arial Black",Impact,Arial,sans-serif;
  font-size: clamp(2.55rem, 6vw, 5.2rem);
  font-weight: 900;
  letter-spacing: -.065em;
  line-height: .9;
  margin: .7rem 0 1rem;
  text-transform: uppercase;
}

.storm-report-hero p {
  color: #f3f8ff;
  font-family: "MCWProximaExtraBold","Proxima Nova Extrabold",Arial,sans-serif;
  font-size: 1.12rem;
  font-weight: 900;
  line-height: 1.45;
  margin: 0;
  max-width: 880px;
}

.storm-report-safety {
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 18px;
  padding: 1.25rem;
}

.storm-report-safety strong,
.storm-report-safety span {
  display: block;
  font-family: "MCWProximaExtraBold","Proxima Nova Extrabold",Arial,sans-serif;
  font-weight: 900;
}

.storm-report-safety strong {
  font-size: 1.35rem;
  margin-bottom: .4rem;
  text-transform: uppercase;
}

.storm-report-safety span {
  color: #e4eefb;
  line-height: 1.35;
}

.storm-report-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 1.5rem;
  align-items: start;
}

.storm-report-form,
.guide-card {
  background: #fff;
  border: 1px solid #bdd3ef;
  border-radius: 24px;
  box-shadow: 0 18px 42px rgba(8,25,53,.08);
}

.storm-report-form {
  padding: 1.5rem;
}

.form-head {
  border-bottom: 4px solid #071a31;
  margin-bottom: 1.3rem;
  padding-bottom: 1rem;
}

.form-head h2,
.guide-card h2 {
  color: #071a31;
  font-family: "MCWProximaExtraBold","Proxima Nova Extrabold",Arial,sans-serif;
  font-size: 1.65rem;
  font-weight: 900;
  line-height: 1;
  margin: 0 0 .55rem;
  text-transform: uppercase;
}

.form-head p,
.guide-card p,
.guide-card li {
  color: #40526b;
  font-family: "MCWProximaExtraBold","Proxima Nova Extrabold",Arial,sans-serif;
  font-weight: 800;
  line-height: 1.45;
}

.form-head p,
.guide-card p {
  margin: 0;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.storm-report-form label {
  color: #071a31;
  display: grid;
  gap: .45rem;
  font-family: "MCWProximaExtraBold","Proxima Nova Extrabold",Arial,sans-serif;
  font-size: .92rem;
  font-weight: 900;
  margin-bottom: 1rem;
  text-transform: uppercase;
}

.storm-report-form input,
.storm-report-form select,
.storm-report-form textarea {
  background: #f6f9fd;
  border: 1px solid #bdd3ef;
  border-radius: 12px;
  color: #071a31;
  font: 800 1rem/1.3 Arial, sans-serif;
  padding: .85rem .95rem;
  text-transform: none;
  width: 100%;
}

.storm-report-form textarea {
  resize: vertical;
}

.field-note {
  color: #56667d;
  font-size: .82rem;
  line-height: 1.35;
  text-transform: none;
}

.report-checks {
  background: #edf4fb;
  border: 1px solid #c9d9ef;
  border-radius: 18px;
  margin: .5rem 0 1rem;
  padding: 1rem;
}

.report-checks label {
  align-items: start;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  margin: 0 0 .75rem;
  text-transform: none;
}

.report-checks label:last-child {
  margin-bottom: 0;
}

.report-checks input {
  margin-top: .18rem;
  width: auto;
}

.form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

.submit-status {
  color: #071a31;
  font-family: "MCWProximaExtraBold","Proxima Nova Extrabold",Arial,sans-serif;
  font-weight: 900;
  margin-top: 1rem;
}

.storm-report-guide {
  display: grid;
  gap: 1rem;
}

.guide-card {
  padding: 1.25rem;
}

.guide-card ul {
  margin: 0;
  padding-left: 1.2rem;
}

.guide-card li + li {
  margin-top: .55rem;
}

.guide-dark {
  background: linear-gradient(180deg, #071a31, #123f7c);
  border: 0;
  color: #fff;
}

.guide-dark h2,
.guide-dark p {
  color: #fff;
}

@media (max-width: 900px) {
  .storm-report-hero-inner,
  .storm-report-layout,
  .form-grid {
    grid-template-columns: 1fr;
  }

  .storm-report-form {
    padding: 1rem;
  }
}

.storm-report-guide .guide-card.guide-dark,
.storm-report-guide .guide-card.guide-dark *,
.guide-card.guide-dark,
.guide-card.guide-dark * {
  color: #ffffff !important;
}

.storm-report-guide .guide-card.guide-dark h2,
.guide-card.guide-dark h2 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: none !important;
}

.storm-report-hero .storm-report-hero-inner h1,
.storm-report-hero h1 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* =========================================================
   Forecast card text fit: keep descriptions inside panels
   ========================================================= */
#seven-day.forecast-grid,
.forecast-grid#seven-day {
  grid-template-columns: repeat(7, minmax(150px, 1fr)) !important;
  align-items: stretch !important;
}

#seven-day .day-card,
.forecast-grid .day-card {
  box-sizing: border-box !important;
  min-width: 150px !important;
  overflow: hidden !important;
}

#seven-day .day-body,
.forecast-grid .day-body {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-rows: auto auto minmax(34px, auto) minmax(38px, auto) !important;
  gap: .35rem !important;
  justify-items: center !important;
  overflow: hidden !important;
  padding: .95rem .62rem .85rem !important;
  width: 100% !important;
}

#seven-day .day-desc,
.forecast-grid .day-desc {
  align-items: center !important;
  box-sizing: border-box !important;
  display: flex !important;
  font-size: clamp(.78rem, .85vw, .9rem) !important;
  justify-content: center !important;
  line-height: 1.1 !important;
  margin: 0 !important;
  max-width: 100% !important;
  min-height: 36px !important;
  overflow-wrap: break-word !important;
  padding: .42rem .35rem !important;
  text-align: center !important;
  white-space: normal !important;
  word-break: normal !important;
}

#seven-day .day-low,
.forecast-grid .day-low {
  box-sizing: border-box !important;
  font-size: clamp(.78rem, .86vw, .92rem) !important;
  line-height: 1.12 !important;
  margin: 0 !important;
  max-width: 100% !important;
  overflow-wrap: break-word !important;
  padding: 0 .2rem !important;
  text-align: center !important;
  white-space: normal !important;
  word-break: normal !important;
}

#seven-day .day-temp,
.forecast-grid .day-temp {
  font-size: clamp(2.35rem, 4vw, 3.35rem) !important;
  letter-spacing: -.065em !important;
  line-height: .9 !important;
  max-width: 100% !important;
  text-align: center !important;
}

@media (max-width: 720px) {
  #seven-day .day-card,
  .forecast-grid .day-card {
    min-width: 138px !important;
  }

  #seven-day .day-body,
  .forecast-grid .day-body {
    padding: .8rem .48rem .7rem !important;
  }

  #seven-day .day-desc,
  .forecast-grid .day-desc,
  #seven-day .day-low,
  .forecast-grid .day-low {
    font-size: .78rem !important;
  }
}

/* Severe warning mode: blue site chrome turns red for local warning-level alerts. */
body.severe-alert-mode {
  --mcw-blue: #b70d14;
  --mcw-blue-2: #e31b23;
  --mcw-blue-3: #ff4b55;
  --mcw-soft: #ffe8ea;
}

body.severe-alert-mode .weather-strip {
  background: linear-gradient(90deg, #420006, #b70d14, #420006) !important;
  border-bottom-color: #ffccd1 !important;
  box-shadow: 0 8px 28px rgba(183, 13, 20, .28) !important;
}

body.severe-alert-mode .weather-strip .strip-title strong,
body.severe-alert-mode .weather-strip .strip-scroll,
body.severe-alert-mode .weather-strip .strip-scroll span {
  color: #ffffff !important;
}

body.severe-alert-mode .primary-nav a[aria-current="page"],
body.severe-alert-mode .primary-nav a:hover {
  background: #ffe8ea !important;
  color: #9f0710 !important;
}

body.severe-alert-mode .live-chip,
body.severe-alert-mode .card-topper,
body.severe-alert-mode .hero-showcase-panel,
body.severe-alert-mode .hero-card,
body.severe-alert-mode .footer,
body.severe-alert-mode .footer.footer-copyright-only,
body.severe-alert-mode .guide-dark,
body.severe-alert-mode .storm-report-guide .guide-card.guide-dark,
body.severe-alert-mode .broadcast-brand,
body.severe-alert-mode .submit-card-head,
body.severe-alert-mode .ad-box {
  background: linear-gradient(180deg, #a50710, #5a0007) !important;
  color: #ffffff !important;
}

body.severe-alert-mode .hero-showcase-panel,
body.severe-alert-mode .hero-card {
  background: linear-gradient(180deg, rgba(90, 0, 7, .98), rgba(183, 13, 20, .94)) !important;
}

body.severe-alert-mode .hero-card:after {
  background: linear-gradient(90deg, #ffccd1, #ffffff, #e31b23) !important;
}

body.severe-alert-mode .btn-red,
body.severe-alert-mode .btn-blue,
body.severe-alert-mode .hero-showcase .btn-blue {
  background: #b70d14 !important;
  border-color: #b70d14 !important;
  color: #ffffff !important;
}

body.severe-alert-mode .btn-outline {
  border-color: rgba(255, 255, 255, .7) !important;
  color: #ffffff !important;
}

body.severe-alert-mode .hero-stat,
body.severe-alert-mode .metric,
body.severe-alert-mode .alert-item {
  border-color: rgba(227, 27, 35, .45) !important;
}

body.severe-alert-mode .alert-item {
  border-left-color: #e31b23 !important;
}

body.severe-alert-mode .alert-item h3,
body.severe-alert-mode .section-head h2,
body.severe-alert-mode .maproom-section-head h2 {
  color: #7e0008 !important;
}

body.severe-alert-mode .section-head .red-rule,
body.severe-alert-mode .red-rule {
  background: #b70d14 !important;
}

/* Severe preview polish: the full site chrome and forecast backdrop go red. */
body.severe-alert-mode {
  background:
    radial-gradient(circle at top left, rgba(183, 13, 20, .22), transparent 32rem),
    linear-gradient(180deg, #fff7f8 0%, #f8e8ea 42%, #f3dfe2 100%) !important;
}

body.severe-alert-mode .site-header {
  background: linear-gradient(90deg, #230003, #5a0007 45%, #230003) !important;
  border-bottom-color: #ffccd1 !important;
  box-shadow: 0 8px 28px rgba(90, 0, 7, .32) !important;
}

body.severe-alert-mode .site-header .logo {
  background: linear-gradient(90deg, #160002, #78000a 72%, #b70d14) !important;
  border-color: rgba(255, 255, 255, .38) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .28) !important;
}

body.severe-alert-mode .primary-nav a {
  color: #ffffff !important;
}

body.severe-alert-mode .primary-nav a[aria-current="page"],
body.severe-alert-mode .primary-nav a:hover {
  background: #ffe8ea !important;
  color: #7e0008 !important;
}

body.severe-alert-mode .forecast-backdrop-section,
body.severe-alert-mode .home-forecast-backdrop,
body.severe-alert-mode .forecast-page-backdrop {
  background:
    linear-gradient(135deg, rgba(38, 0, 5, .94), rgba(122, 0, 10, .88) 48%, rgba(183, 13, 20, .82)),
    url("assets/forecast-section-bg.png") center center / cover no-repeat !important;
  background-blend-mode: multiply !important;
  border-color: #5a0007 !important;
  box-shadow: 0 20px 42px rgba(90, 0, 7, .24) !important;
}

body.severe-alert-mode .forecast-backdrop-section::before {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .1), transparent 45%),
    radial-gradient(circle at 78% 14%, rgba(255, 204, 209, .18), transparent 32%) !important;
}

body.severe-alert-mode .forecast-backdrop-section .section-head h2,
body.severe-alert-mode .forecast-backdrop-section .section-head p {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Radar page title sits on a dark banner and must stay white. */
body[data-page="radar"] .radar-hero-band h1,
body[data-page="radar"] .radar-hero-band p {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Forecast page phone view: make the 7-day graphic readable by rendering it
   wider inside the card. Desktop remains unchanged. */
@media (max-width: 760px) {
  body[data-page="forecast"] .forecast-html-embed-card {
    --forecast-mobile-graphic-width: clamp(560px, 158vw, 660px);
    width: 100% !important;
    max-width: 100% !important;
    height: calc(var(--forecast-mobile-graphic-width) * .5625) !important;
    min-height: 315px !important;
    aspect-ratio: auto !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: thin !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body[data-page="forecast"] .forecast-html-embed {
    width: var(--forecast-mobile-graphic-width) !important;
    min-width: var(--forecast-mobile-graphic-width) !important;
    max-width: none !important;
    height: calc(var(--forecast-mobile-graphic-width) * .5625) !important;
    min-height: 315px !important;
  }
}

/* One full-size sponsor at a time on phones; desktop keeps the three-card row. */
@media (max-width: 760px) {
  body[data-page="home"] .home-sponsors-section .sponsor-track {
    grid-template-columns:minmax(0, 1fr) !important;
    width:100% !important;
  }

  body[data-page="home"] .home-sponsors-section .real-sponsor-card {
    width:100% !important;
    min-width:0 !important;
    min-height:190px !important;
    padding:1rem !important;
  }

  body[data-page="home"] .home-sponsors-section .real-sponsor-card[data-sponsor="royal"] img {
    width:auto !important;
    max-width:92% !important;
    max-height:160px !important;
  }
}

/* Mobile-only forecast page: keep the custom 7-day iframe large in its card.
   Desktop forecast sizing stays untouched above this breakpoint. */
@media (max-width: 760px) {
  body[data-page="forecast"] main {
    padding-top: .65rem !important;
  }

  body[data-page="forecast"] .forecast-page-embed-container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 var(--mobile-gutter, 12px) !important;
    margin-top: .45rem !important;
  }

  body[data-page="forecast"] .forecast-backdrop-section {
    padding: .72rem !important;
    border-radius: 18px !important;
    min-height: 0 !important;
  }

  body[data-page="forecast"] .forecast-page-head {
    margin-bottom: .65rem !important;
  }

  body[data-page="forecast"] .forecast-html-embed-card {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  body[data-page="forecast"] .forecast-html-embed {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    display: block !important;
  }
}

/* =========================================================
   Mobile site polish: same MC Weather brand, fitted for phone
   ========================================================= */
@media (max-width: 760px) {
  :root {
    --mobile-gutter: 14px;
  }

  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body {
    background:
      radial-gradient(circle at 0 0, rgba(10, 118, 216, .16), transparent 22rem),
      linear-gradient(180deg, #f7fbff 0%, #eef4fb 100%) !important;
    font-family: Arial, Helvetica, sans-serif !important;
  }

  body,
  p,
  li,
  input,
  select,
  textarea,
  button {
    letter-spacing: 0 !important;
  }

  .container,
  .weather-strip .wrap,
  .header-main,
  .page-hero .container,
  .maproom-wrap,
  .skycams-feed-section,
  .storm-report-layout {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--mobile-gutter) !important;
    padding-right: var(--mobile-gutter) !important;
  }

  .site-header {
    position: sticky !important;
    top: 0 !important;
    background: rgba(255, 255, 255, .98) !important;
    border-bottom: 1px solid #d8e4f3 !important;
    box-shadow: 0 8px 24px rgba(7, 22, 48, .08) !important;
  }

  .header-main {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "logo menu"
      "nav nav" !important;
    align-items: center !important;
    gap: .55rem !important;
    padding-top: .55rem !important;
    padding-bottom: .55rem !important;
  }

  .site-header .logo {
    grid-area: logo !important;
    justify-self: start !important;
    min-width: 0 !important;
    max-width: 235px !important;
    border-radius: 999px !important;
  }

  .site-header .logo img {
    width: auto !important;
    height: 52px !important;
    max-width: 225px !important;
    object-fit: contain !important;
  }

  .nav-toggle {
    grid-area: menu !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 78px !important;
    min-height: 40px !important;
    border-radius: 999px !important;
    background: #071a31 !important;
    color: #fff !important;
    font-family: "MCWProximaExtraBold", "Proxima Nova Extrabold", Arial, Helvetica, sans-serif !important;
    font-size: .8rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
  }

  .primary-nav {
    grid-area: nav !important;
    display: none !important;
    grid-template-columns: 1fr 1fr !important;
    gap: .45rem !important;
    width: 100% !important;
    padding: .2rem 0 .1rem !important;
  }

  .primary-nav.is-open,
  .primary-nav[data-open="true"],
  body.nav-open .primary-nav {
    display: grid !important;
  }

  .primary-nav a {
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: .5rem .35rem !important;
    border-radius: 12px !important;
    background: #eef5ff !important;
    color: #071a31 !important;
    font-family: "MCWProximaExtraBold", "Proxima Nova Extrabold", Arial, Helvetica, sans-serif !important;
    font-size: .78rem !important;
    font-weight: 900 !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }

  .primary-nav a[aria-current="page"],
  .primary-nav a:hover {
    background: #dcecff !important;
    color: #092b57 !important;
  }

  .weather-strip .wrap {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .18rem !important;
    padding-top: .45rem !important;
    padding-bottom: .45rem !important;
  }

  .strip-title strong {
    font-family: "HelveticaNeueHeavyExt", "Helvetica Neue LT Std 83 Heavy Extended", "Arial Black", Impact, Arial, sans-serif !important;
    font-size: 1.02rem !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
  }

  .strip-scroll {
    max-width: 100% !important;
    font-family: "MCWProximaExtraBold", "Proxima Nova Extrabold", Arial, Helvetica, sans-serif !important;
    font-size: .78rem !important;
  }

  .container {
    padding-top: .85rem !important;
    padding-bottom: 1.5rem !important;
  }

  .hero,
  .split-layout,
  .grid,
  .grid-2,
  .grid-3,
  .grid-4,
  .storm-report-layout,
  .submit-clean-info,
  .submit-clean-cards,
  .submit-clean-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .9rem !important;
  }

  .hero {
    margin-top: .75rem !important;
  }

  .hero-card,
  .hero-showcase,
  .now-card,
  .forecast-backdrop-section,
  .radar-panel,
  .ad-box,
  .card,
  .storm-report-form,
  .guide-card,
  .package-card,
  .skycam-card {
    border-radius: 18px !important;
  }

  .hero-card {
    min-height: 0 !important;
  }

  .hero-feature-image {
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .hero-showcase-panel {
    padding: .85rem !important;
    background: linear-gradient(180deg, rgba(4, 18, 38, .98), rgba(5, 36, 72, .94)) !important;
  }

  .hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .55rem !important;
  }

  .btn,
  .hero-actions .btn {
    width: 100% !important;
    min-height: 44px !important;
    padding: .68rem .85rem !important;
    font-family: "MCWProximaExtraBold", "Proxima Nova Extrabold", Arial, Helvetica, sans-serif !important;
    font-size: .86rem !important;
    line-height: 1 !important;
    text-align: center !important;
  }

  .hero-meta {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: .5rem !important;
    margin-top: .7rem !important;
  }

  .hero-stat {
    min-height: 68px !important;
    padding: .65rem !important;
    border-radius: 14px !important;
  }

  .hero-stat span,
  .metric span,
  .label,
  .updated {
    font-family: "MCWProximaExtraBold", "Proxima Nova Extrabold", Arial, Helvetica, sans-serif !important;
    font-weight: 900 !important;
  }

  .hero-stat b,
  .current-main .temp,
  .temp,
  .day-temp,
  .hour-temp,
  .wx-num,
  .metric-temp-value {
    font-family: "HelveticaNeueHeavyExt", "Helvetica Neue LT Std 83 Heavy Extended", "Arial Black", Impact, Arial, sans-serif !important;
    letter-spacing: -.055em !important;
  }

  .hero-stat b {
    font-size: 1.45rem !important;
    line-height: .95 !important;
  }

  .card-topper {
    padding: .85rem .9rem !important;
    border-bottom-width: 4px !important;
  }

  .card-topper h2,
  .card-topper h3 {
    font-family: "HelveticaNeueHeavyExt", "Helvetica Neue LT Std 83 Heavy Extended", "Arial Black", Impact, Arial, sans-serif !important;
    font-size: 1.38rem !important;
    letter-spacing: -.06em !important;
  }

  .updated {
    font-size: .72rem !important;
    line-height: 1.2 !important;
  }

  .current-main {
    grid-template-columns: 72px minmax(0, 1fr) !important;
    gap: .7rem !important;
    padding: 1rem !important;
  }

  .wx-icon {
    width: 64px !important;
    height: 64px !important;
    border-radius: 18px !important;
    font-size: 2.2rem !important;
  }

  .current-main .temp,
  .temp {
    font-size: clamp(3rem, 17vw, 4rem) !important;
    line-height: .88 !important;
  }

  .condition {
    font-size: .95rem !important;
    line-height: 1.15 !important;
  }

  .metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .55rem !important;
    padding: 0 1rem 1rem !important;
  }

  .metric {
    min-height: 64px !important;
    padding: .65rem !important;
    border-radius: 13px !important;
  }

  .metric b {
    font-size: 1.05rem !important;
    line-height: 1.05 !important;
  }

  .section-head,
  .maproom-section-head,
  .skycams-section-head {
    display: block !important;
    margin: 1.35rem 0 .7rem !important;
  }

  .section-head h2,
  .maproom-section-head h2,
  .skycams-section-head h2,
  body[data-page="graphics"] .page-hero h1,
  .page-hero h1,
  .skycams-hero h1 {
    font-family: "HelveticaNeueHeavyExt", "Helvetica Neue LT Std 83 Heavy Extended", "Arial Black", Impact, Arial, sans-serif !important;
    font-size: clamp(2.25rem, 13vw, 3.2rem) !important;
    line-height: .9 !important;
    letter-spacing: -.075em !important;
    text-transform: uppercase !important;
  }

  .section-head p,
  .maproom-section-head p,
  .skycams-section-head p {
    margin-top: .45rem !important;
    color: #092b57 !important;
    font-family: "MCWProximaExtraBold", "Proxima Nova Extrabold", Arial, Helvetica, sans-serif !important;
    font-size: .95rem !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
  }

  .red-rule {
    width: 76px !important;
    height: 5px !important;
    margin-top: .35rem !important;
  }

  .forecast-grid,
  #seven-day.forecast-grid,
  .forecast-grid#seven-day,
  .hourly-strip {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: .6rem !important;
    padding: .15rem .1rem .72rem !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .day-card,
  #seven-day .day-card,
  .forecast-grid .day-card {
    flex: 0 0 138px !important;
    min-width: 138px !important;
    max-width: 138px !important;
    border-radius: 16px !important;
    scroll-snap-align: start !important;
  }

  .day-head {
    min-height: 48px !important;
    padding: .55rem .3rem !important;
    font-family: "MCWProximaExtraBold", "Proxima Nova Extrabold", Arial, Helvetica, sans-serif !important;
    font-size: .82rem !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
  }

  .day-body,
  #seven-day .day-body,
  .forecast-grid .day-body {
    min-height: 268px !important;
    grid-template-rows: 82px auto auto minmax(42px, auto) !important;
    gap: .32rem !important;
    padding: .7rem .45rem .75rem !important;
  }

  .day-body .mcw-weather-svg.forecast-icon,
  .mcw-weather-svg.forecast-icon {
    width: 60px !important;
    height: 60px !important;
    margin: .15rem auto .45rem !important;
    align-self: center !important;
  }

  .day-temp,
  #seven-day .day-temp,
  .forecast-grid .day-temp {
    font-size: 2.22rem !important;
    line-height: .9 !important;
    margin-top: .1rem !important;
  }

  .day-desc,
  #seven-day .day-desc,
  .forecast-grid .day-desc {
    width: 100% !important;
    min-height: 36px !important;
    padding: .38rem .25rem !important;
    font-family: "MCWProximaExtraBold", "Proxima Nova Extrabold", Arial, Helvetica, sans-serif !important;
    font-size: .76rem !important;
    line-height: 1.08 !important;
    text-align: center !important;
  }

  .forecast-wind,
  .day-low,
  #seven-day .day-low,
  .forecast-grid .day-low {
    font-family: "MCWProximaExtraBold", "Proxima Nova Extrabold", Arial, Helvetica, sans-serif !important;
    font-size: .78rem !important;
    line-height: 1.12 !important;
    overflow-wrap: anywhere !important;
  }

  .hour-card {
    flex: 0 0 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
    min-height: 158px !important;
    padding: 0 0 .65rem !important;
    border-radius: 15px !important;
    overflow: hidden !important;
    scroll-snap-align: start !important;
  }

  .hour-time,
  #hourly .hour-time,
  .hourly-strip .hour-time {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 36px !important;
    width: 100% !important;
    background: linear-gradient(180deg, var(--mcw-blue), #071a31) !important;
    color: #fff !important;
    font-family: "MCWProximaExtraBold", "Proxima Nova Extrabold", Arial, Helvetica, sans-serif !important;
    font-size: .78rem !important;
    text-transform: uppercase !important;
  }

  .hour-card .mcw-weather-svg.hourly-icon,
  .mcw-weather-svg.hourly-icon {
    width: 46px !important;
    height: 46px !important;
    margin: .55rem auto .12rem !important;
  }

  .hour-temp,
  #hourly .hour-temp,
  .hourly-strip .hour-temp {
    font-size: 2rem !important;
    color: #071a31 !important;
  }

  .hour-pop {
    font-family: "MCWProximaExtraBold", "Proxima Nova Extrabold", Arial, Helvetica, sans-serif !important;
    font-size: .72rem !important;
    line-height: 1.05 !important;
  }

  .forecast-summary-card .card-body {
    padding: .95rem !important;
  }

  .forecast-summary-card h3,
  .card h3,
  .package-card h3,
  .storm-report-form h2,
  .guide-card h2 {
    font-family: "HelveticaNeueHeavyExt", "Helvetica Neue LT Std 83 Heavy Extended", "Arial Black", Impact, Arial, sans-serif !important;
    font-size: 1.45rem !important;
    line-height: .98 !important;
    letter-spacing: -.06em !important;
  }

  .forecast-summary-card p,
  .card-body p,
  .skycam-card-body p,
  .storm-report-form p,
  .guide-card p,
  .guide-card li {
    font-family: "MCWProximaExtraBold", "Proxima Nova Extrabold", Arial, Helvetica, sans-serif !important;
    font-size: .96rem !important;
    font-weight: 800 !important;
    line-height: 1.34 !important;
  }

  .side-rail {
    position: static !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .85rem !important;
    margin-top: .85rem !important;
  }

  .radar-panel img {
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
  }

  .radar-panel .card-body {
    padding: 1rem !important;
  }

  .ad-box {
    min-height: 170px !important;
    padding: 1rem !important;
  }

  .ad-box strong {
    font-family: "HelveticaNeueHeavyExt", "Helvetica Neue LT Std 83 Heavy Extended", "Arial Black", Impact, Arial, sans-serif !important;
    font-size: 1.6rem !important;
    letter-spacing: -.055em !important;
  }

  .sponsor-rotator {
    padding: 0 2.25rem !important;
  }

  .sponsor-track {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .7rem !important;
  }

  .sponsor-card,
  .real-sponsor-card {
    min-height: 146px !important;
    padding: .75rem !important;
  }

  .sponsor-card img,
  .real-sponsor-card img {
    max-height: 110px !important;
    object-fit: contain !important;
  }

  .sponsor-nav {
    width: 40px !important;
    height: 40px !important;
  }

  .page-hero,
  .skycams-hero {
    padding: 1.4rem 0 !important;
  }

  .page-hero p,
  .skycams-hero p {
    max-width: 100% !important;
    font-family: "MCWProximaExtraBold", "Proxima Nova Extrabold", Arial, Helvetica, sans-serif !important;
    font-size: .98rem !important;
    font-weight: 850 !important;
    line-height: 1.35 !important;
  }

  .advertising-image-hero,
  .storm-report-image-hero,
  .maproom-hero-banner {
    width: 100% !important;
    max-width: calc(100% - 28px) !important;
    margin: 1rem auto !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }

  .advertising-image-hero img,
  .storm-report-image-hero img,
  .maproom-hero-banner {
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
  }

  .package-card,
  .storm-report-form,
  .guide-card {
    padding: 0 !important;
  }

  .package-card .card-body,
  .storm-report-form,
  .guide-card {
    padding: 1rem !important;
  }

  .price {
    font-size: 2rem !important;
  }

  .storm-report-form input,
  .storm-report-form select,
  .storm-report-form textarea {
    min-height: 46px !important;
    font-size: 1rem !important;
    border-radius: 12px !important;
  }

  .storm-report-form textarea {
    min-height: 150px !important;
  }

  .storm-report-form .form-grid,
  .form-grid {
    grid-template-columns: 1fr !important;
  }

  .skycams-grid,
  body[data-page="graphics"] .maproom-panel-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .9rem !important;
  }

  .skycam-card-header h3 {
    font-family: "HelveticaNeueHeavyExt", "Helvetica Neue LT Std 83 Heavy Extended", "Arial Black", Impact, Arial, sans-serif !important;
    font-size: 1.55rem !important;
    letter-spacing: -.06em !important;
  }

  .skycam-frame,
  .skycam-frame iframe {
    aspect-ratio: 16 / 9 !important;
    min-height: 0 !important;
  }

  body[data-page="graphics"] .broadcast-panel {
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    overflow: hidden !important;
  }

  body[data-page="graphics"] .broadcast-panel iframe,
  body[data-page="graphics"] .broadcast-panel img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .footer.footer-copyright-only,
  .footer {
    padding: 1rem 0 !important;
  }

  .footer-copyright-inner {
    font-family: "MCWProximaExtraBold", "Proxima Nova Extrabold", Arial, Helvetica, sans-serif !important;
    font-size: .9rem !important;
  }
}

@media (max-width: 430px) {
  :root {
    --mobile-gutter: 10px;
  }

  .site-header .logo img {
    height: 46px !important;
    max-width: 188px !important;
  }

  .nav-toggle {
    min-width: 68px !important;
    min-height: 38px !important;
    font-size: .72rem !important;
  }

  .primary-nav {
    grid-template-columns: 1fr !important;
  }

  .hero-meta {
    grid-template-columns: 1fr !important;
  }

  .metric-grid {
    grid-template-columns: 1fr !important;
  }

  .day-card,
  #seven-day .day-card,
  .forecast-grid .day-card {
    flex-basis: 132px !important;
    min-width: 132px !important;
    max-width: 132px !important;
  }

  .hour-card {
    flex-basis: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
  }

  .section-head h2,
  .maproom-section-head h2,
  .skycams-section-head h2,
  .page-hero h1,
  .skycams-hero h1 {
    font-size: clamp(1.85rem, 11vw, 2.35rem) !important;
  }

  .hourly-planner-section .section-head h2,
  .home-sponsors-section .section-head h2 {
    font-size: clamp(1.75rem, 9.2vw, 2.05rem) !important;
  }
}

body.severe-alert-mode .hourly-planner-section .section-head h2,
body.severe-alert-mode .hourly-planner-section .section-head p,
body.severe-alert-mode .home-sponsors-section .section-head h2,
body.severe-alert-mode .home-sponsors-section .section-head p {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

body.severe-alert-mode .forecast-backdrop-section .red-rule {
  background: #ffffff !important;
}

body.severe-alert-mode .forecast-backdrop-section .day-card {
  border-color: rgba(255, 204, 209, .75) !important;
  box-shadow: 0 14px 30px rgba(38, 0, 5, .24) !important;
}

/* Severe warning mode: no blue fade in forecast card headers. */
body.severe-alert-mode .day-head,
body.severe-alert-mode #seven-day .day-head,
body.severe-alert-mode .forecast-grid .day-head,
body.severe-alert-mode .hour-time,
body.severe-alert-mode .hour-card .hour-time {
  background: linear-gradient(180deg, #c40b16 0%, #7e0008 58%, #230003 100%) !important;
  border-bottom-color: #ffccd1 !important;
  color: #ffffff !important;
}

body.severe-alert-mode .day-card .day-desc,
body.severe-alert-mode #seven-day .day-desc,
body.severe-alert-mode .forecast-strip .day-desc {
  background: linear-gradient(180deg, #c40b16 0%, #7e0008 62%, #230003 100%) !important;
  color: #ffffff !important;
}

body.severe-alert-mode .radar-panel,
body.severe-alert-mode .radar-panel .card-body {
  background: linear-gradient(180deg, #7e0008 0%, #230003 100%) !important;
  color: #ffffff !important;
}

body.severe-alert-mode .radar-panel p {
  color: #ffe8ea !important;
}

/* Severe mode should not inherit the normal blue forecast wash. */
body.severe-alert-mode .forecast-backdrop-section,
body.severe-alert-mode .home-forecast-backdrop,
body.severe-alert-mode .forecast-page-backdrop {
  background:
    linear-gradient(135deg, #210003 0%, #4f0007 44%, #87000c 72%, #260003 100%) !important;
  background-blend-mode: normal !important;
}

body.severe-alert-mode .forecast-backdrop-section::before {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .08), transparent 42%),
    radial-gradient(circle at 80% 18%, rgba(255, 204, 209, .16), transparent 34%) !important;
}

body.severe-alert-mode .day-head,
body.severe-alert-mode .hour-time,
body.severe-alert-mode .day-card .day-desc {
  background-image: linear-gradient(180deg, #c90b16 0%, #850008 58%, #1f0003 100%) !important;
}

body.severe-alert-mode #hourly .hour-time,
body.severe-alert-mode .hourly-strip .hour-time,
body.severe-alert-mode .hour-card .hour-time {
  background: linear-gradient(180deg, #c90b16 0%, #850008 58%, #1f0003 100%) !important;
  color: #ffffff !important;
  border-color: #ffccd1 !important;
}

body.severe-alert-mode .forecast-summary-card .card-body {
  background: linear-gradient(180deg, #8f000c 0%, #4f0007 100%) !important;
  border-color: rgba(255, 204, 209, .75) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 30px rgba(79, 0, 7, .24) !important;
}

body.severe-alert-mode .forecast-summary-card .label,
body.severe-alert-mode .forecast-summary-card h3,
body.severe-alert-mode .forecast-summary-card p {
  color: #ffffff !important;
}

body.severe-alert-mode .sponsor-nav {
  background: linear-gradient(180deg, #8f000c 0%, #240003 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 24px rgba(79, 0, 7, .24) !important;
}

body.severe-alert-mode .sponsor-card {
  border-color: rgba(201, 11, 22, .45) !important;
}

/* Sponsor carousel controls */
.sponsor-dots {
  grid-column: 1 / -1;
  display: none;
  align-items: center;
  justify-content: center;
  gap: .45rem;
}

.sponsor-dot {
  width: 10px;
  height: 10px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #9bb0ca;
  cursor: pointer;
  transition: width .2s ease, background-color .2s ease;
}

.sponsor-dot.is-active {
  width: 28px;
  background: #071a31;
}

.sponsor-dot:focus-visible {
  outline: 3px solid #245ea8;
  outline-offset: 3px;
}

/* Mobile sponsor carousel: one substantial slide with overlay controls. */
@media (max-width: 760px) {
  body[data-page="home"] .home-sponsors-section .sponsor-rotator {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    padding: 0 .25rem 2.15rem !important;
    margin-top: .55rem !important;
  }

  body[data-page="home"] .home-sponsors-section .sponsor-track {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    gap: 0 !important;
    touch-action: pan-y !important;
  }

  body[data-page="home"] .home-sponsors-section .real-sponsor-card {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 230px !important;
    padding: .7rem !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 30px rgba(7, 26, 49, .12) !important;
  }

  body[data-page="home"] .home-sponsors-section .real-sponsor-card img {
    width: auto !important;
    height: auto !important;
    max-width: 92% !important;
    max-height: 190px !important;
    object-fit: contain !important;
  }

  body[data-page="home"] .home-sponsors-section .real-sponsor-card[data-sponsor="royal"] img {
    max-width: 96% !important;
    max-height: 194px !important;
  }

  body[data-page="home"] .home-sponsors-section .real-sponsor-card[data-sponsor="doug"] img {
    max-width: 82% !important;
    max-height: 186px !important;
  }

  body[data-page="home"] .home-sponsors-section .real-sponsor-card[data-sponsor="zone"] img {
    max-width: 96% !important;
    max-height: 164px !important;
  }

  body[data-page="home"] .home-sponsors-section .real-sponsor-card[data-sponsor="joes"] img {
    max-width: 98% !important;
    max-height: 205px !important;
  }

  body[data-page="home"] .home-sponsors-section .real-sponsor-card[data-sponsor="tuckys"] img {
    max-width: 82% !important;
    max-height: 188px !important;
  }

  body[data-page="home"] .home-sponsors-section .real-sponsor-card[data-sponsor="tmi"] img {
    max-width: 98% !important;
    max-height: 180px !important;
  }

  body[data-page="home"] .home-sponsors-section .real-sponsor-card[data-sponsor="lowell-catholic"] img {
    max-width: 76% !important;
    max-height: 188px !important;
  }

  body[data-page="home"] .home-sponsors-section .real-sponsor-card[data-sponsor="revolution-fire"] img {
    max-width: 74% !important;
    max-height: 184px !important;
  }

  body[data-page="home"] .home-sponsors-section .real-sponsor-card[data-sponsor="lawndale-farm"] img {
    max-width: 76% !important;
    max-height: 188px !important;
  }

  body[data-page="home"] .home-sponsors-section .sponsor-nav {
    position: absolute !important;
    top: calc(50% - 1.05rem) !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    transform: translateY(-50%) !important;
    box-shadow: 0 8px 20px rgba(7, 26, 49, .24) !important;
  }

  body[data-page="home"] .home-sponsors-section .sponsor-prev {
    left: -.55rem !important;
  }

  body[data-page="home"] .home-sponsors-section .sponsor-next {
    right: -.55rem !important;
  }

  body[data-page="home"] .home-sponsors-section .sponsor-dots {
    position: absolute !important;
    bottom: .2rem !important;
    left: 50% !important;
    display: flex !important;
    transform: translateX(-50%) !important;
  }

  body[data-page="home"] .home-sponsors-section .sponsor-track.is-changing {
    transform: translateX(5px) !important;
  }
}

body.severe-alert-mode #current-conditions.now-card {
  background: linear-gradient(180deg, #8f000c 0%, #4f0007 58%, #220003 100%) !important;
  border-color: rgba(255, 204, 209, .75) !important;
  box-shadow: 0 18px 34px rgba(79, 0, 7, .28) !important;
}

body.severe-alert-mode #current-conditions .card-topper {
  background: linear-gradient(90deg, #8f000c 0%, #5a0007 60%, #230003 100%) !important;
  border-bottom-color: #ffccd1 !important;
}

body.severe-alert-mode #current-conditions .updated {
  color: #ffe8ea !important;
}

body.severe-alert-mode #current-conditions .current-main {
  background: linear-gradient(180deg, #f9e7e9 0%, #8f000c 8%, #4f0007 100%) !important;
}

body.severe-alert-mode #current-conditions .wx-icon {
  background: linear-gradient(135deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, .05)) !important;
  border-color: rgba(255, 204, 209, .5) !important;
  color: #ffffff !important;
}

body.severe-alert-mode #current-conditions .temp,
body.severe-alert-mode #current-conditions .condition {
  color: #ffffff !important;
}

body.severe-alert-mode #current-conditions .metric-grid {
  background: #4f0007 !important;
}

body.severe-alert-mode #current-conditions .metric {
  background: linear-gradient(180deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .06)) !important;
  border-color: rgba(255, 204, 209, .55) !important;
}

body.severe-alert-mode #current-conditions .metric span,
body.severe-alert-mode #current-conditions .metric b,
body.severe-alert-mode #current-conditions .metric .wx-num,
body.severe-alert-mode #current-conditions .metric .wx-unit {
  color: #ffffff !important;
}

body.severe-alert-mode #seven-day .day-temp,
body.severe-alert-mode .forecast-grid .day-temp,
body.severe-alert-mode #hourly .hour-temp,
body.severe-alert-mode .hourly-strip .hour-temp,
body.severe-alert-mode .hour-card .hour-temp {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

body.severe-alert-mode #seven-day .forecast-wind,
body.severe-alert-mode #seven-day .day-low,
body.severe-alert-mode .forecast-grid .forecast-wind,
body.severe-alert-mode .forecast-grid .day-low,
body.severe-alert-mode .day-card .forecast-wind,
body.severe-alert-mode .day-card .day-low {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

body.severe-alert-mode .home-forecast-backdrop + .section-head h2,
body.severe-alert-mode .home-forecast-backdrop + .section-head p,
body.severe-alert-mode #hourly + .section-head h2,
body.severe-alert-mode #hourly + .section-head p,
body.severe-alert-mode .section-head h2,
body.severe-alert-mode .section-head p {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

body.severe-alert-mode .home-forecast-backdrop .section-head h2,
body.severe-alert-mode .home-forecast-backdrop .section-head p {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.severe-alert-mode main .section-head h2,
body.severe-alert-mode .split-layout .section-head h2,
body.severe-alert-mode .split-layout .section-head p {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
}

body.severe-alert-mode .forecast-backdrop-section .section-head h2,
body.severe-alert-mode .forecast-backdrop-section .section-head p {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
/* Mobile containment: keep horizontal forecast strips inside the phone viewport. */
@media (max-width: 760px) {
  .split-layout,
  .split-layout > *,
  .split-layout > div,
  .forecast-backdrop-section,
  .home-forecast-backdrop,
  .hourly-planner-section,
  .home-sponsors-section,
  .side-rail,
  .radar-panel,
  .ad-box {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .forecast-backdrop-section .section-head,
  .hourly-planner-section .section-head,
  .home-sponsors-section .section-head {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .forecast-grid,
  #seven-day.forecast-grid,
  .forecast-grid#seven-day,
  .hourly-strip {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    contain: layout paint !important;
  }

  .forecast-backdrop-section,
  .hourly-planner-section {
    overflow: hidden !important;
  }
}

/* Mobile home compaction: keep key weather data scannable without over-tall cards. */
@media (max-width: 430px) {
  body[data-page="home"] .hero-meta {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: .42rem !important;
  }

  body[data-page="home"] .hero-stat {
    min-height: 62px !important;
    padding: .52rem .35rem !important;
  }

  body[data-page="home"] .hero-stat span {
    font-size: .64rem !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
  }

  body[data-page="home"] .hero-stat b {
    font-size: 1.32rem !important;
  }

  body[data-page="home"] .metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .5rem !important;
  }

  body[data-page="home"] .metric {
    min-height: 62px !important;
    padding: .6rem .5rem !important;
  }

  body[data-page="home"] .metric span {
    font-size: .68rem !important;
  }

  body[data-page="home"] .metric b {
    font-size: .98rem !important;
    line-height: 1.05 !important;
  }
}

/* Forecast page phone layout: preserve the complete 16:9 broadcast board. */
@media (max-width: 760px) {
  body[data-page="forecast"] .forecast-html-embed-card {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    overflow: hidden !important;
  }

  body[data-page="forecast"] .forecast-html-embed {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  }
}
/* Home location forecast search */
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0, 0, 0, 0);
  white-space:nowrap;
  border:0;
}

body[data-page="home"] .location-forecast-section{
  margin:1.25rem 0 1.5rem;
  min-width:0;
  width:100%;
}

body[data-page="home"] .location-forecast-shell{
  background:#fff;
  border:1px solid #b9d0ee;
  border-radius:8px;
  box-shadow:0 14px 30px rgba(5,28,58,.09);
  overflow:hidden;
  width:100%;
}

body[data-page="home"] .location-forecast-heading{
  align-items:center;
  background:linear-gradient(110deg,#061a33 0%,#0a315f 100%);
  display:grid;
  gap:1.25rem;
  grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);
  padding:1.2rem 1.35rem;
}

body[data-page="home"] .location-forecast-kicker,
body[data-page="home"] .location-result-label{
  color:#8fc6ff;
  display:block;
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold",Arial,sans-serif;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.04em;
  margin-bottom:.25rem;
  text-transform:uppercase;
}

body[data-page="home"] .location-forecast-heading h2{
  color:#fff;
  font-family:"MCWHvEx","HelveticaNeueHeavyExt","Arial Black",Impact,sans-serif;
  font-size:clamp(1.65rem,3vw,2.45rem);
  letter-spacing:0;
  line-height:1;
  margin:0;
  text-transform:uppercase;
}

body[data-page="home"] .location-forecast-form{
  display:grid;
  gap:.65rem;
  grid-template-columns:minmax(0,1fr) auto;
}

body[data-page="home"] .location-forecast-form input{
  background:#fff;
  border:2px solid transparent;
  border-radius:6px;
  color:#061a33;
  font:800 1rem/1.2 "MCWProximaExtraBold","Proxima Nova Extrabold",Arial,sans-serif;
  min-width:0;
  padding:.82rem .95rem;
}

body[data-page="home"] .location-forecast-form input:focus{
  border-color:#62b7ff;
  outline:3px solid rgba(98,183,255,.25);
}

body[data-page="home"] .location-forecast-form .btn{
  border-radius:6px;
  min-width:145px;
  white-space:nowrap;
}

body[data-page="home"] .location-forecast-status{
  color:#37516f;
  font-weight:800;
  padding:1rem 1.35rem;
}

body[data-page="home"] .location-forecast-status.is-error{
  background:#fff0f1;
  color:#a00012;
}

body[data-page="home"] .location-forecast-results{
  display:grid;
  gap:1rem;
  grid-template-columns:310px minmax(0,1fr);
  padding:1rem;
  min-width:0;
}

body[data-page="home"] .location-forecast-results[hidden]{
  display:none;
}

body[data-page="home"] .location-current-card{
  background:#071f3b;
  border-radius:7px;
  color:#fff;
  display:grid;
  gap:.8rem;
  grid-template-columns:minmax(0,1fr) auto;
  padding:1rem;
  min-width:0;
  overflow:hidden;
}

body[data-page="home"] .location-current-card h3{
  color:#fff;
  font-size:1.35rem;
  line-height:1.05;
  margin:0;
  text-transform:uppercase;
}

body[data-page="home"] .location-current-card p{
  color:#dcecff;
  font-weight:800;
  margin:.35rem 0 0;
}

body[data-page="home"] .location-current-reading{
  align-items:center;
  display:flex;
  gap:.25rem;
}

body[data-page="home"] .location-current-reading img{
  height:58px !important;
  max-height:58px !important;
  max-width:58px !important;
  object-fit:contain;
  width:58px !important;
}

body[data-page="home"] .location-current-reading strong{
  font-family:"MCWHvEx","HelveticaNeueHeavyExt","Arial Black",Impact,sans-serif;
  font-size:2.75rem;
  letter-spacing:0;
  line-height:1;
}

body[data-page="home"] .location-current-metrics{
  display:grid;
  gap:.5rem;
  grid-column:1/-1;
  grid-template-columns:1fr 1fr;
  margin:0;
}

body[data-page="home"] .location-current-metrics div{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18);
  border-radius:6px;
  padding:.55rem .65rem;
}

body[data-page="home"] .location-current-metrics dt{
  color:#a9c2de;
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
}

body[data-page="home"] .location-current-metrics dd{
  font-weight:900;
  margin:.15rem 0 0;
}

body[data-page="home"] .location-daily-grid{
  display:grid;
  gap:.6rem;
  grid-template-columns:repeat(5,minmax(0,1fr));
  min-width:0;
}

body[data-page="home"] .location-day-card{
  align-items:center;
  background:#f3f7fc;
  border:1px solid #c7d8ed;
  border-radius:7px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:.65rem .35rem;
  text-align:center;
}

body[data-page="home"] .location-day-card h4{
  color:#071f3b;
  font-size:.84rem;
  margin:0;
  text-transform:uppercase;
}

body[data-page="home"] .location-day-card img{
  height:50px !important;
  margin:.35rem 0;
  max-height:50px !important;
  max-width:50px !important;
  object-fit:contain;
  width:50px !important;
}

body[data-page="home"] .location-day-temps{
  align-items:baseline;
  color:#071f3b;
  display:flex;
  gap:.35rem;
}

body[data-page="home"] .location-day-temps strong{
  font-family:"MCWHvEx","HelveticaNeueHeavyExt","Arial Black",Impact,sans-serif;
  font-size:1.45rem;
  letter-spacing:0;
}

body[data-page="home"] .location-day-temps span{
  color:#617189;
  font-weight:900;
}

body.severe-alert-mode[data-page="home"] .location-forecast-heading,
body.severe-alert-mode[data-page="home"] .location-current-card{
  background:linear-gradient(110deg,#3c0007 0%,#a00012 100%);
}

@media(max-width:900px){
  body[data-page="home"] .location-forecast-heading,
  body[data-page="home"] .location-forecast-results{
    grid-template-columns:1fr;
  }

  body[data-page="home"] .location-forecast-heading{
    align-items:stretch;
  }
}

@media(max-width:620px){
  body[data-page="home"] .location-forecast-section{
    margin:1rem 0 1.25rem;
  }

  body[data-page="home"] .location-forecast-heading{
    gap:.9rem;
    padding:1rem;
  }

  body[data-page="home"] .location-forecast-form{
    grid-template-columns:1fr;
  }

  body[data-page="home"] .location-forecast-form .btn{
    min-height:46px;
    width:100%;
  }

  body[data-page="home"] .location-forecast-status{
    padding:.85rem 1rem;
  }

  body[data-page="home"] .location-forecast-results{
    gap:.75rem;
    padding:.75rem;
  }

  body[data-page="home"] .location-current-card{
    gap:.65rem;
    grid-template-columns:minmax(0,1fr) auto;
    padding:.85rem;
  }

  body[data-page="home"] .location-current-card h3{
    font-size:1.05rem;
    overflow-wrap:anywhere;
  }

  body[data-page="home"] .location-current-reading strong{
    font-size:2.25rem;
  }

  body[data-page="home"] .location-current-metrics{
    gap:.4rem;
  }

  body[data-page="home"] .location-daily-grid{
    gap:.45rem;
    grid-template-columns:repeat(5,96px);
    max-width:100%;
    overflow-x:auto;
    padding-bottom:.35rem;
    scrollbar-color:#7891ad #dce7f4;
  }

  body[data-page="home"] .location-day-card{
    min-height:126px;
  }
}

/* Location forecast broadcast typography */
body[data-page="home"] .location-forecast-heading h2{
  color:#fff !important;
  font-family:"MCWHvEx","HelveticaNeueHeavyExt","Arial Black",Impact,sans-serif !important;
}

body[data-page="home"] .location-current-card h3{
  color:#fff !important;
  font-family:"MCWHvEx","HelveticaNeueHeavyExt","Arial Black",Impact,sans-serif !important;
  letter-spacing:0 !important;
}

body[data-page="home"] .location-current-card #location-result-condition,
body[data-page="home"] .location-current-reading strong,
body[data-page="home"] .location-current-metrics dt,
body[data-page="home"] .location-current-metrics dd{
  font-family:"MCWHvEx","HelveticaNeueHeavyExt","Arial Black",Impact,sans-serif !important;
  letter-spacing:0 !important;
}

body[data-page="home"] .location-current-card #location-result-condition,
body[data-page="home"] .location-current-reading strong,
body[data-page="home"] .location-current-metrics dd{
  color:#fff !important;
}

body[data-page="home"] .location-current-metrics dt{
  color:#b9d6f2 !important;
}

/* Location forecast app surface */
body[data-page="home"] .location-forecast-shell{
  background:#f7faff;
  border:1px solid #adc7e7;
  box-shadow:0 18px 42px rgba(6,31,62,.14);
}

body[data-page="home"] .location-forecast-heading{
  background:#071f3b;
  grid-template-columns:minmax(300px,.72fr) minmax(460px,1fr);
  padding:1.15rem 1.25rem;
}

body[data-page="home"] .location-forecast-title-group{
  align-items:center;
  display:flex;
  gap:.85rem;
  min-width:0;
}

body[data-page="home"] .location-pin{
  background:#fff;
  border:5px solid #1682d4;
  border-radius:50% 50% 50% 0;
  display:block;
  flex:0 0 auto;
  height:30px;
  transform:rotate(-45deg);
  width:30px;
}

body[data-page="home"] .location-pin::after{
  background:#071f3b;
  border-radius:50%;
  content:"";
  height:7px;
  left:7px;
  position:absolute;
  top:7px;
  width:7px;
}

body[data-page="home"] .location-forecast-heading h2{
  font-size:clamp(1.5rem,2.4vw,2.1rem);
}

body[data-page="home"] .location-forecast-form{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18);
  border-radius:7px;
  gap:.5rem;
  padding:.45rem;
}

body[data-page="home"] .location-search-field{
  align-items:center;
  background:#fff;
  border-radius:5px;
  display:flex;
  min-width:0;
  overflow:hidden;
}

body[data-page="home"] .location-search-field > span{
  border:3px solid #55708f;
  border-radius:50%;
  display:block;
  flex:0 0 auto;
  height:15px;
  margin-left:.9rem;
  position:relative;
  width:15px;
}

body[data-page="home"] .location-search-field > span::after{
  background:#55708f;
  content:"";
  height:3px;
  position:absolute;
  right:-7px;
  top:11px;
  transform:rotate(45deg);
  width:8px;
}

body[data-page="home"] .location-forecast-form input{
  border:0;
  flex:1 1 auto;
  padding:.8rem .9rem .8rem .75rem;
  width:100%;
}

body[data-page="home"] .location-forecast-form input:focus{
  border:0;
  outline:0;
}

body[data-page="home"] .location-forecast-form .btn{
  background:#0875c1;
  border-color:#0875c1;
  min-height:45px;
}

body[data-page="home"] .location-forecast-status{
  background:#eaf3fe;
  border-bottom:1px solid #c6d9ef;
  color:#38536f;
  font-size:.9rem;
  padding:.72rem 1.25rem;
}

body[data-page="home"] .location-forecast-results{
  align-items:stretch;
  gap:0;
  grid-template-columns:minmax(270px,330px) minmax(0,1fr);
  padding:0;
}

body[data-page="home"] .location-current-card{
  background:linear-gradient(145deg,#0b396b 0%,#061a33 100%);
  border-radius:0;
  gap:.85rem;
  grid-template-columns:1fr;
  padding:1.25rem;
}

body[data-page="home"] .location-current-card h3{
  font-family:"MCWHvEx","HelveticaNeueHeavyExt","Arial Black",Impact,sans-serif;
  font-size:1.25rem;
}

body[data-page="home"] .location-current-card p{
  color:#fff;
  font-size:1rem;
}

body[data-page="home"] .location-current-reading{
  justify-content:flex-start;
}

body[data-page="home"] .location-current-reading img{
  height:76px !important;
  max-height:76px !important;
  max-width:76px !important;
  width:76px !important;
}

body[data-page="home"] .location-current-reading strong{
  color:#fff;
  font-size:3.65rem;
}

body[data-page="home"] .location-current-metrics{
  grid-column:auto;
}

body[data-page="home"] .location-current-metrics div{
  background:rgba(255,255,255,.08);
  min-width:0;
}

body[data-page="home"] .location-current-metrics dd{
  color:#fff;
}

body[data-page="home"] .location-outlook{
  min-width:0;
  padding:1rem;
}

body[data-page="home"] .location-outlook-heading{
  align-items:end;
  display:flex;
  justify-content:space-between;
  margin-bottom:.7rem;
}

body[data-page="home"] .location-outlook-heading h3{
  color:#071f3b;
  font-size:1.2rem;
  margin:0;
  text-transform:uppercase;
}

body[data-page="home"] .location-outlook-heading span{
  color:#627792;
  font-size:.78rem;
  font-weight:900;
}

body[data-page="home"] .location-day-card{
  background:#fff;
  border-color:#c6d8ed;
  box-shadow:0 6px 15px rgba(5,30,60,.06);
  justify-content:flex-start;
  min-height:170px;
  padding:.75rem .35rem;
}

body[data-page="home"] .location-day-card h4{
  font-size:.86rem;
}

body[data-page="home"] .location-day-card img{
  height:58px !important;
  max-height:58px !important;
  max-width:58px !important;
  width:58px !important;
}

body[data-page="home"] .location-day-card p{
  color:#50647e;
  display:-webkit-box;
  font-size:.72rem;
  font-weight:900;
  line-height:1.05;
  margin:0 0 .55rem;
  min-height:1.5em;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

body[data-page="home"] .location-day-temps{
  margin-top:auto;
}

@media(max-width:900px){
  body[data-page="home"] .location-forecast-heading,
  body[data-page="home"] .location-forecast-results{
    grid-template-columns:1fr;
  }

  body[data-page="home"] .location-current-card{
    align-items:center;
    grid-template-columns:minmax(0,1fr) auto;
  }

  body[data-page="home"] .location-current-metrics{
    grid-column:1/-1;
  }
}

@media(max-width:620px){
  body[data-page="home"] .location-forecast-heading{
    padding:.9rem;
  }

  body[data-page="home"] .location-pin{
    height:25px;
    width:25px;
  }

  body[data-page="home"] .location-pin::after{
    height:5px;
    left:5px;
    top:5px;
    width:5px;
  }

  body[data-page="home"] .location-forecast-form{
    background:transparent;
    border:0;
    padding:0;
  }

  body[data-page="home"] .location-forecast-form .btn{
    min-width:0;
  }

  body[data-page="home"] .location-forecast-status{
    font-size:.8rem;
    padding:.65rem .9rem;
  }

  body[data-page="home"] .location-current-card{
    grid-template-columns:minmax(0,1fr) auto;
    padding:1rem;
  }

  body[data-page="home"] .location-current-reading img{
    height:56px !important;
    max-height:56px !important;
    max-width:56px !important;
    width:56px !important;
  }

  body[data-page="home"] .location-current-reading strong{
    font-size:2.65rem;
  }

  body[data-page="home"] .location-outlook{
    padding:.85rem;
  }

  body[data-page="home"] .location-outlook-heading span{
    display:none;
  }

  body[data-page="home"] .location-daily-grid{
    grid-template-columns:repeat(5,108px);
  }

  body[data-page="home"] .location-day-card{
    min-height:156px;
  }
}

/* Final mobile forecast labels */
body[data-page="home"] .location-forecast-heading h2{
  color:#fff !important;
}

body[data-page="home"] .location-current-card h3{
  color:#fff !important;
  font-family:"MCWProximaExtraBold","Proxima Nova Extrabold",Arial,sans-serif !important;
  font-size:clamp(.98rem,4.1vw,1.16rem) !important;
  font-weight:900 !important;
  line-height:1.1 !important;
  text-transform:none !important;
}
