.page-dispatch, .page-article{background:var(--n-50);font-size:17px;line-height:28px}

/* MAGAZINE COVER V3 — centered masthead, real magazine cover energy */
.mag-cover-v3{
  position:relative;
  background:
    radial-gradient(ellipse at 50% 35%, #2a1408 0%, #0d0608 55%, #050308 100%),
    #050308;
  color:var(--tpp-white);
  min-height:100vh;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,0.1);
  display:flex;flex-direction:column;justify-content:space-between;
  padding:96px 48px 32px;
}
.mag-cover-v3::before{
  content:"";position:absolute;inset:0;
  background-image:
    repeating-linear-gradient(0deg,rgba(255,255,255,0.025) 0,rgba(255,255,255,0.025) 1px,transparent 1px,transparent 4px);
  pointer-events:none;
  opacity:.4;
}
.mag-cover-v3::after{
  /* Soft orange spotlight bloom behind the masthead */
  content:"";position:absolute;left:50%;top:42%;width:900px;height:900px;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(243,111,33,0.20) 0%,rgba(243,111,33,0) 60%);
  pointer-events:none;
  filter:blur(40px);
}
.mag-cover-v3 > *{position:relative;z-index:2}

.mag-toprule,.mag-bottomrule{
  display:flex;justify-content:center;gap:14px;align-items:center;
  font-family:var(--f-mono);font-size:11px;letter-spacing:0.3em;
  text-transform:uppercase;color:rgba(255,255,255,0.55);
  padding:12px 0;border-top:1px solid rgba(255,255,255,0.18);border-bottom:1px solid rgba(255,255,255,0.18);
  flex-wrap:wrap;
}
.mag-toprule{margin-top:32px}
.mag-bottomrule{margin-bottom:0;color:rgba(255,255,255,0.5)}

.mag-masthead{text-align:center;padding:64px 16px 48px;max-width:1200px;margin:0 auto}
.mag-title-line{font-family:var(--f-display);font-weight:400;font-size:clamp(72px,12vw,200px);letter-spacing:0.005em;text-transform:uppercase;color:var(--tpp-white);line-height:1;margin:0 0 24px}
.mag-tagline{font-family:var(--f-mono);font-size:clamp(11px,1.1vw,14px);letter-spacing:0.34em;text-transform:uppercase;color:var(--tpp-orange);margin-bottom:20px}
.mag-supra{font-family:var(--f-mono);font-size:11px;letter-spacing:0.24em;text-transform:uppercase;color:rgba(255,255,255,0.5);margin-bottom:0}

.mag-cover-feature{display:block;color:var(--tpp-white);text-decoration:none;text-align:center;max-width:72ch;margin:32px auto;padding:40px 24px;border-top:1px solid rgba(255,255,255,0.12);border-bottom:1px solid rgba(255,255,255,0.12);transition:transform .25s ease}
.mag-cover-feature:hover{transform:translateY(-2px)}
.mag-cover-feature:hover .mag-cover-arrow{color:var(--tpp-white)}
.mag-cover-kicker{font-family:var(--f-mono);font-size:11px;letter-spacing:0.3em;text-transform:uppercase;color:var(--tpp-orange);margin-bottom:24px;display:block}
.mag-cover-title{font-family:var(--f-display);font-style:normal;font-weight:400;font-size:clamp(40px,5.4vw,88px);line-height:1.0;letter-spacing:0.005em;text-transform:uppercase;color:var(--tpp-white);margin:0 auto 24px;max-width:22ch}
.mag-cover-dek{font-family:var(--f-sans);font-style:normal;font-weight:400;font-size:clamp(16px,1.3vw,20px);line-height:1.55;color:rgba(255,255,255,0.78);max-width:60ch;margin:0 auto 24px}
.mag-cover-dek em{font-style:normal;color:rgba(255,255,255,0.95)}
.mag-cover-meta{font-family:var(--f-mono);font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:rgba(255,255,255,0.55);display:inline-flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center}
.mag-cover-arrow{color:var(--tpp-orange);font-weight:500;transition:color .2s ease}

@media (max-width:880px){
  .mag-cover-v3{padding:80px 20px 16px;min-height:auto}
  .mag-toprule,.mag-bottomrule{font-size:9px;letter-spacing:0.2em;gap:8px}
  .mag-masthead{padding:32px 8px 24px}
  .mag-cover-feature{padding:24px 8px}
}

/* MAGAZINE COVER V2 — bespoke editorial, no logo watermark */
.mag-cover-v2{position:relative;background:#0d0a08;color:var(--tpp-white);min-height:92vh;overflow:hidden;border-bottom:1px solid rgba(255,255,255,0.08)}
.mag-cover-v2::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 20% 0%,rgba(243,111,33,0.18),transparent 50%),
    radial-gradient(ellipse at 80% 100%,rgba(243,111,33,0.10),transparent 50%);
  pointer-events:none;
}
.mag-cover-v2::after{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(90deg,rgba(255,255,255,0.02) 1px,transparent 1px),
    linear-gradient(0deg,rgba(255,255,255,0.02) 1px,transparent 1px);
  background-size:48px 48px;
  pointer-events:none;
  mask-image:radial-gradient(ellipse at center,black 30%,transparent 70%);
}
.mag-cover-v2 .mag-cover-inner{position:relative;z-index:2;padding:144px 80px 48px;display:flex;flex-direction:column;justify-content:space-between;min-height:92vh;max-width:1400px;margin:0 auto}
.mag-cover-v2 .mag-top{display:flex;justify-content:space-between;align-items:flex-start;gap:48px}
.mag-mast-v2{display:flex;flex-direction:column;line-height:1}
.mag-mast-v2 .mag-the{font-family:var(--f-editorial);font-style:italic;font-weight:400;font-size:clamp(32px,3.6vw,56px);color:var(--tpp-orange);margin-bottom:-12px;margin-left:8px;line-height:1}
.mag-mast-v2 .mag-dispatch{font-family:var(--f-editorial);font-style:normal;font-weight:500;font-size:clamp(80px,12vw,200px);letter-spacing:-0.025em;color:var(--tpp-white);line-height:0.85;margin:0}
.mag-mast-v2 .mag-est{font-family:var(--f-mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.55);margin-top:32px;max-width:36ch}
.mag-issue-v2{font-family:var(--f-mono);text-transform:uppercase;text-align:right;color:var(--tpp-orange);display:flex;flex-direction:column;align-items:flex-end;gap:6px;border-left:1px solid rgba(255,255,255,0.2);padding-left:32px}
.mag-issue-v2 .mag-issue-num{font-size:16px;letter-spacing:0.24em;font-weight:500;color:var(--tpp-white)}
.mag-issue-v2 .mag-issue-year{font-size:11px;letter-spacing:0.3em;color:var(--tpp-orange)}
.mag-issue-v2 .mag-issue-locale{font-size:10px;letter-spacing:0.3em;color:rgba(255,255,255,0.45);margin-top:8px}
.mag-cover-v2 .mag-rule{height:1px;background:linear-gradient(90deg,rgba(243,111,33,0.6),rgba(255,255,255,0.2),transparent);margin:48px 0}
.mag-feature-v2{display:block;color:var(--tpp-white);text-decoration:none;max-width:80ch;margin-top:auto;margin-bottom:64px;transition:transform .25s ease}
.mag-feature-v2:hover{transform:translateY(-2px)}
.mag-feature-v2:hover .mag-feature-title-v2 em{color:var(--tpp-white)}
.mag-feature-kicker{font-family:var(--f-mono);font-size:12px;letter-spacing:0.3em;text-transform:uppercase;color:var(--tpp-orange);margin-bottom:32px;display:inline-block;padding:6px 14px;border:1px solid rgba(243,111,33,0.4);border-radius:24px}
.mag-feature-title-v2{font-family:var(--f-editorial);font-weight:500;font-style:normal;font-size:clamp(48px,7vw,112px);line-height:0.95;letter-spacing:-0.018em;color:var(--tpp-white);margin-bottom:32px;max-width:16ch}
.mag-feature-title-v2 em{font-style:italic;color:var(--tpp-orange);transition:color .2s ease}
.mag-feature-dek-v2{font-family:var(--f-editorial);font-style:normal;font-size:clamp(19px,1.7vw,26px);line-height:1.5;color:rgba(255,255,255,0.78);max-width:54ch;margin-bottom:32px}
.mag-feature-dek-v2 em{font-style:italic;color:rgba(255,255,255,0.92)}
.mag-feature-meta-v2{display:flex;gap:14px;font-family:var(--f-mono);font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--tpp-orange);flex-wrap:wrap;align-items:center}
.mag-foot-v2{display:flex;justify-content:space-between;align-items:center;font-family:var(--f-mono);font-size:10px;letter-spacing:0.3em;text-transform:uppercase;color:rgba(255,255,255,0.4);padding-top:24px;border-top:1px solid rgba(255,255,255,0.1);gap:24px;flex-wrap:wrap}

@media (max-width:880px){
  .mag-cover-v2 .mag-cover-inner{padding:96px 24px 24px;min-height:auto}
  .mag-cover-v2 .mag-top{flex-direction:column;gap:24px;align-items:flex-start}
  .mag-issue-v2{align-items:flex-start;border-left:none;padding-left:0;border-top:1px solid rgba(255,255,255,0.18);padding-top:16px;text-align:left}
  .mag-foot-v2{flex-direction:column;gap:8px;align-items:flex-start}
}

/* MAGAZINE COVER — single-page hero */
.mag-cover{background:var(--tpp-charcoal);color:var(--tpp-white);padding:96px 24px 64px;border-bottom:2px solid var(--tpp-orange)}
.mag-cover-frame{max-width:1100px;margin:0 auto;border:1.5px solid rgba(255,255,255,0.18);border-radius:12px;padding:48px;background:radial-gradient(circle at 80% 20%,rgba(243,111,33,0.18),transparent 50%),radial-gradient(circle at 20% 80%,rgba(243,111,33,0.10),transparent 50%);position:relative;min-height:520px;display:flex;flex-direction:column;justify-content:space-between;gap:48px}
.mag-mast{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1.5px solid rgba(255,255,255,0.2);padding-bottom:24px}
.mag-mast .mag-title{font-family:var(--f-display);font-weight:500;font-size:clamp(56px,9vw,128px);line-height:0.95;letter-spacing:-0.005em;text-transform:uppercase}
.mag-mast .mag-issue{font-family:var(--f-mono);font-size:12px;letter-spacing:0.24em;text-transform:uppercase;color:var(--tpp-orange);text-align:right;line-height:1.4}
.mag-feature{display:block;color:var(--tpp-white);max-width:80ch}
.mag-feature-kicker{font-family:var(--f-mono);font-size:12px;letter-spacing:0.24em;text-transform:uppercase;color:var(--tpp-orange);margin-bottom:16px}
.mag-feature-title{font-family:var(--f-display);font-weight:500;font-size:clamp(40px,6.5vw,84px);line-height:1.0;letter-spacing:-0.005em;text-transform:uppercase;color:var(--tpp-white);margin-bottom:16px}
.mag-feature-dek{font-size:18px;line-height:1.5;color:rgba(255,255,255,0.82);max-width:60ch;margin-bottom:16px}
.mag-feature-meta{font-family:var(--f-mono);font-size:12px;letter-spacing:0.18em;text-transform:uppercase;color:var(--tpp-orange)}
a.mag-feature{display:block;text-decoration:none;transition:transform .25s ease}
a.mag-feature:hover{transform:translateY(-2px)}
a.mag-feature:hover .mag-feature-title{color:var(--tpp-orange)}
.mag-foot{display:flex;justify-content:space-between;align-items:center;font-family:var(--f-mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:rgba(255,255,255,0.55);padding-top:24px;border-top:1px solid rgba(255,255,255,0.12);flex-wrap:wrap;gap:16px}
.mag-search{display:flex;gap:6px}
.mag-search input{padding:8px 12px;font-family:var(--f-sans);font-size:14px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.2);color:#fff;border-radius:4px}
.mag-search button{padding:8px 14px;background:var(--tpp-orange);color:var(--tpp-charcoal);border:none;font-weight:700;cursor:pointer;border-radius:4px}
@media (max-width:680px){.mag-cover-frame{padding:24px}.mag-mast{flex-direction:column;gap:8px}.mag-mast .mag-issue{text-align:left}}

.mag-feed{padding-top:48px}

/* legacy masthead — used elsewhere if needed */
.masthead{background:var(--tpp-charcoal);color:var(--tpp-white);padding:128px 32px 64px;text-align:center;border-bottom:1.5px solid var(--tpp-orange)}
.masthead .stamp{font-family:var(--f-mono);font-size:12px;letter-spacing:0.3em;color:var(--tpp-orange);text-transform:uppercase;margin-bottom:24px}
.masthead h1{font-family:var(--f-display);font-size:clamp(64px,10vw,144px);line-height:0.92;letter-spacing:-0.01em;text-transform:uppercase}
.masthead .sub{margin:24px auto 0;max-width:54ch;font-size:18px;line-height:1.6;opacity:.8}
.masthead .search{margin:32px auto 0;max-width:480px;display:flex;gap:8px}
.masthead .search input{flex:1;padding:12px 16px;font-family:var(--f-sans);font-size:15px;border:1px solid rgba(255,255,255,0.2);background:rgba(255,255,255,0.06);color:#fff}
.masthead .search button{padding:12px 18px;font-family:var(--f-mono);font-size:12px;letter-spacing:0.18em;text-transform:uppercase;background:var(--tpp-orange);color:var(--tpp-charcoal);border:none;cursor:pointer}

.list-wrap{max-width:960px;margin:0 auto;padding:64px 32px 96px}
.cat-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1.5px solid var(--tpp-charcoal);padding-bottom:16px;margin-bottom:32px}
.cat-head h2{font-family:var(--f-mono);font-size:13px;letter-spacing:0.24em;text-transform:uppercase;color:var(--tpp-charcoal)}
.cat-head span{font-family:var(--f-mono);font-size:12px;color:var(--n-500);letter-spacing:0.2em}
.feed{list-style:none}
.feed li{border-bottom:1px solid var(--n-300);padding:32px 0;display:grid;grid-template-columns:160px 1fr;gap:32px}
.feed .kicker{font-family:var(--f-mono);font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--tpp-orange)}
.feed h3{font-family:var(--f-sans);font-weight:700;font-size:28px;letter-spacing:-0.01em;line-height:1.2;margin-bottom:8px}
.feed h3 a{color:inherit}
.feed h3 a:hover{color:var(--tpp-orange-deep)}
.feed p{font-size:16px;line-height:1.6;color:var(--n-700);max-width:60ch}
.feed .meta{margin-top:12px;font-family:var(--f-mono);font-size:12px;color:var(--n-500);letter-spacing:0.06em}
.empty{padding:64px 0;color:var(--n-500);font-family:var(--f-mono);font-size:14px;text-align:center}
@media (max-width:880px){.feed li{grid-template-columns:1fr;gap:8px}}

/* ARTICLE */
.article{max-width:760px;margin:0 auto;padding:128px 24px 96px}
.article .crumbs{font-family:var(--f-mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--n-500);margin-bottom:24px}
.article .crumbs a{color:var(--tpp-orange-deep)}
.article .crumbs span{margin:0 8px}
.article .kicker{font-family:var(--f-mono);font-size:12px;letter-spacing:0.22em;text-transform:uppercase;color:var(--tpp-orange);margin-bottom:16px}
.article h1{font-family:var(--f-display);font-size:clamp(40px,6vw,72px);line-height:0.95;letter-spacing:-0.01em;text-transform:uppercase;margin-bottom:24px;color:var(--tpp-charcoal)}
.article .excerpt{font-size:20px;line-height:1.5;color:var(--n-700);margin-bottom:24px}
.article .byline{font-family:var(--f-mono);font-size:13px;letter-spacing:0.1em;color:var(--n-500);text-transform:uppercase;padding-bottom:32px;border-bottom:1px solid var(--n-300);margin-bottom:48px}
.article .body p{margin-bottom:24px;font-size:18px;line-height:1.7}
.article .body h2{font-family:var(--f-sans);font-weight:700;font-size:28px;letter-spacing:-0.01em;margin:48px 0 16px;color:var(--tpp-charcoal)}
.article .body h3{font-family:var(--f-mono);font-size:14px;letter-spacing:0.18em;text-transform:uppercase;color:var(--tpp-orange);margin:32px 0 12px}
.article .body ul,.article .body ol{margin:0 0 24px 24px}
.article .body li{margin-bottom:8px;font-size:18px;line-height:1.6}
.article .body code{font-family:var(--f-mono);font-size:15px;background:var(--n-100);padding:2px 6px}
.article .body blockquote{border-left:3px solid var(--tpp-orange);padding-left:24px;margin:32px 0;font-size:20px;line-height:1.5;color:var(--n-700)}
.article .body a{color:var(--tpp-orange-deep);text-decoration:underline}
.article .back{display:inline-block;margin-top:48px;font-family:var(--f-mono);font-size:12px;letter-spacing:0.18em;text-transform:uppercase;color:var(--tpp-orange-deep)}

/* FAQ for AEO */
.faq{margin:64px 0 32px;padding:32px;background:var(--tpp-white);border:1px solid var(--n-300)}
.faq h2{font-family:var(--f-sans);font-weight:700;font-size:24px;margin-bottom:16px}
.faq-item{padding:16px 0;border-bottom:1px solid var(--n-300)}
.faq-item:last-child{border-bottom:none}
.faq-item summary{font-family:var(--f-sans);font-weight:600;font-size:18px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:8px 0}
.faq-item summary::after{content:"+";color:var(--tpp-orange);font-family:var(--f-mono);font-size:24px;font-weight:400}
.faq-item[open] summary::after{content:"−"}
.faq-item div{padding:8px 0 16px;font-size:17px;line-height:1.6;color:var(--n-700)}

/* RELATED */
.related{margin-top:64px;padding-top:32px;border-top:1px solid var(--n-300)}
.related h3{font-family:var(--f-mono);font-size:12px;letter-spacing:0.24em;text-transform:uppercase;color:var(--tpp-orange);margin-bottom:16px}
.related ul{list-style:none}
.related li{padding:16px 0;border-bottom:1px solid var(--n-300)}
.related a{display:block}
.related .kicker{font-family:var(--f-mono);font-size:11px;letter-spacing:0.2em;color:var(--n-500);text-transform:uppercase;display:block;margin-bottom:4px}
.related .ttl{font-family:var(--f-sans);font-weight:600;font-size:18px;color:var(--tpp-charcoal)}
.related a:hover .ttl{color:var(--tpp-orange-deep)}
