:root{
  --navy:#14213D; --navy-2:#1C2C4F; --navy-deep:#0E1730;
  --gold:#B8893F; --gold-soft:#D9B77A; --gold-ink:#946A2B;
  --cream:#FAF6EE; --cream-2:#F2ECE0; --white:#fff;
  --ink:#14213D; --ink-soft:#56607A; --line:#E6DDCB;
  --sans:'Noto Sans KR','Noto Sans CJK KR',-apple-system,'Apple SD Gothic Neo',sans-serif;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%;}
body{background:var(--cream); color:var(--ink); font-family:var(--sans); font-size:17px; line-height:1.75; word-break:keep-all; overflow-wrap:break-word; -webkit-font-smoothing:antialiased;}
a{color:inherit; text-decoration:none;}
img{display:block; max-width:100%;}
.wrap{max-width:1140px; margin:0 auto; padding:0 20px;}
.wrap.narrow{max-width:780px;}
:focus-visible{outline:3px solid var(--gold); outline-offset:2px;}
.sym{display:block; height:30px; width:auto; color:var(--navy); overflow:visible;}

header{position:sticky; top:0; z-index:50; background:rgba(250,246,238,.96); backdrop-filter:blur(8px); border-bottom:1px solid var(--line);}
header .row{max-width:1140px; margin:0 auto; padding:12px 20px; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;}
.logo{display:flex; align-items:center; gap:10px;}
.logo .t{display:flex; flex-direction:column; line-height:1.15;}
.logo .t b{font-size:20px; font-weight:900; letter-spacing:-.3px; color:var(--navy);}
.logo .t b em{font-style:normal; color:var(--gold);}
.logo .t span{font-size:10.5px; letter-spacing:.32em; color:var(--ink-soft); font-weight:500;}
.hbtns{display:flex; gap:8px;}
.hbtn{display:inline-flex; align-items:center; justify-content:center; font-weight:700; font-size:15.5px; border-radius:6px; padding:10px 16px; white-space:nowrap;}
.hbtn.ghost{border:1.5px solid var(--navy); color:var(--navy); background:#fff;}
.hbtn.solid{background:var(--navy); color:#fff;}
@media (max-width:640px){ header .row{padding:10px 14px;} .hbtns{width:100%;} .hbtn{flex:1; padding:10px 6px; font-size:15px;} .logo .t b{font-size:18px;} }

.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; font-weight:700; font-size:17px; border-radius:8px; padding:15px 26px;}
.btn.gold{background:var(--gold); color:#fff;}
.btn.line{border:1.5px solid rgba(255,255,255,.6); color:#fff;}

/* 목록 */
.ins-hero{background:radial-gradient(120% 90% at 85% 10%, #22345C 0%, var(--navy) 45%, var(--navy-deep) 100%); color:#fff; padding:64px 0 52px;}
.eyebrow{display:inline-flex; align-items:center; gap:10px; font-size:13px; letter-spacing:.28em; color:var(--gold-soft); font-weight:700; text-transform:uppercase;}
.eyebrow::before{content:""; width:28px; height:1px; background:var(--gold-soft);}
.ins-hero h1{font-size:clamp(32px,5vw,48px); font-weight:900; margin:14px 0 10px; letter-spacing:-1px;}
.ins-hero p{max-width:640px; color:#D5DBE8; font-size:17.5px;}
.ins-list{padding:40px 0 70px;}
.tabs{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:22px;}
.tab{font:inherit; font-size:16px; font-weight:700; padding:9px 18px; border-radius:100px; border:1.5px solid var(--line); background:#fff; color:var(--ink-soft); cursor:pointer;}
.tab.on{background:var(--navy); border-color:var(--navy); color:#fff;}
.icards{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
@media (max-width:980px){ .icards{grid-template-columns:1fr 1fr;} }
@media (max-width:620px){ .icards{grid-template-columns:1fr;} }
.icard{background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; display:flex; flex-direction:column; transition:transform .25s ease, box-shadow .25s ease;}
.icard:hover{transform:translateY(-3px); box-shadow:0 16px 36px rgba(20,33,61,.12);}
.icard[hidden]{display:none;}
.icard .thumb{position:relative; aspect-ratio:16/9; overflow:hidden; background:var(--cream-2);}
.icard .thumb img{width:100%; height:100%; object-fit:cover;}
.ccat{position:absolute; left:12px; top:12px; font-size:14px; font-weight:700; padding:4px 12px; border-radius:100px; background:rgba(20,33,61,.86); color:#fff;}
.ib{padding:18px 20px 20px; display:flex; flex-direction:column; flex:1;}
.ib .d{font-size:14.5px; color:var(--gold-ink); font-weight:700;}
.ib h3{font-size:20px; font-weight:900; line-height:1.42; letter-spacing:-.4px; margin:4px 0 8px;}
.ib p{font-size:16px; color:var(--ink-soft); margin-bottom:14px;}
.ib .more{margin-top:auto; padding-top:12px; border-top:1px solid var(--line); font-weight:700; font-size:16px;}

/* 글 */
.post{padding:30px 0 56px; background:#fff;}
.crumb{font-size:15px; color:var(--ink-soft); margin-bottom:18px;}
.crumb a{text-decoration:underline; text-underline-offset:3px;}
.crumb span{color:var(--ink);}
.cat{display:inline-block; font-size:14.5px; font-weight:700; color:var(--gold-ink); background:var(--cream); border:1px solid var(--line); padding:4px 12px; border-radius:100px;}
.post h1{font-size:clamp(27px,4.4vw,38px); font-weight:900; line-height:1.38; letter-spacing:-.8px; margin:12px 0 10px;}
.post .date{font-size:15.5px; color:var(--ink-soft); margin-bottom:20px;}
.cover{margin:0 0 22px; border-radius:14px; overflow:hidden;}
.cover img{width:100%; aspect-ratio:16/9; object-fit:cover;}
.summary{background:var(--cream); border:1px solid var(--line); border-left:5px solid var(--gold); border-radius:12px; padding:18px 20px; margin-bottom:28px;}
.summary b{display:block; font-size:17px; margin-bottom:6px;}
.summary ul{padding-left:20px;}
.summary li{font-size:17px; margin:3px 0;}
.body h2{font-size:clamp(22px,3.2vw,27px); font-weight:900; line-height:1.4; letter-spacing:-.5px; margin:38px 0 12px; padding-top:14px; border-top:2px solid var(--navy);}
.body h3{font-size:20px; font-weight:900; margin:24px 0 8px;}
.body p{font-size:17.5px; margin:0 0 14px;}
.body ul,.body ol{padding-left:22px; margin:0 0 16px;}
.body li{font-size:17.5px; margin:5px 0;}
.body strong{color:var(--navy); background:linear-gradient(transparent 62%, rgba(217,183,122,.45) 62%);}
.tbl{overflow-x:auto; margin:0 0 18px; border:1px solid var(--line); border-radius:12px;}
.body table{width:100%; border-collapse:collapse; font-size:16.5px;}
@media (max-width:480px){ .body th,.body td{padding:10px 8px; font-size:16px;} }
.body th{background:var(--navy); color:#fff; font-weight:700; padding:11px 12px; text-align:left;}
.body td{padding:11px 12px; border-top:1px solid var(--line);}
.body tr:nth-child(even) td{background:var(--cream);}
.body td.hl{color:var(--gold-ink); font-weight:900;}
.note{font-size:15.5px; color:var(--ink-soft); background:var(--cream); border-radius:10px; padding:12px 14px; margin:0 0 16px;}
.steps{list-style:none; padding:0 !important; counter-reset:s;}
.steps li{position:relative; padding:12px 14px 12px 54px; background:var(--cream); border-radius:10px; margin:8px 0;}
.steps li::before{counter-increment:s; content:counter(s); position:absolute; left:14px; top:12px; width:28px; height:28px; border-radius:50%; background:var(--navy); color:var(--gold-soft); font-weight:900; font-size:15px; display:flex; align-items:center; justify-content:center;}
.calc{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0 0 16px;}
@media (max-width:600px){ .calc{grid-template-columns:1fr;} }
.calc div{background:var(--cream); border:1px solid var(--line); border-radius:12px; padding:14px; text-align:center;}
.calc span{display:block; font-size:15px; color:var(--ink-soft);}
.calc b{display:block; font-size:24px; font-weight:900; color:var(--navy);}
.calc .g b{color:var(--gold-ink);}
.rel{display:flex; gap:14px; align-items:center; border:1.5px solid var(--navy); border-radius:14px; overflow:hidden; margin:30px 0 18px; background:#fff;}
.rel img{width:150px; height:110px; object-fit:cover; flex:none;}
.rel div{padding:10px 12px 10px 0;}
.rel span{display:block; font-size:14px; color:var(--gold-ink); font-weight:700;}
.rel b{display:block; font-size:19px; font-weight:900; line-height:1.35;}
.rel em{display:block; font-style:normal; font-size:15.5px; color:var(--ink-soft); margin-top:2px;}
@media (max-width:420px){ .rel img{width:110px; height:96px;} .rel b{font-size:17px;} }
.disc{font-size:14.5px; color:var(--ink-soft); line-height:1.65; margin:18px 0 22px;}
.back{display:inline-flex; font-weight:700; font-size:17px; border:1.5px solid var(--navy); border-radius:8px; padding:12px 20px;}

/* CTA */
.ins-cta{background:var(--navy); color:#fff; padding:52px 0; text-align:center;}
.ins-cta .k{font-size:14px; letter-spacing:.2em; color:var(--gold-soft); font-weight:700;}
.ins-cta h2{font-size:clamp(24px,3.6vw,32px); font-weight:900; line-height:1.4; margin:8px 0 10px;}
.ins-cta h2 em{font-style:normal; color:var(--gold-soft);}
.ins-cta p{color:#C8D0E0; margin-bottom:20px;}
.ins-cta .ctas{display:flex; gap:10px; justify-content:center; flex-wrap:wrap;}
@media (max-width:520px){ .ins-cta .ctas .btn{flex:1 1 100%;} }
.ins-cta small{display:block; margin-top:14px; color:#A6AFC4; font-size:15px;}

@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} .icard{transition:none;} }

/* ── 포털 공통: 메뉴바·푸터 ── */
.gnb{border-top:1px solid var(--line); background:rgba(255,255,255,.7);}
.gnb-in{max-width:1140px; margin:0 auto; padding:0 12px; display:flex; gap:2px; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch;}
.gnb-in::-webkit-scrollbar{display:none;}
.gnb a{flex:none; padding:11px 14px; font-size:16px; font-weight:700; color:var(--ink-soft); border-bottom:3px solid transparent; white-space:nowrap;}
.gnb a:hover{color:var(--navy);}
.gnb .s{display:none;}
@media (max-width:480px){ .gnb .l{display:none;} .gnb .s{display:inline;} }
.gnb a.on{color:var(--navy); border-bottom-color:var(--gold);}
@media (max-width:480px){ .gnb-in{padding:0 6px; justify-content:space-between; gap:0;} .gnb a{padding:10px 7px; font-size:15px; letter-spacing:-.3px;} }
@media (min-width:768px){ .gnb-in{padding:0 20px; gap:8px;} .gnb a{font-size:16.5px; padding:12px 16px;} }
footer{background:var(--navy-deep); color:#A6AFC4; padding:46px 0 40px; font-size:15px;}
.fmap{display:grid; grid-template-columns:1.2fr 1.3fr 1.3fr 1fr; gap:26px; padding-bottom:26px; border-bottom:1px solid rgba(255,255,255,.1); margin-bottom:18px;}
@media (max-width:900px){ .fmap{grid-template-columns:1fr 1fr;} .fbrand{grid-column:1 / -1;} }
@media (max-width:480px){ .fmap{grid-template-columns:1fr;} }
footer .flogo{display:flex; align-items:center; gap:10px; margin-bottom:12px; color:#fff;}
footer .flogo .sym{color:#fff; height:26px;}
footer .flogo b{font-size:18px; color:#fff;} footer .flogo b em{font-style:normal; color:var(--gold-soft);}
.ftel{line-height:1.5; margin-bottom:6px;} .ftel a{font-size:26px; font-weight:900; color:var(--gold-soft);}
.fcol h4{color:#fff; font-size:16px; margin-bottom:10px;}
.fcol a{display:block; padding:4px 0; color:#C2C9D8; font-size:15.5px; line-height:1.5;}
.fcol a:hover{color:var(--gold-soft);}
.fdisc{line-height:1.7; margin-bottom:8px;}
.fcopy{color:#7C869D; font-size:14px;}

/* ── 캘린더 ── */
.cal{padding:34px 0 60px;}
.sh{display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:4px 14px; margin-bottom:14px;}
.sh h2{font-size:clamp(22px,3vw,26px); font-weight:900; letter-spacing:-.5px;}
.sh span{font-size:15px; color:var(--ink-soft);}
.ogs{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:40px;}
@media (max-width:900px){ .ogs{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .ogs{grid-template-columns:1fr;} }
.og{display:flex; flex-direction:column; gap:4px; background:#fff; border:1px solid var(--line); border-left:4px solid var(--gold); border-radius:12px; padding:16px 18px;}
.og:hover{box-shadow:0 12px 26px rgba(20,33,61,.1);}
.og .kd,.ev .kd{align-self:flex-start; font-size:13.5px; font-weight:900; padding:3px 10px; border-radius:100px; background:var(--navy); color:#fff;}
.og b{font-size:18px; font-weight:900; line-height:1.4;}
.og p{font-size:15.5px; color:var(--ink-soft); line-height:1.55;}
.og em{font-style:normal; font-weight:700; font-size:15px; color:var(--gold-ink); margin-top:4px;}
.mo{font-size:18px; font-weight:900; color:var(--gold-ink); margin:26px 0 10px; padding-bottom:6px; border-bottom:1px solid var(--line);}
.tl{list-style:none;}
.ev{display:flex; gap:14px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:14px 16px; margin-bottom:10px;}
.ev .dt{flex:none; width:78px; text-align:center; border-right:1px solid var(--line); padding-right:12px;}
.ev .dt b{display:block; white-space:nowrap; font-size:22px; font-weight:900; color:var(--navy); line-height:1.2;}
.ev .dt span{font-size:14px; color:var(--ink-soft);}
.ev .ec{flex:1; min-width:0;}
.ev .ec a{display:block;}
.ev .ec a b{font-size:18px; font-weight:900; line-height:1.4;}
.ev .ec a:hover b{text-decoration:underline; text-underline-offset:3px;}
.ev .ec p{font-size:15.5px; color:var(--ink-soft); line-height:1.55; margin-top:2px;}
.ev .ec small{font-size:14px; color:var(--gold-ink); font-weight:700;}
.ev .dd{display:inline-block; margin-left:6px; font-size:13.5px; font-weight:900; padding:3px 9px; border-radius:6px; background:var(--cream-2); color:var(--navy);}
.ev .dd.hot{background:#C2412D; color:#fff;}
.ev .dd.end{background:#E4E4E4; color:#888;}
.k-a .kd{background:#2F5DA8;} .k-b .kd{background:#7A4FB0;} .k-c .kd{background:#1F7A5A;} .k-d .kd{background:#C2412D;} .k-e .kd{background:var(--gold);}
.ev.past{opacity:.55;}
@media (max-width:420px){ .ev{gap:10px; padding:12px;} .ev .dt{width:62px; padding-right:8px;} .ev .dt b{font-size:18px;} .ev .ec a b{font-size:17px;} }
.cal .disc,.qna .disc{font-size:14.5px; color:var(--ink-soft); line-height:1.65; margin-top:24px;}

/* ── Q&A ── */
.qna{padding:34px 0 60px;}
.qas{display:flex; flex-direction:column; gap:10px;}
.qa{background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden;}
.qa[hidden]{display:none;}
.qa summary{list-style:none; cursor:pointer; display:flex; align-items:flex-start; gap:12px; padding:16px 18px;}
.qa summary::-webkit-details-marker{display:none;}
.qa .q,.qa .aa{flex:none; width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:900; font-size:16px;}
.qa .q{background:var(--navy); color:var(--gold-soft);}
.qa .aa{background:var(--gold); color:#fff;}
.qa .qt{flex:1; font-size:17.5px; font-weight:700; line-height:1.5; padding-top:2px;}
.qa .qc{flex:none; font-size:13.5px; color:var(--gold-ink); font-weight:700; padding-top:5px;}
@media (max-width:480px){ .qa .qc{display:none;} }
.qa[open] summary{border-bottom:1px dashed var(--line);}
.qa .a{display:flex; gap:12px; padding:16px 18px; background:var(--cream);}
.qa .a p{font-size:17px; line-height:1.75;}
.qa .a b{color:var(--navy);}
.ask{margin-top:24px; background:var(--navy); color:#fff; border-radius:14px; padding:22px; text-align:center;}
.ask b{font-size:20px;} .ask p{color:#C8D0E0; margin:6px 0 14px;}
.btn.navy{background:var(--gold); color:#fff;}
/* 비교 카드 */
.cmp3{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0 0 14px;}
@media (max-width:760px){ .cmp3{grid-template-columns:1fr;} }
.cp{border:1px solid var(--line); border-radius:12px; padding:16px; background:#fff;}
.cp.best{border:2px solid var(--gold); background:#FFFCF5;}
.cp .tg{display:inline-block; font-size:13.5px; font-weight:900; color:#fff; background:var(--navy); padding:3px 10px; border-radius:100px;}
.cp.best .tg{background:var(--gold);}
.cp h3{font-size:21px !important; margin:8px 0 8px !important;}
.cp dl{display:grid; grid-template-columns:44px 1fr; gap:6px 10px; font-size:16.5px;}
.cp dt{color:var(--ink-soft); font-weight:700;}
.cp dd{line-height:1.5;}
.cp dd.r{font-weight:900; color:var(--gold-ink);}
.cp ul{padding-left:18px; margin:0;}
.cp li{font-size:16.5px; margin:3px 0;}
.guide-links{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0 0 16px;}
@media (max-width:760px){ .guide-links{grid-template-columns:1fr;} }
.guide-links a{display:block; background:var(--navy); color:#fff; border-radius:12px; padding:14px 16px; font-weight:700; font-size:16.5px; line-height:1.45;}
.guide-links a small{display:block; color:var(--gold-soft); font-size:14px; font-weight:700;}
.qa .a a{color:var(--gold-ink); font-weight:700; white-space:nowrap;}
.body a{color:var(--gold-ink); text-decoration:underline; text-underline-offset:3px;} .body .guide-links a{color:#fff; text-decoration:none;}
.shot{margin:14px 0 22px; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:#fff; box-shadow:0 8px 22px rgba(20,33,61,.08);}
.shot img{width:100%; height:auto; display:block;}
.shot figcaption{padding:10px 14px; font-size:15px; color:var(--ink-soft); background:var(--cream); border-top:1px solid var(--line);}
.shot figcaption::after{content:" · 누르면 크게 보기"; color:var(--gold-ink); font-weight:700;}

/* 캘린더 확장 */
.k-f .kd{background:#0F7C8C;} .k-g .kd{background:#5A6170;}
.ev .ourk{display:inline-block; margin-left:6px; font-size:13px; font-weight:900; padding:3px 8px; border-radius:6px; border:1px solid var(--gold); color:var(--gold-ink); background:#fff;}
.ev .ec b.nt{display:block; font-size:18px; font-weight:900; line-height:1.4;}
.ev .emore{display:block !important; width:max-content; max-width:100%; margin:4px 0 2px; font-size:15px; font-weight:700; color:var(--navy); text-decoration:underline; text-underline-offset:3px;}
.ev.ext{background:#FCFBF8;}
.cal-legend{display:flex; flex-wrap:wrap; gap:8px 14px; font-size:14.5px; color:var(--ink-soft); margin:-4px 0 14px;}
.cal-legend .ourk{font-size:13px; font-weight:900; padding:2px 8px; border-radius:6px; border:1px solid var(--gold); color:var(--gold-ink); background:#fff;}
@media (max-width:420px){ .ev .ec b.nt{font-size:17px;} }

/* ── 청약 가이드 인포그래픽 ── */
.cy-def{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0 0 18px;}
.cy-def>div{background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px; text-align:center;}
.cy-def .cy-ic{width:52px; height:52px; margin:0 auto 8px; border-radius:50%; background:var(--navy); color:var(--gold-soft); display:flex; align-items:center; justify-content:center;} .cy-def .cy-ic svg{width:28px; height:28px;}
.cy-sp b i.nw{font-style:normal; font-size:12px; font-weight:900; background:#C2412D; color:#fff; padding:2px 6px; border-radius:5px; vertical-align:2px; margin-left:4px;}
.cy-def b{display:block; font-size:19px; font-weight:900; color:var(--navy); margin-bottom:4px;}
.cy-def p{font-size:16px !important; line-height:1.6; margin:0 !important; color:var(--ink-soft);}
@media (max-width:640px){ .cy-def{grid-template-columns:1fr;} .cy-def>div{display:grid; grid-template-columns:48px 1fr; text-align:left; gap:0 12px; align-items:start;} .cy-def .cy-ic{grid-row:1 / 3; width:46px; height:46px; margin:2px 0 0;} .cy-def .cy-ic svg{width:24px; height:24px;} }
.cy-flow{list-style:none; padding:0 !important; margin:0 0 14px !important; counter-reset:none; position:relative;}
.cy-flow li{display:flex; gap:14px; align-items:flex-start; background:#fff; border:1px solid var(--line); border-radius:14px; padding:14px 16px; margin:0 0 10px !important; position:relative; font-size:inherit !important;}
.cy-flow li:not(:last-child)::after{content:''; position:absolute; left:36px; bottom:-11px; width:2px; height:12px; background:var(--gold);}
.cy-flow .no{flex:none; width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:900; font-size:20px; color:#fff; background:var(--navy); border:3px solid var(--gold-soft);}
.cy-flow b{display:block; font-size:19px; font-weight:900; color:var(--navy); line-height:1.35;}
.cy-flow b em{font-style:normal; font-size:15px; font-weight:700; color:var(--gold-ink); background:var(--cream); padding:2px 8px; border-radius:6px; margin-left:6px; vertical-align:2px; white-space:nowrap;}
.cy-flow p{font-size:16px !important; color:var(--ink-soft); line-height:1.55; margin:3px 0 7px !important;}
.cy-flow .tg{display:inline-block; font-size:14px; font-weight:700; padding:3px 9px; border-radius:100px; background:var(--cream-2); color:var(--navy); margin:0 4px 4px 0;}
.cy-flow .tg.need{background:#E8EDF7; color:#2F4A86;}
.cy-flow .tg.free{background:#E5F4EC; color:#1F7A4A;}
.cy-flow .s1{border-left:5px solid #7A4FB0;} .cy-flow .s1 .no{background:#7A4FB0;}
.cy-flow .s2{border-left:5px solid #2F5DA8;} .cy-flow .s2 .no{background:#2F5DA8;}
.cy-flow .s3{border-left:5px solid #5A7BB8;} .cy-flow .s3 .no{background:#5A7BB8;}
.cy-flow .s4{border-left:5px solid #C2412D; background:#FFFBF8;} .cy-flow .s4 .no{background:#C2412D;}
.cy-flow .s5{border-left:5px solid var(--gold); background:#FFFCF5;} .cy-flow .s5 .no{background:var(--gold);}
@media (max-width:420px){ .cy-flow li{gap:11px; padding:13px 12px;} .cy-flow li:not(:last-child)::after{left:31px;} .cy-flow .no{width:38px; height:38px; font-size:18px;} .cy-flow b{font-size:18px;} .cy-flow b em{display:inline-block; margin:4px 0 0; vertical-align:0;} }
.cy-sp{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0 0 14px;}
.cy-sp>div{background:#fff; border:1px solid var(--line); border-top:4px solid #7A4FB0; border-radius:12px; padding:14px;}
.cy-sp b{display:block; font-size:17.5px; font-weight:900; color:var(--navy); margin-bottom:4px;}
.cy-sp p{font-size:16px !important; line-height:1.55; color:var(--ink-soft); margin:0 !important;}
.cy-sp>div:first-child{border-top-color:#C2412D; background:#FFFBF8;}
@media (max-width:640px){ .cy-sp{grid-template-columns:1fr 1fr; gap:8px;} .cy-sp>div{padding:12px;} }
.cy-two{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0 0 18px;}
.cy-two>div{border-radius:14px; padding:16px; border:1px solid var(--line); background:#fff;}
.cy-two .a{border-top:5px solid #1F7A5A;} .cy-two .b{border-top:5px solid #C2412D;}
.cy-two span{display:inline-block; font-size:14px; font-weight:900; padding:3px 10px; border-radius:100px; color:#fff;}
.cy-two .a span{background:#1F7A5A;} .cy-two .b span{background:#C2412D;}
.cy-two b{display:block; font-size:18px; font-weight:900; color:var(--navy); margin:6px 0 4px;}
.cy-two ul{padding-left:18px !important; margin:0 0 6px !important;}
.cy-two li{font-size:16.5px !important; margin:3px 0 !important;}
.cy-two small{font-size:14.5px; color:var(--ink-soft);}
@media (max-width:560px){ .cy-two{grid-template-columns:1fr;} }
.cy-next{background:var(--navy); border-radius:14px; padding:18px; margin:0 0 18px;}
.cy-next>b{display:block; color:#fff; font-size:18px; font-weight:900; margin-bottom:10px;}
.body .cy-next a{display:flex; align-items:center; gap:10px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); color:#fff; text-decoration:none; border-radius:10px; padding:12px 14px; font-size:16.5px; font-weight:700; margin-top:8px; line-height:1.4;}
.body .cy-next a:hover{background:rgba(255,255,255,.14);}
.cy-next a span{flex:none; font-size:13.5px; font-weight:900; padding:3px 8px; border-radius:6px; background:var(--gold); color:var(--navy);}

.cy-dep table{table-layout:fixed;} .cy-dep td,.cy-dep th{text-align:center;} .cy-dep td:first-child{font-weight:700; color:var(--navy);}
@media (max-width:480px){ .cy-dep table{font-size:15.5px !important;} .cy-dep th,.cy-dep td{padding:10px 3px !important; word-break:keep-all;} .cy-dep th{font-size:14.5px; line-height:1.35;} .cy-dep tr>*:first-child{width:22%;} }
@media (min-width:481px){ .cy-dep td br{display:none;} }

/* ── 모바일 캡처 가이드 ── */
.phones{display:grid; grid-template-columns:1fr; gap:0 14px; margin:6px 0 10px;}
@media (min-width:640px){ .phones{grid-template-columns:1fr 1fr; align-items:start;} .phones .shot.ph:only-child{grid-column:1 / -1; max-width:340px; margin-left:auto; margin-right:auto;} }
@media (max-width:639px){ .shot.ph{max-width:400px; margin-left:auto; margin-right:auto;} }
.cy-alert{background:#FFF6F3; border:2px solid #E5484D; border-radius:14px; padding:16px 18px; margin:0 0 22px;}
.cy-alert>b{display:block; font-size:18px; font-weight:900; color:#B42318; margin-bottom:6px;}
.cy-alert p{font-size:16.5px !important; margin:0 0 10px !important;}
.body .cy-alert a{display:inline-block; background:#B42318; color:#fff; text-decoration:none; font-weight:700; font-size:16px; padding:9px 14px; border-radius:10px;}
.dev-tabs{display:grid; grid-template-columns:1fr 1fr; gap:6px; background:var(--cream); padding:8px 0; margin:6px 0 14px;}
.dev-tabs button{font:inherit; cursor:pointer; padding:13px 8px; border-radius:12px; border:2px solid var(--line); background:#fff; color:var(--navy); font-size:16.5px; font-weight:900;}
.dev-tabs button.on{background:var(--navy); color:#fff; border-color:var(--navy);}
@media (max-width:420px){ .dev-tabs button{font-size:15.5px; padding:12px 4px;} }

/* ── 작성자·목차·FAQ ── */
.metarow .date a{color:var(--navy); font-weight:900; text-decoration:underline; text-underline-offset:3px;}
.au-top{display:flex; align-items:center; gap:12px; background:#fff; border:1px solid var(--line); border-radius:14px; padding:10px 14px; margin:0 0 18px;}
.au-top img{width:48px; height:48px; border-radius:50%; object-fit:cover; border:2px solid var(--gold-soft); flex:none;}
.au-top span{font-size:15.5px; color:var(--ink-soft); line-height:1.45;} .au-top b{color:var(--navy); font-size:17px; margin-right:4px;}
.au-top small{display:block; font-size:14.5px; color:var(--gold-ink); font-weight:700;}
.toc{background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 18px; margin:0 0 24px;}
.toc b{display:block; font-size:17px; color:var(--navy); margin-bottom:6px;}
.toc ol{padding-left:22px; margin:0;} .toc li{font-size:16.5px; margin:4px 0;} .toc a{color:var(--ink);} .toc a:hover{color:var(--gold-ink); text-decoration:underline;}
.body h2[id]{scroll-margin-top:130px;}
.pfaq{margin:30px 0 10px;} .pfaq h2{font-size:clamp(22px,3.2vw,27px); font-weight:900; margin:0 0 12px; padding-top:14px; border-top:2px solid var(--navy);}
.au-card{display:flex; gap:18px; align-items:center; background:var(--navy); color:#fff; border-radius:18px; padding:20px; margin:30px 0 8px; overflow:hidden;}
.au-card>img{width:130px; height:200px; object-fit:cover; object-position:top; border-radius:12px; border:3px solid var(--gold-soft); flex:none; background:#fff;}
.au-card .k{display:inline-block; font-size:13.5px; font-weight:900; color:var(--navy); background:var(--gold-soft); padding:3px 10px; border-radius:100px;}
.au-card b{display:block; font-size:22px; font-weight:900; margin:6px 0 4px;} .au-card b em{font-style:normal; font-size:15px; color:var(--gold-soft); margin-left:6px;}
.au-card p{font-size:16px; line-height:1.65; color:#DCE2EE; margin:0 0 12px;}
.au-btns{display:flex; flex-wrap:wrap; gap:8px;} .au-btns a{font-size:15.5px; font-weight:700; padding:9px 14px; border-radius:10px; border:1px solid rgba(255,255,255,.3); color:#fff;}
.au-btns a.call{background:var(--gold); border-color:var(--gold); color:var(--navy);}
@media (max-width:520px){ .au-card{flex-direction:column; text-align:center;} .au-card>img{width:150px; height:210px;} .au-btns{justify-content:center;} }
.rp-pros{counter-reset:rp; list-style:none; padding:0 !important; margin:0 0 18px !important;}
.rp-pros>li{counter-increment:rp; position:relative; background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 16px 14px 62px; margin:0 0 10px !important;}
.rp-pros>li::before{content:counter(rp); position:absolute; left:16px; top:16px; width:34px; height:34px; border-radius:50%; background:var(--navy); color:var(--gold-soft); font-weight:900; font-size:17px; display:flex; align-items:center; justify-content:center;}
.rp-pros b{display:block; font-size:18px; color:var(--navy); margin-bottom:4px;} .rp-pros p{font-size:16.5px !important; margin:0 !important; color:var(--ink);}
.rp-facts{display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:0 0 18px;}
.rp-facts div{background:#fff; border:1px solid var(--line); border-radius:12px; padding:12px 8px; text-align:center;}
.rp-facts b{display:block; font-size:20px; font-weight:900; color:var(--navy); line-height:1.3;} .rp-facts span{font-size:14.5px; color:var(--ink-soft);}
@media (max-width:480px){ .rp-facts{grid-template-columns:repeat(2,1fr);} }
.rp-fit{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0 0 18px;}
.rp-fit div{background:#fff; border:1px solid var(--line); border-left:4px solid var(--gold); border-radius:12px; padding:14px;}
.rp-fit b{display:block; font-size:17px; color:var(--navy); margin-bottom:4px;} .rp-fit p{font-size:16px !important; margin:0 !important; color:var(--ink-soft);}
@media (max-width:560px){ .rp-fit{grid-template-columns:1fr;} }
.rp-quote{background:var(--cream-2); border-left:5px solid var(--navy); border-radius:0 12px 12px 0; padding:14px 18px; margin:0 0 18px; font-size:17px; color:var(--navy); font-weight:700; line-height:1.7;}

/* ── 전문가 소개 ── */
.ex-hero{background:linear-gradient(180deg,var(--navy-deep),var(--navy)); color:#fff; padding:34px 0 30px;}
.ex-hero .wrap{display:flex; gap:28px; align-items:center;}
.ex-img img{width:220px; height:auto; border-radius:18px; border:4px solid var(--gold-soft); background:#fff; display:block;}
.ex-txt .eyebrow{color:var(--gold-soft);}
.ex-txt h1{font-size:clamp(34px,5vw,46px); font-weight:900; margin:4px 0 2px; color:#fff;}
.ex-role{font-size:17px; color:#C9D1E3; margin:0 0 10px;}
.ex-quote{font-size:19px; font-weight:700; color:var(--gold-soft); margin:0 0 14px; line-height:1.5;}
.ex-chips{list-style:none; padding:0; margin:0 0 16px; display:flex; flex-wrap:wrap; gap:6px;}
.ex-chips li{font-size:15px; font-weight:700; padding:5px 12px; border-radius:100px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.22);}
.ex-cta{display:flex; flex-wrap:wrap; gap:8px;}
@media (max-width:640px){ .ex-hero .wrap{flex-direction:column; text-align:center;} .ex-img img{width:180px;} .ex-chips,.ex-cta{justify-content:center;} }
.ex-sec{margin:30px 0;} .ex-sec h2{font-size:clamp(22px,3.2vw,27px); font-weight:900; color:var(--navy); margin:0 0 12px; padding-top:14px; border-top:2px solid var(--navy);}
.ex-sec>p{font-size:17px; line-height:1.8; margin:0 0 14px;}
.ex-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:10px;}
.ex-cards div{background:#fff; border:1px solid var(--line); border-top:4px solid var(--gold); border-radius:12px; padding:14px;}
.ex-cards b{display:block; font-size:18px; color:var(--navy); margin-bottom:4px;} .ex-cards p{font-size:16px; color:var(--ink-soft); margin:0; line-height:1.6;}
@media (max-width:640px){ .ex-cards{grid-template-columns:1fr;} }
.ex-sec .icards{display:grid; grid-template-columns:1fr; gap:12px;}
.ex-homes{display:grid; grid-template-columns:1fr 1fr; gap:8px;}
.ex-homes a{display:flex; justify-content:space-between; align-items:center; background:#fff; border:1px solid var(--line); border-radius:10px; padding:13px 14px; font-size:16.5px; font-weight:700; color:var(--navy);}
.ex-homes i{font-style:normal; color:var(--gold); font-size:20px;}
@media (max-width:560px){ .ex-homes{grid-template-columns:1fr;} }
/* 메인 전문가 밴드 */
.ex-band{display:flex; align-items:center; gap:16px; margin-top:16px; background:var(--navy); color:#fff; border-radius:16px; padding:16px 18px;}
.ex-band img{width:64px; height:64px; border-radius:50%; border:3px solid var(--gold-soft); object-fit:cover; flex:none;}
.ex-band div{flex:1;} .ex-band b{display:block; font-size:18px; font-weight:900; line-height:1.4;} .ex-band b em{font-style:normal; color:var(--gold-soft);}
.ex-band p{font-size:15.5px; color:#C9D1E3; margin:2px 0 0; line-height:1.5;}
.ex-band .go{flex:none; font-size:15.5px; font-weight:900; background:var(--gold); color:var(--navy); padding:10px 14px; border-radius:10px;}
@media (max-width:560px){ .ex-band{flex-wrap:wrap;} .ex-band .go{width:100%; text-align:center;} }
.ex-soon{background:#fff; border:1px dashed var(--gold); border-radius:12px; padding:16px; font-size:16.5px; color:var(--ink-soft); margin:0;}
.ex-more{margin:0 0 16px;} .ex-more a{font-weight:900; color:var(--navy); text-decoration:underline; text-underline-offset:3px;}
.ex-plist{display:grid; grid-template-columns:1fr; gap:14px; margin:28px 0;}
.ex-pcard{display:flex; gap:18px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:16px; padding:16px; transition:box-shadow .2s ease;}
.ex-pcard:hover{box-shadow:0 14px 30px rgba(20,33,61,.1);}
.ex-pcard img{width:120px; height:190px; object-fit:cover; object-position:top; border-radius:12px; border:3px solid var(--gold-soft); flex:none;}
.ex-pcard b{display:block; font-size:24px; font-weight:900; color:var(--navy);} .ex-pcard span{display:block; font-size:15.5px; color:var(--ink-soft); margin:2px 0 8px; line-height:1.5;}
.ex-pcard ul{list-style:none; padding:0; margin:0 0 8px; display:flex; flex-wrap:wrap; gap:6px;} .ex-pcard li{font-size:14.5px; font-weight:700; padding:4px 10px; border-radius:100px; background:var(--cream-2); color:var(--navy);}
.ex-pcard em{font-style:normal; font-weight:900; color:var(--gold-ink); font-size:15.5px;}
@media (max-width:480px){ .ex-pcard{gap:12px; padding:12px;} .ex-pcard img{width:96px; height:160px;} .ex-pcard b{font-size:21px;} }
.phones.ph2{grid-template-columns:1fr 1fr; gap:0 10px;} .phones.ph2 .shot figcaption::after{content:"";} .phones.ph2 .shot img{aspect-ratio:3/4; object-fit:cover;}

/* ── 비교 리포트 ── */
.cmpt th.u{background:#C9472A;} .cmpt th.p{background:#134B55;}
.cmp-fit{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 0 18px;}
.cmp-fit>div{background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px; border-top:6px solid #C9472A;}
.cmp-fit>div.p{border-top-color:#134B55;}
.cmp-fit b{display:block; font-size:18px; margin-bottom:6px; color:#A33A1F;} .cmp-fit .p b{color:#134B55;}
.cmp-fit ul{padding-left:20px !important; margin:0 0 10px !important;} .cmp-fit li{font-size:16.5px !important; margin:4px 0 !important;}
.body .cmp-fit a{font-weight:900; font-size:16px;}
@media (max-width:560px){ .cmp-fit{grid-template-columns:1fr;} }
.cmpq{background:var(--navy); color:#fff; border-radius:16px; padding:18px; margin:0 0 20px;}
.cmpq .qh{display:block; font-size:19px; font-weight:900;} .cmpq .qs{font-size:15.5px !important; color:#C9D1E3; margin:2px 0 12px !important;}
.cmpq .qi{background:rgba(255,255,255,.06); border-radius:12px; padding:12px; margin-bottom:8px;}
.cmpq .qi p{font-size:16.5px !important; font-weight:700; margin:0 0 8px !important; color:#fff;} .cmpq .qi p span{color:var(--gold-soft); margin-right:6px;}
.cmpq .qb{display:grid; grid-template-columns:1fr 1fr; gap:6px;}
.cmpq button{font:inherit; cursor:pointer; font-size:15.5px; font-weight:700; padding:11px 8px; border-radius:10px; border:1px solid rgba(255,255,255,.25); background:#fff; color:var(--navy); line-height:1.35;}
.cmpq button.on{background:var(--gold); border-color:var(--gold); color:var(--navy);}
.cmpq .qr{background:#fff; color:var(--navy); border-radius:12px; padding:16px; margin-top:10px;}
.cmpq .qr b{display:block; font-size:20px; font-weight:900;} .cmpq .qr p{color:var(--ink-soft) !important; font-size:16px !important; margin:4px 0 10px !important; font-weight:400 !important;}
.body .cmpq .qr a{display:inline-block; margin:4px 8px 0 0; font-weight:900; font-size:15.5px;}
.cmpq .qn{font-size:14px !important; color:#AEB8CC; margin:10px 0 0 !important;}

/* ── 자금 계산기 ── */
.fcalc .wrap{padding-top:22px; padding-bottom:30px;}
.cf{background:#fff; border:1px solid var(--line); border-radius:18px; padding:20px; box-shadow:0 12px 30px rgba(20,33,61,.07);}
.cf-row{margin-bottom:18px;}
.cf-row>label,.cf-l{display:block; font-size:18px; font-weight:900; color:var(--navy); margin-bottom:8px;} .cf-row label small{font-size:15px; color:var(--ink-soft); font-weight:700;}
.cf-in{display:flex; align-items:center; border:2px solid var(--line); border-radius:12px; background:var(--cream); padding:0 14px;}
.cf-in:focus-within{border-color:var(--gold);}
.cf-in input{flex:1; min-width:0; border:0; background:transparent; font:inherit; font-size:22px; font-weight:900; color:var(--navy); padding:13px 0; outline:none;}
.cf-in span{font-size:17px; font-weight:700; color:var(--ink-soft);}
.cf-h{font-size:15px; color:var(--gold-ink); margin:6px 2px 0; font-weight:700;}
.cf-chk{display:grid; gap:8px;}
.cf-chk label{display:flex; align-items:center; gap:10px; border:2px solid var(--line); border-radius:12px; padding:13px 14px; cursor:pointer; font-size:16.5px; font-weight:700; background:#fff;}
.cf-chk input{width:22px; height:22px; accent-color:var(--navy); flex:none;}
.cf-chk label:has(input:checked){border-color:var(--navy); background:var(--cream);}
.cf-go{width:100%; font-size:19px !important; padding:16px !important; border:0; cursor:pointer;}
.cf-note{font-size:14.5px; color:var(--ink-soft); text-align:center; margin:10px 0 0;}
.cr{margin-top:22px;}
.cr h2{font-size:21px; font-weight:900; color:var(--navy); margin:24px 0 10px;}
.cr-main{background:var(--navy); color:#fff; border-radius:18px; padding:22px; text-align:center;}
.cr-main .k{font-size:16px; color:var(--gold-soft); font-weight:700;} .cr-main b{display:block; font-size:clamp(32px,8vw,44px); font-weight:900; margin:4px 0;} .cr-main p{font-size:15.5px; color:#C9D1E3; margin:0; line-height:1.55;}
.cr-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:10px;}
.cr-grid div{background:#fff; border:1px solid var(--line); border-radius:12px; padding:12px 6px; text-align:center;}
.cr-grid span{display:block; font-size:14.5px; color:var(--ink-soft);} .cr-grid b{display:block; font-size:18px; font-weight:900; color:var(--navy); margin-top:2px; line-height:1.3; word-break:keep-all;}
.cr-list .cl{background:#fff; border:1px solid var(--line); border-radius:12px; padding:13px 14px; margin-bottom:8px;}
.cr-list .cl b{display:block; font-size:17px; color:var(--navy);} .cr-list .cl b em{font-style:normal; font-size:13px; background:var(--gold); color:var(--navy); padding:2px 8px; border-radius:6px; margin-left:4px; vertical-align:2px;}
.cr-list .cl span{display:block; font-size:15.5px; color:var(--ink); margin-top:2px; line-height:1.5;} .cr-list .cl small{display:block; font-size:14px; color:var(--gold-ink); margin-top:2px;}
.cr-list .cl.on{border:2px solid var(--gold); background:#FFFCF5;} .cr-list .cl.no{opacity:.6;}
.cr-homes a{display:flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:13px 14px; margin-bottom:8px;}
.cr-homes a b{display:block; font-size:17px; color:var(--navy);} .cr-homes a span{display:block; font-size:15px; color:var(--ink-soft); line-height:1.45;} .cr-homes a i{margin-left:auto; font-style:normal; color:var(--gold); font-size:22px;}
.cr-homes a>b{flex:none;} .cr-homes a{flex-wrap:wrap;} .cr-homes a span{flex:1 1 100%;}
.cr-none{background:var(--cream); border-radius:12px; padding:14px; font-size:16px; margin:0;}
.cr-cta{margin-top:20px; background:var(--cream-2); border-radius:16px; padding:18px; text-align:center;}
.cr-cta b{display:block; font-size:18px; color:var(--navy);} .cr-cta p{font-size:15.5px; color:var(--ink-soft); margin:4px 0 12px;}
.cr-cta .ctas{display:flex; flex-wrap:wrap; gap:8px; justify-content:center;}
.cr-cta .btn.line{color:var(--navy); border-color:var(--navy);}
.cf-how{margin-top:30px;} .cf-how h2{font-size:21px; font-weight:900; color:var(--navy); margin:0 0 10px; padding-top:14px; border-top:2px solid var(--navy);}
.cf-how ul{padding-left:20px; margin:0 0 12px;} .cf-how li{font-size:16px; line-height:1.7; margin:5px 0;}
@media (max-width:420px){ .cf{padding:16px;} .cr-grid b{font-size:16px;} }
.cr-homes a{position:relative; display:block; padding-right:38px;} .cr-homes a i{position:absolute; right:14px; top:50%; transform:translateY(-50%); margin:0;}

/* ── 칼럼 내 단지 배너 ── */
.body a.adbn{display:flex; gap:14px; align-items:center; background:linear-gradient(135deg,#4C1020,#6E1A2E); color:#fff; text-decoration:none; border-radius:16px; overflow:hidden; margin:24px 0; box-shadow:0 12px 28px rgba(76,16,32,.25);}
.adbn img{width:150px; align-self:stretch; object-fit:cover; flex:none;}
.adbn>div{padding:14px 16px 14px 0;}
.adbn .k{display:inline-block; font-size:13px; font-weight:900; background:#D7C29A; color:#4C1020; padding:2px 9px; border-radius:100px;}
.adbn b{display:block; font-size:18.5px; font-weight:900; line-height:1.4; margin:5px 0 2px; color:#fff;}
.adbn p{font-size:15px !important; color:#EBD9DD !important; margin:0 0 6px !important; line-height:1.5;}
.adbn em{font-style:normal; font-size:15px; font-weight:900; color:#D7C29A;}
@media (max-width:520px){ .body a.adbn{flex-direction:column; align-items:stretch; gap:0;} .adbn img{width:100%; height:150px;} .adbn>div{padding:14px 16px;} }
.rp-facts.f3{grid-template-columns:repeat(3,1fr);} @media (max-width:480px){ .rp-facts.f3 b{font-size:17px;} .rp-facts.f3 span{font-size:13.5px;} }

/* ── 손없는날 달력 ── */
.sdc{background:#fff; border:1px solid var(--line); border-radius:16px; padding:18px 16px 14px; margin:14px 0 18px; box-shadow:0 10px 26px rgba(20,33,61,.06);}
.sdc .nx{display:flex; align-items:center; gap:10px; flex-wrap:wrap; background:var(--navy); color:#fff; border-radius:12px; padding:12px 16px; margin-bottom:14px;}
.sdc .nx span{font-size:15.5px; font-weight:700; color:var(--gold-soft);}
.sdc .nx b{font-size:20px; font-weight:900;}
.sdc .nx em{font-style:normal; margin-left:auto; background:var(--gold); color:#fff; font-weight:900; font-size:16px; padding:4px 12px; border-radius:100px;}
.sdc .tabs{display:grid; grid-template-columns:repeat(6,1fr); gap:6px; margin-bottom:12px;}
.sdc .tabs button{font:inherit; cursor:pointer; border:1px solid var(--line); background:#fff; color:var(--navy); font-weight:800; font-size:16px; padding:9px 0; border-radius:10px;}
.sdc .tabs button.on{background:var(--gold); border-color:var(--gold); color:#fff;}
.sdc .mo{display:none;} .sdc .mo.on{display:block;}
.sdc .mo h3{font-size:19px; font-weight:900; color:var(--navy); margin:0 0 8px !important; text-align:center;}
.sdc .g{display:grid; grid-template-columns:repeat(7,1fr); gap:4px; text-align:center;}
.sdc .g i{font-style:normal; font-size:14.5px; font-weight:800; color:#8A8F99; padding:2px 0 4px;}
.sdc .g span{position:relative; font-size:17px; font-weight:700; color:var(--navy); min-height:46px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:12px; line-height:1.1;}
.sdc .g span.r{color:#C0392B;} .sdc .g span.b{color:#2C5AA0;}
.sdc .g span.s{background:var(--gold); color:#fff; font-weight:900;}
.sdc .g span.today{outline:2.5px solid var(--navy); outline-offset:-2px;}
.sdc .g small{font-size:10.5px; font-weight:700; margin-top:2px; letter-spacing:-.4px; white-space:nowrap;}
.sdc .ls{font-size:16.5px !important; margin:12px 0 2px !important; color:var(--navy);} .sdc .ls b{color:var(--gold-ink); margin-right:6px;}
.sdc .wk{font-size:15.5px !important; margin:0 !important; color:var(--ink-soft);}
.sdc .lg{display:flex; flex-wrap:wrap; gap:6px 14px; align-items:center; font-size:15px !important; color:var(--ink-soft); margin:12px 0 0 !important;}
.sdc .lg i{display:inline-block; width:16px; height:16px; border-radius:50%; background:var(--gold); margin-right:-8px;}
.sdc .lg em{font-style:normal; font-weight:800;} .sdc .lg em.r{color:#C0392B;} .sdc .lg em.b{color:#2C5AA0;}
@media (max-width:480px){ .sdc{padding:14px 10px 12px;} .sdc .tabs{grid-template-columns:repeat(3,1fr);} .sdc .g span{min-height:42px; font-size:16px;} .sdc .g small{font-size:9.5px;} }

/* ── 이사 체크리스트 ── */
.ck{margin:12px 0 18px;}
.ckbar{display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:6px 12px; background:var(--navy); color:#fff; border-radius:14px; padding:12px 14px; margin-bottom:12px;}
.ckbar span{font-size:15px; font-weight:700; color:var(--gold-soft);} .ckbar b{font-size:18px; font-weight:900; text-align:right;}
.ckbar div{grid-column:1/3; height:10px; background:rgba(255,255,255,.18); border-radius:10px; overflow:hidden;} .ckbar div i{display:block; height:100%; width:0; background:var(--gold); transition:width .25s ease;}
.ckbar button{grid-row:1/3; grid-column:3; font:inherit; cursor:pointer; font-size:14px; font-weight:800; color:#fff; background:transparent; border:1px solid rgba(255,255,255,.4); border-radius:8px; padding:8px 10px;}
.ckg{background:#fff; border:1px solid var(--line); border-radius:14px; padding:14px 16px 8px; margin-bottom:10px;}
.ckg h3{display:flex; align-items:center; gap:8px; font-size:18px !important; color:var(--navy); margin:0 0 6px !important;}
.ckg h3 em{font-style:normal; font-size:14px; font-weight:900; background:var(--gold); color:#fff; padding:3px 10px; border-radius:100px;}
.ckg ul{list-style:none; padding:0 !important; margin:0 !important;}
.ckg li{margin:0 !important; border-top:1px dashed var(--line);} .ckg li:first-child{border-top:0;}
.ckg label{display:flex; gap:12px; align-items:flex-start; padding:11px 2px; cursor:pointer; font-size:16.5px; line-height:1.5;}
.ckg input{flex:none; width:22px; height:22px; margin-top:1px; accent-color:var(--gold);}
.ckg input:checked+span{color:#9AA0AA; text-decoration:line-through;}

/* ── 단지 모음 배너 ── */
.cxbn{background:linear-gradient(135deg,var(--navy),var(--navy-2)); border-radius:18px; padding:20px 16px 16px; margin:26px 0; color:#fff;}
.cxbn .ch{font-size:20px !important; font-weight:900; margin:0 0 2px !important; color:#fff;}
.cxbn .cs{font-size:15.5px !important; color:var(--gold-soft); margin:0 0 14px !important; line-height:1.5;}
.cxbn .cg{display:grid; grid-template-columns:repeat(4,1fr); gap:10px;}
.cxbn .cg a{display:flex; flex-direction:column; background:#fff; border-radius:12px; overflow:hidden; text-decoration:none; color:var(--navy);}
.cxbn .cg img{width:100%; aspect-ratio:4/3; object-fit:cover; display:block;}
.cxbn .cg span{padding:8px 10px 10px;} .cxbn .cg em{font-style:normal; display:inline-block; font-size:12.5px; font-weight:900; color:var(--gold-ink);}
.cxbn .cg b{display:block; font-size:14.5px; font-weight:900; line-height:1.35; word-break:keep-all;}
@media (max-width:640px){ .cxbn .cg{grid-template-columns:1fr 1fr;} }

.cxbn.sm .cg img{display:none;} .cxbn.sm .cg span{padding:10px 12px;} .cxbn.sm .cg a{justify-content:center;}
.body table.fine td,.body table.fine th{text-align:center;}

/* ── 내 서류 찾기 ── */
.fd{background:#fff; border:1px solid var(--line); border-radius:16px; padding:16px; margin:12px 0 18px; box-shadow:0 10px 26px rgba(20,33,61,.06);}
.fd .fq{font-size:17px !important; font-weight:900; color:var(--navy); margin:0 0 10px !important;}
.fd .fc{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px;}
.fd .fc button{font:inherit; cursor:pointer; font-size:16px; font-weight:800; padding:10px 14px; border-radius:100px; border:1.5px solid var(--gold); background:#fff; color:var(--gold-ink);}
.fd .fc button.on{background:var(--gold); color:#fff;} .fd .fc button[disabled]{cursor:default; opacity:.85;}
.fd .fl{counter-reset:f; list-style:none; padding:0 !important; margin:0 !important;}
.fd .fl li{counter-increment:f; position:relative; padding:12px 12px 12px 48px !important; margin:0 0 8px !important; background:var(--cream,#FAF6EE); border-radius:12px; font-size:16.5px; line-height:1.55;}
.fd .fl li:before{content:counter(f); position:absolute; left:12px; top:12px; width:26px; height:26px; border-radius:50%; background:var(--navy); color:#fff; font-size:14px; font-weight:900; display:flex; align-items:center; justify-content:center;}
.fd .fl li[hidden]{display:none;}
.fd .fn2{font-size:15px !important; color:var(--ink-soft); margin:4px 0 0 !important; text-align:right;}

/* ── 팩트체크 카드 ── */
.fx{background:#fff; border:1px solid var(--line); border-radius:16px; padding:16px 18px; margin:0 0 14px; box-shadow:0 8px 22px rgba(20,33,61,.05);}
.fx p{margin:0 !important;}
.fx .fr{display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:16.5px !important; color:#8A8F99;}
.fx .fr span,.fx .ff span{flex:none; font-size:13.5px; font-weight:900; padding:3px 10px; border-radius:100px;}
.fx .fr span{background:#EEF0F3; color:#6B7280;} .fx .fr s{text-decoration-thickness:2px;}
.fx .ff{display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:8px !important;}
.fx .ff span{background:var(--gold); color:#fff;} .fx .ff b{font-size:19px; font-weight:900; color:var(--navy); line-height:1.4;}
.fx .fb{margin-top:10px !important; padding-top:10px; border-top:1px dashed var(--line); font-size:16.5px !important; line-height:1.7; color:var(--ink);}

/* ── 생활권 탭 ── */
.zt{background:#fff; border:1px solid var(--line); border-radius:16px; padding:14px; margin:12px 0 18px; box-shadow:0 10px 26px rgba(20,33,61,.06);}
.zt .ztb{display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:14px;}
.zt .ztb button{font:inherit; cursor:pointer; border:1.5px solid var(--line); background:#fff; color:var(--navy); font-weight:900; font-size:17px; padding:10px 4px; border-radius:12px; line-height:1.3;}
.zt .ztb button small{display:block; font-size:13px; font-weight:700; color:var(--ink-soft);}
.zt .ztb button.on{background:var(--navy); border-color:var(--navy); color:#fff;} .zt .ztb button.on small{color:var(--gold-soft);}
.zt .ztp{display:none;} .zt .ztp.on{display:block;}
.zt .zl{font-size:17px !important; background:var(--cream,#FAF6EE); border-radius:10px; padding:12px 14px; margin:0 0 10px !important;}
.zt ul{margin:0 !important;} .zt li{font-size:16.5px;}
.cxbn.es3 .cg{grid-template-columns:repeat(3,1fr);}
@media (max-width:640px){ .cxbn.es3 .cg{grid-template-columns:repeat(3,1fr); gap:8px;} .cxbn.es3 .cg b{font-size:13.5px;} .cxbn.es3 .cg span{padding:7px 7px 9px;} }

/* ── 출퇴근 요금 계산 ── */
.cc{background:#fff; border:1px solid var(--line); border-radius:16px; padding:16px; margin:14px 0 18px; box-shadow:0 10px 26px rgba(20,33,61,.06);}
.cc .cq{font-size:17.5px !important; font-weight:900; color:var(--navy); margin:0 0 12px !important;}
.cc .cr{display:flex; flex-wrap:wrap; gap:10px 16px;}
.cc label{display:flex; align-items:center; gap:8px; font-size:16px; font-weight:700; color:var(--ink);}
.cc select,.cc input{font:inherit; font-size:16px; padding:9px 10px; border:1.5px solid var(--line); border-radius:10px; background:#fff; color:var(--navy);}
.cc input{width:72px; text-align:center;}
.cc .co{display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-top:14px; background:var(--navy); color:#fff; border-radius:12px; padding:14px 16px;}
.cc .co span{font-size:15.5px; color:var(--gold-soft); font-weight:700;} .cc .co b{font-size:26px; font-weight:900;}
.cc .cn{font-size:14.5px !important; color:var(--ink-soft); margin:8px 0 0 !important;}

/* ── 공간별 점검 ── */
.rk{margin:12px 0 18px;}
.rk .rkt{display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:12px;}
.rk .rkt button{font:inherit; cursor:pointer; border:1.5px solid var(--line); background:#fff; color:var(--navy); font-weight:900; font-size:16px; padding:10px 4px; border-radius:12px; line-height:1.3;}
.rk .rkt button small{display:block; font-size:13px; font-weight:800; color:var(--ink-soft);}
.rk .rkt button.on{background:var(--navy); border-color:var(--navy); color:#fff;} .rk .rkt button.on small{color:var(--gold-soft);}
.rk .rkt button.done{border-color:#1F7A5A;} .rk .rkt button.done small{color:#1F7A5A;} .rk .rkt button.on.done small{color:#9FE0C2;}
.rk .rkp{display:none; background:#fff; border:1px solid var(--line); border-radius:14px; padding:8px 16px;} .rk .rkp.on{display:block;}
.rk ul{list-style:none; padding:0 !important; margin:0 !important;}
.rk li{margin:0 !important; border-top:1px dashed var(--line);} .rk li:first-child{border-top:0;}
.rk label{display:flex; gap:12px; align-items:flex-start; padding:12px 2px; cursor:pointer; font-size:16.5px; line-height:1.5;}
.rk input{flex:none; width:22px; height:22px; margin-top:1px; accent-color:var(--gold);}
.rk input:checked+span{color:#9AA0AA; text-decoration:line-through;}

/* ── 자가진단 ── */
.dq{background:#fff; border:1px solid var(--line); border-radius:16px; padding:16px; margin:12px 0 18px; box-shadow:0 10px 26px rgba(20,33,61,.06);}
.dq .dqh{font-size:16px !important; font-weight:900; color:var(--gold-ink); margin:0 0 10px !important;}
.dq ol{list-style:none; margin:0 !important; padding:0 !important; counter-reset:dq;}
.dq li{counter-increment:dq; padding:12px 0 !important; border-top:1px dashed var(--line); margin:0 !important;}
.dq li:first-child{border-top:0;}
.dq li p{margin:0 0 10px !important; font-size:17px !important; line-height:1.55; color:var(--navy);}
.dq li p:before{content:counter(dq); display:inline-flex; width:26px; height:26px; border-radius:50%; background:var(--navy); color:#fff; font-size:14px; font-weight:900; align-items:center; justify-content:center; margin-right:8px; vertical-align:2px;}
.dq li div{display:flex; gap:8px;}
.dq li button{flex:1; font:inherit; font-size:16px; font-weight:800; padding:10px 0; border-radius:10px; border:1.5px solid var(--line); background:#fff; color:var(--ink-soft); cursor:pointer;}
.dq li button.on[data-v="1"]{background:var(--navy); border-color:var(--navy); color:#fff;}
.dq li button.on[data-v="0"]{background:var(--gold-soft); border-color:var(--gold); color:var(--gold-ink);}
.dq .dqr{margin-top:12px; background:var(--cream); border-radius:12px; padding:14px 16px;}
.dq .dqr p{margin:0 !important;}
.dq .dqw{font-size:16px !important; color:var(--ink-soft); text-align:center;}
.dq .dqs{font-size:15px !important; font-weight:800; color:var(--gold-ink);}
.dq .dqt{font-size:20px !important; font-weight:900; color:var(--navy); margin:4px 0 8px !important;}
.dq .dqt em{font-style:normal; color:var(--gold-ink);}
.dq .dqd{font-size:16.5px !important; line-height:1.6; color:var(--ink);}
.dq .dqc{display:block; margin-top:12px; text-align:center; background:var(--navy); color:#fff !important; text-decoration:none !important; font-weight:900; font-size:17px; padding:13px 10px; border-radius:12px;}
.dq .dqx{display:block; margin:10px auto 0; font:inherit; font-size:15px; font-weight:700; background:none; border:0; color:var(--ink-soft); text-decoration:underline; cursor:pointer;}
.body table.fine.vs td:first-child{font-weight:900; color:var(--navy); white-space:nowrap; width:1%;}

/* ── 세컨드홈 판정 ── */
.s2{background:#fff; border:1px solid var(--line); border-radius:16px; padding:16px; margin:12px 0 18px; box-shadow:0 10px 26px rgba(20,33,61,.06);}
.s2 .s2h{font-size:16px !important; font-weight:900; color:var(--gold-ink); margin:0 0 6px !important;}
.s2 .s2q{padding:12px 0; border-top:1px dashed var(--line);}
.s2 .s2q:first-of-type{border-top:0;}
.s2 .s2q[hidden],.s2 [hidden]{display:none !important;}
.s2 .s2q p{margin:0 0 10px !important; font-size:17px !important; font-weight:800; color:var(--navy); line-height:1.5;}
.s2 .s2q p small{font-size:14px; font-weight:600; color:var(--ink-soft);}
.s2 .s2q i{display:inline-flex; width:26px; height:26px; border-radius:50%; background:var(--navy); color:#fff; font-style:normal; font-size:14px; font-weight:900; align-items:center; justify-content:center; margin-right:8px; vertical-align:2px;}
.s2 .s2q div{display:flex; gap:8px;}
.s2 .s2q button{flex:1; font:inherit; font-size:16px; font-weight:800; padding:11px 4px; border-radius:10px; border:1.5px solid var(--line); background:#fff; color:var(--ink-soft); cursor:pointer;}
.s2 .s2q button.on{background:var(--navy); border-color:var(--navy); color:#fff;}
.s2 .s2r{margin-top:6px; border-radius:12px; padding:14px 16px; background:var(--cream); border-left:5px solid var(--gold);}
.s2 .s2r.o{background:#F1F7F1; border-left-color:#3E8E5A;}
.s2 .s2r.r{background:#FFF5F2; border-left-color:#C0503A;}
.s2 .s2r p{margin:0 !important;}
.s2 .s2t{font-size:19px !important; font-weight:900; color:var(--navy);}
.s2 .s2d{font-size:16.5px !important; line-height:1.6; color:var(--ink); margin-top:6px !important;}
.s2 .s2c{display:block; margin-top:12px; text-align:center; background:var(--navy); color:#fff !important; text-decoration:none !important; font-weight:900; font-size:17px; padding:13px 10px; border-radius:12px;}
.s2 .s2x{display:block; margin:10px auto 0; font:inherit; font-size:15px; font-weight:700; background:none; border:0; color:var(--ink-soft); text-decoration:underline; cursor:pointer;}
.csg{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:12px 0 18px;}
@media(max-width:640px){.csg{grid-template-columns:1fr;}}
.csx{background:#fff; border:1px solid var(--line); border-radius:14px; padding:14px 16px; border-top:5px solid var(--gold);}
.csx span{display:inline-block; font-size:14px; font-weight:900; padding:3px 10px; border-radius:100px; background:var(--gold-soft); color:var(--gold-ink);}
.csx.o{border-top-color:#3E8E5A;} .csx.o span{background:#E3F1E7; color:#2E6B44;}
.csx.r{border-top-color:#C0503A;} .csx.r span{background:#FBE3DD; color:#A33A2A;}
.csx b{display:block; font-size:17.5px; font-weight:900; color:var(--navy); margin-top:8px; line-height:1.4;}
.csx p{margin:6px 0 0 !important; font-size:16px !important; line-height:1.6; color:var(--ink);}

/* ── 취득세 계산기 ── */
.tx{background:#fff; border:1px solid var(--line); border-radius:16px; padding:16px; margin:12px 0 18px; box-shadow:0 10px 26px rgba(20,33,61,.06);}
.tx .txh{font-size:18px !important; font-weight:900; color:var(--navy); margin:0 0 12px !important;}
.tx .txh small{font-size:14px; font-weight:700; color:var(--ink-soft); margin-left:6px;}
.tx .txf{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.tx .txf label{display:flex; flex-direction:column; gap:6px; font-size:15px; font-weight:800; color:var(--ink-soft);}
.tx .txf label.w{grid-column:1/-1;}
.tx .txf span{display:flex; align-items:center; gap:8px; font-size:16px; color:var(--navy);}
.tx input,.tx select{font:inherit; font-size:17px; font-weight:800; color:var(--navy); padding:11px 12px; border:1.5px solid var(--line); border-radius:10px; background:#fff; width:100%; min-width:0;}
.tx input{text-align:right;}
.tx .txo{margin-top:14px; border-radius:12px; background:var(--cream); padding:6px 14px;}
.tx .txo div{display:flex; justify-content:space-between; align-items:baseline; gap:10px; padding:9px 0; border-top:1px dashed var(--line); font-size:16px;}
.tx .txo div:first-child{border-top:0;}
.tx .txo span{color:var(--ink-soft); font-weight:700;}
.tx .txo b{color:var(--navy); font-weight:900; text-align:right;}
.tx .txo .sm b{font-size:17px;}
.tx .txo .cut b{color:#2E6B44;}
.tx .txo .tot{border-top:2px solid var(--navy);}
.tx .txo .tot span{color:var(--navy); font-weight:900; font-size:17px;}
.tx .txo .tot b{font-size:23px; color:var(--gold-ink);}
.tx .txw{display:none; margin:10px 0 0 !important; font-size:15.5px !important; font-weight:700; color:#A33A2A; background:#FFF5F2; border-radius:10px; padding:10px 12px;}
.tx .txn{margin:10px 0 0 !important; font-size:14.5px !important; line-height:1.55; color:var(--ink-soft);}
@media(max-width:400px){.tx .txf{grid-template-columns:1fr;}}
.dd{background:var(--navy); color:#fff; border-radius:16px; padding:18px; margin:12px 0 18px;}
.dd .ddn{display:flex; justify-content:space-between; align-items:center; gap:10px; border-bottom:1px solid rgba(255,255,255,.18); padding-bottom:12px;}
.dd .ddn span{font-size:16px; font-weight:800; color:#D9B77A;}
.dd .ddn b{font-size:30px; font-weight:900; color:#fff; letter-spacing:-.5px;}
.dd ul{list-style:none; margin:10px 0 0 !important; padding:0 !important;}
.dd li{margin:0 !important; padding:10px 0 !important; border-top:1px dashed rgba(255,255,255,.18); font-size:15.5px; line-height:1.55; color:#D5DAE6;}
.dd li:first-child{border-top:0;}
.dd li b{display:block; font-size:17px; color:#fff; font-weight:900;}
.dd li em{font-style:normal; color:#D9B77A; font-weight:800;}
.dd p{margin:8px 0 0 !important; font-size:15.5px !important; color:#D5DAE6;}
.dd p strong{color:#fff;}

/* ── 잔금 일정 ── */
.jd{background:#fff; border:1px solid var(--line); border-radius:16px; padding:16px; margin:12px 0 18px; box-shadow:0 10px 26px rgba(20,33,61,.06);}
.jd .jdh{font-size:18px !important; font-weight:900; color:var(--navy); margin:0 0 10px !important;}
.jd label{display:flex; align-items:center; gap:10px; font-size:16px; font-weight:800; color:var(--ink-soft);}
.jd input{font:inherit; font-size:17px; font-weight:800; color:var(--navy); padding:10px 12px; border:1.5px solid var(--gold); border-radius:10px; background:#fff; flex:1; min-width:0;}
.jd ol{list-style:none; margin:14px 0 0 !important; padding:0 !important;}
.jd li{display:flex; gap:12px; align-items:flex-start; margin:0 !important; padding:10px 0 !important; border-top:1px dashed var(--line);}
.jd li:first-child{border-top:0;}
.jd li span{flex:0 0 64px; text-align:center; font-size:14px; font-weight:900; color:#fff; background:var(--navy); border-radius:8px; padding:6px 0;}
.jd li.on span{background:var(--gold);}
.jd li.past{opacity:.45;}
.jd li div{flex:1; min-width:0;}
.jd li b{display:block; font-size:17px; font-weight:900; color:var(--navy);}
.jd li b em{font-style:normal; font-size:13px; font-weight:800; color:#A33A2A; background:#FBE3DD; border-radius:100px; padding:2px 8px; margin-left:4px; vertical-align:2px;}
.jd li p{margin:2px 0 0 !important; font-size:15.5px !important; line-height:1.55; color:var(--ink-soft);}
.jd li p strong{color:var(--ink);}
.jd .jdn{margin:8px 0 0 !important; font-size:14.5px !important; color:var(--ink-soft);}
.tx .txf span{white-space:nowrap;}
.tx .txf span input{flex:1;}

/* ── 로드맵 ── */
.rm{background:#fff; border:1px solid var(--line); border-radius:16px; padding:16px; margin:12px 0 18px; box-shadow:0 10px 26px rgba(20,33,61,.06);}
.rm .rmh{font-size:18px !important; font-weight:900; color:var(--navy); margin:0 0 12px !important;}
.rm .rmh small{font-size:14px; font-weight:700; color:var(--ink-soft); margin-left:6px;}
.rm ol{list-style:none; margin:0 !important; padding:0 0 0 4px !important; position:relative;}
.rm ol:before{content:''; position:absolute; left:46px; top:8px; bottom:8px; width:3px; background:var(--line); border-radius:3px;}
.rm li{display:flex; gap:14px; align-items:flex-start; margin:0 !important; padding:9px 0 !important; position:relative;}
.rm .rd{flex:0 0 86px; font-size:13.5px; font-weight:900; color:var(--navy); background:var(--cream); border:1.5px solid var(--line); border-radius:100px; padding:5px 0; text-align:center; position:relative; z-index:1; line-height:1.3;}
.rm li.dn .rd{background:var(--navy); color:#fff; border-color:var(--navy);}
.rm li.now .rd{background:var(--gold); color:#fff; border-color:var(--gold);}
.rm li.now b{color:var(--gold-ink) !important;}
.rm li div{flex:1; min-width:0;}
.rm li b{display:block; font-size:17px; font-weight:900; color:var(--navy); line-height:1.4;}
.rm li b em{font-style:normal; font-size:12.5px; font-weight:800; border-radius:100px; padding:2px 8px; margin-left:4px; vertical-align:2px; background:var(--gold-soft); color:var(--gold-ink);}
.rm li.dn b em{background:#E3F1E7; color:#2E6B44;}
.rm li p{margin:3px 0 0 !important; font-size:15.5px !important; line-height:1.55; color:var(--ink);}
.rm li small{display:block; font-size:13px; color:var(--ink-soft); margin-top:2px;}
.rm li.dn{opacity:.75;}
.rm .rmn{margin:10px 0 0 !important; font-size:14.5px !important; color:var(--ink-soft);}

/* ── 생활권 찾기 ── */
.mt{background:#fff; border:1px solid var(--line); border-radius:16px; padding:16px; margin:12px 0 18px; box-shadow:0 10px 26px rgba(20,33,61,.06);}
.mt .mth{font-size:18px !important; font-weight:900; color:var(--navy); margin:0 0 12px !important;}
.mt .mth small{font-size:14px; font-weight:700; color:var(--ink-soft); margin-left:6px;}
.mt .mtc{display:flex; flex-wrap:wrap; gap:8px;}
.mt .mtc button{font:inherit; font-size:16px; font-weight:800; padding:10px 14px; border-radius:100px; border:1.5px solid var(--line); background:#fff; color:var(--ink-soft); cursor:pointer; text-align:left;}
.mt .mtc button.on{background:var(--navy); border-color:var(--navy); color:#fff;}
.mt .mtc button.on:before{content:'✓ ';}
.mt .mtr{margin-top:14px; background:var(--cream); border-radius:12px; padding:8px 14px;}
.mt .mtw{margin:6px 0 !important; font-size:15.5px !important; color:var(--ink-soft); text-align:center;}
.mt .mti{display:flex; flex-direction:column; gap:6px; padding:10px 0; border-top:1px dashed var(--line);}
.mt .mti:first-child{border-top:0;}
.mt .mti b{display:block; font-size:17px; font-weight:900; color:var(--navy);}
.mt .mti b em{font-style:normal; font-size:12.5px; font-weight:900; color:#fff; background:var(--gold); border-radius:100px; padding:2px 8px; vertical-align:2px;}
.mt .mti span{display:block; font-size:14.5px; color:var(--ink-soft); line-height:1.5;}
.mt .mti i{display:block; height:10px; background:#fff; border-radius:10px; overflow:hidden;}
.mt .mti i u{display:block; height:100%; background:var(--navy); border-radius:10px; transition:width .3s;}
.mt .mti.top i u{background:var(--gold);}
.zcg{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:12px 0 18px;}
@media(max-width:760px){.zcg{grid-template-columns:1fr;}}
.zc{background:#fff; border:1px solid var(--line); border-radius:14px; padding:14px 16px; border-top:5px solid var(--navy);}
.zc.g{border-top-color:var(--gold);}
.zc span{display:inline-block; font-size:14px; font-weight:900; padding:3px 10px; border-radius:100px; background:var(--cream); color:var(--navy);}
.zc b{display:block; font-size:18px; font-weight:900; color:var(--navy); margin-top:8px;}
.zc ul{margin:8px 0 0 !important; padding-left:18px !important;}
.zc li{font-size:15.5px !important; line-height:1.55; margin:4px 0 !important;}

/* ── 2027 필터 ── */
.yf{margin:12px 0 18px;}
.yf .yfb{background:#fff; border:1px solid var(--line); border-radius:16px; padding:14px 16px; box-shadow:0 10px 26px rgba(20,33,61,.06); margin-bottom:12px;}
.yf .yfb > p{margin:0 0 8px !important; font-size:15px !important; font-weight:900; color:var(--gold-ink);}
.yf .yfp,.yf .yfs{display:flex; flex-wrap:wrap; gap:8px;}
.yf .yfs{margin-top:10px; padding-top:10px; border-top:1px dashed var(--line);}
.yf .yfb button{font:inherit; font-size:15.5px; font-weight:800; padding:9px 14px; border-radius:100px; border:1.5px solid var(--line); background:#fff; color:var(--ink-soft); cursor:pointer;}
.yf .yfb button.on{background:var(--navy); border-color:var(--navy); color:#fff;}
.yf .yfs button.on{background:var(--gold); border-color:var(--gold);}
.yf .yfn{margin:10px 0 0 !important; font-size:14.5px !important; font-weight:800; color:var(--ink-soft);}
.yf ol{list-style:none; margin:0 !important; padding:0 !important; display:grid; gap:10px;}
.yf li{background:#fff; border:1px solid var(--line); border-radius:14px; padding:14px 16px; margin:0 !important;}
.yf .yh{display:flex; justify-content:space-between; align-items:center; gap:8px; flex-wrap:wrap;}
.yf .yb{font-size:13px; font-weight:900; padding:3px 10px; border-radius:100px;}
.yf .yb.c{background:#E3F1E7; color:#2E6B44;}
.yf .yb.p{background:var(--gold-soft); color:var(--gold-ink);}
.yf .yb.u{background:#EEF0F4; color:#5B6070;}
.yf .yw{font-size:14px; font-weight:800; color:var(--navy);}
.yf li b{display:block; font-size:17.5px; font-weight:900; color:var(--navy); margin-top:8px; line-height:1.4;}
.yf li p{margin:6px 0 0 !important; font-size:16px !important; line-height:1.6;}
.yf li small{display:block; margin-top:6px; font-size:13.5px; color:var(--ink-soft);}

/* ── 방문 체크 탭 + 질문 ── */
.vt{background:#fff; border:1px solid var(--line); border-radius:16px; padding:14px; margin:12px 0 18px; box-shadow:0 10px 26px rgba(20,33,61,.06);}
.vt .vtt{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:12px;}
.vt .vtt button{font:inherit; font-size:17px; font-weight:900; padding:10px 6px; border-radius:12px; border:1.5px solid var(--line); background:#fff; color:var(--navy); cursor:pointer; line-height:1.3;}
.vt .vtt button small{display:block; font-size:13px; font-weight:700; color:var(--ink-soft);}
.vt .vtt button.on{background:var(--navy); border-color:var(--navy); color:#fff;}
.vt .vtt button.on small{color:#D9B77A;}
.vt .vtp{display:none;}
.vt .vtp.on{display:block;}
.vt .vtp ul{list-style:none; margin:10px 0 0 !important; padding:0 !important;}
.vt .vtp li{margin:0 !important; padding:10px 2px !important; border-top:1px dashed var(--line);}
.vt .vtp li:first-child{border-top:0;}
.vt .vtp label{display:flex; gap:10px; align-items:flex-start; cursor:pointer; font-size:16.5px; line-height:1.55;}
.vt .vtp input{width:22px; height:22px; flex:0 0 22px; margin-top:2px; accent-color:var(--navy);}
.vt .vtp input:checked + span{color:var(--ink-soft); text-decoration:line-through;}
.qs{display:grid; gap:8px; margin:12px 0 18px;}
.qs details{background:#fff; border:1px solid var(--line); border-radius:12px; padding:0 14px;}
.qs summary{list-style:none; cursor:pointer; display:flex; gap:10px; align-items:flex-start; padding:13px 0; font-size:16.5px; font-weight:900; color:var(--navy); line-height:1.45;}
.qs summary::-webkit-details-marker{display:none;}
.qs summary i{flex:0 0 26px; height:26px; border-radius:50%; background:var(--gold); color:#fff; font-style:normal; font-size:14px; display:flex; align-items:center; justify-content:center;}
.qs details[open] summary i{background:var(--navy);}
.qs details p{margin:0 0 14px 36px !important; font-size:15.5px !important; line-height:1.6; color:var(--ink);}
.tx .txo b{white-space:nowrap;}

/* ── 인사이트 목록 개편 ── */
.isearch{display:block; margin-top:22px; max-width:560px;}
.isearch input{width:100%; font:inherit; font-size:17px; padding:14px 18px; border-radius:14px; border:0; background:#fff; color:var(--navy); box-shadow:0 10px 30px rgba(0,0,0,.18);}
.ins-sec{margin:0 0 40px;}
.ins-sec .ish{display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:4px 12px; margin-bottom:14px; padding-bottom:10px; border-bottom:2px solid var(--navy);}
.ins-sec .ish h2{font-size:clamp(21px,3vw,25px); font-weight:900; color:var(--navy); letter-spacing:-.5px; margin:0;}
.ins-sec .ish span{font-size:15px; font-weight:700; color:var(--ink-soft);}
.tgrp{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
@media (max-width:900px){.tgrp{grid-template-columns:1fr;}}
.tg h3{font-size:16px; font-weight:900; color:var(--gold-ink); margin:0 0 8px; letter-spacing:.5px;}
.tg .tl{display:grid; gap:8px;}
.tg .tl a{display:flex; flex-direction:column; gap:2px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:12px 14px 12px 16px; border-left:4px solid var(--gold); transition:transform .2s ease, box-shadow .2s ease;}
.tg .tl a:hover{transform:translateX(3px); box-shadow:0 8px 20px rgba(20,33,61,.08);}
.tg .tl b{font-size:17px; font-weight:900; color:var(--navy);}
.tg .tl b:after{content:' →'; color:var(--gold);}
.tg .tl span{font-size:15px; color:var(--ink-soft);}
@media (max-width:620px){.tg .tl{grid-template-columns:1fr 1fr;} .tg .tl a{padding:11px 12px;} .tg .tl b{font-size:16px;} .tg .tl b:after{content:'';} .tg .tl span{font-size:14px; line-height:1.4;}}
.ipath{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(8,1fr); gap:8px; counter-reset:none;}
@media (max-width:900px){.ipath{grid-template-columns:repeat(4,1fr);}}
@media (max-width:420px){.ipath{grid-template-columns:repeat(2,1fr);}}
.ipath li{margin:0;}
.ipath a{display:flex; flex-direction:column; align-items:center; gap:6px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:12px 6px; text-align:center; height:100%;}
.ipath a:hover{border-color:var(--gold);}
.ipath i{font-style:normal; width:30px; height:30px; border-radius:50%; background:var(--navy); color:#fff; font-weight:900; font-size:15px; display:flex; align-items:center; justify-content:center;}
.ipath span{font-size:15.5px; font-weight:800; color:var(--navy); line-height:1.35;}
.rgs{display:flex; gap:8px; flex-wrap:wrap; margin:-10px 0 20px;}
.rgs .rg{font:inherit; font-size:15px; font-weight:800; padding:8px 14px; border-radius:100px; border:1.5px solid var(--line); background:#fff; color:var(--ink-soft); cursor:pointer;}
.rgs .rg.on{background:var(--gold); border-color:var(--gold); color:#fff;}
.icard .cnew{position:absolute; top:10px; right:10px; background:#C0503A; color:#fff; font-size:12px; font-weight:900; letter-spacing:1px; padding:3px 8px; border-radius:6px;}
.iempty{text-align:center; color:var(--ink-soft); padding:30px 0; font-size:16px;}
@media (max-width:620px){
 .ins-list .tabs,.ins-list .rgs{flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; margin-left:-16px; margin-right:-16px; padding:0 16px 4px;}
 .ins-list .tabs::-webkit-scrollbar,.ins-list .rgs::-webkit-scrollbar{display:none;}
 .ins-list .tabs .tab,.ins-list .rgs .rg{flex:0 0 auto; white-space:nowrap;}
 .ins-list .rgs{margin-top:-12px;}
 .ins-list .icards{gap:10px;}
 .ins-list .icard{flex-direction:row; align-items:center;}
 .ins-list .icard .thumb{flex:0 0 42%; aspect-ratio:1200/630; min-height:0; align-self:center; margin:10px 0 10px 10px; border-radius:8px;}
 .ins-list .icard .thumb img{object-fit:cover; object-position:center;}
 .ins-list .icard .thumb .ccat{display:none;}
 .ins-list .icard .thumb .cnew{top:6px; right:auto; left:6px; font-size:11px; padding:2px 6px;}
 .ins-list .icard .ib{padding:12px 14px !important; display:flex; flex-direction:column; gap:4px; min-width:0;}
 .ins-list .icard .ib h3{font-size:16.5px !important; line-height:1.4 !important; margin:0 !important; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
 .ins-list .icard .ib p,.ins-list .icard .ib .more{display:none;}
 .ins-list .icard .ib .d{font-size:13px;}
 .ins-list .icard .ib .dc{display:inline; color:var(--gold-ink); font-style:normal; font-weight:800;}
}

.icard .ib .dc{display:none;}

/* ── 지역 모음(허브) ── */
.hubh h1 em{font-style:normal; color:var(--gold-soft);}
.hubh .bc{font-size:14px; color:#AEB6CC; margin-bottom:10px;} .hubh .bc a{color:#D5DBE8;}
.hubchips{display:flex; flex-wrap:wrap; gap:8px; margin-top:18px;}
.hubchips span{background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); color:#fff; font-size:15px; font-weight:800; padding:7px 14px; border-radius:100px;}
.hcs{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
@media (max-width:980px){.hcs{grid-template-columns:1fr;}}
.hc{background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; display:flex; flex-direction:column;}
.hc .hci{position:relative; display:block; aspect-ratio:1200/630; overflow:hidden;}
.hc .hci img{width:100%; height:100%; object-fit:cover;}
.hc .hci span{position:absolute; left:12px; top:12px; background:var(--navy); color:#fff; font-size:13px; font-weight:900; padding:4px 10px; border-radius:100px;}
.hc .hcb{padding:16px 18px 18px; display:flex; flex-direction:column; gap:8px; flex:1;}
.hc .hcm{margin:0 !important; font-size:14px !important; font-weight:800; color:var(--gold-ink);}
.hc h3{margin:0; font-size:21px; font-weight:900;} .hc h3 a{color:var(--navy);}
.hc dl{margin:4px 0 0; display:grid; gap:6px;} .hc dl div{display:grid; grid-template-columns:44px 1fr; gap:8px; font-size:15.5px; line-height:1.5;}
.hc dt{font-weight:900; color:var(--ink-soft);} .hc dd{margin:0; color:var(--ink); font-weight:700;}
.hc ul{margin:4px 0 0 !important; padding-left:18px !important;} .hc li{font-size:15.5px !important; line-height:1.55; margin:3px 0 !important;}
.hc .hcf{margin:4px 0 0 !important; font-size:15px !important; background:var(--cream); border-radius:10px; padding:8px 12px;}
.hc .hcl{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:auto; padding-top:6px;}
.hc .hcl a{text-align:center; font-weight:900; font-size:15.5px; padding:11px 6px; border-radius:10px; border:1.5px solid var(--navy); color:var(--navy);}
.hc .hcl a:first-child{background:var(--navy); color:#fff;}
.hubn{display:grid; grid-template-columns:repeat(3,1fr); gap:12px;}
@media (max-width:620px){.hubn{grid-template-columns:1fr;}}
.hubn div{background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 18px; border-top:5px solid var(--gold);}
.hubn b{display:block; font-size:28px; font-weight:900; color:var(--navy);} .hubn span{display:block; font-size:15px; color:var(--ink-soft); margin-top:4px; line-height:1.5;}
.hubs{font-size:13.5px; color:var(--ink-soft); margin-top:8px;}
.hubr{display:grid; grid-template-columns:repeat(3,1fr); gap:10px;}
@media (max-width:820px){.hubr{grid-template-columns:1fr 1fr;}}
.hubr a{display:flex; flex-direction:column; gap:2px; background:#fff; border:1px solid var(--line); border-left:4px solid var(--gold); border-radius:12px; padding:12px 14px;}
.hubr b{font-size:16.5px; font-weight:900; color:var(--navy);} .hubr span{font-size:14.5px; color:var(--ink-soft); line-height:1.45;}
.hub .qs summary i{font-size:13px;}
/* ── 2026.10.10 배치: 출처·역순서·이사견적·학년탭 */
.srcs{margin:26px 0 8px; background:var(--cream); border:1px solid var(--line); border-radius:14px; padding:14px 16px;}
.srcs h3{font-size:16.5px !important; font-weight:900; margin:0 0 6px !important; color:var(--navy);}
.srcs ul{margin:0 !important; padding-left:18px !important;}
.srcs li{font-size:14.5px !important; line-height:1.6; margin:3px 0 !important; color:var(--ink-soft); word-break:keep-all; overflow-wrap:anywhere;}
.srcs a{color:var(--navy); text-decoration:underline; text-underline-offset:2px;}
.stl{display:flex; flex-wrap:wrap; gap:6px 4px; margin:10px 0 4px;}
.stl span{display:inline-flex; flex-direction:column; align-items:center; font-size:14.5px; font-weight:800; color:var(--navy); background:#fff; border:1.5px solid #747F00; border-radius:100px; padding:4px 10px; line-height:1.25;}
.stl span::after{content:''; }
.stl span.on{background:#747F00; color:#fff;}
.stl small{font-size:11.5px; font-weight:700; color:var(--ink-soft);}
.stn{display:block; font-size:14.5px; color:var(--ink-soft); line-height:1.55;}
.mvq{background:#fff; border:1px solid var(--line); border-radius:12px; padding:10px 12px; margin:8px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:6px;}
.mvq b{grid-column:1 / -1; font-size:15.5px; font-weight:900; color:var(--navy);}
.mvq span{font-size:15px; line-height:1.45; padding-left:18px; position:relative;}
.mvq span::before{content:'✓'; position:absolute; left:0; color:var(--gold); font-weight:900;}
.mvq.g{border-color:var(--gold); background:#FFFBF2;}
@media (max-width:520px){.mvq{grid-template-columns:1fr;}}
.vt.sc .vtt{grid-template-columns:1fr 1fr;}
.scl{margin:4px 0 0 !important; padding-left:22px !important;}
.scl li{font-size:16px !important; line-height:1.65; margin:6px 0 !important;}
/* 음성 가볼만한곳 필터 카드 */
.esg{margin:12px 0 18px;}
.esf{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px;}
.esf button{font:inherit; font-size:15.5px; font-weight:800; padding:8px 14px; border-radius:100px; border:1.5px solid var(--line); background:#fff; color:var(--navy); cursor:pointer;}
.esf button.on{background:var(--navy); border-color:var(--navy); color:#fff;}
.esl{list-style:none; margin:0 !important; padding:0 !important; display:grid; gap:10px;}
@media (min-width:860px){.esl{grid-template-columns:1fr 1fr;}}
.esl li{margin:0 !important; background:#fff; border:1px solid var(--line); border-radius:14px; padding:14px 16px;}
.esl li[hidden]{display:none;}
.esh{display:flex; gap:10px; align-items:center; margin-bottom:6px;}
.esh i{flex:none; width:30px; height:30px; border-radius:50%; background:var(--navy); color:#fff; font-style:normal; font-weight:900; display:flex; align-items:center; justify-content:center; font-size:15px;}
.esh b{display:block; font-size:17.5px; font-weight:900; color:var(--navy); line-height:1.35;}
.esh span{display:block; font-size:14px; color:var(--ink-soft);}
.esl p{font-size:16px !important; line-height:1.65; margin:4px 0 !important;}
.esl .esi{font-size:14.5px !important; color:var(--gold-ink); font-weight:700;}
.estg{display:flex; flex-wrap:wrap; gap:5px; margin-top:6px;}
.estg em{font-style:normal; font-size:13px; font-weight:800; color:var(--navy); background:var(--cream); border-radius:100px; padding:3px 10px;}
.hsl{display:grid; gap:8px; margin:6px 0 12px;}
.hsl label{display:flex; gap:10px; align-items:flex-start; background:#fff; border:1px solid var(--line); border-radius:12px; padding:11px 12px; font-size:16px; line-height:1.5; cursor:pointer;}
.hsl input{width:20px; height:20px; margin-top:2px; flex:none; accent-color:var(--navy);}

/* b14 bars */
.bars{display:grid;gap:10px;margin:8px 0 6px}
.bars .r{display:grid;grid-template-columns:7.2em 1fr auto;align-items:center;gap:10px;font-size:16px}
.bars .r span{font-weight:800;color:var(--navy);line-height:1.3}
.bars .r i{display:block;height:20px;border-radius:10px;background:linear-gradient(90deg,#14213D,#2c4778)}
.bars .r i.neg{background:#B9C0CC}
.bars .r b{font-weight:900;color:var(--navy);white-space:nowrap;font-size:16px}
.vt .vh{font-weight:800;color:var(--navy);font-size:16px;margin:4px 0 10px}
.vt .vn{font-size:15px;color:var(--ink-soft);margin:10px 0 2px;line-height:1.6}
@media(max-width:420px){.bars .r{grid-template-columns:6.4em 1fr auto;gap:8px}.bars .r b{font-size:15px}}

/* search button */
.isearch{display:flex !important; gap:8px; align-items:stretch;}
.isearch input{flex:1; min-width:0;}
.isearch button{flex:none; font:inherit; font-size:17px; font-weight:800; padding:0 20px; border:0; border-radius:14px; background:#D9B77A; color:#14213D; cursor:pointer; box-shadow:0 10px 30px rgba(0,0,0,.18);}

.hubgo{display:block; margin:-6px 0 22px; padding:13px 16px; background:#fff; border:1px dashed var(--gold,#B8893F); border-radius:12px; font-size:16px; font-weight:800; color:var(--navy,#14213D); text-decoration:none; text-align:center;}
.gchips{list-style:none; padding:0; margin:4px 0 16px; display:flex; flex-wrap:wrap; gap:8px;}
.gchips li{font-size:16px; font-weight:700; padding:6px 13px; border-radius:100px; background:#F6F1E7; border:1px solid #E4D6B8; color:var(--navy,#14213D);}

/* ── 공유 바 ── */
.wshare{margin:34px 0 8px; padding:22px 20px 20px; background:var(--ws-bg); border:1px solid var(--ws-line); border-radius:16px; text-align:center;}
.wshare .wh{font-size:19px; font-weight:900; color:var(--ws-main); letter-spacing:-.3px; line-height:1.4;}
.wshare .ws{font-size:15.5px; color:var(--ws-soft); margin:4px 0 16px; line-height:1.5;}
.wshare .wb{display:grid; grid-template-columns:repeat(4,1fr); gap:10px; max-width:640px; margin:0 auto;}
.wshare button,.wshare a.wbtn{font:inherit; cursor:pointer; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; padding:14px 6px 12px; background:#fff; border:1px solid var(--ws-line); border-radius:12px; color:var(--ws-ink); font-size:15.5px; font-weight:700; line-height:1.25; text-decoration:none; transition:transform .15s ease, box-shadow .15s ease;}
.wshare button:hover,.wshare a.wbtn:hover{transform:translateY(-2px); box-shadow:0 10px 22px rgba(0,0,0,.08);}
.wshare .wi{width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:900; font-size:19px; font-family:Arial,sans-serif;}
.wshare .wi svg{width:22px; height:22px;}
.wshare .i-fam{background:var(--ws-main);} .wshare .i-copy{background:var(--ws-accent);}
.wshare .i-nv{background:#03C75A;} .wshare .i-bd{background:#06C755; background:linear-gradient(135deg,#1FC95B,#08A84A);}
.wshare .wbtn.primary{border:2px solid var(--ws-main);}
@media (max-width:480px){ .wshare{padding:20px 14px 16px;} .wshare .wb{grid-template-columns:1fr 1fr; gap:8px;} .wshare a.wbtn{padding:12px 4px 11px; font-size:15.5px;} .wshare .wi{width:38px; height:38px; font-size:17px;} .wshare .wi svg{width:20px; height:20px;} }
/* ── 상단 공유 버튼 (인사이트 글) ── */
.wtop{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:0 0 18px;}
.wtop a{display:flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:10px 8px; border-radius:12px; font-size:16px; font-weight:800; text-decoration:none; border:1.5px solid var(--ws-line,#e3ddd0); background:#fff; color:var(--ws-ink,#1c1c1c);}
.wtop a.fam{background:var(--ws-main,#14213D); border-color:var(--ws-main,#14213D); color:#fff;}
.wtop svg{width:20px; height:20px; flex:none;}

.wtoast{position:fixed; left:50%; bottom:28px; transform:translate(-50%,20px); background:rgba(20,24,32,.94); color:#fff; font-size:16px; font-weight:700; padding:13px 22px; border-radius:100px; opacity:0; pointer-events:none; transition:all .25s ease; z-index:10000; white-space:nowrap;}
.wtoast.on{opacity:1; transform:translate(-50%,0);}

.wshare{--ws-main:var(--navy); --ws-accent:var(--gold); --ws-bg:var(--cream-2); --ws-line:var(--line); --ws-soft:var(--ink-soft); --ws-ink:var(--ink);}

/* ── 글자 크기 ── */
.fsz{display:inline-flex; align-items:center; gap:6px; margin-left:auto;}
.fsz span{font-size:14.5px; color:var(--ink-soft); font-weight:700;}
.fsz button{font:inherit; cursor:pointer; min-width:44px; height:40px; border:1px solid var(--line); background:#fff; border-radius:10px; color:var(--navy); font-weight:900; font-size:16px; padding:0 8px;}
.fsz button.big{font-size:19px;}
.fsz button:hover{border-color:var(--gold);}
.metarow{display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; margin-bottom:18px;}
.metarow .date{margin:0 !important;}
html.fs1 .post .body p, html.fs1 .post .body li, html.fs1 .post .summary li{font-size:19.5px;}
html.fs2 .post .body p, html.fs2 .post .body li, html.fs2 .post .summary li{font-size:21.5px; line-height:1.75;}
html.fs1 .post .body h3{font-size:22px;} html.fs2 .post .body h3{font-size:24px;}
html.fs1 .post .body table{font-size:18px;} html.fs2 .post .body table{font-size:19.5px;}

/* ── 관련 글 ── */
.relp{margin:30px 0 6px;}
.relp h2{font-size:20px; font-weight:900; color:var(--navy); margin-bottom:12px; padding-bottom:10px; border-bottom:2px solid var(--navy);}
.relp .rg{display:grid; grid-template-columns:repeat(3,1fr); gap:12px;}
.relp a{display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden; transition:box-shadow .2s ease;}
.relp a:hover{box-shadow:0 12px 26px rgba(20,33,61,.1);}
.relp img{width:100%; aspect-ratio:16/9; object-fit:cover; display:block; background:var(--cream-2);}
.relp .rb{padding:12px 14px 14px;}
.relp .rc{font-size:13.5px; font-weight:700; color:var(--gold-ink);}
.relp b{display:block; font-size:16.5px; font-weight:900; line-height:1.45; margin-top:2px;}
@media (max-width:640px){ .relp .rg{grid-template-columns:1fr;} .relp a{flex-direction:row; align-items:stretch;} .relp img{width:118px; aspect-ratio:auto; flex:none;} .relp .rb{padding:11px 12px;} .relp b{font-size:16px;} }
/*HLCSS*/
.icard .ib h3{font-size:20px!important;font-weight:900!important;color:var(--navy,#17233B)!important;line-height:1.3!important;letter-spacing:-.3px;word-break:keep-all;-webkit-line-clamp:2!important}
.icard .ib .sub{display:block;font-size:16px;font-weight:700;color:#5b5446;line-height:1.45;margin-top:2px;word-break:keep-all}
.icard .ib p{font-size:16px!important;color:#444!important;line-height:1.6!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.icard .cnew{font-size:11px!important;padding:2px 7px!important;letter-spacing:.5px!important;opacity:.92}
.cover{position:relative}
.cover img{aspect-ratio:16/9!important;object-fit:cover;display:block}
.cover .cvl{position:absolute;top:10px;right:10px;z-index:2;font-size:11px;line-height:1.2;font-weight:600;color:#fff;background:rgba(0,0,0,.42);padding:3px 7px;border-radius:5px}
.cover .cvb{position:absolute;left:0;right:0;bottom:0;padding:56px 24px 18px;background:linear-gradient(rgba(10,18,36,0),rgba(10,18,36,.55) 40%,rgba(10,18,36,.86));color:#fff;text-align:left}
.cover .cvb small{display:block;font-size:13px;font-weight:800;letter-spacing:.2px;opacity:.92;margin-bottom:4px}
.cover .cvb strong{display:block;font-size:30px;font-weight:900;line-height:1.25;word-break:keep-all;text-shadow:0 1px 4px rgba(0,0,0,.35)}
.cover .cvb strong em{font-style:normal;color:#FFD66B}
.cover .cvb span{display:block;font-size:15px;font-weight:600;margin-top:5px;opacity:.95}
@media (min-width:900px){.cover .cvl{font-size:10px;padding:2px 6px;top:8px;right:8px;opacity:.85}}
@media (max-width:620px){.cover .cvb{padding:28px 14px 10px}.cover .cvb small{font-size:11.5px;margin-bottom:2px}.cover .cvb strong{font-size:21px}.cover .cvb span{font-size:13px;margin-top:3px}.cover .cvl{font-size:10px;top:7px;right:7px;padding:2px 5px}}
.relp a b{font-size:17px!important;font-weight:900!important;color:var(--navy,#17233B)!important;line-height:1.35!important}
.relp .sub{display:block;font-style:normal;font-size:15.5px;font-weight:700;color:#5b5446;line-height:1.45;margin-top:3px}
@media (max-width:620px){.icard .ib p{display:none!important}.icard .ib h3{font-size:18px!important}.icard .ib .sub{font-size:15.5px}.icard .thumb{aspect-ratio:16/9!important}.icard .cnew{font-size:10px!important;padding:1px 5px!important}}
/*/HLCSS*/
