:root{--ink:#0c0e13;--ink2:#161a22;--txt:#1b1e25;--sub:#5f6573;--mute:#f4f5f7;--line:#e6e8ec;--acc:#ff5a2c;--acc-d:#e3471b;--acc-s:#fff1ec;--blue:#3d5afe;--r:16px;--wrap:1160px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--txt);font-family:"Pretendard Variable",Pretendard,"Noto Sans KR","Noto Sans CJK KR",system-ui,sans-serif;font-size:16px;line-height:1.75;word-break:keep-all;letter-spacing:-.01em}
a{color:inherit}img{max-width:100%;display:block}h1,h2,h3{letter-spacing:-.035em}
a[x-apple-data-detectors]{color:inherit!important;text-decoration:none!important}
.w{max-width:var(--wrap);margin:0 auto;padding:0 24px}
/* ---------- 상단 ---------- */
.gh{position:sticky;top:0;z-index:60;background:rgba(12,14,19,.92);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid rgba(255,255,255,.08);color:#fff}
.gh__in{display:flex;align-items:center;gap:34px;height:68px}
.gh__logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;font-size:19px;letter-spacing:-.03em}
.gh__logo i{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--acc),#ffb02c);display:block;position:relative}
.gh__logo i:after{content:"";position:absolute;inset:8px;border:2.5px solid #fff;border-radius:3px}
.gh__logo small{font-size:12px;font-weight:600;color:#9aa1b0;letter-spacing:0;margin-left:2px}
.gh__nav{display:flex;gap:26px}.gh__nav a{color:#c5cad5;text-decoration:none;font-size:15px;font-weight:600}.gh__nav a:hover{color:#fff}
.gh__tel{margin-left:auto;color:#fff;text-decoration:none;font-weight:700;font-size:15px}
.gh__cta{background:var(--acc);color:#fff;text-decoration:none;font-weight:700;font-size:14px;padding:10px 18px;border-radius:999px}
.gh__burger{display:none;background:none;border:0;padding:6px;cursor:pointer}.gh__burger i{display:block;width:22px;height:2px;background:#fff;margin:5px 0}
@media(max-width:960px){.gh__nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--ink);flex-direction:column;gap:0;padding:8px 0}
.gh__nav a{padding:14px 24px}body.nav-open .gh__nav{display:flex}.gh__burger{display:block}.gh__tel{display:none}.gh__cta{margin-left:auto}}
/* ---------- 공통 ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:700;border-radius:12px;padding:15px 24px;font-size:16px;transition:.15s}
.btn--acc{background:var(--acc);color:#fff}.btn--acc:hover{background:var(--acc-d)}
.btn--ghost{border:1px solid rgba(255,255,255,.28);color:#fff}.btn--ghost:hover{background:rgba(255,255,255,.08)}
.btn--line{border:1px solid var(--line);color:var(--txt);background:#fff}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:800;letter-spacing:.06em;color:var(--acc);text-transform:uppercase}
.eyebrow:before{content:"";width:18px;height:2px;background:var(--acc)}
/* ---------- 지역 페이지: 히어로 ---------- */
.hx{background:radial-gradient(1200px 500px at 85% 20%,rgba(255,90,44,.18),transparent 60%),radial-gradient(900px 500px at 10% 100%,rgba(61,90,254,.18),transparent 60%),var(--ink);color:#fff;padding:26px 0 64px;overflow:hidden}
.crumb{font-size:13px;color:#8d94a3;margin-bottom:34px}.crumb a{text-decoration:none}.crumb a:hover{color:#fff}.crumb span{margin:0 8px;opacity:.5}
.hx__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.hx h1{font-size:50px;line-height:1.18;margin:14px 0 20px;font-weight:800}
.hx h1 em{font-style:normal;color:var(--acc)}
.hx__lead{font-size:18px;color:#c9ced8;margin:0 0 30px;max-width:620px}.hx__lead b{color:#fff}
.hx__stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:30px}
.hx__stats div{padding:16px 0}.hx__stats div+div{padding-left:20px;border-left:1px solid rgba(255,255,255,.12)}
.hx__stats dt{font-size:12px;color:#8d94a3;font-weight:600}.hx__stats dd{margin:2px 0 0;font-size:17px;font-weight:700;line-height:1.4}
.hx__btns{display:flex;gap:10px;flex-wrap:wrap}
.hx__art{position:relative}
.hx__art figure{margin:0;border-radius:24px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.08);aspect-ratio:4/3.3;background:#1d212b}
.hx__art img{width:100%;height:100%;object-fit:cover}
.hx__badge{position:absolute;left:-22px;bottom:26px;background:#fff;color:var(--txt);border-radius:14px;padding:14px 18px;box-shadow:0 14px 40px rgba(0,0,0,.35);font-size:14px;line-height:1.45;max-width:250px}
.hx__badge b{display:block;font-size:20px;color:var(--acc);letter-spacing:-.03em}
/* 섹션 내비 */
.sn{position:sticky;top:68px;z-index:40;background:#fff;border-bottom:1px solid var(--line)}
.sn .w{display:flex;gap:28px;overflow-x:auto;scrollbar-width:none}.sn .w::-webkit-scrollbar{display:none}
.sn a{flex:none;text-decoration:none;color:var(--sub);font-weight:700;font-size:15px;padding:16px 0;border-bottom:2px solid transparent}.sn a:hover{color:var(--txt);border-color:var(--txt)}
/* 본문 레이아웃 */
.lay{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:56px;align-items:start;padding:56px 0 20px}
.sec{padding:0 0 64px;scroll-margin-top:140px}
.sec__h{display:flex;align-items:baseline;gap:14px;margin-bottom:22px}
.sec__h .no{font-size:14px;font-weight:800;color:var(--acc);font-variant-numeric:tabular-nums}
.sec h2{font-size:30px;line-height:1.35;margin:0;font-weight:800}
.sec p{margin:0 0 14px;color:#2f333c;font-size:17px}
.sec p.big{font-size:19px;line-height:1.8;color:var(--txt)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.split figure{margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--mute)}.split img{width:100%;height:100%;object-fit:cover}
/* 한눈에 표 */
.spec{border-top:2px solid var(--txt);margin-top:8px}
.spec div{display:grid;grid-template-columns:150px 1fr;border-bottom:1px solid var(--line);padding:15px 0;font-size:16px}
.spec dt{color:var(--sub);font-weight:600}.spec dd{margin:0;font-weight:600}
/* 커리큘럼 타임라인 */
.tl{list-style:none;margin:0 0 26px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:0;counter-reset:t;position:relative}
.tl li{counter-increment:t;position:relative;padding:44px 12px 0 0;font-weight:700;font-size:15px;line-height:1.45}
.tl li:before{content:counter(t,decimal-leading-zero);position:absolute;top:0;left:0;width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;font-size:12px;display:grid;place-items:center;font-weight:800;z-index:1}
.tl li:after{content:"";position:absolute;top:16px;left:32px;right:0;height:2px;background:var(--line)}
.tl li:last-child:after{display:none}
.chk{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 28px}
.chk li{position:relative;padding:0 0 0 30px;font-size:16px;font-weight:500}
.chk li:before{content:"";position:absolute;left:0;top:5px;width:18px;height:18px;border-radius:50%;background:var(--acc-s) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='%23ff5a2c' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.tools span{font-size:13px;font-weight:700;border:1px solid var(--line);border-radius:999px;padding:6px 12px;color:var(--sub)}
/* 갤러리 */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:6px}
.gal figure{margin:0;position:relative;border-radius:14px;overflow:hidden;background:#111;aspect-ratio:4/3}
.gal figure:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gal figure:hover img{transform:scale(1.04)}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 10px;font-size:12px;font-weight:600;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.7))}
.note-s{font-size:13px;color:var(--sub);margin-top:10px}
/* 추천 대상 카드 */
.who{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.who div{background:var(--mute);border-radius:14px;padding:20px 22px;font-weight:600;font-size:16px;line-height:1.55}
.who div b{display:block;color:var(--acc);font-size:13px;margin-bottom:4px}
/* 수업 운영 */
.way{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.way div{border:1px solid var(--line);border-radius:14px;padding:22px}
.way b{display:block;font-size:17px;margin:12px 0 6px}.way p{font-size:15px!important;margin:0!important;color:var(--sub)!important;line-height:1.65}
.way i{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--ink);color:#fff;font-style:normal;font-weight:800;font-size:15px}
/* 환경 사진 밴드 */
.env{background:var(--ink);color:#fff;padding:72px 0}
.env__grid{display:grid;grid-template-columns:1fr 1.6fr;gap:48px;align-items:center}
.env h2{font-size:32px;margin:12px 0 14px;line-height:1.3}.env p{color:#b9bfcb;margin:0 0 22px;font-size:17px}
.env__ph{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;gap:10px;height:400px}
.env__ph img{width:100%;height:100%;object-fit:cover;border-radius:14px}.env__ph img:first-child{grid-row:span 2}
.nums{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:56px;border-top:1px solid rgba(255,255,255,.12);padding-top:34px}
.nums b{display:block;font-size:40px;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.nums span{color:#9aa1b0;font-size:14px}
.env p.nums-src{font-size:12px;color:#6f7685;margin:18px 0 0}
/* 행사 */
.evt{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.evt figure{margin:0}.evt img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:12px}.evt figcaption{font-size:14px;font-weight:700;margin-top:8px}
/* 가는 길 */
.route{display:grid;grid-template-columns:1fr;gap:0;border-top:2px solid var(--txt)}
.route div{display:grid;grid-template-columns:150px 1fr;border-bottom:1px solid var(--line);padding:14px 0;font-size:16px}.route dt{color:var(--sub);font-weight:600}.route dd{margin:0;font-weight:600}
.route-p{background:var(--mute);border-radius:14px;padding:22px 24px}
/* 이웃·다른 과정 */
.dirs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.dirs a{display:flex;justify-content:space-between;align-items:center;text-decoration:none;border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-weight:700}
.dirs a small{font-weight:600;color:var(--sub);font-size:13px}.dirs a:hover{border-color:var(--txt)}
.more-link{display:inline-block;margin-top:16px;font-weight:700;text-decoration:none;border-bottom:2px solid var(--acc)}
.tags{display:flex;flex-wrap:wrap;gap:8px}.tags a{text-decoration:none;background:var(--mute);border-radius:999px;padding:9px 16px;font-size:15px;font-weight:600}.tags a:hover{background:var(--ink);color:#fff}
/* FAQ */
.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:2px solid var(--txt)}
.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;font-weight:700;font-size:17px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:6px;top:14px;font-size:26px;font-weight:400;color:var(--sub)}.faq details[open] summary:after{content:"−"}
.faq details p{margin:0 0 20px!important;color:#3a3f49!important;font-size:16px!important}
.tip{display:flex;gap:14px;align-items:flex-start;background:var(--acc-s);border-radius:14px;padding:20px 22px;font-size:16px}
.tip b{flex:none;background:var(--acc);color:#fff;font-size:12px;border-radius:6px;padding:3px 8px;margin-top:3px}
/* 오른쪽 카드 */
.side{position:sticky;top:140px;display:flex;flex-direction:column;gap:14px}
.card{border:1px solid var(--line);border-radius:18px;padding:24px;background:#fff;box-shadow:0 10px 30px rgba(12,14,19,.06)}
.card h3{margin:0 0 14px;font-size:18px}
.card dl{margin:0 0 18px;display:grid;grid-template-columns:84px 1fr;gap:9px 10px;font-size:14px}.card dt{color:var(--sub)}.card dd{margin:0;font-weight:700}
.card .btn{width:100%;padding:13px}.card .btn+.btn{margin-top:8px}
.card--dark{background:var(--ink);color:#fff;border:0}.card--dark dt{color:#8d94a3}
/* 상담 */
.cs{background:linear-gradient(180deg,#fff 0,#fff 50%,var(--ink) 50%);padding:30px 0 0}
.cs__box{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;background:var(--ink2);color:#fff;border-radius:28px;padding:52px;box-shadow:0 30px 60px rgba(12,14,19,.25);background-image:radial-gradient(600px 300px at 0 0,rgba(255,90,44,.22),transparent 70%)}
.cs h2{font-size:34px;line-height:1.3;margin:12px 0 14px}.cs p{color:#b9bfcb;margin:0 0 24px}
.cs ol{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:12px;counter-reset:c}
.cs ol li{counter-increment:c;display:flex;gap:12px;align-items:center;font-weight:600}
.cs ol li:before{content:counter(c);width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;font-size:13px;flex:none}
.cs__tel{font-size:26px;font-weight:800;text-decoration:none;letter-spacing:-.02em}.cs__tel small{display:block;font-size:13px;color:#8d94a3;font-weight:600;letter-spacing:0}
.fm{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:#fff;color:var(--txt);border-radius:20px;padding:28px}
.fm label span{display:block;font-size:13px;color:var(--sub);font-weight:700;margin-bottom:6px}
.fm input,.fm select,.fm textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:13px 14px;font:inherit;font-size:15px;background:#fafbfc}
.fm input:focus,.fm select:focus,.fm textarea:focus{outline:2px solid var(--acc);border-color:transparent;background:#fff}
.fm__full,.fm__agree,.fm button{grid-column:1/-1}.fm__agree{font-size:13px;color:var(--sub)}.fm__agree input{width:auto;margin-right:6px}
.fm button{border:0;border-radius:12px;padding:17px;background:var(--acc);color:#fff;font:inherit;font-weight:800;font-size:17px;cursor:pointer}.fm button:hover{background:var(--acc-d)}
/* 하단 */
.gf{background:var(--ink);color:#8d94a3;padding:72px 0 110px;font-size:14px}
.gf__top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.08)}
.gf b.brand{color:#fff;font-size:20px;display:block;margin-bottom:8px}.gf h4{color:#fff;margin:0 0 12px;font-size:14px}
.gf__top a,.gf__top span{display:block;text-decoration:none;margin:5px 0}.gf__top a:hover{color:#fff}
.gf__tel{color:#fff!important;font-size:22px;font-weight:800}.gf__copy{padding-top:24px;font-size:12px;line-height:1.8}
.fl{display:none}
/* ---------- 반응형 ---------- */
@media(max-width:1000px){.lay{grid-template-columns:1fr;gap:0}.side{position:static;order:-1;margin-bottom:40px}.side .card+.card+.card{display:none}
.hx__grid,.env__grid,.cs__box{grid-template-columns:1fr}.hx__art{max-width:520px}.hx__badge{left:12px}.split{grid-template-columns:1fr}}
@media(max-width:700px){.w{padding:0 18px}.hx{padding-bottom:44px}.hx h1{font-size:34px}.hx__lead{font-size:16px}.hx__stats{grid-template-columns:1fr 1fr}.hx__stats div:nth-child(3){display:none}
.sec h2{font-size:24px}.sec p{font-size:16px}.sec p.big{font-size:17px}.chk,.who,.way,.evt,.dirs{grid-template-columns:1fr}.gal{grid-template-columns:1fr 1fr}
.spec div,.route div{grid-template-columns:110px 1fr}.env{padding:52px 0}.env__ph{height:260px}.nums{grid-template-columns:1fr 1fr;gap:22px}.nums b{font-size:30px}
.cs__box{padding:30px 22px;border-radius:22px}.cs h2{font-size:26px}.fm{grid-template-columns:1fr;padding:20px}.gf__top{grid-template-columns:1fr 1fr}
.fl{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:70;gap:8px}.fl a{flex:1;text-align:center;padding:15px;border-radius:14px;font-weight:800;text-decoration:none;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.fl a:first-child{background:#fff;color:var(--txt)}.fl a:last-child{background:var(--acc);color:#fff}.tl{grid-template-columns:1fr 1fr}.tl li:after{display:none}}
@media(max-width:700px){.gh__logo small{display:none}.gh__cta{white-space:nowrap;padding:9px 14px}.gh__in{gap:14px}.hx__badge{position:static;margin-top:-30px;margin-left:12px;max-width:none;display:inline-block}.hx__art figure{aspect-ratio:16/11}}

.ct{display:grid;grid-template-columns:1.1fr 1fr;gap:34px;background:var(--ink);color:#fff;border-radius:22px;padding:38px;margin:0 0 64px;background-image:radial-gradient(500px 260px at 100% 0,rgba(255,90,44,.25),transparent 70%)}
.ct h3{font-size:26px;line-height:1.35;margin:10px 0 12px;letter-spacing:-.03em}.ct p{color:#b9bfcb!important;font-size:15px!important;margin:0 0 22px!important}
.ct__b{display:flex;gap:8px;flex-wrap:wrap}.ct__b .btn{padding:13px 18px;font-size:15px}
.ct__l{list-style:none;margin:0;padding:0;display:grid;gap:10px}.ct__l li{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px 16px}
.ct__l b{display:block;font-size:15px}.ct__l span{display:block;color:#9aa1b0;font-size:13px;line-height:1.55;margin-top:2px}
.qf{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:10px;align-items:center;border:2px solid var(--txt);border-radius:18px;padding:18px 20px;margin:0 0 64px}
.qf__t b{display:block;font-size:16px;line-height:1.4}.qf__t span{font-size:12px;color:var(--sub)}
.qf input[name=name],.qf input[name=phone]{border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit;font-size:15px;width:100%;background:#fafbfc}
.qf button{border:0;background:var(--acc);color:#fff;font:inherit;font-weight:800;border-radius:10px;padding:12px 22px;cursor:pointer}
.qf__a{grid-column:2/4;font-size:12px;color:var(--sub);margin-top:-4px}.qf__a input{margin-right:4px}
.sl{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:8px}.sl li{position:relative;padding-left:22px;font-size:14px;font-weight:600}
.sl li:before{content:"";position:absolute;left:0;top:6px;width:12px;height:12px;border-radius:3px;background:var(--acc)}
@media(max-width:800px){.ct{grid-template-columns:1fr;padding:26px 22px}.ct h3{font-size:22px}.qf{grid-template-columns:1fr 1fr}.qf__t{grid-column:1/-1}.qf button{grid-column:1/-1}.qf__a{grid-column:1/-1}}
/* campus cards + course cards (shared) */
.cp{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.cp a{position:relative;display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--txt);background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 18px 16px;transition:border-color .2s,box-shadow .2s,transform .2s}
.cp a:hover{border-color:var(--acc);box-shadow:0 8px 24px rgba(12,14,19,.08);transform:translateY(-2px)}
.cp i{font-style:normal;align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.02em;color:var(--acc-d);background:var(--acc-s);border-radius:999px;padding:2px 9px;margin-bottom:8px}
.cp b{font-size:18px;letter-spacing:-.03em;line-height:1.35}
.cp span{font-size:13px;color:var(--sub);line-height:1.55}
.cp em{font-style:normal;font-size:13px;font-weight:600;color:var(--acc-d);margin-top:10px}.cp em:after{content:" →"}
.dp{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.dp__c{text-decoration:none;border-radius:18px;overflow:hidden;background:var(--ink);color:#fff;position:relative;aspect-ratio:4/5;display:block}
.dp__c img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.dp__c:hover img{transform:scale(1.05)}
.dp__c div{position:absolute;left:0;right:0;bottom:0;padding:60px 18px 18px;background:linear-gradient(transparent,rgba(8,9,12,.92))}
.dp__c b{display:block;font-size:20px;letter-spacing:-.03em}.dp__c span{font-size:13px;color:#c4c9d4}
@media(max-width:1000px){.cp{grid-template-columns:repeat(2,1fr)}.dp{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){
.cp{grid-template-columns:1fr;gap:8px}
.cp a{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"tag name go" "tag addr go";column-gap:12px;row-gap:0;align-items:center;padding:14px 16px}
.cp i{grid-area:tag;margin:0;align-self:center;min-width:38px;text-align:center}
.cp b{grid-area:name;font-size:16px}.cp span{grid-area:addr;font-size:12.5px}
.cp em{grid-area:go;margin:0;font-size:0}.cp em:after{content:"›";font-size:22px;color:var(--sub)}
.dp{grid-template-columns:1fr 1fr}}

.hx--s{padding-bottom:56px}.hx--s h1{font-size:44px}.hx--s .hx__art figure{aspect-ratio:4/3}
.tags span.tag{background:var(--mute);border-radius:999px;padding:9px 16px;font-size:15px;font-weight:600}
.pv h2,.pv h3,.pv h4{margin:28px 0 10px}.pv table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:14px}.pv th,.pv td{border:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}
.pv p,.pv li{font-size:15px!important;line-height:1.8!important}
@media(max-width:700px){.hx--s h1{font-size:30px}}

.ih{background:var(--mute);padding:26px 0 56px;border-bottom:1px solid var(--line)}
.ih .crumb{color:var(--sub)}.ih .crumb a:hover{color:var(--txt)}
.ih__in{max-width:820px}.ih h1{font-size:44px;line-height:1.25;margin:14px 0 18px;font-weight:800}
.ih__lead{font-size:19px;line-height:1.8;color:#30343c;margin:0 0 22px}
.ih__meta{display:flex;gap:16px;font-size:14px;color:var(--sub);font-weight:600}
.ih__chip{display:inline-block;background:var(--ink);color:#fff;font-size:12px;font-weight:700;border-radius:999px;padding:5px 12px}
.ar{max-width:none}.ar h2{font-size:28px;line-height:1.4;margin:56px 0 18px;font-weight:800;scroll-margin-top:100px}.ar h2:first-child{margin-top:0}
.ar p{font-size:18px;line-height:1.9;margin:0 0 18px;color:#262a32}
.ar ul,.ar ol{margin:0 0 22px;padding-left:22px;font-size:17px;line-height:1.85}.ar li{margin:4px 0}
.ar table{width:100%;border-collapse:collapse;margin:0 0 24px;font-size:16px}.ar th,.ar td{text-align:left;padding:13px 12px;border-bottom:1px solid var(--line)}
.ar thead th{border-top:2px solid var(--txt);background:var(--mute);font-weight:700}
.ar .ct{margin:44px 0}.ar .qf{margin:40px 0}
.rk{display:grid;grid-template-columns:160px 1fr;gap:22px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:16px;margin:0 0 40px;text-decoration:none;box-shadow:0 10px 30px rgba(12,14,19,.05)}
.rk img{width:160px;height:120px;object-fit:cover;border-radius:12px}.rk span{font-size:13px;font-weight:700;color:var(--acc)}.rk b{display:block;font-size:19px;margin:2px 0 4px}.rk p{margin:0!important;font-size:15px!important;color:var(--sub)!important;line-height:1.6!important}
.toc{border:1px solid var(--line);border-radius:18px;padding:22px}.toc h3{margin:0 0 10px;font-size:15px}.toc ol{margin:0;padding-left:18px;font-size:14px;line-height:1.7}.toc a{text-decoration:none;color:var(--sub)}.toc a:hover{color:var(--txt)}
.cmp{display:flex;flex-wrap:wrap;gap:8px}.cmp a{text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600}.cmp a:hover{border-color:var(--txt)}
.rg{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rg a{text-decoration:none;border:1px solid var(--line);border-radius:14px;padding:18px}.rg a:hover{border-color:var(--txt)}
.rg span{font-size:12px;font-weight:700;color:var(--acc)}.rg b{display:block;font-size:16px;line-height:1.5;margin-top:4px}
@media(max-width:700px){.ih h1{font-size:30px}.ih__lead{font-size:17px}.ar h2{font-size:23px}.ar p{font-size:17px}.rk{grid-template-columns:1fr}.rk img{width:100%;height:160px}.rg{grid-template-columns:1fr}}
