/* =====================================================================
   GOKUDO — 单篇公告(文章详情页 single.php)专属版式。
   1:1 还原自设计稿 announcement-prototype-02.html。
   仅在单篇文章加载;通用 banner/footer/reveal 见 site.css。
   ===================================================================== */

.col{max-width:760px;margin:0 auto;padding:0 40px}

/* ============ ARTICLE HEADER ============ */
.ahead{background:var(--bg);border-bottom:1px solid var(--line);padding:40px 0 0}
.ahead .crumb{display:flex;align-items:center;gap:10px;color:var(--faint);margin-bottom:48px;flex-wrap:wrap}
.ahead .crumb a{color:var(--faint);transition:color .2s}
.ahead .crumb a:hover{color:var(--accent)}
.ahead .crumb .sep{color:var(--line)}
.ahead .crumb .cur{color:var(--ink)}
.ahead .kicker{display:flex;align-items:center;gap:14px;color:var(--accent);font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:26px;flex-wrap:wrap}
.ahead .kicker .ln{width:48px;height:1px;background:var(--accent)}
.ahead .kicker .han{font-family:var(--han);font-size:14px;letter-spacing:.12em}
.ahead h1{font-family:var(--display);font-weight:900;font-size:clamp(56px,9vw,150px);line-height:.82;text-transform:uppercase;letter-spacing:-.022em}
.ahead h1 em{font-style:normal;color:var(--accent)}
.ahead .standfirst{font-size:clamp(18px,2vw,24px);line-height:1.6;color:var(--muted);max-width:720px;margin:36px 0 50px;text-wrap:pretty}
.ahead .standfirst strong{color:var(--ink);font-weight:600}
.ahead .byline{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:22px 0 0;border-top:1px solid var(--line);
	font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin-bottom:50px}
.ahead .byline .dot{width:5px;height:5px;background:var(--line);border-radius:50%}
.ahead .byline .han{font-family:var(--han);color:var(--accent);letter-spacing:.12em;font-size:13px}

/* hero image */
.ahero-img{position:relative;background:#fff;border-top:1px solid var(--line);overflow:hidden}
.ahero-img img{width:100%;max-height:78vh;object-fit:contain;object-position:center;padding:30px 20px;mix-blend-mode:multiply}
.ahero-img .bignum{position:absolute;left:24px;bottom:-26px;z-index:1;font-family:var(--display);font-weight:900;font-size:200px;line-height:.7;color:rgba(0,0,0,.05);pointer-events:none}
.ahero-img .cap{position:absolute;right:24px;bottom:20px;z-index:3;font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);display:flex;gap:10px;align-items:center}
.ahero-img .cap .han{font-family:var(--han);color:var(--accent);letter-spacing:.1em;font-size:13px}

/* ============ ARTICLE BODY ============ */
.article{padding:84px 0 90px;background:var(--bg)}
.article .body p{font-size:18px;line-height:1.8;color:var(--ink);margin-bottom:26px;text-wrap:pretty}
.article .body p strong{font-weight:600}
/* 首段自动放大 + 首字下沉(文章正文第一段) */
.article .body .lead,.article .body > p:first-of-type{font-size:21px;line-height:1.7}
.article .body .lead::first-letter,.article .body > p:first-of-type::first-letter{initial-letter:3;-webkit-initial-letter:3;font-family:var(--display);font-weight:900;color:var(--accent);margin-right:14px;text-transform:uppercase}
.article .body h2{font-family:var(--display);font-weight:900;font-size:clamp(28px,3.4vw,44px);line-height:.98;text-transform:uppercase;letter-spacing:-.01em;margin:54px 0 22px;display:flex;align-items:baseline;gap:14px}
.article .body h2 .num{font-family:var(--mono);font-size:13px;letter-spacing:.1em;color:var(--accent);font-weight:700}
.article .body h2 .han{font-family:var(--han);font-size:.5em;color:var(--accent);letter-spacing:.06em}
.article .body h3{font-family:var(--display);font-weight:700;font-size:clamp(22px,2.4vw,30px);text-transform:uppercase;letter-spacing:-.005em;margin:40px 0 16px}
.article .body ul,.article .body ol{margin:0 0 26px 1.2em}
.article .body li{font-size:18px;line-height:1.7;margin-bottom:8px}
.article .body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.article .body img{margin:40px 0;border:1px solid var(--line)}

/* pull quote */
.pull{margin:64px 0;padding:46px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pull blockquote{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:clamp(28px,3.6vw,52px);line-height:1.04;letter-spacing:-.01em;text-wrap:balance}
.pull blockquote em{font-style:normal;color:var(--accent)}
.pull .src{margin-top:22px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);display:flex;gap:14px;align-items:center}
.pull .src .han{font-family:var(--han);color:var(--accent);letter-spacing:.12em;font-size:13px}
/* 文章正文里的 WordPress 引用块也套同款 */
.article .body blockquote{margin:54px 0;padding:30px 0 30px 28px;border-left:3px solid var(--accent);font-family:var(--display);font-size:clamp(22px,2.6vw,34px);line-height:1.15;text-transform:uppercase}

/* inline figure */
.figure{margin:54px 0;background:#000;border:1px solid var(--line);overflow:hidden}
.figure img{width:100%;display:block;margin:0;border:none}
.figure figcaption{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);padding:14px 20px;background:var(--bg2);display:flex;justify-content:space-between;gap:14px}
.figure figcaption .han{font-family:var(--han);color:var(--accent);letter-spacing:.1em}

/* release facts box */
.facts{margin:64px 0 0;border:1px solid var(--line);background:var(--bg2)}
.facts .fh{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 26px;border-bottom:1px solid var(--line);
	font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.facts .fh .han{font-family:var(--han);color:var(--accent);letter-spacing:.12em;font-size:13px}
.frow{display:flex;justify-content:space-between;gap:20px;padding:16px 26px;border-bottom:1px solid var(--line2);font-size:14px}
.frow:last-child{border-bottom:none}
.frow .k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.frow .v{font-weight:600;text-align:right}

/* ============ CTA / REGISTER ============ */
.artcta{padding:0 0 100px;background:var(--bg)}
.artcta-in{border:1px solid var(--line);padding:clamp(34px,5vw,64px);background:var(--ink);color:#fff;position:relative;overflow:hidden}
.artcta-in .glyph{position:absolute;right:-1vw;top:50%;transform:translateY(-50%);font-family:var(--display);font-size:40vh;line-height:.8;color:rgba(255,255,255,.05);pointer-events:none}
.artcta-in h3{font-family:var(--display);font-weight:900;font-size:clamp(30px,4vw,58px);line-height:.95;text-transform:uppercase;letter-spacing:-.01em;position:relative;z-index:2}
.artcta-in h3 em{font-style:normal;color:var(--accent)}
.artcta-in p{color:rgba(255,255,255,.72);font-size:16px;line-height:1.7;max-width:460px;margin:16px 0 30px;position:relative;z-index:2}
.artcta-in form{display:flex;border:1px solid rgba(255,255,255,.2);max-width:440px;background:rgba(255,255,255,.04);position:relative;z-index:2}
.artcta-in input{flex:1;background:transparent;border:none;color:#fff;padding:18px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;outline:none}
.artcta-in input::placeholder{color:rgba(255,255,255,.4)}
.artcta-in button{background:var(--accent);color:#fff;border:none;cursor:pointer;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:0 24px;font-weight:700;transition:.2s}
.artcta-in button:hover{background:#fff;color:var(--ink)}
.backlink{margin-top:40px;display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);transition:gap .2s,color .2s}
.backlink:hover{color:var(--ink);gap:16px}

/* ============ TOAST ============ */
.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(calc(100% + 40px));z-index:400;
	background:var(--ink);color:#fff;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
	padding:15px 24px;transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .3s;font-weight:700;opacity:0;visibility:hidden}
.toast.show{transform:translateX(-50%) translateY(0);opacity:1;visibility:visible}

/* ============ RESPONSIVE ============ */
@media(max-width:560px){
	.article .body p{font-size:16.5px}
	.article .body li{font-size:16.5px}
}
