.sub-hero { padding: 76px 0 68px; background: linear-gradient(180deg, #f5f8ff, #fff); text-align: center; }
.sub-hero h1 { margin: 8px 0 15px; font-size: clamp(32px, 4vw, 48px); line-height: 1.2; letter-spacing: -1.2px; }
.sub-hero p { max-width: 650px; margin: 0 auto; color: var(--muted); font-size: 16px; line-height: 1.8; }
.sub-hero .btn { margin-top: 26px; }
.sub-section { min-height: 45vh; }
.sub-layout { display: grid; grid-template-columns: 240px minmax(0,1fr); gap: 62px; }
.sub-sticky { position: sticky; top: 100px; align-self: start; display: grid; gap: 7px; }
.sub-index-label { padding: 0 11px; margin-bottom: 8px; color: var(--subtle); font-size: 12px; font-weight: 700; }
.sub-sticky a { padding: 9px 11px; border-radius: 9px; color: var(--muted); }
.sub-sticky a:hover { color: var(--brand); background: var(--brand-soft); }
.sub-blocks { display: grid; gap: 18px; }
.sub-block { scroll-margin-top: 100px; padding: 30px 32px; border: 1px solid var(--border); border-radius: 18px; background: #fff; }
.sub-block h2 { margin: 7px 0 10px; font-size: 23px; }
.sub-block p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.9; white-space: pre-line; }
.sub-number { color: var(--brand); font-size: 12px; font-weight: 700; }
.sub-extra { padding: 36px; margin-top: 12px; border-radius: 20px; background: linear-gradient(120deg, #edf3ff, #f8faff); }
.sub-extra h2 { margin: 0 0 7px; font-size: 24px; }
.sub-extra p { margin: 0 0 20px; color: var(--muted); }
.sub-extra > div { display: flex; flex-wrap: wrap; gap: 8px; }
.link-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.link-card { display: flex; flex-direction: column; align-items: flex-start; min-height: 220px; padding: 24px; border: 1px solid var(--border); border-radius: 18px; background: #fff; transition: transform .18s, box-shadow .18s; }
.link-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.link-mark { display: grid; place-items: center; width: 45px; height: 45px; margin-bottom: 17px; border-radius: 13px; background: var(--brand-soft); color: var(--brand); font-size: 19px; font-weight: 700; }
.link-card strong { font-size: 17px; }
.link-card p { margin: 4px 0 15px; color: var(--muted); }
.link-arrow { margin-top: auto; color: var(--brand); font-size: 13px; font-weight: 600; }
.empty-card { padding: 60px 20px; border: 1px dashed #d9e1ef; border-radius: 18px; color: var(--muted); text-align: center; }
.support-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 16px; }
.support-list a { display: flex; flex-direction: column; gap: 2px; padding: 13px; border: 1px solid var(--border); border-radius: 10px; }
.support-list a:hover { border-color: var(--brand); }
.support-list span { color: var(--muted); font-size: 12px; }
.donate-grid { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 17px; }
.donate-grid > div { display: grid; gap: 8px; justify-items: center; color: var(--muted); }
.donate-grid img { width: 155px; height: 155px; object-fit: contain; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
@media (max-width:800px) { .sub-layout { grid-template-columns: 1fr; gap: 25px; } .sub-sticky { position: static; display: flex; flex-wrap: wrap; } .sub-index-label { display: none; } .link-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width:640px) { .sub-hero { padding: 55px 0 50px; } .sub-hero p { font-size: 14px; } .sub-block { padding: 23px; } .link-grid,.support-list { grid-template-columns: 1fr; } }
