:root{
  --pink:#E6007E; --pink2:#FF2E98; --pink-soft:#FFDEEE;
  --violet:#6639EE; --lav:#F2F2FD; --ivory:#F4F4ED;
  --ink:#111; --ink2:#363636; --mute:#666; --line:#E8E8EE;
  --dark:#323232; --bg:#fff;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Pretendard,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;font-size:17px;line-height:1.55;word-break:keep-all}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding-inline:20px}
b,strong{font-weight:800}
.lt{font-weight:400}
:focus-visible{outline:3px solid var(--violet);outline-offset:2px}

/* 맨 위 혜택 띠 */
.strip{background:var(--pink);color:#fff;text-align:center;font-weight:800;font-size:18px;padding:14px 16px}
.strip{position:relative;padding-right:200px;padding-left:200px}
.strip-x{position:absolute;right:16px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:8px;background:none;border:0;color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer;opacity:.92}
.strip-x b{font-size:24px;line-height:1;font-weight:400}
.strip.hide{display:none}
@media (max-width:900px){.strip{padding:12px 44px 12px 14px;font-size:15px;text-align:left}.strip-x span{display:none}.strip-x{right:8px}}
.strip em{font-style:normal;background:#fff;color:var(--pink);border-radius:999px;padding:2px 10px;margin-right:8px;font-size:14px;vertical-align:2px}

/* 머리글 */
header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.hd{display:flex;align-items:center;gap:14px;height:70px}
.brand{display:flex;align-items:center;gap:10px}
.brand img{height:32px;width:auto}
.brand span{font-size:22px;font-weight:800;color:#555;letter-spacing:-.02em}
.nav{display:flex;gap:28px;margin-left:auto;font-weight:700;font-size:17px}
.nav{align-items:center}
.dd{position:relative}
.dd-b,.nav-a{font:inherit;font-weight:700;color:inherit;background:none;border:0;cursor:pointer;padding:8px 2px}
.dd-b::after{content:"";display:inline-block;width:7px;height:7px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);margin:0 0 4px 8px}
.dd-b:hover,.nav-a:hover,.dd.open .dd-b{color:var(--pink)}
.dd-m{position:absolute;top:calc(100% + 10px);left:-14px;min-width:250px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 40px rgba(30,20,70,.14);padding:8px;display:none;z-index:40}
.dd.open .dd-m{display:grid}
.dd-m button{font:inherit;font-size:16px;font-weight:600;text-align:left;background:none;border:0;border-radius:10px;padding:11px 12px;cursor:pointer;color:var(--ink)}
.dd-m button:hover{background:var(--lav);color:var(--pink)}
.hd-tel{margin-left:18px;background:var(--pink);color:#fff;font-weight:800;border-radius:999px;padding:9px 18px;font-size:17px;white-space:nowrap}

/* 첫 화면 */
.hero{background:linear-gradient(100deg,#FBEAF5 0%,#EFE9FF 60%,#E6F0FF 100%)}
.hstage{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;padding-block:48px}
.hstage.wide{grid-template-columns:1.7fr 1fr;gap:32px}
.hstage.wide .hmedia{order:-1}
.hstage.wide h1{font-size:34px}.hstage.wide h1 .lt{font-size:23px}
.hstage.wide .htext p{font-size:16px}
.hmedia{position:relative;border-radius:22px;overflow:hidden;box-shadow:0 22px 54px rgba(102,57,238,.22);aspect-ratio:16/9;background:#0b1a3a}
.hmedia video{width:100%;height:100%;object-fit:cover;display:block}
.snd{position:absolute;right:12px;bottom:12px;font:inherit;font-size:13px;font-weight:700;border:0;border-radius:999px;padding:7px 12px;background:rgba(255,255,255,.92);cursor:pointer}
.hero h1{margin:0 0 14px;font-size:44px;line-height:1.25;letter-spacing:-.03em;text-wrap:balance}
.hero h1 .lt{display:block;font-size:30px;color:var(--ink2)}
.hero h1 b{color:var(--pink)}
.hero p{margin:0 0 24px;color:var(--ink2);font-size:18px}
.gift{display:inline-flex;align-items:center;gap:12px;background:#fff;border:2px solid var(--pink);border-radius:16px;padding:14px 18px;margin-bottom:22px;box-shadow:0 8px 24px rgba(230,0,126,.12)}
.gift .t{font-size:13px;color:var(--pink);font-weight:800}
.gift .n{font-size:26px;font-weight:900;letter-spacing:-.02em}
.gift .n small{font-size:16px;font-weight:800;color:var(--violet)}
.gift .g{font-size:12px;font-weight:800;color:#fff;background:var(--violet);border-radius:8px;padding:6px 8px;line-height:1.2;text-align:center}
.cta{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:15px 22px;font-weight:800;font-size:16px;border:2px solid var(--pink)}
.btn.fill{background:var(--pink);color:#fff}
.btn.line{background:#fff;color:var(--pink)}
.hero-pic{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:4/3.4;box-shadow:0 20px 50px rgba(102,57,238,.18)}
.hero-pic img{width:100%;height:100%;object-fit:cover}
.hero-pic .shorts{position:absolute;inset:0}
.hero-pic .tag{z-index:4;position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.92);border-radius:10px;padding:8px 12px;font-size:13px;font-weight:700}

/* 상품 아이콘 줄 */
.cats{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding-block:28px;border-bottom:1px solid var(--line)}
.cat{display:flex;flex-direction:column;align-items:center;gap:10px;font-weight:800;font-size:18px;cursor:pointer;background:none;border:0;font-family:inherit;color:inherit;padding:8px 4px;border-radius:14px}
.cat:hover{background:var(--lav)}
.ic{width:124px;height:124px;border-radius:30px;display:grid;place-items:center;background:linear-gradient(145deg,#F4EEFF,#FFE6F3)}
.ic svg{width:66px;height:66px}
.dev{width:124px;height:124px;border-radius:30px;display:grid;place-items:center;background:linear-gradient(145deg,#F4EEFF,#FFE6F3)}
.dev img{width:110px;height:110px;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(60,30,120,.18))}
.set .dev{width:72px;height:72px;border-radius:18px}.set .dev img{width:62px;height:62px}

/* 섹션 공통 */
section{padding-block:72px}
.sec-h{margin:0 0 28px;font-size:32px;letter-spacing:-.03em;line-height:1.3;text-wrap:balance}
.sec-h .dot{color:var(--pink)}
.bg-ivory{background:var(--ivory)}
.bg-lav{background:var(--lav)}

/* 약속 4가지 */
.promise{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.pcard{background:#fff;border-radius:20px;padding:22px}
.pcard .ph{border-radius:14px;overflow:hidden;aspect-ratio:16/8;margin-bottom:16px;position:relative}
.pcard .ph .shorts{position:absolute;inset:0}
.pcard .ph img{width:100%;height:100%;object-fit:cover}
.pcard h3{margin:0 0 8px;font-size:21px;font-weight:400;letter-spacing:-.02em}
.pcard p{margin:0;color:var(--mute);font-size:15px}

/* 결합상품 */
.combo{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ccard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px 22px;display:flex;flex-direction:column;gap:14px}
.ccard h3{margin:0;text-align:center;font-size:20px}
.ccard .best{align-self:center;background:var(--pink);color:#fff;font-size:12px;font-weight:800;border-radius:999px;padding:3px 10px;margin-top:-6px}
.set{display:flex;justify-content:center;align-items:flex-start;gap:6px}
.set .it{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:13px;text-align:center;width:72px;line-height:1.3}
.set .plus{color:#bbb;font-size:22px;margin-top:14px}
.price{border-top:1px solid var(--line);padding-top:14px;text-align:right}
.price .lbl{font-size:13px;color:var(--mute)}
.price .v{font-size:28px;font-weight:900;color:var(--pink);font-variant-numeric:tabular-nums}
.price .v small{font-size:16px;color:var(--ink)}
.price .vat{font-size:12px;color:var(--mute)}
.bonus{display:flex;align-items:center;gap:10px;background:var(--lav);border-radius:12px;padding:10px 12px;font-size:14px}
.bonus .b5{flex:none;background:var(--violet);color:#fff;font-weight:900;border-radius:8px;padding:6px 8px;font-size:13px}
.bonus b{color:var(--pink)}
.ccard .cta .btn{flex:1;padding:12px 10px;font-size:15px}

/* 혜택 3칸 */
.perks{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.perk{border-radius:20px;padding:28px 24px;color:#fff;min-height:200px;display:flex;flex-direction:column;gap:8px}
.perk h3{margin:0;font-size:26px;letter-spacing:-.02em}
.perk p{margin:0;opacity:.92}
.perk .big{margin-top:auto;font-size:30px;font-weight:900}
.p1{background:linear-gradient(140deg,#7A4BFF,#5228D8)}
.p2{background:linear-gradient(140deg,#4E58E6,#3442C6)}
.p3{background:linear-gradient(140deg,#C21A86,#8E1B9E)}

/* 현장 사례 */
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.case{border-radius:18px;overflow:hidden;background:var(--dark);color:#fff}
.case .ph{aspect-ratio:4/3;overflow:hidden}
.case .ph img{width:100%;height:100%;object-fit:cover}
.case .tx{padding:16px 18px 20px}
.case .chip{display:inline-block;background:var(--violet);border-radius:6px;font-size:12px;font-weight:700;padding:3px 8px;margin-bottom:8px}
.case h3{margin:0;font-size:18px;line-height:1.4}

/* 상담 */
.ask{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.ask h2{margin:0 0 10px}
.ask .tel{font-size:44px;font-weight:900;color:var(--pink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.ask .hr{color:var(--mute)}
form{background:#fff;border-radius:20px;padding:24px;display:grid;gap:12px;border:1px solid var(--line)}
label{font-size:14px;font-weight:700}
input,select{width:100%;font:inherit;padding:12px 14px;border:1px solid #D5D5DE;border-radius:10px;background:#fff}
.agree{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--mute);font-weight:400}
.agree input{width:auto;margin-top:3px}

/* 분홍 상담 띠 + 맨 아래 */
.callbar{background:var(--pink);color:#fff}
.callbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:22px;flex-wrap:wrap}
.callbar .l{display:flex;align-items:center;gap:12px;font-weight:700;font-size:18px}
.callbar .l img{height:26px}
.callbar .r{text-align:right}
.callbar .r a{font-size:36px;font-weight:900;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.callbar .r div{font-size:14px;opacity:.9}
footer{background:#5E5E5E;color:#E4E4E4;font-size:14px}
footer .wrap{padding-block:30px;display:grid;gap:8px}
footer img{height:30px;width:auto;margin-bottom:6px}
footer .biz{color:#fff;font-weight:700}
footer .note{color:#C8C8C8;font-size:12px}


/* 쇼츠식 사진 넘김 */
.shorts{position:relative;overflow:hidden;background:#222}
.shorts img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s}
.shorts img.on{opacity:1}
.shorts .bars{position:absolute;left:10px;right:10px;top:10px;z-index:3;display:flex;gap:4px}
.shorts .bars i{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.4);overflow:hidden}
.shorts .bars i b{display:block;height:100%;width:0;background:#fff}
.shorts .bars i.done b{width:100%}
.shorts .cap{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:40px 16px 16px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.72))}
@media (prefers-reduced-motion:no-preference){
  .shorts img.on{animation:kb 3.6s ease-out forwards}
  .shorts img.on.alt{animation-name:kb2}
  .shorts .bars i.now b{animation:fill 3.4s linear forwards}
}
@keyframes kb{from{transform:scale(1.03)}to{transform:scale(1.16) translate(-2%,-1.5%)}}
@keyframes kb2{from{transform:scale(1.16) translate(2%,1%)}to{transform:scale(1.03)}}
@keyframes fill{from{width:0}to{width:100%}}
.reels{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.reel{border-radius:18px;aspect-ratio:9/16}
.reel .chip{display:inline-block;background:var(--violet);border-radius:6px;font-size:12px;font-weight:700;padding:3px 8px;margin-bottom:6px}
.reel h3{margin:0;font-size:17px;line-height:1.4}

/* 사무실 전화 상자 펼침 */
.pbox{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px 22px;cursor:pointer;outline:none;transition:border-color .2s,box-shadow .2s}
.pbox h3{margin:0 0 6px;font-size:21px;display:flex;justify-content:space-between;align-items:center}
.pbox h3 span{font-size:13px;color:var(--violet);font-weight:700}
.pbox .v{font-size:30px;font-weight:900;color:var(--pink);font-variant-numeric:tabular-nums}
.pbox .v small{font-size:16px;color:var(--ink)}
.pbox .s{font-size:14px;color:var(--mute)}
.pbox .more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s}
.pbox .more>div{overflow:hidden}
.pbox ul{margin:14px 0 0;padding:14px 0 0;border-top:1px solid var(--line);list-style:none;display:grid;gap:8px;font-size:15px}
.pbox li::before{content:"✓";color:var(--pink);font-weight:900;margin-right:8px}
.pbox:hover,.pbox:focus-within,.pbox:focus{border-color:var(--pink);box-shadow:0 10px 28px rgba(230,0,126,.14)}
.pbox:hover .more,.pbox:focus .more,.pbox:focus-within .more{grid-template-rows:1fr}
.pbox:hover h3 span,.pbox:focus h3 span{visibility:hidden}
@media (max-width:900px){.reels{grid-template-columns:repeat(2,1fr)}}


/* 팝업 */
dialog.pop{border:0;padding:0;border-radius:22px;width:min(720px,calc(100vw - 24px));max-height:calc(100vh - 40px);box-shadow:0 30px 80px rgba(20,10,60,.35);color:var(--ink)}
dialog.pop::backdrop{background:rgba(20,14,40,.55)}
.pop-h{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;background:#fff;border-bottom:1px solid var(--line)}
.pop-h h2{margin:0;font-size:22px;letter-spacing:-.02em}
.pop-x{width:40px;height:40px;border:0;border-radius:12px;background:var(--lav);font-size:22px;cursor:pointer;line-height:1}
.pop-b{padding:20px 22px 8px;display:grid;gap:16px}
.pop-b p{margin:0;color:var(--ink2)}
.pop-b .note{font-size:13px;color:var(--mute)}
.pt{width:100%;border-collapse:collapse;font-size:15px;font-variant-numeric:tabular-nums}
.pt th,.pt td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left}
.pt th{font-size:13px;color:var(--mute);font-weight:700}
.pt td.n{text-align:right;font-weight:800;color:var(--pink);white-space:nowrap}
.pt tr.hl td{background:#FFF3F9}
.pop-f{position:sticky;bottom:0;display:flex;gap:10px;padding:14px 22px 18px;background:#fff;border-top:1px solid var(--line)}
.pop-f .btn{flex:1;padding:13px 10px}
.pop-vid{border-radius:14px;overflow:hidden;aspect-ratio:16/9;background:#0b1a3a}.pop-vid video{width:100%;height:100%;display:block;object-fit:cover}
.devrow{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.devrow figure{margin:0;background:var(--lav);border-radius:14px;padding:12px;text-align:center;font-size:14px;font-weight:700}
.devrow img{width:100%;height:110px;object-fit:contain}
.chk{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.chk li::before{content:"✓";color:var(--pink);font-weight:900;margin-right:8px}
.mm{display:grid;gap:6px}.mm b{font-size:13px;color:var(--mute);margin-top:6px}
.mm button{font:inherit;font-size:17px;font-weight:700;text-align:left;border:0;background:var(--lav);border-radius:12px;padding:14px 16px;cursor:pointer}
@media (max-width:420px){.devrow{grid-template-columns:1fr 1fr}.pt{font-size:14px}}


/* 상품 고르기 (본사식 카드) */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.tabs button{font:inherit;font-size:16px;font-weight:700;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 20px;cursor:pointer;color:var(--ink2)}
.tabs button.on{background:#5E5E66;border-color:#5E5E66;color:#fff}
.tp{display:none}.tp.on{display:block}
.ban{display:grid;grid-template-columns:1.2fr 1fr;border-radius:20px;overflow:hidden;background:#3A3536;color:#fff;margin-bottom:22px;min-height:220px}
.ban-t{padding:30px 34px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.ban-t h3{margin:0;font-size:28px;letter-spacing:-.02em;text-wrap:balance}
.ban-t ul{margin:0;padding:0;list-style:none;display:grid;gap:10px;font-size:16px}
.ban-t li::before{content:"";display:inline-block;width:22px;height:22px;border-radius:7px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12l4 4 8-8' stroke='%236639EE' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/16px no-repeat;vertical-align:-5px;margin-right:10px}
.ban-i{background-size:cover;background-position:center;position:relative}
.ban-i::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#3A3536,rgba(58,53,54,0) 45%)}
.tp[data-panel="iptv"] .ban-i{background-size:55%;background-repeat:no-repeat;background-color:#2B2627}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tp[data-panel="cctv"] .cards{grid-template-columns:repeat(3,1fr)}
.tp[data-panel="iptv"] .cards{grid-template-columns:repeat(3,1fr)}
.pcd{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px 20px 20px;display:flex;flex-direction:column;gap:12px;position:relative}
.pcd:hover{border-color:var(--pink);box-shadow:0 12px 30px rgba(230,0,126,.12)}
.tg{display:flex;gap:4px;min-height:22px}
.tg i{font-style:normal;font-size:12px;font-weight:800;color:#fff;border-radius:999px;padding:3px 9px}
.t-a{background:#3D6BE6}.t-b{background:#E2231A}.t-c{background:#7A3FE4}.t-d{background:#0F8A6A}
.pcd h4{margin:0;font-size:22px;letter-spacing:-.02em}
.pcd .ds{margin:0;font-size:15px;color:var(--ink2);min-height:46px}
.ft{margin:0;padding:14px;list-style:none;background:#F7F7FA;border-radius:14px;display:grid;gap:9px;font-size:14px;font-weight:600}
.ft li{display:flex;gap:8px}.ft li::before{content:"●";color:var(--pink);font-size:9px;margin-top:5px}
.pr{margin-top:auto;display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 8px}
.pr .lb{width:100%;font-size:13px;color:var(--mute)}
.pr .was{font-size:13px;color:var(--mute);text-decoration:line-through;order:2}
.pr b{font-size:24px;color:var(--pink);font-variant-numeric:tabular-nums}
.pcd .cta{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pcd .cta .btn{padding:11px 6px;font-size:14px}
.vat{margin:14px 2px 0;font-size:13px;color:var(--mute)}
/* 직접 고르기 */
.bgrp{margin-top:26px}
.bgrp h3{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid #CFCFD8;font-size:21px}
.bgrp h3 small{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700}
.qty{width:32px;height:32px;border-radius:9px;border:1px solid #CFCFD8;background:#fff;font-size:18px;cursor:pointer}
.ops{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.op{position:relative;background:#fff;border:2px solid transparent;border-radius:16px;padding:16px 16px 14px;display:flex;flex-direction:column;gap:6px;cursor:pointer;min-height:132px;box-shadow:0 2px 8px rgba(30,20,70,.05)}
.op input{position:absolute;top:16px;right:16px;width:20px;height:20px;accent-color:var(--pink)}
.op .nm{font-weight:800;font-size:17px;padding-right:28px;line-height:1.3}
.op .pz{margin-top:auto;display:grid;grid-template-columns:auto 1fr;align-items:end;gap:0 8px;font-size:13px;color:var(--mute)}
.op .pz s{grid-column:1/-1;text-align:right}
.op .pz b{text-align:right;font-size:18px;color:var(--ink);font-variant-numeric:tabular-nums}
.op.sel{border-color:var(--pink)}
.op-none .nm{color:var(--mute)}
.xdc{margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.xd-col{display:grid;gap:16px}
.xd{display:flex;align-items:flex-start;gap:12px;background:#EFEFF3;border:2px solid transparent;border-radius:20px;padding:22px 24px;cursor:pointer}
.xd.sel{border-color:var(--pink);background:#fff}
.xd input{position:absolute;opacity:0;width:1px;height:1px}
.xd .ck{flex:none;width:30px;height:30px;border-radius:50%;border:2px solid #B9B9C4;display:grid;place-items:center;background:#fff}
.xd .ck::after{content:"";width:10px;height:6px;border:solid #B9B9C4;border-width:0 0 2px 2px;transform:rotate(-45deg) translate(1px,-1px)}
.xd.sel .ck{border-color:var(--pink);background:var(--pink)}.xd.sel .ck::after{border-color:#fff}
.xd input:focus-visible+.ck{outline:3px solid var(--violet);outline-offset:2px}
.xd .xt{display:grid;gap:10px;font-size:17px}.xd .xt b{font-weight:700}.xd small{font-size:14px;color:var(--mute);font-weight:400}
.cardrow{display:flex;gap:16px;align-items:center}
.cardimg{flex:none;width:104px;height:66px;border-radius:8px;background:linear-gradient(135deg,#4B3F9E,#2E2774);color:#fff;font-size:10px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;box-shadow:0 4px 10px rgba(46,39,116,.3)}
.cardimg i{font-style:normal;font-weight:800;font-size:11px;align-self:flex-end;margin-right:8px}
.cardrow .cn{display:block;font-weight:600;padding-bottom:8px;border-bottom:1px solid #CFCFD8;margin-bottom:8px}
.sum{margin-top:16px;background:#fff;border-radius:20px;padding:24px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line)}
.sum .col{padding:0 18px;border-left:1px solid var(--line)}.sum .col:first-child{border-left:0;padding-left:0}
.sum .hd{display:flex;justify-content:space-between;font-weight:700}.sum .hd b{font-size:20px;font-variant-numeric:tabular-nums}
.sum .ln{margin-top:10px;display:grid;gap:6px;font-size:14px;color:var(--mute)}
.sum .ln div{display:flex;justify-content:space-between;gap:8px}
.sum .tot{grid-column:1/-1;margin-top:20px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;align-items:baseline;gap:16px;font-weight:700}
.sum .tot b{font-size:30px;color:var(--pink);font-variant-numeric:tabular-nums}
.bcta{justify-content:center;margin-top:18px}
@media (max-width:900px){
  .ban{grid-template-columns:1fr}.ban-i{min-height:160px;order:-1}.ban-i::before{background:linear-gradient(0deg,#3A3536,rgba(58,53,54,0) 60%)}
  .ban-t{padding:22px}.ban-t h3{font-size:22px}
  .cards,.tp[data-panel="cctv"] .cards,.tp[data-panel="iptv"] .cards{grid-template-columns:1fr 1fr}
  .sum{grid-template-columns:1fr;gap:16px}.sum .col{border-left:0;padding:0}
  .xdc{grid-template-columns:1fr}.cardrow{flex-direction:column;align-items:flex-start}
}
@media (max-width:560px){.cards,.tp[data-panel="cctv"] .cards,.tp[data-panel="iptv"] .cards{grid-template-columns:1fr}.ops{grid-template-columns:1fr 1fr}}

/* 휴대폰 하단 고정 버튼 */
.mbar{display:none}
.hd-menu{display:none;margin-left:auto;width:44px;height:44px;border:0;border-radius:12px;background:var(--lav);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.hd-menu span{width:20px;height:2px;background:var(--ink);border-radius:2px}

@media (max-width:900px){
  .nav{display:none}
  .hd-menu{display:flex}
  .hstage,.hstage.wide{grid-template-columns:1fr;padding-block:28px}
  .hstage .hmedia,.hstage.wide .hmedia{order:2;aspect-ratio:9/16;max-height:78vh;margin-inline:auto;width:min(100%,420px)}
  .gift .n small{display:block;margin-top:2px}
  .hero h1{font-size:32px}.hero h1 .lt{font-size:22px}
  .cats{grid-template-columns:repeat(3,1fr)}
  .promise,.combo,.perks,.cases,.ask{grid-template-columns:1fr}
  section{padding-block:48px}
  .sec-h{font-size:25px}
  .callbar .r{text-align:left}
  .hd-tel{display:none}
  .mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:30;box-shadow:0 -4px 16px rgba(0,0,0,.12)}
  .mbar a{padding:15px 8px;text-align:center;font-weight:800}
  .mbar .a1{background:#fff;color:var(--pink)}.mbar .a2{background:var(--pink);color:#fff}
  body{padding-bottom:54px}
}
@media (max-width:420px){
  .gift .n small{display:block;margin-top:2px}
  .brand span{font-size:17px}.brand img{height:26px}
  .gift .n{font-size:22px}
  .set .it{width:60px;font-size:12px}
}
@media (prefers-reduced-motion:no-preference){.btn,.cat{transition:background .15s,transform .15s}.btn:hover{transform:translateY(-1px)}}

/* ===== 띠 ===== */
.strip-t{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 10px;line-height:1.35}
.strip em{margin-right:0}
.vchs{display:inline-flex;gap:4px}
.vchs i{font-style:normal;background:#fff;color:var(--pink);font-size:11px;font-weight:900;border-radius:4px;padding:3px 6px;line-height:1;position:relative;box-shadow:0 1px 0 rgba(0,0,0,.18)}
.vchs i::before,.vchs i::after{content:"";position:absolute;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:var(--pink)}
.vchs i::before{left:-3px}.vchs i::after{right:-3px}
.strip b{color:#FFF1A8}
.strip-x{right:46px;font-weight:800;opacity:1;text-shadow:0 1px 2px rgba(0,0,0,.4)}
/* ===== 메뉴 (마우스를 올리면 열린다) ===== */
.dd-b,.nav-a{display:inline-block}
.dd-m{display:grid;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .15s,transform .15s,visibility .15s;min-width:330px;gap:2px}
.dd-m::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.dd.open .dd-m{display:grid;visibility:visible;opacity:1;pointer-events:auto;transform:none}
@media (hover:hover){.dd:hover .dd-m,.dd:focus-within .dd-m{visibility:visible;opacity:1;pointer-events:auto;transform:none}.dd:hover .dd-b{color:var(--pink)}}
.dd-m a{display:grid;gap:2px;border-radius:10px;padding:10px 12px;color:var(--ink)}
.dd-m a b{font-size:16px;font-weight:800}
.dd-m a small{font-size:13px;color:var(--mute);font-weight:500;line-height:1.35}
.dd-m a:hover,.dd-m a:focus-visible{background:var(--lav)}.dd-m a:hover b{color:var(--pink)}
.nav-a[aria-current],.dd-b[aria-current]{color:var(--pink)}
.mnav{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(30,20,70,.08)}
.mnav .wrap{display:grid;padding-block:8px 16px}
.mnav a{padding:12px 4px 12px 16px;font-size:16px;border-bottom:1px solid #F1F1F5}
.mnav a.mn-h{padding-left:4px;font-weight:800;font-size:17px;color:var(--ink)}
a.cat{text-decoration:none}
/* ===== 카드 가격 칸 ===== */
.pr-v{display:grid;gap:8px;align-items:stretch}
.vch{display:flex;align-items:center;gap:10px;background:#FFF3F9;border-radius:12px;padding:8px 10px;font-size:14px;font-weight:700;line-height:1.3}
.vch img{width:64px;height:32px;flex:none}.vch b{color:var(--pink)}
.gw{font-size:13px;font-weight:800;color:var(--violet)}
.pp{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.pp small{font-size:12px;color:var(--mute)}
.pcd{scroll-margin-top:96px}
.cards.c3{grid-template-columns:repeat(3,1fr)}
.cards.c5{grid-template-columns:repeat(5,1fr);gap:12px}
.cards.c5 .pcd{padding:22px 14px 16px}.cards.c5 .pcd h4{font-size:19px}.cards.c5 .pcd .ds{font-size:14px}.cards.c5 .pr b{font-size:21px}.cards.c5 .pcd .cta .btn{font-size:13px}
@media (max-width:900px){.cards.c3,.cards.c5{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.cards.c3,.cards.c5{grid-template-columns:1fr}}
/* ===== 요금제 둘러보기 (영상 + 카드가 차례로 짚어진다) ===== */
.tour+.tour,.tour+.vat{margin-top:34px}
.tour-box{display:grid;grid-template-columns:1fr 290px;gap:12px;background:#3A3536;color:#fff;border-radius:22px;overflow:hidden;margin-bottom:22px;min-height:440px}
.tour-t{padding:34px 36px;display:flex;flex-direction:column;justify-content:center;gap:16px}
.tour-t h3{margin:0;font-size:30px;letter-spacing:-.02em;text-wrap:balance;line-height:1.3}
.tour-t ul{margin:0;padding:0;list-style:none;display:grid;gap:10px;font-size:16px}
.tour-t li::before{content:"";display:inline-block;vertical-align:-5px;margin-right:10px;width:22px;height:22px;border-radius:7px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12l4 4 8-8' stroke='%236639EE' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/16px no-repeat}
.tour-guide{min-height:92px;margin-top:6px;background:rgba(255,255,255,.1);border-radius:14px;padding:14px 16px;display:grid;gap:4px;align-content:center}
.tour-guide .tg-n{font-size:13px;color:#FFB3DA;letter-spacing:.02em}
.tour-guide .tg-t{font-size:16px;font-weight:600;line-height:1.5}
.tour-v{display:flex;align-items:center;justify-content:center;padding:20px 24px 20px 0}
.tour-v video{height:400px;width:auto;aspect-ratio:9/16;border-radius:16px;object-fit:cover;background:#111;box-shadow:0 16px 36px rgba(0,0,0,.4)}
.tour .pcd{transition:border-color .25s,box-shadow .25s,transform .25s}
.tour .pcd.hl{border-color:var(--pink);box-shadow:0 14px 34px rgba(230,0,126,.2);transform:translateY(-4px)}
.tour.landed .pcd.rec::after{content:attr(data-rb);position:absolute;top:-13px;right:16px;background:var(--pink);color:#fff;font-weight:800;font-size:13px;padding:4px 12px;border-radius:999px;box-shadow:0 4px 10px rgba(230,0,126,.3)}
@media (max-width:900px){
  .tour-box{grid-template-columns:1fr;min-height:0;gap:0}
  .tour-v{order:-1;padding:22px 0 0}
  .tour-v video{height:auto;width:min(70%,260px)}
  .tour-t{padding:22px}.tour-t h3{font-size:22px}
}
/* ===== 직접 고르기: 하나 고르면 나머지는 접힌다 ===== */
.op-reset{display:none;align-items:center;justify-content:center;gap:8px;background:#fff;border:2px dashed #B9B9C4;border-radius:16px;font:inherit;font-weight:800;font-size:16px;color:var(--ink2);cursor:pointer;min-height:132px}
.op-reset:hover{border-color:var(--pink);color:var(--pink)}
.ops.picked{grid-template-columns:2fr 1fr}
.ops.picked .op:not(.sel){display:none}
.ops.picked .op-reset{display:flex}
/* ===== 가입혜택 아이콘 ===== */
.cat-perk .ic{overflow:hidden;position:relative}
.cat-perk .ic::before{content:"";position:absolute;inset:0;background:var(--pink);opacity:0}
.cat-perk .ic svg{position:relative;z-index:1}
@media (prefers-reduced-motion:no-preference){
  .cat-perk .ic{animation:perkglow 1.2s ease-in-out infinite}
  .cat-perk .ic::before{animation:perkflash 1.2s ease-in-out infinite}
  .cat-perk .ic svg{animation:perkgrow 6s ease-in-out infinite}
}
@keyframes perkflash{0%,100%{opacity:0}50%{opacity:.2}}
@keyframes perkglow{0%,100%{box-shadow:0 0 0 0 rgba(230,0,126,0)}50%{box-shadow:0 0 0 7px rgba(230,0,126,.22)}}
@keyframes perkgrow{0%{transform:scale(1)}8%{transform:scale(.3)}80%{transform:scale(1.85)}92%{transform:scale(1.85)}100%{transform:scale(1)}}
.pk{display:grid;gap:12px}
.pk>div{border-radius:16px;padding:18px 20px;color:#fff;display:grid;gap:4px}
.pk>div:nth-child(1){background:linear-gradient(140deg,#7A4BFF,#5228D8)}
.pk>div:nth-child(2){background:linear-gradient(140deg,#4E58E6,#3442C6)}
.pk>div:nth-child(3){background:linear-gradient(140deg,#C21A86,#8E1B9E)}
.pk h3{margin:0;font-size:19px}.pk p{margin:0;opacity:.92;font-size:15px}.pk .big{font-size:26px;font-weight:900}
/* ===== 하위 페이지 ===== */
.phero{background:linear-gradient(100deg,#FBEAF5 0%,#EFE9FF 60%,#E6F0FF 100%)}
.phero .wrap{padding-block:40px 34px}
.crumb{font-size:14px;color:var(--mute);margin-bottom:10px}.crumb a:hover{color:var(--pink)}
.phero h1{margin:0 0 10px;font-size:38px;letter-spacing:-.03em;line-height:1.25;text-wrap:balance}
.phero h1 b{color:var(--pink)}
.phero p{margin:0 0 18px;color:var(--ink2);font-size:18px;max-width:60ch}
.psec{padding-block:48px}
.psec .sec-h{font-size:28px;margin-bottom:20px}
.narrow{max-width:860px}
.pbody{display:grid;gap:18px}
.pbody p{margin:0;color:var(--ink2)}
.pbody .note,.note{font-size:14px;color:var(--mute)}
.pbody .pt{background:#fff;border-radius:14px;overflow:hidden}
.pbody .pt th{background:#F7F7FA}
.tw{overflow-x:auto}
.pbody .devrow{grid-template-columns:repeat(3,minmax(0,220px))}
.pbody .devrow figure{background:#fff}
.pbody .pop-vid{max-width:860px}
/* 하위 페이지 맨 아래: 길 안내 상자 */
.pask{background:var(--ivory)}
.pask .wrap{display:grid;gap:18px;padding-block:36px}
.pask h2{margin:0;font-size:26px}.pask p{margin:6px 0 0;color:var(--mute)}
.pask-box{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;display:grid;gap:14px}
.pask-nav{display:flex;gap:8px;flex-wrap:wrap}
.pn{font:inherit;font-size:15px;font-weight:800;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--lav);border-radius:999px;padding:10px 16px;cursor:pointer;color:var(--ink)}
.pn:hover{border-color:var(--pink);color:var(--pink)}
.pn.tel{background:var(--pink);border-color:var(--pink);color:#fff}
.pask-links{display:flex;gap:8px;flex-wrap:wrap}
.pask-links a{font-size:15px;font-weight:700;border:1px solid var(--line);border-radius:999px;padding:8px 14px;background:#fff}
.pask-links a:hover{border-color:var(--pink);color:var(--pink)}
.pask-go{display:flex;gap:10px;flex-wrap:wrap}
@media (max-width:900px){.phero h1{font-size:28px}.psec{padding-block:34px}.psec .sec-h{font-size:23px}.pbody .devrow{grid-template-columns:1fr 1fr}}
/* ===== 전화기 목록 (카드와 같은 4칸) ===== */
.dvs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.dv{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px 18px 20px;display:flex;flex-direction:column;gap:10px}
.dv .im{height:150px;display:grid;place-items:center;background:var(--lav);border-radius:14px}
.dv .im img{max-width:88%;max-height:132px;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(60,30,120,.18))}
.dv h4{margin:0;font-size:19px}.dv .tg{min-height:0}
.dv ul{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:14px;color:var(--ink2)}
.dv li::before{content:"●";color:var(--pink);font-size:8px;margin-right:8px;vertical-align:2px}
.dv.w2{grid-column:span 2}
@media (max-width:900px){.dvs{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.dvs{grid-template-columns:1fr}.dv.w2{grid-column:auto}}
/* ===== 센트릭스 첫 영상 ===== */
.cx-vid{border-radius:22px;overflow:hidden;background:#0b1a3a;box-shadow:0 18px 44px rgba(20,10,60,.22);max-width:960px;margin-inline:auto}
.cx-vid video{display:block;width:100%;height:auto}
.cx-vid .cx-m{display:none}
@media (max-width:900px){.cx-vid{max-width:340px}.cx-vid .cx-w{display:none}.cx-vid .cx-m{display:block}}
/* ===== 오피스넷 ===== */
.om-hero{background:#1b1a3a url(../img/office-hero.jpg) center/cover;color:#fff;border-radius:22px;overflow:hidden;position:relative}
.om-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,18,50,.9),rgba(20,18,50,.45))}
.om-hero>div{position:relative;padding:34px;display:grid;gap:14px}
.om-hero h2{margin:0;font-size:30px;letter-spacing:-.02em;text-wrap:balance}
.om-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.om-tiles div{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);border-radius:14px;padding:12px 14px;display:grid;gap:2px}
.om-tiles span{font-size:13px;opacity:.9}.om-tiles b{font-size:22px}
.om-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:center}
.om-intro img{border-radius:18px;width:100%;height:auto}
.om-diag{display:grid;grid-template-columns:minmax(0,320px) 1fr;gap:24px;align-items:start}
.om-diag img{border-radius:14px;background:#fff;border:1px solid var(--line);width:100%;height:auto}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0;padding:0;list-style:none;counter-reset:s}
.steps li{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;display:grid;gap:6px;counter-increment:s}
.steps li::before{content:counter(s);width:28px;height:28px;border-radius:50%;background:var(--pink);color:#fff;font-weight:800;display:grid;place-items:center}
.steps b{font-size:16px}.steps span{font-size:14px;color:var(--mute)}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips span{background:var(--lav);border-radius:999px;padding:7px 14px;font-weight:700;font-size:15px}
@media (max-width:900px){.om-intro,.om-diag{grid-template-columns:1fr}.om-tiles{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.om-hero h2{font-size:23px}}
/* ===== 현장 ===== */
.field{background:linear-gradient(#E9F2FF,#fff 70%)}
.field .sub{margin:-14px 0 18px;color:var(--ink2)}
.fld-svg{width:100%;height:auto;display:block;border-radius:18px;background:#EAF3FF}
.fld-van{animation:vanmove 14s linear infinite}
@keyframes vanmove{from{transform:translateX(-140px)}to{transform:translateX(1100px)}}
@media (prefers-reduced-motion:reduce){.fld-van{animation:none;transform:translateX(420px)}}
.fld-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.fld-tags span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-weight:800}
/* ===== 챗봇 ===== */
.cb-fab{position:fixed;right:20px;bottom:24px;z-index:60;width:62px;height:62px;border-radius:50%;border:0;background:var(--violet);color:#fff;font:inherit;font-weight:800;font-size:12px;cursor:pointer;box-shadow:0 10px 26px rgba(102,57,238,.45);display:grid;place-items:center;line-height:1.1}
.cb-fab svg{width:26px;height:26px;display:block;margin:0 auto 1px}
.cb-panel{position:fixed;right:20px;bottom:98px;z-index:60;width:min(360px,calc(100vw - 24px));max-height:min(560px,calc(100vh - 130px));background:#fff;border-radius:20px;box-shadow:0 24px 60px rgba(20,10,60,.35);display:none;flex-direction:column;overflow:hidden}
.cb-panel.on{display:flex}
.cb-h{background:var(--violet);color:#fff;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;font-weight:800}
.cb-h button{background:none;border:0;color:#fff;font-size:22px;cursor:pointer;line-height:1}
.cb-log{padding:14px;overflow-y:auto;display:grid;gap:10px;align-content:start;flex:1;background:#F7F7FB}
.cb-m{max-width:88%;padding:10px 13px;border-radius:14px;font-size:15px;line-height:1.5;white-space:pre-line}
.cb-m.bot{background:#fff;border:1px solid var(--line);justify-self:start}
.cb-m.me{background:var(--violet);color:#fff;justify-self:end}
.cb-q{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;border-top:1px solid var(--line);max-height:112px;overflow-y:auto}
.cb-q button{font:inherit;font-size:13px;font-weight:700;border:1px solid var(--line);background:var(--lav);border-radius:999px;padding:6px 11px;cursor:pointer}
.cb-q button:hover{border-color:var(--violet);color:var(--violet)}
.cb-in{display:flex;gap:6px;padding:10px 12px;border-top:1px solid var(--line)}
.cb-in input{flex:1;padding:10px 12px;font-size:15px}.cb-in button{font:inherit;font-weight:800;border:0;background:var(--pink);color:#fff;border-radius:10px;padding:0 14px;cursor:pointer}
@media (max-width:900px){.cb-fab{bottom:66px;right:14px;width:56px;height:56px}.cb-panel{right:12px;bottom:130px;max-height:calc(100vh - 190px)}.strip-x{right:16px}}

.dv{position:relative}
.dv>.tg{position:absolute;top:30px;left:30px;z-index:1;min-height:0}

.cats{grid-template-columns:repeat(6,minmax(0,1fr))}
@media (max-width:900px){.cats{grid-template-columns:repeat(3,minmax(0,1fr))}}
.cat{min-width:0;text-align:center;word-break:keep-all}

.vchs{gap:0}
.vchs img{width:50px;height:22px;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.25);object-fit:cover;background:#fff}
.vchs img+img{margin-left:-30px}
@media (max-width:560px){.vchs img{width:40px;height:18px}.vchs img+img{margin-left:-26px}}
.vch img{width:64px;height:28px;object-fit:cover;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.2)}

.cards.c2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px;margin-inline:auto}
@media (max-width:560px){.cards.c2{grid-template-columns:minmax(0,1fr)}}
.ai-top{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:40px;align-items:center}
.ai-top .cx-vid{max-width:340px;margin:0}
.ai-top .cx-vid video{aspect-ratio:9/16}
.ai-price{display:flex;align-items:baseline;gap:6px;margin:6px 0 4px}
.ai-price b{font-size:64px;letter-spacing:-.04em;color:var(--pink);line-height:1;font-variant-numeric:tabular-nums}
.ai-price span{font-size:22px;font-weight:800}
.ai-price small{color:var(--mute);font-size:14px;margin-left:6px}
.ai-day{display:inline-block;background:var(--violet);color:#fff;font-weight:800;border-radius:999px;padding:6px 14px;font-size:15px;margin-bottom:14px}
.ai-tags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 22px;padding:0;list-style:none}
.ai-tags li{background:var(--lav);border-radius:14px;padding:12px 14px;font-weight:800;font-size:16px}
.ai-tags li::before{content:"✓";color:var(--violet);margin-right:8px}
.ai-tags li.hl{background:#FFECF6;color:var(--pink)}
.ai-tags li.hl::before{color:var(--pink)}
.ai-vs{width:100%;border-collapse:separate;border-spacing:0 10px}
.ai-vs th{font-size:15px;padding:0 12px 4px;text-align:left;color:var(--mute)}
.ai-vs th.us{color:var(--pink)}
.ai-vs td{background:#fff;padding:16px 14px;font-weight:700;vertical-align:middle}
.ai-vs td:first-child{border-radius:14px 0 0 14px;color:var(--ink2);width:30%}
.ai-vs td:last-child{border-radius:0 14px 14px 0;background:#FFECF6;color:var(--ink)}
.ai-vs td.no{color:#9a9aa8}
.ai-vs td.no::before{content:"✕ ";color:#b4b4c0}
.ai-vs td.ok::before{content:"✓ ";color:var(--pink);font-weight:900}
.ai-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;counter-reset:s}
.ai-steps li{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 18px;counter-increment:s}
.ai-steps li::before{content:counter(s);display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--violet);color:#fff;font-weight:900;margin-bottom:10px}
.ai-steps b{display:block;font-size:18px;margin-bottom:6px}
.ai-steps span{color:var(--ink2);font-size:15px;line-height:1.55}
.ai-deal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ai-deal div{background:#fff;border-radius:18px;padding:20px 18px;border:1px solid var(--line)}
.ai-deal b{display:block;font-size:26px;color:var(--pink);letter-spacing:-.02em;margin-bottom:4px}
.ai-deal span{color:var(--ink2);font-size:15px;line-height:1.5}
.ai-shops{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.ai-shops li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 16px;font-weight:700}
.ai-promo{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;background:linear-gradient(100deg,#2A1B7A,#6639EE);color:#fff;border-radius:22px;padding:28px 30px}
.ai-promo h3{margin:0 0 6px;font-size:26px;letter-spacing:-.02em}
.ai-promo h3 em{font-style:normal;color:#FFD600}
.ai-promo p{margin:0;color:#E4DEFF;font-size:16px}
.ai-promo .btn{background:#FFD600;border-color:#FFD600;color:#111;white-space:nowrap}
.ai-promo .tg{display:inline-block;background:var(--pink);color:#fff;font-size:13px;font-weight:800;border-radius:999px;padding:4px 10px;margin-bottom:10px}
@media (max-width:900px){
 .ai-top{grid-template-columns:minmax(0,1fr);gap:24px}
 .ai-top .cx-vid{margin-inline:auto;max-width:300px}
 .ai-steps,.ai-deal{grid-template-columns:minmax(0,1fr)}
 .ai-promo{grid-template-columns:minmax(0,1fr);padding:22px 20px}
 .ai-price b{font-size:52px}
}
@media (max-width:560px){ .ai-tags{grid-template-columns:minmax(0,1fr)} .ai-vs td{padding:13px 10px;font-size:14px} }

/* 띠: 가운데, 상품권 사진 크게 */
.strip{text-align:center;padding:10px 120px;font-size:17px}
.strip-t{justify-content:center;gap:8px 14px}
.vchs img{width:84px;height:37px;border-radius:4px}
.vchs img+img{margin-left:-58px}
@media (max-width:900px){.strip{padding:10px 40px 10px 12px;font-size:15px}.vchs img{width:60px;height:26px}.vchs img+img{margin-left:-42px}}
/* 요금 안내 영상: 좌우 2배 */
.tour-box{grid-template-columns:1fr 500px}
.tour-v{padding:24px 28px 24px 0}
.tour-v video{width:450px;height:auto;aspect-ratio:9/16}
@media (max-width:1100px){.tour-box{grid-template-columns:1fr 380px}.tour-v video{width:340px}}
@media (max-width:900px){.tour-box{grid-template-columns:1fr}.tour-v{padding:22px 0 0}.tour-v video{width:min(88%,420px)}}
/* 아래 바로가기: 오와 열을 맞춘 같은 크기 칸 */
.pask-box{grid-template-columns:repeat(6,1fr);gap:12px;padding:24px}
.pask-nav,.pask-links,.pask-go{display:contents}
.pask-box .pn,.pask-links a,.pask-go .btn{display:flex;align-items:center;justify-content:center;text-align:center;height:60px;padding:0 10px;border-radius:14px;font-size:18px;font-weight:800;margin:0;min-width:0;box-sizing:border-box}
.pask-links a{background:var(--lav)}
@media (max-width:900px){.pask-box{grid-template-columns:repeat(3,1fr);gap:8px;padding:16px}.pask-box .pn,.pask-links a,.pask-go .btn{height:52px;font-size:15px}}
@media (max-width:420px){.pask-box{grid-template-columns:repeat(2,1fr)}}
/* 약속 사진 넘김: 2.2초, 바로 */
.shorts img{transition:opacity .35s}
@media (prefers-reduced-motion:no-preference){.shorts .bars i.now b{animation:fill 2.2s linear forwards}.shorts img.on{animation-duration:2.4s}}
/* 첫 화면 상품 탭 조금 크게 */
.tabs{gap:10px}
.tabs button{font-size:19px;padding:14px 28px}
@media (max-width:900px){.tabs button{font-size:16px;padding:11px 18px}}

/* ===== 혜택이 좋은 결합 상품 (약속 위 섹션) ===== */
.cmb-sec{background:linear-gradient(180deg,#F6F4FF 0%,#FFF 100%)}
.cmb{display:grid;gap:22px}
.cmb .sec-h{margin-bottom:0}
.cmb-sub{margin:-10px 0 0;color:var(--mute);font-size:17px}
.cmb-find h3{margin:0;font-size:26px;letter-spacing:-.03em;text-wrap:balance}.cmb-find h3 b{color:var(--pink)}
.cmb-hd h3{margin:0;font-size:30px;letter-spacing:-.03em;text-wrap:balance}.cmb-hd h3 b{color:var(--pink)}
.cmb-hd p{margin:6px 0 0;color:var(--mute);font-size:16px}
.cmb-find{background:linear-gradient(135deg,#FFE6F2,#EFEAFF);border-radius:28px;padding:30px 30px 26px;display:grid;gap:14px;text-align:center}
.cmb-find .cmb-count{text-align:center}
.cmb-q{margin:-4px 0 6px;font-size:16px;color:var(--ink2)}
.cmb-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.cmb-chip{font:inherit;display:flex;align-items:center;gap:12px;background:#fff;border:2px solid transparent;border-radius:20px;padding:16px 18px;cursor:pointer;font-size:18px;font-weight:800;color:var(--ink);box-shadow:0 6px 18px rgba(102,57,238,.08);transition:border-color .2s,transform .2s}
.cmb-chip img{width:46px;height:46px;object-fit:contain;background:var(--lav);border-radius:12px}
.cmb-chip span{flex:1;text-align:left}
.cmb-chip i{width:24px;height:24px;border-radius:50%;border:2px solid #C9C9D6;position:relative}
.cmb-chip.on{border-color:var(--pink)}
.cmb-chip.on i{background:var(--pink);border-color:var(--pink)}
.cmb-chip.on i::after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg)}
.cmb-chip:hover{transform:translateY(-2px)}
.cmb-chip:focus-visible{outline:3px solid var(--violet);outline-offset:2px}
.cmb-count{margin:0;font-size:20px;font-weight:900;letter-spacing:-.02em}.cmb-count em{font-style:normal;color:var(--pink)}
.cmb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.cmb-card{padding:26px 24px 22px;gap:14px;border-radius:26px;box-shadow:0 10px 30px rgba(17,17,17,.05)}
.cmb-card[hidden]{display:none}
.cmb-card.hl{border:2px solid var(--pink);box-shadow:0 18px 40px rgba(230,0,126,.16)}
.cmb-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.cmb-top i{font-style:normal;font-size:12px;font-weight:800;color:#fff;border-radius:4px;padding:4px 8px;line-height:1.2}
.cmb-rank{background:#111;color:#fff;font-size:12px;font-weight:800;padding:4px 8px;border-radius:4px}
.cmb-card.hl .cmb-rank{background:var(--pink)}
.cmb-head{margin:4px 0 0;font-size:25px;font-weight:900;letter-spacing:-.03em;text-align:center;text-wrap:balance}
.cmb-card h4{font-size:15px;font-weight:700;color:var(--violet);text-align:center;margin-top:-8px}
.cmb-icons{display:flex;align-items:flex-start;justify-content:center;gap:2px;padding:14px 0 16px;border-bottom:1px solid var(--line)}
.cmb-ic{display:grid;justify-items:center;gap:2px;min-width:68px;text-align:center}
.cmb-ic small{font-size:12px;color:var(--mute);font-weight:600;line-height:1.25}
.cmb-ic img{width:72px;height:72px;object-fit:contain;background:var(--lav);border-radius:18px;padding:2px;box-sizing:border-box;transform:scale(1.02)}
.cmb-ic b{font-size:14px;color:var(--ink);margin-top:4px}
.cmb-plus{font-style:normal;font-size:30px;font-weight:300;color:#B8B8C6;align-self:flex-start;margin-top:18px}
.cmb-rows{list-style:none;margin:0;padding:12px 14px;background:#F7F7FB;border-radius:14px;display:grid;gap:8px}
.cmb-rows li{display:flex;justify-content:space-between;gap:10px;font-size:15px;font-weight:700}
.cmb-rows em{font-style:normal;color:var(--mute);font-weight:600;font-variant-numeric:tabular-nums}
.cmb-who b{font-size:15px}.cmb-who ul{margin:6px 0 0;padding:0 0 0 18px;font-size:14px;color:var(--ink2);display:grid;gap:2px}
.cmb-price{margin-top:auto;display:grid;gap:8px;justify-items:end;padding-top:6px}
.cmb-dcs{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;min-height:26px}
.cmb-dc{background:#FFF1F8;color:var(--pink);font-size:13px;font-weight:800;padding:4px 10px;border-radius:999px}
.cmb-lbl{margin:0;font-size:14px;color:var(--mute)}
.cmb-pr{display:flex;align-items:baseline;gap:10px}
.cmb-pr s{color:#9A9AA8;font-size:16px;font-variant-numeric:tabular-nums}
.cmb-pr .pp b{font-size:34px;font-weight:900;color:var(--pink);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.cmb-gift{display:flex;align-items:center;gap:16px;background:#E9F0FF;border-radius:18px;padding:14px 16px}
.cmb-tk{flex:none;position:relative;display:grid;place-items:center;width:84px;height:50px;border-radius:8px;background:linear-gradient(135deg,#4C7BFF,#2F55E0);color:#fff;font-weight:900;font-size:18px;line-height:1;transform:rotate(-10deg);box-shadow:0 6px 14px rgba(47,85,224,.35)}
.cmb-tk small{display:block;font-size:10px;font-weight:700;opacity:.85;margin-bottom:-6px}
.cmb-tk::before,.cmb-tk::after{content:"";position:absolute;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;background:#E9F0FF}
.cmb-tk::before{left:-6px}.cmb-tk::after{right:-6px}
.cmb-gift p{margin:0;display:grid}.cmb-gift p small{font-size:13px;color:var(--ink2)}.cmb-gift b{font-size:17px;white-space:nowrap;color:var(--pink);letter-spacing:-.02em}
.cmb-card .cta .btn{font-size:16px;padding:13px 6px}
.cmb-diy{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;border:2px dashed #C9BDF6;border-radius:26px;padding:30px 24px;background:#FBFAFF;color:var(--ink)}
.cmb-diy:hover{border-color:var(--violet)}
.cmb-diy-ic{width:64px;height:64px;border-radius:50%;background:var(--violet);color:#fff;font-size:40px;line-height:60px;font-weight:300}
.cmb-diy h4{margin:0;font-size:22px}.cmb-diy p{margin:0;color:var(--ink2);font-size:15px;max-width:26ch}
.cmb-empty{grid-column:1/-1;text-align:center;padding:30px;background:#F7F7FB;border-radius:20px;font-weight:700}
.cmb-note{margin:0;font-size:13px;color:var(--mute)}
@media (max-width:1100px){.cmb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.cmb-find h3{font-size:21px}.cmb-find{padding:20px 16px}.cmb-head{font-size:22px}.cmb-chips{grid-template-columns:repeat(2,1fr);gap:8px}.cmb-chip{font-size:16px;padding:10px 12px}.cmb-chip img{width:32px;height:32px}}
@media (max-width:640px){.cmb-grid{grid-template-columns:minmax(0,1fr)}.cmb-ic{min-width:0}.cmb-ic img{width:56px;height:56px}.cmb-plus{font-size:22px;margin-top:14px}.cmb-ic small{font-size:11px}.cmb-gift b{font-size:16px}.cmb-find{padding:16px}.cmb-card{padding:22px 18px 18px}.cmb-pr .pp b{font-size:30px}}
@media (prefers-reduced-motion:reduce){.cmb-chip{transition:none}.cmb-chip:hover{transform:none}}
