/* 홈 전용 — 크림·딥틸·틸 팔레트, 둥근 카드, 큰 명조 숫자 */
:root{--hm-cream:#F3F1EC;--hm-ink:#213A44;--hm-teal:#4A7C88;--hm-mint:#A8DCC0;--hm-num:#3E6E78;--hm-check:#5BAE5B;--hm-gold:#D9B64A;--hm-line:#E4E1DA}

.hm-eyebrow{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:800;letter-spacing:.08em;color:var(--hm-teal);margin-bottom:6px}
.hm-eyebrow::before{content:"";width:22px;height:2px;background:currentColor}
.hm-eyebrow.light{color:var(--hm-mint)}

/* 숫자 띠 */
.hm-stats{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--hm-line);border-radius:20px;margin-top:32px;overflow:hidden}
.hm-stat{padding:30px 32px;display:flex;flex-direction:column}
.hm-stat+.hm-stat{border-left:1px solid var(--hm-line)}
.hm-stat h3{font-size:19px;margin:0 0 8px}
.hm-stat p{font-size:14.5px;line-height:1.7;color:var(--muted);margin:0 0 22px}
.hm-num{margin-top:auto;font-family:'Noto Serif KR',serif;font-weight:700;font-size:44px;line-height:1.1;color:var(--hm-num)}
.hm-cap{font-size:13px;color:var(--muted);margin-top:8px}

/* 프로그램 — 가격표형 카드 3장 */
.hm-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.tier{position:relative;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;background:#fff;border:1px solid var(--hm-line)}
.tier-head{padding:30px 30px 26px}
.tier-chip{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.06em;padding:6px 14px;border-radius:999px;margin-bottom:16px}
.tier-head h3{font-size:22px;margin:0 0 10px;font-weight:700}
.tier-num{font-family:'Noto Serif KR',serif;font-weight:700;font-size:46px;line-height:1.1}
.tier-sub{font-size:14px;margin:8px 0 0}
.tier-body{padding:26px 30px 30px;display:flex;flex-direction:column;flex:1}
.tier-worry{margin:0 0 18px;padding:12px 16px;border-radius:14px;background:var(--hm-cream);font-weight:600;font-size:14.5px;line-height:1.6;color:var(--text)}
.tier-list{list-style:none;margin:0 0 26px;padding:0}
.tier-list li{position:relative;padding-left:26px;font-size:14.5px;line-height:1.65;margin-bottom:12px;color:#3b3b3b}
.tier-list li::before{content:"✓";position:absolute;left:0;top:0;color:var(--hm-check);font-weight:800}
.tier-list b{font-weight:700;color:var(--text)}
.tier-btn{margin-top:auto;display:block;text-align:center;padding:15px 18px;border-radius:12px;font-weight:700;font-size:15px;text-decoration:none;transition:filter .15s,transform .15s}
.tier-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.tier-btn.outline{border:1.5px solid var(--hm-teal);color:var(--hm-teal);background:#fff}
.tier-btn.dark{background:var(--hm-ink);color:#fff}
.tier-btn.teal{background:var(--hm-teal);color:#fff}
.tier-btn.inline{display:inline-block;padding:13px 26px}
.tier-light .tier-head{background:var(--hm-cream)}
.tier-light .tier-chip{background:#E4E2DC;color:var(--hm-num)}
.tier-light .tier-num{color:var(--hm-num)}
.tier-light .tier-sub{color:var(--muted)}
.tier-dark{border:2px solid var(--hm-ink)}
.tier-dark .tier-head{background:var(--hm-ink);color:#fff}
.tier-dark .tier-chip{background:rgba(255,255,255,.1);color:var(--hm-mint)}
.tier-dark .tier-num{color:var(--hm-mint)}
.tier-dark .tier-sub{color:rgba(255,255,255,.75)}
.tier-tab{position:absolute;top:0;right:28px;background:var(--hm-mint);color:var(--hm-ink);font-size:12px;font-weight:800;letter-spacing:.04em;padding:6px 14px;border-radius:0 0 10px 10px;z-index:1}
.tier-teal .tier-head{background:var(--hm-teal);color:#fff}
.tier-teal .tier-chip{background:rgba(255,255,255,.16);color:#fff}
.tier-teal .tier-num{color:var(--hm-mint)}
.tier-teal .tier-sub{color:rgba(255,255,255,.8)}

/* 특화 과정 카드 */
#special .program-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--hm-line);border-top:1px solid var(--hm-line);border-radius:20px;padding:24px 26px}
#special .program-card .btn{background:var(--hm-teal)!important;border-radius:999px}

/* 어두운 섹션 — 관악구 11개교 */
.hm-dark{margin-top:56px;background:var(--hm-ink);color:#fff;border-radius:24px;padding:48px 44px}
.hm-dark-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.hm-dark h2{color:#fff;font-size:38px;line-height:1.25;margin:4px 0 16px}
.hm-dark h2 em{color:var(--hm-mint);font-style:normal}
.hm-dark p{color:rgba(255,255,255,.75);line-height:1.8;font-size:15.5px;margin:0 0 24px}
.hm-rows{display:flex;flex-direction:column;gap:12px}
.hm-row{display:flex;align-items:center;gap:16px;padding:14px 18px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);border-radius:14px;color:#fff;text-decoration:none;transition:background .15s}
.hm-row:hover{background:rgba(255,255,255,.1)}
.hm-row b{display:block;font-size:15px}
.hm-row small{display:block;color:var(--hm-mint);font-size:13px;margin-top:2px}
.hm-ico{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:var(--hm-mint);flex-shrink:0}
.hm-ico svg{width:20px;height:20px}
.hm-panel{background:#fff;color:var(--text);border-radius:22px;padding:30px 32px}
.hm-panel h3{margin:0 0 4px;font-size:19px}
.hm-panel-sub{font-size:13.5px;color:var(--muted)!important;margin:0 0 18px!important}
.hm-schools{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.hm-schools span{background:var(--hm-cream);border-radius:999px;padding:7px 14px;font-size:14px;font-weight:600;color:var(--hm-ink)}
.hm-panel-link{display:block;text-align:center;color:var(--hm-teal);font-weight:700;text-decoration:none;padding-top:16px;border-top:1px solid var(--hm-line)}

/* 원장 소개 — 사진 + 글 */

/* 선배 인터뷰 — 흰 카드 + 금색 따옴표 */
#reviews{background:var(--hm-cream);border-radius:24px;padding:40px 36px;margin-top:56px}
#reviews .card{background:#fff;border:none;border-radius:18px;padding:26px 24px;box-shadow:0 2px 12px rgba(33,58,68,.05);text-decoration:none;transition:transform .15s}
#reviews .card:hover{transform:translateY(-3px)}
#reviews .card::before{content:"“";display:block;font-family:'Noto Serif KR',serif;font-size:44px;line-height:.8;color:var(--hm-gold);margin-bottom:6px}
#reviews .btn{background:var(--hm-teal)!important;border-radius:999px}

@media(max-width:900px){
  .hm-stats,.hm-tiers,.hm-dark-inner{grid-template-columns:1fr}
  .hm-stat+.hm-stat{border-left:none;border-top:1px solid var(--hm-line)}
  .hm-dark{padding:32px 22px}
  .hm-dark h2{font-size:30px}
  #reviews{padding:28px 18px}
}

/* 선의 리듬 — 직선(구분·강조), 곡선(카드·장식 호), 점선(목록·연결) */
/* 점선: 목록 구분, 캡션 위, 인터뷰 이름 위, 패널 링크 위 */
.tier-list li{padding-bottom:12px;border-bottom:1px dotted #CFCAC0}
.tier-list li:last-child{border-bottom:none}
.hm-cap{padding-top:10px;border-top:1px dotted #CFCAC0}
.hm-panel-link{border-top:1px dotted #CFCAC0}
.tier-sub{padding-top:10px;border-top:1px dotted currentColor;display:inline-block}
/* 직선: 숫자 띠 위 짧은 굵은 선, 섹션 제목 밑줄 */
.hm-num{position:relative;padding-top:14px}
.hm-num::before{content:"";position:absolute;top:0;left:0;width:28px;height:3px;background:var(--hm-teal)}
#programs .section-head h2,#special .section-head h2{padding-bottom:12px;background:linear-gradient(var(--hm-ink),var(--hm-ink)) left bottom/48px 2px no-repeat}
/* 곡선: 어두운 섹션·상담 블록의 장식 호, 원장 사진 뒤 점선 둥근 틀 */
.hm-dark{position:relative;overflow:hidden}
.hm-dark::before{content:"";position:absolute;width:520px;height:520px;right:-180px;top:-260px;border:1.5px dashed rgba(168,220,192,.28);border-radius:50%;pointer-events:none}
.hm-dark::after{content:"";position:absolute;width:300px;height:300px;left:-120px;bottom:-170px;border:1px solid rgba(255,255,255,.08);border-radius:50%;pointer-events:none}
.hm-dark-inner{position:relative;z-index:1}
.cta{position:relative;overflow:hidden}
.cta::before{content:"";position:absolute;width:360px;height:360px;left:-140px;top:-200px;border:1.5px dashed #CFCAC0;border-radius:50%;pointer-events:none}
.cta::after{content:"";position:absolute;width:240px;height:240px;right:-90px;bottom:-150px;border:1px solid #DCD7CD;border-radius:50%;pointer-events:none}
.cta>*{position:relative;z-index:1}
#special .program-card h3{font-size:19px;letter-spacing:-.02em}
#special .program-card p{margin-bottom:16px!important}
#special .program-card .btn{margin-top:auto!important}

/* 관악구 11개교 — 평균 막대·σ 미리보기·학교 찾기 테스트 */
.hm-fit{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:16px;background:var(--hm-mint);color:var(--hm-ink);text-decoration:none;margin-bottom:18px;transition:transform .15s}
.hm-fit:hover{transform:translateY(-2px)}
.hm-fit-ico{width:46px;height:46px;border-radius:50%;background:var(--hm-ink);color:var(--hm-mint);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hm-fit-ico svg{width:26px;height:26px}
.hm-fit-txt{flex:1}
.hm-fit-txt b{display:block;font-size:17px}
.hm-fit-txt small{display:block;font-size:13px;color:#3d5a63;margin-top:3px}
.hm-fit-go{font-weight:800;font-size:14px;white-space:nowrap;padding:9px 16px;border-radius:999px;background:var(--hm-ink);color:#fff}
.hm-links{display:flex;flex-wrap:wrap;gap:8px}
.hm-links a{color:#fff;text-decoration:none;font-size:14px;font-weight:600;padding:8px 16px;border:1px dashed rgba(255,255,255,.3);border-radius:999px}
.hm-links a:hover{background:rgba(255,255,255,.08)}
.hm-bars{display:flex;flex-direction:column;gap:7px}
.hm-bar{display:grid;grid-template-columns:64px 1fr 40px;align-items:center;gap:10px;font-size:13px}
.hm-bar-name{font-weight:600;color:var(--hm-ink)}
.hm-bar-track{height:10px;background:var(--hm-cream);border-radius:999px;overflow:hidden}
.hm-bar-track span{display:block;height:100%;background:var(--hm-teal);border-radius:999px}
.hm-bar:first-child .hm-bar-track span{background:var(--hm-ink)}
.hm-bar-val{text-align:right;font-weight:700;color:var(--hm-num);font-variant-numeric:tabular-nums}
.hm-axis{font-size:12px!important;color:var(--muted)!important;margin:10px 0 0!important}
.hm-sd{margin-top:20px;padding-top:16px;border-top:1px dotted #CFCAC0}
.hm-sd-head b{display:block;font-size:14.5px;color:var(--hm-ink)}
.hm-sd-head span{display:block;font-size:12.5px;color:var(--muted);margin:2px 0 12px}
.hm-sd-body{position:relative}
.hm-bars.sd .hm-bar-track span{background:var(--hm-gold)}
.hm-bars.sd{filter:blur(3px);opacity:.7;pointer-events:none;user-select:none}
.hm-lock{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:14px;color:var(--hm-ink);text-decoration:none}
.hm-lock svg{width:18px;height:18px}
.hm-lock:hover{color:var(--hm-teal)}
.hm-panel-link{margin-top:18px}
@media(max-width:600px){.hm-fit{flex-wrap:wrap}.hm-fit-go{width:100%;text-align:center}}

/* 관악구 섹션 재배치 — 머리줄 / 같은 높이 패널 두 장 / 전폭 테스트 */
.hm-dark-inner{display:block}
.hm-dark-head{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:end;margin-bottom:30px}
.hm-dark-head h2{margin-bottom:0}
.hm-dark-head p{margin-bottom:16px}
.hm-dark-panels{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch;margin-bottom:22px}
.hm-panel-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.hm-kpi{text-align:right;flex-shrink:0}
.hm-kpi b{display:block;font-family:'Noto Serif KR',serif;font-size:34px;line-height:1;color:var(--hm-num)}
.hm-kpi span{display:block;font-size:12px;color:var(--muted);margin-top:6px;line-height:1.5}
.hm-kpi em{font-style:normal;color:var(--hm-check);font-weight:700}
.hm-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:var(--muted);margin:6px 0 14px}
.hm-legend span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.hm-legend .u::before{background:var(--hm-ink)}.hm-legend .j::before{background:var(--hm-teal)}.hm-legend .o::before{background:#DDD8CE}
.hm-stks{display:flex;flex-direction:column;gap:7px}
.hm-stk{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:10px;font-size:13px}
.hm-stk-bar{display:flex;height:22px;border-radius:7px;overflow:hidden;font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums}
.hm-stk-bar span{display:flex;align-items:center;justify-content:center;white-space:nowrap}
.hm-stk-bar .u{background:var(--hm-ink);color:#fff}
.hm-stk-bar .j{background:var(--hm-teal);color:#fff}
.hm-stk-bar .o{background:#DDD8CE}
.hm-dark .hm-fit{margin:0;padding:22px 26px;border-radius:20px}
.hm-fit-ico{width:56px;height:56px}
.hm-fit-ico svg{width:30px;height:30px}
.hm-fit-txt b{font-size:19px}
.hm-fit-go{font-size:15px;padding:12px 22px}
@media(max-width:900px){.hm-dark-head,.hm-dark-panels{grid-template-columns:1fr;gap:18px}.hm-kpi b{font-size:28px}}
.hm-curve{width:100%;height:auto;display:block;margin-top:4px}
.hm-curve .ax{stroke:#CFCAC0;stroke-width:1}
.hm-curve .tk text{font-size:10px;fill:#8a857c}
.hm-curve .tk line{stroke:#CFCAC0}
.hm-curve-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--muted);margin-top:8px}
.hm-curve-legend span::before{content:"";display:inline-block;width:18px;height:0;border-top:2.4px solid var(--hm-ink);margin-right:6px;vertical-align:4px}
.hm-curve-legend .b::before{border-top:2.2px dashed var(--hm-gold)}
.hm-curve-legend b{color:var(--hm-ink)}
.hm-more{display:inline-block;margin-top:10px;font-size:13px;font-weight:700;color:var(--hm-teal);text-decoration:none}
.hm-dark-panels .hm-panel{display:flex;flex-direction:column}
.hm-dark-panels .hm-stks{flex:1;justify-content:space-between}
.hm-dark-panels .hm-stk-bar{height:28px;font-size:12px}

/* 선배 인터뷰 카드 — 특징 꼬리표 · 강조 제목 · 내용 일부 · 학생 · 수강 기간 */
#reviews .hm-rv{display:flex;flex-direction:column;padding:24px 24px 20px;color:inherit}
#reviews .hm-rv::before{content:none}
.hm-rv-tag{align-self:flex-start;font-size:12px;font-weight:700;color:var(--hm-teal);border:1px solid var(--hm-teal);border-radius:999px;padding:3px 10px;margin-bottom:14px;line-height:1.4}
.hm-rv-head{font-size:17px;line-height:1.55;font-weight:800;letter-spacing:-.01em;color:var(--hm-ink);margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hm-rv-head::before{content:"“";font-family:'Noto Serif KR',serif;color:var(--hm-gold);font-size:26px;line-height:0;vertical-align:-7px;margin-right:4px}
.hm-rv-text{font-size:14px;line-height:1.7;color:#5a5a5a;margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hm-rv-foot{margin-top:auto;padding-top:14px;border-top:1px dotted #D8D3C9;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.hm-rv-foot b{font-size:15px;color:var(--hm-ink)}
.hm-rv-foot span{font-size:13px;color:var(--muted)}
.hm-rv-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px}
.hm-rv-meta .per{font-size:12.5px;font-weight:700;color:var(--hm-num);background:var(--hm-cream);border-radius:999px;padding:4px 10px}
.hm-rv-meta .more{font-size:13px;font-weight:700;color:var(--hm-teal);white-space:nowrap}
#reviews .hm-rv:hover .more{text-decoration:underline}

/* ===== 소개 페이지(about-think) — 홈과 같은 팔레트 ===== */
.ab-hero{margin-top:8px;background:var(--hm-cream);border-radius:24px;padding:56px 48px;position:relative;overflow:hidden}
.ab-hero::after{content:"";position:absolute;width:420px;height:420px;right:-140px;top:-200px;border:1.5px dashed #CFCAC0;border-radius:50%}
.ab-hero h1{font-family:'Noto Serif KR',serif;font-size:46px;line-height:1.25;margin:6px 0 16px;color:var(--hm-ink)}
.ab-hero h1 em{font-style:normal;color:var(--hm-teal)}
.ab-hero p{font-size:17px;line-height:1.8;color:#555;max-width:620px;margin:0}
#philosophy h2,#why h2,#core h2{padding-bottom:12px;background:linear-gradient(var(--hm-ink),var(--hm-ink)) left bottom/48px 2px no-repeat}
.ab-philo{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.ab-figure{margin:0;position:relative}
.ab-figure img{width:100%;display:block;border-radius:20px;box-shadow:0 10px 30px rgba(33,58,68,.12);position:relative;z-index:1}
.ab-figure::before{content:"";position:absolute;inset:14px -14px 34px 14px;border:1.5px dashed var(--hm-teal);border-radius:24px;opacity:.45}
.ab-figure figcaption{font-size:13px;color:var(--muted);text-align:center;margin-top:12px}
.ab-steps{display:flex;flex-direction:column}
.ab-step{display:flex;gap:18px;padding:16px 0;border-bottom:1px dotted #CFCAC0}
.ab-step:last-child{border-bottom:none}
.ab-no{font-family:'Noto Serif KR',serif;font-weight:700;font-size:28px;line-height:1;color:var(--hm-num);min-width:44px;padding-top:4px}
.ab-step h3{margin:0 0 4px;font-size:19px}
.ab-step p{margin:0 0 8px;color:var(--muted);font-size:14.5px;line-height:1.7}
.ab-tag{display:inline-block;font-size:12.5px;color:var(--hm-num);background:var(--hm-cream);border-radius:999px;padding:5px 12px}
.ab-tag b{color:var(--hm-ink);margin-right:6px}
.ab-quote{margin:36px 0 0;padding:34px 40px;background:#fff;border:1px solid var(--hm-line);border-radius:22px;position:relative}
.ab-quote::before{content:"“";position:absolute;left:28px;top:4px;font-family:'Noto Serif KR',serif;font-size:72px;color:var(--hm-gold);line-height:1}
.ab-quote p{font-family:'Noto Serif KR',serif;font-size:26px;font-weight:700;color:var(--hm-ink);margin:18px 0 10px}
.ab-quote span{display:block;color:var(--muted);line-height:1.8;font-size:15.5px}
.ab-four .hm-num{margin:0 0 14px;padding-top:14px}
.ab-four .hm-stat p{margin:0}
.ab-dark h2{font-size:34px}
.ab-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ab-card{padding:24px;border-radius:18px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05)}
.ab-card .hm-ico{margin-bottom:14px}
.ab-card h3{color:#fff;font-size:17px;margin:0 0 8px}
.ab-card p{margin:0!important;font-size:14.5px!important;line-height:1.75}
.ab-core{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:core}
.ab-core-card{position:relative;background:#fff;border:1px solid var(--hm-line);border-radius:20px;padding:24px 24px 22px;transition:transform .15s,box-shadow .15s}
.ab-core-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(33,58,68,.08)}
.ab-core-card:nth-child(-n+3){background:var(--hm-cream)}
.ab-core-no{display:block;font-family:'Noto Serif KR',serif;font-weight:700;font-size:34px;color:var(--hm-num);line-height:1;padding-bottom:12px;margin-bottom:12px;border-bottom:1px dotted #CFCAC0}
.ab-core-name{font-size:19px;font-weight:800;color:var(--hm-ink);margin-bottom:8px}
.ab-core-name small{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--hm-teal);margin-left:6px}
.ab-core-card p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.7}
@media(max-width:900px){
  .ab-hero{padding:36px 24px}.ab-hero h1{font-size:34px}
  .ab-philo,.ab-cards,.ab-core{grid-template-columns:1fr}
  .ab-four{grid-template-columns:1fr 1fr}
  .ab-quote{padding:30px 24px}.ab-quote p{font-size:21px}
}
@media(max-width:520px){.ab-four{grid-template-columns:1fr}}
.hm-stats.ab-four{grid-template-columns:repeat(4,1fr);margin-top:0}
@media(max-width:900px){.hm-stats.ab-four{grid-template-columns:1fr 1fr}.ab-four .hm-stat:nth-child(3){border-left:none}}
@media(max-width:520px){.hm-stats.ab-four{grid-template-columns:1fr}.ab-four .hm-stat{border-left:none}}

/* ===== 교육비 페이지(about-tuition) ===== */
#plans h2,#compare h2{padding-bottom:12px;background:linear-gradient(var(--hm-ink),var(--hm-ink)) left bottom/48px 2px no-repeat}
#plans .tier-num{font-size:40px}
.tu-table-wrap{overflow-x:auto;border:1px solid var(--hm-line);border-radius:20px;background:#fff}
.tu-table{width:100%;border-collapse:collapse;font-size:14.5px;word-break:keep-all;overflow-wrap:break-word}
.tu-table th,.tu-table td{padding:14px 18px;text-align:left;line-height:1.6;vertical-align:top}
.tu-table thead th{background:var(--hm-cream);color:var(--hm-ink);font-weight:800;font-size:14px}
.tu-table tbody tr+tr th,.tu-table tbody tr+tr td{border-top:1px dotted #CFCAC0}
.tu-table tbody th{color:var(--hm-num);font-weight:800;white-space:nowrap}
.tu-table small{color:var(--muted)}
.tu-fee{text-align:center!important;font-weight:700;color:var(--hm-ink)}
.tu-ask{margin:0;padding:24px 28px;border-radius:20px}
/* 교육비 — 질문형 구성 */
#fee h2,#refund h2,#start h2{padding-bottom:12px;background:linear-gradient(var(--hm-ink),var(--hm-ink)) left bottom/48px 2px no-repeat}
.tu-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;position:relative;z-index:1}
.tu-jump a{font-size:13.5px;font-weight:700;color:var(--hm-ink);text-decoration:none;padding:8px 16px;border:1px dashed #BDB7AB;border-radius:999px;background:#fff}
.tu-jump a:hover{border-style:solid;border-color:var(--hm-teal);color:var(--hm-teal)}
.tu-lead{font-size:16px;line-height:1.8;color:#444;margin:0 0 18px}
.tu-lead b{color:var(--hm-ink)}
.tu-factors,.tu-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tu-factors>div,.tu-flow>div{background:#fff;border:1px solid var(--hm-line);border-radius:18px;padding:22px}
.tu-factors b,.tu-flow b{display:block;font-size:17px;color:var(--hm-ink);margin:10px 0 6px}
.tu-factors small,.tu-flow small{display:block;font-size:14px;color:var(--muted);line-height:1.6}
.tu-flow>div{position:relative}
.tu-flow>div+div::before{content:"";position:absolute;left:-17px;top:50%;width:17px;border-top:1.5px dotted var(--hm-teal)}
.tu-refund td b{color:var(--hm-ink)}
.tu-note{font-size:13.5px;color:var(--muted);margin:12px 0 0}
section[id]{scroll-margin-top:80px}
@media(max-width:900px){.tu-factors,.tu-flow{grid-template-columns:1fr}.tu-flow>div+div::before{display:none}}
.tu-book{margin-top:16px;padding:14px 18px;background:var(--hm-cream);border-radius:14px;color:#555}
.tu-book b{color:var(--hm-ink)}

/* ===== FAQ — 주제별 묶음, 둥근 카드 ===== */
.fq-group .faq-list{border-top:none;display:flex;flex-direction:column;gap:12px}
.fq-group .faq-item{background:#fff;border:1px solid var(--hm-line);border-radius:18px;padding:0 22px;transition:box-shadow .15s}
.fq-group .faq-item.open{box-shadow:0 8px 24px rgba(33,58,68,.07);border-color:#D8D3C9}
.fq-group .faq-q{padding:18px 0}
.fq-group .faq-q .faq-badge{background:var(--hm-ink);color:var(--hm-mint);border-radius:50%}
.fq-group .faq-qtext{font-size:16.5px;font-weight:700;color:var(--hm-ink)}
.fq-group .faq-a{padding:16px 4px 20px 42px;border-top:1px dotted #CFCAC0;color:#555;font-size:15px}
.fq-group .faq-a b{color:var(--hm-ink)}

/* ===== 문의상담(inquiry) — 안내 패널 + 신청서 ===== */
main.snu-page .iq-hero{max-width:1180px;margin:8px auto 0}
main.snu-page .iq-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;align-items:start;border-bottom:none}
.iq-side{background:var(--hm-ink);color:#fff;border-radius:22px;padding:28px 28px 26px;position:sticky;top:90px}
.iq-side h3{color:#fff;font-size:19px;margin:0 0 16px}
.iq-side .tier-list li{color:rgba(255,255,255,.82);border-bottom-color:rgba(255,255,255,.18)}
.iq-side .tier-list b{color:var(--hm-mint)}
.iq-side .tier-list li::before{color:var(--hm-mint)}
.iq-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 18px}
.iq-steps div{background:rgba(255,255,255,.07);border:1px dashed rgba(255,255,255,.22);border-radius:12px;padding:10px;font-size:12.5px;font-weight:700;text-align:center;color:#fff}
.iq-steps .ab-no{display:block;font-size:18px;color:var(--hm-mint);min-width:0;padding:0 0 4px}
.iq-direct{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.iq-direct a{display:flex;gap:10px;align-items:center;padding:11px 14px;border-radius:12px;background:rgba(255,255,255,.06);color:#fff;text-decoration:none;font-size:14px}
.iq-direct a:hover{background:rgba(255,255,255,.12)}
.iq-direct b{color:var(--hm-gold);min-width:56px}
.iq-more{color:var(--hm-mint);font-weight:700;font-size:14px;text-decoration:none}
main.snu-page .iq-card{background:#fff;border:1px solid var(--hm-line);border-radius:22px;box-shadow:none;padding:28px}
main.snu-page .iq-card .consult-form-area{border:none;padding:0;background:none}
main.snu-page .iq-card .cf-field input,main.snu-page .iq-card .cf-field select,main.snu-page .iq-card .cf-field textarea{border-radius:12px;border:1px solid #D8D3C9;background:#FBFAF7}
main.snu-page .iq-card .cf-field input:focus,main.snu-page .iq-card .cf-field select:focus,main.snu-page .iq-card .cf-field textarea:focus{outline:2px solid var(--hm-teal);outline-offset:0;background:#fff}
main.snu-page .iq-card .btn-submit-form{background:var(--hm-teal);border-radius:999px}
main.snu-page .iq-card #consultList{border-top:1px dotted #CFCAC0!important}
@media(max-width:900px){main.snu-page .iq-wrap{grid-template-columns:1fr}.iq-side{position:static;order:2}}

/* ===== 예전 snu 구성 요소를 홈 스타일로 덮는 층 (home.css를 함께 불러온 하위 페이지) ===== */
main.snu-page{--snu-navy:#213A44;--snu-teal:#4A7C88;--snu-mint:#A8DCC0;--snu-alt:#F3F1EC;--snu-line:#E4E1DA;--snu-muted:#6d6962;--snu-txt:#252525;--snu-green:#5BAE5B;--snu-amber:#D9B64A}
main.snu-page .sn-hero{max-width:1132px;margin:8px auto 0}
main.snu-page .snu-section{border-bottom:none;padding:44px 0 8px}
main.snu-page .snu-section-head{margin-bottom:22px}
main.snu-page .snu-section-head .snu-eyebrow{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:800;letter-spacing:.08em;color:var(--hm-teal);opacity:1;text-transform:none}
main.snu-page .snu-section-head .snu-eyebrow::before{content:"";width:22px;height:2px;background:currentColor}
main.snu-page .snu-section-head h2{font-family:'Noto Serif KR',serif;font-size:28px;padding-bottom:12px;background:linear-gradient(var(--hm-ink),var(--hm-ink)) left bottom/48px 2px no-repeat}
main.snu-page .snu-card{background:#fff;border:1px solid var(--hm-line);border-top:1px solid var(--hm-line);border-radius:20px;box-shadow:none;padding:24px 26px;transition:box-shadow .15s}
main.snu-page .snu-card:hover{box-shadow:0 8px 24px rgba(33,58,68,.06)}
main.snu-page .snu-card h3{color:var(--hm-ink)}
main.snu-page .snu-grid{gap:18px}
main.snu-page .snu-process{gap:16px}
main.snu-page .snu-step{background:var(--hm-cream);border:none;border-radius:18px;padding:22px 22px 20px}
main.snu-page .snu-step .snu-step-no{position:static;display:block;font-family:'Noto Serif KR',serif;font-size:26px;font-weight:700;letter-spacing:0;color:var(--hm-num);padding-bottom:10px;margin-bottom:10px;border-bottom:1px dotted #CFCAC0}
main.snu-page .snu-step strong{font-size:17px;color:var(--hm-ink)}
main.snu-page .snu-step span{font-size:14px}
main.snu-page .snu-lead,main.snu-page .snu-quote{background:var(--hm-cream);border:none;border-radius:18px}
main.snu-page .snu-list li::before{border-radius:50%;background:var(--hm-teal)}
/* 사진이 아직 없는 자리(파일 이름만 보이던 칸)는 학부모 화면에서 숨긴다 */
main.snu-page .snu-card .snu-placeholder{display:none}
main.snu-page .snu-file{display:none}
/* 갤러리·추천도서 */
main.snu-page .gallery-tabs{border-bottom:none;gap:8px}
main.snu-page .gallery-tab{border:1px solid var(--hm-line);border-radius:999px;padding:10px 22px;margin:0;background:#fff;color:var(--hm-ink)}
main.snu-page .gallery-tab.active{background:var(--hm-ink);color:#fff;border-color:var(--hm-ink)}
main.snu-page .gallery-filterbar{background:var(--hm-cream);border:none;border-radius:18px}
main.snu-page .snu-chip{border-radius:999px;background:#fff;border-color:var(--hm-line)}
main.snu-page .snu-chip.active{background:var(--hm-teal);color:#fff;border-color:var(--hm-teal)}
main.snu-page .gallery-card{background:#fff;border:1px solid var(--hm-line);border-radius:20px;padding:14px 14px 4px;transition:transform .15s,box-shadow .15s}
main.snu-page .gallery-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(33,58,68,.08)}
main.snu-page .gallery-card .snu-placeholder{border:none;border-radius:14px;background:var(--hm-cream) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B9B3A7' stroke-width='1.4'%3E%3Cpath d='M4 19.5V5a2 2 0 0 1 2-2h12v18H6a2 2 0 0 1-2-1.5z'/%3E%3Cpath d='M8 7h6M8 11h6'/%3E%3C/svg%3E") center/38px no-repeat}
main.snu-page .gallery-card .gallery-tag{color:var(--hm-teal)}
main.snu-page .gallery-card .gallery-divider{border-top:1px dotted #CFCAC0}
main.snu-page .gallery-card .snu-placeholder{color:transparent;font-size:0}
/* 공지·교육소식 카드(wireframe의 newscard)와 사진 없는 칸 */
main.snu-page .placeholder{border:none;border-radius:14px;background:var(--hm-cream) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B9B3A7' stroke-width='1.4'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Cpath d='M7 9h10M7 13h10M7 17h6'/%3E%3C/svg%3E") center/38px no-repeat;color:transparent}
main.snu-page .placeholder .file{display:none}
main.snu-page .newscard-rich,main.snu-page .newscard{background:#fff;border:1px solid var(--hm-line);border-radius:20px;padding:14px;transition:transform .15s,box-shadow .15s}
main.snu-page .newscard-rich:hover,main.snu-page .newscard:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(33,58,68,.08)}
main.snu-page .newscard-rich .divider,main.snu-page .newscard .divider{border-top:1px dotted #CFCAC0}
main.snu-page .board-tabs{border-radius:999px}

/* ===== 면접 연습실 인포그래픽 ===== */
main.snu-page .iv-flow{max-width:1132px;margin:40px auto 8px}
.iv-steps{list-style:none;margin:0 0 22px;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;position:relative}
.iv-steps::before{content:"";position:absolute;left:8%;right:8%;top:30px;border-top:1.5px dashed rgba(168,220,192,.45)}
.iv-steps li{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:0 4px}
.iv-ico{width:60px;height:60px;border-radius:50%;background:var(--hm-ink);border:1.5px solid var(--hm-mint);color:var(--hm-mint);display:flex;align-items:center;justify-content:center;margin-bottom:14px;position:relative;z-index:1}
.iv-ico svg{width:28px;height:28px}
.iv-no{font-family:'Noto Serif KR',serif;font-weight:700;font-size:15px;color:var(--hm-gold)}
.iv-steps b{color:#fff;font-size:17px;margin:2px 0 6px}
.iv-steps small{color:rgba(255,255,255,.72);font-size:13.5px;line-height:1.65;margin-bottom:10px}
.iv-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto}
.iv-tags i{font-style:normal;font-size:11.5px;font-weight:700;color:var(--hm-ink);background:var(--hm-mint);border-radius:999px;padding:3px 9px}
.iv-points{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:18px;overflow:hidden}
.iv-points div{padding:18px 20px}
.iv-points div+div{border-left:1px dotted #CFCAC0}
.iv-points b{display:block;color:var(--hm-ink);font-size:15.5px}
.iv-points span{display:block;color:var(--muted);font-size:13px;margin-top:3px}
@media(max-width:900px){
  .iv-steps{grid-template-columns:1fr;gap:18px}
  .iv-steps::before{left:30px;right:auto;top:30px;bottom:30px;border-top:none;border-left:1.5px dashed rgba(168,220,192,.45)}
  .iv-steps li{display:grid;grid-template-columns:60px 1fr;column-gap:14px;align-items:start}
  .iv-steps li .iv-ico{grid-row:1/5;margin:0}
  .iv-points{grid-template-columns:1fr 1fr}.iv-points div:nth-child(3){border-left:none}.iv-points div:nth-child(n+3){border-top:1px dotted #CFCAC0}
}
/* 하위 페이지: 머리글·강조 섹션·상담 블록을 본문 폭(1132px, 양옆 24px 여백)에 맞춘다 */
main.snu-page .sn-hero,main.snu-page .iq-hero,main.snu-page .iv-flow,main.snu-page .cta{width:calc(100% - 48px);max-width:1132px;margin-left:auto;margin-right:auto;box-sizing:border-box}

/* 머리글을 낮게 — 제목 한 줄, 여백 축소 (모든 페이지 공통) */
.ab-hero{padding:30px 40px 28px;border-radius:20px}
.ab-hero h1{font-size:32px;line-height:1.3;margin:4px 0 8px}
.ab-hero p{font-size:15.5px;line-height:1.7;max-width:760px}
.ab-hero::after{width:260px;height:260px;right:-90px;top:-150px}
.ab-hero .tu-jump{margin-top:14px}
@media(max-width:900px){.ab-hero{padding:24px 22px}.ab-hero h1{font-size:25px}}

/* ===== 시간표 ===== */
main.snu-page .tt{width:calc(100% - 48px);max-width:1132px;margin-left:auto;margin-right:auto}
.tt h2{padding-bottom:12px;background:linear-gradient(var(--hm-ink),var(--hm-ink)) left bottom/48px 2px no-repeat}
.tt-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.tt-grid.one{grid-template-columns:1fr}
.tt-card{background:#fff;border:1px solid var(--hm-line);border-radius:20px;overflow:hidden}
.tt-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:16px 20px;background:var(--hm-cream)}
.tt-head b{font-size:18px;color:var(--hm-ink)}
.tt-head span{font-size:13px;color:var(--muted)}
.tt-table{width:100%;border-collapse:collapse;font-size:14.5px;word-break:keep-all}
.tt-table th{text-align:left;font-size:12.5px;color:var(--muted);font-weight:700;padding:10px 12px 6px}
.tt-table td{padding:9px 12px;border-top:1px dotted #CFCAC0;vertical-align:middle;line-height:1.4}
.tt-table th:first-child,.tt-table td:first-child{padding-left:20px}
.tt-day{font-weight:800;color:var(--hm-ink)}
.tt-time{font-family:'Noto Serif KR',serif;font-weight:700;color:var(--hm-num);font-variant-numeric:tabular-nums}
.tt-table small{display:block;font-size:12px;color:var(--muted)}
.tt-st{display:inline-block;font-size:12px;font-weight:700;border-radius:999px;padding:3px 10px;white-space:nowrap}
.tt-st.on{background:#E3F1E6;color:#2F6B3A}
.tt-st.new{background:#F6EBCB;color:#7A5C0E;white-space:normal}
.tt-note{font-size:13.5px;color:var(--muted);margin:14px 0 0;line-height:1.9}
@media(max-width:900px){.tt-grid{grid-template-columns:1fr}}
@media(max-width:520px){.tt-table th:first-child,.tt-table td:first-child{padding-left:14px}.tt-table td,.tt-table th{padding-left:8px;padding-right:8px}}
.tt-cls{display:inline-block;font-size:12px;font-weight:700;color:var(--hm-ink);margin-left:4px;white-space:nowrap}
/* 방학 특강 */
main.snu-page #vacation{width:calc(100% - 48px);max-width:1132px;margin-left:auto;margin-right:auto}
.vc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.vc-card{background:var(--hm-cream);border-radius:18px;padding:22px 24px}
.vc-card b{display:block;font-size:17px;color:var(--hm-ink);margin:10px 0 6px}
.vc-card small{display:block;font-size:14px;color:var(--muted);line-height:1.65}
@media(max-width:700px){.vc-grid{grid-template-columns:1fr}}

/* ===== 탐구보고서반 4주 흐름·수업 예시 ===== */
main.snu-page .cl{width:calc(100% - 48px);max-width:1132px;margin-left:auto;margin-right:auto}
.cl h2{padding-bottom:12px;background:linear-gradient(var(--hm-ink),var(--hm-ink)) left bottom/48px 2px no-repeat}
.cl-weeks{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;position:relative}
.cl-weeks div{background:var(--hm-cream);border-radius:18px;padding:20px 20px 18px;position:relative}
.cl-weeks div+div::before{content:"";position:absolute;left:-15px;top:34px;width:16px;border-top:1.5px dotted var(--hm-teal)}
.cl-weeks .ab-no{font-size:22px}
.cl-weeks b{display:block;color:var(--hm-ink);font-size:16.5px;margin:8px 0 4px}
.cl-weeks small{display:block;color:var(--muted);font-size:14px;line-height:1.6}
.cl-gain{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.cl-gain div{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--hm-line);border-radius:14px;padding:14px 20px;background:#fff}
.cl-gain b{color:var(--hm-ink)}
.cl-gain span{color:var(--hm-teal);font-weight:700;font-size:14px}
.cl-note,.cl-lead{color:var(--muted);font-size:14.5px;line-height:1.8;margin:14px 0 0}
.cl-lead{margin:-6px 0 18px}
.cl-shots{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}
.cl-shots figure{margin:0;background:#fff;border:1px solid var(--hm-line);border-radius:18px;padding:12px;overflow:hidden}
.cl-shots img{width:100%;height:340px;object-fit:cover;object-position:top;border-radius:10px;display:block}
.cl-shots figcaption{font-size:14px;color:var(--hm-ink);font-weight:700;padding:12px 4px 4px;line-height:1.5}
.cl-shots figcaption .ab-no{font-size:16px;min-width:0;margin-right:6px}
@media(max-width:900px){.cl-weeks{grid-template-columns:1fr 1fr}.cl-weeks div+div::before{display:none}.cl-shots{grid-template-columns:1fr}.cl-shots img{height:300px}}
@media(max-width:520px){.cl-weeks,.cl-gain{grid-template-columns:1fr}}
/* 소개 — 관심사 기준·S.E.E.D·수업 형태 */
#interest h2{padding-bottom:12px;background:linear-gradient(var(--hm-ink),var(--hm-ink)) left bottom/48px 2px no-repeat}
.it-compare{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:stretch}
.it-col{border:1px solid var(--hm-line);border-radius:20px;padding:22px 24px;background:#fff}
.it-col ul{list-style:none;margin:12px 0 0;padding:0}
.it-col li{padding:8px 0;border-top:1px dotted #CFCAC0;color:var(--muted);font-size:15px}
.it-col li:first-child{border-top:none}
.it-ours{background:var(--hm-ink);border-color:var(--hm-ink)}
.it-ours li{color:#fff;border-top-color:rgba(255,255,255,.2)}
.it-tag{display:inline-block;font-size:12.5px;font-weight:800;padding:5px 12px;border-radius:999px;background:var(--hm-cream);color:var(--hm-num)}
.it-ours .it-tag{background:var(--hm-mint);color:var(--hm-ink)}
.it-arrow{align-self:center;font-size:26px;color:var(--hm-teal)}
.it-seed{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}
.it-seed div{background:var(--hm-cream);border-radius:18px;padding:20px}
.it-letter{display:block;font-family:'Noto Serif KR',serif;font-weight:700;font-size:32px;line-height:1;color:var(--hm-teal)}
.it-seed b{display:block;color:var(--hm-ink);font-size:16.5px;margin:10px 0 4px}
.it-seed small{display:block;color:var(--muted);font-size:14px;line-height:1.6}
.it-forms{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.it-forms div{border:1px dashed #BDB7AB;border-radius:16px;padding:16px 20px}
.it-forms b{display:block;color:var(--hm-ink);margin-bottom:4px}
.it-forms span{color:var(--muted);font-size:14.5px}
@media(max-width:900px){.it-compare{grid-template-columns:1fr}.it-arrow{transform:rotate(90deg);justify-self:center}.it-seed{grid-template-columns:1fr 1fr}.it-forms{grid-template-columns:1fr}}
main.snu-page .snu-container .cl{width:auto;max-width:none;margin-left:0;margin-right:0}
/* 수업 예시 — 사진 1장 + 단계 */
.cl-one{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start}
.cl-one figure{margin:0;background:#fff;border:1px solid var(--hm-line);border-radius:18px;padding:12px}
.cl-one img{width:100%;height:420px;object-fit:cover;object-position:top;border-radius:10px;display:block}
.cl-one figcaption{font-size:13.5px;color:var(--muted);padding:10px 4px 2px}
.cl-steps .cl-lead{margin:0 0 14px}
.cl-steps>div{display:flex;gap:14px;align-items:baseline;padding:14px 0;border-top:1px dotted #CFCAC0}
.cl-steps b{color:var(--hm-ink);font-size:16.5px;min-width:130px}
.cl-steps small{color:var(--muted);font-size:14.5px}
@media(max-width:900px){.cl-one{grid-template-columns:1fr}.cl-one img{height:320px}.cl-steps>div{flex-wrap:wrap}.cl-steps b{min-width:0}}
/* 초등·중등 프로그램 카드 */
.pg-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pg-card{border:1px solid var(--hm-line);border-radius:20px;padding:24px 26px;background:#fff}
.pg-card h3{font-size:20px;color:var(--hm-ink);margin:2px 0 14px}
.pg-card .tier-chip{margin-bottom:12px}
.pg-chip1{background:var(--hm-cream);color:var(--hm-num)}
.pg-chip2{background:var(--hm-mint);color:var(--hm-ink)}
.pg-dark{background:var(--hm-ink);border-color:var(--hm-ink)}
.pg-dark h3{color:#fff}
.pg-dark .tier-list li{color:rgba(255,255,255,.82);border-bottom-color:rgba(255,255,255,.18)}
.pg-dark .tier-list li::before{color:var(--hm-mint)}
.pg-meta{margin:0;font-size:13.5px;color:var(--muted)}
.pg-meta a{color:var(--hm-teal);font-weight:700;text-decoration:none}
.pg-dark .pg-meta{color:rgba(255,255,255,.65)}
.pg-dark .pg-meta a{color:var(--hm-mint)}
@media(max-width:800px){.pg-cards{grid-template-columns:1fr}}

/* ===== 수상 인포그래픽 ===== */
main.snu-page .aw,main.snu-page .wk{width:calc(100% - 48px);max-width:1132px;margin-left:auto;margin-right:auto}
main.snu-page .snu-container .aw,main.snu-page .snu-container .wk{width:auto;max-width:none;margin-left:0;margin-right:0}
.aw h2,.wk h2{padding-bottom:12px;background:linear-gradient(var(--hm-ink),var(--hm-ink)) left bottom/48px 2px no-repeat}
.aw-board{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;background:var(--hm-ink);border-radius:24px;padding:30px;position:relative;overflow:hidden}
.aw-board::before{content:"";position:absolute;width:380px;height:380px;right:-140px;top:-190px;border:1.5px dashed rgba(168,220,192,.3);border-radius:50%}
.aw-medals{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;position:relative}
.aw-m{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:22px 12px;text-align:center}
.aw-ring{display:flex;align-items:center;justify-content:center;width:92px;height:92px;margin:0 auto 12px;border-radius:50%;font-family:'Noto Serif KR',serif;font-weight:700;font-size:44px;color:var(--hm-ink);box-shadow:inset 0 -6px 0 rgba(0,0,0,.12)}
.gold .aw-ring{background:radial-gradient(circle at 35% 30%,#FBE7A1,#D9B64A 70%)}
.silver .aw-ring{background:radial-gradient(circle at 35% 30%,#F3F4F2,#BFC4C2 70%)}
.bronze .aw-ring{background:radial-gradient(circle at 35% 30%,#F1CFAE,#C08A5B 70%)}
.aw-m b{display:block;color:#fff;font-size:17px}
.aw-m small{display:block;color:var(--hm-mint);font-size:13px;margin-top:2px}
.aw-side{position:relative;color:rgba(255,255,255,.8);font-size:14.5px;line-height:1.75}
.aw-side p{margin:12px 0 16px}
.aw-cats,.aw-more{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.aw-cats span{background:var(--hm-mint);color:var(--hm-ink);font-weight:800;font-size:12.5px;border-radius:999px;padding:5px 12px}
.aw-more{padding-top:14px;border-top:1px dashed rgba(255,255,255,.25)}
.aw-more b{color:#fff;font-size:13.5px;width:100%}
.aw-more span{border:1px solid rgba(255,255,255,.3);color:#fff;font-size:12.5px;border-radius:999px;padding:5px 12px}
/* ===== 학생 결과물 갤러리 ===== */
.wk-sub{color:var(--muted);font-size:14.5px;margin:-6px 0 16px}
.wk-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,1fr);gap:14px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory}
.wk-card{scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;border:1px solid var(--hm-line);border-radius:18px;padding:10px 10px 14px;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s;position:relative}
.wk-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(33,58,68,.1)}
.wk-card img{width:100%;height:260px;object-fit:cover;object-position:top;border-radius:12px;display:block;background:var(--hm-cream)}
.wk-tag{position:absolute;top:18px;left:18px;font-size:11.5px;font-weight:800;color:var(--hm-ink);background:var(--hm-mint);border-radius:999px;padding:3px 10px}
.wk-card b{font-size:14.5px;color:var(--hm-ink);margin:10px 4px 2px;line-height:1.4}
.wk-card small{font-size:12.5px;color:var(--muted);margin:0 4px;line-height:1.5}
@media(max-width:900px){.aw-board{grid-template-columns:1fr;padding:22px}.aw-ring{width:72px;height:72px;font-size:34px}.wk-row{grid-auto-columns:72%}}
/* ===== 대회 발표 영상 ===== */
main.snu-page .tk{width:calc(100% - 48px);max-width:1132px;margin-left:auto;margin-right:auto}
main.snu-page .snu-container .tk{width:auto;max-width:none;margin-left:0;margin-right:0}
.tk h2{padding-bottom:12px;background:linear-gradient(var(--hm-ink),var(--hm-ink)) left bottom/48px 2px no-repeat}
.tk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tk-grid.one{grid-template-columns:minmax(0,560px)}
.tk-card{margin:0;background:#fff;border:1px solid var(--hm-line);border-radius:18px;padding:10px 10px 14px;position:relative}
.tk-card video{width:100%;aspect-ratio:16/9;border-radius:12px;display:block;background:var(--hm-cream);object-fit:cover}
.tk-card figcaption{display:flex;flex-direction:column;padding:10px 4px 0}
.tk-card .wk-tag{top:18px;left:18px}
.tk-card b{font-size:15px;color:var(--hm-ink);line-height:1.4}
.tk-card small{font-size:12.5px;color:var(--muted);margin-top:2px}
@media(max-width:900px){.tk-grid{grid-template-columns:1fr}}
/* ===== 방학 탐구 사례 (김치) ===== */
main.snu-page .kc{width:calc(100% - 48px);max-width:1132px;margin-left:auto;margin-right:auto}
main.snu-page .snu-container .kc{width:auto;max-width:none;margin-left:0;margin-right:0}
.kc h2{padding-bottom:12px;background:linear-gradient(var(--hm-ink),var(--hm-ink)) left bottom/48px 2px no-repeat}
.kc-line{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,1fr);gap:12px;overflow-x:auto;padding:6px 2px 12px;position:relative;scroll-snap-type:x mandatory}
.kc-step{scroll-snap-align:start;margin:0;position:relative;background:#fff;border:1px solid var(--hm-line);border-radius:16px;padding:34px 10px 12px}
.kc-step+.kc-step::before{content:"";position:absolute;left:-13px;top:16px;width:14px;border-top:1.5px dotted var(--hm-teal)}
.kc-no{position:absolute;top:8px;left:12px;font-family:'Noto Serif KR',serif;font-weight:700;font-size:15px;color:var(--hm-gold)}
.kc-step img{width:100%;height:170px;object-fit:cover;object-position:top;border-radius:10px;display:block;background:var(--hm-cream)}
.kc-step figcaption{padding:10px 2px 0}
.kc-step b{display:block;font-size:14.5px;color:var(--hm-ink)}
.kc-step small{display:block;font-size:12.5px;color:var(--muted);line-height:1.5;margin-top:2px}
.kc-gain{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;margin-top:12px}
.kc-gain>div{background:var(--hm-cream);border-radius:16px;padding:16px 18px}
.kc-gain b{display:block;color:var(--hm-ink);font-size:14.5px;margin-bottom:8px}
.kc-gain span{display:inline-block;background:#fff;border:1px dashed #BDB7AB;border-radius:999px;padding:4px 11px;font-size:12.5px;margin:0 4px 6px 0;color:var(--hm-ink)}
@media(max-width:900px){.kc-line{grid-auto-columns:62%}.kc-gain{grid-template-columns:1fr}}
/* ===== 원장 소개 — 원장의 생각 ===== */
main.snu-page .dr{width:calc(100% - 48px);max-width:1132px;margin-left:auto;margin-right:auto}
.dr h2{padding-bottom:12px;background:linear-gradient(var(--hm-ink),var(--hm-ink)) left bottom/48px 2px no-repeat}
.dr-why{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;align-items:stretch}
.dr-quote{margin:0;background:var(--hm-cream);border-radius:22px;padding:40px 34px;position:relative;display:flex;flex-direction:column;justify-content:center}
.dr-quote::before{content:"“";position:absolute;left:24px;top:-6px;font-family:'Noto Serif KR',serif;font-size:96px;color:var(--hm-gold);line-height:1}
.dr-quote p{font-family:'Noto Serif KR',serif;font-weight:700;font-size:34px;color:var(--hm-ink);margin:16px 0 14px}
.dr-quote span{color:var(--muted);font-size:15px;line-height:1.75}
.dr-flow{display:flex;flex-direction:column;gap:0}
.dr-box{border:1px solid var(--hm-line);border-radius:18px;padding:18px 22px;background:#fff}
.dr-box em{font-style:normal;font-size:12px;font-weight:800;color:var(--hm-teal);letter-spacing:.06em}
.dr-box b{display:block;font-size:17px;color:var(--hm-ink);margin:4px 0 6px}
.dr-box small{display:block;color:var(--muted);font-size:14px;line-height:1.7}
.dr-ans{background:var(--hm-ink);border-color:var(--hm-ink)}
.dr-ans em{color:var(--hm-mint)}.dr-ans b{color:#fff}
.dr-arrow{align-self:center;color:var(--hm-teal);font-size:22px;line-height:1;padding:6px 0}
.dr-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}
.dr-chips span{background:var(--hm-mint);color:var(--hm-ink);font-weight:800;font-size:13px;border-radius:999px;padding:5px 13px}
.dr-chips i{font-style:normal;color:rgba(255,255,255,.75);font-size:13px;margin-left:4px}
.dr-cycle{display:grid;grid-template-columns:420px 1fr;gap:36px;align-items:center}
.cy-svg{width:100%;height:auto;display:block}
.cy-svg .cy-n{font:700 13px 'Noto Serif KR',serif;fill:#A8DCC0}
.cy-svg .cy-t{font:800 13.5px 'Noto Sans KR',sans-serif;fill:#fff}
.cy-svg .cy-c1{font:700 22px 'Noto Serif KR',serif;fill:#213A44}
.cy-svg .cy-c2{font:500 13px 'Noto Sans KR',sans-serif;fill:#6d6962}
.dr-lead{font-size:16px;color:#444;line-height:1.8;margin:0 0 14px}
.dr-ol{list-style:none;margin:0;padding:0;counter-reset:dr}
.dr-ol li{counter-increment:dr;display:flex;gap:12px;align-items:baseline;padding:11px 0;border-top:1px dotted #CFCAC0;color:var(--muted);font-size:14.5px}
.dr-ol li::before{content:counter(dr,decimal-leading-zero);font:700 15px 'Noto Serif KR',serif;color:var(--hm-gold);min-width:24px}
.dr-ol b{color:var(--hm-ink);min-width:86px}
.dr-note{color:var(--muted);font-size:14.5px;line-height:1.8;margin:14px 0 0}
.dr-4c{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.dr-c{border:1px solid var(--hm-line);border-radius:18px;padding:22px;background:#fff;text-align:center}
.dr-ico{width:58px;height:58px;border-radius:50%;background:var(--hm-ink);color:var(--hm-mint);display:flex;align-items:center;justify-content:center;margin:0 auto 12px}
.dr-ico svg{width:28px;height:28px}
.dr-c b{display:block;color:var(--hm-ink);font-size:17px}
.dr-c small{display:block;color:var(--hm-teal);font-size:12px;font-weight:700;letter-spacing:.03em;margin-top:2px}
.dr-steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:14px;background:var(--hm-cream);border-radius:16px;overflow:hidden}
.dr-steps span{padding:14px 16px;font-weight:700;color:var(--hm-ink);font-size:14.5px;position:relative}
.dr-steps span+span{border-left:1px dotted #BDB7AB}
.dr-steps b{font:700 14px 'Noto Serif KR',serif;color:var(--hm-gold);margin-right:8px}
.dr-adult{background:var(--hm-ink);border-radius:24px;padding:40px 44px;color:rgba(255,255,255,.82);position:relative;overflow:hidden}
.dr-adult::before{content:"";position:absolute;width:360px;height:360px;right:-120px;bottom:-200px;border:1.5px dashed rgba(168,220,192,.3);border-radius:50%}
.dr-adult h2{color:#fff;background:none;padding:0;margin:4px 0 12px;font-size:30px}
.dr-adult p{font-size:15.5px;line-height:1.8;max-width:720px;margin:0 0 18px}
.dr-adult blockquote{margin:0;padding:16px 20px;border-left:3px solid var(--hm-gold);background:rgba(255,255,255,.06);border-radius:0 14px 14px 0;color:#fff;font-family:'Noto Serif KR',serif;font-size:18px;line-height:1.7;max-width:760px}
@media(max-width:900px){.dr-why,.dr-cycle{grid-template-columns:1fr}.cy-svg{max-width:360px;margin:0 auto}.dr-4c,.dr-steps{grid-template-columns:1fr 1fr}.dr-steps span:nth-child(3){border-left:none}.dr-quote p{font-size:27px}.dr-adult{padding:28px 22px}}
.cy-svg .cy-n{font-size:14px}.cy-svg .cy-t{font-size:15px}
.cy-svg .cy-n.dk{fill:#213A44}.cy-svg .cy-t.dk{fill:#213A44}
/* 포트폴리오 */
.pf-more{display:inline-block;margin-top:14px;font-weight:700;font-size:14.5px;color:var(--hm-teal);text-decoration:none}
.pf-more:hover{text-decoration:underline}
.pf-h{font-size:17px;color:var(--hm-ink);margin:22px 0 12px;display:flex;align-items:center;gap:10px}
.pf-h::after{content:"";flex:1;border-top:1px dotted #CFCAC0}
.pf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.pf-grid .wk-card img{height:240px}
@media(max-width:900px){.pf-grid{grid-template-columns:1fr 1fr}}
.kc-tips ol{list-style:none;margin:0;padding:0}
.kc-tips li{display:flex;gap:10px;align-items:baseline;padding:7px 0;border-top:1px dotted #CFCAC0;font-size:13.5px;color:var(--muted)}
.kc-tips li:first-child{border-top:none}
.kc-tips em{font-style:normal;font-weight:800;color:var(--hm-ink);min-width:84px}
.aw-count{margin:14px 0 4px!important;color:#fff;font-size:15px}
.aw-count b{font-family:'Noto Serif KR',serif;font-size:30px;color:var(--hm-gold);margin-right:4px}
.aw-count span{display:block;font-size:13px;color:var(--hm-mint);margin-top:2px}
.aw-priv{display:block;width:100%;font-size:12px;color:rgba(255,255,255,.55);margin-top:2px}

/* ===== 창작동화 과정 페이지 ===== */
.sk h2{padding-bottom:12px;background:linear-gradient(var(--hm-ink),var(--hm-ink)) left bottom/48px 2px no-repeat}
.sk-hero{display:grid;grid-template-columns:340px 1fr;gap:34px;align-items:center}
.sk-book{margin:0;position:relative}
.sk-book img{width:100%;border-radius:12px;box-shadow:0 18px 40px rgba(33,58,68,.18);display:block;position:relative;z-index:1}
.sk-book::before{content:"";position:absolute;inset:16px -16px -16px 16px;border:1.5px dashed var(--hm-teal);border-radius:16px;opacity:.5}
.sk-book figcaption{text-align:center;font-size:13px;color:var(--muted);margin-top:24px}
.sk-big{font-family:'Noto Serif KR',serif;font-weight:700;font-size:24px;line-height:1.5;color:var(--hm-ink);margin:4px 0 6px}
.sk-big.em{color:var(--hm-teal)}
.sk-arrow{font-size:22px;color:var(--hm-gold);margin:6px 0 10px}
.sk-facts{list-style:none;display:flex;gap:10px;padding:0;margin:20px 0 0;flex-wrap:wrap}
.sk-facts li{background:var(--hm-cream);border-radius:14px;padding:10px 16px;font-weight:700;color:var(--hm-ink);font-size:14px}
.sk-facts b{font-family:'Noto Serif KR',serif;font-size:24px;color:var(--hm-num);margin-right:4px}
.sk-line{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.sk-step{margin:0;position:relative;background:#fff;border:1px solid var(--hm-line);border-radius:16px;padding:34px 10px 12px}
.sk-step+.sk-step::before{content:"";position:absolute;left:-13px;top:16px;width:14px;border-top:1.5px dotted var(--hm-teal)}
.sk-step img{width:100%;height:150px;object-fit:cover;border-radius:10px;display:block}
.sk-step figcaption{padding:10px 2px 0}
.sk-tag{display:inline-block;font-size:11.5px;font-weight:800;color:var(--hm-ink);background:var(--hm-mint);border-radius:999px;padding:2px 9px;margin-bottom:6px}
.sk-step b{display:block;font-size:15px;color:var(--hm-ink)}
.sk-step small{display:block;font-size:12.5px;color:var(--muted);line-height:1.55;margin-top:3px}
.sk-map{display:grid;grid-template-columns:1fr 60px 1fr;gap:10px;align-items:stretch}
.sk-col{border:1px solid var(--hm-line);border-radius:18px;padding:18px 22px;background:#fff;display:flex;flex-direction:column}
.sk-col span{padding:12px 0;border-top:1px dotted #CFCAC0;font-size:15px;color:#444}
.sk-colh{font-size:13px;color:var(--hm-teal);letter-spacing:.04em;margin-bottom:4px}
.sk-dark{background:var(--hm-ink);border-color:var(--hm-ink)}
.sk-dark span{color:#fff;border-top-color:rgba(255,255,255,.2)}
.sk-dark .sk-colh{color:var(--hm-mint)}
.sk-mid{display:flex;flex-direction:column;justify-content:space-around;padding-top:34px;align-items:center}
.sk-mid i{font-style:normal;color:var(--hm-gold);font-size:22px;font-weight:700}
.sk-pair{display:grid;grid-template-columns:.7fr 1.3fr;gap:18px;margin-top:18px;align-items:start}
.sk-pair figure{margin:0;background:#fff;border:1px solid var(--hm-line);border-radius:18px;padding:10px}
.sk-pair img{width:100%;border-radius:10px;display:block}
.sk-pair figcaption{font-size:13px;color:var(--muted);padding:8px 4px 0}
@media(max-width:900px){.sk-hero,.sk-pair{grid-template-columns:1fr}.sk-book{max-width:300px;margin:0 auto}.sk-line{grid-template-columns:1fr 1fr}.sk-step+.sk-step::before{display:none}.sk-map{grid-template-columns:1fr}.sk-mid{display:none}.sk-big{font-size:20px}}
/* 통계대회 수상 카드 */
.st-card{display:grid;grid-template-columns:300px 1fr;gap:26px;margin-top:18px;background:#fff;border:1px solid var(--hm-line);border-radius:22px;padding:20px}
.st-poster img{width:100%;border-radius:12px;display:block;box-shadow:0 8px 22px rgba(33,58,68,.12)}
.st-badge{display:inline-block;background:var(--hm-gold);color:var(--hm-ink);font-weight:800;font-size:13px;border-radius:999px;padding:6px 14px}
.st-body h3{font-family:'Noto Serif KR',serif;font-size:26px;color:var(--hm-ink);margin:12px 0 4px}
.st-team{color:var(--muted);font-size:14.5px;margin:0 0 16px}
.st-nums{list-style:none;display:flex;gap:10px;padding:0;margin:0 0 16px;flex-wrap:wrap}
.st-nums li{background:var(--hm-cream);border-radius:14px;padding:10px 16px;color:var(--hm-ink);font-weight:700;min-width:90px}
.st-nums b{font-family:'Noto Serif KR',serif;font-size:26px;color:var(--hm-num)}
.st-nums small{display:block;font-size:12px;color:var(--muted);font-weight:500}
.st-shots{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.st-shots img{width:100%;height:200px;object-fit:cover;border-radius:12px;border:1px solid var(--hm-line);display:block}
/* 초등 → 창작동화 링크 카드 */
.sk-link{display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:center;background:var(--hm-ink);border-radius:22px;padding:18px 26px 18px 18px;text-decoration:none;transition:transform .15s}
.sk-link:hover{transform:translateY(-2px)}
.sk-link img{width:100%;border-radius:10px;display:block}
.sk-link em{font-style:normal;color:var(--hm-mint);font-size:12.5px;font-weight:800}
.sk-link b{display:block;color:#fff;font-family:'Noto Serif KR',serif;font-size:22px;margin:4px 0 6px}
.sk-link small{display:block;color:rgba(255,255,255,.75);font-size:14px;line-height:1.7}
.sk-link i{display:inline-block;font-style:normal;margin-top:10px;background:var(--hm-mint);color:var(--hm-ink);font-weight:800;font-size:13.5px;border-radius:999px;padding:7px 16px}
@media(max-width:900px){.st-card,.sk-link{grid-template-columns:1fr}.st-poster{max-width:320px}.sk-link img{max-width:160px}}
main.snu-page .iq-wrap{padding-bottom:64px}

/* 면접 연습실을 머리글 바로 아래로 올림 — 머리글과 같은 폭 */
main.snu-page .snu-container > #practice{width:100%;max-width:none;margin:24px 0 0}

/* ===== 면접 페이지 재구성 (index 스타일) ===== */
.iv2-sec{margin:56px 0 0}
.iv2-h{font-family:'Noto Serif KR',serif;font-size:28px;color:var(--hm-ink);margin:2px 0 18px;line-height:1.35}
.iv2-types{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.iv2-type{background:#fff;border:1px solid var(--hm-line);border-radius:22px;padding:22px 22px 18px;display:flex;flex-direction:column;gap:4px}
.iv2-type.hl{background:var(--hm-cream);border-color:#D9B64A;box-shadow:inset 0 0 0 1px #D9B64A}
.iv2-ico{width:52px;height:52px;border-radius:50%;background:var(--hm-ink);color:var(--hm-mint);display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.iv2-ico svg{width:26px;height:26px}
.iv2-type b{font-size:18px;color:var(--hm-ink)}
.iv2-type p{margin:2px 0 8px;font-size:14.5px;color:#444}
.iv2-type i{font-style:normal;font-size:13px;font-weight:700;color:var(--hm-teal)}
.iv2-type em{font-style:normal;font-size:12.5px;color:var(--muted);margin-top:auto;padding-top:10px;border-top:1px dotted #CFCAC0}
.iv2-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.iv2-btns{display:flex;gap:8px;flex-wrap:wrap}
.iv2-btn1{background:#fff;color:var(--hm-ink);border:1.5px solid var(--hm-ink);font-size:13px;padding:9px 18px;white-space:nowrap}
.iv2-btn2{background:var(--hm-ink);color:#fff;font-size:13px;padding:10px 18px;white-space:nowrap}
.iv2-class{margin-bottom:48px;display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;background:var(--hm-cream);border-radius:24px;padding:22px 28px}
.iv2-time{width:128px;height:128px;border-radius:50%;background:var(--hm-ink);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}
.iv2-time b{font-family:'Noto Serif KR',serif;font-size:34px;color:var(--hm-mint);line-height:1}
.iv2-time span{font-size:15px;font-weight:700;text-align:center;margin-top:6px;line-height:1.35}
.iv2-cinfo h3{margin:0 0 8px;font-family:'Noto Serif KR',serif;font-size:22px;color:var(--hm-ink)}
.iv2-cinfo h3 small{font-family:inherit;font-size:13px;font-weight:600;color:var(--hm-teal);margin-left:6px}
.iv2-cinfo ul{list-style:none;margin:0 0 10px;padding:0}
.iv2-cinfo li{font-size:15px;color:#333;padding:2px 0 2px 16px;position:relative}
.iv2-cinfo li::before{content:"";position:absolute;left:0;top:11px;width:7px;height:7px;border-radius:50%;background:var(--hm-gold)}
.iv2-cinfo a{font-size:13.5px;font-weight:800;color:var(--hm-ink);border-bottom:1px solid var(--hm-ink)}
.iv2-cinfo > small{font-size:12px;color:var(--muted)}
@media(max-width:800px){
  .iv2-types{grid-template-columns:1fr}.iv2-stats b{font-size:17px}
  
  .iv2-class{grid-template-columns:1fr;justify-items:center;text-align:center}.iv2-cinfo li{text-align:left}
  .iv2-h{font-size:22px}
}

.iv2-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.iv2-chips span{background:var(--hm-cream);border-radius:999px;padding:7px 16px;font-size:13.5px;color:var(--hm-ink)}
.iv2-chips b{margin-right:6px;color:var(--hm-teal)}
.iv2-chips .red b{color:#B4503E}
.iv2-chips .hot{background:var(--hm-ink);color:#fff}.iv2-chips .hot b{color:var(--hm-mint)}
.iv2-tbox{position:relative;max-height:640px;overflow:hidden;border:1px solid var(--hm-line);border-radius:20px;background:#fff}
.iv2-tbox.open{max-height:none}
.iv2-tbox:not(.open)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(rgba(255,255,255,0),#fff 85%);pointer-events:none}
.iv2-tbox .board-table{margin:0;width:100%}
.iv2-morewrap{text-align:center;margin-top:14px}
.iv2-morebtn{padding:11px 30px;border-radius:999px;border:1.5px solid var(--hm-ink);background:#fff;color:var(--hm-ink);font-family:inherit;font-weight:800;font-size:14.5px;cursor:pointer}
.iv2-morebtn:hover{background:var(--hm-ink);color:#fff}
.iv2-note{font-size:12.5px;color:var(--muted);margin:12px 2px 0;line-height:1.6}
.iv2-tbox .board-table{table-layout:fixed;min-width:640px}
.iv2-tbox th,.iv2-tbox td{text-align:left!important;padding:10px 14px;vertical-align:top;line-height:1.55;word-break:keep-all;overflow-wrap:break-word}
.iv2-tbox th:nth-child(1){width:12%}.iv2-tbox th:nth-child(2){width:22%}.iv2-tbox th:nth-child(3){width:34%}.iv2-tbox th:nth-child(4){width:32%}

/* 초등 수업 진행 — 두 수업의 흐름을 한 섹션에 */
.cl-sub{display:flex;align-items:center;gap:10px;margin:22px 0 10px;font-size:16px;color:var(--hm-ink);font-family:'Noto Serif KR',serif}
.cl-sub:first-of-type{margin-top:6px}

/* ===== 창작동화 「저마다의 아침」 ===== */
.stx-wrap{max-width:780px;margin:0 auto;padding:36px 22px 70px}
.stx-cover{display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:26px;align-items:center;margin-bottom:34px}
.stx-cover img{width:100%;border-radius:18px;box-shadow:0 14px 34px rgba(33,58,68,.18);display:block}
.stx-facts{display:grid;gap:10px}
.stx-facts div{background:var(--hm-cream);border-radius:16px;padding:14px 18px}
.stx-facts b{display:block;font-family:'Noto Serif KR',serif;font-size:24px;color:var(--hm-ink)}
.stx-facts span{font-size:13px;color:var(--muted)}
.stx-box{background:#fff;border:1px solid var(--hm-line);border-radius:22px;padding:24px 26px;margin:0 0 20px}
.stx-box-h{font-family:'Noto Serif KR',serif;font-size:22px;color:var(--hm-ink);margin:0 0 12px}
.stx-box p{font-family:'Noto Serif KR',serif;font-size:15.5px;line-height:1.95;color:#333;margin:0 0 12px;word-break:keep-all}
.stx-sign{text-align:right;color:var(--muted)!important;font-size:14px!important}
.stx-authors{background:var(--hm-cream);border-color:transparent}
.stx-au{margin:16px 0 4px;font-size:14px;font-weight:800;color:var(--hm-teal)}
.stx-part{margin-top:44px}
.stx-part-h{font-family:'Noto Serif KR',serif;font-size:26px;color:#fff;background:var(--hm-ink);border-radius:16px;padding:16px 22px;margin:0 0 22px}
.stx-h{font-family:'Noto Serif KR',serif;font-size:19px;color:var(--hm-ink);margin:34px 0 10px;padding-left:12px;border-left:4px solid var(--hm-gold)}
.stx-story p{font-family:'Noto Serif KR',serif;font-size:17px;line-height:2;color:#2b2b2b;margin:0 0 10px;word-break:keep-all;overflow-wrap:break-word}
.stx-story p.stx-q{padding-left:14px;color:#1d3d47}
.stx-chat{background:#EEF3F4;border-radius:16px;padding:14px 18px;margin:14px 0}
.stx-chat p{font-family:'Noto Sans KR',sans-serif!important;font-size:14.5px!important;line-height:1.7!important;margin:0 0 6px!important;padding:6px 12px;background:#fff;border-radius:12px;display:inline-block}
.stx-chat p+p{margin-left:0}
.stx-end{text-align:center;margin-top:46px;color:var(--muted);font-size:14px}
.stx-back{text-align:center;margin-top:10px;font-size:14px}
.stx-back a{display:inline-block;margin:4px 8px;padding:9px 18px;border:1.5px solid var(--hm-ink);border-radius:999px;color:var(--hm-ink);font-weight:700}
@media(max-width:700px){.stx-cover{grid-template-columns:1fr}.stx-cover img{max-width:300px;margin:0 auto}.stx-story p{font-size:16px}}
.sk-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sk-two .sk-link{grid-template-columns:110px 1fr;gap:16px;padding:16px 20px 16px 16px}
.sk-two .sk-link b{font-size:19px}
@media(max-width:900px){.sk-two{grid-template-columns:1fr}}

/* 대회·수상 페이지: 마지막 섹션과 하단 상담 영역 사이 간격 */
main.snu-page > section.tk + section.cta{margin-top:44px}

/* 홈: 우리 아이 고등학교 찾기 — 새 창으로 열리는 떠 있는 아이콘 */
.fit-float{position:fixed;left:20px;bottom:22px;z-index:70;display:flex;align-items:center;gap:0;height:58px;min-width:58px;border-radius:999px;background:var(--hm-ink);color:var(--hm-mint);text-decoration:none;box-shadow:0 10px 26px rgba(33,58,68,.35);overflow:hidden;transition:gap .2s,padding .2s}
.fit-float svg{width:28px;height:28px;margin:0 15px;flex-shrink:0}
.fit-float span{max-width:0;opacity:0;white-space:nowrap;font-weight:800;font-size:14.5px;color:#fff;transition:max-width .25s,opacity .2s,margin .2s}
.fit-float:hover,.fit-float:focus-visible{padding-right:18px}
.fit-float:hover span,.fit-float:focus-visible span{max-width:120px;opacity:1}
@media(max-width:700px){.fit-float{left:14px;bottom:14px;height:52px;min-width:52px}.fit-float svg{width:24px;height:24px;margin:0 14px}}
.hm-fit-eyebrow{display:inline-block;font-style:normal;font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--hm-mint);background:var(--hm-ink);border-radius:999px;padding:3px 11px;margin-bottom:6px}
.stx-omit{text-align:center;color:#8A8F92;letter-spacing:.08em;margin:20px 0;font-size:15px}
.stx-more{margin:34px 0 10px}
.stx-wrap .sk-two{display:block}
.sk-num{height:150px;border-radius:10px;background:var(--hm-ink);display:flex;align-items:baseline;justify-content:center;gap:4px;padding-top:44px;box-sizing:border-box}
.sk-num b{font-family:'Noto Serif KR',serif;font-size:54px;color:var(--hm-mint);line-height:1;margin:0}
.sk-num span{color:#fff;font-weight:800;font-size:18px}
.sk-two.stx-more{display:block}
.stx-pov{margin:18px 0 4px;font-size:13px;font-weight:800;letter-spacing:.06em;color:var(--hm-teal)}
.stx-note{margin:12px 0;padding:14px 18px;border:1.5px dashed #BDB7AB;border-radius:12px;background:#FBFAF6}
.stx-note p{margin:2px 0}
.stx-lead{margin:0 0 6px;color:#555;font-size:14.5px}
.pf-feature{display:grid;grid-template-columns:.8fr 1.2fr;gap:26px;align-items:start;background:var(--hm-cream);border-radius:22px;padding:22px;margin:0 0 20px}
.pf-fig{position:relative;display:block}
.pf-fig img{width:100%;display:block;border-radius:12px;border:1px solid var(--hm-line);background:#fff}
.pf-fig .wk-tag{top:12px;left:12px}
.pf-body h4{font-family:'Noto Serif KR',serif;font-size:22px;color:var(--hm-ink);margin:2px 0 8px;line-height:1.35}
.pf-lead{font-size:15.5px;line-height:1.7;color:#444;margin:0 0 14px}
.pf-stats{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pf-stats li{background:#fff;border:1px solid var(--hm-line);border-radius:14px;padding:12px 10px;text-align:center}
.pf-stats b{display:block;font-family:'Noto Serif KR',serif;font-size:30px;color:var(--hm-teal);line-height:1.1}
.pf-stats b small{font-size:14px;margin-left:2px;color:var(--hm-ink)}
.pf-stats span{display:block;font-size:12px;color:var(--muted);margin-top:4px;line-height:1.45}
.pf-how{font-size:14.5px;line-height:1.7;color:#444;margin:0 0 12px}
.pf-points{list-style:none;margin:0 0 12px;padding:0}
.pf-points li{position:relative;padding:5px 0 5px 16px;font-size:14.5px;line-height:1.6;color:#333}
.pf-points li::before{content:"";position:absolute;left:0;top:13px;width:7px;height:7px;border-radius:50%;background:var(--hm-gold)}
.pf-points b{color:var(--hm-ink);margin-right:4px}
.pf-note{font-size:12.5px;color:var(--muted);line-height:1.6;margin:0}
@media(max-width:900px){.pf-feature{grid-template-columns:1fr}.pf-fig{max-width:380px;margin:0 auto}.pf-stats{grid-template-columns:1fr 1fr}}
.pf-cap{display:block;font-size:12px;color:var(--muted);text-align:center;margin-top:6px}
.fit-bar{background:var(--hm-mint);color:var(--hm-ink);position:relative;text-align:center;font-size:14px;font-weight:700;line-height:1.4}
.fit-bar[hidden]{display:none}
.fit-bar a{display:block;color:inherit;text-decoration:none;padding:9px 44px 9px 16px}
.fit-bar a b{display:inline-block;background:var(--hm-ink);color:var(--hm-mint);border-radius:999px;padding:2px 10px;font-size:12px;margin-right:8px}
.fit-bar a:hover{text-decoration:underline}
.fit-bar-x{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;background:transparent;color:var(--hm-ink);font-size:20px;line-height:1;cursor:pointer}
.fit-promo{width:calc(100% - 48px);max-width:1132px;margin:26px auto 0}
.fp-a{position:relative;overflow:hidden;display:flex;align-items:center;gap:22px;background:var(--hm-mint);color:var(--hm-ink);border-radius:24px;padding:26px 32px;text-decoration:none;transition:transform .15s}
.fp-a::after{content:"";position:absolute;width:300px;height:300px;right:-110px;top:-170px;border:1.5px dashed rgba(33,58,68,.25);border-radius:50%;pointer-events:none}
.fp-a:hover{transform:translateY(-2px)}
.fp-ico{flex:0 0 64px;height:64px;border-radius:50%;background:var(--hm-ink);color:var(--hm-mint);display:flex;align-items:center;justify-content:center}
.fp-ico svg{width:34px;height:34px}
.fp-txt{flex:1;position:relative;z-index:1}
.fp-tag{display:inline-block;font-style:normal;font-size:12.5px;font-weight:800;letter-spacing:.03em;color:var(--hm-mint);background:var(--hm-ink);border-radius:999px;padding:4px 12px;margin-bottom:8px}
.fp-txt b{display:block;font-family:'Noto Serif KR',serif;font-size:26px;line-height:1.35;margin-bottom:6px}
.fp-txt b i{font-style:normal;color:#2F6B63}
.fp-txt small{display:block;font-size:14px;line-height:1.7;color:#35545c;max-width:760px}
.fp-go{position:relative;z-index:1;flex-shrink:0;font-weight:800;font-size:16px;white-space:nowrap;padding:14px 26px;border-radius:999px;background:var(--hm-ink);color:#fff}
@media(max-width:900px){.fp-a{flex-wrap:wrap;padding:22px 20px;gap:14px}.fp-ico{flex-basis:52px;height:52px}.fp-txt{flex-basis:calc(100% - 70px)}.fp-txt b{font-size:21px}.fp-go{width:100%;text-align:center;box-sizing:border-box}.fit-promo{width:calc(100% - 28px)}}

/* 홈 개편 2026-10 */
.hero4{position:relative;min-height:440px;display:flex;align-items:flex-end;overflow:hidden;background:#16282B}
.h4-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.h4-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,40,43,.88) 0%,rgba(22,40,43,.62) 48%,rgba(22,40,43,.1) 100%)}
.h4-body{position:relative;z-index:1;width:100%;max-width:1132px;margin:0 auto;padding:56px 24px 36px;box-sizing:border-box;color:#fff}
.h4-eyebrow{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:800;letter-spacing:.08em;color:var(--hm-mint);margin-bottom:10px}
.h4-eyebrow::before{content:"";width:22px;height:2px;background:currentColor}
.hero4 h1{font-family:'Noto Serif KR',serif;font-size:clamp(28px,4.4vw,46px);line-height:1.28;margin:0 0 12px;color:#fff;word-break:keep-all}
.hero4 p{font-size:16px;line-height:1.7;color:rgba(255,255,255,.85);max-width:620px;margin:0 0 22px}
.h4-go{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:900px}
.h4-go a{display:block;text-decoration:none;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);border-radius:16px;padding:12px 16px;backdrop-filter:blur(3px);transition:background .15s,transform .15s}
.h4-go a:hover{background:rgba(168,220,192,.28);transform:translateY(-2px)}
.h4-go small{display:block;font-size:12px;font-weight:800;color:var(--hm-mint);letter-spacing:.04em}
.h4-go b{display:block;font-size:15px;margin-top:2px;line-height:1.4}
@media(max-width:900px){.hero4{min-height:0}.h4-scrim{background:linear-gradient(180deg,rgba(22,40,43,.7),rgba(22,40,43,.9))}.h4-body{padding:34px 18px 26px}.h4-go{grid-template-columns:1fr 1fr}}
.hm-ask .ask-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.ask-card{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--hm-ink);background:var(--hm-cream);border-radius:18px;padding:18px 18px 14px;transition:transform .15s,box-shadow .15s}
.ask-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(33,58,68,.1)}
.ask-tag{align-self:flex-start;font-size:11.5px;font-weight:800;color:var(--hm-ink);background:var(--hm-mint);border-radius:999px;padding:3px 10px}
.ask-card b{font-family:'Noto Serif KR',serif;font-size:16.5px;line-height:1.45}
.ask-card small{font-size:13px;line-height:1.6;color:#4d5d62;flex:1}
.ask-card i{font-style:normal;font-weight:800;font-size:13px;color:var(--hm-teal);margin-top:4px}
@media(max-width:1000px){.hm-ask .ask-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.hm-ask .ask-grid{grid-template-columns:1fr}}
.hm-schools{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:14px}
.hm-schools span{font-size:12.5px;font-weight:800;color:var(--hm-mint);margin-right:4px}
.hm-schools a{color:#fff;text-decoration:none;font-size:13.5px;font-weight:600;padding:6px 13px;border-radius:999px;background:rgba(255,255,255,.1)}
.hm-schools a:hover{background:rgba(168,220,192,.3)}
.proof-links{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:6px}
.hm-faq .faq-list{max-width:860px}
.hm-faq details{background:#fff;border:1px solid var(--hm-line);border-radius:14px;padding:0 18px;margin-bottom:8px}
.hm-faq summary{cursor:pointer;font-weight:800;color:var(--hm-ink);padding:14px 0;list-style:none}
.hm-faq summary::-webkit-details-marker{display:none}
.hm-faq summary::after{content:"+";float:right;color:var(--hm-teal);font-size:20px;line-height:1}
.hm-faq details[open] summary::after{content:"−"}
.hm-faq details p{margin:0 0 14px;color:#444;line-height:1.75;font-size:15px}
.hm-bar{display:none}
@media(max-width:700px){.hm-bar{display:grid;grid-template-columns:1fr 1fr 1.3fr;position:fixed;left:0;right:0;bottom:0;z-index:80;background:#fff;border-top:1px solid var(--hm-line);box-shadow:0 -6px 18px rgba(33,58,68,.08)}
.hm-bar a{display:block;text-align:center;padding:14px 6px;font-size:14px;font-weight:800;color:var(--hm-ink);text-decoration:none}
.hm-bar a+a{border-left:1px solid var(--hm-line)}.hm-bar a.pri{background:var(--hm-ink);color:#fff}
body{padding-bottom:52px}.fit-float{bottom:68px!important}}

/* 고입 로드맵 */
.rm-wrap{max-width:1132px;margin:0 auto;padding:0 24px 40px;box-sizing:border-box}
.rm-dday{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;background:var(--hm-ink);color:#fff;border-radius:18px;padding:16px 22px;margin:0 0 16px}
.rm-dday b{font-family:'Noto Serif KR',serif;font-size:30px;color:var(--hm-mint)}
.rm-dday span{font-size:14.5px;color:rgba(255,255,255,.85)}
.rm-tbox{overflow-x:auto;border:1px solid var(--hm-line);border-radius:16px}
.rm-tbl{width:100%;border-collapse:collapse;font-size:14.5px}
.rm-tbl th{background:var(--hm-cream);color:var(--hm-ink);text-align:left;padding:10px 14px;font-size:13px}
.rm-tbl td{padding:10px 14px;border-top:1px solid var(--hm-line);line-height:1.6;vertical-align:top;word-break:keep-all}
.rm-tbl td:first-child{white-space:nowrap}
.rm-src{font-size:12.5px;color:var(--muted);line-height:1.7;margin:10px 0 0}
.rm-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.rm-card{background:var(--hm-cream);border-radius:18px;padding:18px 20px;display:flex;flex-direction:column;gap:6px}
.rm-tag{align-self:flex-start;font-size:11.5px;font-weight:800;background:var(--hm-mint);color:var(--hm-ink);border-radius:999px;padding:3px 10px}
.rm-card b{font-family:'Noto Serif KR',serif;font-size:16.5px;color:var(--hm-ink);line-height:1.4}
.rm-card p{margin:0;font-size:14px;line-height:1.7;color:#444;word-break:keep-all}
.rm-card a{font-weight:800;font-size:13.5px;color:var(--hm-teal);text-decoration:none;margin-top:4px}
.rm-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.rm-list li{position:relative;padding:10px 14px 10px 30px;background:#fff;border:1px solid var(--hm-line);border-radius:14px;font-size:14.5px;line-height:1.7;word-break:keep-all}
.rm-list li::before{content:"";position:absolute;left:13px;top:19px;width:8px;height:8px;border-radius:50%;background:var(--hm-gold)}
.rm-list b{color:var(--hm-ink);margin-right:6px}
.rm-steps{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:10px;counter-reset:rm}
.rm-steps li{counter-increment:rm;background:#fff;border:1px solid var(--hm-line);border-radius:16px;padding:14px 14px 12px}
.rm-steps li::before{content:counter(rm);display:flex;width:26px;height:26px;border-radius:50%;background:var(--hm-teal);color:#fff;align-items:center;justify-content:center;font-size:13px;font-weight:800;margin-bottom:8px}
.rm-steps b{display:block;color:var(--hm-ink);font-size:15px;margin-bottom:4px}
.rm-steps span{display:block;font-size:13px;line-height:1.65;color:#555;word-break:keep-all}
.rm-go{display:flex;flex-wrap:wrap;gap:10px}
.rm-btn{font-weight:800;font-size:14.5px;text-decoration:none;padding:12px 22px;border-radius:999px;background:var(--hm-ink);color:#fff}
.rm-btn.o{background:#fff;color:var(--hm-ink);border:1.5px solid var(--hm-ink)}
.rm-conv{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;margin:6px 0 10px}
.rm-conv a{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--hm-ink);background:var(--hm-cream);border:1.5px solid var(--hm-line);border-radius:18px;padding:16px 18px;transition:transform .15s,box-shadow .15s}
.rm-conv a:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(33,58,68,.12)}
.rm-conv a.pri{background:var(--hm-ink);border-color:var(--hm-ink);color:#fff}
.rm-conv .ic{flex:0 0 52px;height:52px;border-radius:50%;background:var(--hm-mint);color:var(--hm-ink);display:flex;align-items:center;justify-content:center}
.rm-conv a.pri .ic{background:var(--hm-gold)}
.rm-conv .ic svg{width:28px;height:28px}
.rm-conv b{display:block;font-size:16px;line-height:1.35}
.rm-conv small{display:block;font-size:12.5px;opacity:.8;margin-top:3px}
.rm-nav2{display:flex;flex-wrap:wrap;gap:6px 18px;margin:6px 0 0}
.rm-nav2 a{font-size:13.5px;font-weight:700;color:var(--hm-teal);text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.rm-conv{grid-template-columns:1fr}}
@media(max-width:1000px){.rm-cards{grid-template-columns:1fr 1fr}.rm-steps{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.rm-cards,.rm-steps{grid-template-columns:1fr}.rm-wrap{padding:0 14px 30px}.rm-dday b{font-size:26px}}
/* 원장 소개 */
.dir-stat{display:inline-flex;align-items:baseline;gap:12px;background:var(--hm-cream);border-radius:16px;padding:12px 20px;margin:0 0 14px}
.dir-stat b{font-family:'Noto Serif KR',serif;font-size:40px;line-height:1;color:var(--hm-teal)}
.dir-stat b small{font-size:18px;margin-left:2px;color:var(--hm-ink)}
.dir-stat span{font-weight:800;color:var(--hm-ink);font-size:14.5px}
.dir-feature .snu-list{display:grid!important;grid-template-columns:1fr!important;gap:12px}
.snu-list li b{display:block;font-size:12.5px;letter-spacing:.04em;color:var(--hm-teal);margin-bottom:2px}
.dr-intro{font-size:16px;line-height:1.8;color:#444;margin:0 0 18px;max-width:760px}
.dir-conv{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;width:100%;margin:0}
#dr-conv{margin-bottom:18px}
.dir-conv a{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--hm-ink);background:var(--hm-cream);border:1.5px solid var(--hm-line);border-radius:18px;padding:16px 18px;transition:transform .15s,box-shadow .15s}
.dir-conv a:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(33,58,68,.12)}
.dir-conv a.pri{background:var(--hm-ink);border-color:var(--hm-ink);color:#fff}
.dir-conv .ic{flex:0 0 52px;height:52px;border-radius:50%;background:var(--hm-mint);color:var(--hm-ink);display:flex;align-items:center;justify-content:center}
.dir-conv a.pri .ic{background:var(--hm-gold)}
.dir-conv .ic svg{width:28px;height:28px}
.dir-conv b{display:block;font-size:16px;line-height:1.35}
.dir-conv small{display:block;font-size:12.5px;opacity:.8;margin-top:3px;line-height:1.45}
@media(max-width:900px){.dir-conv{grid-template-columns:1fr}}
main.snu-page .snu-list li{padding-left:32px}
main.snu-page .snu-list li::before{content:"🎓";background:none;width:auto;height:auto;border-radius:0;font-size:20px;line-height:1;top:2px}
