:root {
  --ink: #11110f;
  --paper: #f4f1e9;
  --paper-bright: #fbfaf6;
  --yellow: #ffd800;
  --muted: #6c6b65;
  --rule: #cbc7bb;
  --red: #c52f29;
  --serif: "Newsreader", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); line-height: 1.55; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.shell { width: min(1280px, calc(100% - 64px)); margin: 0 auto; }
.site-header { min-height: 124px; display: grid; grid-template-columns: minmax(220px, 1fr) auto minmax(196px, 1fr); align-items: center; gap: 24px; padding: 6px 32px; border-bottom: 1px solid var(--ink); background: var(--paper); position: sticky; top: 0; z-index: 20; }
.brand { display: block; width: fit-content; line-height: 0; }
.brand-logo-frame { display: block; width: 236px; aspect-ratio: 2.08 / 1; overflow: hidden; }
.brand-logo-frame img { display: block; width: 100%; height: auto; transform: translateY(-13.2%); }
nav { display: flex; gap: 26px; font-size: 13px; font-weight: 600; }
.newsletter-link { justify-self: end; border-bottom: 2px solid var(--ink); padding-bottom: 3px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.menu-button { display: none; }
.issue-intro { padding: 96px 0 52px; }
.eyebrow, .tag { margin: 0 0 12px; text-transform: uppercase; font-size: 11px; font-weight: 700; letter-spacing: .14em; }
.issue-intro h1 { font-family: var(--serif); font-size: clamp(65px, 9.5vw, 142px); line-height: .86; letter-spacing: -.05em; font-weight: 500; margin: 0; max-width: 1200px; }
.issue-intro h1 em { display: inline-block; margin-top: .1em; color: #4d4c47; font-size: .78em; font-weight: 400; line-height: .95; letter-spacing: -.035em; }
.original-section h2 em { font-weight: 400; color: transparent; -webkit-text-stroke: 1.5px var(--ink); }
.standfirst { font-family: var(--serif); font-size: clamp(22px, 2.3vw, 34px); line-height: 1.2; max-width: 780px; margin: 48px 0 42px 19%; }
.issue-meta { border-top: 1px solid var(--ink); padding-top: 12px; display: flex; justify-content: space-between; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.lead-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 56px; padding-bottom: 110px; }
.visual { position: relative; overflow: hidden; display: block; background: #242422; }
.visual-micro { aspect-ratio: 16/9; background: radial-gradient(circle at 33% 39%, #fff 0 2%, transparent 2.4%), radial-gradient(circle at 62% 54%, #e9e4d3 0 3%, transparent 3.4%), radial-gradient(circle at 78% 28%, #fff 0 1.4%, transparent 1.8%), linear-gradient(125deg, #0f3042, #718e90 45%, #cf9f5c 46%, #202825 75%); filter: saturate(.7); }
.visual-micro::before { content: ""; position: absolute; inset: -20%; background: repeating-radial-gradient(ellipse at 48% 52%, transparent 0 21px, rgba(255,255,255,.18) 23px 25px); transform: rotate(-14deg); }
.lead-photo { aspect-ratio: 16/9; background: #141414; }
.lead-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.visual-label, .visual span { position: absolute; left: 16px; bottom: 14px; color: #fff; background: rgba(0,0,0,.72); padding: 6px 8px; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.story-copy { padding: 26px 0 0 12%; }
.story-copy h2 { font-family: var(--serif); font-size: clamp(40px, 4.7vw, 70px); line-height: .95; letter-spacing: -.035em; margin: 0 0 20px; font-weight: 500; }
.story-copy > p:not(.tag) { max-width: 700px; font-size: 17px; }
.steve-note { font-family: var(--serif); font-size: 20px !important; border-left: 4px solid var(--yellow); padding-left: 18px; margin: 26px 0; }
.steve-note strong { display: block; font-family: var(--sans); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 5px; }
.read-link { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.read-link span { color: var(--red); }
.news-desk { padding: 0 0 105px; }
.desk-title { display: flex; justify-content: space-between; align-items: baseline; border-top: 8px solid var(--ink); border-bottom: 1px solid var(--ink); padding: 13px 0 11px; }
.desk-title .eyebrow, .desk-title p { margin: 0; }
.desk-title > p:last-child { font: italic 16px var(--serif); }
.news-box-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; background: transparent; border: 0; padding-top: 18px; }
.news-box { min-height: 245px; padding: 24px; display: flex; flex-direction: column; border: 1px solid var(--ink); box-shadow: 5px 5px 0 rgba(20,20,18,.13); }
.box-image { display: flex; align-items: center; justify-content: center; height: 205px; margin: -24px -24px 20px; overflow: hidden; border-bottom: 1px solid var(--ink); background: #fff; }
.box-image img { width: 100%; height: 100%; object-fit: contain; object-position: center; display: block; transition: transform .25s ease; }
.news-box h3 a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: transparent; }
.news-box h3 a:hover, .news-box h3 a:focus-visible { text-decoration-color: currentColor; }
.news-box h3 { font: 600 29px/1.02 var(--serif); margin: 0 0 12px; letter-spacing: -.02em; }
.news-box > p:not(.tag) { font-size: 13px; margin: 0; }
.news-box > span { margin-top: auto; padding-top: 25px; font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; opacity: .68; }
.nikon-fact { background: var(--yellow); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); padding: 38px 0 42px; }
.fact-grid { display: grid; grid-template-columns: .55fr 1.25fr .9fr; gap: 42px; align-items: start; }
.fact-kicker { margin: 4px 0 0; text-transform: uppercase; font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.fact-kicker span { display: block; margin-top: 9px; font: 500 25px var(--serif); letter-spacing: 0; }
.fact-big { font: 500 clamp(35px, 4vw, 59px)/.96 var(--serif); letter-spacing: -.03em; margin: 0; }
.fact-big em { font-weight: 400; }
.fact-grid > div p { margin-top: 0; font-size: 14px; }
.yellow-box { background: var(--yellow); }
.blue-box { background: #b7d1dc; }
.coral-box { background: #df806b; }
.cream-box { background: #ece2cb; }
.green-box { background: #aebda4; }
.charcoal-box { background: #2a2a27; color: #f5f1e7; }
.briefing { border-top: 8px solid var(--ink); align-self: start; }
.section-heading.compact { display: flex; justify-content: space-between; align-items: baseline; padding: 14px 0; border-bottom: 1px solid var(--ink); }
.compact .eyebrow { margin: 0; }
.compact span { font-family: var(--serif); font-style: italic; font-size: 15px; }
.brief { display: grid; grid-template-columns: 108px 1fr; gap: 16px; align-items: start; padding: 20px 0 22px; border-bottom: 1px solid var(--rule); }
.brief.urgent { background: var(--yellow); margin: 0 -18px; padding: 20px 18px 22px; border: 0; }
.brief-thumb { aspect-ratio: 4/3; overflow: hidden; border: 1px solid var(--ink); background: #fff; }
.brief-thumb img { width: 100%; height: 100%; object-fit: contain; display: block; }
.brief h3 { font-family: var(--serif); font-size: 28px; line-height: 1.04; margin: 0 0 10px; font-weight: 600; }
.brief div > p:last-child { font-size: 13px; margin-bottom: 0; }
.picture-day-section { background: var(--ink); color: var(--paper-bright); padding: 95px 0 105px; }
.picture-day-heading { display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: end; margin-bottom: 40px; }
.picture-day-heading h2 { font: 500 clamp(55px, 7vw, 96px)/.85 var(--serif); letter-spacing: -.045em; margin: 0; }
.picture-day-heading h2 em { font-weight: 400; }
.picture-day-heading > p { font: 19px/1.35 var(--serif); margin: 0; color: #cbc8bf; }
.daily-picture { margin: 0; border-top: 1px solid #5c5b56; padding-top: 18px; }
.daily-picture > a { display: block; background: #111; }
.daily-picture img { width: 100%; max-height: 720px; object-fit: contain; display: block; }
.daily-picture figcaption { display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; padding-top: 24px; }
.daily-picture h3 { font: 500 48px/.95 var(--serif); margin: 0 0 8px; }
.photo-credit { font: italic 19px var(--serif); color: var(--yellow); margin: 0; }
.daily-picture figcaption > div:last-child p { margin-top: 0; color: #d1cec5; }
.light-link { color: var(--paper-bright); }
.section-rule { border-top: 1px solid var(--ink); padding: 28px 0 110px; }
.section-heading { margin-bottom: 42px; }
.section-heading h2 { font-family: var(--serif); font-size: clamp(44px, 5vw, 72px); line-height: .95; margin: 0; font-weight: 500; letter-spacing: -.035em; }
.section-heading > p:last-child { max-width: 430px; margin-left: auto; font-family: var(--serif); font-size: 19px; }
.story-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px 22px; }
.story-card { border-top: 5px solid var(--ink); padding-top: 12px; }
.story-card .visual { aspect-ratio: 4/3; margin-bottom: 18px; }
.source-photo { background: #ece9df; }
.source-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.source-photo.contain-photo img { object-fit: contain; }
.visual-water { background: linear-gradient(168deg, #d7d5c9 0 40%, #9aa5a0 40.5% 43%, #263c48 43.5%); }
.visual-water::before { content: ""; position: absolute; width: 38%; height: 38%; left: 31%; top: 31%; border-radius: 55% 45% 55% 45%; border: 8px solid rgba(255,255,255,.6); transform: rotate(24deg); }
.visual-infrared { background: linear-gradient(178deg, #1c1e22 0 47%, #e8e6da 48% 69%, #4d5c54 70%); }
.visual-infrared::before, .visual-infrared::after { content: ""; position: absolute; background: #202522; border-radius: 50% 55% 42% 48%; }
.visual-infrared::before { width: 36%; height: 22%; left: 24%; top: 54%; }
.visual-infrared::after { width: 24%; height: 15%; left: 56%; top: 60%; }
.visual-camera { background: var(--yellow); }
.visual-camera::before { content: ""; position: absolute; width: 58%; height: 43%; left: 21%; top: 31%; background: #151513; border-radius: 5px 5px 14px 14px; box-shadow: 0 -14px 0 -5px #151513; }
.visual-camera::after { content: ""; position: absolute; width: 24%; aspect-ratio: 1; left: 38%; top: 36%; border: 10px solid #f3f0e7; border-radius: 50%; background: #303532; }
.visual-cloud { background: linear-gradient(150deg, #6a8192, #d8e2e7); }
.visual-cloud::before, .visual-cloud::after { content: ""; position: absolute; background: rgba(255,255,255,.76); border-radius: 50%; }
.visual-cloud::before { width: 52%; height: 30%; left: 24%; top: 39%; border-radius: 50px; }
.visual-cloud::after { width: 30%; aspect-ratio: 1; left: 35%; top: 26%; }
.visual-lens { background: #d7ccad; }
.visual-lens::before { content: ""; position: absolute; width: 53%; aspect-ratio: 1; left: 23.5%; top: 15%; border-radius: 50%; background: repeating-radial-gradient(circle, #183242 0 14%, #779092 15% 22%, #171b1b 23% 34%, #c3b686 35% 40%, #232321 41% 50%); }
.visual-cinema { background: #a94f43; }
.visual-cinema::before { content: ""; position: absolute; inset: 14%; border: 3px solid #f6e6c8; box-shadow: inset 0 0 0 18px #a94f43; }
.visual-stars { background: radial-gradient(circle at 20% 30%, #fff 0 1px, transparent 2px), radial-gradient(circle at 70% 18%, #fff 0 1px, transparent 2px), radial-gradient(circle at 64% 62%, #fff 0 1.5px, transparent 2px), radial-gradient(circle at 32% 75%, #fff 0 1px, transparent 2px), linear-gradient(#101525, #263c5c); }
.visual-design { background: linear-gradient(135deg, #e2d6c0 0 50%, #191918 50%); }
.visual-design::before { content: ""; position: absolute; width: 36%; aspect-ratio: 1; left: 32%; top: 26%; border: 12px solid var(--yellow); border-radius: 50%; }
.story-card h3, .archive h3 { font-family: var(--serif); font-size: 27px; line-height: 1.02; margin: 0 0 12px; font-weight: 600; }
.story-card.featured-card h3 { font-size: 31px; }
.compact-story .visual { aspect-ratio: 16/10; }
.story-card > p:not(.tag):not(.card-note) { font-size: 14px; }
.card-note { font-family: var(--serif); font-style: italic; font-size: 17px; border-top: 1px solid var(--rule); padding-top: 14px; }
.collectors-section { background: #d9d0bc; padding: 95px 0 105px; border-top: 1px solid var(--ink); }
.collector-heading { display: grid; grid-template-columns: 1.35fr .65fr; gap: 80px; align-items: end; margin-bottom: 52px; }
.collector-heading h2 { font: 500 clamp(48px, 6vw, 82px)/.9 var(--serif); letter-spacing: -.04em; margin: 0; }
.collector-heading h2 em { font-weight: 400; }
.collector-heading > p { font: 19px/1.35 var(--serif); margin: 0; }
.collector-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.collector-card { background: var(--paper-bright); border: 1px solid var(--ink); padding: 18px; }
.collector-card img { width: calc(100% + 36px); height: 210px; margin: -18px -18px 18px; object-fit: contain; background: #fff; border-bottom: 1px solid var(--ink); display: block; }
.collector-card h3 { font: 600 29px/1.02 var(--serif); margin: 0 0 12px; }
.collector-card > p:last-child, .collector-card div > p:last-child { font-size: 14px; margin-bottom: 4px; }
.collector-lead { grid-column: span 2; display: grid; grid-template-columns: 1.08fr .92fr; padding: 0; }
.collector-lead img { width: 100%; height: 100%; min-height: 340px; margin: 0; border: 0; border-right: 1px solid var(--ink); object-fit: cover; }
.collector-lead > div { padding: 28px; }
.gold-card { background: #c9a94b; }
.poster-card { background: #d7dbe0; }
.poster-card img { object-position: center 42%; }
.price-card { background: var(--ink); color: var(--paper-bright); }
.collector-note { display: grid; grid-template-columns: 220px 1fr; gap: 28px; border-top: 1px solid var(--ink); margin-top: 35px; padding-top: 23px; }
.collector-note > p:last-child { font: italic 21px/1.35 var(--serif); max-width: 850px; margin: 0; }
.collector-submit { display: grid; grid-template-columns: 1fr auto; gap: 50px; align-items: center; margin-top: 38px; padding: 30px; background: var(--yellow); border: 1px solid var(--ink); }
.collector-submit h3 { font: 600 35px/1 var(--serif); margin: 0 0 9px; }
.collector-submit p:last-child { margin: 0; max-width: 720px; }
.collector-submit button { border: 1px solid var(--ink); background: var(--ink); color: var(--paper-bright); padding: 15px 20px; font: 700 10px var(--sans); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.collector-submit button:hover { background: transparent; color: var(--ink); }
.availability-note { max-width: 250px !important; margin: 0; padding: 14px 16px; border: 1px solid var(--ink); font: 600 11px/1.4 var(--sans) !important; letter-spacing: .06em; text-transform: uppercase; }
.original-section { background: var(--ink); color: var(--paper-bright); padding: 100px 0; }
.original-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 100px; align-items: center; }
.eyebrow.light { color: var(--yellow); }
.original-section h2 { font-family: var(--serif); font-size: clamp(56px, 7vw, 96px); line-height: .85; letter-spacing: -.04em; margin: 0 0 38px; font-weight: 500; }
.original-section h2 em { -webkit-text-stroke-color: var(--paper-bright); }
.original-section p:not(.eyebrow) { max-width: 680px; font-family: var(--serif); font-size: 21px; }
.read-button { border: 1px solid var(--paper-bright); background: transparent; color: var(--paper-bright); padding: 14px 20px; font: 700 11px var(--sans); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; margin-top: 18px; }
.read-button:hover { background: var(--yellow); color: var(--ink); border-color: var(--yellow); }
.focus-map { aspect-ratio: 4/5; position: relative; border: 1px solid #595955; background: radial-gradient(circle at 50% 38%, #393936 0 8%, transparent 8.5%), linear-gradient(145deg, #191918, #2b2b28); }
.focus-face { position: absolute; left: 34%; top: 23%; width: 32%; height: 35%; border: 1px solid #777; border-radius: 48% 48% 45% 45%; }
.focus-point { position: absolute; width: 11%; aspect-ratio: 1.2; border: 1px solid #777; }
.focus-point.active { border: 2px solid var(--yellow); box-shadow: 0 0 18px rgba(255,216,0,.3); }
.p1{left:8%;top:12%}.p2{left:44%;top:10%}.p3{left:45%;top:34%}.p4{right:8%;top:16%}.p5{left:12%;top:46%}.p6{right:10%;top:48%}.p7{left:17%;bottom:15%}.p8{left:45%;bottom:10%}.p9{right:14%;bottom:18%}
.focus-map p { position: absolute; left: 7%; bottom: 4%; font-family: var(--sans) !important; font-size: 11px !important; text-transform: uppercase; letter-spacing: .09em; color: #aaa; }
.archive { padding-top: 40px; }
.split-heading { display: flex; justify-content: space-between; align-items: end; }
.split-heading > p { margin: 0 0 7px !important; }
.archive-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 28px; }
.archive-lead { display: grid; grid-template-columns: 1fr 1.05fr; gap: 28px; padding-right: 28px; border-right: 1px solid var(--rule); }
.film-frame { min-height: 390px; background: #22211f; color: #eee8d8; border: 12px solid #121211; padding: 40px 24px; display: flex; flex-direction: column; justify-content: center; align-items: center; position: relative; text-align: center; }
.film-frame > span { font: 600 12px var(--sans); letter-spacing: .2em; border-bottom: 1px solid #eee8d8; padding-bottom: 8px; }
.film-frame > p { font: 500 44px/1 var(--serif); letter-spacing: -.03em; }
.film-sprockets { position: absolute; inset: 6px; border-left: 8px dotted #d8d1c1; border-right: 8px dotted #d8d1c1; opacity: .55; }
.archive-small { border-top: 5px solid var(--ink); padding-top: 13px; }
.archive-image { position: relative; height: 190px; margin-bottom: 20px; overflow: hidden; background: #e5e1d7; border: 1px solid var(--rule); }
.archive-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.archive-image.contain img { object-fit: contain; }
.archive-image span { position: absolute; left: 10px; bottom: 10px; min-width: 39px; padding: 5px 7px 3px; background: var(--yellow); border: 1px solid var(--ink); font: 600 22px/1 var(--serif); text-align: center; }
.quote-section { border-top: 1px solid var(--ink); padding: 70px 8% 100px; text-align: center; }
blockquote { font-family: var(--serif); font-size: clamp(44px, 7vw, 92px); line-height: .95; letter-spacing: -.04em; margin: 30px 0; }
.attribution { font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: .1em; }
.rights-note { color: var(--muted); font-size: 11px; }
.newsletter-section { background: var(--yellow); padding: 76px 0; }
.newsletter-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; }
.newsletter-section h2 { font-family: var(--serif); font-size: clamp(50px, 6vw, 88px); line-height: .88; letter-spacing: -.04em; margin: 0; }
.newsletter-section p { max-width: 580px; }
.dark-note { margin-top: 26px; max-width: 560px !important; background: rgba(255,255,255,.28); }
.newsletter-form { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: end; margin-top: 28px; }
.newsletter-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; }
.newsletter-fields label { font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.newsletter-fields .optional { color: #59584f; font-size: 9px; font-weight: 500; margin-left: 4px; }
.newsletter-fields input { width: 100%; border: 1px solid var(--ink); padding: 15px 14px; background: rgba(255,255,255,.55); color: var(--ink); font: 14px var(--sans); min-width: 0; }
.newsletter-fields input:focus { outline: 3px solid rgba(0,0,0,.18); outline-offset: 2px; }
.newsletter-form button { min-height: 49px; border: 1px solid var(--ink); background: var(--ink); color: #fff; padding: 0 22px; font: 700 11px var(--sans); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.newsletter-form button:hover { background: #34332e; }
.newsletter-honeypot { position: absolute; left: -5000px; }
.form-note { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.about { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; padding: 100px 0; }
.about h2 { font-family: var(--serif); font-size: clamp(40px, 4vw, 62px); line-height: 1; margin: 0; font-weight: 500; }
.about p { font-family: var(--serif); font-size: 19px; }
.site-information { display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px; border-top: 1px solid var(--ink); padding: 70px 0 80px; }
.site-information > div { padding-top: 14px; border-top: 5px solid var(--ink); }
.site-information h2 { margin: 0 0 16px; font: 500 34px/1 var(--serif); letter-spacing: -.025em; }
.site-information p:last-child { margin-bottom: 0; font-size: 14px; }
.site-information a { font-weight: 700; border-bottom: 1px solid currentColor; }
footer { background: var(--ink); color: var(--paper); padding: 30px 0; }
.back-to-top {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 20;
  width: 48px;
  height: 48px;
  border: 1px solid var(--ink);
  border-radius: 50%;
  background: var(--yellow);
  color: var(--ink);
  box-shadow: 0 5px 18px rgba(0,0,0,.18);
  font: 700 25px/1 var(--sans);
  cursor: pointer;
}
.back-to-top:hover { background: var(--paper-bright); }
.back-to-top:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }
.back-to-top[hidden] { display: none; }
.footer-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; font-size: 11px; text-transform: uppercase; letter-spacing: .07em; }
.footer-grid p:nth-child(2) { text-align: center; }
.footer-grid p:last-child { text-align: right; color: #999; }
.footer-brand .brand-mark { background: var(--yellow); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
dialog { width: min(760px, calc(100% - 40px)); max-height: 86vh; border: 0; padding: 60px; background: var(--paper-bright); color: var(--ink); box-shadow: 0 24px 100px rgba(0,0,0,.45); }
dialog::backdrop { background: rgba(0,0,0,.76); }
dialog h2 { font-family: var(--serif); font-size: 55px; line-height: .95; margin: 0 0 16px; }
dialog p { font-family: var(--serif); font-size: 19px; }
.dialog-close { position: absolute; top: 14px; right: 18px; border: 0; background: none; font-size: 34px; cursor: pointer; }
.dialog-deck { font-style: italic; border-bottom: 1px solid var(--rule); padding-bottom: 24px; }
.dialog-end { background: var(--yellow); padding: 14px; font-family: var(--sans) !important; font-size: 11px !important; text-transform: uppercase; letter-spacing: .08em; }

@media (max-width: 1180px) {
  .site-header { grid-template-columns: 1fr auto; padding: 4px 18px; min-height: 92px; }
  .brand-logo-frame { width: 174px; }
  .menu-button { display: block; justify-self: end; border: 1px solid var(--ink); background: transparent; padding: 8px 11px; font: 700 10px var(--sans); text-transform: uppercase; }
  nav { display: none; position: absolute; top: 92px; left: 0; right: 0; background: var(--paper); border-bottom: 1px solid var(--ink); padding: 20px; flex-direction: column; gap: 14px; }
  nav.open { display: flex; }
  .newsletter-link { display: none; }
}

@media (max-width: 900px) {
  .shell { width: min(100% - 36px, 760px); }
  .issue-intro { padding-top: 65px; }
  .standfirst { margin-left: 0; }
  .lead-grid, .original-grid, .newsletter-grid, .about, .collector-heading, .collector-submit, .picture-day-heading, .daily-picture figcaption, .fact-grid, .site-information { grid-template-columns: 1fr; gap: 28px; }
  .newsletter-form { grid-template-columns: 1fr; }
  .story-copy { padding-left: 0; }
  .news-box-grid { grid-template-columns: repeat(2, 1fr); }
  .story-grid { grid-template-columns: 1fr 1fr; }
  .collector-grid { grid-template-columns: 1fr 1fr; }
  .archive-grid { grid-template-columns: 1fr 1fr; }
  .archive-lead { grid-column: 1 / -1; border-right: 0; border-bottom: 1px solid var(--rule); padding: 0 0 30px; }
  .footer-grid { grid-template-columns: 1fr; gap: 8px; text-align: center; }
  .footer-grid p:nth-child(2), .footer-grid p:last-child { text-align: center; }
  .footer-brand { margin: auto; }
}

@media (max-width: 560px) {
  .newsletter-fields { grid-template-columns: 1fr; }
  .newsletter-form button { width: 100%; }
}

@media (max-width: 580px) {
  .back-to-top { right: 14px; bottom: 14px; width: 44px; height: 44px; }
  .site-header { min-height: 88px; padding-inline: 12px; }
  .brand-logo-frame { width: 168px; }
  nav { top: 88px; }
  .issue-intro h1 { font-size: 57px; }
  .issue-meta { display: block; }
  .issue-meta span { display: block; margin-bottom: 6px; }
  .lead-grid { padding-bottom: 75px; }
  .story-grid, .archive-grid, .archive-lead, .collector-grid, .collector-lead, .collector-note { grid-template-columns: 1fr; }
  .collector-lead { grid-column: auto; }
  .collector-lead img { min-height: 240px; border-right: 0; border-bottom: 1px solid var(--ink); }
  .news-box-grid { grid-template-columns: 1fr; }
  .desk-title { display: block; }
  .desk-title > p:last-child { margin-top: 4px; }
  .section-rule { padding-bottom: 75px; }
  .split-heading { display: block; }
  .archive-number { margin-bottom: 22px; }
  .original-section { padding: 72px 0; }
  form { display: block; }
  input { width: 100%; border-right: 1px solid var(--ink); }
  form button { width: 100%; padding: 16px; margin-top: 8px; }
  dialog { padding: 46px 24px 28px; }
  dialog h2 { font-size: 42px; }
}
