:root{
  --navy:#062f5d;
  --navy-2:#084b7d;
  --blue:#0b67c7;
  --blue-2:#e8f3ff;
  --green:#2f9f59;
  --red:#dc3545;
  --orange:#f08a1c;
  --purple:#8f3fd1;
  --ink:#10243a;
  --muted:#617488;
  --line:#dfe7f0;
  --bg:#f2f7fb;
  --card:#ffffff;
  --shadow:0 16px 36px rgba(7,40,75,.12);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,#eef6fc 0,#f7fbff 45%,#eef6fc 100%);color:var(--ink);font:16px/1.45 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}
a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.skip-link{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 12px;border-radius:8px;z-index:999}.skip-link:focus{left:8px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.site-header{background:linear-gradient(90deg,#052a55,#063b71);color:#fff;position:sticky;top:0;z-index:50;box-shadow:0 10px 24px rgba(0,20,50,.18)}
.header-inner{max-width:1280px;margin:auto;display:flex;align-items:center;gap:28px;padding:16px 22px}.brand{min-width:245px}.brand-title{font:800 34px/1.05 Georgia,serif;letter-spacing:-.5px;display:block}.brand-subtitle{display:block;font-size:13px;font-weight:700;opacity:.95}.main-nav{display:flex;gap:22px;align-items:center;flex:1}.main-nav a{font-weight:700;opacity:.92;padding:10px 0;border-bottom:3px solid transparent}.main-nav a.active,.main-nav a:hover{opacity:1;text-decoration:none;border-color:#fff}.mode-buttons{display:flex;gap:10px}.mode-button{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff;padding:10px 14px;border-radius:10px;font-weight:800;white-space:nowrap}.mode-button.local{background:linear-gradient(180deg,#338c4a,#20713c)}.mobile-menu-button{display:none;background:transparent;border:0;width:42px;height:38px;gap:6px;flex-direction:column;justify-content:center}.mobile-menu-button span:not(.sr-only){height:3px;background:#fff;border-radius:3px;display:block}
.hero-shell{max-width:1280px;margin:0 auto;padding:18px 12px 0;border-radius:0 0 24px 24px;position:relative}.hero-shell:before{content:"";position:absolute;inset:0 12px;background:linear-gradient(180deg,rgba(4,48,89,.20),rgba(3,50,95,.78));border-radius:0 0 24px 24px;z-index:-1;overflow:hidden}.hero-shell:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:64%;background:linear-gradient(180deg,transparent,rgba(8,31,57,.38));z-index:-1;border-radius:0 0 24px 24px}.search-wrap{max-width:650px;margin:0 auto 24px}.site-search{width:100%;height:56px;border:0;border-radius:16px;padding:0 22px 0 52px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%23556778' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E") 18px center/22px no-repeat;font-weight:700;color:var(--ink);box-shadow:0 10px 24px rgba(0,26,63,.18)}.hero-content{display:grid;grid-template-columns:1fr 280px;gap:28px;padding:0 28px 28px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:#d9ebff;font-weight:900;margin:0 0 6px}.hero-main h1{color:#fff;font-size:46px;line-height:1.05;margin:0 0 22px;letter-spacing:-1px}.status-grid{display:grid;grid-template-columns:repeat(5,minmax(116px,1fr));gap:14px}.status-card{background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.4);box-shadow:var(--shadow);border-radius:12px;padding:14px 14px 12px;display:grid;grid-template-columns:36px 1fr;grid-template-areas:"icon num" "icon label" "icon link";align-items:center;min-height:108px}.status-icon{grid-area:icon;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;color:#fff}.status-card strong{grid-area:num;font-size:32px;line-height:1}.status-card span:not(.status-icon){grid-area:label;font-size:13px;font-weight:900}.status-card a{grid-area:link;color:var(--blue);font-size:12px;font-weight:800;text-decoration:underline}.status-card.danger .status-icon{background:var(--red)}.status-card.warning .status-icon{background:#f4b027}.status-card.ok .status-icon{background:var(--green)}.status-card.weather .status-icon{background:var(--blue)}.status-card.events .status-icon{background:var(--purple)}.hero-actions{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:14px;margin-top:18px}.action-button{border-radius:11px;color:#fff;font-weight:900;text-align:center;padding:14px 16px;box-shadow:0 8px 18px rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.36)}.action-button:hover{text-decoration:none;filter:brightness(1.05)}.action-button.dark{background:linear-gradient(180deg,#0d4a83,#06345e);color:#fff;border-color:rgba(255,255,255,.42)}.action-button.dark:focus-visible{outline:3px solid #8fd0ff;outline-offset:3px}.sirens{background:linear-gradient(180deg,#ef3b48,#c82335)}.near{background:linear-gradient(180deg,#1879db,#0a58b4)}.storm{background:linear-gradient(180deg,#3d4146,#22272d)}.pulse-card{align-self:end;background:rgba(4,32,66,.92);border:1px solid rgba(255,255,255,.24);box-shadow:var(--shadow);border-radius:18px;color:#fff;padding:18px}.pulse-title{display:flex;align-items:center;justify-content:space-between}.info-dot{border:2px solid rgba(255,255,255,.72);border-radius:50%;width:22px;height:22px;text-align:center;font-size:13px;font-weight:900}.sparkline{color:#64da56;width:100%;height:68px;margin:10px 0}.pulse-card p{margin:0;color:#d9ebff;font-weight:600}
.dashboard-shell{max-width:1280px;margin:14px auto 0;padding:0 12px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 28px rgba(8,46,82,.08);overflow:hidden}.primary-grid{display:grid;grid-template-columns:minmax(300px,430px) 1fr;gap:14px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 8px}.card h2{font-size:19px;line-height:1.2;margin:0;color:#083565}.updated{font-size:12px;color:var(--muted);font-weight:700}.live-badge,.alert-pill,.live-green{font-size:11px;padding:4px 7px;border-radius:7px;color:#fff;background:var(--red);vertical-align:middle;margin-left:6px}.live-green{background:#37a653}.incident-list{padding:0 18px}.incident-item{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;border-top:1px solid var(--line);padding:14px 0}.incident-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:20px}.incident-title{font-weight:900}.incident-location{font-size:13px;color:var(--muted);font-weight:600}.incident-time{text-align:right;font-size:12px;color:var(--muted);font-weight:800}.badge{display:block;margin-top:6px;color:#fff;border-radius:12px;padding:3px 8px;font-size:11px}.badge.red{background:var(--red)}.badge.blue{background:var(--blue)}.badge.orange{background:var(--orange)}.badge.purple{background:var(--purple)}.icon-red{background:var(--red)}.icon-blue{background:var(--blue)}.icon-orange{background:var(--orange)}.icon-purple{background:var(--purple)}.card-link{display:inline-block;color:var(--blue);font-weight:900;font-size:14px;padding:12px 18px 16px}.card-link.right{float:right}.map-heading{align-items:flex-start}.map-toggles{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.chip{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 9px;font-size:12px;font-weight:800}.chip.safety{color:var(--red)}.chip.roads{color:var(--orange)}.chip.weather{color:var(--blue)}.chip.outages{color:var(--green)}.chip.events{color:var(--purple)}.fake-map{position:relative;height:320px;margin:0 18px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#f3f4ed}.fake-map svg{position:absolute;inset:0;width:100%;height:100%}.map-marker{position:absolute;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:900;border:4px solid #fff;box-shadow:0 4px 12px rgba(0,0,0,.25)}.map-marker.fire{background:var(--red)}.map-marker.ems{background:var(--blue)}.map-marker.road{background:var(--orange)}.map-marker.weather{background:#1675d1}.map-marker.outage{background:var(--green)}.map-marker.event{background:var(--purple)}.map-marker.alert{background:#ffbd2e}.map-controls{position:absolute;right:10px;bottom:10px;display:grid;border:1px solid var(--line);border-radius:9px;overflow:hidden}.map-controls button{width:34px;height:32px;background:#fff;border:0;border-bottom:1px solid var(--line);font-weight:900}.map-controls button:last-child{border-bottom:0}.card-grid{display:grid;gap:14px;margin-top:14px}.card-grid.four{grid-template-columns:repeat(4,1fr)}.compact-card{padding:16px 18px}.compact-card .card-heading{padding:0 0 10px}.mini-list,.news-list,.schedule-list,.chevron-list{display:grid;gap:0;margin-top:10px}.mini-item,.news-item,.schedule-item,.chevron-item{border-top:1px solid var(--line);padding:12px 0;display:grid;gap:2px}.mini-item:first-child,.news-item:first-child,.schedule-item:first-child,.chevron-item:first-child{border-top:0}.mini-title,.news-title,.event-title,.chevron-title{font-weight:900}.mini-sub,.news-source,.event-location,.chevron-sub{font-size:13px;color:var(--muted);font-weight:650}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px}.dot.orange{background:var(--orange)}.dot.yellow{background:#f4b027}.weather-card p{font-weight:650;color:#31465b}.radar-preview{height:112px;border-radius:12px;background:radial-gradient(circle at 12% 60%,rgba(255,64,48,.85) 0 10%,transparent 17%),radial-gradient(circle at 24% 45%,rgba(255,197,41,.9) 0 18%,transparent 28%),radial-gradient(circle at 36% 55%,rgba(75,190,85,.85) 0 26%,transparent 38%),linear-gradient(135deg,#11476c,#2c7b72 45%,#1c4e67);position:relative;overflow:hidden}.radar-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:28px 28px}.weather-stats{display:flex;gap:12px;flex-wrap:wrap;font-size:14px}.outage-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:14px}.outage-table th{text-align:left;color:var(--muted);font-size:12px}.outage-table td,.outage-table th{border-bottom:1px solid var(--line);padding:8px 4px}.news-item{grid-template-columns:70px 1fr;gap:10px}.news-thumb{width:70px;height:54px;border-radius:9px;background:linear-gradient(135deg,#d6e8ef,#6b94ac);overflow:hidden}.news-thumb.storm{background:radial-gradient(circle at 40% 30%,#fff 0 5%,transparent 6%),linear-gradient(135deg,#063a75,#1b85bd 48%,#0a1930)}.news-thumb.school{background:linear-gradient(135deg,#b17b4d,#eee3cd)}.subhead{color:var(--blue);font-weight:900}.check-list{padding:0;margin:12px 0;list-style:none}.check-list li{padding:5px 0;font-weight:700}.check-list li:before{content:"✓";color:var(--green);font-weight:900;margin-right:8px}.trend-list{margin:10px 0 0;padding-left:26px}.trend-list li{padding:10px 0;border-top:1px solid var(--line);font-weight:900}.trend-list li:first-child{border-top:0}.trend-list span{display:block;color:var(--muted);font-size:13px;font-weight:700}.feature-row{display:grid;grid-template-columns:1.45fr 1fr;gap:14px;margin-top:14px}.explore-card{padding:16px 18px}.section-heading h2{font-size:24px}.section-heading p{margin:0;color:var(--muted);font-weight:800}.feature-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:14px}.feature-card{display:block;background:#f6f9fc;border:1px solid var(--line);border-radius:14px;padding:12px;color:var(--ink)}.feature-card:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 12px 24px rgba(8,46,82,.10)}.feature-art{height:104px;border-radius:12px;margin-bottom:12px;overflow:hidden}.mini-map-art{background:radial-gradient(circle at 25% 40%,#2f9f59 0 5px,transparent 6px),radial-gradient(circle at 70% 35%,#1675d1 0 5px,transparent 6px),radial-gradient(circle at 58% 72%,#2f9f59 0 5px,transparent 6px),linear-gradient(135deg,#d8ecf2,#edf7e4)}.gorge-art{background:radial-gradient(circle at 66% 18%,rgba(255,255,255,.9) 0 10%,transparent 11%),linear-gradient(125deg,#123d34 0 30%,#4d7e55 30% 50%,#182d24 50% 62%,#93c8d6 62% 70%,#153925 70%)}.pass-art{background:linear-gradient(135deg,#063866,#0b4b83);color:#fff;display:flex;align-items:center;justify-content:center;position:relative;text-align:center;letter-spacing:.08em}.pass-art strong{border:2px solid rgba(255,255,255,.7);padding:12px 18px;border-radius:5px}.pass-art em{position:absolute;right:10px;bottom:10px;background:#68bd42;border-radius:50%;width:64px;height:64px;display:grid;place-items:center;font-style:normal;font-size:12px;letter-spacing:0;line-height:1.1;font-weight:900}.feature-card h3{margin:0 0 4px;color:#083565}.feature-card p{margin:0 0 8px;color:var(--muted);font-weight:650}.feature-card span{color:var(--blue);font-weight:900}.webcam-card{padding:16px 18px}.webcam-card .card-heading{padding:0 0 10px}.webcam-preview{height:274px;border-radius:14px;overflow:hidden;position:relative;background:linear-gradient(180deg,#84c4ef 0 35%,#eaf4f9 36% 42%,#2e7eaa 43% 68%,#1f6e9e 68% 100%)}.webcam-preview:before{content:"";position:absolute;left:0;right:0;top:36%;height:26%;background:linear-gradient(90deg,#335d45,#819b67,#335d45);clip-path:polygon(0 35%,30% 2%,60% 25%,100% 7%,100% 100%,0 100%)}.dock{position:absolute;bottom:30px;height:12px;background:#46382c;box-shadow:0 5px 0 rgba(255,255,255,.25)}.dock.one{left:0;width:35%;transform:skewY(-8deg)}.dock.two{right:0;width:38%;transform:skewY(8deg)}.flagpole{position:absolute;right:24%;bottom:46px;width:4px;height:115px;background:#333}.flagpole span{position:absolute;top:8px;left:4px;width:42px;height:25px;background:linear-gradient(#c7313f 0 16%,#fff 16% 32%,#c7313f 32% 48%,#fff 48% 64%,#c7313f 64% 80%,#fff 80%);box-shadow:-14px 0 0 #24477c inset}.webcam-caption{display:flex;justify-content:space-between;color:var(--muted);font-weight:800;font-size:13px;margin-top:10px}.bottom-band{background:linear-gradient(90deg,#063866,#074c75);color:#fff;margin-top:14px}.bottom-grid{max-width:1280px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:26px;padding:24px}.bottom-grid article{border-left:1px solid rgba(255,255,255,.25);padding-left:24px}.bottom-grid article:first-child{border-left:0}.bottom-grid h2{font-size:18px;margin:0 0 12px}.bottom-grid a{display:flex;justify-content:space-between;gap:12px;padding:4px 0;color:#eef7ff;font-weight:700}.bottom-grid em,.bottom-grid small{color:#8ff29e;font-style:normal;font-size:12px}.bottom-grid small{color:#ffd166}.muted-link{color:#d4eafe!important;margin-top:6px}.site-footer{background:#04294e;color:#b9d2e9;text-align:center;padding:16px}.site-footer p{margin:0 0 6px}.site-footer nav{display:flex;justify-content:center;gap:18px;font-size:13px}
@media(max-width:1100px){.header-inner{flex-wrap:wrap}.main-nav{order:3;width:100%;justify-content:center}.hero-content{grid-template-columns:1fr}.pulse-card{max-width:420px}.status-grid{grid-template-columns:repeat(3,1fr)}.primary-grid,.feature-row{grid-template-columns:1fr}.card-grid.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.header-inner{gap:12px}.brand{min-width:0;flex:1}.brand-title{font-size:28px}.mobile-menu-button{display:flex}.main-nav{display:none;grid-template-columns:1fr 1fr;gap:8px;background:rgba(255,255,255,.08);border-radius:12px;padding:10px}.main-nav.open{display:grid}.mode-buttons{width:100%;justify-content:space-between}.mode-button{flex:1}.hero-content{padding:0 14px 18px}.hero-main h1{font-size:36px}.status-grid{grid-template-columns:1fr 1fr}.hero-actions{grid-template-columns:1fr}.primary-grid{gap:12px}.card-grid.four,.feature-cards,.bottom-grid{grid-template-columns:1fr}.fake-map{height:280px;margin:0 12px}.map-heading{display:block}.map-toggles{justify-content:flex-start;margin-top:10px}.bottom-grid article{border-left:0;border-top:1px solid rgba(255,255,255,.25);padding:16px 0 0}.bottom-grid article:first-child{border-top:0}.webcam-caption{display:block}.site-footer nav{flex-wrap:wrap}}

.source-note{margin:8px 0 0;color:var(--muted);font-size:13px;font-weight:700}.obituary-list{display:grid;gap:0;margin-top:8px}.obituary-item{border-top:1px solid var(--line);padding:11px 0;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start}.obituary-item:first-child{border-top:0}.obituary-name{font-weight:950;color:#083565}.obituary-meta{font-size:13px;color:var(--muted);font-weight:750}.obituary-service{font-size:13px;color:#31465b;font-weight:650;margin-top:2px}.obituary-source{text-align:right;font-size:12px;color:var(--blue);font-weight:900;white-space:nowrap}.obituary-source span{display:block;color:var(--muted);font-weight:750;margin-top:2px}@media(max-width:720px){.obituary-item{grid-template-columns:1fr}.obituary-source{text-align:left;white-space:normal}}


/* Community Billboard */
.community-board-card .subhead { margin-bottom: 12px; }
.community-list { display: grid; gap: 10px; }
.community-item {
  border: 1px solid #dfe8f3;
  border-radius: 14px;
  padding: 10px 11px;
  background: linear-gradient(180deg, #ffffff, #f8fbff);
}
.community-topline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-bottom: 5px;
  font-size: 11px;
  font-weight: 900;
  color: #587089;
}
.community-category {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 3px 8px;
  background: #edf5ff;
  color: #0b67c7;
}
.community-category.pet { background: #fff3df; color: #a15b00; }
.community-category.fundraiser { background: #eefcf3; color: #187342; }
.community-category.sale { background: #f2edff; color: #5b3cb5; }
.community-town { white-space: nowrap; }
.community-title { font-weight: 950; color: #12395f; line-height: 1.2; }
.community-sub { margin-top: 3px; color: #61758b; font-size: 12px; line-height: 1.35; }
.notice-form-preview {
  margin-top: 18px;
  padding: 16px;
  border: 1px dashed #9eb7d4;
  border-radius: 16px;
  background: #f6fbff;
}
.notice-form-preview ul { margin: 8px 0 0 18px; color: #425c76; }

/* v005 real webcam embed */
.webcam-embed {
  position: relative;
  height: 274px;
  border-radius: 14px;
  overflow: hidden;
  background: linear-gradient(135deg, #082e52, #0b67c7);
  border: 1px solid var(--line);
}
.webcam-iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: #000;
  z-index: 2;
}
.webcam-fallback {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  gap: 7px;
  padding: 20px;
  text-align: center;
  color: #fff;
  z-index: 1;
}
.webcam-fallback span { color: rgba(255,255,255,.82); font-size: 13px; font-weight: 700; }
.webcam-fallback a { color: #fff; font-weight: 900; text-decoration: underline; }
@media(max-width:720px){.webcam-embed{height:230px}}
.webcam-page-card{padding:22px}.webcam-large{height:min(70vh,620px);min-height:360px;margin:16px 0}


/* v006 Local/Tourist mode behavior */
.hero-subline {
  max-width: 760px;
  margin: -12px 0 18px;
  color: rgba(255,255,255,.92);
  font-weight: 800;
  text-shadow: 0 1px 8px rgba(0,0,0,.28);
}
.mode-hint {
  margin: 14px 0 0;
  display: inline-flex;
  align-items: center;
  max-width: 760px;
  border: 1px solid rgba(255,255,255,.32);
  border-radius: 999px;
  padding: 8px 13px;
  color: #eff8ff;
  background: rgba(5,35,67,.48);
  font-size: 13px;
  font-weight: 850;
  backdrop-filter: blur(8px);
}
.mode-button { cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease; }
.mode-button:hover { transform: translateY(-1px); }
.mode-button.active { box-shadow: 0 0 0 3px rgba(255,255,255,.18), 0 8px 18px rgba(0,0,0,.22); border-color: rgba(255,255,255,.72); }
.mode-button.tourist.active { background: linear-gradient(180deg,#1d7bd6,#075cb0); }
.mode-button.local.active { background: linear-gradient(180deg,#338c4a,#20713c); }
.dashboard-shell { display: flex; flex-direction: column; }
.dashboard-shell [data-section="scanner"] { order: 1; }
.dashboard-shell [data-section="daily"] { order: 2; }
.dashboard-shell [data-section="community"] { order: 3; }
.dashboard-shell [data-section="explore"] { order: 4; }
.tourist-quick-panel { display: none; order: 0; padding: 20px 22px; margin-bottom: 14px; grid-template-columns: 1.3fr 1fr; gap: 18px; align-items: center; background: linear-gradient(135deg,#ffffff,#f2f8ff); }
.tourist-quick-panel h2 { font-size: 26px; margin: 0 0 8px; }
.tourist-quick-panel p { margin: 0; color: #405a73; font-weight: 700; }
.eyebrow.blue { color: var(--blue); margin: 0 0 6px; text-shadow: none; }
.tourist-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.tourist-actions a { display: block; border-radius: 12px; border: 1px solid #d7e4f2; padding: 12px; background: #fff; font-weight: 950; color: #075cb0; }
.tourist-actions a:hover { text-decoration: none; box-shadow: 0 8px 18px rgba(8,46,82,.10); }
body[data-mode="tourist"] .tourist-quick-panel { display: grid; }
body[data-mode="tourist"] .dashboard-shell [data-section="tourist-quick"] { order: 1; }
body[data-mode="tourist"] .dashboard-shell [data-section="explore"] { order: 2; }
body[data-mode="tourist"] .dashboard-shell [data-section="daily"] { order: 3; }
body[data-mode="tourist"] .dashboard-shell [data-section="scanner"] { order: 4; }
body[data-mode="tourist"] .dashboard-shell [data-section="community"] { order: 5; }
body[data-mode="tourist"] .weather-card { order: 1; }
body[data-mode="tourist"] .news-card { order: 2; }
body[data-mode="tourist"] .outages-card { order: 3; }
body[data-mode="tourist"] .obituary-card { order: 4; }
body[data-mode="tourist"] .events-card { order: 1; }
body[data-mode="tourist"] .community-board-card { order: 2; }
body[data-mode="tourist"] .blotter-card { order: 3; }
body[data-mode="tourist"] .overnight-card { order: 4; }
body[data-mode="local"] .tourist-quick-panel { display: none; }
/* v088: Today’s Schuyler Plan is a Tourist Mode-only homepage card. */
body[data-mode="local"] .daily-plan-card-home { display: none; }
body[data-mode="tourist"] .daily-plan-card-home { display: grid; order: 3; }
body[data-mode="tourist"] .dashboard-shell [data-section="daily"] { order: 4; }
body[data-mode="tourist"] .dashboard-shell [data-section="scanner"] { order: 5; }
body[data-mode="tourist"] .dashboard-shell [data-section="community"] { order: 6; }

@media(max-width:720px){
  .hero-subline{font-size:14px;margin-top:-6px}.mode-hint{border-radius:14px;line-height:1.35}.tourist-quick-panel{grid-template-columns:1fr}.tourist-actions{grid-template-columns:1fr}
}

/* v007 live weather + Doppler radar */
.chip.radar{color:#0b87a8;border-color:#b8e4ef;background:#f4fcff}.chip.radar.active{background:#dbf7ff;box-shadow:inset 0 0 0 1px #8fd8ec}.radar-overlay{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;transition:opacity .25s ease;background:radial-gradient(circle at 25% 35%,rgba(35,170,92,.34) 0 7%,rgba(35,170,92,.10) 11%,transparent 18%),radial-gradient(circle at 55% 45%,rgba(255,204,58,.42) 0 7%,rgba(255,204,58,.18) 12%,transparent 23%),radial-gradient(circle at 72% 52%,rgba(224,66,66,.35) 0 4%,rgba(255,204,58,.22) 9%,rgba(35,170,92,.15) 18%,transparent 28%),linear-gradient(135deg,rgba(31,129,209,.08),rgba(31,188,122,.08));mix-blend-mode:multiply;animation:radarDrift 7s linear infinite}body.radar-on .radar-overlay{opacity:1}@keyframes radarDrift{0%{transform:translateX(-2%)}50%{transform:translateX(2%)}100%{transform:translateX(-2%)}}.live-radar-preview{position:relative}.live-radar-preview.radar-active:after{content:"";position:absolute;inset:0;opacity:.85;background:radial-gradient(circle at 18% 58%,rgba(44,179,87,.70) 0 10%,rgba(44,179,87,.22) 16%,transparent 25%),radial-gradient(circle at 62% 45%,rgba(249,210,67,.84) 0 9%,rgba(219,74,58,.58) 12%,rgba(44,179,87,.28) 21%,transparent 31%);mix-blend-mode:screen;animation:radarDrift 5.5s linear infinite}.radar-preview-toggle{position:absolute;right:10px;bottom:10px;z-index:2;border:0;border-radius:999px;background:rgba(4,41,78,.92);color:#fff;font-weight:900;font-size:12px;padding:8px 10px;box-shadow:0 8px 18px rgba(0,0,0,.18);cursor:pointer}.alert-pill.no-alerts{background:#37a653}.weather-card p{min-height:58px}.weather-page-shell{max-width:1180px;margin:24px auto;padding:0 12px}.weather-hero-card{padding:24px;margin-bottom:14px}.weather-hero-card h1{color:#083565;margin:0 0 8px;font-size:34px}.weather-hero-card p{color:#4b647d;font-weight:700;max-width:780px}.weather-map-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px}.weather-map-card{padding:16px}.weather-map-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:0 0 12px}.weather-map-toolbar button{border:0;border-radius:11px;background:#0b67c7;color:#fff;font-weight:950;padding:11px 14px;cursor:pointer}.weather-map-toolbar button:disabled{background:#8ba6bf;cursor:not-allowed}.weather-map-meta{font-size:13px;color:#5f7488;font-weight:800}.weather-map{height:520px;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#eaf3f9}.weather-side-card{padding:18px}.weather-side-card h2{margin-bottom:10px}.weather-side-card ul{margin:10px 0 0;padding-left:18px;color:#425c76;font-weight:700}.source-credit{font-size:12px;color:#667b8f;margin-top:12px;font-weight:700}@media(max-width:900px){.weather-map-grid{grid-template-columns:1fr}.weather-map{height:420px}}


/* v008 radar UX fix: homepage links to real radar; full weather page uses a real map */
.map-footer-links{display:flex;justify-content:flex-end;gap:16px;flex-wrap:wrap;padding:0 18px 14px}.radar-card-link{display:block;color:inherit;text-decoration:none}.radar-card-link:hover{text-decoration:none;filter:brightness(1.03)}.radar-card-link:before{content:"";position:absolute;inset:0;opacity:.78;background:radial-gradient(circle at 18% 58%,rgba(244,76,58,.82) 0 9%,rgba(244,76,58,.18) 14%,transparent 23%),radial-gradient(circle at 42% 42%,rgba(250,218,69,.85) 0 13%,rgba(250,218,69,.25) 20%,transparent 31%),radial-gradient(circle at 70% 38%,rgba(45,181,91,.68) 0 9%,rgba(45,181,91,.18) 16%,transparent 27%);mix-blend-mode:screen}.radar-card-link:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:28px 28px}.radar-preview-label{position:absolute;left:12px;top:12px;z-index:2;color:#fff;font-size:12px;font-weight:950;text-shadow:0 1px 8px rgba(0,0,0,.35)}.radar-card-link strong{position:absolute;right:10px;bottom:10px;z-index:2;border-radius:999px;background:rgba(4,41,78,.94);color:#fff;font-weight:950;font-size:12px;padding:8px 10px;box-shadow:0 8px 18px rgba(0,0,0,.18)}
.weather-card p{min-height:0}.fake-map .radar-overlay{display:none!important}
/* Minimal Leaflet support rules bundled locally in case CDN CSS fails or is blocked. */
.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane > svg,.leaflet-pane > canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden;touch-action:pan-x pan-y;background:#ddd;outline-offset:1px}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{user-select:none;-webkit-user-drag:none}.leaflet-tile{filter:inherit;visibility:hidden;border:0;max-width:none!important;max-height:none!important}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-animated{transform-origin:0 0}.leaflet-interactive{cursor:pointer}.leaflet-control{position:relative;z-index:800;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-bar{box-shadow:0 1px 5px rgba(0,0,0,.35);border-radius:4px}.leaflet-bar a{background:#fff;border-bottom:1px solid #ccc;color:#000;display:block;text-align:center;text-decoration:none;width:26px;height:26px;line-height:26px;font:bold 18px Arial,sans-serif}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:0}.leaflet-control-attribution{background:rgba(255,255,255,.8);font-size:11px;padding:0 5px}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px;background:#fff;box-shadow:0 3px 14px rgba(0,0,0,.4)}.leaflet-popup-content{margin:13px 19px;line-height:1.4}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;transform:rotate(45deg);background:#fff;box-shadow:0 3px 14px rgba(0,0,0,.4)}

/* v011 obituary duplicate-control polish */
.obituary-source a{color:var(--blue);text-decoration:none}.obituary-source a:hover{text-decoration:underline}.obituary-also{font-size:12px;color:#6b7f93;font-weight:800;margin-top:4px}.obit-page-list{display:grid;gap:12px;margin:20px 0}.obit-page-item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 8px 24px rgba(8,46,82,.06)}.obit-page-item h2{margin:0 0 6px;color:#083565}.obit-page-meta{color:#5f7488;font-weight:800;margin-bottom:8px}.obit-policy{background:#f2f8ff;border:1px solid #cfe3f8;border-radius:16px;padding:16px;margin:18px 0}.obit-policy li{margin:7px 0}.obit-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.obit-source-box{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}.obit-source-box h3{margin:0 0 6px;color:#083565}@media(max-width:720px){.obit-source-grid{grid-template-columns:1fr}}

/* v012 official county alerts / RSS feed structure */
.county-alert-list{display:grid;gap:10px}.county-alert-list.compact{gap:7px}.county-alert-item{display:grid!important;grid-template-columns:auto 1fr;gap:9px;align-items:start;border-radius:12px;padding:10px 11px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);text-decoration:none!important;color:inherit}.county-alert-item:hover{background:rgba(255,255,255,.14)}.county-alert-item strong{display:block;font-size:13px;line-height:1.25}.county-alert-item small{display:block;font-size:11px;opacity:.82;margin-top:2px}.county-alert-dot{width:10px;height:10px;border-radius:50%;margin-top:3px;background:#5fb2ff;box-shadow:0 0 0 3px rgba(95,178,255,.16)}.county-alert-item.emergency .county-alert-dot{background:#ff4d4d}.county-alert-item.health .county-alert-dot{background:#3cd080}.county-alert-item.road .county-alert-dot{background:#ffb52e}.county-alert-item.ok .county-alert-dot{background:#36c56b}.county-alert-item.info .county-alert-dot{background:#5fb2ff}.alerts-page-list{display:grid;gap:12px;margin:18px 0}.alerts-page-item{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 8px 24px rgba(8,46,82,.06);display:grid;grid-template-columns:auto 1fr;gap:12px}.alerts-page-item .county-alert-dot{margin-top:6px}.alerts-page-item h2{margin:0 0 6px;color:#083565}.alerts-page-meta{color:#5f7488;font-weight:850;margin-bottom:7px}.alerts-page-summary{color:#405a73;font-weight:700}.source-table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--line);margin-top:14px}.source-table th,.source-table td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}.source-table th{background:#f2f8ff;color:#083565}.source-table tr:last-child td{border-bottom:0}.source-table a{font-weight:900;color:var(--blue)}@media(max-width:720px){.source-table,.source-table tbody,.source-table tr,.source-table td,.source-table th{display:block}.source-table thead{display:none}.source-table tr{border-bottom:1px solid var(--line)}.source-table td{border-bottom:0;padding:8px 12px}.alerts-page-item{grid-template-columns:1fr}}


/* v013 local news feed structure */
.news-link-item{color:inherit;text-decoration:none;border-radius:12px;padding:10px 0}.news-link-item:hover{text-decoration:none;background:#f6f9fc}.news-also{font-size:12px;color:#6b7f93;font-weight:800;margin-top:3px}.news-thumb.community{background:linear-gradient(135deg,#93c58d,#eaf4dd)}.news-thumb.sports{background:linear-gradient(135deg,#1c6fb7,#dceeff)}.news-thumb.county{background:linear-gradient(135deg,#083565,#7ca6c9)}.news-thumb.tourism{background:linear-gradient(135deg,#0d6c5a,#c7eadf)}.news-policy{background:#f2f8ff;border:1px solid #cfe3f8;border-radius:16px;padding:16px;margin:18px 0}.news-policy li{margin:7px 0;color:#405a73;font-weight:700}.news-page-list{display:grid;gap:12px;margin:18px 0}.news-page-item{display:grid;grid-template-columns:90px 1fr;gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 8px 24px rgba(8,46,82,.06)}.news-page-item .news-thumb{width:90px;height:76px}.news-page-item h2{margin:2px 0 7px;color:#083565}.news-page-kicker{font-size:12px;color:#0b67c7;font-weight:950;text-transform:uppercase;letter-spacing:.04em}.news-page-item p{margin:0;color:#405a73;font-weight:700}.news-page-also{color:#6b7f93;font-size:13px;font-weight:850;margin-top:8px}@media(max-width:720px){.news-page-item{grid-template-columns:1fr}.news-page-item .news-thumb{width:100%;height:110px}}

/* v014 scanner bridge styles */
.incident-detail {
  margin-top: 5px;
  color: #5c6d7d;
  font-size: .88rem;
  line-height: 1.35;
}
.scanner-meta-line {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 8px;
}
.confidence-pill,
.scanner-audio-link {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 9px;
  font-size: .76rem;
  font-weight: 800;
  text-decoration: none;
}
.confidence-pill {
  background: #eef6ff;
  color: #0b5aa6;
  border: 1px solid #c9def4;
}
.scanner-audio-link {
  background: #eefaf3;
  color: #12733a;
  border: 1px solid #c9ead4;
}
.scanner-audio-link.muted {
  background: #f4f6f8;
  color: #6d7a86;
  border-color: #dde4ea;
}
.overnight-headline {
  margin: 6px 0 10px;
  color: #27435f;
  font-weight: 800;
}
.page-shell {
  width: min(1180px, calc(100% - 32px));
  margin: 32px auto 70px;
}
.page-hero-card {
  background: linear-gradient(135deg, #ffffff 0%, #eef6ff 100%);
  border: 1px solid #dfe9f4;
  border-radius: 22px;
  padding: 28px;
  box-shadow: 0 14px 36px rgba(8, 46, 82, .09);
  margin-bottom: 22px;
}
.page-hero-card h1 {
  margin: 0 0 8px;
  color: #083565;
  font-size: clamp(2rem, 4vw, 3.2rem);
}
.page-hero-card p {
  color: #4b6074;
  line-height: 1.55;
  max-width: 860px;
}
.eyebrow {
  margin: 0 0 8px;
  color: #0b67c7;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .78rem;
  font-weight: 900;
}
.scanner-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 20px;
}
.scanner-full-card,
.scanner-side-card {
  padding: 22px;
}
.scanner-stat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 14px 0;
}
.scanner-stat-grid > div {
  background: #f4f8fc;
  border: 1px solid #dde8f4;
  border-radius: 16px;
  padding: 14px;
}
.scanner-stat-grid strong {
  display: block;
  font-size: 1.65rem;
  color: #083565;
}
.scanner-stat-grid span {
  color: #607589;
  font-size: .82rem;
  font-weight: 800;
}
.soft-rule {
  border: 0;
  border-top: 1px solid #e0e8f1;
  margin: 18px 0;
}
.check-list.large li {
  margin: 10px 0;
  font-size: 1.04rem;
}
@media (max-width: 860px) {
  .scanner-layout { grid-template-columns: 1fr; }
  .page-shell { width: min(100% - 20px, 1180px); }
}

/* v015 Community Billboard submission structure */
.card-actions { display:flex; flex-wrap:wrap; gap:4px; align-items:center; padding:0 8px 6px 0; }
.card-link.secondary { color:#0d6c5a; }
.community-category.jobs { background:#e8f3ff; color:#0b67c7; }
.community-category.youth { background:#fff0f7; color:#b02f74; }
.community-category.business { background:#edf8f4; color:#0d6c5a; }
.community-category.volunteer { background:#fff7db; color:#8a6100; }
.community-category.general { background:#eef3f8; color:#425c76; }
.community-footline { display:flex; justify-content:space-between; gap:8px; align-items:center; margin-top:8px; font-size:11px; color:#6b7f93; font-weight:850; }
.community-date { color:#0b67c7; white-space:nowrap; }
.community-contact { text-align:right; }
.page-shell { max-width:1100px; margin:24px auto; padding:0 14px; }
.page-hero { background:linear-gradient(135deg,#ffffff,#f2f8ff); border:1px solid var(--line); border-radius:22px; box-shadow:0 10px 28px rgba(8,46,82,.08); padding:28px; margin-bottom:18px; }
.page-hero.compact h1 { margin:4px 0 8px; color:#083565; font-size:42px; line-height:1.05; }
.page-hero p:not(.eyebrow) { color:#405a73; font-weight:700; max-width:850px; }
.eyebrow.blue { color:#0b67c7; }
.page-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.page-actions .action-button { display:inline-block; }
.notice-filter-row { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 18px; }
.notice-filter-row span { background:#fff; border:1px solid var(--line); border-radius:999px; padding:8px 11px; color:#405a73; font-size:13px; font-weight:900; box-shadow:0 6px 18px rgba(8,46,82,.05); }
.page-card { padding:8px 18px 18px; margin-bottom:18px; }
.community-page-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:0 0 8px; }
.submit-card { padding:22px; }
.notice-submit-form { display:grid; gap:16px; }
.notice-submit-form label { display:grid; gap:7px; color:#083565; font-weight:950; }
.notice-submit-form input, .notice-submit-form select, .notice-submit-form textarea { width:100%; border:1px solid #cfddec; border-radius:12px; padding:12px 13px; font:inherit; font-weight:700; color:#10243a; background:#fff; }
.notice-submit-form textarea { resize:vertical; }
.notice-submit-form small { color:#6b7f93; font-size:12px; font-weight:750; }
.form-grid.two { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.checkbox-line { display:flex!important; grid-template-columns:auto 1fr!important; align-items:center; gap:10px!important; color:#405a73!important; }
.checkbox-line input { width:auto!important; }
.prototype-submit-note { background:#f6fbff; border:1px dashed #9eb7d4; border-radius:14px; padding:13px; color:#405a73; font-weight:750; }
.prototype-submit-note code { background:#e8f3ff; border-radius:6px; padding:2px 5px; }
.form-submit-button { border:0; cursor:pointer; justify-self:start; }
@media(max-width:720px){.community-page-list,.form-grid.two{grid-template-columns:1fr}.page-hero.compact h1{font-size:34px}.community-footline{display:block}.community-contact{text-align:left;margin-top:3px}}


/* v016 Storm Mode */
.storm-shell{max-width:1240px;margin:0 auto;padding:28px 18px 40px}.storm-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px;align-items:center;padding:24px;margin-bottom:16px;background:linear-gradient(135deg,#ffffff,#eef7ff)}.storm-hero h1{font-size:42px;margin:4px 0 10px;color:#083565}.storm-hero p{color:#405a73;font-weight:750;max-width:780px}.storm-status{background:#083565;color:#fff;border-radius:18px;padding:18px;box-shadow:0 14px 34px rgba(8,53,101,.22)}.storm-status-label{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:#a9d2ff;font-weight:950}.storm-status strong{display:block;font-size:28px;margin:6px 0}.storm-status span:last-child{color:#d7ecff;font-weight:750}.storm-top-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.7fr);gap:16px;margin-bottom:16px}.storm-radar-card{min-width:0}.storm-live-cam-card{padding:16px}.storm-webcam{min-height:280px}.storm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.storm-card{padding:18px;min-height:260px}.storm-mini-feed{display:grid;gap:8px;margin-top:10px}.storm-mini-item{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:13px;color:inherit;text-decoration:none;background:#f8fbff}.storm-mini-item strong{display:block;color:#083565}.storm-mini-item small{display:block;color:#60778c;font-weight:800;margin-top:2px}.storm-alert-list .county-alert-item{background:#f8fbff;color:#123;border-color:var(--line)}.storm-alert-list .county-alert-item:hover{background:#eef7ff}.storm-community-list .community-item:nth-child(n+3){display:none}@media(max-width:980px){.storm-hero,.storm-top-grid{grid-template-columns:1fr}.storm-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.storm-grid{grid-template-columns:1fr}.storm-hero h1{font-size:34px}.storm-shell{padding:18px 12px 32px}}


/* v018 Events calendar */
.events-hero-panel {display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:stretch;margin:22px 0;}
.events-hero-card,.events-filter-card{background:#fff;border:1px solid #dfe7f0;border-radius:20px;padding:22px;box-shadow:0 12px 32px rgba(8,46,82,.08)}
.events-hero-card h1{margin:0 0 8px;color:#083565;font-size:clamp(2rem,4vw,3rem)}
.events-hero-card p{margin:0;color:#53677d;line-height:1.55}.event-filter-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.event-filter-pills span{background:#eef6ff;border:1px solid #d6e9fb;border-radius:999px;padding:8px 10px;font-weight:800;color:#0b4a7a;font-size:.85rem}.events-page-grid{display:grid;grid-template-columns:2fr .9fr;gap:18px}.events-side-card{background:#fff;border:1px solid #dfe7f0;border-radius:20px;padding:20px;box-shadow:0 12px 32px rgba(8,46,82,.08);margin-bottom:18px}.events-side-card h2{font-size:1.05rem;color:#083565;margin:0 0 12px}.source-note-list{padding-left:18px;color:#53677d;line-height:1.6}.event-card{display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:start;border-bottom:1px solid #edf2f7;padding:14px 0}.event-card:last-child{border-bottom:0}.event-time-block{background:linear-gradient(180deg,#eef7ff,#f8fbff);border:1px solid #d8e8f6;border-radius:16px;padding:12px;text-align:center;color:#083565}.event-time-block strong{display:block;font-size:1rem}.event-time-block small{display:block;color:#53677d;margin-top:4px}.event-date-label{display:inline-block;background:#0b67c7;color:#fff;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:900;margin-bottom:8px}.event-body .event-title a{color:#083565;text-decoration:none}.event-body .event-title a:hover{text-decoration:underline}.event-detail{margin-top:6px;color:#53677d;line-height:1.45}.event-meta-line{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.event-meta-line span{background:#f0f6ed;border:1px solid #dcebd5;color:#285d2b;border-radius:999px;padding:4px 8px;font-size:.75rem;font-weight:800}.event-also{margin-top:7px;color:#6b7d90;font-size:.82rem;font-style:italic}.calendar-note{background:#fff7e6;border:1px solid #f5d798;color:#61420d;border-radius:16px;padding:14px;font-size:.92rem;line-height:1.5}
@media (max-width: 800px){.events-hero-panel,.events-page-grid{grid-template-columns:1fr}.event-card{grid-template-columns:1fr}.event-time-block{text-align:left}}


/* v019 power outage dashboard */
.outage-page-shell{max-width:1180px;margin:28px auto;padding:0 14px}.back-link{display:inline-block;margin-bottom:14px;color:var(--blue);font-weight:900}.outage-hero{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:24px;margin-bottom:14px;background:linear-gradient(135deg,#fff,#f3f9ff)}.outage-hero h1{margin:0 0 8px;color:#083565;font-size:34px}.outage-hero p{color:#405a73;font-weight:750;max-width:760px}.outage-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.outage-actions a{border-radius:999px;background:#0b67c7;color:#fff;font-weight:950;padding:10px 14px;text-decoration:none}.outage-actions a:nth-child(2){background:#083565}.outage-updated{align-self:start;background:#eaf6ef;border:1px solid #c8ead5;color:#11653a;border-radius:14px;padding:12px 14px;font-weight:950;white-space:nowrap}.outage-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.outage-summary-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 8px 24px rgba(8,46,82,.06)}.outage-summary-card strong{display:block;font-size:28px;color:#083565}.outage-summary-card span{color:#5f7488;font-weight:850}.outage-layout-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px}.outage-list-card{padding-bottom:8px}.outages-page-list{display:grid;gap:12px;padding:0 18px 18px}.outage-page-item{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff;box-shadow:0 8px 24px rgba(8,46,82,.05)}.outage-page-item.affected{border-color:#ffd2a3;background:linear-gradient(135deg,#fff,#fff8f0)}.outage-page-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.outage-page-topline h2{margin:0;color:#083565}.outage-count{border-radius:999px;padding:6px 10px;font-weight:950;background:#e8f8ef;color:#11653a}.outage-count.affected{background:#fff0dc;color:#9b5a00}.outage-page-meta{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.outage-page-meta span{background:#eef5fb;border:1px solid #d7e7f4;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:850;color:#526a81}.outage-page-item p{margin:6px 0 8px;color:#405a73;font-weight:700}.outage-page-item a{color:var(--blue);font-weight:900}.outage-policy-card{padding:18px}.outage-policy-card h2{margin:0 0 10px}.outage-policy-card ul{margin:0 0 18px;padding-left:19px;color:#405a73;font-weight:750}.outage-policy-card li{margin:7px 0}.outage-source-list{display:grid;gap:9px}.outage-source-list a{border:1px solid var(--line);border-radius:12px;background:#f7fbff;padding:10px 12px;font-weight:900;color:var(--blue)}@media(max-width:900px){.outage-hero,.outage-layout-grid{grid-template-columns:1fr}.outage-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.outage-updated{white-space:normal}}@media(max-width:560px){.outage-summary-grid{grid-template-columns:1fr}.outage-page-topline{align-items:flex-start;flex-direction:column}.outage-actions a{width:100%;text-align:center}}

/* v020 Roads & Traffic */
.road-hero{background:linear-gradient(135deg,#ffffff,#fff8ed)}
.roads-page-list{display:grid;gap:12px}
.road-item{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff;box-shadow:0 8px 20px rgba(8,46,82,.05)}
.road-item.moderate{border-left:5px solid var(--orange)}
.road-item.minor{border-left:5px solid #f4b027}
.road-item.severe{border-left:5px solid var(--red)}
.road-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.road-title{font-weight:900;color:#083565;margin-top:4px}
.road-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px;color:var(--muted);font-size:12px;font-weight:800}
.road-meta span{background:#f3f7fb;border:1px solid var(--line);border-radius:999px;padding:4px 8px}
.road-source-link{white-space:nowrap;font-weight:900;color:var(--blue)}
.road-also{font-size:12px;color:var(--muted);font-weight:700;margin-top:6px}
@media (max-width: 720px){.road-topline{display:grid}.road-source-link{white-space:normal}}


/* v021 Town Pages */
.town-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0 40px}.town-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 12px 30px rgba(8,46,82,.07)}.town-card-topline{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.town-card-topline span,.town-card-topline strong{background:#eef6ff;border:1px solid #d7e8f7;color:#0b4a7a;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:950}.town-card h2{margin:0 0 8px;color:#083565}.town-card p{color:#405a73;font-weight:720;line-height:1.45}.town-card-meta{display:grid;gap:6px;margin:12px 0}.town-card-meta span{background:#f7fbff;border:1px solid var(--line);border-radius:12px;padding:8px;color:#53677d;font-size:12px;font-weight:850}.town-card-link{display:inline-block;margin-top:8px;color:var(--blue);font-weight:950}.town-hero{margin-bottom:16px}.town-stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.town-stat-row div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px;box-shadow:0 8px 20px rgba(8,46,82,.05)}.town-stat-row strong{display:block;font-size:28px;color:#083565}.town-stat-row span{color:#60778c;font-weight:900;font-size:12px}.town-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;margin-bottom:40px}.town-section{padding:18px;margin-bottom:16px}.town-section h2{margin:0 0 12px;color:#083565}.town-mini-row{display:grid;gap:3px;border:1px solid var(--line);border-radius:13px;padding:10px 12px;background:#f8fbff;text-decoration:none;color:inherit;margin-bottom:8px}.town-mini-row strong{color:#083565}.town-mini-row span{color:#667b90;font-size:12px;font-weight:850}@media(max-width:940px){.town-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.town-layout{grid-template-columns:1fr}}@media(max-width:640px){.town-index-grid,.town-stat-row{grid-template-columns:1fr}.town-card-topline{align-items:flex-start;flex-direction:column}}


/* v022 School Updates */
.school-footer-list a { display:flex; justify-content:space-between; gap:14px; }
.school-updates-list { display:grid; gap:14px; }
.school-update-item { display:flex; justify-content:space-between; gap:18px; padding:16px; border:1px solid #dfe7f0; border-radius:16px; background:#fff; box-shadow:0 6px 18px rgba(8,46,82,.05); }
.school-update-item.clear { border-left:5px solid #2fa96b; }
.school-update-item.info { border-left:5px solid #3d8bfd; }
.school-update-item.warning { border-left:5px solid #f6b23c; }
.school-update-main h2 { margin:6px 0 8px; color:#083565; font-size:1.05rem; }
.school-update-main p { margin:0 0 10px; color:#526579; line-height:1.45; }
.school-topline, .school-meta { display:flex; flex-wrap:wrap; gap:8px; color:#6b7e91; font-size:.85rem; font-weight:800; }
.school-meta span { background:#f1f6fb; border:1px solid #dde9f5; border-radius:999px; padding:4px 8px; }
.school-status { min-width:150px; display:flex; flex-direction:column; align-items:flex-end; gap:10px; }
.school-status strong { color:#0e7a45; background:#e9f8f0; border-radius:999px; padding:6px 10px; font-size:.85rem; }
.school-status a { color:#0b67c7; font-weight:900; }
@media (max-width: 760px) { .school-update-item { flex-direction:column; } .school-status { align-items:flex-start; min-width:0; } }


/* v023 Tourist Mode / Explore Schuyler dashboard */
.section-heading{position:relative}.section-cta{display:inline-flex;margin-top:8px;border-radius:999px;background:#0b67c7;color:#fff!important;text-decoration:none;font-weight:950;padding:8px 12px;font-size:13px}.visitor-page{max-width:1180px;margin:0 auto;padding:30px 18px 54px}.visitor-hero-card{background:linear-gradient(135deg,rgba(8,53,101,.94),rgba(13,108,90,.88));border-radius:24px;color:#fff;padding:32px;box-shadow:0 18px 45px rgba(8,46,82,.16);margin-bottom:18px}.visitor-hero-card.compact{padding:28px}.visitor-hero-card h1{font-size:clamp(34px,5vw,58px);line-height:1;margin:6px 0 10px}.visitor-hero-card p{max-width:850px;color:rgba(255,255,255,.9);font-weight:800}.visitor-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.visitor-hero-actions a{border-radius:999px;background:#fff;color:#083565;text-decoration:none;font-weight:950;padding:11px 14px;box-shadow:0 8px 20px rgba(0,0,0,.15)}.visitor-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}.visitor-card-list{display:grid;gap:10px;margin-top:12px}.visitor-card-list.large{grid-template-columns:repeat(2,minmax(0,1fr))}.visitor-list-item{display:block;text-decoration:none;color:inherit;background:#f7fbff;border:1px solid #dfeaf5;border-radius:15px;padding:13px}.visitor-list-item:hover{background:#eef7ff}.visitor-list-item strong{display:block;color:#083565;font-size:16px;margin-bottom:4px}.visitor-list-item span{display:block;color:#405a73;font-weight:750;line-height:1.35}.visitor-list-item em{display:inline-flex;margin-top:8px;border-radius:999px;background:#e9f7ef;color:#12733a;font-style:normal;font-weight:950;font-size:12px;padding:4px 8px}.visitor-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.visitor-tool{display:block;min-height:118px;text-decoration:none;color:inherit;background:linear-gradient(180deg,#fff,#f6fbff);border:1px solid #dfeaf5;border-radius:16px;padding:15px;box-shadow:0 8px 22px rgba(8,46,82,.05)}.visitor-tool:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(8,46,82,.09)}.visitor-tool b{display:block;color:#083565;font-size:18px;margin-bottom:6px}.visitor-tool span{display:block;color:#405a73;font-weight:750;line-height:1.35}.visitor-tool em{display:inline-flex;margin-top:10px;border-radius:999px;background:#eef6ff;color:#0b67c7;font-style:normal;font-weight:950;font-size:12px;padding:4px 8px}.deal-list .visitor-list-item{background:#fff8ed;border-color:#f0dfbf}.tourist-quick-panel .tourist-actions a:first-child{background:#0b67c7;color:#fff;border-color:#0b67c7}
@media(max-width:800px){.visitor-grid-2,.visitor-card-list.large,.visitor-tool-grid{grid-template-columns:1fr}.visitor-hero-card{padding:24px}.visitor-page{padding:20px 12px 44px}}

/* v025 Site Search */
.search-wrap{position:relative}.search-suggestions{display:none;position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:50;background:#fff;border:1px solid rgba(18,68,108,.16);box-shadow:0 20px 50px rgba(8,46,82,.22);border-radius:18px;padding:12px;max-height:420px;overflow:auto}.search-suggestions.open{display:block}.suggestions-heading{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#57718a;font-weight:900;margin:2px 8px 8px}.suggestions-empty{padding:14px;color:#49647d;font-weight:800}.search-result-card{display:block;text-decoration:none;color:#18324c;border:1px solid #e2ebf3;background:#f9fcff;border-radius:14px;padding:12px 14px;margin:8px 0;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.search-result-card:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(8,46,82,.12);border-color:#b8d8f2}.search-result-card strong{display:block;color:#083565;font-size:1rem;line-height:1.25;margin:3px 0}.search-result-card span{display:block;color:#4f6a83;font-weight:750;line-height:1.35}.search-result-kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:#0b67c7!important;font-weight:950!important}.search-all-button{width:100%;border:0;border-radius:12px;background:#0b67c7;color:#fff;font-weight:950;padding:11px 12px;margin-top:8px;cursor:pointer}.search-results{display:grid;gap:10px;margin-top:14px}.search-results .search-result-card{background:#fff;margin:0}.site-search:focus{outline:3px solid rgba(11,103,199,.25);border-color:#0b67c7}

.sponsor-package-card ul {
  margin: .75rem 0 0;
  padding-left: 1.1rem;
  color: var(--muted, #5d6975);
  font-size: .94rem;
  line-height: 1.55;
}
.sponsor-package-card strong {
  color: var(--ink, #13283c);
}


/* v028 Mobile app / PWA readiness */
.install-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:820px;margin:0 auto;background:#083565;color:#fff;border:1px solid rgba(255,255,255,.22);box-shadow:0 18px 48px rgba(4,24,48,.32);border-radius:18px;padding:14px 16px}.install-banner strong{display:block;font-size:16px}.install-banner span{display:block;color:#cfe6ff;font-weight:750;font-size:13px;margin-top:2px}.install-banner-actions{display:flex;gap:8px;flex-shrink:0}.install-banner button{border:0;border-radius:999px;padding:9px 12px;font-weight:950;cursor:pointer}.install-banner [data-install-app]{background:#2fbf71;color:#073219}.install-banner [data-install-dismiss]{background:rgba(255,255,255,.12);color:#fff}.offline-page{min-height:100vh;display:grid;align-content:center}.simple-page-header{max-width:1100px;margin:16px auto 0;padding:0 14px}.simple-page-header a{display:inline-flex;text-decoration:none;color:#0b67c7;font-weight:950;background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 12px;box-shadow:0 8px 20px rgba(8,46,82,.06)}
@media(max-width:640px){.install-banner{display:grid;left:10px;right:10px;bottom:10px}.install-banner-actions button{flex:1}.install-banner-actions{width:100%}}


/* Keep the main navigation compact on smaller screens. */
html, body { max-width: 100%; overflow-x: clip; }
body { position: relative; }
.site-header { width: 100%; overflow-x: clip; }
.header-inner {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 16px;
  padding: 14px 16px;
}
.brand { min-width: 220px; flex: 0 0 220px; }
.brand-title { font-size: 32px; }
.brand-subtitle { font-size: 12px; }
.main-nav {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  justify-content: center;
  gap: clamp(10px, 1.25vw, 18px);
  flex-wrap: nowrap;
  background: transparent;
  border-radius: 0;
  padding: 0;
  order: initial;
  width: auto;
}
.main-nav a { font-size: 14px; white-space: nowrap; padding: 10px 0; }
.mode-buttons { flex: 0 0 auto; display: flex; gap: 8px; margin-left: 0; order: initial; width: auto; justify-content: flex-end; flex-wrap: nowrap; }
.mode-button { font-size: 14px; padding: 10px 12px; }
.hero-utility-links { display:flex; flex-wrap:wrap; gap:10px; margin:12px 0 0; }
.hero-utility-links a { display:inline-flex; align-items:center; gap:6px; color:#fff; background:rgba(2,31,61,.56); border:1px solid rgba(255,255,255,.36); border-radius:999px; padding:8px 12px; font-size:13px; font-weight:900; text-decoration:none; box-shadow:0 6px 18px rgba(0,0,0,.16); }
.hero-utility-links a:hover { background:rgba(11,103,199,.72); text-decoration:none; }
@media(max-width:1180px){
  .header-inner { flex-wrap: wrap; gap: 10px 14px; }
  .brand { flex: 1 1 240px; min-width: 220px; }
  .mode-buttons { margin-left: auto; }
  .main-nav { order: 3; flex: 1 0 100%; width: 100%; justify-content: center; gap: 18px; flex-wrap: wrap; background: rgba(255,255,255,.05); border-radius: 12px; padding: 6px 10px; }
  .main-nav a { padding: 8px 0; }
}
@media(max-width:720px){
  html,body{overflow-x:hidden;}
  .header-inner{padding:12px;}
  .brand{min-width:0;flex:1 1 auto;}
  .brand-title{font-size:28px;}
  .main-nav{display:none;grid-template-columns:1fr 1fr;gap:8px;background:rgba(255,255,255,.08);border-radius:12px;padding:10px;}
  .main-nav.open{display:grid;}
  .mode-buttons{width:100%;margin-left:0;justify-content:space-between;}
  .mode-button{flex:1;text-align:center;}
  .hero-utility-links a{width:100%;justify-content:center;}
}

/* v033 responsive polish and layout hardening */
*, *::before, *::after { box-sizing: border-box; }
img, iframe, svg, video { max-width: 100%; }
.site-header, .hero-shell, .dashboard-shell, .site-footer { max-width: 100%; }
.header-inner { overflow: visible; }
.brand { flex: 0 0 auto; }
.mode-buttons { flex: 0 0 auto; }
.hero-shell { overflow: hidden; }
.hero-content, .dashboard-shell, .card, .compact-card { min-width: 0; }
.status-card, .action-button, .mode-button { min-width: 0; }

@media (min-width: 1181px) {
  .header-inner { display: flex; flex-wrap: nowrap; }
  .main-nav { flex: 1 1 auto; justify-content: center; }
}

@media (max-width: 900px) {
  .hero-content { grid-template-columns: 1fr; }
  .pulse-card { width: 100%; max-width: none; }
  .search-wrap { max-width: min(650px, calc(100vw - 48px)); }
}

@media (max-width: 720px) {
  body { min-width: 0; }
  .site-header { position: sticky; }
  .header-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 12px;
  }
  .brand { min-width: 0; width: auto; }
  .brand-title { font-size: clamp(25px, 8vw, 32px); white-space: normal; }
  .brand-subtitle { font-size: 12px; max-width: 230px; }
  .mobile-menu-button { display: flex; justify-self: end; }
  .mode-buttons {
    grid-column: 1 / -1;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .mode-button { width: 100%; padding: 10px 8px; font-size: 13px; }
  .main-nav {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    order: initial;
  }
  .main-nav.open { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .main-nav a { text-align: center; border-bottom-width: 0; border-radius: 9px; background: rgba(255,255,255,.08); padding: 10px 8px; }
  .main-nav a.active { background: rgba(255,255,255,.18); }
  .hero-shell { padding: 12px 0 0; border-radius: 0 0 18px 18px; }
  .hero-shell:before, .hero-shell:after { inset-left: 0; left: 0; right: 0; border-radius: 0 0 18px 18px; }
  .search-wrap { margin: 0 14px 18px; max-width: none; }
  .site-search { height: 52px; border-radius: 14px; }
  .hero-content { padding: 0 14px 18px; gap: 16px; }
  .hero-main h1 { font-size: clamp(34px, 11vw, 44px); }
  .hero-subline { margin-top: -8px; }
  .status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .status-card { min-height: 98px; padding: 12px 10px; grid-template-columns: 34px 1fr; }
  .status-card strong { font-size: 29px; }
  .hero-actions { grid-template-columns: 1fr; gap: 10px; }
  .action-button { padding: 13px 12px; }
  .mode-hint { border-radius: 14px; width: 100%; }
}

@media (max-width: 420px) {
  .status-grid { grid-template-columns: 1fr; }
  .mode-buttons { grid-template-columns: 1fr; }
  .main-nav.open { grid-template-columns: 1fr; }
  .brand-title { font-size: 28px; }
}


/* v033 Daily Briefing */
.daily-briefing-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr) auto;gap:16px;align-items:center;padding:18px;margin-bottom:14px;background:linear-gradient(135deg,#ffffff,#f3f9ff)}
.daily-briefing-panel h2{font-size:24px;margin:0 0 6px}.daily-briefing-panel p{margin:0;color:#405a73;font-weight:750;line-height:1.45}.daily-briefing-mini{display:grid;grid-template-columns:1fr 1fr;gap:8px}.briefing-mini-item,.briefing-summary-card{display:block;border:1px solid #dce9f5;background:#fff;border-radius:14px;padding:10px 12px;text-decoration:none;color:#083565;box-shadow:0 8px 20px rgba(8,46,82,.05)}.briefing-mini-item strong,.briefing-summary-card strong{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#0b67c7}.briefing-mini-item span,.briefing-summary-card span{display:block;color:#405a73;font-weight:850;margin-top:3px}.briefing-mini-item.danger,.briefing-summary-card.danger{border-color:#ffd1d6}.briefing-mini-item.warning,.briefing-summary-card.warning{border-color:#ffe1ac}.briefing-mini-item.ok,.briefing-summary-card.ok{border-color:#ccebd8}.briefing-mini-item.weather,.briefing-summary-card.weather{border-color:#cfe4ff}.briefing-mini-item.events,.briefing-summary-card.events{border-color:#e1d4ff}.briefing-panel-actions{display:flex;gap:10px;flex-wrap:wrap}.briefing-panel-link{white-space:nowrap;background:#0b67c7;color:#fff;border-radius:999px;padding:11px 14px;text-decoration:none;font-weight:950}.briefing-panel-link.secondary{background:#e8f1ff;color:#0759b8}.briefing-page-shell{max-width:1180px;margin:28px auto;padding:0 14px}.briefing-hero-page{padding:26px;margin-bottom:16px;background:linear-gradient(135deg,#fff,#eef7ff)}.briefing-hero-page h1{font-size:42px;margin:4px 0 8px;color:#083565}.briefing-hero-page p{color:#405a73;font-weight:750;max-width:900px}.briefing-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.briefing-summary-card strong{font-size:14px}.briefing-layout-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px}.briefing-main-card{padding-bottom:10px}.briefing-headline{font-size:20px;line-height:1.45;color:#083565;font-weight:900;padding:0 18px 8px;margin:0}.briefing-section-list{display:grid;gap:12px;padding:0 18px 18px}.briefing-section-card{border:1px solid var(--line);border-radius:16px;background:#fbfdff;padding:16px}.briefing-section-card h3{margin:0 0 6px;color:#083565}.briefing-section-card p{margin:0 0 10px;color:#405a73;font-weight:750;line-height:1.5}.briefing-section-card ul{margin:0 0 10px;padding-left:20px;color:#405a73;font-weight:750}.briefing-section-card a{color:#0b67c7;font-weight:950}.briefing-watch-card{padding:18px}.briefing-watch-list{display:grid;gap:10px;margin:12px 0}.briefing-watch-item{border:1px solid var(--line);border-radius:14px;background:#f8fbff;padding:12px;color:#083565;text-decoration:none}.briefing-watch-item strong{display:block}.briefing-watch-item span{display:block;color:#405a73;font-weight:750;margin-top:4px;line-height:1.4}@media(max-width:980px){.daily-briefing-panel,.briefing-layout-grid{grid-template-columns:1fr}.briefing-panel-link{justify-self:start}.briefing-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.daily-briefing-mini,.briefing-summary-grid{grid-template-columns:1fr}.briefing-hero-page h1{font-size:34px}}

/* v034 I Heard Sirens page */
.sirens-page .page-hero-card {
  border-left: 8px solid #dc2626;
}
.sirens-grid {
  grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.8fr);
  align-items: start;
}
.sirens-context-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.incident-title-link {
  color: var(--navy, #083565);
  text-decoration: none;
}
.incident-title-link:hover {
  text-decoration: underline;
}
.inline-share-button {
  border: 0;
  border-radius: 999px;
  background: #e8f1ff;
  color: #0759b8;
  padding: .32rem .7rem;
  font-weight: 800;
  cursor: pointer;
}
.clean-list {
  display: grid;
  gap: .75rem;
  margin: 0;
  padding-left: 1.1rem;
}
.context-link-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}
.context-link-grid a {
  display: block;
  padding: .9rem 1rem;
  border-radius: 14px;
  background: #f1f7ff;
  color: #0759b8;
  font-weight: 900;
  text-decoration: none;
}
.context-link-grid a:hover {
  background: #e2efff;
}
@media (max-width: 850px) {
  .sirens-grid,
  .sirens-context-grid,
  .context-link-grid {
    grid-template-columns: 1fr;
  }
}


/* v042 Schuyler Scanner shareable incident links */
.scanner-meta-line {
  flex-wrap: wrap;
}
.incident-title-link {
  color: var(--navy, #083565);
  text-decoration: none;
}
.incident-title-link:hover {
  color: #0b67c7;
  text-decoration: underline;
}
.inline-share-button.copied,
.inline-share-button:focus-visible {
  outline: 3px solid rgba(11,103,199,.2);
}
.scanner-integration-note {
  margin-top: 1rem;
  padding: .9rem 1rem;
  border: 1px solid #dce9f5;
  border-radius: 16px;
  background: #f8fbff;
  color: #405a73;
  font-weight: 750;
}


/* v042 Subscribe / alerts signup prototype */
.subscribe-hero{border-left:8px solid #0b67c7;background:linear-gradient(135deg,#fff,#eef7ff)}
.subscribe-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:start}
.subscribe-form{display:grid;gap:16px;padding:0 18px 18px}.subscribe-form label,.subscribe-form legend{font-weight:950;color:#083565}.subscribe-form input[type="email"],.subscribe-form select{display:block;width:100%;margin-top:7px;border:1px solid #d6e5f2;border-radius:14px;padding:13px 14px;font:inherit;color:#083565;background:#fff}.subscribe-form fieldset{border:1px solid #dce9f5;border-radius:16px;padding:14px;background:#fbfdff}.subscribe-checks{display:grid;gap:10px;margin-top:10px}.subscribe-option{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;border:1px solid #e4eef8;background:#fff;border-radius:14px;padding:12px}.subscribe-option input{margin-top:3px}.subscribe-option strong{display:block;color:#083565}.subscribe-option span{display:block;color:#405a73;font-weight:750;line-height:1.35;margin-top:3px}.subscribe-option.disabled{opacity:.72}.consent-line{display:grid!important;grid-template-columns:auto 1fr;gap:10px;align-items:start;color:#405a73!important;font-weight:750!important}.form-help{margin:0;color:#405a73;font-weight:750}.subscribe-side-card{padding:18px}.status-pill.muted{background:#eef4fb;color:#405a73}@media(max-width:900px){.subscribe-grid{grid-template-columns:1fr}}


/* v042 County Pulse */
.pulse-card[data-pulse-level="calm"]{background:linear-gradient(180deg,#0b6d7c,#083565)}
.pulse-card[data-pulse-level="steady"]{background:linear-gradient(180deg,#0b5f8a,#083565)}
.pulse-card[data-pulse-level="busy"]{background:linear-gradient(180deg,#0b477d,#082a4a)}
.pulse-card[data-pulse-level="high-alert"]{background:linear-gradient(180deg,#8d2633,#3a1020)}
.pulse-score-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;font-weight:900;color:#d9f0ff;font-size:13px;flex-wrap:wrap}
.pulse-score-row a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.pulse-driver-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.pulse-driver-row span{display:inline-flex;gap:5px;align-items:center;border-radius:999px;padding:6px 8px;background:rgba(255,255,255,.13);font-size:12px;font-weight:900;color:#f4fbff}
.pulse-driver-row strong{color:#fff}
.pulse-explainer-card .policy-box{background:#f5f9fd;border:1px dashed #b8cce0;border-radius:16px;padding:16px;margin-top:18px;color:#405a73;font-weight:800}.pulse-hero-row{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:center;margin:18px 0}.pulse-big-score{border-radius:22px;background:#083565;color:#fff;padding:24px;text-align:center;box-shadow:0 14px 32px rgba(8,53,101,.18)}.pulse-big-score span{font-size:58px;font-weight:1000;line-height:1}.pulse-big-score b{font-size:18px;color:#bfe4ff}.pulse-page-sparkline{width:100%;height:130px;color:#0b67c7;background:#f3f8ff;border:1px solid #dbe9f7;border-radius:20px;padding:12px}.pulse-components-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}.pulse-component-card{border:1px solid #dce7f3;background:#fbfdff;border-radius:16px;padding:16px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}.pulse-component-card strong{display:block;color:#083565;font-size:17px}.pulse-component-card span{display:block;color:#4f657b;margin-top:5px;line-height:1.4;font-weight:750}.pulse-component-card b{border-radius:999px;background:#eaf4ff;color:#0b67c7;padding:7px 10px;font-size:12px;white-space:nowrap}.pulse-threshold-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;list-style:none;padding:0;margin:14px 0}.pulse-threshold-list li{background:#f3f8ff;border:1px solid #dbe9f7;border-radius:14px;padding:13px}.pulse-threshold-list strong{display:block;color:#083565}.pulse-threshold-list span{font-size:13px;color:#5b7188;font-weight:900}@media(max-width:760px){.pulse-hero-row{grid-template-columns:1fr}.pulse-components-grid,.pulse-threshold-list{grid-template-columns:1fr}.pulse-big-score span{font-size:48px}}

/* v046: What’s Happening Near Me */
.near-me-page .page-hero-card{background:linear-gradient(135deg,#0d3f72,#125d89);color:#fff;overflow:hidden;position:relative}.near-me-page .page-hero-card:after{content:"";position:absolute;inset:auto -10% -45% 45%;height:220px;background:radial-gradient(circle,rgba(99,197,218,.35),transparent 70%);pointer-events:none}.near-me-page .back-link{color:#dff7ff}.near-me-control-panel{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;position:relative;z-index:1}.near-me-select-label{font-weight:800;color:#e7f8ff}.near-me-select{min-width:220px;border:1px solid rgba(255,255,255,.35);border-radius:14px;padding:12px 14px;font-weight:800;color:#12344f;background:#fff}.near-me-summary-card{display:flex;justify-content:space-between;align-items:stretch;gap:20px}.near-me-score-grid{display:grid;grid-template-columns:repeat(4,minmax(92px,1fr));gap:10px;min-width:min(520px,100%)}.near-me-score-grid div{border-radius:16px;background:#eef7fb;border:1px solid #d9edf5;padding:14px;text-align:center}.near-me-score-grid strong{display:block;font-size:1.7rem;color:#0d3f72}.near-me-score-grid span{display:block;color:#547086;font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.near-me-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:start}.near-me-stack{display:grid;gap:10px}.near-me-row{display:block;padding:12px 14px;border:1px solid #e0ebf1;background:#fff;border-radius:14px;text-decoration:none;color:#17324a}.near-me-row:hover{border-color:#a8c9db;box-shadow:0 8px 20px rgba(22,61,91,.08);transform:translateY(-1px)}.near-me-row strong{display:block}.near-me-row span{display:block;color:#647b8c;font-size:.9rem;margin-top:3px}.compact-context{margin-top:14px}.near-me-visitor-card{display:flex;justify-content:space-between;gap:20px;align-items:center}.near-me-visitor-card .tourist-actions{min-width:min(420px,100%)}@media (max-width:900px){.near-me-summary-card,.near-me-visitor-card{display:block}.near-me-score-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.near-me-grid{grid-template-columns:1fr}.near-me-control-panel{align-items:stretch}.near-me-select{width:100%}}@media (max-width:520px){.near-me-score-grid{grid-template-columns:1fr}.near-me-control-panel .action-button{width:100%;justify-content:center}}

/* v046: interactive Schuyler Pulse Map page */
.map-page-shell{max-width:1280px;margin:24px auto;padding:0 12px}.map-page-hero{padding:24px;margin-bottom:14px}.map-page-hero h1{color:#083565;margin:0 0 8px;font-size:34px}.map-page-hero p{color:#4b647d;font-weight:700;max-width:850px}.map-page-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.pulse-map-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px}.pulse-map-card{padding:16px}.pulse-map-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.pulse-layer-toggles{display:flex;gap:8px;flex-wrap:wrap}.pulse-layer-toggles button,.pulse-map-fit{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:950;color:#29445c;cursor:pointer}.pulse-layer-toggles button.active{background:#eaf4ff;border-color:#9ec9f1;color:#0b67c7;box-shadow:inset 0 0 0 1px #b9defb}.pulse-map-fit{background:#083565;color:#fff;border-color:#083565;white-space:nowrap}.pulse-map-live{height:610px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#e8f1f7}.pulse-map-sidebar{padding:18px}.pulse-map-sidebar h2{margin:0 0 8px;color:#083565}.pulse-map-sidebar h3{margin:18px 0 6px;color:#083565}.pulse-map-counts{display:grid;gap:8px;margin:14px 0}.pulse-map-count{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#f8fbfd;font-weight:850}.pulse-map-count span{font-size:12px;color:#5f7488}.pulse-map-count b{color:#083565}.pulse-map-selected{border-radius:14px;background:#eef7ff;border:1px solid #cfe7fb;padding:14px;display:grid;gap:5px}.pulse-map-selected strong{color:#083565}.pulse-map-selected span{color:#405a72;font-weight:700}.pulse-popup{min-width:210px}.pulse-popup strong{display:block;color:#083565;margin-bottom:4px}.pulse-popup span{display:block;color:#4d6378;font-weight:700;font-size:12px;margin-bottom:4px}.pulse-popup a{display:inline-block;margin-top:6px;font-weight:950;color:#0b67c7}.pulse-div-icon{border-radius:50%;width:34px!important;height:34px!important;display:grid!important;place-items:center!important;color:#fff;font-size:16px;font-weight:950;border:3px solid #fff;box-shadow:0 5px 16px rgba(0,0,0,.28)}.pulse-div-icon.public_safety{background:#db3b35}.pulse-div-icon.roads{background:#e0a238}.pulse-div-icon.weather{background:#1675d1}.pulse-div-icon.outages{background:#2f9f59}.pulse-div-icon.events{background:#7b56c7}.pulse-div-icon.community{background:#c35a9b}.pulse-div-icon.tourism{background:#0b87a8}.pulse-div-icon.deals{background:#38a653}.pulse-div-icon.schools{background:#214e86}.pulse-div-icon.towns{background:#6a7b89}@media(max-width:980px){.pulse-map-grid{grid-template-columns:1fr}.pulse-map-live{height:480px}.pulse-map-toolbar{display:block}.pulse-map-fit{margin-top:10px}}@media(max-width:620px){.map-page-hero h1{font-size:30px}.pulse-map-live{height:390px}.pulse-layer-toggles button{flex:1 1 45%;padding:9px 8px}.pulse-map-card{padding:12px}}


/* v046: real interactive homepage Pulse Map preview */
.home-pulse-map-live{height:320px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#e8f1f7;position:relative;z-index:0}
.home-pulse-map-live .map-loading{height:100%;display:grid;place-items:center;color:#4d6479;font-weight:900;background:linear-gradient(135deg,#eef7ff,#f9fcff)}
.map-card .map-toggles button{cursor:pointer}
.map-card .map-toggles button:not(.active){opacity:.55;background:#f4f7fa;color:#718091;border-color:#d9e2ea}
.home-pulse-map-live .leaflet-control-attribution{font-size:10px}
.home-pulse-map-live .leaflet-popup-content{font-size:12px;line-height:1.35}
@media(max-width:860px){.home-pulse-map-live{height:280px}}
@media(max-width:620px){.home-pulse-map-live{height:240px}.map-card .map-toggles{gap:5px}.map-card .map-toggles button{font-size:11px;padding:6px 7px}}

/* v046 Insider Pass / Local Deals directory */
.deals-page .visitor-hero-card{background:linear-gradient(135deg,rgba(8,53,101,.95),rgba(23,119,77,.86))}.deal-controls-card{margin-bottom:16px}.deal-controls-top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.deal-search{min-width:280px;flex:1;max-width:520px;border:1px solid var(--line);border-radius:999px;padding:12px 16px;font-weight:850;color:var(--ink);background:#f9fcff}.deal-filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.deal-filter{border:1px solid #d6e6f5;background:#fff;border-radius:999px;padding:8px 12px;font-weight:950;color:#0b4a7a;cursor:pointer}.deal-filter.active{background:#0b67c7;color:#fff;border-color:#0b67c7}.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.mini-status-pill{display:inline-flex;border-radius:999px;background:#eef6ff;border:1px solid #d7e9fb;color:#0b4a7a;padding:6px 10px;font-size:12px;font-weight:950}.deal-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.deal-card{background:linear-gradient(180deg,#fff,#fffaf1);border:1px solid #efdcb9;border-radius:18px;padding:16px;box-shadow:0 10px 24px rgba(8,46,82,.06);display:flex;flex-direction:column;min-height:244px}.deal-card-top{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:10px}.deal-category,.deal-badge{display:inline-flex;border-radius:999px;font-size:11px;font-weight:950;padding:5px 8px}.deal-category{background:#eef6ff;color:#0b67c7}.deal-badge{background:#e9f7ef;color:#12733a}.deal-card h3,.pass-offer h3{margin:0 0 7px;color:#083565;font-size:20px}.deal-offer{color:#0b3f75!important;font-weight:950;font-size:16px;margin:0 0 8px!important}.deal-card p,.pass-offer p{color:#405a73;line-height:1.45;font-weight:750}.deal-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:12px}.deal-meta span{background:#f3f7fb;border:1px solid #e1eaf2;border-radius:999px;padding:4px 8px;color:#53677d;font-weight:900;font-size:12px}.deal-link{margin-top:12px;border-radius:999px;background:#0b67c7;color:#fff!important;text-decoration:none;font-weight:950;text-align:center;padding:10px 12px}.deal-link:hover{text-decoration:none;filter:brightness(1.05)}.pass-offer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.pass-offer{background:#fff;border:1px solid #dfeaf5;border-left:5px solid #0b67c7;border-radius:16px;padding:16px;box-shadow:0 8px 20px rgba(8,46,82,.04)}
@media(max-width:980px){.deal-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pass-offer-list{grid-template-columns:1fr}}@media(max-width:640px){.deal-directory-grid{grid-template-columns:1fr}.deal-controls-top{align-items:stretch}.deal-search{min-width:0;max-width:none}.section-heading-row{align-items:flex-start;flex-direction:column}}

/* v050 blotter / public safety records */
.page-shell{max-width:1180px;margin:0 auto;padding:24px 14px 44px}.page-hero{background:linear-gradient(135deg,#083565,#0b67c7);color:#fff;border-radius:22px;padding:34px 32px;margin:18px 0;box-shadow:0 14px 32px rgba(8,46,82,.16)}.page-hero.slim{padding:28px 30px}.page-hero h1{font-size:42px;line-height:1.05;margin:0 0 10px}.page-hero p{max-width:760px;margin:0;font-weight:750;color:#e4f2ff}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#80c9ff!important;font-size:13px;font-weight:950;margin:0 0 10px!important}.page-grid{display:grid;gap:18px}.page-grid.two-col{grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr)}.page-card{padding:20px}.blotter-record-list{display:grid;gap:12px;margin-top:12px}.blotter-record{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:14px;background:linear-gradient(180deg,#fff,#f8fbff)}.blotter-record h2{font-size:20px;margin:5px 0;color:#083565}.blotter-record p{margin:0;color:#465f78;font-weight:650}.blotter-kicker,.blotter-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;color:#61758b;font-weight:850;font-size:12px}.blotter-kicker span,.notice-badge{background:#edf5ff;color:#0b67c7;border-radius:999px;padding:4px 8px}.notice-badge.sample{background:#fff4df;color:#9a5b00}.blotter-meta{margin-top:9px}.small-action{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;background:#0b67c7;color:#fff!important;border-radius:10px;padding:10px 13px;font-weight:900}.chevron-title{color:#083565}.chevron-title:hover{color:#0b67c7;text-decoration:none}@media(max-width:850px){.page-grid.two-col{grid-template-columns:1fr}.blotter-record{display:block}.small-action{margin-top:12px}.page-hero h1{font-size:34px}}

/* v050 Community Photo Board */
.photo-of-day-card{display:grid;grid-template-columns:140px 1fr;gap:14px;align-items:center;min-height:210px}
.photo-thumb{height:136px;border-radius:14px;background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.photo-of-day-card h2{margin:0 0 6px}.photo-of-day-card p{margin:0 0 8px;color:var(--muted);font-weight:700}.photo-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--blue);font-weight:900}
.photo-feature{display:grid;grid-template-columns:minmax(280px,1.25fr) minmax(280px,.75fr);gap:0;padding:0;overflow:hidden}.photo-feature-image{min-height:360px;background-size:cover;background-position:center}.photo-feature-copy{padding:26px;display:flex;flex-direction:column;justify-content:center}.photo-feature-copy h2{font-size:34px;margin:4px 0 10px}.photo-feature-copy p{font-size:17px;line-height:1.5}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:0 18px 18px}.photo-tile{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.photo-tile-img{height:180px;background-size:cover;background-position:center}.photo-tile-copy{padding:14px}.photo-tile-copy strong{display:block;color:#083565;font-size:17px}.photo-tile-copy p{margin:6px 0;color:#31465b;font-weight:650}.photo-tile-copy small{color:var(--muted);font-weight:800}.form-card{padding:22px}.notice-form{display:grid;gap:14px}.notice-form label{display:grid;gap:6px;font-weight:900;color:#083565}.notice-form input,.notice-form select,.notice-form textarea{border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit;background:#fff}.checkbox-line{grid-template-columns:auto 1fr!important;align-items:start;color:#31465b!important}.checkbox-line input{margin-top:4px}
@media(max-width:900px){.photo-feature{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr 1fr}.photo-of-day-card{grid-template-columns:1fr}.photo-thumb{height:180px}}
@media(max-width:640px){.photo-grid{grid-template-columns:1fr}.photo-feature-image{min-height:240px}}


/* v050 Schuyler Time Machine / Local History */
.time-machine-card{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:center;min-height:220px;background:linear-gradient(135deg,#fff,#f7fbff)}
.time-machine-art,.history-feature-art{min-height:150px;border-radius:18px;background:linear-gradient(135deg,rgba(8,53,101,.15),rgba(11,103,199,.12));box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.history-page .history-hero{background:linear-gradient(135deg,#fff,#eef7ff)}
.history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 18px 18px}
.history-card{border:1px solid var(--line);border-radius:16px;background:#fbfdff;padding:16px}
.history-card span{display:inline-block;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:950;color:#0b67c7;background:#e8f1ff;border-radius:999px;padding:5px 9px;margin-bottom:8px}
.history-card h3{margin:0 0 5px;color:#083565}.history-card p{color:#405a73;font-weight:750;line-height:1.5}.history-card .tag-row{display:flex;gap:6px;flex-wrap:wrap}.history-card .tag-row em{font-style:normal;background:#eef5fb;color:#31516f;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:850}
.history-feature-card{display:grid;grid-template-columns:260px 1fr;gap:18px;align-items:center;margin-bottom:16px}.history-feature-card p{color:#405a73;font-weight:750;line-height:1.55}
@media(max-width:800px){.time-machine-card,.history-feature-card{grid-template-columns:1fr}.history-grid{grid-template-columns:1fr}.time-machine-art,.history-feature-art{height:180px}}


/* v088 Jobs & Help Wanted */
.jobs-board-card{display:grid;grid-template-columns:1.1fr 1.2fr auto;gap:1.2rem;align-items:center;margin-top:1.2rem;}
.job-mini-list{display:grid;gap:.65rem;}
.job-mini-list a{display:flex;justify-content:space-between;gap:1rem;padding:.75rem .9rem;border:1px solid rgba(7,46,84,.1);border-radius:14px;background:rgba(255,255,255,.68);text-decoration:none;color:inherit;}
.job-mini-list span{color:var(--muted);font-size:.9rem;white-space:nowrap;}
.job-listing-card .check-list{margin-top:.85rem;}
.notice-form{display:grid;gap:1rem;}
.notice-form label{display:grid;gap:.35rem;font-weight:700;color:var(--ink);}
.notice-form input,.notice-form select,.notice-form textarea{border:1px solid rgba(7,46,84,.16);border-radius:12px;padding:.85rem 1rem;font:inherit;background:#fff;}
.notice-form textarea{min-height:120px;resize:vertical;}
@media (max-width: 900px){.jobs-board-card{grid-template-columns:1fr}.job-mini-list a{display:grid}.job-mini-list span{white-space:normal}}

/* v088 Food & Drink directory */
.food-card,.food-directory-card{display:grid;grid-template-columns:130px 1fr;gap:18px;align-items:center}
.food-art{min-height:110px;border-radius:22px;background:linear-gradient(135deg,#fff4cc,#d9f6e5 55%,#c8e6ff);display:grid;place-items:center;font-size:44px;box-shadow:inset 0 0 0 1px rgba(7,50,92,.08)}
.directory-tools{display:grid;gap:14px}.inline-search{max-width:760px}.filter-row{display:flex;flex-wrap:wrap;gap:10px}.chip{border:1px solid rgba(8,53,101,.16);background:#fff;border-radius:999px;padding:8px 12px;font-weight:700;color:#0b3764;cursor:pointer}.chip.active,.chip:hover{background:#083565;color:white}.grid-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}.listing-card{display:flex;flex-direction:column;gap:8px}.tag-pill{align-self:flex-start;background:#e7f1ff;color:#0b3764;border-radius:999px;padding:5px 10px;font-size:.82rem;font-weight:800}.offer-line{background:#f2fbf6;border:1px solid rgba(31,145,85,.18);border-radius:12px;padding:10px}.submit-form{display:grid;gap:14px;max-width:760px}.submit-form label{display:grid;gap:6px;font-weight:800}.submit-form input,.submit-form textarea,.submit-form select{border:1px solid rgba(8,53,101,.18);border-radius:12px;padding:11px;font:inherit}
@media(max-width:640px){.food-card,.food-directory-card{grid-template-columns:1fr}.food-art{min-height:90px}}

/* v088 Daily Plan / smart itinerary */
.daily-plan-card-home {
  display: grid;
  grid-template-columns: 86px 1fr;
  gap: 18px;
  align-items: center;
  background: linear-gradient(135deg, rgba(240, 249, 255, .96), rgba(255, 255, 255, .98));
  border: 1px solid rgba(14, 116, 144, .16);
}
.daily-plan-icon {
  width: 74px;
  height: 74px;
  border-radius: 24px;
  display: grid;
  place-items: center;
  font-size: 2rem;
  background: linear-gradient(135deg, #e0f2fe, #dcfce7);
  box-shadow: inset 0 0 0 1px rgba(8, 53, 101, .08);
}
.daily-plan-hero {
  background: linear-gradient(135deg, rgba(224, 242, 254, .9), rgba(255,255,255,.98));
}
.daily-plan-list {
  display: grid;
  gap: 18px;
}
.daily-plan-card {
  border: 1px solid rgba(8, 53, 101, .12);
  border-radius: 18px;
  padding: 18px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(8, 53, 101, .06);
}
.daily-plan-card-head {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.daily-plan-card h3 {
  margin: 0;
  color: #083565;
}
.daily-plan-steps {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}
.daily-plan-step {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 8px 14px;
  align-items: start;
  padding: 12px 14px;
  border-radius: 14px;
  background: #f8fafc;
  text-decoration: none;
  color: inherit;
  border: 1px solid rgba(8, 53, 101, .08);
}
.daily-plan-step:hover {
  background: #eef6ff;
  transform: translateY(-1px);
}
.daily-plan-step strong {
  color: #0369a1;
}
.daily-plan-step span {
  font-weight: 800;
  color: #0f172a;
}
.daily-plan-step em {
  grid-column: 2;
  font-style: normal;
  color: #475569;
  font-size: .94rem;
}
@media (max-width: 700px) {
  .daily-plan-card-home { grid-template-columns: 1fr; }
  .daily-plan-step { grid-template-columns: 1fr; }
  .daily-plan-step em { grid-column: auto; }
}

/* v088 layout polish: lower-priority community extras moved just above footer utility band */
.lower-community-extras {
  margin-top: 1.2rem;
}
.lower-extras-heading {
  margin-bottom: 12px;
}
.lower-extras-heading h2 {
  margin-bottom: 4px;
}
.lower-extras-heading p {
  color: var(--muted);
  font-weight: 750;
}
.lower-extras-stack {
  display: grid;
  gap: 14px;
}
.lower-community-extras .jobs-board-card,
.lower-community-extras .photo-of-day-card,
.lower-community-extras .time-machine-card,
.lower-community-extras .food-card {
  margin-top: 0;
}

/* v088 fix: keep lower-priority community extras at the bottom of the main dashboard, directly above the bottom utility band. */
.dashboard-shell [data-section="local-extras"] { order: 90; }
body[data-mode="tourist"] .dashboard-shell [data-section="local-extras"] { order: 90; }

.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}


/* v088 live update hardening */
.scanner-status-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-radius:14px;padding:10px 12px;margin:10px 0 12px;font-weight:850;border:1px solid #dfe7f0;background:#f6fbff;color:#25465f}.scanner-status-strip.ok{background:#effaf2;border-color:#bfe8c9;color:#176b3a}.scanner-status-strip.warning{background:#fff8e8;border-color:#f0d28a;color:#805200}.scanner-status-strip.error{background:#fff1f1;border-color:#f2b6b6;color:#9c1d1d}.scanner-status-strip small{font-weight:750;color:inherit;opacity:.86}.scanner-status-large{border:1px solid #dfe7f0;border-radius:18px;padding:20px;background:#f6fbff;display:grid;gap:8px;font-weight:850}.scanner-status-large strong{font-size:24px;color:#083565}.scanner-status-large span{color:#405a73;line-height:1.45}.scanner-status-large.ok{background:#effaf2;border-color:#bfe8c9}.scanner-status-large.warning{background:#fff8e8;border-color:#f0d28a}.scanner-status-large.error{background:#fff1f1;border-color:#f2b6b6}.source-stack{display:grid;gap:10px}.source-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-top:1px solid #e4edf5;padding:10px 0}.source-row strong{color:#083565}.source-row span{text-align:right;color:#4f667d;font-weight:800}.command-box{background:#0d2438;color:#d9f0ff;border-radius:14px;padding:14px;overflow:auto;font-weight:900;line-height:1.55}.live-badge.live-ok{background:#0b7a3b}.live-badge.live-watch{background:#a86b00}.live-badge.live-error{background:#a51f1f}@media(max-width:620px){.source-row{display:block}.source-row span{text-align:left;display:block;margin-top:4px}}

/* v088 homepage scanner summary: keep Active Now compact when live feed has many rows */
.active-card #incident-list .incident-item:nth-of-type(n+5){display:none;}
.incident-more-note{margin-top:12px;border:1px solid #d9e8f5;background:#f6fbff;border-radius:16px;padding:12px 14px;color:#25465f;display:grid;gap:4px;font-weight:800;line-height:1.35;}
.incident-more-note span{font-size:13px;color:#577087;font-weight:750;}
.active-card #incident-list .incident-item{padding-top:14px;padding-bottom:14px;}
@media(max-width:760px){.incident-more-note{font-size:14px;}}

/* v088 homepage density / whitespace cleanup */
.primary-grid,
.card-grid,
.feature-row,
.lower-extras-stack,
.bottom-grid {
  align-items: start;
}

.primary-grid {
  grid-template-columns: minmax(300px, 410px) minmax(0, 1fr);
}

.primary-grid > .card,
.card-grid > .card,
.feature-row > .card,
.lower-extras-stack > .card {
  align-self: start;
}

.active-card {
  display: flex;
  flex-direction: column;
}

#incident-list {
  padding: 0 14px 2px;
}

#incident-list .compact-incident {
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
  padding: 10px 0;
  align-items: start;
}

#incident-list .compact-incident .incident-icon {
  width: 34px;
  height: 34px;
  font-size: 16px;
  margin-top: 4px;
}

#incident-list .compact-incident-body {
  min-width: 0;
}

#incident-list .incident-title {
  font-size: 14px;
  line-height: 1.18;
}

#incident-list .incident-location {
  font-size: 12px;
  line-height: 1.25;
  margin-top: 2px;
}

#incident-list .compact-incident-meta {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  margin-top: 5px;
}

#incident-list .compact-incident-meta .badge {
  display: inline-flex;
  margin: 0;
  padding: 3px 7px;
  font-size: 10px;
  line-height: 1.1;
}

#incident-list .compact-actions {
  margin-top: 6px;
  gap: 6px;
}

#incident-list .compact-actions .scanner-audio-link,
#incident-list .compact-actions .inline-share-button {
  padding: 4px 8px;
  font-size: 11px;
}

.incident-more-note.compact-more-note {
  margin: 8px 0 2px;
  padding: 9px 10px;
  font-size: 12px;
  border-radius: 12px;
}
.incident-more-note.compact-more-note span { font-size: 11px; }

.map-card {
  min-height: 0;
}
.home-pulse-map-live {
  height: clamp(230px, 24vw, 300px);
}
.map-footer-links {
  padding-bottom: 8px;
}

.card-grid.four {
  align-items: start;
}
.compact-card {
  min-height: 0;
}
.weather-card,
.outages-card,
.news-card,
.events-card,
.blotter-card,
.overnight-card,
.community-board-card,
.obituary-card {
  height: auto;
}

/* Keep tall lists from forcing neighboring cards to stretch; full pages still show complete lists. */
#events-list,
#community-list,
#news-list,
#obituaries-list,
#blotter-list {
  max-height: 365px;
  overflow: auto;
  padding-right: 4px;
}

.lower-community-extras {
  margin-top: 18px;
}
.lower-extras-stack {
  display: grid;
  gap: 10px;
}
.lower-community-extras .jobs-board-card,
.lower-community-extras .photo-of-day-card,
.lower-community-extras .time-machine-card,
.lower-community-extras .food-card {
  padding-top: 14px;
  padding-bottom: 14px;
}

@media (min-width: 1180px) {
  .dashboard-shell { max-width: 1320px; }
  .card-grid.four { gap: 12px; }
}

@media (max-width: 1100px) {
  .primary-grid { grid-template-columns: 1fr; }
  #events-list,
  #community-list,
  #news-list,
  #obituaries-list,
  #blotter-list { max-height: none; overflow: visible; }
}


/* v088 obituary homepage card cosmetic fix */
.obituary-card #obituaries-list {
  max-height: 365px;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 6px;
}
.obituary-card .obituary-item {
  grid-template-columns: minmax(0, 1fr);
  gap: 5px;
  padding: 12px 0;
}
.obituary-card .obituary-main {
  min-width: 0;
}
.obituary-card .obituary-name {
  font-size: 16px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.obituary-card .obituary-meta,
.obituary-card .obituary-service {
  overflow-wrap: break-word;
}
.obituary-card .obituary-source {
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 12px;
  line-height: 1.25;
}
.obituary-card .obituary-source span {
  display: inline-flex;
  margin-top: 0;
  color: var(--muted);
}
.obituary-card .card-link {
  display: inline-block;
  margin-top: 8px;
}

/* v088 Pulse Map cleanup: cleaner markers, steadier sizing, and less visual clutter */
.pulse-map-card,
.map-card { overflow: visible; }
.pulse-map-live,
.home-pulse-map-live {
  box-shadow: inset 0 0 0 1px rgba(8,53,101,.04);
}
.pulse-div-icon {
  font-size: 11px !important;
  letter-spacing: .02em;
}
.pulse-div-icon span {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  line-height: 1;
}
.pulse-div-icon.weather { background:#1675d1; }
.pulse-div-icon.community { background:#aa4f92; }
.pulse-div-icon.tourism { background:#0b87a8; }
.pulse-popup p {
  margin: 5px 0 0;
  color: #415a72;
  font-weight: 700;
  line-height: 1.35;
}
.pulse-popup span + span { margin-top: 2px; }
.pulse-layer-toggles button:disabled,
.map-card .map-toggles button:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.home-map-empty {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 400;
  border: 1px solid #cfe0ef;
  background: rgba(255,255,255,.94);
  color: #244762;
  font-weight: 900;
  border-radius: 12px;
  padding: 10px 12px;
  text-align: center;
}
.pulse-map-selected .card-link {
  padding: 6px 0 0;
}
.source-credit strong,
.pulse-map-sidebar .source-note strong { color:#083565; }

/* v088 Pulse Map purpose change: incident/outage map only, no deals/visitor/event pins */
.pulse-div-icon.fire_ems { background:#d53d37; }
.pulse-div-icon.police_activity { background:#214e86; }
.pulse-div-icon.traffic_crashes { background:#e07526; }
.pulse-div-icon.road_alerts { background:#d99b22; }
.pulse-div-icon.outages { background:#2f9f59; }
.pulse-div-icon.public_safety { background:#6c7782; }

/* v088 School links: homepage uses official district links, not repeated scraped rows */
.school-link-card .mini-link-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.school-link-card .mini-link-row a{font-weight:900;text-decoration:none;color:#0067c6;background:#eef7ff;border:1px solid #cfe5fb;border-radius:999px;padding:6px 10px;}
.school-footer-list a{white-space:normal;}


/* v089 Live Overnight in Schuyler County recap */
.overnight-list {
  display: grid;
  gap: 0;
}
.check-list .overnight-item,
.check-list .overnight-empty {
  border-top: 1px solid var(--line);
  padding: 10px 0;
}
.check-list .overnight-item:first-child,
.check-list .overnight-empty:first-child {
  border-top: 0;
}
.check-list .overnight-item::before,
.check-list .overnight-empty::before {
  content: "";
  margin: 0;
}
.overnight-item {
  display: grid;
  gap: 3px;
}
.overnight-item strong {
  color: #083565;
  line-height: 1.25;
}
.overnight-item strong a {
  color: inherit;
}
.overnight-item span {
  color: #31465b;
  font-size: .9rem;
  font-weight: 650;
  line-height: 1.35;
}
.overnight-item small {
  color: var(--muted);
  font-size: .77rem;
  font-weight: 800;
}
.overnight-empty {
  color: #31465b;
  font-weight: 750;
  line-height: 1.4;
}
.overnight-empty.quiet {
  color: #17643a;
}
.overnight-empty.unavailable {
  color: #91591c;
}
.overnight-home-note {
  margin: 8px 0 0;
  line-height: 1.35;
}
.overnight-card[data-recap-state="live"] {
  border-top: 4px solid #0b5aa6;
}
.overnight-card[data-recap-state="quiet"] {
  border-top: 4px solid #2f9f59;
}
.overnight-card[data-recap-state="partial"],
.overnight-card[data-recap-state="unavailable"] {
  border-top: 4px solid #d69528;
}

/* v091 live Jobs, approved Photos, and sourced Time Machine */
.live-section-loading{display:block;padding:14px;border:1px dashed var(--line);border-radius:14px;color:#536b82;font-weight:800;background:#f8fbfe}
.live-empty-section{background:linear-gradient(135deg,#fff,#f6f9fc)}
.live-photo-thumb[hidden]{display:none!important}
.live-empty-card{grid-column:1/-1;border:1px dashed #b8c9d9;border-radius:16px;background:#f8fbfe;padding:22px;color:#405a73}
.live-empty-card h2,.live-empty-card h3{margin-top:0;color:#083565}
.live-feed-status-card{margin-bottom:16px}
.feed-warning{color:#8a5200!important;background:#fff8e7;border:1px solid #eed39a;border-radius:12px;padding:10px 12px}
.job-filter-row{display:grid;gap:7px;margin-top:14px;max-width:600px}
.job-filter-row input{width:100%;border:1px solid #c8d6e3;border-radius:12px;padding:12px 14px;font:inherit;background:#fff;color:#17334d}
.job-listing-card .card-link{margin-top:12px}
.history-card .history-source{font-size:12px;color:#60778c;font-weight:850;margin-top:12px}
.photo-feature-empty{grid-template-columns:1fr!important;background:linear-gradient(135deg,#fff,#f5f9fd)}
.photo-feature-empty .photo-feature-copy{max-width:760px}


/* v091 Seneca Lake conditions and seven-day forecast */
.seven-day-card{padding:20px;margin-bottom:14px}.current-weather-strip{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 14px;margin:4px 0 14px;border:1px solid #cfe0ed;border-radius:13px;background:#f4f9fd;color:#36516b;font-weight:800}.current-weather-strip strong{font-size:26px;color:#083565}.current-weather-strip .weather-alert-count{background:#b62b2b;color:#fff;border-radius:999px;padding:5px 9px}.forecast-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.forecast-day{border:1px solid #d8e4ee;border-radius:14px;background:#fff;padding:12px;display:flex;flex-direction:column;min-height:210px;box-shadow:0 5px 16px rgba(8,46,82,.05)}.forecast-day-heading{display:flex;justify-content:space-between;gap:6px;align-items:baseline}.forecast-day-heading strong{color:#083565;font-size:15px}.forecast-day-heading span{color:#6b7f91;font-size:11px;font-weight:800}.forecast-symbol{font-size:32px;line-height:1;margin:14px 0 8px}.forecast-summary{font-size:13px;font-weight:800;color:#435d75;flex:1;margin:0 0 8px}.forecast-temps{color:#102f4c;font-size:15px}.forecast-meta{display:grid;gap:3px;border-top:1px solid #e3ebf2;margin-top:9px;padding-top:8px;color:#64798c;font-size:11px;font-weight:800}.weather-alert-list{margin-top:14px}.weather-alert-list h3{font-size:16px;color:#8b1e1e}.weather-alert-row{display:grid;gap:3px;padding:10px 12px;margin-top:8px;border-left:4px solid #b62b2b;background:#fff5f3;border-radius:8px;color:#542424}.weather-alert-row span{font-size:12px;font-weight:700}.lake-status-card{padding:20px}.lake-metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:12px}.lake-metric{border:1px solid #d8e5ee;border-radius:13px;padding:13px;background:#f7fbfd;display:grid;gap:5px}.lake-metric span{text-transform:uppercase;letter-spacing:.04em;color:#657a8e;font-size:11px;font-weight:900}.lake-metric strong{color:#083565;font-size:15px;line-height:1.25}.lake-condition-list .notice-row{align-items:center}.lake-source-card{margin-bottom:20px}.lake-source-card p{max-width:940px;color:#425c76;font-weight:700}
@media(max-width:1050px){.forecast-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.lake-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.forecast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.forecast-day{min-height:190px}.lake-metric-grid{grid-template-columns:1fr 1fr}.current-weather-strip{align-items:flex-start;flex-direction:column;gap:5px}}
@media(max-width:430px){.forecast-grid,.lake-metric-grid{grid-template-columns:1fr}}


/* v092 homepage live-local row and branded feature imagery */
.home-live-row{
  max-width:1320px;
  margin:14px auto 0;
  padding:0 12px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:14px;
  align-items:stretch;
}
.home-live-row>.card{
  min-width:0;
  height:100%;
  display:flex;
  flex-direction:column;
  align-self:stretch;
}
.home-live-row .home-pulse-map-live,
.home-live-row .webcam-embed{
  height:340px;
  min-height:340px;
}
.home-live-row .map-footer-links,
.home-live-row .webcam-caption{
  margin-top:auto;
}
.home-live-row .webcam-caption{
  padding-top:10px;
}
.primary-grid.active-only{
  grid-template-columns:minmax(0,1fr);
}
.feature-row.feature-row-single{
  grid-template-columns:minmax(0,1fr);
}
.feature-art-image{
  display:block;
  width:100%;
  height:104px;
  object-fit:cover;
  object-position:center;
  background:#e8eef4;
}
.feature-card.guide .feature-art-image{object-position:center 47%;}
.feature-card.gorge .feature-art-image{object-position:center 48%;}
.feature-card.pass .feature-art-image{object-position:center 50%;}
@media(max-width:900px){
  .home-live-row{grid-template-columns:1fr;}
  .home-live-row .webcam-card{order:1;}
  .home-live-row .map-card{order:2;}
}
@media(max-width:720px){
  .home-live-row{gap:12px;margin-top:12px;padding:0 12px;}
  .home-live-row .home-pulse-map-live,
  .home-live-row .webcam-embed{
    height:250px;
    min-height:250px;
  }
  .home-live-row .map-heading{display:block;}
  .home-live-row .map-toggles{justify-content:flex-start;margin-top:10px;}
  .feature-art-image{height:132px;}
}

/* v095: Official local internet-provider status */
.internet-status-home{margin-top:14px;padding:18px}.internet-status-home-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.internet-status-home-heading h2{font-size:24px;margin:0 0 6px}.internet-status-home-heading p:not(.eyebrow){margin:0;color:var(--muted);font-weight:700}.internet-provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.internet-provider-card{border:1px solid var(--line);border-radius:16px;padding:16px;background:linear-gradient(180deg,#fff,#f7fbff);display:grid;gap:10px;min-width:0}.internet-provider-card.status-operational{border-color:#a9d9b8;background:linear-gradient(180deg,#fbfffc,#edf9f0)}.internet-provider-card.status-degraded,.internet-provider-card.status-maintenance,.internet-provider-card.status-partial_outage{border-color:#efca78;background:linear-gradient(180deg,#fffdf7,#fff7df)}.internet-provider-card.status-major_outage{border-color:#e8a3a3;background:linear-gradient(180deg,#fffafa,#fff0f0)}.internet-provider-card.status-address_check_required,.internet-provider-card.status-unavailable{border-color:#b9cde0;background:linear-gradient(180deg,#fff,#f2f7fc)}.internet-provider-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.internet-provider-name{display:flex;align-items:center;gap:9px;font-size:19px;color:#083565}.internet-provider-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e9f3ff;color:#0b67c7;font-size:19px}.internet-provider-status-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:950;background:#e9f1f8;color:#37536d;white-space:nowrap}.internet-provider-status-pill:before{content:"";width:9px;height:9px;border-radius:50%;background:#7c91a5}.status-operational .internet-provider-status-pill{background:#dff4e5;color:#16733a}.status-operational .internet-provider-status-pill:before{background:#28a557}.status-degraded .internet-provider-status-pill,.status-maintenance .internet-provider-status-pill,.status-partial_outage .internet-provider-status-pill{background:#fff0c7;color:#8b5b00}.status-degraded .internet-provider-status-pill:before,.status-maintenance .internet-provider-status-pill:before,.status-partial_outage .internet-provider-status-pill:before{background:#e09b16}.status-major_outage .internet-provider-status-pill{background:#ffe0e0;color:#a02828}.status-major_outage .internet-provider-status-pill:before{background:#d83e3e}.internet-provider-detail{margin:0;color:#314b63;font-weight:700;line-height:1.45}.internet-provider-scope{font-size:12px;color:var(--muted);font-weight:800}.internet-provider-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.internet-provider-actions a{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:9px 12px;background:#0b67c7;color:#fff;font-size:13px;font-weight:900}.internet-provider-actions a.secondary{background:#edf5ff;color:#0b67c7;border:1px solid #c8ddf2}.internet-status-home-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px}.internet-status-home-footer .source-note{margin:0}.internet-status-hero{background:linear-gradient(135deg,#073965,#0d6b87)}.internet-status-updated{display:inline-flex;margin-top:16px;padding:8px 11px;border-radius:10px;background:rgba(255,255,255,.13);font-weight:850}.internet-provider-grid-page{margin:18px 0}.internet-provider-grid-page .internet-provider-card{padding:22px;min-height:235px}.internet-provider-grid-page .internet-provider-name{font-size:23px}.internet-policy-list,.internet-help-list{margin:12px 0 0;padding-left:22px}.internet-policy-list li,.internet-help-list li{padding:7px 0;color:#354f66;font-weight:700}.internet-provider-loading{min-height:110px;place-items:center;color:var(--muted)}
@media(max-width:800px){.internet-provider-grid{grid-template-columns:1fr}.internet-status-home-heading,.internet-status-home-footer{display:block}.internet-status-home-heading .updated{display:inline-block;margin-top:8px}.internet-status-home-footer .card-link{padding-left:0}.internet-provider-topline{align-items:flex-start}.internet-provider-status-pill{white-space:normal;text-align:center}}
@media(max-width:480px){.internet-status-home{padding:15px}.internet-provider-card{padding:14px}.internet-provider-topline{display:grid}.internet-provider-status-pill{justify-self:start}.internet-provider-actions{display:grid}.internet-provider-actions a{width:100%}}


/* v096: Condensed homepage Internet Service Status strip */
.internet-status-home.internet-status-compact{margin:16px 0 18px;padding:12px 14px;border-radius:16px}
.internet-status-compact-layout{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(0,2fr) auto;gap:12px;align-items:center}
.internet-status-compact-heading{min-width:0}
.internet-status-compact-heading .eyebrow{margin:0 0 3px!important;font-size:10px}
.internet-status-compact-heading h2{margin:0;font-size:19px;line-height:1.15;color:#083565}
.internet-status-compact-heading .updated{display:block;margin-top:5px;font-size:10px;padding:4px 7px;width:max-content;max-width:100%}
.internet-provider-grid.internet-provider-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.internet-provider-card.internet-provider-card-compact{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:0;padding:9px 10px;border-radius:12px}
.internet-provider-compact-main{display:flex;align-items:center;gap:9px;min-width:0;flex-wrap:wrap}
.internet-provider-card-compact .internet-provider-name{font-size:14px;gap:7px;min-width:0}
.internet-provider-card-compact .internet-provider-icon{width:27px;height:27px;font-size:14px;flex:0 0 27px}
.internet-provider-card-compact .internet-provider-status-pill{padding:4px 7px;font-size:10px;line-height:1.15;white-space:normal}
.internet-provider-compact-link{font-size:11px;font-weight:900;white-space:nowrap;color:#0b67c7;text-align:right}
.internet-status-compact-more{font-size:12px;font-weight:950;color:#0b67c7;white-space:nowrap}
@media(max-width:980px){
  .internet-status-compact-layout{grid-template-columns:1fr}
  .internet-status-compact-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}
  .internet-status-compact-heading .updated{margin-top:0}
  .internet-status-compact-more{justify-self:start}
}
@media(max-width:700px){
  .internet-status-home.internet-status-compact{padding:11px 12px}
  .internet-status-compact-heading{display:block}
  .internet-status-compact-heading .updated{margin-top:5px}
  .internet-provider-grid.internet-provider-grid-compact{grid-template-columns:1fr;gap:7px}
  .internet-provider-card.internet-provider-card-compact{padding:8px 9px}
}
@media(max-width:430px){
  .internet-provider-card.internet-provider-card-compact{align-items:flex-start}
  .internet-provider-compact-main{display:grid;grid-template-columns:auto 1fr;gap:6px 7px}
  .internet-provider-card-compact .internet-provider-status-pill{grid-column:2;justify-self:start}
  .internet-provider-compact-link{align-self:center}
}

/* v101 public UI cleanup and hosted weather feeds */
.status-grid{
  gap:8px;
}
.status-card{
  min-height:0;
  padding:10px 12px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  grid-template-areas:
    "num label"
    "link link";
  column-gap:8px;
  row-gap:2px;
  align-content:center;
  border-radius:11px;
  box-shadow:0 7px 18px rgba(8,46,82,.10);
}
.status-card .status-icon{display:none!important}
.status-card strong{
  grid-area:num;
  font-size:25px;
  line-height:1;
  align-self:center;
}
.status-card span:not(.status-icon){
  grid-area:label;
  font-size:12px;
  line-height:1.15;
  align-self:center;
}
.status-card a{
  grid-area:link;
  font-size:11px;
  line-height:1.1;
  margin-top:2px;
}
.status-card.danger,.status-card.warning,.status-card.ok,.status-card.weather,.status-card.events{
  border-color:rgba(255,255,255,.55);
}

.weather-map-grid{grid-template-columns:1fr}
.weather-map-card{min-width:0}

.lake-info-card{
  padding:20px;
  overflow:visible;
}
.lake-info-card h2{
  margin:0 0 10px;
}
.lake-info-card p{
  margin:0 0 12px;
  overflow-wrap:anywhere;
}
.lake-info-card .card-link{
  padding:4px 0 0;
}
.lake-details-card{
  padding-bottom:18px;
  overflow:visible;
}
.lake-condition-list{
  padding:0 18px;
}
.lake-condition-list .notice-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 14px;
  align-items:start;
  padding:14px 0;
  border-top:1px solid var(--line);
}
.lake-condition-list .notice-row:first-child{border-top:0}
.lake-condition-list .notice-row>div{min-width:0}
.lake-condition-list .notice-row strong,
.lake-condition-list .notice-row p,
.lake-condition-list .notice-row small{
  overflow-wrap:anywhere;
}
.lake-condition-list .notice-row p{margin:5px 0;color:#405a73;font-weight:650}
.lake-condition-list .notice-row small{display:block;color:#6a7d90;font-weight:700}
.lake-condition-list .notice-row .tag{
  justify-self:end;
  white-space:normal;
  max-width:180px;
  text-align:center;
}
.lake-condition-list .notice-row .card-link{
  grid-column:1/-1;
  padding:2px 0 0;
  float:none;
}

@media(max-width:900px){
  .status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:640px){
  .status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .status-card{padding:9px 10px}
  .status-card strong{font-size:23px}
  .status-card span:not(.status-icon){font-size:11px}
  .lake-info-card{padding:17px}
}
@media(max-width:480px){
  .lake-condition-list .notice-row{grid-template-columns:1fr}
  .lake-condition-list .notice-row .tag{justify-self:start;max-width:none}
}

/* v101 community photo submission */
.photo-submit-card{padding:24px}.photo-submit-card h2{margin:2px 0 8px}.photo-submit-card>p{margin:0 0 18px;color:#496177;font-weight:650}.photo-submit-form{margin-top:6px}.photo-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.photo-submit-form label{display:grid;gap:7px;font-weight:850;color:#173b61}.photo-submit-form input[type="text"],.photo-submit-form input[type="email"],.photo-submit-form input[type="file"],.photo-submit-form textarea{width:100%;box-sizing:border-box;border:1px solid #cbd9e5;border-radius:12px;background:#fff;color:#173b61;font:inherit;padding:12px 13px}.photo-submit-form textarea{resize:vertical;min-height:112px}.photo-submit-form input:focus,.photo-submit-form textarea:focus{outline:3px solid rgba(24,126,214,.18);border-color:#187ed6}.photo-form-wide{grid-column:1/-1}.file-field small{color:#667b8f;font-weight:650}.consent-field{grid-template-columns:auto 1fr!important;align-items:start;gap:10px!important;background:#f4f9fd;border:1px solid #d5e2ec;border-radius:12px;padding:13px}.consent-field input{margin-top:4px;transform:scale(1.15)}.photo-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.photo-submit-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px}.photo-submit-actions button{border:0;cursor:pointer}.photo-submit-actions button:disabled{opacity:.65;cursor:wait}.form-status{font-weight:800;color:#5b6e80}.form-status.success{color:#18723b}.form-status.error{color:#a2252d}.hero-utility-links .primary-link{background:#0b67c7;color:#fff!important;border-radius:10px;padding:8px 11px;text-decoration:none}
@media(max-width:700px){.photo-submit-card{padding:20px}.photo-form-grid{grid-template-columns:1fr}.photo-form-wide{grid-column:auto}.photo-submit-actions{align-items:stretch}.photo-submit-actions .action-button{width:100%}}

/* v101 daily plan wrapping and moderation dashboard */
#daily-plan-precheck .mini-list-row{display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px;align-items:start;padding:7px 0}
#daily-plan-precheck .mini-list-row strong{display:block;color:#102f50}
#daily-plan-precheck .mini-list-row span{display:block;min-width:0;overflow-wrap:anywhere;word-break:normal;line-height:1.45}
.daily-plan-card,.daily-plan-step,.card{min-width:0}
.daily-plan-step span,.daily-plan-step em,.daily-plan-card p{overflow-wrap:anywhere}
.photo-submit-form select{width:100%;box-sizing:border-box;border:1px solid #cbd9e5;border-radius:12px;background:#fff;color:#173b61;font:inherit;padding:12px 13px}
.admin-review-shell{max-width:980px}.admin-login-card{max-width:520px;margin:70px auto;padding:28px}.admin-login-form{display:grid;gap:15px}.admin-login-form label{display:grid;gap:7px;font-weight:850}.admin-login-form input{padding:12px;border:1px solid #cbd9e5;border-radius:12px;font:inherit}.admin-review-section{margin-top:18px;padding-bottom:18px}.admin-submission-list{display:grid;gap:14px;padding:0 18px}.admin-submission-card{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;padding:16px;border:1px solid #d5e2ec;border-radius:16px;background:#f8fbfe}.admin-submission-card.text-only{grid-template-columns:1fr}.admin-submission-card img{width:100%;max-height:220px;object-fit:cover;border-radius:12px}.admin-submission-card h3{margin:0 0 8px;color:#083565}.admin-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.action-button.danger{background:#a82c34;color:#fff;border:0;cursor:pointer}.admin-flash{padding:14px 16px;border-radius:12px;font-weight:850}.admin-flash.success{background:#eaf7ee;color:#18723b}.admin-flash.error{background:#fff0f1;color:#9c2630}
@media(max-width:700px){#daily-plan-precheck .mini-list-row{grid-template-columns:1fr;gap:2px}.admin-submission-card{grid-template-columns:1fr}.admin-submission-list{padding:0 12px}.admin-actions .action-button{width:100%}}

/* v108 Schuyler Transit */
.transit-home-card{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 22px;margin:18px 0}.transit-home-card h2{margin:2px 0 5px;color:#083565}.transit-home-card p{margin:0}.transit-home-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.transit-home-inline{min-width:280px}.transit-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:12px 17px;font-weight:900;cursor:pointer;text-decoration:none}.primary-button{background:#0b67c7;color:#fff}.secondary-button{background:#e8f2fc;color:#083565}.transit-departures{display:grid;gap:10px}.transit-departure-row{display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid #d9e5ef;border-radius:14px;padding:13px 15px;background:#f8fbfe}.transit-departure-row div{display:grid;gap:3px}.transit-departure-row span,.transit-departure-row small{color:#526a80}.transit-departure-row b{font-size:20px;color:#0b67c7;white-space:nowrap}.transit-route-list{display:grid;gap:10px}.transit-route-row{display:flex;gap:14px;align-items:flex-start;border-bottom:1px solid #dce6ef;padding:10px 0}.transit-route-number{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:38px;border-radius:10px;background:#0b67c7;color:#fff;font-weight:950}.transit-route-row p{margin:4px 0 0;color:#526a80}.large-call-link{display:inline-flex;margin:12px 0;background:#0b67c7;color:#fff!important;border-radius:12px;padding:13px 17px;font-weight:950;text-decoration:none}.transit-chip-row{display:flex;flex-wrap:wrap;gap:9px}.transit-chip-row button{border:1px solid #bfd5e8;background:#f3f8fc;color:#083565;border-radius:999px;padding:9px 13px;font-weight:850;cursor:pointer}.transit-destination-results{margin-top:15px}.transit-info-grid{margin-top:18px}.transit-destinations{margin-top:18px}@media(max-width:720px){.transit-home-card{display:block;padding:15px 17px}.transit-home-actions{margin-top:12px}.transit-departure-row{align-items:flex-start}.transit-departure-row b{font-size:17px}.transit-home-inline{min-width:0}}

/* v111 road-card containment, cleaner road metadata, and transit empty-state polish */
.roads-page-shell,
.outage-layout-grid,
.outage-list-card,
.roads-page-list,
.road-item,
.road-topline,
.road-content,
.road-title,
.road-description,
.road-detail,
.road-meta,
.road-meta span,
.road-time-grid,
.road-time-grid span,
.road-source-link,
.transit-page-shell,
.transit-departures,
.transit-departure-row,
.transit-departure-row > div,
.transit-departure-row strong,
.transit-departure-row span,
.transit-departure-row small,
.transit-route-row,
.transit-route-row > div {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal;
}
.road-item.major{border-left:5px solid var(--red)}
.road-content{width:100%}
.road-description,.road-detail{margin:8px 0 0;color:#38536c;line-height:1.5}
.road-description{font-weight:650}
.road-detail{font-size:14px}
.road-meta span{display:inline-flex;align-items:center;max-width:100%;border-radius:10px;line-height:1.25}
.road-time-grid{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:10px;color:#526a80;font-size:12px}
.road-time-grid span{display:inline-flex;gap:5px;align-items:baseline}
.road-time-grid b{color:#173b61}
.road-source-link{flex:0 0 auto;align-self:flex-start}
.transit-no-service{border:1px solid #d9e5ef;border-radius:14px;padding:14px 15px;background:#f8fbfe;color:#38536c}
.transit-no-service strong{display:block;color:#083565;margin-bottom:4px}
.transit-no-service p{margin:0}
@media(max-width:720px){
  .roads-page-shell,.outage-page-shell,.page-shell{width:100%;max-width:100%}
  .road-topline{grid-template-columns:minmax(0,1fr)}
  .road-source-link{display:inline-flex;width:max-content;max-width:100%;margin-top:4px}
  .road-meta{gap:6px}
  .road-meta span{width:auto;max-width:100%}
  .road-time-grid{display:grid;grid-template-columns:minmax(0,1fr)}
  .transit-departure-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
  .transit-departure-row b{text-align:right}
}

/* v113: readable National Weather Service alert details */
.weather-alert-detail-shell{max-width:960px;margin:0 auto;padding-top:24px;padding-bottom:48px}
.weather-alert-detail-headline{font-size:1.05rem;font-weight:700;color:#4d2d2d;line-height:1.55;overflow-wrap:anywhere}
.weather-alert-detail-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:18px 0 22px}
.weather-alert-detail-meta span{display:block;padding:12px 14px;border:1px solid #e4e9ef;border-radius:12px;background:#f8fafc;line-height:1.45;overflow-wrap:anywhere}
.weather-alert-detail-body section{margin-top:22px}
.weather-alert-detail-body h2{margin-bottom:10px;font-size:1.15rem}
.weather-alert-detail-body p{white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.65}

/* v115: Official Schuyler County Transit identity and live countdown polish. */
.transit-home-main{display:flex;align-items:center;gap:18px;min-width:0;flex:1}
.transit-home-logo{display:block;width:150px;max-width:28%;height:auto;object-fit:contain;flex:0 0 auto;border-radius:10px}
.transit-home-copy{min-width:0}
.transit-page-logo{display:block;width:min(270px,70%);height:auto;margin:0 0 18px;background:#fff;border-radius:14px;padding:10px 14px;box-shadow:0 8px 22px rgba(8,53,101,.10)}
.transit-countdown{font-variant-numeric:tabular-nums}
@media(max-width:720px){
  .transit-home-main{align-items:flex-start;gap:13px}
  .transit-home-logo{width:112px;max-width:34%;margin-top:2px}
  .transit-page-logo{width:min(235px,78%);margin-bottom:14px}
}
@media(max-width:430px){
  .transit-home-logo{width:98px;max-width:32%}
  .transit-home-main{gap:11px}
}


/* v116: unmistakable but compact dashboard loading state */
.summary-loading{display:inline-flex;align-items:center;gap:4px;min-height:28px;vertical-align:middle}
.summary-loading i{display:block;width:7px;height:7px;border-radius:50%;background:#678198;animation:snSummaryPulse 1.05s infinite ease-in-out}
.summary-loading i:nth-child(2){animation-delay:.14s}.summary-loading i:nth-child(3){animation-delay:.28s}
.status-card[aria-busy="true"]{position:relative}
.status-card[aria-busy="true"]:after{content:"Loading";position:absolute;right:10px;top:8px;font-size:9px;line-height:1;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#7890a4}
@keyframes snSummaryPulse{0%,80%,100%{opacity:.28;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.summary-loading i{animation:none;opacity:.65}}

/* v116: compact school feed previews */
.school-updates-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.school-update-item{padding:12px 13px;gap:10px;border-radius:13px;min-width:0;box-shadow:0 4px 12px rgba(8,46,82,.045)}
.school-update-main{min-width:0}.school-update-main h2{font-size:.98rem;margin:5px 0 6px;line-height:1.25}
.school-update-main p{font-size:.86rem;line-height:1.38;margin-bottom:7px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.school-topline{font-size:.68rem}.school-meta{gap:5px;font-size:.7rem;flex-wrap:wrap}
.school-status{min-width:86px}.school-status strong{font-size:.72rem}.school-status a{font-size:.76rem}
@media(max-width:760px){.school-updates-list{grid-template-columns:1fr}.school-update-item{flex-direction:row;align-items:flex-start}.school-status{align-items:flex-end;min-width:76px}}

/* v118 School Center live-feed resilience */
.school-center-page{max-width:1180px}
.school-center-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:28px;align-items:center;margin:24px 0 18px;padding:34px 38px;border-radius:28px;color:#fff;background:linear-gradient(130deg,#073763 0%,#0a5680 58%,#1b7f86 100%);box-shadow:0 18px 45px rgba(5,46,85,.22)}
.school-center-hero:before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-150px;top:-180px;background:rgba(255,255,255,.09)}
.school-center-hero:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:110px;bottom:-180px;background:rgba(255,255,255,.07)}
.school-center-hero-copy,.school-center-hero-mark{position:relative;z-index:1}
.school-center-hero .eyebrow{color:#93e5ff;margin:0 0 8px;font-size:.78rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}
.school-center-hero h1{margin:0 0 10px;font-size:clamp(2.2rem,5vw,4.2rem);line-height:.98;letter-spacing:-.035em}
.school-center-hero p{max-width:720px;margin:0;color:#e8f6ff;font-size:1.05rem;font-weight:720;line-height:1.55}
.school-center-hero .page-actions{margin-top:22px}
.school-center-hero .action-button.light{background:#fff;color:#083565;border-color:#fff}
.school-refresh-button{border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.1);color:#fff;cursor:pointer}
.school-refresh-button:disabled{opacity:.65;cursor:wait}
.school-center-hero-mark{width:190px;height:190px;border-radius:34px;display:grid;place-items:center;align-content:center;justify-self:end;border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.school-center-hero-mark span{font-size:4.1rem;line-height:1;font-weight:1000;letter-spacing:-.08em}
.school-center-hero-mark small{margin-top:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#ccf3ff}
.school-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 28px}
.school-summary-card{min-height:106px;padding:18px 20px;border:1px solid #d7e5f0;border-radius:20px;background:#fff;box-shadow:0 9px 25px rgba(8,46,82,.07);display:flex;flex-direction:column;justify-content:center}
.school-summary-card strong{font-size:2rem;line-height:1;color:#083565}
.school-summary-card span{margin-top:7px;color:#63788c;font-size:.83rem;font-weight:900;text-transform:uppercase;letter-spacing:.035em}
.school-summary-card.loading strong{animation:school-loading-pulse 1.1s ease-in-out infinite}
@keyframes school-loading-pulse{0%,100%{opacity:.35}50%{opacity:1}}
.school-feed-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 2px 16px}
.school-feed-heading h2{margin:3px 0 5px;color:#083565;font-size:2rem}
.school-feed-heading p:not(.eyebrow){max-width:760px;margin:0;color:#597086;font-weight:700;line-height:1.5}
.school-updated-pill{flex:none;border:1px solid #cce0ef;border-radius:999px;padding:8px 12px;background:#eff8ff;color:#315d7f;font-size:.78rem;font-weight:900;white-space:nowrap}
.school-district-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.school-district-grid.is-refreshing{opacity:.62;pointer-events:none}
.school-district-panel{--school-accent:#0b67c7;--school-soft:#eaf5ff;overflow:hidden;border:1px solid #d8e5ef;border-radius:24px;background:#fff;box-shadow:0 12px 32px rgba(8,46,82,.085);min-width:0}
.school-district-panel.school-watkins{--school-accent:#0a5da8;--school-soft:#e9f4ff}
.school-district-panel.school-odessa{--school-accent:#7d2634;--school-soft:#fff0f2}
.school-district-panel.school-bradford{--school-accent:#2e5b47;--school-soft:#eef8f2}
.school-district-panel.school-dundee{--school-accent:#68458c;--school-soft:#f5effc}
.school-district-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 20px 16px;border-top:7px solid var(--school-accent);background:linear-gradient(180deg,var(--school-soft),#fff)}
.school-district-identity{display:flex;align-items:center;gap:13px;min-width:0}
.school-district-mark{flex:none;width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:var(--school-accent);color:#fff;font-size:1rem;font-weight:1000;letter-spacing:-.02em;box-shadow:0 7px 18px color-mix(in srgb,var(--school-accent) 25%,transparent)}
.school-district-identity p{margin:0 0 3px;color:#667b8e;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.school-district-identity h2{margin:0;color:#123a60;font-size:1.18rem;line-height:1.15}
.school-feed-state{flex:none;display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 9px;font-size:.7rem;font-weight:950;white-space:nowrap}
.school-feed-state i{width:8px;height:8px;border-radius:50%;background:currentColor}
.school-feed-state.live{color:#197247;background:#e8f8ef}
.school-feed-state.live i{box-shadow:0 0 0 4px rgba(25,114,71,.12);animation:school-live-pulse 1.8s infinite}
.school-feed-state.recent{color:#8a5b00;background:#fff3cf}.school-feed-state.cached{color:#6d5a29;background:#fff7dc}
@keyframes school-live-pulse{0%,100%{box-shadow:0 0 0 3px rgba(25,114,71,.12)}50%{box-shadow:0 0 0 7px rgba(25,114,71,0)}}
.school-district-actions{display:flex;gap:7px;flex-wrap:wrap;padding:0 20px 14px}
.school-district-actions a{border:1px solid #d5e3ed;border-radius:999px;padding:7px 10px;background:#fff;color:#145f9f;font-size:.74rem;font-weight:950;text-decoration:none}
.school-district-actions a:hover{border-color:var(--school-accent);color:var(--school-accent);background:var(--school-soft)}
.school-district-source-note{margin:0 20px 14px;padding:9px 11px;border-radius:11px;background:#f5f8fb;color:#687b8d;font-size:.72rem;font-weight:750;line-height:1.35}
.school-feed-stories{display:grid;gap:0;border-top:1px solid #e5edf4}
.school-feed-story{display:grid;grid-template-columns:1fr;min-width:0;padding:17px 20px;border-top:1px solid #e8eef4;background:#fff}
.school-feed-story:first-child{border-top:0}
.school-feed-story.featured.has-image{grid-template-columns:150px minmax(0,1fr);gap:16px;background:linear-gradient(135deg,#fff,var(--school-soft))}
.school-story-image{display:block;min-height:132px;border-radius:14px;overflow:hidden;background:var(--school-soft)}
.school-story-image img{width:100%;height:100%;min-height:132px;object-fit:cover;display:block}
.school-story-body{min-width:0}
.school-story-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;color:#718497;font-size:.69rem;font-weight:950;text-transform:uppercase;letter-spacing:.035em}
.school-story-topline span{color:var(--school-accent)}
.school-feed-story h3{margin:0 0 7px;color:#123a60;font-size:1rem;line-height:1.3}
.school-feed-story h3 a{color:inherit;text-decoration:none}
.school-feed-story h3 a:hover{color:var(--school-accent)}
.school-feed-story p{margin:0;color:#52697e;font-size:.86rem;font-weight:650;line-height:1.48;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.school-story-link{display:inline-block;margin-top:9px;color:var(--school-accent);font-size:.75rem;font-weight:950;text-decoration:none}
.school-feed-empty{padding:26px 20px;color:#5b7084}.school-feed-empty strong{color:#123a60}.school-feed-empty p{margin:5px 0 0}
.school-panel-loading{grid-column:1/-1;min-height:180px;display:grid;place-items:center;color:#587086;font-weight:900}
.school-help-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px;padding:24px}
.school-help-panel h2{margin:3px 0 6px;color:#083565}.school-help-panel p:not(.eyebrow){max-width:700px;margin:0;color:#587086;font-weight:700}
.school-regional-links{min-width:260px}.school-regional-card{display:block;border:1px solid #d6e4ef;border-radius:16px;padding:14px 16px;background:#f7fbfe;text-decoration:none}
.school-regional-card span,.school-regional-card small,.school-regional-card b{display:block}.school-regional-card span{color:#083565;font-weight:950}.school-regional-card small{margin:3px 0 8px;color:#6c8093}.school-regional-card b{color:#0b67c7;font-size:.8rem}
@media(max-width:900px){.school-center-hero{grid-template-columns:1fr}.school-center-hero-mark{display:none}.school-district-grid{grid-template-columns:1fr}.school-help-panel{display:block}.school-regional-links{min-width:0;margin-top:16px}}
@media(max-width:650px){.school-center-hero{padding:28px 22px;border-radius:22px}.school-center-hero h1{font-size:2.55rem}.school-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.school-summary-card{min-height:92px;padding:15px}.school-summary-card strong{font-size:1.7rem}.school-feed-heading{display:block}.school-updated-pill{display:inline-block;margin-top:10px}.school-district-header{align-items:flex-start;padding:17px 15px 13px}.school-district-mark{width:47px;height:47px;border-radius:14px}.school-district-identity h2{font-size:1.05rem}.school-feed-state{font-size:.64rem;padding:6px 7px}.school-district-actions{padding:0 15px 12px}.school-district-source-note{margin:0 15px 12px}.school-feed-story{padding:15px}.school-feed-story.featured.has-image{grid-template-columns:1fr}.school-story-image{max-height:210px}.school-story-image img{height:210px}.school-help-panel{padding:20px}}


/* v119 school connection count and homepage district deep links */
.school-footer-list{display:grid;gap:7px}
.school-footer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:2px 0}
.bottom-grid .school-footer-row a{padding:6px 8px;border-radius:9px;text-decoration:none}
.bottom-grid .school-footer-feed-link{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}
.school-footer-feed-link span{min-width:0;overflow-wrap:anywhere}
.bottom-grid .school-footer-feed-link:hover{background:rgba(255,255,255,.13);text-decoration:none}
.bottom-grid .school-footer-site-link{display:inline-flex;justify-content:center;white-space:nowrap;color:#bfe2ff;font-size:11px;font-weight:900;border:1px solid rgba(191,226,255,.25)}
.bottom-grid .school-footer-site-link:hover{background:rgba(191,226,255,.10);text-decoration:none}
.school-district-panel{scroll-margin-top:92px}
.school-district-panel:target{outline:4px solid rgba(11,103,199,.25);box-shadow:0 20px 48px rgba(8,46,82,.18);animation:school-anchor-highlight 1.6s ease-out}
@keyframes school-anchor-highlight{0%{transform:translateY(0);outline-color:rgba(11,103,199,.65)}100%{transform:translateY(0);outline-color:rgba(11,103,199,.25)}}
@media(max-width:720px){.school-footer-row{grid-template-columns:1fr}.bottom-grid .school-footer-site-link{justify-self:start;padding:3px 8px}.school-district-panel{scroll-margin-top:78px}}

/* v120 homepage school-label wrapping and live County Alerts center */
.school-footer-feed-link span{
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  white-space:normal;
}
@media(max-width:430px){
  .bottom-grid .school-footer-feed-link{font-size:13px;letter-spacing:-.01em}
  .school-footer-feed-link span{white-space:nowrap}
}
.county-alert-status-row{border-color:rgba(255,255,255,.24)!important}
.county-alert-status-row.ok{background:rgba(41,174,99,.16)!important}
.county-alert-status-row.emergency{background:rgba(221,55,65,.18)!important}

.county-alert-center{max-width:1180px;padding-top:26px;padding-bottom:44px}
.county-alert-hero{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:26px;align-items:center;padding:30px;border-radius:26px;background:linear-gradient(135deg,#073768,#0c6cad);color:#fff;box-shadow:0 18px 42px rgba(8,53,101,.2)}
.county-alert-hero .eyebrow{margin:0 0 8px;color:#9fe0ff;font-weight:950;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}
.county-alert-hero h1{margin:0 0 10px;font-size:clamp(2.25rem,5vw,4rem);line-height:1;letter-spacing:-.04em}
.county-alert-hero p:not(.eyebrow){margin:0;max-width:760px;color:#e5f4ff;font-weight:720;line-height:1.55}
.county-alert-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.county-alert-actions a,.county-alert-actions button{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:10px 14px;background:rgba(255,255,255,.1);color:#fff;font:inherit;font-size:.82rem;font-weight:950;text-decoration:none;cursor:pointer}
.county-alert-actions a:first-child{background:#fff;color:#083565;border-color:#fff}
.county-alert-actions button:disabled{opacity:.6;cursor:wait}
.county-alert-hero-mark{width:170px;height:170px;border-radius:34px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);display:grid;place-items:center;align-content:center;justify-self:end}
.county-alert-hero-mark span{display:grid;place-items:center;width:78px;height:78px;border:6px solid #fff;border-radius:50%;font-size:3rem;font-weight:1000;line-height:1}
.county-alert-hero-mark small{margin-top:11px;color:#ccecff;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.county-alert-status-card{display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:center;margin:18px 0;padding:19px 22px;border-radius:20px;border:1px solid #d9e5ef;background:#fff;box-shadow:0 9px 27px rgba(8,46,82,.07)}
.county-alert-status-card .county-alert-status-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;font-size:1.45rem;font-weight:1000;background:#edf5fb;color:#42627e}
.county-alert-status-card strong{display:block;color:#123a60;font-size:1.1rem}
.county-alert-status-card p{margin:3px 0 0;color:#60758a;font-weight:700}
.county-alert-status-card.clear{border-color:#bde5cc;background:linear-gradient(135deg,#f7fff9,#edfaf2)}
.county-alert-status-card.clear .county-alert-status-icon{background:#dff5e7;color:#197247}
.county-alert-status-card.alerting{border-color:#f2b5ba;background:linear-gradient(135deg,#fff9f9,#fff0f1)}
.county-alert-status-card.alerting .county-alert-status-icon{background:#f8d9dc;color:#a7222c}
.county-alert-status-card.unavailable .county-alert-status-icon{background:#fff2cd;color:#8a5b00}
.county-alert-status-card.loading .county-alert-status-icon{animation:school-loading-pulse 1.1s ease-in-out infinite}
.county-alert-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}
.county-alert-main,.county-alert-sidebar{min-width:0}
.county-alert-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:22px 2px 12px}
.county-alert-section-heading .eyebrow{margin:0 0 3px}
.county-alert-section-heading h2{margin:0;color:#083565;font-size:1.7rem}
.county-alert-section-heading.notices-heading{margin-top:28px}
.county-alert-count-pill{flex:none;border:1px solid #cfe0ed;border-radius:999px;padding:7px 11px;background:#f1f8fd;color:#315d7f;font-size:.76rem;font-weight:950}
.county-alert-detail-list{display:grid;gap:12px}
.county-alert-detail-card{--alert-accent:#2d79b8;display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;padding:18px;border:1px solid #dce7ef;border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(8,46,82,.065);min-width:0}
.county-alert-detail-card.emergency{--alert-accent:#bd2834;border-left:5px solid var(--alert-accent)}
.county-alert-detail-card.health{--alert-accent:#248456;border-left:5px solid var(--alert-accent)}
.county-alert-detail-card.road{--alert-accent:#bb7000;border-left:5px solid var(--alert-accent)}
.county-alert-detail-card.info{border-left:5px solid var(--alert-accent)}
.county-alert-detail-icon{width:13px;height:13px;margin-top:5px;border-radius:50%;background:var(--alert-accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--alert-accent) 13%,transparent)}
.county-alert-detail-kicker{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#6c8092;font-size:.71rem;font-weight:950;text-transform:uppercase;letter-spacing:.04em}
.county-alert-detail-kicker span{color:var(--alert-accent)}
.county-alert-detail-card h3{margin:7px 0 7px;color:#123a60;font-size:1.12rem;line-height:1.28}
.county-alert-detail-card p{margin:0;color:#536a7f;font-weight:680;line-height:1.48;overflow-wrap:anywhere}
.county-alert-detail-source{margin-top:10px;color:#718497;font-size:.75rem;font-weight:850}
.county-alert-detail-card a{display:inline-block;margin-top:10px;color:var(--alert-accent);font-size:.8rem;font-weight:950;text-decoration:none}
.county-alert-empty,.county-alert-loading-card{padding:25px;border:1px dashed #cddce7;border-radius:18px;background:#f7fbfe;color:#60758a}
.county-alert-empty strong{display:block;color:#123a60;font-size:1.03rem}.county-alert-empty p{margin:5px 0 0;font-weight:700}.county-alert-empty.clear{border-style:solid;border-color:#c7e7d2;background:#f2fbf5}
.county-alert-side-card{padding:19px;border:1px solid #dce7ef;border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(8,46,82,.06);margin-top:22px}
.county-alert-side-card.soft{background:#f5faff}
.county-alert-side-card h2{margin:0 0 11px;color:#083565;font-size:1.12rem}
.county-alert-side-card a{display:block;padding:10px 0;border-top:1px solid #e5edf3;color:#1265a8;text-decoration:none;font-weight:900;overflow-wrap:anywhere}
.county-alert-side-card a:first-of-type{border-top:0}.county-alert-side-card a strong,.county-alert-side-card a span{display:block}.county-alert-side-card a strong{color:#123a60}.county-alert-side-card a span{margin-top:2px;color:#668096;font-size:.78rem}
.county-alert-meta{margin:14px 3px;color:#6d8092;font-size:.75rem;font-weight:720;line-height:1.45}
@media(max-width:880px){.county-alert-layout{grid-template-columns:1fr}.county-alert-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:12px}.county-alert-side-card{margin-top:0}.county-alert-meta{grid-column:1/-1}}
@media(max-width:680px){.county-alert-center{padding-left:12px;padding-right:12px}.county-alert-hero{grid-template-columns:1fr;padding:25px 20px;border-radius:22px}.county-alert-hero-mark{display:none}.county-alert-actions a,.county-alert-actions button{width:100%}.county-alert-status-card{padding:16px}.county-alert-layout{gap:12px}.county-alert-sidebar{grid-template-columns:1fr}.county-alert-section-heading{align-items:center}.county-alert-section-heading h2{font-size:1.4rem}.county-alert-detail-card{padding:15px}.county-alert-detail-kicker{align-items:flex-start;flex-direction:column;gap:3px}}
.news-page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.news-page-toolbar .source-note{margin:0}.news-page-toolbar button{border:1px solid #cbddea;background:#f2f8fd;color:#0b67c7;cursor:pointer;white-space:nowrap}.news-page-toolbar button:disabled{opacity:.6;cursor:wait}@media(max-width:620px){.news-page-toolbar{align-items:flex-start;flex-direction:column}.news-page-toolbar button{width:100%}}

/* v121 — Schuyler Libraries */
.library-home-card{margin-top:14px;padding:22px;overflow:visible;background:linear-gradient(145deg,#fff 0%,#f5fbff 54%,#f3faf2 100%)}
.library-home-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.library-home-heading h2{font-size:26px;margin:2px 0 5px}.library-home-heading p:not(.eyebrow){margin:0;color:var(--muted);font-weight:700}.library-home-all{color:var(--blue);font-weight:900;white-space:nowrap;padding-top:8px}.library-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.library-home-loading,.library-home-library{min-width:0;border:1px solid #d8e6ef;border-radius:18px;padding:17px;background:rgba(255,255,255,.92);box-shadow:0 7px 20px rgba(8,46,82,.06)}.library-home-library.open{border-color:#a9d9b9;background:linear-gradient(145deg,#fff,#f0fbf3)}.library-home-library-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.library-home-kicker{color:#3981a9;text-transform:uppercase;letter-spacing:.1em;font-weight:900;font-size:11px}.library-home-library h3{margin:3px 0 0;color:#083565;font-size:19px}.library-open-pill{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;white-space:nowrap;background:#eef2f6;color:#52677b}.library-open-pill.open{background:#ddf6e4;color:#176b36;border:1px solid #b7e5c3}.library-open-pill.closed{background:#f4f0eb;color:#76542c;border:1px solid #e5d5c2}.library-open-detail{margin:9px 0 11px;color:#52677b;font-weight:800}.library-next-event{display:grid;gap:3px;border:1px solid #dbe8f4;border-radius:13px;padding:12px;background:#f7fbff;color:#083565}.library-next-event:hover{text-decoration:none;background:#eef7ff}.library-next-event>span{color:#0b67c7;text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:900}.library-next-event strong{font-size:15px;overflow-wrap:anywhere}.library-next-event small{color:#617487;font-weight:700}.library-home-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:11px}.library-home-links a{font-size:13px;font-weight:900;color:#0b67c7}.library-home-tools{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.library-home-tools a{border:1px solid #d7e6f2;background:#fff;border-radius:999px;padding:8px 11px;color:#174c75;font-size:13px;font-weight:900}
.library-page-shell{max-width:1180px}.library-hero{display:grid;grid-template-columns:1.45fr .65fr;gap:18px;margin-bottom:16px}.library-hero-copy,.library-hero-art{border-radius:24px;box-shadow:0 12px 35px rgba(8,46,82,.1)}.library-hero-copy{background:linear-gradient(130deg,#073b6d,#0a6291);padding:34px;color:#fff}.library-hero-copy .eyebrow{color:#9bdcff}.library-hero-copy h1{font-size:clamp(2.2rem,6vw,4rem);line-height:1;margin:5px 0 13px}.library-hero-copy>p:not(.eyebrow){max-width:720px;font-size:1.04rem;line-height:1.6;color:#e3f2fc}.library-hero-actions,.library-profile-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:19px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:11px 15px;font-weight:900;text-decoration:none}.primary-button{background:#0b72cf;color:#fff;border:1px solid #0b72cf}.primary-button:hover{background:#095da8;text-decoration:none}.secondary-button{background:#fff;color:#0a568f;border:1px solid #cbddeb}.secondary-button:hover{background:#f0f8ff;text-decoration:none}.library-hero-copy .primary-button{background:#fff;color:#075183;border-color:#fff}.library-hero-copy .secondary-button{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.42)}.library-hero-art{background:linear-gradient(145deg,#e8f7ec,#d7eff9);display:flex;align-items:center;justify-content:center;gap:15px;padding:24px;color:#08486e}.library-hero-art span{font-size:72px}.library-hero-art strong{font-size:22px;line-height:1.35}.library-live-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:#fff;border:1px solid #dce7ef;border-radius:16px;padding:12px 15px;margin-bottom:16px;color:#435b70}.library-live-bar>div{display:flex;align-items:center;gap:8px;margin-right:auto}.library-live-dot{width:10px;height:10px;border-radius:50%;background:#30ad5c;box-shadow:0 0 0 5px rgba(48,173,92,.13)}.library-refresh-button{border:1px solid #cbddea;background:#f7fbff;color:#0a568f;border-radius:10px;padding:8px 11px;font-weight:900}.library-refresh-button:disabled{opacity:.6}.library-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.library-profile-card{position:relative;min-width:0;background:#fff;border:1px solid #dfe8ef;border-radius:22px;padding:23px;box-shadow:0 9px 28px rgba(8,46,82,.08);overflow:hidden}.library-profile-accent{position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,#0b72cf,#39a45a)}.library-profile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:13px}.library-profile-head h2{margin:4px 0 0;color:#083565;font-size:24px;overflow-wrap:anywhere}.library-open-detail.prominent{font-size:16px;color:#294d67}.library-hours-line{background:#f4f8fb;border:1px solid #e0e9f0;border-radius:12px;padding:11px;color:#52677b;font-weight:750;line-height:1.5}.library-profile-next{margin-top:14px}.library-profile-next>span{display:block;color:#668198;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:900;margin-bottom:6px}.library-contact-block{display:grid;gap:6px;margin:14px 0 0;color:#536b7f;font-weight:750}.library-contact-block a{color:#0b67c7}.library-profile-actions{margin-top:15px}.library-profile-actions a{font-size:13px}.library-profile-loading{min-height:250px;display:grid;place-items:center;color:#60778b}.library-events-panel{padding:22px;margin-bottom:20px}.library-section-header{padding:0 0 13px}.library-section-header h2{font-size:25px}.library-filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:9px}.library-filter{border:1px solid #d6e3ed;background:#f8fbfd;color:#315a77;border-radius:999px;padding:8px 12px;font-weight:900}.library-filter.active{background:#0b67c7;color:#fff;border-color:#0b67c7}.library-event-list{display:grid}.library-event-card{display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;padding:16px 0;border-top:1px solid #e6edf3}.library-event-card:first-child{border-top:0}.library-event-date{background:linear-gradient(180deg,#eef8ff,#f9fcff);border:1px solid #d7e7f2;border-radius:15px;padding:12px;text-align:center;color:#083565}.library-event-date span{display:block;background:#0b67c7;color:#fff;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:900;margin-bottom:8px}.library-event-date strong{display:block}.library-event-date small{display:block;color:#667a8e;margin-top:3px}.library-event-source{color:#36835a;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:900}.library-event-copy h3{margin:4px 0 7px;font-size:18px}.library-event-copy h3 a{color:#083565}.library-event-copy p{margin:0;color:#536a7d;line-height:1.5}.library-resource-intro{margin:22px 4px 12px}.library-resource-intro h2{font-size:28px;margin:4px 0}.library-resource-intro>p:not(.eyebrow){color:#536a7d;max-width:820px}.library-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.library-service-card{display:flex;gap:13px;min-width:0;background:#fff;border:1px solid #dce7ee;border-radius:17px;padding:16px;color:#173e5b;box-shadow:0 7px 22px rgba(8,46,82,.06)}.library-service-card:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 11px 26px rgba(8,46,82,.1)}.library-service-icon{font-size:29px}.library-service-card small{color:#3981a9;text-transform:uppercase;letter-spacing:.07em;font-weight:900}.library-service-card h3{margin:3px 0 5px;color:#083565}.library-service-card p{margin:0 0 8px;color:#5c7183;line-height:1.45}.library-service-card strong{color:#0b67c7;font-size:13px}.library-shared-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:20px}.library-shared-tools>div{padding:22px;border-left:1px solid #e3ebf1}.library-shared-tools>div:first-child{border-left:0}.library-tool-icon{font-size:30px}.library-shared-tools h2{margin:8px 0 6px}.library-shared-tools p{color:#576d80;line-height:1.5}.library-shared-tools a{color:#0b67c7;font-weight:900}.library-source-note{color:#667b8e;text-align:center;font-size:12px;line-height:1.5;margin:17px auto;max-width:900px}
@media(max-width:900px){.library-hero{grid-template-columns:1fr}.library-hero-art{min-height:150px}.library-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-shared-tools{grid-template-columns:1fr}.library-shared-tools>div{border-left:0;border-top:1px solid #e3ebf1}.library-shared-tools>div:first-child{border-top:0}}
@media(max-width:720px){.library-home-card{padding:17px}.library-home-heading{display:block}.library-home-all{display:inline-block;margin-top:9px}.library-home-grid,.library-directory-grid,.library-services-grid{grid-template-columns:1fr}.library-home-library-top,.library-profile-head{align-items:flex-start}.library-open-pill{font-size:11px;padding:6px 8px}.library-hero-copy{padding:25px 20px}.library-hero-art{justify-content:flex-start}.library-event-card{grid-template-columns:1fr}.library-event-date{text-align:left;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.library-event-date span{margin:0}.library-profile-card{padding:20px 17px}.library-profile-actions a{flex:1 1 145px}.library-home-tools a{width:100%;text-align:center}.library-live-bar>div{width:100%}}

/* v122 — Live Music Center */
.music-home-card{overflow:hidden;background:linear-gradient(145deg,#fff 0%,#fff8ed 60%,#f2e5ff 100%);border:1px solid rgba(126,72,25,.16)}
.music-home-heading,.music-calendar-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.music-home-heading h2,.music-calendar-heading h2{margin:2px 0 6px}.music-home-heading p,.music-calendar-heading p{margin:0}.music-home-all,.music-calendar-heading>a{font-weight:800;text-decoration:none;color:#0a67b2;white-space:nowrap}
.music-home-status{display:inline-flex;margin-top:7px;padding:5px 10px;border-radius:999px;background:#fff0d7;color:#835115;font-size:.78rem;font-weight:800}
.music-home-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.music-home-tools{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.music-home-tools a{padding:9px 13px;border:1px solid rgba(8,53,101,.16);border-radius:999px;background:#fff;color:#0a5e9f;text-decoration:none;font-weight:800;font-size:.86rem}
.music-page-shell{max-width:1160px}.music-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,.65fr);gap:24px;padding:34px;border-radius:26px;background:linear-gradient(135deg,#42215f,#8b3b62 56%,#d46b3b);color:#fff;box-shadow:0 18px 45px rgba(50,20,62,.2);margin-bottom:18px;overflow:hidden}.music-hero h1{font-size:clamp(2.35rem,6vw,4.6rem);line-height:.96;margin:8px 0 16px;letter-spacing:-.045em}.music-hero p{max-width:760px;font-size:1.05rem;line-height:1.65}.music-hero .eyebrow{color:#ffd6a8}.music-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.music-hero .primary-button{background:#fff;color:#57255d}.music-hero .secondary-button{color:#fff;border-color:rgba(255,255,255,.48);background:rgba(255,255,255,.1)}.music-hero-art{min-height:220px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border:1px solid rgba(255,255,255,.25);border-radius:22px;background:rgba(255,255,255,.1);backdrop-filter:blur(4px)}.music-hero-art span{font-size:5.2rem;line-height:1}.music-hero-art strong{font-size:1.5rem;line-height:1.15;margin-top:10px}
.music-live-bar{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:14px 18px;border:1px solid #d7e4ee;background:#fff;border-radius:18px;margin-bottom:16px}.music-live-bar>div{display:flex;align-items:center;gap:10px}.music-live-dot{width:11px;height:11px;border-radius:50%;background:#30b46d;box-shadow:0 0 0 6px rgba(48,180,109,.13)}.music-live-bar>span{color:#62788b;font-size:.85rem}.music-refresh-button{border:0;border-radius:999px;background:#0a67b2;color:#fff;padding:9px 14px;font-weight:800;cursor:pointer}.music-refresh-button:disabled{opacity:.6}
.music-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.music-stat-grid article{padding:18px;border-radius:18px;background:#fff;border:1px solid #dbe6ee;text-align:center}.music-stat-grid strong{display:block;font-size:2rem;color:#54285f}.music-stat-grid span{color:#617487;font-weight:700;font-size:.86rem}
.music-calendar-panel{margin-bottom:22px}.music-filter-bar{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap}.music-window-buttons{display:flex;gap:8px;flex-wrap:wrap}.music-window-buttons button{border:1px solid #cbd9e4;border-radius:999px;background:#f7fafc;color:#24445d;padding:9px 13px;font-weight:800;cursor:pointer}.music-window-buttons button.active{background:#563064;color:#fff;border-color:#563064}.music-venue-select{display:flex;flex-direction:column;gap:5px;color:#607487;font-weight:800;font-size:.78rem}.music-venue-select select{min-width:220px;max-width:100%;border:1px solid #cbd9e4;border-radius:12px;padding:10px 12px;background:#fff;color:#16364f;font:inherit}
.music-date-section{margin:28px 0}.music-section-heading{display:flex;align-items:center;gap:12px;margin-bottom:12px}.music-section-heading p{margin:0;color:#8a5a26;text-transform:uppercase;letter-spacing:.09em;font-size:.73rem;font-weight:900}.music-section-heading h2{margin:1px 0 0;font-size:1.7rem}.music-section-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:linear-gradient(145deg,#5c2f68,#c35c45);color:#fff;font-size:1.45rem}.music-event-list{display:grid;gap:12px}.music-event-card{display:grid;grid-template-columns:135px minmax(0,1fr);gap:18px;padding:18px;border:1px solid #d9e3eb;border-radius:20px;background:#fff;box-shadow:0 8px 22px rgba(14,51,78,.05);min-width:0}.music-event-card.compact{grid-template-columns:105px minmax(0,1fr);padding:14px;gap:14px;box-shadow:none}.music-date-tile{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:13px 10px;border-radius:15px;background:linear-gradient(145deg,#fff4df,#f1e8f8);color:#5d315e;min-width:0}.music-date-tile span{font-weight:900;font-size:.77rem;text-transform:uppercase;letter-spacing:.04em}.music-date-tile strong{font-size:1rem;margin-top:5px}.music-date-tile small{font-size:.75rem;color:#6e6473}.music-event-copy{min-width:0}.music-event-top{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:7px}.music-source-pill,.music-kind-pill{font-size:.68rem;font-weight:900;padding:4px 7px;border-radius:999px}.music-source-pill.official{background:#e2f6e9;color:#167342}.music-source-pill.discovery{background:#fff0d6;color:#8a5715}.music-kind-pill{background:#edf2f7;color:#52697c}.music-event-copy h3{margin:0 0 5px;font-size:1.25rem;line-height:1.15;overflow-wrap:anywhere}.music-event-copy h3 a{color:#132f48;text-decoration:none}.music-event-copy h3 a:hover{text-decoration:underline}.music-venue{margin:0;color:#3e5970;font-weight:800;overflow-wrap:anywhere}.music-venue span{font-weight:600;color:#718395}.music-detail{margin:9px 0;color:#5d7081;line-height:1.5}.music-details-link{display:inline-block;margin-top:8px;color:#0b68ae;font-weight:800;text-decoration:none}.music-empty{padding:18px;border:1px dashed #cbd7df;border-radius:16px;background:#f8fbfd;color:#657889;margin:0}
.music-source-panel{margin-top:32px}.music-source-explainer{line-height:1.6;color:#526b7f}.music-source-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:15px}.music-source-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid #dce5ec;border-radius:14px;text-decoration:none;color:#18374f;background:#fbfdfe}.music-source-row span{display:flex;flex-direction:column;min-width:0}.music-source-row strong,.music-source-row small{overflow-wrap:anywhere}.music-source-row small{color:#6b7f90;margin-top:3px}.music-source-row em{font-style:normal;font-size:.72rem;font-weight:900;padding:5px 8px;border-radius:999px;background:#eef3f6;color:#607487;text-align:right}.music-source-row.live em{background:#e3f7ea;color:#177246}.music-source-row.unavailable em{background:#fbe9e9;color:#9c3737}.music-facebook-note{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:15px;margin-top:16px;border-radius:15px;background:#fff6e9;color:#6e4a22}.music-facebook-note strong{white-space:nowrap}.music-submit-hero{background:linear-gradient(145deg,#fff7e9,#f5ebfb)}
.events-music-feature{margin-bottom:18px;background:linear-gradient(135deg,#4f285e,#9c4560);color:#fff;border:0}.events-music-feature .card-header a,.events-music-feature h2{color:#fff}.events-music-feature .music-event-card{background:rgba(255,255,255,.96)}
@media (max-width:760px){.music-hero{grid-template-columns:1fr;padding:25px}.music-hero-art{min-height:150px;flex-direction:row;gap:18px}.music-hero-art span{font-size:4rem}.music-live-bar{grid-template-columns:1fr;gap:9px}.music-live-bar>span{padding-left:21px}.music-refresh-button{justify-self:start;margin-left:21px}.music-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.music-home-list,.music-source-list{grid-template-columns:1fr}.music-home-heading,.music-calendar-heading{flex-direction:column}.music-home-all,.music-calendar-heading>a{white-space:normal}.music-event-card,.music-event-card.compact{grid-template-columns:96px minmax(0,1fr);gap:11px;padding:12px}.music-date-tile{padding:10px 7px}.music-event-copy h3{font-size:1.05rem}.music-filter-bar{align-items:stretch}.music-venue-select,.music-venue-select select{width:100%}.music-facebook-note{grid-template-columns:1fr}.music-facebook-note strong{white-space:normal}}
@media (max-width:390px){.music-event-card,.music-event-card.compact{grid-template-columns:1fr}.music-date-tile{align-items:flex-start;text-align:left}.music-home-tools a{width:100%}.music-stat-grid article{padding:14px 8px}}
.music-source-pill.community{background:#e5efff;color:#225ba2}


/* v123 — Community Help & Resources */
.community-help-home{margin-top:18px;background:linear-gradient(145deg,#fff 0%,#f0f8f4 58%,#edf5ff 100%);border:1px solid #d5e6dc;overflow:hidden}.community-help-home-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}.community-help-home-heading h2{margin:2px 0 6px}.community-help-home-heading p{margin:0}.community-help-home-heading>a{color:#0a67a8;font-weight:900;text-decoration:none;white-space:nowrap}.community-help-home-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.community-help-home-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;padding:14px;border-radius:17px;background:#fff;border:1px solid #dce8e1;color:#183b4d;text-decoration:none;min-width:0}.community-help-home-card>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e6f5ed;font-size:1.25rem}.community-help-home-card h3{margin:0 0 5px;font-size:1rem}.community-help-home-card p{margin:0 0 8px;color:#627687;font-size:.82rem;line-height:1.4}.community-help-home-card strong{font-size:.78rem;color:#0a6a5a}.community-help-home-tools{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}.community-help-home-tools a{padding:9px 12px;border:1px solid #cdded5;border-radius:999px;background:#fff;color:#175d62;text-decoration:none;font-weight:850;font-size:.82rem}
.resources-page-shell{max-width:1160px}.resources-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(230px,.65fr);gap:25px;padding:35px;border-radius:27px;background:linear-gradient(135deg,#075c62,#0c7d72 55%,#3b8f80);color:#fff;box-shadow:0 18px 44px rgba(7,75,78,.2);margin-bottom:18px;overflow:hidden}.resources-hero h1{font-size:clamp(2.25rem,6vw,4.4rem);line-height:.98;letter-spacing:-.045em;margin:8px 0 16px}.resources-hero p{max-width:760px;font-size:1.04rem;line-height:1.65}.resources-hero .eyebrow{color:#bff5dc}.resources-hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:22px}.resources-hero .primary-button{background:#fff;color:#086458}.resources-hero .secondary-button{color:#fff;border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.1)}.resources-hero-art{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:22px;border:1px solid rgba(255,255,255,.27);background:rgba(255,255,255,.1)}.resources-hero-art span{font-size:5rem}.resources-hero-art strong{font-size:1.5rem;line-height:1.15;margin-top:10px}.resource-quick-help{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:18px}.resource-quick-card{display:flex;flex-direction:column;padding:16px;border-radius:18px;background:#fff;border:1px solid #dbe6eb;text-decoration:none;color:#17394e;min-width:0}.resource-quick-card small{text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;font-weight:900;color:#6a7e8c}.resource-quick-card strong{font-size:1.24rem;margin:5px 0;overflow-wrap:anywhere}.resource-quick-card span{font-size:.78rem;color:#617587;line-height:1.35}.resource-quick-card.emergency{border-color:#efc5c5;background:#fff7f7}.resource-quick-card.crisis{border-color:#d6c9ef;background:#faf8ff}.resource-quick-card.safety{border-color:#f0d5c1;background:#fff9f3}.resource-quick-card.help{border-color:#c6e5d4;background:#f5fcf8}.food-help-feature{margin-bottom:18px;background:linear-gradient(145deg,#fff,#fff9ec)}.food-help-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px}.food-help-heading h2{margin:2px 0 6px}.food-help-heading p{margin:0}.food-help-heading>a{font-weight:900;color:#0a67a8;text-decoration:none;white-space:nowrap}.food-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.food-help-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;padding:18px;border-radius:19px;border:1px solid #eadfca;background:#fff;min-width:0}.food-help-card.mobile{border-color:#cedfe9;background:#fafdff}.food-help-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#fff0ce;font-size:1.55rem}.food-help-card.mobile .food-help-icon{background:#e4f1f8}.food-help-card h3{margin:8px 0 6px}.food-help-card p{margin:0 0 7px;color:#526b7b;line-height:1.48}.food-help-card small{display:block;color:#6d7e89;line-height:1.45}.food-help-status{font-weight:850;color:#1b7156!important}.food-help-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.food-help-actions a{padding:8px 11px;border-radius:999px;background:#edf7f2;color:#126250;text-decoration:none;font-size:.78rem;font-weight:850}.resource-open-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eef3f6;color:#607282;font-size:.69rem;font-weight:900}.resource-open-pill.open,.resource-open-pill.live{background:#dff5e8;color:#147045}.resource-open-pill.closed{background:#f3eef0;color:#735560}.resource-directory-panel{margin-bottom:20px}.resource-directory-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.resource-directory-heading h2{margin:2px 0 6px}.resource-directory-heading p{margin:0}.resource-directory-heading>span{color:#6d7e8b;font-size:.78rem;white-space:nowrap}.resource-search-label{display:block;margin-top:20px;font-size:.8rem;font-weight:900;color:#405d70}.resource-search-wrap{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;margin-top:6px;border:2px solid #bfd3db;border-radius:16px;padding:4px 5px 4px 14px;background:#fff}.resource-search-wrap>span{font-size:1.3rem;color:#607887}.resource-search-wrap input{border:0;outline:0;padding:12px 5px;font:inherit;min-width:0}.resource-search-wrap button{border:0;border-radius:12px;background:#eaf2f5;color:#36596e;padding:9px 12px;font-weight:850;cursor:pointer}.resource-category-filters{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 9px}.resource-category-filters button{border:1px solid #cbdbe1;border-radius:999px;background:#f8fbfc;color:#36566a;padding:8px 11px;font-weight:850;cursor:pointer}.resource-category-filters button.active{background:#0b716c;border-color:#0b716c;color:#fff}.resource-results-count{color:#647886;font-size:.82rem;font-weight:800;margin:8px 0 13px}.resource-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.resource-directory-card{padding:18px;border:1px solid #dbe5e9;border-radius:19px;background:#fff;box-shadow:0 7px 20px rgba(14,57,72,.04);min-width:0}.resource-directory-card[hidden]{display:none}.resource-card-top{display:flex;justify-content:space-between;align-items:center;gap:9px}.resource-card-category{text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;color:#0a746d;font-weight:950}.resource-directory-card h3{margin:9px 0 7px;font-size:1.25rem;overflow-wrap:anywhere}.resource-directory-card>p{color:#536b7a;line-height:1.5;margin:0 0 10px}.resource-status-detail{font-weight:850;color:#226b58!important}.resource-detail-line{display:grid;grid-template-columns:75px minmax(0,1fr);gap:8px;padding:7px 0;border-top:1px solid #edf1f3;font-size:.82rem;min-width:0}.resource-detail-line strong{color:#365568}.resource-detail-line span,.resource-detail-line a{color:#617585;overflow-wrap:anywhere}.resource-card-note{padding:9px 10px;border-radius:11px;background:#fff8e8;color:#725520!important;font-size:.78rem}.resource-card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.resource-card-actions a{padding:8px 10px;border-radius:999px;background:#edf6f4;color:#0b665d;text-decoration:none;font-size:.76rem;font-weight:850}.resource-eligibility{display:block;margin-top:12px;color:#788995;line-height:1.4}.resource-loading{padding:17px;border:1px dashed #cbd9de;border-radius:15px;background:#f9fbfc;color:#677b88}.resource-trust-note{padding:18px 20px;border-radius:17px;background:#eef5f6;color:#476371;margin-bottom:20px}.resource-trust-note strong{color:#163f4e}.resource-trust-note p{margin:5px 0 0;line-height:1.55}
@media(max-width:900px){.community-help-home-grid,.resource-quick-help{grid-template-columns:repeat(2,minmax(0,1fr))}.resources-hero{grid-template-columns:1fr}.resources-hero-art{min-height:145px;flex-direction:row;gap:18px}.resources-hero-art span{font-size:4rem}}
@media(max-width:720px){.community-help-home-heading,.food-help-heading,.resource-directory-heading{flex-direction:column}.community-help-home-heading>a,.food-help-heading>a{white-space:normal}.community-help-home-grid,.food-help-grid,.resource-card-grid{grid-template-columns:1fr}.community-help-home-tools a{width:100%;text-align:center}.resources-hero{padding:25px 20px}.resource-directory-panel{padding:17px}.resource-detail-line{grid-template-columns:68px minmax(0,1fr)}}
@media(max-width:430px){.resource-quick-help{grid-template-columns:1fr}.food-help-card{grid-template-columns:1fr}.resource-category-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.resource-category-filters button{white-space:nowrap}}


/* v124 — Farm Fresh Schuyler */
.farm-fresh-home{margin-top:18px;background:linear-gradient(145deg,#fff 0%,#f4f8e9 52%,#eef7f1 100%);border:1px solid #dce7ce;overflow:hidden}.farm-home-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.farm-home-heading h2{margin:2px 0 6px}.farm-home-heading p{margin:0}.farm-home-heading>a{font-weight:950;color:#49721e;text-decoration:none;white-space:nowrap}.farm-home-body{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(230px,.7fr);gap:14px;margin-top:16px}.farm-home-stops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.farm-home-stop{display:grid;grid-template-columns:44px minmax(0,1fr);gap:11px;padding:13px;border-radius:17px;background:#fff;border:1px solid #dce5d0;color:#203b25;text-decoration:none;min-width:0}.farm-home-stop>span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#eef6df;font-size:1.3rem}.farm-home-stop strong,.farm-home-stop small,.farm-home-stop em{display:block;min-width:0;overflow-wrap:anywhere}.farm-home-stop strong{font-size:.98rem}.farm-home-stop small{margin-top:3px;color:#62755d;font-size:.76rem}.farm-home-stop em{margin-top:5px;color:#4f7a2c;font-style:normal;font-size:.76rem;font-weight:850}.farm-home-side{padding:16px;border-radius:18px;background:#315a2a;color:#fff}.farm-home-side strong{font-size:1.05rem}.farm-home-side p{margin:6px 0 10px;color:#e0eed8;font-size:.82rem}.farm-home-season{display:flex;flex-wrap:wrap;gap:6px}.farm-home-season span{padding:6px 8px;border-radius:999px;background:rgba(255,255,255,.14);font-size:.7rem;font-weight:800}.farm-home-side a{display:inline-flex;margin-top:13px;color:#fff;font-weight:900;text-decoration:none}.farm-home-meta{display:block;margin-top:12px;color:#63765e;font-size:.74rem}
.farm-page-shell{max-width:1180px}.farm-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.65fr);gap:26px;padding:38px;border-radius:29px;background:linear-gradient(135deg,#2f5a28,#527d2c 52%,#8b9d38);color:#fff;box-shadow:0 20px 48px rgba(47,82,33,.24);margin-bottom:18px;overflow:hidden;position:relative}.farm-hero:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.07);right:-120px;top:-120px}.farm-hero .eyebrow{color:#e0f3b9}.farm-hero h1{font-size:clamp(2.65rem,7vw,5.1rem);line-height:.92;letter-spacing:-.055em;margin:8px 0 17px}.farm-hero p{max-width:780px;font-size:1.05rem;line-height:1.65}.farm-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.farm-hero .primary-button{background:#fff;color:#3a6629}.farm-hero .secondary-button{border-color:rgba(255,255,255,.48);color:#fff;background:rgba(255,255,255,.1)}.farm-hero-note{font-size:.78rem!important;color:#e4efd9;margin-top:15px!important}.farm-hero-art{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:245px;border:1px solid rgba(255,255,255,.25);border-radius:24px;background:rgba(255,255,255,.1);z-index:1}.farm-hero-art>span{font-size:5.2rem}.farm-hero-art strong{font-size:1.35rem;line-height:1.2;margin:10px 0}.farm-hero-art small{color:#e7f2d9;max-width:210px}.farm-now-grid{display:grid;grid-template-columns:1.25fr 1fr .8fr;gap:13px;margin-bottom:18px}.farm-now-grid>.card{padding:18px;min-width:0}.farm-mini-kicker{display:block;text-transform:uppercase;letter-spacing:.08em;color:#6c8258;font-size:.67rem;font-weight:950;margin-bottom:8px}.farm-next-market a{display:block;text-decoration:none;color:#244128}.farm-next-market strong{display:block;font-size:1.2rem}.farm-next-market small{display:block;color:#65765f;line-height:1.4;margin-top:6px}.farm-next-status{display:inline-flex;margin-top:8px;padding:6px 9px;border-radius:999px;background:#edf4e5;color:#41662c;font-size:.74rem;font-weight:900}.farm-next-status.open,.farm-next-status.later{background:#dcf3d5;color:#2c6b28}.farm-season-card small{display:block;color:#75826e;margin-top:9px}.farm-season-chips{display:flex;flex-wrap:wrap;gap:7px}.farm-season-chips span{padding:7px 9px;border-radius:999px;background:#f2f6e8;color:#4d692e;font-size:.74rem;font-weight:850}.farm-loop-summary strong{display:block;font-size:1.35rem;color:#345d2c}.farm-loop-summary p{font-size:.82rem;color:#65745f;line-height:1.45}.farm-directory-panel{margin-bottom:18px}.farm-directory-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.farm-directory-heading h2{margin:2px 0 7px}.farm-directory-heading p{margin:0;max-width:750px}.farm-directory-heading>span{font-size:.77rem;color:#6b7a64;white-space:nowrap}.farm-search-wrap{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:18px;border:2px solid #cbd9bc;border-radius:16px;padding:4px 5px 4px 14px;background:#fff}.farm-search-wrap>span{font-size:1.45rem;color:#6d8063}.farm-search-wrap input{border:0;outline:0;min-width:0;padding:12px 4px;font:inherit}.farm-search-wrap button{border:0;border-radius:11px;padding:9px 12px;background:#edf3e6;color:#486238;font-weight:850;cursor:pointer}.farm-filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.farm-filter-row button{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid #cedbc2;border-radius:999px;background:#f9fbf6;color:#445f36;font-weight:850;cursor:pointer}.farm-filter-row button.active{background:#426e2e;color:#fff;border-color:#426e2e}.farm-directory-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0 14px;color:#677761;font-size:.8rem;font-weight:800}.farm-directory-tools label{display:flex;align-items:center;gap:7px}.farm-directory-tools select{border:1px solid #cbd7c1;border-radius:11px;padding:8px 10px;background:#fff;color:#344b2d}.farm-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.farm-directory-card{padding:18px;border:1px solid #dce5d4;border-radius:20px;background:#fff;box-shadow:0 8px 23px rgba(43,72,31,.045);min-width:0}.farm-card-top{display:flex;justify-content:space-between;align-items:center;gap:9px}.farm-type-pill,.farm-verify-pill{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:.67rem;font-weight:950}.farm-type-pill{background:#eef4e7;color:#426032}.farm-verify-pill{background:#f2f4f3;color:#6b746e}.farm-verify-pill.verified{background:#dff3e3;color:#25703c}.farm-verify-pill.official{background:#e3f0f7;color:#27667c}.farm-directory-card h3{margin:10px 0 5px;font-size:1.27rem;overflow-wrap:anywhere}.farm-card-town{margin:0 0 10px;color:#687966;font-size:.79rem;line-height:1.4}.farm-status-line{display:flex;flex-direction:column;padding:10px 11px;border-radius:13px;background:#f4f6f1;color:#667060;margin-bottom:11px}.farm-status-line strong{font-size:.8rem}.farm-status-line span{font-size:.74rem;margin-top:3px}.farm-status-line.open,.farm-status-line.later,.farm-status-line.season{background:#e7f5df;color:#2f6a2c}.farm-status-line.attention{background:#fff0df;color:#8a4d13}.farm-status-line.season-ended{background:#f2eeee;color:#755a5a}.farm-card-summary{color:#536852;line-height:1.5;margin:0 0 11px}.farm-product-chips{display:flex;flex-wrap:wrap;gap:6px}.farm-product-chips span{padding:5px 7px;border-radius:999px;background:#f6f8f2;color:#5a6c52;font-size:.69rem;font-weight:800}.farm-special-note,.farm-card-note{margin:11px 0 0;padding:9px 10px;border-radius:11px;font-size:.75rem;line-height:1.42}.farm-special-note{background:#fff0df;color:#7f4c1d;font-weight:850}.farm-card-note{background:#f7f8f5;color:#677461}.farm-card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.farm-card-actions a,.farm-card-actions button{border:0;border-radius:999px;padding:8px 10px;background:#edf4e7;color:#3e642e;text-decoration:none;font-size:.74rem;font-weight:900;cursor:pointer}.farm-card-actions .farm-save-button{background:#315e2b;color:#fff}.farm-card-actions .farm-save-button.saved{background:#e2efdc;color:#35622f}.farm-empty,.farm-loading-card{grid-column:1/-1;padding:20px;border:1px dashed #cad8bf;border-radius:16px;background:#fafcf8;color:#687763}.farm-trust-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:18px}.farm-trust-grid>.card{padding:20px}.farm-source-panel{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:18px;margin-bottom:20px}.farm-source-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.farm-source-list a{display:flex;flex-direction:column;padding:12px;border:1px solid #dce5d5;border-radius:14px;text-decoration:none;color:#2e4c29;background:#fbfcfa}.farm-source-list span{font-size:.72rem;color:#6a7a65;margin-top:4px;line-height:1.35}.farm-loop-modal[hidden]{display:none}.farm-loop-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:16px}.farm-loop-backdrop{position:absolute;inset:0;background:rgba(10,25,13,.65);backdrop-filter:blur(4px)}.farm-loop-dialog{position:relative;width:min(650px,100%);max-height:90vh;overflow:auto;border-radius:24px;background:#fff;padding:25px;box-shadow:0 25px 80px rgba(0,0,0,.34)}.farm-loop-close{position:absolute;right:13px;top:12px;border:0;background:#edf2e9;border-radius:50%;width:36px;height:36px;font-size:1.3rem;cursor:pointer}.farm-loop-list{display:grid;gap:8px;margin:16px 0}.farm-loop-list article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid #dce6d5;border-radius:14px}.farm-loop-list article>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#416e2f;color:#fff;font-weight:950}.farm-loop-list strong,.farm-loop-list small{display:block}.farm-loop-list small{color:#6b7867;margin-top:3px}.farm-loop-list button{border:0;background:#f3eeee;color:#795252;border-radius:999px;padding:7px 9px;font-weight:800;cursor:pointer}.farm-loop-actions{display:flex;gap:9px;flex-wrap:wrap}.farm-loop-empty{padding:16px;border-radius:13px;background:#f6f8f4;color:#677463}.modal-open{overflow:hidden}
@media(max-width:920px){.farm-hero,.farm-source-panel{grid-template-columns:1fr}.farm-hero-art{min-height:150px;flex-direction:row;gap:18px}.farm-now-grid{grid-template-columns:1fr 1fr}.farm-loop-summary{grid-column:1/-1}.farm-home-body{grid-template-columns:1fr}.farm-home-side{display:grid;grid-template-columns:minmax(0,1fr) 1fr;gap:12px;align-items:start}}
@media(max-width:700px){.farm-home-heading,.farm-directory-heading{flex-direction:column}.farm-home-heading>a{white-space:normal}.farm-home-stops,.farm-card-grid,.farm-trust-grid,.farm-source-list{grid-template-columns:1fr}.farm-now-grid{grid-template-columns:1fr}.farm-loop-summary{grid-column:auto}.farm-hero{padding:27px 20px}.farm-directory-panel{padding:17px}.farm-filter-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.farm-filter-row button{white-space:nowrap}.farm-directory-tools{align-items:flex-start;flex-direction:column}.farm-home-side{grid-template-columns:1fr}}
@media(max-width:430px){.farm-hero h1{font-size:2.7rem}.farm-card-top{align-items:flex-start;flex-direction:column}.farm-card-actions a,.farm-card-actions button{flex:1;text-align:center}.farm-loop-dialog{padding:22px 16px}.farm-loop-list article{grid-template-columns:30px minmax(0,1fr)}.farm-loop-list article button{grid-column:2;justify-self:start}}


/* v125 — one unified Schuyler Now dashboard; audience mode controls retired. */
.mode-buttons, .mode-hint, .tourist-quick-panel, .daily-plan-card-home { display: none !important; }


/* v126 — restore Community Help and add Farm Sanctuary sheep barn live cam. */
.farm-sanctuary-home{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);gap:20px;align-items:stretch;margin-top:18px;padding:0;overflow:hidden;background:linear-gradient(145deg,#f8fbf1,#fff)}
.farm-sanctuary-player,.farm-cam-feature-player,.farm-cam-large{position:relative;aspect-ratio:16/9;background:#172417;overflow:hidden}
.farm-sanctuary-player iframe,.farm-cam-feature-player iframe,.farm-cam-large iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.farm-sanctuary-copy{padding:24px 22px 22px 0;align-self:center;min-width:0}.farm-sanctuary-copy h2,.farm-cam-feature-copy h2{margin:4px 0 8px;color:#274c28}.farm-sanctuary-copy>p,.farm-cam-feature-copy>p{color:#536b56;line-height:1.55}.farm-sanctuary-copy small{display:block;margin-top:13px;color:#718073;line-height:1.4}
.farm-sanctuary-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.farm-sanctuary-title-row .eyebrow{margin:0}.farm-sanctuary-meta{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.farm-sanctuary-meta span{padding:6px 9px;border-radius:999px;background:#eaf3df;border:1px solid #d7e5c9;color:#42633d;font-size:.72rem;font-weight:850}
.farm-cam-feature{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.9fr);gap:20px;padding:0;overflow:hidden;margin:18px 0;background:linear-gradient(145deg,#fff,#f3f8eb)}.farm-cam-feature-copy{padding:23px 22px 22px 0;align-self:center;min-width:0}
.farm-sanctuary-cam-shell{max-width:1180px}.farm-cam-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:28px;margin:22px 0 15px;border-radius:24px;background:linear-gradient(135deg,#315a2a,#153e36);color:#fff}.farm-cam-hero h1{margin:3px 0 8px;font-size:clamp(2rem,5vw,3.4rem)}.farm-cam-hero p{max-width:760px;margin:0;color:#e6f1df;line-height:1.55}.farm-cam-hero .eyebrow{color:#cce8b8}.farm-cam-watch-card{padding:0;overflow:hidden}.farm-cam-large{width:100%;aspect-ratio:16/9}.farm-cam-watch-meta{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px}.farm-cam-watch-meta strong,.farm-cam-watch-meta span{display:block}.farm-cam-watch-meta span{margin-top:3px;color:#627369;font-size:.82rem}.farm-cam-watch-meta .card-actions{margin:0}.farm-cam-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.farm-cam-info-grid h2{margin:4px 0 7px}.farm-cam-info-grid p{color:#5d6f64;line-height:1.55}.farm-cam-credit{margin:14px 4px 30px}
@media(max-width:900px){.farm-sanctuary-home,.farm-cam-feature{grid-template-columns:1fr}.farm-sanctuary-copy,.farm-cam-feature-copy{padding:18px}.farm-cam-watch-meta{align-items:flex-start;flex-direction:column}.farm-cam-info-grid{grid-template-columns:1fr}}
@media(max-width:620px){.farm-sanctuary-title-row,.farm-cam-hero{flex-direction:column}.farm-cam-hero{padding:22px}.farm-sanctuary-home,.farm-cam-feature{border-radius:18px}.farm-sanctuary-copy,.farm-cam-feature-copy{padding:17px}.farm-cam-watch-meta{padding:15px}.farm-cam-watch-meta .card-actions a{width:100%}}

/* v128 Watkins Glen traffic congestion index */
.traffic-index-home{--traffic-score:0;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(250px,.8fr);gap:22px;align-items:center;margin-top:22px;overflow:hidden;position:relative;background:linear-gradient(135deg,#f7fbff 0%,#fff 62%,#f3f8fd 100%)}
.traffic-index-home:before{content:"";position:absolute;inset:0 auto 0 0;width:7px;background:linear-gradient(180deg,#1f75bd,#0d3c71)}
.traffic-index-home-main{display:flex;align-items:center;gap:20px;min-width:0}.traffic-index-home-copy{min-width:0}.traffic-index-home-copy h2{margin:2px 0 7px}.traffic-index-home-copy p{margin:0 0 8px;line-height:1.5}.traffic-index-home-copy small{display:block;color:#68778a}
.traffic-home-gauge,.traffic-page-gauge{--traffic-score:0;position:relative;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:conic-gradient(#166db3 calc(var(--traffic-score)*1%),#dfe9f2 0);box-shadow:0 10px 30px rgba(8,53,101,.12)}
.traffic-home-gauge{width:112px;height:112px}.traffic-page-gauge{width:190px;height:190px}
.traffic-home-gauge:after,.traffic-page-gauge:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #e1e9f1}.traffic-home-gauge>div,.traffic-page-gauge>div{position:relative;z-index:1;display:flex;flex-direction:column;text-align:center}.traffic-home-gauge strong{font-size:2rem;line-height:1}.traffic-page-gauge strong{font-size:3.4rem;line-height:1}.traffic-home-gauge span,.traffic-page-gauge span{font-size:.72rem;color:#6b7a8d;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.traffic-level-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;font-size:.75rem;font-weight:800;white-space:nowrap;background:#e9eef3;color:#425268}.traffic-level-badge.quiet{background:#e6f5ee;color:#137047}.traffic-level-badge.normal{background:#e7f1fb;color:#145f9d}.traffic-level-badge.busy{background:#fff4d7;color:#865d00}.traffic-level-badge.very-busy{background:#ffe4cf;color:#9a4500}.traffic-level-badge.gridlocked{background:#fde3e3;color:#a42424}.traffic-level-badge.setup-needed,.traffic-level-badge.unavailable,.traffic-level-badge.loading{background:#eef1f4;color:#596675}
.traffic-index-home-side{border-left:1px solid #dfe8f0;padding-left:22px;display:flex;flex-direction:column;gap:15px;min-width:0}.traffic-index-home-side>div{display:flex;flex-direction:column;gap:5px}.traffic-index-home-side span{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:#718094;font-weight:800}.traffic-index-home-side strong{font-size:1.02rem;overflow-wrap:anywhere}.traffic-index-home-side small{color:#68778a}.traffic-index-home-side a{font-weight:800;color:#0b5a9d;text-decoration:none}
.traffic-page-shell{max-width:1180px;margin:0 auto;padding:24px 18px 60px}.traffic-page-hero{--traffic-score:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:30px;align-items:center;background:linear-gradient(135deg,#f4f9fd,#fff 65%);padding:30px}.traffic-page-hero-copy{min-width:0}.traffic-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.traffic-title-row h1{margin:0}.traffic-page-hero-copy>p{max-width:760px;line-height:1.55}.traffic-page-stats{display:flex;gap:10px;flex-wrap:wrap;margin:17px 0}.traffic-page-stats span{background:#eff5fa;border:1px solid #dae6ef;border-radius:12px;padding:10px 12px;font-size:.83rem;color:#536477}.traffic-page-stats strong{color:#133f68}.traffic-hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.traffic-page-grid{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:20px;margin:20px 0}.traffic-heaviest-card h2{margin:5px 0 8px;overflow-wrap:anywhere}.traffic-heaviest-card p:last-child{color:#667689;line-height:1.5}.traffic-history-card{min-width:0}.traffic-history-chart{min-height:145px;display:flex;flex-direction:column;justify-content:center;color:#718094}.traffic-history-chart svg{width:100%;height:145px;overflow:visible}.traffic-history-chart svg line{stroke:#d8e2eb;stroke-width:1}.traffic-history-chart svg polyline{fill:none;stroke:#176daf;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.traffic-history-labels{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;font-size:.72rem;color:#738194}.traffic-history-labels span:last-child{text-align:right}.traffic-history-labels strong{text-align:center;color:#174c79}
.traffic-routes-card{margin-bottom:20px}.traffic-route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.traffic-route-card{border:1px solid #dfe7ee;border-radius:16px;padding:15px;background:#fff;min-width:0}.traffic-route-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.traffic-route-card-top>div{min-width:0}.traffic-route-card-top span{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#6b7b8e;font-weight:800}.traffic-route-card-top h3{margin:4px 0 3px;font-size:1rem;overflow-wrap:anywhere}.traffic-route-card-top small{color:#718094}.traffic-route-card-top>strong{border-radius:12px;min-width:42px;padding:9px;text-align:center;background:#edf3f8;color:#144d7a}.traffic-route-card.quiet .traffic-route-card-top>strong{background:#e5f4ec;color:#176b48}.traffic-route-card.busy .traffic-route-card-top>strong{background:#fff1ce;color:#805800}.traffic-route-card.very-busy .traffic-route-card-top>strong{background:#ffe1c9;color:#974000}.traffic-route-card.gridlocked .traffic-route-card-top>strong{background:#f9dddd;color:#a12121}
.traffic-route-times{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.traffic-route-times span{display:flex;flex-direction:column;border-radius:10px;background:#f6f8fa;padding:8px;min-width:0}.traffic-route-times small{font-size:.66rem;text-transform:uppercase;color:#7a8797;font-weight:800}.traffic-route-times b{font-size:.82rem;overflow-wrap:anywhere}.traffic-route-meter{height:6px;background:#e5ebf0;border-radius:999px;overflow:hidden}.traffic-route-meter i{display:block;height:100%;border-radius:inherit;background:#1b72b5}.traffic-route-card.busy .traffic-route-meter i{background:#d39a17}.traffic-route-card.very-busy .traffic-route-meter i{background:#e57722}.traffic-route-card.gridlocked .traffic-route-meter i{background:#c63e3e}.traffic-route-loading,.traffic-route-empty{grid-column:1/-1;border:1px dashed #cbd8e3;border-radius:14px;padding:22px;color:#68778a;text-align:center}.traffic-route-empty strong{display:block;color:#34465a;margin-bottom:5px}
.traffic-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.traffic-method-grid p{line-height:1.6}.traffic-scale{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.traffic-scale span{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;background:#f3f6f8;border-radius:999px;padding:6px 9px}.traffic-scale i{width:8px;height:8px;border-radius:50%;background:#1a76b9}.traffic-scale span:nth-child(2) i{background:#438bc0}.traffic-scale span:nth-child(3) i{background:#d69a17}.traffic-scale span:nth-child(4) i{background:#e47621}.traffic-scale span:nth-child(5) i{background:#c73a3a}.traffic-admin-steps{padding-left:20px;line-height:1.65}.traffic-admin-steps li+li{margin-top:6px}
@media(max-width:800px){.traffic-index-home{grid-template-columns:1fr}.traffic-index-home-side{border-left:0;border-top:1px solid #dfe8f0;padding:16px 0 0}.traffic-page-hero{grid-template-columns:1fr;text-align:center}.traffic-page-gauge{margin:auto}.traffic-title-row,.traffic-hero-actions,.traffic-page-stats{justify-content:center}.traffic-page-grid,.traffic-method-grid{grid-template-columns:1fr}.traffic-route-grid{grid-template-columns:1fr}}
@media(max-width:520px){.traffic-index-home-main{align-items:flex-start}.traffic-home-gauge{width:88px;height:88px}.traffic-home-gauge strong{font-size:1.6rem}.traffic-page-hero{padding:22px 16px}.traffic-page-gauge{width:160px;height:160px}.traffic-route-times{grid-template-columns:1fr}.traffic-route-times span{flex-direction:row;justify-content:space-between;gap:8px}}

/* v129 Mapbox request safety dashboard */
.traffic-safety-ok{color:#187044!important}.traffic-safety-warning{color:#9a4b00!important}.traffic-usage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 10px}.traffic-usage-grid article{border:1px solid #dce6ef;border-radius:14px;background:#f8fbfd;padding:14px;min-width:0}.traffic-usage-grid article>span,.traffic-usage-grid article>small{display:block;color:#68798b}.traffic-usage-grid article>span{font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.055em}.traffic-usage-grid article>strong{display:block;font-size:1.75rem;line-height:1.1;margin:5px 0 3px;color:#123f67;overflow-wrap:anywhere}.traffic-usage-grid article>small{font-size:.75rem}.traffic-usage-grid article>i{display:block;height:6px;border-radius:999px;background:linear-gradient(90deg,#1973b6 var(--usage),#dce7ef var(--usage));margin-top:10px}.traffic-usage-grid.compact article>strong{font-size:1.5rem}.traffic-usage-grid.compact{margin-bottom:5px}@media(max-width:780px){.traffic-usage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:440px){.traffic-usage-grid{grid-template-columns:1fr 1fr;gap:8px}.traffic-usage-grid article{padding:11px}.traffic-usage-grid article>strong{font-size:1.35rem}}

/* v130 mobile containment fixes: traffic and live music homepage cards */
.traffic-index-shell,
.traffic-index-home,
.traffic-index-home-main,
.traffic-index-home-copy,
.traffic-index-home-side,
.music-home-card,
.music-home-heading,
.music-home-heading > div,
.music-home-list,
.music-home-tools {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.traffic-index-home {
  padding: 22px 24px;
}
.traffic-index-home-copy,
.traffic-index-home-copy p,
.traffic-index-home-copy small,
.traffic-title-row,
.traffic-title-row h2,
.traffic-index-home-side,
.traffic-index-home-side span,
.traffic-index-home-side strong,
.traffic-index-home-side small,
.traffic-index-home-side a,
.music-home-card,
.music-home-card p,
.music-home-card h2,
.music-home-card span,
.music-home-card a {
  overflow-wrap: anywhere;
  word-break: normal;
  white-space: normal;
}
.music-home-card {
  padding: 22px 24px;
}
.music-home-heading {
  width: 100%;
}
.music-home-heading > div {
  flex: 1 1 auto;
}
.music-home-all {
  flex: 0 1 auto;
  text-align: right;
}
@media (max-width: 520px) {
  .traffic-index-home {
    padding: 18px 16px 17px 20px;
    gap: 16px;
  }
  .traffic-index-home-main {
    display: grid;
    grid-template-columns: 72px minmax(0,1fr);
    gap: 12px;
    align-items: start;
    width: 100%;
  }
  .traffic-home-gauge {
    width: 72px;
    height: 72px;
  }
  .traffic-home-gauge:after {
    inset: 8px;
  }
  .traffic-home-gauge strong {
    font-size: 1.45rem;
  }
  .traffic-home-gauge span {
    font-size: .62rem;
  }
  .traffic-title-row {
    align-items: flex-start;
    gap: 7px;
  }
  .traffic-title-row h2 {
    font-size: 1.18rem;
    line-height: 1.18;
    flex: 1 1 150px;
  }
  .traffic-level-badge {
    padding: 5px 8px;
    font-size: .68rem;
  }
  .traffic-index-home-copy p {
    font-size: .92rem;
    line-height: 1.42;
  }
  .traffic-index-home-copy small {
    font-size: .78rem;
    line-height: 1.4;
  }
  .traffic-index-home-side {
    padding-top: 14px;
  }
  .traffic-index-home-side strong {
    font-size: .98rem;
    line-height: 1.35;
  }
  .traffic-index-home-side a {
    display: inline-block;
    max-width: 100%;
  }
  .music-home-card {
    padding: 19px 16px;
  }
  .music-home-heading {
    gap: 12px;
    margin-bottom: 14px;
  }
  .music-home-heading h2 {
    font-size: 1.22rem;
    line-height: 1.25;
  }
  .music-home-heading p {
    line-height: 1.45;
  }
  .music-home-all {
    text-align: left;
    width: 100%;
  }
  .music-home-status {
    max-width: 100%;
    line-height: 1.3;
  }
  .music-home-tools {
    width: 100%;
  }
}

/* v131 site-wide mobile containment and card-padding hardening */
html, body { max-width: 100%; overflow-x: hidden; }
main, section, article, aside, div, nav, header, footer, form, label { min-width: 0; }
h1, h2, h3, h4, p, a, span, strong, small, em, li, td, th, button, label {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  white-space: normal;
}
img, iframe, video, svg, canvas { max-width: 100%; }

/* Cards whose visual backgrounds previously had no content inset. */
.farm-fresh-home,
.community-help-home,
.jobs-board-card,
.traffic-heaviest-card,
.traffic-routes-card,
.traffic-method-grid > .card,
.food-help-feature,
.resource-directory-panel,
.source-policy-card {
  padding: 20px;
  box-sizing: border-box;
}

/* Preserve full-bleed art while giving history copy a safe inset. */
.history-feature-card > div:last-child { padding: 20px 20px 20px 0; min-width: 0; }
.history-page > .card:not(.history-feature-card) > .source-note { padding-inline: 18px; }

/* Generated job cards use a padded heading but previously left body copy flush to the edge. */
.job-listing-card > p,
.job-listing-card > ul { margin-left: 0; margin-right: 0; padding-left: 20px; padding-right: 20px; box-sizing: border-box; }
.job-listing-card > .card-link { margin-left: 2px; }

/* Traffic detail content containment. */
.traffic-page-grid > *,
.traffic-method-grid > *,
.traffic-route-grid > * { min-width: 0; }
.traffic-routes-card > .card-heading { padding: 0 0 14px; }
.traffic-routes-card .traffic-route-grid { width: 100%; }
.traffic-history-card .traffic-history-chart { padding: 0 18px 16px; box-sizing: border-box; }
.traffic-history-card .card-heading { padding-left: 18px; padding-right: 18px; }

/* Resource page sections. */
.food-help-heading,
.resource-directory-heading { min-width: 0; }
.food-help-grid,
.resource-card-grid { min-width: 0; }

@media (max-width: 720px) {
  .dashboard-shell,
  .page-shell,
  .traffic-page-shell,
  .resources-page-shell,
  .farm-page-shell { width: 100%; max-width: 100%; box-sizing: border-box; }

  .farm-fresh-home,
  .community-help-home,
  .jobs-board-card,
  .traffic-heaviest-card,
  .traffic-routes-card,
  .traffic-method-grid > .card,
  .food-help-feature,
  .resource-directory-panel,
  .source-policy-card { padding: 18px 16px; }

  .farm-home-heading,
  .community-help-home-heading,
  .food-help-heading,
  .resource-directory-heading { width: 100%; }

  .farm-home-heading > div,
  .community-help-home-heading > div,
  .food-help-heading > div,
  .resource-directory-heading > div { width: 100%; min-width: 0; }

  .farm-home-heading > a,
  .community-help-home-heading > a,
  .food-help-heading > a { display: inline-block; width: auto; max-width: 100%; }

  .lower-extras-heading { padding-left: 2px; padding-right: 2px; }
  .lower-community-extras .jobs-board-card,
  .lower-community-extras .photo-of-day-card,
  .lower-community-extras .time-machine-card { width: 100%; max-width: 100%; }

  .history-feature-card { gap: 0; }
  .history-feature-card > div:last-child { padding: 18px 16px 20px; }
  .history-page > .card:not(.history-feature-card) > .source-note { padding-inline: 16px; }
  .history-grid { padding-left: 16px; padding-right: 16px; }
  .history-card { min-width: 0; }

  .job-listing-card > p,
  .job-listing-card > ul { padding-left: 16px; padding-right: 16px; }
  .job-listing-card .card-heading { align-items: flex-start; }
  .job-listing-card .alert-pill { flex: 0 0 auto; }

  .traffic-page-grid { grid-template-columns: 1fr; }
  .traffic-method-grid { grid-template-columns: 1fr; }
  .traffic-page-hero { padding: 24px 18px; }
  .traffic-page-hero-copy,
  .traffic-page-hero-copy > *,
  .traffic-title-row,
  .traffic-page-stats,
  .traffic-hero-actions { width: 100%; min-width: 0; }
  .traffic-hero-actions .action-button { flex: 1 1 160px; min-width: 0; }
  .traffic-heaviest-card h2 { font-size: 1.25rem; line-height: 1.28; }
  .traffic-route-grid { grid-template-columns: 1fr; }
  .traffic-route-card-top { min-width: 0; }
  .traffic-route-card-top > div { flex: 1 1 auto; min-width: 0; }
  .traffic-route-card-top > strong { flex: 0 0 auto; }
  .traffic-scale { display: flex; flex-wrap: wrap; gap: 8px; }
  .traffic-scale span { min-width: 0; }

  .resource-quick-help,
  .food-help-grid,
  .resource-card-grid { width: 100%; max-width: 100%; }
  .resource-card,
  .food-help-card,
  .resource-quick-help article { min-width: 0; }

  .eyebrow { line-height: 1.35; }
  .card-actions { max-width: 100%; }
  .card-actions > a,
  .card-actions > button { min-width: 0; }
}

@media (max-width: 390px) {
  .traffic-page-hero { padding-left: 14px; padding-right: 14px; }
  .traffic-title-row h1 { font-size: 1.75rem; }
  .traffic-page-stats span { width: 100%; text-align: center; }
  .traffic-hero-actions .action-button { width: 100%; flex-basis: 100%; }
}


/* v139: clarify lower homepage card content boundaries on phones.
   Keep the approved photo/history artwork full-width while safely insetting all text. */
.photo-of-day-card > div:last-child,
.time-machine-card > div:last-child {
  min-width: 0;
  max-width: 100%;
  padding: 20px;
  box-sizing: border-box;
}
.photo-of-day-card > div:last-child > *,
.time-machine-card > div:last-child > * {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  white-space: normal;
}
.photo-of-day-card > div:last-child .card-link,
.time-machine-card > div:last-child .card-link {
  padding-left: 0;
  padding-right: 0;
  margin-right: 22px;
}
@media (max-width: 720px) {
  .photo-of-day-card > div:last-child,
  .time-machine-card > div:last-child {
    padding: 18px 16px 20px;
  }
  .photo-of-day-card .photo-kicker,
  .time-machine-card .photo-kicker {
    display: block;
    line-height: 1.35;
  }
}


/* v140: Live Music cards need real internal padding. The generic .card shell
   intentionally has no padding, so the calendar eyebrow and controls were
   being clipped by the rounded card's overflow on narrow screens. */
.music-calendar-panel,
.music-source-panel {
  padding: 20px;
  box-sizing: border-box;
}
.music-calendar-panel > *,
.music-source-panel > *,
.music-calendar-heading,
.music-calendar-heading > div,
.music-filter-bar,
.music-window-buttons,
.music-venue-select {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.music-calendar-heading .eyebrow,
.music-calendar-heading h2,
.music-calendar-heading > a,
.music-window-buttons button,
.music-venue-select span,
.music-venue-select select {
  overflow-wrap: anywhere;
  word-break: normal;
  white-space: normal;
}
.music-calendar-heading > a {
  flex: 0 1 auto;
}
.music-live-bar > div,
.music-live-bar > div > strong {
  min-width: 0;
  max-width: 100%;
}
.music-live-bar > div > strong {
  overflow-wrap: anywhere;
  word-break: normal;
  white-space: normal;
}
@media (max-width: 760px) {
  .music-calendar-panel,
  .music-source-panel {
    padding: 18px 16px 20px;
  }
  .music-calendar-heading {
    width: 100%;
    gap: 12px;
  }
  .music-calendar-heading > div,
  .music-calendar-heading > a,
  .music-filter-bar,
  .music-window-buttons,
  .music-venue-select,
  .music-venue-select select {
    width: 100%;
  }
  .music-window-buttons button {
    flex: 1 1 auto;
    min-width: 0;
  }
}

.music-live-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 100%;
  line-height: 1.3;
}
.music-live-copy strong,
.music-live-copy small {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  white-space: normal;
}
.music-live-copy small {
  margin-top: 3px;
  color: #62788b;
  font-size: .76rem;
  font-weight: 700;
}


/* v141: Weather/AQI stack and live Air Quality Index card. */
.daily-weather-stack {
  display: grid;
  gap: 14px;
  min-width: 0;
  align-content: start;
}
.daily-weather-stack > * { min-width: 0; }
.air-quality-card {
  --aqi-accent: #718096;
  --aqi-soft: #eef2f5;
  border-top: 5px solid var(--aqi-accent);
  padding-top: 13px;
}
.air-quality-card.aqi-good { --aqi-accent:#2ca86f; --aqi-soft:#e9f8f0; }
.air-quality-card.aqi-moderate { --aqi-accent:#d9a20b; --aqi-soft:#fff7d9; }
.air-quality-card.aqi-sensitive { --aqi-accent:#ea7a24; --aqi-soft:#fff0e4; }
.air-quality-card.aqi-unhealthy { --aqi-accent:#d8444c; --aqi-soft:#fdebec; }
.air-quality-card.aqi-very-unhealthy { --aqi-accent:#7f3f98; --aqi-soft:#f3eafa; }
.air-quality-card.aqi-hazardous { --aqi-accent:#7b2638; --aqi-soft:#f4e7ea; }
.air-quality-card.aqi-unavailable { --aqi-accent:#718096; --aqi-soft:#eef2f5; }
.aqi-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 62%;
  padding: 5px 9px;
  border-radius: 999px;
  background: var(--aqi-soft);
  color: #20364a;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 900;
  text-align: center;
}
.aqi-main {
  display: grid;
  grid-template-columns: 92px minmax(0,1fr);
  gap: 14px;
  align-items: center;
  min-width: 0;
  margin-top: 2px;
}
.aqi-number {
  min-height: 94px;
  display: grid;
  place-content: center;
  text-align: center;
  border-radius: 16px;
  background: var(--aqi-soft);
  border: 1px solid color-mix(in srgb, var(--aqi-accent) 35%, white);
}
.aqi-number span { color:#53697d; font-size:11px; font-weight:900; letter-spacing:.08em; }
.aqi-number strong { color:var(--aqi-accent); font-size:42px; line-height:1; margin-top:5px; }
.aqi-summary { min-width:0; }
.aqi-summary > strong { display:block; color:#123b61; font-size:18px; line-height:1.2; }
.aqi-summary p { min-height:0; margin:6px 0; color:#40586d; font-size:13px; line-height:1.4; }
.aqi-summary > span { display:block; color:#5b7083; font-size:12px; font-weight:800; }
.aqi-metrics {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:14px;
}
.aqi-metrics > span {
  min-width:0;
  border:1px solid var(--line);
  border-radius:12px;
  padding:9px 8px;
  background:#f8fbfd;
}
.aqi-metrics small,
.aqi-metrics strong { display:block; min-width:0; overflow-wrap:anywhere; }
.aqi-metrics small { color:#657b8f; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
.aqi-metrics strong { margin-top:3px; color:#173d60; font-size:12px; line-height:1.25; }
.air-quality-card .source-note { margin:12px 0 0; font-size:11px; line-height:1.4; }
.air-quality-card .card-link { padding-left:0; padding-right:0; padding-bottom:0; }
@media (max-width: 420px) {
  .aqi-main { grid-template-columns:82px minmax(0,1fr); gap:11px; }
  .aqi-number { min-height:88px; }
  .aqi-number strong { font-size:38px; }
  .aqi-pill { max-width:58%; }
  .aqi-metrics { grid-template-columns:1fr 1fr; }
  .aqi-metrics > span:last-child { grid-column:1 / -1; }
}

/* v143: high-contrast Stay Connected / subscribe hero */
.subscribe-page .page-hero {
  background: linear-gradient(135deg, #083565 0%, #0b67c7 100%);
  color: #ffffff;
}
.subscribe-page .page-hero .eyebrow,
.subscribe-page .page-hero .eyebrow.blue {
  color: #bfe4ff !important;
}
.subscribe-page .page-hero h1,
.subscribe-page .page-hero.compact h1 {
  color: #ffffff !important;
  text-shadow: 0 1px 1px rgba(0, 25, 55, .22);
}
.subscribe-page .page-hero p:not(.eyebrow) {
  color: #eaf5ff !important;
  font-weight: 750;
  line-height: 1.55;
}
.subscribe-page .page-actions .action-button {
  color: #ffffff !important;
}
@media (max-width: 640px) {
  .subscribe-page .page-hero { padding: 24px 18px; }
  .subscribe-page .page-actions .action-button { width: 100%; }
}


/* v144 — homepage hierarchy: Live & Urgent, Today, Things to Do, Explore, Help, and More. */
.home-zone,
.home-zone * {
  box-sizing: border-box;
}
.home-zone {
  max-width: 1320px;
  margin: 20px auto 0;
  padding: 0 12px;
  min-width: 0;
}
.home-zone-heading {
  display: grid;
  gap: 4px;
  margin: 0 2px 13px;
  min-width: 0;
}
.home-zone-kicker {
  margin: 0;
  color: #0b67c7;
  font-size: .75rem;
  font-weight: 950;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.home-zone-heading h2 {
  margin: 0;
  color: #083565;
  font-size: clamp(1.65rem,3vw,2.25rem);
  line-height: 1.08;
  letter-spacing: -.025em;
}
.home-zone-heading > p:last-child {
  max-width: 900px;
  margin: 1px 0 0;
  color: #5d7184;
  font-weight: 720;
  line-height: 1.45;
}
.live-urgent-zone {
  padding-top: 2px;
}
.live-urgent-zone > .home-zone-heading {
  padding: 16px 18px;
  border: 1px solid #cfe0ef;
  border-radius: 18px;
  background: linear-gradient(135deg,#f4faff,#fff);
  box-shadow: 0 7px 22px rgba(8,46,82,.055);
}
.urgent-traffic-wrap,
.urgent-layout,
.urgent-primary-stack,
.urgent-community-stack,
.today-priority-grid,
.today-info-grid,
.things-top-grid,
.live-views-zone .home-live-row {
  min-width: 0;
  max-width: 100%;
}
.urgent-traffic-wrap .traffic-index-home {
  margin: 0;
}
.urgent-layout {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 14px;
  align-items: start;
  margin-top: 14px;
}
.urgent-primary-stack,
.urgent-community-stack {
  display: grid;
  gap: 14px;
  align-content: start;
}
.urgent-primary-stack > *,
.urgent-community-stack > * {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0 !important;
}
.urgent-road-card {
  border-top: 5px solid #e98518;
  padding-top: 13px;
}
.urgent-card-title-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}
.urgent-card-title-row h2,
.urgent-card-title-row p {
  margin: 0;
}
.urgent-live-pill {
  flex: none;
  border-radius: 999px;
  padding: 5px 9px;
  background: #e7f4ff;
  color: #075da9;
  font-size: 11px;
  font-weight: 950;
}
.urgent-road-count {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 13px;
  margin: 15px 0 9px;
  min-width: 0;
}
.urgent-road-count strong {
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  border-radius: 18px;
  background: #fff1df;
  color: #a65300;
  font-size: 2rem;
}
.urgent-road-count span,
.urgent-road-card > p {
  min-width: 0;
  color: #526a7e;
  font-weight: 750;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.urgent-card-intro {
  margin: 5px 0 11px;
}
.urgent-county-card .county-alert-list,
.urgent-school-card .school-footer-list {
  margin-top: 10px;
}
.urgent-county-card .county-alert-item {
  background: #f7fbff;
  border-color: #dbe8f2;
  color: #183d5f;
}
.urgent-county-card .county-alert-item:hover {
  background: #edf7ff;
}
.urgent-county-card .county-alert-status-row.ok {
  background: #edf9f1 !important;
  border-color: #bee4ca !important;
}
.urgent-county-card .county-alert-status-row.emergency {
  background: #fff0f1 !important;
  border-color: #efb8bc !important;
}
.urgent-school-card .school-footer-row {
  grid-template-columns: minmax(0,1fr) auto;
  gap: 8px;
  padding: 2px 0;
}
.urgent-school-card .school-footer-row a {
  border-radius: 10px;
  padding: 8px 10px;
  text-decoration: none;
}
.urgent-school-card .school-footer-feed-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
  border: 1px solid #d9e7f1;
  background: #f6faff;
  color: #123f67;
}
.urgent-school-card .school-footer-feed-link span {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
.urgent-school-card .school-footer-feed-link em {
  flex: none;
  color: #0b67c7;
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
}
.urgent-school-card .school-footer-site-link {
  display: inline-flex;
  justify-content: center;
  white-space: nowrap;
  border: 1px solid #c8ddec;
  color: #0b67c7;
  font-size: 11px;
  font-weight: 950;
}
.today-priority-grid {
  display: grid;
  grid-template-columns: minmax(0,1.12fr) minmax(330px,.88fr);
  gap: 14px;
  align-items: start;
}
.today-priority-grid > * {
  min-width: 0;
  margin: 0;
}
.today-priority-grid .daily-briefing-panel {
  grid-template-columns: 1fr;
  align-items: start;
  margin: 0;
}
.today-priority-grid .briefing-panel-actions {
  justify-content: flex-start;
}
.today-info-grid {
  margin-top: 14px;
}
.live-views-zone .home-live-row {
  margin: 0;
  padding: 0;
}
.things-top-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
  align-items: start;
}
.things-top-grid > .card {
  min-width: 0;
}
.things-zone > .music-home-card,
.things-zone > .library-home-card,
.explore-zone > [data-section="explore"],
.explore-zone > .farm-fresh-home,
.explore-zone > .farm-sanctuary-home {
  margin-top: 14px;
}
.explore-zone .feature-row {
  display: block;
}
.compact-home-cam .farm-sanctuary-player {
  max-height: 300px;
}
.compact-home-cam .farm-sanctuary-copy {
  padding-top: 18px;
  padding-bottom: 18px;
}
.help-zone .community-help-home,
.more-zone .lower-community-extras {
  margin-top: 0;
}
.more-zone .lower-extras-heading {
  display: none;
}
.bottom-grid.bottom-grid-compact {
  grid-template-columns: repeat(2,minmax(0,1fr));
  max-width: 1000px;
}
.future-sponsor-anchor[hidden] {
  display: none !important;
}
@media (max-width: 980px) {
  .urgent-layout,
  .today-priority-grid {
    grid-template-columns: 1fr;
  }
  .today-priority-grid .active-card { order: 1; }
  .today-priority-grid .daily-briefing-panel { order: 2; }
}
@media (max-width: 760px) {
  .home-zone { margin-top: 16px; }
  .home-zone-heading { margin-left: 0; margin-right: 0; }
  .live-urgent-zone > .home-zone-heading { padding: 14px 15px; }
  .things-top-grid,
  .bottom-grid.bottom-grid-compact {
    grid-template-columns: 1fr;
  }
  .urgent-school-card .school-footer-row {
    grid-template-columns: 1fr;
  }
  .urgent-school-card .school-footer-site-link {
    justify-self: start;
  }
  .compact-home-cam .farm-sanctuary-player {
    max-height: none;
  }
}
@media (max-width: 430px) {
  .home-zone { padding: 0 10px; }
  .home-zone-heading h2 { font-size: 1.65rem; }
  .urgent-road-count { grid-template-columns: 58px minmax(0,1fr); }
  .urgent-road-count strong { width: 58px; height: 58px; font-size: 1.7rem; }
  .urgent-school-card .school-footer-feed-link { font-size: 13px; letter-spacing: 0; }
}

/* v144 urgent-card fallback and link contrast. */
.urgent-county-card > .muted-link,
.urgent-school-card > .muted-link {
  display: inline-block;
  margin-top: 7px;
  color: #0b67c7 !important;
  font-weight: 900;
}
.urgent-county-card .county-alert-list > a:not(.county-alert-item),
.urgent-school-card .school-footer-list > a:not(.school-footer-feed-link) {
  display: block;
  border: 1px solid #d9e7f1;
  border-radius: 10px;
  padding: 10px 11px;
  background: #f7fbff;
  color: #123f67;
  font-weight: 850;
  overflow-wrap: anywhere;
  text-decoration: none;
}
.urgent-school-card .school-footer-list > a em {
  display: block;
  margin-top: 3px;
  color: #0b67c7;
  font-size: 11px;
  font-style: normal;
}

/* v148 — critical utility checks show explicit source freshness */
.homepage-snapshot-status{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  margin:.5rem 0 0;
  padding:.45rem .7rem;
  border:1px solid rgba(11,93,157,.18);
  border-radius:999px;
  background:#eef7ff;
  color:#174f7c;
  font-size:.82rem;
  font-weight:700;
  line-height:1.35;
  max-width:100%;
  overflow-wrap:anywhere;
}
.homepage-snapshot-status::before{content:'●';color:#1f9d61;font-size:.7rem}
.homepage-freshness{
  display:block;
  width:100%;
  flex-basis:100%;
  grid-column:1/-1;
  margin-top:.7rem;
  padding-top:.55rem;
  border-top:1px solid rgba(8,53,101,.10);
  color:#557089;
  font-size:.75rem;
  font-weight:700;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.homepage-freshness::before{content:'●';color:#6b8295;margin-right:.35rem;font-size:.62rem;vertical-align:.08rem}
.homepage-freshness.live{color:#42677f}
.homepage-freshness.live::before{color:#1f9d61}
.homepage-freshness.verified{color:#42677f}
.homepage-freshness.verified::before{color:#2f78b7}
.homepage-freshness.neutral{color:#60788b;font-weight:750}
.homepage-freshness.neutral::before{color:#8aa0b2}
iframe.deferred-embed{background:linear-gradient(135deg,#eaf2f8,#dce9f3)}
.homepage-health-table-wrap{overflow-x:auto;max-width:100%}
.homepage-health-table{width:100%;border-collapse:collapse;min-width:640px}
.homepage-health-table th,.homepage-health-table td{padding:.72rem .65rem;border-bottom:1px solid rgba(8,53,101,.12);text-align:left;vertical-align:top}
.homepage-health-table td small{display:block;color:#667b8f;margin-top:.2rem;max-width:28rem;overflow-wrap:anywhere}
@media (max-width:560px){
  .homepage-snapshot-status{border-radius:12px;display:flex}
  .homepage-freshness{font-size:.72rem}
}

/* v148: Internet-status freshness and desktop containment repair */
.internet-status-home.internet-status-compact {
  overflow: hidden;
}
.internet-status-compact-layout {
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: 12px;
}
.internet-status-compact-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  min-width: 0;
}
.internet-status-compact-heading > div:first-child {
  min-width: 0;
}
.internet-status-compact-meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
  max-width: 70%;
}
.internet-status-compact-heading .updated {
  width: auto;
  max-width: 100%;
  margin-top: 0;
  padding: 5px 8px;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  text-align: right;
  line-height: 1.35;
}
.internet-status-refresh {
  appearance: none;
  border: 1px solid #b9d3ea;
  border-radius: 9px;
  background: #f3f8fd;
  color: #075cae;
  padding: 6px 10px;
  font: inherit;
  font-size: 11px;
  font-weight: 950;
  line-height: 1.2;
  cursor: pointer;
  white-space: nowrap;
}
.internet-status-refresh:hover {
  background: #e8f3fd;
}
.internet-status-refresh:disabled {
  cursor: wait;
  opacity: .7;
}
.internet-provider-grid.internet-provider-grid-compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
  min-width: 0;
}
.internet-provider-card.internet-provider-card-compact {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  justify-items: stretch;
  gap: 8px;
  min-width: 0;
  max-width: 100%;
  padding: 12px;
}
.internet-provider-compact-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 7px;
  min-width: 0;
}
.internet-provider-card-compact .internet-provider-name {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 1.25;
}
.internet-provider-card-compact .internet-provider-status-pill {
  justify-self: start;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  text-align: left;
}
.internet-provider-compact-link,
.internet-status-compact-more {
  justify-self: start;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  text-align: left;
  line-height: 1.3;
}
.internet-status-page-check {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
.internet-status-page-check .internet-status-updated {
  margin-top: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}
.internet-status-page-check .internet-status-refresh {
  border-color: rgba(255,255,255,.48);
  background: rgba(255,255,255,.14);
  color: #fff;
}
.internet-status-page-check .internet-status-refresh:hover {
  background: rgba(255,255,255,.22);
}
@media (max-width: 1180px) {
  .internet-status-compact-heading {
    display: block;
  }
  .internet-status-compact-meta {
    justify-content: flex-start;
    max-width: 100%;
    margin-top: 8px;
  }
  .internet-status-compact-heading .updated {
    text-align: left;
  }
}
@media (max-width: 700px) {
  .internet-provider-grid.internet-provider-grid-compact {
    grid-template-columns: minmax(0, 1fr);
  }
  .internet-status-compact-meta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
  }
  .internet-status-compact-heading .updated {
    width: 100%;
  }
}
@media (max-width: 430px) {
  .internet-status-compact-meta {
    grid-template-columns: minmax(0, 1fr);
  }
  .internet-status-refresh {
    justify-self: start;
  }
}


/* v149: transit-card containment and external five-minute Internet updater */
.urgent-community-stack .transit-home-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  overflow: hidden;
}
.urgent-community-stack .transit-home-main {
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  width: 100%;
  min-width: 0;
}
.urgent-community-stack .transit-home-logo {
  display: block;
  width: 108px;
  max-width: 108px;
  min-width: 0;
  height: auto;
  margin: 0;
  object-fit: contain;
}
.urgent-community-stack .transit-home-copy,
.urgent-community-stack .transit-home-copy > * {
  min-width: 0;
  max-width: 100%;
  word-break: normal;
  overflow-wrap: break-word;
  white-space: normal;
}
.urgent-community-stack .transit-home-actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 10px;
  width: 100%;
  min-width: 0;
  margin: 0;
}
.urgent-community-stack .transit-home-actions > * {
  max-width: 100%;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
}
.urgent-community-stack .transit-home-card .homepage-freshness {
  grid-column: 1 / -1;
  width: 100%;
  flex: none;
  margin-top: 0;
}
@media (max-width: 480px) {
  .urgent-community-stack .transit-home-main {
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 11px;
  }
  .urgent-community-stack .transit-home-logo {
    width: 82px;
    max-width: 82px;
  }
}


/* v150: compact Storm Mode dashboard and concise road summaries */
.storm-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}
.storm-summary-grid .storm-card {
  min-width: 0;
  min-height: 0;
  height: 100%;
}
.storm-roads-wide {
  min-width: 0;
  min-height: 0;
  margin-top: 16px;
  padding: 18px;
  overflow: hidden;
}
.storm-roads-wide .card-heading {
  align-items: center;
  padding: 0 0 12px;
}
.storm-roads-wide .card-heading .card-link {
  margin: 0;
  text-align: right;
}
.storm-road-list.storm-road-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 0;
}
.storm-road-item {
  min-width: 0;
  max-width: 100%;
  padding: 12px;
  border: 1px solid #dbe6f0;
  border-left: 4px solid #f0ad17;
  border-radius: 13px;
  background: #fbfdff;
  box-sizing: border-box;
}
.storm-road-item.major,
.storm-road-item.severe { border-left-color: #dd3c4b; }
.storm-road-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}
.storm-road-head strong {
  min-width: 0;
  max-width: 100%;
  color: #083565;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.storm-road-head a {
  flex: 0 0 auto;
  max-width: 100%;
  font-size: 12px;
  font-weight: 900;
  color: #0867c7;
  white-space: normal;
}
.storm-road-title {
  margin-top: 6px;
  color: #183650;
  font-weight: 900;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.storm-road-item p {
  margin: 6px 0 0;
  color: #526a7f;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.storm-road-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 9px;
}
.storm-road-meta span {
  display: inline-flex;
  max-width: 100%;
  padding: 4px 7px;
  border: 1px solid #d7e3ee;
  border-radius: 999px;
  background: #f1f6fb;
  color: #466078;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.2;
  overflow-wrap: anywhere;
  white-space: normal;
}
.storm-road-more {
  grid-column: 1 / -1;
  margin: 0;
  color: #5f7488;
  font-size: 12px;
  font-weight: 850;
}
.storm-lower-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
  margin-top: 16px;
}
.storm-summary-grid .storm-card,
.storm-roads-wide,
.storm-lower-grid .storm-card,
.storm-summary-grid .storm-card > *,
.storm-roads-wide > *,
.storm-lower-grid .storm-card > * {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  word-break: normal;
  overflow-wrap: anywhere;
  white-space: normal;
}
.storm-lower-grid .storm-card {
  min-height: 0;
  height: auto;
  overflow: hidden;
}
@media (max-width: 980px) {
  .storm-summary-grid,
  .storm-lower-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .storm-road-list.storm-road-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 560px) {
  .storm-summary-grid .storm-card,
  .storm-roads-wide,
  .storm-lower-grid .storm-card { padding: 15px; }
  .storm-roads-wide .card-heading,
  .storm-road-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-items: start;
  }
  .storm-roads-wide .card-heading .card-link { text-align: left; }
}

/* v153 — homepage school feed: latest Watkins Glen and Odessa-Montour posts only. */
.urgent-school-card .school-footer-list {
  display: grid;
  gap: 10px;
}
.school-home-feed-card {
  min-width: 0;
  max-width: 100%;
  padding: 12px;
  border: 1px solid #d6e5f0;
  border-radius: 14px;
  background: linear-gradient(145deg,#f8fbff,#fff);
  box-shadow: 0 4px 14px rgba(8,54,93,.045);
}
.school-home-feed-card.school-watkins { border-left: 4px solid #1778c8; }
.school-home-feed-card.school-odessa { border-left: 4px solid #6a3b8f; }
.school-home-feed-topline,
.school-home-post-meta,
.school-home-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}
.school-home-district {
  min-width: 0;
  color: #103f68;
  font-size: 14px;
  font-weight: 950;
  line-height: 1.25;
  overflow-wrap: anywhere;
  text-decoration: none;
}
.school-home-source-state {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex: none;
  padding: 4px 7px;
  border-radius: 999px;
  background: #eef4f8;
  color: #536b7d;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.1;
  white-space: nowrap;
}
.school-home-source-state i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #8ea2b1;
}
.school-home-source-state.live { background: #e9f8ef; color: #197243; }
.school-home-source-state.live i { background: #29b96f; }
.school-home-source-state.recent { background: #fff6df; color: #8c6100; }
.school-home-source-state.recent i { background: #e1a600; }
.school-home-post-meta {
  margin: 9px 0 5px;
  color: #667b8d;
  font-size: 11px;
  font-weight: 850;
}
.school-home-post-meta span,
.school-home-post-meta time { min-width: 0; overflow-wrap: anywhere; }
.school-home-feed-card h3 {
  margin: 0;
  color: #0f3150;
  font-size: 16px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.school-home-feed-card h3 a { color: inherit; text-decoration: none; }
.school-home-post-detail,
.school-home-empty {
  margin: 6px 0 10px;
  color: #526b7f;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.42;
  overflow-wrap: anywhere;
}
.school-home-actions {
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 7px 13px;
}
.school-home-actions a {
  color: #0868bb;
  font-size: 11px;
  font-weight: 950;
  line-height: 1.25;
  overflow-wrap: anywhere;
  text-decoration: none;
}
@media (max-width: 430px) {
  .school-home-feed-topline { align-items: flex-start; flex-direction: column; gap: 6px; }
  .school-home-source-state { white-space: normal; }
  .school-home-post-meta { align-items: flex-start; }
  .school-home-feed-card { padding: 11px; }
}


/* v154 — compact daily school-calendar status on the homepage. */
.school-home-calendar { min-width: 0; max-width: 100%; }
.school-calendar-mini {
  min-width: 0;
  max-width: 100%;
  margin: 10px 0 8px;
  padding: 10px;
  border: 1px solid #d7e6f1;
  border-radius: 12px;
  background: #f3f8fc;
  box-sizing: border-box;
}
.school-calendar-before {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.school-calendar-primary {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}
.school-calendar-primary > span { font-size: 20px; flex: none; }
.school-calendar-primary div { min-width: 0; }
.school-calendar-primary small,
.school-calendar-mini-head span {
  display: block;
  color: #5e7689;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .08em;
  line-height: 1.2;
  text-transform: uppercase;
}
.school-calendar-primary strong {
  display: block;
  margin-top: 2px;
  color: #103d62;
  font-size: 13px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.school-calendar-before > a,
.school-calendar-mini-head a {
  flex: none;
  color: #0768b8;
  font-size: 10px;
  font-weight: 950;
  text-decoration: none;
  white-space: nowrap;
}
.school-calendar-mini-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 7px;
}
.school-calendar-status-list { display: grid; gap: 5px; }
.school-calendar-status-row {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 6px 8px;
  border-radius: 9px;
  background: #fff;
  border: 1px solid #dce8f1;
}
.school-calendar-status-row > span,
.school-calendar-status-row > strong { min-width: 0; overflow-wrap: anywhere; }
.school-calendar-status-row > span { color: #567083; font-size: 10px; font-weight: 850; }
.school-calendar-status-row > span small { font-size: 9px; font-weight: 750; }
.school-calendar-status-row > strong { color: #123d5f; font-size: 11px; line-height: 1.25; text-align: right; }
.school-calendar-status-row.open { border-left: 3px solid #29b86f; }
.school-calendar-status-row.early { border-left: 3px solid #e6a500; background: #fffaf0; }
.school-calendar-status-row.closed { border-left: 3px solid #d74d57; background: #fff6f6; }
.school-calendar-status-row.upcoming { border-left: 3px solid #2382cf; }
.school-calendar-next {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin-top: 7px;
}
.school-calendar-next span {
  min-width: 0;
  padding: 6px 8px;
  border-radius: 9px;
  background: #eaf3fa;
  color: #365c77;
  font-size: 9px;
  font-weight: 750;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.school-calendar-next b { display: block; color: #15476d; font-size: 9px; }
.school-calendar-program-note {
  margin: 7px 0 0;
  color: #687d8d;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
@media (max-width: 430px) {
  .school-calendar-before { align-items: flex-start; flex-direction: column; }
  .school-calendar-status-row { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .school-calendar-status-row > strong { text-align: left; }
  .school-calendar-next { grid-template-columns: minmax(0, 1fr); }
}


/* v158 About and Contact pages */
.about-page-shell,.contact-page-shell{max-width:1160px}.about-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.65fr);gap:18px;margin-bottom:18px}.about-hero-copy,.about-hero-panel{border-radius:26px;box-shadow:0 14px 40px rgba(8,46,82,.12)}.about-hero-copy{background:linear-gradient(135deg,#073866,#0b67ad);padding:clamp(28px,5vw,52px);color:#fff}.about-hero-copy .eyebrow,.about-final-cta .eyebrow,.contact-hero .eyebrow{color:#9edcff}.about-hero-copy h1{max-width:790px;margin:7px 0 17px;font-size:clamp(2.35rem,6vw,4.5rem);line-height:1.02;color:#fff}.about-hero-copy>p:not(.eyebrow){max-width:800px;color:#e6f3fd;font-size:1.08rem;line-height:1.65}.about-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.about-hero-copy .primary-button{background:#fff;color:#075185;border-color:#fff}.about-hero-copy .secondary-button{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.48)}.about-hero-panel{background:linear-gradient(155deg,#eef8ff,#e7f3eb);padding:30px;display:flex;flex-direction:column;justify-content:center;color:#123c5d}.about-mark{display:grid;place-items:center;width:78px;height:78px;border-radius:23px;background:#083f72;color:#fff;font-size:28px;font-weight:950;letter-spacing:.03em;box-shadow:0 9px 20px rgba(8,63,114,.2)}.about-hero-panel strong{font-size:1.45rem;margin:20px 0 7px;color:#083565}.about-hero-panel p{margin:0;color:#4c667b;line-height:1.55}.about-mission-card{padding:30px;margin-bottom:18px}.about-mission-card h2{font-size:clamp(1.8rem,4vw,2.7rem);max-width:820px;margin:4px 0 13px}.about-mission-card>p:last-child{max-width:940px;font-size:1.03rem;line-height:1.7;color:#405b72}.about-principles-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:25px}.about-principle{padding:24px;min-width:0}.about-principle>span{display:inline-block;color:#0b67c7;font-size:.77rem;font-weight:950;letter-spacing:.12em}.about-principle h2{margin:8px 0 8px;font-size:1.4rem}.about-principle p{margin:0;color:#506a7f;line-height:1.6}.about-coverage-section{margin:26px 0}.about-coverage-section .section-heading{margin-bottom:13px}.about-coverage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.about-coverage-grid .card{padding:23px}.about-coverage-grid h3{margin:0 0 9px;color:#083565;font-size:1.25rem}.about-coverage-grid p{margin:0;color:#50697e;line-height:1.58}.about-trust-grid{margin-top:20px}.about-trust-grid .page-card p{line-height:1.65}.about-advertising-card{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:27px;margin:20px 0}.about-advertising-card>div{max-width:820px}.about-advertising-card h2{margin:3px 0 8px}.about-advertising-card p:last-child{margin-bottom:0;color:#4a647a;line-height:1.6}.about-advertising-card>a{flex:0 0 auto}.about-final-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#063964,#0b68ad);border-radius:25px;padding:30px;color:#fff;margin:22px 0}.about-final-cta h2{color:#fff;margin:4px 0 7px;font-size:clamp(1.7rem,4vw,2.5rem)}.about-final-cta p:last-child{margin:0;color:#e2f1fb}.about-final-cta .primary-button{background:#fff;color:#075185;border-color:#fff;flex:0 0 auto}
.contact-hero{background:linear-gradient(130deg,#073866,#0b67ad);border-radius:26px;padding:clamp(28px,5vw,50px);color:#fff;box-shadow:0 14px 40px rgba(8,46,82,.12);margin-bottom:18px}.contact-hero h1{color:#fff;margin:6px 0 12px;font-size:clamp(2.25rem,6vw,4.2rem);line-height:1.04;max-width:830px}.contact-hero>p:not(.eyebrow){color:#e4f2fc;font-size:1.06rem;line-height:1.6;max-width:820px}.contact-email-link{display:inline-flex;margin-top:13px;color:#fff!important;font-weight:950;font-size:1.12rem;text-decoration:underline;text-underline-offset:4px}.contact-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);gap:17px;align-items:start}.contact-form-card{padding:27px}.contact-form-heading h2{font-size:2rem;margin:4px 0 7px}.contact-form-heading>p:last-child{color:#526a7e;line-height:1.5}.contact-form{margin-top:22px}.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.contact-form label{display:grid;gap:7px;color:#173e61;font-weight:850;min-width:0}.contact-form label>span em{font-style:normal;color:#687d8f;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;margin-left:5px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-width:0;box-sizing:border-box;border:1px solid #cbd9e5;border-radius:12px;background:#fff;color:#173b61;font:inherit;padding:12px 13px}.contact-form textarea{resize:vertical;min-height:155px;line-height:1.5}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:3px solid rgba(24,126,214,.18);border-color:#187ed6}.contact-form-wide{grid-column:1/-1}.contact-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-consent{display:grid!important;grid-template-columns:auto 1fr;align-items:start;gap:10px!important;margin-top:15px;padding:13px;border:1px solid #d9e5ee;border-radius:12px;background:#f6fafd;color:#4b6377!important;line-height:1.45}.contact-consent input{width:auto;margin-top:4px;transform:scale(1.1)}.contact-submit-row{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:17px}.contact-submit-row button{cursor:pointer}.contact-submit-row button:disabled{opacity:.65;cursor:wait}.contact-side-stack{display:grid;gap:15px}.contact-side-card{padding:23px}.contact-side-card h2{margin:4px 0 12px;font-size:1.45rem}.contact-side-card .check-list{margin-bottom:0}.contact-link-list{display:grid;gap:9px}.contact-link-list a{display:block;padding:12px;border:1px solid #dce7ef;border-radius:12px;background:#f8fbfe;text-decoration:none}.contact-link-list a:hover{background:#eef7ff;text-decoration:none}.contact-link-list strong{display:block;color:#0b67c7}.contact-link-list span{display:block;color:#536b7e;font-size:.88rem;margin-top:3px;line-height:1.4}.contact-emergency-note{border:1px solid #e8c6c9;background:#fff7f7;border-radius:18px;padding:20px;color:#6f2930}.contact-emergency-note strong{display:block;color:#8c202b;font-size:1.05rem}.contact-emergency-note p{margin:7px 0 0;line-height:1.55}.contact-privacy-note{margin-top:17px;padding:23px}.contact-privacy-note h2{margin:0 0 7px}.contact-privacy-note p{margin:0;color:#526a7d;line-height:1.6}
@media(max-width:900px){.about-hero,.contact-layout{grid-template-columns:1fr}.about-hero-panel{min-height:220px}.about-coverage-grid{grid-template-columns:1fr}.about-advertising-card,.about-final-cta{align-items:flex-start;flex-direction:column}.about-advertising-card>a,.about-final-cta>a{width:100%}.contact-side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-emergency-note{grid-column:1/-1}}
@media(max-width:700px){.about-principles-grid,.contact-form-grid,.contact-side-stack{grid-template-columns:1fr}.about-hero-copy,.about-hero-panel,.contact-hero{border-radius:20px}.about-hero-actions a{width:100%}.contact-form-card{padding:20px}.contact-form-wide{grid-column:auto}.contact-submit-row{align-items:stretch}.contact-submit-row button{width:100%}.contact-side-stack{display:grid}.contact-emergency-note{grid-column:auto}}


/* v159 advertising-page contrast and contact routing */
.sponsors-page .sponsor-hero {
  background: linear-gradient(135deg,#07437b 0%,#0b67c7 100%);
  color: #fff;
  border: 1px solid rgba(255,255,255,.2);
}
.sponsors-page .sponsor-hero .eyebrow,
.sponsors-page .sponsor-hero .eyebrow.blue {
  color: #b9e3ff !important;
}
.sponsors-page .sponsor-hero h1,
.sponsors-page .sponsor-hero.compact h1 {
  color: #fff;
  text-shadow: 0 1px 1px rgba(0,30,60,.16);
}
.sponsors-page .sponsor-hero p:not(.eyebrow) {
  color: #eaf5ff;
  font-weight: 750;
  line-height: 1.55;
}
.sponsors-page .sponsor-contact-button {
  background: #fff;
  color: #07518e !important;
  border-color: rgba(255,255,255,.9);
  box-shadow: 0 9px 22px rgba(3,40,79,.24);
}
.sponsors-page .sponsor-contact-button:hover,
.sponsors-page .sponsor-contact-button:focus-visible {
  background: #eef7ff;
  color: #063d6c !important;
}
@media(max-width:600px){
  .sponsors-page .sponsor-hero { padding: 25px 19px; }
  .sponsors-page .sponsor-contact-button { width: 100%; }
}


/* v160 compact homepage hero; County Pulse hero card removed from index.html */
.home-page-v160 .hero-shell {
  padding-top: 14px;
}
.home-page-v160 .hero-shell::before {
  background-position: center 38%;
}
.home-page-v160 .search-wrap {
  max-width: 720px;
  margin-bottom: 15px;
}
.home-page-v160 .site-search {
  height: 48px;
  border-radius: 14px;
}
.home-page-v160 .hero-content {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  padding: 0 28px 21px;
}
.home-page-v160 .hero-main {
  width: 100%;
  min-width: 0;
}
.home-page-v160 .hero-main h1 {
  font-size: clamp(2.2rem, 5vw, 3rem);
  margin-bottom: 13px;
}
.home-page-v160 .hero-subline {
  max-width: 920px;
  margin: -3px 0 13px;
  font-size: 14px;
  line-height: 1.45;
}
.home-page-v160 .status-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}
.home-page-v160 .status-card {
  min-height: 68px;
  padding: 9px 11px;
  border-radius: 11px;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas:
    "num label"
    "num link";
  column-gap: 9px;
  row-gap: 2px;
  align-content: center;
  align-items: center;
  box-shadow: 0 7px 18px rgba(0, 26, 63, .14);
}
.home-page-v160 .status-card strong {
  min-width: 30px;
  font-size: 26px;
  line-height: 1;
  align-self: center;
}
.home-page-v160 .status-card span:not(.status-icon) {
  font-size: 11px;
  line-height: 1.15;
  overflow-wrap: anywhere;
}
.home-page-v160 .status-card a {
  font-size: 10.5px;
  line-height: 1.15;
}
.home-page-v160 .hero-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}
.home-page-v160 .hero-actions .action-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-height: 42px;
  padding: 9px 10px;
  border-radius: 10px;
  font-size: 13px;
  line-height: 1.2;
  box-shadow: 0 5px 14px rgba(0, 0, 0, .16);
}
.home-page-v160 .hero-utility-links {
  margin-top: 8px;
}
.home-page-v160 .hero-utility-links a {
  width: auto;
  min-height: 34px;
  padding: 6px 11px;
  font-size: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .14);
}

@media (max-width: 760px) {
  .home-page-v160 .hero-shell {
    padding-top: 10px;
  }
  .home-page-v160 .search-wrap {
    margin: 0 14px 12px;
  }
  .home-page-v160 .site-search {
    height: 46px;
  }
  .home-page-v160 .hero-content {
    padding: 0 14px 16px;
  }
  .home-page-v160 .hero-main h1 {
    font-size: clamp(2rem, 10vw, 2.55rem);
    margin-bottom: 11px;
  }
  .home-page-v160 .hero-subline {
    margin: -2px 0 11px;
    font-size: 13px;
  }
  .home-page-v160 .status-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 7px;
  }
  .home-page-v160 .status-card {
    grid-column: span 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-height: 70px;
    padding: 8px 9px;
    gap: 2px;
  }
  .home-page-v160 .status-card:nth-child(n+4) {
    grid-column: span 3;
  }
  .home-page-v160 .status-card strong {
    min-width: 0;
    font-size: 24px;
  }
  .home-page-v160 .status-card span:not(.status-icon) {
    font-size: 10px;
  }
  .home-page-v160 .status-card a {
    font-size: 9.5px;
  }
  .home-page-v160 .hero-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin-top: 9px;
  }
  .home-page-v160 .hero-actions .action-button {
    min-height: 42px;
    padding: 8px 7px;
    font-size: 12px;
  }
  .home-page-v160 .hero-utility-links a {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 390px) {
  .home-page-v160 .status-card {
    min-height: 67px;
    padding: 7px 8px;
  }
  .home-page-v160 .status-card strong {
    font-size: 22px;
  }
  .home-page-v160 .hero-actions .action-button {
    font-size: 11px;
  }
}


/* v161 ultra-compact homepage hero controls */
.home-page .hero-shell {
  padding-top: 11px;
}
.home-page .hero-shell::before {
  background-position: center 39%;
}
.home-page .search-wrap {
  max-width: 720px;
  margin-bottom: 11px;
}
.home-page .site-search {
  height: 44px;
  border-radius: 13px;
}
.home-page .hero-content {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  padding: 0 28px 15px;
}
.home-page .hero-main {
  width: 100%;
  min-width: 0;
}
.home-page .hero-main h1 {
  font-size: clamp(2.15rem, 4.8vw, 2.9rem);
  margin-bottom: 9px;
}
.home-page .hero-subline {
  max-width: 920px;
  margin: -2px 0 9px;
  font-size: 13px;
  line-height: 1.35;
}
.home-page .status-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}
.home-page .status-card {
  min-width: 0;
  min-height: 46px;
  padding: 5px 8px;
  border-radius: 9px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  color: var(--ink);
  text-decoration: none;
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(255,255,255,.58);
  box-shadow: 0 4px 11px rgba(0,26,63,.12);
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}
.home-page .status-card:hover,
.home-page .status-card:focus-visible {
  background: rgba(255,255,255,.95);
  text-decoration: none;
  transform: translateY(-1px);
}
.home-page .status-card strong {
  min-width: 25px;
  font-size: 22px;
  line-height: 1;
  color: #082f55;
  text-align: center;
}
.home-page .status-card > .status-label {
  min-width: 0;
  font-size: 10.5px;
  line-height: 1.08;
  font-weight: 900;
  overflow-wrap: anywhere;
}
.home-page .hero-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin-top: 7px;
}
.home-page .hero-actions .action-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: auto;
  min-width: 0;
  min-height: 34px;
  padding: 6px 8px;
  border-radius: 9px;
  font-size: 11.5px;
  line-height: 1.1;
  box-shadow: 0 4px 11px rgba(0,0,0,.14);
}
.home-page .action-icon {
  flex: 0 0 auto;
  font-size: 12px;
}
.home-page .action-short {
  display: none;
}
.home-page .hero-utility-links {
  display: flex;
  justify-content: center;
  margin-top: 5px;
}
.home-page .hero-utility-links a {
  width: auto;
  min-height: 26px;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 10.5px;
  line-height: 1.1;
  box-shadow: 0 3px 9px rgba(0,0,0,.12);
  background: rgba(5,42,78,.46);
}

@media (max-width: 760px) {
  .home-page .hero-shell {
    padding-top: 8px;
  }
  .home-page .search-wrap {
    margin: 0 14px 9px;
  }
  .home-page .site-search {
    height: 42px;
  }
  .home-page .hero-content {
    padding: 0 14px 12px;
  }
  .home-page .eyebrow {
    margin-bottom: 3px;
    font-size: 10px;
  }
  .home-page .hero-main h1 {
    font-size: clamp(1.9rem, 9vw, 2.35rem);
    margin-bottom: 7px;
  }
  .home-page .hero-subline {
    margin: 0 0 8px;
    font-size: 11.5px;
    line-height: 1.3;
  }
  .home-page .status-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 4px;
  }
  .home-page .status-card {
    min-height: 55px;
    padding: 5px 3px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    text-align: center;
    border-radius: 8px;
  }
  .home-page .status-card strong {
    min-width: 0;
    font-size: 20px;
  }
  .home-page .status-card > .status-label {
    font-size: 8.4px;
    line-height: 1.05;
  }
  .home-page .hero-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
    margin-top: 6px;
  }
  .home-page .hero-actions .action-button {
    min-height: 34px;
    padding: 5px 3px;
    gap: 3px;
    border-radius: 8px;
    font-size: 10px;
  }
  .home-page .action-long {
    display: none;
  }
  .home-page .action-short {
    display: inline;
  }
  .home-page .action-icon {
    font-size: 10px;
  }
  .home-page .hero-utility-links {
    margin-top: 4px;
  }
  .home-page .hero-utility-links a {
    width: auto;
    min-height: 24px;
    padding: 3px 8px;
    font-size: 9.5px;
  }
}

@media (max-width: 360px) {
  .home-page .status-grid,
  .home-page .hero-actions {
    gap: 3px;
  }
  .home-page .status-card {
    min-height: 53px;
    padding-inline: 2px;
  }
  .home-page .status-card strong {
    font-size: 18px;
  }
  .home-page .status-card > .status-label {
    font-size: 7.7px;
  }
  .home-page .hero-actions .action-button {
    font-size: 9px;
  }
}


/* v163: I Heard Sirens spacing, clipping containment, and top pier camera */
.sirens-page,
.sirens-page > *,
.sirens-page .card,
.sirens-page .card > * {
  min-width: 0;
  max-width: 100%;
}
.sirens-webcam-card {
  margin: 0 0 22px;
  padding: 18px;
  overflow: hidden;
}
.sirens-webcam-card .card-heading {
  padding: 0 0 12px;
  align-items: center;
}
.sirens-webcam-card .card-heading > div {
  min-width: 0;
}
.sirens-webcam-eyebrow {
  margin-bottom: 3px;
}
.sirens-webcam-card h2 {
  font-size: clamp(1.25rem, 2.2vw, 1.8rem);
}
.sirens-webcam-embed {
  height: clamp(280px, 45vw, 560px);
  min-height: 280px;
}
.sirens-webcam-caption {
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.sirens-webcam-caption a {
  color: #0b67c7;
  font-weight: 900;
}
.sirens-guide-card,
.sirens-context-grid > .card {
  padding: 20px;
}
.sirens-guide-card h2,
.sirens-guide-card h3,
.sirens-context-grid > .card h2 {
  margin: 0 0 12px;
}
.sirens-guide-card p,
.sirens-context-grid > .card p {
  margin-top: 0;
  line-height: 1.55;
}
.sirens-guide-card :where(h2,h3,p,li,a,strong,span),
.sirens-context-grid > .card :where(h2,h3,p,li,a,strong,span),
.sirens-active-card :where(h2,p,a,strong,span,div) {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  white-space: normal;
}
.sirens-guide-card .clean-list {
  padding-left: 1.35rem;
  padding-right: .25rem;
}
.sirens-context-grid {
  margin-top: 18px;
}
.sirens-context-grid .context-link-grid {
  min-width: 0;
}
.sirens-context-grid .card-link {
  padding-left: 0;
  padding-right: 0;
}
@media (max-width: 700px) {
  .sirens-webcam-card,
  .sirens-guide-card,
  .sirens-context-grid > .card {
    padding: 15px;
  }
  .sirens-webcam-embed {
    height: 245px;
    min-height: 245px;
  }
  .sirens-webcam-caption {
    display: grid;
    gap: 5px;
  }
  .sirens-page .incident-item {
    grid-template-columns: 40px minmax(0, 1fr);
    align-items: start;
  }
  .sirens-page .incident-icon {
    width: 38px;
    height: 38px;
  }
  .sirens-page .incident-time {
    grid-column: 2;
    text-align: left;
  }
}


/* v166: top homepage pier camera and Near Me clarity/containment */
.home-top-webcam {
  margin-top: 14px;
}
.home-top-webcam-card {
  padding: 16px 18px;
}
.home-top-webcam-card .card-heading {
  padding: 0 0 10px;
}
.home-top-webcam-card .webcam-embed {
  height: clamp(300px, 43vw, 540px);
  min-height: 300px;
}
.home-live-row.map-only {
  grid-template-columns: minmax(0, 1fr);
}
.home-live-row.map-only .map-card {
  width: 100%;
}

.near-me-page,
.near-me-page * {
  box-sizing: border-box;
  min-width: 0;
}
.near-me-page :where(h1,h2,h3,p,a,span,strong,label,button) {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  white-space: normal;
}
.near-me-page .near-me-hero-card > * {
  position: relative;
  z-index: 1;
}
.near-me-page .near-me-hero-card h1 {
  color: #ffffff;
  text-shadow: 0 2px 10px rgba(0,0,0,.18);
}
.near-me-page .near-me-hero-card > p:not(.eyebrow) {
  color: #edf8ff;
}
.near-me-page .near-me-hero-card .eyebrow {
  color: #8ed9ff;
}
.near-me-page .near-me-hero-card .mode-hint {
  color: #dff4ff;
}
.near-me-page .near-me-hero-card .back-link {
  color: #ffffff;
  text-decoration-color: rgba(255,255,255,.6);
}
.near-me-summary-card,
.near-me-visitor-card {
  padding: 20px;
  overflow: hidden;
}
.near-me-summary-card {
  display: grid;
  grid-template-columns: minmax(230px,.8fr) minmax(0,1.45fr);
  align-items: stretch;
  gap: 20px;
}
.near-me-summary-card > div:first-child {
  padding: 2px 0;
}
.near-me-score-grid {
  min-width: 0;
  width: 100%;
}
.near-me-score-grid > div {
  min-width: 0;
  padding: 14px 10px;
}
.near-me-score-grid span {
  line-height: 1.25;
}
.near-me-grid > .compact-card {
  padding: 20px;
}
.near-me-grid > .active-card {
  min-width: 0;
}
.near-me-grid .card-heading,
.near-me-grid .incident-list,
.near-me-grid .near-me-stack,
.near-me-grid .context-link-grid {
  min-width: 0;
  max-width: 100%;
}
.near-me-row {
  max-width: 100%;
  overflow: hidden;
}
.near-me-select {
  max-width: 100%;
}
@media (max-width: 900px) {
  .near-me-summary-card {
    grid-template-columns: 1fr;
  }
  .home-top-webcam-card .webcam-embed {
    height: 320px;
    min-height: 320px;
  }
}
@media (max-width: 520px) {
  .home-top-webcam {
    margin-top: 12px;
    padding: 0 10px;
  }
  .home-top-webcam-card {
    padding: 14px;
  }
  .home-top-webcam-card .webcam-embed {
    height: 235px;
    min-height: 235px;
  }
  .home-top-webcam-card .webcam-caption {
    display: grid;
    gap: 4px;
  }
  .near-me-page {
    width: min(100% - 20px,1180px);
    margin-top: 14px;
  }
  .near-me-page .page-hero-card,
  .near-me-summary-card,
  .near-me-grid > .compact-card,
  .near-me-visitor-card {
    padding: 15px;
  }
  .near-me-score-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .near-me-score-grid strong {
    font-size: 1.45rem;
  }
  .near-me-score-grid span {
    font-size: .73rem;
  }
}


/* v167: hero action-label guard */
.home-page .hero-actions .action-long { display: inline; }
.home-page .hero-actions .action-short { display: none; }
@media (max-width: 760px) {
  .home-page .hero-actions .action-long { display: none; }
  .home-page .hero-actions .action-short { display: inline; }
}


/* v171 scanner layout polish */
.incident-play-button {
  border: 0;
  cursor: pointer;
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
.incident-play-button:hover:not(:disabled) {
  transform: scale(1.04);
  filter: brightness(1.04);
}
.incident-play-button:focus-visible {
  outline: 3px solid rgba(11,103,199,.22);
  outline-offset: 3px;
}
.incident-play-button.is-disabled,
.incident-play-button:disabled {
  opacity: .55;
  cursor: not-allowed;
}
.incident-play-button.is-playing {
  box-shadow: 0 0 0 4px rgba(11,103,199,.12), 0 8px 18px rgba(8,46,82,.18);
}
.play-glyph {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 16px;
  line-height: 1;
  transform: translateX(1px);
}
.incident-play-button.is-playing .play-glyph {
  transform: none;
  font-size: 14px;
}
.incident-time {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
}
.incident-date {
  display: block;
}
#scanner-feed-list .scanner-meta-line,
#incident-list .scanner-meta-line {
  gap: 10px;
}
#scanner-feed-list .scanner-audio-link,
#incident-list .scanner-audio-link {
  background: #eefaf3;
  color: #12733a;
  border: 1px solid #c9ead4;
}
#incident-list .compact-incident-meta {
  gap: 9px;
}
#incident-list .compact-incident-meta .badge,
#scanner-feed-list .incident-time .badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 84px;
}
@media (max-width: 720px) {
  .incident-time {
    align-items: flex-start;
  }
  #scanner-feed-list .incident-item,
  .sirens-page .incident-item {
    grid-template-columns: 48px 1fr;
  }
  #scanner-feed-list .incident-time,
  .sirens-page .incident-time {
    grid-column: 2;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin-top: 4px;
  }
}

/* v172 full Scanner page shareable-card launcher */
.scanner-page .incident-card-launch {
  text-decoration: none;
}
.scanner-page .incident-card-launch:hover {
  text-decoration: none;
}
.scanner-page .incident-card-launch .play-glyph {
  color: #fff;
}

/* v173 Seneca Insider Pass rotating homepage ticker */
.insider-ticker-shell {
  width: min(1280px, calc(100% - 24px));
  margin: 12px auto 14px;
}
.insider-ticker-link {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: stretch;
  min-height: 62px;
  overflow: hidden;
  border: 1px solid rgba(157, 202, 236, .34);
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(105deg, #062d57 0%, #084774 52%, #075f52 100%);
  box-shadow: 0 10px 26px rgba(8, 46, 82, .14);
  text-decoration: none;
  isolation: isolate;
}
.insider-ticker-link::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(110deg, transparent 10%, rgba(255,255,255,.09) 32%, transparent 54%);
  transform: translateX(-65%);
  animation: insiderTickerSheen 8s ease-in-out infinite;
}
.insider-ticker-link:hover,
.insider-ticker-link:focus-visible {
  color: #fff;
  text-decoration: none;
  box-shadow: 0 13px 30px rgba(8, 46, 82, .20);
}
.insider-ticker-link:focus-visible {
  outline: 3px solid rgba(11, 103, 199, .25);
  outline-offset: 3px;
}
.insider-ticker-brand {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 190px;
  padding: 10px 18px;
  background: rgba(4, 35, 67, .94);
  box-shadow: 12px 0 22px rgba(4, 35, 67, .42);
}
.insider-ticker-brand span {
  font-size: 13px;
  line-height: 1.1;
  font-weight: 950;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.insider-ticker-brand strong {
  margin-top: 4px;
  color: #9ee6b2;
  font-size: 11px;
  line-height: 1.1;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.insider-ticker-window {
  position: relative;
  min-width: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}
.insider-ticker-track {
  display: flex;
  align-items: center;
  width: max-content;
  min-width: max-content;
  will-change: transform;
  animation: insiderTickerScroll var(--insider-ticker-seconds, 52s) linear infinite;
}
.insider-ticker-group {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.insider-ticker-item {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  padding: 10px 24px 10px 20px;
  white-space: nowrap;
}
.insider-ticker-item::after {
  content: "•";
  position: absolute;
  right: 6px;
  color: #8edda8;
  font-size: 16px;
}
.insider-ticker-item b {
  color: #fff;
  font-size: 13px;
  font-weight: 950;
}
.insider-ticker-item em {
  color: #d9ecfb;
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
}
.insider-ticker-cta {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 132px;
  padding: 10px 16px;
  color: #052e54;
  background: linear-gradient(135deg, #b9f0c6, #8fdca9);
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .035em;
  box-shadow: -12px 0 22px rgba(4, 35, 67, .35);
}
.insider-ticker-cta b {
  font-size: 18px;
  transition: transform .18s ease;
}
.insider-ticker-link:hover .insider-ticker-cta b,
.insider-ticker-link:focus-visible .insider-ticker-cta b {
  transform: translateX(3px);
}
.insider-ticker-link:hover .insider-ticker-track,
.insider-ticker-link:focus-visible .insider-ticker-track {
  animation-play-state: paused;
}
@keyframes insiderTickerScroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@keyframes insiderTickerSheen {
  0%, 42% { transform: translateX(-65%); }
  68%, 100% { transform: translateX(70%); }
}
@media (max-width: 720px) {
  .insider-ticker-shell {
    width: min(100% - 20px, 1280px);
    margin-top: 10px;
  }
  .insider-ticker-link {
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 56px;
    border-radius: 14px;
  }
  .insider-ticker-brand {
    min-width: 132px;
    padding: 9px 12px;
  }
  .insider-ticker-brand span {
    max-width: 112px;
    font-size: 11px;
    line-height: 1.15;
  }
  .insider-ticker-brand strong {
    font-size: 9px;
  }
  .insider-ticker-cta {
    display: none;
  }
  .insider-ticker-item {
    gap: 6px;
    padding-left: 14px;
    padding-right: 21px;
  }
  .insider-ticker-item b {
    font-size: 12px;
  }
  .insider-ticker-item em {
    font-size: 11px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .insider-ticker-track,
  .insider-ticker-link::before {
    animation: none;
  }
  .insider-ticker-window {
    overflow-x: auto;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .insider-ticker-group[aria-hidden="true"] {
    display: none;
  }
}

/* v174 homepage scanner hierarchy and removals */
.urgent-traffic-wrap {
  display: grid;
  gap: 14px;
}
.home-today-scanner-card {
  width: 100%;
  min-width: 0;
  border-top: 5px solid #0b67c7;
}
.home-today-scanner-heading {
  align-items: flex-start;
}
.home-today-scanner-heading > div {
  min-width: 0;
}
.home-today-scanner-heading .eyebrow {
  margin: 0 0 4px !important;
}
.home-today-scanner-card #incident-list .incident-item:nth-of-type(n+5) {
  display: grid;
}
.home-today-scanner-card #incident-list .incident-item:nth-of-type(n+9) {
  display: none;
}
.home-incident-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-areas: "law fire";
  gap: 16px;
  align-items: start;
}
.home-incident-group {
  min-width: 0;
  border: 1px solid #d9e6f0;
  border-radius: 15px;
  overflow: hidden;
  background: #fff;
}
.home-incident-group-fire {
  grid-area: fire;
}
.home-incident-group-law {
  grid-area: law;
}
.home-incident-group-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 13px;
  border-bottom: 1px solid #d9e6f0;
  background: #f4f8fb;
}
.home-incident-group-heading h3 {
  margin: 0;
  color: #083565;
  font-size: 15px;
  line-height: 1.25;
}
.home-incident-group-heading span {
  flex: none;
  color: #60778a;
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.home-incident-group-fire .home-incident-group-heading {
  border-left: 5px solid #b2393d;
}
.home-incident-group-law .home-incident-group-heading {
  border-left: 5px solid #176daf;
}
.home-incident-group .incident-list {
  margin: 0;
}
.home-incident-group .source-note {
  margin: 0;
  padding: 16px 14px;
}
.today-information-zone {
  margin-top: 14px;
}
.today-information-zone .today-info-grid {
  margin-top: 0;
}
@media (max-width: 720px) {
  .home-today-scanner-heading {
    display: grid;
    gap: 6px;
  }
  .home-incident-columns {
    grid-template-columns: 1fr;
    grid-template-areas:
      "fire"
      "law";
    gap: 12px;
  }
}

/* v175 compact 0–10 Watkins Glen traffic meters */
.traffic-meter-card {
  display: block;
  margin-top: 22px;
  padding: 20px 22px;
  background: linear-gradient(135deg,#f8fbff 0%,#fff 58%,#f2f8fd 100%);
  border-left: 7px solid #176daf;
}
.traffic-meter-card:before { display: none; }
.traffic-meter-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.traffic-meter-heading h2 { margin: 2px 0 0; }
.traffic-meter-heading > a {
  color: #0b5a9d;
  font-size: .82rem;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
  padding-top: 4px;
}
.traffic-meter-overall {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 5px 14px;
  align-items: center;
  padding: 11px 13px;
  border: 1px solid #dae6ef;
  border-radius: 14px;
  background: rgba(255,255,255,.88);
}
.traffic-meter-copy { display: flex; align-items: baseline; gap: 9px; min-width: 0; }
.traffic-meter-copy span,
.traffic-corridor-meter span {
  color: #54687c;
  font-size: .76rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .045em;
}
.traffic-meter-copy strong,
.traffic-corridor-meter strong { color: #173f64; font-size: .86rem; }
.traffic-meter-value { display: flex; align-items: baseline; gap: 4px; }
.traffic-meter-value b { color: #0b3f70; font-size: 1.28rem; line-height: 1; }
.traffic-meter-value small { color: #718094; font-size: .68rem; font-weight: 850; }
.traffic-meter-bar {
  grid-column: 1 / -1;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #e3eaf0;
}
.traffic-meter-bar i {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: #3a9b6a;
  transition: width .35s ease;
}
.traffic-corridor-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 9px;
  margin-top: 9px;
}
.traffic-corridor-meter {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 6px 10px;
  align-items: center;
  padding: 10px 11px;
  border: 1px solid #e0e8ef;
  border-radius: 13px;
  background: rgba(255,255,255,.8);
  min-width: 0;
}
.traffic-corridor-meter > div:first-child { display: flex; flex-direction: column; min-width: 0; }
.traffic-corridor-meter > b { color: #143f67; font-size: 1.05rem; }
.traffic-corridor-meter .traffic-meter-bar { height: 6px; }
.traffic-meter-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 9px;
  color: #718094;
  font-size: .7rem;
  font-weight: 750;
}
.traffic-meter-footer span { white-space: nowrap; }
.traffic-meter-overall.clear .traffic-meter-bar i,
.traffic-corridor-meter.clear .traffic-meter-bar i { background: #2f9a66; }
.traffic-meter-overall.light .traffic-meter-bar i,
.traffic-corridor-meter.light .traffic-meter-bar i { background: #4f9cc8; }
.traffic-meter-overall.moderate .traffic-meter-bar i,
.traffic-corridor-meter.moderate .traffic-meter-bar i { background: #d4a01d; }
.traffic-meter-overall.busy .traffic-meter-bar i,
.traffic-corridor-meter.busy .traffic-meter-bar i { background: #e77b24; }
.traffic-meter-overall.heavy .traffic-meter-bar i,
.traffic-corridor-meter.heavy .traffic-meter-bar i,
.traffic-meter-overall.severe .traffic-meter-bar i,
.traffic-corridor-meter.severe .traffic-meter-bar i { background: #d63d42; }
.traffic-level-badge.clear { background:#e6f5ee; color:#137047; }
.traffic-level-badge.light { background:#e7f1fb; color:#145f9d; }
.traffic-level-badge.moderate { background:#fff4d7; color:#865d00; }
.traffic-level-badge.heavy,
.traffic-level-badge.severe { background:#fde3e3; color:#a42424; }
@media (max-width: 720px) {
  .traffic-meter-card { padding: 17px 15px; }
  .traffic-meter-heading { align-items: center; }
  .traffic-corridor-grid { grid-template-columns: 1fr; }
  .traffic-corridor-meter { grid-template-columns: minmax(0,1fr) auto minmax(90px,.7fr); }
  .traffic-corridor-meter .traffic-meter-bar { grid-column: auto; }
}
@media (max-width: 430px) {
  .traffic-meter-heading { align-items: flex-start; }
  .traffic-meter-heading > a { font-size: .74rem; }
  .traffic-meter-copy { flex-direction: column; gap: 1px; }
  .traffic-meter-footer { align-items: flex-start; flex-direction: column; gap: 2px; }
}

/* v176 homepage card ordering */
.urgent-layout.urgent-layout-v176 {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 14px;
  align-items: start;
}
.urgent-layout-v176 > * {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0 !important;
}
.urgent-layout-v176 .transit-home-card,
.urgent-layout-v176 .internet-status-home {
  grid-column: 1 / -1;
}
.urgent-layout-v176 .transit-home-card {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 18px;
  overflow: hidden;
}
.urgent-layout-v176 .transit-home-main {
  display: grid;
  grid-template-columns: 108px minmax(0,1fr);
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.urgent-layout-v176 .transit-home-logo {
  display: block;
  width: 108px;
  max-width: 108px;
  height: auto;
  object-fit: contain;
}
.urgent-layout-v176 .transit-home-copy,
.urgent-layout-v176 .transit-home-copy > * {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: break-word;
  white-space: normal;
}
.urgent-layout-v176 .transit-home-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
  min-width: 0;
}
.urgent-layout-v176 .internet-status-home {
  margin: 0 !important;
}
.today-information-zone .today-info-grid {
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.obituary-bottom-zone .obituary-card,
.help-zone .community-help-home {
  margin: 0;
}
.obituary-bottom-zone .obituary-card {
  width: 100%;
}
@media (max-width: 980px) {
  .urgent-layout.urgent-layout-v176,
  .today-information-zone .today-info-grid {
    grid-template-columns: 1fr;
  }
  .urgent-layout-v176 .transit-home-card,
  .urgent-layout-v176 .internet-status-home {
    grid-column: auto;
  }
}
@media (max-width: 720px) {
  .urgent-layout-v176 .transit-home-card {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .urgent-layout-v176 .transit-home-main {
    grid-template-columns: 82px minmax(0,1fr);
    gap: 11px;
  }
  .urgent-layout-v176 .transit-home-logo {
    width: 82px;
    max-width: 82px;
  }
  .urgent-layout-v176 .transit-home-actions {
    justify-content: flex-start;
  }
}

/* v177 official town and village website directory */
.bottom-grid.bottom-grid-compact.municipal-links-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 1180px;
  align-items: start;
}
.municipal-links-grid article {
  min-width: 0;
}
.municipal-links-grid a {
  border-radius: 8px;
  padding: 6px 8px;
  margin-left: -8px;
  transition: background .16s ease, transform .16s ease;
}
.municipal-links-grid a:hover,
.municipal-links-grid a:focus-visible {
  background: rgba(255,255,255,.10);
  text-decoration: none;
  transform: translateX(2px);
}
.municipal-link-note {
  margin: 10px 0 0;
  color: #bcd6eb;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 700;
}
@media (max-width: 900px) {
  .bottom-grid.bottom-grid-compact.municipal-links-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .municipal-links-grid article:last-child {
    grid-column: 1 / -1;
  }
}
@media (max-width: 620px) {
  .bottom-grid.bottom-grid-compact.municipal-links-grid {
    grid-template-columns: 1fr;
  }
  .municipal-links-grid article:last-child {
    grid-column: auto;
  }
}

/* v181: professional Lucide-style icon system */
.sn-icon,
.sn-menu-icon,
.sn-hero-icon,
.sn-dynamic-icon,
.sn-weather-icon,
.sn-provider-svg,
.sn-inline-svg,
.sn-filter-icon {
  display: block;
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
}
.sn-icon-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.sn-icon-heading > span:last-child { min-width: 0; }
.sn-icon-badge {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 34px;
  border: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
}
.sn-icon-badge .sn-icon { width: 19px; height: 19px; }
.sn-icon-badge.tone-blue { color:#0b67c7; background:#edf6ff; border-color:#d2e7fb; }
.sn-icon-badge.tone-teal { color:#087b7b; background:#eaf9f8; border-color:#c9ece9; }
.sn-icon-badge.tone-amber { color:#a45b00; background:#fff5df; border-color:#f0ddae; }
.sn-icon-badge.tone-red { color:#c43434; background:#fff0f0; border-color:#f1cdcd; }
.sn-icon-badge.tone-green { color:#247943; background:#eef9f1; border-color:#cee9d6; }
.sn-icon-badge.tone-purple { color:#7152a5; background:#f5f0fb; border-color:#e1d5f0; }
.sn-icon-badge.tone-navy { color:#083565; background:#edf3f8; border-color:#d2e0ec; }
.sn-icon-badge.tone-slate { color:#52667a; background:#f1f4f6; border-color:#dce3e8; }
.sn-icon-badge.tone-white { color:#fff; background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.24); box-shadow:none; }
.sn-inline-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:17px;
  height:17px;
  flex:0 0 17px;
}
.sn-inline-icon .sn-icon { width:17px; height:17px; }
.sn-page-title {
  display:flex;
  align-items:center;
  gap:12px;
}
.sn-menu-icon { width:23px; height:23px; }
.menu-button { display:inline-flex; align-items:center; justify-content:center; }
.action-icon { display:inline-flex!important; align-items:center; justify-content:center; }
.action-icon .sn-icon { width:20px; height:20px; }
.hero-utility-links a,
.music-home-tools a,
.library-home-tools a,
.community-help-home-tools a {
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.library-tool-icon,
.music-section-icon,
.food-help-icon,
.library-service-icon,
.internet-provider-icon {
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
}
.library-tool-icon .sn-icon,
.music-section-icon .sn-icon { width:28px; height:28px; }
.sn-hero-icon { width:64px; height:64px; }
.sn-dynamic-icon { width:24px; height:24px; }
.sn-inline-svg { width:15px; height:15px; display:inline-block; vertical-align:-2px; margin-right:5px; }
.sn-provider-svg { width:18px; height:18px; }
.sn-weather-icon { width:38px; height:38px; }
.sn-filter-icon { width:15px; height:15px; display:inline-block; vertical-align:-2px; margin-right:5px; }
.forecast-symbol { display:flex; align-items:center; justify-content:center; color:#0b67c7; }
.community-help-home-card > span,
.farm-home-stop > span,
.food-help-icon,
.library-service-icon {
  color:#0b67c7;
}
.bottom-band .sn-icon-heading { color:#fff; }
.bottom-band .sn-icon-heading .sn-icon-badge { margin-left:-2px; }
@media (max-width: 640px) {
  .sn-icon-badge { width:31px; height:31px; flex-basis:31px; border-radius:9px; }
  .sn-icon-badge .sn-icon { width:17px; height:17px; }
  .sn-icon-heading { gap:8px; }
  .action-icon .sn-icon { width:18px; height:18px; }
}

/* v182 public notices center and About brand polish */
.public-notices-shell{max-width:1180px}.public-notices-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:18px;margin-bottom:18px}.public-notices-hero-copy,.public-notices-hero-panel{border-radius:26px;box-shadow:0 14px 40px rgba(8,46,82,.12)}.public-notices-hero-copy{background:linear-gradient(135deg,#073866,#0b67ad);padding:clamp(28px,5vw,50px);color:#fff}.public-notices-hero-copy .eyebrow{color:#9edcff}.public-notices-hero-copy h1{margin:7px 0 15px;font-size:clamp(2.2rem,5vw,4.2rem);line-height:1.02;color:#fff}.public-notices-hero-copy>p:not(.eyebrow){max-width:780px;color:#e6f3fd;font-size:1.06rem;line-height:1.65}.public-notices-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:23px}.public-notices-hero-copy .primary-button{background:#fff;color:#075185;border-color:#fff}.public-notices-hero-copy .secondary-button{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.48)}.public-notices-hero-panel{background:linear-gradient(155deg,#eff8ff,#e9f5ee);padding:28px;display:flex;flex-direction:column;justify-content:center}.public-notices-hero-icon{display:grid;place-items:center;width:68px;height:68px;border-radius:20px;background:#083f72;color:#fff;box-shadow:0 9px 20px rgba(8,63,114,.2)}.public-notices-hero-icon svg{width:31px;height:31px}.public-notices-hero-panel strong{font-size:1.4rem;margin:18px 0 7px;color:#083565}.public-notices-hero-panel p{margin:0;color:#4c667b;line-height:1.55}.public-notices-source-count{display:inline-flex;align-self:flex-start;margin-top:16px;border:1px solid #cfe1ee;background:#fff;color:#365a74;border-radius:999px;padding:7px 10px;font-size:.76rem;font-weight:900}.public-notice-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.public-notice-category-card{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:#fff;border:1px solid #dce7f2;border-radius:17px;padding:15px;text-decoration:none;box-shadow:0 8px 24px rgba(8,46,82,.05);color:inherit}.public-notice-category-card:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(8,46,82,.09);text-decoration:none}.public-notice-category-card strong{display:block;color:#083565;font-size:1rem}.public-notice-category-card small{display:block;color:#60768a;font-weight:700;margin-top:3px;line-height:1.35}.public-notice-category-card>b{color:#0b67c7;font-size:1.4rem}.public-notice-main-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.65fr);gap:16px;margin-bottom:18px}.public-notice-live-card,.public-notice-official-links,.public-notice-municipal-card,.public-notice-sources-card,.public-notice-submit-card{padding:22px}.public-notice-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:13px}.public-notice-section-head h2{margin:3px 0 0}.public-notice-status-pill,.public-notice-directory-note{display:inline-flex;border:1px solid #d7e5f1;background:#f5f9fc;color:#536b80;border-radius:999px;padding:7px 10px;font-size:.75rem;font-weight:900;white-space:nowrap}.public-notice-status-pill.is-live{background:#eaf8ef;border-color:#c6e7d0;color:#237744}.public-notice-status-pill.is-clear{background:#edf7ff;border-color:#d2e7fb;color:#0b67c7}.public-notice-list{display:grid;gap:11px}.public-notice-item{border:1px solid #dce7f2;border-radius:15px;padding:16px;background:linear-gradient(180deg,#fff,#fbfdff)}.public-notice-item-meta{display:flex;gap:7px;flex-wrap:wrap}.public-notice-item-meta span{background:#eef5fb;color:#48647c;border-radius:999px;padding:4px 7px;font-size:.7rem;font-weight:900}.public-notice-item h3{margin:10px 0 6px;color:#083565}.public-notice-item p{margin:0;color:#4d667b;line-height:1.5}.public-notice-item-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid #e3ebf2;font-size:.78rem;font-weight:850}.public-notice-item-footer span{color:#60768a}.public-notice-item-footer a{color:#0b67c7}.public-notice-empty{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;border:1px dashed #cfe0ee;border-radius:17px;padding:20px;background:linear-gradient(135deg,#f8fbff,#f5fbf7)}.public-notice-empty-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#eaf8ef;color:#247943}.public-notice-empty-icon svg{width:24px;height:24px}.public-notice-empty h3{margin:0 0 6px;color:#083565}.public-notice-empty p{margin:0;color:#536d82;line-height:1.5}.public-notice-empty-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.public-notice-empty-links a{display:inline-flex;background:#fff;border:1px solid #d8e6f2;border-radius:999px;padding:7px 10px;color:#0b67c7;font-size:.77rem;font-weight:900}.public-notice-official-links h2{margin:3px 0 12px}.official-notice-link-list{display:grid;gap:8px}.official-notice-link-list a{display:flex;justify-content:space-between;gap:12px;border:1px solid #dfe9f2;border-radius:13px;padding:12px;color:inherit;text-decoration:none;background:#fbfdff}.official-notice-link-list a:hover{background:#f1f7fc;text-decoration:none}.official-notice-link-list strong{color:#083565}.official-notice-link-list span{color:#0b67c7;font-size:.76rem;font-weight:850;text-align:right}.public-notice-intro{color:#536d82;line-height:1.55;max-width:880px}.public-notice-municipal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:15px}.public-notice-municipal-grid>div{border:1px solid #dfe9f2;border-radius:16px;padding:15px;background:#fbfdff}.public-notice-municipal-grid h3{margin:0 0 9px;color:#083565}.public-notice-municipal-grid nav{display:grid;gap:4px}.public-notice-municipal-grid a{display:flex;justify-content:space-between;gap:12px;padding:7px 8px;border-radius:9px;color:#274d6c;font-weight:800;text-decoration:none}.public-notice-municipal-grid a:hover{background:#edf5fb;color:#0b67c7;text-decoration:none}.public-notice-municipal-grid a span{color:#0b67c7}.public-notice-bottom-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:16px;margin-top:18px}.public-notice-source-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.public-notice-source-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #dfe9f2;border-radius:13px;padding:12px;background:#fbfdff;color:inherit;text-decoration:none}.public-notice-source-row:hover{background:#f1f7fc;text-decoration:none}.public-notice-source-row strong{display:block;color:#083565;font-size:.9rem}.public-notice-source-row small{display:block;color:#657b8e;font-weight:700;margin-top:3px}.public-notice-source-row em{font-style:normal;border-radius:999px;background:#edf6ff;color:#0b67c7;padding:5px 7px;font-size:.67rem;font-weight:900;white-space:nowrap}.public-notice-submit-card{background:linear-gradient(145deg,#f5fbf7,#eef7ff)}.public-notice-submit-card>.sn-icon-badge{margin-bottom:13px}.public-notice-submit-card h2{margin:4px 0 9px}.public-notice-submit-card p:not(.eyebrow){color:#506a7f;line-height:1.58}.public-notice-submit-card .primary-button{margin-top:9px}.public-notice-submit-card .text-link{display:block;margin-top:13px;color:#0b67c7;font-weight:900}.public-notice-policy-strip{display:flex;gap:8px;align-items:flex-start;margin:18px 0 4px;padding:14px 16px;border-radius:14px;background:#f5f8fb;border:1px solid #dfe7ef;color:#51697d;font-size:.83rem;line-height:1.5}.public-notice-policy-strip strong{color:#083565;white-space:nowrap}

.about-hero-panel{overflow:hidden;position:relative;background:linear-gradient(155deg,#eef8ff,#e7f3eb)}.about-hero-panel:after{content:"";position:absolute;right:-60px;bottom:-85px;width:190px;height:190px;border-radius:50%;background:rgba(11,103,199,.08)}.about-brand-emblem{position:relative;z-index:1;width:104px;height:104px;border-radius:27px;padding:7px;background:#fff;box-shadow:0 12px 28px rgba(8,46,82,.18);border:1px solid rgba(8,53,101,.12)}.about-brand-emblem img{display:block;width:100%;height:100%;object-fit:cover;border-radius:21px}.about-brand-copy{position:relative;z-index:1}.about-brand-kicker{margin:18px 0 4px!important;color:#0b67c7!important;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:950}.about-brand-copy strong{display:block;margin:0 0 7px}.about-brand-points{position:relative;z-index:1;display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}.about-brand-points span{display:inline-flex;border:1px solid #cfe1ee;background:rgba(255,255,255,.78);color:#315a76;border-radius:999px;padding:6px 8px;font-size:.7rem;font-weight:900}

@media(max-width:900px){.public-notices-hero,.public-notice-main-grid,.public-notice-bottom-grid{grid-template-columns:1fr}.public-notice-municipal-grid{grid-template-columns:1fr 1fr}.public-notices-hero-panel{min-height:230px}.public-notice-source-list{grid-template-columns:1fr}}
@media(max-width:680px){.public-notice-category-grid,.public-notice-municipal-grid{grid-template-columns:1fr}.public-notices-hero-copy,.public-notices-hero-panel{border-radius:20px}.public-notices-actions a{width:100%}.public-notice-section-head{align-items:flex-start;flex-direction:column}.public-notice-item-footer,.public-notice-policy-strip{align-items:flex-start;flex-direction:column}.official-notice-link-list span{text-align:left}.public-notice-empty{grid-template-columns:1fr}}

/* v183 — Schuyler Now push notification preference center */
.push-shell { max-width: 1120px; }
.push-hero {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:28px;
  background:linear-gradient(135deg,#062d58 0%,#0b67c7 72%,#1886d3 100%)!important;
  color:#fff;
  overflow:hidden;
  position:relative;
}
.push-hero:after {
  content:"";
  position:absolute;
  width:300px;
  height:300px;
  right:-110px;
  top:-135px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
}
.push-hero h1 { color:#fff!important; }
.push-hero p:not(.eyebrow) { color:#eaf5ff!important; max-width:760px; }
.push-hero-icon {
  width:94px;
  height:94px;
  border-radius:28px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.24);
  box-shadow:0 18px 40px rgba(0,20,48,.22);
  position:relative;
  z-index:1;
}
.push-hero-icon svg { width:50px; height:50px; }
.push-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(270px,.72fr); gap:18px; align-items:start; }
.push-main-card { padding:22px; }
.push-status { border-radius:16px; padding:14px 16px; display:grid; gap:3px; border:1px solid; margin-bottom:18px; }
.push-status strong { font-size:15px; }
.push-status span { color:#486178; font-weight:700; line-height:1.4; }
.push-status.working { background:#f2f7fc; border-color:#d7e5f1; color:#214e75; }
.push-status.ready { background:#eef7ff; border-color:#c9e0f6; color:#075da9; }
.push-status.ok { background:#edf9f2; border-color:#bfe7ce; color:#13733c; }
.push-status.error { background:#fff0f0; border-color:#f0c6c6; color:#aa2430; }
.push-status.setup { background:#fff8e7; border-color:#f1d99d; color:#805500; }
.push-essential-card { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:14px; align-items:start; padding:18px; border:1px solid #dce8f3; border-radius:18px; background:linear-gradient(135deg,#fff,#f7fbff); }
.push-plan-icon,.push-choice-icon,.push-side-icon { width:44px; height:44px; border-radius:13px; display:grid; place-items:center; background:#eaf3ff; color:#0b67c7; flex:none; }
.push-plan-icon.red { background:#fff0f0; color:#db3143; }
.push-plan-icon svg,.push-choice-icon svg,.push-side-icon svg { width:24px; height:24px; }
.push-kicker { display:block; color:#0b67c7; text-transform:uppercase; letter-spacing:.06em; font-size:11px; font-weight:950; margin-bottom:4px; }
.push-essential-card h2 { margin:0 0 6px; font-size:20px; }
.push-essential-card p { margin:0; color:#466078; font-weight:700; line-height:1.45; }
.push-included { align-self:start; display:inline-flex; border-radius:999px; padding:6px 10px; background:#e7f7ed; color:#16733e; font-size:11px; font-weight:950; }
.push-preferences { margin:20px 0 0; border:0; padding:0; }
.push-preferences legend { color:#083565; font-size:17px; font-weight:950; margin-bottom:10px; }
.push-choice { display:grid; grid-template-columns:auto auto minmax(0,1fr); align-items:center; gap:12px; border:1px solid #dce8f3; border-radius:17px; padding:14px; margin-top:10px; background:#fff; cursor:pointer; transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.push-choice:hover { border-color:#bcd7ed; box-shadow:0 8px 20px rgba(8,46,82,.07); transform:translateY(-1px); }
.push-choice input { width:20px; height:20px; accent-color:#0b67c7; }
.push-choice input:disabled { cursor:not-allowed; }
.push-choice:has(input:disabled) { opacity:.68; cursor:not-allowed; transform:none; box-shadow:none; }
.push-choice-icon.scanner { background:#fff0f0; color:#db3143; }
.push-choice-icon.school { background:#eef1ff; color:#5256b8; }
.push-choice strong { display:block; color:#083565; font-size:16px; }
.push-choice small { display:block; color:#5b7186; font-size:12px; font-weight:700; line-height:1.4; margin-top:3px; }
.push-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:20px; }
.push-actions button { border:0; font:inherit; font-weight:950; cursor:pointer; }
.push-actions button:disabled { opacity:.48; cursor:not-allowed; }
.push-primary,.push-secondary { border-radius:12px!important; padding:12px 16px; }
.push-primary { background:#0b67c7; color:#fff; box-shadow:0 8px 18px rgba(11,103,199,.2); }
.push-secondary { background:#eaf3ff; color:#075ba8; }
.push-text-button { background:transparent; color:#6c7180; padding:10px 4px; }
.push-device-note { margin:16px 0 0; padding-top:14px; border-top:1px solid #e1eaf2; color:#536c83; font-size:12px; font-weight:750; line-height:1.45; }
.push-side-stack { display:grid; gap:14px; }
.push-side-card { padding:18px; }
.push-side-card .push-side-icon { margin-bottom:12px; }
.push-side-icon.teal { background:#e9f8f6; color:#0a8278; }
.push-side-card h2 { margin:0 0 7px; font-size:18px; }
.push-side-card p { margin:0; color:#536a80; font-weight:700; line-height:1.48; }
.push-side-card a { display:inline-block; margin-top:10px; color:#0b67c7; font-weight:900; }
.push-side-card.compact { padding:16px 18px; }
.push-id-row { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:8px!important; }
.push-id-row span { color:#6a7f93; font-size:12px; }
.push-id-row strong { color:#083565; font-size:12px; overflow-wrap:anywhere; text-align:right; }
@media(max-width:850px){
  .push-layout { grid-template-columns:1fr; }
  .push-side-stack { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .push-side-card.compact { grid-column:1 / -1; }
}
@media(max-width:620px){
  .push-hero { grid-template-columns:1fr; padding:26px 20px!important; }
  .push-hero-icon { width:72px; height:72px; border-radius:22px; }
  .push-hero-icon svg { width:38px; height:38px; }
  .push-main-card { padding:16px; }
  .push-essential-card { grid-template-columns:auto 1fr; }
  .push-included { grid-column:2; justify-self:start; }
  .push-choice { grid-template-columns:auto auto minmax(0,1fr); padding:12px; gap:10px; }
  .push-choice-icon { width:38px; height:38px; }
  .push-actions { display:grid; grid-template-columns:1fr; }
  .push-actions button { width:100%; }
  .push-side-stack { grid-template-columns:1fr; }
  .push-side-card.compact { grid-column:auto; }
}


/* v186 — high-contrast Add to Home Screen page */
.install-page { background:#edf4fa; color:#20384d; }
.install-page .simple-page-header a { background:#ffffff; color:#075fae; border-color:#b9cede; }
.install-page .page-hero {
  background:linear-gradient(135deg,#062f59 0%,#075b9b 58%,#0877bb 100%);
  color:#ffffff;
  border:1px solid #07558f;
  box-shadow:0 16px 38px rgba(6,47,89,.24);
}
.install-page .page-hero.compact h1,
.install-page .page-hero h1 { color:#ffffff!important; text-shadow:0 1px 1px rgba(0,0,0,.18); }
.install-page .page-hero .eyebrow,
.install-page .page-hero .eyebrow.blue { color:#bfe8ff!important; }
.install-page .page-hero p,
.install-page .page-hero p:not(.eyebrow) { color:#f2f9ff!important; font-weight:750; line-height:1.62; }
.install-page .page-actions .action-button { border:1px solid rgba(255,255,255,.7); }
.install-page .page-actions .near { background:#ffffff; color:#074f88; box-shadow:0 8px 20px rgba(0,0,0,.18); }
.install-page .page-actions .near:hover { background:#edf8ff; }
.install-page .page-actions .storm { background:#172c3e; color:#ffffff; }
.install-page .page-card { background:#ffffff; border:1px solid #cbdbe7; box-shadow:0 8px 24px rgba(8,46,82,.08); }
.install-page .page-card h2 { color:#083565; }
.install-page .page-card p,
.install-page .page-card li { color:#304b61; font-weight:650; line-height:1.62; }
.install-page .page-card strong { color:#062f59; }
@media(max-width:720px){
  .install-page .page-hero { padding:25px 20px; }
  .install-page .page-actions { display:grid; grid-template-columns:1fr; }
  .install-page .page-actions .action-button { width:100%; }
}

/* v188: Haefele Connect joins Internet Service Status. */
.internet-provider-components {
  display: grid;
  gap: 7px;
  padding: 10px;
  border: 1px solid #dbe6ef;
  border-radius: 12px;
  background: rgba(255,255,255,.72);
}
.internet-provider-component {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  color: #38536b;
  font-size: 12px;
  font-weight: 800;
}
.internet-provider-component span,
.internet-provider-component strong {
  min-width: 0;
  overflow-wrap: anywhere;
}
.internet-provider-component strong {
  position: relative;
  padding-left: 14px;
  color: #526a7e;
  text-align: right;
}
.internet-provider-component strong::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #7c91a5;
  transform: translateY(-50%);
}
.internet-provider-component.status-operational strong { color: #16733a; }
.internet-provider-component.status-operational strong::before { background: #28a557; }
.internet-provider-component.status-degraded strong,
.internet-provider-component.status-maintenance strong,
.internet-provider-component.status-partial_outage strong { color: #8b5b00; }
.internet-provider-component.status-degraded strong::before,
.internet-provider-component.status-maintenance strong::before,
.internet-provider-component.status-partial_outage strong::before { background: #e09b16; }
.internet-provider-component.status-major_outage strong { color: #a02828; }
.internet-provider-component.status-major_outage strong::before { background: #d83e3e; }
@media (min-width: 1050px) {
  .internet-provider-grid.internet-provider-grid-compact,
  .internet-provider-grid.internet-provider-grid-page {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
}
@media (max-width: 560px) {
  .internet-provider-component {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }
  .internet-provider-component strong { text-align: left; }
}


/* v191 homepage obituary expansion: ten compact, recently posted listings */
.obituary-card #obituaries-list {
  max-height: none;
  overflow: visible;
  padding-right: 0;
}
.obituary-card .obituary-item-compact {
  grid-template-columns: minmax(0, 1fr) minmax(150px, auto);
  align-items: center;
  gap: 10px;
  padding: 8px 0;
}
.obituary-card .obituary-item-compact .obituary-name {
  font-size: 15px;
  line-height: 1.2;
}
.obituary-card .obituary-item-compact .obituary-meta {
  margin-top: 1px;
  font-size: 12.5px;
  line-height: 1.25;
}
.obituary-card .obituary-item-compact .obituary-source {
  display: grid;
  justify-items: end;
  gap: 2px;
  text-align: right;
  font-size: 12px;
  line-height: 1.2;
}
.obituary-card .obituary-item-compact .obituary-source span {
  display: block;
  margin: 0;
}
.obituary-card .obituary-item-compact .obituary-funeral-home {
  color: var(--blue);
  font-weight: 900;
}
.obituary-card .obituary-item-compact .obituary-death-date {
  color: var(--muted);
  font-weight: 750;
}
@media(max-width:720px){
  .obituary-card .obituary-item-compact {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }
  .obituary-card .obituary-item-compact .obituary-source {
    display: flex;
    justify-items: initial;
    justify-content: flex-start;
    gap: 8px;
    text-align: left;
    flex-wrap: wrap;
  }
}


/* Schuyler Now v196 — Police Blotter hero contrast and Coming Soon status */
.blotter-page .blotter-hero{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#04294f 0%,#07508f 56%,#0b67c7 100%)!important;
  border:1px solid rgba(255,255,255,.2)!important;
  color:#fff!important;
  box-shadow:0 16px 34px rgba(4,41,79,.24);
  padding-top:72px;
}
.blotter-page .blotter-hero:after{
  content:"";
  position:absolute;
  right:-75px;
  bottom:-110px;
  width:250px;
  height:250px;
  border-radius:50%;
  background:rgba(255,255,255,.07);
  pointer-events:none;
}
.blotter-page .blotter-hero .eyebrow{
  position:relative;
  z-index:1;
  color:#ccecff!important;
  text-shadow:0 1px 1px rgba(0,0,0,.22);
}
.blotter-page .blotter-hero h1{
  position:relative;
  z-index:1;
  color:#fff!important;
  text-shadow:0 2px 3px rgba(0,0,0,.3);
}
.blotter-page .blotter-hero p:not(.eyebrow){
  position:relative;
  z-index:1;
  color:#f2f8ff!important;
  font-weight:800;
  line-height:1.58;
  text-shadow:0 1px 2px rgba(0,0,0,.22);
}
.blotter-coming-soon{
  position:absolute;
  z-index:2;
  top:22px;
  left:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 13px;
  border-radius:999px;
  background:#fff;
  color:#083565;
  border:1px solid rgba(255,255,255,.8);
  box-shadow:0 7px 18px rgba(0,24,55,.2);
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
@media(max-width:720px){
  .blotter-page .blotter-hero{padding:70px 20px 24px}
  .blotter-coming-soon{left:20px;top:20px}
}


/* v198 — provider service components and informational monitoring state */
.internet-provider-card.status-monitoring{
  border-color:#a9cde9;
  background:linear-gradient(180deg,#fbfdff,#edf6ff);
}
.status-monitoring .internet-provider-status-pill{
  background:#e3f1ff;
  color:#075fae;
}
.status-monitoring .internet-provider-status-pill:before{background:#3188d8}
.internet-provider-component.status-monitoring strong{color:#075fae}
.internet-provider-component.status-monitoring strong::before{background:#3188d8}
.internet-provider-components-compact{
  width:100%;
  padding:8px 9px;
  gap:5px;
  background:rgba(255,255,255,.58);
}
.internet-provider-components-compact .internet-provider-component{
  font-size:10.5px;
  line-height:1.25;
}
.internet-provider-components-compact .internet-provider-component strong{
  padding-left:12px;
}
.internet-provider-components-compact .internet-provider-component strong::before{
  width:7px;
  height:7px;
}
@media(min-width:1050px){
  .internet-provider-grid.internet-provider-grid-compact{
    align-items:stretch;
  }
  .internet-provider-card.internet-provider-card-compact{
    height:100%;
  }
}


/* Schuyler Now v199 — single Seneca Insider Pass feature card */
.feature-cards.feature-cards-pass-only{
  grid-template-columns:minmax(0,640px);
  justify-content:center;
}
.feature-cards-pass-only .feature-card.pass{
  width:100%;
}
.feature-cards-pass-only .feature-art-image{
  height:150px;
}
@media(max-width:720px){
  .feature-cards.feature-cards-pass-only{
    grid-template-columns:1fr;
  }
  .feature-cards-pass-only .feature-art-image{
    height:120px;
  }
}

/* Schuyler Now v270 - paired visitor resources */
.feature-cards.feature-cards-paired{
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:1000px;
  margin-left:auto;
  margin-right:auto;
}
.feature-cards-paired .feature-card{
  min-width:0;
}
.feature-cards-paired .feature-art-image{
  height:170px;
}
@media(max-width:720px){
  .feature-cards.feature-cards-paired{
    grid-template-columns:1fr;
  }
  .feature-cards-paired .feature-art-image{
    height:132px;
  }
}

/* Schuyler Now v200 — NOAA GOES lightning activity */
.home-page .status-card.lightning{
  background:linear-gradient(145deg,#f7f2ff 0%,#eef5ff 100%);
  border-color:#cfc3ef;
}
.home-page .status-card.lightning strong{color:#5b2ca0}
.home-page .status-card.lightning .status-label{color:#49316f}
.home-page .status-card.lightning.lightning-active{
  background:linear-gradient(145deg,#fff6dc 0%,#fff0d1 100%);
  border-color:#e9b94f;
  box-shadow:0 12px 26px rgba(143,91,0,.18);
}
.home-page .status-card.lightning.lightning-active strong{color:#a73a12}
.home-page .status-card.lightning.lightning-active .status-label{color:#6d3500}
.home-page .status-card.lightning.lightning-unavailable{background:#f4f7fa;border-color:#cfd9e2}
.home-page .status-card.lightning.lightning-unavailable strong,.home-page .status-card.lightning.lightning-unavailable .status-label{color:#65798b}

.lightning-center-card{
  padding:20px;
  margin:0 0 16px;
  overflow:hidden;
}
.lightning-heading{align-items:flex-start}
.lightning-heading h2{margin:0;color:#083565;font-size:1.55rem}
.lightning-heading-status{display:grid;justify-items:end;gap:5px;text-align:right}
.lightning-heading-status small{font-size:12px;color:#667b8f;font-weight:800}
.lightning-status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:5px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
  background:#e8eef4;
  color:#52687c;
}
.lightning-status-pill.loading{animation:school-loading-pulse 1.1s ease-in-out infinite}
.lightning-status-pill.clear{background:#dff5e7;color:#187244}
.lightning-status-pill.active{background:#ffe6c5;color:#8d3700}
.lightning-status-pill.delayed{background:#edf1f5;color:#5e7284}
.lightning-detail{margin:5px 0 14px;color:#3f5972;font-weight:750;line-height:1.5}
.lightning-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.lightning-summary-grid>div{
  display:grid;
  gap:3px;
  min-height:76px;
  align-content:center;
  padding:11px 13px;
  border:1px solid #d6e2ec;
  border-radius:14px;
  background:#f7fbfe;
}
.lightning-summary-grid strong{color:#083565;font-size:1.55rem;line-height:1}
.lightning-summary-grid span{color:#60758a;font-size:12px;font-weight:850}
.lightning-map{
  height:430px;
  border:1px solid #cbdbe7;
  border-radius:16px;
  overflow:hidden;
  background:#eaf3f9;
}
.lightning-legend{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0 0;color:#53697d;font-size:12px;font-weight:850}
.lightning-legend span{display:inline-flex;align-items:center;gap:6px}
.lightning-legend span:before{content:"";width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.2)}
.lightning-legend .newest:before{background:#ff3b30}
.lightning-legend .recent:before{background:#ff9f0a}
.lightning-legend .older:before{background:#ffd60a}
.storm-shell>.lightning-center-card{margin-bottom:16px}

@media(max-width:760px){
  .lightning-heading{align-items:flex-start;gap:10px}
  .lightning-heading-status{justify-items:start;text-align:left}
  .lightning-summary-grid{grid-template-columns:1fr 1fr}
  .lightning-map{height:360px}
}
@media(max-width:430px){
  .lightning-center-card{padding:15px}
  .lightning-summary-grid{gap:8px}
  .lightning-summary-grid>div{padding:10px;min-height:68px}
  .lightning-summary-grid strong{font-size:1.3rem}
  .lightning-map{height:320px}
}

/* Schuyler Now v202 — keep Leaflet vector overlays at their native size.
   The site's global responsive canvas/svg rule was shrinking the overlay renderer,
   leaving lightning points and distance rings off-screen while map tiles remained visible. */
.leaflet-container .leaflet-overlay-pane svg,
.leaflet-container .leaflet-overlay-pane canvas {
  max-width: none !important;
  max-height: none !important;
}
