/* 지점 사이트 공용 하위 화면 꼴 (body.st-look-branch — 초중등부 · 영재원 공통, layout.php) — root.css 다음, 그룹 CSS(middle.css · gift.css) 앞에 읽는다
 *  공지 · 개설강좌 · 특강 · 설명회 · FAQ · 차량 · 오시는 길 · 지점안내 · 교습비 · 월간 계획 · 교육성과 · 정책 · 신청 화면의 카드 · 단추 · 입력 칸 · 표 · 게시판 · 대화상자
 *  색은 그룹 CSS 가 정하는 변수로: --b-accent(주 동작) · --b-accent-d · --b-line · --b-soft(연한 강조 바탕) · --b-ok · --b-pill · --b-pill-fg · --b-crumb · --b-ring · --b-ring2 · --b-shadow · --b-bg(본문 바탕) · --b-sub-bg(첫 줄 바탕)
 *  (처음 값은 초중등부와 같은 파랑 — 그룹 CSS 가 덮는다). 마크업 · 동작 · 보안 칸은 공용 그대로 */
/* 지점 메인 첫 화면 제목(초중등부 · 영재원 · 고등부 공통 구조) — 지점 이름은 배지(알약), 그 아래 문장이 큰 제목. h1 하나 안에 둘 다 (배지 색 · 글자 색은 그룹 CSS) */
.st-hero-h{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin:0}
.st-hero-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 18px 8px 14px;border-radius:999px;font-family:var(--f-wanted);font-weight:700;font-size:clamp(16px,1.5vw,19px);line-height:1.2;letter-spacing:-.01em;white-space:nowrap}
.st-hero-badge::before{content:"";width:9px;height:9px;border-radius:50%}
.st-hero-line{display:block;font-family:var(--f-wanted);font-weight:700;font-size:clamp(28px,3.6vw,48px);line-height:1.28;letter-spacing:-.025em;word-break:keep-all}
/* 그룹마다 고정 슬로건 두 줄(고등부 꼴): 첫 줄 크게(강조 = em, 그룹 색), 둘째 줄 작게(셜대학원 ○○ = b) — 줄은 쉼표 · 두 줄로만 나뉜다 */
.st-hero-line>span{display:block}
.st-hero-line>span+span{margin-top:8px;font-size:.58em;font-weight:600;letter-spacing:-.01em}
.st-hero-line em{font-style:normal;white-space:nowrap}
/* 지점 부서 문구(SiteHome::DEPTS) — 슬로건 아래 보통 크기 안내문, 사진 밑으로 길게 가지 않게 폭 제한 */
.st-hero-desc{max-width:32em;margin:18px 0 0;font-size:clamp(16px,1.35vw,18px);line-height:1.7;word-break:keep-all}
@media (max-width:599px){.st-hero-h{gap:16px}.st-hero-line{font-size:clamp(25px,7vw,30px)}}

/* 머리 · 꼬리 공통 — 지점 메뉴 알약 간격, 꼬리 지점 정보의 전화 링크 (색 띠는 그룹 CSS) */
.st-header-branch .st-nav li{padding-left:.1rem}
.st-header-branch .st-nav a{padding:.45rem .8rem}
.st-header-branch .st-r-subbar{border-top-color:rgba(0,0,0,.05)}
.st-rfoot-info a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.3)}

.st-look-branch{--b-accent:#0064b2;--b-accent-d:#00528f;--b-line:#e6edf3;--b-soft:#e8f1fa;--b-ok:#e5f4ea;--b-pill:#f0f8e6;--b-pill-fg:#3d6e12;--b-crumb:#007a36;
  --b-ring:rgba(0,100,178,.14);--b-ring2:rgba(0,100,178,.3);--b-shadow:rgba(0,100,178,.22);--b-bg:#f6f9fb;--b-sub-bg:#f6f9fb}

/* ════════ 4 하위 화면 (공지 · 개설강좌 · 특강 · 설명회 · FAQ · 차량 · 오시는 길 · 지점안내 · 교습비 · 월간 계획 · 교육성과 · 정책 · 신청 화면) ════════
 *  지점 메인과 같은 말투: 낮은 밝은 첫 줄(.st-b-subhero — 위치 · 제목 · 설명), 연한 바탕 위 흰 둥근 카드(옅은 선 · 그림자), 알약 단추(파랑 / 보조 테두리),
 *  입력 칸은 로그인 화면과 같은 꼴(50px · 12px 모서리 · 파란 포커스 링), 옅은 선 표(둥근 감싸개 안에서 가로로 밀기), 알약 쪽 번호.
 *  마크업 · 동작(필터 · 검색 · 쪽 넘기기 · 신청 흐름 · 보안 칸)은 공용 그대로 — 여기 규칙은 모두 .st-look-branch 아래라 영재원 · 메인 하위 화면은 바뀌지 않는다 */
.st-b-subhero{position:relative;overflow:hidden;padding:26px 0 28px;background:var(--b-sub-bg)}
.st-b-subhero .st-wrap{position:relative}
.st-b-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px;font-size:14px;color:var(--r-sub)}
.st-b-crumb a{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:0 12px 0 10px;border-radius:999px;background:#fff;color:var(--r-ink);font-family:var(--f-wanted);font-weight:600;box-shadow:0 1px 2px rgba(14,26,36,.08)}
.st-b-crumb a:hover{color:var(--b-accent)}
.st-b-crumb a .icon{color:var(--b-accent)}
.st-b-crumb b{font-family:var(--f-wanted);font-weight:700;color:var(--b-crumb)}
.st-b-subhero h1{margin:0;font-family:var(--f-wanted);font-weight:700;font-size:clamp(28px,4vw,40px);line-height:1.2;letter-spacing:-.01em;color:var(--r-ink);word-break:keep-all}
.st-b-subhero p{margin:8px 0 0;max-width:46em;font-size:clamp(15px,1.5vw,17px);line-height:1.6;color:#3c4752;word-break:keep-all}
@media (min-width:1024px){.st-b-subhero{padding:36px 0 38px}}
.st-look-branch .st-main:not(.st-main-flush){padding:28px 0 72px;background:var(--b-bg)}

/* 카드 · 목록 줄 · 제목 */
.st-look-branch .st-main .st-card{border:1px solid var(--b-line);border-radius:22px;box-shadow:0 1px 2px rgba(14,26,36,.04)}
.st-look-branch .st-main .st-card-p4{padding:22px 24px 6px}
.st-look-branch .st-main .st-tile-title{font-family:var(--f-wanted);font-weight:700;font-size:20px;color:var(--r-ink)}
.st-look-branch .st-main .st-lg>li{border-bottom-color:#eef2f6}
.st-look-branch .st-main .st-line-top{border-top-color:#e6edf3}
.st-look-branch .st-main .st-h4,.st-look-branch .st-main .st-h5{position:relative;margin:34px 0 12px;padding-left:14px;font-family:var(--f-wanted);font-weight:700;font-size:17px;line-height:1.45;color:var(--r-ink);word-break:keep-all}
.st-look-branch .st-main .st-h4::before,.st-look-branch .st-main .st-h5::before{content:"";position:absolute;left:0;top:.3em;width:4px;height:1em;border-radius:2px;background:var(--b-accent)}
.st-look-branch .st-main .st-plain{display:inline-block;margin:0 0 12px;padding:4px 12px;border-radius:999px;background:#fff;border:1px solid var(--b-line);font-size:13.5px;color:var(--r-sub)}

/* 단추 — 알약. 주 동작 = 브랜드 파랑(검정 · 파랑 · 회색 단추를 하나로), 보조 = 흰 바탕 + 테두리 */
.st-look-branch .st-main .st-btn,.st-look-branch .st-dialog .st-btn{min-height:40px;padding:0 16px;border-radius:999px;font-family:var(--f-wanted);font-weight:600;font-size:15px;line-height:1.2}
.st-look-branch .st-main .st-btn-sm{min-height:36px;padding:0 14px;font-size:14px}
.st-look-branch .st-main .st-btn-xs{min-height:32px;padding:0 12px;font-size:13px}
.st-look-branch .st-main :is(.st-btn-black,.st-btn-primary,.st-btn-blue,.st-btn-secondary){background:var(--b-accent);border-color:var(--b-accent);color:#fff}
.st-look-branch .st-main :is(a.st-btn-black,button.st-btn-black,.st-btn-primary,a.st-btn-blue,a.st-btn-secondary):hover{background:var(--b-accent-d);border-color:var(--b-accent-d);color:#fff}
.st-look-branch .st-main :is(.st-btn-white,.st-btn-outline){background:#fff;border:1px solid #d5dfe8;color:var(--r-ink)}
.st-look-branch .st-main :is(.st-btn-white,.st-btn-outline):hover{background:#fff;border-color:var(--b-accent);color:var(--b-accent)}
.st-look-branch .st-main .st-btn-pill-dark{min-height:40px;padding:0 16px;border:1.5px solid var(--r-ink);color:var(--r-ink);font-weight:700;font-size:14px}
.st-look-branch .st-main .st-btn-pill-dark:hover{background:var(--r-ink);color:#fff}
.st-look-branch :is(.st-main,.st-dialog) .st-btn-block{min-height:54px;border-radius:999px;background:var(--b-accent);border-color:var(--b-accent);font-size:17px;font-weight:700;box-shadow:0 8px 20px var(--b-shadow)}
.st-look-branch :is(.st-main,.st-dialog) .st-btn-block:hover{background:var(--b-accent-d)}
.st-look-branch .st-main .st-btn:focus-visible,.st-look-branch .st-dialog .st-btn:focus-visible{box-shadow:0 0 0 4px var(--b-ring2)}
.st-look-branch .st-main .st-badge{border-radius:999px;background:var(--b-soft);color:var(--b-accent);font-weight:700}
.st-look-branch .st-main .st-pill{background:var(--b-pill);color:var(--b-pill-fg);font-weight:700}

/* 입력 칸 · 고르기 · 체크 — 로그인 화면 꼴 (50px, 12px 모서리, 옅은 선, 파란 포커스 링) */
.st-look-branch :is(.st-main,.st-dialog) :is(.st-input,.st-select,.st-field input,.st-field select,.st-field textarea){min-height:50px;padding:0 16px;border:1px solid #dfe5eb;border-radius:12px;background-color:#fff;font:inherit;font-size:15px;color:var(--r-ink);transition:border-color .15s,box-shadow .15s}
.st-look-branch :is(.st-main,.st-dialog) .st-field textarea{padding:12px 16px;min-height:110px}
.st-look-branch :is(.st-main,.st-dialog) :is(.st-select,.st-field select){padding-right:40px;appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2355606b' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-repeat:no-repeat;background-position:right 14px center;background-size:14px 12px}
/* 입력 검증 표시 — 제출을 눌러 비어 있거나 틀린 칸(:user-invalid)은 빨간 테두리, 오류 문구는 빨간 상자 */
.st-look-branch :is(.st-main,.st-dialog) :is(.st-field input,.st-field select,.st-field textarea,.st-input):user-invalid,
.st-look-branch .st-apply .pb-input:user-invalid{border-color:#d92d20;box-shadow:0 0 0 4px rgba(217,45,32,.12)}
.st-look-branch .st-form-msg.err{padding:12px 14px;border-radius:12px;background:#fdf1f1;font-size:14px}
.st-look-branch .st-form-msg.ok{padding:12px 14px;border-radius:12px;background:var(--b-ok);color:#14532d}
.st-look-branch .st-main .st-float select{height:58px;padding:24px 40px 8px 16px;border:1px solid #dfe5eb;border-radius:12px;font-size:15px;background-position:right 14px center;transition:border-color .15s,box-shadow .15s}
.st-look-branch .st-main .st-float span{padding:12px 16px;color:var(--r-sub);transform:scale(.82) translateY(-.2rem)}
.st-look-branch :is(.st-main,.st-dialog) :is(.st-input,.st-select,.st-float select,.st-field input,.st-field select,.st-field textarea):focus{outline:0;border-color:var(--b-accent);box-shadow:0 0 0 4px var(--b-ring)}
.st-look-branch :is(.st-main,.st-dialog) :is(input[type=checkbox],input[type=radio]){accent-color:var(--b-accent)}
.st-look-branch .st-stickybar{background:rgba(246,249,251,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:10px 0 12px}

/* 빈 상태 · 안내 상자 · 오류 */
.st-look-branch .st-main :is(.st-empty,.st-none){margin:10px 0;padding:44px 20px;border:1.5px dashed #cfd9e3;border-radius:22px;background:#fff;text-align:center;color:var(--r-sub);font-size:15px;font-weight:400}
.st-look-branch .st-main .st-msg{border-radius:16px;background:var(--b-soft);color:#1f3b57;text-align:left}
.st-look-branch .st-main .st-msg-err,.st-look-branch .st-form-msg.err{color:#b42318}
.st-look-branch .st-main .st-note{border-radius:14px;background:var(--b-bg)}

/* 쪽 번호 — 알약 */
.st-look-branch .st-main .st-pager{gap:4px;margin:24px 0 0}
.st-look-branch .st-main .st-pager :is(a,span){display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;margin:0;padding:0 10px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--r-ink);font-family:var(--f-wanted);font-weight:600;font-variant-numeric:tabular-nums}
.st-look-branch .st-main .st-pager a:hover{background:#fff;border-color:#d5dfe8;color:var(--b-accent)}
.st-look-branch .st-main .st-pager .on{background:var(--b-accent);border-color:var(--b-accent);color:#fff}

/* 옅은 선 표 — 둥근 감싸개 안에서만 가로로 민다, 머리 칸 굵게 + 연한 바탕 (교습비 · 차량 노선표 · 업로드 표) */
.st-look-branch .st-main .st-scroll{border:1px solid #e6eaef;border-radius:16px;background:#fff}
.st-look-branch .st-main .st-tline{border:0;border-collapse:collapse;font-size:14px;line-height:1.45}
.st-look-branch .st-main .st-tline :is(th,td){padding:10px 12px;border:1px solid #e6eaef;color:#333d47}
.st-look-branch .st-main .st-tline th{background:#f3f6f9;color:var(--r-ink);font-weight:700}
.st-look-branch .st-main .st-tline tr:first-child>*{border-top:0}
.st-look-branch .st-main .st-tline tr>:first-child{border-left:0}
.st-look-branch .st-main .st-tline tr>:last-child{border-right:0}
.st-look-branch .st-main .st-tline tbody tr:last-child>*{border-bottom:0}
.st-look-branch .st-main .st-tline tbody tr:hover>td{background:#fafcfe}

/* 공지사항 — 고등부 게시판(_modules/high/pages/board.php · high/style.css)과 같은 꼴(사용자 요청): 위 검색 줄, 굵은 윗줄 목록(공지 · 분류 알약 · 제목 · 날짜 오른쪽),
 *  글 보기 카드(분류 알약 · 제목 · 날짜 · 조회 · 본문 · 첨부파일 상자) → 이전 · 다음 · [목록] → '공지사항 목록'. 색은 그룹 변수(--b-accent …) */
.st-look-branch .st-board-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 14px}
.st-nb-search{display:flex;align-items:center;gap:8px;margin:0 0 0 auto}
.st-look-branch .st-nb-search .st-input{flex:0 1 320px;width:320px}
.st-look-branch .st-nb-search .st-btn{min-height:50px;padding:0 20px}
@media (max-width:599px){.st-nb-search{margin:0;width:100%}.st-look-branch .st-nb-search .st-input{flex:1 1 auto;width:auto;min-width:0}}
.st-nb-list{list-style:none;margin:0 0 6px;padding:0;border-top:2px solid var(--r-ink);background:#fff;border-radius:0 0 18px 18px;overflow:hidden}
.st-nb-list li{border-bottom:1px solid var(--b-line)}
.st-nb-list a{display:flex;align-items:center;gap:12px;min-height:58px;padding:14px 14px;color:var(--r-ink);transition:background-color .15s}
.st-nb-list a:hover{background:#f8fafc}
.st-nb-list a:hover .st-nb-subj{color:var(--b-accent)}
.st-nb-list .is-pinned a{background:var(--b-soft)}
.st-nb-list .is-pinned .st-nb-subj{font-weight:700}
.st-nb-list .is-current a{box-shadow:inset 3px 0 0 var(--b-accent)}
.st-nb-list .is-current .st-nb-subj{color:var(--b-accent);font-weight:700}
.st-nb-badges{flex:none;display:inline-flex;gap:4px}
.st-nb-pill{display:inline-block;padding:2px 10px;border-radius:999px;background:#f1f4f7;color:#55606b;font-size:12px;font-weight:700;line-height:1.6;white-space:nowrap}
.st-nb-pill.is-pin{background:var(--b-accent);color:#fff}
.st-nb-subj{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15.5px}
.st-nb-date{flex:none;font-size:13.5px;color:#8a96a3;font-variant-numeric:tabular-nums}
@media (max-width:599px){.st-nb-list a{flex-wrap:wrap;gap:4px 8px;padding:12px}.st-nb-subj{flex-basis:100%;order:2;white-space:normal}.st-nb-badges{order:1}.st-nb-date{order:3;font-size:12.5px}}
.st-nb-view{margin:0 0 20px;padding:28px 32px 26px;background:#fff;border:1px solid var(--b-line);border-radius:24px;box-shadow:0 1px 2px rgba(14,26,36,.04)}
.st-nb-head{padding:0 0 16px;border-bottom:1px solid var(--b-line)}
.st-nb-head .st-nb-pill{margin-bottom:10px}
.st-nb-head h2{margin:0;font-family:var(--f-wanted);font-weight:700;font-size:clamp(20px,2.4vw,26px);line-height:1.35;color:var(--r-ink);word-break:keep-all}
.st-nb-meta{display:flex;gap:6px 14px;margin:10px 0 0;font-size:14px;color:var(--r-sub)}
.st-nb-meta span+span::before{content:"·";margin-right:14px;color:#c3cbd3}
.st-nb-body{padding-top:24px;font-size:16px;line-height:1.8;word-break:keep-all;overflow-wrap:anywhere}
.st-nb-files{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:22px 0 0;padding:14px 16px;border-radius:14px;background:var(--b-bg)}
.st-nb-files-k{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--r-ink)}
.st-nb-files a{color:var(--b-accent);text-decoration:underline;text-underline-offset:3px;word-break:break-all}
.st-nb-below{margin:34px 0 12px;font-family:var(--f-wanted);font-weight:700;font-size:19px;color:var(--r-ink)}
@media (max-width:599px){.st-nb-view{padding:20px 18px 22px;border-radius:20px}}
.st-view-nav{display:grid;margin:28px 0 0;border:1px solid #eef2f6;border-radius:16px;overflow:hidden}
.st-view-nav>*{display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:54px;padding:8px 16px;color:var(--r-ink)}
.st-view-nav>*+*{border-top:1px solid #eef2f6}
.st-view-nav a:hover{background:#f8fbfd}
.st-view-nav a:hover .st-view-nav-t{color:var(--b-accent)}
.st-view-nav-k{display:inline-flex;align-items:center;gap:4px;font-family:var(--f-wanted);font-weight:700;font-size:14px;color:var(--r-sub)}
.st-view-nav-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}
.st-view-nav-d{font-size:13px;color:#8a96a3;font-variant-numeric:tabular-nums}
.st-view-nav .is-none .st-view-nav-t{color:#8a96a3}
.st-view-list{display:flex;justify-content:center;margin:20px 0 0}
@media (max-width:599px){.st-look-branch .st-view{padding:20px 18px 22px;border-radius:20px}.st-view-nav>*{grid-template-columns:76px minmax(0,1fr)}.st-view-nav-d{display:none}}

/* 개설강좌 — 떠 있는 이름표 고르기 줄, 진도반 카드 2열(학년 · 반형태 알약 · 상담신청 단추 + 이름표 줄) */
.st-look-branch .st-filter{gap:8px;margin:0}
.st-look-branch .st-filebtns{padding:0;margin:4px 0 14px}
.st-look-branch .st-filebtn{border-radius:999px;background:#fff;border-color:#d5dfe8}
.st-look-branch .st-lectures{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);margin-top:6px}
@media (min-width:1024px){.st-look-branch .st-lectures{grid-template-columns:repeat(2,minmax(0,1fr))}}
.st-look-branch .st-main .st-lecture{flex:none;max-width:none;margin:0;padding:22px 24px 8px;border-radius:24px}
.st-look-branch .st-lecture-head{align-items:center;margin-bottom:6px}
.st-look-branch .st-lecture-grade{display:inline-flex;align-items:center;gap:8px;margin:0;font-family:var(--f-wanted);font-weight:700;font-size:22px;color:var(--r-ink)}
.st-look-branch .st-lecture .st-badge-pill{padding:4px 10px;font-size:13px}
.st-look-branch .st-main .st-lecture .st-btn-pill-dark{background:var(--b-accent);border-color:var(--b-accent);color:#fff;box-shadow:0 6px 14px var(--b-shadow)}
.st-look-branch .st-main .st-lecture .st-btn-pill-dark:hover{background:var(--b-accent-d);border-color:var(--b-accent-d)}
.st-look-branch .st-view-head .st-badge{padding:4px 10px;font-size:13px;vertical-align:.2em}
.st-look-branch .st-lg-kv>li{gap:16px;padding:12px 0;font-size:15px}
.st-look-branch .st-k{display:inline-flex;align-items:center;gap:6px;min-width:96px;color:var(--r-sub);font-weight:600}
.st-look-branch .st-k .icon{color:var(--b-accent)}
.st-look-branch .st-branch-btns{gap:6px}

/* 대화상자(개설강좌 신청서) — 레이어 팝업과 같은 꼴: 흰 카드 · 큰 모서리 · 흐린 바탕, 모바일은 아래에서 올라오는 판 */
.st-look-branch .st-dialog{width:min(580px,calc(100vw - 32px));max-height:min(88vh,900px);border:0;border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.st-look-branch .st-dialog::backdrop{background:rgba(8,18,28,.48);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.st-look-branch .st-dialog-head{padding:16px 16px 14px 24px;border-bottom:1px solid #edf1f5}
.st-look-branch .st-dialog-head strong{font-family:var(--f-wanted);font-weight:700;font-size:18px;line-height:1.35;color:var(--r-ink);word-break:keep-all}
.st-look-branch .st-dialog .st-x{flex:none;width:40px;height:40px;border-radius:50%;background:#f2f5f8;color:var(--r-ink);opacity:1;font-size:22px}
.st-look-branch .st-dialog .st-x:hover{background:#e3ebf3}
.st-look-branch .st-dialog-body{padding:20px 24px 26px}
.st-look-branch .st-apply-info{border-bottom-color:#eef2f6}
.st-look-branch .st-apply-class{font-family:var(--f-wanted);font-size:18px}
@media (max-width:599px){.st-look-branch .st-dialog{width:100%;max-width:100%;max-height:92vh;max-height:92dvh;margin:auto 0 0;border-radius:22px 22px 0 0}.st-look-branch .st-dialog-body{padding:16px 18px 24px}}
/* 신청 양식 — 칸 묶음 카드, 필수 표시(칸 이름 옆 .f-req — 마크업에서), 개인정보 동의 펼침, 큰 제출 단추 (보안 칸 · 검증 · 보내기는 공용 그대로) */
.st-look-branch .st-form{gap:14px}
.st-look-branch .st-row{gap:10px}
.st-look-branch .st-field{position:relative;gap:6px;font-size:14px;font-weight:700;color:var(--r-ink)}
.st-look-branch .st-choice{padding:12px 16px 16px;border:1px solid var(--b-line);border-radius:16px;background:var(--b-bg)}
.st-look-branch .st-choice legend{padding:0 6px;font-family:var(--f-wanted);font-size:14.5px}
.st-look-branch .st-check{min-height:32px;font-size:15px}
.st-look-branch .st-check input{width:20px;height:20px}
.st-look-branch .st-agree{gap:8px;padding:14px 16px;border:1px solid var(--b-line);border-radius:16px;background:#fff}
.st-look-branch .st-check-all{border-bottom-color:#eef2f6;padding-bottom:10px}
.st-look-branch .st-agree details{margin-left:28px;font-size:13px;line-height:1.65}
.st-look-branch .st-agree summary{display:inline-flex;align-items:center;gap:4px;color:var(--b-accent);font-weight:600}
.st-look-branch .st-agree details[open]>p{margin:8px 0 4px;padding:10px 12px;border-radius:12px;background:var(--b-bg)}

/* FAQ — 분류 알약 줄, 펼침 목록 = 카드마다 Q 표시 · 펼치면 연한 바탕 답 */
.st-look-branch .st-catbtns{gap:6px}
.st-look-branch .st-catbtns .st-btn-sm{max-width:none;min-height:40px;padding:0 16px;font-size:14.5px}
.st-look-branch .st-faq{display:grid;gap:10px;margin-top:8px;border:0}
.st-look-branch .st-faq details{background:#fff;border:1px solid var(--b-line);border-radius:18px;overflow:hidden}
.st-look-branch .st-faq details:last-child{border-bottom:1px solid var(--b-line)}
.st-look-branch .st-faq summary{min-height:58px;padding:17px 56px 17px 58px;font-family:var(--f-wanted);font-weight:600;font-size:16px;line-height:1.45;color:var(--r-ink);word-break:keep-all}
.st-look-branch .st-faq summary::before{content:"Q";position:absolute;left:18px;top:16px;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:var(--b-soft);color:var(--b-accent);font-weight:700;font-size:14px}
.st-look-branch .st-faq summary::after{right:20px}
.st-look-branch .st-faq summary:hover{color:var(--b-accent)}
.st-look-branch .st-faq details[open] summary{background:#fff;color:var(--b-accent);box-shadow:none}
.st-look-branch .st-faq details[open] summary::before{background:var(--b-accent);color:#fff}
.st-look-branch .st-faq-a{padding:18px 24px 22px 58px;border-top:1px solid #eef2f6;background:var(--b-bg);line-height:1.8;text-align:left;word-break:keep-all}

/* 찾아오시는 길 — 데스크톱은 왼쪽 주소 · 전화 · 주차 카드, 오른쪽 약도 */
.st-look-branch.st-page-map .st-main .st-card{display:grid;gap:0 32px;padding:24px;border-radius:24px}
.st-look-branch.st-page-map .st-tile-title{margin:0 0 8px}
.st-look-branch.st-page-map .st-lg>li{font-size:15.5px;line-height:1.6}
.st-look-branch.st-page-map .st-lg a[href^="tel:"]{font-family:var(--f-wanted);font-weight:700;font-size:18px;color:var(--r-ink)}
.st-look-branch .st-map{margin:16px 0 0;border:1px solid var(--b-line);border-radius:18px}
@media (min-width:1024px){
  .st-look-branch.st-page-map .st-main .st-card{grid-template-columns:minmax(300px,380px) minmax(0,1fr);align-items:start}
  .st-look-branch.st-page-map .st-card>:not(.st-map){grid-column:1}
  .st-look-branch.st-page-map .st-map{grid-column:2;grid-row:1/span 3;margin:0}
  .st-look-branch.st-page-map .st-lg-row{flex-wrap:wrap}
  .st-look-branch.st-page-map .st-lg-row>:last-child:not(:first-child){margin-left:0}
}

/* 차량안내 — 검색 알약 줄, 안내 카드, 호차마다 카드 + 노선표 */
.st-look-branch .st-shuttle-search{gap:8px;align-items:center}                     /* 바깥 상자 없음 — 입력 칸 · 단추를 따로 */
.st-look-branch .st-shuttle-search .st-input{flex:1 1 auto;width:auto;min-height:46px;padding:0 16px;border:1px solid #dfe5eb;border-radius:12px;background:#fff;font-size:15px;transition:border-color .15s,box-shadow .15s}
.st-look-branch .st-shuttle-search .st-input:focus{outline:0;border-color:var(--b-accent);box-shadow:0 0 0 4px var(--b-ring)}
.st-look-branch .st-shuttle-search .st-btn{flex:0 0 auto;min-height:46px;padding:0 18px;border-radius:999px}
@media (max-width:599px){.st-look-branch .st-shuttle-search .st-input{min-width:0;padding:0 12px}.st-look-branch .st-shuttle-search .st-btn{padding:0 12px}}
.st-look-branch.st-page-shuttle .st-main .st-wrap>.st-lg{margin:12px 0 0;padding:4px 22px;background:#fff;border:1px solid var(--b-line);border-radius:20px;font-size:15px;line-height:1.6}
.st-look-branch .st-bus{margin-top:18px;padding:20px 22px 22px;background:#fff;border:1px solid var(--b-line);border-radius:24px;box-shadow:0 1px 2px rgba(14,26,36,.04)}
.st-look-branch .st-bus h2{padding:0 0 10px;font-family:var(--f-wanted);font-weight:600;font-size:19px;color:var(--r-ink)}
.st-look-branch .st-bus h2 b{color:var(--b-accent)}
.st-look-branch .st-bus .st-lg{margin-bottom:12px;font-size:15px}
.st-look-branch .st-hit{background:#fff6d6}
.st-look-branch .st-hit-cur{background:#ffe08a!important}

/* 지점안내 — 부서 알약, 지점 카드(둥근 사진 · 이름 · 정보 줄) */
.st-look-branch .st-branches{gap:16px}
.st-look-branch .st-main .st-branch{margin:0;border-radius:24px;overflow:hidden}
.st-look-branch .st-branch-photo img{border-radius:18px}
.st-look-branch .st-branch-body h2{font-family:var(--f-wanted);font-weight:700;font-size:22px}
.st-look-branch .st-branch-home{background:var(--b-soft);color:var(--b-accent)}
.st-look-branch .st-branch-info>li{font-size:15.5px}
.st-look-branch .st-branch-info .st-k{min-width:0;color:var(--r-sub)}

/* 교습비 · 월간 계획 · 정책 — 표는 위 옅은 선 표, 본문은 흰 카드 */
.st-look-branch .st-refund td{white-space:normal;min-width:120px}
.st-look-branch .st-plan{margin-top:14px;padding:24px 26px;background:#fff;border:1px solid var(--b-line);border-radius:22px;line-height:1.75;word-break:keep-all}
.st-look-branch .st-main .st-policy{padding:28px 32px;background:#fff;border:1px solid var(--b-line);border-radius:24px;line-height:1.8;word-break:keep-all}
.st-look-branch .st-main .st-policy h2{font-family:var(--f-wanted);font-size:17px;text-decoration:none;position:relative;padding-left:14px}
.st-look-branch .st-main .st-policy h2::before{content:"";position:absolute;left:0;top:.3em;width:4px;height:1em;border-radius:2px;background:var(--b-accent)}
@media (max-width:599px){.st-look-branch .st-main .st-policy,.st-look-branch .st-plan{padding:20px 18px}}

/* 교육성과(지점 주소 /?smpid=X&Contest) — 메인 교육성과 구역의 밝은 꼴(.st-r-light), 위 첫 줄이 제목 */
.st-look-branch .st-main .st-r-result-page{min-height:0;padding:0;background:transparent}

/* 신청 화면(설명회 · 특강 · 영재원 단체시험 · 신상명세서 — _modules/public 화면을 지점 틀로 감싼 .st-apply) — 같은 카드 · 입력 칸 · 알약 단추 */
.st-look-branch .st-apply{--brand:var(--b-accent);--brand-soft:var(--b-soft);--ink:#0e1a24;--muted:#55606b;--line:#e1e8ef;max-width:880px;line-height:1.65;color:var(--ink)}
/* 특강 · 설명회(목록 · 보기 · 신청)는 다른 지점 화면처럼 본문 폭 그대로(100%) — 영재원 단체시험 · 신상명세서는 880px */
.st-look-branch:is(.st-page-speciallecture,.st-page-presentation) .st-apply{max-width:none}
.st-look-branch .st-apply .pb-card{padding:22px 24px;border-color:var(--b-line);border-radius:22px;box-shadow:0 1px 2px rgba(14,26,36,.04)}
.st-look-branch .st-apply .pb-guide{background:var(--b-soft);border-color:#d4e5f5}
.st-look-branch .st-apply .pb-q{font-family:var(--f-wanted);font-size:16px}
.st-look-branch .st-apply :is(input.pb-input,select.pb-input){min-height:50px;padding:0 16px;border:1px solid #dfe5eb;border-radius:12px;font-size:15px;transition:border-color .15s,box-shadow .15s}
.st-look-branch .st-apply textarea.pb-input{padding:12px 16px;border:1px solid #dfe5eb;border-radius:12px;font-size:15px}
.st-look-branch .st-apply .pb-input:focus{outline:0;border-color:var(--b-accent);box-shadow:0 0 0 4px var(--b-ring)}
.st-look-branch .st-apply input[type=checkbox],.st-look-branch .st-apply input[type=radio]{accent-color:var(--b-accent)}
.st-look-branch .st-apply .pb-opt{min-height:50px;border-radius:14px}
.st-look-branch .st-apply .pb-btn{min-height:50px;padding:0 24px;border-radius:999px;font-family:var(--f-wanted);font-size:16px;line-height:50px;text-align:center;box-shadow:0 8px 20px var(--b-shadow)}
.st-look-branch .st-apply .pb-btn.block{min-height:56px;line-height:56px;font-size:17px}
.st-look-branch .st-apply .pb-btn:hover{background:var(--b-accent-d)}
.st-look-branch .st-apply .pb-msg{border-radius:16px}
.st-look-branch .st-apply .pb-msg.ok{background:var(--b-ok);color:#14532d}
.st-look-branch .st-apply .pr-title{font-family:var(--f-wanted);font-weight:700;font-size:22px;line-height:1.35}
.st-look-branch .st-apply .pr-pill{padding:3px 10px}
.st-look-branch .st-apply .pr-pill.on{background:var(--b-ok);color:#1d7a35}
.st-look-branch .st-apply .pr-f{font-size:14px;font-weight:700;color:var(--ink)}
.st-look-branch .st-apply .pr-f .pb-input{margin-top:6px}
.st-look-branch .st-apply .pr-row{gap:12px}
.st-look-branch .st-apply select.pb-input{padding-right:40px;appearance:none;-webkit-appearance:none;
  background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2355606b' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") no-repeat right 14px center/14px 12px}
.st-look-branch .st-apply .pr-agree details{border-radius:14px;padding:12px 14px}
.st-look-branch .st-apply .pr-agree summary{display:flex;align-items:center;gap:8px;font-weight:600;list-style:none}
.st-look-branch .st-apply .pr-agree summary::-webkit-details-marker{display:none}
.st-look-branch .st-apply .pr-agree summary::after{content:"내용 보기";margin-left:auto;flex:none;font-size:13px;font-weight:600;color:var(--b-accent)}
.st-look-branch .st-apply .pr-agree details[open] summary::after{content:"접기"}
.st-look-branch .st-apply .pr-agree summary input{width:20px;height:20px;vertical-align:-4px}
.st-look-branch .st-apply .pr-item{min-height:60px;padding:12px 12px;border-top-color:#eef2f6;border-radius:0}
.st-look-branch .st-apply .pr-item:hover{background:#f8fbfd}
.st-look-branch .st-apply .pr-item.on{background:var(--b-soft)}
.st-look-branch .st-apply .pr-sub{font-size:15.5px}
.st-look-branch .st-apply .pr-pages{gap:4px;margin-top:18px}
.st-look-branch .st-apply .pr-pages a{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;border:1px solid transparent;border-radius:999px;color:var(--ink);font-weight:600}
.st-look-branch .st-apply .pr-pages a:hover{background:#fff;border-color:#d5dfe8}
.st-look-branch .st-apply .pr-pages a.on{background:var(--brand);border-color:var(--brand);color:#fff}
/* 특강 신청(배치는 레거시 — apply.css) 꾸밈: 흰 카드 · 옅은 선 · 파란 고르기, 떠 있는 이름표 칸은 로그인 꼴, 동의 상자 카드 */
.st-look-branch .st-apply .sl-copy{min-height:32px;border-color:#d5dfe8;font-family:var(--f-wanted);font-weight:600}
.st-look-branch .st-apply .sl-bbox{border-color:#d4e5f5;border-radius:20px;background:#fff;box-shadow:0 1px 2px rgba(14,26,36,.04)}
.st-look-branch .st-apply .sl-bbox-h b{font-family:var(--f-wanted);font-size:16px}
.st-look-branch .st-apply .sl-branch button{min-height:40px;padding:0 16px;border-color:#d5dfe8;font-family:var(--f-wanted);font-weight:600}
.st-look-branch .st-apply .sl-branch button:hover{border-color:var(--b-accent);color:var(--b-accent)}
.st-look-branch .st-apply .sl-branch button.on{background:var(--b-accent);border-color:var(--b-accent);color:#fff;box-shadow:0 4px 12px var(--b-ring2)}
.st-look-branch .st-apply .sl-gname{border-bottom-color:#dfe7ef;font-family:var(--f-wanted);font-size:19px;color:var(--r-ink)}
.st-look-branch .st-apply .sl-gname .icon{color:var(--b-accent)}
.st-look-branch .st-apply .sl-lecs{gap:14px}
.st-look-branch .st-apply .sl-lec{padding:18px 18px 16px;border:1.5px solid var(--b-line);border-radius:20px;background:#fff;box-shadow:0 1px 2px rgba(14,26,36,.04)}
.st-look-branch .st-apply .sl-lec:hover:not(.is-closed){border-color:#b9d3ea}
.st-look-branch .st-apply .sl-lec.is-on{border-color:var(--b-accent);background:#f4f9fe;box-shadow:0 0 0 3px var(--b-ring)}
.st-look-branch .st-apply .sl-lname{font-family:var(--f-wanted);font-size:16.5px}
.st-look-branch .st-apply .sl-ui{border-color:var(--b-accent)}
.st-look-branch .st-apply .sl-lec.is-on .sl-ui{background:var(--b-accent)}
.st-look-branch .st-apply .sl-badge{padding:4px 11px;border-color:#dfe7ef;background:var(--b-bg);color:#33404c;font-weight:600}
.st-look-branch .st-apply .sl-times{border-color:#e6edf3;border-radius:14px;background:#f8fafc;padding:10px}
.st-look-branch .st-apply .sl-slot{border-radius:12px;border-color:#e6edf3;background:#fff;font-size:14px}
.st-look-branch .st-apply .sl-slot:has(input:checked){border-color:var(--b-accent);background:var(--b-soft)}
.st-look-branch .st-apply .sl-slot input{accent-color:var(--b-accent)}
.st-look-branch .st-apply .sl-slot input.is-dot{border-color:var(--b-accent)}
.st-look-branch .st-apply .sl-slot input.is-dot:checked{background:var(--b-accent)}
.st-look-branch .st-apply .sl-none{border-color:#d4e5f5;border-radius:16px;background:var(--b-soft);color:#1f4f80}
.st-look-branch .st-apply .sl-fl .pb-input{height:58px;min-height:58px;padding:24px 14px 6px}
.st-look-branch .st-apply .sl-fl select.pb-input{padding-right:36px}
.st-look-branch .st-apply .sl-fl>span{left:15px;top:9px;color:var(--r-sub);font-weight:600}
.st-look-branch .st-apply .sl-fl>span .icon{color:var(--b-accent)}
.st-look-branch .st-apply .sl-onlyall{border-radius:16px}
.st-look-branch .st-apply .sl-agree{padding:18px 20px;border-color:var(--b-line);border-radius:20px}
.st-look-branch .st-apply .sl-agree-h{border-bottom-color:#eef2f6}
.st-look-branch .st-apply .sl-agree-h b{font-family:var(--f-wanted);font-size:16px}
.st-look-branch .st-apply .sl-agree-h b .icon{color:var(--b-accent)}
.st-look-branch .st-apply .sl-agree input[type=checkbox]{width:20px;height:20px;accent-color:var(--b-accent)}
.st-look-branch .st-apply .sl-agree-part p{padding:10px 12px;border-radius:12px;background:var(--b-bg);color:#55606b}
.st-look-branch .st-apply .sl-divider{border-top-color:#e2e9f0}
@media (max-width:768px){.st-look-branch .st-apply .sl-bbox{border-radius:20px 20px 0 0}.st-look-branch .st-apply .sl-branch button{min-height:36px;padding:0 2px;border-radius:10px}}
.st-look-branch .st-apply .sl-html table{border-collapse:collapse;font-size:14px}
.st-look-branch .st-apply .sl-html :is(td,th){padding:8px 10px;border:1px solid #e6eaef}
.st-look-branch .st-apply .sl-html th{background:#f3f6f9;font-weight:700}

@media (prefers-reduced-motion:reduce){.st-look-branch :is(.st-main,.st-dialog) :is(.st-input,.st-select,.st-float select,.st-field input,.st-field select,.st-field textarea),.st-look-branch .st-apply .pb-input{transition:none}}

/* 특강 · 설명회 목록(_modules/public SpecialLecture · Presentation 의 .pr-list) — 공지사항 목록과 같은 고등부 게시판 꼴: 굵은 윗줄, 줄마다 제목 · 날짜 · 상태 알약, 번호 칸은 숨김 */
.st-look-branch .st-apply .pr-list{padding:0;border:0;background:transparent;box-shadow:none}
.st-look-branch .st-apply .pr-list>.pr-row{margin:0 0 14px!important}
.st-look-branch .st-apply .pr-item{min-height:58px;padding:14px;border-top:0;border-bottom:1px solid var(--b-line);background:#fff;border-radius:0}
.st-look-branch .st-apply .pr-list .pr-item:first-of-type{border-top:2px solid var(--r-ink)}
.st-look-branch .st-apply .pr-item:hover{background:#f8fafc}
.st-look-branch .st-apply .pr-item.on{background:var(--b-soft);box-shadow:inset 3px 0 0 var(--b-accent)}
.st-look-branch .st-apply .pr-no{display:none}
.st-look-branch .st-apply .pr-sub small{font-variant-numeric:tabular-nums}
/* 개설강좌 상담 · 입학테스트 신청 팝업(.st-dialog-apply) — 넓게(PC 720px), 강좌 정보는 옅은 판, 칸 이름 옆 필수(.f-req) */
@media (min-width:600px){.st-look-branch .st-dialog.st-dialog-apply{width:min(720px,calc(100vw - 32px))}.st-look-branch .st-dialog-apply .st-dialog-body{padding:24px 28px 30px}}
.st-look-branch .st-dialog-apply .st-apply-info{margin-bottom:20px;padding:16px 18px;border:0;border-radius:16px;background:var(--b-bg)}
.st-look-branch .st-dialog-apply .st-form{gap:16px}
.st-look-branch .st-dialog-apply .st-row{gap:14px}
.st-look-branch .st-dialog-apply .st-row>.st-field{flex:1 1 0;min-width:0}   /* 한 줄 두 칸은 같은 폭 (고르는 칸이 좁아지지 않게) */
.st-look-branch .st-field .st-lab{display:flex;align-items:center;flex-wrap:wrap}
.st-look-branch .st-field .st-muted{margin-left:4px;font-weight:400}
.st-look-branch .st-choice legend .f-req{vertical-align:2px}
