:root{
  --brand:#1E9BF0; --brand-dark:#1580D0; --brand-soft:#E6F4FD;
  --teal:#0B6FB5; --teal-dark:#095A94; --teal-soft:#E6F4FD;
  --yellow:#FFB300; --yellow-soft:#FFF6E0;
  --ink:#141414; --ink2:#3A3D42; --mute:#8A8D93; --line:#ECECEC;
  --bg:#FFFFFF; --bg2:#F6F8FB; --dark:#141414;
  --radius:20px; --radius-sm:14px;
  --shadow:0 15px 35px rgba(20,30,50,.08); --shadow-lg:0 20px 50px rgba(20,30,50,.10);
  --ease:.3s cubic-bezier(.2,.7,.3,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Pretendard','Pretendard Variable',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;border-radius:100px;padding:15px 30px;transition:transform var(--ease),box-shadow var(--ease),background var(--ease);cursor:pointer;border:none;font-size:16px;font-family:inherit}
.btn-primary{background:var(--brand);color:#fff;box-shadow:0 8px 24px rgba(30,155,240,.32)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(30,155,240,.42)}
.btn-ghost{background:rgba(255,255,255,.14);color:#fff;border:1.5px solid rgba(255,255,255,.5)}
.btn-ghost:hover{background:rgba(255,255,255,.24)}
.btn-teal{background:var(--teal);color:#fff;box-shadow:0 8px 24px rgba(11,111,181,.3)}
.btn-teal:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(11,111,181,.4)}

/* SECTION SYSTEM */
section.block{padding:96px 0}
.levels{background:var(--bg2)}
.head{max-width:720px}
.head.center{text-align:center;margin:0 auto}
.tag{display:inline-block;color:var(--brand);font-weight:700;font-size:14px;letter-spacing:1px;margin-bottom:12px}
.tag.teal{color:var(--teal-dark)}
.head h2{font-size:38px;font-weight:800;letter-spacing:-1px;line-height:1.25}
.head p{color:var(--mute);font-size:17px;margin-top:14px}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1)}
.reveal.in{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}
section[id]{scroll-margin-top:88px}

/* HEADER */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:70px}
.logo{display:flex;align-items:center;gap:9px}
.logo svg{flex:0 0 auto;display:block}
.logo-word{font-size:21px;font-weight:800;color:var(--ink);letter-spacing:-.5px}
.logo-word .b{color:var(--brand)}
.ft-brand .logo-word{color:#fff}
.gnb{display:flex;gap:30px;font-weight:500;font-size:15.5px}
.gnb>a{position:relative;padding:6px 0;color:var(--ink2);transition:color var(--ease)}
.gnb>a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--brand);transition:width var(--ease)}
.gnb>a:hover{color:var(--ink)}.gnb>a:hover:after{width:100%}
.nav-right{display:flex;align-items:center;gap:8px}
.nav .btn{padding:11px 22px;font-size:15px}
.hamb{display:none;background:none;border:none;cursor:pointer;color:var(--ink);padding:6px}
.hamb svg{display:block}
.mnav{display:none;flex-direction:column;border-top:1px solid var(--line)}
.mnav.open{display:flex}
.mnav>a{display:block;padding:15px 24px;font-weight:600;font-size:16px;color:var(--ink2);border-bottom:1px solid var(--line)}

/* HERO */
.hero{position:relative;min-height:600px;display:flex;align-items:center;overflow:hidden;background:var(--dark)}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover}
.hero-bg.ph{display:flex;align-items:center;justify-content:center;background:linear-gradient(120deg,#1d3b5c 0%,#16202E 60%,#0f3530 100%)}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(115deg,rgba(13,16,26,.94) 0%,rgba(16,38,72,.82) 48%,rgba(30,110,180,.52) 100%)}
.hero-inner{position:relative;z-index:2;color:#fff;max-width:1120px;margin:0 auto;padding:72px 24px;width:100%}
.hero .eyebrow{display:inline-flex;align-items:center;gap:6px;background:var(--brand);color:#fff;font-weight:600;font-size:13.5px;padding:8px 16px;border-radius:100px}
.hero h1{font-size:52px;line-height:1.2;font-weight:800;letter-spacing:-1.5px;margin:20px 0 18px}
.hero h1 .c{color:var(--brand)} .hero h1 .t{color:#5BB8F5}
.hero .sub{font-size:19px;color:rgba(255,255,255,.85);max-width:560px;margin-bottom:30px}
.hero-search{display:flex;align-items:center;max-width:540px;background:#fff;border-radius:100px;padding:6px 6px 6px 24px;gap:8px;box-shadow:0 14px 40px rgba(0,0,0,.25)}
.hero-search input{flex:1;border:none;outline:none;font-size:15px;color:var(--ink);background:transparent;font-family:inherit}
.hero-search input::placeholder{color:#aaa}
.hero-search button{flex:0 0 auto;background:var(--teal);color:#fff;border:none;border-radius:100px;padding:13px 26px;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:6px}
.hero-search button:hover{background:var(--teal-dark)}
.hero-cta{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
.hero-stats{display:flex;gap:40px;margin-top:38px}
.hero-stat b{display:block;font-size:34px;font-weight:800;color:#fff;letter-spacing:-1px}
.hero-stat span{font-size:14px;color:rgba(255,255,255,.7)}

/* JUMPNAV */
.jumpnav{display:flex;gap:10px;overflow-x:auto;padding:16px 24px;max-width:1120px;margin:0 auto;border-bottom:1px solid var(--line);scrollbar-width:none}
.jumpnav::-webkit-scrollbar{display:none}
.jumpnav a{flex:0 0 auto;padding:9px 18px;border:1.5px solid var(--line);border-radius:100px;font-size:14px;font-weight:600;color:var(--ink2);background:var(--bg);white-space:nowrap;transition:all var(--ease)}
.jumpnav a:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}

/* WHY (4 cards) */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:52px}
.wc{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:32px 24px;transition:transform var(--ease),box-shadow var(--ease)}
.wc:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.wc .ic{width:58px;height:58px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:27px;margin-bottom:16px;background:var(--brand-soft)}
.wc:nth-child(2) .ic{background:var(--teal-soft)}
.wc:nth-child(3) .ic{background:var(--yellow-soft)}
.wc:nth-child(4) .ic{background:#F3E8FF}
.wc h4{font-size:18px;font-weight:800;margin-bottom:8px}
.wc p{font-size:14px;color:var(--mute);line-height:1.65}

/* SUBJECTS */
.subj-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:48px}
.subj{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);padding:26px 12px;text-align:center;transition:transform var(--ease),box-shadow var(--ease)}
.subj:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.subj .si{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:23px;margin:0 auto 12px;background:var(--bg2)}
.subj b{font-size:15px;font-weight:700}
.subj-note{text-align:center;color:var(--mute);font-size:14.5px;margin-top:24px}

/* PROCESS */
.proc{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:52px}
.proc-step{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:28px 22px;text-align:center;position:relative}
.proc-num{display:inline-block;background:var(--brand);color:#fff;font-size:12px;font-weight:800;padding:5px 14px;border-radius:100px;margin-bottom:14px;letter-spacing:.5px}
.proc-step .pic{font-size:30px;margin-bottom:10px}
.proc-step h4{font-size:16px;font-weight:800;margin-bottom:7px}
.proc-step p{font-size:13.5px;color:var(--mute);line-height:1.6}

/* REVIEWS */
.rv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.rv{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px;transition:transform var(--ease),box-shadow var(--ease)}
.rv:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.rv .lg{display:inline-block;font-size:12.5px;font-weight:700;color:var(--brand);background:var(--brand-soft);padding:4px 12px;border-radius:100px;margin-bottom:14px}
.rv .qt{font-size:15.5px;color:var(--ink2);line-height:1.72}
.rv .au{margin-top:16px;font-weight:700;font-size:14px;color:var(--ink);border-top:1px solid var(--line);padding-top:14px}

/* COMPARE TABLE */
table.cmp{width:100%;border-collapse:collapse;font-size:15px;max-width:820px;margin:52px auto 0;background:var(--bg);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
table.cmp th,table.cmp td{border-bottom:1px solid var(--line);padding:16px 16px;text-align:center}
table.cmp thead th{background:var(--bg2);font-weight:800;font-size:16px;padding:20px 16px}
table.cmp thead th.on{background:var(--brand);color:#fff}
table.cmp thead th.on small{display:block;font-size:11px;opacity:.9;font-weight:600;margin-top:3px}
table.cmp .cmp-k{background:var(--bg2);font-weight:700;text-align:left;color:var(--ink2);width:170px}
table.cmp td.on{background:var(--brand-soft);font-weight:700;color:var(--brand-dark)}
table.cmp tr:last-child td{border-bottom:none}
.cmp-yes{color:var(--teal);font-weight:800;font-size:18px}
.cmp-no{color:#cfcfcf;font-weight:700;font-size:18px}
.cmp-mid{color:var(--yellow);font-weight:800}
.cmp-note{text-align:center;color:var(--ink2);font-size:15px;margin-top:20px;font-weight:600}

/* PRICING */
.report-banner{display:flex;align-items:center;gap:20px;background:var(--teal-soft);border:1.5px solid var(--teal);border-radius:var(--radius);padding:24px 28px;max-width:920px;margin:48px auto 28px}
.report-banner .rb-tag{background:var(--brand);color:#fff;font-size:13px;font-weight:800;padding:8px 14px;border-radius:12px;flex:0 0 auto;letter-spacing:.05em}
.report-banner .rb-body{flex:1}
.report-banner .rb-body b{font-size:18px;font-weight:800;color:var(--teal-dark);display:block;margin-bottom:4px}
.report-banner .rb-body p{font-size:14px;color:var(--ink2)}
.report-banner .rb-btn{flex:0 0 auto;background:var(--teal);color:#fff;padding:13px 24px;border-radius:100px;font-size:14px;font-weight:700;white-space:nowrap}
.report-banner .rb-btn:hover{background:var(--teal-dark)}
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:980px;margin:0 auto}
.price-card{background:var(--bg);border:1.5px solid var(--line);border-radius:var(--radius);padding:32px 24px;text-align:center;transition:transform var(--ease),box-shadow var(--ease);position:relative}
.price-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.price-card.hl{border:2px solid var(--brand)}
.price-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--brand);color:#fff;font-size:12px;font-weight:700;padding:5px 16px;border-radius:100px}
.price-grade{display:inline-flex;width:50px;height:50px;border-radius:50%;align-items:center;justify-content:center;font-size:18px;font-weight:800;margin-bottom:14px;background:var(--brand-soft);color:var(--brand)}
.price-card:nth-child(2) .price-grade{background:var(--teal-soft);color:var(--teal-dark)}
.price-card:nth-child(3) .price-grade{background:var(--yellow-soft);color:#C99700}
.price-card:nth-child(4) .price-grade{background:#F3E8FF;color:#9B59B6}
.price-card h3{font-size:18px;font-weight:800;margin-bottom:6px}
.price-card .freq{font-size:13px;color:var(--mute);margin-bottom:16px}
.price-amount{font-size:15px;color:#bbb;margin-bottom:4px}
.price-amount b{font-size:29px;font-weight:800;color:var(--ink)}
.price-list{list-style:none;margin-top:18px;padding-top:18px;border-top:1px solid var(--line);text-align:left}
.price-list li{font-size:13px;color:var(--ink2);padding:5px 0;display:flex;align-items:center;gap:8px}
.price-list li::before{content:"✓";color:var(--teal);font-weight:800}
.pt-note{text-align:center;color:var(--mute);font-size:13px;margin:28px auto 0;max-width:760px;line-height:1.7}

/* BRANCHES */
.region-chips{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:48px 0 32px}
.region-chip{padding:10px 20px;border:1.5px solid var(--line);border-radius:100px;font-size:14px;font-weight:600;color:var(--ink2);background:var(--bg);cursor:pointer;transition:all var(--ease)}
.region-chip:hover{border-color:var(--teal);color:var(--teal-dark)}
.region-chip.active{background:var(--teal);color:#fff;border-color:var(--teal)}
.region-chip b{font-weight:700;opacity:.65;margin-left:4px;font-size:12px}
.branch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.branch-card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:24px 22px;transition:transform var(--ease),box-shadow var(--ease)}
.branch-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.branch-name{font-size:17px;font-weight:800;margin-bottom:7px;display:flex;align-items:center;gap:6px}
.branch-name .pin{color:var(--brand)}
.branch-addr{font-size:13px;color:var(--mute);margin-bottom:14px;line-height:1.55;min-height:40px}
.branch-tags{display:flex;gap:5px;flex-wrap:wrap}
.branch-tag{font-size:12px;padding:4px 11px;border-radius:100px;background:var(--brand-soft);color:var(--brand-dark);font-weight:600}
.branch-tag.t{background:var(--teal-soft);color:var(--teal-dark)}
.branch-empty{grid-column:1/-1;text-align:center;padding:50px;color:var(--mute);font-size:15px}
.branch-foot{text-align:center;margin-top:36px}
.btn-more{display:inline-flex;align-items:center;gap:8px;background:var(--bg);color:var(--teal-dark);border:1.5px solid var(--teal);padding:13px 30px;border-radius:100px;font-size:15px;font-weight:700;cursor:pointer;transition:all var(--ease)}
.btn-more:hover{background:var(--teal);color:#fff}

/* FORM */
.formsec{background:var(--ink);color:#fff}
.formsec .head h2{color:#fff}.formsec .head p{color:rgba(255,255,255,.65)}
.fwrap{max-width:680px;margin:44px auto 0;background:var(--bg);color:var(--ink);border-radius:var(--radius);padding:34px 32px;box-shadow:var(--shadow-lg)}
.fwrap .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fwrap .field{margin-bottom:16px}
.fwrap label{display:block;font-size:14px;font-weight:700;margin-bottom:6px}
.fwrap label .req{color:var(--brand)}
.fwrap input,.fwrap select,.fwrap textarea{width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:12px;font-size:15px;font-family:inherit;background:var(--bg2);outline:none;transition:border-color var(--ease)}
.fwrap input:focus,.fwrap select:focus,.fwrap textarea:focus{border-color:var(--teal);background:var(--bg)}
.fwrap textarea{resize:vertical;min-height:84px}
.fwrap .submit{width:100%;padding:17px;border:none;border-radius:100px;background:var(--brand);color:#fff;font-size:17px;font-weight:700;cursor:pointer;margin-top:6px;box-shadow:0 8px 24px rgba(30,155,240,.32);transition:transform var(--ease),box-shadow var(--ease)}
.fwrap .submit:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(30,155,240,.42)}
.fwrap .submit:disabled{opacity:.6;cursor:not-allowed;transform:none}
.addr-row{display:flex;gap:10px;margin-bottom:10px}
.addr-row input{flex:1}
.addr-btn{flex:0 0 auto;padding:13px 18px;border:1.5px solid var(--brand);border-radius:12px;background:var(--brand-soft);color:var(--brand);font-weight:700;font-size:14px;cursor:pointer;font-family:inherit;transition:background var(--ease)}
.addr-btn:hover{background:var(--brand);color:#fff}
.err{font-size:12.5px;color:var(--brand);margin-top:5px;display:none}
.err.show{display:block}
.ok{text-align:center;padding:40px 0}
.ok h4{font-size:22px;font-weight:800;margin:0 0 10px}
.ok p{color:var(--mute);font-size:15px}
/* 커스텀 드롭다운 (학년·과목) */
.csel{position:relative}
.csel-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--bg2);font-size:15px;font-family:inherit;color:var(--ink);cursor:pointer;text-align:left;transition:border-color var(--ease),background var(--ease)}
.csel-btn:hover{border-color:#cfd6de}
.csel.open .csel-btn{border-color:var(--brand);background:var(--bg)}
.csel-val.ph{color:#9aa0a6}
.csel-arr{flex:0 0 auto;transition:transform var(--ease);color:var(--mute)}
.csel.open .csel-arr{transform:rotate(180deg)}
.csel-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 40px rgba(20,30,50,.16);padding:8px 6px;max-height:300px;overflow:auto;display:none}
.csel.open .csel-panel{display:block;animation:cselIn .16s ease}
@keyframes cselIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.csel-group{font-size:11.5px;font-weight:800;color:var(--mute);padding:10px 10px 4px;letter-spacing:.03em}
.csel-row{display:flex;flex-wrap:wrap;gap:6px;padding:2px 6px 6px}
.csel-opt{border:1.5px solid var(--line);border-radius:100px;padding:9px 17px;font-size:14px;font-weight:600;color:var(--ink2);cursor:pointer;transition:all var(--ease);line-height:1}
.csel-opt:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}
.csel-opt.sel{background:var(--brand);border-color:var(--brand);color:#fff}
.csel.err .csel-btn{border-color:#E8344E}

/* CTA */
.ctasec{padding:20px 0 96px}
.cta{background:linear-gradient(135deg,var(--brand) 0%,#1580D0 100%);color:#fff;text-align:center;padding:72px 24px;border-radius:var(--radius)}
.cta h2{font-size:34px;font-weight:800;letter-spacing:-1px;margin-bottom:12px}
.cta p{color:rgba(255,255,255,.92);font-size:17px;margin-bottom:30px}
.cta .btn{background:#fff;color:var(--brand)}
.cta .btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.18)}

/* FOOTER */
.site-footer{background:var(--dark);color:rgba(255,255,255,.66);padding:56px 24px 64px;text-align:center}
.ft-wrap{max-width:1000px;margin:0 auto}
.ft-brand{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;color:#fff;font-size:18px;margin-bottom:24px}
.ft-brand b{font-weight:800}.ft-brand b .c{color:var(--brand)}.ft-brand b .t{color:#5BB8F5}
.ft-brand span{font-weight:400;font-size:14px;color:rgba(255,255,255,.5)}
.ft-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 24px;padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid rgba(255,255,255,.1)}
.ft-nav a{color:rgba(255,255,255,.82);font-weight:600;font-size:15px}
.ft-nav a:hover{color:#fff}
.ft-info{font-size:14px;line-height:1.8;color:rgba(255,255,255,.6)}
.ft-copy{font-size:12px;color:rgba(255,255,255,.34);margin-top:18px}

/* FAB */
.fab{position:fixed;right:18px;bottom:20px;z-index:80;display:flex;flex-direction:column;gap:12px}
.fab a{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.2);transition:transform var(--ease);font-size:24px}
.fab a:hover{transform:translateY(-3px)}
.fab .kakao{background:#FEE500}
.fab .tel{background:var(--brand)}

/* HUB / DYNAMIC PAGES (학원 4계층) */
.hub-hero{position:relative;background:var(--dark);color:#fff;padding:56px 0 54px;overflow:hidden}
.hub-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(13,16,26,.55) 0%,rgba(16,38,72,.5) 55%,rgba(30,110,180,.4) 100%)}
.hub-hero .wrap{position:relative;z-index:1}
.crumbs{font-size:13px;color:rgba(255,255,255,.6);margin-bottom:16px}
.crumbs a{color:rgba(255,255,255,.82)}
.crumbs a:hover{color:#fff;text-decoration:underline}
.crumbs .sep{margin:0 7px;opacity:.45}
.hub-badge{display:inline-block;background:var(--brand);color:#fff;font-weight:700;font-size:13px;padding:7px 15px;border-radius:100px;margin-bottom:14px}
.hub-hero h1{font-size:40px;font-weight:800;letter-spacing:-1.2px;line-height:1.22}
.hub-hero .lead{color:rgba(255,255,255,.84);font-size:16.5px;margin-top:14px;max-width:660px}
a.branch-card{display:block;color:inherit}
.branch-card .cnt{display:inline-block;font-size:12.5px;color:var(--brand-dark);font-weight:700;background:var(--brand-soft);padding:5px 13px;border-radius:100px;margin-top:6px}
.detail-table{width:100%;border-collapse:collapse;max-width:840px;margin:0 auto;background:var(--bg);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);font-size:15px}
.detail-table th,.detail-table td{border-bottom:1px solid var(--line);padding:16px 20px;text-align:left;line-height:1.6}
.detail-table th{background:var(--bg2);font-weight:700;color:var(--ink2);width:132px;white-space:nowrap;vertical-align:top}
.detail-table td small{color:var(--mute);font-size:13px}
.detail-table tr:last-child th,.detail-table tr:last-child td{border-bottom:none}
.nf{max-width:560px;margin:0 auto;text-align:center;padding:120px 24px}
.nf h1{font-size:64px;font-weight:800;color:var(--brand)}
.nf p{color:var(--mute);font-size:17px;margin:12px 0 28px}
/* 조합 페이지 (동×학년×과목) */
.prose{max-width:820px;margin:0 auto;color:var(--ink2);font-size:15.5px;line-height:1.85}
.prose p{margin-bottom:14px}
.road{max-width:820px;margin:36px auto 0;counter-reset:r;list-style:none}
.road li{position:relative;padding:16px 20px 16px 62px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:12px;font-size:15px;color:var(--ink2);line-height:1.6}
.road li::before{counter-increment:r;content:counter(r);position:absolute;left:16px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:var(--brand);color:#fff;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center}
.faq{max-width:820px;margin:36px auto 0}
.faq details{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:10px;overflow:hidden}
.faq summary{padding:17px 20px;font-weight:700;font-size:15px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--brand);font-weight:800;font-size:22px;line-height:1}
.faq details[open] summary::after{content:"−"}
.faq details .a{padding:0 20px 18px;color:var(--ink2);font-size:14.5px;line-height:1.72}
.strength-box{max-width:820px;margin:0 auto;background:var(--brand-soft);border-radius:var(--radius);padding:26px 28px;font-size:15px;line-height:1.8;color:var(--ink2);white-space:pre-line}
.combo-links{max-width:900px;margin:32px auto 0;display:flex;flex-direction:column;gap:20px}
.combo-links .cl-dong{font-weight:800;font-size:16px;margin-bottom:10px;color:var(--ink)}
.combo-links .cl-tags{display:flex;flex-wrap:wrap;gap:8px}
.combo-links .cl-tags a{font-size:13px;padding:7px 14px;border:1.5px solid var(--line);border-radius:100px;color:var(--ink2);background:var(--bg);font-weight:600;transition:all var(--ease)}
.combo-links .cl-tags a:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}
/* 지점 상세 보강 */
.loc-guide{max-width:820px;margin:24px auto 0;background:var(--bg2);border-radius:var(--radius-sm);padding:20px 24px;font-size:14.5px;color:var(--ink2);line-height:1.75;white-space:pre-line;text-align:center}
.map-links{display:flex;gap:10px;justify-content:center;margin-top:22px}
.map-links a{padding:11px 22px;border:1.5px solid var(--line);border-radius:100px;font-weight:700;font-size:14px;color:var(--ink2);transition:all var(--ease)}
.map-links a:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}
.lp-grid{grid-template-columns:repeat(3,1fr)}
.lp-list{list-style:none;margin:14px 0 0;padding:0}
.lp-list li{font-size:13.5px;color:var(--ink2);padding:5px 0 5px 20px;position:relative;line-height:1.55}
.lp-list li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:800}
.lp-fee{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-weight:700;font-size:14px;color:var(--brand-dark)}
.lp-sch{margin-top:6px;font-size:12.5px;color:var(--mute);line-height:1.5}
.pt-table{margin:36px auto 0}

@media(max-width:880px){
  .hub-hero h1{font-size:29px}
  .hub-hero{padding:40px 0 40px}
  .lp-grid{grid-template-columns:1fr}
  .gnb{display:none}.hamb{display:block}.nav .btn{padding:10px 16px;font-size:14px}
  .hero h1{font-size:34px}.hero .sub{font-size:16px}
  .why-grid,.rv-grid,.branch-grid,.proc{grid-template-columns:1fr}
  .proc{grid-template-columns:1fr 1fr}
  .subj-grid{grid-template-columns:repeat(3,1fr)}
  .price-grid{grid-template-columns:repeat(2,1fr)}
  .head h2,.cta h2{font-size:27px}
  .fwrap .row{grid-template-columns:1fr}
  .hero-stats{gap:28px}
  .report-banner{flex-direction:column;text-align:center}
  table.cmp{font-size:13px}
}
