:root{
  --black:#060504;
  --ink:#f7efe0;
  --muted:#cbbfaa;
  --gold:#d8b057;
  --amber:#8a5a2a;
  --wood:#21130c;
  --panel:#120d0a;
  --serif:Georgia, "Times New Roman", serif;
  --sans:Arial, sans-serif;
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  color:var(--ink);
  background:
    linear-gradient(90deg, rgba(255,255,255,0.025) 0 1px, transparent 1px 24px),
    radial-gradient(circle at 68% 8%, rgba(216,176,87,0.2), transparent 28%),
    linear-gradient(135deg, #080604 0%, #1c0f08 48%, #050403 100%);
  font-family:var(--sans);
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    repeating-linear-gradient(90deg, rgba(117,68,30,0.18) 0 3px, rgba(28,15,8,0.18) 3px 10px),
    radial-gradient(circle at center, transparent 0 28%, rgba(0,0,0,0.32) 70%);
  mix-blend-mode:soft-light;
  opacity:0.7;
}

img{max-width:100%;display:block}

.press-header{
  position:sticky;
  top:0;
  z-index:20;
  display:flex;
  justify-content:center;
  gap:10px;
  padding:14px 18px;
  background:rgba(7,5,4,0.86);
  border-bottom:1px solid rgba(216,176,87,0.25);
  backdrop-filter:blur(12px);
  color:var(--muted);
  font-size:13px;
  letter-spacing:1.4px;
  text-transform:uppercase;
}

.home-link{color:var(--gold);text-decoration:none}
.home-link::after{content:" ->";color:var(--muted);margin-left:10px}

.press-hero{
  display:grid;
  grid-template-columns:minmax(280px, 460px) minmax(0, 560px);
  align-items:center;
  justify-content:center;
  gap:64px;
  min-height:calc(100vh - 48px);
  padding:54px 24px 80px;
}

.hero-cover{
  padding:12px;
  background:linear-gradient(145deg, rgba(216,176,87,0.52), rgba(45,25,13,0.4));
  box-shadow:0 34px 90px rgba(0,0,0,0.58), 0 0 70px rgba(216,176,87,0.16);
}

.hero-cover img{
  width:100%;
  aspect-ratio:0.72;
  object-fit:cover;
  box-shadow:0 18px 40px rgba(0,0,0,0.45);
}

.eyebrow{
  margin:0 0 14px;
  color:var(--gold);
  font-size:12px;
  font-weight:700;
  letter-spacing:2.6px;
  text-transform:uppercase;
}

.published-label{
  display:inline-flex;
  margin:0 0 18px;
  padding:8px 12px;
  color:#f5e7c7;
  background:rgba(216,176,87,0.12);
  border:1px solid rgba(216,176,87,0.3);
  border-radius:6px;
  font-size:12px;
  font-weight:700;
  letter-spacing:1.3px;
  text-transform:uppercase;
}

h1,h2{
  margin:0;
  font-family:var(--serif);
  font-weight:700;
  letter-spacing:0;
}

h1{
  max-width:760px;
  font-size:clamp(48px, 7vw, 92px);
  line-height:0.95;
}

h2{font-size:clamp(34px, 5vw, 58px)}

.subtitle{
  margin:22px 0 34px;
  color:var(--muted);
  font-family:var(--serif);
  font-size:clamp(22px, 3vw, 34px);
}

.hero-actions,.reader-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}

.press-btn,.icon-btn{
  border:1px solid rgba(216,176,87,0.55);
  color:var(--ink);
  background:rgba(18,13,10,0.82);
  border-radius:6px;
  cursor:pointer;
  font-weight:700;
  letter-spacing:1.1px;
  text-decoration:none;
  text-transform:uppercase;
  transition:transform 0.2s ease, background 0.2s ease;
}

.press-btn{padding:15px 20px;font-size:13px}
.press-btn.primary{background:linear-gradient(135deg, var(--gold), #f5ddb2);color:#130c07}
.press-btn:hover,.icon-btn:hover{transform:translateY(-1px)}

.file-size{
  display:inline-block;
  margin-left:8px;
  color:#f7e8bd;
  font-size:11px;
  opacity:0.9;
}

.reader-section,.archive-section,.about-section,.next-issue{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto 88px;
}

.section-heading{margin-bottom:22px}

.reader-shell{
  background:linear-gradient(145deg, rgba(18,13,10,0.95), rgba(7,5,4,0.95));
  border:1px solid rgba(216,176,87,0.24);
  box-shadow:0 30px 86px rgba(0,0,0,0.5);
}

.reader-toolbar{
  position:sticky;
  top:48px;
  z-index:10;
  padding:12px;
  background:rgba(8,6,5,0.94);
  border-bottom:1px solid rgba(216,176,87,0.18);
}

.icon-btn{
  min-height:38px;
  padding:0 12px;
  font-size:11px;
}

.icon-btn.wide{min-width:112px}
.page-count,.zoom-count{color:var(--muted);font-size:13px;min-width:92px;text-align:center}
.zoom-count{min-width:52px}

.reader-layout{
  display:grid;
  grid-template-columns:126px minmax(0, 1fr);
  min-height:680px;
}

.thumb-strip{
  display:flex;
  flex-direction:column;
  gap:10px;
  max-height:calc(100vh - 118px);
  overflow:auto;
  padding:14px;
  background:rgba(0,0,0,0.24);
  border-right:1px solid rgba(216,176,87,0.16);
}

.thumb-button{
  padding:5px;
  border:1px solid rgba(216,176,87,0.16);
  border-radius:6px;
  background:#070504;
  cursor:pointer;
}

.thumb-button img{
  width:84px;
  aspect-ratio:0.72;
  object-fit:cover;
}

.thumb-button[aria-current="true"]{
  border-color:var(--gold);
  box-shadow:0 0 0 2px rgba(216,176,87,0.15);
}

.magazine-stage{
  overflow:auto;
  padding:28px;
  outline:none;
  background:
    radial-gradient(circle at 50% 12%, rgba(216,176,87,0.14), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,0.035), transparent 22%);
}

.magazine-book{
  position:relative;
  width:min(760px, 100%);
  margin:0 auto;
  perspective:1800px;
  transform-origin:top center;
  transition:transform 0.2s ease;
}

.magazine-page,.turning-page{
  width:100%;
  aspect-ratio:0.72;
  object-fit:contain;
  background:#17100a;
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 30px 70px rgba(0,0,0,0.62);
}

.turning-page{
  position:absolute;
  inset:0;
  transform-origin:left center;
  backface-visibility:hidden;
  opacity:0;
  pointer-events:none;
}

.magazine-book.is-turning-next .turning-page{
  opacity:1;
  animation:turnNext 520ms ease-in-out;
}

.magazine-book.is-turning-prev .turning-page{
  opacity:1;
  transform-origin:right center;
  animation:turnPrev 520ms ease-in-out;
}

.archive-section{
  padding:44px;
  background:rgba(10,7,5,0.58);
  border-top:1px solid rgba(216,176,87,0.28);
  border-bottom:1px solid rgba(216,176,87,0.14);
}

.issue-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:22px;
}

.issue-card{
  display:grid;
  grid-template-columns:132px minmax(0, 1fr);
  gap:18px;
  align-items:start;
  padding:18px;
  background:linear-gradient(145deg, rgba(18,13,10,0.95), rgba(7,5,4,0.95));
  border:1px solid rgba(216,176,87,0.22);
  border-radius:8px;
  box-shadow:0 18px 46px rgba(0,0,0,0.32);
}

.issue-cover-link{
  display:block;
  padding:5px;
  background:rgba(216,176,87,0.12);
  border:1px solid rgba(216,176,87,0.2);
  border-radius:6px;
}

.issue-cover-link img{
  width:100%;
  aspect-ratio:0.72;
  object-fit:cover;
  border-radius:3px;
}

.issue-card-copy{
  min-width:0;
}

.issue-number,.issue-date{
  color:var(--gold);
  font-size:11px;
  font-weight:700;
  letter-spacing:1.4px;
  margin:0 0 8px;
  text-transform:uppercase;
}

.issue-date{
  color:var(--muted);
  letter-spacing:0.8px;
}

.issue-card h3{
  margin:0 0 10px;
  color:var(--ink);
  font-family:var(--serif);
  font-size:25px;
  line-height:1.08;
}

.issue-card p:not(.issue-number):not(.issue-date){
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
  margin:0 0 16px;
}

.issue-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.archive-btn{
  align-items:center;
  background:rgba(18,13,10,0.9);
  border:1px solid rgba(216,176,87,0.46);
  border-radius:6px;
  color:var(--ink);
  display:inline-flex;
  font-size:10px;
  font-weight:700;
  justify-content:center;
  letter-spacing:1px;
  min-height:34px;
  padding:9px 11px;
  text-decoration:none;
  text-transform:uppercase;
}

.archive-btn.primary{
  background:linear-gradient(135deg, var(--gold), #f5ddb2);
  color:#130c07;
}

.archive-loading{
  color:var(--muted);
  margin:0;
}

.about-section,.next-issue{
  display:grid;
  grid-template-columns:minmax(240px, 0.75fr) minmax(0, 1fr);
  gap:42px;
  align-items:start;
  padding:44px;
  background:rgba(10,7,5,0.68);
  border-top:1px solid rgba(216,176,87,0.32);
  border-bottom:1px solid rgba(216,176,87,0.16);
}

.about-section p:last-child{
  margin:0;
  color:var(--muted);
  font-family:var(--serif);
  font-size:24px;
  line-height:1.55;
}

.next-issue{
  grid-template-columns:minmax(0, 1fr) 320px;
  align-items:center;
}

.next-issue ul{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  list-style:none;
  margin:26px 0 0;
  padding:0;
}

.next-issue li{
  padding:14px;
  background:rgba(216,176,87,0.08);
  border:1px solid rgba(216,176,87,0.18);
  color:#f3ead9;
  font-family:var(--serif);
  font-size:18px;
}

.next-issue img{
  width:100%;
  border:1px solid rgba(216,176,87,0.28);
  box-shadow:0 22px 54px rgba(0,0,0,0.48);
}

.reader-shell:fullscreen{
  width:100vw;
  height:100vh;
  overflow:auto;
  background:#050403;
}

.reader-shell:fullscreen .reader-layout{min-height:calc(100vh - 64px)}
.reader-shell:fullscreen .magazine-book{width:min(820px, 92vw)}

@keyframes turnNext{
  0%{transform:rotateY(0);filter:brightness(1)}
  55%{filter:brightness(0.58)}
  100%{transform:rotateY(-112deg);filter:brightness(0.88)}
}

@keyframes turnPrev{
  0%{transform:rotateY(0);filter:brightness(1)}
  55%{filter:brightness(0.58)}
  100%{transform:rotateY(112deg);filter:brightness(0.88)}
}

@media (max-width:820px){
  .press-hero{
    grid-template-columns:1fr;
    gap:30px;
    min-height:auto;
    padding-top:34px;
  }

  .hero-cover{max-width:420px;margin:0 auto}

  .reader-layout{grid-template-columns:1fr;min-height:auto}

  .thumb-strip{
    flex-direction:row;
    max-height:none;
    overflow:auto;
    border-right:0;
    border-bottom:1px solid rgba(216,176,87,0.16);
  }

  .magazine-stage{padding:16px}

  .archive-section,
  .about-section,.next-issue{
    grid-template-columns:1fr;
    padding:28px 20px;
  }

  .next-issue ul{grid-template-columns:1fr}
  .next-issue img{max-width:320px}
}

@media (max-width:540px){
  .press-header{justify-content:flex-start}
  .reader-section,.archive-section,.about-section,.next-issue{width:100%;margin-bottom:56px}
  .reader-toolbar{top:45px}
  .page-count{order:5;width:100%;text-align:left}
  .press-btn{width:100%;text-align:center}
  .thumb-button img{width:62px}
  .about-section p:last-child{font-size:20px}

  .issue-card{
    grid-template-columns:108px minmax(0, 1fr);
    padding:14px;
  }

  .issue-card h3{
    font-size:21px;
  }

  .issue-actions{
    display:grid;
    grid-template-columns:1fr;
  }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:0.001ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:0.001ms !important;
  }
}
