@import url("https://fonts.googleapis.com/css2?family=UnifrakturCook:wght@700&display=swap");

:root { --ink:#17130f; --red:#8b211b; --paper:#f2e6ca; --rule:#2b251d; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#28231d; font-family:Georgia,"Times New Roman",serif; }
a { color:inherit; }
.paper { width:min(100%,1600px); min-height:100vh; margin:0 auto; padding:26px 66px 34px; background:radial-gradient(circle at 15% 12%,rgba(139,84,34,.08),transparent 18%),radial-gradient(circle at 83% 34%,rgba(139,84,34,.06),transparent 22%),repeating-linear-gradient(96deg,rgba(92,59,24,.018) 0 1px,transparent 1px 5px),var(--paper); box-shadow:0 0 70px #0009; }
.issue-line { display:grid; grid-template-columns:1fr 1fr 1fr; align-items:end; gap:20px; padding:0 8px 11px; border-bottom:1px solid var(--rule); font-size:14px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.issue-line span:nth-child(2) { text-align:center; }
.issue-line span:last-child { text-align:right; }
.issue-line i { color:var(--red); font-size:8px; padding:0 7px; }
.issue-line b { color:var(--red); font-size:21px; }
.nameplate { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:38px; padding:13px 0 5px; }
.nameplate h1 { margin:0; font-family:"UnifrakturCook",Georgia,serif; font-size:clamp(64px,8vw,126px); font-weight:900; letter-spacing:-.055em; line-height:.95; text-align:center; }
.flourish { display:flex; align-items:center; gap:8px; font-size:38px; }
.flourish::before,.flourish::after { content:""; height:1px; flex:1; background:var(--ink); }
.flourish:last-child { transform:scaleX(-1); }
nav { display:flex; align-items:center; justify-content:center; gap:clamp(18px,3vw,50px); padding:12px 10px; border-bottom:9px double var(--rule); font-size:15px; font-weight:700; letter-spacing:.075em; text-transform:uppercase; }
nav a { text-decoration:none; }
nav a:hover,nav a:focus-visible { color:var(--red); }
nav i { font-size:7px; }
.hero { padding:27px 20px 18px; text-align:center; }
.hero-heading { display:grid; grid-template-columns:1fr minmax(580px,1000px) 1fr; align-items:center; gap:20px; }
.hero-heading h2 { margin:0; font-size:clamp(52px,6.25vw,100px); font-weight:700; letter-spacing:-.035em; line-height:.9; text-transform:uppercase; }
.flourish--small { color:var(--red); font-size:30px; }
.flourish--small::before,.flourish--small::after { background:var(--red); }
.diamond-rule { display:flex; align-items:center; width:min(580px,65%); margin:12px auto 8px; color:var(--red); font-size:11px; }
.diamond-rule::before,.diamond-rule::after { content:""; flex:1; height:1px; background:#756b5a; }
.diamond-rule span { padding:0 10px; }
.dek { margin:0; font-size:clamp(19px,1.7vw,27px); line-height:1.2; }
.hero-art { display:block; width:min(880px,88%); height:178px; margin:-3px auto 4px; object-fit:cover; object-position:center 53%; filter:sepia(.08) contrast(1.08); }
.actions { display:grid; grid-template-columns:minmax(260px,440px) auto minmax(260px,440px); align-items:center; justify-content:center; gap:30px; }
.actions>span { color:var(--red); }
.button { display:block; padding:14px 25px 12px; border:5px double var(--ink); background:rgba(255,255,255,.13); font-size:17px; font-weight:700; letter-spacing:.035em; text-decoration:none; text-transform:uppercase; transition:transform .18s ease,background .18s ease,color .18s ease; }
.button:hover,.button:focus-visible { transform:translateY(-2px); background:#fff6; }
.button--primary { color:#fff8e8; border-color:var(--red); background:var(--red); }
.button--primary:hover,.button--primary:focus-visible { background:#651711; }
.columns { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--rule); border-bottom:6px double var(--rule); }
.columns article { position:relative; padding:18px 48px 22px; text-align:center; }
.columns article+article { border-left:2px dotted #615746; }
.columns h3 { margin:0 0 6px; color:var(--red); border-bottom:1px solid #756b5a; font-size:18px; text-transform:uppercase; }
.columns h3 span { color:var(--ink); }
.columns p { margin:0; font-size:16px; line-height:1.45; }
.status { display:inline-block; margin-top:12px; font-size:11px; font-weight:bold; letter-spacing:.12em; text-transform:uppercase; }
.calendar-section { padding:58px 7% 66px; border-bottom:6px double var(--rule); text-align:center; background:linear-gradient(rgba(255,255,255,.12),rgba(139,33,27,.025)); }
.calendar-heading { max-width:850px; margin:0 auto 25px; }
.calendar-heading h2 { margin:7px 0 10px; font-size:clamp(38px,4.5vw,68px); line-height:.98; text-transform:uppercase; }
.calendar-heading>p:last-child { margin:0; font-size:18px; line-height:1.5; }
.calendar-frame { position:relative; overflow:hidden; max-width:1180px; margin:0 auto; padding:10px; border:7px double var(--rule); background:#e9dcc0; box-shadow:inset 0 0 0 1px #756b5a; }
.calendar-frame::before { content:"◆  ◆  ◆"; display:block; padding:2px 0 9px; color:var(--red); font-size:9px; letter-spacing:1em; }
.calendar-frame iframe { display:block; width:100%; height:650px; border:1px solid #756b5a; background:#fff; filter:sepia(.08) saturate(.85); }
.calendar-fallback { margin:18px 0 0; }
.calendar-fallback a { color:var(--red); font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; text-underline-offset:5px; }
.lower { display:grid; grid-template-columns:1.7fr 1fr; gap:70px; padding:78px 9% 84px; background:linear-gradient(#0000,rgba(255,255,255,.18)); }
.lower article { padding-right:30px; border-right:1px solid #756b5a; }
.lower h2 { margin:7px 0 18px; font-size:clamp(34px,4vw,62px); line-height:.98; }
.lower p { max-width:760px; font-size:18px; line-height:1.6; }
.lower aside h2 { font-size:31px; }
.lower aside a { display:inline-block; margin-top:10px; color:var(--red); font-weight:700; letter-spacing:.08em; text-transform:uppercase; text-underline-offset:5px; }
.kicker { margin:0!important; color:var(--red); font-size:13px!important; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
footer { display:flex; justify-content:space-between; gap:25px; padding:19px 8px 0; border-top:8px double var(--rule); font-size:12px; letter-spacing:.07em; text-transform:uppercase; }
:focus-visible { outline:3px solid var(--red); outline-offset:4px; }
@media (max-width:900px) {
  .paper { padding:20px 24px 28px; }
  .issue-line { grid-template-columns:1fr 1fr; }
  .issue-line span:nth-child(2) { display:none; }
  .nameplate { grid-template-columns:1fr; }
  .nameplate .flourish,.hero-heading .flourish { display:none; }
  nav { flex-wrap:wrap; gap:10px 20px; }
  .hero-heading { grid-template-columns:1fr; }
  .hero-heading h2 { font-size:clamp(43px,10vw,72px); }
  .hero-art { width:100%; height:138px; }
  .actions { grid-template-columns:1fr; gap:10px; }
  .actions>span { display:none; }
  .columns,.lower { grid-template-columns:1fr; }
  .columns article+article { border-left:0; border-top:2px dotted #615746; }
  .calendar-section { padding:50px 3% 55px; }
  .calendar-frame iframe { height:580px; }
  .lower { gap:34px; padding:55px 6% 60px; }
  .lower article { padding-right:0; padding-bottom:30px; border-right:0; border-bottom:1px solid #756b5a; }
}
@media (max-width:560px) {
  .paper { padding:14px 14px 22px; }
  .issue-line { font-size:10px; }
  .nameplate h1 { font-size:52px; }
  nav { font-size:12px; }
  nav i { display:none; }
  .hero { padding-inline:0; }
  .hero-heading h2 { font-size:38px; }
  .dek br { display:none; }
  .dek { font-size:18px; }
  .hero-art { height:105px; }
  .button { font-size:14px; }
  .columns article { padding-inline:22px; }
  .calendar-section { padding:42px 0 48px; }
  .calendar-heading { padding-inline:12px; }
  .calendar-heading h2 { font-size:35px; }
  .calendar-heading>p:last-child { font-size:16px; }
  .calendar-frame { padding:5px; border-width:5px; }
  .calendar-frame::before { padding-bottom:6px; }
  .calendar-frame iframe { height:500px; }
  footer { flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  * { transition:none!important; }
}
