:root {--editorial-photo-radius:clamp(8px,1vw,13px)}

.brand-nav {width:clamp(82px,9vw,112px);height:auto}
.nav nav {font-weight:700;letter-spacing:-.02em}
.brand-footer {width:clamp(105px,12vw,136px);height:auto}
.brand-issue {width:min(100%,172px);height:auto}
.brand-inline {display:inline-block;vertical-align:-.18em;width:3.45em;height:auto}

.newspaper {
 --press-ink:#211e19;
 --press-headline:#3a3731;
 --press-red:#752635;
 --press-green:#0a432d;
 --press-paper:#f6f0e2;
 --press-rule:#afa18a;
 width:min(calc(100% - 36px),1240px);
 margin:clamp(12px,1.8vw,24px) auto clamp(32px,6vw,76px);
 padding:clamp(17px,3.25vw,48px);
 padding-top:clamp(12px,1.9vw,24px);
 color:var(--press-ink);
 background:radial-gradient(ellipse at 50% 0,#fcf7ec 0,var(--press-paper) 72%);
 border:1px solid #d2c5ae;
 box-shadow:0 12px 34px #5b412213;
}

.newspaper-masthead {
 border-top:3px solid var(--press-ink);
}
.newspaper-nameplate {
 display:grid;
 grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
 grid-template-areas:"date name number";
 align-items:center;
 gap:clamp(8px,2vw,20px);
 padding:clamp(8px,1.25vw,16px) 0 clamp(10px,1.4vw,18px);
}
.newspaper-masthead h1 {
 grid-area:name;
 position:relative;
}
.brand-masthead {width:clamp(124px,25vw,312px);height:auto}
.newspaper-edition {color:var(--press-ink);font:700 10px/1.3 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.newspaper-edition b {display:block;margin-top:2px;color:var(--press-ink);font:400 clamp(16px,2.4vw,33px)/1 Georgia,serif;letter-spacing:-.035em;font-variant-numeric:lining-nums tabular-nums}
.newspaper-date {grid-area:date}
.newspaper-number {grid-area:number;text-align:right}
.newspaper-theme {
 display:flex;
 align-items:center;
 justify-content:center;
 gap:clamp(10px,2vw,22px);
 min-height:28px;
 border-block:1px solid var(--press-rule);
 color:var(--press-ink);
 font:700 10px/1.25 Arial,sans-serif;
 letter-spacing:.23em;
 text-transform:uppercase;
}
.newspaper-theme::before,.newspaper-theme::after {content:"";width:4px;height:4px;background:var(--press-green);transform:rotate(45deg)}

.newspaper-front {
 display:grid;
 grid-template-columns:minmax(0,1.66fr) minmax(0,1fr);
 gap:clamp(18px,3.2vw,42px);
 padding-block:clamp(15px,2.2vw,27px) clamp(18px,3vw,36px);
}
.newspaper-front:not(:has(.newspaper-rail)) {grid-template-columns:minmax(0,1fr)}
.newspaper-story a {display:block;height:100%}
.newspaper-story a:focus-visible {outline:2px solid var(--press-red);outline-offset:4px}
.newspaper-story a:is(:hover,:focus-visible) h2 {text-decoration:underline;text-decoration-thickness:.045em;text-underline-offset:.12em}
.newspaper-story h2 {text-wrap:balance;overflow-wrap:anywhere;font:700 clamp(22px,3.05vw,40px)/1.055 Georgia,serif;letter-spacing:-.047em}
.newspaper-story:not(.newspaper-secondary) h2,.newspaper-note h2 {color:var(--press-headline)}
.newspaper-kicker {margin:0 0 7px;color:var(--press-ink);font:700 10px/1.25 Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.newspaper-byline {margin:9px 0 0;font:italic 13px/1.35 Georgia,serif}
.newspaper-teaser {margin:11px 0 0;font:clamp(14px,1.3vw,17px)/1.49 Georgia,serif;text-wrap:pretty}
.newspaper-photo {width:100%;height:auto;background:#d6c6ab}
.newspaper-photo,.newspaper-note img {
 border-radius:var(--editorial-photo-radius);
 outline:1px solid #59422e26;
 outline-offset:-1px;
 filter:saturate(.9) sepia(.12) contrast(.96);
}
.newspaper-lead h2 {font-size:clamp(41px,6.2vw,90px);letter-spacing:-.068em}
.newspaper-lead .newspaper-teaser {max-width:52ch}
.newspaper-lead .newspaper-photo {margin-top:clamp(16px,2vw,24px)}

.newspaper-rail {
 display:grid;
 align-content:start;
 gap:15px;
 border-left:1px solid var(--press-rule);
 padding-left:clamp(16px,2.6vw,34px);
}
.newspaper-secondary {background:var(--press-red);color:#fff6e2;border-radius:var(--editorial-photo-radius)}
.newspaper-secondary .newspaper-story-copy {padding:clamp(13px,1.7vw,23px)}
.newspaper-secondary .newspaper-kicker {color:inherit}
.newspaper-secondary .newspaper-photo {border-radius:0 0 var(--editorial-photo-radius) var(--editorial-photo-radius)}
.newspaper-brief {border-bottom:1px solid var(--press-rule);padding:2px 0 15px}
.newspaper-brief h2 {font-size:clamp(21px,2.7vw,35px)}

.newspaper-band {
 display:grid;
 grid-template-columns:minmax(0,5fr) minmax(0,4fr) minmax(0,3fr);
 border-top:1px solid var(--press-ink);
 padding-block:clamp(16px,2.5vw,28px);
}
.newspaper-band:nth-of-type(odd) {grid-template-columns:minmax(0,3fr) minmax(0,5fr) minmax(0,4fr)}
.newspaper-band.newspaper-band-2 {grid-template-columns:minmax(0,5fr) minmax(0,3fr)}
.newspaper-band.newspaper-band-1 {grid-template-columns:minmax(0,1fr)}
.newspaper-column {padding-inline:clamp(12px,2vw,26px)}
.newspaper-column:first-child {padding-left:0}
.newspaper-column:last-child {padding-right:0}
.newspaper-column + .newspaper-column {border-left:1px solid var(--press-rule)}
.newspaper-column .newspaper-photo {margin-top:15px}

.newspaper-note {
 display:grid;
 grid-template-columns:minmax(0,1fr) minmax(0,1.68fr);
 align-items:center;
 gap:clamp(18px,4vw,56px);
 border-top:3px double var(--press-ink);
 margin-top:clamp(12px,2.3vw,26px);
 padding-top:clamp(18px,3vw,34px);
}
.newspaper-note h2 {font:700 clamp(29px,4.05vw,56px)/1.03 Georgia,serif;letter-spacing:-.05em;text-wrap:balance}
.newspaper-note p {margin-top:12px;max-width:34ch;font:clamp(15px,1.45vw,19px)/1.5 Georgia,serif}
.newspaper-note img {width:100%;height:auto}

.article-hero .reader-art .scene-window,
.inline-source .photo-tile,
.inline-source img,
.related-list img,
.share-cover img,
.video-shell,
#lightbox-image,
.issue-art {border-radius:var(--editorial-photo-radius)}
.story-interlude .scene-window {border-bottom-left-radius:var(--editorial-photo-radius);border-bottom-right-radius:var(--editorial-photo-radius)}
.about-art .about-art-frame {border-bottom-left-radius:var(--editorial-photo-radius);border-bottom-right-radius:var(--editorial-photo-radius)}

@media(max-width:760px) {
 .newspaper {width:calc(100% - 20px);padding:clamp(12px,3.6vw,25px)}
 .brand-masthead {width:clamp(142px,45vw,270px)}
 .newspaper-masthead {border-top:4px double var(--press-ink)}
 .newspaper-theme {min-height:24px}
 .newspaper-front {grid-template-columns:minmax(0,1fr);gap:14px;padding-block:13px 17px}
 .newspaper-lead h2 {font-size:clamp(40px,11.1vw,76px);text-wrap:initial}
 .newspaper-lead .newspaper-teaser {max-width:none}
 .newspaper-lead .newspaper-photo {margin-top:13px}
 .newspaper-rail {grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:0;border-top:1px solid var(--press-ink);padding:11px 0 0}
 .newspaper-secondary {grid-column:1/-1}
 .newspaper-secondary a {display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;padding-inline-end:8px}
 .newspaper-secondary .newspaper-photo {border-radius:var(--editorial-photo-radius)}
 .newspaper-brief {margin-top:12px;padding:0 10px 0 0;border-bottom:0}
 .newspaper-brief + .newspaper-brief {padding:0 0 0 10px;border-left:1px solid var(--press-rule)}
 .newspaper-brief h2,.newspaper-column h2 {font-size:clamp(18px,5.35vw,30px)}
 .newspaper-band,.newspaper-band:nth-of-type(odd),.newspaper-band.newspaper-band-2 {grid-template-columns:minmax(0,1.14fr) minmax(0,1fr);gap:12px 0}
 .newspaper-band.newspaper-band-1 {grid-template-columns:minmax(0,1fr)}
 .newspaper-band:not(.newspaper-band-1) .newspaper-column:first-child {padding:0 10px 0 0}
 .newspaper-column:nth-child(2) {padding:0 0 0 10px}
 .newspaper-column .newspaper-photo {margin-top:10px}
 .newspaper-column:nth-child(3),.newspaper-band-1 .newspaper-column {grid-column:1/-1;border-left:0;padding:0}
 .newspaper-column:nth-child(3) {border-top:1px solid var(--press-rule);padding-top:12px}
 .newspaper-column:nth-child(3) a,.newspaper-band-1 .newspaper-column a {display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:start;gap:12px}
 .newspaper-column:nth-child(3) .newspaper-photo,.newspaper-band-1 .newspaper-photo {margin-top:2px}
 .newspaper-note {grid-template-columns:1fr}
}

@media(max-width:460px) {
 .newspaper-edition,.newspaper-theme {font-size:9px}
 .newspaper-kicker {font-size:9px}
}

@media(max-width:370px) {
 body {--nav-height:68px}
 .nav {display:grid;grid-template-rows:37px 30px}
 .nav nav {grid-row:2;justify-self:center;gap:clamp(7px,3vw,12px)}
 .nav nav a {padding:6px 0}
}
