/* South Florida Blitz — REA/UI Unslop editorial system, 2026-11-05.
   Adapted to the existing static publication; preserves article URLs and JS filters.
   Design direction: local newsroom meets useful city guide, not neon dashboard. */
:root {
  --paper: #f5f7f7;
  --paper-2: #fff;
  --card: #fff;
  --card-hover: #f5fbfb;
  --ink: #102435;
  --ink-light: #354b5a;
  --muted: #637785;
  --line: #dae3e5;
  --accent: #006c74;
  --accent-dark: #ba5845;
  --neon-glow: none;
  --neon-glow-strong: none;
}
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { background: var(--paper); color: var(--ink); line-height: 1.58; }
a { color: #00656c; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid #ef8972; outline-offset: 3px; }
.container { width: min(1312px, calc(100% - 48px)); padding: 0; }
.site-header { background: #0d2535; border-bottom: 1px solid rgba(255,255,255,.1); box-shadow: none; }
.header-inner { padding: 17px 0; gap: 20px; flex-wrap: nowrap; }
.brand { color: #fff; gap: 8px; white-space: nowrap; }
.brand-mark { font-size: 23px; color: #40d5ce; text-shadow: none; }
.brand-text { font-size: clamp(1.05rem,1.5vw,1.46rem); letter-spacing: -.035em; }
.brand-text strong { color: #48d5cf; }
.header-tagline { font-size: .76rem; color: #a9c3cc; text-transform: uppercase; letter-spacing: .08em; white-space: nowrap; }
.nav { display: flex; align-items: center; gap: clamp(8px,1.35vw,25px); white-space: nowrap; font-size: .8rem; text-transform: uppercase; letter-spacing: .035em; font-weight: 650; }
.nav a { color: #ecf4f5; }
.nav a:hover, .nav a:focus-visible { color: #7be1db; }
.breaking-ticker { background: #a53f38; border: 0; height: 37px; }
.breaking-ticker-label { background: #8f322f; }
/* One purposeful hero. Dark overlay keeps the editorial headline readable. */
.hero { background: linear-gradient(95deg,rgba(8,30,46,.98) 0%,rgba(8,30,46,.91) 42%,rgba(8,30,46,.3) 100%), url('/media/editorial/miami-skyline.webp') center 51% / cover no-repeat; color: #fff; min-height: 368px; display: flex; align-items: center; padding: 48px 0 54px; }
.hero::after { background: linear-gradient(0deg,rgba(3,19,32,.35),transparent 50%); }
.hero-inner { width: min(1312px, calc(100% - 48px)); }
.hero-content { max-width: 755px; }
.hero-kicker { color: #6af0dd; font-size: .76rem; letter-spacing: .18em; margin-bottom: 16px; }
.hero-title { color: #fff; font-size: clamp(2.9rem,5.2vw,5.25rem); line-height: .99; letter-spacing: -.04em; font-weight: 700; max-width: 840px; margin-bottom: 18px; }
.hero-sub { max-width: 670px; color: #e5eff1; line-height: 1.5; font-size: clamp(1rem,1.35vw,1.16rem); margin-bottom: 24px; }
.hero-actions { gap: 12px; }
.hero-cta, .hero-cta-secondary { min-height: 46px; padding: 11px 18px; border-radius: 4px; font-size: .91rem; font-weight: 700; transition: background-color .15s ease, border-color .15s ease; }
.hero-cta { color: #18252e; background: #64e0d3; }
.hero-cta:hover { color: #0a2530; background: #b7f3ed; transform: none; }
.hero-cta-secondary { color: #fff; background: rgba(5,20,30,.38); border: 1px solid rgba(255,255,255,.7); }
.hero-cta-secondary:hover { background: rgba(255,255,255,.16); color: #fff; border-color: #fff; }
.county-rail { background: #fff; border-bottom: 1px solid #dce6e7; }
.county-rail-inner { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); }
.county-rail a { min-width: 0; display: flex; align-items: center; gap: 15px; padding: 17px 18px; border-right: 1px solid #dce6e7; color: var(--ink); text-decoration: none; transition: background-color .15s ease; }
.county-rail a:first-child { padding-left: 0; }
.county-rail a:last-child { border-right: none; }
.county-rail a:hover { background: #f3f9f9; }
.county-rail a > span:last-child { color: #007c7f; font-size: 1.4rem; margin-left: auto; }
.county-index { font-family: var(--font-serif); font-size: 2rem; font-weight: 700; font-style: italic; line-height: 1; color: #d66f58; }
.county-rail strong { display: block; font-size: .86rem; text-transform: uppercase; letter-spacing: .08em; }
.county-rail small { display: block; color: #667985; font-size: .78rem; margin-top: 2px; line-height: 1.25; }
.main-layout { padding-top: 33px; padding-bottom: 64px; gap: 30px; align-items: start; }
@media (min-width: 980px) { .main-layout { grid-template-columns: minmax(0,1fr) 330px; gap: 34px; } }
.section-eyebrow { font-size: .72rem; font-weight: 750; color: #00717a; letter-spacing: .14em; text-transform: uppercase; line-height: 1.4; margin-bottom: 7px; }
.feed-header { align-items: end; gap: 15px; margin-bottom: 17px; }
.feed-header h2 { font: 700 clamp(1.8rem,2.8vw,2.6rem)/1.12 var(--font-serif); letter-spacing: -.03em; color: var(--ink); }
.feed-header .muted { color: var(--muted); }
.filter-row { align-items: center; gap: 6px; }
.filter-chip { padding: 8px 13px; color: #335260; background: #fff; border: 1px solid #d3dfe1; border-radius: 3px; font-size: .79rem; letter-spacing: .01em; }
.filter-chip:hover { box-shadow: none; border-color: #087982; color: #075d64; }
.filter-chip.is-active { background: #0d3343; color: #fff; border-color: #0d3343; box-shadow: none; }
.freshness-notice { margin: 0 0 14px; padding: 12px 15px; border-left: 3px solid #bc6953; background: #fff5f0; color: #754736; border-radius: 0 4px 4px 0; font-size: .84rem; }
.site-changelog { background: #e9f1f1; border-left: 3px solid #0d8990; color: #405463; font-size: .78rem; padding: 10px 12px; margin: 0 0 16px; }
.changelog-label { color: #036c74; }
.changelog-detail { color: #4d6671; }
#lead-story { margin-bottom: 22px; }
.lead-card { border: 1px solid #dce4e6; border-top: 0; border-radius: 4px; box-shadow: 0 4px 22px rgba(8,37,54,.05); overflow: hidden; background: #fff; }
.lead-card:hover { box-shadow: 0 8px 22px rgba(8,37,54,.07); transform: none; }
.lead-card-text-only { position: relative; border-left: 5px solid #0a8990; }
.lead-card-text-only .lead-copy { padding: clamp(22px,3vw,40px); }
.lead-card-text-only .lead-copy h2 { font-size: clamp(1.7rem,3vw,2.8rem); letter-spacing: -.024em; line-height: 1.12; }
.lead-copy { padding: 25px 28px; }
.lead-copy h2 { letter-spacing: -.03em; line-height: 1.16; }
.lead-copy h2 a, .story-row h3 a { color: #0e2534; }
.lead-copy h2 a:hover, .story-row h3 a:hover { color: #037b83; }
.story-kicker, .story-kicker-small { color: #00707b; font-size: .7rem; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.story-excerpt, .lead-excerpt { color: #425867; }
.story-actions { gap: 13px; }
.story-actions .btn-primary { background: #0d3544; color: #fff; border-color: #0d3544; }
.story-actions .btn-primary:hover { background: #006c74; }
.story-actions a, .read-link { color: #00656c; }
.story-feed { background: #fff; border: 1px solid #dce6e7; border-radius: 4px; }
.story-row { padding: 21px 23px; background: #fff; border-bottom: 1px solid #e1e8eb; gap: 8px; }
.story-row:hover { background: #f7fbfb; box-shadow: none; transform: none; }
.story-row-text-only { padding-left: 26px; }
.story-row-text-only::before { left: 0; top: 22px; bottom: 22px; width: 3px; border-radius: 0; background: #0e858b; }
.story-row:hover .story-row-text-only::before { width: 3px; }
.story-row h3 { font-family: var(--font-serif); letter-spacing: -.02em; }
.story-meta { color: #647582; }
.load-more-stories { border-radius: 4px; box-shadow: none; border: 1px solid #cddcde; background: #fff; color: #00636c; font-weight: 700; padding: 13px; }
.load-more-stories:hover { background: #e9f6f5; box-shadow: none; }
.sidebar { gap: 17px; }
.sidebar-card { border: 1px solid #dbe4e6; border-radius: 4px; box-shadow: none; padding: 22px 23px; background: #fff; }
.sidebar-card h2 { color: #122838; font: 700 1.4rem/1.16 var(--font-serif); letter-spacing: -.02em; }
.sidebar-card p { color: #50616e; }
.sidebar-card .section-eyebrow { color: #00747b; }
.newsletter-card { background: #0d2939; border: 1px solid #0d2939; color: #fff; padding: 23px; }
.newsletter-card .section-eyebrow { color: #5ee1d4; }
.newsletter-card h2 { color: #fff; font-size: 1.65rem; margin-bottom: 9px; }
.newsletter-card > p:not(.section-eyebrow) { color: #c9dadd; line-height: 1.48; font-size: .9rem; }
.newsletter-card form { margin-top: 18px; display: grid; gap: 9px; }
.newsletter-card form label:not(.newsletter-consent) { font-size: .77rem; font-weight: 650; color: #e3f3f3; }
.newsletter-card input[type=email], .newsletter-card select { width: 100%; min-height: 43px; border: 1px solid #a7bfc6; border-radius: 3px; padding: 10px; font: inherit; color: #132b35; background: #fff; }
.newsletter-card select { appearance: auto; }
.newsletter-consent { display: flex; align-items: flex-start; gap: 9px; margin: 5px 0 0; font-size: .74rem; color: #e5eeee; line-height: 1.4; }
.newsletter-consent input { margin-top: 4px; flex: 0 0 auto; }
.newsletter-submit { border: 0; border-radius: 3px; min-height: 44px; background: #61e2d5; color: #0d2939; font: 700 .91rem var(--font-sans); cursor: pointer; margin-top: 5px; }
.newsletter-submit:hover { background: #b4f8ed; }
.newsletter-submit span { float: right; margin-right: 13px; }
.newsletter-card small { color: #c3d6d7; line-height: 1.5; }
.newsletter-card small a { color: #9aeee5; }
.bot-field { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; overflow: hidden !important; pointer-events: none !important; }
.guides-card a { display: flex; justify-content: space-between; border-top: 1px solid #e1e9ea; padding: 12px 0; color: #134150; text-decoration: none; font-weight: 700; font-size: .84rem; }
.guides-card a:hover { color: #007982; }
.guides-card a:last-child { padding-bottom: 0; }
.sponsor-card { background: #e4f4f2; border-color: #c7e9e5; }
.sponsor-card h2 { font-size: 1.55rem; }
.sponsor-card p:not(.section-eyebrow) { font-size: .86rem; margin: 8px 0 14px; color: #395c61; }
.sponsor-action { font-size: .86rem; text-decoration: none; font-weight: 800; color: #095962; }
.sponsor-action:hover { text-decoration: underline; }
.alert-status-card { background: #fff; }
.alert-status-card p { font-size: .84rem; }
.optin-card { box-shadow: none; }
.optin-card button { color: #fff; }
.topic-list li { color: #344e5b; }
.site-footer { background: #0d2535; border-top: 3px solid #0b8b91; }
.site-footer .container, .site-footer p, .site-footer .muted { color: #e2eeee; }
.site-footer a { color: #81e4dc; }
.site-footer a:hover { color: #fff; }
.article-wrap { max-width: 780px; padding-top: 35px; }
.article-page .article-wrap { max-width: 780px; }
.article-kicker { color: #00747b; }
.article-body { color: #193140; }
.article-body p, .article-body li { line-height: 1.78; }
.article-body a, .article-back a { color: #006f79; }
.article-source { color: #58717f; }
.ad-slot { border-color: #d0e0e2; background: #f2f7f7; }
.ad-slot .ad-label { color: #607581; }
.tracking-consent { box-shadow: 0 8px 30px rgba(0,20,30,.18); background: #fff; color: #18313f; border: 1px solid #b8cdd0; border-radius: 6px; max-width: 820px; padding: 13px 17px; }
.tracking-consent p { color: #435f6a; font-size: .79rem; }
.tracking-consent strong { font-size: .85rem; }
.tracking-consent a { color: #006e78; }
.tracking-consent button { border: 1px solid #b9cdd0; border-radius: 3px; color: #18313f; font-size: .75rem; background: #fff; min-height: 36px; }
.tracking-consent button.primary { background: #0d3544; border-color: #0d3544; color: #fff; }
.tracking-consent button:hover { border-color: #00747b; }
.subscribe-success { padding: 90px 0; min-height: 68vh; max-width: 720px; }
.subscribe-success h1 { font: 700 clamp(2.5rem,5vw,4rem)/1.05 var(--font-serif); margin: 12px 0 22px; }
.subscribe-success p:not(.section-eyebrow) { margin: 0 0 18px; font-size: 1.1rem; color: #3f5968; }
.subscribe-success a { color: #00676e; font-weight: 700; }
@media (max-width: 1120px) { .header-tagline { display: none; } .nav { gap: 13px; font-size: .75rem; } }
@media (max-width: 800px) {
  .container, .hero-inner { width: min(100% - 32px, 720px); }
  .site-header { position: relative; }
  .header-inner { flex-wrap: wrap; padding: 13px 0 11px; gap: 9px; }
  .nav { width: 100%; overflow-x: auto; flex-wrap: nowrap; gap: 20px; padding: 5px 0 1px; scrollbar-width: none; }
  .nav::-webkit-scrollbar { display: none; }
  .hero { min-height: 315px; padding: 38px 0; background-position: center, 62% center; }
  .hero-title { font-size: clamp(2.65rem,8vw,4rem); }
  .hero-sub { font-size: .97rem; }
  .county-rail-inner { grid-template-columns: repeat(3, minmax(210px,1fr)); overflow-x: auto; }
  .county-rail a { padding: 13px; gap: 10px; }
  .county-rail a:first-child { padding-left: 13px; }
  .county-index { font-size: 1.7rem; }
  .main-layout { gap: 22px; }
  .sidebar { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .newsletter-card { grid-row: span 2; }
  .tracking-consent { margin: 0; left: 9px; right: 9px; bottom: 9px; max-width: none; }
}
@media (max-width: 580px) {
  .hero { min-height: 290px; padding: 30px 0 37px; background-image: linear-gradient(95deg,rgba(8,30,46,.98),rgba(8,30,46,.8)),url('/media/editorial/miami-skyline.webp'); }
  .hero-title { font-size: clamp(2.5rem,11vw,3.5rem); margin-bottom: 12px; }
  .hero-sub { font-size: .91rem; }
  .hero-actions { gap: 9px; }
  .hero-cta,.hero-cta-secondary { padding: 11px 12px; font-size: .8rem; }
  .main-layout { padding-top: 25px; }
  .feed-header { align-items: start; }
  .feed-header h2 { font-size: 1.9rem; }
  .filter-row { display: flex; flex-wrap: nowrap; overflow-x: auto; width: 100%; padding-bottom: 5px; }
  .filter-chip { white-space: nowrap; flex: 0 0 auto; }
  .lead-card-text-only .lead-copy { padding: 22px; }
  .lead-card-text-only .lead-copy h2 { font-size: 1.7rem; }
  .story-row { padding: 19px; }
  .story-row-text-only { padding-left: 23px; }
  .sidebar { display: block; }
  .sidebar-card { margin-bottom: 16px; }
  .tracking-consent { padding: 11px; flex-direction: column; align-items: stretch; gap: 8px; }
  .tracking-consent p { font-size: .72rem; }
  .tracking-consent-actions { flex-wrap: nowrap; }
  .tracking-consent button { padding: 6px 8px; font-size: .7rem; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Allow horizontally scrollable filters inside a shrinkable grid track on phones. */
.main-layout { grid-template-columns: minmax(0,1fr); }
.feed-section, .sidebar { min-width: 0; }
.filter-row { max-width: 100%; }
@media (min-width: 980px) { .main-layout { grid-template-columns: minmax(0,1fr) 330px; } }

/* Direct-sold sponsor inquiry, distinct from programmatic advertising. */
.sponsor-lead { background:#e7f4f2; border:1px solid #c6e3e1; border-radius:5px; padding:24px; margin:30px 0; }
.sponsor-lead h3 { font:700 1.6rem/1.12 var(--font-serif); margin:6px 0 12px; }
.sponsor-lead p { color:#39535e; }
.sponsor-lead form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:18px; }
.sponsor-lead label { display:grid; gap:6px; font-size:.84rem; font-family:var(--font-sans); color:#264653; font-weight:700; }
.sponsor-lead label:has(textarea),.sponsor-lead label.newsletter-consent,.sponsor-lead button { grid-column:1/-1; }
.sponsor-lead input:not([type=checkbox]),.sponsor-lead select,.sponsor-lead textarea { width:100%; background:#fff; border:1px solid #b9d1d2; border-radius:3px; padding:11px; min-height:43px; font:inherit; font-weight:400; }
.sponsor-lead label.newsletter-consent { display:flex; }
.sponsor-lead button { cursor:pointer; max-width:430px; }
@media (max-width:580px) { .sponsor-lead { padding:17px; } .sponsor-lead form { grid-template-columns:minmax(0,1fr); } }


/* Licensed-image and resource-guide system */
.visual-credit {display:block; color:#506873; font-size:.72rem; line-height:1.5; margin:5px 0 10px;}
.photo-credit,.guide-photo figcaption {padding:8px 12px 11px; color:#4b6671; background:#f3f8f8; font:.77rem/1.5 var(--font-sans,system-ui,sans-serif);}
.article-hero img,.guide-photo img {display:block; width:100%; height:auto; object-fit:cover;}
.article-transparency {font-size:.82rem; color:#617780; border-bottom:1px solid #dbe6e7; padding-bottom:14px; margin:0 0 20px;}
.article-next-step {margin:2rem 0 0; border-left:4px solid #007a82; padding:15px 18px; background:#ebf4f5; font-size:.95rem;}
.article-next-step a {font-weight:650;}
.guide-lede {color:#4e6572; font-size:1.1rem; line-height:1.6; margin-bottom:20px;}
.guide-photo {margin:0 0 25px; border:1px solid #dce4e6; background:#fff;}
.guide-photo img {max-height:380px;}
.guide-checked {color:#617381; font-size:.84rem; padding-top:20px; border-top:1px solid #dbe4e6;}
.guide-index {list-style:none; padding:0; display:grid; gap:12px;}
.guide-index li a {display:block; text-decoration:none; border:1px solid #d9e5e5; background:#fff; border-radius:6px; padding:16px;}
.guide-index li a:hover {border-color:#00757b; background:#f5fbfb;}
.guide-index strong {display:block; font-family:var(--font-serif,Georgia,serif); font-size:1.2rem; color:#153548;}
.guide-index span {display:block; font-size:.9rem; color:#516875; margin-top:4px;}
.resource-links {display:flex; flex-direction:column; gap:8px; padding-top:16px; border-top:1px solid #dde6e8; margin-top:16px;}
.resource-links a {display:block; font-size:.86rem; text-decoration:none; border-bottom:1px solid #e5eaec; padding:6px 0;}
.package-grid {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:22px 0;}
.package-grid article {border:1px solid #d6e3e5; border-radius:6px; background:#fff; padding:18px;}
.package-grid h3 {margin:0 0 8px;}
.package-grid p {font-size:.9rem; margin:0;}
@media (max-width:620px) {.package-grid {grid-template-columns:1fr;}.article-wrap {width:min(100% - 28px,720px);}.article-transparency {line-height:1.6;}}

/* LIVE SOURCE WATCH */
.wire-desk{background:#eaf2f1;border-bottom:1px solid #d3e1e1;padding:25px 0 28px}
.wire-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:15px}
.wire-head h2{font:760 clamp(1.5rem,2.6vw,2rem)/1.14 var(--font-serif,Georgia,serif);letter-spacing:-.025em;color:#133747;margin:0 0 8px}
.wire-head p:not(.section-eyebrow){margin:0;max-width:780px;color:#4c6670;font-size:.85rem}
.wire-live-mark{font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;border:1px solid #a5c8c4;border-radius:40px;padding:5px 10px;color:#24655f;white-space:nowrap}
.wire-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.wire-column{min-width:0;border:1px solid #d7e5e4;background:#fff;border-radius:8px;padding:13px 15px 10px}
.wire-column h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#00747a;margin:0 0 8px}
.wire-item{padding:10px 0;border-top:1px solid #edf1f2}
.wire-item a{font-size:.87rem;line-height:1.37;font-weight:680;color:#213e4d;text-decoration:none;display:block}
.wire-item a:hover{text-decoration:underline;color:#006d74}
.wire-where{font-size:.69rem;color:#758b91;margin:4px 0 0}
.wire-foot,.wire-loading,.wire-empty{font-size:.77rem;color:#687e87;margin:11px 0 0}
@media(max-width:750px){.wire-grid{grid-template-columns:1fr}.wire-head{flex-wrap:wrap}.wire-head h2{font-size:1.6rem}.wire-column{padding:14px}}

/* ZOHO BLITZ BRIEF — provider-hosted opt-in */
.zoho-brief-subscription{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:16px}
.zoho-brief-subscription .newsletter-provider-note{font-size:.87rem;color:#4d6b77;margin:0}
.zoho-brief-submit{display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;width:100%;min-height:48px;gap:8px}
.zoho-brief-submit:hover{text-decoration:none}
.zoho-brief-subscription small{font-size:.74rem;line-height:1.5;color:#57717b}

/* EAT EXPLORE HOMEPAGE LINK */
.explore-home-callout{background:#f9f7f0;border-top:1px solid #e8e8dc;border-bottom:1px solid #e0e1d5;padding:22px 0}
.explore-home-inner{display:flex;align-items:center;justify-content:space-between;gap:22px}
.explore-home-inner h2{font:760 clamp(1.25rem,2.2vw,1.75rem)/1.2 Georgia,serif;letter-spacing:-.02em;color:#14394a;margin:0 0 6px}
.explore-home-inner p:not(.section-eyebrow){color:#5b717a;font-size:.86rem;max-width:680px;margin:0}
.explore-home-button{background:#0b5f64;color:white!important;white-space:nowrap;text-decoration:none;border-radius:6px;padding:12px 17px;font-size:.82rem;font-weight:800}
.explore-home-button:hover{background:#087c7d}
@media(max-width:680px){.explore-home-inner{flex-direction:column;align-items:stretch}.explore-home-button{text-align:center}}
