/* site3 푸름클래스 (영어·수학 전문) — REDESIGN_SPEC 4장: 벽돌 + 회청, Gowun Batang / Gowun Dodum, 둥근 종이(카드·버튼 28px, 그림자 없음), 크림 바탕 */
:root{
  --brand:#9A4A2F;--brand-ink:#6F3220;--brand-soft:#F3E2D8;
  --accent:#3F6E8C;--accent-ink:#2C5068;--accent-soft:#E2ECF2;
  --bg:#F8F2E8;--tone:#F1E7D7;--paper:#FFFDF8;
  --ink:#2F2722;--muted:#6E6157;--line:#E3D6C3;--line-2:#EEE4D5;
  --font-head:"Gowun Batang",serif;--font-body:"Gowun Dodum",sans-serif;
  --r-card:28px;--r-btn:28px;--r-sm:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.8 var(--font-body);word-break:keep-all;overflow-wrap:anywhere}
h1,h2,h3{font-family:var(--font-head);font-weight:700;line-height:1.35;margin:0;letter-spacing:-.01em}
p{margin:0}
a{color:inherit}
img{max-width:100%;height:auto;display:block}
svg{width:1.15em;height:1.15em;flex:none}
ul,ol{margin:0;padding:0;list-style:none}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
.wrap.narrow{max-width:860px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sr:focus{position:fixed;left:12px;top:12px;width:auto;height:auto;clip:auto;background:var(--paper);padding:8px 14px;z-index:50;border-radius:var(--r-sm)}
.ph{background:#FFF1C9;color:#6B4C00;padding:0 4px;border-radius:6px;font-family:ui-monospace,Consolas,monospace;font-size:.88em}
.hp{position:absolute;left:-9999px}

/* 버튼 */
.pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;border:1.5px solid var(--brand);border-radius:var(--r-btn);background:var(--brand);color:#fff;font:700 15px/1.2 var(--font-body);text-decoration:none;cursor:pointer;white-space:nowrap}
.pill:hover{background:var(--brand-ink);border-color:var(--brand-ink)}
.pill.line{background:transparent;color:var(--brand)}
.pill.line:hover{background:var(--brand-soft)}
.pill.light{background:var(--paper);color:var(--brand-ink);border-color:var(--paper)}
.pill.big{width:100%;padding:15px 22px;font-size:16px}
.paper{background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r-card)}

/* C1 머리 */
.hd{position:sticky;top:0;z-index:30;background:rgba(248,242,232,.94);backdrop-filter:blur(6px);border-bottom:1.5px dashed var(--line)}
.hd .wrap{display:flex;align-items:center;gap:22px;height:70px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:700 21px/1 var(--font-head);color:var(--brand-ink)}
.brand svg{width:34px;height:34px}
.brand small{font:400 12px/1 var(--font-body);color:var(--accent);border:1px solid var(--accent);border-radius:20px;padding:4px 8px}
.menu{display:flex;gap:4px;margin-left:auto}
.menu a{padding:8px 14px;border-radius:var(--r-btn);text-decoration:none;font-size:15px;color:var(--muted)}
.menu a:hover{background:var(--tone);color:var(--ink)}

/* 섹션 공통 */
.sec{padding:84px 0}
.sec.tone{background:var(--tone)}
.head{max-width:720px;margin-bottom:34px}
.head.center{margin-left:auto;margin-right:auto;text-align:center}
.head h2{font-size:34px}
.head p{margin-top:12px;color:var(--muted);font-size:17px}
.eyebrow{display:inline-block;margin-bottom:12px;font:700 14px/1 var(--font-head);color:var(--accent);padding:7px 14px;border-radius:var(--r-btn);background:var(--accent-soft)}

/* C2 히어로 */
.hero{padding:70px 0 80px;background:radial-gradient(ellipse at 15% 0%,#FBEFE3 0,transparent 55%),radial-gradient(ellipse at 90% 20%,#E9F0F2 0,transparent 50%),var(--bg)}
.hero-text{text-align:center;max-width:760px;margin:0 auto}
.doodle{width:min(420px,80%);margin:0 auto 18px}
.hero h1{font-size:50px;color:var(--brand-ink)}
.hero .lead{margin-top:20px;font-size:18px;color:var(--muted)}
.forks{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px}
.fork{display:block;padding:34px 34px 30px;text-decoration:none;position:relative;border-width:2px}
.fork.en{border-color:#DDB9A6}
.fork.ma{border-color:#B6CCDA}
.fork .ic{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--brand-soft);color:var(--brand)}
.fork.ma .ic{background:var(--accent-soft);color:var(--accent)}
.fork .ic svg{width:32px;height:32px}
.fork h2{font-size:30px;margin-top:16px}
.fork .big{margin:6px 0 10px;color:var(--muted)}
.fork .big b{font:700 46px/1 var(--font-head);color:var(--brand);margin-right:6px}
.fork.ma .big b{color:var(--accent)}
.fork p{color:var(--muted)}
.more-go{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-weight:700;color:var(--brand)}
.fork.ma .more-go{color:var(--accent)}
.fork:hover{background:#FFF8EF}
.tally{display:grid;grid-template-columns:repeat(4,1fr);margin-top:28px;background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r-card)}
.tally li{padding:22px 24px;text-align:center;border-left:1.5px dashed var(--line)}
.tally li:first-child{border-left:0}
.tally b{display:block;font:700 34px/1.1 var(--font-head);color:var(--ink)}
.tally small{font-size:16px;margin-left:2px;color:var(--muted)}
.tally span{font-size:14px;color:var(--muted)}

/* C7 과정표 */
.lvcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.lvcard{padding:26px 24px}
.lvcard h3{font-size:22px;display:flex;align-items:baseline;gap:10px}
.lvcard h3 small{font:400 14px/1 var(--font-body);color:var(--muted)}
.ctab{width:100%;border-collapse:collapse;margin-top:16px;font-size:14px}
.ctab th,.ctab td{padding:8px 4px;text-align:left;border-bottom:1px dashed var(--line-2)}
.ctab thead th{font-weight:700;color:var(--muted);font-size:13px}
.ctab thead svg{width:15px;height:15px;vertical-align:-3px;margin-right:3px}
.ctab tbody th{width:44px;font-family:var(--font-head)}
.ctab td{white-space:nowrap}
.ctab td b{display:inline-block;width:32px;text-align:right;font-family:var(--font-head)}
.meter{display:inline-block;vertical-align:middle;width:calc(100% - 38px);height:9px;border-radius:9px;background:var(--line-2);overflow:hidden}
.meter i{display:block;height:100%;border-radius:9px;background:var(--brand)}
.meter.ma i{background:var(--accent)}
.lvcard .note{margin-top:14px;font-size:14.5px;color:var(--muted)}
.unit{margin-top:14px;font-size:13px;color:var(--muted);text-align:right}

/* C9 지점 찾기 */
.finder-top{display:grid;gap:16px;margin-bottom:26px}
.search{display:flex;align-items:center;gap:10px;background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r-btn);padding:0 20px;max-width:560px}
.search svg{color:var(--brand)}
.search input{flex:1;min-width:0;border:0;background:transparent;font:16px var(--font-body);padding:14px 0;outline:none}
.tabs{display:flex;flex-wrap:wrap;gap:8px}
.tabs button{border:1.5px solid var(--line);background:var(--paper);border-radius:var(--r-btn);padding:7px 14px;font:15px var(--font-body);color:var(--ink);cursor:pointer}
.tabs button em{font-style:normal;color:var(--muted);font-size:13px}
.tabs button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}
.tabs button[aria-pressed=true] em{color:#DCE8EF}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ccard{display:flex;flex-direction:column;padding:24px;text-decoration:none}
.ccard:hover{border-color:#D2B8A6;background:#FFF9F1}
.ccard[hidden],.js .ccard.more{display:none}
.ccard .loc{font-size:13px;color:var(--muted)}
.ccard h3{font-size:21px;margin-top:4px}
.em{margin:14px 0;display:grid;gap:6px}
.em li{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;padding:7px 12px;border-radius:var(--r-sm);background:var(--brand-soft);font-size:14.5px}
.em li:nth-child(2){background:var(--accent-soft)}
.em li svg{color:var(--brand)}
.em li:nth-child(2) svg{color:var(--accent)}
.em li span{text-align:right}
.em li.none{background:transparent;border:1px dashed var(--line);color:var(--muted)}
.when{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:14px;color:var(--muted)}
.when i{width:4px;height:4px;border-radius:50%;background:var(--line);margin:0 4px}
.ccard .more-go{margin-top:auto;padding-top:14px;font-size:14px}
.empty{display:none;padding:30px;text-align:center;color:var(--muted)}
.finder-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:26px;color:var(--muted);font-size:14px}

/* C4 단계 */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;counter-reset:s}
.steps li{padding:28px 24px;position:relative}
.stepno{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1.5px solid var(--brand);color:var(--brand);font:700 20px/1 var(--font-head);margin-bottom:16px}
.steps li:nth-child(even) .stepno{border-color:var(--accent);color:var(--accent)}
.steps h3{font-size:20px}
.steps p{margin-top:8px;color:var(--muted);font-size:15px}

/* C5 번갈이 */
.zig{display:grid;gap:30px}
.zig-row{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r-card);padding:30px}
.zig-row:nth-child(even) .zig-art{order:2}
.zig-art img{border-radius:22px;width:100%}
.tag{display:inline-block;font:700 13px/1 var(--font-head);padding:7px 13px;border-radius:var(--r-btn);background:var(--brand-soft);color:var(--brand-ink)}
.zig-row:nth-child(2) .tag{background:var(--accent-soft);color:var(--accent-ink)}
.zig-body h3{font-size:26px;margin-top:14px}
.zig-body p{margin-top:12px;color:var(--muted)}
.ticks{display:grid;gap:8px;margin-top:16px}
.ticks li{display:flex;gap:10px;align-items:flex-start}
.ticks li svg{color:var(--accent);margin-top:5px}

/* C3 안내 방식 */
.feats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.feat{padding:28px 26px}
.fno{display:inline-block;font:700 40px/1 var(--font-head);color:var(--brand-soft);-webkit-text-stroke:1.5px var(--brand)}
.feat:nth-child(even) .fno{-webkit-text-stroke-color:var(--accent);color:var(--accent-soft)}
.feat h3{font-size:20px;margin-top:10px}
.feat p{margin-top:8px;color:var(--muted);font-size:15px}

/* C10 묻고 답하기 */
.qa{display:grid;gap:12px}
.qa details{background:var(--paper);border:1.5px solid var(--line);border-radius:22px;padding:4px 24px}
.qa summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:16px 0;font:700 17px/1.5 var(--font-head)}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";margin-left:auto;font:400 22px/1 var(--font-body);color:var(--brand)}
.qa details[open] summary::after{content:"−"}
.qm{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;font:700 14px/1 var(--font-body)}
.ans{padding:0 0 18px 42px;color:var(--muted)}

/* C11 폼 */
.apply-sec{background:linear-gradient(180deg,var(--bg) 0,var(--tone) 100%)}
.apply{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:44px;align-items:start}
.apply-note h2{font-size:30px}
.apply-note p{margin-top:12px;color:var(--muted)}
.nums{margin-top:22px;display:grid;gap:10px;counter-reset:n}
.nums li{counter-increment:n;display:flex;align-items:center;gap:12px;font-family:var(--font-head);font-weight:700}
.nums li::before{content:counter(n);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--brand);color:#fff;font:700 14px/1 var(--font-body)}
.form{padding:32px;display:grid;gap:18px}
.fs{border:0;margin:0;padding:0;min-width:0}
.fs legend,.f label{display:block;margin-bottom:8px;font-weight:700;font-size:15px}
.fs small,.f small{font-weight:400;color:var(--muted);margin-left:4px}
.pick{display:flex;flex-wrap:wrap;gap:6px}
.pick label{position:relative}
.pick input{position:absolute;opacity:0;inset:0}
.pick span{display:inline-block;padding:7px 13px;border:1.5px solid var(--line);border-radius:var(--r-btn);background:var(--paper);font-size:14px;cursor:pointer}
.pick input:checked+span{background:var(--brand);border-color:var(--brand);color:#fff}
.pick input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.track .pick span{padding:10px 20px;font:700 15px/1.2 var(--font-head)}
.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cols2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.f input,.f select,.f textarea{width:100%;font:15px var(--font-body);padding:12px 16px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:#fff;color:var(--ink)}
.f textarea{min-height:110px;resize:vertical}
.agree{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted)}
.agree input{margin-top:5px}
.form-msg{min-height:1.2em;font-size:14px}
.form-msg.ok{color:#2F6B45}.form-msg.bad{color:#A33A2A}

/* C12 마무리 띠 */
.closing{background:var(--brand);color:#fff;padding:56px 0}
.closing .wrap{display:flex;align-items:center;gap:26px}
.closing .sym{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;border:1.5px solid rgba(255,255,255,.5);flex:none}
.closing .sym svg{width:34px;height:34px}
.closing h2{font-size:28px}
.closing p{margin-top:6px;color:#F3DDD2}
.closing .pill{margin-left:auto}

/* 꼬리말 */
.ft{background:#2F2722;color:#D9CDBF;padding:56px 0 110px;font-size:14px}
.ft .wrap{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}
.ft b{display:flex;align-items:center;gap:8px;color:#fff;font-family:var(--font-head);font-size:16px;margin-bottom:10px}
.ft b svg{width:26px;height:26px}
.ft p{color:#BBAE9F}
.ft .biz{margin-top:8px}
.ft ul{display:grid;gap:6px}
.ft a{text-decoration:none}
.ft a:hover{color:#fff}
.ft .asof{grid-column:1/-1;border-top:1px dashed #5A4D43;padding-top:18px;font-size:13px}

/* C13 떠 있는 버튼·모바일 바 */
.float{position:fixed;right:22px;bottom:26px;z-index:25;display:grid;gap:8px}
.float>*{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--r-btn);background:var(--paper);border:1.5px solid var(--line);font-size:13px;text-decoration:none;color:var(--ink)}
.float .go{background:var(--accent);border-color:var(--accent);color:#fff;font:700 15px/1.2 var(--font-body);padding:14px 20px}
.float .off{color:var(--muted)}
.mbar{display:none}

/* 지점 상세 */
.cband{padding:40px 0 46px;background:radial-gradient(ellipse at 85% 0%,#E8EFF2 0,transparent 55%),var(--bg);border-bottom:1.5px dashed var(--line)}
.crumb{display:flex;flex-wrap:wrap;gap:6px;font-size:14px;color:var(--muted)}
.crumb li+li::before{content:"·";margin-right:6px}
.crumb a{text-decoration:none;color:var(--accent)}
.cband h1{font-size:40px;margin-top:14px;color:var(--brand-ink)}
.cband .lead{margin-top:12px;font-size:17px;color:var(--muted);max-width:760px}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.tags li{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border-radius:var(--r-btn);background:var(--paper);border:1.5px solid var(--line);font-size:14.5px}
.tags li.en{background:var(--brand-soft);border-color:#E3C4B4;color:var(--brand-ink);font-weight:700}
.tags li.ma{background:var(--accent-soft);border-color:#C3D6E2;color:var(--accent-ink);font-weight:700}
.tags li.off{opacity:.55;font-weight:400}
.duo{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:30px;align-items:start;padding-top:40px;padding-bottom:70px}
.col{display:grid;gap:22px;min-width:0}
.blk{padding:30px 32px;min-width:0}
.blk h2{display:flex;align-items:center;gap:10px;font-size:24px}
.blk h2 svg{color:var(--brand);width:26px;height:26px}
.blk .lede{margin-top:10px;color:var(--muted)}
.gwrap{overflow-x:auto;margin-top:18px}
.gtab{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:4px;font-size:13px;text-align:center}
.gtab tr>:first-child{width:82px}
.gtab .lvh th{font:700 13px/1 var(--font-head);color:var(--muted);padding:6px 0;border-bottom:1.5px dashed var(--line)}
.gtab thead tr:last-child th{color:var(--muted);font-weight:400}
.gtab tbody th{text-align:left;white-space:nowrap;padding-right:6px;font-family:var(--font-head);font-size:15px}
.gtab tbody th svg{vertical-align:-3px;margin-right:4px}
.gtab tr.en th svg{color:var(--brand)}
.gtab tr.ma th svg{color:var(--accent)}
.gtab td{height:34px;border-radius:10px;background:var(--line-2)}
.gtab tr.en td.y{background:var(--brand)}
.gtab tr.ma td.y{background:var(--accent)}
.legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;font-size:13px;color:var(--muted)}
.legend i{display:inline-block;width:14px;height:14px;border-radius:5px;background:var(--line-2);vertical-align:-2px;margin-right:6px}
.legend i.en{background:var(--brand)}.legend i.ma{background:var(--accent)}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.track.en{border-color:#E6CDBF}
.track.ma{border-color:#C9DAE5}
.track.ma h2 svg{color:var(--accent)}
.track h2{font-size:21px}
.lvsplit{display:grid;gap:8px;margin-top:16px}
.lvsplit div{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;padding:9px 14px;border-radius:var(--r-sm);background:var(--brand-soft)}
.track.ma .lvsplit div{background:var(--accent-soft)}
.lvsplit div.off{background:transparent;border:1px dashed var(--line);color:var(--muted)}
.lvsplit b{font-family:var(--font-head)}
.lvsplit small{color:var(--muted);font-size:12.5px}
.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:18px}
.days li{padding:12px 4px;text-align:center;border-radius:18px;border:1.5px solid var(--line);font-size:13px}
.days b{display:block;font-family:var(--font-head);font-size:15px}
.days li.on{background:var(--accent-soft);border-color:#C3D6E2}
.days li.maybe{border-style:dashed}
.days li.no{color:var(--muted);background:repeating-linear-gradient(-45deg,transparent 0 6px,var(--line-2) 6px 8px)}
.note{margin-top:14px;font-size:14.5px;color:var(--muted)}
.kv{margin:16px 0 0;display:grid}
.kv div{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:12px 0;border-bottom:1px dashed var(--line)}
.kv dt{color:var(--muted)}
.kv dd{margin:0}
.schools{display:grid;gap:14px;margin-top:16px}
.srow{display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:start}
.srow b{font-family:var(--font-head);padding-top:6px}
.srow ul{display:flex;flex-wrap:wrap;gap:6px}
.srow li{padding:5px 12px;border-radius:var(--r-btn);border:1.5px solid var(--line);font-size:14px;background:#fff}
.srow small{margin-left:5px;color:var(--muted)}
.aside{position:sticky;top:94px}
.sum{padding:28px 26px;display:grid;gap:10px;border-width:2px;border-color:#DDB9A6}
.sum .where{font-size:13px;color:var(--muted)}
.sum h2{font-size:25px;color:var(--brand-ink)}
.sum dl{margin:6px 0 8px;display:grid}
.sum dl div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px dashed var(--line);font-size:14.5px}
.sum dt{color:var(--muted)}
.sum dd{margin:0;text-align:right;font-weight:700}

/* 좁은 화면 */
/* 상세 페이지(따라오는 요약 카드가 있는 2단 화면)에서는 떠 있는 묶음이 요약 카드의 상담 버튼을 가리므로 숨기고, 전화·카카오는 카드 안 .sumc 로 */
@media (min-width:1021px){body[data-page="detail"] .float{display:none}}
.sumc{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}
.sumc>*{display:flex;align-items:center;justify-content:center;gap:5px;padding:7px 6px;font-size:12px;line-height:1.3;text-align:center;text-decoration:none;color:var(--muted);border:1px dashed var(--line);border-radius:var(--r-btn)}
.sumc svg,.sumc .bdg{width:16px;height:16px;min-width:16px;font-size:10px;flex:none}
.sumc br{display:none}
@media (max-width:1020px){.sumc{display:none}}
@media (max-width:1020px){
  .menu{display:none}
  .cards,.feats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lvcards{grid-template-columns:1fr}
  .duo{grid-template-columns:1fr}
  .aside{position:static;order:-1}
  .apply{grid-template-columns:1fr}
}
@media (max-width:760px){
  body{font-size:15.5px}
  .sec{padding:60px 0}
  .head h2{font-size:27px}
  .hero{padding:44px 0 56px}
  .hero h1{font-size:33px}
  .forks{grid-template-columns:1fr;gap:16px}
  .fork{padding:26px 24px}
  .tally{grid-template-columns:1fr 1fr}
  .tally li:nth-child(3){border-left:0}
  .tally li:nth-child(n+3){border-top:1.5px dashed var(--line)}
  .tally b{font-size:28px}
  .cards,.feats,.steps{grid-template-columns:1fr}
  .zig-row{grid-template-columns:1fr;gap:20px;padding:22px}
  .zig-row:nth-child(even) .zig-art{order:0}
  .cols3,.cols2{grid-template-columns:1fr}
  .form{padding:22px}
  .closing .wrap{flex-direction:column;align-items:flex-start}
  .closing .pill{margin-left:0}
  .ft .wrap{grid-template-columns:1fr}
  .hd .wrap{height:62px}
  .hd .pill{padding:9px 16px;font-size:14px}
  .brand small{display:none}
  .cband h1{font-size:29px}
  .blk{padding:22px 20px}
  .pair{grid-template-columns:1fr}
  .days{grid-template-columns:repeat(4,minmax(0,1fr))}
  .gtab{border-spacing:2px;font-size:11.5px}
  .gtab tr>:first-child{width:56px}
  .gtab tbody th{font-size:13px;padding-right:2px}
  .gtab tbody th svg{display:none}
  .gtab td{height:28px;border-radius:7px}
  .kv div{grid-template-columns:1fr;gap:2px}
  .closing h2{font-size:23px}
}

/* 정적 페이지(404·개인정보처리방침·접수 결과, scripts/static-pages.mjs)의 공통 틀 이름 */
.top{background:var(--bg);border-bottom:1.5px dashed var(--line)}
.top .wrap{display:flex;align-items:center;height:70px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:700 21px/1 var(--font-head);color:var(--brand-ink)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border:1.5px solid var(--brand);border-radius:var(--r-btn);background:var(--brand);color:#fff;font:700 15px/1.2 var(--font-body);text-decoration:none}
.btn.line{background:transparent;color:var(--brand)}

/* 지역(시도·시군구)·과목 페이지 */
.rband{padding-bottom:40px}
.sband h1{display:flex;align-items:center;gap:12px}
.sband h1 svg{width:40px;height:40px;color:var(--brand)}
.sband.ma h1 svg{color:var(--accent)}
.rstack{display:grid;gap:22px;padding-top:40px;padding-bottom:20px}
.rgrid{padding-top:10px}
[data-sec=R1] .tally{margin-top:30px}
.gcard{display:flex;flex-direction:column;padding:24px;text-decoration:none}
.gcard:hover{border-color:#D2B8A6;background:#FFF9F1}
.gcard .loc{font-size:13px;color:var(--muted)}
.gcard h3{font-size:21px;margin-top:4px}
.gcard h3 small{font:400 14px/1 var(--font-body);color:var(--muted);margin-left:4px}
.gcard .names{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:6px}
.gcard .names span{font-size:13px;padding:3px 10px;border-radius:var(--r-btn);border:1px solid var(--line);background:#fff}
.gcard .more-go{margin-top:auto;padding-top:12px;font-size:14px}
.gcard .big{margin:8px 0 2px;color:var(--muted)}
.gcard .big b{font:700 40px/1 var(--font-head);color:var(--brand);margin-right:4px}
.gcard.ma .big b{color:var(--accent)}
.gcard .sm{font-size:14px;color:var(--muted)}
.ntab td{color:#fff;font-size:12.5px;font-family:var(--font-head);vertical-align:middle}
.ntab td:not(.y){color:var(--muted)}
.ntab tr.en td.y{background:rgba(154,74,47,var(--a))}
.ntab tr.ma td.y{background:rgba(63,110,140,var(--a))}
.mgtab tbody.cg tr.cname th{padding:12px 0 2px;font-size:15px;border-top:1px dashed var(--line)}
.mgtab tbody.cg:first-of-type tr.cname th{border-top:0}
.mgtab tr.cname a{color:var(--brand-ink);text-decoration:none}
.mgtab td{height:26px}
.ctable{width:100%;border-collapse:collapse;font-size:14.5px;min-width:640px}
.ctable th,.ctable td{padding:11px 10px;text-align:left;border-bottom:1px dashed var(--line);vertical-align:top}
.ctable thead th{font-size:13px;color:var(--muted);font-weight:400;border-bottom:1.5px solid var(--line)}
.ctable tbody th a{color:var(--brand-ink);font-family:var(--font-head);font-weight:700;text-decoration:none}
.ctable td.en{color:var(--brand-ink);font-weight:700}
.ctable td.ma{color:var(--accent-ink);font-weight:700}
.ctable td.road{color:var(--muted);font-size:13.5px}
.cfacts{display:grid;gap:6px;margin-top:16px;font-size:14px;color:var(--muted)}
.cfacts b{color:var(--ink);font-family:var(--font-head);margin-right:2px}
.slv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:16px}
.slv h3{font-size:17px;display:flex;align-items:baseline;gap:8px;padding-bottom:8px;border-bottom:1.5px dashed var(--line)}
.slv h3 small{font:400 13px/1 var(--font-body);color:var(--muted)}
.slv li{display:grid;gap:2px;padding:8px 0;border-bottom:1px dashed var(--line-2);font-size:14.5px}
.slv li span{font-size:13px;color:var(--muted)}
.slv a{color:var(--accent-ink);text-decoration:none}
.sindex{display:grid;gap:0;padding:8px 26px}
.sindex li{display:grid;grid-template-columns:170px 1fr;gap:16px;padding:12px 0;border-bottom:1px dashed var(--line);font-size:14.5px}
.sindex li:last-child{border-bottom:0}
.sindex a{color:var(--brand-ink);font-family:var(--font-head);font-weight:700;text-decoration:none}
.sindex span{color:var(--muted)}
.gbars,.dist{display:grid;gap:8px;margin-top:18px}
.gbars li,.dist li{display:grid;grid-template-columns:64px 1fr 64px;align-items:center;gap:12px;font-size:14.5px}
.gbars b,.dist b{font-family:var(--font-head)}
.gbars .meter,.dist .meter{width:100%;height:12px}
.gbars em,.dist em{font-style:normal;text-align:right;color:var(--muted)}
.edge{margin-top:12px}
.edge h3{font-size:16px;color:var(--muted)}
.olist{display:grid;gap:8px;margin-top:14px}
.olist li{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}
.olist a{font-family:var(--font-head);font-weight:700;color:var(--brand-ink);text-decoration:none}
.olist small{color:var(--muted)}
.golist{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.golist a{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:var(--r-btn);border:1.5px solid var(--line);background:#fff;text-decoration:none;font-size:15px}
.golist a:hover{border-color:var(--brand)}
.lvlinks{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.lvlinks a{display:inline-flex;align-items:center;gap:5px;font-size:14px;padding:6px 14px;border-radius:var(--r-btn);border:1.5px solid var(--line);text-decoration:none;color:var(--brand-ink)}
.lvlinks a+a{color:var(--accent-ink)}
.sidolinks{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:22px;font-size:14.5px}
.sidolinks b{font-family:var(--font-head);margin-right:6px}
.sidolinks a{padding:5px 12px;border-radius:var(--r-btn);background:var(--paper);border:1px solid var(--line);text-decoration:none}
.sidolinks em{font-style:normal;color:var(--muted);font-size:12.5px}
.ft-sido{grid-column:1/-1}
.ft-sido p{display:flex;flex-wrap:wrap;gap:6px 14px}
@media (max-width:1020px){
  .slv{grid-template-columns:1fr}
  .sindex li{grid-template-columns:1fr;gap:4px}
}
@media (max-width:760px){
  .gbars li,.dist li{grid-template-columns:52px 1fr 56px;gap:8px}
  .sindex{padding:4px 18px}
}

/* 떠 있는 묶음 자리 */
/* 넓은 화면(본문 바깥 오른쪽 여백에 46px 아이콘 줄이 들어가는 폭): 오른쪽 아래 구석에 아이콘만 작게 (글자는 화면 읽기용으로 남김) */
@media (min-width:1252px){
  .float{right:12px;bottom:24px;width:46px;display:grid;gap:8px;padding:0;border:0;background:none;box-shadow:none}
  html body .float>*{width:46px;height:46px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1.5px solid var(--line);background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.12)}
  html body .float>*>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .float>* svg{width:20px;height:20px}
}
/* 여백이 모자란 폭(모바일 포함): 하단 고정 바 */
@media (max-width:1251px){
  .float{display:none}
  .mbar{display:grid;grid-template-columns:1fr 1.3fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:25;background:var(--paper);border-top:1.5px solid var(--line)}
  .mbar>*{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:9px 4px;font-size:12px;text-decoration:none;color:var(--ink);text-align:center;line-height:1.3}
  .mbar .go{background:var(--brand);color:#fff;font-weight:700}
  .mbar .off{color:var(--muted)}
}
@media (min-width:1021px){body[data-page="detail"] .mbar{display:none}}

/* 상담 폼 아래 네이버 폼 링크 버튼 (2026-10-14) */
.naver-form{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 18px;border:1.5px solid #03C75A;border-radius:var(--r-btn);background:#fff;color:#03A94D;font-weight:700;font-size:15px;text-decoration:none}
.naver-form:hover{background:#EFFBF3}
