/* =========================================================
   Article (news detail) — shared styles
   ========================================================= */
.article-hero{
  padding:140px 0 60px;background:var(--paper);border-bottom:1px solid var(--line);
}
.article-hero .crumbs{font-family:var(--latin-sans);font-size:11px;letter-spacing:.18em;color:var(--muted);text-transform:uppercase;margin-bottom:30px}
.article-hero .crumbs a{color:var(--muted)}
.article-hero .crumbs a:hover{color:var(--accent)}
.article-hero .crumbs .sep{margin:0 10px;opacity:.5}
.article-hero .meta-row{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-bottom:24px;font-family:var(--latin-sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.article-hero .meta-row .cat{padding:5px 14px;border:1px solid var(--accent);color:var(--accent);border-radius:999px;font-weight:500}
.article-hero .meta-row .date{color:var(--muted)}
.article-hero .meta-row .read{color:var(--muted)}
.article-hero h1{font-family:var(--mincho);font-size:clamp(34px,4.4vw,58px);line-height:1.3;font-weight:600;letter-spacing:.02em;margin-bottom:24px;color:var(--ink);max-width:980px}
.article-hero .lede{font-size:16px;line-height:2;color:var(--ink-soft);max-width:760px;margin-bottom:8px}

.article-cover{
  margin:0;aspect-ratio:21/9;
  display:flex;align-items:center;justify-content:center;
  border-bottom:1px solid var(--line);position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 30% 40%, rgba(182,148,75,.18), transparent 55%),
    linear-gradient(135deg, #ebe4d5 0%, #c9bf9e 100%);
}
.article-cover.dark{
  background:
    radial-gradient(circle at 70% 30%, rgba(232,212,164,.15), transparent 60%),
    linear-gradient(135deg,#1a2330 0%,#111821 100%);
  color:var(--paper);
}
.article-cover .ph-stamp{font-family:var(--mincho);font-size:clamp(80px,12vw,180px);font-weight:600;color:rgba(17,24,33,.1);letter-spacing:.1em;line-height:1;user-select:none}
.article-cover.dark .ph-stamp{color:rgba(232,212,164,.18)}
.article-cover .ph-tag{position:absolute;top:24px;left:32px;font-family:var(--latin-sans);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-soft)}
.article-cover.dark .ph-tag{color:rgba(232,212,164,.7)}
.article-cover .ph-cap{position:absolute;bottom:24px;right:32px;font-family:var(--latin);font-style:italic;font-size:13px;color:var(--muted)}
.article-cover img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}

.article-body{padding:80px 0 100px}
.article-body .layout{display:grid;grid-template-columns:200px 1fr 220px;gap:80px;align-items:start}

.toc{position:sticky;top:100px;font-family:var(--latin-sans);font-size:11px;letter-spacing:.15em;text-transform:uppercase}
.toc .label{color:var(--muted);margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.toc ul{list-style:none;display:flex;flex-direction:column;gap:14px}
.toc a{color:var(--ink-soft);font-weight:500;line-height:1.5}
.toc a:hover{color:var(--accent)}

.prose{max-width:680px;font-size:15.5px;line-height:2.1;color:var(--ink-soft)}
.prose h2{font-family:var(--mincho);font-size:30px;font-weight:600;color:var(--ink);line-height:1.5;margin:60px 0 22px;letter-spacing:.02em;scroll-margin-top:90px}
.prose h2 .num{font-family:var(--latin);color:var(--accent);font-style:italic;font-size:.65em;margin-right:.6em;font-weight:500}
.prose h3{font-family:var(--mincho);font-size:21px;font-weight:600;color:var(--ink);line-height:1.5;margin:36px 0 14px}
.prose p{margin-bottom:22px}
.prose p strong{color:var(--ink);font-weight:600}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prose a:hover{color:var(--accent-ink)}
.prose ul,.prose ol{padding-left:1.4em;margin-bottom:22px}
.prose li{margin-bottom:10px;line-height:1.95}
.prose blockquote{border-left:3px solid var(--accent);padding:6px 0 6px 22px;margin:28px 0;font-family:var(--mincho);font-size:18px;line-height:1.9;color:var(--ink);font-style:normal}
.prose blockquote .cite{display:block;font-family:var(--latin);font-style:italic;font-size:13px;color:var(--muted);margin-top:10px}
.prose .callout{margin:32px 0;padding:24px 28px;background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--accent)}
.prose .callout .lbl{font-family:var(--latin-sans);font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.prose .callout p{font-size:13.5px;line-height:1.9;margin-bottom:0}
.prose .stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:36px 0;padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.prose .stat-grid .s{display:flex;flex-direction:column;gap:6px}
.prose .stat-grid .n{font-family:var(--latin);font-size:42px;color:var(--accent);line-height:1}
.prose .stat-grid .l{font-family:var(--mincho);font-size:12px;color:var(--ink-soft);letter-spacing:.04em}

.prose figure{margin:36px 0}
.prose .imgph{aspect-ratio:16/9;background:var(--paper-2);border:1px dashed var(--accent);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;gap:8px;color:var(--ink-soft)}
.prose .imgph .tag{font-family:var(--latin-sans);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent)}
.prose .imgph .name{font-family:var(--mincho);font-size:16px;color:var(--ink);font-weight:600}
.prose .imgph .hint{font-family:var(--latin-sans);font-size:11px;color:var(--muted);max-width:480px;line-height:1.6}
.prose figcaption{font-family:var(--latin);font-style:italic;font-size:13px;color:var(--muted);margin-top:10px;text-align:center}

.aside{position:sticky;top:100px;display:flex;flex-direction:column;gap:24px}
.aside .card{background:var(--paper);border:1px solid var(--line);padding:22px}
.aside .card .lbl{font-family:var(--latin-sans);font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.aside .card h5{font-family:var(--mincho);font-size:15px;font-weight:600;line-height:1.6;margin-bottom:10px}
.aside .card p{font-size:12px;color:var(--ink-soft);line-height:1.85}
.aside .card .btn-mini{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-family:var(--mincho);font-size:12px;color:var(--accent);font-weight:500;padding:8px 14px;border:1px solid var(--accent);border-radius:999px}
.aside .card .btn-mini:hover{background:var(--accent);color:#fff}
.aside .share{display:flex;gap:6px}
.aside .share a{flex:1;padding:10px 0;text-align:center;border:1px solid var(--line);font-family:var(--latin-sans);font-size:10px;letter-spacing:.18em;color:var(--ink-soft)}
.aside .share a:hover{border-color:var(--accent);color:var(--accent)}

.article-cta{padding:80px 0;background:var(--ink);color:var(--paper)}
.article-cta .inner{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center}
.article-cta h3{font-family:var(--mincho);font-size:34px;font-weight:600;line-height:1.5;color:var(--paper);margin-bottom:16px}
.article-cta p{font-size:14px;line-height:1.95;color:rgba(244,239,230,.7);max-width:520px}
.article-cta .actions{display:flex;flex-direction:column;gap:12px}
.article-cta .btn{display:inline-flex;align-items:center;justify-content:space-between;padding:18px 26px;border:1px solid rgba(244,239,230,.25);font-family:var(--mincho);font-size:14px;color:var(--paper);border-radius:999px;letter-spacing:.1em;font-weight:500}
.article-cta .btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.article-cta .btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}

.related{padding:80px 0;background:var(--paper)}
.related .heads{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:30px}
.related .heads h3{font-family:var(--mincho);font-size:22px;font-weight:600}
.related .heads a{font-family:var(--latin-sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.related-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.rc{display:grid;grid-template-columns:140px 1fr;gap:24px;background:var(--bg);padding:22px;border:1px solid var(--line)}
.rc .thumb{aspect-ratio:1;background:linear-gradient(135deg,#ebe4d5,#c9bf9e);display:grid;place-items:center;font-family:var(--mincho);font-size:36px;color:rgba(17,24,33,.18);font-weight:600}
.rc .b{display:flex;flex-direction:column;gap:8px}
.rc .b .t{font-family:var(--latin-sans);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.rc .b h6{font-family:var(--mincho);font-size:15px;line-height:1.5;font-weight:600;color:var(--ink)}
.rc .b .d{font-family:var(--latin);font-size:12px;color:var(--muted);font-style:italic}

@media (max-width:1100px){
  .article-body .layout{grid-template-columns:1fr;gap:40px}
  .toc,.aside{position:static}
  .aside{flex-direction:row;flex-wrap:wrap}
  .aside .card{flex:1;min-width:240px}
}
@media (max-width:780px){
  .article-cta .inner,.related-grid{grid-template-columns:1fr}
  .prose .stat-grid{grid-template-columns:1fr}
}
