/* Phase 2 templates use the approved shared tokens and component geometry. */
.interior .masthead { padding-bottom:16px; }
.interior .masthead-word { font-size:clamp(5rem,10vw,8rem); line-height:.8; padding:8px 0 0; }
.interior .masthead-meta { margin-bottom:12px; }
.interior h1 { font-size:clamp(4.5rem,10vw,9rem); line-height:.9; color:var(--tnb-red); margin:32px 0 24px; }
.issue-opening,.article-opening { padding-top:40px; padding-bottom:32px; }
.issue-opening .kicker,.article-opening .kicker { margin-top:32px; }
.issue-opening .deck { max-width:34ch; font-size:clamp(1.5rem,2.5vw,2rem); }
.issue-page .cover { padding-top:24px; }
.issue-page .cover-copy h2 { font-size:clamp(3rem,5.5vw,5.5rem); color:var(--tnb-red); margin:20px 0; }
.issue-page .cover-copy .deck { margin-bottom:32px; }
.issue-contents-grid { display:grid; grid-template-columns:7fr 5fr; gap:64px; }
.issue-editor-note { border-left:4px solid var(--tnb-blue); padding:24px; align-self:center; }
.issue-page .editorial-lead h3 a,.issue-page .editorial-artist h3 a { color:inherit; text-decoration-thickness:2px; text-underline-offset:6px; }
.source-notes { border-top:2px solid var(--tnb-blue); padding-top:32px; padding-bottom:48px; }
.source-notes h2 { font-size:clamp(2rem,4vw,3.5rem); margin:16px 0 32px; }
.source-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.source-grid h3 { font:700 .875rem var(--utility); letter-spacing:.06em; color:var(--tnb-blue); margin-bottom:16px; }
.source-grid p { font:1rem/1.6 var(--serif); }
.issue-navigation { display:grid; grid-template-columns:1fr auto 1fr; gap:24px; align-items:center; padding-top:32px; padding-bottom:64px; border-top:1px solid var(--tnb-ink); }
.issue-navigation>:last-child { text-align:right; }
.issue-unavailable { display:grid; gap:12px; font:.875rem/1.5 var(--utility); }
.issue-unavailable strong { letter-spacing:.06em; }
.article-opening h1 { max-width:16ch; }
.article-opening .deck { font-size:clamp(1.5rem,2.5vw,2rem); max-width:42ch; line-height:1.3; }
.article-byline { display:flex; justify-content:space-between; gap:24px; margin-top:32px; padding-top:16px; border-top:1px solid var(--tnb-ink); }
.article-hero { padding-top:0; padding-bottom:64px; }
.article-hero .summer-window { aspect-ratio:1.6; }
.article-hero .summer-window img { top:-47%; }
.article-hero figcaption { display:block; max-width:85ch; padding:16px 0; font:.875rem/1.6 var(--utility); border-bottom:1px solid var(--tnb-blue); }
.article-hero figcaption a { white-space:nowrap; color:var(--tnb-blue); }
.drawing-window { max-width:640px; margin:auto; }
.drawing-window img { width:100%; }
.reading-layout { display:grid; grid-template-columns:2fr 7fr 3fr; gap:32px; align-items:start; padding-top:0; }
.reading-rail { font:1rem/1.5 var(--utility); display:grid; gap:20px; border-top:4px solid var(--tnb-blue); padding-top:16px; }
.reading-rail .utility { font-size:.8125rem; }
.reading-column { max-width:740px; min-width:0; font:1.2rem/1.65 var(--serif); }
.reading-column p { font:inherit; margin:0 0 24px; }
.reading-column .reading-intro { font-size:1.45rem; line-height:1.5; }
.reading-column h2 { font-family:var(--serif); font-size:2rem; line-height:1.2; text-transform:none; margin:48px 0 24px; }
.reading-column blockquote { margin:48px -12% 48px 0; padding:32px 0 32px 24px; border-left:6px solid var(--tnb-blue); color:var(--tnb-blue); }
.reading-column blockquote p { font-size:clamp(2rem,3vw,3rem); line-height:1.2; }
.reading-column cite { display:block; font:normal .8125rem/1.5 var(--utility); color:var(--tnb-ink); }
.reading-artifact { width:80%; margin:48px 0 48px 8%; padding:16px; border:1px solid var(--tnb-blue); }
.reading-artifact img { width:100%; }
.reading-artifact figcaption { padding-top:12px; font:.875rem/1.5 var(--utility); }
.related-story { border-top:2px solid var(--tnb-ink); padding-top:32px; padding-bottom:64px; }
.related-grid { display:grid; grid-template-columns:3fr 7fr; gap:48px; align-items:center; max-width:1100px; }
.related-grid img { width:100%; max-height:360px; object-fit:cover; object-position:top; }
.related-grid h2 { font-size:clamp(2.5rem,4vw,4.5rem); line-height:1; margin:16px 0 24px; color:var(--tnb-blue); }
.related-grid h2 a { color:inherit; }
.interior :is(article,section,figure)[id] { scroll-margin-top:100px; }
@media(min-width:768px) and (max-width:1023px) {
 .reading-layout { grid-template-columns:1fr; }
 .reading-rail { display:flex; flex-wrap:wrap; align-items:center; gap:20px; }
 .reading-column { max-width:680px; margin:auto; }
 .reading-column blockquote { margin-right:0; }
 .issue-contents-grid { grid-template-columns:1fr 1fr; gap:24px; }
 .source-grid { grid-template-columns:1fr 1fr; }
 .source-grid>div:last-child { grid-column:1/-1; }
}
@media(max-width:767px) {
 .interior .masthead-word { font-size:28vw; }
 .interior h1 { font-size:clamp(3.5rem,14vw,6rem); }
 .issue-opening,.article-opening { padding-top:24px; }
 .issue-page .cover-copy h2 { font-size:clamp(3rem,12vw,5rem); }
 .issue-contents-grid,.source-grid,.reading-layout { grid-template-columns:1fr; gap:24px; }
 .issue-editor-note { padding:16px; }
 .article-byline { flex-direction:column; gap:12px; }
 .article-hero { padding-bottom:32px; }
 .article-hero .summer-window { aspect-ratio:828/850; }
 .article-hero .summer-window img { top:-28.588%; }
 .reading-rail { display:none; }
 .reading-column { font-size:1.1rem; line-height:1.65; }
 .reading-column .reading-intro { font-size:1.3rem; }
 .reading-column blockquote { margin:32px 0; padding:24px 0 24px 16px; }
 .reading-artifact { width:100%; margin:32px 0; padding:12px; }
 .related-grid { grid-template-columns:1fr; gap:16px; }
 .related-grid img { width:45%; max-height:220px; }
 .issue-navigation { grid-template-columns:1fr 1fr; }
 .issue-navigation>a { grid-row:2; grid-column:1/-1; }
 .issue-unavailable { font-size:.8125rem; }
}
