/* ===== 병원 템플릿 전용 메인 섹션 (학원 템플릿에서 가져와 바꿈) =====
   레벨테스트 신청 · 올해의 결과 · 학년별 과정 · 시간표 · 강사진 · 수업 시스템 · 후기 · 자주 묻는 질문 · 상담·셔틀
   모든 테마(a~e)가 함께 쓰며, 각 테마의 --primary / --accent / --ink / --muted / --line / --bg-soft 로 색이 맞춰진다. */
.ac-sec{padding:96px 0;--ac-card:#fff;--ac-soft:var(--bg-soft,#f4f6fb)}
.ac-sec.is-soft{background:var(--ac-soft)}
.ac-in{width:100%}
.ac-ico{width:24px;height:24px;flex:0 0 auto}
.ac-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px 18px;margin-bottom:34px}
.ac-head .ac-eyebrow{flex:0 0 100%;margin-bottom:0;display:inline-flex;align-items:center;gap:6px}
.ac-head .ac-eyebrow .ac-ico{width:16px;height:16px}
.ac-title{font-size:clamp(26px,2.6vw,38px);line-height:1.3;letter-spacing:-.02em;margin:0;flex:1 1 auto}
.ac-desc{flex:0 0 100%;margin:4px 0 0;color:var(--muted);line-height:1.7}
.ac-more{font-weight:700;font-size:15px;color:var(--ink);text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:2px;white-space:nowrap}
.ac-more:hover{color:var(--accent)}
.ac-note{margin:18px 0 0;color:var(--muted);font-size:14px}

/* ---- 레벨테스트 신청 ---- */
.ac-apply{display:flex;flex-direction:column;gap:18px;background:#fff;color:#141a2b;border-radius:24px;padding:28px;box-shadow:0 30px 70px rgba(20,35,80,.16);border:1px solid rgba(0,0,0,.05)}
.ac-apply-head{display:flex;gap:12px;align-items:center}
.ac-apply-ico{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--accent);color:#fff;flex:0 0 auto}
.ac-apply-head b{display:block;font-size:20px;line-height:1.3}
.ac-apply-head small{display:block;color:#667085;font-size:13.5px;margin-top:3px;line-height:1.5}
.ac-apply-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.ac-apply-fields .ac-f:last-child{grid-column:1/-1}
.ac-f{display:flex;flex-direction:column;gap:6px;min-width:0}
.ac-f span{font-size:12.5px;font-weight:700;color:#667085}
.ac-f select,.ac-f input{height:48px;width:100%;max-width:100%;min-width:0;border:1.5px solid #e2e6ef;border-radius:12px;padding:0 12px;font:inherit;font-size:15px;background:#f7f8fc;color:#141a2b}
.ac-f input[type=date]{display:block;line-height:46px;-webkit-appearance:none;appearance:none}
.ac-f select:focus,.ac-f input:focus{outline:none;border-color:var(--accent);background:#fff}
.ac-apply-btn{width:100%;height:54px;justify-content:center}
.ac-apply-foot{margin:-6px 0 0;font-size:12.5px;color:#8a93a6;line-height:1.5}
.ac-apply-foot a{color:inherit;font-weight:700}
.ac-apply-band{position:relative;z-index:5;padding:40px 0}
.ac-apply.is-band{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr) minmax(0,.6fr);grid-template-areas:"head fields btn" "foot foot foot";gap:14px 26px;align-items:center;box-shadow:0 18px 50px rgba(20,35,80,.12)}
.ac-apply.is-band .ac-apply-head{grid-area:head}
.ac-apply.is-band .ac-apply-fields{grid-area:fields;grid-template-columns:repeat(3,minmax(0,1fr))}
.ac-apply.is-band .ac-apply-fields .ac-f:last-child{grid-column:auto}
.ac-apply.is-band .ac-apply-btn{grid-area:btn;align-self:end;height:48px}
.ac-apply.is-band .ac-apply-foot{grid-area:foot;margin:0}

/* ---- 올해의 결과 ---- */
.ac-figs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0}
.ac-figs div{margin:0;padding:26px 24px;border-radius:20px;background:var(--ac-card);border:1px solid var(--line)}
.ac-figs dd{margin:0;font-size:44px;font-weight:800;letter-spacing:-.03em;color:var(--ink);line-height:1.1}
.ac-figs small{font-size:18px;margin-left:3px;color:var(--accent)}
.ac-figs dt{color:var(--muted);font-size:14.5px;margin-top:8px}
.ac-roll{margin-top:34px;overflow:hidden;display:flex;border-block:1px solid var(--line);background:var(--ac-card)}
.ac-roll-track{list-style:none;margin:0;padding:0;display:flex;gap:0;flex:0 0 auto}
.ac-roll:not(.is-move) .ac-roll-track{flex-wrap:wrap;flex:1 1 auto}
.ac-roll li{display:flex;align-items:baseline;gap:10px;padding:18px 28px;white-space:nowrap;border-right:1px solid var(--line);font-size:15px}
.ac-roll li span{color:var(--muted);font-size:13.5px}
.ac-roll li b{font-weight:800;color:var(--ink)}
.ac-roll li em{font-style:normal;font-weight:800;color:var(--accent)}
.ac-roll.is-move .ac-roll-track{animation:acRoll 38s linear infinite}
.ac-roll.is-move:hover .ac-roll-track{animation-play-state:paused}
@keyframes acRoll{to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){.ac-roll.is-move .ac-roll-track{animation:none}.ac-roll.is-move{overflow-x:auto}}

/* ---- 학년별 과정 (라디오 탭) ---- */
.ac-tabs-box{background:var(--ac-card);border:1px solid var(--line);border-radius:22px;padding:10px}
.ac-tab-r{position:absolute;opacity:0;pointer-events:none}
.ac-tabs{display:flex;gap:6px;overflow-x:auto;padding:4px;scrollbar-width:none}
.ac-tabs::-webkit-scrollbar{display:none}
.ac-tabs label{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:12px;font-weight:700;font-size:15px;cursor:pointer;color:var(--muted);white-space:nowrap}
.ac-tabs label .ac-ico{width:18px;height:18px}
.ac-tabs label small{font-size:12px;font-weight:800;padding:1px 7px;border-radius:999px;background:var(--ac-soft);color:var(--muted)}
.ac-tabs label:hover{color:var(--ink)}
.ac-panel{display:none;padding:16px 10px 12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ac-tabs-box .ac-tab-r:nth-of-type(1):checked~.ac-panel:nth-of-type(1),.ac-tabs-box .ac-tab-r:nth-of-type(2):checked~.ac-panel:nth-of-type(2),
.ac-tabs-box .ac-tab-r:nth-of-type(3):checked~.ac-panel:nth-of-type(3),.ac-tabs-box .ac-tab-r:nth-of-type(4):checked~.ac-panel:nth-of-type(4),
.ac-tabs-box .ac-tab-r:nth-of-type(5):checked~.ac-panel:nth-of-type(5),.ac-tabs-box .ac-tab-r:nth-of-type(6):checked~.ac-panel:nth-of-type(6){display:grid}
.ac-tabs-box .ac-tab-r:nth-of-type(1):checked~.ac-tabs label:nth-of-type(1),.ac-tabs-box .ac-tab-r:nth-of-type(2):checked~.ac-tabs label:nth-of-type(2),
.ac-tabs-box .ac-tab-r:nth-of-type(3):checked~.ac-tabs label:nth-of-type(3),.ac-tabs-box .ac-tab-r:nth-of-type(4):checked~.ac-tabs label:nth-of-type(4),
.ac-tabs-box .ac-tab-r:nth-of-type(5):checked~.ac-tabs label:nth-of-type(5),.ac-tabs-box .ac-tab-r:nth-of-type(6):checked~.ac-tabs label:nth-of-type(6){background:var(--primary);color:#fff}
.ac-tabs-box .ac-tab-r:nth-of-type(1):checked~.ac-tabs label:nth-of-type(1) small,.ac-tabs-box .ac-tab-r:nth-of-type(2):checked~.ac-tabs label:nth-of-type(2) small,
.ac-tabs-box .ac-tab-r:nth-of-type(3):checked~.ac-tabs label:nth-of-type(3) small,.ac-tabs-box .ac-tab-r:nth-of-type(4):checked~.ac-tabs label:nth-of-type(4) small,
.ac-tabs-box .ac-tab-r:nth-of-type(5):checked~.ac-tabs label:nth-of-type(5) small,.ac-tabs-box .ac-tab-r:nth-of-type(6):checked~.ac-tabs label:nth-of-type(6) small{background:rgba(255,255,255,.22);color:#fff}
.ac-tabs-box .ac-tab-r:focus-visible~.ac-tabs{outline:2px solid var(--accent);outline-offset:2px;border-radius:12px}
.ac-course{display:flex;flex-direction:column;gap:8px;padding:24px 22px 20px;border-radius:18px;border:1.5px solid var(--line);background:var(--ac-card);color:var(--ink);text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s}
.ac-course:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 14px 36px rgba(0,0,0,.08)}
.ac-course-g{align-self:flex-start;font-size:12px;font-weight:800;letter-spacing:.04em;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--ink)}
.ac-course b{font-size:18px;line-height:1.35}
.ac-course p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.65}
.ac-course dl{margin:auto 0 0;padding-top:14px;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:6px}
.ac-course dl div{display:flex;justify-content:space-between;gap:10px;margin:0}
.ac-course dt{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13.5px;font-weight:700}
.ac-course dt .ac-ico{width:15px;height:15px}
.ac-course dd{margin:0;font-size:14.5px;font-weight:700;text-align:right}
.ac-course .ac-fee{color:var(--primary);font-weight:800}

/* ---- 시간표 ---- */
.ac-tt-scroll{overflow-x:auto;border-radius:18px;border:1px solid var(--line);background:var(--ac-card,#fff);-webkit-overflow-scrolling:touch}
.ac-tt-scroll:focus-visible{outline:2px solid var(--accent)}
.ac-tt{width:100%;min-width:640px;border-collapse:collapse;table-layout:fixed}
.ac-tt th,.ac-tt td{padding:14px 10px;border-bottom:1px solid var(--line);text-align:center;font-size:14px}
.ac-tt thead th{font-size:13px;font-weight:800;color:var(--muted);letter-spacing:.06em;background:var(--ac-soft,#f4f6fb)}
.ac-tt thead th:first-child{width:28%}
.ac-tt tbody th{text-align:left;padding-left:20px}
.ac-tt tbody th b{display:block;font-size:15px;color:var(--ink)}
.ac-tt tbody th small{display:block;font-size:12.5px;color:var(--muted);font-weight:500;margin-top:2px}
.ac-tt tbody tr:last-child>*{border-bottom:0}
.ac-tt td.is-on span{display:inline-block;padding:6px 8px;border-radius:9px;background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);font-weight:800;font-size:13px;line-height:1.3}
.ac-tt .is-today{background:color-mix(in srgb,var(--accent) 9%,transparent)}
.ac-tt thead th.is-today{color:var(--ink)}
.ac-tt td.is-today.is-on span{background:var(--accent);color:#fff}

/* ---- 강사진 ---- */
.ac-teachers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.ac-teacher{display:flex;flex-direction:column;text-decoration:none;color:var(--ink)}
.ac-teacher-img{position:relative;display:block;aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:var(--ac-soft)}
.ac-teacher-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ac-teacher:hover .ac-teacher-img img{transform:scale(1.04)}
.ac-teacher-img em{position:absolute;left:14px;top:14px;font-style:normal;font-size:12.5px;font-weight:800;padding:5px 11px;border-radius:999px;background:#fff;color:#141a2b;box-shadow:0 4px 12px rgba(0,0,0,.1)}
.ac-teacher-txt{display:flex;flex-direction:column;gap:4px;padding:16px 4px 0}
.ac-teacher-txt small{font-size:13px;color:var(--muted);font-weight:700}
.ac-teacher-txt b{font-size:19px}
.ac-teacher-say{font-size:14.5px;color:var(--muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ac-teachers.is-row{grid-template-columns:minmax(0,1fr);gap:12px}
.ac-teachers.is-row .ac-teacher{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--ac-card)}
.ac-teachers.is-row .ac-teacher-img{border-radius:12px}
.ac-teachers.is-row .ac-teacher-img em{display:none}
.ac-teachers.is-row .ac-teacher-txt{padding:0}

/* ---- 수업 시스템 ---- */
.ac-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:s}
.ac-steps a,.ac-steps li>div{display:flex;flex-direction:column;gap:6px;height:100%;padding:26px 24px;border-radius:20px;background:var(--ac-card);border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:border-color .2s}
.ac-steps a:hover{border-color:var(--accent)}
.ac-step-ico{display:inline-grid;place-items:center;width:50px;height:50px;border-radius:15px;background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary);margin-bottom:10px}
.ac-steps em{font-style:normal;font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--accent)}
.ac-steps b{font-size:18px}
.ac-steps p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.65}

/* ---- 후기 ---- */
.ac-reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ac-review{position:relative;margin:0;display:flex;flex-direction:column;gap:18px;padding:30px 26px 24px;border-radius:22px;background:var(--ac-card);border:1px solid var(--line)}
.ac-review::before{content:'\201C';position:absolute;right:22px;top:8px;font-size:84px;line-height:1;font-family:Georgia,serif;color:color-mix(in srgb,var(--accent) 35%,transparent)}
.ac-score{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--primary);color:#fff;font-weight:800;font-size:13.5px}
.ac-score .ac-ico{width:16px;height:16px}
.ac-review blockquote{margin:0;font-size:16px;line-height:1.75;color:var(--ink);flex:1}
.ac-review figcaption{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
.ac-av{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--ink);font-weight:800}
.ac-review figcaption b{display:block;font-size:15px}
.ac-review figcaption small{display:block;font-size:13px;color:var(--muted)}

/* ---- 자주 묻는 질문 ---- */
.ac-faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:40px;align-items:start}
.ac-faq-grid .ac-head{flex-direction:column;align-items:flex-start;margin-bottom:0;position:sticky;top:110px}
.ac-faq details{border-bottom:1px solid var(--line)}
.ac-faq details:first-child{border-top:2px solid var(--ink)}
.ac-faq summary{list-style:none;cursor:pointer;display:flex;gap:14px;align-items:flex-start;padding:20px 4px;font-weight:700;font-size:17px;line-height:1.5}
.ac-faq summary::-webkit-details-marker{display:none}
.ac-faq summary span:last-child{flex:1}
.ac-faq summary::after{content:'+';font-size:22px;font-weight:400;line-height:1.1;color:var(--accent)}
.ac-faq details[open] summary::after{content:'\2212'}
.ac-faq .q{color:var(--accent);font-weight:800}
.ac-faq-a{padding:0 4px 22px 32px;color:var(--muted);line-height:1.75}
.ac-faq-a a{color:var(--accent);font-weight:700;white-space:nowrap}

/* ---- 상담·셔틀 ---- */
.ac-visit{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;align-items:stretch}
.ac-visit.is-solo{grid-template-columns:minmax(0,1fr)}
.ac-visit-cta{position:relative;overflow:hidden;padding:46px;border-radius:26px;background:var(--primary);color:#fff}
.ac-visit-cta::after{content:'';position:absolute;right:-70px;bottom:-110px;width:300px;height:300px;border-radius:50%;background:var(--accent);opacity:.22}
.ac-visit-cta .ac-title,.ac-visit-cta .ac-eyebrow{color:#fff}
.ac-visit-cta .ac-eyebrow{opacity:.85;margin-bottom:14px;display:inline-flex;align-items:center;gap:6px}
.ac-visit-cta .ac-eyebrow .ac-ico{width:16px;height:16px}
.ac-visit-cta .ac-desc{color:rgba(255,255,255,.8);margin-top:12px}
.ac-visit-btns{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.ac-tel{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.ac-tel:hover{border-color:#fff;color:#fff}
.ac-tel .ac-ico{width:18px;height:18px}
.ac-visit-hours{position:relative;z-index:1;display:flex;align-items:center;gap:8px;margin:20px 0 0;color:rgba(255,255,255,.75);font-size:14px}
.ac-visit-hours .ac-ico{width:17px;height:17px}
.ac-bus{display:flex;flex-direction:column;gap:14px;padding:30px;border-radius:26px;background:var(--ac-card);border:1px solid var(--line)}
.ac-bus-head{display:flex;align-items:center;gap:12px;margin-bottom:4px}
.ac-bus-ico{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--accent);color:#fff;flex:0 0 auto}
.ac-bus-head b{display:block;font-size:19px}
.ac-bus-head small{display:block;color:var(--muted);font-size:13.5px;margin-top:2px;line-height:1.5}
.ac-route{display:flex;flex-direction:column;gap:10px;padding:14px 0 4px;border-top:1px dashed var(--line)}
.ac-route-name{font-weight:800;font-size:14.5px}
.ac-route ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 0}
.ac-route li{position:relative;display:inline-flex;align-items:center;font-size:14px;color:var(--ink);padding-right:22px}
.ac-route li::before{content:'';width:9px;height:9px;border-radius:50%;border:2px solid var(--accent);margin-right:7px;background:var(--ac-card)}
.ac-route li:not(:last-child)::after{content:'';position:absolute;right:5px;top:50%;width:12px;height:2px;background:color-mix(in srgb,var(--accent) 45%,transparent)}
.ac-bus .ac-more{align-self:flex-start;margin-top:6px}

/* ---- A 첫 화면 ---- */
.ac-hero{position:relative;overflow:hidden;padding:72px 0 84px;background:linear-gradient(165deg,color-mix(in srgb,var(--primary) 9%,#fff) 0%,#f6f8fd 55%,#fff 100%)}
.is-home .ac-hero{padding-top:calc(var(--header-h) + 56px)}
.theme-a.is-home .site-header{color:var(--ink)}
.ac-hero-deco{position:absolute;right:0;top:0;width:min(640px,60vw);height:auto;color:color-mix(in srgb,var(--primary) 9%,transparent);pointer-events:none;-webkit-mask:linear-gradient(225deg,#000 20%,transparent 75%);mask:linear-gradient(225deg,#000 20%,transparent 75%)}
.ac-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.85fr);gap:56px;align-items:center}
.ac-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:#fff;border:1px solid color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary);font-weight:800;font-size:14px}
.ac-kicker .ac-ico{width:18px;height:18px;color:var(--accent)}
.ac-hero h1{margin:18px 0 0;font-size:clamp(36px,4.6vw,60px);line-height:1.2;letter-spacing:-.035em;color:var(--ink);font-weight:800}
.ac-hero-desc{margin:18px 0 0;font-size:18px;line-height:1.7;color:var(--ink-2,var(--muted))}
.ac-hero-chips{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ac-hero-chips li{padding:8px 14px;border-radius:10px;background:#fff;border:1px solid var(--line);font-weight:700;font-size:14px;color:var(--ink)}
.ac-hero-chips li:first-child{background:var(--accent);border-color:var(--accent);color:#1a1300}
.ac-hero-btns{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:30px}
.ac-hero-tel{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:800;font-size:19px}
.ac-hero-tel .ac-ico{width:44px;height:44px;padding:11px;border-radius:50%;background:var(--ink);color:#fff}
.ac-hero-tel small{display:block;font-size:12px;font-weight:700;color:var(--muted)}
.ac-hero-stats{display:flex;flex-wrap:wrap;gap:12px 34px;margin:34px 0 0;padding-top:24px;border-top:1px solid color-mix(in srgb,var(--ink) 10%,transparent)}
.ac-hero-stats div{margin:0}
.ac-hero-stats dd{margin:0;font-size:28px;font-weight:800;color:var(--ink);letter-spacing:-.02em}
.ac-hero-stats small{font-size:15px;color:var(--accent);margin-left:2px}
.ac-hero-stats dt{font-size:13.5px;color:var(--muted)}
.ac-hero-side{display:flex;flex-direction:column;gap:12px}
.ac-hero-pin{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:16px;background:#fff;border:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:700;font-size:14.5px}
.ac-hero-pin .ac-ico{width:20px;height:20px;color:var(--accent)}
.ac-hero-pin span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ac-hero-pin i{font-style:normal;color:var(--muted)}

/* ---- B 매거진 ---- */
.ac-b-portrait img{aspect-ratio:4/5;object-fit:cover}
.ac-paper-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:start}
.ac-headlines{list-style:none;margin:0;padding:0}
.ac-headlines a{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.ac-headlines em{font-style:normal;font-family:var(--serif);font-size:26px;color:var(--accent);font-weight:700}
.ac-headlines span{font-family:var(--serif);font-size:19px;font-weight:600;line-height:1.45}
.ac-headlines time{font-size:13px;color:var(--muted)}
.ac-headlines a:hover span{text-decoration:underline;text-underline-offset:4px}
.ac-paper-box{padding:24px 26px;border:1px solid var(--ink);background:#fffdf8}
.ac-paper-figs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0 0 6px}
.ac-paper-figs div{margin:0;padding:12px 0;border-bottom:1px solid var(--line)}
.ac-paper-figs dd{margin:0;font-family:var(--serif);font-size:34px;font-weight:700;color:var(--accent)}
.ac-paper-figs small{font-size:15px;margin-left:2px}
.ac-paper-figs dt{font-size:13px;color:var(--muted)}
.ac-paper-list{list-style:none;margin:0;padding:0}
.ac-paper-list li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dotted var(--line);font-size:14.5px}
.ac-paper-list li span{color:var(--muted)}
.ac-paper-list li b{text-align:right}
.ac-b-story .b-story-img img{aspect-ratio:4/5;object-fit:cover}
.ac-b-quote{font-family:var(--serif);font-size:19px;line-height:1.6;color:var(--ink)!important}

/* ---- C 합격 실적 ---- */
.ac-c-hero{position:relative;overflow:hidden;padding:calc(76px + 80px) 0 0;background:radial-gradient(120% 80% at 80% 0%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 60%),#0a101d;color:#fff}
.ac-c-hero .c-kick{display:inline-block;font-size:13px;font-weight:800;letter-spacing:.24em;color:var(--accent)}
.ac-c-hero h1{margin:18px 0 0;font-size:clamp(40px,6vw,84px);line-height:1.12;letter-spacing:-.04em;font-weight:800;color:#fff}
.ac-c-lead{margin:20px 0 0;max-width:640px;font-size:18px;line-height:1.7;color:rgba(255,255,255,.72)}
.ac-c-figs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:52px 0 0;border-top:1px solid rgba(255,255,255,.14)}
.ac-c-figs div{margin:0;padding:28px 24px 30px 0;border-right:1px solid rgba(255,255,255,.1)}
.ac-c-figs div:last-child{border-right:0}
.ac-c-figs div+div{padding-left:24px}
.ac-c-figs dd{margin:0;font-size:clamp(44px,5vw,72px);font-weight:800;letter-spacing:-.04em;line-height:1;color:#fff}
.ac-c-figs small{font-size:22px;color:var(--accent);margin-left:4px}
.ac-c-figs dt{margin-top:10px;font-size:15px;color:rgba(255,255,255,.62)}
@keyframes acUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.ac-c-btns{display:flex;flex-wrap:wrap;gap:10px;margin:36px 0 56px}
.ac-c-btns .btn-line{color:#fff;border-color:rgba(255,255,255,.35)}
.ac-c-roll{margin:0;border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.04)}
.ac-c-roll li{border-color:rgba(255,255,255,.1)}
.ac-c-roll li b{color:#fff}
.ac-c-roll li span{color:rgba(255,255,255,.55)}

/* ---- E 학부모 앱 ---- */
.ac-e-ring{color:var(--accent)}
.ac-e-ring b{font-size:17px}
.ac-e-ring .ac-ico{width:28px;height:28px}
.ac-e-notes{display:flex;flex-direction:column;gap:10px}
.ac-e-note{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:16px;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none}
.ac-e-note.is-pin{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 6%,#fff)}
.ac-e-note-ico{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--bg-soft);color:var(--accent);flex:0 0 auto}
.ac-e-note-ico .ac-ico{width:20px;height:20px}
.ac-e-note b{display:block;font-size:15.5px;line-height:1.4}
.ac-e-note small{display:block;margin-top:4px;color:var(--muted);font-size:13px;line-height:1.5}
.ac-e-feed .e-tile img{object-position:center 20%}
.ac-e-feed .e-badge{width:auto;padding:0 8px;font-size:11px}

/* ---- 테마별 조정 ---- */
.theme-b .ac-sec{--ac-card:#fffdf9}
.theme-b .ac-title,.theme-d .ac-title{font-family:var(--serif);font-weight:700}
.theme-b .ac-course,.theme-b .ac-tabs-box,.theme-b .ac-figs div,.theme-b .ac-review,.theme-b .ac-steps a,.theme-b .ac-steps li>div,.theme-b .ac-equip,.theme-b .ac-bus,.theme-b .ac-tt-scroll{border-radius:4px}
.theme-b .ac-visit-cta{border-radius:4px;background:#1d1b19}
.theme-b .ac-apply{border-radius:4px;box-shadow:none;border:1px solid var(--ink);background:#fffdf9}
.theme-b .ac-apply-band{padding:0 0 40px}
.theme-b .ac-review blockquote{font-family:var(--serif)}
.theme-c .ac-sec{--ac-card:#141d33;--ac-soft:#111a2e}
.theme-c .ac-course:hover{box-shadow:0 16px 40px rgba(0,0,0,.4)}
.theme-c .ac-faq details:first-child{border-top-color:var(--accent)}
.theme-c .ac-visit-cta{background:#141d33;border:1px solid var(--line)}
.theme-c .ac-course .ac-fee,.theme-c .ac-tt td.is-on span{color:var(--accent)}
.theme-c .ac-tt td.is-on span{background:color-mix(in srgb,var(--accent) 14%,transparent)}
.theme-c .ac-tt td.is-today.is-on span{background:var(--accent);color:#0a101d}
.theme-c .ac-step-ico{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}
.theme-c .ac-score{background:var(--accent);color:#0a101d}
.theme-c .ac-tabs-box .ac-tab-r:checked~.ac-tabs label{color:var(--muted)}
.theme-c .ac-tabs-box .ac-tab-r:nth-of-type(1):checked~.ac-tabs label:nth-of-type(1),.theme-c .ac-tabs-box .ac-tab-r:nth-of-type(2):checked~.ac-tabs label:nth-of-type(2),
.theme-c .ac-tabs-box .ac-tab-r:nth-of-type(3):checked~.ac-tabs label:nth-of-type(3),.theme-c .ac-tabs-box .ac-tab-r:nth-of-type(4):checked~.ac-tabs label:nth-of-type(4){background:var(--accent);color:#0a101d}
.theme-c .ac-apply-band{margin-top:-1px;padding:40px 0;background:#0a101d}
.theme-c .ac-teacher-img em{background:var(--accent)}
.theme-d .ac-sec.d-sec{padding:84px 48px}
.theme-d .ac-apply-band{padding:28px 48px 0}
.theme-d .ac-apply.is-band,.theme-e .ac-apply.is-band{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "fields" "btn" "foot";box-shadow:none;border:1px solid var(--line)}
.theme-d .ac-apply.is-band{border-radius:6px}
.theme-d .ac-apply.is-band .ac-apply-btn,.theme-e .ac-apply.is-band .ac-apply-btn{height:52px}
.theme-d .ac-figs,.theme-e .ac-figs{grid-template-columns:repeat(2,minmax(0,1fr))}
.theme-d .ac-panel,.theme-d .ac-steps,.theme-d .ac-reviews{grid-template-columns:repeat(2,minmax(0,1fr))}
.theme-d .ac-faq-grid,.theme-e .ac-faq-grid{grid-template-columns:minmax(0,1fr);gap:22px}
.theme-d .ac-faq-grid .ac-head,.theme-e .ac-faq-grid .ac-head{position:static}
.theme-d .ac-visit,.theme-e .ac-visit{grid-template-columns:minmax(0,1fr)}
.theme-d .ac-visit-cta{border-radius:6px;background:var(--d-panel,#18213d)}
.theme-d .ac-course,.theme-d .ac-tabs-box,.theme-d .ac-figs div,.theme-d .ac-review,.theme-d .ac-bus,.theme-d .ac-tt-scroll{border-radius:6px}
.theme-d .ac-roll{margin-top:24px;border:1px solid var(--line);border-radius:6px}
.theme-e .ac-sec{padding:52px 0}
.theme-e .ac-apply-band{padding:16px 0 8px}
.theme-e .ac-apply.is-band{border-radius:18px}
.theme-e .ac-title{font-size:22px}
.theme-e .ac-panel,.theme-e .ac-reviews{grid-template-columns:repeat(2,minmax(0,1fr))}
.theme-e .ac-figs dd{font-size:34px}
.theme-e .ac-roll{border-radius:14px;border:1px solid var(--line)}

/* ---- 화면 폭 ---- */
@media (max-width:1100px){
  .ac-hero-grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .ac-hero-side{max-width:560px}
  .ac-apply.is-band{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"head head" "fields fields" "btn btn" "foot foot"}
  .ac-figs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ac-panel,.ac-steps,.ac-reviews{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ac-teachers{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ac-faq-grid{grid-template-columns:minmax(0,1fr);gap:20px}
  .ac-faq-grid .ac-head{position:static}
  .ac-visit{grid-template-columns:minmax(0,1fr)}
  .ac-paper-grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .ac-c-figs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ac-c-figs div:nth-child(2){border-right:0}
  .ac-c-figs div:nth-child(3){padding-left:0}
  .ac-c-figs div:nth-child(n+3){border-top:1px solid rgba(255,255,255,.1)}
  .ac-teachers.is-row{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:900px){
  .theme-d .ac-sec.d-sec{padding:64px 22px}
  .theme-d .ac-apply-band{padding:22px 22px 0}
}
@media (max-width:640px){
  .ac-sec,.theme-e .ac-sec{padding:60px 0}
  .ac-head{margin-bottom:24px}
  .ac-hero{padding:40px 0 56px}
  .is-home .ac-hero{padding-top:calc(var(--header-h) + 24px)}
  .ac-hero-desc{font-size:16px}
  .ac-hero-stats{gap:10px 22px}
  .ac-hero-stats dd{font-size:23px}
  .ac-apply{padding:20px;border-radius:20px;gap:16px}
  .ac-apply-band{padding:24px 0}
  .ac-apply.is-band,.ac-apply.is-band .ac-apply-fields{grid-template-columns:minmax(0,1fr)}
  .ac-apply.is-band{grid-template-areas:"head" "fields" "btn" "foot"}
  .ac-apply-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .ac-figs,.theme-d .ac-figs,.theme-e .ac-figs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .ac-figs div{padding:18px 16px;border-radius:16px}
  .ac-figs dd{font-size:32px}
  .ac-figs small{font-size:15px}
  .ac-roll li{padding:14px 18px;font-size:14px}
  .ac-panel,.theme-d .ac-panel,.theme-e .ac-panel{grid-template-columns:minmax(0,1fr);padding:12px 4px 6px}
  .ac-tabs label{padding:10px 14px;font-size:14.5px}
  .ac-tt{min-width:560px}
  .ac-tt th,.ac-tt td{padding:12px 6px}
  .ac-tt tbody th{padding-left:14px}
  .ac-teachers{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .ac-teacher-txt b{font-size:17px}
  .ac-teachers.is-row .ac-teacher{grid-template-columns:76px minmax(0,1fr);gap:14px}
  .ac-steps,.theme-d .ac-steps{grid-template-columns:minmax(0,1fr);gap:10px}
  .ac-steps a,.ac-steps li>div{padding:20px 18px;display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;row-gap:2px}
  .ac-step-ico{grid-row:span 3;width:44px;height:44px;margin:0;border-radius:13px}
  .ac-reviews,.theme-d .ac-reviews,.theme-e .ac-reviews{grid-template-columns:minmax(0,1fr);gap:12px}
  .ac-review{padding:24px 20px 20px}
  .ac-faq summary{font-size:16px;padding:18px 2px}
  .ac-faq-a{padding-left:28px}
  .ac-visit-cta{padding:30px 22px;border-radius:20px}
  .ac-bus{padding:22px;border-radius:20px}
  .ac-headlines a{grid-template-columns:34px minmax(0,1fr);row-gap:2px}
  .ac-headlines time{grid-column:2}
  .ac-headlines span{font-size:17px}
  .ac-c-hero{padding-top:calc(64px + 48px)}
  .ac-c-lead{font-size:16px}
  .ac-c-figs div,.ac-c-figs div+div{padding:20px 12px 22px 0}
  .ac-c-figs div:nth-child(even){padding-left:14px}
  .ac-c-figs dt{font-size:13.5px}
  .ac-c-btns{margin:28px 0 40px}
}

/* ---- 보정 ---- */
.ac-c-btns .btn-line{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4)}
.ac-c-btns .btn-line:hover{border-color:#fff;color:#fff}
.theme-b .b-steps{list-style:none;padding-left:0}
.ac-tt{min-width:720px}
.ac-tt td.is-on span{white-space:nowrap;font-size:12.5px;padding:6px 7px}
.ac-teacher-detail .gallery-main img{max-height:680px;object-fit:contain;background:var(--bg-soft)}
.ac-teacher-list{margin-top:8px}
@media (max-width:640px){.ac-tt{min-width:640px}}
/* 메뉴 8개(메뉴 이름이 길다): 좁은 데스크톱에서 줄바꿈 방지 */
.gnb>ul>li>a{white-space:nowrap}
@media (max-width:1360px){.gnb>ul{gap:0}.gnb>ul>li>a{padding:0 10px;font-size:15px}.gnb>ul>li>a::after{left:10px;right:10px}}

/* ===== 병원 추가: 장비·시설 카드, 주차·교통 칩 ===== */
.ac-equips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.ac-equip{display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:var(--ac-card);border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:border-color .2s,transform .2s}
.ac-equip:hover{border-color:var(--accent);transform:translateY(-2px)}
.ac-equip-img{display:block;aspect-ratio:4/3;background:color-mix(in srgb,var(--primary) 8%,#eef2f6);overflow:hidden}
.ac-equip-img img{width:100%;height:100%;object-fit:cover;display:block}
.ac-equip-txt{display:flex;flex-direction:column;gap:6px;padding:18px 20px 22px}
.ac-equip-txt b{font-size:17px}
.ac-equip-txt small{color:var(--muted);font-size:14px;line-height:1.6}
.ac-route.is-info ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ac-route.is-info li{font-size:14px;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--ink)}
.consent-sens{margin-top:16px}
.theme-d .ac-equips,.theme-e .ac-equips{grid-template-columns:repeat(2,minmax(0,1fr))}
.theme-b .ac-equip{border-radius:4px}
.theme-d .ac-equip{border-radius:6px}
@media (max-width:1100px){.ac-equips{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.ac-equips,.theme-d .ac-equips,.theme-e .ac-equips{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ac-equip-txt{padding:14px 14px 16px}.ac-equip-txt b{font-size:15px}.ac-equip-txt small{font-size:13px}}
