/* 자동 생성 — 메인 페이지(index.html)의 꾸밈을 그대로 옮긴 파일입니다. 직접 고치지 마세요 (node scripts/build-seo-pages.cjs 가 다시 씁니다) */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:82px;font-size:17px;overflow-x:clip}   /* 휴대폰 좌우 흔들림 방지 (clip 은 고정 머리 · sticky 유지) */
body{font-family:'Pretendard Variable',Pretendard,sans-serif;background:#fff;color:#111;-webkit-font-smoothing:antialiased;line-height:1.6;letter-spacing:-.01em;overflow-x:hidden;overflow-x:clip}
a{text-decoration:none;color:inherit}ul{list-style:none}img{max-width:100%;display:block}
[id]{scroll-margin-top:82px}
button:focus-visible,a:focus-visible{outline:3px solid #8FA6FF;outline-offset:3px}

:root{
  --ink:#0A0A14;--ink2:#1E1E32;--ink3:#2C2C48;
  --muted:#6B6B8A;--subtle:#6E6E8C;--rule:#E4E4F0;
  --bg:#FFFFFF;--bg2:#F7F7FC;--bg3:#EFEFF8;
  --acc:#2F4BF0;--acc2:#1B2ECC;--acc-soft:#7C90FF;
  --grad:linear-gradient(135deg,#2F4BF0,#1B2ECC);
  --grad-r:linear-gradient(135deg,#1B2ECC,#2F4BF0);
  --glow:0 0 40px rgba(47,75,240,.22);
  --green:#10C896;--amber:#F5A623;--red:#EF4444;
  --w:1160px;--r:14px;--r2:20px;--r3:28px;
}

.wrap{max-width:var(--w);margin:0 auto;padding:0 24px}

/* ── HEADER ── */
#hd{position:fixed;inset:0 0 auto;z-index:900;transition:background .3s,border .3s,backdrop-filter .3s}
#hd.solid{background:rgba(10,10,20,.4);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.07)}
.hd-inner{display:flex;align-items:center;justify-content:space-between;height:66px}
.logo{font-size:19px;font-weight:900;color:#fff;letter-spacing:-.04em}
.logo b{background:linear-gradient(135deg,#7C90FF,#A8B8FF);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:900}
.hd-nav{display:flex;gap:28px}
.hd-nav a{font-size:16px;font-weight:600;color:rgba(255,255,255,.55);transition:color .2s}
.hd-nav a:hover{color:#fff}
.hd-btn{display:inline-flex;align-items:center;gap:7px;padding:10px 22px;background:var(--grad);color:#fff;font-size:16px;font-weight:800;border-radius:99px;border:none;cursor:pointer;font-family:inherit;box-shadow:0 4px 16px rgba(47,75,240,.4);transition:all .2s}
.hd-btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(47,75,240,.5)}

/* ── MOB BAR ── */
.mob-bar{display:none;position:fixed;bottom:0;left:0;right:0;padding:12px 16px 20px;background:transparent;z-index:800;flex-direction:column;gap:0}
.mob-cta-btn{width:100%;padding:18px 20px;font-size:17px;font-weight:900;font-family:inherit;background:var(--grad);color:#fff;border:none;border-radius:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 24px rgba(47,75,240,.45);position:relative;overflow:hidden;letter-spacing:-.01em}
.mob-cta-btn::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.15) 50%,transparent 60%);transform:translateX(-100%);animation:mobshine 3s ease-in-out infinite}
@keyframes mobshine{0%,70%{transform:translateX(-100%)}100%{transform:translateX(200%)}}
.mob-cta-btn:active{transform:scale(.98)}
@media(max-width:640px){.mob-bar{display:flex}body{padding-bottom:0}footer{padding-bottom:130px!important}}

/* ── BUTTONS ── */
.gb{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-weight:800;cursor:pointer;border:none;letter-spacing:-.01em;transition:transform .28s var(--ease-out),box-shadow .28s var(--ease-out),background .2s linear}
.gb:active{transform:translateY(1px) scale(.985);transition-duration:.08s}
.gb-grad{background:var(--grad);color:#fff;padding:18px 40px;font-size:17px;border-radius:var(--r);box-shadow:0 8px 24px rgba(47,75,240,.35)}
.gb-grad:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(47,75,240,.48);filter:brightness(1.07)}
.gb-ghost{background:rgba(255,255,255,.07);color:#fff;padding:18px 32px;font-size:17px;border-radius:var(--r);border:1px solid rgba(255,255,255,.15)}
.gb-ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25)}
.gb-outline{background:transparent;color:var(--ink);padding:18px 32px;font-size:17px;border-radius:var(--r);border:1.5px solid var(--rule)}
.gb-outline:hover{border-color:var(--acc);color:var(--acc)}
.gb-dark{background:var(--ink);color:#fff;padding:18px 40px;font-size:17px;border-radius:var(--r)}
.gb-dark:hover{background:var(--ink2);transform:translateY(-2px)}

/* ── HERO ── */
.hero{background:var(--ink);min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:120px 0 80px;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 70% 40%,rgba(47,75,240,.18) 0%,transparent 60%),radial-gradient(ellipse 50% 50% at 20% 80%,rgba(27,46,204,.15) 0%,transparent 60%);pointer-events:none}
.hero-grid{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;z-index:2}
.hero-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;background:rgba(47,75,240,.15);border:1px solid rgba(47,75,240,.3);border-radius:99px;font-size:16px;font-weight:700;color:rgba(255,255,255,.85);margin-bottom:28px}
.hero-kicker-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.85)}}
.hero-h1{font-size:clamp(48px,5.8vw,86px);font-weight:900;line-height:1.08;letter-spacing:-.04em;color:#fff;margin-bottom:24px}
.hero-h1 .hl{color:#8FA6FF;text-shadow:0 2px 12px rgba(0,0,0,.55)}
.hero-sub{font-size:18px;color:rgba(255,255,255,.86);line-height:1.8;margin-bottom:32px;max-width:520px;margin-left:auto;margin-right:auto;word-break:keep-all}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:48px;justify-content:center}
.hero-tags{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.htag{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:99px;font-size:16px;font-weight:700;color:rgba(255,255,255,.85)}
.htag svg{width:14px;height:14px;color:var(--green)}
.hero-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:1}
.hero::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,10,20,.74) 0%,rgba(10,10,20,.54) 38%,rgba(10,10,20,.60) 70%,rgba(10,10,20,.82) 100%)}
@media(max-width:640px){.hero::after{background:linear-gradient(180deg,rgba(10,10,20,.82) 0%,rgba(10,10,20,.68) 45%,rgba(10,10,20,.88) 100%)}}

/* ── MARQUEE ── */
.marquee-wrap{background:var(--ink2);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);padding:18px 0;overflow:hidden}
.marquee-track{display:flex;gap:0;width:max-content;animation:marq 28s linear infinite}
.marquee-track:hover{animation-play-state:paused}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.m-item{display:inline-flex;align-items:center;gap:10px;padding:0 32px;font-size:15px;font-weight:700;color:rgba(255,255,255,.45);white-space:nowrap}
.m-sep{color:rgba(47,75,240,.5);font-size:18px;font-weight:300}

/* ── 비용 구조 비교 ── */
.cost{display:flex;flex-direction:column;gap:18px;margin-top:22px}
.cost-h{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;letter-spacing:-.01em;color:var(--subtle);margin-bottom:9px}
.cost-h::before{content:"";width:7px;height:7px;border-radius:2px;background:currentColor;opacity:.5;flex-shrink:0}
.cost-h.is-us{color:var(--acc)}
.cost-h.is-us::before{opacity:1}
.cost-bar{display:flex;height:38px;border-radius:9px;overflow:hidden;border:1px solid var(--rule);background:#fff}
.cs{position:relative;width:0;flex:0 0 auto;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:width .9s var(--ease-out)}
.wp-grid.in .cs{width:var(--w)}
.cost-leg{display:flex;flex-wrap:wrap;gap:5px 16px;margin-top:11px}
.lg{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--muted);white-space:nowrap}
.sw{width:9px;height:9px;border-radius:3px;flex-shrink:0}
.sw-a{background:#E7E9F2;border:1px solid #D3D7E4}
.sw-b{background:#EFF0F6;border:1px solid #DCDFE9}
.sw-c{background:#F5F6FA;border:1px solid #E2E5ED}
.sw-d{background:var(--acc)}
.sw-e{background:#DCE3FF}
.cs-a{background:#E7E9F2;color:#6E7590}
.cs-b{background:#EFF0F6;color:#7C8399}
.cs-c{background:#F5F6FA;color:#8B92A8}
.cs-d{background:var(--acc);color:#fff}
.cs-e{background:#DCE3FF;color:#2340C8}
.cost-n{font-variant-numeric:tabular-nums;margin-top:9px;font-size:15px;font-weight:800;color:var(--muted);letter-spacing:-.02em}
.cost-n.is-us{font-size:19px;color:var(--ink)}

/* ── 가진 것 → 저희가 하는 일 ── */
.mt{display:flex;flex-direction:column;gap:0;margin-top:20px;border-top:1px solid var(--rule)}
.mt-row{display:flex;align-items:flex-start;gap:13px;padding:14px 2px;border-bottom:1px solid var(--rule)}
.mt-ico{flex-shrink:0;width:22px;height:22px;color:var(--acc);margin-top:1px}
.mt-ico svg{width:100%;height:100%;display:block}
.mt-b{font-size:14.75px;color:var(--muted);line-height:1.6;word-break:keep-all}
.mt-b em{display:block;font-style:normal;font-size:13.5px;font-weight:800;color:var(--ink2);margin-bottom:2px}
.wp-foot{margin-top:18px;padding-top:15px;border-top:1px dashed var(--rule);font-size:13.75px;color:var(--subtle);line-height:1.7;word-break:keep-all}
.wp-foot b{color:var(--ink2);font-weight:800}
@media(max-width:560px){
  .cost-bar{height:34px}
  .lg{font-size:11.75px}
  .mt-b{font-size:14px}
}

/* ── SECTION 04 · 포트폴리오 (자료 준비 시 활성화 · §28/§29) ── */
.pf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pf-card{background:#fff;border:1.5px solid var(--rule);border-radius:var(--r2);overflow:hidden;display:flex;flex-direction:column;transition:border-color .18s,transform .18s,box-shadow .18s}
.pf-card:hover{border-color:rgba(47,75,240,.4);transform:translateY(-3px);box-shadow:0 14px 34px rgba(47,75,240,.12)}
.pf-img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block;background:var(--bg2)}
.pf-body{padding:22px 22px 20px;display:flex;flex-direction:column;gap:11px;flex:1}
.pf-cat{align-self:flex-start;font-size:12.5px;font-weight:800;color:var(--acc);background:rgba(47,75,240,.09);border:1px solid rgba(47,75,240,.22);padding:4px 11px;border-radius:100px}
.pf-prob,.pf-sol{font-size:14.5px;color:var(--muted);line-height:1.65;word-break:keep-all}
.pf-prob em,.pf-sol em{display:block;font-style:normal;font-size:11.5px;font-weight:800;letter-spacing:.06em;color:var(--ink2);margin-bottom:4px}
.pf-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:6px}
.pf-meta span{font-size:12.25px;font-weight:700;color:var(--ink2);background:var(--bg2);border-radius:8px;padding:5px 10px}
.pf-cta{margin-top:8px;font-family:inherit;font-size:14.5px;font-weight:800;color:var(--acc);background:rgba(47,75,240,.07);border:1.5px solid rgba(47,75,240,.25);border-radius:100px;padding:12px 18px;cursor:pointer;transition:background .18s,border-color .18s}
.pf-cta:hover{background:rgba(47,75,240,.13);border-color:rgba(47,75,240,.45)}
@media(max-width:1000px){.pf-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.pf-grid{grid-template-columns:1fr}}

/* ── SECTION 07 · 업종별 활용 예시 ── */
.uc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}
.uc-card{font-family:inherit;text-align:left;display:flex;flex-direction:column;gap:0;background:#fff;border:1.5px solid var(--rule);border-radius:var(--r2);padding:24px 22px 22px;cursor:pointer;transition:border-color .18s,transform .18s,box-shadow .18s}
.uc-card:hover{border-color:var(--ink3);background:var(--bg2);box-shadow:none}
.uc-ico{width:26px;height:26px;color:var(--acc);margin-bottom:14px;flex-shrink:0}
.uc-ico svg{width:100%;height:100%;display:block}
.uc-ind{font-size:16px;font-weight:900;color:var(--ink);letter-spacing:-.03em;word-break:keep-all;line-height:1.35}
.uc-need{margin-top:9px;font-size:14px;color:var(--muted);line-height:1.62;word-break:keep-all;flex:1}
.uc-set{margin-top:15px;padding-top:14px;border-top:1px dashed var(--rule);font-size:13.75px;font-weight:700;color:var(--ink2);line-height:1.55;word-break:keep-all}
.uc-set em{display:block;font-style:normal;font-size:11.5px;font-weight:800;letter-spacing:.06em;color:var(--acc);margin-bottom:5px}
.uc-price{margin-top:11px;font-size:13.5px;font-weight:700;color:var(--muted)}
.uc-price b{font-size:17px;font-weight:900;color:var(--ink);letter-spacing:-.02em;margin-left:3px}
.uc-note{font-size:13.75px;color:var(--muted);line-height:1.7;text-align:center;word-break:keep-all;margin-bottom:34px}
.uc-note b{color:var(--ink2);font-weight:800}
@media(max-width:1100px){.uc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.uc-grid{grid-template-columns:1fr;gap:10px}.uc-card{padding:20px 18px}.uc-ind{font-size:15.5px}.uc-need{font-size:13.75px}}

/* ── SECTION SHELL ── */
.sec{padding:100px 0}
.sec-dark{background:var(--ink)}
.sec-dark2{background:var(--ink2)}
.sec-light{background:var(--bg)}
.sec-light2{background:var(--bg2);position:relative}
/* 연구 노트 모눈 — 밝은 섹션에 미세한 격자를 깔아 깊이를 만든다 */
.sec-light2::before{content:'';position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(47,75,240,.045) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(47,75,240,.045) 1px,transparent 1px);
  background-size:26px 26px;
  -webkit-mask-image:radial-gradient(ellipse 78% 62% at 50% 40%,#000 35%,transparent 100%);
  mask-image:radial-gradient(ellipse 78% 62% at 50% 40%,#000 35%,transparent 100%)}
.sec-light2>*{position:relative;z-index:1}
.sh{text-align:center;margin-bottom:64px}
.sh-eyebrow{font-family:"DM Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px!important;font-weight:500!important;letter-spacing:.24em!important;display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--acc);margin-bottom:16px}
.sh-eyebrow.w{color:rgba(255,255,255,.5)}
.sh-eyebrow-line{width:24px;height:2px;background:var(--grad);border-radius:99px}
.sh-h2{font-size:clamp(32px,4vw,52px);font-weight:800;letter-spacing:-.045em;line-height:1.14}
.sh-h2.dk{color:#fff}
.sh-h2.lt{color:var(--ink)}
.sh-p{font-size:17px;font-weight:500;margin-top:14px;max-width:520px;margin-left:auto;margin-right:auto;line-height:1.72}
.sh-p.dk{color:rgba(255,255,255,.5)}
.sh-p.lt{color:var(--muted)}

/* ── COMPARISON ── */
.cmp-table{background:#fff;border-radius:var(--r2);overflow:hidden;border:1px solid var(--rule);box-shadow:0 4px 20px rgba(20,20,50,.06)}
.cmp-head{display:grid;grid-template-columns:1fr 1fr 1fr;background:#F7F7FC;border-bottom:1px solid var(--rule)}
.cmp-head-cell{padding:24px 32px;font-size:14px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.cmp-head-cell.hl{color:var(--ink);display:flex;align-items:center;gap:8px}
.cmp-head-cell.hl::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green)}
.cmp-row{display:grid;grid-template-columns:1fr 1fr 1fr;border-bottom:1px solid var(--rule)}
.cmp-row:last-child{border-bottom:none}
.cmp-row:hover{background:rgba(47,75,240,.03)}
.cmp-cell{padding:20px 32px;font-size:17px;color:var(--muted);font-weight:600;display:flex;align-items:center;gap:8px}
.cmp-cell.key{color:var(--ink);font-weight:700}
.cmp-cell.hl{color:var(--ink);font-weight:800}
.cmp-cell.acc-col{color:var(--acc);background:rgba(47,75,240,.06)}
.cmp-table tbody tr:not(:last-child) td, .cmp-table tbody tr:not(:last-child) td * { color: #0ab87a !important; }
.bad{color:#0ab87a !important}
.bad::before{content:'' !important}
.good::before{content:'' !important}

/* ── SEO BLOCK ── */
.seo-block{text-align:center;padding:0 0 72px}
.seo-eyebrow{font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--acc);opacity:.8;margin-bottom:16px}
.seo-title{font-size:clamp(26px,4vw,38px);font-weight:900;color:var(--ink);letter-spacing:-.03em;line-height:1.3;word-break:keep-all;margin:0 0 28px}
.seo-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:56px}
.seo-tag{display:inline-block;padding:9px 18px;border-radius:100px;background:rgba(47,75,240,.10);border:1px solid rgba(47,75,240,.25);font-size:15px;font-weight:700;color:#2340C8}
.seo-divider{display:flex;align-items:center;gap:16px;margin-bottom:40px;justify-content:center}
.seo-divider-line{width:48px;height:1px;background:var(--rule)}
.seo-what{font-size:13px;font-weight:800;letter-spacing:.14em;color:var(--muted)}
.seo-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.seo-card{background:#fff;border:1px solid var(--rule);border-radius:16px;padding:28px 24px;text-align:left;box-shadow:0 2px 14px rgba(20,20,50,.05)}
.seo-card-icon svg{width:100%;height:100%;display:block}
.seo-card-icon{width:28px;height:28px;color:var(--acc);margin-bottom:16px}
.seo-card strong{display:block;font-size:17px;font-weight:800;color:var(--ink);margin-bottom:8px;letter-spacing:-.01em;word-break:keep-all}
.seo-card p{margin:0;font-size:15px;color:var(--muted);line-height:1.75;word-break:keep-all}
@media(max-width:680px){.seo-cards{grid-template-columns:1fr}.seo-block{padding:0 0 56px}}
/* ── REVIEWS ── */
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rv-card{background:#fff;border:1px solid var(--rule);border-radius:var(--r2);padding:32px;transition:all .25s;box-shadow:0 2px 14px rgba(20,20,50,.05)}
.rv-card:hover{border-color:var(--ink3);box-shadow:0 6px 20px rgba(20,20,50,.07)}
.rv-stars{display:flex;gap:3px;margin-bottom:16px}
.rv-star{color:#FBB040;font-size:17px}
.rv-text{font-size:17px;color:#3a3a52;line-height:1.75;margin-bottom:24px;font-style:italic}
.rv-text::before{content:'"'}.rv-text::after{content:'"'}
.rv-author{display:flex;align-items:center;gap:12px}
.rv-avatar{width:40px;height:40px;border-radius:50%;background:var(--bg3);border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;color:var(--ink2);flex-shrink:0}
.rv-name{font-size:16px;font-weight:800;color:var(--ink)}
.rv-job{font-size:14px;color:var(--muted)}

/* ── PROCESS ── */
.proc-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.proc-row::before{content:'';position:absolute;top:36px;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,var(--acc),var(--acc2),transparent);opacity:.4}
.proc-card{padding:24px 18px;text-align:center;position:relative;z-index:1}
.proc-step{width:72px;height:72px;border-radius:50%;background:var(--grad);color:#fff;font-size:21px;font-weight:900;letter-spacing:-.02em;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;box-shadow:0 8px 24px rgba(47,75,240,.3);position:relative}
.proc-step::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:1.5px solid rgba(47,75,240,.25)}
.proc-title{font-size:18px;font-weight:900;color:var(--ink);letter-spacing:-.03em;margin-bottom:10px;word-break:keep-all}
.proc-desc{font-size:15px;color:var(--muted);line-height:1.68;word-break:keep-all}
.proc-desc b{color:var(--ink2);font-weight:800}
.proc-tag{display:inline-block;margin-top:14px;font-size:12.25px;font-weight:800;letter-spacing:-.01em;color:var(--acc);background:rgba(47,75,240,.09);border:1px solid rgba(47,75,240,.22);padding:5px 12px;border-radius:100px;word-break:keep-all}
.proc-card.is-key .proc-step{box-shadow:0 10px 30px rgba(47,75,240,.46)}
.proc-card.is-key .proc-step::after{inset:-7px;border-color:rgba(47,75,240,.45)}
.proc-card.is-key .proc-title{color:var(--acc)}
.proc-note{margin-top:34px;font-size:13.75px;color:var(--muted);line-height:1.7;text-align:center;word-break:keep-all}

/* ── FEATURES ── */
@keyframes tagPop{0%{opacity:0;transform:translateY(14px) scale(.93)}100%{opacity:1;transform:translateY(0) scale(1)}}
.feat-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:48px}
.feat-tag{display:inline-flex;align-items:center;gap:7px;padding:10px 18px;background:#fff;border:1.5px solid #e8eaf0;border-radius:99px;font-size:15px;font-weight:600;color:var(--ink2);white-space:nowrap;cursor:default;transition:border-color .22s,color .22s,box-shadow .22s,transform .22s;box-shadow:0 2px 8px rgba(0,0,0,.04);opacity:0}
.feat-tag.pop{animation:tagPop .45s ease forwards}
.feat-tag:hover{border-color:var(--acc);color:var(--acc);background:rgba(47,75,240,.05);box-shadow:0 6px 18px rgba(47,75,240,.14);transform:translateY(-3px) scale(1.04)}
.feat-tag::before{content:'✓';font-size:13px;font-weight:900;color:var(--green)}
.zero-note{max-width:640px;margin:40px auto 0;padding:20px 28px;background:var(--bg);border:1.5px solid var(--rule);border-radius:var(--r2);text-align:center}
.zero-note-title{font-size:16px;font-weight:900;color:var(--ink);margin-bottom:6px}
.zero-note-desc{font-size:14px;color:var(--muted);line-height:1.65}

/* ── PACKAGE CARDS ── */
.pkg-grid{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:28px;align-items:stretch}
.pkg-card{background:#fff;border:1.5px solid #e8eaf0;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:all .25s;box-shadow:0 4px 20px rgba(0,0,0,.07)}
.pkg-card::before{content:'';display:block;height:5px}
.pkg-card.basic::before{background:linear-gradient(90deg,#0ab87a,#10c896)}
.pkg-card.featured::before{background:var(--grad);height:6px}
.pkg-card.premium::before{background:linear-gradient(90deg,#1b2ecc,#8FA3FF)}
.pkg-card:hover{box-shadow:0 12px 40px rgba(0,0,0,.12);transform:translateY(-4px)}
.pkg-card.basic:hover{box-shadow:0 12px 36px rgba(16,200,150,.18);transform:translateY(-4px)}
.pkg-card.featured{border-color:var(--acc);border-width:2px;box-shadow:0 16px 56px rgba(47,75,240,.26);transform:translateY(-12px);position:relative;z-index:1}
.pkg-card.featured:hover{transform:translateY(-14px);box-shadow:0 20px 56px rgba(47,75,240,.3)}
.pkg-card.premium:hover{box-shadow:0 12px 36px rgba(27,46,204,.18);transform:translateY(-4px)}
.pkg-head{padding:24px 28px 20px;border-bottom:1.5px solid #f0f1f5}
.pkg-card.basic .pkg-head{background:linear-gradient(135deg,rgba(16,200,150,.06) 0%,#fff 60%);border-bottom-color:rgba(16,200,150,.18)}
.pkg-card.featured .pkg-head{background:linear-gradient(135deg,rgba(47,75,240,.08) 0%,rgba(27,46,204,.06) 100%);border-bottom-color:rgba(47,75,240,.2)}
.pkg-card.premium .pkg-head{background:linear-gradient(135deg,rgba(27,46,204,.07) 0%,#fff 60%);border-bottom-color:rgba(27,46,204,.18)}
.pkg-badge-row{display:flex;align-items:center;gap:8px;min-height:28px;margin-bottom:14px}
.pkg-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 14px;background:var(--grad);border-radius:99px;font-size:13px;font-weight:800;color:#fff;letter-spacing:.04em;box-shadow:0 3px 10px rgba(47,75,240,.3)}
.pkg-tier{font-size:12px;font-weight:900;letter-spacing:.12em;padding:3px 9px;border-radius:99px}
.pkg-tier-g{color:#0ab87a;background:rgba(16,200,150,.1);border:1px solid rgba(16,200,150,.3)}
.pkg-tier-b{color:var(--acc);background:rgba(47,75,240,.1);border:1px solid rgba(47,75,240,.25)}
.pkg-tier-p{color:#1b2ecc;background:rgba(27,46,204,.1);border:1px solid rgba(27,46,204,.3)}
.pkg-name{font-size:18px;font-weight:900;color:var(--ink);margin-bottom:10px;letter-spacing:-.03em}
.pkg-price{font-size:44px;font-weight:900;letter-spacing:-.05em;line-height:1}
.pkg-card.basic .pkg-price{color:#0ab87a}
.pkg-card.featured .pkg-price{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.pkg-card.premium .pkg-price{color:#1b2ecc}
.pkg-price sub{font-size:17px;font-weight:700;vertical-align:bottom;margin-left:2px;color:var(--muted);-webkit-text-fill-color:var(--muted)}
.pkg-body{padding:22px 28px 26px;flex:1;display:flex;flex-direction:column}
.pkg-item{display:flex;align-items:flex-start;gap:14px;padding:13px 0;border-bottom:1px solid #f0f1f5}
.pkg-item:first-child{padding-top:0}
.pkg-item:last-of-type{border-bottom:none;padding-bottom:0;margin-bottom:20px}
.pkg-ico{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pkg-ico svg{width:20px;height:20px}
.pkg-ico-g{background:rgba(16,200,150,.1);color:#0ab87a;border:1px solid rgba(16,200,150,.25)}
.pkg-ico-b{background:rgba(47,75,240,.1);color:var(--acc);border:1px solid rgba(47,75,240,.2)}
.pkg-ico-a{background:rgba(245,166,35,.1);color:#d97706;border:1px solid rgba(245,166,35,.25)}
.pkg-ico-p{background:rgba(27,46,204,.1);color:var(--acc2);border:1px solid rgba(27,46,204,.25)}
.pkg-item-info{flex:1}
.pkg-item-name{font-size:16px;font-weight:800;color:var(--ink);margin-bottom:4px;letter-spacing:-.01em}
.pkg-item-desc{font-size:14px;color:var(--muted);line-height:1.65}
.pkg-or-label{font-size:13px;font-weight:700;color:var(--muted);letter-spacing:.04em;margin:14px 0 8px;padding-bottom:8px;border-bottom:1px dashed #e8eaf0}
.pkg-or-label span{color:var(--acc2);font-weight:900}
.pkg-or-divider{display:flex;align-items:center;gap:10px;margin:10px 0;color:var(--muted);font-size:13px;font-weight:800;letter-spacing:.06em}
.pkg-or-divider::before,.pkg-or-divider::after{content:'';flex:1;height:1px;background:#e8eaf0}
.pkg-or-divider span{color:var(--acc2)}
.pkg-cond{font-size:14px;color:#92400e;background:rgba(245,158,11,.07);border:1px solid rgba(245,158,11,.2);border-radius:8px;padding:10px 13px;margin-top:16px;line-height:1.6}
.pkg-btn{width:100%;margin-top:auto;padding:16px;font-size:16px;font-weight:800;border-radius:var(--r);border:none;cursor:pointer;font-family:inherit;transition:all .2s;letter-spacing:-.01em}
.pkg-btn-main{background:var(--grad);color:#fff;box-shadow:0 6px 20px rgba(47,75,240,.3)}
.pkg-btn-main:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(47,75,240,.45)}
.pkg-btn-g{background:#fff;color:#0ab87a;border:2px solid #0ab87a}
.pkg-btn-g:hover{background:#0ab87a;color:#fff;box-shadow:0 8px 24px rgba(16,200,150,.3)}
.pkg-btn-p{background:#fff;color:#1b2ecc;border:2px solid #1b2ecc}
.pkg-btn-p:hover{background:#1b2ecc;color:#fff;box-shadow:0 8px 24px rgba(27,46,204,.3)}
.pricing-tagline{max-width:560px;margin:14px auto 0;text-align:center}
.pricing-tagline-strong{font-size:17px;font-weight:900;color:var(--ink);margin-bottom:5px}
.pricing-tagline-desc{font-size:16px;color:var(--muted);line-height:1.7}
.pricing-note{text-align:center;margin-top:28px;font-size:15px;color:var(--muted);line-height:1.7}

/* ── 단일 패키지 + 옵션 ── */
.solo-wrap{max-width:540px;margin:0 auto}
.solo-card{background:#fff;border:2px solid var(--acc);border-radius:20px;overflow:hidden;box-shadow:0 16px 56px rgba(47,75,240,.22);display:flex;flex-direction:column}
.solo-card::before{content:'';display:block;height:6px;background:var(--grad)}
.solo-head{padding:30px 28px 26px;text-align:center;background:linear-gradient(135deg,rgba(47,75,240,.08) 0%,rgba(27,46,204,.06) 100%);border-bottom:1.5px solid rgba(47,75,240,.2)}
.solo-badge{display:inline-block;font-size:12.5px;font-weight:900;color:#fff;background:var(--grad);padding:7px 16px;border-radius:100px;letter-spacing:-.01em;box-shadow:0 4px 14px rgba(47,75,240,.32);margin-bottom:14px}
.solo-name{font-size:19px;font-weight:900;color:var(--ink);letter-spacing:-.03em;margin-bottom:10px}
.solo-price{font-variant-numeric:tabular-nums;font-size:clamp(46px,8.4vw,56px);font-weight:900;letter-spacing:-.045em;line-height:1.05;color:var(--ink)}
.solo-price sub{font-size:.42em;font-weight:800;vertical-align:baseline;margin-left:2px}
.solo-price.flash{animation:soloFlash .9s ease}
@keyframes soloFlash{0%{transform:scale(1)}35%{transform:scale(1.07)}100%{transform:scale(1)}}
.solo-applied{display:none;margin-top:10px;font-size:14px;font-weight:800;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}
.solo-applied.show{display:flex}
.solo-was{color:var(--subtle);text-decoration:line-through;font-weight:700;font-size:15px}
.pr-note{font-style:normal;font-size:11.75px;font-weight:700;color:var(--subtle);margin-left:5px}
.solo-off{color:#0ab87a;background:rgba(16,200,150,.1);border:1px solid rgba(16,200,150,.3);border-radius:100px;padding:3px 11px;font-size:12.5px}
.solo-sub{font-size:14px;color:var(--muted);margin-top:12px;line-height:1.6}
.solo-sub b{color:var(--ink);font-weight:800}
.solo-body{padding:24px 26px 26px;display:flex;flex-direction:column;flex:1}
.solo-inc-t{font-size:13px;font-weight:900;color:var(--subtle);letter-spacing:.02em;margin-bottom:16px}
.solo-inc{display:flex;flex-direction:column;gap:0;margin-bottom:24px}
.solo-inc-i{position:relative;display:flex;align-items:flex-start;gap:10px;padding:14px 0;font-size:17px;font-weight:800;color:var(--ink);line-height:1.5;word-break:keep-all}
.solo-inc-i:first-child{padding-top:0}
.solo-inc-i:last-child{padding-bottom:0}
.solo-inc-i:not(:last-child)::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,var(--rule),var(--rule) 72%,transparent)}
.solo-inc-tx{flex:1;min-width:0}
.solo-inc-i em{display:block;font-style:normal;font-size:14.5px;font-weight:600;color:var(--muted);margin-top:5px;line-height:1.5}
@media(max-width:560px){.solo-inc-i{font-size:16px;gap:9px;padding:13px 0}.solo-inc-i em{font-size:13.75px}}
.solo-ck{flex-shrink:0;width:18px;height:18px;border-radius:50%;background:rgba(47,75,240,.12);color:var(--acc);font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;margin-top:2px}
.solo-note{font-size:13.5px;color:#92400e;background:rgba(245,158,11,.07);border:1px solid rgba(245,158,11,.22);border-radius:10px;padding:11px 14px;margin-top:14px;line-height:1.6;word-break:keep-all}


/* ── SECTION 02 · 핵심 숫자 (§7) ── */
.hstat-sec{background:var(--ink);padding:20px 24px 24px}
.hstat{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);border-radius:var(--r2);overflow:hidden}
.hs-i{background:var(--ink);padding:30px 20px;text-align:center}
.hs-n{font-variant-numeric:tabular-nums;font-size:clamp(26px,4.4vw,36px);font-weight:900;letter-spacing:-.04em;line-height:1.05;color:#9FB4FF}
.hs-t{margin-top:9px;font-size:15px;font-weight:800;color:#fff;letter-spacing:-.02em;word-break:keep-all}
.hs-d{margin-top:6px;font-size:12.75px;font-weight:600;color:rgba(255,255,255,.52);line-height:1.55;word-break:keep-all}
@media(max-width:820px){.hstat{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.hstat-sec{padding:14px 10px 18px}.hstat-sec .wrap{padding:0}}
@media(max-width:560px){
  .hs-i{padding:22px 10px}
  .hs-t{font-size:14px}
  .hs-d{font-size:11.75px}
}

/* ── 상담폼 동적 질문 · '아직 모르겠어요' 행 ── */
.dynq{background:rgba(47,75,240,.04);border:1.5px solid rgba(47,75,240,.18);border-radius:var(--r);padding:16px 16px 18px}
.os-row.os-unsure{border-style:dashed;background:var(--bg2)}
.os-row.os-unsure .os-label{color:var(--ink2)}

/* ── 리뉴얼 별도 카드 (§16) ── */
.renew-card{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;max-width:900px;margin:32px auto 0;padding:30px 34px;background:#fff;border:1.5px solid rgba(16,200,150,.32);border-radius:20px;box-shadow:0 6px 24px rgba(16,200,150,.1)}
.renew-left{flex:1;min-width:260px}
.renew-badge{display:inline-block;font-size:12.5px;font-weight:900;color:#0ab87a;background:rgba(16,200,150,.1);border:1px solid rgba(16,200,150,.28);border-radius:100px;padding:6px 14px;margin-bottom:12px}
.renew-t{font-size:21px;font-weight:900;color:var(--ink);letter-spacing:-.03em;margin-bottom:9px}
.renew-d{font-size:14.5px;font-weight:600;color:var(--muted);line-height:1.7;word-break:keep-all}
.renew-for{margin-top:12px;font-size:13.5px;font-weight:600;color:var(--subtle);line-height:1.6;word-break:keep-all}
.renew-for em{display:inline-block;font-style:normal;font-size:12px;font-weight:800;color:#047857;background:rgba(16,200,150,.12);border-radius:5px;padding:2px 7px;margin-right:6px;vertical-align:1px}
.wp-mbr{display:none}
@media(max-width:640px){.wp-mbr{display:inline}}
.renew-right{flex-shrink:0;text-align:right}
.renew-price{font-size:38px;font-weight:900;color:#0ab87a;letter-spacing:-.04em;line-height:1}
.renew-price sub{font-size:.45em;font-weight:800;vertical-align:baseline;margin-left:2px}
.renew-sub{font-size:12.75px;font-weight:600;color:var(--subtle);margin-top:7px}
.renew-btn{margin-top:14px;padding:13px 26px;font-family:inherit;font-size:15px;font-weight:800;color:#fff;background:linear-gradient(135deg,#0ab87a,#10c896);border:none;border-radius:var(--r);cursor:pointer;box-shadow:0 5px 16px rgba(16,200,150,.3);transition:transform .18s,box-shadow .18s}
.renew-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(16,200,150,.4)}
@media(max-width:720px){.renew-card{flex-direction:column;align-items:stretch;gap:20px;padding:24px 20px;text-align:left}.renew-right{text-align:left}.renew-btn{width:100%}}

/* ── 왜 49만원 / 자료 없어도 됨 (§30·§34) ── */
.wp-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1040px;margin:0 auto}
.wp-card{background:#fff;border:1.5px solid var(--rule);border-radius:20px;padding:34px 32px;box-shadow:0 4px 20px rgba(20,20,50,.06)}
.wp-q{font-size:20px;font-weight:900;color:var(--ink);letter-spacing:-.03em;line-height:1.4;margin-bottom:16px;word-break:keep-all}
.wp-a{font-size:15px;font-weight:600;color:var(--muted);line-height:1.8;word-break:keep-all}
.wp-a b{color:var(--ink);font-weight:800}
.wp-list{display:flex;flex-direction:column;gap:11px;margin-top:20px;padding-top:18px;border-top:1px solid var(--rule)}
.wp-i{display:flex;align-items:flex-start;gap:9px;font-size:14.25px;font-weight:700;color:var(--ink2);line-height:1.6;word-break:keep-all}
.wp-ck{flex-shrink:0;font-size:12px;font-weight:900;color:#0ab87a;margin-top:3px}
@media(max-width:820px){.wp-grid{grid-template-columns:1fr;max-width:560px}.wp-card{padding:26px 22px}.wp-q{font-size:18.5px}.wp-a{font-size:14.5px}}

/* ── 옵션 목록 ── */
.oz-g{max-width:1080px;margin:0 auto 40px}
.oz-g:last-of-type{margin-bottom:0}
.oz-g-t{display:flex;align-items:center;justify-content:center;gap:14px;font-size:14px;font-weight:900;color:var(--subtle);letter-spacing:.06em;margin-bottom:18px}
.oz-g-line{flex:1;max-width:120px;height:1.5px;background:linear-gradient(90deg,transparent,var(--rule))}
.oz-g-t .oz-g-line:last-child{background:linear-gradient(90deg,var(--rule),transparent)}
.oz{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(min-width:821px){.oz>.oz-i:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 7px)}}
.oz-i{display:flex;flex-direction:column;gap:9px;width:100%;text-align:left;font-family:inherit;background:#fff;border:1.5px solid var(--rule);border-radius:16px;padding:20px 22px 21px;cursor:pointer;transition:border-color .18s,transform .18s,box-shadow .18s}
.oz-i:hover{border-color:var(--acc);transform:translateY(-3px);box-shadow:0 12px 30px rgba(47,75,240,.14)}
.oz-i.minus:hover{border-color:#0ab87a;box-shadow:0 12px 30px rgba(16,200,150,.16)}
.oz-top{display:flex;align-items:flex-start;gap:11px}
.oz-ico svg{width:100%;height:100%;display:block}
.ico-inline{width:1.05em;height:1.05em;flex-shrink:0;vertical-align:-.16em;margin-right:5px}
.oz-ico{flex-shrink:0;width:38px;height:38px;border-radius:11px;background:var(--bg);border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;color:var(--ink3);padding:8px}
.oz-i:hover .oz-ico{background:rgba(47,75,240,.08);border-color:rgba(47,75,240,.25);color:var(--acc)}
.oz-i.minus:hover .oz-ico{background:rgba(16,200,150,.08);border-color:rgba(16,200,150,.28);color:#0a9e69}
.oz-n{flex:1;min-width:0;margin-top:7px;font-size:15.5px;font-weight:800;color:var(--ink);letter-spacing:-.02em;line-height:1.4;word-break:keep-all}
.oz-p{flex-shrink:0;margin-top:5px;font-size:13.5px;font-weight:900;color:#d97706;white-space:nowrap;background:rgba(245,158,11,.1);border-radius:100px;padding:6px 13px}
.oz-p.minus{color:#0ab87a;background:rgba(16,200,150,.1)}
.oz-tag{display:inline-block;font-size:11px;font-weight:800;color:#fff;background:var(--grad);border-radius:20px;padding:2px 8px;vertical-align:middle;margin-left:3px}
.oz-q{display:block;font-size:13.25px;font-weight:900;color:var(--acc);letter-spacing:-.01em;padding-left:49px;margin-top:-2px}
.oz-for{display:block;font-size:12.25px;font-weight:600;color:var(--subtle);line-height:1.55;padding-left:49px;word-break:keep-all}
.oz-for em{display:inline-block;font-style:normal;font-size:11px;font-weight:800;color:var(--acc);background:rgba(47,75,240,.09);border-radius:5px;padding:2px 7px;margin-right:6px;vertical-align:1px}
.oz-tags i{font-style:normal}.oz-tags i+i::before{content:' · '}
.oz-x{font-size:13.25px;font-weight:600;color:var(--muted);line-height:1.65;word-break:keep-all;padding-left:49px}
.oz-cta{text-align:center;margin-top:36px}
.oz-cta-x{font-size:13.5px;color:var(--muted);margin-top:12px;word-break:keep-all}
/* 인기·추천 옵션 — 은은하게 부각 */
.oz-i.feat{background:linear-gradient(180deg,rgba(47,75,240,.06),rgba(27,46,204,.03));border-color:rgba(47,75,240,.34);box-shadow:0 4px 18px rgba(47,75,240,.10)}
.oz-i.feat .oz-ico{background:rgba(47,75,240,.1);border-color:rgba(47,75,240,.24);color:var(--acc)}
.oz-i.feat:hover{border-color:var(--acc);transform:translateY(-3px);box-shadow:0 14px 32px rgba(47,75,240,.2)}
@media(max-width:820px){.oz{grid-template-columns:1fr;max-width:560px;margin:0 auto}}
@media(max-width:560px){.oz-i{padding:17px 16px 18px;gap:8px}.oz-ico{width:34px;height:34px;padding:7px;border-radius:10px}.oz-n{font-size:14.75px;margin-top:5px}.oz-p{font-size:12.75px;padding:5px 11px;margin-top:4px}.oz-x{font-size:13px;padding-left:0}.oz-q{font-size:13px;padding-left:0}.oz-for{font-size:12px;padding-left:0}.oz-g-t{font-size:13px;gap:10px}.oz-g-line{max-width:60px}}
/* 모바일 추가 옵션 카드 시인성 (2026-09-30) — 이름·가격 → 질문 → 설명 → '이런 분께' 태그 순으로 훑어보기 쉽게 */
@media(max-width:560px){
  .oz{gap:14px}
  .oz-g{margin-bottom:48px}
  .oz-g-t{margin-bottom:18px}
  .oz>.oz-i{padding:20px 18px 18px;gap:0;border-radius:18px;box-shadow:0 2px 10px rgba(20,20,60,.05)}
  .oz>.oz-i .oz-top{display:grid;grid-template-columns:42px 1fr;column-gap:13px;row-gap:7px;align-items:center;margin-bottom:15px}
  .oz>.oz-i .oz-ico{grid-row:1/3;width:42px;height:42px;padding:9px;border-radius:12px;align-self:start}
  .oz>.oz-i .oz-n{margin-top:0;font-size:16.5px;line-height:1.38;letter-spacing:-.03em}
  .oz>.oz-i .oz-p{justify-self:start;margin-top:0;font-size:13px;padding:4px 11px;line-height:1.4}
  .oz>.oz-i .oz-q{font-size:15px;line-height:1.45;margin:0 0 6px;letter-spacing:-.02em}
  .oz>.oz-i .oz-x{font-size:14.5px;line-height:1.7;font-weight:500;color:#4A4A64;letter-spacing:-.01em}
  .oz>.oz-i .oz-for{margin-top:14px;padding:11px 12px 12px;background:#F5F6FA;border-radius:12px;line-height:1}
  .oz>.oz-i .oz-for em{display:block;background:none;padding:0;margin:0 0 8px;font-size:12px;letter-spacing:.02em}
  .oz>.oz-i .oz-tags{display:flex;flex-wrap:wrap;gap:5px}
  .oz>.oz-i .oz-tags i{font-size:12.75px;font-weight:600;line-height:1.3;color:var(--ink3);background:#fff;border:1px solid var(--rule);border-radius:99px;padding:4px 9px}
  .oz>.oz-i .oz-tags i+i::before{content:none}
}

@media(max-width:900px){.solo-wrap{grid-template-columns:1fr;max-width:560px;gap:20px}}
@media(max-width:560px){.solo-head{padding:26px 20px 22px}.solo-body{padding:22px 18px}.solo-opt{padding:22px 16px}.solo-opt-i{padding:12px 13px;gap:11px}.solo-opt-p{font-size:13px}}

/* ── FAQ ── */
.fq.fq-more{display:none}
.fq.fq-more.show{display:block}
.faq-more-wrap{text-align:center;margin-top:22px}
.faq-more-btn{display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-size:15px;font-weight:800;color:var(--acc);background:rgba(47,75,240,.07);border:1.5px solid rgba(47,75,240,.25);border-radius:100px;padding:13px 26px;cursor:pointer;transition:background .18s,border-color .18s,transform .18s}
.faq-more-btn:hover{background:rgba(47,75,240,.12);border-color:rgba(47,75,240,.45);transform:translateY(-2px)}
.faq-more-btn svg{transition:transform .22s}
.faq-more-btn.on svg{transform:rotate(180deg)}
.faq-more-n{font-size:12.5px;font-weight:900;color:#fff;background:var(--grad);border-radius:100px;padding:2px 9px}
.faq-more-btn.on .faq-more-n{display:none}
.faq-stack{max-width:740px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.fq{border:1.5px solid var(--rule);border-radius:var(--r);overflow:hidden;transition:border-color .2s,box-shadow .2s}
.fq:hover{border-color:var(--acc);box-shadow:0 4px 20px rgba(47,75,240,.07)}
.fq.open{border-color:var(--acc)}
.fq-q{width:100%;text-align:left;background:none;border:none;padding:22px 24px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:inherit;font-size:17px;font-weight:700;color:var(--ink);gap:16px;line-height:1.4}
.fq-ico{width:28px;height:28px;border-radius:50%;background:var(--bg3);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .25s}
.fq-ico svg{width:14px;height:14px;color:var(--muted);transition:transform .25s}
.fq.open .fq-ico{background:var(--grad)}
.fq.open .fq-ico svg{color:#fff;transform:rotate(45deg)}
.fq-a{padding:0 24px 22px;font-size:16px;color:var(--muted);line-height:1.75;display:none}
.fq.open .fq-a{display:block}

/* ── CTA ── */
.cta-sec{background:var(--ink);position:relative;overflow:hidden;padding:120px 0}
.cta-glow{position:absolute;border-radius:50%;pointer-events:none}
.cta-glow-1{width:600px;height:600px;background:radial-gradient(circle,rgba(47,75,240,.22) 0%,transparent 70%);top:-200px;right:-100px}
.cta-glow-2{width:500px;height:500px;background:radial-gradient(circle,rgba(27,46,204,.18) 0%,transparent 70%);bottom:-150px;left:-100px}
.cta-inner{text-align:center;position:relative;z-index:2}
.cta-h2{font-size:clamp(30px,5.2vw,74px);font-weight:900;color:#fff;letter-spacing:-.035em;line-height:1.16;margin-bottom:20px;word-break:keep-all;text-shadow:0 2px 26px rgba(0,0,0,.5),0 0 44px rgba(139,124,255,.28)}
.cta-h2 span{color:#9FB4FF;filter:drop-shadow(0 2px 14px rgba(139,124,255,.5))}
.cta-sub{font-size:18px;color:rgba(255,255,255,.5);margin-bottom:48px;margin-top:28px;line-height:1.6}
.cta-eyebrow{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:clamp(14px,3vw,16px);font-weight:800;color:#c7d2fe;background:rgba(47,75,240,.16);border:1px solid rgba(129,140,248,.42);padding:9px 20px;border-radius:100px;margin-bottom:26px;letter-spacing:-.01em;box-shadow:0 4px 22px rgba(47,75,240,.28)}
.cta-coupon{font-size:clamp(16px,4vw,20px);font-weight:700;color:rgba(255,255,255,.75);margin-top:16px;line-height:1.6;word-break:keep-all}
.cta-coupon b{color:#c4b5fd;font-weight:900}
.cta-btns{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.cta-btns .gb{font-size:18px;padding:20px 48px}

/* ── FOOTER ── */
footer{background:var(--ink);border-top:1px solid rgba(255,255,255,.06);padding:64px 0}
.ft-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}
.ft-logo{font-size:18px;font-weight:900;color:#fff;letter-spacing:-.04em;margin-bottom:12px}
.ft-logo b{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:900}
.ft-info{font-size:14px;color:rgba(255,255,255,.3);line-height:2}
.ft-links{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap;justify-content:center}
.ft-lbtn{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:4px 12px;font-size:12px;color:rgba(255,255,255,.35);cursor:pointer;font-family:inherit;transition:all .2s}
.ft-lbtn:hover{border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.7)}
.ft-pro-cta{display:inline-flex;align-items:center;gap:9px;margin:6px 0 18px;padding:12px 22px;border-radius:99px;font-size:14.5px;font-weight:800;color:#fff;background:rgba(47,75,240,.12);border:1px solid rgba(47,75,240,.4);letter-spacing:-.01em;transition:all .2s;word-break:keep-all;line-height:1.4;text-align:center}
.ft-pro-cta:hover{background:var(--grad);border-color:transparent;transform:translateY(-2px);box-shadow:0 10px 28px rgba(47,75,240,.4)}
.ft-pro-cta svg{flex-shrink:0}
.ft-pro-badge{font-size:11px;font-weight:900;letter-spacing:.08em;color:#fff;background:var(--grad);padding:2px 8px;border-radius:6px;flex-shrink:0}
@media(max-width:560px){.ft-pro-cta{font-size:13.5px;padding:11px 18px}}

/* ── OVERLAY / MODAL BASE ── */
.ovl{display:none;position:fixed;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(10px);z-index:1000;align-items:flex-start;justify-content:center;padding:20px;overflow-y:auto}
.ovl.open{display:flex}

/* ── FORM MODAL ── */
.fm{background:#fff;border-radius:var(--r3);max-width:640px;width:100%;margin:auto;box-shadow:0 40px 80px rgba(0,0,0,.3)}
.fm-head{padding:28px 32px;border-bottom:1.5px solid var(--rule);display:flex;justify-content:space-between;align-items:flex-start;position:sticky;top:0;background:#fff;border-radius:var(--r3) var(--r3) 0 0;z-index:1}
.fm-title{font-size:21px;font-weight:900;color:var(--ink)}
.fm-sub{font-size:14.5px;color:var(--muted);margin-top:4px}
.fm-x{width:34px;height:34px;border-radius:50%;background:var(--bg3);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16.5px;color:var(--muted);flex-shrink:0;transition:all .2s}
.fm-x:hover{background:var(--bg2);color:var(--ink)}
.fm-body{padding:28px 32px}
.fg{margin-bottom:20px}
.fl{display:block;font-size:14.5px;font-weight:700;color:var(--ink);margin-bottom:8px}
.fl .r{color:var(--red)}
.fl .opt{display:inline-block;font-size:11.5px;font-weight:700;color:var(--subtle);background:var(--bg3);border-radius:5px;padding:1px 7px;margin-left:4px;vertical-align:middle;letter-spacing:-.01em}
.fc{width:100%;padding:12px 15px;border:1.5px solid var(--rule);border-radius:var(--r);font-size:15.5px;font-family:inherit;color:var(--ink);background:#fff;outline:none;transition:border-color .2s,box-shadow .2s}
.fc:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(47,75,240,.1)}
textarea.fc{resize:vertical;min-height:76px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.f-hint{font-size:12.5px;color:var(--subtle);margin-top:5px}
.rdg{display:flex;gap:8px;flex-wrap:wrap}
.ri{display:flex;align-items:center;gap:8px;padding:9px 16px;border:1.5px solid var(--rule);border-radius:var(--r);cursor:pointer;font-size:14.5px;font-weight:600;color:var(--muted);transition:all .15s}
.ri:hover,.ri.sel{border-color:var(--acc);color:var(--acc);background:rgba(47,75,240,.04)}
.ri input{accent-color:var(--acc)}

/* plan radios */
.plan-radios{display:flex;flex-direction:column;gap:10px}
.plan-radio-item{border:1.5px solid var(--rule);border-radius:var(--r);cursor:pointer;transition:all .15s;overflow:hidden}
.plan-radio-item:hover{border-color:rgba(47,75,240,.4)}
.plan-radio-item.sel{border-color:var(--acc);background:rgba(47,75,240,.03)}
.plan-radio-label{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;cursor:pointer}
.plan-radio-label input[type=radio]{accent-color:var(--acc);margin-top:3px;flex-shrink:0;width:16px;height:16px}
.plan-radio-info{flex:1}
.plan-radio-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.plan-radio-name{font-size:15.5px;font-weight:800;color:var(--ink)}
.plan-radio-price{font-size:15.5px;font-weight:900;color:var(--acc);white-space:nowrap}
.plan-radio-desc{font-size:13.5px;color:var(--muted);line-height:1.6}
.plan-radio-desc b{color:var(--ink);font-weight:800}
.starter-note{font-size:14px;color:#92400e;background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.25);border-radius:8px;padding:9px 12px;margin:6px 0 2px;line-height:1.55;display:none}
.starter-note.show{display:block}
.plan-vat-note{font-size:14px;color:var(--muted);margin-top:12px;padding-top:12px;border-top:1px solid var(--rule)}

.divr{border:none;border-top:1.5px solid var(--rule);margin:22px 0}
.opt-sel-list{display:flex;flex-direction:column;gap:7px}
.os-row{display:flex;align-items:center;gap:11px;padding:12px 15px;border:1.5px solid var(--rule);border-radius:var(--r);cursor:pointer;transition:.15s;background:#fff}
.os-row:hover{border-color:var(--acc);background:rgba(47,75,240,.03)}
.os-row.locked,.os-row.locked:hover{cursor:default;background:var(--bg2);border-color:var(--rule)}
.os-row.locked .os-label{color:var(--muted)}
.os-row input{accent-color:var(--acc);width:16px;height:16px;flex-shrink:0}
.os-row.locked input{display:none}
.os-check{display:none;width:16px;height:16px;flex-shrink:0;align-items:center;justify-content:center;font-size:13px;font-weight:900;color:var(--green)}
.os-row.locked .os-check{display:flex}
.os-label{flex:1;font-size:14.5px;font-weight:700;color:var(--ink);word-break:keep-all}
.os-price{font-size:13.5px;font-weight:800;white-space:nowrap}
.os-free{color:var(--green)}
.os-add{color:var(--amber)}
.os-rich{align-items:flex-start;padding:13px 15px}
.os-rich input,.os-rich .os-check{margin-top:2px}
.os-rich .os-price{margin-top:1px}
.os-body{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}
.os-desc{font-size:12.75px;font-weight:600;color:var(--subtle);line-height:1.6;word-break:keep-all}
.os-q{font-size:12px;font-weight:800;color:var(--acc);letter-spacing:-.01em;margin-bottom:1px}
.pkgbox{border:1.5px solid rgba(47,75,240,.26);border-radius:var(--r);overflow:hidden;background:#fff}
.pkgbox-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;background:linear-gradient(135deg,rgba(47,75,240,.1),rgba(27,46,204,.06))}
.pkgbox-name{font-size:14.5px;font-weight:900;color:var(--ink);letter-spacing:-.02em}
.pkgbox-price{font-size:17px;font-weight:900;color:var(--acc);white-space:nowrap;letter-spacing:-.02em}
.pkgbox-price em{font-style:normal;font-size:12.5px;font-weight:800;margin-left:1px}
.pkgbox-list{list-style:none;margin:0;padding:4px 18px 8px}
.pkgbox-i{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid var(--rule)}
.pkgbox-i:last-child{border-bottom:none}
.pkgbox-ck{flex-shrink:0;width:17px;text-align:center;font-size:16px;font-weight:900;color:#0ab87a;line-height:1.3}
.pkgbox-n{font-size:13.75px;font-weight:700;color:var(--ink);letter-spacing:-.01em;word-break:keep-all}
.pkgbox-d{margin-left:auto;flex-shrink:0;font-size:12px;font-weight:600;color:var(--subtle);text-align:right;word-break:keep-all}
@media(max-width:560px){
  .pkgbox-hd{padding:14px 15px}
  .pkgbox-name{font-size:13.75px}
  .pkgbox-price{font-size:16px}
  /* 모바일: 항목명 아래로 부연을 내리고, 구분선으로 항목을 나눔 */
  .pkgbox-list{padding:4px 15px 8px}
  .pkgbox-i{flex-wrap:wrap;align-items:flex-start;gap:0 8px;padding:11px 0}
  .pkgbox-i:last-child{padding-bottom:6px}
  .pkgbox-ck{font-size:15.5px;margin-top:1px}
  .pkgbox-n{flex:1;min-width:0;font-size:14.25px;line-height:1.45}
  .pkgbox-d{flex:1 0 100%;margin-left:25px;margin-top:3px;text-align:left;font-size:12.5px;line-height:1.45}
}
.os-row.sel .os-q{color:var(--acc)}
.os-sub{display:block;font-style:normal;font-size:12.25px;font-weight:600;color:var(--subtle);margin-top:3px;line-height:1.5}
.os-desc b{color:var(--ink2);font-weight:800}
.os-row.sel{border-color:var(--acc);background:rgba(47,75,240,.05)}
.os-row.sel .os-desc{color:var(--muted)}
.os-minus{color:var(--green)}
.os-base{color:var(--ink);font-weight:900}
.base-row{align-items:flex-start;padding:13px 15px;background:linear-gradient(135deg,rgba(47,75,240,.07),rgba(27,46,204,.05));border-color:rgba(47,75,240,.28)}
.base-row .os-check{margin-top:2px;display:flex;color:var(--acc)}
.base-row .os-label{color:var(--ink)}
.os-group-t{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:13.5px;font-weight:800;color:var(--ink2);margin:18px 0 8px;letter-spacing:-.01em}
.os-group-t:first-of-type{margin-top:2px}
/* 인기·추천 옵션 — 은은하게 부각 (선택·잠금 상태가 우선) */
.os-row.feat{border-color:rgba(47,75,240,.32);background:linear-gradient(180deg,rgba(47,75,240,.05),rgba(27,46,204,.028))}
.os-row.feat:hover{border-color:var(--acc);background:rgba(47,75,240,.07)}
.os-row.feat.sel{border-color:var(--acc);background:rgba(47,75,240,.09)}
.os-row.feat.locked,.os-row.feat.locked:hover{background:var(--bg2);border-color:var(--rule)}
.os-group-sub{font-size:11.5px;font-weight:800;color:var(--subtle);background:var(--bg3);border-radius:5px;padding:2px 8px;letter-spacing:-.01em}
@media(max-width:560px){
  /* 설명이 붙은 옵션 행만 금액을 아래 줄로 (제목이 쪼개지지 않게) */
  .os-rich{flex-wrap:wrap;padding:12px 13px}
  .os-rich .os-price{flex:1 0 100%;margin-left:0;margin-top:5px;text-align:right;font-size:13.5px}
}
.chk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.ci{display:flex;align-items:center;gap:7px;padding:9px 11px;border:1.5px solid var(--rule);border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;color:var(--muted);transition:.15s}
.ci:hover,.ci.on{border-color:var(--acc);color:var(--acc);background:rgba(47,75,240,.04)}
.ci input{accent-color:var(--acc);width:14px;height:14px}
.pbox{background:var(--bg2);border:1.5px solid var(--rule);border-radius:var(--r);padding:18px 20px;margin-bottom:4px}
.pr{font-variant-numeric:tabular-nums;display:flex;justify-content:space-between;font-size:14.5px;font-weight:600;color:var(--muted);margin-bottom:0}
.pr.tot{font-size:18px;font-weight:900;color:var(--ink)}
.pr.sub{font-size:13.75px;font-weight:700;color:var(--subtle)}
.pr.sub span:last-child{color:var(--ink2);font-weight:800}
.pbox-vat{font-size:11.5px;color:var(--subtle);margin-top:8px;text-align:center;line-height:1.6}

/* ── 10만원 쿠폰 티켓 ── */
.cpn{--cpn-bg:#F7F7FC;position:relative;display:flex;align-items:center;gap:16px;max-width:600px;margin:28px auto 0;padding:16px 22px;
  background:linear-gradient(135deg,rgba(16,200,150,.10),rgba(47,75,240,.07));
  border:1.5px solid rgba(16,200,150,.42);border-radius:16px;overflow:hidden;
  box-shadow:0 6px 22px rgba(16,200,150,.10);opacity:0;transform:translateY(10px) scale(.97)}
.cpn.pop{animation:cpnPop .62s cubic-bezier(.2,.9,.25,1.15) forwards}
@keyframes cpnPop{
  0%{opacity:0;transform:translateY(10px) scale(.94) rotate(-1.4deg)}
  55%{opacity:1;transform:translateY(0) scale(1.03) rotate(.5deg)}
  100%{opacity:1;transform:translateY(0) scale(1) rotate(0)}
}
.cpn-shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.72) 50%,transparent 62%);transform:translateX(-120%)}
.cpn.pop .cpn-shine{animation:cpnShine 4.2s ease-in-out .55s infinite}
@keyframes cpnShine{0%{transform:translateX(-120%)}34%,100%{transform:translateX(120%)}}
.cpn-ico{width:26px;height:26px;color:#0a9e69;flex-shrink:0;transform-origin:70% 20%}
.cpn-ico svg{width:100%;height:100%;display:block}
.cpn.pop .cpn-ico{animation:cpnWiggle 4.2s ease-in-out .5s infinite}
@keyframes cpnWiggle{
  0%,74%,100%{transform:rotate(0) scale(1)}
  78%{transform:rotate(-12deg) scale(1.1)}
  82%{transform:rotate(10deg) scale(1.1)}
  86%{transform:rotate(-6deg) scale(1.05)}
  90%{transform:rotate(0) scale(1)}
}
.cpn-body{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0;position:relative;text-align:left}
.cpn-t{font-size:16px;font-weight:800;color:var(--ink2);letter-spacing:-.02em;word-break:keep-all;line-height:1.35}
.cpn-t b{white-space:nowrap;font-weight:900;color:#0a9e69}
.cpn-d{font-size:13.25px;font-weight:600;color:var(--muted);line-height:1.6;word-break:keep-all}
/* 절취선 + 스텁 */
.cpn-stub{position:relative;flex-shrink:0;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding-left:18px;margin-left:3px;border-left:1.5px dashed rgba(16,200,150,.5)}
.cpn-stub::before,.cpn-stub::after{content:'';position:absolute;left:-9px;width:16px;height:16px;border-radius:50%;background:var(--cpn-bg)}
.cpn-stub::before{top:-25.5px}
.cpn-stub::after{bottom:-25.5px}
.cpn-amt{font-size:19px;font-weight:900;color:#0a9e69;letter-spacing:-.03em;white-space:nowrap;line-height:1.1}
.cpn-amt em{font-style:normal;margin-right:1px}
.cpn-amt i{font-style:normal;font-size:.66em;font-weight:800;margin-left:1px}
.cpn-lb{font-size:10.5px;font-weight:800;letter-spacing:-.01em;color:#fff;background:#0ab87a;border-radius:100px;padding:3px 9px;white-space:nowrap}

/* 모달용 컴팩트 */
.cpn.cpn-sm{--cpn-bg:#fff;max-width:none;margin:20px 0 0;padding:14px 16px;gap:13px}
.cpn.cpn-sm .cpn-ico{font-size:21px}
.cpn.cpn-sm .cpn-t{font-size:14.75px}
.cpn.cpn-sm .cpn-d{font-size:12.5px}
.cpn.cpn-sm .cpn-amt{font-size:17px}
.cpn.cpn-sm .cpn-stub{padding-left:14px}
.cpn.cpn-sm .cpn-stub::before{top:-23.5px}
.cpn.cpn-sm .cpn-stub::after{bottom:-23.5px}

/* 모바일 — 절취선을 가로로 눕히고 금액을 아래 줄에 크게 */
@media(max-width:600px){
  .cpn,.cpn.cpn-sm{flex-wrap:wrap;gap:0 12px;padding:15px 16px;margin-top:22px}
  .cpn .cpn-ico{font-size:22px;align-self:flex-start;margin-top:1px}
  .cpn .cpn-body{flex:1 1 0;min-width:0}
  .cpn .cpn-t{font-size:15.5px}
  .cpn .cpn-d{font-size:12.75px;line-height:1.55}
  .cpn .cpn-stub{flex:1 0 100%;align-self:auto;flex-direction:row;justify-content:space-between;align-items:center;
    margin:12px 0 0;padding:11px 2px 0;border-left:none;border-top:1.5px dashed rgba(16,200,150,.5)}
  .cpn .cpn-stub::before,.cpn .cpn-stub::after{top:-9px;bottom:auto;width:16px;height:16px}
  .cpn .cpn-stub::before{left:-25px}
  .cpn .cpn-stub::after{left:auto;right:-25px}
  .cpn .cpn-amt{font-size:20px}
  .cpn .cpn-lb{font-size:10.5px}
}
@media(prefers-reduced-motion:reduce){
  .cpn,.cpn.pop{opacity:1;transform:none;animation:none}
  .cpn.pop .cpn-shine,.cpn.pop .cpn-ico{animation:none}
  .cpn-shine{display:none}
}

/* ── 쿠폰함 ── */
.disc-note{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;max-width:640px;margin:28px auto 0;padding:15px 22px;background:linear-gradient(135deg,rgba(47,75,240,.08),rgba(27,46,204,.06));border:1.5px solid rgba(47,75,240,.24);border-radius:var(--r2);text-align:center}
.disc-badge{flex-shrink:0;font-size:12.5px;font-weight:900;color:#fff;background:var(--grad);padding:6px 14px;border-radius:100px;white-space:nowrap}
.disc-txt{font-size:15px;font-weight:700;color:var(--muted);line-height:1.6;word-break:keep-all}
.disc-txt b{color:var(--ink);font-weight:900}
.pay-guide{margin-top:14px;padding-top:13px;border-top:1px dashed var(--rule)}
.pay-guide-t{font-size:13px;font-weight:800;color:var(--ink2);margin-bottom:5px}
.pay-guide-d{font-size:12.5px;font-weight:600;color:var(--subtle);line-height:1.6;word-break:keep-all}
.disc-box{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;margin-top:20px;background:linear-gradient(135deg,rgba(47,75,240,.07),rgba(27,46,204,.05));border:1.5px solid rgba(47,75,240,.22);border-radius:var(--r)}
.disc-box-ico{font-size:16px;line-height:1.4;flex-shrink:0}
.disc-box-txt{font-size:13.5px;font-weight:600;color:var(--muted);line-height:1.6;word-break:keep-all}
.disc-box-txt b{color:var(--ink);font-weight:800}
@media(max-width:560px){.disc-note{padding:14px 16px;gap:9px}.disc-txt{font-size:14px}}
.coupon-box{background:linear-gradient(135deg,rgba(47,75,240,.07),rgba(27,46,204,.05));border:1.5px solid rgba(47,75,240,.25);border-radius:16px;padding:16px 18px;margin-top:20px}
.coupon-box-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.coupon-box-emoji{font-size:18px;line-height:1}
.coupon-box-title{font-size:15px;font-weight:900;color:var(--ink);letter-spacing:-.01em}
.coupon-box-badge{margin-left:auto;font-size:11.5px;font-weight:800;color:#fff;background:var(--grad);padding:5px 11px;border-radius:100px;white-space:nowrap;box-shadow:0 3px 10px rgba(47,75,240,.3)}
.coupon-item{display:flex;align-items:center;gap:13px;background:#fff;border:1.5px dashed rgba(47,75,240,.4);border-radius:12px;padding:13px 15px;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.coupon-item:hover{border-color:rgba(47,75,240,.6);box-shadow:0 4px 16px rgba(47,75,240,.12)}
.coupon-item input[type=checkbox]{width:19px;height:19px;accent-color:var(--acc);flex-shrink:0;cursor:pointer}
.coupon-item-info{flex:1;min-width:0}
.coupon-item-name{font-size:14.5px;font-weight:800;color:var(--ink)}
.coupon-item-timer{font-size:12px;font-weight:800;color:#d97706;margin-top:3px;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.coupon-item-amt{font-size:16.5px;font-weight:900;color:var(--green);white-space:nowrap;flex-shrink:0}
.coupon-item.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}
.coupon-item.disabled .coupon-item-timer{color:var(--muted)}
@media(max-width:480px){
  .coupon-box{padding:14px 15px}
  .coupon-box-badge{font-size:10.5px;padding:4px 9px}
  .coupon-item{padding:12px 13px;gap:10px}
  .coupon-item-name{font-size:13.5px}
  .coupon-item-timer{font-size:11px}
  .coupon-item-amt{font-size:15px}
}
.ag{display:flex;align-items:flex-start;gap:9px;cursor:pointer;font-size:15px;color:var(--muted);line-height:1.55;margin-bottom:18px}
.ag-small{font-size:11.5px;line-height:1.65;color:var(--subtle)}
.ag input{accent-color:var(--acc);margin-top:2px;width:14px;height:14px;flex-shrink:0}
.pay-btn{width:100%;padding:19px;font-size:17px;font-weight:900;background:var(--grad);color:#fff;border:none;border-radius:var(--r);cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 8px 24px rgba(47,75,240,.3);transition:all .22s;letter-spacing:-.01em}
.pay-btn:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(47,75,240,.45)}
.pay-btn:disabled{background:var(--bg3);color:var(--muted);cursor:not-allowed;transform:none;box-shadow:none}
.pay-note{font-size:14px;color:var(--subtle);text-align:center;margin-top:10px;line-height:1.6}

/* ── RESULT MODAL ── */
.rmod{background:#fff;border-radius:var(--r3);max-width:420px;width:100%;padding:48px 40px;text-align:center;margin:auto}
.rmod-icon{width:76px;height:76px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 22px}
.ri-ok{background:rgba(16,200,150,.1)}.ri-fail{background:rgba(239,68,68,.1)}
.rmod-icon svg{width:34px;height:34px}
.ri-ok svg{color:var(--green)}.ri-fail svg{color:var(--red)}
.rmod-title{font-size:24px;font-weight:900;color:var(--ink);margin-bottom:10px}
.rmod-desc{font-size:16px;color:var(--muted);line-height:1.7;margin-bottom:28px}
.rb{padding:13px 32px;font-size:16px;font-weight:800;border-radius:var(--r);border:none;cursor:pointer;font-family:inherit}
.rb-ok{background:var(--grad);color:#fff}.rb-cancel{background:var(--bg3);color:var(--ink);margin-right:8px}

/* ── LEGAL MODAL ── */
.lmod{background:#fff;border-radius:var(--r2);max-width:580px;width:100%;max-height:82vh;display:flex;flex-direction:column;margin:auto}
.lmod-hd{padding:18px 22px;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center}
.lmod-hd h3{font-size:16px;font-weight:800;color:var(--ink)}
.lmod-x{background:none;border:none;font-size:18px;cursor:pointer;color:var(--muted);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%}
.lmod-x:hover{background:var(--bg3)}
.lmod-body{padding:18px 22px;overflow-y:auto;font-size:15px;color:var(--muted);line-height:1.85}
.lmod-body h4{font-size:14px;font-weight:800;color:var(--ink);margin:14px 0 5px}
.lmod-body ul{padding-left:16px}

/* ── KAKAO ── */
.fz-widget{position:fixed;bottom:104px;left:32px;display:flex;flex-direction:column;align-items:center;gap:3px;z-index:9999;background:rgba(255,255,255,.78);border:1px solid rgba(220,222,235,.7);border-radius:16px;padding:8px 6px;box-shadow:0 4px 16px rgba(0,0,0,.1);backdrop-filter:blur(8px);opacity:.6;transition:opacity .2s}
.fz-widget:hover{opacity:1}
@media(max-width:640px){.fz-widget{bottom:100px;left:12px}}
.fz-label{font-size:10px;font-weight:700;color:var(--muted);margin-bottom:2px;white-space:nowrap;opacity:.8}
.fz-btn{width:30px;height:30px;border-radius:50%;border:1.5px solid rgba(220,222,235,.8);background:rgba(245,246,250,.9);color:var(--ink2);font-family:inherit;font-weight:800;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:1px;transition:all .18s;line-height:1;flex-shrink:0}
.fz-btn span{font-size:10px;font-weight:900}
.fz-btn:active{transform:scale(.9)}
.fz-btn.fz-reset{font-size:10px;font-weight:700;color:var(--muted);width:30px}
.fz-btn.active{background:var(--acc);color:#fff;border-color:var(--acc);box-shadow:0 2px 8px rgba(47,75,240,.3)}
.kk{position:fixed;bottom:28px;right:10px;width:100px;z-index:700;display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;transition:opacity .22s ease,transform .22s ease}
.kk-inner{width:66px;height:66px;border-radius:50%;background:#FAE100;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(250,225,0,.45),0 8px 24px rgba(0,0,0,.18);transition:transform .2s,box-shadow .2s;animation:kkpulse 2.8s ease-in-out infinite}
@keyframes kkpulse{0%,100%{box-shadow:0 4px 20px rgba(250,225,0,.45),0 8px 24px rgba(0,0,0,.18)}50%{box-shadow:0 4px 32px rgba(250,225,0,.75),0 8px 28px rgba(0,0,0,.22)}}
.kk:hover .kk-inner{transform:translateY(-4px);box-shadow:0 10px 36px rgba(250,225,0,.65),0 14px 36px rgba(0,0,0,.25);animation:none}
.kk-label{background:rgba(0,0,0,.78);color:#fff;font-size:12px;font-weight:700;padding:3px 10px;border-radius:99px;white-space:nowrap;letter-spacing:.02em}
@media(max-width:640px){.kk{bottom:95px;right:4px}.kk-inner{width:62px;height:62px}}

/* ── YOUTUBE FLOATING ── */
.yt-float{position:fixed;bottom:140px;right:10px;width:100px;z-index:700;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;cursor:pointer}
.yt-float-inner{width:66px;height:66px;border-radius:50%;background:#FF0000;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(255,0,0,.35),0 8px 24px rgba(0,0,0,.18);transition:transform .2s,box-shadow .2s}
.yt-float:hover .yt-float-inner{transform:translateY(-4px);box-shadow:0 10px 36px rgba(255,0,0,.55)}
@media(max-width:640px){.yt-float{bottom:195px;right:4px}.yt-float-inner{width:62px;height:62px}}

/* ── 이탈 방지 알림 (상단, 신청현황과 같은 위치·더 눈에 띄게) ── */
.exit-toast{position:fixed;top:84px;left:20px;z-index:900;display:flex;align-items:center;gap:14px;max-width:360px;background:linear-gradient(135deg,#2F4BF0,#1B2ECC);border:none;border-radius:18px;padding:17px 22px;box-shadow:0 16px 40px rgba(47,75,240,.45),0 0 0 1px rgba(255,255,255,.1);cursor:pointer;opacity:0;transform:translateX(-16px) translateY(-6px);pointer-events:none;transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1)}
.exit-toast.show{opacity:1;transform:translateX(0) translateY(0);pointer-events:auto;animation:exitGlow 1.8s ease-in-out infinite}
@keyframes exitGlow{0%,100%{box-shadow:0 16px 40px rgba(47,75,240,.45),0 0 0 1px rgba(255,255,255,.1)}50%{box-shadow:0 20px 54px rgba(47,75,240,.68),0 0 0 1px rgba(255,255,255,.18)}}
@media(prefers-reduced-motion:reduce){.exit-toast.show{animation:none}}
.exit-toast-icon{font-size:30px;flex-shrink:0;filter:drop-shadow(0 2px 8px rgba(0,0,0,.25))}
.exit-toast-t1{font-size:13.5px;font-weight:700;color:rgba(255,255,255,.88);line-height:1.5;word-break:keep-all}
.exit-toast-t2{font-size:16.5px;font-weight:900;color:#fff;margin-top:4px}
@media(max-width:640px){
  .exit-toast{display:none}
  .exit-toast-icon{font-size:25px}
  .exit-toast-t1{font-size:12.5px}
  .exit-toast-t2{font-size:15px}
}

/* ── REVEAL ── */
/* 등장 모션 — 0.7초에 걸쳐 감속하며 자리를 잡는다 (expo-out) */
:root{--ease-out:cubic-bezier(.16,1,.3,1);--ease-soft:cubic-bezier(.22,.61,.36,1)}
.rv{opacity:0;transform:translateY(22px) scale(.985);
  transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.09s}.rv.d2{transition-delay:.18s}.rv.d3{transition-delay:.27s}.rv.d4{transition-delay:.36s}
.hero .rv{opacity:1;transform:none;transition:none}

/* 카드 그리드는 한 덩어리로 나타나지 않고 왼쪽부터 차례로 자리잡는다 */
.uc-grid.in>.uc-card,.oz.in>.oz-i,.as-grid.in>.as-card,.feat-grid.in>.feat-tag{
  animation:rvItem .62s var(--ease-out) both}
.uc-grid>.uc-card,.oz>.oz-i,.as-grid>.as-card,.feat-grid>.feat-tag{opacity:1}
.uc-grid:not(.in)>.uc-card,.oz:not(.in)>.oz-i,.as-grid:not(.in)>.as-card{opacity:0}
@keyframes rvItem{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.uc-grid.in>.uc-card:nth-child(1),.oz.in>.oz-i:nth-child(1),.as-grid.in>.as-card:nth-child(1){animation-delay:.02s}
.uc-grid.in>.uc-card:nth-child(2),.oz.in>.oz-i:nth-child(2),.as-grid.in>.as-card:nth-child(2){animation-delay:.08s}
.uc-grid.in>.uc-card:nth-child(3),.oz.in>.oz-i:nth-child(3),.as-grid.in>.as-card:nth-child(3){animation-delay:.14s}
.uc-grid.in>.uc-card:nth-child(4),.oz.in>.oz-i:nth-child(4),.as-grid.in>.as-card:nth-child(4){animation-delay:.20s}
.uc-grid.in>.uc-card:nth-child(5),.oz.in>.oz-i:nth-child(5){animation-delay:.26s}
.uc-grid.in>.uc-card:nth-child(6),.oz.in>.oz-i:nth-child(6){animation-delay:.32s}
.uc-grid.in>.uc-card:nth-child(7){animation-delay:.38s}
.uc-grid.in>.uc-card:nth-child(8){animation-delay:.44s}

@media(prefers-reduced-motion:reduce){
  .rv,.rv.in{opacity:1;transform:none;transition:none}
  .uc-grid.in>.uc-card,.oz.in>.oz-i,.as-grid.in>.as-card,.feat-grid.in>.feat-tag{animation:none;opacity:1}
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ── PC FLOATING CTA ── */
.pc-floating-cta{position:fixed;bottom:32px;left:32px;z-index:8000;display:block}
@media(max-width:640px){.pc-floating-cta{display:none}}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .review-grid{grid-template-columns:1fr 1fr}
  .proc-row{grid-template-columns:1fr 1fr;gap:28px}
  .proc-row::before{display:none}
  .pkg-grid{grid-template-columns:1fr;max-width:480px;margin:0 auto}
}
@media(max-width:760px){
  .cmp-head-cell{padding:16px 12px;font-size:12px}
  .cmp-cell{padding:15px 12px;font-size:15px;gap:6px}
}
@media(max-width:560px){
  /* 모바일: 비교표를 [항목 라벨] 위 / [일반 | 연구소] 2열 좌우 구조로 */
  .cmp-head{grid-template-columns:1fr 1fr}
  .cmp-head-cell:first-child{display:none}
  .cmp-head-cell{padding:15px 10px;font-size:12px;letter-spacing:.01em;justify-content:center;text-align:center}
  .cmp-head-cell.hl{gap:5px;justify-content:center}
  .cmp-row{grid-template-columns:1fr 1fr}
  .cmp-cell{padding:14px 10px;font-size:15px;gap:5px;justify-content:center;text-align:center;line-height:1.45}
  .cmp-cell.key{grid-column:1 / -1;background:#F7F7FC;color:var(--ink);font-size:14px;font-weight:800;padding:10px 10px}
  .bad::before,.good::before{font-size:12px}
}
@media(max-width:480px){
  .pc-top{padding:36px 24px 32px}
  .pc-body{padding:32px 24px}
  .pc-price{font-size:54px}
  .pc-price sub{font-size:20px}
  .coupon-title{font-size:15px}
  .coupon-badge{font-size:11px}
}
/* ── PRICE CARD ── */
.price-outer{max-width:600px;margin:0 auto;position:relative}
.price-outer::before{content:'';position:absolute;inset:-2px;border-radius:calc(var(--r3) + 2px);background:var(--grad);z-index:0}
.price-card{position:relative;z-index:1;background:#fff;border:1px solid var(--rule);border-radius:var(--r3);overflow:visible;box-shadow:0 10px 44px rgba(20,20,50,.10)}
.pc-top{padding:48px 32px 40px;border-bottom:1px solid var(--rule);overflow:visible}
.pc-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:rgba(47,75,240,.10);border:1px solid rgba(47,75,240,.25);border-radius:99px;font-size:13px;font-weight:800;color:#2340C8;letter-spacing:.05em;text-transform:uppercase;margin-bottom:24px}
.pc-price{font-size:clamp(44px,14vw,72px);font-weight:900;color:var(--ink);letter-spacing:-.05em;line-height:1;white-space:nowrap}
.pc-price sub{font-size:24px;font-weight:700;color:var(--muted);vertical-align:bottom;margin-left:4px}
.pc-price.flash{animation:pcFlash .9s ease;transform-origin:left center}
@keyframes pcFlash{0%{transform:scale(1);color:var(--ink)}25%{transform:scale(1.06);color:var(--acc)}100%{transform:scale(1);color:var(--ink)}}
.pc-coupon-applied{display:flex;align-items:center;gap:10px;opacity:0;max-height:0;margin-top:0;overflow:hidden;transition:opacity .5s ease,max-height .5s ease,margin-top .5s ease}
.pc-coupon-applied.show{opacity:1;max-height:48px;margin-top:14px}
.pc-was{font-size:16px;font-weight:700;color:var(--muted);text-decoration:line-through}
.pc-off{font-size:14px;font-weight:800;color:#fff;background:var(--grad);padding:5px 12px;border-radius:100px;white-space:nowrap}
.pc-note{font-size:13px;color:var(--muted);margin-top:10px}
.pc-body{padding:40px 48px}
.pc-items{display:flex;flex-direction:column;gap:14px;margin-bottom:36px}
.pc-item{display:flex;align-items:center;gap:14px;font-size:17px;color:#3a3a52;font-weight:600}
.pc-check{width:22px;height:22px;border-radius:50%;background:rgba(16,200,150,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pc-check svg{width:11px;height:11px;color:var(--green)}
.pc-btns{display:flex;flex-direction:column;gap:10px}
.pc-btns .gb{width:100%;padding:20px;font-size:17px}
/* ── WHY ── */
.wl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.wl-card{display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid var(--rule);border-radius:22px;padding:38px 34px;transition:transform .25s,box-shadow .25s,border-color .25s;position:relative;overflow:hidden;box-shadow:0 4px 20px rgba(20,20,50,.06)}
.wl-card:hover{border-color:rgba(47,75,240,.4);transform:translateY(-6px);box-shadow:0 18px 42px rgba(47,75,240,.16)}
.wl-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad);opacity:0;transition:opacity .25s}
.wl-card:hover::before{opacity:1}
.wl-icon{width:56px;height:56px;border-radius:16px;background:var(--grad);display:flex;align-items:center;justify-content:center;margin-bottom:24px;box-shadow:0 6px 16px rgba(47,75,240,.32)}
.wl-icon svg{width:26px;height:26px;stroke:#fff}
.wl-title{font-size:21px;font-weight:800;color:var(--ink);letter-spacing:-.03em;line-height:1.32;margin-bottom:14px;word-break:keep-all}
.wl-desc{font-size:16px;color:#4E5968;line-height:1.8;margin-bottom:22px;word-break:keep-all}
.wl-tag{display:inline-flex;align-items:center;font-size:13.5px;font-weight:800;color:#2340C8;background:rgba(47,75,240,.1);border:1px solid rgba(47,75,240,.22);padding:7px 14px;border-radius:100px;letter-spacing:.01em;margin-top:auto}
@media(max-width:820px){.wl-grid{grid-template-columns:1fr;max-width:480px;margin:0 auto}}@media(max-width:600px){.wl-card{padding:30px 26px}}

/* ── COUPON ── */
.coupon{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;overflow:hidden;
  background:
    radial-gradient(circle at 0% 50%, #F7F7FC 15px, transparent 16px),
    radial-gradient(circle at 100% 50%, #F7F7FC 15px, transparent 16px),
    linear-gradient(120deg,#2F4BF0 0%,#7858F2 52%,#1B2ECC 100%);
  border-radius:16px;padding:22px 26px;
  box-shadow:0 14px 40px rgba(47,75,240,.42),0 4px 12px rgba(27,46,204,.3);
  animation:couponGlow 2.6s ease-in-out infinite}
@keyframes couponGlow{0%,100%{box-shadow:0 12px 34px rgba(47,75,240,.38),0 4px 12px rgba(27,46,204,.25)}50%{box-shadow:0 18px 54px rgba(47,75,240,.62),0 6px 18px rgba(27,46,204,.45)}}
.coupon::before{content:'';position:absolute;top:0;left:-65%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);transform:skewX(-20deg);animation:couponShine 3.6s ease-in-out infinite;pointer-events:none}
@keyframes couponShine{0%{left:-65%}45%,100%{left:150%}}
.coupon-tear{flex-shrink:0;width:0;align-self:stretch;border-left:2px dashed rgba(255,255,255,.5);margin:0 6px;position:relative;z-index:1}
.coupon-left{flex:1;display:flex;flex-direction:column;gap:5px;padding-right:6px;position:relative;z-index:1}
.coupon-badge{align-self:flex-start;font-size:12px;font-weight:800;letter-spacing:.03em;color:#fff;background:rgba(255,255,255,.22);padding:3px 11px;border-radius:100px}
.coupon-title{font-size:clamp(16px,4vw,19px);font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1.25;word-break:keep-all}
.coupon-amt{font-size:clamp(24px,7vw,30px);font-weight:900;letter-spacing:-.03em;text-shadow:0 2px 10px rgba(0,0,0,.18)}
.coupon-sub{font-size:13px;color:rgba(255,255,255,.85);margin-top:3px;font-weight:600}
.coupon-btn{flex-shrink:0;position:relative;z-index:1;padding:13px 22px;background:#fff;color:var(--acc);border:none;border-radius:12px;font-size:16px;font-weight:900;font-family:inherit;cursor:pointer;white-space:nowrap;transition:transform .2s,box-shadow .2s;box-shadow:0 6px 18px rgba(0,0,0,.2);letter-spacing:-.01em;animation:couponBtnPulse 1.8s ease-in-out infinite}
@keyframes couponBtnPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
.coupon-btn:hover{transform:scale(1.1);box-shadow:0 10px 26px rgba(0,0,0,.28);animation:none}
.coupon-btn.claimed{background:rgba(255,255,255,.25);color:#fff;box-shadow:none;cursor:default;transform:none;animation:none}
/* ── OPTIONS ── */
.opt-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.opt-col-hd{display:flex;align-items:center;gap:10px;margin-bottom:20px}
.opt-col-title{font-size:16px;font-weight:800;color:var(--ink)}
.opt-pill{padding:4px 12px;border-radius:99px;font-size:13px;font-weight:800}
.opt-card{background:var(--bg);border:1.5px solid var(--rule);border-radius:var(--r);padding:22px;margin-bottom:12px;display:flex;align-items:flex-start;gap:16px;transition:.2s}
.opt-card:hover{border-color:var(--acc);box-shadow:0 4px 20px rgba(47,75,240,.08);transform:translateY(-2px)}
.opt-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.opt-icon svg{width:20px;height:20px}
.opt-body{flex:1}
.opt-name{font-size:16px;font-weight:800;color:var(--ink);margin-bottom:4px}
.opt-desc{font-size:14px;color:var(--muted);line-height:1.55}
.opt-note{font-size:13px;color:var(--muted);line-height:1.6;margin-top:9px;padding:9px 12px;background:rgba(47,75,240,.06);border:1px solid rgba(47,75,240,.18);border-radius:9px;word-break:keep-all}
.opt-note b{color:var(--ink);font-weight:800}
.opt-price{font-size:14px;font-weight:800;margin-top:8px}
@media(max-width:768px){.opt-layout{grid-template-columns:1fr}}
@media(max-width:640px){
  .sec{padding:72px 0}
  .hd-nav{display:none}
  .chk-grid{grid-template-columns:1fr 1fr}
  .hero{padding:90px 0 52px}
  .hero-h1{font-size:44px;line-height:1.12}
  .hero-sub{font-size:17px;line-height:1.85}
  .hero-ctas{margin-bottom:30px}
  .hero-tags{gap:8px}
  .htag{font-size:14.5px;padding:8px 12px}
  .hero-kicker{font-size:16px;margin-bottom:22px}
  .review-grid{grid-template-columns:1fr}
  .proc-row{grid-template-columns:1fr}
  .f2{grid-template-columns:1fr}
  .fm-body,.fm-head{padding:20px}
  /* 모바일: ✕ 버튼이 문구 폭을 뺏지 않도록 절대배치 → 안내문이 2줄로 */
  .fm-head{position:relative}
  .fm-head > div{width:100%}
  .fm-title{padding-right:44px}
  .fm-x{position:absolute;top:20px;right:20px}
  .fm-sub{font-size:12.5px;line-height:1.6;margin-top:6px}
  .cta-btns .gb{width:100%}
  .sh-h2{font-size:30px}
  .sh-p{font-size:17px}
  .fq-q{font-size:17px}
  .fq-a{font-size:17px}
  .pkg-head{padding:22px 20px 16px}
  .pkg-body{padding:16px 20px 20px}
  .pkg-btn{margin-top:20px}
  .pkg-price{font-size:36px}
  .pricing-note{margin-bottom:36px}
  .zero-mob-br,.mob-br{display:inline}
}

/* ══════════════════════════════════════════
   4-TIER LINEUP · 추가 스타일
   ══════════════════════════════════════════ */

/* ── 4열 패키지 그리드 ── */
.pkg-grid.four{grid-template-columns:repeat(4,1fr);gap:16px;align-items:stretch}
.pkg-grid.four .pkg-head{padding:22px 22px 18px}
.pkg-grid.four .pkg-body{padding:20px 22px 24px}
.pkg-grid.four .pkg-name{font-size:17px}
.pkg-grid.four .pkg-price{font-size:32px}
.pkg-grid.four .pkg-price sub{font-size:15px}
.pkg-grid.four .pkg-item{padding:11px 0;gap:11px}
.pkg-grid.four .pkg-ico{width:36px;height:36px;border-radius:10px}
.pkg-grid.four .pkg-ico svg{width:17px;height:17px}
.pkg-grid.four .pkg-item-name{font-size:15px}
.pkg-grid.four .pkg-item-desc{font-size:13.5px}
.pkg-grid.four .pkg-btn{padding:14px;font-size:15.5px}
.pkg-card.featured{transform:translateY(-10px)}
.pkg-card.featured:hover{transform:translateY(-13px)}
@media(max-width:1160px){
  .pkg-grid.four{grid-template-columns:1fr 1fr;gap:18px;max-width:720px;margin:0 auto}
  .pkg-card.featured{transform:none}
  .pkg-card.featured:hover{transform:translateY(-4px)}
}
@media(max-width:660px){.pkg-grid.four{grid-template-columns:1fr;max-width:420px}}

/* 울트라(골드) 티어 */
.pkg-card.ultra::before{background:linear-gradient(90deg,#d97706,#f59e0b)}
.pkg-card.ultra .pkg-head{background:linear-gradient(135deg,rgba(245,158,11,.09) 0%,#fff 60%);border-bottom-color:rgba(245,158,11,.2)}
.pkg-card.ultra .pkg-price{color:#c2610a}
.pkg-card.ultra:hover{box-shadow:0 12px 36px rgba(245,158,11,.2);transform:translateY(-4px)}
.pkg-tier-a{color:#c2610a;background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.3)}
.pkg-btn-a{background:#fff;color:#c2610a;border:2px solid #d97706}
.pkg-btn-a:hover{background:#d97706;color:#fff;box-shadow:0 8px 24px rgba(245,158,11,.32)}

/* 가격 쿠폰 적용 애니메이션 */
.pkg-price{white-space:nowrap;transition:transform .2s}
.pkg-price.flash{animation:pkgFlash .9s ease;transform-origin:left center}
@keyframes pkgFlash{0%{transform:scale(1)}25%{transform:scale(1.07)}100%{transform:scale(1)}}
.pkg-coupon-applied{display:flex;align-items:center;gap:8px;flex-wrap:wrap;opacity:0;max-height:0;margin-top:0;overflow:hidden;transition:opacity .5s ease,max-height .5s ease,margin-top .5s ease}
.pkg-coupon-applied.show{opacity:1;max-height:60px;margin-top:10px}
.pkg-was{font-size:14.5px;font-weight:700;color:var(--muted);text-decoration:line-through}
.pkg-off{font-size:12.5px;font-weight:800;color:#fff;background:var(--grad);padding:4px 10px;border-radius:100px;white-space:nowrap}
.pkg-sub-price{font-size:13.5px;font-weight:700;color:var(--muted);margin-top:7px;line-height:1.5}
.pkg-sub-price b{color:var(--ink2);font-weight:800}

/* 프리미엄 타입 미니 선택 박스 */
.pkg-types{display:flex;flex-direction:column;gap:7px;margin:14px 0 0;padding-top:14px;border-top:1px dashed #e8eaf0}
.pkg-types-label{font-size:12.5px;font-weight:800;letter-spacing:.06em;color:var(--muted);margin-bottom:2px}
.pkg-type{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border:1.5px solid rgba(27,46,204,.25);background:rgba(27,46,204,.05);border-radius:10px;font-size:13.5px;font-weight:800;color:var(--ink2)}
.pkg-type em{font-style:normal;color:#7c3aed;font-weight:900;white-space:nowrap}

/* ── 플랜 가이드 탭 ── */
.pg-tabs{display:flex;gap:8px;justify-content:center;margin-bottom:38px;flex-wrap:wrap}
.pg-tap-hint{display:inline-flex;align-items:center;gap:6px;font-size:14.5px;font-weight:800;color:var(--acc);background:rgba(47,75,240,.08);border:1px solid rgba(47,75,240,.22);padding:8px 18px;border-radius:100px;margin-top:18px;animation:pgHintPulse 2.2s ease-in-out infinite}
@keyframes pgHintPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
@media(prefers-reduced-motion:reduce){.pg-tap-hint{animation:none}}
.pg-tab{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:3px;padding:16px 24px 14px;border-radius:16px;border:1.5px solid var(--rule);background:#fff;cursor:pointer;font-family:inherit;transition:all .25s cubic-bezier(.4,0,.2,1);min-width:150px;box-shadow:0 2px 10px rgba(20,20,50,.04);overflow:hidden}
.pg-tab::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--rule);transition:background .25s}
.pg-tab[data-pg="basic"]::before{background:linear-gradient(90deg,#0ab87a,#10c896)}
.pg-tab[data-pg="standard"]::before{background:var(--grad)}
.pg-tab[data-pg="premium"]::before{background:linear-gradient(90deg,#1b2ecc,#8FA3FF)}
.pg-tab[data-pg="ultra"]::before{background:linear-gradient(90deg,#d97706,#f59e0b)}
.pg-tab-name{font-size:16.5px;font-weight:900;color:var(--ink);letter-spacing:-.02em}
.pg-tab-price{font-size:13.5px;font-weight:700;color:var(--muted)}
.pg-tab-cta{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;box-sizing:border-box;font-size:13.5px;font-weight:900;color:#fff;margin-top:11px;padding:9px 10px;border-radius:var(--r);background:var(--grad);box-shadow:0 4px 14px rgba(47,75,240,.35);letter-spacing:-.01em;animation:pgCtaPulse 2.2s ease-in-out infinite}
.pg-tab[data-pg="basic"] .pg-tab-cta{background:linear-gradient(135deg,#0ab87a,#10c896);box-shadow:0 4px 14px rgba(16,200,150,.35)}
.pg-tab[data-pg="premium"] .pg-tab-cta{background:linear-gradient(135deg,#1b2ecc,#8FA3FF);box-shadow:0 4px 14px rgba(27,46,204,.35)}
.pg-tab[data-pg="ultra"] .pg-tab-cta{background:linear-gradient(135deg,#d97706,#f59e0b);box-shadow:0 4px 14px rgba(245,158,11,.35)}
.pg-tab-cta svg{transition:transform .2s}
@keyframes pgCtaPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
.pg-tab:hover .pg-tab-cta{animation-play-state:paused;transform:scale(1.05);filter:brightness(1.08)}
.pg-tab:hover .pg-tab-cta svg{transform:translateX(2px)}
.pg-tab:hover{border-color:rgba(47,75,240,.45);transform:translateY(-4px) scale(1.02);box-shadow:0 12px 28px rgba(20,20,50,.12)}
.pg-tab.on{background:var(--grad);border-color:transparent;box-shadow:0 10px 28px rgba(47,75,240,.35);transform:translateY(-3px)}
.pg-tab.on::before{background:rgba(255,255,255,.35)!important}
.pg-tab.on .pg-tab-name{color:#fff}
.pg-tab.on .pg-tab-price{color:rgba(255,255,255,.82)}
.pg-tab.on .pg-tab-cta{background:#fff;color:var(--acc);box-shadow:0 3px 10px rgba(0,0,0,.15);animation:none}
.pg-tab.on:hover{transform:translateY(-5px) scale(1.02)}
@media(prefers-reduced-motion:reduce){.pg-tab-cta{animation:none}}
@media(max-width:720px){
  .pg-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:440px;margin-left:auto;margin-right:auto}
  .pg-tab{min-width:0;padding:14px 10px 12px}
  .pg-tab-name{font-size:15.5px}
  .pg-tab-price{font-size:12.5px}
  .pg-tab-cta{font-size:12.5px;padding:8px 10px}
  .pg-tap-hint{font-size:13.5px;padding:7px 14px;text-align:center}
}

.pg-panel{display:none}
.pg-panel.on{display:block;animation:pgIn .45s cubic-bezier(.22,1,.36,1)}
@keyframes pgIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

.pg-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;background:#fff;border:1.5px solid var(--rule);border-radius:24px;padding:38px 36px;box-shadow:0 6px 28px rgba(20,20,50,.07);margin-bottom:26px}
.pg-badge{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;font-size:13px;font-weight:900;letter-spacing:.06em;padding:6px 14px;border-radius:100px;margin-bottom:16px}
.pg-h3{font-size:clamp(23px,3.4vw,31px);font-weight:900;color:var(--ink);letter-spacing:-.035em;line-height:1.3;margin-bottom:14px;word-break:keep-all}
.pg-lead{font-size:16.5px;color:#4E5968;line-height:1.85;word-break:keep-all}
.pg-price-box{display:flex;flex-direction:column;justify-content:center;background:var(--bg2);border:1.5px solid var(--rule);border-radius:18px;padding:26px 28px}
.pg-price-label{font-size:13px;font-weight:800;letter-spacing:.06em;color:var(--muted);margin-bottom:8px}
.pg-price-num{font-size:clamp(30px,5vw,40px);font-weight:900;letter-spacing:-.045em;line-height:1;color:var(--ink)}
.pg-price-num sub{font-size:17px;font-weight:700;color:var(--muted);vertical-align:bottom;margin-left:3px}
.pg-price-note{font-size:13.5px;color:var(--muted);margin-top:10px;line-height:1.6;word-break:keep-all}
.pg-price-btn{margin-top:18px;width:100%;padding:15px;font-size:16px;font-weight:900;border-radius:var(--r);border:none;cursor:pointer;font-family:inherit;background:var(--grad);color:#fff;box-shadow:0 6px 20px rgba(47,75,240,.3);transition:all .2s}
.pg-price-btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(47,75,240,.45)}
@media(max-width:820px){.pg-hero{grid-template-columns:1fr;padding:30px 26px}}

.pg-sub-title{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:900;letter-spacing:.08em;color:var(--muted);margin:32px 0 16px}
.pg-sub-title::after{content:'';flex:1;height:1px;background:var(--rule)}

.pg-inc{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.pg-inc-item{display:flex;align-items:flex-start;gap:12px;background:#fff;border:1.5px solid var(--rule);border-radius:14px;padding:17px 19px;transition:border-color .2s,box-shadow .2s}
.pg-inc-item:hover{border-color:rgba(47,75,240,.35);box-shadow:0 6px 18px rgba(47,75,240,.08)}
.pg-inc-check{width:25px;height:25px;border-radius:50%;background:rgba(16,200,150,.13);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.pg-inc-check svg{width:12px;height:12px;color:var(--green)}
.pg-inc-t{font-size:15.5px;font-weight:800;color:var(--ink);line-height:1.4}
.pg-inc-d{font-size:13.5px;color:var(--muted);line-height:1.6;margin-top:3px;word-break:keep-all}
@media(max-width:700px){.pg-inc{grid-template-columns:1fr}}

.pg-note{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:#92400e;background:rgba(245,158,11,.07);border:1px solid rgba(245,158,11,.24);border-radius:12px;padding:15px 18px;margin-top:22px;line-height:1.7;word-break:keep-all}
.pg-note b{font-weight:900}


/* ── 플랜 비교 매트릭스 ── */
.mx-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--r2);border:1px solid var(--rule);box-shadow:0 4px 20px rgba(20,20,50,.06);background:#fff}
.mx{width:100%;min-width:720px;border-collapse:collapse}
.mx th,.mx td{padding:16px 14px;text-align:center;font-size:15px;border-bottom:1px solid var(--rule)}
.mx thead th{background:#F7F7FC;font-size:14px;font-weight:900;color:var(--ink);letter-spacing:-.01em;position:sticky;top:0}
.mx thead th small{display:block;font-size:12.5px;font-weight:700;color:var(--muted);margin-top:3px;letter-spacing:0}
.mx thead th.mx-hl{background:linear-gradient(180deg,rgba(47,75,240,.14),rgba(27,46,204,.08))}
.mx tbody th{text-align:left;font-size:14.5px;font-weight:800;color:var(--ink);background:#FCFCFE;white-space:nowrap}
.mx td.mx-hl{background:rgba(47,75,240,.045)}
.mx tr:last-child th,.mx tr:last-child td{border-bottom:none}
.mx .y{font-weight:900}
.mx .t{font-size:14px;font-weight:700;word-break:keep-all}
/* 플랜별 색상 — 해당 플랜 열의 값은 그 플랜 색으로 통일 */
.mx thead th.h-b,.mx td.c-b{color:#089163}
.mx thead th.h-s,.mx td.c-s{color:#3d4bc7}
.mx thead th.h-p,.mx td.c-p{color:#7c3aed}
.mx thead th.h-u,.mx td.c-u{color:#b45309}
.mx thead th.h-b small,.mx thead th.h-s small,.mx thead th.h-p small,.mx thead th.h-u small{color:inherit;opacity:.75}
.mx td.n{color:#c9ccd8;font-weight:700}
.mx-scroll-hint{display:none;text-align:center;font-size:13.5px;color:var(--muted);margin-top:12px}
@media(max-width:760px){.mx-scroll-hint{display:block}}

/* ── 모바일: 탭 없이 4개 플랜을 한 번에 보는 비교 (가로 스크롤 없이 세로 스크롤만) ── */
.mx-stack{display:none}
@media(max-width:640px){
  .mx-wrap{display:none}
  .mx-scroll-hint{display:none}
  .mx-stack{display:block}
}
.mxs-item{margin-bottom:14px;background:#fff;border:1.5px solid var(--rule);border-radius:16px;padding:13px 13px 11px;box-shadow:0 2px 12px rgba(20,20,50,.05)}
.mxs-label{font-size:16px;font-weight:900;color:var(--ink);margin-bottom:11px;padding-left:2px;letter-spacing:-.01em}
.mxs-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mxs-cell{border:1.5px solid var(--rule);border-left-width:4px;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:3px}
.mxs-cell.b{border-left-color:#0ab87a;background:rgba(16,200,150,.07)}
.mxs-cell.s{border-left-color:#2F4BF0;background:rgba(47,75,240,.07)}
.mxs-cell.p2{border-left-color:#1b2ecc;background:rgba(27,46,204,.07)}
.mxs-cell.u{border-left-color:#d97706;background:rgba(245,158,11,.07)}
.mxs-cell .p{font-size:12.5px;font-weight:900;letter-spacing:.01em}
.mxs-cell.b .p{color:#089163}
.mxs-cell.s .p{color:#3d4bc7}
.mxs-cell.p2 .p{color:#7c3aed}
.mxs-cell.u .p{color:#b45309}
.mxs-cell .v{font-size:15.5px;font-weight:800;line-height:1.4}
.mxs-cell.b .v{color:#089163}
.mxs-cell.s .v{color:#3d4bc7}
.mxs-cell.p2 .v{color:#7c3aed}
.mxs-cell.u .v{color:#b45309}
.mxs-cell .v.y{font-weight:900}
.mxs-cell .v.n,.mxs-cell.b .v.n,.mxs-cell.s .v.n,.mxs-cell.p2 .v.n,.mxs-cell.u .v.n{color:#b5b9c6;font-weight:700}

/* ── 모든 플랜 공통 포함 ── */
.inc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:940px;margin:0 auto}
.inc-item{display:flex;align-items:flex-start;gap:13px;background:#fff;border:1.5px solid var(--rule);border-radius:14px;padding:18px 20px;box-shadow:0 2px 12px rgba(20,20,50,.04);transition:border-color .2s,box-shadow .2s}
.inc-item:hover{border-color:rgba(16,200,150,.4);box-shadow:0 6px 18px rgba(16,200,150,.1)}
.inc-check{width:26px;height:26px;border-radius:50%;background:rgba(16,200,150,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.inc-check svg{width:13px;height:13px;color:var(--green)}
.inc-item-t{font-size:15.5px;font-weight:800;color:var(--ink);line-height:1.4}
.inc-item-d{font-size:13.5px;color:var(--muted);line-height:1.55;margin-top:3px;word-break:keep-all}
@media(max-width:820px){.inc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.inc-grid{grid-template-columns:1fr}}

/* ── 심플 안내 리스트 ── */
.simple-notes{max-width:720px;margin:0 auto;background:#fff;border:1.5px solid var(--rule);border-radius:18px;overflow:hidden;box-shadow:0 3px 16px rgba(20,20,50,.05)}
.snote{display:flex;gap:22px;align-items:baseline;padding:22px 28px;border-bottom:1px solid var(--rule)}
.snote:last-child{border-bottom:none}
.snote-k{flex-shrink:0;width:126px;font-size:16px;font-weight:800;color:var(--ink)}
.snote-v{font-size:15.5px;color:#4E5968;line-height:1.65;word-break:keep-all}
@media(max-width:560px){.snote{flex-direction:column;gap:5px;padding:18px 20px}.snote-k{width:auto}}

/* ── 유료 옵션 3열 ── */
.opt-layout.three{grid-template-columns:repeat(3,1fr);align-items:start}
.opt-layout.three .opt-card{flex-direction:column;margin-bottom:0;height:100%}
.opt-layout.three .opt-icon{margin-bottom:14px}
@media(max-width:900px){.opt-layout.three{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.opt-layout.three{grid-template-columns:1fr;max-width:440px;margin:0 auto}.opt-layout.three .opt-card{flex-direction:row}}

/* ── 유료 옵션 4열 ── */
.opt-layout.four{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;max-width:1080px;margin:0 auto}
.opt-layout.four .opt-card{flex-direction:column;margin-bottom:0;height:100%;display:flex}
.opt-layout.four .opt-icon{margin-bottom:14px}
@media(max-width:1024px){.opt-layout.four{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.opt-layout.four{grid-template-columns:1fr;max-width:440px;margin:0 auto}.opt-layout.four .opt-card{flex-direction:row}}


/* ── 모달: 플랜 선택 ── */
.plan-radio-item.sel.p-basic{border-color:#0ab87a;background:rgba(16,200,150,.05)}
.plan-radio-item.sel.p-basic .plan-radio-price{color:#0ab87a}
.plan-radio-item.sel.p-ultra{border-color:#d97706;background:rgba(245,158,11,.05)}
.plan-radio-item.sel.p-ultra .plan-radio-price{color:#c2610a}
.plan-radio-item.sel.p-premium{border-color:#1b2ecc;background:rgba(27,46,204,.05)}
.plan-radio-item.sel.p-premium .plan-radio-price{color:#7c3aed}
.plan-radio-tag{display:inline-block;font-size:11px;font-weight:900;letter-spacing:.05em;padding:2px 7px;border-radius:5px;margin-left:6px;vertical-align:middle;color:#fff;background:var(--grad)}


/* ══ 2026-10-05 추가: 첫 화면 모션 영상 · 공지 · 모션 영상 페이지 · AEO·GEO · 포트폴리오 할인 ══ */
/* 첫 화면 모션 영상 (메인 / 에서만) */
html.hm-lock,html.hm-lock body{overflow:hidden!important}
/* 영상이 덮고 있는 동안 뒤의 홈페이지는 그리지 않고 애니메이션도 멈춤 — 휴대폰에서 영상이 버벅이지 않게 */
html.hm-lock body>*:not(#hpl-motion){visibility:hidden!important}
html.hm-lock body *{animation-play-state:paused!important}
#hpl-motion{position:fixed;inset:0;z-index:2147483000;background:#05050B;transition:opacity .6s ease,visibility .6s}
#hpl-motion.out{opacity:0;visibility:hidden;pointer-events:none}
#hpl-motion iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#05050B}

/* 공지 — 히어로 공지 제목줄 · 공지 팝업 · 상담 모달 */
.hero-ntc{display:inline-flex;align-items:center;gap:10px;max-width:100%;margin:0 auto 26px;padding:9px 10px 9px 9px;border-radius:99px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;font-family:inherit;cursor:pointer;transition:background .2s,border-color .2s}
.hero-ntc:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35)}
.hero-ntc .hn-badge{flex:none;font-size:12.5px;font-weight:900;color:#1A1200;background:#F5A623;border-radius:99px;padding:4px 10px}
.hero-ntc .hn-t{font-size:14.5px;font-weight:700;color:rgba(255,255,255,.92);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.02em}
.hero-ntc .hn-more{flex:none;font-size:13px;font-weight:700;color:rgba(255,255,255,.6);padding-right:6px}
@media(max-width:560px){.hero-ntc{margin-bottom:22px}.hero-ntc .hn-t{font-size:13.5px}.hero-ntc .hn-more{display:none}}
.ntc-ovl{position:fixed;inset:0;z-index:2147482000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(10,10,20,.55);opacity:0;transition:opacity .25s}
.ntc-ovl[hidden]{display:none}
.ntc-ovl.on{opacity:1}
.ntc{width:100%;max-width:440px;max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.35);transform:translateY(12px);transition:transform .25s}
.ntc-ovl.on .ntc{transform:none}
.ntc-in{padding:26px 26px 22px}
.ntc-hd{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:2px solid var(--ink)}
.ntc-lb{font-size:14px;font-weight:900;color:var(--acc);letter-spacing:.02em}
.ntc-date{font-size:13px;font-weight:600;color:var(--muted)}
.ntc-title{font-size:21px;font-weight:900;color:var(--ink);letter-spacing:-.04em;line-height:1.4;margin:18px 0 14px;word-break:keep-all}
.ntc-body{font-size:14.5px;line-height:1.75;color:#3A3A52;word-break:keep-all}
.ntc-body p+p{margin-top:10px}
.ntc-body ul{list-style:none;margin:12px 0;padding:14px 16px;background:#F5F6FA;border-radius:12px}
.ntc-body li{position:relative;padding-left:14px}
.ntc-body li+li{margin-top:6px}
.ntc-body li::before{content:'';position:absolute;left:0;top:.72em;width:5px;height:5px;border-radius:50%;background:var(--acc)}
.ntc-body b{color:var(--ink);font-weight:800}
.ntc-sign{text-align:right;font-weight:800;color:var(--ink)}
.ntc-x{display:flex;align-items:center;justify-content:center;width:100%;margin-top:18px;padding:15px;border:0;border-radius:12px;background:var(--grad);color:#fff;font-family:inherit;font-size:16px;font-weight:800;cursor:pointer;box-shadow:0 8px 20px rgba(47,75,240,.3)}
.ntc-go{display:block;width:100%;margin-top:10px;padding:8px;border:0;background:none;color:var(--acc);font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.ntc-ft{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:#1E1E32;border-radius:0 0 18px 18px}
.ntc-ft label{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:rgba(255,255,255,.8);cursor:pointer}
.ntc-ft input{width:15px;height:15px;accent-color:#F5A623}
.fm-notice{margin:0 0 18px;padding:11px 14px;border-radius:12px;background:#FFF7E8;border:1px solid #F5D9A8;font-size:13.5px;line-height:1.6;color:#6B4E16;word-break:keep-all}
.fm-notice b{display:inline-block;font-size:11.5px;font-weight:900;color:#fff;background:#F5A623;border-radius:5px;padding:1px 7px;margin-right:6px;vertical-align:1px}

/* 모션 영상 페이지 소개 */
.mp-sec{position:relative;padding:110px 0;background:radial-gradient(1000px 520px at 50% 0%,rgba(47,75,240,.35),transparent 70%),var(--ink);color:#fff;overflow:hidden}
.mp-sec::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:64px 64px;pointer-events:none}
.mp-sec>.wrap{position:relative}
.mp-head{text-align:center;max-width:760px;margin:0 auto}
.mp-kick{display:inline-block;font-family:"DM Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;letter-spacing:.22em;color:#A8B8FF;border:1px solid rgba(124,144,255,.4);background:rgba(124,144,255,.1);padding:8px 16px;border-radius:99px;margin-bottom:22px}
.mp-h2{font-size:clamp(34px,5.4vw,60px);font-weight:900;letter-spacing:-.05em;line-height:1.18;word-break:keep-all}
.mp-x{position:relative;color:rgba(255,255,255,.45)}
.mp-x::after{content:'';position:absolute;left:-2%;right:-2%;top:54%;height:.08em;background:#EF4444;border-radius:4px}
.mp-h2 em{font-style:normal;background:linear-gradient(135deg,#7C90FF,#A8B8FF);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
/* ══ 오픈한 뒤 (2026-10-10) — 운영 중 문제 · 업체 중단 걱정에 대한 답: 2019년부터 · 사용 안내서 · 소유권 ══ */
.af-sec{position:relative;padding:104px 0;background:var(--ink);color:#fff;overflow:hidden}
.af-sec::before{content:'';position:absolute;inset:0;background:radial-gradient(900px 420px at 50% 0%,rgba(47,75,240,.28),transparent 70%);pointer-events:none}
.af-sec>.wrap{position:relative}
.af-head{text-align:center;max-width:760px;margin:0 auto}
.af-kick{display:inline-block;font-family:"DM Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;letter-spacing:.22em;color:#A8B8FF;border:1px solid rgba(124,144,255,.4);background:rgba(124,144,255,.1);padding:8px 16px;border-radius:99px;margin-bottom:22px}
.af-h2{font-size:clamp(30px,4.8vw,52px);font-weight:900;letter-spacing:-.05em;line-height:1.22;word-break:keep-all}
.af-h2 em{font-style:normal;background:linear-gradient(135deg,#7C90FF,#A8B8FF);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.af-p{font-size:17px;line-height:1.8;color:rgba(255,255,255,.72);margin-top:18px;word-break:keep-all}
.af-risk{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:48px}
.af-r{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:26px 26px 28px}
.af-r-k{display:inline-block;font-size:12.5px;font-weight:800;color:#FFA3A3;background:rgba(239,68,68,.14);border:1px solid rgba(239,68,68,.3);border-radius:99px;padding:4px 12px}
.af-r strong{display:block;font-size:20px;font-weight:800;line-height:1.45;letter-spacing:-.03em;margin-top:14px;word-break:keep-all}
.af-r p{font-size:15px;line-height:1.75;color:rgba(255,255,255,.66);margin-top:10px;word-break:keep-all}
.af-us{margin-top:14px;background:linear-gradient(135deg,rgba(47,75,240,.28),rgba(47,75,240,.12));border:1px solid rgba(124,144,255,.5);border-radius:22px;padding:30px 28px 28px}
.af-us-t{font-size:21px;font-weight:900;letter-spacing:-.03em;text-align:center;word-break:keep-all}
.af-us-t b{font-weight:900;color:#A8B8FF}
.af-us-g{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}
.af-u{background:rgba(10,10,20,.38);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:22px 20px 24px}
.af-u b{display:block;font-family:"DM Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;letter-spacing:.16em;color:#A8B8FF;font-weight:500}
.af-u strong{display:block;font-size:18px;font-weight:800;letter-spacing:-.03em;margin-top:10px;word-break:keep-all}
.af-u p{font-size:14.5px;line-height:1.7;color:rgba(255,255,255,.7);margin-top:8px;word-break:keep-all}
@media(max-width:820px){.af-risk{grid-template-columns:1fr}.af-us-g{grid-template-columns:1fr}}
@media(max-width:560px){.af-sec{padding:76px 0}.af-p{font-size:15.5px}.af-risk{margin-top:36px}.af-r{padding:22px 20px 24px}.af-r strong{font-size:18px}.af-us{padding:24px 16px 18px}.af-us-t{font-size:18.5px}.af-u{padding:18px 18px 20px}}
/* 첫 화면 꼬리표 — 폭 360px 휴대폰(갤럭시)에서도 한 줄로 (2026-10-10) */
@media(max-width:380px){.hero-kicker{font-size:15px;white-space:nowrap}}
.mp-best{font-size:15.5px;font-weight:800;letter-spacing:-.01em;color:#A8B8FF;margin:0 0 14px;word-break:keep-all}
.mp-lead{font-size:clamp(22px,3.3vw,32px);font-weight:900;letter-spacing:-.035em;line-height:1.35;color:#fff;margin-top:24px;word-break:keep-all}
.mp-lead b{font-weight:900;background:linear-gradient(135deg,#7C90FF,#A8B8FF);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.mp-lead+.mp-p{margin-top:10px}
.mp-eg{font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.55);margin-top:16px;word-break:keep-all}
.mp-p{font-size:17px;line-height:1.8;color:rgba(255,255,255,.72);margin-top:20px;word-break:keep-all}
.mp-p b{color:#fff}
.mp-ctas{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.mp-play,.mp-ask{display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-size:16px;font-weight:800;border-radius:99px;padding:15px 26px;cursor:pointer;border:0;transition:transform .2s,box-shadow .2s}
.mp-play{background:#fff;color:var(--ink)}
.mp-play svg{width:16px;height:16px;fill:currentColor}
.mp-ask{background:var(--grad);color:#fff;box-shadow:0 8px 24px rgba(47,75,240,.4)}
.mp-ask b{font-weight:900;color:#FFE08A}
.mp-play:hover,.mp-ask:hover{transform:translateY(-2px)}
.mp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:56px}
.mp-st{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:24px 22px;text-align:left}
.mp-st b{display:block;font-size:46px;font-weight:900;letter-spacing:-.04em;line-height:1;color:#7C90FF}
.mp-st b small{font-size:24px;margin-left:2px}
.mp-st strong{display:block;font-size:17px;font-weight:800;margin-top:12px}
.mp-st span{display:block;font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.62);margin-top:6px;word-break:keep-all}
.mp-src{font-size:12.5px;line-height:1.6;color:rgba(255,255,255,.45);text-align:center;margin-top:14px;word-break:keep-all}
.mp-flow{display:flex;align-items:stretch;gap:10px;margin-top:48px}
.mp-fs{flex:1;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:22px 22px 24px}
.mp-fs.hot{background:rgba(47,75,240,.22);border-color:rgba(124,144,255,.55)}
.mp-fs span{font-family:"DM Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;letter-spacing:.14em;color:#A8B8FF}
.mp-fs strong{display:block;font-size:19px;font-weight:800;margin-top:8px}
.mp-fs p{font-size:14px;line-height:1.65;color:rgba(255,255,255,.66);margin-top:6px;word-break:keep-all}
.mp-arr{display:flex;align-items:center;justify-content:center;color:#7C90FF;font-size:22px;font-weight:900}
.mp-specs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:28px}
.mp-specs span{font-size:13.5px;color:rgba(255,255,255,.66);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:99px;padding:9px 16px;word-break:keep-all}
.mp-specs b{color:#fff;margin-right:6px}
@media(max-width:820px){.mp-stats{grid-template-columns:1fr 1fr}.mp-flow{flex-direction:column}.mp-arr{transform:rotate(90deg);height:20px}}
@media(max-width:560px){.mp-sec{padding:76px 0}.mp-st{padding:18px 16px}.mp-st b{font-size:38px}.mp-st strong{font-size:15.5px}.mp-p{font-size:15.5px}.mp-ctas{flex-direction:column;align-items:stretch}.mp-play,.mp-ask{justify-content:center}.mp-specs{justify-content:flex-start}}

/* AEO · GEO (SEO 섹션 안) */
.aeo-divider{margin-top:64px}
.aeo-lead{max-width:640px;margin:-14px auto 28px;font-size:16px;line-height:1.75;color:var(--muted);word-break:keep-all}
.aeo-lead b{color:var(--ink)}
.aeo-cta{margin-top:28px;display:flex;flex-direction:column;align-items:center;gap:10px}
.aeo-cta .gb{padding:15px 28px;font-size:16px}
.aeo-cta .gb b{color:#FFE08A;font-weight:900;margin-left:4px}
.aeo-cta p{max-width:720px;font-size:13.5px;line-height:1.75;color:var(--subtle);text-align:center;word-break:keep-all}
.aeo-ex{display:flex;align-items:stretch;gap:12px;max-width:860px;margin:0 auto 20px;text-align:left}
.aeo-ex-i{flex:1;background:#fff;border:1px solid var(--rule);border-radius:16px;padding:18px 20px}
.aeo-ex-i:first-child{flex:.8;background:#F2F5FF;border-color:rgba(47,75,240,.2)}
.aeo-ex-i em{display:block;font-style:normal;font-size:12.5px;font-weight:800;color:var(--acc);margin-bottom:6px}
.aeo-ex-i p{margin:0;font-size:15px;line-height:1.7;color:var(--muted);word-break:keep-all}
.aeo-ex-i:first-child p{font-size:16px;font-weight:700;color:var(--ink)}
.aeo-ex-i p b{color:var(--ink)}
.aeo-ex-arr{display:flex;align-items:center;color:var(--acc);font-size:20px;font-weight:900}
.aeo-do{margin-top:16px;background:#fff;border:1px solid var(--rule);border-radius:16px;padding:24px 24px 20px;text-align:left;box-shadow:0 2px 14px rgba(20,20,50,.05)}
.aeo-do strong{display:block;font-size:16px;font-weight:800;color:var(--ink)}
.aeo-do ul{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.aeo-do li{font-size:14.5px;line-height:1.7;color:var(--muted);word-break:keep-all;padding-top:12px;border-top:2px solid var(--acc)}
.aeo-do li b{display:block;font-size:15px;color:var(--ink);margin-bottom:3px}
@media(max-width:680px){.aeo-ex{flex-direction:column}.aeo-ex-arr{justify-content:center;transform:rotate(90deg);height:14px}.aeo-do ul{grid-template-columns:1fr;gap:12px}.aeo-do{padding:20px 18px 18px}}

/* 후기 — 핵심 한 줄 · 태그 */
.rv-head{font-size:19px;font-weight:900;color:var(--ink);letter-spacing:-.03em;line-height:1.45;margin:-2px 0 12px;word-break:keep-all}
#reviews .rv-text{font-style:normal;font-size:15.5px;line-height:1.8;color:#4A4A64;margin-bottom:16px;word-break:keep-all}
#reviews .rv-text b{color:var(--ink);font-weight:800;background:linear-gradient(transparent 62%,rgba(47,75,240,.16) 62%)}
.rv-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:22px}
.rv-tags span{font-size:12.5px;font-weight:700;color:#3A46B8;background:rgba(47,75,240,.08);border-radius:99px;padding:5px 11px}
/* 이벤트가 · 인기 표시 */
.oz-p.oz-evt{display:inline-flex;align-items:center;gap:6px;color:#E0362C;background:rgba(239,68,68,.08)}
.oz-evt em{font-style:normal;font-size:11px;font-weight:900;color:#fff;background:#EF4444;border-radius:99px;padding:2px 7px}
.oz-evt s{font-weight:700;color:#9A9AB5}
.os-evt{display:inline-flex;flex-direction:column;align-items:flex-end;line-height:1.25}
.os-evt s{font-size:11.5px;font-weight:600;color:#9A9AB5}
.os-evt i{font-style:normal;font-size:10.5px;font-weight:900;color:#EF4444;letter-spacing:.02em}
.mp-ask s{font-weight:600;opacity:.65}
.opt-change-note{display:flex;gap:7px;margin:-2px 0 12px;padding:10px 13px;border-radius:10px;background:#F2F5FF;border:1px solid rgba(47,75,240,.18);font-size:13px;line-height:1.6;color:#3A4580;word-break:keep-all}
.opt-change-note b{flex:none;color:var(--acc);font-weight:900}
/* 상담 모달 — 당근 광고 방문 고객 이벤트 쿠폰 (예전 쿠폰 디자인 · 주황) — 직접 체크해야 적용 */
.cpn.cpn-ev{cursor:pointer;border:1.5px dashed rgba(255,111,15,.6);background:#FFFBF7;box-shadow:0 6px 22px rgba(255,111,15,.1);transition:background .2s,border-color .2s,box-shadow .2s;-webkit-tap-highlight-color:transparent}
.cpn.cpn-ev:hover{border-color:#FF6F0F}
.cpn.cpn-ev.on{border-style:solid;border-color:#FF6F0F;background:linear-gradient(135deg,rgba(255,111,15,.13),rgba(255,184,0,.07));box-shadow:0 8px 26px rgba(255,111,15,.18)}
.cpn-ev-in{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.cpn.cpn-ev .cpn-ico.cpn-emoji{display:flex;align-items:center;justify-content:center;font-family:'Noto Color Emoji','Apple Color Emoji','Segoe UI Emoji',sans-serif;font-size:24px;line-height:1}
.cpn-ev-tag{align-self:flex-start;padding:2px 9px;border-radius:999px;background:#FFEBDD;color:#C2410C;font-size:12px;font-weight:800;letter-spacing:-.01em;line-height:1.6}
.cpn-ev-tag b{font-weight:900}
.cpn.cpn-ev .cpn-t b,.cpn.cpn-ev .cpn-amt{color:#E8590C}
.cpn.cpn-ev .cpn-stub{border-left-color:rgba(255,111,15,.5)}
.cpn-ck{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 5px;border-radius:999px;border:1.5px solid #FF6F0F;background:#fff;color:#E8590C;font-size:12px;font-weight:900;letter-spacing:-.01em;white-space:nowrap;transition:background .18s,color .18s}
.cpn-ck-box{width:16px;height:16px;border-radius:50%;border:1.5px solid #FFB98A;background:#fff;color:transparent;display:flex;align-items:center;justify-content:center;font-size:10px;line-height:1}
.cpn-ck-on{display:none}
.cpn.cpn-ev.on .cpn-ck{background:#FF6F0F;color:#fff}
.cpn.cpn-ev.on .cpn-ck-box{border-color:#fff;color:#FF6F0F}
.cpn.cpn-ev.on .cpn-ck-off{display:none}
.cpn.cpn-ev.on .cpn-ck-on{display:inline}
.cpn.cpn-ev.pop:not(.on) .cpn-ck{animation:cpnNudge 2.6s ease-in-out 1.1s infinite}
@keyframes cpnNudge{0%,68%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(255,111,15,0)}80%{transform:scale(1.08);box-shadow:0 0 0 6px rgba(255,111,15,.18)}90%{transform:scale(1)}}
.cpn-ev-in:focus-visible~.cpn-stub .cpn-ck{outline:2px solid var(--acc);outline-offset:2px}
.wz .cpn.cpn-sm.cpn-ev{margin:12px 0 22px}   /* 아래 고른 구성 칸과 붙지 않게 */
.cpn.cpn-ev[hidden]{display:none}
@media(max-width:600px){
  .cpn.cpn-ev .cpn-stub{border-top-color:rgba(255,111,15,.5)}
  .cpn-ck{font-size:12.5px;padding:5px 12px 5px 6px}
}
@media(prefers-reduced-motion:reduce){.cpn.cpn-ev .cpn-ck{animation:none!important}}
/* (예전) 상담 모달 — 포트폴리오 활용 동의 할인 · 2026-10-06 부터 사용 안 함 */
.pfc-opt{position:relative;margin:16px 0 4px;padding:14px 46px 14px 14px;border:1.5px dashed rgba(16,200,150,.55);border-radius:14px;background:rgba(16,200,150,.05);transition:background .15s,border-color .15s}
.pfc-opt.on{border-style:solid;border-color:#10C896;background:rgba(16,200,150,.1)}
.pfc-row{display:flex;gap:12px;align-items:flex-start;cursor:pointer}
.pfc-row input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.pfc-box{flex:none;width:22px;height:22px;border-radius:7px;border:2px solid #9BD9C3;background:#fff;color:transparent;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;margin-top:1px;transition:all .15s}
.pfc-row input:checked+.pfc-box{background:#10C896;border-color:#10C896;color:#fff}
.pfc-row input:focus-visible+.pfc-box{outline:2px solid var(--acc);outline-offset:2px}
.pfc-t{display:block;font-size:14.5px;font-weight:800;color:var(--ink);line-height:1.45;word-break:keep-all}
.pfc-t b{color:#047857}
.pfc-t .pfc-opt-l{font-style:normal;font-weight:600;color:var(--muted);font-size:13px}
.pfc-d{display:block;font-size:12.75px;color:var(--muted);margin-top:3px;line-height:1.5;word-break:keep-all}
.pfc-i{position:absolute;right:12px;top:13px;width:22px;height:22px;border-radius:50%;border:1.5px solid #9AA0B8;background:#fff;color:#6B6B8A;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:700;font-size:13px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.pfc-i:hover,.pfc-i[aria-expanded="true"]{border-color:var(--acc);color:var(--acc)}
.pfc-tip{margin:12px 0 0 34px;padding:10px 13px;border-radius:10px;background:#fff;border:1px solid var(--rule);font-size:13px;line-height:1.7;color:#4A4A64;word-break:keep-all}
.pfc-tip span{display:block}
.pfc-tip span::before{content:'· ';color:#10C896;font-weight:900}
/* ══ 무료 상담 신청 — 단계별 진행 (2026-10-05) ══
   한 화면에 질문 하나 · 가로로 밀려 들어오는 전환 · 위 6칸 진행 표시 · 아래 예상 제작비 고정
   4단계 견적 — 상담 신청 할인이 적용된 금액, 포트폴리오 동의를 체크하면 금액이 한 번 더 내려가는 연출 */
#form-overlay{align-items:center}
.ovl.open .fm.wz{animation:wzOpen .5s var(--ease-out) backwards}
.fm.wz{position:relative;display:flex;flex-direction:column;max-width:600px;height:min(800px,calc(100vh - 40px));height:min(800px,calc(100dvh - 40px));margin:auto;overflow:hidden;border-radius:28px;background:#fff}

/* 위 — 로고 · 닫기 · 6칸 진행 표시 */
.wz-top{flex:none;position:relative;z-index:2;padding:18px 22px 14px;background:#fff;border-bottom:1px solid var(--rule)}
.wz-top-row{display:flex;align-items:center;gap:10px}
.wz-brand{font-size:15.5px;font-weight:900;letter-spacing:-.04em;color:var(--ink);white-space:nowrap}
.wz-brand b{font-weight:900;color:var(--acc)}
.wz-brand span{margin-left:8px;font-size:12.5px;font-weight:700;letter-spacing:-.01em;color:var(--muted)}
.wz .wz-top .fm-x{position:static;margin-left:auto}
.wz-seg{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:14px 0 0;padding:0;list-style:none}
.wz-seg li{min-width:0}
.wz-seg i{position:relative;display:block;height:4px;border-radius:2px;background:var(--bg3);overflow:hidden}
.wz-seg i::after{content:'';position:absolute;inset:0;background:var(--grad);transform:scaleX(0);transform-origin:0 50%;transition:transform .55s var(--ease-out)}
.wz-seg li.done i::after,.wz-seg li.now i::after{transform:scaleX(1)}
.wz-seg span{display:block;margin-top:6px;font-size:11.5px;font-weight:700;letter-spacing:-.02em;color:#A3A6BD;text-align:center;white-space:nowrap;transition:color .3s}
.wz-seg li.done span{color:var(--ink2)}
.wz-seg li.now span{font-weight:900;color:var(--acc)}

/* 본문 */
.wz .wz-body{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:26px 26px 34px;background:linear-gradient(180deg,#F4F6FF 0,#fff 240px)}
.wz-step{display:none}
.wz-step.on,.wz-step.out{display:block}
.wz-hd{display:flex;align-items:center;gap:11px}
.wz-ic{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:var(--grad);box-shadow:0 8px 18px rgba(47,75,240,.28)}
.wz-ic svg{width:21px;height:21px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wz-eb{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--acc)}
.wz-q{margin:16px 0 10px;font-size:28px;line-height:1.28;font-weight:900;letter-spacing:-.05em;color:var(--ink);word-break:keep-all}
.wz-q>span{display:block;overflow:hidden;padding-bottom:3px}
.wz-q i{display:block;font-style:normal}
.wz-p{margin:0 0 22px;font-size:14.5px;line-height:1.65;color:var(--muted);word-break:keep-all}

/* 1단계 — 큰 선택 카드 */
.wz-choices{display:grid;gap:12px}
.wz-choice{display:flex;align-items:center;gap:14px;width:100%;padding:18px;border:1.5px solid var(--rule);border-radius:20px;background:#fff;text-align:left;font-family:inherit;cursor:pointer;box-shadow:0 2px 10px rgba(20,30,90,.04);transition:border-color .2s,background .2s,box-shadow .2s,transform .2s}
.wz-choice:hover{border-color:rgba(47,75,240,.5);transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,30,90,.08)}
.wz-ch-ic{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#EEF1FF;color:var(--acc);transition:background .2s,color .2s}
.wz-ch-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.wz-ch-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.wz-ch-t{font-size:16.5px;font-weight:800;letter-spacing:-.03em;color:var(--ink)}
.wz-ch-d{font-size:13px;line-height:1.5;color:var(--muted);word-break:keep-all}
.wz-ch-d b{font-weight:800;color:var(--green)}
.wz-ch-pill{align-self:flex-start;margin-top:5px;padding:4px 10px;border-radius:999px;background:#E7F8F1;color:var(--green);font-size:12.5px;font-weight:800;white-space:nowrap}
.wz-ch-ok{flex:none;position:relative;width:24px;height:24px;border-radius:50%;border:2px solid #C9CEDD;background:#fff;transition:background .2s,border-color .2s}
.wz-choice.sel{border-color:var(--acc);background:#F5F7FF;box-shadow:0 0 0 4px rgba(47,75,240,.1)}
.wz-choice.sel .wz-ch-ic{background:var(--grad);color:#fff}
.wz-choice.sel .wz-ch-ok{border-color:var(--acc);background:var(--acc);animation:wzPop .35s var(--ease-out)}
.wz-choice.sel .wz-ch-ok::after{content:'';position:absolute;left:6px;top:2.5px;width:5px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.wz .dynq{margin-top:16px;padding:18px 16px 16px;border-radius:18px;background:#fff;border:1.5px solid rgba(47,75,240,.25);animation:wzRise .45s var(--ease-out) backwards}
.wz .fm-notice{margin:22px 0 0;padding:10px 13px;font-size:12.5px;line-height:1.6}
.wz .hpl-selection-note{margin:0 0 16px}

/* 옵션 카드 — 동그란 체크 · 금액 알약 */
.wz .opt-sel-list{gap:10px}
.wz .os-row{gap:12px;padding:16px;border-radius:18px;background:#fff;box-shadow:0 2px 10px rgba(20,30,90,.04);transition:border-color .2s,background .2s,box-shadow .2s,transform .15s}
.wz .os-row.feat{background:#fff}
.wz .os-row:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(20,30,90,.07)}
.wz .os-row:active{transform:scale(.99)}
.wz .os-row.sel,.wz .os-row.feat.sel{border-color:var(--acc);background:#F5F7FF;box-shadow:0 0 0 4px rgba(47,75,240,.1)}
.wz .os-label{font-size:15.5px}
.wz .os-desc{font-size:13px}
.wz .os-row input{-webkit-appearance:none;appearance:none;flex-shrink:0;display:grid;place-content:center;width:22px;height:22px;margin:0;border-radius:50%;border:2px solid #C9CEDD;background:#fff;cursor:pointer;transition:background .2s,border-color .2s}
.wz .os-row input::after{content:'';width:5px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:translate(0,-1px) rotate(45deg) scale(0);transition:transform .22s var(--ease-out)}
.wz .os-row input:checked{border-color:var(--acc);background:var(--acc);animation:wzPop .35s var(--ease-out)}
.wz .os-row input:checked::after{transform:translate(0,-1px) rotate(45deg) scale(1)}
.wz .os-row input:focus-visible{outline:3px solid rgba(47,75,240,.35);outline-offset:2px}
.wz .os-price{align-self:flex-start;padding:4px 10px;border-radius:999px;background:#FFF4E2;font-size:12.5px}
.wz .os-price.os-minus,.wz .os-price.os-free{background:#E7F8F1}
.wz .os-price.os-evt{padding:6px 10px;border-radius:12px;background:#FFF1F1}
.wz .os-group-t{margin:24px 0 10px}

/* 4단계 — 견적 카드 (밝은 카드) · 쿠폰 2종은 예전 디자인 그대로 */
.wz-quote{position:relative;overflow:hidden;margin:2px 0 4px;padding:20px 20px 18px;border:1.5px solid rgba(47,75,240,.2);border-radius:24px;background:radial-gradient(380px 190px at 100% 0,rgba(124,144,255,.16),transparent 65%),#fff;box-shadow:0 14px 34px rgba(47,75,240,.1)}
.wz-qt-l{font-size:13px;font-weight:800;color:var(--muted)}
.wz-qt-n{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 12px;margin-top:4px}
.wz-qt-n s{font-size:16px;font-weight:700;color:#A3A6BD}
.wz-qt-n b{display:inline-block;font-size:40px;line-height:1.12;font-weight:900;letter-spacing:-.045em;color:var(--acc);font-variant-numeric:tabular-nums;transform-origin:0 70%}
.wz-qt-n b.hit{animation:wzHit .7s var(--ease-out)}
.wz-qt-save span{display:inline-block;margin-top:8px;padding:5px 12px;border-radius:999px;background:#E7F8F1;color:#047857;font-size:13px;font-weight:800}
.wz-qt-save b{font-weight:900}
.wz-qt-save span.hit{animation:wzPop .45s var(--ease-out)}
.wz-qt-hint{margin-top:12px;padding-top:12px;border-top:1px dashed var(--rule);font-size:13.5px;line-height:1.5;font-weight:700;color:var(--ink2);word-break:keep-all}
.wz-qt-hint b{color:#047857;font-weight:900}
.wz-qt-hint.done{color:#047857}
.wz-qt-note{margin-top:8px;font-size:12.5px;color:var(--muted)}
.wz-fly{position:absolute;right:20px;top:16px;padding:4px 10px;border-radius:999px;background:#10C896;color:#fff;font-size:13px;font-weight:900;pointer-events:none;animation:wzFly 1.3s var(--ease-out) forwards;white-space:nowrap}
.wz-fly.wz-fly-ev{background:#FF6F0F}
.wz .cpn.cpn-sm{margin:12px 0 0}
.wz .pfc-opt{margin:12px 0 14px;cursor:pointer}
.wz .pfc-opt.hit{animation:wzGlow .9s var(--ease-out)}
.wz-free{margin:14px 0 0;font-size:12.5px;line-height:1.6;color:var(--subtle);text-align:center;word-break:keep-all}

/* 다시 보기 · 접기 */
.wz-recap{margin:0 0 14px;padding:4px 16px;border:1.5px solid var(--rule);border-radius:18px;background:#fff}
.wz-rc{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--rule)}
.wz-rc:last-child{border-bottom:0}
.wz-rc-k{flex:none;width:44px;padding-top:2px;font-size:12.5px;font-weight:700;color:var(--muted)}
.wz-rc-v{flex:1;min-width:0;font-size:14.5px;line-height:1.5;font-weight:700;color:var(--ink);word-break:keep-all;overflow-wrap:anywhere}
.wz-rc-e{flex:none;padding:4px 10px;border:0;border-radius:8px;background:rgba(47,75,240,.08);color:var(--acc);font-family:inherit;font-size:12.5px;font-weight:800;cursor:pointer}
.wz-pkg{margin:0 0 10px}
.wz-pkg summary{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border:1.5px solid var(--rule);border-radius:14px;background:#fff;list-style:none;cursor:pointer;font-size:14px;font-weight:800;color:var(--ink2)}
.wz-pkg summary::-webkit-details-marker{display:none}
.wz-pkg summary::after{content:'';flex:none;width:8px;height:8px;margin:0 4px 4px 12px;border:solid var(--acc);border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .25s var(--ease-out),margin .25s}
.wz-pkg[open] summary{border-radius:14px 14px 0 0;border-bottom-color:transparent}
.wz-pkg[open] summary::after{margin:4px 4px 0 12px;transform:rotate(-135deg)}
.wz-pkg .pkgbox{border-top:0;border-radius:0 0 14px 14px}
.wz-pkg .pbox{margin:0;border-top:0;border-radius:0 0 14px 14px}

/* 6단계 — 신청 요약 한 줄 */
.wz-mini{display:flex;align-items:center;gap:12px;margin:6px 0 16px;padding:14px 16px;border-radius:16px;background:#F5F7FF;border:1.5px solid rgba(47,75,240,.18)}
.wz-mini-tx{flex:1;min-width:0;font-size:13px;line-height:1.5;color:var(--muted);word-break:keep-all}
.wz-mini-tx b{display:block;font-size:17px;font-weight:900;color:var(--ink);letter-spacing:-.02em}

/* 입력칸 */
.wz .fg{margin-bottom:18px}
.wz .fc{padding:14px 16px;border-radius:14px;font-size:16px;background:#fff}
.wz .fg.wz-bad .fc{border-color:var(--red);box-shadow:0 0 0 3px rgba(239,68,68,.12);animation:wzShake .4s}
.wz-err{display:block;margin-top:7px;font-size:13px;font-weight:700;color:var(--red)}
.wz .ag{padding:12px 14px;border-radius:14px;background:var(--bg2)}
.wz .ag.wz-bad{box-shadow:0 0 0 2px var(--red);animation:wzShake .4s}

/* 아래 고정 바 — 예상 제작비 · 이전 · 다음 */
.wz-foot{flex:none;position:relative;z-index:2;display:flex;align-items:center;gap:14px;padding:14px 22px;padding-bottom:max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--rule);background:#fff;box-shadow:0 -10px 30px rgba(20,30,90,.05)}
.wz-sum{flex:1;min-width:0}
.wz-sum-l{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--muted);white-space:nowrap}
.wz-sum-l em{padding:1px 7px;border-radius:999px;background:#E7F8F1;color:#047857;font-style:normal;font-size:11px;font-weight:800}
.wz-sum b{display:inline-block;margin-top:1px;font-size:21px;line-height:1.25;font-weight:900;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;transform-origin:0 60%}
.wz-sum b.bump{animation:wzBump .5s var(--ease-out)}
.wz-nav{flex:none;display:flex;align-items:center;gap:8px}
.wz-back{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:1.5px solid var(--rule);border-radius:16px;background:#fff;color:var(--ink2);cursor:pointer;transition:border-color .2s,color .2s}
.wz-back:hover{border-color:var(--acc);color:var(--acc)}
.wz-back svg,.wz-next svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.wz-next{display:flex;align-items:center;gap:8px;height:52px;padding:0 22px 0 26px;border:0;border-radius:16px;background:var(--grad);color:#fff;font-family:inherit;font-size:16px;font-weight:900;cursor:pointer;box-shadow:0 10px 24px rgba(47,75,240,.35);transition:transform .2s,box-shadow .2s}
.wz-next:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(47,75,240,.45)}
.wz-next svg{transition:transform .2s}
.wz-next:hover svg{transform:translateX(3px)}
.wz-next.skip{border:1.5px solid var(--rule);background:#fff;color:var(--ink2);box-shadow:none}
.wz-foot .pay-btn{display:none;align-items:center;justify-content:center;gap:8px;width:auto;height:52px;padding:0 24px;border-radius:16px;font-size:16px;white-space:nowrap}
.wz.first .wz-back{display:none}
.wz.last .wz-next{display:none}
.wz.last .wz-foot .pay-btn{display:flex}

/* 모션 (등장 애니메이션은 backwards — 끝나면 원래 모양으로 돌아가 hover · 눌림 효과를 막지 않음) */
@keyframes wzOpen{from{opacity:0;transform:translateY(26px) scale(.98)}to{opacity:1;transform:none}}
@keyframes wzIn{from{opacity:0;transform:translateX(44px)}to{opacity:1;transform:none}}
@keyframes wzInRev{from{opacity:0;transform:translateX(-44px)}to{opacity:1;transform:none}}
@keyframes wzOut{to{opacity:0;transform:translateX(-32px)}}
@keyframes wzOutRev{to{opacity:0;transform:translateX(32px)}}
@keyframes wzLine{from{transform:translateY(108%)}to{transform:none}}
@keyframes wzRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes wzPop{0%{transform:scale(.6)}60%{transform:scale(1.15)}100%{transform:scale(1)}}
@keyframes wzIcon{from{opacity:0;transform:scale(.4) rotate(-20deg)}to{opacity:1;transform:none}}
@keyframes wzBump{0%{transform:scale(1)}35%{transform:scale(1.07);color:var(--acc)}100%{transform:scale(1)}}
@keyframes wzHit{0%{transform:scale(1)}30%{transform:scale(1.12);color:#0a9e69}100%{transform:scale(1)}}
@keyframes wzFly{0%{opacity:0;transform:translateY(16px) scale(.8)}20%{opacity:1;transform:translateY(0) scale(1.05)}70%{opacity:1;transform:translateY(-14px)}100%{opacity:0;transform:translateY(-30px)}}
@keyframes wzGlow{0%{box-shadow:0 0 0 0 rgba(16,200,150,.55)}100%{box-shadow:0 0 0 16px rgba(16,200,150,0)}}
@keyframes wzShake{0%,100%{transform:none}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}
.wz-step.in{animation:wzIn .46s var(--ease-out) backwards}
.wz-step.in.rev{animation-name:wzInRev}
.wz-step.out{animation:wzOut .17s ease-in forwards}
.wz-step.out.rev{animation-name:wzOutRev}
.wz-step.in .wz-ic{animation:wzIcon .55s var(--ease-out) backwards}
.wz-step.in .wz-q i{animation:wzLine .7s var(--ease-out) backwards}
.wz-step.in .wz-q>span:nth-child(2) i{animation-delay:.07s}
.wz-step.in .wz-a{animation:wzRise .55s var(--ease-out) backwards;animation-delay:calc(.12s + var(--i,0) * .05s)}

@media(max-width:560px){
  #form-overlay{padding:0;align-items:stretch}
  .fm.wz{max-width:none;height:100vh;height:100dvh;margin:0;border-radius:0}
  .ovl.open .fm.wz{animation-name:wzRise}
  .wz-top{padding:14px 16px 12px;padding-top:max(14px,env(safe-area-inset-top))}
  .wz-seg{gap:5px}
  .wz-seg span{font-size:11px}
  .wz .wz-body{padding:22px 18px 28px}
  .wz-q{font-size:25px}
  .wz-ic{width:36px;height:36px;border-radius:12px}
  .wz-ic svg{width:19px;height:19px}
  .wz-choice{padding:16px}
  .wz-ch-ic{width:42px;height:42px}
  .wz .os-row{padding:14px}
  .wz .os-rich .os-body{flex:1 1 calc(100% - 34px)}
  .wz .os-rich .os-price{flex:0 0 auto;margin:8px 0 0 34px;text-align:left}
  .wz .os-rich .os-price.os-evt{align-items:flex-start}
  .wz-qt-n b{font-size:36px}
  .wz-fly{top:14px;right:16px}
  .wz-foot{gap:10px;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
  .wz-sum b{font-size:19px}
  .wz-next{padding:0 18px 0 22px}
  .wz.last .wz-sum{display:none}
  .wz.last .wz-nav{flex:1}
  .wz.last .wz-foot .pay-btn{flex:1;padding:0 16px}
}
@media(prefers-reduced-motion:reduce){
  .ovl.open .fm.wz,.wz-step.in,.wz-step.out,.wz-step.in .wz-ic,.wz-step.in .wz-q i,.wz-step.in .wz-a,.wz-qt-n b.hit,.wz-qt-save span.hit,.wz-fly,.wz .pfc-opt.hit,.wz .dynq,.wz-sum b.bump{animation:none!important}
  .wz-seg i::after{transition:none}
}


.hk-sec{background:var(--ink);min-height:58vh;min-height:58svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:44px 28px;text-align:center;border-top:1px solid rgba(255,255,255,.06)}
.hk-num{font-size:14px;font-weight:800;letter-spacing:.18em;color:var(--acc);opacity:.75;margin-bottom:22px}
.hk-p{margin:0;font-size:clamp(28px,7.5vw,40px);font-weight:900;color:#fff;letter-spacing:-.03em;line-height:1.45;word-break:keep-all;min-height:1.45em}
.hk-c{display:inline-block;width:3px;height:.9em;background:var(--acc);vertical-align:middle;margin-left:3px;border-radius:2px;opacity:0}
.hk-c.on{animation:blink3 .7s step-end infinite}
@keyframes blink3{0%,100%{opacity:1}50%{opacity:0}}
@keyframes bounce-down{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}


.slim-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:56px;background:#fff;border:1.5px solid rgba(47,75,240,.24);border-radius:var(--r2);padding:26px 34px;box-shadow:0 6px 22px rgba(47,75,240,.08)}
.slim-cta-txt{font-size:18px;font-weight:700;color:var(--muted);line-height:1.55;word-break:keep-all}
.slim-cta-txt b{color:var(--ink);font-weight:900}
@media(max-width:640px){
  .slim-cta{flex-direction:column;text-align:center;padding:26px 20px;gap:18px;margin-top:40px}
  .slim-cta-txt{font-size:16.5px}
  .slim-cta .gb{width:100%;justify-content:center}
}


/* ── §50 채널 역할 분리 ── */
.ch-split{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.ch-i{background:#fff;border:1.5px solid var(--rule);border-radius:var(--r2);padding:20px 22px}
.ch-t{font-size:16px;font-weight:800;color:var(--ink2);letter-spacing:-.02em;margin-bottom:8px;word-break:keep-all}
.ch-t b{color:var(--acc);font-weight:900}
.ch-d{font-size:14.5px;color:var(--muted);line-height:1.7;word-break:keep-all}
@media(max-width:640px){.ch-split{grid-template-columns:1fr;gap:10px;margin-top:18px}.ch-i{padding:18px 18px}.ch-t{font-size:15.25px}.ch-d{font-size:13.75px}}

/* ── 안심 보장 ── */
.as-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:56px}
.as-card{background:#fff;border:1.5px solid var(--rule);border-radius:var(--r2);padding:30px 26px;transition:border-color .2s,transform .2s,box-shadow .2s}
.as-card:hover{border-color:var(--ink3);background:var(--bg2);box-shadow:none}
.as-ico{width:28px;height:28px;color:var(--acc);margin-bottom:16px}
.as-ico svg{width:100%;height:100%;display:block}
.as-t{font-size:18px;font-weight:900;color:var(--ink);letter-spacing:-.03em;margin-bottom:10px;word-break:keep-all}
.as-d{font-size:15px;color:var(--muted);line-height:1.72;word-break:keep-all}
.as-d b{color:var(--ink);font-weight:800}
.as-cta{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;background:linear-gradient(135deg,rgba(47,75,240,.08),rgba(27,46,204,.07));border:1.5px solid rgba(47,75,240,.26);border-radius:var(--r3);padding:38px 44px}
.as-cta-h{font-size:clamp(21px,3vw,27px);font-weight:900;color:var(--ink);letter-spacing:-.035em;margin-bottom:10px;word-break:keep-all}
.as-cta-p{font-size:16px;color:var(--muted);line-height:1.7;word-break:keep-all}
.as-cta-big{font-size:clamp(16.5px,2.1vw,19.5px);font-weight:700;color:var(--ink2);line-height:1.65;letter-spacing:-.02em}
.as-cta-p b{color:var(--acc);font-weight:900}
.as-cta-btns{display:flex;gap:10px;flex-wrap:wrap;flex:none}
@media(max-width:1024px){.as-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){
  .as-grid{grid-template-columns:1fr;gap:10px;margin-bottom:40px}
  .as-card{padding:24px 22px}
  .as-t{font-size:17px}
  .as-d{font-size:14.5px}
  .as-cta{flex-direction:column;align-items:stretch;text-align:center;padding:30px 22px;gap:24px}
  .as-cta-btns{flex-direction:column}
  .as-cta-btns .gb{width:100%;justify-content:center}
  .as-br{display:none}
}


/* ── CTA 마무리 사인오프 ── */
.cta-signoff{position:relative;z-index:2;text-align:center;margin-top:100px}
.cta-signoff-glow{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.6);width:680px;height:340px;max-width:92vw;background:radial-gradient(ellipse,rgba(47,75,240,.3),rgba(27,46,204,.1) 45%,transparent 72%);pointer-events:none;z-index:-1;opacity:0;transition:opacity 2.2s ease,transform 2.2s ease}
.cta-signoff.on .cta-signoff-glow{opacity:1;transform:translate(-50%,-50%) scale(1)}
.cta-signoff-line{width:140px;height:1px;margin:0 auto 56px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent)}
.cta-signoff-tag{font-size:clamp(18px,4vw,25px);font-weight:700;color:rgba(255,255,255,.9);letter-spacing:-.02em;margin-bottom:22px;word-break:keep-all}
.cta-brand{font-size:clamp(34px,7.5vw,54px);font-weight:900;letter-spacing:-.03em;line-height:1.1}
.thx-brand{background:linear-gradient(100deg,#2F4BF0 0%,#8FA3FF 28%,#ffffff 50%,#8FA3FF 72%,#2F4BF0 100%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:thxShimmer 5s linear infinite}
@keyframes thxShimmer{0%{background-position:170% center}100%{background-position:-170% center}}
.cta-since{margin-top:20px;font-size:clamp(15px,3vw,18px);font-weight:700;letter-spacing:.32em;color:rgba(255,255,255,.5)}
/* 등장 애니메이션 (스크롤 진입 시) */
.cta-signoff-line,.cta-brand,.cta-since{opacity:0;transform:translateY(26px);filter:blur(8px)}
.cta-signoff.on .cta-signoff-line,.cta-signoff.on .cta-brand,.cta-signoff.on .cta-since{animation:ctaRev 1.1s cubic-bezier(.22,1,.36,1) forwards}
.cta-signoff.on .cta-signoff-line{animation-delay:.05s}
.cta-signoff.on .cta-brand{animation-delay:1.3s}
.cta-signoff.on .cta-since{animation-delay:1.75s}
@keyframes ctaRev{to{opacity:1;transform:translateY(0);filter:blur(0)}}
/* 비즈니스 성장의 든든한 파트너 — 글자별 등장 (감사합니다 스타일) */
.cta-signoff-tag span{display:inline-block;opacity:0;transform:translateY(40px) scale(.88);filter:blur(12px)}
.cta-signoff.on .cta-signoff-tag span{animation:ctaChar 1.1s cubic-bezier(.18,.9,.3,1.05) forwards;animation-delay:calc(.3s + var(--i) * .06s)}
@keyframes ctaChar{55%{filter:blur(0)}100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
.cta-signoff.on{animation:ctaFloat 7s ease-in-out 2s infinite}
@keyframes ctaFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media(prefers-reduced-motion:reduce){.cta-signoff-line,.cta-signoff-tag span,.cta-brand,.cta-since{animation:none!important;opacity:1;transform:none;filter:none}.cta-signoff.on{animation:none!important}}


/* ══ 모바일 시인성 보완 (2026-09-14) — 640px 이하 화면에만 적용, PC 화면은 그대로 ══ */
@media (max-width:640px){
  /* 한글 단어가 중간에서 끊기지 않게 (넘치는 긴 영문·주소만 줄바꿈) */
  body{word-break:keep-all;overflow-wrap:break-word}

  /* 회색 글씨 한 단계 진하게 — 밝은 배경 대비 4.3~5.1 → 5.4 이상 */
  :root{--muted:#5E5E7C;--subtle:#5E5E7C}

  /* 초록·주황 글씨 대비 2.0~3.0 → 4.6 이상 */
  .bad{color:#047857!important}
  .oz-p{color:#B45309;font-size:13.5px}
  .oz-p.minus{color:#047857}
  .renew-badge,.renew-price,.solo-off{color:#047857}
  .pkgbox-ck{color:#047857}
  .cpn-lb,.cpn .cpn-lb{background:#047857;font-size:12px}
  #form-overlay{--green:#047857;--amber:#B45309}
  .hk-num{opacity:1}
  .m-item{color:rgba(255,255,255,.62)}

  /* 13px 미만이던 안내 글씨 키우기 */
  .oz-for{font-size:13px}
  .oz-for em{font-size:12px}
  .hs-d{font-size:13px;color:rgba(255,255,255,.62)}
  .lg{font-size:13px}
  .cmp-head-cell{font-size:13px}
  .proc-tag{font-size:13px}
  .solo-badge,.renew-badge,.solo-off{font-size:13px}
  .cpn .cpn-d{font-size:13.5px}
  .uc-set em{font-size:12.5px}
  .sh-eyebrow{font-size:12.5px!important}

  /* 신청 모달 */
  .fc{font-size:16px}  /* 16px 미만이면 아이폰이 입력칸을 누를 때 화면을 확대함 */
  .fm-sub{font-size:13.5px}
  .f-hint,.pay-guide-d,.pkgbox-d{font-size:13px}
  .os-desc{font-size:13.25px}
  .os-q{font-size:13px}
  .fl .opt{font-size:12px}
  .pr-note{font-size:12.5px}
  .ag-small{font-size:12.5px}
  .plan-radio-tag{font-size:12px}
  .fm-x{width:40px;height:40px;top:16px;right:16px}

  /* 푸터 연락처·약관 — 흐린 글씨와 작은 터치 영역 */
  .ft-info{color:rgba(255,255,255,.66)}
  .ft-lbtn{font-size:13.5px;color:rgba(255,255,255,.72);padding:10px 14px;min-height:40px}

  /* 하단 고정 버튼 — 첫 화면에서는 숨기고, 투명한 여백은 뒤 내용을 누를 수 있게 */
  .mob-bar{pointer-events:none;transition:transform .25s ease,opacity .25s ease}
  .mob-bar>*{pointer-events:auto}
  .mob-bar.is-away{transform:translateY(110%);opacity:0}
  .mob-bar.is-away>*{pointer-events:none}
}
