/* 팀플럿AX v3 — 레퍼런스(jocodingax.ai) 실측: 1440 기준 콘텐츠 1200 · 헤더 60 · 제목 40/700 · 탭 48/700 · 본문 18 · #2D64FA */
:root{--blue:#2D64FA;--blue2:#1F4FE0;--sky:#4FB4FF;--ink:#16171B;--g1:#6D717E;--g2:#9CA0AB;--g3:#C9CCD3;--line:#E8EAEE;--gray:#F6F7F9;--dark:#25272D;
 --sans:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;--hh:60px}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}
body{font-family:var(--sans);color:var(--ink);background:#fff;font-size:16px;line-height:1.5;letter-spacing:-.01em;word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img{display:block;max-width:100%;height:auto}ul,ol{list-style:none}
input,select,textarea{font:inherit;color:inherit}
[hidden]{display:none!important}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 20px}
svg{flex:0 0 auto}

/* 버튼 — 알약 (레퍼런스: 반경 40 · 18/700 · 16×24) */
.pill{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:48px;padding:0 24px;border-radius:40px;font-size:16px;font-weight:700;white-space:nowrap;transition:background .2s,border-color .2s,color .2s,transform .2s}
.pill svg{width:16px;height:16px}
.pill:active{transform:scale(.98)}
.pill-blue{background:var(--blue);color:#fff}.pill-blue:hover{background:var(--blue2)}
.pill-line{background:#fff;color:var(--ink);border:1px solid #DCDFE4;font-weight:500}.pill-line:hover{border-color:var(--ink)}
.pill-glass{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.4)}.pill-glass:hover{background:rgba(255,255,255,.16)}

/* 헤더 (레퍼런스: 높이 60 · 메뉴 16/400 · 오른쪽 알약 두 개) */
.gnb{position:fixed;left:0;right:0;top:0;z-index:50;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.05),0 6px 20px rgba(0,0,0,.03);transition:background .3s,box-shadow .3s}
.gnb-in{max-width:1240px;margin:0 auto;padding:0 20px;height:var(--hh);display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;flex:0 0 auto}.brand img{height:26px;width:auto}
.brand-w{display:none!important}
.gnb-nav{display:flex;gap:6px;margin-left:auto;margin-right:auto}
.gnb-nav a{padding:4px 20px;font-size:16px;color:var(--ink);border-radius:8px;transition:color .2s}
.gnb-nav a:hover,.gnb-nav a.is-here{color:var(--blue)}
.gnb-r{display:flex;align-items:center;gap:8px}
.gnb-r .pill{height:40px;padding:0 20px;font-size:14px}
.gnb-burger{display:none;width:40px;height:40px;position:relative}
.gnb-burger i{position:absolute;left:10px;right:10px;height:2px;background:currentColor;border-radius:2px;transition:transform .3s,top .3s}
.gnb-burger i:first-child{top:15px}.gnb-burger i:last-child{top:23px}
.gnb.is-open .gnb-burger i:first-child{top:19px;transform:rotate(45deg)}.gnb.is-open .gnb-burger i:last-child{top:19px;transform:rotate(-45deg)}
.gnb-mob{display:none}
/* 홈 첫 화면 위에서는 투명 + 흰 글자 */
.gnb.is-over{background:transparent;box-shadow:none}
.gnb.is-over .gnb-nav a{color:#fff}.gnb.is-over .gnb-nav a:hover{color:#fff;opacity:.75}
.gnb.is-over .brand-c{display:none!important}.gnb.is-over .brand-w{display:block!important}
.gnb.is-over .pill-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.gnb.is-over .gnb-burger{color:#fff}

/* 히어로 (레퍼런스: 높이 788 · 사진 + 어두운 막 · 가운데 h1 56/700) */
.hero{position:relative;height:100svh;min-height:620px;color:#fff;display:grid;place-items:center;text-align:center;overflow:hidden;background:#0B0E17}
.hero-bg{position:absolute;inset:-4%;background-size:cover;background-position:center 40%;transform:scale(1.04);animation:heroIn 2.4s cubic-bezier(.2,.8,.2,1) forwards}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,10,30,.5) 0,rgba(6,10,30,.56) 60%,rgba(6,10,30,.72) 100%)}
@keyframes heroIn{to{transform:scale(1)}}
.hero-in{position:relative;z-index:1;padding:0 20px}
.hero h1{font-size:60px;font-weight:700;line-height:1.2;letter-spacing:-.02em}
.hero p{margin:18px auto 0;max-width:620px;font-size:18px;line-height:1.4;color:rgba(255,255,255,.9)}
.hero-btns{display:flex;gap:12px;justify-content:center;margin-top:40px}
.hero-btns .pill{height:56px;font-size:18px;padding:0 26px;min-width:136px}

/* 서비스 워드마크 띠 (레퍼런스의 고객사 로고 두 줄 자리) */
.logos{background:var(--gray);padding:44px 20px 40px}
.lg-row{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:22px 44px;max-width:1240px;margin:0 auto}
.lg-row+.lg-row{margin-top:26px}
.lg{display:inline-flex;align-items:center;gap:6px;font-size:19px;letter-spacing:-.02em;white-space:nowrap}
.lg-wide{letter-spacing:.06em}.lg-it{font-style:italic;letter-spacing:-.01em}
.lg-ax i{width:20px;height:20px;border-radius:6px;background:linear-gradient(135deg,#2D64FA,#4FB4FF);display:inline-block}
/* 실측 수치 띠 (회사 소개) */
.metric{background:var(--gray);padding:52px 0 40px}
.metric-list{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;text-align:center}
.metric-list b{display:block;font-size:30px;font-weight:800;letter-spacing:-.03em;color:var(--ink)}
.metric-list span{display:block;margin-top:4px;font-size:14px;color:var(--g1)}
.metric-note{margin-top:22px;text-align:center;font-size:12.5px;color:var(--g2)}

/* 공통 섹션 제목 (레퍼런스: 40/700 #16171B · 18 #6D717E) */
.sec-head{text-align:center;padding:0 20px}
.sec-title{font-size:40px;font-weight:700;line-height:1.2;letter-spacing:-.02em;color:var(--ink)}
.sec-sub{margin-top:12px;font-size:18px;line-height:1.4;color:var(--g1)}
.sec-head.is-dark .sec-title{color:#fff}.sec-head.is-dark .sec-sub{color:#A3A7B3}

/* 현장 사진 띠 (레퍼런스: 사례 사진이 가로로 흐르는 띠 · 높이 356 · 간격 12 · 모서리 8) */
.show{padding:100px 0 0}
.show-btn{text-align:center;margin-top:28px}
.band{margin-top:40px;overflow:hidden;width:100%}
.bd-track{display:flex;gap:12px;width:max-content;animation:bandRun 80s linear infinite;will-change:transform}
.band:hover .bd-track{animation-play-state:paused}
@keyframes bandRun{to{transform:translateX(-50%)}}
.bd-item{position:relative;display:block;flex:0 0 auto;width:var(--w);height:356px;border-radius:4px;overflow:hidden;background:#EEF1F6}
.bd-col{display:flex;flex-direction:column;gap:12px;flex:0 0 auto;width:var(--w);height:356px}.bd-col .bd-item{width:100%;height:calc(50% - 6px)}
.bd-item img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.bd-item:hover img{transform:scale(1.04)}
.bd-item:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,12,20,0) 40%,rgba(10,12,20,.78));opacity:0;transition:opacity .4s}
.bd-item:hover:after{opacity:1}
.bd-cap{position:absolute;left:20px;right:20px;bottom:18px;z-index:1;color:#fff;display:flex;flex-direction:column;gap:6px;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .5s}
.bd-item:hover .bd-cap{opacity:1;transform:none}
.bd-chips{display:flex;gap:6px;flex-wrap:wrap}.bd-chips i{font-style:normal;font-size:11.5px;font-weight:600;padding:3px 8px;border-radius:4px;background:rgba(255,255,255,.18);backdrop-filter:blur(6px)}
.bd-cap b{font-size:16px;font-weight:700;line-height:1.35}
.bd-cap em{font-style:normal;font-size:12.5px;opacity:.85;display:inline-flex;align-items:center;gap:2px}.bd-cap em svg{width:14px;height:14px}

/* 고정 탭 섹션 (레퍼런스 «AI교육과 AX구축»: 탭 48/700 · 왼쪽 75px · 화면은 아코디언 띠 · 캡션 가운데 · 마지막 탭은 어두운 배경) */
.tb{position:relative;height:calc(100vh * (var(--n) * .7 + .8));margin-top:60px}
.tb-pin{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:flex-start;padding-top:calc(var(--hh) + 44px);overflow:hidden;background:#fff;transition:background .6s}
.tb.is-dark .tb-pin{background:#212229}
.tb.is-dark .sec-title{color:#fff}.tb.is-dark .sec-sub{color:#A3A7B3}
.tb-row{display:grid;grid-template-columns:430px minmax(0,1fr);gap:0;width:100%;max-width:1440px;margin:44px auto 0;padding:0 75px}
.tb-list{display:flex;flex-direction:column;gap:26px;padding-top:8px}
.tb-name{display:block;text-align:left;font-size:48px;font-weight:700;line-height:1.2;letter-spacing:-.02em;color:#E3E5EA;transition:color .35s}
.tb.is-dark .tb-name{color:#3A3C44}
.tb-item.is-on .tb-name{background:linear-gradient(90deg,var(--sky),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}
.tb-more{display:inline-flex;align-items:center;gap:2px;height:36px;padding:0 10px 0 14px;border-radius:40px;background:#F2F4F6;font-size:14px;color:#40444F;max-height:0;opacity:0;overflow:hidden;transition:max-height .4s,opacity .3s,margin .4s}
.tb.is-dark .tb-more{background:#2A2C33;color:#D5D8DE}
.tb-more svg{width:14px;height:14px}
.tb-item.is-on .tb-more{max-height:36px;opacity:1;margin-top:14px}
.tb-stage{min-width:0}
.tb-strip{display:flex;gap:12px;height:404px;width:100%}
.tb-fig{position:relative;flex:0 0 28px;height:100%;border-radius:8px;overflow:hidden;background:#EEF1F6;transition:flex-basis .7s cubic-bezier(.2,.8,.2,1)}
.tb-fig.is-on{flex-basis:calc(100% - (var(--k) * 40px))}
.tb-fig img{width:100%;height:100%;object-fit:cover;object-position:center}
.tb-fig:not(.is-on) img{filter:grayscale(1) brightness(.75)}
.tb-caps{position:relative;margin-top:30px;min-height:56px}
.tb-cap{position:absolute;left:0;right:0;top:0;text-align:center;font-size:17px;line-height:1.55;color:#40444F;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}
.tb.is-dark .tb-cap{color:#E3E5EA}
.tb-cap.is-on{opacity:1;transform:none}

/* 프로덕트 (레퍼런스: 제목이 헤더 바로 아래 · 이름 40/700 · 왼쪽 75px 폭 300 · 오른쪽 파란 틀 900×507 · 안쪽 48px) */
.pd{position:relative;height:calc(100vh * (var(--n) * .8 + .6));margin-top:0}
.pd-pin{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:flex-start;padding-top:calc(var(--hh) + 6px);overflow:hidden}
.pd-row{display:grid;grid-template-columns:300px minmax(0,1fr);gap:90px;width:100%;max-width:1440px;margin:56px auto 0;padding:0 75px}
.pd-list{display:flex;flex-direction:column;gap:28px;padding-top:2px}
.pd-name{display:block;text-align:left;font-size:40px;font-weight:700;line-height:1.2;letter-spacing:-.02em;color:#E3E5EA;transition:color .35s}
.pd-name .soon,.pl-text .soon{display:inline-block;vertical-align:middle;margin-left:10px;font-style:normal;font-size:12px;font-weight:700;letter-spacing:0;color:#fff;background:var(--blue);padding:4px 9px;border-radius:20px;-webkit-text-fill-color:#fff}
.pd-item.is-on .pd-name{background:linear-gradient(90deg,var(--sky),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}
.pd-body{max-height:0;overflow:hidden;opacity:0;transition:max-height .5s,opacity .35s}
.pd-item.is-on .pd-body{max-height:240px;opacity:1}
.pd-body p{margin-top:16px;font-size:15px;line-height:1.6;color:#30343D}
.pd-bar{display:block;margin-top:26px;width:300px;height:4px;border-radius:4px;background:#EEF0F3;overflow:hidden}
.pd-bar i{display:block;height:100%;width:0;background:var(--blue);border-radius:4px}
.pd-stage{position:relative;height:580px;max-width:900px}
.pd-shot{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .45s,transform .6s cubic-bezier(.2,.8,.2,1),visibility .45s}
.pd-shot.is-on{opacity:1;visibility:visible;transform:none}
.pd-shot .shot-frame{width:100%;height:507px}
.pd-shot .pill{margin-top:26px;height:42px;font-size:15px}
.shot-frame{border-radius:12px;padding:48px 48px 0;background:linear-gradient(120deg,#2D64FA 0,#3AA0FF 55%,#35C8F2 100%);overflow:hidden}
.shot-frame img{width:100%;height:auto;border-radius:12px;box-shadow:0 10px 30px rgba(10,30,90,.25);background:#fff}

/* 사례 카드 관람차 (레퍼런스 2번째 영상: 카드가 3D 원통에 붙어 계속 돌고, 축이 -14° 기울었으며, 손으로 잡아 돌릴 수 있다) */
.wh{padding:100px 0 20px;overflow:hidden;position:relative}
.wh-row{display:grid;grid-template-columns:1fr 1.05fr;gap:40px;align-items:center;min-height:640px}
.wh-text .sec-title{text-align:left;font-size:30px;line-height:1.35}
.wh-text .pill{margin-top:28px;min-width:240px;height:42px;font-size:15px}
.wh-stage{position:relative;height:640px;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:pan-y}
.wh-stage.is-drag{cursor:grabbing}
.wh-glow{position:absolute;left:34%;top:-14%;width:330px;height:132%;background:radial-gradient(50% 50% at 50% 50%,rgba(24,120,216,.75) 0,rgba(72,150,230,.45) 38%,rgba(45,100,250,0) 70%);transform:rotate(-14deg);pointer-events:none}
.wh-glow.g2{left:52%;top:-4%;width:200px;height:120%;opacity:.85;transform:rotate(-14deg)}
.wh-scene{position:absolute;inset:0;perspective:1500px;perspective-origin:50% 50%}
.wh-ring{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d;transform:rotateZ(-14deg) rotateX(var(--a,0deg))}
.wh-card{position:absolute;left:-190px;top:-107px;width:380px;height:214px;border-radius:14px;overflow:hidden;background:#1E3FAE;color:#fff;box-shadow:0 22px 50px rgba(20,40,110,.28);
 transform:rotateX(calc(var(--i) * -45deg)) translateZ(var(--r,330px));backface-visibility:hidden;-webkit-backface-visibility:hidden}
.wh-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.wh-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,60,200,.08) 0,rgba(20,50,170,.35) 45%,rgba(14,36,140,.92) 100%)}
.wh-card:nth-child(2n){background:linear-gradient(115deg,#1B3FD4 0,#2D64FA 45%,#4FB4FF 100%)}
.wh-card:nth-child(2n) img{opacity:.14;filter:grayscale(1)}
.wh-card:nth-child(2n):after{background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(10,30,120,.35))}
.wh-in{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:18px 22px}
.wh-in i{display:inline-block;font-style:normal;font-size:11px;font-weight:700;padding:3px 8px;border-radius:4px;background:var(--blue);color:#fff}
.wh-card:nth-child(2n) .wh-in i{background:rgba(255,255,255,.22)}
.wh-in b{display:block;margin-top:8px;font-size:20px;font-weight:700;line-height:1.3;letter-spacing:-.02em;text-shadow:0 2px 8px rgba(0,0,0,.3)}
.wh-ghost{position:absolute;right:4%;bottom:26px;font-size:26px;font-weight:800;color:rgba(45,100,250,.13);transform:rotate(-14deg);white-space:nowrap;pointer-events:none}

/* 어두운 진단 띠 (레퍼런스: #25272D · 카드 두 장) */
.diag{background:#1E1F24;padding:96px 20px 100px}
.diag-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:820px;margin:44px auto 0}
.diag-card{position:relative;height:136px;border-radius:8px;background:#2E3138;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#fff;overflow:hidden;transition:transform .3s}
.diag-card:hover{transform:translateY(-3px)}
.diag-card span{font-size:15px;color:#A3A7B3;position:relative}
.diag-card b{font-size:22px;font-weight:700;letter-spacing:-.02em;position:relative}
.diag-card>svg{position:absolute;right:18px;top:18px;width:20px;height:20px;color:#A3A7B3}
.diag-card.is-grad{background:radial-gradient(120% 130% at 78% 125%,#8A2BFF 0,#3A5CFF 30%,rgba(45,100,250,0) 62%),#0F1016}

/* 하위 페이지 머리 */
.pg-top{padding:calc(var(--hh) + 100px) 20px 70px;text-align:center}
.pg-label{font-size:15px;font-weight:700;color:var(--blue)}
.pg-title{margin-top:12px;font-size:44px;font-weight:700;line-height:1.25;letter-spacing:-.025em}
.pg-sub{margin:16px auto 0;max-width:720px;font-size:18px;line-height:1.55;color:var(--g1)}
.blk{padding:90px 0}.blk.is-gray{background:var(--gray)}
.blk .sec-head+*{margin-top:48px}

/* 아코디언 */
.acc{max-width:1000px;margin:48px auto 0;border-top:1px solid var(--ink)}
.acc-item{border-bottom:1px solid var(--line)}
.acc-hd{width:100%;display:flex;align-items:center;gap:20px;text-align:left;padding:26px 4px}
.acc-k{flex:0 0 110px;font-size:14px;font-weight:700;color:var(--blue)}
.acc-t{flex:1;font-size:20px;font-weight:700;letter-spacing:-.02em}
.acc-hd i{position:relative;width:18px;height:18px;flex:0 0 auto}
.acc-hd i:before,.acc-hd i:after{content:"";position:absolute;left:0;right:0;top:8px;height:2px;background:var(--ink);transition:transform .3s}
.acc-hd i:after{transform:rotate(90deg)}.acc-item.is-open .acc-hd i:after{transform:none}
.acc-bd{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s}
.acc-item.is-open .acc-bd{grid-template-rows:1fr}
.acc-bd>div{overflow:hidden}
.acc-in{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:0 4px 28px 134px}
.acc-in.is-one{grid-template-columns:1fr;padding-left:4px}
.acc-in h5{font-size:14px;font-weight:700;color:var(--g1);margin-bottom:8px}
.acc-in p,.acc-in li{font-size:16px;line-height:1.7;color:#3A3E48}
.acc-in li{position:relative;padding-left:14px}.acc-in li:before{content:"";position:absolute;left:0;top:11px;width:5px;height:5px;border-radius:50%;background:var(--blue)}

/* 제품 목록 · 하는 일 */
.filt{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.filt button{height:40px;padding:0 18px;border-radius:40px;border:1px solid #DCDFE4;font-size:15px;color:var(--g1);transition:all .2s}
.filt button.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
.pl{display:flex;flex-direction:column;gap:90px;margin-top:56px}
.pl-item{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center}
.pl-item.is-rev .shot-frame{order:2}
.pl-kind{font-size:14px;font-weight:700;color:var(--blue)}
.pl-text h3{margin-top:8px;font-size:34px;font-weight:700;letter-spacing:-.025em;line-height:1.25}
.pl-text>p:not(.pl-kind){margin-top:16px;font-size:17px;line-height:1.7;color:#40444F}
.pl-text .pill{margin-top:28px}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.tags span{font-size:13.5px;padding:6px 12px;border-radius:40px;background:#EEF3FF;color:var(--blue);font-weight:600}

/* 표준 단가 */
.pr{margin-top:36px;border-top:1px solid var(--ink)}
.pr-row{display:grid;grid-template-columns:130px 1fr 110px 150px;gap:20px;align-items:center;padding:24px 8px;border-bottom:1px solid var(--line)}
.pr-row.pr-head{padding:14px 8px;font-size:13.5px;color:var(--g2)}.pr-row.pr-head b{font-weight:500}
.pr-cat{font-size:13.5px;color:var(--g1)}
.pr-main b{display:block;font-size:18px;font-weight:700;letter-spacing:-.02em}
.pr-main span{display:block;margin-top:4px;font-size:14.5px;color:var(--g1)}
.pr-days{font-size:14.5px;color:var(--g1)}
.pr-won{text-align:right;font-size:22px;font-weight:800;letter-spacing:-.02em}.pr-won small{font-size:14px;font-weight:600;margin-left:1px}
.pr-head .pr-won{font-size:13.5px}
.pr-row.is-hl{background:#F3F7FF}
.fine{margin-top:22px;font-size:14px;line-height:1.75;color:var(--g1)}
.st3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.st-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px 28px}
.st-card.is-on{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.st-card em{font-style:normal;font-size:13px;font-weight:700;color:var(--blue)}
.st-card h4{margin-top:8px;font-size:20px;font-weight:700;letter-spacing:-.02em}
.st-card>b{display:block;margin-top:14px;font-size:34px;font-weight:800;letter-spacing:-.03em}.st-card>b small{font-size:16px;font-weight:600}
.st-card>p{margin-top:4px;font-size:14.5px;color:var(--g1)}
.st-card .st-long{margin-top:12px;font-size:15.5px;line-height:1.7;color:#40444F}
.st-card ul{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.st-card li{font-size:14.5px;line-height:1.9;color:#40444F;padding-left:16px;position:relative}.st-card li:before{content:"✓";position:absolute;left:0;color:var(--blue);font-size:12px}

/* AXplut 요금 두 기둥 */
.ax-price{display:grid;grid-template-columns:1fr 1.15fr;gap:20px;margin-top:48px;max-width:1000px;margin-left:auto;margin-right:auto}
.axp-col{border:1px solid var(--line);border-radius:16px;padding:32px 30px;background:#fff}
.axp-col.is-on{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue),0 20px 50px rgba(45,100,250,.08)}
.axp-col em{font-style:normal;font-size:13px;font-weight:700;color:var(--blue)}
.axp-col h4{margin-top:6px;font-size:24px;font-weight:700;letter-spacing:-.02em}
.axp-col>b{display:block;margin-top:14px;font-size:38px;font-weight:800;letter-spacing:-.03em}.axp-col>b small{font-size:15px;font-weight:600;margin-left:4px}
.axp-col>p{margin-top:6px;font-size:14.5px;color:var(--g1)}
.axp-col ul{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.axp-col li{display:flex;justify-content:space-between;gap:16px;padding:9px 0;font-size:14.5px;border-bottom:1px dashed #EEF0F3}.axp-col li span{color:var(--g1)}.axp-col li b{font-weight:600;text-align:right}
.axp-tiers{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.axp-tiers div{display:grid;grid-template-columns:90px 110px 1fr;gap:12px;align-items:center;padding:12px 14px;border-radius:10px;background:var(--gray)}
.axp-tiers b{font-size:15px;font-weight:700}.axp-tiers i{font-style:normal;font-size:16px;font-weight:800;letter-spacing:-.02em}.axp-tiers i small{font-size:11px;font-weight:600;color:var(--g1)}.axp-tiers span{font-size:12.5px;color:var(--g1);line-height:1.45}
.axp-fine{margin-top:14px;font-size:12.5px;color:var(--g2)}
/* 로컬 LLM */
.llm-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
.llm-tier{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px 28px;display:flex;flex-direction:column}
.llm-tier.is-on{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue),0 20px 50px rgba(45,100,250,.08)}
.llm-tier em{font-style:normal;font-size:13px;font-weight:700;color:var(--blue)}
.llm-gpu{display:block;margin-top:4px;font-size:14px;color:var(--g1)}
.llm-tier>b{display:block;margin-top:14px;font-size:32px;font-weight:800;letter-spacing:-.03em}.llm-tier>b small{font-size:15px;font-weight:600;margin-left:3px}
.llm-days{margin-top:2px;font-size:13.5px;color:var(--g2)}
.llm-use{margin-top:12px;font-size:14.5px;line-height:1.6;color:#30343D;min-height:70px}
.llm-tier ul{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.llm-tier li{font-size:14px;line-height:1.85;color:#40444F;padding-left:16px;position:relative}.llm-tier li:before{content:"✓";position:absolute;left:0;color:var(--blue);font-size:12px}
.llm-ops{margin-top:36px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 30px}
.llm-ops h3{font-size:18px;font-weight:700}
.llm-ops-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.llm-ops-row div{background:var(--gray);border-radius:12px;padding:16px 18px}.llm-ops-row b{font-size:15px;font-weight:700}.llm-ops-row i{display:block;margin-top:4px;font-style:normal;font-size:20px;font-weight:800;letter-spacing:-.02em}.llm-ops-row i small{font-size:12px;font-weight:600;color:var(--g1);margin-left:2px}.llm-ops-row span{display:block;margin-top:8px;font-size:13px;line-height:1.55;color:var(--g1)}
.llm-tbl{width:100%;border-collapse:collapse;font-size:14px;margin-top:40px}.llm-tbl th,.llm-tbl td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.5}.llm-tbl th{background:var(--gray);font-weight:600;color:var(--g1);font-size:13px;white-space:nowrap}
.llm-tbl th.n,.llm-tbl td.n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.llm-tbl td b{font-weight:700}
.lg-cloud{display:inline-block;font-size:12px;font-weight:700;padding:3px 8px;border-radius:6px;background:#EEF3FF;color:var(--blue)}
.tag-k{display:inline-block;font-size:12px;font-weight:700;padding:3px 8px;border-radius:6px;background:var(--gray);color:var(--g1);white-space:nowrap}
/* 영등포 엣지 요금 줄 */
.llm-edge{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;margin-top:14px;padding:18px 22px;border:1px solid #D6E2FF;background:#F5F8FF;border-radius:12px}
.llm-edge b{display:block;font-size:16px;font-weight:700}.llm-edge span{display:block;margin-top:3px;font-size:13.5px;color:var(--g1);line-height:1.5}
.llm-edge i{font-style:normal;font-size:22px;font-weight:800;letter-spacing:-.02em;white-space:nowrap}.llm-edge i small{font-size:12px;font-weight:600;color:var(--g1);margin-left:4px}
/* 로컬 LLM 리전 소제목 */
.llm-h3{margin-top:56px;font-size:24px;font-weight:700;letter-spacing:-.02em;text-align:center}
/* 회사 소개 */
.metric.is-big{padding:60px 0 44px}
.ach{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.ach li{background:#fff;padding:28px 26px}
.ach b{font-size:40px;font-weight:800;letter-spacing:-.03em}.ach b small{font-size:17px;font-weight:600;margin-left:2px}
.ach span{display:block;margin-top:6px;font-size:14.5px;color:var(--g1)}
.rules{max-width:1000px;margin:48px auto 0;border-top:1px solid var(--ink)}
.rules li{display:grid;grid-template-columns:80px 1fr;gap:20px;padding:26px 4px;border-bottom:1px solid var(--line)}
.rules-no{font-size:20px;font-weight:800;color:var(--blue)}
.rules b{font-size:19px;font-weight:700;letter-spacing:-.02em}
.rules p{margin-top:8px;font-size:16px;line-height:1.7;color:var(--g1)}

/* 문의 (레퍼런스: 가운데 640px 한 열 · 라벨 13px + 빨간 별 · 회색 입력칸 44px 무테 · 칩 · 동의 3줄 · 채우기 전엔 연한 버튼) */
.cq{padding:calc(var(--hh) + 84px) 20px 120px}
.cq-in{max-width:640px;margin:0 auto}
.cq-title{font-size:36px;font-weight:700;letter-spacing:-.025em;text-align:center}
.cq-sub{margin-top:10px;text-align:center;font-size:15.5px;color:var(--g1)}
.cq-form{margin-top:44px}
.cq-two{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.cq-f{display:block;margin-bottom:22px}
.cq-f>span{display:block;font-size:13px;font-weight:600;color:#30343D;margin-bottom:8px}
.cq-f>span em{font-style:normal;color:#E5484D;margin-left:1px}.cq-f>span small{font-weight:400;color:var(--g2);font-size:12px;margin-left:2px}
.cq-f input,.cq-f select,.cq-f textarea{display:block;width:100%;height:46px;border:1px solid transparent;border-radius:10px;background:#F4F5F7;padding:0 14px;font-size:14.5px;color:var(--ink);outline:0;transition:border-color .2s,background .2s}
.cq-f textarea{height:150px;padding:13px 14px;line-height:1.6;resize:vertical}
.cq-f input::placeholder,.cq-f textarea::placeholder{color:#A6AAB4}
.cq-f input:focus,.cq-f select:focus,.cq-f textarea:focus{border-color:var(--blue);background:#fff}
.cq-f select{appearance:none;-webkit-appearance:none;background:#F4F5F7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%236D717E' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 16px center;color:#A6AAB4}
.cq-f select.has{color:var(--ink)}
.cq-f input.bad,.cq-f select.bad{border-color:#E5484D;background:#FFF5F5}
.cq-chips{display:flex;flex-wrap:wrap;gap:8px}
.cq-chips input{position:absolute;opacity:0;pointer-events:none}
.cq-chips span{display:inline-flex;height:38px;align-items:center;padding:0 16px;border-radius:40px;border:1px solid #DCDFE4;background:#fff;font-size:13.5px;color:#30343D;cursor:pointer;transition:all .18s}
.cq-chips input:checked+span{border-color:var(--blue);color:var(--blue);background:#F5F8FF;font-weight:600}
.cq-chips input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
.cq-agree{margin:6px 0 28px}
.cq-all{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;font-weight:700;cursor:pointer}
.cq-ag{display:flex;align-items:flex-start;gap:10px;padding:10px 0 0;font-size:13.5px;color:#30343D;cursor:pointer;line-height:1.5}
.cq-ag span em{font-style:normal;color:#E5484D}.cq-ag a{color:var(--blue);text-decoration:underline}
.cq-ag small{display:block;font-size:12px;color:var(--g2);margin-top:2px}
.cq-agree input{width:18px;height:18px;flex:0 0 auto;accent-color:var(--blue);margin-top:1px}
.cq-send{display:block;margin:0 auto;height:52px;min-width:150px;padding:0 34px;border-radius:40px;background:var(--blue);color:#fff;font-size:16px;font-weight:700;transition:background .25s,opacity .25s,transform .2s}
.cq-send:not([disabled]):hover{background:var(--blue2)}.cq-send:active{transform:scale(.98)}
.cq-send[disabled]{background:#A9C0FF;cursor:not-allowed}
.cq-send.busy{opacity:.7;pointer-events:none}
.cq-note{margin-top:22px;text-align:center;font-size:12.5px;color:var(--g2);line-height:1.6}
.fmsg{min-height:1.4em;margin:-8px 0 12px;text-align:center;font-size:14px;font-weight:600;color:#E5484D}
.cq-form.out{animation:cqOut .45s cubic-bezier(.4,0,.2,1) forwards}
@keyframes cqOut{to{opacity:0;transform:translateY(-14px) scale(.985)}}
/* 제출 완료 — 원이 그려지고 체크가 그어진 뒤 글이 올라온다 */
.cq-done{text-align:center;padding:40px 0 20px}
.cq-done[hidden]{display:none}
.cq-check{position:relative;width:120px;height:120px;margin:0 auto 28px}
.cq-check svg{width:120px;height:120px;overflow:visible}
.cq-check .ring{fill:none;stroke:var(--blue);stroke-width:4;stroke-dasharray:327;stroke-dashoffset:327;transform:rotate(-90deg);transform-origin:50% 50%;animation:cqRing .7s cubic-bezier(.4,0,.2,1) forwards}
.cq-check .fill{fill:var(--blue);transform:scale(0);transform-origin:50% 50%;animation:cqFill .45s cubic-bezier(.2,.8,.2,1) .6s forwards}
.cq-check .tick{fill:none;stroke:#fff;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:70;stroke-dashoffset:70;animation:cqTick .4s cubic-bezier(.4,0,.2,1) .95s forwards}
.cq-check i{position:absolute;left:50%;top:50%;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;border:2px solid rgba(45,100,250,.35);opacity:0;animation:cqPulse 1.2s ease-out 1.05s forwards}
.cq-check i.r2{animation-delay:1.3s}
@keyframes cqRing{to{stroke-dashoffset:0}}
@keyframes cqFill{to{transform:scale(1)}}
@keyframes cqTick{to{stroke-dashoffset:0}}
@keyframes cqPulse{0%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(1.9)}}
.cq-done h2,.cq-done .cq-no,.cq-done .cq-dm,.cq-done .cq-next{opacity:0;transform:translateY(14px);animation:cqUp .6s cubic-bezier(.2,.8,.2,1) forwards}
.cq-done h2{font-size:28px;font-weight:700;letter-spacing:-.02em;animation-delay:1.15s}
.cq-no{margin-top:12px;font-size:16px;color:var(--g1);animation-delay:1.3s}.cq-no b{color:var(--blue);font-weight:800;letter-spacing:.02em}
.cq-dm{margin-top:14px;font-size:15px;line-height:1.7;color:var(--g1);animation-delay:1.45s}.cq-dm b{color:var(--ink);font-weight:600}
.cq-next{display:flex;gap:10px;justify-content:center;margin-top:30px;animation-delay:1.6s}
@keyframes cqUp{to{opacity:1;transform:none}}

/* 공지 */
.nt-list{max-width:1000px;margin:0 auto;border-top:1px solid var(--ink)}
.nt-row{display:grid;grid-template-columns:150px 1fr 120px;gap:20px;align-items:center;padding:22px 4px;border-bottom:1px solid var(--line);transition:background .2s}
.nt-row:hover{background:var(--gray)}
.nt-no{font-size:14px;color:var(--g1)}.nt-row b{font-size:17px;font-weight:700}.nt-d{text-align:right;font-size:14px;color:var(--g1)}
.nt-art{max-width:800px;margin:90px auto 0}
.nt-art h2{margin-top:8px;font-size:30px;font-weight:700;letter-spacing:-.025em;line-height:1.35}
.nt-meta{margin-top:12px;padding-bottom:24px;border-bottom:1px solid var(--line);font-size:14px;color:var(--g1)}.nt-meta b{color:var(--ink);font-weight:600}
.nt-body{margin-top:28px;font-size:16.5px;line-height:1.85;color:#30343D}
.nt-body p{margin-top:16px}.nt-body h4{margin-top:32px;font-size:18px;font-weight:700}
.nt-body ol{margin-top:10px;padding-left:22px;list-style:decimal}.nt-body li{margin-top:8px}
.nt-tw{margin-top:22px;overflow-x:auto}
.nt-tw table{width:100%;border-collapse:collapse;font-size:15px}.nt-tw th,.nt-tw td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}
.nt-tw th{background:var(--gray);font-weight:600;color:var(--g1)}.nt-tw td:first-child{font-weight:700;white-space:nowrap}
.nt-after{margin-top:32px!important;padding:16px 20px;background:var(--gray);border-radius:10px;font-size:14.5px;color:var(--g1)}

/* 그라데이션 CTA 띠 (레퍼런스: 둥근 남색→보라 띠 + 파란 알약) */
.band-wrap{max-width:1240px;margin:0 auto;padding:40px 20px 110px}
.band-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;border-radius:12px;padding:44px 56px;color:#fff;
 background:radial-gradient(90% 180% at 100% 100%,#5B2BD8 0,rgba(91,43,216,0) 60%),linear-gradient(100deg,#0D1330 0,#1B1F52 55%,#2C2A8C 100%)}
.band-cta p{font-size:26px;font-weight:700;line-height:1.35;letter-spacing:-.02em}

/* 푸터 (레퍼런스: #F6F7F9 · 로고 · 6열 14/500) */
.ft{background:#F4F6F8;padding:60px 0 44px}
.ft-top{display:flex;justify-content:space-between;gap:40px;padding-bottom:64px}
.ft-logo img{height:30px;width:auto}
.ft-cols{display:grid;grid-template-columns:repeat(6,auto);gap:12px 44px}
.ft-cols div{display:flex;flex-direction:column;gap:12px}
.ft-k{font-size:14px;font-weight:500;color:var(--g2)}
.ft-cols a{font-size:14px;font-weight:500;color:var(--ink)}.ft-cols a:hover{color:var(--blue)}
.ft-bot{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;padding-top:28px;border-top:1px solid #E4E6EB}
.ft-bot p{font-size:13px;line-height:1.75;color:var(--g2)}.ft-bot p:first-child{color:var(--g1)}
.ft-ic{display:flex;gap:10px}
.ft-ic a{width:38px;height:38px;border-radius:50%;background:#E4E6EB;color:#7B8090;display:grid;place-items:center;transition:background .2s,color .2s}
.ft-ic a:hover{background:var(--ink);color:#fff}.ft-ic svg{width:18px;height:18px}

/* 상담 아바타 카드 (레퍼런스: 오른쪽 아래 150×200 · 파란 배경 인물 · 흰 하단 문구 · 닫기) */
.ava{position:fixed;right:30px;bottom:30px;z-index:60;width:150px;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 12px 36px rgba(0,0,0,.18);display:block;transition:transform .3s}
.ava:hover{transform:translateY(-3px)}
.ava.is-off{display:none}
.ava-img{display:block;height:145px;background:radial-gradient(120% 90% at 50% 100%,#1E5BFF 0,#2D64FA 45%,#4F8BFF 100%);overflow:hidden;position:relative}
.ava-img img{position:absolute;left:50%;bottom:-4px;width:124px;height:auto;transform:translateX(-50%)}
.ava b{display:block;padding:12px 12px 12px;font-size:12.5px;line-height:1.35;color:var(--ink);font-weight:700}
.ava-x{position:absolute;right:8px;top:8px;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.9);color:#16171B;display:grid;place-items:center;z-index:2}
.ava-x svg{width:10px;height:10px}


/* 위트봇 채팅 패널 — 오른쪽 위 400×640, 반경 20, 헤더(아바타 · 상태 · 상담원 연결 · 닫기), 말풍선, 칩, 입력창, 고지 */
.wb{position:fixed;right:24px;top:calc(var(--hh) + 12px);z-index:70;width:min(400px,calc(100vw - 24px));height:min(640px,calc(100dvh - var(--hh) - 28px));background:#fff;border-radius:20px;box-shadow:0 24px 70px rgba(10,20,60,.22),0 0 0 1px rgba(0,0,0,.04);display:flex;flex-direction:column;overflow:hidden;animation:wbIn .28s cubic-bezier(.2,.8,.2,1)}
@keyframes wbIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.wb[hidden]{display:none}
.wb-hd{display:flex;align-items:center;gap:10px;padding:14px 14px 12px 16px;border-bottom:1px solid #F0F1F4}
.wb-av{width:38px;height:38px;border-radius:50%;background:radial-gradient(120% 90% at 50% 100%,#1E5BFF 0,#2D64FA 45%,#4F8BFF 100%);overflow:hidden;position:relative;flex:0 0 auto;box-shadow:0 0 0 2px #fff,0 0 0 3.5px #DCE6FF}
.wb-av img{position:absolute;left:50%;bottom:-3px;width:32px;height:auto;transform:translateX(-50%)}
.wb-who{min-width:0}
.wb-who b{display:block;font-size:14.5px;font-weight:700;line-height:1.2}
.wb-who span{display:block;font-size:11.5px;color:var(--g1);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wb-who span i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#1FA36B;margin-right:5px;vertical-align:1px}
.wb-who span.wait i{background:#F2A33A}.wb-who span.live i{background:#2D64FA}
.wb-agent{margin-left:auto;display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 11px;border-radius:40px;border:1px solid #DCDFE4;font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap;flex:0 0 auto}
.wb-agent svg{width:15px;height:15px}.wb-agent:hover{border-color:var(--ink)}
.wb-agent.on{background:#EEF3FF;border-color:#D6E2FF;color:var(--blue)}
.wb-x{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:var(--ink);flex:0 0 auto}.wb-x:hover{background:#F2F4F6}.wb-x svg{width:13px;height:13px}
.wb-body{flex:1;overflow-y:auto;padding:16px 16px 8px;scroll-behavior:smooth;overscroll-behavior:contain}
.wb-intro{margin-bottom:12px}
.wb-hello{font-size:14.5px;line-height:1.55;font-weight:600;color:var(--ink)}
.wb-hint{margin-top:6px;font-size:13px;line-height:1.55;color:var(--g1)}
.wb-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:6px}
.wb-chips button{height:32px;padding:0 13px;border-radius:40px;border:1px solid #DCDFE4;font-size:12.5px;color:var(--ink);background:#fff;transition:border-color .2s,background .2s}.wb-chips button:hover{border-color:var(--blue);color:var(--blue);background:#F5F8FF}
.wb-chips.used{display:none}
.wb-msgs{display:flex;flex-direction:column;gap:10px;padding-top:6px}
.wb-row{display:flex;gap:8px;align-items:flex-end;max-width:100%}
.wb-row.u{justify-content:flex-end}
.wb-row .wb-av{width:26px;height:26px;box-shadow:none;flex:0 0 auto}.wb-row .wb-av img{width:22px;bottom:-2px}
.wb-row .wb-av.ag{background:#16171B;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700;overflow:visible}
.wb-m{max-width:82%;padding:10px 13px;border-radius:16px;font-size:14px;line-height:1.55;white-space:pre-wrap;word-break:break-word}
.wb-row.u .wb-m{background:var(--blue);color:#fff;border-bottom-right-radius:5px}
.wb-row.b .wb-m{background:#F2F4F6;color:var(--ink);border-bottom-left-radius:5px}
.wb-row.a .wb-m{background:#EEF3FF;color:var(--ink);border-bottom-left-radius:5px}
.wb-row.s{justify-content:center}.wb-row.s .wb-m{max-width:92%;background:transparent;color:var(--g1);font-size:12.5px;text-align:center;padding:4px 8px}
.wb-row.s .wb-m a,.wb-row.b .wb-m a{color:var(--blue);text-decoration:underline;font-weight:600}
.wb-m .cur{display:inline-block;width:2px;height:1em;background:var(--ink);vertical-align:-2px;margin-left:1px;animation:wbCur .8s steps(1) infinite}
@keyframes wbCur{50%{opacity:0}}
.wb-typing{display:inline-flex;gap:4px;align-items:center;height:16px}.wb-typing i{width:6px;height:6px;border-radius:50%;background:#B9BEC9;animation:wbDot 1.1s infinite}.wb-typing i:nth-child(2){animation-delay:.15s}.wb-typing i:nth-child(3){animation-delay:.3s}
@keyframes wbDot{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.wb-time{font-size:10.5px;color:var(--g2);white-space:nowrap;margin-bottom:2px}
.wb-hand{margin:8px 0 4px;padding:14px;border:1px solid #D6E2FF;background:#F5F8FF;border-radius:14px}
.wb-hand[hidden]{display:none}
.wb-hand p{font-size:13px;line-height:1.55;color:var(--g1);margin-bottom:10px}.wb-hand p b{color:var(--ink)}
.wb-hand input:not([type=checkbox]){display:block;width:100%;height:40px;border:1px solid #DCDFE4;border-radius:10px;padding:0 12px;font-size:14px;margin-bottom:8px;background:#fff;outline:0}.wb-hand input:focus{border-color:var(--blue)}
.wb-agree{display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.5;color:var(--g1);margin:2px 0 10px}.wb-agree input{margin-top:2px;accent-color:var(--blue)}
.wb-hand-btns{display:flex;gap:8px;justify-content:flex-end}
.wb-btn{height:36px;padding:0 16px;border-radius:40px;background:var(--blue);color:#fff;font-size:13px;font-weight:700}.wb-btn.ghost{background:#fff;color:var(--ink);border:1px solid #DCDFE4}.wb-btn[disabled]{opacity:.5}
.wb-in{position:relative;margin:8px 12px 0;background:#F4F5F7;border-radius:14px;padding:10px 48px 10px 14px;border:1px solid transparent;transition:border-color .2s,background .2s}
.wb-in:focus-within{border-color:#C9D6FF;background:#fff}
.wb-in textarea{width:100%;border:0;background:transparent;resize:none;font-size:14px;line-height:1.5;outline:0;color:var(--ink);min-height:22px;max-height:120px;display:block}
.wb-in textarea::placeholder{color:#9CA0AB}
.wb-send{position:absolute;right:8px;bottom:7px;width:32px;height:32px;border-radius:50%;background:#C9CCD3;color:#fff;display:grid;place-items:center;transition:background .2s,transform .2s}.wb-send svg{width:14px;height:14px}
.wb-in.has .wb-send{background:var(--blue)}.wb-in.has .wb-send:hover{transform:scale(1.06)}.wb-send[disabled]{opacity:.5}
.wb-note{padding:8px 16px 12px;text-align:center;font-size:10.5px;color:var(--g2);line-height:1.5}.wb-note a{color:var(--g1);font-weight:600;text-decoration:underline}
.wb-end{display:block;margin:6px auto 2px;font-size:12px;color:var(--g1);text-decoration:underline}

/* 데스크톱에서는 모바일용 캡션을 숨긴다 */
.tb-mcap,.pd-mt,.pd-mx{display:none}

/* 등장 */
.rv{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform 1s cubic-bezier(.2,.8,.2,1)}
.rv.in{opacity:1;transform:none}

/* ---------- 좁은 화면 ---------- */
@media (max-width:1100px){
 .gnb-nav a{padding:4px 12px}
 .tb-row{grid-template-columns:320px minmax(0,1fr);padding:0 40px}.pd-row{grid-template-columns:260px minmax(0,1fr);gap:48px;padding:0 40px}
 .tb-name{font-size:40px}.pd-name{font-size:34px}
 .ft-cols{gap:12px 28px}
}
@media (max-width:860px){
 :root{--hh:56px}
 .gnb-nav,.gnb-r .pill{display:none}
 .gnb-burger{display:block}
 .brand img{height:22px}
 .gnb-mob{display:flex;flex-direction:column;background:#fff;padding:8px 20px 20px;border-top:1px solid var(--line);max-height:0;overflow:hidden;padding-top:0;padding-bottom:0;transition:max-height .35s,padding .35s}
 .gnb.is-open .gnb-mob{max-height:420px;padding-top:8px;padding-bottom:20px}
 .gnb-mob a{padding:14px 4px;font-size:17px;border-bottom:1px solid var(--line)}
 .gnb-mob a.is-here{color:var(--blue)}
 .gnb-mob-cta{margin-top:14px;border:0!important;background:var(--blue);color:#fff;border-radius:40px;text-align:center;font-weight:700}
 .gnb.is-over.is-open{background:#fff}.gnb.is-over.is-open .brand-c{display:block!important}.gnb.is-over.is-open .brand-w{display:none!important}.gnb.is-over.is-open .gnb-burger{color:var(--ink)}
 .hero{height:100svh;max-height:720px}
 .hero h1{font-size:38px}.hero p{font-size:16px}
 .hero-btns{flex-direction:column;align-items:center}.hero-btns .pill{height:52px;font-size:16px;min-width:220px}
 .metric-list{grid-template-columns:repeat(3,1fr);row-gap:26px}
 .metric-list b{font-size:24px}.metric-list span{font-size:12.5px}
 .logos{padding:28px 16px}.lg-row{gap:12px 22px}.lg-row+.lg-row{margin-top:14px}.lg{font-size:14px}.lg-ax i{width:14px;height:14px}
 .sec-title{font-size:28px}.sec-sub{font-size:15.5px}
 .show{padding-top:70px}
 .band{margin-top:28px}.bd-track{gap:8px;animation-duration:50s}
 .bd-item{height:220px;width:calc(var(--w) * .62)}.bd-col{height:220px;width:calc(var(--w) * .62)}.bd-col .bd-item{width:100%;height:calc(50% - 4px)}
 .bd-item:after,.bd-cap{opacity:1;transform:none}.bd-cap b{font-size:14px}.bd-cap em{display:none}
 /* 고정 탭 → 차례로 쌓기 */
 .tb,.pd{height:auto;margin-top:80px}
 .tb-pin,.pd-pin{position:static;height:auto;padding-top:0;overflow:visible;background:#fff!important}
 .tb.is-dark .sec-title,.tb.is-dark .tb-cap{color:inherit}
 .tb-row,.pd-row{display:block;margin-top:36px;padding:0 20px}
 .tb-list,.tb-stage .tb-caps{display:none}
 .tb-strip{height:auto;display:flex;flex-direction:column;gap:28px}
 .tb-fig{flex:none!important;width:100%;height:auto}
 .tb-fig:not(.is-on) img{filter:none}
 .pd-list{display:none}
 .pd-stage{height:auto;max-width:none;display:flex;flex-direction:column;gap:44px}.pd-shot .shot-frame{height:auto}.shot-frame{padding:16px 16px 0;border-radius:8px}.shot-frame img{border-radius:6px 6px 0 0}
 .pd-shot{position:static;opacity:1;visibility:visible;transform:none}
 .pd-mt{display:block;align-self:flex-start;font-size:26px;font-weight:700;margin-bottom:12px;background:linear-gradient(90deg,var(--sky),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}
 .pd-mx{display:block;margin-top:14px;font-size:15px;line-height:1.6;color:#40444F}
 .tb-mcap{display:block;margin-top:12px;font-size:15px;line-height:1.6;color:var(--g1)}.tb-mcap b{display:block;font-size:20px;color:var(--ink);margin-bottom:4px}
 .tb-fig img{aspect-ratio:16/10;height:auto;border-radius:8px}
 .pd-shot .pill{align-self:flex-start;margin-top:16px}
 .wh{padding:70px 0 30px}
 .wh-row{grid-template-columns:1fr;min-height:0;gap:20px}.wh-text .sec-title{font-size:24px}
 .wh-stage{height:480px}.wh-scene{perspective:1100px}
 .wh-card{width:280px;height:158px;left:-140px;top:-79px;--r:250px}.wh-in b{font-size:16px}
 .wh-ghost{display:none}
 .pd-name .soon,.pl-text .soon{font-size:11px;padding:3px 7px;margin-left:8px}
 .wb{right:0;left:0;top:0;bottom:0;width:auto;height:auto;border-radius:0;padding-bottom:env(safe-area-inset-bottom)}.wb-hd{padding-top:calc(12px + env(safe-area-inset-top))}
 .wb-agent svg{display:none}.wb-agent{padding:0 10px;font-size:12px}.wb-m{max-width:88%}.wb-in{margin:8px 10px 0}
 .ava{right:14px;bottom:14px;width:124px}.ava-img{height:118px}.ava-img img{width:96px}.ava b{font-size:11.5px;padding:10px}
 .diag{padding:70px 20px}
 .diag-cards{grid-template-columns:1fr;margin-top:32px}.diag-card{height:120px}.diag-card b{font-size:20px}
 .pg-top{padding:calc(var(--hh) + 60px) 20px 40px}.pg-title{font-size:30px}.pg-sub{font-size:15.5px}
 .blk{padding:60px 0}
 .acc-hd{flex-wrap:wrap;gap:4px 12px;padding:20px 2px}.acc-k{flex-basis:100%}.acc-t{font-size:17px}
 .acc-in{grid-template-columns:1fr;gap:18px;padding:0 2px 22px}
 .pl{gap:60px;margin-top:36px}.pl-item{grid-template-columns:1fr;gap:24px}.pl-item.is-rev .shot-frame{order:0}
 .pl-text h3{font-size:25px}
 .pr-row{grid-template-columns:1fr auto;gap:6px 16px;padding:20px 4px}
 .pr-row.pr-head{display:none}.pr-cat{grid-column:1/3}.pr-main{grid-column:1/3}.pr-days{font-size:13.5px}
 .st3{grid-template-columns:1fr}
 .llm-tiers{grid-template-columns:1fr;gap:12px;margin-top:30px}.llm-tier{padding:22px 20px}.llm-use{min-height:0}.llm-ops{padding:20px}.llm-ops-row{grid-template-columns:1fr}.llm-tbl{font-size:12.5px;margin-top:24px}.llm-tbl th,.llm-tbl td{padding:9px 8px}
 .ax-price{grid-template-columns:1fr;gap:14px;margin-top:30px}.axp-col{padding:24px 20px}.axp-col>b{font-size:30px}.axp-tiers div{grid-template-columns:1fr;gap:4px}
 .ach{grid-template-columns:1fr 1fr}.ach li{padding:20px 16px}.ach b{font-size:30px}
 .rules li{grid-template-columns:44px 1fr;gap:10px}.rules b{font-size:17px}
 .cq{padding:calc(var(--hh) + 48px) 16px 80px}.cq-title{font-size:28px}.cq-two{grid-template-columns:1fr}.cq-check,.cq-check svg{width:100px;height:100px}.cq-done h2{font-size:23px}.cq-next{flex-direction:column;align-items:center}
 .nt-row{grid-template-columns:1fr;gap:4px}.nt-d{text-align:left}
 .pdf-item{grid-template-columns:1fr;gap:14px;padding:20px}.pdf-item .pill{justify-self:start}
 .nt-art h2{font-size:24px}
 .band-wrap{padding:20px 16px 70px}.band-cta{flex-direction:column;align-items:flex-start;padding:32px 26px}.band-cta p{font-size:20px}
 .ft-top{flex-direction:column;padding-bottom:40px}.ft-cols{grid-template-columns:repeat(3,1fr);gap:28px 16px}
 .ft-bot{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
