/* =====================================================================
   GOKUDO — Announcement(公告列表页)专属版式。1:1 还原自设计稿 announcement.html。
   仅在 /announcement/ 加载;通用 banner/footer/reveal 见 site.css。
   ===================================================================== */

/* ============ PAGE HEAD ============ */
.pagehead{border-bottom:1px solid var(--line);background:var(--bg);padding:70px 0 46px}
.ph-crumb{display:flex;align-items:center;gap:10px;color:var(--faint);margin-bottom:30px}
.ph-crumb a{color:var(--faint);transition:color .2s}
.ph-crumb a:hover{color:var(--accent)}
.ph-crumb .sep{color:var(--line)}
.ph-crumb .cur{color:var(--ink)}
.ph-row{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap}
.ph-title{display:flex;align-items:flex-end;gap:22px}
.ph-title h1{font-family:var(--display);font-weight:900;font-size:clamp(54px,7.4vw,112px);line-height:.82;text-transform:uppercase;letter-spacing:-.02em}
.ph-title .han{font-family:var(--han);font-size:clamp(30px,4vw,54px);color:var(--accent);line-height:1;margin-bottom:6px}
.ph-meta{text-align:right;color:var(--muted)}
.ph-meta .count{font-family:var(--display);font-size:46px;line-height:1;color:var(--ink)}
.ph-meta .count em{font-style:normal;color:var(--accent)}
.ph-sub{margin-top:34px;color:var(--faint);font-size:15px;line-height:1.6;max-width:560px}

/* ============ FEATURED DISPATCH ============ */
.feed{padding:64px 0 40px;background:var(--bg)}
.featured{display:grid;grid-template-columns:1.15fr .85fr;gap:0;border:1px solid var(--line);background:#fff;
	transition:border-color .35s,box-shadow .45s,transform .45s;position:relative;overflow:hidden}
.featured::before{content:"";position:absolute;top:0;left:0;height:3px;width:0;background:var(--accent);transition:width .55s cubic-bezier(.16,1,.3,1);z-index:5}
.featured:hover{border-color:var(--ink);box-shadow:0 28px 70px -34px rgba(0,0,0,.45);transform:translateY(-4px)}
.featured:hover::before{width:100%}
.featured-media{position:relative;background:#fff;overflow:hidden;min-height:480px;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--line2)}
.featured-media img{width:100%;height:100%;object-fit:contain;object-position:center 52%;padding:40px 30px 50px;mix-blend-mode:multiply}
.featured-media .bignum{position:absolute;left:18px;bottom:-30px;z-index:1;font-family:var(--display);font-weight:900;
	font-size:220px;line-height:.7;color:rgba(0,0,0,.045);pointer-events:none;user-select:none}
.featured-media .ftag{position:absolute;top:20px;left:20px;z-index:4;background:var(--accent);color:#fff;
	font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;padding:9px 13px;font-weight:700}
.featured-body{padding:clamp(34px,4vw,58px);display:flex;flex-direction:column;justify-content:center}
.featured-body .dateline{display:flex;align-items:center;gap:12px;color:var(--faint);font-family:var(--mono);
	font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:26px;flex-wrap:wrap}
.featured-body .dateline .han{font-family:var(--han);color:var(--accent);letter-spacing:.12em;font-size:13px}
.featured-body .dateline .dot{width:5px;height:5px;background:var(--line);border-radius:50%}
.featured-body h2{font-family:var(--display);font-weight:900;font-size:clamp(40px,4.6vw,72px);line-height:.9;text-transform:uppercase;letter-spacing:-.015em}
.featured-body h2 em{font-style:normal;color:var(--accent)}
.featured-body .sub{color:var(--muted);font-size:17px;line-height:1.7;margin:22px 0 30px;max-width:460px}
.read-cta{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;background:var(--ink);color:#fff;
	font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;padding:17px 26px;font-weight:700;transition:.24s}
.read-cta:hover{background:var(--accent);color:#fff;gap:18px}
.read-cta .arr{transition:transform .24s}
.read-cta:hover .arr{transform:translateX(3px)}

/* ============ DISPATCH LIST ============ */
.dlist{padding:30px 0 90px;background:var(--bg)}
.dlist-lab{display:flex;align-items:center;gap:16px;color:var(--muted);margin:30px 0 36px}
.dlist-lab .idx{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--blue)}
.dlist-lab .ln{flex:1;height:1px;background:var(--line)}
.dlist-lab .jp{font-family:var(--display);font-size:18px;color:var(--ink)}
.drow{display:grid;grid-template-columns:140px 150px 1fr auto;gap:30px;align-items:center;
	padding:30px 26px;border:1px solid var(--line);border-bottom:none;background:#fff;transition:background .25s,padding .3s}
.drow:last-of-type{border-bottom:1px solid var(--line)}
.drow:hover{background:var(--bg2);padding-left:34px}
.drow .d-thumb{width:140px;height:88px;background:var(--bg2);border:1px solid var(--line2);overflow:hidden;display:flex;align-items:center;justify-content:center}
.drow .d-thumb img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.drow .d-thumb.dark{background:#181818}
.drow .d-thumb.dark img{mix-blend-mode:normal}
.drow .d-when{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);line-height:1.7}
.drow .d-when .tag{display:inline-block;margin-top:8px;color:var(--accent)}
.drow .d-main h3{font-family:var(--display);font-size:clamp(24px,2.4vw,34px);text-transform:uppercase;line-height:.95;letter-spacing:-.01em;margin-bottom:10px}
.drow .d-main p{color:var(--muted);font-size:14.5px;line-height:1.6;max-width:560px}
.drow .d-go{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);
	display:flex;align-items:center;gap:10px;white-space:nowrap;transition:gap .24s,color .24s}
.drow:hover .d-go{color:var(--accent);gap:16px}

/* ============ REGISTER STRIP ============ */
.register{padding:90px 0;background:var(--bg2);border-top:1px solid var(--line)}
.reg-in{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;
	border:1px solid var(--line);padding:48px 52px;background:linear-gradient(120deg,var(--panel),var(--bg2))}
.reg-in h3{font-family:var(--display);font-weight:900;font-size:clamp(28px,3.4vw,46px);text-transform:uppercase;line-height:.95}
.reg-in h3 em{font-style:normal;color:var(--accent)}
.reg-in p{color:var(--muted);font-size:16px;margin-top:12px;max-width:440px;line-height:1.6}
.reg-in form{display:flex;border:1px solid var(--line);min-width:320px;background:#fff}
.reg-in input{flex:1;background:transparent;border:none;color:var(--ink);padding:18px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;outline:none}
.reg-in input::placeholder{color:var(--faint)}
.reg-in button{background:var(--ink);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}
.reg-in button:hover{background:var(--accent);color:#fff}

/* ============ 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(Announcement 专属)============ */
@media(max-width:980px){
	.featured{grid-template-columns:1fr}
	.featured-media{min-height:360px;border-right:none;border-bottom:1px solid var(--line2)}
	.drow{grid-template-columns:120px 1fr;gap:20px;row-gap:14px}
	.drow .d-when{grid-column:2}
	.drow .d-go{grid-column:1 / -1;justify-content:flex-start}
}
@media(max-width:560px){
	.ph-meta{text-align:left}
	.drow{grid-template-columns:1fr}
	.drow .d-thumb{width:100%;height:160px}
	.drow .d-when{grid-column:1}
	.reg-in{padding:32px 26px}
}
