/* 크기 표기 {{px@1440|최소px}} → max(최소, vw) 로 빌드 때 바뀐다 */
:root{--blue:#1557F3;--sky:#1289F3;--navy:#0D225D;--foot:#071438;--ink:#111;--ink2:#282828;--g1:#404040;--g2:#525252;--g3:#636363;--line:#E5E5E5;
  --sans:"Pretendard Variable",Pretendard,-apple-system,system-ui,sans-serif;--en:"Satoshi","Pretendard Variable",Pretendard,sans-serif;
  --gut:max(20px,4.167vw);--hh:max(64px,6.944vw)}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;overflow-x:clip;max-width:100%}
body{font-family:var(--sans);background:#fff;color:var(--ink);word-break:keep-all;overflow-x:clip;max-width:100vw;-webkit-font-smoothing:antialiased;line-height:1.6}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font-family:inherit;color:inherit}
.gw{padding-left:var(--gut);padding-right:var(--gut)}
.en{font-family:var(--en)}
@media(hover:hover) and (pointer:fine){body.cur-on,body.cur-on a,body.cur-on button,body.cur-on label,body.cur-on input,body.cur-on select,body.cur-on textarea{cursor:none}}

.veil{position:fixed;inset:0;z-index:200;background:#2B7FF2;pointer-events:none;clip-path:circle(150% at 50% 50%);transition:clip-path .9s cubic-bezier(.76,0,.24,1)}
.veil.off{clip-path:circle(0% at -10% 50%)}.veil.none{display:none}

.cur,.cur-ring{position:fixed;left:0;top:0;z-index:300;pointer-events:none;opacity:0;transition:opacity .3s}
.cur{width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#1D4FB8;transition:opacity .3s,width .3s,height .3s,margin .3s,background .3s}
.cur-ring{width:104px;height:104px;margin:-52px 0 0 -52px;color:#1b1b1b}
.cur-ring svg{width:100%;height:100%;animation:rot 10s linear infinite}
.cur-ring text{font-family:var(--en);font-size:9.4px;font-weight:700;letter-spacing:.09em;fill:currentColor}
body.cur-on .cur,body.cur-on .cur-ring{opacity:1}
body.cur-dark .cur{background:#fff}body.cur-dark .cur-ring{color:#fff}
body.cur-link .cur{width:60px;height:60px;margin:-30px 0 0 -30px;background:rgba(140,185,255,.55)}
body.cur-link .cur-ring{opacity:0}
@keyframes rot{to{transform:rotate(360deg)}}
@media(hover:none),(pointer:coarse){.cur,.cur-ring{display:none}}

/* ---------- 머리말 ---------- */
.hdr{position:fixed;inset:0 0 auto;z-index:80;height:var(--hh);display:flex;align-items:center;justify-content:space-between;padding:0 var(--gut);background:#fff;transition:background .3s,transform .55s cubic-bezier(.2,.85,.25,1)}
.hdr.hide{transform:translateY(-110%)}
.hdr.clear{background:transparent}
.logo{font-weight:800;font-size:max(20px,1.875vw);letter-spacing:-.045em;color:var(--ink);display:inline-flex;align-items:baseline;gap:.45em;white-space:nowrap;transition:color .3s}
.logo u{display:inline-block;width:.24em;height:.24em;background:var(--blue);margin:0 .04em;text-decoration:none;transition:background .3s}
.logo small{font-family:var(--en);font-size:.46em;font-weight:700;letter-spacing:.16em;opacity:.55}
.hdr-r{display:flex;align-items:center;gap:max(10px,1.944vw)}
.btn-q{border:1.5px solid var(--ink);border-radius:100px;padding:0 max(14px,1.528vw);height:max(36px,3.056vw);display:inline-flex;align-items:center;font-size:max(13px,1.250vw);font-weight:500;transition:.25s}
.btn-q:hover{background:var(--ink);color:#fff}
.burger{width:44px;height:44px;display:grid;place-content:center;gap:7px;background:none;border:0}
.burger i{display:block;width:28px;height:2px;background:var(--ink);transition:.3s}
.hdr.on-dark .logo,.hdr.on-dark .btn-q{color:#fff}.hdr.on-dark .logo u{background:#fff}
.hdr.on-dark .btn-q{border-color:rgba(255,255,255,.7)}.hdr.on-dark .btn-q:hover{background:#fff;color:var(--blue)}
.hdr.on-dark .burger i{background:#fff}

/* ---------- 전체화면 메뉴 ---------- */
.menu{position:fixed;inset:0;width:100%;max-width:100vw;overflow:hidden auto;z-index:90;background:#2B7FF2;color:#fff;visibility:hidden;
  clip-path:circle(0% at calc(100% - var(--gut) - 22px) calc(var(--hh) / 2));transition:clip-path .8s cubic-bezier(.76,0,.24,1)}
.menu.open{clip-path:circle(160% at calc(100% - var(--gut) - 22px) calc(var(--hh) / 2));visibility:visible}.menu.closing{visibility:visible}
.menu-top{position:absolute;inset:0 0 auto;height:var(--hh);display:flex;align-items:center;justify-content:space-between;padding:0 var(--gut)}
.menu-top .logo{color:#fff}.menu-top .logo u{background:#fff}
.menu-close{width:44px;height:44px;background:none;border:0;position:relative}
.menu-close:before,.menu-close:after{content:"";position:absolute;left:7px;top:21px;width:30px;height:2px;background:#fff}
.menu-close:before{transform:rotate(45deg)}.menu-close:after{transform:rotate(-45deg)}
.menu nav{position:absolute;left:var(--gut);top:max(120px,13.611vw)}
.menu nav a{display:flex;align-items:center;font-size:max(38px,6.312vw);font-weight:500;letter-spacing:-.022em;line-height:1.2;height:max(58px,9.236vw);color:rgba(255,255,255,.4);transition:color .3s,padding .45s cubic-bezier(.2,.9,.3,1)}
.menu nav a:before{content:"";width:0;height:.17em;border-radius:50%;background:#fff;opacity:0;transition:.4s cubic-bezier(.2,.9,.3,1);margin-right:0}
.menu nav a:hover,.menu nav a.here{color:#fff;padding-left:max(8px,1.389vw)}
.menu nav a:hover:before,.menu nav a.here:before{width:.17em;opacity:1;margin-right:.25em}
.menu nav a span{display:block;transform:translateY(60%);opacity:0;transition:transform .8s cubic-bezier(.2,.9,.3,1),opacity .6s}
.menu.open nav a span{transform:none;opacity:1}
.menu.open nav a:nth-child(2) span{transition-delay:.07s}.menu.open nav a:nth-child(3) span{transition-delay:.14s}.menu.open nav a:nth-child(4) span{transition-delay:.21s}.menu.open nav a:nth-child(5) span{transition-delay:.28s}
.menu .info{position:absolute;left:65.2%;top:19.028vw;width:max(240px,20.833vw)}
.menu .info dt{font-size:16px;font-weight:500;color:#E2E2E2;letter-spacing:-.02em}
.menu .info dd{font-size:max(16px,1.389vw);font-weight:500;color:#FAFAFA;margin-bottom:max(16px,1.806vw);line-height:1.6}
@media(max-width:860px){.menu .info{position:static;padding:0 var(--gut);margin-top:420px}.menu nav{top:96px}}

/* ---------- 글자 단위 등장 ---------- */
.sp{display:inline-block;white-space:pre}
.sp-w{display:inline-block;white-space:nowrap}
[data-split] .sp{opacity:0;transform:translateY(.55em);transition:opacity .7s ease,transform .9s cubic-bezier(.2,.85,.25,1);transition-delay:calc(var(--i) * 22ms)}
[data-split].in .sp{opacity:1;transform:none}
[data-scrub] .sp{opacity:.0;transform:translateY(.4em);transition:opacity .35s ease,transform .5s cubic-bezier(.2,.85,.25,1)}
[data-scrub] .sp.on{opacity:1;transform:none}
.rv{opacity:0;transform:translateY(40px);transition:opacity 1s ease,transform 1.1s cubic-bezier(.2,.85,.25,1)}
.rv.in{opacity:1;transform:none}.rv.d1{transition-delay:.1s}.rv.d2{transition-delay:.2s}.rv.d3{transition-delay:.3s}

/* ---------- 서브페이지 제목 ---------- */
.pt{padding:var(--hh) var(--gut) 0;position:relative}
.pt h1{font-family:var(--en);font-size:max(62px,12.125vw);font-weight:500;line-height:1.345;letter-spacing:-.01em;display:inline-block;position:relative;white-space:nowrap}
.pt h1.two{font-size:max(46px,8.306vw);line-height:1.3;padding-top:max(40px,10.000vw);font-weight:400}
.pt h1.two b{font-weight:700}
.pt h1 .l{display:block;overflow:hidden}
.pt h1 .l>span{display:inline-block;transform:translateY(105%);transition:transform 1.2s cubic-bezier(.2,.85,.25,1)}
.pt h1 .l:nth-child(2)>span{transition-delay:.14s}
.ready .pt h1 .l>span{transform:none}
.pt .chip{position:absolute;left:100%;top:max(12px,2.361vw);width:max(34px,5.139vw);margin-left:max(2px,0.417vw);opacity:0;transform:translateY(30px) rotate(-30deg) scale(.5);transition:opacity .8s .8s,transform 1.3s .8s cubic-bezier(.2,.9,.3,1)}
.ready .pt .chip{opacity:1;transform:none;animation:bob 6s ease-in-out 2.2s infinite}
@keyframes bob{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -12px;rotate:10deg}}
.pt .tag{margin-top:max(20px,3.472vw);display:flex;align-items:center;gap:max(10px,1.528vw);font-family:var(--en);font-size:max(16px,2.076vw);font-weight:500;color:var(--ink2);line-height:1.6;opacity:0;transform:translateY(20px);transition:1s .55s}
.pt .tag i{display:block;width:max(30px,4.722vw);height:1px;background:var(--ink2)}
.pt .sub{margin-top:max(18px,2.986vw);font-size:max(15px,1.667vw);color:var(--ink2);line-height:1.6;opacity:0;transform:translateY(20px);transition:1s .55s}
.ready .pt .tag,.ready .pt .sub{opacity:1;transform:none}

/* 커지는 그림 → 유리 배경 고정 구간 */
.grow{position:relative;margin-top:max(60px,10.417vw)}
.grow .pin{position:sticky;top:0;height:100svh;overflow:hidden;display:grid;place-items:center}
.grow .fr{width:100%;height:100%;overflow:hidden;will-change:clip-path;clip-path:inset(12% 20% 12% 20% round 0)}
.grow .fr img{width:100%;height:100%;object-fit:cover;will-change:transform}
.grow .fade{position:absolute;inset:auto 0 0;height:34%;background:linear-gradient(180deg,rgba(255,255,255,0),#fff);opacity:0;pointer-events:none}
.grow .over{position:relative;z-index:2;margin-top:-100svh;padding-top:100svh}
.ghead{padding:max(70px,11.111vw) var(--gut) 0}
.ghead h2.e{font-family:var(--en);font-size:max(38px,7.972vw);font-weight:400;line-height:1;letter-spacing:-.01em;background:linear-gradient(90deg,#1C5FE8,#2F8BF5 70%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ghead h2.e b{font-weight:700}
.ghead h2.k{font-size:max(36px,6.646vw);font-weight:700;line-height:1.2;letter-spacing:-.03em;background:linear-gradient(90deg,#174FD6,#2E86F3);-webkit-background-clip:text;background-clip:text;color:transparent}
.gbody{margin:max(36px,5.556vw) var(--gut) 0 auto;padding-right:0;width:45.000vw;max-width:calc(100% - var(--gut) * 2)}
.gbody p{font-size:max(17px,2.160vw);font-weight:700;line-height:1.6;letter-spacing:-.02em;color:var(--ink2);margin-bottom:max(18px,2.500vw)}
@media(max-width:860px){.gbody{width:auto;margin-left:var(--gut)}}

/* Achievement */
.achv{display:grid;grid-template-columns:40% 60%;padding:max(70px,12.500vw) var(--gut) max(90px,18.056vw);align-items:start}
.achv h3{font-size:max(28px,4.153vw);font-weight:500;line-height:1.2;color:var(--ink2);position:sticky;top:34vh}
.arow{display:flex;align-items:center;justify-content:space-between;height:max(96px,12.181vw);border-bottom:1px solid rgba(40,40,40,.08)}
.arow dt{font-family:var(--en);font-size:max(15px,1.667vw);font-weight:700;color:var(--ink2)}
.arow dd{font-family:var(--en);font-size:max(44px,6.389vw);font-weight:500;line-height:1.2;color:var(--sky);display:flex;align-items:flex-start}
.arow dd em{font-style:normal;font-size:.74em;font-weight:700;line-height:1;margin-top:.22em}
.arow dd small{font-family:var(--sans);font-size:max(13px,1.667vw);font-weight:700;align-self:flex-end;margin:0 0 .4em .1em}
@media(max-width:860px){.achv{grid-template-columns:1fr}.achv h3{position:static;margin-bottom:20px}}

/* 흰→검정 반전 큰 제목 */
.inv{position:relative;height:260vh;background:#fff}
.inv .pin{position:sticky;top:0;height:100svh;display:grid;place-items:center;overflow:hidden;background:#fff;color:#111;transition:background .6s ease,color .6s ease}
.inv.dk .pin{background:#111;color:#fff}
.inv h2{font-family:var(--en);text-align:center;font-size:max(62px,12.083vw);font-weight:400;line-height:1;letter-spacing:-.01em;will-change:transform}
.inv h2 b{display:block;font-weight:700;font-size:.96em}
.dk2{background:#111;color:#fff;padding:max(30px,4.167vw) var(--gut) max(100px,20.833vw);margin-top:-1px}
.dk2 .say{text-align:center;font-size:max(18px,2.257vw);font-weight:700;line-height:1.6;letter-spacing:-.02em;color:#FAFAFA}
.dk2 .say.thin{font-size:max(15px,1.667vw);font-weight:400}
.dk2 .date{text-align:center;margin-top:max(12px,1.389vw);font-size:16px;color:#BFBFBF}
.trio{margin-top:max(60px,8.333vw);display:grid;grid-template-columns:repeat(3,1fr);text-align:center;gap:30px}
.trio b{font-family:var(--en);display:block;font-size:max(60px,8.868vw);font-weight:700;line-height:1.2;color:var(--sky)}
.trio b small{font-family:var(--sans);font-size:.273em;font-weight:700;margin-left:.15em}
.trio strong{display:block;margin-top:max(8px,0.972vw);font-size:max(16px,1.667vw);font-weight:700}
.trio>div>span{display:block;margin-top:4px;font-size:max(13px,1.250vw);color:#BFBFBF}
@media(max-width:860px){.trio{grid-template-columns:1fr;gap:50px}}

/* 영문 큰 소제목 */
.sh{font-family:var(--en);font-size:max(42px,7.139vw);font-weight:500;line-height:1.3;letter-spacing:-.01em;padding:0 var(--gut)}
.sh b{font-weight:700}.sh.s{font-size:max(32px,4.653vw)}
.shs{padding:0 var(--gut);margin-top:max(16px,3.056vw);font-size:max(15px,1.667vw);color:var(--ink2)}

/* What We Do */
.wwd{padding:max(90px,14.583vw) 0 max(60px,9.028vw)}
.wi{display:grid;grid-template-columns:37.778vw 1fr;align-items:center;min-height:32.986vw;padding:0 var(--gut) 0 0;transition:opacity .6s,filter .6s}
.wi .ob{justify-self:center;width:max(150px,20.833vw);will-change:transform;transition:transform 1s cubic-bezier(.2,.9,.3,1)}
.wi.rev{grid-template-columns:1fr 37.778vw;padding:0 0 0 max(20px,6.667vw)}.wi.rev .ob{order:2}
.wi.dim{opacity:.22;filter:grayscale(1)}.wi.dim .ob{transform:scale(.86) rotate(-8deg)}
.wi .k{font-size:max(14px,1.389vw);font-weight:500;color:var(--g3)}
.wi h3{font-family:var(--en);font-size:max(26px,3.361vw);font-weight:700;line-height:1.2;color:var(--ink);margin-top:max(4px,0.556vw)}
.wi p{margin-top:max(16px,2.778vw);font-size:max(15px,1.667vw);line-height:1.6;color:var(--g1);max-width:55.625vw}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:max(22px,4.444vw)}
.tags span{border:1px solid #D4D4D4;border-radius:999px;height:max(34px,3.056vw);padding:0 max(12px,1.250vw);display:inline-flex;align-items:center;font-size:max(12.5px,1.111vw);font-weight:500;color:var(--ink2)}
@media(max-width:860px){.wi,.wi.rev{grid-template-columns:1fr;padding:30px var(--gut);gap:20px}.wi.rev .ob{order:0}.wi.dim{opacity:1;filter:none}.wi .ob{justify-self:start}}

/* 목록 행 */
.rows{margin:max(40px,8.333vw) var(--gut) 0;border-top:1px solid var(--line)}
.rw{display:flex;align-items:center;gap:max(12px,2.778vw);width:100%;height:max(78px,7.847vw);padding:0 0.000vw;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;transition:background .35s,color .35s,padding .45s cubic-bezier(.2,.9,.3,1)}
.rw .y{font-size:max(13px,1.389vw);color:var(--g2);flex:0 0 max(34px,3.333vw)}
.rw .n{font-size:max(16px,1.667vw);font-weight:500;color:var(--ink);white-space:nowrap}
.rw .s{font-size:max(12.5px,1.250vw);color:var(--g3);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rw .r{font-size:max(12.5px,1.250vw);color:var(--g3);white-space:nowrap;display:flex;gap:max(8px,1.250vw);align-items:center}
.rw .r b{font-family:var(--en);font-size:max(16px,1.806vw);font-weight:700;color:var(--ink);min-width:max(86px,10.417vw);text-align:right}
.rw .r b small{font-family:var(--sans);font-size:.6em;font-weight:500;margin-left:.2em}
.rw:hover{background:#2B7FF2;padding:0 max(10px,1.944vw)}.rw:hover *{color:#fff!important}
.rw.hl .n:after{content:"많이 찾는 항목";margin-left:12px;font-size:12px;font-weight:700;color:var(--sky);background:#EAF3FF;border-radius:999px;padding:.4em .9em;vertical-align:2px}
@media(max-width:860px){.rw{flex-wrap:wrap;height:auto;padding:16px 0;gap:4px 10px}.rw .s{flex-basis:100%;order:5;white-space:normal}.rw .y{display:none}.rw .r{margin-left:auto}}

/* 필터 */
.filt{display:flex;flex-wrap:wrap;gap:max(6px,0.833vw);padding:0 var(--gut);margin-top:max(24px,4.167vw)}
.filt button{border:1px solid #D4D4D4;background:#fff;border-radius:999px;height:max(38px,3.889vw);padding:0 max(16px,2.222vw);font-size:max(13.5px,1.250vw);color:var(--ink);transition:.25s}
.filt button:hover{border-color:var(--ink)}.filt button.on{background:#2B7FF2;border-color:#2B7FF2;color:#fff}

/* Works 격자 */
.wg{padding:max(24px,4.167vw) var(--gut) max(90px,16.667vw);display:grid;grid-template-columns:repeat(6,1fr);gap:max(40px,6.250vw) max(10px,1.111vw)}
.wk{grid-column:span 2;display:block;background:none;border:0;text-align:left}
.wk.big{grid-column:span 3}
.wk .ph{overflow:hidden;aspect-ratio:4/3;background:#EEF2F8;position:relative;display:grid;place-items:center}
.wk.big .ph{aspect-ratio:656/420}
.wk .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.85,.25,1)}
.wk .ph.mock{background:linear-gradient(150deg,#EEF3FB,#DCE6F6)}.wk .ph.mock img{width:78%;height:auto;box-shadow:0 30px 60px rgba(20,40,90,.28);transform:rotate(-4deg)}
.wk:hover .ph img{transform:scale(1.05)}.wk:hover .ph.mock img{transform:rotate(-1deg) scale(1.05)}
.wk .ph:after{content:"자세히 보기  →";position:absolute;left:50%;top:50%;transform:translate(-50%,-20%);opacity:0;border:1.4px solid #fff;color:#fff;border-radius:999px;height:max(44px,4.722vw);padding:0 max(20px,2.361vw);display:flex;align-items:center;font-size:max(13px,1.250vw);font-weight:700;background:rgba(7,20,56,.3);backdrop-filter:blur(6px);transition:.45s;white-space:pre}
.wk:hover .ph:after{opacity:1;transform:translate(-50%,-50%)}
.wk .d{margin-top:max(12px,1.806vw);font-size:max(13px,1.250vw);color:var(--g1)}.wk.big .d{font-size:max(14px,1.389vw)}
.wk .t{font-size:max(17px,1.667vw);font-weight:700;color:var(--ink2)}.wk.big .t{font-size:max(20px,2.222vw)}
@media(max-width:860px){.wg{grid-template-columns:1fr}.wk,.wk.big{grid-column:auto}}

.modal{position:fixed;inset:0;z-index:150;background:rgba(7,12,28,.92);backdrop-filter:blur(10px);display:none;overflow:auto;padding:max(80px,8.333vw) var(--gut) 80px}
.modal.open{display:block}
.modal .mx{position:fixed;right:var(--gut);top:26px;width:52px;height:52px;border-radius:50%;border:1.4px solid rgba(255,255,255,.5);background:none;color:#fff;font-size:24px}
.modal .mh{max-width:1200px;margin:0 auto 30px;color:#fff}
.modal .mh h3{font-size:max(22px,2.778vw);font-weight:700;letter-spacing:-.03em}.modal .mh p{margin-top:10px;opacity:.72;font-size:max(14px,1.250vw);max-width:46em}
.modal .mb{max-width:1200px;margin:0 auto;display:grid;gap:20px}.modal .mb img{width:100%}

/* OUR WORK 원 */
.ow{position:relative;height:240vh}
.ow .pin{position:sticky;top:0;height:100svh;overflow:hidden;display:grid;place-items:center;background:#EAF3FF}
.ow .bg{position:absolute;inset:-6%;background-size:cover;background-position:center;will-change:transform}
.ow a{position:relative;width:max(300px,52.778vw);aspect-ratio:1;border-radius:50%;background:#0A0A0A;color:#fff;display:grid;place-content:center;text-align:center;will-change:transform}
.ow a b{font-family:var(--en);font-size:max(64px,12.431vw);font-weight:400;line-height:1;display:block}.ow a b+b{font-weight:700}
.ow a span{margin-top:max(20px,4.167vw);font-size:max(14px,1.667vw);font-weight:700}
.owg{background:#0A0A0A;color:#fff;padding:max(50px,8.333vw) var(--gut) max(90px,18.056vw);display:grid;grid-template-columns:1fr 1fr;gap:max(40px,8.333vw) max(20px,8.333vw)}
.owg a{display:block}.owg a:nth-child(even){margin-top:6.944vw}
.owg .ph{aspect-ratio:1;overflow:hidden;background:#15171c;display:grid;place-items:center}
.owg .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.85,.25,1)}.owg .ph.mock img{width:80%;height:auto;transform:rotate(-4deg);box-shadow:0 30px 60px rgba(0,0,0,.5)}
.owg a:hover .ph img{transform:scale(1.05)}
.owg .d{margin-top:max(12px,2.083vw);font-size:max(13px,1.389vw);opacity:.9}.owg .t{font-size:max(19px,2.222vw);font-weight:700}
@media(max-width:860px){.owg{grid-template-columns:1fr}}

/* How We Work — 가로 고정 */
.hw{position:relative}
.hw .pin{position:sticky;top:0;height:100svh;overflow:hidden;padding-top:var(--hh)}
.hw .sh{font-size:max(42px,8.306vw);font-weight:400;line-height:1.3}
.hw .orb{position:absolute;left:-2.778vw;bottom:-13.194vw;width:max(300px,41.667vw);will-change:transform;pointer-events:none}
.hw .tr{position:absolute;left:0;top:max(250px,27.222vw);display:flex;gap:max(10px,0.833vw);padding-left:max(20px,49.375vw);will-change:transform}
.hc{flex:0 0 max(280px,36.806vw);height:max(380px,31.389vw);padding:max(28px,3.889vw);background:rgba(255,255,255,.62);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgba(229,229,229,.9)}
.hc em{font-family:var(--en);font-style:normal;font-size:max(14px,1.389vw);font-weight:700;color:var(--sky)}
.hc h4{margin-top:max(34px,4.444vw);font-size:max(24px,2.778vw);font-weight:700;line-height:1.2;color:var(--ink2);letter-spacing:-.02em}
.hc p{margin-top:max(14px,1.667vw);font-size:max(14.5px,1.389vw);line-height:1.6;color:var(--g2)}
@media(max-width:860px){.hw .pin{position:static;height:auto;padding-bottom:40px}.hw .tr{position:static;overflow-x:auto;transform:none!important;margin-top:30px;padding-right:20px;scrollbar-width:none}.hw .orb{opacity:.35}}

/* 아코디언 (검정) */
.acc{margin:max(50px,10.417vw) 0 0;border-top:1px solid rgba(255,255,255,.14)}
.acc .it{border-bottom:1px solid rgba(255,255,255,.14)}
.acc .hd{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:0;text-align:left;height:max(84px,11.111vw);padding:0 var(--gut);font-family:var(--en);font-size:max(28px,4.444vw);font-weight:500;transition:padding .5s cubic-bezier(.2,.9,.3,1)}
.acc .hd small{font-family:var(--sans);font-size:.3em;font-weight:500;opacity:.5;margin-left:1.4em}
.acc .hd i{position:relative;width:max(20px,1.944vw);height:max(20px,1.944vw);flex:0 0 auto}
.acc .hd i:before,.acc .hd i:after{content:"";position:absolute;left:0;top:50%;width:100%;height:2px;background:currentColor;transition:transform .45s}
.acc .hd i:after{transform:rotate(90deg)}.acc .it.open .hd i:after{transform:none}
.acc .it.open .hd,.acc .hd:hover{padding-left:calc(var(--gut) + max(6px,1.111vw))}
.acc .bd{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s cubic-bezier(.2,.85,.25,1)}.acc .it.open .bd{grid-template-rows:1fr}.acc .bd>div{overflow:hidden}
.acc .cols{display:grid;grid-template-columns:1fr 1fr;gap:max(16px,1.667vw);padding:max(6px,1.389vw) var(--gut) max(36px,6.250vw)}
.acc .cols h5{font-size:max(16px,1.667vw);font-weight:700;margin-bottom:max(8px,0.972vw)}
.acc .cols p{font-size:max(14.5px,1.389vw);font-weight:500;line-height:1.6}.acc .cols li{font-size:max(14px,1.250vw);line-height:1.9;list-style:none}.acc .cols li:before{content:"•";margin-right:.6em}
.acc.lt{border-color:var(--line);margin:max(40px,6.944vw) var(--gut) 0}.acc.lt .it{border-color:var(--line)}
.acc.lt .hd{font-family:var(--sans);font-size:max(18px,2.222vw);font-weight:700;height:max(76px,8.333vw);padding:0;letter-spacing:-.02em}.acc.lt .it.open .hd,.acc.lt .hd:hover{padding-left:max(6px,1.111vw)}
.acc.lt .cols{grid-template-columns:1fr;padding:0 0 max(24px,3.472vw)}.acc.lt .cols p{color:var(--g1);max-width:48em;font-weight:400;font-size:max(15px,1.528vw)}
@media(max-width:860px){.acc .cols{grid-template-columns:1fr}}

/* Benefits 식 카드 */
.bn{padding:max(70px,12.500vw) 0 max(90px,16.667vw)}
.bg3{margin:max(40px,8.333vw) var(--gut) 0;display:grid;grid-template-columns:repeat(3,1fr);gap:max(14px,1.667vw)}
.bx{border:1px solid var(--line);padding:max(24px,2.778vw);min-height:29.167vw;transition:.45s cubic-bezier(.2,.9,.3,1);background:#fff}
.bx:hover{transform:translateY(-10px);box-shadow:0 30px 60px rgba(30,60,140,.12);border-color:#2B7FF2}
.bx .ic{height:max(90px,10.417vw);margin-bottom:max(24px,4.167vw)}.bx .ic img{height:100%;width:auto}
.bx em{font-family:var(--en);font-style:normal;font-size:max(13px,1.250vw);font-weight:700;color:var(--sky);letter-spacing:.04em}
.bx b.big{display:block;font-family:var(--en);font-size:max(46px,5.833vw);font-weight:500;line-height:1.1;margin:max(6px,0.694vw) 0 max(12px,1.667vw)}.bx b.big small{font-family:var(--sans);font-size:.27em;font-weight:700;margin-left:.3em}
.bx h4{font-size:max(17px,1.667vw);font-weight:700;color:var(--ink)}
.bx p{margin-top:max(8px,1.111vw);font-size:max(14.5px,1.389vw);font-weight:500;line-height:1.6;color:var(--g1)}
.bx ul{margin-top:max(14px,1.806vw);padding-top:max(12px,1.528vw);border-top:1px solid var(--line);list-style:none}.bx li{font-size:max(14px,1.250vw);line-height:2;color:var(--g1)}.bx li:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--sky);margin-right:12px;vertical-align:3px}
.bx.on{background:linear-gradient(160deg,#2B7FF2,#1557F3);border:0;color:#fff}.bx.on em,.bx.on h4,.bx.on p,.bx.on li{color:#fff}.bx.on ul{border-color:rgba(255,255,255,.3)}.bx.on li:before{background:#fff}
.tri{margin:max(40px,8.333vw) var(--gut) 0;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:max(10px,1.389vw)}
.tri .bx{min-height:20.833vw}
.tri .ar{font-size:max(12px,1.111vw);font-weight:700;color:var(--sky);text-align:center;line-height:1.5}.tri .ar:after{content:"→";display:block;font-size:max(20px,2.083vw)}
.fine{margin:max(20px,2.778vw) var(--gut) 0;font-size:max(12.5px,1.111vw);line-height:1.8;color:#8A8A8A;max-width:74em}
@media(max-width:860px){.bg3,.tri{grid-template-columns:1fr}.tri .ar:after{content:"↓"}}

/* 문의 */
.cf{display:grid;grid-template-columns:38.750vw 1fr;padding:max(50px,10.417vw) var(--gut) 0;align-items:start}
.steps{position:sticky;top:30vh;padding-left:3.333vw;font-family:var(--en);font-size:max(30px,5.278vw);font-weight:500;line-height:1.6}
.steps a{display:flex;align-items:center;color:#C4C4C4;transition:color .35s}
.steps a:before{content:"";width:.2em;height:.2em;border-radius:50%;background:#2B7FF2;margin-left:-.58em;margin-right:.38em;opacity:0;transform:scale(0);transition:.35s}
.steps a.on{color:var(--ink2)}.steps a.on:before{opacity:1;transform:none}
.fs{padding-bottom:max(70px,13.889vw);scroll-margin-top:18vh;position:relative}
.fs .no{font-size:16px;font-weight:500;color:var(--ink2)}.fs .no b{font-family:var(--en);font-weight:500;margin-right:.5em}.fs .no i{font-style:normal;color:#2B7FF2;margin-left:4px}
.fs h3{margin-top:max(6px,0.556vw);font-size:max(20px,2.222vw);font-weight:700;line-height:1.6;color:var(--ink);letter-spacing:-.02em}
.fs .hint{margin-top:max(4px,0.556vw);font-size:max(14px,1.250vw);color:var(--g1)}
.req{position:absolute;right:0;top:-max(30px,4.444vw);font-size:14px;color:var(--ink2)}.req:before{content:"•";color:#2B7FF2;margin-right:6px}
.chips{display:flex;flex-wrap:wrap;gap:max(8px,0.833vw);margin-top:max(20px,3.333vw)}
.chips label{position:relative}.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-flex;align-items:center;border:1px solid #D4D4D4;border-radius:999px;height:max(42px,4.028vw);padding:0 max(16px,1.736vw);font-size:16px;color:var(--ink);transition:.25s}
.chips label:hover span{border-color:var(--ink)}.chips input:checked+span{background:#2B7FF2;border-color:#2B7FF2;color:#fff}
.chips input:focus-visible+span{outline:2px solid #2B7FF2;outline-offset:2px}
.fld{margin-top:max(20px,3.333vw);display:grid;grid-template-columns:1fr 1fr;gap:max(18px,2.500vw) max(16px,1.667vw)}.fld .full{grid-column:1/-1}
.fld input,.fld select,.fld textarea{width:100%;border:0;border-bottom:1px solid #D4D4D4;background:none;font:inherit;font-size:18px;height:max(54px,5.000vw);padding:0 max(6px,1.111vw);color:var(--ink);border-radius:0;outline:0;transition:border-color .25s;-webkit-appearance:none;appearance:none}
.fld ::placeholder{color:#777}
.fld textarea{border:1px solid #D4D4D4;height:max(200px,26.389vw);padding:max(14px,1.667vw);resize:vertical;line-height:1.6}
.fld select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23777' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 16px center;color:#777}
.fld select.has{color:var(--ink)}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:#2B7FF2}
.agree{margin-top:max(20px,2.778vw);display:flex;gap:12px;align-items:flex-start;font-size:max(14px,1.250vw);color:var(--g3);line-height:1.6}
.agree input{margin-top:5px;width:18px;height:18px;accent-color:#2B7FF2;flex:0 0 auto}.agree b{color:var(--ink2);font-weight:500}
.sendw{display:grid;place-items:center;padding:max(20px,2.778vw) 0 max(100px,18.056vw)}
.send{width:max(260px,29.167vw);aspect-ratio:1;border-radius:50%;border:0;background:#F5F5F5;display:grid;place-content:center;text-align:center;transition:background .5s,color .5s,transform .6s cubic-bezier(.2,.9,.3,1);color:#BFBFBF}
.send b{display:block;font-size:max(36px,4.167vw);font-weight:400;line-height:1.2}.send b+b{font-family:var(--en);font-weight:700}
.send span{display:block;margin-top:max(12px,1.806vw);font-size:max(14px,1.389vw);font-weight:500}
.send:hover,.send.ok{background:#2B7FF2;color:#fff;transform:scale(1.05)}
.send[disabled]{opacity:.6;pointer-events:none}
.fmsg{text-align:center;font-size:max(15px,1.389vw);font-weight:500;min-height:1.7em;margin-top:max(16px,2.083vw)}.fmsg.err{color:#D9364A}
.done{display:none;padding:max(20px,2.778vw) 0 max(100px,18.056vw)}.done h3{font-size:max(28px,3.889vw);font-weight:700;line-height:1.35;letter-spacing:-.03em}.done p{margin-top:24px;font-size:max(16px,1.667vw);color:var(--g1)}.done b{color:#2B7FF2}
@media(max-width:860px){.cf{grid-template-columns:1fr}.steps{position:static;display:flex;gap:18px;margin-bottom:40px}.steps a:before{margin-left:0}.fld{grid-template-columns:1fr}}

/* ===================== 홈 ===================== */
.home{background:var(--blue)}
.hero{position:relative;height:100svh;min-height:600px;color:#fff;overflow:hidden;z-index:0}
.hero .stage{position:absolute;inset:0;will-change:transform}
.hero .c1,.hero .c1f,.hero .q1,.hero .q2,.hero .q3,.gp{display:none}
/* 풍차 : 축(화면 40%·50%)을 중심으로 원 1 + 유리 사각 3 이 한 덩어리로 돈다. 1초에 90° 돌고 멈췄다가 되돌아온다 (원본 실측) */
.wheel{position:absolute;left:40%;top:50%;width:0;height:0;z-index:3;pointer-events:none;will-change:transform;animation:wheel 6.8s infinite}
.wheel i{position:absolute;display:block;aspect-ratio:1;translate:-50% -50%;border-radius:13%;border:1px solid rgba(255,255,255,.17);
  background:linear-gradient(135deg,rgba(255,255,255,.15) 0,rgba(255,255,255,.05) 50%,rgba(255,255,255,.015) 100%);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.wheel .w1{left:-15.6vw;top:-31.3vw;width:25.4vw;border-radius:50%;border:0;background:rgba(84,162,255,.44);-webkit-backdrop-filter:none;backdrop-filter:none}
.wheel .w2{left:27.4vw;top:-9.4vw;width:31vw;rotate:30deg;background:linear-gradient(135deg,rgba(86,94,255,.46),rgba(62,78,246,.22));border-color:rgba(255,255,255,.13)}
.wheel .w3{left:-31.6vw;top:21.8vw;width:28vw;rotate:22deg}
.wheel .w4{left:26vw;top:34vw;width:29vw;rotate:-14deg}
@keyframes wheel{0%{transform:rotate(0);animation-timing-function:linear}30%{transform:rotate(0);animation-timing-function:cubic-bezier(.65,0,.35,1)}46%{transform:rotate(90deg);animation-timing-function:linear}
  80%{transform:rotate(90deg);animation-timing-function:cubic-bezier(.65,0,.35,1)}96%,100%{transform:rotate(0)}}
.hero .mark{position:absolute;left:46.4%;top:max(20px,1.111vw);width:max(96px,11.111vw);will-change:transform}
.hero .doty{position:absolute;left:57.9%;top:-0.625vw;z-index:1;width:max(18px,2.639vw);aspect-ratio:1;border-radius:50%;background:#FFE83A;animation:fl 5s ease-in-out infinite}
.pf{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:.45em;border-radius:999px;font-family:var(--sans);font-weight:700;letter-spacing:-.015em;white-space:nowrap;height:2.34em;padding:0 1.06em;overflow:hidden;animation:fl 7s ease-in-out infinite;transition:box-shadow .35s}
.pf:hover{box-shadow:0 16px 40px rgba(4,20,70,.3)}
.pf span{position:relative;z-index:1}
.pf.n{background:#2F4CAB;color:#fff}.pf.c{background:#CFF7FF;color:#0D225D;height:2.8em;padding:0 1.5em}.pf.b{background:#0A49F3;color:#fff}
.pf.v{background:#ECECF7;color:#1B2340}
.pf.v:before{content:"";position:absolute;left:0;top:-10%;width:48%;height:120%;background:#B5AEEA;filter:blur(9px);border-radius:999px;animation:pfV 6.5s ease-in-out infinite alternate}
.pf.n span{background:linear-gradient(100deg,#fff 0,#fff 42%,rgba(255,255,255,.4) 50%,#fff 58%,#fff 100%);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:pfT 4.5s linear infinite}
.pf.b:before{content:"";flex:0 0 auto;width:1.2em;height:1.2em;border-radius:50%;background:rgba(255,255,255,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6v12M6 12h12' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/62% no-repeat}
@keyframes pfV{0%{transform:translateX(-70%)}100%{transform:translateX(190%)}}@keyframes pfT{0%{background-position:100% 0}100%{background-position:0 0}}
@keyframes fl{0%,100%{translate:0 0}50%{translate:0 -14px}}
.hcopy{position:absolute;left:var(--gut);right:var(--gut);bottom:max(40px,4.583vw);display:flex;justify-content:space-between;align-items:flex-end;gap:30px;z-index:3}
.hcopy .ey{font-size:max(18px,2.500vw);font-weight:500;letter-spacing:-.027em;line-height:1.3}.hcopy .ey em{font-style:normal;color:#FFE83A;font-size:1.5em;line-height:0}
.hcopy h1{margin-top:max(10px,1.319vw);font-size:max(34px,5.208vw);font-weight:700;letter-spacing:-.027em;line-height:1.2}
.hcopy .sub{flex:0 0 auto;border-left:1px solid rgba(255,255,255,.5);padding:0.000vw 0 max(10px,1.806vw) max(16px,2.778vw);font-size:max(14px,1.458vw);font-weight:500;line-height:1.5;letter-spacing:-.027em;min-height:13.194vw;display:flex;align-items:flex-end}
@media(max-width:860px){.hcopy{flex-direction:column;align-items:flex-start}.hcopy .sub{min-height:0;border-left:0;padding:0}}
@media(prefers-reduced-motion:reduce){.wheel{animation:none!important}}

.oper{--arch:max(60px,11.806vw);position:relative;z-index:1;background:#fff;border-radius:50% 50% 0 0 / var(--arch) var(--arch) 0 0;margin-top:0;padding:max(150px,29.861vw) var(--gut) max(100px,22.917vw);
  background-image:linear-gradient(#F0F0F0 1px,transparent 1px),linear-gradient(90deg,#F0F0F0 1px,transparent 1px);background-size:12.5% max(90px,12.500vw);background-color:#fff;overflow:hidden}
.oper:before{content:"";position:absolute;inset:0;background:radial-gradient(70% 50% at 30% 40%,#fff,rgba(255,255,255,.6))}
.oper>*{position:relative}
.oper h2{font-size:max(30px,5.208vw);font-weight:700;letter-spacing:-.027em;line-height:1.4;color:var(--blue)}
.oper{background-size:max(80px,10.625vw) max(80px,10.625vw)}
.oper .bar{position:absolute;right:0;top:max(150px,31.319vw);width:22.8vw;height:max(30px,4.444vw);border-radius:999px 0 0 999px;background:linear-gradient(90deg,#00C3F6 0,#1C66EA 32%,#5F45D4 66%,#C625B6 100%)}
.oper .fp{position:absolute;top:max(118px,26.042vw);height:max(46px,6.944vw);border-radius:999px;background:linear-gradient(180deg,rgba(250,250,255,.78),rgba(240,241,252,.5));border:1px solid rgba(255,255,255,.95);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 34px 50px -10px rgba(130,140,210,.18),inset 0 2px 6px rgba(255,255,255,.9)}
.oper .fp.a{right:11.5vw;width:20.1vw}.oper .fp.b{right:-8vw;width:17vw}
.oper .fp.n{right:8.9vw;width:max(20px,2.778vw);height:max(24px,3.611vw);top:max(129px,27.708vw);border-radius:max(10px,1.389vw);border-left:0;border-right:0;box-shadow:none}
.oper .plus{position:absolute;right:17.6vw;top:max(230px,43.958vw);width:max(76px,10.556vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 30%,#FBFBFF,#EFEFFA 70%,#ECECF8);border:1px solid rgba(255,255,255,.95);
  box-shadow:0 70px 60px -20px rgba(150,160,230,.30),inset 0 -8px 20px rgba(200,205,240,.35);display:grid;place-content:center}
.oper .plus:before,.oper .plus:after{content:"";position:absolute;left:50%;top:50%;width:max(26px,3.611vw);height:3px;margin:-1.5px 0 0 calc(max(26px,3.611vw) / -2);background:#23263a;border-radius:2px}
.oper .plus:after{transform:rotate(90deg)}
#paint{margin-top:max(50px,8.333vw)}
#paint p{font-size:max(20px,3.333vw);font-weight:700;letter-spacing:-.027em;line-height:1.7;margin-bottom:max(30px,5.000vw)}
#paint i{font-style:normal;color:#DDD;transition:color .3s}#paint i.on{color:var(--ink)}#paint i.hl.on{color:var(--blue)}

.wipe{position:relative;z-index:1;background:#fff;height:calc(100svh + max(900px,145.833vw))}
.wipe .pin{position:sticky;top:0;height:100svh;overflow:hidden}
.wipe .panel{position:absolute;inset:0;background:var(--blue);transform:translateY(100%);will-change:transform}
.wtxt{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:0 var(--gut);font-size:max(22px,3.750vw);font-weight:700;letter-spacing:-.027em;line-height:1.63;color:var(--navy)}
.wtxt.over{color:#fff;clip-path:inset(100% 0 0 0);will-change:clip-path}
.wtxt em{font-style:normal;color:#FFE83A;font-size:1.5em;line-height:0;font-weight:400}

.scope{position:relative;z-index:1;background:var(--blue);padding:max(70px,12.500vw) var(--gut) max(30px,4.167vw)}
.scope h2{font-size:max(26px,4.583vw);font-weight:600;letter-spacing:-.027em;line-height:1.2;display:flex;flex-wrap:wrap;gap:max(14px,2.500vw) max(6px,0.556vw)}
.scope h2 br{flex-basis:100%;height:0}
.scope h2 span{display:inline-flex;align-items:center;height:max(50px,7.986vw);padding:0 max(14px,2.083vw);border-radius:999px;white-space:nowrap;opacity:0;transform:translateY(40px) scale(.9);transition:opacity .6s,transform .9s cubic-bezier(.2,.9,.3,1);transition-delay:calc(var(--i) * 90ms)}
.scope h2.in span{opacity:1;transform:none}
.scope h2 span.f{background:#fff;color:var(--blue)}.scope h2 span.o{border:2px solid #fff;color:#fff}
.cloud{position:relative;z-index:1;background:var(--blue);height:max(620px,77.083vw);overflow:hidden}
.cp{position:absolute;left:0;top:0;display:inline-flex;align-items:center;height:max(54px,8.889vw);padding:0 max(18px,3.056vw);border-radius:999px;font-size:max(21px,3.611vw);font-weight:500;letter-spacing:-.02em;white-space:nowrap;will-change:transform;visibility:hidden}
.cp.o{border:2px solid #fff;color:#fff}.cp.f{background:#fff;color:var(--blue)}

.lab{position:relative;z-index:1;background:#fff}
.lab .pin{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;align-items:center}
.lab .aur{position:absolute;inset:-12% -8%;filter:blur(40px);background:radial-gradient(38% 42% at 12% 10%,#FFF6CC 0,rgba(255,246,204,0) 70%),radial-gradient(34% 40% at 50% 0%,#D6FADB 0,rgba(214,250,219,0) 70%),
  radial-gradient(40% 46% at 92% 12%,#C5F6E4 0,rgba(197,246,228,0) 72%),radial-gradient(44% 48% at 6% 92%,#FBD9F0 0,rgba(251,217,240,0) 72%),radial-gradient(52% 54% at 74% 96%,#DCDCFD 0,rgba(220,220,253,0) 74%),linear-gradient(180deg,#FFFEF8,#F5F2FF)}
.lab .lt{position:absolute;inset:0;z-index:2;display:grid;place-items:center;text-align:center;padding:0 var(--gut);pointer-events:none;font-size:max(22px,3.750vw);font-weight:700;letter-spacing:-.027em;line-height:1.4;color:var(--navy)}
.lab .lt b{font-family:var(--en);color:#105ABD;font-weight:700}
.ltrack{position:relative;z-index:1;display:flex;align-items:center;gap:max(14px,1.944vw);padding-left:max(20px,5.972vw);will-change:transform;perspective:1400px;transform-style:preserve-3d}
.gc{flex:0 0 auto;width:max(210px,20.833vw);aspect-ratio:373/483;position:relative;border-radius:max(22px,2.083vw);opacity:0;will-change:transform,opacity;
  background:linear-gradient(180deg,rgba(255,255,255,.42) 0,rgba(255,255,255,0) 7%,rgba(0,0,0,.05) 50%,rgba(255,255,255,0) 93%,rgba(255,255,255,.38) 100%),
   linear-gradient(90deg,var(--f2) 0,var(--f2) 88%,var(--m2) 90.2%,var(--m1) 93%,var(--m3) 95.4%,var(--m2) 97.6%,var(--m1) 100%);
  box-shadow:inset -1px 0 0 rgba(255,255,255,.75),inset 0 1px 0 rgba(255,255,255,.8),0 36px 64px rgba(50,50,100,.15),0 4px 10px rgba(50,50,100,.05)}
.gc .in{position:absolute;inset:0 4.4% 0 0;border-radius:inherit;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;align-items:center;padding:max(18px,1.806vw) max(14px,1.389vw) max(40px,4.444vw);
  background:linear-gradient(180deg,var(--f1) 0,var(--f2) 40%,var(--f2) 62%,rgba(255,255,255,.92) 100%);
  box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.9),inset 0 3px 8px rgba(255,255,255,.9),3px 0 5px -3px rgba(0,0,0,.2)}
.gc .in:before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(90% 46% at 50% 0,rgba(255,255,255,.55),rgba(255,255,255,0) 70%)}
.gc .lp,.gc .sym,.gc .cap{position:relative;z-index:1}
.gc .lp{align-self:flex-start;border:1.5px solid var(--pc);color:var(--pc);border-radius:999px;height:max(26px,2.361vw);padding:0 max(11px,1.042vw);display:inline-flex;align-items:center;font-family:var(--en);font-size:max(12px,1.111vw);font-weight:500;background:rgba(255,255,255,.25)}
.gc .sym{flex:1;display:grid;place-items:center;width:100%}.gc .sym svg{width:max(92px,9.722vw);height:max(98px,10.417vw);filter:drop-shadow(0 10px 16px rgba(30,30,70,.14))}
.gc .cap{text-align:center;font-size:max(12.5px,1.181vw);font-weight:500;line-height:1.65;color:var(--tc);letter-spacing:-.02em}

.work{position:relative;z-index:1;background:#fff}
.work .pin{position:sticky;top:0;height:100svh;overflow:hidden}
.work .head{position:absolute;left:max(20px,12.500vw);top:max(120px,23.056vw);z-index:2;width:36.458vw}
.work .head h2{font-size:max(26px,3.750vw);font-weight:700;letter-spacing:-.027em;line-height:1.4;color:var(--navy)}
.work .head p{margin-top:max(12px,2.083vw);font-size:max(14px,1.250vw);line-height:1.5;color:var(--g2);letter-spacing:-.027em}
.track{position:absolute;left:0;top:0;height:100%;display:flex;align-items:flex-start;gap:max(30px,7.361vw);padding-left:max(20px,66.319vw);will-change:transform}
.card{flex:0 0 max(260px,32.014vw);margin-top:20.833vw;display:block}
.card.ci{margin-top:4.861vw}
.card .ph{overflow:hidden;aspect-ratio:1;background:#F2F4F8;display:grid;place-items:center}
.card.ci .ph{border-radius:50%}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.85,.25,1)}
.card .ph.mock{background:linear-gradient(150deg,#EEF3FB,#DCE6F6)}.card .ph.mock.dk{background:linear-gradient(150deg,#0e1838,#22316b)}
.card .ph.mock img{width:80%;height:auto;box-shadow:0 30px 50px rgba(20,40,90,.3);transform:rotate(-5deg)}
.card:hover .ph img{transform:scale(1.06)}.card:hover .ph.mock img{transform:rotate(-2deg) scale(1.05)}
.card .t{margin-top:max(14px,1.806vw);font-size:max(18px,1.875vw);font-weight:700;letter-spacing:-.027em;color:var(--foot)}
.card .d{font-size:max(13px,1.042vw);color:var(--g2);letter-spacing:-.027em}
.work .wash{position:absolute;inset:0;z-index:5;background:var(--blue);clip-path:circle(0% at 112% 60%);will-change:clip-path;display:grid;place-items:center;text-align:center;color:#fff;font-size:max(22px,3.750vw);font-weight:700;letter-spacing:-.027em;line-height:1.4;padding:0 var(--gut)}

.rwipe{position:relative;z-index:1;height:calc(100svh + max(500px,62.500vw));background:var(--blue)}
.rwipe .pin{position:sticky;top:0;height:100svh;overflow:hidden}
.rwipe .wtxt{color:#fff}

.stack{position:relative;z-index:1;background:#fff;padding-bottom:max(60px,11.111vw)}
.stack .pin{position:sticky;top:0;height:100svh;display:grid;place-items:center}
.scard{transform-origin:50% 0;position:absolute;left:var(--gut);right:var(--gut);height:38.889vw;max-height:74svh;overflow:hidden;display:grid;grid-template-columns:1.12fr .88fr;align-items:center;padding:0 max(24px,4.167vw);color:#fff;will-change:transform}
.scard h3{font-size:max(22px,2.917vw);font-weight:700;letter-spacing:-.027em;line-height:1.3}
.scard p{margin-top:max(14px,2.500vw);font-size:max(14.5px,1.250vw);font-weight:500;line-height:1.8;letter-spacing:-.027em;max-width:46.667vw}
.scard .more{display:inline-flex;align-items:center;height:max(44px,3.889vw);padding:0 max(18px,1.944vw);margin-top:max(18px,2.778vw);border:1.5px solid rgba(255,255,255,.7);border-radius:999px;font-size:max(14px,1.250vw);font-weight:700;transition:.3s}
.scard .more:hover{background:#fff;color:#111}
.scard .art{position:relative;height:100%;display:grid;place-items:center}
.scard .chipx{position:absolute;background:rgba(255,255,255,.22);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:.6em 1.2em;font-size:max(12px,1.111vw);font-weight:700;animation:fl 6s ease-in-out infinite}
@media(max-width:860px){.stack .pin{position:static;height:auto;display:block;padding:0 var(--gut)}.scard{position:relative;left:0;right:0;height:auto;max-height:none;grid-template-columns:1fr;padding:30px 24px;margin-bottom:16px;transform:none!important}.scard .art{height:200px}}

.cta{position:relative;z-index:1;height:calc(100svh + max(900px,173.611vw));background:var(--blue)}
.cta .pin{position:sticky;top:0;height:100svh;display:grid;place-items:center;overflow:hidden}
.cline{position:absolute;text-align:center;padding:0 var(--gut);color:#fff;font-size:max(22px,3.750vw);font-weight:700;letter-spacing:-.027em;line-height:1.4}
.cline b{color:#FFE83A}

/* ---------- 푸터 ---------- */
.foot{position:relative;z-index:6;background:var(--foot);color:#fff;padding:max(50px,7.361vw) var(--gut) max(30px,3.750vw)}
.foot .ft{display:flex;justify-content:space-between;gap:40px}
.foot .fk{font-size:18px;font-weight:700;color:#E2E2E2}
.foot .fbig{display:block;margin-top:max(10px,1.250vw);font-size:max(30px,4.583vw);font-weight:500;letter-spacing:-.027em;line-height:1.2}
.foot .fbig b{font-weight:700;display:inline-flex;align-items:center;gap:.25em}
.foot .fbig .arr{display:inline-block;font-weight:400;transition:transform .5s cubic-bezier(.2,.9,.3,1)}.foot .fbig:hover .arr{transform:translateX(18px)}
.foot .fn{display:grid;grid-template-columns:repeat(5,max(104px,9.167vw));margin-top:3px}
.foot .fn b{display:block;font-size:18px;font-weight:600;margin-bottom:max(16px,2.361vw)}
.foot .fn a{display:block;font-size:14px;font-weight:500;color:#909EAE;height:max(32px,3.056vw);transition:.25s}.foot .fn a:hover{color:#fff;transform:translateX(4px)}
.foot .fb{margin-top:max(50px,7.639vw);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px;font-weight:500;line-height:1.9}
.foot .fb i{font-style:normal;color:#909EAE;margin-right:7px}.foot .fb span{margin-right:max(12px,1.319vw)}
.foot .fb .cp2{color:#647180;font-family:var(--en)}
@media(max-width:860px){.foot .ft{flex-direction:column}.foot .fn{grid-template-columns:1fr 1fr;gap:20px 0}}
.up{position:fixed;right:20px;bottom:20px;z-index:70;width:60px;height:60px;border-radius:50%;background:#fff;color:#111;display:grid;place-content:center;box-shadow:0 0 10px rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:.3s;border:0;font-size:20px}
.up.show{opacity:1;pointer-events:auto}.up:hover{background:#111;color:#fff}
/* ---------- 공지 · 법인공고 ---------- */
.nbintro{padding:0 var(--gut);margin-top:max(24px,3.750vw);font-size:max(14.5px,1.319vw);line-height:1.85;color:var(--g1);max-width:54.167vw}
.nbd{margin:max(46px,7.639vw) var(--gut) max(90px,14.583vw)}
.nbd article{border-top:2px solid var(--ink);padding-top:max(24px,3.056vw);margin-bottom:max(64px,9.028vw);scroll-margin-top:max(86px,9.028vw)}
.nbd article:last-child{margin-bottom:0}
.nbd .no{font-family:var(--en);font-size:max(11.5px,0.972vw);font-weight:700;letter-spacing:.14em;color:var(--sky)}
.nbd h2{margin-top:max(8px,0.972vw);font-size:max(23px,3.056vw);font-weight:700;letter-spacing:-.04em;line-height:1.35}
.nbd .meta{margin-top:max(11px,1.389vw);display:flex;flex-wrap:wrap;gap:max(6px,0.694vw) max(12px,1.667vw);font-size:max(12.5px,1.042vw);color:var(--g3)}
.nbd .meta b{color:var(--ink2);font-weight:600}
.nbd .bd{margin-top:max(24px,3.194vw);font-size:max(14.5px,1.250vw);line-height:1.9;color:var(--g1)}
.nbd .bd>p{margin-bottom:max(15px,1.667vw)}
.nbd .bd strong{color:var(--ink);font-weight:700}
.nbd .box{margin:max(24px,3.056vw) 0;border:1px solid var(--line);border-radius:2px;padding:max(24px,3.333vw) max(20px,3.333vw);background:#FAFBFD}
.nbd .box .ttl{text-align:center;font-size:max(14px,1.181vw);font-weight:700;letter-spacing:.9em;text-indent:.9em;color:var(--ink);margin-bottom:max(22px,2.639vw)}
.nbd dl{display:grid;grid-template-columns:max(94px,12.500vw) 1fr;gap:max(11px,1.250vw) max(10px,1.389vw);font-size:max(13.8px,1.181vw);line-height:1.7}
.nbd dt{font-weight:700;color:var(--ink2)}
.nbd dd{color:var(--ink)}
.nbd dd small{display:block;margin-top:3px;font-size:max(11.5px,0.972vw);color:var(--g3)}
.nbd .sign{margin-top:max(30px,3.750vw);text-align:center;font-size:max(13.8px,1.181vw);line-height:2.1;color:var(--ink2)}
.nbd .sign b{display:block;font-size:max(17px,1.597vw);font-weight:700;letter-spacing:-.02em;color:var(--ink);margin-top:max(5px,0.556vw)}
.nbd .sign em{font-style:normal;letter-spacing:.3em}
.nbd table{width:100%;border-collapse:collapse;margin:max(18px,2.222vw) 0;font-size:max(12.5px,1.111vw)}
.nbd th,.nbd td{border-bottom:1px solid var(--line);padding:max(10px,1.181vw) max(6px,0.833vw);text-align:left;vertical-align:top;line-height:1.6}
.nbd th{border-bottom:1.5px solid var(--ink);font-size:max(11.5px,0.972vw);font-weight:700;color:var(--ink2);white-space:nowrap}
.nbd td.nm{font-weight:700;color:var(--ink)}
.nbd th.r,.nbd td.r{text-align:right;white-space:nowrap}
.nbd td.r{font-weight:700;color:var(--ink)}
.nbd td.r small{font-weight:600;color:var(--g3);margin-left:2px}
.nbd ol,.nbd ul{margin:max(15px,1.667vw) 0;padding-left:max(19px,1.667vw);display:grid;gap:max(8px,0.764vw)}
.nbd li{font-size:max(14px,1.181vw);line-height:1.85}
.nbd .after{margin-top:max(24px,3.056vw);padding-top:max(15px,1.806vw);border-top:1px solid var(--line);font-size:max(12.5px,1.042vw);color:var(--g3);line-height:1.85}
@media(max-width:860px){.nbd .tw{overflow-x:auto;-webkit-overflow-scrolling:touch}.nbd .tw table{min-width:520px}}

/* ---------- 회사소개서 : 떠 있는 버튼 + 미리보기 ---------- */
.brbtn{position:fixed;left:20px;bottom:20px;z-index:72;display:inline-flex;align-items:center;gap:10px;height:54px;padding:0 24px;border:0;border-radius:999px;background:var(--ink);color:#fff;
  font-size:15px;font-weight:700;letter-spacing:-.02em;box-shadow:0 12px 30px rgba(10,20,50,.3),0 0 0 1px rgba(255,255,255,.16);transition:transform .35s cubic-bezier(.2,.9,.3,1),background .3s}
.brbtn svg{width:15px;height:15px;flex:0 0 auto}
.brbtn:hover{background:var(--blue);transform:translateY(-3px)}
.brv{position:fixed;inset:0;z-index:160;background:#0A0F1E;display:none}
.brv.open{display:block}
.brv .pgs{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:74px 20px 124px;-webkit-overflow-scrolling:touch;touch-action:pan-y pinch-zoom;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent}
.brv .pgs img{display:block;width:min(1120px,100%);aspect-ratio:297/210;margin:0 auto 18px;background:#fff;box-shadow:0 18px 44px rgba(0,0,0,.45)}
.brv .pgs::-webkit-scrollbar{width:8px}.brv .pgs::-webkit-scrollbar-thumb{background:rgba(255,255,255,.26);border-radius:8px}
.brv .hint{position:fixed;left:50%;top:20px;z-index:3;transform:translateX(-50%);font-size:12.5px;font-weight:600;letter-spacing:.02em;color:rgba(255,255,255,.55);white-space:nowrap}
.brx{position:fixed;right:24px;top:20px;z-index:3;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:22px;line-height:1;transition:.25s}
.brx:hover{background:#fff;color:#0A0F1E}
.brbar{position:fixed;left:50%;bottom:26px;z-index:3;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:8px 8px 8px 16px;border-radius:999px;background:rgba(255,255,255,.97);box-shadow:0 18px 44px rgba(0,0,0,.4)}
.brbar input{width:54px;height:38px;border:1px solid var(--line);border-radius:8px;background:#F3F5F9;text-align:center;font:inherit;font-size:14px;font-weight:700;color:var(--ink);outline:0;transition:border-color .2s}
.brbar input:focus{border-color:var(--blue)}
.brbar .go{height:38px;padding:0 15px;border:0;border-radius:8px;background:var(--ink);color:#fff;font-size:13.5px;font-weight:700;transition:.25s}
.brbar .go:hover{background:var(--blue)}
.brbar .tot{font-size:13.5px;font-weight:600;color:var(--g3);margin-right:2px;white-space:nowrap}
.brbar .dl{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 18px;border-radius:999px;background:var(--blue);color:#fff;font-size:13.5px;font-weight:700;white-space:nowrap;transition:.25s}
.brbar .dl:hover{background:var(--ink)}
.brbar .dl svg{width:13px;height:13px}
@media(max-width:860px){.brbtn{left:14px;bottom:14px;height:44px;padding:0 16px;font-size:13px;gap:8px}.brbtn svg{width:13px;height:13px}
  .brv .pgs{padding:56px 10px 96px}.brv .pgs img{margin-bottom:10px;box-shadow:0 8px 20px rgba(0,0,0,.4)}
  .brv .hint{top:20px;font-size:11.5px}
  .brbar{left:10px;right:10px;bottom:14px;transform:none;justify-content:space-between;gap:6px;padding:6px 6px 6px 10px}
  .brbar input{width:46px;height:36px;font-size:13.5px}.brbar .go{height:36px;padding:0 12px;font-size:12.5px}.brbar .tot{font-size:12.5px}
  .brbar .dl{height:36px;padding:0 14px;font-size:12.5px;margin-left:auto}.brbar .dl svg{width:12px;height:12px}
  .brx{right:10px;top:10px;width:38px;height:38px;font-size:19px;background:rgba(255,255,255,.16)}}
@media(max-width:380px){.brbar .dl span{display:none}.brbar .dl{padding:0 12px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important}.rv,[data-split] .sp{opacity:1!important;transform:none!important}}

@media(max-width:860px){.lab .pin{position:static;height:auto;padding:90px 0 50px;display:block}.lab .aur{inset:0}.lab .lt{position:static;padding:0 var(--gut) 34px}.ltrack{padding:0 var(--gut) 8px;overflow-x:auto;transform:none!important;scrollbar-width:none}.gc{opacity:1!important;transform:none!important;filter:none!important}
.work .pin{position:static;height:auto;padding:70px 0 30px}.work .head{position:static;width:auto;padding:0 var(--gut);margin-bottom:26px}.track{position:static;height:auto;padding:0 var(--gut) 16px;overflow-x:auto;transform:none!important;scrollbar-width:none}.work .wash{display:none}
.wipe,.rwipe{height:170vh}.cta{height:auto}.cta .pin{position:static;height:auto;display:block;padding:100px 0}.cline{position:relative;display:block;margin-bottom:34px}.inv{height:180vh}.ow{height:170vh}}

/* 스택 카드 그래픽 (글라스모피즘) — 520×440 설계, --k 로 축척 */
.gfx{position:relative;width:520px;height:440px;transform:scale(var(--k,1));flex:0 0 auto}
.gfx *{position:absolute}
.gfx .lb{inset:0;display:grid;place-items:center;text-align:center;font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.3;color:#fff}
.gfx .sh{left:50%;bottom:6px;width:300px;height:44px;margin-left:-150px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,10,80,.34),rgba(0,10,80,0))}
.gfx .gl{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.42);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.gfx .fl1{animation:fl 7s ease-in-out infinite}.gfx .fl2{animation:fl 8s ease-in-out -2s infinite}.gfx .fl3{animation:fl 6.4s ease-in-out -4s infinite}
.g1 .tab{left:170px;top:96px;width:150px;height:60px;border-radius:18px 18px 0 0;background:rgba(150,190,255,.5)}
.g1 .back{left:170px;top:124px;width:300px;height:236px;border-radius:0 22px 22px 22px;background:linear-gradient(160deg,rgba(150,190,255,.62),rgba(110,160,255,.4))}
.g1 .ci{left:70px;top:14px;width:196px;height:196px;border-radius:50%;background:linear-gradient(90deg,#2356DE 8%,#8A42D4 92%);box-shadow:0 20px 40px rgba(10,20,120,.25)}
.g1 .pl{left:-14px;top:246px;width:226px;height:84px;border-radius:42px;background:linear-gradient(90deg,#00C864,#35E89E);transform:rotate(-20deg);box-shadow:0 18px 34px rgba(0,60,120,.22)}
.g1 .rc{left:352px;top:84px;width:196px;height:116px;border-radius:26px;background:linear-gradient(135deg,rgba(190,240,255,.95),rgba(110,200,255,.82));transform:rotate(22deg);box-shadow:0 18px 34px rgba(0,60,160,.2)}
.g1 .rc .lb{color:#0B4A96}
.g1 .fr{left:168px;top:182px;width:292px;height:192px;border-radius:24px;background:rgba(40,96,255,.36);border:1px solid rgba(255,255,255,.4);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.g1 .fr .lb{font-size:25px}
.g2 .orbit{left:20px;top:96px;width:480px;height:250px}
.g2 .core{left:128px;top:80px;width:268px;height:268px;border-radius:50%;background:linear-gradient(180deg,#36C6FF 0,#52F36A 52%,#3BFF3E 78%,#2FE27A 100%);box-shadow:0 30px 60px rgba(0,80,40,.28),inset 0 -20px 40px rgba(255,255,255,.18)}
.g2 .core .lb{color:#0D225D;font-size:24px;font-weight:700}
.g2 .bb{border-radius:50%;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.32),rgba(255,255,255,.06) 60%);border:1px solid rgba(255,255,255,.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.g2 .bb .lb{font-size:19px}
.g3 .doc{left:96px;top:66px;width:330px;height:236px;border-radius:26px;background:linear-gradient(135deg,#C4CEFF 0,#7FB0FF 55%,#2F97FF 100%);transform:rotate(-7deg);box-shadow:0 24px 50px rgba(10,20,110,.3)}
.g3 .doc i{left:34px;height:12px;border-radius:6px;background:rgba(255,255,255,.7)}
.g3 .seal{left:336px;top:40px;width:120px;height:120px;border-radius:50%;background:linear-gradient(160deg,#5CC3FF,#0A8BFF);box-shadow:0 16px 30px rgba(10,20,110,.3)}
.g3 .shd{left:142px;top:96px;width:240px;height:284px;clip-path:path("M120 0C160 28 200 40 240 44V140C240 212 180 260 120 284C60 260 0 212 0 140V44C40 40 80 28 120 0Z");background:linear-gradient(170deg,rgba(255,255,255,.5),rgba(190,205,255,.28) 55%,rgba(120,130,240,.4));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.g3 svg.ol{left:142px;top:96px;width:240px;height:284px;overflow:visible}
@media(max-width:860px){.scard .art{height:260px!important;overflow:hidden}}

html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:clip}.modal{overscroll-behavior:contain}

/* ---------- 마감 ---------- */
::selection{background:#1557F3;color:#fff}
:focus-visible{outline:2px solid #2B7FF2;outline-offset:3px;border-radius:4px}
p,li,dd,.shs,.hint,.fine{text-wrap:pretty}
h1,h2,h3,h4,.wtxt,.cline,.say{text-wrap:balance}
.hcopy h1,.oper h2,.pt h1,.sh,.inv h2{text-wrap:initial}
img{-webkit-user-drag:none}
.wk .ph.obj,.card .ph.obj,.owg .ph.obj{background:radial-gradient(120% 90% at 30% 20%,#F4F8FF,#DCE8FB)}
.wk .ph.obj img,.card .ph.obj img,.owg .ph.obj img{width:66%;height:auto;object-fit:contain;box-shadow:none;transform:none;filter:drop-shadow(0 30px 40px rgba(30,80,200,.22))}
.wk:hover .ph.obj img,.card:hover .ph.obj img,.owg a:hover .ph.obj img{transform:scale(1.06) rotate(3deg)}
.owg .ph.obj{background:radial-gradient(120% 90% at 30% 20%,#1b2340,#0f1428)}

/* ═══════ 보내는 방법 · 온라인 질문지 (접두어 없음 — site.tpl.css 와 이름이 겹치지 않는지 확인하고 넣을 것) ═══════ */
.ways{margin:0 var(--gut);display:grid;grid-template-columns:1fr 1fr;gap:max(14px,1.528vw);margin-top:max(34px,3.750vw)}
.wy{position:relative;border:1px solid var(--line);border-radius:max(16px,1.528vw);padding:max(24px,2.639vw) max(22px,2.361vw) max(22px,2.222vw);background:#fff;
  transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s,border-color .5s}
.wy:hover{transform:translateY(-6px);border-color:#CFDBF5;box-shadow:0 max(16px,1.806vw) max(36px,4.167vw) rgba(17,24,39,.09)}
.wy em{font-family:var(--en);font-style:normal;font-size:max(12px,0.903vw);font-weight:700;letter-spacing:.06em;color:var(--blue)}
.wy .tg{position:absolute;top:max(22px,2.361vw);right:max(20px,2.083vw);font-size:max(11px,0.833vw);font-weight:700;color:var(--g2);
  background:#F4F6FA;border-radius:99px;padding:max(5px,0.417vw) max(10px,0.833vw);letter-spacing:-.02em}
.wy h4{margin-top:max(10px,0.972vw);font-size:max(20px,1.736vw);font-weight:800;letter-spacing:-.045em}
.wy .adr{display:block;margin-top:max(7px,0.694vw);font-size:max(14px,1.181vw);font-weight:700;color:var(--blue);letter-spacing:-.03em;word-break:break-all}
.wy p{margin-top:max(10px,0.972vw);font-size:max(13.5px,1.042vw);line-height:1.78;color:var(--g2);letter-spacing:-.02em}
.wy ul{margin-top:max(13px,1.250vw);border-top:1px solid var(--line);padding-top:max(12px,1.111vw);list-style:none}
.wy li{position:relative;padding-left:max(13px,1.042vw);font-size:max(12.5px,0.938vw);line-height:1.75;color:var(--g2);letter-spacing:-.02em}
.wy li+li{margin-top:max(5px,0.417vw)}
.wy li:before{content:"";position:absolute;left:0;top:max(8px,0.625vw);width:max(4px,0.347vw);height:max(4px,0.347vw);border-radius:50%;background:#C3CEE2}
.wy li b{color:var(--ink);font-weight:700}

.wbtn{margin:0 var(--gut);display:flex;flex-wrap:wrap;gap:max(10px,0.972vw);margin-top:max(26px,2.778vw)}
.wb{display:inline-flex;align-items:center;gap:max(8px,0.694vw);height:max(54px,4.306vw);padding:0 max(22px,2.222vw);border-radius:99px;
  background:var(--ink);color:#fff;font-size:max(14px,1.111vw);font-weight:700;letter-spacing:-.03em;
  transition:background .4s,transform .4s}
.wb:hover{background:var(--blue);transform:translateY(-3px)}
.wb.gh{background:#fff;color:var(--ink);border:1px solid var(--line)}
.wb.gh:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.wb .arr{transition:transform .4s}
.wb:hover .arr{transform:translateX(4px)}

/* 접수번호 불러오기 */
.lk{border:1px solid var(--line);border-radius:max(14px,1.389vw);background:#F7F9FD;padding:max(20px,2.083vw) max(20px,2.083vw) max(18px,1.806vw);margin-bottom:max(34px,3.750vw)}
.lkt{font-size:max(16px,1.250vw);font-weight:800;letter-spacing:-.04em}
.lkd{margin-top:max(6px,0.556vw);font-size:max(13px,0.972vw);line-height:1.75;color:var(--g2);letter-spacing:-.02em}
.lkr{display:flex;gap:max(8px,0.694vw);margin-top:max(14px,1.250vw)}
.lkr input{flex:1;min-width:0;height:max(52px,4.028vw);border:1px solid var(--line);border-radius:max(10px,0.833vw);background:#fff;
  padding:0 max(14px,1.250vw);font:inherit;font-size:max(14px,1.042vw);letter-spacing:-.02em;text-transform:uppercase}
.lkr input:focus{outline:none;border-color:var(--blue)}
.lkr button{flex:none;height:max(52px,4.028vw);padding:0 max(18px,1.806vw);border:0;border-radius:max(10px,0.833vw);background:var(--ink);color:#fff;
  font:inherit;font-size:max(14px,1.042vw);font-weight:700;letter-spacing:-.03em;cursor:pointer;transition:background .3s}
.lkr button:hover{background:var(--blue)}
.lkr button:disabled{opacity:.5;cursor:default}
.lkm{margin-top:max(9px,0.833vw);font-size:max(12.5px,0.938vw);line-height:1.7;color:var(--g2);letter-spacing:-.02em;display:none}
.lkm.on{display:block}
.lkm.ok{color:var(--blue);font-weight:700}
.lkm.er{color:#D33A3A;font-weight:700}

/* 눈금 */
.scs{margin-top:max(4px,0.417vw)}
.sc{display:flex;align-items:center;gap:max(8px,0.972vw);padding:max(11px,0.903vw) 0;border-bottom:1px solid var(--line)}
.sc .lf,.sc .rt{flex:none;width:max(92px,9.167vw);font-size:max(12px,0.938vw);font-weight:700;letter-spacing:-.03em;color:var(--ink)}
.sc .rt{text-align:right}
.sc .dt{flex:1;display:flex;align-items:center;justify-content:space-between;position:relative;height:max(22px,1.806vw)}
.sc .dt:before{content:"";position:absolute;left:max(6px,0.486vw);right:max(6px,0.486vw);top:50%;height:1px;background:var(--line)}
.sc .dt label{position:relative;cursor:pointer;padding:max(5px,0.417vw)}
.sc .dt input{position:absolute;opacity:0;width:0;height:0}
.sc .dt i{display:block;width:max(12px,0.972vw);height:max(12px,0.972vw);border-radius:50%;border:1.5px solid #C3CEE2;background:#fff;
  transition:background .25s,border-color .25s,transform .25s}
.sc .dt label:hover i{border-color:var(--blue)}
.sc .dt input:checked+i{background:var(--blue);border-color:var(--blue);transform:scale(1.28)}
.sc .dt input:focus-visible+i{box-shadow:0 0 0 3px rgba(21,87,243,.25)}

.sub2{margin-top:max(18px,1.806vw);margin-bottom:max(9px,0.833vw);font-size:max(13px,0.972vw);font-weight:700;letter-spacing:-.03em;color:var(--ink)}
.tip{margin-top:max(11px,0.972vw);padding-left:max(10px,0.903vw);border-left:2px solid #E3EBFA;font-size:max(12.5px,0.903vw);line-height:1.75;
  color:var(--g2);letter-spacing:-.02em}
.sv{font-size:max(12px,0.868vw);color:var(--g2);letter-spacing:-.02em;margin-bottom:max(8px,0.694vw);min-height:max(16px,1.250vw)}

@media(max-width:860px){ .ways{grid-template-columns:1fr} .sc{flex-wrap:wrap} .sc .lf,.sc .rt{width:auto;flex:1} .sc .dt{order:3;flex-basis:100%;margin-top:6px} }
.wy li small{display:block;font-size:max(11px,0.799vw);color:#9AA3B2;letter-spacing:-.01em;margin-top:max(2px,0.139vw)}

/* ═══════ 할인 프로모션 ═══════ */
.pmw{margin:max(32px,3.750vw) var(--gut) 0;border-top:1px solid var(--ink)}
.pmr{display:flex;align-items:center;gap:max(10px,1.250vw);padding:max(15px,1.528vw) max(8px,0.833vw);border-bottom:1px solid var(--line);
  transition:background .25s,padding .3s}
.pmr:hover{background:var(--blue);padding-left:max(14px,1.528vw)}
.pmr:hover .k,.pmr:hover .n,.pmr:hover .s,.pmr:hover .r b,.pmr:hover .r s,.pmr:hover .r em,.pmr:hover small{color:#fff}
.pmr:hover .k{background:rgba(255,255,255,.2)}
.pmr .k{flex:none;font-size:max(11px,0.833vw);font-weight:700;color:var(--blue);background:var(--tint,#EAF2FF);
  border-radius:99px;padding:max(4px,0.347vw) max(9px,0.764vw);letter-spacing:-.02em}
.pmr .n{flex:none;width:{{330|auto}};font-size:max(15px,1.319vw);font-weight:700;letter-spacing:-.035em}
.pmr .s{flex:1;min-width:0;font-size:max(12.5px,1.007vw);color:var(--g2);letter-spacing:-.02em;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pmr .r{flex:none;display:flex;align-items:baseline;gap:max(7px,0.833vw);text-align:right}
.pmr .r s{font-size:max(12px,0.972vw);color:#A8AFBC;text-decoration:line-through;letter-spacing:-.02em}
.pmr .r b{font-size:max(17px,1.528vw);font-weight:800;letter-spacing:-.04em}
.pmr .r b small{font-size:max(11px,0.903vw);font-weight:700;margin-left:2px}
.pmr .r em{font-style:normal;font-size:max(11.5px,0.903vw);font-weight:700;color:var(--blue)}
.pmr .r em small{font-size:max(10px,0.764vw)}
.pmr .r s small{font-size:max(10px,0.764vw)}

.pmc{margin:max(30px,3.750vw) var(--gut) 0;border:1px solid var(--line);border-radius:max(16px,1.528vw);background:#fff;
  overflow:hidden;box-shadow:0 max(12px,1.389vw) max(30px,3.889vw) rgba(17,24,39,.07)}
.pmk{display:flex;align-items:center;gap:max(12px,1.250vw);padding:max(22px,2.361vw) max(20px,2.361vw);background:var(--ink);color:#fff;flex-wrap:wrap}
.pmk span{font-size:max(11.5px,0.903vw);font-weight:700;letter-spacing:.08em;color:rgba(255,255,255,.55);flex:none}
.pmk b{font-family:var(--en);font-size:max(26px,2.778vw);font-weight:700;letter-spacing:.01em;flex:1;min-width:0;word-break:break-all}
.pmb{flex:none;height:max(42px,3.333vw);padding:0 max(18px,1.667vw);border:0;border-radius:99px;background:#fff;color:var(--ink);
  font:inherit;font-size:max(13.5px,1.042vw);font-weight:700;letter-spacing:-.02em;cursor:pointer;transition:background .25s,color .25s}
.pmb:hover{background:var(--blue);color:#fff}
.pmb.done{background:var(--blue);color:#fff}
.pmd{display:grid;grid-template-columns:repeat(4,1fr);margin:0}
.pmd > div{padding:max(18px,1.806vw) max(18px,1.806vw);border-right:1px solid var(--line)}
.pmd > div:last-child{border-right:0}
.pmd dt{font-size:max(11.5px,0.868vw);font-weight:700;color:var(--g2);letter-spacing:-.02em}
.pmd dd{margin:max(6px,0.625vw) 0 0;font-size:max(14px,1.181vw);font-weight:700;letter-spacing:-.035em}
@media(max-width:860px){
  .pmr{flex-wrap:wrap;gap:6px 10px}
  .pmr .n{width:100%;order:2} .pmr .s{order:3;flex-basis:100%;white-space:normal}
  .pmr .r{order:4;margin-left:auto}
  .pmd{grid-template-columns:1fr 1fr}
  .pmd > div:nth-child(2n){border-right:0}
  .pmd > div:nth-child(-n+2){border-bottom:1px solid var(--line)}
}

/* ═══════ 파트너 ═══════ */
.ptg{margin:max(32px,3.750vw) var(--gut) 0;display:grid;grid-template-columns:repeat(3,1fr);gap:max(14px,1.528vw)}
.ptc{border:1px solid var(--line);border-radius:max(16px,1.528vw);background:#fff;padding:max(24px,2.778vw) max(22px,2.361vw) max(22px,2.361vw);
  position:relative;transition:transform .5s cubic-bezier(.2,.9,.3,1),box-shadow .5s,border-color .5s}
.ptc:hover{transform:translateY(-8px);border-color:#CFDBF5;box-shadow:0 max(16px,1.944vw) max(36px,4.444vw) rgba(17,24,39,.09)}
.ptc em{font-family:var(--en);font-style:normal;font-size:max(12px,0.903vw);font-weight:700;letter-spacing:.06em;color:var(--blue)}
.ptc .tg{position:absolute;top:max(24px,2.639vw);right:max(20px,2.083vw);font-family:var(--en);font-size:max(11px,0.833vw);
  font-weight:500;color:var(--g2);letter-spacing:.02em}
.ptc h4{margin-top:max(10px,0.972vw);font-size:max(21px,1.875vw);font-weight:800;letter-spacing:-.045em}
.ptc .ld{margin-top:max(8px,0.833vw);font-size:max(13.5px,1.076vw);line-height:1.75;color:var(--ink);letter-spacing:-.025em;font-weight:500}
.ptc dl{margin:max(15px,1.528vw) 0 0;border-top:1px solid var(--line)}
.ptc dl > div{display:flex;gap:max(9px,0.833vw);padding:max(9px,0.833vw) 0;border-bottom:1px solid var(--line)}
.ptc dt{flex:none;width:max(62px,5.000vw);font-size:max(12px,0.903vw);font-weight:700;color:var(--g2);letter-spacing:-.02em}
.ptc dd{margin:0;flex:1;font-size:max(12.5px,0.938vw);line-height:1.7;color:var(--ink);letter-spacing:-.02em}
.ptc dd b{font-weight:800;color:var(--blue)}
.ptc .dt{margin-top:max(12px,1.111vw);font-size:max(12px,0.903vw);line-height:1.8;color:var(--g2);letter-spacing:-.02em}

.ptw{margin:max(32px,3.750vw) var(--gut) 0;display:grid;grid-template-columns:repeat(4,1fr);gap:max(14px,1.528vw)}
.ptf{border-top:2px solid var(--ink);padding-top:max(14px,1.389vw)}
.ptf i{font-family:var(--en);font-style:normal;display:block;font-size:max(24px,2.361vw);font-weight:700;
  color:var(--blue);letter-spacing:-.03em;line-height:1}
.ptf b{display:block;margin-top:max(8px,0.833vw);font-size:max(16px,1.319vw);font-weight:800;letter-spacing:-.04em}
.ptf p{margin-top:max(6px,0.556vw);font-size:max(12.5px,0.972vw);line-height:1.75;color:var(--g2);letter-spacing:-.02em}
@media(max-width:1000px){ .ptg{grid-template-columns:1fr} .ptw{grid-template-columns:1fr 1fr} }
@media(max-width:560px){ .ptw{grid-template-columns:1fr} }
