/*
Theme Name: LocalNews Shared Proof
Description: Independent Site B presentation over the shared LocalNews data and media layers.
Version: 1.0.0
*/

:root { --ink:#102a43; --teal:#007f7b; --mint:#e7f7f4; --paper:#fbfdfc; --line:#cfe4df; --coral:#d65a45; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:inherit; }
.site-header { padding:22px 0; color:#fff; background:var(--teal); }
.shell { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.brand { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.brand a { color:#fff; font-size:24px; font-weight:800; text-decoration:none; }
.brand span { font-size:13px; opacity:.82; }
.hero { padding:72px 0 46px; background:linear-gradient(135deg,var(--mint),#fff 65%); }
.eyebrow { margin:0 0 12px; color:var(--coral); font-size:12px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
h1 { max-width:850px; margin:0; font-size:clamp(40px,6vw,72px); line-height:.98; letter-spacing:-.045em; }
.intro { max-width:740px; margin:22px 0 0; color:#486581; font-size:18px; line-height:1.65; }
.stats { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin-top:34px; }
.stat { padding:18px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.stat strong { display:block; font-size:26px; }
.stat span { color:#627d98; font-size:13px; }
.content { padding:46px 0 80px; }
.content h2 { margin:0 0 24px; font-size:32px; }
.cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.card { overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 12px 34px rgba(16,42,67,.08); }
.card img { width:100%; aspect-ratio:16/10; object-fit:cover; display:block; }
.card-body { padding:22px; }
.card small { color:var(--coral); font-weight:800; text-transform:uppercase; letter-spacing:.12em; }
.card h3 { margin:10px 0 12px; font-size:21px; line-height:1.25; }
.card h3 a { text-decoration:none; }
.card p { color:#627d98; line-height:1.55; }
.detail { max-width:860px; padding:54px 0 90px; }
.detail img { width:100%; max-height:560px; object-fit:cover; border-radius:20px; }
.detail h1 { margin:28px 0; font-size:clamp(36px,5vw,62px); }
.detail-copy { font-size:18px; line-height:1.75; }
footer { padding:28px 0; color:#d9f2ee; background:#075e5b; }
@media (max-width:850px) { .stats { grid-template-columns:repeat(2,1fr); } .cards { grid-template-columns:1fr; } }

