:root { --paper:#f4f0e8; --ink:#171716; --muted:#6e6b64; --line:#c9c3b7; --accent:#9e2a2b; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:'Iowan Old Style','Palatino Linotype','Book Antiqua',Georgia,'Times New Roman',serif; text-rendering:optimizeLegibility; }
a { color:inherit; text-decoration:none; }
.masthead, main, .site-footer { width:min(1180px, calc(100% - 40px)); margin:auto; }
.utility-bar { display:flex; justify-content:space-between; padding:12px 0; border-bottom:1px solid var(--line); color:var(--muted); font:600 11px/1.2 Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.utility-nav { margin-inline:calc((100vw - min(1180px, calc(100vw - 40px))) / -2); background:var(--ink); color:#fff; }
.utility-nav div { display:flex; width:min(1180px,calc(100% - 40px)); margin:auto; gap:24px; padding:10px 0; font:700 10px Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.brand { display:block; padding:28px 0 22px; text-align:center; font-family:Didot,'Bodoni MT','Times New Roman',serif; font-size:clamp(44px,8vw,86px); font-weight:900; letter-spacing:-.055em; }
.main-nav { display:flex; justify-content:center; gap:30px; overflow:auto; border-block:3px solid var(--ink); padding:12px; font:700 13px Arial,sans-serif; text-transform:uppercase; }
.breaking { display:flex; gap:18px; margin:22px 0; padding:12px 16px; background:var(--ink); color:#fff; font:14px Arial,sans-serif; }
.breaking strong { color:#efb657; text-transform:uppercase; }
.lead-grid { display:grid; grid-template-columns:minmax(0,2.15fr) minmax(280px,.85fr); gap:42px; margin-top:30px; border-bottom:2px solid var(--ink); padding-bottom:42px; }
.kicker { color:var(--accent); font:800 12px Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.lead-story h1 { max-width:850px; margin:10px 0; font-size:clamp(38px,5.4vw,72px); line-height:.98; letter-spacing:-.045em; }
.dek { max-width:720px; color:#504e49; font-size:20px; line-height:1.5; }
.lead-meta { display:flex; gap:18px; margin-top:18px; color:var(--muted); font:700 10px Arial,sans-serif; letter-spacing:.04em; text-transform:uppercase; }
.image-placeholder { min-height:330px; margin-top:24px; background:linear-gradient(135deg,#ded6c7,#aaa292); }
.lead-image { display:block; margin-top:24px; aspect-ratio:16/9; overflow:hidden; background:#ded6c7; }
.lead-image img { width:100%; height:100%; object-fit:cover; }
.latest { border-left:1px solid var(--ink); padding-left:30px; }
.latest h2 { margin-top:0; padding-bottom:12px; border-bottom:3px solid var(--ink); font-size:22px; }
.latest ol { list-style:none; margin:0; padding:0; }
.latest li { display:grid; grid-template-columns:48px 1fr; gap:12px; padding:19px 0; border-bottom:1px solid var(--line); font-size:17px; line-height:1.3; }
.latest time { color:var(--accent); font:700 12px Arial,sans-serif; }
.section-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; padding:38px 0 70px; }
.section-card { border-top:4px solid var(--ink); padding-top:16px; }
.section-card { min-height:245px; padding:20px 24px 28px; border-right:1px solid var(--line); }
.section-card:nth-child(3n) { border-right:0; }
.section-card:first-child { grid-column:span 2; }
.section-card:first-child h2 { max-width:760px; font-size:38px; }
.section-card h2 { font-size:25px; line-height:1.1; }
.section-card p { color:var(--muted); font-size:15px; line-height:1.55; }
.site-footer { display:flex; justify-content:space-between; border-top:3px solid var(--ink); padding:25px 0 45px; color:var(--muted); }
.article-page { width:min(940px,100%); margin:55px auto 80px; }
.article-header { width:min(850px,100%); margin:auto; text-align:center; }
.article-header h1 { margin:14px 0 18px; font-size:clamp(43px,7vw,78px); line-height:.98; letter-spacing:-.045em; }
.article-dek { margin:0 auto 25px; color:#59564f; font-size:clamp(19px,2.4vw,25px); line-height:1.42; }
.article-byline { display:flex; justify-content:center; gap:20px; color:var(--muted); font:12px Arial,sans-serif; }
.article-image { margin:42px 0; }
.article-image img { display:block; width:100%; max-height:680px; object-fit:cover; }
.article-image figcaption { display:flex; justify-content:space-between; gap:20px; padding-top:9px; color:var(--muted); font:11px/1.4 Arial,sans-serif; }
.article-image figcaption span { font-weight:700; }
.article-body { width:min(720px,100%); margin:auto; font-size:20px; line-height:1.78; text-align:justify; text-justify:inter-word; hyphens:auto; }
.article-body p { margin:0 0 1.3em; }
.article-body h2 { margin:1.7em 0 .55em; font-size:34px; line-height:1.1; }
.article-body h3 { margin:1.5em 0 .5em; font-size:26px; line-height:1.15; }
.article-body blockquote { margin:1.7em 0; padding:5px 0 5px 25px; border-left:5px solid var(--accent); color:#4f4c46; font-size:24px; font-style:italic; line-height:1.45; }
.article-body a { color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
.article-tags { display:flex; width:min(720px,100%); flex-wrap:wrap; align-items:center; gap:8px; margin:45px auto 0; padding-top:20px; border-top:1px solid var(--line); font:12px Arial,sans-serif; }
.article-tags strong { margin-right:8px; text-transform:uppercase; }
.article-tags a { border:1px solid var(--line); border-radius:20px; padding:7px 11px; }
.article-video { margin:42px 0; }
.article-video figcaption { display:flex; justify-content:space-between; padding-top:9px; color:var(--muted); font:11px Arial,sans-serif; }
.video-player,.video-embed { position:relative; overflow:hidden; aspect-ratio:16/9; background:#080808; }
.video-player video,.video-embed iframe { width:100%; height:100%; border:0; }
.video-controls { position:absolute; inset:auto 0 0; display:flex; align-items:center; gap:10px; padding:12px; background:linear-gradient(transparent,#000d); color:#fff; font:11px Arial,sans-serif; }
.video-controls button { border:0; background:transparent; color:#fff; cursor:pointer; }
.video-controls input { flex:1; accent-color:var(--accent); }
.static-page { width:min(760px,100%); margin:70px auto 110px; }
.static-page h1 { margin:10px 0 25px; font-size:clamp(50px,8vw,82px); line-height:1; }
.static-page p { color:#4e4b45; font-size:22px; line-height:1.6; }
.listing-header { margin:48px 0 30px; padding-bottom:28px; border-bottom:4px solid var(--ink); }
.listing-header h1 { margin:9px 0; font-size:clamp(45px,7vw,76px); line-height:1; letter-spacing:-.04em; }
.listing-header p { max-width:700px; margin:0; color:var(--muted); font-size:18px; line-height:1.5; }
.news-list { margin-bottom:75px; }
.news-list article { display:grid; grid-template-columns:260px minmax(0,1fr); gap:28px; padding:25px 0; border-bottom:1px solid var(--line); }
.list-image { aspect-ratio:4/3; overflow:hidden; background:#ddd6c9; }
.list-image img { width:100%; height:100%; object-fit:cover; }
.news-list h2 { margin:8px 0; font-size:30px; line-height:1.08; }
.news-list p { margin:0 0 12px; color:var(--muted); font-size:15px; line-height:1.5; }
.news-list time { color:var(--muted); font:10px Arial,sans-serif; }
.public-empty { margin:45px 0 90px; padding:70px 20px; border-block:1px solid var(--line); text-align:center; }
.public-empty strong,.public-empty span { display:block; }
.public-empty span { margin-top:8px; color:var(--muted); }
@media (max-width:760px) { .lead-grid,.section-grid { grid-template-columns:1fr; } .latest { border-left:0; padding-left:0; } .section-card,.section-card:first-child { grid-column:auto; border-right:0; } .main-nav { justify-content:flex-start; } .site-footer { flex-direction:column; gap:8px; } }
@media (max-width:650px) { .article-byline { flex-direction:column; gap:6px; } .article-image { margin-inline:-20px; } .article-body { font-size:18px; } .news-list article { grid-template-columns:110px minmax(0,1fr); gap:16px; } .news-list h2 { font-size:21px; } .news-list p { display:none; } }
