/* YLZ wave design kit — 홈(home-v3) 톤앤매너 공용 (2026-11-02)
   사용: 내비(.nav/.menu) + 푸터(.foot) 마크업은 각 페이지에서 복제, 토큰·컴포넌트는 여기서 */
:root{
  --f:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --en:"Poppins",var(--f);
  --key:#3B4EFF; --key2:#4A5CFF; --soft:#ABB6FF;
  --dk:#0E0E12; --dk2:#17171E; --ink:#0B0C14;
  --w:#FFFFFF; --p:#F6F6F8; --t2:#4D5060; --t3:#8A8D9C; --ln:#E2E2E8;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--f);background:var(--w);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font-family:var(--f);border:0;background:none;cursor:pointer;color:inherit}
.wrap{max-width:1280px;margin:0 auto;padding:0 clamp(16px,4vw,48px)}
section{padding:clamp(80px,11vw,140px) 0}

/* 타이포 */
.t-tag{font-family:var(--en);font-weight:600;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--key)}
.t-tag.lt{color:rgba(255,255,255,.65)}
.t-68{font-weight:800;font-size:clamp(30px,4.8vw,60px);line-height:1.1;letter-spacing:-.035em}
.t-48{font-weight:800;font-size:clamp(24px,3.4vw,44px);line-height:1.18;letter-spacing:-.03em}
.sdesc{max-width:420px;font-size:15px;line-height:1.75;color:var(--t2);font-weight:500}
.shead{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:clamp(30px,5vw,54px);flex-wrap:wrap}

/* 리빌 */
.rv{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.rv.on{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* 내비 */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .4s,backdrop-filter .4s}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;max-width:1440px}
.nav .logo img{height:22px;width:auto;display:block}
.nav ul{display:flex;gap:26px;list-style:none}
.nav ul a{font-size:14px;font-weight:600;color:rgba(255,255,255,.85);transition:color .25s}
.nav ul a:hover,.nav ul a.on{color:#fff}
.nav.sc{background:rgba(14,14,18,.72);backdrop-filter:blur(14px)}
.nav .rt{display:flex;align-items:center;gap:14px}
.nav .cta{font-size:13.5px;font-weight:700;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:100px;padding:9px 20px;transition:.3s}
.nav .cta:hover{background:var(--key);border-color:var(--key)}
.trk{display:flex;border:1px solid rgba(255,255,255,.25);border-radius:100px;padding:4px;gap:2px}
.trk a{font-size:12.5px;font-weight:700;padding:7px 14px;border-radius:100px;color:rgba(255,255,255,.75);transition:.25s}
.trk a:hover{color:#fff}
.trk a.on{background:var(--key);color:#fff}
.burger{display:flex;flex-direction:column;gap:5px;padding:8px}
.burger i{display:block;width:22px;height:2px;background:#fff;transition:.3s}
@media(max-width:1120px){.nav ul{display:none}.trk{display:none}}
.menu{position:fixed;inset:0;z-index:60;background:rgba(14,14,18,.97);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s}
.menu.open{opacity:1;pointer-events:auto}
.menu ul{list-style:none;text-align:center}
.menu ul a{display:block;font-size:clamp(24px,4.6vw,36px);font-weight:800;color:#fff;padding:8px 0;letter-spacing:-.02em;transition:color .25s}
.menu ul a:hover{color:var(--key2)}
.menu .x{position:absolute;top:22px;right:clamp(16px,4vw,48px);color:#fff;font-size:30px;line-height:1;padding:10px}

/* 버튼 */
.btn{display:inline-flex;align-items:center;gap:12px;font-weight:700;font-size:15px;border-radius:100px;padding:15px 26px;transition:.35s cubic-bezier(.16,1,.3,1)}
.btn .ar{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.18);font-family:var(--en);font-size:13px;transition:transform .35s}
.btn:hover .ar{transform:translateX(4px)}
.btn.key{background:var(--key);color:#fff}
.btn.key:hover{background:var(--key2)}
.btn.gh{border:1px solid rgba(255,255,255,.4);color:#fff}
.btn.gh:hover{border-color:#fff}
.btn.dkb{background:var(--ink);color:#fff}
.btn.dkb .ar{background:rgba(255,255,255,.14)}
.btn.ghd{border:1px solid var(--ln);color:var(--ink)}
.btn.ghd:hover{border-color:var(--ink)}
.btn.ghd .ar{background:rgba(11,12,20,.08)}

/* 다크 히어로(서브페이지) */
.phero{position:relative;background:var(--dk);color:#fff;padding:calc(76px + clamp(60px,9vw,110px)) 0 clamp(60px,8vw,100px);overflow:hidden}
.phero .glow{position:absolute;inset:0;background:radial-gradient(90% 70% at 85% 0%,rgba(74,92,255,.28),transparent 55%)}
.phero .wrap{position:relative;z-index:2}
.phero h1{font-weight:800;font-size:clamp(32px,5.4vw,66px);line-height:1.12;letter-spacing:-.035em;margin-top:16px}
.phero h1 em{font-style:normal;color:var(--soft)}
.phero .sub{margin-top:20px;font-size:clamp(15px,1.7vw,19px);line-height:1.8;color:rgba(255,255,255,.75);font-weight:500;max-width:720px}

/* 카드·가격 */
.pcards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pcard{position:relative;border:1px solid var(--ln);border-radius:20px;padding:clamp(26px,2.8vw,36px);background:var(--w);display:flex;flex-direction:column;transition:.35s}
.pcard:hover{transform:translateY(-6px);border-color:var(--key);box-shadow:0 24px 60px rgba(59,78,255,.1)}
.pcard.hot{border-color:var(--key);box-shadow:0 18px 50px rgba(59,78,255,.14)}
.pcard .pop{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--key);color:#fff;font-family:var(--en);font-size:11px;font-weight:700;letter-spacing:.14em;border-radius:100px;padding:6px 14px;white-space:nowrap}
.pcard .tier{font-family:var(--en);font-size:11.5px;font-weight:700;letter-spacing:.22em;color:var(--key)}
.pcard h3{margin-top:10px;font-size:20px;font-weight:800;letter-spacing:-.02em}
.pcard .pm{margin-top:4px;font-size:13px;color:var(--t3);font-weight:600}
.pcard .price{margin-top:18px;font-weight:800;letter-spacing:-.02em;font-size:15px;color:var(--t2)}
.pcard .price b{font-family:var(--en);font-size:clamp(30px,2.8vw,40px);color:var(--ink);font-weight:700}
.pcard .vat{margin-top:5px;font-size:12px;color:var(--t3);font-weight:600}
.pcard ul{margin:20px 0 26px;list-style:none;display:grid;gap:10px}
.pcard ul li{position:relative;padding-left:22px;font-size:14px;color:var(--t2);font-weight:500;line-height:1.6}
.pcard ul li:before{content:"✓";position:absolute;left:0;color:var(--key);font-weight:800}
.pcard .btn{margin-top:auto;justify-content:center}
@media(max-width:920px){.pcards{grid-template-columns:1fr;max-width:520px;margin:0 auto}}

/* 콜아웃 밴드 */
.callout{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:var(--dk);color:#fff;border-radius:20px;padding:clamp(24px,3vw,40px)}
.callout .ct{font-family:var(--en);font-size:11.5px;font-weight:700;letter-spacing:.22em;color:var(--soft)}
.callout h3{margin-top:10px;font-size:clamp(18px,2.2vw,24px);font-weight:800;letter-spacing:-.02em;line-height:1.4}
.callout p{margin-top:8px;font-size:14px;color:rgba(255,255,255,.7);font-weight:500}

/* 작은 카드 2열 */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dcard{border:1px solid var(--ln);border-radius:18px;padding:clamp(24px,2.6vw,34px);background:var(--w);transition:.35s;display:block}
.dcard:hover{transform:translateY(-5px);border-color:var(--key)}
.dcard .ct{font-family:var(--en);font-size:11px;font-weight:700;letter-spacing:.22em;color:var(--key)}
.dcard h3{margin-top:10px;font-size:19px;font-weight:800;letter-spacing:-.02em}
.dcard p{margin-top:8px;font-size:14px;color:var(--t2);font-weight:500;line-height:1.7}
.dcard .go{display:inline-block;margin-top:16px;font-size:14px;font-weight:700;color:var(--key)}
@media(max-width:760px){.duo{grid-template-columns:1fr}}

/* 플로우 */
.flow{display:flex;align-items:center;gap:clamp(8px,1.6vw,18px);flex-wrap:wrap}
.flow .st{flex:1;min-width:150px;border:1px solid var(--ln);border-radius:14px;background:var(--w);padding:18px 16px;text-align:center;font-size:14.5px;font-weight:700}
.flow i{font-style:normal;color:var(--key);font-weight:800}

/* 다크 CTA */
.fin{background:var(--dk);color:#fff}
.fin .t-68{color:#fff}
.fin-sub{margin-top:18px;font-size:16px;color:rgba(255,255,255,.65);font-weight:500;line-height:1.75}
.fin-btns{margin-top:34px;display:flex;gap:12px;flex-wrap:wrap}
.fin-note{margin-top:20px;font-size:13px;color:var(--soft);font-weight:700}

/* 푸터 */
.foot{background:var(--dk);color:#fff;border-top:1px solid rgba(255,255,255,.1);padding:46px 0 52px}
.foot .wrap{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
.foot .bi{font-size:12.5px;color:rgba(255,255,255,.45);line-height:1.9;font-weight:500}
.foot .bi b{display:block;font-family:var(--en);font-size:15px;color:#fff;letter-spacing:.06em;margin-bottom:10px}
.foot .bi a{color:inherit}
.fcols{display:flex;gap:clamp(30px,5vw,70px);flex-wrap:wrap}
.fcols b{display:block;font-family:var(--en);font-size:11px;font-weight:700;letter-spacing:.22em;color:rgba(255,255,255,.4);margin-bottom:14px}
.fcols a{display:block;font-size:13.5px;font-weight:600;color:rgba(255,255,255,.65);margin:9px 0}
.fcols a:hover{color:#fff}
