.article-attachment { margin-top: clamp(2rem,5vw,3rem); padding: clamp(1rem,3vw,1.5rem); background: #fff; border: 1px solid #dbe6f1; border-radius: 18px; box-shadow: 0 12px 35px rgba(15,23,42,.06); min-width: 0; }
.article-attachment-top { display: flex; align-items: center; gap: 1rem; min-width: 0; }
.article-attachment-icon { width: 52px; height: 52px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 14px; background: #e0f2fe; color: #0284c7; font-size: 1.6rem; }
.article-attachment-info { min-width: 0; flex: 1; }.article-attachment-eyebrow { font-size: .68rem; font-weight: 700; letter-spacing: .12em; color: #0284c7; }.article-attachment-info h2 { font-size: clamp(1.12rem,2.2vw,1.35rem); line-height: 1.4; color: #0f172a; margin: .2rem 0; }.article-attachment-info p { color: #64748b; font-size: .86rem; line-height: 1.6; overflow-wrap: anywhere; }
.article-attachment-download { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; flex: 0 0 auto; min-height: 46px; padding: .65rem 1rem; border-radius: 10px; color: #fff; background: #0284c7; font-weight: 600; font-size: .85rem; text-decoration: none; }.article-attachment-download:hover { background: #0369a1; color: #fff; }
.article-attachment-frame { margin-top: 1.3rem; overflow: hidden; border: 1px solid #dbe6f1; border-radius: 12px; background: #f1f5f9; }.article-attachment-frame iframe { display: block; width: 100%; height: min(78vh,760px); min-height: 430px; border: 0; background: #fff; }
.article-attachment-help { margin: 1rem .15rem 0; font-size: .84rem; color: #64748b; line-height: 1.7; }.article-attachment-help a,.article-attachment-fallback a { color: #0369a1; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.article-attachment-fallback { margin-top: 1.25rem; padding: 2.5rem 1rem; border: 1px dashed #cbd5e1; background: #f8fafc; border-radius: 12px; text-align: center; }.article-attachment-fallback > i { display: block; font-size: 2.2rem; color: #94a3b8; margin-bottom: .5rem; }.article-attachment-fallback p { margin: 0 0 .6rem; color: #475569; font-size: .9rem; }.article-attachment-fallback a { display: inline-flex; align-items: center; gap: .3rem; }
.article-attachment a:focus-visible { outline: 3px solid #0284c7; outline-offset: 3px; }
@media(max-width:640px) { .article-attachment-top { flex-wrap: wrap; align-items: flex-start; }.article-attachment-icon { width: 44px; height: 44px; font-size: 1.3rem; }.article-attachment-info { flex: 1 1 calc(100% - 60px); }.article-attachment-download { width: 100%; }.article-attachment-frame iframe { height: 65vh; min-height: 380px; } }
@media(prefers-reduced-motion:reduce) { .article-attachment-download { transition: none; } }
.news-detail { background: #f8fafc; }
.news-detail .article-header { margin-top: 0 !important; padding: 2.5rem 0 2.6rem !important; background: radial-gradient(ellipse at 90% 5%,rgba(56,189,248,.13),transparent 55%),linear-gradient(135deg,#eff6ff,#f0fdfa) !important; border-bottom: 1px solid #e2e8f0; }
.news-detail-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: .55rem; margin: 0 0 1.5rem; font-size: .8rem; color: #64748b; }.news-detail-breadcrumb a { color: #475569; }.news-detail-breadcrumb a:hover { color: #0369a1; }
.news-detail .article-header .news-meta { justify-content: flex-start !important; flex-wrap: wrap; gap: .6rem 1.3rem !important; }
.news-detail .article-header .article-title { margin-top: 1rem; max-width: 900px; }
.news-detail .article-content-section { padding-top: 2.5rem; padding-bottom: 3rem; }
.news-detail .article-body { padding: clamp(1.25rem,3vw,2rem); border-radius: 16px; background: #fff; border: 1px solid #e2e8f0; box-shadow: 0 6px 22px rgba(15,23,42,.035); overflow-wrap: anywhere; }
.news-detail .article-body img { max-width: 100%; height: auto; }
@media(max-width:640px) { .news-detail .article-header { padding: 1.75rem 0 2rem !important; }.news-detail-breadcrumb { margin-bottom: 1rem; }.news-detail .article-header .article-title { font-size: clamp(1.65rem,7vw,2.3rem) !important; line-height: 1.35 !important; }.news-detail .article-content-section { padding-top: 1.5rem; } }
.article-attachments { margin-top: clamp(2rem,5vw,3rem); min-width: 0; }
.article-attachments-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.article-attachments-heading h2 { color: #0f172a; font-size: clamp(1.3rem,3vw,1.7rem); line-height: 1.3; margin: .3rem 0 0; }
.article-attachments-count { flex: 0 0 auto; padding: .35rem .7rem; color: #0369a1; background: #e0f2fe; border-radius: 999px; font-size: .8rem; font-weight: 700; }
.article-attachments-list { display: grid; gap: 1rem; }
.article-attachments-list .article-attachment { margin-top: 0; }
.article-attachments-list .article-attachment-info h3 { color: #0f172a; font-size: 1rem; line-height: 1.5; overflow-wrap: anywhere; margin: 0; }
.article-attachments-list .article-attachment-info p { margin: .2rem 0 0; }
.article-attachment-preview { margin-top: 1rem; border-top: 1px solid #e2e8f0; }
.article-attachment-preview summary { display: flex; align-items: center; gap: .5rem; padding: 1rem 0 0; color: #0369a1; font-weight: 600; font-size: .88rem; cursor: pointer; list-style: none; }
.article-attachment-preview summary::-webkit-details-marker { display: none; }
.article-attachment-preview summary .ph-caret-down { margin-left: auto; transition: transform .2s; }
.article-attachment-preview[open] summary .ph-caret-down { transform: rotate(180deg); }
.article-attachment-preview summary:focus-visible { outline: 3px solid #0284c7; outline-offset: 3px; }
.article-attachment-unavailable { margin: 1rem 0 0; padding: .8rem 1rem; background: #f8fafc; border-radius: 9px; color: #475569; font-size: .85rem; line-height: 1.7; }
.article-attachment-unavailable a { color: #0369a1; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
@media(max-width:640px) { .article-attachments-list .article-attachment { padding: 1rem; } }
.article-attachment-frame.is-text iframe { height: 260px; min-height: 0; }
@media(max-width:640px) { .article-attachment-frame.is-text iframe { height: 220px; min-height: 0; } }
