/* ============== SUB PAGE COMMON ============== */
.content-section { padding:96px 0; }
.content-section.alt { background:var(--c-bg-soft); }
.content-section.dark { background:var(--c-primary); color:rgba(255,255,255,.85); }
.content-section.dark .section-title,
.content-section.dark h2,
.content-section.dark h3 { color:var(--c-white); }
.content-section.dark .section-sub { color:var(--c-accent); }

.cs-head { text-align:center; margin-bottom:64px; }
.cs-head .sub-label {
    font-size:15px; letter-spacing:.35em;
    color:var(--c-accent);
    text-transform:uppercase;
    font-weight:600;
    display:inline-block;
    margin-bottom:16px;
}
.cs-head h2 {
    font-family:var(--serif);
    font-size:42px; font-weight:700;
    color:var(--c-primary);
    letter-spacing:-.02em;
    line-height:1.25;
}
.cs-head h2 .em { color:var(--c-accent); font-weight:800; }
.cs-head .desc {
    color:var(--c-text-soft);
    margin-top:18px;
    max-width:680px; margin-left:auto; margin-right:auto;
    font-size:15px; line-height:1.85;
}

.cs-grid-2 { display:grid; grid-template-columns:1fr 1.1fr; gap:64px; align-items:center; }
.cs-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.cs-grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }

.cs-card {
    background:var(--c-white);
    border:1px solid var(--c-line);
    padding:40px 28px;
    transition:all .3s var(--ease);
    position:relative;
}
.cs-card:hover {
    border-color:var(--c-accent);
    transform:translateY(-4px);
    box-shadow:var(--shadow-md);
}
.cs-card .num {
    font-family:var(--serif);
    font-size:14px; letter-spacing:.2em;
    color:var(--c-accent);
    font-weight:700;
    margin-bottom:16px;
    display:block;
}
.cs-card h3 {
    font-family:var(--serif);
    font-size:20px; font-weight:700;
    color:var(--c-primary);
    margin-bottom:14px;
    line-height:1.4;
}
.cs-card p {
    font-size:14px;
    color:var(--c-text-soft);
    line-height:1.85;
}
.cs-card.dark { background:var(--c-primary); color:rgba(255,255,255,.85); border-color:var(--c-primary); }
.cs-card.dark h3 { color:var(--c-white); }
.cs-card.dark p { color:rgba(255,255,255,.7); }

/* ============== HUB CARD GRID ============== */
.hub-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
    gap:24px;
    margin-top:50px;
}
.hub-card {
    position:relative;
    display:flex; flex-direction:column;
    background:var(--c-white);
    border:1px solid var(--c-line);
    border-radius:16px;
    text-decoration:none;
    color:inherit;
    transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
    overflow:hidden;
}
.hub-card:hover {
    transform:translateY(-6px);
    border-color:var(--c-accent);
    box-shadow:0 22px 46px -22px rgba(31,42,94,.4);
}
.hub-media {
    position:relative; aspect-ratio:16 / 10;
    background-color:var(--c-primary);
    background-size:cover; background-position:center;
    transition:transform .55s ease;
}
.hub-card:hover .hub-media { transform:scale(1.05); }
.hub-media::after {
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(20,26,61,.15) 0%, rgba(20,26,61,.55) 100%);
}
.hub-icon {
    position:absolute; left:18px; bottom:-26px; z-index:2;
    display:inline-flex; align-items:center; justify-content:center;
    width:60px; height:60px;
    border-radius:50%;
    background:var(--c-white); border:3px solid var(--c-white);
    color:var(--c-primary);
    box-shadow:0 8px 22px rgba(20,26,61,.28);
    transition:transform .35s ease, color .35s ease, background .35s ease;
}
.hub-icon svg { width:30px; height:30px; }
.hub-card:hover .hub-icon {
    background:var(--c-primary);
    color:var(--c-accent);
    transform:translateY(-4px) rotate(-6deg);
}
.hub-body { padding:38px 28px 30px; display:flex; flex-direction:column; flex:1; }
.hub-label {
    display:block;
    font-size:12px;
    letter-spacing:2px;
    color:var(--c-accent);
    font-weight:700;
    text-transform:uppercase;
    margin-bottom:10px;
}
.hub-card h3 {
    font-family:var(--serif);
    font-size:21px;
    font-weight:800;
    color:var(--c-primary);
    line-height:1.4;
    margin-bottom:12px;
    word-break:keep-all;
}
.hub-card p {
    font-size:14.5px;
    color:var(--c-text-soft);
    line-height:1.8;
    word-break:keep-all;
    flex:1;
}
.hub-arrow {
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:20px;
    font-size:14px;
    font-weight:600;
    color:var(--c-primary);
    transition:gap .35s ease, color .35s ease;
}
.hub-card:hover .hub-arrow { gap:14px; color:var(--c-accent); }

.cs-text {
    font-size:16px; line-height:1.95;
    color:var(--c-text);
}
.cs-text + .cs-text { margin-top:18px; }
.cs-text strong { color:var(--c-primary); font-weight:700; }
.cs-em { color:var(--c-accent); font-weight:600; }

.cs-image-box {
    aspect-ratio:4/3;
    background:#0a0e23 var(--ib-bg, none) center/cover no-repeat;
    color:var(--c-accent);
    display:flex; align-items:center; justify-content:center;
    position:relative;
    overflow:hidden;
}
.cs-image-box svg { width:80px; height:80px; position:relative; z-index:2; opacity:.95; }
.cs-image-box::before {
    content:''; position:absolute; inset:0;
    background:
        linear-gradient(135deg, rgba(8,12,32,.55) 0%, rgba(8,12,32,.7) 100%),
        radial-gradient(circle at 30% 30%, rgba(184,152,90,.2) 0%, transparent 50%),
        radial-gradient(circle at 70% 70%, rgba(184,152,90,.1) 0%, transparent 50%);
}
.cs-image-box span { position:relative; z-index:2; opacity:.85; }
.cs-image-box .label {
    position:absolute; left:24px; bottom:24px;
    font-family:var(--sans);
    font-size:12px; letter-spacing:.3em;
    color:rgba(255,255,255,.6);
    z-index:2;
}

/* TIMELINE */
.timeline { position:relative; padding-left:36px; max-width:760px; margin:0 auto; }
.timeline::before {
    content:''; position:absolute;
    left:6px; top:8px; bottom:8px;
    width:1px; background:var(--c-line);
}
.timeline-item { position:relative; padding:10px 0 34px; }
.timeline-item::before {
    content:''; position:absolute;
    left:-32px; top:18px;
    width:12px; height:12px;
    background:var(--c-accent);
    border-radius:50%;
    box-shadow:0 0 0 4px var(--c-bg), 0 0 0 5px var(--c-accent);
}
.timeline-item .year {
    font-size:15px; font-weight:700;
    color:var(--c-accent);
    letter-spacing:.1em;
}
.timeline-item h4 {
    font-family:var(--serif);
    font-size:18px; font-weight:700;
    color:var(--c-primary);
    margin-top:6px; margin-bottom:6px;
}
.timeline-item p {
    font-size:14px;
    color:var(--c-text-soft);
    line-height:1.8;
}

/* FAQ */
.faq-list { border-top:2px solid var(--c-primary); }
.faq-item { border-bottom:1px solid var(--c-line); }
.faq-q {
    display:flex; justify-content:space-between;
    align-items:center; gap:16px;
    padding:24px 12px;
    cursor:pointer;
    width:100%;
    text-align:left;
    transition:background .2s;
}
.faq-q:hover { background:var(--c-bg-soft); }
.faq-q .qmark {
    font-family:var(--serif);
    font-size:20px;
    color:var(--c-accent);
    font-weight:700;
    flex-shrink:0;
    width:32px;
}
.faq-q strong {
    font-family:var(--serif);
    font-size:16px; font-weight:600;
    color:var(--c-primary);
    flex:1;
    line-height:1.5;
}
.faq-q .ic {
    width:28px; height:28px;
    display:flex; align-items:center; justify-content:center;
    border:1px solid var(--c-line);
    color:var(--c-accent);
    transition:all .3s var(--ease);
    flex-shrink:0;
    font-size:16px;
}
.faq-item.open .faq-q .ic {
    background:var(--c-primary);
    border-color:var(--c-primary);
    color:var(--c-accent);
    transform:rotate(45deg);
}
.faq-a {
    display:none;
    padding:8px 12px 28px 56px;
    font-size:14px;
    color:var(--c-text-soft);
    line-height:1.9;
}
.faq-item.open .faq-a { display:block; }

/* NOTICE TABLE */
.notice-table {
    width:100%;
    border-top:2px solid var(--c-primary);
    border-collapse:collapse;
}
.notice-table th, .notice-table td {
    padding:18px 14px;
    text-align:left;
    border-bottom:1px solid var(--c-line);
    font-size:14px;
}
.notice-table thead th {
    font-family:var(--serif);
    color:var(--c-primary);
    background:var(--c-bg-soft);
    font-weight:700;
    font-size:15px;
    letter-spacing:.05em;
    text-align:center;
}
.notice-table tbody td.col-num { text-align:center; color:var(--c-text-light); width:80px; }
.notice-table tbody td.col-cat { width:110px; text-align:center; }
.notice-table tbody td.col-date { width:120px; text-align:center; color:var(--c-text-light); font-size:15px; }
.notice-table tbody td.col-views { width:80px; text-align:center; color:var(--c-text-light); font-size:15px; }
.notice-table tbody td.col-title a {
    display:block;
    color:var(--c-text);
    font-weight:500;
    transition:color .2s;
}
.notice-table tbody td.col-title a:hover { color:var(--c-accent); }
.notice-table tbody tr:hover { background:var(--c-bg-soft); }
.cat-badge {
    display:inline-block;
    padding:4px 10px;
    border:1px solid var(--c-line);
    font-size:11px;
    color:var(--c-text-soft);
    letter-spacing:.05em;
}
.cat-badge.notice { border-color:var(--c-primary); color:var(--c-primary); background:var(--c-white); }
.cat-badge.gold { border-color:var(--c-accent); color:var(--c-accent); }

/* DONATE CARDS */
.donate-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.donate-card {
    background:var(--c-white);
    border:1px solid var(--c-line);
    padding:48px 36px;
    text-align:center;
    transition:.3s;
}
.donate-card:hover { border-color:var(--c-accent); transform:translateY(-4px); box-shadow:var(--shadow-md); }
.donate-card.featured {
    background:var(--c-primary);
    color:rgba(255,255,255,.85);
    border-color:var(--c-primary);
}
.donate-card .ic-big {
    font-size:56px;
    color:var(--c-accent);
    font-family:var(--serif);
    font-weight:700;
    margin-bottom:18px;
    line-height:1;
}
.donate-card h3 {
    font-family:var(--serif);
    font-size:26px; font-weight:700;
    color:var(--c-primary);
    margin-bottom:12px;
}
.donate-card.featured h3 { color:var(--c-white); }
.donate-card .desc {
    font-size:14px;
    color:var(--c-text-soft);
    line-height:1.85;
    min-height:80px;
}
.donate-card.featured .desc { color:rgba(255,255,255,.75); }
.donate-card .btn { margin-top:24px; }

/* CONTACT INFO */
.contact-info {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}
.contact-item {
    background:var(--c-white);
    border:1px solid var(--c-line);
    border-radius:14px;
    padding:40px 28px 34px;
    text-align:center;
    transition:transform .3s, box-shadow .3s, border-color .3s;
}
.contact-item:hover { border-color:var(--c-accent); transform:translateY(-4px); box-shadow:var(--shadow-md); }
.contact-ic {
    width:66px; height:66px; margin:0 auto 20px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--c-primary),#2a3566);
    display:flex; align-items:center; justify-content:center;
    color:var(--c-accent);
    box-shadow:0 10px 24px -10px rgba(20,26,61,.6);
    transition:transform .3s;
}
.contact-item:hover .contact-ic { transform:translateY(-3px) scale(1.04); }
.contact-ic svg { width:32px; height:32px; }
.contact-item .label {
    font-size:11px; letter-spacing:.3em;
    color:var(--c-accent);
    font-weight:700;
    text-transform:uppercase;
}
.contact-item .val {
    font-family:var(--serif);
    font-size:22px; font-weight:700;
    color:var(--c-primary);
    margin-top:14px;
    line-height:1.4;
    letter-spacing:-.01em;
}
.contact-item .desc {
    font-size:15px;
    color:var(--c-text-soft);
    margin-top:8px;
    line-height:1.7;
}

/* PRINCIPLES */
.principle-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}
.principle-card {
    background:var(--c-white);
    border:1px solid var(--c-line);
    padding:44px 36px;
    position:relative;
    transition:.3s;
    overflow:hidden;
}
.principle-card:hover {
    transform:translateY(-4px);
    box-shadow:var(--shadow-md);
    border-color:var(--c-accent);
}
.principle-card .num-big {
    font-family:var(--serif);
    font-size:96px;
    color:var(--c-bg-soft);
    line-height:1;
    position:absolute;
    right:18px; top:14px;
    font-weight:700;
    z-index:0;
}
.principle-card .lbl {
    font-size:11px;
    color:var(--c-accent);
    letter-spacing:.3em;
    font-weight:700;
    position:relative; z-index:1;
}
.principle-card h3 {
    font-family:var(--serif);
    font-size:24px; font-weight:700;
    color:var(--c-primary);
    margin-top:10px; margin-bottom:18px;
    line-height:1.35;
    position:relative; z-index:1;
}
.principle-card p {
    font-size:14px;
    color:var(--c-text-soft);
    line-height:1.9;
    position:relative; z-index:1;
}

/* SEVEN STEPS */
.steps-list { display:grid; grid-template-columns:repeat(7,1fr); gap:8px; }
.step-card {
    background:var(--c-white);
    border:1px solid var(--c-line);
    padding:24px 14px;
    text-align:center;
    transition:.25s;
    position:relative;
}
.step-card:hover { background:var(--c-primary); color:var(--c-white); border-color:var(--c-primary); }
.step-card:hover h4 { color:var(--c-white); }
.step-card:hover .step-num { color:var(--c-accent); }
.step-card:hover p { color:rgba(255,255,255,.7); }
.step-card .step-num {
    font-family:var(--serif);
    font-size:14px;
    letter-spacing:.2em;
    color:var(--c-accent);
    font-weight:700;
    display:block;
}
.step-card h4 {
    font-family:var(--serif);
    font-size:16px; font-weight:700;
    color:var(--c-primary);
    margin-top:14px;
    line-height:1.4;
}
.step-card p {
    font-size:12px;
    color:var(--c-text-soft);
    margin-top:10px;
    line-height:1.65;
}

/* COURSE LIST */
.course-list { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.course-card {
    background:var(--c-white);
    border:1px solid var(--c-line);
    border-radius:16px;
    overflow:hidden;
    transition:transform .3s, box-shadow .3s, border-color .3s;
    display:flex; flex-direction:column;
}
.course-card:hover {
    transform:translateY(-6px);
    box-shadow:var(--shadow-lg);
    border-color:var(--c-accent);
}
/* 이미지 헤더 + 큰 아이콘 */
.course-card .cc-media {
    position:relative; aspect-ratio:16 / 10;
    background:linear-gradient(135deg, var(--c-primary), #2a3566);
    overflow:hidden;
}
.course-card .cc-media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .55s ease; }
.course-card:hover .cc-media img { transform:scale(1.06); }
.course-card .cc-media::after {
    content:''; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(20,26,61,.12) 0%, rgba(20,26,61,.52) 100%);
}
.course-card .cc-ic {
    position:absolute; left:18px; bottom:20px; z-index:2;
    width:60px; height:60px; border-radius:50%;
    background:var(--c-white); border:3px solid var(--c-white);
    display:flex; align-items:center; justify-content:center;
    color:var(--c-primary); box-shadow:0 8px 22px rgba(20,26,61,.28);
    transition:transform .3s;
}
.course-card:hover .cc-ic { transform:translateY(-4px); }
.course-card .cc-ic svg { width:30px; height:30px; }
.course-card .cc-badge {
    position:absolute; right:14px; top:14px; z-index:2;
    padding:6px 14px; border-radius:999px;
    background:var(--c-primary); color:#fff;
    font-size:11px; font-weight:700; letter-spacing:.06em;
    box-shadow:0 4px 12px rgba(0,0,0,.2);
}
.course-card .cc-badge.on { background:var(--c-accent); color:var(--c-primary-dk); }
.course-card .cc-body { padding:34px 26px 18px; flex:1; }
.course-card .cc-body h4 {
    font-family:var(--serif); font-size:21px; font-weight:800;
    color:var(--c-primary); line-height:1.3; margin-bottom:12px; word-break:keep-all;
}
.course-card .cc-body p { font-size:14px; color:var(--c-text-soft); line-height:1.8; margin-bottom:14px; word-break:keep-all; }
.course-card .cc-body ul { list-style:none; margin:0; padding:0; }
.course-card .cc-body ul li {
    position:relative; padding:5px 0 5px 17px;
    font-size:14px; color:var(--c-text-soft); line-height:1.6; word-break:keep-all;
}
.course-card .cc-body ul li::before {
    content:''; position:absolute; left:0; top:12px;
    width:6px; height:6px; border-radius:50%; background:var(--c-accent);
}
.course-card .cc-foot {
    padding:16px 26px; border-top:1px solid var(--c-line);
    display:flex; justify-content:space-between; align-items:center; gap:10px;
}
.course-card .cc-price { color:var(--c-accent); font-weight:800; font-family:var(--serif); font-size:16px; word-break:keep-all; }
.course-card .cc-more { color:var(--c-text-soft); font-size:14px; font-weight:600; white-space:nowrap; }
.course-card:hover .cc-more { color:var(--c-primary); }
@media (max-width:880px) {
    .course-list { grid-template-columns:1fr; max-width:460px; margin:0 auto; gap:22px; }
}

/* FORM */
.form-box {
    background:var(--c-white);
    border:1px solid var(--c-line);
    padding:48px;
    max-width:760px;
    margin:0 auto;
}
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-group { margin-bottom:22px; }
.form-group label {
    display:block;
    font-family:var(--serif);
    font-size:14px; font-weight:700;
    color:var(--c-primary);
    margin-bottom:10px;
}
.form-group label .req { color:var(--c-accent); margin-left:4px; }
.form-group input[type=text],
.form-group input[type=email],
.form-group input[type=tel],
.form-group input[type=number],
.form-group input[type=password],
.form-group input[type=search],
.form-group input[type=url],
.form-group input[type=date],
.form-group select,
.form-group textarea {
    width:100%;
    padding:14px 16px;
    border:1px solid var(--c-line);
    background:var(--c-white);
    font-family:var(--sans);
    font-size:14px;
    color:var(--c-text);
    transition:.2s;
}
.form-group textarea { resize:vertical; min-height:140px; }
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline:none;
    border-color:var(--c-accent);
}
.form-group .hint {
    font-size:12px;
    color:var(--c-text-light);
    margin-top:6px;
}
.amount-options { display:flex; gap:8px; flex-wrap:wrap; }
.amount-options label {
    flex:1; min-width:90px;
    margin-bottom:0;
    padding:14px 12px;
    text-align:center;
    border:1px solid var(--c-line);
    cursor:pointer;
    font-weight:500;
    font-family:var(--sans);
    font-size:15px;
    color:var(--c-text-soft);
    transition:.2s;
}
.amount-options label.active,
.amount-options label:has(input:checked) {
    border-color:var(--c-primary);
    background:var(--c-primary);
    color:var(--c-white);
    font-weight:700;
}
.amount-options input[type=radio] { display:none; }

.terms-box {
    background:var(--c-bg-soft);
    border-left:3px solid var(--c-accent);
    padding:20px 24px;
    margin-top:24px;
}
.terms-box label { display:flex; gap:8px; align-items:center; font-size:15px; cursor:pointer; }

/* GREETING */
.greeting-grid {
    display:grid;
    grid-template-columns:1fr 1.2fr;
    gap:64px;
    align-items:center;
}
.greeting-img {
    aspect-ratio:3/4;
    background:#0a0e23 var(--gi-bg, none) center/cover no-repeat;
    color:var(--c-accent);
    display:flex; flex-direction:column;
    align-items:center; justify-content:center;
    position:relative;
    overflow:hidden;
}
.greeting-img::before {
    content:''; position:absolute; inset:0;
    background:
        linear-gradient(180deg, rgba(8,12,32,.4) 0%, rgba(8,12,32,.7) 100%),
        radial-gradient(circle at 50% 30%, rgba(184,152,90,.18) 0%, transparent 60%);
}
.greeting-img .calligraphy {
    width:120px; height:120px;
    opacity:.95;
    position:relative; z-index:1;
}
.greeting-img .calligraphy svg { width:100%; height:100%; }
.greeting-img .label {
    position:absolute; left:28px; bottom:28px;
    font-family:var(--sans);
    font-size:12px;
    letter-spacing:.3em;
    color:rgba(255,255,255,.5);
    z-index:1;
}
.greeting-content h2 {
    font-family:var(--serif);
    font-size:36px; font-weight:700;
    color:var(--c-primary);
    line-height:1.35;
    margin-bottom:24px;
    letter-spacing:-.02em;
}
.greeting-content p {
    font-size:16px;
    line-height:1.95;
    color:var(--c-text-soft);
    margin-bottom:18px;
}
.greeting-sign {
    margin-top:32px;
    padding-top:24px;
    border-top:1px solid var(--c-line);
    font-family:var(--serif);
    font-size:15px;
    color:var(--c-primary);
}
.greeting-sign strong { font-size:18px; font-weight:700; margin-left:8px; }

/* MAP / LOCATION */
.map-wrap {
    aspect-ratio:16/7;
    background:var(--c-bg-soft);
    border:1px solid var(--c-line);
    display:flex; align-items:center; justify-content:center;
    color:var(--c-text-light);
    font-family:var(--serif);
    font-size:18px;
    position:relative;
    overflow:hidden;
}
.map-wrap::before {
    content:''; position:absolute; inset:0;
    background:
        linear-gradient(rgba(31,42,94,.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(31,42,94,.05) 1px, transparent 1px);
    background-size:32px 32px;
}
.map-wrap span { position:relative; z-index:1; padding:14px 24px; background:var(--c-white); border:1px solid var(--c-accent); }

/* TABS */
.sub-tabs {
    display:flex;
    gap:0;
    justify-content:center;
    border-bottom:1px solid var(--c-line);
    margin-bottom:48px;
    flex-wrap:wrap;
}
.sub-tabs button {
    padding:16px 28px;
    font-family:var(--serif);
    font-size:15px; font-weight:600;
    color:var(--c-text-soft);
    border-bottom:2px solid transparent;
    transition:.2s;
    margin-bottom:-1px;
}
.sub-tabs button:hover { color:var(--c-primary); }
.sub-tabs button.active {
    color:var(--c-primary);
    border-bottom-color:var(--c-accent);
    font-weight:700;
}

.sub-panel { display:none; }
.sub-panel.active { display:block; }

/* RESPONSIVE */
@media (max-width:960px) {
    .content-section { padding:64px 0; }
    .cs-head { margin-bottom:48px; }
    .cs-head h2 { font-size:30px; }
    .cs-grid-2, .greeting-grid { grid-template-columns:1fr; gap:32px; }
    .cs-grid-3, .cs-grid-4, .principle-grid, .donate-grid, .contact-info, .course-list { grid-template-columns:1fr; }
    .hub-grid { grid-template-columns:1fr; gap:20px; max-width:460px; margin:40px auto 0; }
    .hub-body { padding:34px 24px 26px; }
    .steps-list { grid-template-columns:repeat(2,1fr); }
    .form-row { grid-template-columns:1fr; }
    .form-box { padding:32px 24px; }
    .greeting-content h2 { font-size:26px; }
    .greeting-img .calligraphy { font-size:100px; }
    .notice-table .col-num, .notice-table .col-views { display:none; }
    .notice-table th, .notice-table td { padding:14px 8px; font-size:15px; }
    .sub-tabs button { padding:12px 16px; font-size:15px; }
    .timeline { padding-left:28px; }
    .timeline-item::before { left:-24px; }
}
@media (max-width:600px) {
    .donate-card { padding:32px 20px; }
    .donate-card .ic-big { font-size:42px; }
    .donate-card h3 { font-size:22px; }
    .principle-card { padding:32px 24px; }
    .principle-card .num-big { font-size:72px; }
    .step-card { padding:18px 10px; }
    .step-card h4 { font-size:14px; }
    .form-box { padding:28px 20px; }
    .notice-table .col-cat { display:none; }
    .cs-image-box { font-size:80px; }
}
