
:root {
  --font-heading-name: 'Merriweather';
  --font-body-name: 'Inter';
  --space-base: 1rem;
  --radius-small: 4px;
  --radius-large: 8px;
  --shadow-custom: 0px 2px 8px rgba(0,0,0,0.12);
  --shadow-custom-hover: 0px 4px 16px rgba(0,0,0,0.18);
}
body { min-height: 100%; }
.ticker-scroll { display: flex; animation: ticker 45s linear infinite; white-space: nowrap; }
@keyframes ticker { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.video-overlay { background: linear-gradient(to top, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.35) 50%, transparent 100%); }
.play-btn { transition: transform 0.2s ease, background 0.2s ease; }
.play-btn:hover { transform: scale(1.08); }
.nav-link:hover, .nav-link.is-active { border-bottom: 3px solid #dc2626; color: #dc2626; }
.category-tag { letter-spacing: 0.5px; }
.weather-gradient { background: linear-gradient(135deg, #1e3a5f 0%, #2563eb 100%); }
.story-card, .lift-card, .news-card, .mini-card { transition: transform 0.22s ease, box-shadow 0.22s ease, opacity 0.22s ease; }
.story-card:hover, .lift-card:hover, .news-card:hover, .mini-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-custom-hover); }
.mobile-nav { display: none; }
.mobile-nav.is-open { display: block; }
.prose-copy p { margin-top: 1rem; color: rgb(75 85 99); line-height: 1.8; }
.prose-copy h2 { margin-top: 2rem; font-family: var(--font-heading-name), serif; font-weight: 700; font-size: 1.5rem; color: rgb(17 24 39); }
.prose-copy ul { list-style: disc; padding-left: 1.25rem; margin-top: 1rem; color: rgb(75 85 99); }
.news-card-image { aspect-ratio: 16 / 10; object-fit: cover; width: 100%; }
.hero-card-image { min-height: 20rem; object-fit: cover; width: 100%; }
.news-grid[data-loading="true"] { opacity: 0.55; }
.news-badge { border-radius: 9999px; padding: 0.25rem 0.6rem; font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; }
.news-section-label { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.75rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: #dc2626; }
.news-section-label::before { content: ''; width: 0.35rem; height: 0.35rem; border-radius: 9999px; background: #dc2626; }
.news-source { font-size: 0.75rem; color: rgb(107 114 128); }
.news-summary { color: rgb(75 85 99); line-height: 1.7; }
.status-pill { display: inline-flex; align-items: center; gap: 0.4rem; border-radius: 9999px; background: rgba(220, 38, 38, 0.1); color: #b91c1c; padding: 0.45rem 0.8rem; font-size: 0.75rem; font-weight: 700; }
.status-pill::before { content: ''; width: 0.45rem; height: 0.45rem; border-radius: 9999px; background: currentColor; }
.loading-pulse { position: relative; overflow: hidden; background: rgb(229 231 235); }
.loading-pulse::after { content: ''; position: absolute; inset: 0; transform: translateX(-100%); background: linear-gradient(90deg, rgba(229,231,235,0) 0%, rgba(255,255,255,0.75) 50%, rgba(229,231,235,0) 100%); animation: shimmer 1.4s infinite; }
@keyframes shimmer { 100% { transform: translateX(100%); } }
.breaking-chip { display: inline-flex; align-items: center; border-radius: 9999px; background: rgba(255,255,255,0.14); padding: 0.3rem 0.65rem; font-size: 0.75rem; }
.section-shell { border-radius: 1rem; background: white; box-shadow: var(--shadow-custom); }
.dark-panel { border-radius: 1rem; background: #111827; color: white; box-shadow: var(--shadow-custom); }
@media (max-width: 1023px) { .desktop-nav { display: none; } }


/* Modern enhancements */

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
.site-shell { background: linear-gradient(180deg, #f8fafc 0%, #f9fafb 100%); }
.glass-panel { background: rgba(255,255,255,0.72); backdrop-filter: blur(14px); border: 1px solid rgba(255,255,255,0.55); }
.headline-balance { text-wrap: balance; }
.top-story-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 1.5rem; }
.smart-card { border-radius: 1rem; overflow: hidden; background: white; box-shadow: var(--shadow-custom); }
.smart-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-custom-hover); }
.smart-card, .feature-panel, .cta-panel { transition: transform .24s ease, box-shadow .24s ease; }
.feature-panel { border-radius: 1rem; background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%); box-shadow: var(--shadow-custom); }
.cta-panel { border-radius: 1rem; background: linear-gradient(135deg, #111827 0%, #1f2937 45%, #dc2626 100%); color: white; box-shadow: var(--shadow-custom); }
.app-hero { background: radial-gradient(circle at top right, rgba(220,38,38,0.22), transparent 28%), linear-gradient(135deg, #111827 0%, #0f172a 40%, #1d4ed8 100%); }
.device-frame { border-radius: 2rem; padding: .75rem; background: linear-gradient(160deg, #0f172a, #1f2937); box-shadow: 0 18px 50px rgba(15,23,42,.35); }
.device-screen { border-radius: 1.5rem; overflow: hidden; background: #fff; min-height: 30rem; }
.chip-row { display: flex; gap: .5rem; flex-wrap: wrap; }
.chip { display: inline-flex; align-items: center; gap: .4rem; border-radius: 9999px; padding: .45rem .8rem; font-size: .75rem; font-weight: 700; background: rgba(255,255,255,.12); color: white; }
.stat-card { border-radius: 1rem; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.1); padding: 1rem; }
.subtle-grid { display: grid; gap: 1.25rem; }
.footer-mini { font-size: .8rem; color: rgb(156 163 175); }
.sticky-cta { position: sticky; top: 5.5rem; }
.install-banner { display:none; }
.install-banner.is-visible { display:block; }
@media (max-width: 1023px) {
  .top-story-grid { grid-template-columns: 1fr; }
  .sticky-cta { position: static; }
}
