[hidden] { display: none !important; }
.coverage-grid a { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.coverage-grid strong { line-height: 1.25; font-size: 1.1rem; letter-spacing: normal; }
.coverage-grid span { margin: 0; line-height: 1.6; overflow-wrap: break-word; }
.story-card { padding: 0; overflow: hidden; border: 2px solid #69766d; border-radius: 5px; display: flex; flex-direction: column; }
.story-card:focus-visible { outline: 3px solid #e55a35; outline-offset: 4px; }
.story-thumbnail { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; border-bottom:1px solid #69766d; background:#e7ebe4; }
.story-card-copy { padding:24px; }
.story-card-copy h3 { line-height:1.2; }
.story-card-copy > p:not(.eyebrow) { color:var(--muted); line-height:1.6; }
.author-contact a { text-decoration:underline; overflow-wrap:anywhere; }
.newsletter-form { align-items:end; }
.newsletter-form input { width:100%; border-radius:3px; color:#111315; }
.newsletter-form button { cursor:pointer; border-radius:3px; }
.newsletter-form button:disabled { opacity:.65; cursor:wait; }
.newsletter-form .newsletter-consent { grid-column:1/-1; display:flex; align-items:flex-start; font-weight:400; font-size:.95rem; }
.newsletter-consent input { width:20px; min-height:20px; margin:3px 8px 0 0; flex-shrink:0; }
.newsletter-consent a, .newsletter a { text-decoration:underline; }
.newsletter-form .trap-field { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
#newsletter-status { min-height:1.6em; }
.consent-dialog { border:1px solid #69766d; border-radius:10px; max-width:560px; width:calc(100% - 32px); padding:32px; color:var(--ink); background:var(--paper); box-shadow:0 20px 90px #0005; }
.consent-dialog::backdrop { background:#081b16b3; }
.consent-dialog h2 { font-size:2rem; line-height:1.2; }
.consent-dialog a { text-decoration:underline; }
.consent-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:24px; }
.consent-actions button { min-height:48px; padding:12px; border:1px solid var(--pine); border-radius:3px; background:var(--pine); color:white; font:inherit; font-weight:700; cursor:pointer; }
.text-button { border:0; background:none; color:var(--pine); text-decoration:underline; font:inherit; cursor:pointer; padding:12px 0; }
.legal-copy h2 { font-size:1.8rem; margin-top:36px; line-height:1.2; }
@media(max-width:800px) { .story-grid,.coverage-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .newsletter-form { grid-template-columns:1fr; } }
@media(max-width:520px) { .story-grid,.coverage-grid { grid-template-columns:1fr; } .consent-actions { grid-template-columns:1fr; } }
