@font-face{font-family:"Black Han Sans";src:url("/fonts/BlackHanSans-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Noto Sans KR Variable";src:url("/fonts/NotoSansKR-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Noto Sans KR Variable";src:url("/fonts/NotoSansKR-700.woff2") format("woff2");font-weight:700;font-display:swap}



:root{--blue:#2388cf;--ice:#a9dcff;--lime:#f0f47d;--pink:#ff9dca;--paper:#f8f6ef;--ink:#101414;--line:rgba(16,20,20,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans KR Variable","Noto Sans KR",sans-serif}button,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}img{display:block;width:100%}
.site-header{height:76px;padding:0 4vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);background:rgba(248,246,239,.94);position:sticky;top:0;z-index:50;backdrop-filter:blur(15px)}
.brand{font-family:"Black Han Sans";font-size:25px;letter-spacing:-.03em}.brand span{color:var(--blue)}.nav{display:flex;gap:32px;font-size:14px;font-weight:700}.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:2px;background:var(--ink);transition:.25s}.nav a:hover:after{right:0}.login-button{justify-self:end;border:1.5px solid var(--ink);background:transparent;border-radius:999px;padding:10px 22px;font-size:13px;font-weight:800}.login-button:hover{background:var(--ink);color:#fff}.menu-button{display:none}
.hero{min-height:calc(100vh - 76px);display:grid;grid-template-columns:52% 48%;overflow:hidden;background:var(--blue);color:#fff}.hero-copy{padding:clamp(70px,8vw,130px) 3vw 70px 5vw;z-index:2;display:flex;flex-direction:column;justify-content:center}.eyebrow,.section-number{font-size:12px;letter-spacing:.18em;font-weight:800;margin-bottom:25px}.hero h1,.section-heading h2,.section-intro h2,.license h2,.closing h2,.login-modal h2{font-family:"Black Han Sans";font-weight:400;letter-spacing:-.045em;line-height:.96}.hero h1{font-size:clamp(60px,7.4vw,126px);margin:0 0 35px;white-space:nowrap}.hero h1 span{color:var(--lime)}.hero-description{line-height:1.85;font-size:clamp(15px,1.15vw,19px);margin-bottom:36px}.primary-button,.dark-button{border:0;border-radius:999px;padding:16px 22px;background:var(--lime);font-weight:800;align-self:flex-start;min-width:190px;display:flex;justify-content:space-between;transition:.2s}.primary-button:hover,.dark-button:hover{transform:translateY(-3px);box-shadow:0 9px 0 rgba(0,0,0,.16)}
.hero-image-wrap{position:relative;background:var(--ice);min-height:620px;overflow:hidden}.hero-image-wrap>img{height:100%;object-fit:cover;object-position:center}.hero-image-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(35,136,207,.2),transparent 40%);pointer-events:none}.hero-sticker{position:absolute;z-index:2;font-family:"Black Han Sans";background:var(--pink);color:var(--ink);padding:10px 18px;font-size:24px;transform:rotate(-5deg)}.hero-sticker.one{top:8%;right:7%}.hero-sticker.two{top:calc(8% + 51px);right:4%;background:var(--lime);transform:rotate(3deg)}.hero-note{position:absolute;z-index:2;bottom:5%;right:5%;width:148px;height:148px;display:grid;place-content:center;text-align:center;border-radius:50%;background:var(--lime);color:#0c63a4;font-family:"Black Han Sans";line-height:1.05;transform:rotate(8deg)}
.finder{background:var(--lime);border-bottom:1px solid var(--ink);padding:48px 5vw 55px}.section-intro.compact{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.section-intro.compact .section-number{margin:0}.section-intro.compact h2{font-size:clamp(30px,3vw,50px);margin:0}.filter-grid{display:grid;grid-template-columns:repeat(6,1fr) 1.2fr;gap:9px;align-items:end}.filter-grid label{display:grid;gap:7px}.filter-grid label>span{font-size:11px;font-weight:800}.filter-grid select{width:100%;min-width:0;border:1.5px solid var(--ink);border-radius:0;background:#fffef7;padding:14px 12px;font-size:13px;font-weight:700}.search-button{border:1.5px solid var(--ink);background:var(--ink);color:#fff;padding:14px 16px;display:flex;justify-content:space-between;font-weight:800}
.section-shell{padding:105px 5vw}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:52px}.section-heading .section-number{margin-bottom:17px}.section-heading h2,.section-intro h2{font-size:clamp(45px,5vw,82px);margin:0}.section-heading>p{line-height:1.8;margin:0;font-size:15px}.result-bar{display:flex;justify-content:space-between;border-top:1px solid var(--ink);padding:16px 0;font-size:13px}.result-bar b{font-size:19px;color:#0c63a4}.result-bar button{border:0;background:transparent;text-decoration:underline}.coach-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.coach-card{border:1px solid var(--ink);background:#fff;min-width:0;transition:.22s}.coach-card:hover{transform:translateY(-7px);box-shadow:9px 9px 0 var(--ink)}.coach-photo{height:330px;position:relative;overflow:hidden;border-bottom:1px solid var(--ink);background:var(--ice)}.coach-photo img{height:100%;object-fit:cover}.coach-card:nth-child(2) .coach-photo img,.coach-card:nth-child(3) .coach-photo img{object-position:70% center}.team-label,.compare{position:absolute;top:14px;border:1px solid var(--ink);background:#fff;padding:7px 9px;font-size:10px;font-weight:900}.team-label{left:14px;letter-spacing:.08em}.compare{right:14px}.compare.active{background:var(--ink);color:#fff}.coach-info{padding:22px 19px 19px}.coach-info>p{font-size:11px;font-weight:800;color:#555;margin-bottom:8px}.coach-info h3{font-family:"Black Han Sans";font-size:29px;font-weight:400;margin-bottom:17px}.coach-meta{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;font-size:11px;font-weight:700}.tag-row{display:flex;flex-wrap:wrap;gap:5px;padding:14px 0 24px}.tag-row span{border-radius:999px;padding:6px 9px;font-size:10px;background:#eef0ed}.coach-card.pink .coach-info{background:var(--pink)}.coach-card.lime .coach-info{background:var(--lime)}.coach-card.blue .coach-info{background:var(--ice)}.coach-card.yellow .coach-info{background:#ffd857}.card-bottom{display:flex;justify-content:space-between;align-items:end}.card-bottom strong{font-size:17px}.card-bottom small{font-size:10px;font-weight:500}.card-bottom button{border:0;background:transparent;font-size:12px;font-weight:900}.empty-state{text-align:center;padding:80px;border:1px dashed var(--ink);font-size:20px;font-weight:700;line-height:2}.empty-state button{border:0;background:var(--lime);padding:8px 12px}
.choice-guide{background:var(--pink);display:grid;grid-template-columns:1.1fr 1.5fr;gap:8vw}.guide-grid{border-top:1px solid var(--ink)}.guide-grid article{display:grid;grid-template-columns:50px .9fr 1.4fr;gap:25px;padding:28px 0;border-bottom:1px solid var(--ink)}.guide-grid b{font-size:12px}.guide-grid h3{font-size:19px}.guide-grid p{margin:0;line-height:1.7;font-size:13px}
.events{background:var(--blue);color:#fff}.section-heading.inverse h2{color:var(--lime)}.outline-button{border:1px solid #fff;border-radius:999px;background:transparent;color:#fff;padding:13px 20px;font-weight:700}.month-tabs{display:flex;gap:7px;margin-bottom:25px}.month-tabs button{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:9px 20px;font-weight:700}.month-tabs button.active{background:var(--lime);color:var(--ink);border-color:var(--lime)}.event-list{border-top:1px solid rgba(255,255,255,.5)}.event-list article{display:grid;grid-template-columns:110px 1fr 50px;align-items:center;gap:24px;padding:25px 0;border-bottom:1px solid rgba(255,255,255,.45)}.event-date small{display:block;font-size:11px}.event-date strong{font-family:"Black Han Sans";font-size:45px;font-weight:400;line-height:1}.event-copy span{background:var(--pink);color:var(--ink);font-size:9px;font-weight:900;padding:4px 7px}.event-copy h3{font-size:22px;margin:9px 0 5px}.event-copy p{margin:0;font-size:12px;opacity:.8}.event-list article>button{color:#fff;border:1px solid rgba(255,255,255,.6);background:transparent;border-radius:50%;width:44px;height:44px;font-size:20px}
.license{background:var(--ice);display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw}.license-copy>p:not(.section-number){max-width:500px;line-height:1.9;margin:28px 0}.license h2{font-size:clamp(55px,6vw,95px);margin:0}.license-actions{display:flex;gap:20px;align-items:center}.dark-button{color:#fff;background:var(--ink)}.license-actions a{font-size:12px;font-weight:800;border-bottom:1px solid}.license-board{position:relative;background:var(--paper);border:1px solid var(--ink);padding-top:100px}.license-board>div{display:flex;justify-content:space-between;padding:23px 28px;border-top:1px solid var(--ink)}.license-board small{font-size:10px;letter-spacing:.1em}.round-mark{position:absolute;top:-35px;right:25px;background:var(--pink);border:1px solid var(--ink);width:135px;height:135px;border-radius:50%;display:grid;place-content:center;text-align:center;font-weight:800;transform:rotate(8deg)}.round-mark b{font-family:"Black Han Sans";font-size:35px;font-weight:400}
.community{background:var(--paper)}.primary-button.small{min-width:145px}.post-list{border-top:1px solid var(--ink)}.post-list article{display:grid;grid-template-columns:55px 85px 1fr 110px 75px;gap:20px;align-items:center;border-bottom:1px solid var(--ink);padding:23px 5px}.post-list article:hover{background:var(--lime)}.post-index,.post-category,.post-list p,.post-list strong{font-size:11px}.post-category{border:1px solid var(--ink);border-radius:999px;text-align:center;padding:5px}.post-list h3{margin:0;font-size:16px}.post-list p{margin:0;color:#666}
.closing{padding:120px 5vw;background:var(--lime);position:relative;overflow:hidden}.closing:after{content:"RIDE";position:absolute;right:-2vw;bottom:-6vw;font-family:"Black Han Sans";font-size:26vw;color:rgba(35,136,207,.16);line-height:.8}.closing p{font-size:12px;font-weight:900;letter-spacing:.18em}.closing h2{font-size:clamp(54px,7.5vw,125px);margin:0 0 40px;position:relative;z-index:1}.closing button{position:relative;z-index:1;border:1px solid var(--ink);background:#fff;border-radius:999px;padding:15px 35px;font-weight:800}footer{background:var(--ink);color:#fff;padding:50px 5vw;display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:30px}footer p{font-size:12px;color:#aaa}footer>div{display:flex;justify-content:flex-end;gap:20px;font-size:11px}footer small{grid-column:1/-1;border-top:1px solid #333;padding-top:25px;margin-top:30px;color:#777;font-size:9px}
.compare-dock{position:fixed;z-index:60;left:50%;bottom:25px;transform:translateX(-50%);width:min(620px,calc(100% - 30px));background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr auto auto auto;gap:18px;align-items:center;padding:13px 15px 13px 22px;box-shadow:0 12px 35px rgba(0,0,0,.25)}.compare-dock div{display:grid}.compare-dock small{font-size:9px;color:#aaa}.compare-dock strong{font-size:13px}.compare-dock>span{color:var(--lime);font-weight:800}.compare-dock button{border:0;background:var(--lime);padding:10px 18px;font-weight:800}.compare-dock button:disabled{opacity:.35}.compare-dock .dock-close{color:#fff;background:transparent;font-size:22px;padding:0}
.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(10,20,26,.72);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px;animation:fadeIn .2s}.coach-modal{width:min(880px,100%);max-height:92vh;overflow:auto;display:grid;grid-template-columns:45% 55%;background:var(--paper);border:1px solid var(--ink);position:relative;box-shadow:15px 15px 0 var(--lime);animation:modalUp .3s}.modal-close{position:absolute;z-index:2;right:13px;top:13px;width:36px;height:36px;border-radius:50%;border:1px solid var(--ink);background:#fff;font-size:22px}.modal-photo{min-height:540px;position:relative;overflow:hidden;background:var(--ice)}.modal-photo img{height:100%;object-fit:cover}.modal-photo span{position:absolute;bottom:20px;left:20px;background:var(--lime);border:1px solid var(--ink);padding:8px 12px;font-size:10px;font-weight:900}.modal-content{padding:65px 45px 35px}.modal-content>p{font-size:11px;font-weight:800}.modal-content h2{font-family:"Black Han Sans";font-size:48px;font-weight:400;margin:8px 0 22px}.modal-content blockquote{margin:0 0 30px;padding-left:16px;border-left:5px solid var(--pink);font-weight:700;line-height:1.65}.modal-content dl{border-top:1px solid var(--ink)}.modal-content dl div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 0;font-size:12px}.modal-content dt{color:#666}.modal-content dd{margin:0;font-weight:800}.modal-links{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:25px}.modal-links button{border:1px solid var(--ink);background:#fff;padding:12px;font-size:12px;font-weight:800}.modal-links button:first-child{grid-column:1/-1;background:var(--blue);color:#fff}.modal-content>small{display:block;color:#777;font-size:9px;line-height:1.6;margin-top:18px}
.login-modal{width:min(480px,100%);background:var(--paper);border:1px solid var(--ink);padding:62px 48px 42px;position:relative;text-align:center;box-shadow:12px 12px 0 var(--pink);animation:modalUp .3s}.login-modal h2{font-size:49px;margin-bottom:20px}.login-modal>p:not(.section-number){line-height:1.8;color:#555;margin-bottom:28px}.kakao-button,.naver-button{width:100%;border:0;padding:15px;margin-top:8px;font-weight:800}.kakao-button{background:#fee500}.naver-button{background:#03c75a;color:#fff}.kakao-button b,.naver-button b{float:left}.login-modal small{display:block;color:#777;font-size:9px;line-height:1.6;margin-top:22px}@keyframes fadeIn{from{opacity:0}}@keyframes modalUp{from{opacity:0;transform:translateY(18px)}}
@media(max-width:1100px){.filter-grid{grid-template-columns:repeat(3,1fr)}.search-button{grid-column:span 3}.coach-grid{grid-template-columns:repeat(2,1fr)}.coach-photo{height:430px}.hero{grid-template-columns:55% 45%}.hero h1{font-size:7vw}}
@media(max-width:760px){.site-header{height:66px;grid-template-columns:1fr auto auto;gap:10px;padding:0 18px}.brand{font-size:21px}.login-button{padding:8px 14px;font-size:11px}.menu-button{display:block;border:0;background:transparent;font-size:22px}.nav{display:none;position:absolute;top:66px;left:0;right:0;padding:25px;background:var(--paper);border-bottom:1px solid var(--ink);flex-direction:column}.nav.open{display:flex}.hero{min-height:auto;display:flex;flex-direction:column}.hero-copy{min-height:500px;padding:68px 23px 52px}.hero h1{font-size:clamp(51px,15.4vw,78px);white-space:normal}.hero-description{font-size:14px}.hero-image-wrap{min-height:510px}.hero-note{width:110px;height:110px;font-size:13px}.finder,.section-shell{padding-left:20px;padding-right:20px}.section-intro.compact{align-items:start;flex-direction:column}.section-intro.compact h2{font-size:34px}.filter-grid{grid-template-columns:1fr 1fr}.search-button{grid-column:span 2}.section-heading{align-items:start;flex-direction:column}.section-heading h2,.section-intro h2{font-size:46px}.coach-grid{grid-template-columns:1fr}.coach-photo{height:440px}.choice-guide{grid-template-columns:1fr;gap:45px}.guide-grid article{grid-template-columns:35px 1fr}.guide-grid p{grid-column:2}.event-list article{grid-template-columns:70px 1fr 42px;gap:10px}.event-date strong{font-size:35px}.event-copy h3{font-size:16px}.license{grid-template-columns:1fr;gap:75px}.license h2{font-size:60px}.license-actions{align-items:start;flex-direction:column}.post-list article{grid-template-columns:35px 65px 1fr;gap:10px}.post-list p,.post-list strong{display:none}.post-list h3{font-size:14px}.closing{padding:90px 20px}.closing h2{font-size:14vw}footer{grid-template-columns:1fr;padding:45px 20px}footer>div{justify-content:flex-start;flex-wrap:wrap}footer small{grid-column:1}.coach-modal{grid-template-columns:1fr;box-shadow:6px 6px 0 var(--lime)}.modal-photo{min-height:310px;height:310px}.modal-content{padding:35px 24px 30px}.login-modal{padding:55px 24px 35px}.compare-dock{bottom:10px;grid-template-columns:1fr auto auto;gap:10px}.compare-dock>span{display:none}.compare-dock button{padding:9px 11px;font-size:11px}}
.hero .primary-button{color:var(--ink)}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Local SNOWGROUND interactions; the base layout comes from the preserved design source. */
[hidden]{display:none!important}
.modal-links{grid-template-columns:1fr}
.contact-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 18px;background:var(--blue);color:#fff;border:1px solid var(--ink);font-size:12px;font-weight:800;text-align:center}
.modal-links span{font-size:11px;color:#666}
.compare-modal,.info-modal{width:min(900px,100%);max-height:92vh;overflow:auto;background:var(--paper);border:1px solid var(--ink);padding:44px;position:relative;box-shadow:12px 12px 0 var(--lime);animation:modalUp .3s}
.compare-content h2,.info-modal h2{font-family:"Black Han Sans";font-size:clamp(32px,5vw,48px);font-weight:400;line-height:1.1;margin-bottom:24px}
.compare-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:20px}
.compare-columns article{min-width:0;background:#fff;border:1px solid var(--ink);padding:15px}
.compare-columns img{height:190px;object-fit:cover;margin-bottom:16px}
.compare-columns h3{font-size:24px;margin-bottom:4px}
.compare-columns article>p{font-size:12px;color:#555}
.compare-columns dl,.info-modal dl{border-top:1px solid var(--line);margin:18px 0}
.compare-columns dl div,.info-modal dl div{display:grid;grid-template-columns:100px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
.compare-columns dt,.info-modal dt{font-weight:800}
.compare-columns dd,.info-modal dd{margin:0}
.compare-tags{display:flex;flex-wrap:wrap;gap:5px}
.compare-tags span{padding:4px 7px;background:var(--lime);font-size:11px}
.compare-columns .contact-link{width:100%;margin-top:10px}
.compare-content>small,.info-modal small{display:block;color:#666;line-height:1.6;margin-top:18px}
.info-modal{width:min(620px,100%)}
.info-modal p{line-height:1.7}
.info-modal ol{padding-left:24px;margin-bottom:24px}
.info-modal li{margin-bottom:13px}
.info-modal li p{margin:4px 0 0;font-size:13px}
.login-content h2{font-family:"Black Han Sans";font-size:49px;font-weight:400;line-height:.96;margin-bottom:20px}
.login-content>p:not(.section-number){line-height:1.8;color:#555;margin-bottom:28px}
.login-content>small{display:block;margin-top:18px;color:#777;font-size:10px;line-height:1.6}
.login-content button:disabled{cursor:not-allowed;opacity:.65}
@media(max-width:700px){.compare-modal,.info-modal{padding:55px 20px 25px;max-height:90vh}.compare-columns{grid-template-columns:1fr}.compare-columns img{height:160px}.modal-links{grid-template-columns:1fr}}
