/* 헤더 상태(투명 ↔ 흰색) — assets/js/site.js 가 html 에 .is-solid / .menu-open 클래스를 붙입니다 */
:root{--hd-bg:rgba(255,255,255,0);--hd-bd:rgba(255,255,255,0);--hd-sh:none;--hd-fg:#ffffff;--hd-ob:rgba(255,255,255,.85);--hd-logo:brightness(0) invert(1)}
html.is-solid,html.menu-open{--hd-bg:#ffffff;--hd-bd:#ECEBF3;--hd-sh:0 4px 16px rgba(26,24,50,.06);--hd-fg:#2B2940;--hd-ob:#D9D8E6;--hd-logo:none}
.gnb{transition:background-color .2s ease,box-shadow .2s ease,border-color .2s ease}
html:not(.menu-open) .x-mo{display:none !important}
html.menu-open .x-mc{display:none !important}
[data-w][hidden]{display:none !important}
html{scroll-behavior:smooth}
body{margin:0}

@font-face{font-family:'Sokind Latin';src:url(../fonts/Figtree-Variable-latin.woff2) format('woff2-variations'),url(../fonts/Figtree-Variable-latin.woff2) format('woff2');font-weight:300 900;font-style:normal;font-display:swap;unicode-range:U+0020-007E,U+00A0-00FF,U+2013-2014,U+2018-201D,U+2026,U+2190-2193}
@font-face{font-family:'Pretendard Variable';src:url(../fonts/PretendardVariable.woff2) format('woff2-variations'),url(../fonts/PretendardVariable.woff2) format('woff2');font-weight:45 920;font-style:normal;font-display:swap}
@font-face{font-family:'SpoqaHanSansNeo';src:url(../fonts/SpoqaHanSansNeo-Regular.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'SpoqaHanSansNeo';src:url(../fonts/SpoqaHanSansNeo-Medium.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'SpoqaHanSansNeo';src:url(../fonts/SpoqaHanSansNeo-Bold.woff2) format('woff2');font-weight:700;font-display:swap}
body{margin:0;background:#ffffff;color:#1A1832;font-family:'Sokind Latin','Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo',sans-serif;-webkit-font-smoothing:antialiased;word-break:keep-all}
a{color:#4944FE;text-decoration:none}a:hover{color:#3530D9}
button{font-family:inherit;cursor:pointer}
a:focus-visible,button:focus-visible{outline:3px solid #9996FE;outline-offset:3px}
.draw{stroke-dasharray:2200;stroke-dashoffset:2200;animation:draw 2.6s cubic-bezier(.3,.6,.2,1) .4s forwards}
.fadein{opacity:0;animation:fadein .6s ease-out 2.4s forwards}
.marquee{animation:marquee 40s linear infinite}
.scrolly{animation:scrolly 20s ease-in-out infinite}
.fv{animation:fv 10.5s ease-in-out infinite}
.ft{animation:ft 10.5s ease-in-out infinite}
.rise{animation:rise 10.5s cubic-bezier(.3,.7,.2,1) infinite}
.pop{animation:pop 10.5s ease-out infinite}
.scr{animation:scr 10.5s ease-in-out infinite}
.wv{transform-origin:50% 100%;animation:wv .9s ease-in-out infinite}
.float{animation:float 4s ease-in-out infinite}
.d1{animation-delay:0s}.d2{animation-delay:-7s}.d3{animation-delay:-3.5s}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fadein{to{opacity:1}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes scrolly{0%,12%{transform:translateY(0)}50%,62%{transform:translateY(-600px)}100%{transform:translateY(0)}}
@keyframes fv{0%,31%{filter:grayscale(0);opacity:1}36%,96%{filter:grayscale(.9);opacity:.42}100%{filter:grayscale(0);opacity:1}}
@keyframes ft{0%,31%{opacity:1}36%,96%{opacity:.32}100%{opacity:1}}
@keyframes rise{0%{transform:translateY(34px)}9%,31%{transform:translateY(0)}38%,100%{transform:translateY(34px)}}
@keyframes pop{0%{transform:scale(.82);background:#4944FE}5%{transform:scale(1.08);background:#4944FE}9%,31%{transform:scale(1);background:#4944FE}35%,100%{transform:scale(1);background:#1F1C35}}
@keyframes scr{0%,9%{transform:translateY(0)}30%{transform:translateY(-210px)}37%,100%{transform:translateY(0)}}
@keyframes wv{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.hcard .hbox{transition:border-color .2s,background .2s,transform .2s}.hcard:hover .hbox{border-color:#CFCAFF;background:#F4F2FF}
.lensWrap{animation:lensX 9s cubic-bezier(.45,0,.55,1) infinite}
.lensIn{animation:lensI 9s cubic-bezier(.45,0,.55,1) infinite}
@keyframes lensX{0%,4%{left:-85px}48%,54%{left:1067px}98%,100%{left:-85px}}
@keyframes lensI{0%,4%{transform:translate(67.4px,45.62px) scale(1.32)}48%,54%{transform:translate(-1453.24px,45.62px) scale(1.32)}98%,100%{transform:translate(67.4px,45.62px) scale(1.32)}}
@media (prefers-reduced-motion:reduce){.lensWrap{display:none}}
.roll{animation:roll 18s cubic-bezier(.6,0,.25,1) infinite}
@keyframes roll{0.000%{transform:translateY(0px)}8.889%{transform:translateY(0px)}11.111%{transform:translateY(-60px)}20.000%{transform:translateY(-60px)}22.222%{transform:translateY(-120px)}31.111%{transform:translateY(-120px)}33.333%{transform:translateY(-180px)}42.222%{transform:translateY(-180px)}44.444%{transform:translateY(-240px)}53.333%{transform:translateY(-240px)}55.556%{transform:translateY(-300px)}64.444%{transform:translateY(-300px)}66.667%{transform:translateY(-360px)}75.556%{transform:translateY(-360px)}77.778%{transform:translateY(-420px)}86.667%{transform:translateY(-420px)}88.889%{transform:translateY(-480px)}97.778%{transform:translateY(-480px)}100%{transform:translateY(-540px)}}
.evroll{animation:evroll 7s cubic-bezier(.6,0,.25,1) infinite}
@keyframes evroll{0.000%{transform:translateX(0px)}18.000%{transform:translateX(0px)}25.000%{transform:translateX(-162px)}43.000%{transform:translateX(-162px)}50.000%{transform:translateX(-324px)}68.000%{transform:translateX(-324px)}75.000%{transform:translateX(-486px)}93.000%{transform:translateX(-486px)}100%{transform:translateX(-648px)}}
.scrR{animation:scrR 10.5s ease-in-out infinite}.scrH{animation:scrH 10.5s ease-in-out infinite}
@keyframes scrR{0%,9%{transform:translateY(0)}31%{transform:translateY(-1100px)}37%,100%{transform:translateY(0)}}
@keyframes scrH{0%,9%{transform:translateY(0)}31%{transform:translateY(-330px)}37%,100%{transform:translateY(0)}}
.a-list{animation:alist 12s ease-in-out infinite}.a-tap{animation:atap 12s ease-out infinite}.a-speak{animation:aspeak 12s cubic-bezier(.3,.7,.2,1) infinite}.a-coA{animation:acoA 12s ease infinite}.a-coB{animation:acoB 12s ease infinite}
@keyframes alist{0%,8%{transform:translateY(0)}38%,100%{transform:translateY(-220px)}}
@keyframes atap{0%,40%{opacity:0;transform:scale(.5)}42%{opacity:.95;transform:scale(.7)}48%{opacity:0;transform:scale(1.5)}100%{opacity:0;transform:scale(1.5)}}
@keyframes aspeak{0%,46%{transform:translateX(100%)}53%,100%{transform:translateX(0)}}
@keyframes acoA{0%,44%{opacity:1;transform:translateY(0)}49%,96%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}
@keyframes acoB{0%,49%{opacity:0;transform:translateY(8px)}55%,94%{opacity:1;transform:translateY(0)}99%,100%{opacity:0;transform:translateY(8px)}}
.l-dash{transform-origin:0 0;animation:ldash 14s ease-in-out infinite}.l-dim{animation:ldim 14s ease infinite}.l-detail{animation:ldetail 14s cubic-bezier(.3,.7,.2,1) infinite}.l-dscroll{animation:ldscroll 14s ease-in-out infinite}.l-form{animation:lform 14s ease infinite}.l-fscroll{animation:lfscroll 14s ease-in-out infinite}.l-coA{animation:lcoA 14s ease infinite}.l-coB{animation:lcoB 14s ease infinite}
@keyframes ldash{0%,6%{transform:scale(1)}26%{transform:scale(1.18)}34%,100%{transform:scale(1)}}
@keyframes ldim{0%,32%{opacity:0}37%,96%{opacity:1}100%{opacity:0}}
@keyframes ldetail{0%,33%{transform:translateX(110%)}39%,58%{transform:translateX(0)}63%,100%{transform:translateX(110%)}}
@keyframes ldscroll{0%,40%{transform:translateY(0)}57%{transform:translateY(-16px)}63%,100%{transform:translateY(-16px)}}
@keyframes lform{0%,60%{opacity:0;transform:translateY(24px)}65%,95%{opacity:1;transform:translateY(0)}99%,100%{opacity:0;transform:translateY(24px)}}
@keyframes lfscroll{0%,68%{transform:translateY(0)}93%,100%{transform:translateY(-330px)}}
@keyframes lcoA{0%,58%{opacity:1;transform:translateY(0)}62%,97%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}
@keyframes lcoB{0%,62%{opacity:0;transform:translateY(8px)}67%,95%{opacity:1;transform:translateY(0)}99%,100%{opacity:0;transform:translateY(8px)}}
.ring{animation:ring 2s ease-out infinite}
@keyframes ring{0%{transform:scale(.6);opacity:.7}100%{transform:scale(1.6);opacity:0}}
@keyframes cy0{0%,4.00%{opacity:0}4.20%,90%{opacity:1}94%,100%{opacity:0}}.cy0{animation:cy0 8s linear infinite}
@keyframes cy1{0%,4.83%{opacity:0}5.03%,90%{opacity:1}94%,100%{opacity:0}}.cy1{animation:cy1 8s linear infinite}
@keyframes cy2{0%,5.67%{opacity:0}5.87%,90%{opacity:1}94%,100%{opacity:0}}.cy2{animation:cy2 8s linear infinite}
@keyframes cy3{0%,6.50%{opacity:0}6.70%,90%{opacity:1}94%,100%{opacity:0}}.cy3{animation:cy3 8s linear infinite}
@keyframes cy4{0%,7.33%{opacity:0}7.53%,90%{opacity:1}94%,100%{opacity:0}}.cy4{animation:cy4 8s linear infinite}
@keyframes cy5{0%,8.17%{opacity:0}8.37%,90%{opacity:1}94%,100%{opacity:0}}.cy5{animation:cy5 8s linear infinite}
@keyframes cy6{0%,9.00%{opacity:0}9.20%,90%{opacity:1}94%,100%{opacity:0}}.cy6{animation:cy6 8s linear infinite}
@keyframes cy7{0%,9.83%{opacity:0}10.03%,90%{opacity:1}94%,100%{opacity:0}}.cy7{animation:cy7 8s linear infinite}
@keyframes cy8{0%,10.67%{opacity:0}10.87%,90%{opacity:1}94%,100%{opacity:0}}.cy8{animation:cy8 8s linear infinite}
@keyframes cy9{0%,11.50%{opacity:0}11.70%,90%{opacity:1}94%,100%{opacity:0}}.cy9{animation:cy9 8s linear infinite}
@keyframes cy10{0%,12.33%{opacity:0}12.53%,90%{opacity:1}94%,100%{opacity:0}}.cy10{animation:cy10 8s linear infinite}
@keyframes cy11{0%,13.17%{opacity:0}13.37%,90%{opacity:1}94%,100%{opacity:0}}.cy11{animation:cy11 8s linear infinite}
@keyframes cy12{0%,14.00%{opacity:0}14.20%,90%{opacity:1}94%,100%{opacity:0}}.cy12{animation:cy12 8s linear infinite}
@keyframes cy13{0%,14.83%{opacity:0}15.03%,90%{opacity:1}94%,100%{opacity:0}}.cy13{animation:cy13 8s linear infinite}
@keyframes cy14{0%,15.67%{opacity:0}15.87%,90%{opacity:1}94%,100%{opacity:0}}.cy14{animation:cy14 8s linear infinite}
@keyframes cy15{0%,16.50%{opacity:0}16.70%,90%{opacity:1}94%,100%{opacity:0}}.cy15{animation:cy15 8s linear infinite}
@keyframes cy16{0%,17.33%{opacity:0}17.53%,90%{opacity:1}94%,100%{opacity:0}}.cy16{animation:cy16 8s linear infinite}
@keyframes cy17{0%,18.17%{opacity:0}18.37%,90%{opacity:1}94%,100%{opacity:0}}.cy17{animation:cy17 8s linear infinite}
@keyframes cy18{0%,19.00%{opacity:0}19.20%,90%{opacity:1}94%,100%{opacity:0}}.cy18{animation:cy18 8s linear infinite}
@keyframes cy19{0%,19.83%{opacity:0}20.03%,90%{opacity:1}94%,100%{opacity:0}}.cy19{animation:cy19 8s linear infinite}
@keyframes cy20{0%,20.67%{opacity:0}20.87%,90%{opacity:1}94%,100%{opacity:0}}.cy20{animation:cy20 8s linear infinite}
@keyframes cy21{0%,21.50%{opacity:0}21.70%,90%{opacity:1}94%,100%{opacity:0}}.cy21{animation:cy21 8s linear infinite}
@keyframes cy22{0%,22.33%{opacity:0}22.53%,90%{opacity:1}94%,100%{opacity:0}}.cy22{animation:cy22 8s linear infinite}
@keyframes cy23{0%,23.17%{opacity:0}23.37%,90%{opacity:1}94%,100%{opacity:0}}.cy23{animation:cy23 8s linear infinite}
@keyframes sy0{0%,42.00%{opacity:0}42.20%,90%{opacity:1}94%,100%{opacity:0}}.sy0{animation:sy0 8s linear infinite}
@keyframes sy1{0%,42.81%{opacity:0}43.01%,90%{opacity:1}94%,100%{opacity:0}}.sy1{animation:sy1 8s linear infinite}
@keyframes sy2{0%,43.62%{opacity:0}43.83%,90%{opacity:1}94%,100%{opacity:0}}.sy2{animation:sy2 8s linear infinite}
@keyframes sy3{0%,44.44%{opacity:0}44.64%,90%{opacity:1}94%,100%{opacity:0}}.sy3{animation:sy3 8s linear infinite}
@keyframes sy4{0%,45.25%{opacity:0}45.45%,90%{opacity:1}94%,100%{opacity:0}}.sy4{animation:sy4 8s linear infinite}
@keyframes sy5{0%,46.06%{opacity:0}46.26%,90%{opacity:1}94%,100%{opacity:0}}.sy5{animation:sy5 8s linear infinite}
@keyframes sy6{0%,46.88%{opacity:0}47.08%,90%{opacity:1}94%,100%{opacity:0}}.sy6{animation:sy6 8s linear infinite}
@keyframes sy7{0%,47.69%{opacity:0}47.89%,90%{opacity:1}94%,100%{opacity:0}}.sy7{animation:sy7 8s linear infinite}
@keyframes sy8{0%,48.50%{opacity:0}48.70%,90%{opacity:1}94%,100%{opacity:0}}.sy8{animation:sy8 8s linear infinite}
@keyframes sy9{0%,49.31%{opacity:0}49.51%,90%{opacity:1}94%,100%{opacity:0}}.sy9{animation:sy9 8s linear infinite}
@keyframes sy10{0%,50.12%{opacity:0}50.33%,90%{opacity:1}94%,100%{opacity:0}}.sy10{animation:sy10 8s linear infinite}
@keyframes sy11{0%,50.94%{opacity:0}51.14%,90%{opacity:1}94%,100%{opacity:0}}.sy11{animation:sy11 8s linear infinite}
@keyframes sy12{0%,51.75%{opacity:0}51.95%,90%{opacity:1}94%,100%{opacity:0}}.sy12{animation:sy12 8s linear infinite}
@keyframes sy13{0%,52.56%{opacity:0}52.76%,90%{opacity:1}94%,100%{opacity:0}}.sy13{animation:sy13 8s linear infinite}
@keyframes sy14{0%,53.38%{opacity:0}53.58%,90%{opacity:1}94%,100%{opacity:0}}.sy14{animation:sy14 8s linear infinite}
@keyframes sy15{0%,54.19%{opacity:0}54.39%,90%{opacity:1}94%,100%{opacity:0}}.sy15{animation:sy15 8s linear infinite}
@keyframes sy16{0%,55.00%{opacity:0}55.20%,90%{opacity:1}94%,100%{opacity:0}}.sy16{animation:sy16 8s linear infinite}
@keyframes sy17{0%,55.81%{opacity:0}56.01%,90%{opacity:1}94%,100%{opacity:0}}.sy17{animation:sy17 8s linear infinite}
@keyframes sy18{0%,56.62%{opacity:0}56.83%,90%{opacity:1}94%,100%{opacity:0}}.sy18{animation:sy18 8s linear infinite}
@keyframes sy19{0%,57.44%{opacity:0}57.64%,90%{opacity:1}94%,100%{opacity:0}}.sy19{animation:sy19 8s linear infinite}
@keyframes sy20{0%,58.25%{opacity:0}58.45%,90%{opacity:1}94%,100%{opacity:0}}.sy20{animation:sy20 8s linear infinite}
@keyframes sy21{0%,59.06%{opacity:0}59.26%,90%{opacity:1}94%,100%{opacity:0}}.sy21{animation:sy21 8s linear infinite}
@keyframes sy22{0%,59.88%{opacity:0}60.08%,90%{opacity:1}94%,100%{opacity:0}}.sy22{animation:sy22 8s linear infinite}
@keyframes sy23{0%,60.69%{opacity:0}60.89%,90%{opacity:1}94%,100%{opacity:0}}.sy23{animation:sy23 8s linear infinite}
@keyframes sy24{0%,61.50%{opacity:0}61.70%,90%{opacity:1}94%,100%{opacity:0}}.sy24{animation:sy24 8s linear infinite}
@keyframes sy25{0%,62.31%{opacity:0}62.51%,90%{opacity:1}94%,100%{opacity:0}}.sy25{animation:sy25 8s linear infinite}
@keyframes sy26{0%,63.12%{opacity:0}63.33%,90%{opacity:1}94%,100%{opacity:0}}.sy26{animation:sy26 8s linear infinite}
@keyframes sy27{0%,63.94%{opacity:0}64.14%,90%{opacity:1}94%,100%{opacity:0}}.sy27{animation:sy27 8s linear infinite}
@keyframes sy28{0%,64.75%{opacity:0}64.95%,90%{opacity:1}94%,100%{opacity:0}}.sy28{animation:sy28 8s linear infinite}
@keyframes sy29{0%,65.56%{opacity:0}65.76%,90%{opacity:1}94%,100%{opacity:0}}.sy29{animation:sy29 8s linear infinite}
@keyframes sy30{0%,66.38%{opacity:0}66.58%,90%{opacity:1}94%,100%{opacity:0}}.sy30{animation:sy30 8s linear infinite}
@keyframes sy31{0%,67.19%{opacity:0}67.39%,90%{opacity:1}94%,100%{opacity:0}}.sy31{animation:sy31 8s linear infinite}
.cb2{animation:cb2 8s ease infinite;transform-origin:85% 100%}
@keyframes cb2{0%{opacity:0;transform:scale(.85)}3%,90%{opacity:1;transform:scale(1)}95%,100%{opacity:0;transform:scale(.9)}}
.sb2{animation:sb2 8s ease infinite;transform-origin:100% 0}
@keyframes sb2{0%,38%{opacity:0;transform:translateY(-6px) scale(.9)}41%,90%{opacity:1;transform:none}95%,100%{opacity:0}}
.dots2{animation:dots2 8s ease infinite}
@keyframes dots2{0%,28%{opacity:0}30%,37%{opacity:1}39%,100%{opacity:0}}
.mq1{animation:marquee 48s linear infinite}.mq2{animation:marquee 56s linear infinite}.mq3{animation:marquee 42s linear infinite}
.cmC{animation:cmC 8s ease infinite}.cmT{animation:cmT 8s ease infinite}.cmD{animation:cmD 8s ease infinite}.cmS{animation:cmS 8s ease infinite}.cmK{animation:cmK 8s cubic-bezier(.3,1.4,.5,1) infinite;transform-origin:85% 20%}
@keyframes cmC{0%{opacity:0;transform:translateY(10px)}5%,94%{opacity:1;transform:none}98%,100%{opacity:0}}
@keyframes cmT{0%,16%{opacity:0;transform:translateY(10px)}21%,94%{opacity:1;transform:none}98%,100%{opacity:0}}
@keyframes cmD{0%,30%{opacity:0}33%,40%{opacity:1}44%,100%{opacity:0}}
@keyframes cmS{0%,40%{opacity:0}44%,94%{opacity:1}98%,100%{opacity:0}}
@keyframes cmK{0%,40%{opacity:0;transform:translate(40px,10px) scale(.6)}47%{opacity:1;transform:translate(0,0) scale(1.03)}51%,93%{opacity:1;transform:none}98%,100%{opacity:0;transform:translate(20px,0) scale(.9)}}
.talk{animation:talk 1.8s steps(1,end) infinite}
@keyframes talk{0%{transform:translateY(0)}12%{transform:translateY(-146px)}22%{transform:translateY(-73px)}32%{transform:translateY(0)}42%{transform:translateY(-146px)}50%{transform:translateY(-73px)}60%{transform:translateY(0)}70%{transform:translateY(-146px)}80%{transform:translateY(-73px)}88%{transform:translateY(-146px)}100%{transform:translateY(0)}}
.revroll{animation:revroll 34s linear infinite}.revroll:hover{animation-play-state:paused}
@keyframes revroll{from{transform:translateY(0)}to{transform:translateY(-50%)}}
@media (prefers-reduced-motion:reduce){.revroll{animation:none}.talk{animation:none}.cmC,.cmT,.cmD,.cmS,.cmK{animation:none}.mq1,.mq2,.mq3{animation:none}.cb2,.sb2,.dots2{animation:none}.cy0{animation:none}.cy1{animation:none}.cy2{animation:none}.cy3{animation:none}.cy4{animation:none}.cy5{animation:none}.cy6{animation:none}.cy7{animation:none}.cy8{animation:none}.cy9{animation:none}.cy10{animation:none}.cy11{animation:none}.cy12{animation:none}.cy13{animation:none}.cy14{animation:none}.cy15{animation:none}.cy16{animation:none}.cy17{animation:none}.cy18{animation:none}.cy19{animation:none}.cy20{animation:none}.cy21{animation:none}.cy22{animation:none}.cy23{animation:none}.sy0{animation:none}.sy1{animation:none}.sy2{animation:none}.sy3{animation:none}.sy4{animation:none}.sy5{animation:none}.sy6{animation:none}.sy7{animation:none}.sy8{animation:none}.sy9{animation:none}.sy10{animation:none}.sy11{animation:none}.sy12{animation:none}.sy13{animation:none}.sy14{animation:none}.sy15{animation:none}.sy16{animation:none}.sy17{animation:none}.sy18{animation:none}.sy19{animation:none}.sy20{animation:none}.sy21{animation:none}.sy22{animation:none}.sy23{animation:none}.sy24{animation:none}.sy25{animation:none}.sy26{animation:none}.sy27{animation:none}.sy28{animation:none}.sy29{animation:none}.sy30{animation:none}.sy31{animation:none}.cb,.sb,.ring{animation:none}.roll,.evroll,.scrR,.scrH,.a-list,.a-tap,.a-speak,.l-dash,.l-dim,.l-detail,.l-dscroll,.l-form,.l-fscroll{animation:none}.draw{animation:none;stroke-dashoffset:0}.fadein{animation:none;opacity:1}.marquee,.scrolly,.fv,.ft,.rise,.pop,.scr,.wv,.float{animation:none}}
.ttl{font-family:'Sokind Latin','Pretendard Variable',Pretendard,sans-serif}
.gnb{transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease}
.gnb a,.gnb img{transition:color .3s ease,border-color .3s ease,filter .3s ease}
.scrolldown{animation:float 2.4s ease-in-out infinite}

/* ===== 반응형 ===== */
.r-float{transition:transform .2s}
@media (max-width:1320px){
.r-indwrap{flex-direction:column !important;align-items:flex-start !important;gap:56px !important}
.r-indtitle{width:auto !important}
.r-indouter{align-self:center}
.r-featwrap{flex-direction:column !important;align-items:flex-start !important;gap:48px !important}
.r-featgrid{align-self:center}
}
@media (max-width:1180px){
.r-nav{gap:32px !important;font-size:15px !important}
.r-coachwrap{flex-direction:column !important;align-items:stretch !important;gap:48px !important}
.r-coachdemo{align-self:center}
.r-howbox{zoom:.88}
.r-roll{padding:88px 32px 72px !important}
.r-rollwrap{flex-direction:column !important;gap:4px !important;text-align:center}
.r-rolltxt{font-size:36px !important}
.r-rollbox{flex:none !important;width:100% !important;height:260px !important}
.r-casebig{height:auto !important;display:flex;flex-direction:column}
.r-casetxt{position:relative !important;left:auto !important;top:auto !important;width:auto !important;padding:48px 40px 0}
.r-caselabel{position:relative !important;left:auto !important;bottom:auto !important;padding:20px 40px 0}
.r-caseimg{position:relative !important;right:auto !important;width:100% !important;max-width:520px;margin:24px auto 0}
.r-casebig .r-hide-t{display:none !important}
}
@media (max-width:1023px){
.r-nav,.r-brochure{display:none !important}
.r-burger{display:inline-flex !important}
.r-mnav{display:flex !important}
.r-hdin{height:64px !important;padding:0 20px !important}
.r-hero{height:760px !important;margin-top:-65px !important;padding:0 32px !important}
.r-herotxt{margin-top:40px !important}
.r-herotxt h1{font-size:60px !important;letter-spacing:-1.8px !important}
.r-herotxt p{font-size:21px !important}
.r-sec{padding-top:88px !important;padding-bottom:88px !important;padding-left:32px !important;padding-right:32px !important}
[style*="font-size: 40px;"]{font-size:34px !important;letter-spacing:-1.1px !important}
.r-ind .r-indwrap{gap:40px !important}
.r-indouter{width:100% !important;height:auto !important}
.r-indscale{position:static !important;width:auto !important;transform:none !important}
.r-indrow{display:flex !important;flex-wrap:wrap;justify-content:center !important;gap:24px 20px !important}
.lensWrap{display:none !important}
.r-stack{flex-direction:column !important;align-items:stretch !important;gap:36px !important}
.r-full{width:auto !important}
.r-reh{padding:0 32px 72px !important}
.r-rehbox{height:auto !important;display:flex;flex-direction:column;align-items:center}
.r-rehtxt{position:relative !important;left:auto !important;top:auto !important;bottom:auto !important;width:auto !important;max-width:none !important;padding:56px 40px 0;align-self:stretch;align-items:flex-start}
.r-rehimg{position:relative !important;right:auto !important;bottom:auto !important;width:100% !important;max-width:560px !important;margin-top:120px}
.r-hide-t{display:none !important}
.r-featgrid{zoom:.72 !important}
.r-tasthead{flex-direction:column !important;align-items:flex-start !important;gap:20px !important}
.r-tabs{max-width:100%;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.r-tabs button{flex:none}
.r-tastbox{flex-direction:column !important;padding:24px !important;gap:24px !important}
.r-tastleft{width:auto !important}
.r-tastright{padding:24px 0 24px 24px !important}
.r-courses{overflow-x:auto;padding-right:24px;scroll-snap-type:x mandatory;scrollbar-width:none}
.r-course{scroll-snap-align:start}
.r-hide-m{display:none !important}
.r-howbox{zoom:1 !important;width:100% !important;height:auto !important;display:flex;flex-direction:column;align-items:center;gap:16px}
.r-howsvg{display:none !important}
.r-howcall{animation:none !important;opacity:1 !important;transform:none !important;position:relative !important;left:auto !important;top:auto !important;width:100% !important;max-width:420px}
.r-howapp .a-coA{order:1}.r-howapp .r-howphone{order:2}.r-howapp .a-coB{order:3}
.r-howweb .l-coA{order:1}.r-howweb .r-howlaptop{order:2}.r-howweb .l-coB{order:3}
.r-howphone{position:relative !important;left:auto !important;top:auto !important;flex:none}
.r-howlaptop{position:relative !important;left:auto !important;top:auto !important;width:100% !important;padding:8px !important}
.r-howscreen{height:auto !important;aspect-ratio:820/559}
.r-resrow{flex-direction:column !important}
.r-rescount{flex:none !important}
.r-reviews{width:100% !important;height:420px !important}
.r-newsgrid{grid-template-columns:minmax(0,1fr) !important;gap:64px !important}
.r-footwrap{flex-direction:column !important;gap:40px !important}
}
@media (max-width:767px){
.r-notice{height:auto !important;min-height:40px;padding:9px 16px;font-size:12.5px !important;line-height:1.45;text-align:left;justify-content:flex-start !important}
.r-notice span:first-child{flex:none}
.r-hdin{padding:0 16px !important}
.r-hdin img{height:24px !important}
.r-trialbtn{height:38px !important;padding:0 14px !important;font-size:14px !important}
.r-hero{height:620px !important;padding:0 20px !important}
.r-herovid{object-position:62% center}
.r-herotxt{margin-top:24px !important}
.r-herotxt h1{font-size:38px !important;line-height:1.28 !important;letter-spacing:-1.2px !important}
.r-herotxt p{margin-top:16px !important;font-size:17px !important}
.scrolldown{bottom:20px !important}
.r-sec{padding:64px 20px !important}
[style*="font-size: 40px;"]{font-size:27px !important;letter-spacing:-0.8px !important}
.r-ind .r-indwrap{gap:32px !important}
.r-indrow{gap:16px 14px !important}
.r-indrow .hcard{zoom:.64}
.r-cust{padding:56px 0 !important}
.r-cust .r-stack{gap:28px !important}
.r-cust .r-full:first-child{padding:0 20px}
.r-roll{padding:64px 20px 56px !important}
.r-rolltxt{font-size:27px !important}
.r-rollbox{height:240px !important}
.r-rolli{font-size:15px !important}
.r-rollh{font-size:17px !important}
.r-reh{padding:0 16px 56px !important}
.r-rehbox{border-radius:28px !important}
.r-rehtxt{padding:40px 24px 0}
.r-rehtxt a{height:50px !important;font-size:15px !important}
.r-rehimg{margin-top:112px}
.r-cb{min-width:0 !important;width:74% !important;padding:12px 14px 13px !important}
.r-cb p:last-child{font-size:15px !important}
.r-sb{right:28% !important;min-width:0 !important;width:62% !important}
.r-sb p:last-child{font-size:14px !important}
.r-featgrid{zoom:1 !important;width:calc(100% + 40px) !important;margin:0 -20px;padding:0 20px;box-sizing:border-box;display:flex !important;gap:14px !important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.r-featgrid > div{flex:none;width:300px;zoom:.86;scroll-snap-align:center}
.r-tabs button{height:40px !important;padding:0 16px !important;font-size:15px !important}
.r-tastbox{padding:16px !important;border-radius:24px !important}
.r-tastleft a{font-size:22px !important}
.r-tastright{padding:20px 0 20px 16px !important}
.r-course{width:236px !important;height:216px !important;padding:20px !important}
.r-coachdemo{zoom:.54}
.r-coachtabs{display:flex !important;flex-wrap:nowrap;gap:6px !important;max-width:none !important;width:auto !important;margin:24px -20px 0 !important;padding:0 20px 2px;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 85%,rgba(0,0,0,0));mask-image:linear-gradient(to right,#000 85%,rgba(0,0,0,0))}
.r-coachtabs::-webkit-scrollbar{display:none}
.r-coachtabs button{flex:none;width:auto !important;height:36px !important;padding:0 14px !important;border-radius:18px !important;font-size:14px !important;gap:0 !important}
.r-coachtabs button > span[aria-hidden="true"]{display:none !important}
.r-coachwrap > div > p:last-child{margin-top:20px !important;font-size:12.5px !important}
.r-coachwrap > div > p:nth-of-type(1){font-size:16px !important;margin-top:16px !important}
.r-howphone{zoom:.9}
.r-howcall{max-width:none}
.r-devtabs button{padding:0 18px !important;font-size:15px !important}
.r-rescount{height:400px !important}
.r-people{left:16px !important;right:16px !important;grid-template-columns:repeat(12,minmax(0,1fr)) !important;gap:8px !important}
.r-countnum{font-size:64px !important;letter-spacing:-1.5px !important}
.r-countnum span{font-size:40px !important}
.r-chips{flex-wrap:wrap;justify-content:center;padding:0 16px;gap:8px !important}
.r-chips span{height:34px !important;font-size:13.5px !important;padding:0 12px !important}
.r-reviews{height:380px !important}
.r-casebig{border-radius:24px !important}
.r-casetxt{padding:32px 24px 0}
.r-casetxt h4{font-size:24px !important}
.r-casetxt p{font-size:15.5px !important;white-space:normal !important}
.r-caselabel{padding:16px 24px 0;font-size:14px !important}
.r-grid1{grid-template-columns:minmax(0,1fr) !important;gap:16px !important}
.r-casecard{padding:28px 24px !important;border-radius:22px !important;min-height:220px !important}
.r-casecard h4{font-size:21px !important;max-width:none !important}
.r-casecard p{max-width:58% !important}
.r-casecard > span[aria-hidden]{width:110px !important;height:110px !important;right:16px !important;bottom:14px !important}
.r-newsgrid a[style*="padding: 22px 24px"]{padding:18px 18px !important}
.r-newsgrid a span:last-child{font-size:16px !important}
.r-newsgrid button{font-size:16.5px !important;padding:20px 2px !important}
.r-footer{padding:48px 20px 96px !important}
.r-footer p{word-break:keep-all}
.r-footlinks{gap:36px !important;flex-wrap:wrap}
.r-float{right:16px !important;bottom:16px !important}
.r-floattxt{display:none !important}
}

/* 리허설 영역 말풍선: 자간·어간 좁게 */
.r-cb p:last-child,.r-sb p:last-child{letter-spacing:-0.04em}
.r-cb p:last-child > span,.r-sb p:last-child > span{margin-right:0.2em !important}
.r-cb p:last-child > span:last-child,.r-sb p:last-child > span:last-child{margin-right:0 !important}
