/* 팀플럿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:788px;max-height:100svh;min-height:560px;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(9,12,24,.55) 0,rgba(9,12,24,.62) 60%,rgba(9,12,24,.78) 100%)}
@keyframes heroIn{to{transform:scale(1)}}
.hero-in{position:relative;z-index:1;padding:0 20px}
.hero h1{font-size:56px;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:57px;font-size:18px;padding:0 24px}

/* 실측 수치 띠 (레퍼런스의 고객사 로고 띠 자리) */
.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}

/* 운영 중인 서비스 모자이크 (레퍼런스: 사례 사진 모자이크) */
.show{padding:100px 0 0}
.show-btn{text-align:center;margin-top:28px}
.mosaic{display:grid;grid-template-columns:2.35fr 1fr 1.55fr 1.05fr;gap:12px;height:356px;margin-top:40px}
.mo-col{display:grid;grid-template-rows:1fr 1fr;gap:12px;min-height:0}
.mo-item{position:relative;display:block;overflow:hidden;background:#EEF1F6;min-height:0}
.mo-item img{width:100%;height:100%;object-fit:cover;object-position:top left;transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.mo-item:hover img{transform:scale(1.04)}
.mo-item:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,12,20,0) 45%,rgba(10,12,20,.72))}
.mo-cap{position:absolute;left:20px;right:20px;bottom:18px;z-index:1;color:#fff;display:flex;flex-direction:column;gap:2px}
.mo-cap b{font-size:15px;font-weight:700}.mo-cap em{font-style:normal;font-size:12.5px;opacity:.85}.mo-cap i{font-style:normal;font-size:12.5px;font-weight:600;opacity:.85;margin-top:4px}

/* 고정 탭 섹션 (레퍼런스 «AI교육과 AX구축»: 탭 48/700 · 비활성 옅은 회색 · 활성 하늘→파랑 글자) */
.tb{position:relative;height:calc(100vh * (var(--n) * .75 + .6));margin-top:120px}
.tb-pin{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;padding-top:var(--hh);overflow:hidden}
.tb-row{display:grid;grid-template-columns:440px 1fr;gap:80px;max-width:1240px;width:100%;margin:56px auto 0;padding:0 0 0 20px}
.tb-list{display:flex;flex-direction:column;gap:30px}
.tb-name{display:block;text-align:left;font-size:48px;font-weight:700;line-height:1.2;letter-spacing:-.02em;color:#E9EBEF;transition:color .35s}
.tb-name:hover{color:#D5D8DE}
.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:40px;padding:0 12px 0 16px;border-radius:40px;background:#F2F4F6;font-size:16px;color:var(--g1);margin-top:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .4s,opacity .3s,margin .4s}
.tb-more svg{width:16px;height:16px}
.tb-item.is-on .tb-more{max-height:40px;opacity:1;margin-top:16px}
.tb-stage{min-width:0}
.tb-track{position:relative;height:330px}
.tb-fig{position:absolute;top:0;left:0;width:584px;max-width:78%;height:330px;border-radius:8px;overflow:hidden;background:#EEF1F6;transition:transform .7s cubic-bezier(.2,.8,.2,1),width .7s cubic-bezier(.2,.8,.2,1),filter .7s,opacity .5s;transform-origin:left center}
.tb-fig img{width:100%;height:100%;object-fit:cover;object-position:top left}
.tb-caps{position:relative;margin-top:36px;min-height:60px;max-width:584px}
.tb-cap{position:absolute;inset:0 auto auto 0;font-size:18px;line-height:1.55;color:var(--g1);opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}
.tb-cap b{display:block;font-size:13px;font-weight:700;color:var(--blue);letter-spacing:.02em;margin-bottom:6px}
.tb-cap.is-on{opacity:1;transform:none}

/* 프로덕트 (레퍼런스: 이름 48/700 · 설명 · 진행 막대 · 파란 그라데이션 틀) */
.pd{position:relative;height:calc(100vh * (var(--n) * .8 + .5));margin-top:40px}
.pd-pin{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;padding-top:var(--hh);overflow:hidden}
.pd-row{display:grid;grid-template-columns:400px 1fr;gap:80px;max-width:1240px;width:100%;margin:48px auto 0;padding:0 20px}
.pd-list{display:flex;flex-direction:column;gap:26px;padding-top:6px}
.pd-name{display:block;text-align:left;font-size:48px;font-weight:700;line-height:1.2;letter-spacing:-.02em;color:#E9EBEF;transition:color .35s}
.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:220px;opacity:1}
.pd-body p{margin-top:16px;font-size:17px;line-height:1.55;color:#40444F}
.pd-bar{display:block;margin-top:24px;width:200px;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:460px}
.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%}
.pd-shot .pill{margin-top:24px}
.shot-frame{border-radius:8px;padding:18px 18px 0;background:linear-gradient(120deg,var(--blue) 0,#35C8F2 100%);overflow:hidden}
.shot-frame img{width:100%;aspect-ratio:16/9.2;object-fit:cover;object-position:top left;border-radius:6px 6px 0 0;box-shadow:0 10px 30px rgba(10,30,90,.25)}

/* 운영 원칙 부채꼴 (레퍼런스 «기업 사례» 카드 부채) */
.fan{padding:160px 0 150px;overflow:hidden}
.fan-row{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center}
.fan-text .sec-title{text-align:left}.fan-text .sec-sub{text-align:left;max-width:440px}
.fan-text .pill{margin-top:32px;min-width:200px}
.fan-stage{position:relative;height:520px}
.fan-card{position:absolute;left:50%;top:50%;width:340px;height:230px;margin:-115px 0 0 -170px;border-radius:16px;padding:26px 28px;color:#fff;
 background:linear-gradient(135deg,#1E3FAE 0,#2D64FA 55%,#5BB8FF 100%);box-shadow:0 30px 60px rgba(20,40,110,.22);
 transform:rotate(calc(var(--r,0) * 1deg)) translate(calc(var(--tx,0) * 1px),calc(var(--ty,0) * 1px));transition:transform .15s linear;display:flex;flex-direction:column}
.fan-card:nth-child(2){background:linear-gradient(135deg,#101A3D 0,#243B8F 60%,#3E6BFF 100%)}
.fan-card:nth-child(3){background:linear-gradient(135deg,#1C2233 0,#2F3A5C 100%)}
.fan-card:nth-child(4){background:linear-gradient(135deg,#2A55E8 0,#48A7FF 100%)}
.fan-card:nth-child(5){background:linear-gradient(135deg,#0F1530 0,#1D2A66 50%,#2D64FA 100%)}
.fan-no{font-size:12.5px;font-weight:700;opacity:.75;letter-spacing:.02em}
.fan-card h3{margin-top:10px;font-size:22px;font-weight:700;line-height:1.35;letter-spacing:-.02em}
.fan-d{margin-top:auto;font-size:13.5px;line-height:1.55;opacity:.82}

/* 어두운 진단 띠 (레퍼런스: #25272D · 카드 두 장) */
.diag{background:var(--dark);padding:100px 20px}
.diag-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:1080px;margin:48px auto 0}
.diag-card{position:relative;height:180px;border-radius:8px;background:#383A42;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:28px;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% 140% at 85% 115%,#8A3CFF 0,#2D64FA 32%,rgba(45,100,250,0) 62%),#16171C}

/* 하위 페이지 머리 */
.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}

/* 회사 소개 */
.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)}

/* 문의 */
.cf{display:grid;grid-template-columns:320px 1fr;gap:64px;align-items:start}
.cf-side{position:sticky;top:100px;background:var(--gray);border-radius:12px;padding:30px 28px}
.cf-side h3{font-size:18px;font-weight:700}
.cf-side ol{margin-top:18px;counter-reset:s}
.cf-side li{counter-increment:s;position:relative;padding:0 0 18px 34px}
.cf-side li:before{content:counter(s);position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:var(--blue);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center}
.cf-side li b{display:block;font-size:15.5px}.cf-side li span{display:block;margin-top:2px;font-size:14px;color:var(--g1)}
.cf-mail{margin-top:8px;padding-top:18px;border-top:1px solid #E1E4EA;font-size:14px;line-height:1.8;color:var(--g1)}
.cf-set{border:0;padding:0 0 40px;margin-bottom:40px;border-bottom:1px solid var(--line)}
.cf-set legend{font-size:21px;font-weight:700;letter-spacing:-.02em;padding:0}
.cf-set legend b{color:var(--blue);margin-right:8px}.cf-set legend em{font-style:normal;color:#E5484D}
.cf-hint{margin-top:8px;font-size:14.5px;color:var(--g1)}.cf-hint a{text-decoration:underline}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-flex;height:42px;align-items:center;padding:0 18px;border-radius:40px;border:1px solid #DCDFE4;font-size:15px;cursor:pointer;transition:all .2s}
.chips input:checked+span{background:var(--blue);border-color:var(--blue);color:#fff}
.chips input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
.cf-set textarea,.cf-set input:not([type=checkbox]),.cf-set select{display:block;width:100%;margin-top:14px;border:1px solid #DCDFE4;border-radius:10px;padding:14px 16px;font-size:16px;background:#fff;outline:0;transition:border-color .2s}
.cf-set textarea{min-height:170px;line-height:1.65;resize:vertical}
.cf-set textarea:focus,.cf-set input:focus,.cf-set select:focus{border-color:var(--blue)}
.cf-set select{appearance:none;-webkit-appearance:none;background:#fff 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='%239CA0AB' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 16px center;color:var(--g1)}
.cf-set select.has{color:var(--ink)}
.cf-two{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.agree{display:flex;gap:10px;align-items:flex-start;margin-top:18px;font-size:14.5px;line-height:1.6;color:var(--g1);cursor:pointer}
.agree input{width:18px;height:18px;margin-top:2px;accent-color:var(--blue);flex:0 0 auto}
.agree b{color:var(--ink)}
.fmsg{min-height:1.5em;font-size:15px;font-weight:600;color:var(--blue)}.fmsg.err{color:#E5484D}
.cf-send{margin-top:14px;height:57px;font-size:17px;padding:0 34px}
.cf-send[disabled]{opacity:.55;pointer-events:none}
.cf-done{display:none;padding:60px 0;text-align:center}
.cf-done h3{font-size:26px;font-weight:700;line-height:1.4}.cf-done h3 b{color:var(--blue)}
.cf-done p{margin-top:14px;font-size:16px;color:var(--g1)}

/* 공지 */
.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:var(--gray);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}

/* 데스크톱에서는 모바일용 캡션을 숨긴다 */
.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,.pd-row{grid-template-columns:320px 1fr;gap:40px}
 .tb-name,.pd-name{font-size:40px}
 .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}
 .sec-title{font-size:28px}.sec-sub{font-size:15.5px}
 .show{padding-top:70px}
 .mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:180px;height:auto;padding:0 12px;gap:8px}
 .mosaic>.mo-0{grid-column:1/3}.mo-col{display:contents}
 /* 고정 탭 → 차례로 쌓기 */
 .tb,.pd{height:auto;margin-top:80px}
 .tb-pin,.pd-pin{position:static;height:auto;padding-top:0;overflow:visible}
 .tb-row,.pd-row{display:block;margin-top:36px;padding:0 20px}
 .tb-list,.tb-stage .tb-caps{display:none}
 .tb-track{height:auto;display:flex;flex-direction:column;gap:28px}
 .tb-fig{position:static;width:100%!important;max-width:none;height:auto;transform:none!important;filter:none!important;opacity:1!important;aspect-ratio:16/10}
 .pd-list{display:none}
 .pd-stage{height:auto;display:flex;flex-direction:column;gap:44px}
 .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{aspect-ratio:auto}.tb-fig img{aspect-ratio:16/10;height:auto;border-radius:8px}
 .pd-shot .pill{align-self:flex-start;margin-top:16px}
 .fan{padding:90px 0}
 .fan-row{grid-template-columns:1fr}
 .fan-stage{height:420px}
 .fan-card{width:300px;height:210px;margin:-105px 0 0 -150px;padding:22px}
 .fan-card h3{font-size:19px}
 .diag{padding:70px 20px}
 .diag-cards{grid-template-columns:1fr;margin-top:32px}.diag-card{height:140px}.diag-card b{font-size:22px}
 .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}
 .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}
 .cf{grid-template-columns:1fr;gap:36px}.cf-side{position:static}
 .cf-two{grid-template-columns:1fr}
 .nt-row{grid-template-columns:1fr;gap:4px}.nt-d{text-align:left}
 .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}}
