:root { --accent:#ad242f; --ink:#17181b; --muted:#62656c; --line:#eadadd; --paper:#fff; --blush:#fff4f5; --wine:#3c0005; --red:#ad242f; --white:#fff; --radius:0; --shadow:none; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font:16px/1.65 Inter, var(--gh-font-body, ui-sans-serif, system-ui, sans-serif); }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; height:auto; }
h1,h2,h3 { margin:0; font-family:Inter, var(--gh-font-heading, ui-sans-serif, system-ui, sans-serif); font-weight:750; line-height:1.08; letter-spacing:-.035em; }
.container,.container-wide,.container-narrow { width:min(100% - 40px, 1180px); margin-inline:auto; }
.container-wide { max-width:1200px; }.container-narrow { max-width:760px; }
.sr-only,.skip-link:not(:focus) { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link:focus { position:fixed; z-index:100; top:10px; left:10px; padding:10px 14px; background:var(--white); border:2px solid var(--accent); }
.site-header { position:relative; z-index:10; border-top:1px solid #f4e8ea; border-bottom:1px solid #f0e3e5; background:var(--blush); }
.header-inner { width:min(100% - 80px,1768px); min-height:112px; display:flex; align-items:center; gap:44px; }
.brand { margin-right:auto; }.brand img { width:155px; max-width:none; height:auto; }
.site-nav { margin:0; }.nav { display:flex; align-items:center; gap:72px; margin:0; padding:0; list-style:none; }.nav a { color:#17171a; font-size:1rem; font-weight:500; }.nav a:hover,.nav-current a { color:var(--red); }
.header-actions { display:flex; align-items:center; gap:20px; }.button { display:inline-flex; align-items:center; justify-content:center; min-height:47px; padding:0 27px; color:#fff; background:var(--red); border:1px solid var(--red); border-radius:0; font-size:.95rem; font-weight:700; }.button-quiet { color:var(--ink); background:transparent; border-color:transparent; padding-inline:10px; font-weight:500; }
.search-button { display:grid; place-items:center; width:44px; height:44px; }.search-button span { position:relative; width:18px; height:18px; border:2px solid #45474c; border-radius:50%; }.search-button span::after { content:""; position:absolute; width:8px; height:2px; right:-6px; bottom:-3px; background:#45474c; transform:rotate(48deg); transform-origin:center; }
.nav-toggle { display:none; width:42px; height:42px; padding:10px; margin-left:auto; background:none; border:0; }.nav-toggle span:not(.sr-only) { display:block; height:2px; margin:5px 0; background:var(--ink); }
.home-lead { display:grid; grid-template-columns:minmax(300px,20%) 1fr; gap:88px; align-items:center; min-height:586px; padding:84px 5% 84px 0; }
.media-rail { align-self:center; padding:24px 46px 23px 62px; color:#fff; background:var(--wine); }.media-rail-title { margin:0 0 10px; font-size:.76rem; font-weight:500; letter-spacing:.025em; text-transform:uppercase; }.media-link { display:flex; align-items:center; gap:17px; min-height:63px; padding:0 20px; border-bottom:1px solid rgba(255,108,108,.5); font-size:1.08rem; font-weight:600; line-height:1.22; }.media-link:last-child { border-bottom:0; }.media-link img { width:21px; height:21px; }.media-link.is-active { min-height:80px; border:0; background:var(--red); }.media-link:hover { background:rgba(173,36,47,.32); }.media-link.is-active:hover { background:#c02b37; }
.lead-story { display:grid; grid-template-columns:minmax(370px,.92fr) minmax(470px,1.08fr); gap:8%; align-items:center; }.lead-copy { max-width:580px; }.lead-labels { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:20px; }.topic-label,.premium-label { display:inline-flex; align-items:center; min-height:24px; padding:2px 10px; border-radius:5px; font-size:.68rem; font-weight:800; text-transform:uppercase; }.topic-label { color:#155e52; background:#e8f4f1; }.premium-label { gap:5px; color:#d09100; background:#fff7df; }.lead-copy h1 { font-size:clamp(2rem,2.45vw,2.72rem); line-height:1.13; letter-spacing:-.025em; }.lead-excerpt { max-width:570px; margin:24px 0 34px; color:#5e6067; font-size:1rem; line-height:1.65; }.lead-meta { display:grid; grid-template-columns:auto auto 1fr auto; align-items:center; gap:11px; padding-left:48px; font-size:.78rem; }.lead-meta > a:first-child { color:#24262a; font-weight:700; }.lead-meta time,.meta-dot { color:#8d929b; }.unlock-link { color:#155e52; font-weight:800; }.unlock-link span { display:inline-block; margin-left:4px; font-size:1.25rem; transition:transform .2s ease; }.unlock-link:hover span { transform:translateX(4px); }.lead-image { display:block; aspect-ratio:1.72/1; overflow:hidden; background:var(--blush); }.lead-image img,.lead-placeholder { width:100%; height:100%; object-fit:cover; }.lead-placeholder { display:block; background:linear-gradient(135deg,var(--blush),#e9d6d8); }.lead-empty { max-width:700px; padding:70px 0; }.lead-empty h1 { font-size:clamp(2.3rem,4vw,4rem); }.lead-empty p:last-child { color:var(--muted); }
.eyebrow { margin:0 0 18px; color:var(--accent); font-size:.75rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.feed { padding-block:72px 100px; }.post-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:46px 28px; }.post-card { min-width:0; }.post-card-image { display:block; overflow:hidden; aspect-ratio:4/3; border-radius:var(--radius); background:#ececec; }.post-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }.post-card:hover .post-card-image img { transform:scale(1.025); }.image-placeholder { display:block; width:100%; height:100%; background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 22%,#fff),#eee); }.post-card-content { padding-top:20px; }.post-card-meta { display:flex; gap:8px; color:var(--muted); font-size:.76rem; font-weight:650; text-transform:uppercase; letter-spacing:.05em; }.post-card-meta a { color:var(--accent); }.post-card h2 { margin:10px 0; font-size:1.55rem; }.post-card p { margin:0 0 14px; color:var(--muted); }.read-more { color:var(--accent); font-size:.9rem; font-weight:700; }
.pagination { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; margin-top:68px; padding-top:24px; border-top:1px solid var(--line); color:var(--muted); font-size:.9rem; }.pagination div:last-child { text-align:right; }.pagination a { color:var(--ink); font-weight:700; }
.article { padding:88px 0 110px; }.article-header { text-align:center; }.article-header h1,.archive-header h1 { font-size:clamp(2.7rem,7vw,5.4rem); }.article-excerpt { margin:24px 0 0; color:var(--muted); font-size:1.25rem; }.article-meta { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:25px; color:var(--muted); font-size:.88rem; }.article-image { margin-top:58px; }.article-image img { width:100%; max-height:760px; object-fit:cover; border-radius:var(--radius); }.article-image figcaption { margin-top:10px; color:var(--muted); font-size:.8rem; text-align:center; }.gh-content { margin-top:60px; font-family:Georgia,serif; font-size:1.16rem; }.gh-content > * { margin-block:0 1.5em; }.gh-content h2,.gh-content h3 { margin-top:2em; font-family:Inter,ui-sans-serif,system-ui,sans-serif; }.gh-content h2 { font-size:2rem; }.gh-content a { color:var(--accent); text-decoration:underline; text-underline-offset:3px; }.gh-content blockquote { margin-inline:0; padding-left:24px; border-left:4px solid var(--accent); color:var(--muted); font-size:1.3rem; }.gh-content img { border-radius:10px; }.gh-content .kg-width-wide { width:min(1100px,calc(100vw - 40px)); margin-left:50%; transform:translateX(-50%); }.gh-content .kg-width-full { width:100vw; margin-left:50%; transform:translateX(-50%); }.article-footer { margin-top:56px; padding-top:30px; border-top:1px solid var(--line); }.tag-list { display:flex; flex-wrap:wrap; gap:8px; }.tag-list a { padding:6px 12px; border:1px solid var(--line); border-radius:999px; font-size:.8rem; }.comments { margin-top:60px; }.comments h2 { margin-bottom:24px; }
.archive-header { padding:100px 0 20px; text-align:center; }.archive-header > p:not(.eyebrow) { color:var(--muted); font-size:1.15rem; }.author-avatar { width:96px; height:96px; margin:0 auto 24px; border-radius:50%; object-fit:cover; }.error-page { min-height:65vh; padding-block:140px; text-align:center; }.error-page h1 { font-size:clamp(2.7rem,7vw,5rem); }.error-page p:not(.eyebrow) { margin-bottom:28px; color:var(--muted); }
.site-footer { padding:56px 0; color:var(--muted); background:#111216; }.site-footer strong,.site-footer a { color:#fff; }.site-footer p { margin:6px 0 0; }.footer-inner { display:grid; grid-template-columns:1fr auto; gap:36px; align-items:start; }.footer-inner small { grid-column:1/-1; padding-top:30px; border-top:1px solid #292a2f; }.site-footer .nav { flex-wrap:wrap; justify-content:flex-end; }
@media (max-width:1150px) { .header-inner { width:min(100% - 40px,1768px); }.nav { gap:30px; }.home-lead { grid-template-columns:250px 1fr; gap:40px; padding-right:30px; }.media-rail { padding-inline:30px; }.lead-story { grid-template-columns:1fr 1fr; gap:35px; }.lead-meta { padding-left:0; } }
@media (max-width:850px) { .header-inner { min-height:86px; }.post-grid { grid-template-columns:repeat(2,1fr); }.nav-toggle { display:block; }.site-nav { display:none; position:absolute; top:86px; left:0; right:0; padding:22px 20px; background:var(--blush); border-bottom:1px solid var(--line); }.site-nav.is-open { display:block; }.site-nav .nav { flex-direction:column; align-items:flex-start; }.header-actions .button-quiet,.search-button { display:none; }.home-lead { display:block; min-height:0; padding:30px 20px 70px; }.media-rail { display:flex; overflow-x:auto; margin:0 -20px 50px; padding:12px 20px; }.media-rail-title { display:none; }.media-link,.media-link.is-active { flex:0 0 auto; min-height:48px; padding:0 18px; border:0; }.media-link br { display:none; }.lead-story { grid-template-columns:1fr; }.lead-copy { max-width:680px; }.lead-image { grid-row:1; }.lead-meta { max-width:560px; } }
@media (max-width:560px) { .container,.container-wide,.container-narrow { width:min(100% - 28px,1180px); }.header-inner { width:calc(100% - 28px); gap:12px; }.brand img { width:124px; }.header-actions { gap:2px; }.header-actions .button { min-height:42px; padding-inline:13px; }.post-grid { grid-template-columns:1fr; }.feed { padding-block:50px 76px; }.lead-story { gap:28px; }.lead-copy h1 { font-size:2rem; }.lead-excerpt { margin-block:18px 24px; }.lead-meta { grid-template-columns:auto auto 1fr; padding:0; }.unlock-link { grid-column:1/-1; margin-top:10px; }.article { padding-top:62px; }.article-header h1,.archive-header h1 { font-size:2.8rem; }.footer-inner { grid-template-columns:1fr; }.footer-inner small { grid-column:1; }.site-footer .nav { justify-content:flex-start; }.gh-content .kg-width-wide { width:calc(100vw - 28px); } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
