:root{--navy:#132c47;--navy-deep:#0b1f35;--blue:#1e8fd5;--blue-soft:#e8f3fb;--orange:#f5923e;--ink:#1b2733;--mist:#f5f8fb;--line:#dbe6ef;--white:#fff}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;background:var(--white)}
body.is-home{overflow:hidden;height:100vh}
button{font-family:inherit;cursor:pointer;border:none;background:none}
a{text-decoration:none;color:inherit}ul{list-style:none}
/* 헤더 */
header.gnb{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 48px;height:84px;transition:.4s}
header.gnb.solid{background:rgba(255,255,255,.97);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line)}
.logo{display:flex;align-items:center;gap:11px}
.logo-mark{width:42px;height:42px;border-radius:50%;background:var(--navy);display:grid;place-items:center}
.logo-mark svg{width:25px;height:25px}
.logo-txt{display:flex;flex-direction:column;line-height:1.15}
.logo-txt b{font-size:23px;font-weight:900;letter-spacing:-.5px;color:var(--blue)}
.logo-txt span{font-size:10.5px;font-weight:600;color:#fff;letter-spacing:.4px;transition:.4s}
header.solid .logo-txt span{color:var(--navy)}
nav.menu{display:flex;gap:2px}
nav.menu a{color:#fff;font-size:15px;font-weight:600;padding:10px 15px;border-radius:99px;transition:.3s}
header.solid nav.menu a{color:var(--navy)}
nav.menu a:hover,nav.menu a.on{background:var(--blue);color:#fff!important}
.hd-actions{display:flex;gap:8px;align-items:center}
.btn-login{color:#fff;font-size:14px;font-weight:600;padding:10px 12px;transition:.4s}
header.solid .btn-login{color:var(--navy)}
.btn-cta{background:var(--orange);color:#fff;font-weight:800;font-size:14.5px;padding:12px 22px;border-radius:99px;box-shadow:0 6px 18px rgba(245,146,62,.35);transition:.25s}
.btn-cta:hover{transform:translateY(-2px)}
/* 메인 덱 */
#deck{height:100vh;transition:transform 1s cubic-bezier(.77,0,.18,1)}
section.panel{height:100vh;position:relative;overflow:hidden}
.dots{position:fixed;left:26px;top:50%;transform:translateY(-50%);z-index:90;display:flex;flex-direction:column;gap:13px}
.dots button{width:10px;height:10px;border-radius:99px;background:rgba(255,255,255,.4);transition:.4s;padding:0}
.dots.dark button{background:rgba(19,44,71,.25)}
.dots button.on{height:32px;background:var(--orange)}
.roller{position:absolute;inset:0}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s;display:flex;align-items:center}
.slide.on{opacity:1;z-index:2}
.slide .bg{position:absolute;inset:0;transform:scale(1.08);transition:transform 7s linear}
.slide.on .bg{transform:scale(1)}
.s-bg1{background:linear-gradient(100deg,rgba(11,31,53,.96) 22%,rgba(19,44,71,.82) 52%,rgba(11,31,53,.42)),url('https://images.unsplash.com/photo-1581578731548-c64695cc6952?auto=format&fit=crop&w=1920&q=80') center/cover no-repeat}
.s-bg2{background:linear-gradient(100deg,rgba(13,32,51,.96) 22%,rgba(18,58,94,.80) 52%,rgba(13,32,51,.40)),url('https://images.unsplash.com/photo-1554118811-1e0d58224f24?auto=format&fit=crop&w=1920&q=80') center/cover no-repeat}
.s-bg3{background:linear-gradient(100deg,rgba(26,36,48,.96) 22%,rgba(35,59,82,.80) 52%,rgba(26,36,48,.38)),url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1920&q=80') center/cover no-repeat}
.slide .swirl,.swirl{position:absolute;right:-12vw;top:-22vh;width:60vw;height:60vw;border-radius:50%;border:2.2vw solid rgba(30,143,213,.13);border-left-color:rgba(30,143,213,.32);animation:swirl 26s linear infinite}
@keyframes swirl{to{transform:rotate(360deg)}}
.slide-in{position:relative;z-index:3;width:100%;max-width:1780px;margin:0 auto;padding:0 72px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(30,143,213,.16);border:1px solid rgba(30,143,213,.45);color:#9fd4f5;font-size:13.5px;font-weight:700;padding:8px 18px;border-radius:99px;margin-bottom:24px}
.eyebrow i{width:7px;height:7px;border-radius:99px;background:var(--orange);animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.3}}
.slide h1{font-size:clamp(42px,4.4vw,68px);font-weight:900;color:#fff;line-height:1.2;letter-spacing:-1.5px}
.slide h1 .b{color:#63c2ff}.slide h1 .o{color:var(--orange)}
.slide .sub{margin-top:22px;font-size:18.5px;color:#b9cede;line-height:1.7}
.slide .sub b{color:#fff}
.slide .btns,.btns{display:flex;gap:14px;margin-top:38px}
.btn-xl{padding:17px 36px;border-radius:14px;font-size:17px;font-weight:800}
.btn-o{background:var(--orange);color:#fff;box-shadow:0 12px 30px rgba(245,146,62,.4);transition:.25s;display:inline-block}
.btn-o:hover{transform:translateY(-3px)}
.btn-ghost{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.28);transition:.25s}
.btn-ghost:hover{background:rgba(255,255,255,.16)}
.slide .rv{opacity:0;transform:translateY(30px);transition:.8s}
.slide.on .rv{opacity:1;transform:none}
.slide.on .rv.d1{transition-delay:.15s}.slide.on .rv.d2{transition-delay:.3s}.slide.on .rv.d3{transition-delay:.45s}
.roll-ctl{position:absolute;bottom:44px;left:72px;z-index:5;display:flex;align-items:center;gap:18px}
.roll-ctl .bar{width:180px;height:3px;background:rgba(255,255,255,.2);border-radius:99px;overflow:hidden}
.roll-ctl .bar i{display:block;height:100%;width:0;background:var(--orange);animation:fill 6s linear infinite}
@keyframes fill{to{width:100%}}
.roll-ctl .num{color:#fff;font-size:14px;font-weight:700;letter-spacing:2px}
.roll-ctl .num em{font-style:normal;color:var(--orange)}
.roll-ctl button{color:#fff;font-size:20px;opacity:.7}
.live-card{position:absolute;right:72px;bottom:44px;z-index:5;width:340px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px);border-radius:20px;padding:22px 24px}
.live-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.live-hd b{color:#fff;font-size:15.5px;font-weight:800}
.live-hd span{display:flex;align-items:center;gap:6px;font-size:11.5px;color:#ffb779;font-weight:700}
.live-hd span i{width:7px;height:7px;border-radius:99px;background:var(--orange);animation:pulse 1.4s infinite}
.live-list{height:150px;overflow:hidden;mask-image:linear-gradient(#000 72%,transparent);-webkit-mask-image:linear-gradient(#000 72%,transparent)}
.live-track{display:flex;flex-direction:column;gap:9px;animation:roll 22s linear infinite}
@keyframes roll{to{transform:translateY(-50%)}}
.live-it{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;background:rgba(255,255,255,.05);border-radius:11px;padding:10px 13px}
.live-it .av{width:32px;height:32px;border-radius:99px;background:linear-gradient(135deg,var(--blue),#0f6fae);display:grid;place-items:center;color:#fff;font-weight:800;font-size:13px}
.live-it .tx b{display:block;color:#eaf3fa;font-size:13px;font-weight:700}
.live-it .tx span{color:#8fa9c0;font-size:11.5px}
.live-it .tag{font-size:11px;font-weight:800;color:#63c2ff;background:rgba(30,143,213,.18);padding:4px 9px;border-radius:99px;white-space:nowrap}
.live-it .tag.done{color:#ffc493;background:rgba(245,146,62,.16)}
/* 메인 섹션 */
.sec-inner{position:relative;z-index:2;width:100%;max-width:1780px;margin:0 auto;padding:118px 72px 64px;height:100%;display:flex;flex-direction:column}
.sec-eyebrow{font-size:13.5px;font-weight:800;color:var(--blue);letter-spacing:2.5px;margin-bottom:13px}
.sec-title{font-size:clamp(32px,2.9vw,46px);font-weight:900;letter-spacing:-1.2px;line-height:1.25;color:var(--navy)}
.sec-title .o{color:var(--orange)}
.sec-desc{margin-top:13px;font-size:16.5px;color:#5c7186;line-height:1.65}
.p-rv{opacity:0;transform:translateY(34px);transition:.8s}
.panel.show .p-rv{opacity:1;transform:none}
.panel.show .p-rv.d1{transition-delay:.12s}.panel.show .p-rv.d2{transition-delay:.24s}
.panel.show .p-rv.d3{transition-delay:.36s}.panel.show .p-rv.d4{transition-delay:.48s}.panel.show .p-rv.d5{transition-delay:.6s}
#m2{background:var(--mist)}
.svc-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin:auto 0;padding-top:38px}
.svc{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:28px 22px 24px;transition:.4s cubic-bezier(.2,.8,.3,1);cursor:pointer;display:block}
.svc:hover{transform:translateY(-10px);border-color:var(--blue);box-shadow:0 24px 44px rgba(19,44,71,.14)}
.svc .ic{width:54px;height:54px;border-radius:15px;background:var(--blue-soft);display:grid;place-items:center;margin-bottom:18px;transition:.4s}
.svc:hover .ic{background:var(--blue)}
.svc .ic svg{width:27px;height:27px;stroke:var(--blue);transition:.4s}
.svc:hover .ic svg{stroke:#fff}
.svc h3{font-size:18.5px;font-weight:800;color:var(--navy);margin-bottom:7px}
.svc p{font-size:13px;color:#66798c;line-height:1.6}
.svc .go{margin-top:16px;font-size:12.5px;font-weight:800;color:var(--blue)}
.svc-note{display:flex;align-items:center;gap:14px;background:var(--navy);border-radius:16px;padding:19px 26px;color:#cfe2f1;font-size:14.5px}
.svc-note b{color:#fff}.svc-note .sp{color:var(--orange);font-size:19px}
#m3{background:linear-gradient(160deg,var(--navy-deep),var(--navy) 70%)}
#m3 .sec-title{color:#fff}
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:auto 0;padding:36px 0}
.node{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:32px 28px;text-align:center;transition:.4s}
.node:hover{border-color:var(--blue);background:rgba(30,143,213,.10)}
.node .n-ic{width:62px;height:62px;margin:0 auto 17px;border-radius:99px;background:linear-gradient(135deg,var(--blue),#0f6fae);display:grid;place-items:center;box-shadow:0 10px 24px rgba(30,143,213,.35)}
.node .n-ic.o{background:linear-gradient(135deg,var(--orange),#e2762a)}
.node .n-ic svg{width:29px;height:29px;stroke:#fff}
.node h3{color:#fff;font-size:19.5px;font-weight:800;margin-bottom:9px}
.node p{color:#9db4c9;font-size:13.5px;line-height:1.65}
.node ul{margin-top:15px;display:flex;flex-direction:column;gap:7px}
.node li{font-size:12.5px;color:#cfe2f1;background:rgba(255,255,255,.05);border-radius:8px;padding:7px 10px}
.chips{display:flex;gap:9px;justify-content:center;flex-wrap:wrap}
.chip{font-size:12px;font-weight:700;color:#63c2ff;border:1px solid rgba(99,194,255,.4);padding:6px 13px;border-radius:99px}
.chip.o{color:#ffc493;border-color:rgba(255,196,147,.4)}
#m4{background:var(--white)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:52px;position:relative}
.steps::before{content:"";position:absolute;top:42px;left:12%;right:12%;height:2px;background:repeating-linear-gradient(90deg,var(--line) 0 10px,transparent 10px 18px)}
.step{text-align:center;padding:0 24px;position:relative}
.step .no{width:84px;height:84px;margin:0 auto 20px;border-radius:99px;background:var(--white);border:2px solid var(--line);display:grid;place-items:center;position:relative;z-index:2;transition:.4s}
.step:hover .no{border-color:var(--orange);transform:scale(1.08)}
.step .no svg{width:36px;height:36px;stroke:var(--navy)}
.step h3{font-size:18px;font-weight:800;color:var(--navy);margin-bottom:7px}
.step h3 em{font-style:normal;color:var(--blue);font-size:12.5px;display:block;margin-bottom:5px;letter-spacing:1.5px}
.step p{font-size:13.5px;color:#66798c;line-height:1.6}
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:auto;margin-bottom:8px}
.tr{display:flex;align-items:center;gap:13px;background:var(--mist);border-radius:15px;padding:18px 20px;border:1px solid transparent;transition:.3s}
.tr:hover{border-color:var(--blue);background:var(--blue-soft)}
.tr svg{width:28px;height:28px;stroke:var(--blue);flex-shrink:0}
.tr b{font-size:14.5px;color:var(--navy);display:block}
.tr span{font-size:12px;color:#66798c}
#m5{background:linear-gradient(150deg,var(--navy) 20%,#17436c);display:flex;flex-direction:column}
#m5::before{content:"";position:absolute;left:-10vw;top:-20vh;width:50vw;height:50vw;border-radius:50%;border:1.8vw solid rgba(245,146,62,.08);border-right-color:rgba(245,146,62,.22);animation:swirl 30s linear infinite}
.cta-wrap{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;z-index:2}
.cta-wrap h2{font-size:clamp(36px,3.4vw,54px);font-weight:900;color:#fff;letter-spacing:-1.4px;line-height:1.3}
.cta-wrap h2 .o{color:var(--orange)}
.cta-wrap p{margin-top:16px;font-size:17px;color:#a9c0d4}
.cta-wrap .tel{margin-top:30px;font-size:42px;font-weight:900;color:#fff}
.cta-wrap .tel svg{width:34px;height:34px;stroke:var(--orange);vertical-align:-4px;margin-right:10px}
footer.ft{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.12);padding:26px 72px;display:flex;justify-content:space-between;align-items:center;color:#7e97ad;font-size:12.5px;line-height:1.8;background:var(--navy-deep)}
footer.ft b{color:#cfe2f1}
.f-links{display:flex;gap:20px}
.f-links a{color:#a9c0d4;font-weight:600;font-size:12.5px}
/* 서브페이지 */
.sub-banner{height:46vh;min-height:360px;position:relative;overflow:hidden;display:flex;align-items:flex-end}
.sub-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s}
.sub-slide.on{opacity:1}
.sub-bnr-in{position:relative;z-index:3;width:100%;max-width:1780px;margin:0 auto;padding:0 72px 56px}
.crumb{font-size:13px;color:#9fd4f5;font-weight:700;letter-spacing:1px;margin-bottom:12px}
.crumb em{font-style:normal;color:#ffc493}
.sub-bnr-in h1{font-size:clamp(38px,3.6vw,56px);font-weight:900;color:#fff;letter-spacing:-1.3px}
.sub-bnr-in p{margin-top:12px;font-size:17px;color:#b9cede;font-weight:500}
.sub-dots{position:absolute;right:72px;bottom:56px;z-index:4;display:flex;gap:8px}
.sub-dots i{width:26px;height:4px;border-radius:99px;background:rgba(255,255,255,.28);cursor:pointer;transition:.3s}
.sub-dots i.on{background:var(--orange)}
.sub-wrap{max-width:1780px;margin:0 auto;padding:90px 72px}
.sub-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center}
.sub-grid h2{font-size:clamp(28px,2.4vw,38px);font-weight:900;color:var(--navy);letter-spacing:-1px;line-height:1.3}
.sub-grid h2 .o{color:var(--orange)}
.sub-grid .lead{margin-top:18px;font-size:16.5px;color:#5c7186;line-height:1.8}
.pt-list{display:flex;flex-direction:column;gap:14px}
.pt{display:flex;gap:16px;background:var(--mist);border:1px solid var(--line);border-radius:16px;padding:20px 22px;transition:.3s}
.pt:hover{border-color:var(--blue);background:var(--blue-soft)}
.pt .pn{width:40px;height:40px;flex-shrink:0;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:900;font-size:15px}
.pt b{font-size:16px;color:var(--navy);display:block;margin-bottom:4px}
.pt span{font-size:13.5px;color:#66798c;line-height:1.6}
.case-sec{background:var(--mist);padding:90px 0}
.case-in{max-width:1780px;margin:0 auto;padding:0 72px}
.case-hd{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:36px}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.case{background:var(--white);border-radius:20px;overflow:hidden;border:1px solid var(--line);transition:.35s}
.case:hover{transform:translateY(-8px);box-shadow:0 22px 40px rgba(19,44,71,.13);border-color:var(--blue)}
.case .thumb{height:200px;position:relative;display:grid;place-items:center}
.case .thumb svg{width:52px;height:52px;stroke:rgba(255,255,255,.9)}
.case .thumb .ba{position:absolute;top:14px;left:14px;font-size:11px;font-weight:800;color:#fff;background:rgba(11,31,53,.55);backdrop-filter:blur(6px);padding:5px 11px;border-radius:99px}
.case .body{padding:20px 22px 22px}
.case .body b{font-size:16.5px;color:var(--navy);display:block}
.case .body p{margin-top:6px;font-size:13px;color:#66798c;line-height:1.55}
.case .meta{margin-top:14px;display:flex;gap:7px;flex-wrap:wrap}
.case .meta span{font-size:11.5px;font-weight:700;color:var(--blue);background:var(--blue-soft);padding:4px 10px;border-radius:99px}
.sub-cta{background:var(--navy);padding:70px 72px;text-align:center}
.sub-cta h3{font-size:clamp(24px,2.2vw,32px);color:#fff;font-weight:900}
.sub-cta h3 .o{color:var(--orange)}
.sub-cta p{margin-top:10px;color:#9db4c9;font-size:15.5px}
.sub-cta .btn-o{margin-top:26px}
/* 고객센터 */
.tabs{display:flex;gap:8px;border-bottom:2px solid var(--line);margin-bottom:38px}
.tabs a{font-size:16.5px;font-weight:700;color:#66798c;padding:14px 22px;position:relative;transition:.25s;display:block}
.tabs a.on{color:var(--navy);font-weight:900}
.tabs a.on::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;background:var(--orange);border-radius:99px}
.board{border-top:2px solid var(--navy)}
.brow{display:grid;grid-template-columns:90px 1fr 130px;gap:16px;align-items:center;padding:20px 14px;border-bottom:1px solid var(--line);transition:.2s}
.brow:hover{background:var(--mist)}
.brow .cat{font-size:12px;font-weight:800;color:var(--blue);background:var(--blue-soft);border-radius:99px;padding:6px 0;text-align:center}
.brow .cat.o{color:var(--orange);background:#fef1e4}
.brow .tt{font-size:15.5px;font-weight:600}
.brow .dt{font-size:13px;color:#8ba0b4;text-align:right}
.bview{padding:26px 14px;border-bottom:1px solid var(--line);background:var(--mist);font-size:14.5px;line-height:1.8;color:#3d5165;white-space:pre-line}
.faq-it{border:1px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden}
.faq-q{width:100%;display:flex;align-items:center;gap:14px;padding:20px 22px;font-size:16px;font-weight:700;color:var(--navy);text-align:left}
.faq-q:hover{background:var(--mist)}
.faq-q .q{color:var(--blue);font-weight:900;font-size:17px}
.faq-q .ar{margin-left:auto;transition:.3s;color:#8ba0b4}
.faq-it.open .ar{transform:rotate(180deg)}
.faq-a{display:none;padding:0 22px 22px 56px;font-size:14.5px;color:#5c7186;line-height:1.75}
.faq-it.open .faq-a{display:block}
.rv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rv-card{background:var(--mist);border:1px solid var(--line);border-radius:18px;padding:26px;transition:.3s}
.rv-card:hover{border-color:var(--blue);background:var(--blue-soft)}
.rv-card .stars{color:var(--orange);font-size:15px;letter-spacing:2px}
.rv-card p{margin-top:14px;font-size:14.5px;color:#3d5165;line-height:1.75;min-height:96px}
.rv-card .who{margin-top:16px;display:flex;justify-content:space-between;font-size:12.5px;color:#8ba0b4;font-weight:600}
.rv-card .who b{color:var(--navy)}
/* 폼 공통 */
.c-field{margin-bottom:14px}
.c-field label{display:block;font-size:13px;font-weight:700;color:var(--navy);margin-bottom:7px}
.c-field input,.c-field select,.c-field textarea{width:100%;border:1.5px solid var(--line);border-radius:11px;padding:13px 15px;font-size:14.5px;font-family:inherit;color:var(--ink);outline:none;transition:.25s;background:#fff;resize:vertical}
.c-field input:focus,.c-field select:focus,.c-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(30,143,213,.12)}
.c-agree{display:flex;align-items:center;gap:8px;font-size:11.5px;color:#66798c;margin:12px 0 14px}
.c-agree a{color:var(--blue)}
.c-submit{width:100%;background:var(--navy);color:#fff;font-size:16px;font-weight:800;padding:16px;border-radius:12px;transition:.3s}
.c-submit:hover{background:var(--blue)}
/* 상담 패널 */
#consult{position:fixed;top:50%;right:0;transform:translateY(-50%) translateX(100%);width:350px;z-index:120;transition:transform .6s cubic-bezier(.77,0,.18,1)}
#consult.open{transform:translateY(-50%) translateX(0)}
.c-tab{position:absolute;left:-54px;top:50%;transform:translateY(-50%);width:54px;padding:20px 0;background:var(--orange);color:#fff;border-radius:13px 0 0 13px;writing-mode:vertical-rl;font-size:15px;font-weight:800;letter-spacing:4px;box-shadow:-8px 0 24px rgba(0,0,0,.22);display:flex;flex-direction:column;align-items:center;gap:9px}
.c-tab svg{width:21px;height:21px;stroke:#fff}
.c-body{background:var(--white);border-radius:18px 0 0 18px;box-shadow:-16px 0 48px rgba(11,31,53,.3);padding:26px}
.c-body h3{font-size:20px;font-weight:900;color:var(--navy)}
.c-body h3 span{color:var(--blue)}
.c-body .c-sub{font-size:12.5px;color:#66798c;margin:5px 0 18px}
/* 회원 카드 페이지 */
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(150deg,var(--navy-deep),var(--navy));padding:120px 20px 60px}
.auth-card{width:100%;max-width:480px;background:#fff;border-radius:22px;padding:42px 40px;box-shadow:0 40px 80px rgba(0,0,0,.35)}
.auth-card h2{font-size:24px;font-weight:900;color:var(--navy);margin-bottom:6px}
.auth-card .sub{font-size:13.5px;color:#66798c;margin-bottom:26px}
.auth-links{margin-top:18px;text-align:center;font-size:13.5px;color:#66798c}
.auth-links a{color:var(--blue);font-weight:700}
/* 마이페이지 */
.my-wrap{max-width:1560px;margin:0 auto;padding:130px 40px 80px}
.my-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}
.my-hd h2{font-size:26px;font-weight:900;color:var(--navy)}
.tbl{width:100%;border-collapse:collapse;border-top:2px solid var(--navy);background:#fff}
.tbl th{background:var(--mist);font-size:13px;color:var(--navy);padding:13px 10px;border-bottom:1px solid var(--line)}
.tbl td{font-size:13.5px;padding:13px 10px;border-bottom:1px solid var(--line);text-align:center;color:#3d5165}
.badge{display:inline-block;font-size:11.5px;font-weight:800;padding:5px 12px;border-radius:99px}
.bg-접수{background:#eef2f6;color:#5c7186}.bg-배정{background:var(--blue-soft);color:var(--blue)}
.bg-진행{background:#fef1e4;color:var(--orange)}.bg-완료{background:#e6f6ec;color:#1d9d55}.bg-취소{background:#fdeaea;color:#c0392b}
.btn-sm{font-size:12px;font-weight:700;padding:7px 13px;border-radius:8px;background:var(--navy);color:#fff}
.btn-sm.o{background:var(--orange)}.btn-sm.gray{background:#8ba0b4}
/* 문답형 가입 위저드 */
.wiz{max-width:640px;margin:0 auto}
.wiz-bar{height:6px;background:#eef2f6;border-radius:99px;overflow:hidden;margin-bottom:34px}
.wiz-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--orange));width:0;transition:.5s;border-radius:99px}
.wiz-q{font-size:23px;font-weight:900;color:var(--navy);line-height:1.4;margin-bottom:8px}
.wiz-q em{font-style:normal;color:var(--blue)}
.wiz-hint{font-size:13.5px;color:#8ba0b4;margin-bottom:22px}
.wiz-opts{display:grid;gap:12px}
.wiz-opt{border:2px solid var(--line);border-radius:14px;padding:18px 20px;text-align:left;font-size:16px;font-weight:700;color:var(--navy);transition:.2s;background:#fff;width:100%}
.wiz-opt:hover{border-color:var(--blue);background:var(--blue-soft)}
.wiz-opt span{display:block;font-size:12.5px;color:#8ba0b4;font-weight:500;margin-top:4px}
.wiz-nav{display:flex;gap:10px;margin-top:26px}
.wiz-nav .prev{flex:0 0 110px;background:#eef2f6;color:#5c7186;border-radius:12px;font-weight:800;padding:15px}
.wiz-nav .next{flex:1;background:var(--navy);color:#fff;border-radius:12px;font-weight:800;padding:15px;font-size:16px}
.wiz-nav .next:hover{background:var(--blue)}
.wk-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:16px}
.wk-grid label{border:2px solid var(--line);border-radius:11px;padding:13px 0;text-align:center;font-weight:800;color:#5c7186;cursor:pointer;transition:.2s}
.wk-grid input{display:none}
.wk-grid input:checked+span{color:var(--blue)}
.wk-grid label:has(input:checked){border-color:var(--blue);background:var(--blue-soft)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ── 반응형 ── */
@media (max-width:1180px){
  .svc-grid{grid-template-columns:repeat(3,1fr)}
  .live-card{display:none}
  .why{grid-template-columns:repeat(3,1fr)}
  .trust{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
  header.gnb{padding:0 18px;height:66px}
  nav.menu{display:none}
  .logo-txt b{font-size:19px}
  .btn-cta{padding:10px 16px;font-size:13px}
  .slide-in,.sec-inner,.sub-bnr-in,.sub-wrap,.case-in{padding-left:22px;padding-right:22px}
  .sec-inner{padding-top:88px}
  .slide h1{font-size:34px}
  .slide .sub{font-size:15px}
  .roll-ctl{left:22px;bottom:26px}
  .roll-ctl .bar{width:100px}
  .svc-grid{grid-template-columns:repeat(2,1fr);gap:10px;overflow-y:auto}
  .svc{padding:18px 14px}
  .svc-note{font-size:12.5px;padding:14px 16px}
  .why{grid-template-columns:1fr;gap:12px;overflow-y:auto;padding:20px 0}
  .node{padding:20px}
  .steps{grid-template-columns:repeat(2,1fr);row-gap:26px}
  .steps::before{display:none}
  .trust{grid-template-columns:1fr;gap:8px}
  .cta-wrap .tel{font-size:30px}
  footer.ft{flex-direction:column;gap:12px;padding:20px 22px;text-align:center}
  .sub-grid{grid-template-columns:1fr;gap:30px}
  .case-grid,.rv-grid{grid-template-columns:1fr}
  .sub-dots{right:22px}
  #consult{width:300px}
  .my-wrap{padding:96px 16px 60px}
  .tbl{font-size:12px}
  .auth-card{padding:30px 22px}
}

/* ── 일정 캘린더 (프론트 공용) ── */
.cal{display:grid;grid-template-columns:repeat(7,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line);background:#fff}
.cal .ch{background:var(--navy);color:#fff;font-size:12.5px;font-weight:700;padding:10px 0;text-align:center;border-right:1px solid var(--line)}
.cal .ch.sun{color:#ffb1a6}.cal .ch.sat{color:#9fd4f5}
.cal .cd{min-height:104px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;font-size:12px}
.cal .cd.dim{background:#fafbfd}
.cal .cd .dn{font-weight:800;color:var(--navy);margin-bottom:6px}
.cal .cd.today{background:var(--blue-soft)}
.cal .cd.today .dn{color:var(--orange)}
.cal .ev{display:block;background:var(--blue-soft);color:var(--blue);border-radius:6px;padding:4px 7px;margin-bottom:4px;font-size:11px;font-weight:700;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.cal .ev.st-진행{background:#fef1e4;color:var(--orange)}
.cal .ev.st-완료{background:#e6f6ec;color:#1d9d55}
.cal .ev.st-취소{background:#fdeaea;color:#c0392b;text-decoration:line-through}
.cal-nav{display:flex;align-items:center;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.cal-nav b{font-size:20px;color:var(--navy)}
.btn-print{display:inline-flex;align-items:center;gap:7px;background:var(--navy);color:#fff;font-size:13px;font-weight:700;padding:10px 18px;border-radius:10px;transition:.25s;cursor:pointer;border:none;font-family:inherit}
.btn-print:hover{background:var(--blue)}
.btn-nav{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 15px;font-size:13px;font-weight:700;color:var(--navy);cursor:pointer}
.sched-legend{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 0;font-size:11.5px;color:#66798c}
.sched-legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:4px;vertical-align:-1px}

/* ── A4 프린트 ── */
@media print{
  @page{size:A4 landscape;margin:9mm}
  body{overflow:visible!important;height:auto!important;background:#fff!important}
  header.gnb,#consult,footer.ft,.no-print,.dots{display:none!important}
  .print-area{position:static!important;width:100%!important;padding:0!important;margin:0!important;max-width:none!important}
  body.printing *{visibility:hidden}
  body.printing .print-area,body.printing .print-area *{visibility:visible}
  body.printing .print-area{position:absolute!important;left:0;top:0}
  .cal .cd{min-height:74px}
  .print-title{display:block!important;font-size:17px;font-weight:900;color:#000;margin-bottom:8px}
  .tbl th{background:#eee!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .cal .ev,.badge{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
.print-title{display:none}
