/* 짐몬드 — 공통 스타일
   디자인 언어: 「한 사람, 한 랙」 · 딥그린/블랙/회백 · IBM Plex Sans KR + Bebas Neue
   배치: 한 줄 정렬선(wrap 1400, 좌우 20px) · 섹션 머리 = 한글 제목(왼쪽) + 큰 영문 단어(오른쪽 끝) · 카드 대신 줄 목록·표·띠 */
:root{
  --green:#1E6B5A; --green-ink:#15493E; --green-lite:#5FB39B; --green-soft:#E3EEE9;
  --ink:#121412; --ink-2:#2A2E2B; --mute:#5F6863; --line:#D5DAD6;
  --paper:#F4F4F1; --white:#FCFCFA; --dark:#0F1411; --dark-2:#171D19;
  --bg:var(--paper); --fg:var(--ink);
  --f-ko:"IBM Plex Sans KR",system-ui,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --f-num:"Bebas Neue","IBM Plex Sans KR",Impact,sans-serif;
  --wrap:1400px; --gut:20px; --r:3px;
  --hdr:68px; --bar:58px;
  --ease-out:cubic-bezier(.23,1,.32,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--f-ko);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word}
img,video{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol,figure,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
h1,h2,h3{text-wrap:balance;letter-spacing:-.025em}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:0}.skip:focus{left:8px;top:8px;z-index:99;background:#fff;padding:8px 12px}
:focus-visible{outline:3px solid #E9D85A;outline-offset:2px}
.num{font-family:var(--f-num);letter-spacing:.05em;font-weight:400}

/* 단추 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 24px;border-radius:var(--r);font:600 15px/1 var(--f-ko);text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .16s var(--ease-out)}
.btn:active{transform:scale(.97)}
.btn.p{background:var(--green);color:#fff}.btn.p:hover{background:var(--green-ink)}
.btn.g{background:rgba(15,20,17,.38);color:#fff;border-color:rgba(255,255,255,.55);backdrop-filter:blur(6px)}.btn.g:hover{background:rgba(255,255,255,.14)}
.btn.o{border-color:var(--ink);color:var(--ink)}.btn.o:hover{background:var(--ink);color:#fff}
.btn.w{background:#fff;color:var(--green-ink)}

/* 머리글 */
.pg{position:relative}
.hdr{position:absolute;left:0;right:0;top:0;z-index:20;color:#fff;background:linear-gradient(to bottom,rgba(10,14,12,.62) 0%,rgba(10,14,12,.3) 60%,rgba(10,14,12,0) 100%)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:var(--hdr);gap:20px}
.brand{display:inline-flex;align-items:baseline;gap:10px;text-decoration:none;color:inherit;flex:none}
.brand .mark{font:400 30px/1 var(--f-num);letter-spacing:.06em}
.brand .logo{height:34px;width:auto;display:block;filter:drop-shadow(0 1px 6px rgba(0,0,0,.45))}
.brand{align-items:center}
.brand .mark b{font-weight:400;font-size:1.3em}
.brand small{font:600 10.5px/1 var(--f-ko);letter-spacing:.22em}
.nav{display:flex;align-items:center;gap:24px;font:500 14.5px/1 var(--f-ko)}
.hdr .nav a,.hdr .brand{text-shadow:0 1px 3px rgba(0,0,0,.55),0 0 18px rgba(0,0,0,.45)}
.nav a{text-decoration:none;opacity:1;padding:8px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{opacity:1;border-bottom-color:var(--green-lite)}
.nav .cta{opacity:1;border:1px solid rgba(255,255,255,.55);background:rgba(15,20,17,.5);padding:10px 14px;border-radius:var(--r);display:inline-flex;align-items:center;gap:8px}
.nav .cta:hover{border-bottom-color:rgba(255,255,255,.45);background:rgba(255,255,255,.1)}
.nav .cta i{width:7px;height:7px;border-radius:50%;background:var(--green-lite);box-shadow:0 0 0 3px rgba(95,179,155,.25)}
.menu-btn{display:none;background:none;border:0;color:inherit;width:44px;height:44px;padding:10px;cursor:pointer}
.menu-btn span{display:block;height:2px;background:currentColor;margin:5px 0;transition:transform .25s,opacity .25s}

/* 첫 화면 (홈) */
.hero{position:relative;color:#fff;background:var(--dark);min-height:min(92vh,880px);display:flex;flex-direction:column;overflow:hidden}
.slides{position:absolute;inset:0}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease;z-index:0}
.slide picture,.slide img,.slide video{width:100%;height:100%}
.slide video{object-fit:cover;display:block;filter:saturate(.95) contrast(1.03)}
.slide .v-m{display:none}
@media (max-width:900px){.slide .v-pc{display:none}.slide .v-m{display:block}}
.slide img{object-fit:cover;object-position:50% 45%;filter:saturate(.92) contrast(1.04);transform:scale(1.0);transition:transform 7s linear}
.slide.on{opacity:1}
.slide.on img{transform:scale(1.05)}
.shade{position:absolute;inset:0;z-index:3;pointer-events:none;background:
  radial-gradient(ellipse 52% 58% at 18% 72%,rgba(10,14,12,.72) 0%,rgba(10,14,12,.38) 55%,rgba(10,14,12,0) 100%),
  linear-gradient(to top,rgba(10,14,12,.78) 0%,rgba(10,14,12,.18) 34%,rgba(10,14,12,0) 60%),
  linear-gradient(to bottom,rgba(10,14,12,.72) 0%,rgba(10,14,12,.35) 12%,rgba(10,14,12,0) 24%)}
.hero .wrap.stage{position:relative;z-index:4;flex:1;display:flex;flex-direction:column;justify-content:flex-end;width:100%;padding-top:calc(var(--hdr) + 60px);padding-bottom:36px}
.hero .copy{max-width:640px}
.hero .where{display:inline-flex;align-items:center;gap:12px;font:600 13.5px/1 var(--f-ko);letter-spacing:.14em;background:rgba(10,14,12,.62);padding:8px 12px 8px 0;backdrop-filter:blur(4px)}
.hero .where::before{margin-left:0}
.hero .where::before{content:"";width:28px;height:1px;background:#fff;opacity:.7}
.hero h1{margin-top:18px;font:700 clamp(46px,6vw,92px)/1.0 var(--f-ko);letter-spacing:-.035em;text-shadow:0 2px 24px rgba(0,0,0,.25)}
.hero h1 em{font-style:normal;color:var(--green-lite)}
.hero .sub{margin-top:20px;font-size:17px;max-width:40ch;line-height:1.65;text-shadow:0 1px 10px rgba(0,0,0,.35)}
.hero .cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero .info{margin-top:24px;font:500 13px/1.5 var(--f-ko);opacity:.85}
.hero .info i{display:inline-block;width:3px;height:3px;border-radius:50%;background:#fff;margin:0 10px;vertical-align:middle;opacity:.7}
.days{position:relative;z-index:4;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18);background:rgba(10,14,12,.5);backdrop-filter:blur(6px)}
.day{position:relative;display:flex;align-items:center;gap:14px;padding:18px 22px;border:0;border-right:1px solid rgba(255,255,255,.14);color:#fff;background:none;cursor:pointer;text-align:left;font:inherit;opacity:.62;transition:opacity .4s,transform .16s var(--ease-out)}
.day:active{transform:scale(.97)}
.day:last-child{border-right:0}
.day .d{font:400 28px/1 var(--f-num);letter-spacing:.06em;min-width:48px}
.day .p{font:600 15px/1.2 var(--f-ko)}
.day .bar{position:absolute;left:0;bottom:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left;background:var(--green-lite)}
.day.on{opacity:1}
.day.on .bar{animation:grow var(--dur,6s) linear forwards}
.hero.paused .day.on .bar{animation-play-state:paused}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* 세부 페이지 첫 화면 */
.phero{position:relative;color:#fff;background:var(--dark);min-height:400px;display:flex;overflow:hidden}
.phero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%;filter:saturate(.9)}
.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,14,12,.9) 0%,rgba(10,14,12,.62) 45%,rgba(10,14,12,.5) 75%,rgba(10,14,12,.72) 100%)}
.phero .wrap{position:relative;z-index:2;width:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-top:calc(var(--hdr) + 40px);padding-bottom:44px}
.crumbs{display:flex;justify-content:space-between;align-items:center;gap:12px;font:600 13.5px/1 var(--f-ko)}
.crumbs>span{background:rgba(15,20,17,.6);padding:9px 12px;border-radius:var(--r)}
.crumbs .back{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.55);background:rgba(15,20,17,.6);padding:9px 14px;border-radius:var(--r);margin-left:auto}
.phero h1{margin-top:20px;font:700 clamp(38px,4.6vw,68px)/1.05 var(--f-ko)}
.phero h1 .num{display:table;font-size:.42em;color:#fff;background:var(--green);letter-spacing:.08em;padding:6px 10px 3px;margin-bottom:14px;line-height:1}
.phero .lead{margin-top:16px;font-size:17px;max-width:46ch;opacity:.92}

/* 섹션 */
.sec{padding-block:96px}
.sec.tight{padding-block:72px}
.sec.dark{background:var(--dark);color:#EFEFEA}
.sec.white{background:var(--white)}
.sec.green{background:var(--green);color:#fff}
.head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:2px solid currentColor;margin-bottom:44px}
.head h2{font:700 clamp(30px,3.4vw,48px)/1.15 var(--f-ko)}
.head h2 small{display:block;font:500 16px/1.5 var(--f-ko);letter-spacing:0;margin-top:12px;opacity:.75;max-width:52ch}
.head .en{font:400 clamp(56px,7vw,112px)/.8 var(--f-num);letter-spacing:.02em;color:transparent;-webkit-text-stroke:1.6px var(--green);opacity:.85;flex:none;user-select:none}
.sec.dark .head .en,.sec.green .head .en{-webkit-text-stroke-color:var(--green-lite)}
.sec.green .head .en{-webkit-text-stroke-color:#fff;opacity:.6}
.sec.dark .head,.sec.green .head{border-bottom-color:rgba(255,255,255,.7)}
.head+.plans,.head+.floors,.head+.faq,.head+.stories,.head+.steps,.head+.rows,.head+.vshort{border-top:0;padding-top:0}
.more{display:inline-flex;align-items:center;gap:10px;margin-top:33px;font:600 15px/1 var(--f-ko);text-decoration:none;border-bottom:2px solid currentColor;padding-top:3px;padding-bottom:6px}
.more::after{content:"→"}

/* 차별점 줄 목록 */
.rows{display:grid;gap:0}
.row{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,1.1fr);gap:32px;align-items:start;padding:30px 0;border-bottom:1px solid var(--line)}
.row:last-child{border-bottom:0}
.row .k{font:400 64px/.9 var(--f-num);color:var(--green)}
.row .k small{display:block;font:500 12px/1.3 var(--f-ko);color:var(--mute);letter-spacing:.04em;margin-top:8px}
.row h3{font:700 24px/1.3 var(--f-ko)}
.row p{color:var(--ink-2)}
.sec.dark .row{border-bottom-color:rgba(255,255,255,.14)}
.sec.dark .row p{color:#C9CFCB}.sec.dark .row .k{color:var(--green-lite)}.sec.dark .row .k small{color:#9AA39E}

/* 2층에서 배우고 3층에서 혼자 — 건물 단면 */
.floors{display:grid;gap:0;border-top:2px solid rgba(255,255,255,.7)}
.floor{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,1.15fr);gap:36px;align-items:center;padding:30px 0;border-bottom:1px solid rgba(255,255,255,.16);position:relative}
.floor .lv{font:400 104px/.85 var(--f-num);color:var(--green-lite);letter-spacing:.02em}
.floor .lv small{display:block;font:600 13px/1.3 var(--f-ko);color:#fff;letter-spacing:.06em;margin-top:10px}
.floor h3{font:700 clamp(24px,2.4vw,32px)/1.25 var(--f-ko);color:#fff}
.floor p{margin-top:12px;color:#C9CFCB;max-width:46ch}
.floor ul{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}
.floor li{font:500 13px/1 var(--f-ko);color:#fff;border:1px solid rgba(255,255,255,.3);padding:8px 11px;border-radius:var(--r)}
.floor figure{aspect-ratio:3/2;overflow:hidden}
.floor figure img{width:100%;height:100%;object-fit:cover}
.floor .up{position:absolute;left:52px;top:-17px;z-index:2;background:var(--green);color:#fff;font:600 12px/1 var(--f-ko);padding:9px 12px;border-radius:var(--r);white-space:nowrap}

/* 요일 분할 */
.split{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;background:rgba(255,255,255,.12)}
.split li{background:var(--dark);display:flex;flex-direction:column}
.split .ph{aspect-ratio:4/5;overflow:hidden}
.split .ph img{width:100%;height:100%;object-fit:cover;filter:saturate(.9);transition:transform .6s}
@media (hover:hover) and (pointer:fine){.split li:hover .ph img{transform:scale(1.04)}}
.split .t{padding:20px 20px 24px}
.split .t .d{font:400 40px/1 var(--f-num);color:var(--green-lite);letter-spacing:.05em}
.split .t h3{margin-top:8px;font:700 21px/1.3 var(--f-ko);color:#fff}
.split .t p{margin-top:8px;font-size:14.5px;color:#BFC6C1}

/* 프로그램 표 */
.plans{border-top:2px solid var(--ink)}
.plan{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr) minmax(0,.9fr);gap:28px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}
.plan h3{font:700 24px/1.25 var(--f-ko)}
.plan h3 small{display:block;font:500 13px/1.3 var(--f-ko);color:var(--green);margin-bottom:8px;letter-spacing:.04em}
.plan p{color:var(--ink-2)}
.plan .pr{text-align:right;font:600 15px/1.4 var(--f-ko)}
.plan .pr .num{display:block;font-size:40px;line-height:1;color:var(--ink)}
.plan .pr small{display:block;color:var(--mute);font-weight:500;font-size:12.5px;margin-top:6px}
.plan.hl{background:var(--green-soft);margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut)}
.note{margin-top:18px;font-size:13.5px;color:var(--mute)}

/* 사람 분할 */
.duo{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}
.duo .ph{position:relative}
.duo .ph img{width:100%;aspect-ratio:4/5;object-fit:cover}
.duo .ph .tag{position:absolute;left:0;bottom:0;background:var(--green);color:#fff;padding:10px 16px;font:600 13px/1.3 var(--f-ko)}
.duo h3{font:700 clamp(28px,3vw,40px)/1.2 var(--f-ko)}
.duo h3 .num{display:block;font-size:.5em;color:var(--green);letter-spacing:.1em;margin-bottom:10px}
.duo p{margin-top:16px;color:var(--ink-2);max-width:56ch}
.facts{margin-top:26px;border-top:1px solid var(--line)}
.facts li{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);font-size:15px}
.facts li b{font-weight:600;color:var(--green-ink)}
.sec.dark .duo p{color:#C9CFCB}.sec.dark .duo h3 .num{color:var(--green-lite)}.sec.dark .facts,.sec.dark .facts li{border-color:rgba(255,255,255,.14)}.sec.dark .facts li b{color:var(--green-lite)}

/* 시설 모자이크 */
.mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:120px;gap:8px}
.mosaic figure{position:relative;overflow:hidden;background:#222}
.mosaic img{width:100%;height:100%;object-fit:cover}
.mosaic figcaption{position:absolute;left:0;bottom:0;background:rgba(15,20,17,.78);color:#fff;font:500 12.5px/1.3 var(--f-ko);padding:7px 11px}
.m-a{grid-column:span 7;grid-row:span 4}.m-b{grid-column:span 5;grid-row:span 2}.m-c{grid-column:span 5;grid-row:span 2}
.m-d{grid-column:span 4;grid-row:span 3}.m-e{grid-column:span 4;grid-row:span 3}.m-f{grid-column:span 4;grid-row:span 3}

/* 회원 이야기 띠 */
.stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px;border-top:2px solid var(--ink)}
.story{padding:28px 0 30px;display:flex;flex-direction:column;gap:14px}
.story .who{font:600 13px/1.3 var(--f-ko);color:var(--green)}
.story blockquote{margin:0;font:600 19px/1.5 var(--f-ko);color:var(--ink)}
.story p{font-size:14.5px;color:var(--ink-2)}
.story .src{margin-top:auto;font-size:12.5px;color:var(--mute)}
.story .src a{color:var(--green-ink)}

/* 첫 방문 단계 */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));counter-reset:s;border-top:1px solid rgba(255,255,255,.7)}
.steps li{padding:26px 24px 8px 0;counter-increment:s}
.steps li+li{padding-left:24px;border-left:1px solid rgba(255,255,255,.22)}
.steps li::before{content:counter(s,decimal-leading-zero);display:block;font:400 44px/1 var(--f-num);color:#fff;margin-bottom:14px}
.steps h3{font:700 19px/1.35 var(--f-ko);color:#fff}
.steps p{margin-top:8px;font-size:14.5px;color:#F1F6F3}

/* FAQ */
.faq{border-top:2px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:44px 1fr 28px;gap:12px;align-items:center;padding:22px 0;font:600 17.5px/1.45 var(--f-ko)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .q{font:400 26px/1 var(--f-num);color:var(--green)}
.faq summary::after{content:"+";font:400 30px/1 var(--f-num);color:var(--mute);text-align:right;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{padding:0 40px 24px 56px;color:var(--ink-2)}

/* 오시는 길 · 상담 */
.visit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.visit dl{border-top:2px solid currentColor}
.visit dl>div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.22)}
.visit dt{font-weight:600;opacity:.75}
.visit dd b{font-weight:600}
.visit .tel{font:400 54px/1 var(--f-num);letter-spacing:.04em;color:#fff;text-decoration:none;display:inline-block;margin-top:6px}
.visit .ways{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.mapbox{position:relative;border:1px solid rgba(255,255,255,.25);aspect-ratio:4/3;overflow:hidden;background:var(--dark-2)}
.mapbox img{width:100%;height:100%;object-fit:cover}
.mapbox .pin{position:absolute;left:16px;bottom:16px;right:16px;background:rgba(15,20,17,.86);padding:14px 16px;font-size:14px}
.mapbox .pin b{display:block;font-size:16px;margin-bottom:2px}

.todo-box{margin-top:26px;border:1.5px dashed #C9A227;background:#FFF9E3;color:#4A3E10;padding:16px 18px;font-size:14.5px;border-radius:var(--r)}
.todo-box b{display:block;margin-bottom:4px}

/* 회원·대회 사진 — 모두 4:5 */
.story .sph{margin:0 0 4px;aspect-ratio:4/5;overflow:hidden;background:#222}
.story .sph img{width:100%;height:100%;object-fit:cover}
.strip.strip4{grid-template-columns:repeat(4,minmax(0,1fr))}
.strip4 figure{margin:0}
.strip.strip4 img{aspect-ratio:4/5;height:auto}
.strip4 figcaption{margin-top:8px;font-size:13.5px;color:var(--mute)}
.coach-stage{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:40px;align-items:center}
.coach-stage .slot{margin:0;aspect-ratio:4/5;max-width:420px}
@media (max-width:900px){.strip.strip4{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-stage{grid-template-columns:1fr;gap:20px}.coach-stage .slot{aspect-ratio:auto;max-width:none}}

/* ── 그룹PT 상세 ── */
.gnums{background:var(--white);border-bottom:1px solid var(--line)}
.gnums .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.gnums .wrap>div{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:end;padding:28px 22px;border-right:1px solid var(--line)}
.gnums .wrap>div:first-child{padding-left:0}.gnums .wrap>div:last-child{border-right:0}
.gnums .num{grid-row:1/3;font-size:62px;line-height:.8;color:var(--green);white-space:nowrap}
.gnums b{font:600 16px/1.2 var(--f-ko)}
.gnums small{font-size:13px;color:var(--mute);line-height:1.35}
.flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px}
.flow li{display:flex;flex-direction:column;gap:10px}
.flow figure{position:relative;margin:0 0 4px;aspect-ratio:4/5;overflow:hidden;background:#222}
.flow figure img{width:100%;height:100%;object-fit:cover}
.flow .n{position:absolute;left:0;bottom:0;background:var(--green);color:#fff;font:400 34px/1 var(--f-num);padding:10px 14px 6px;letter-spacing:.04em}
.flow h3{font:700 20px/1.3 var(--f-ko)}
.flow p{font-size:14.5px;color:var(--ink-2)}
.wk-scroll{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.wk{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;min-width:0}
.wk li{background:var(--dark-2);border:1px solid rgba(255,255,255,.1);scroll-snap-align:start;display:flex;flex-direction:column}
.wk figure{margin:0;aspect-ratio:3/4;overflow:hidden}
.wk figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.9)}
.wk .t{padding:18px 18px 22px;flex:1}
.wk .d{font:400 34px/1 var(--f-num);color:var(--green-lite);letter-spacing:.05em}
.wk h3{margin-top:6px;font:700 20px/1.3 var(--f-ko);color:#fff}
.wk p{margin-top:8px;font-size:14px;color:#C9CFCB}
.wk li[data-dow="wed"] figure img{filter:saturate(.6) brightness(.85)}
.wk li.today{border-color:var(--green-lite);box-shadow:inset 0 0 0 2px var(--green-lite)}
.wk li.today .t{background:var(--green)}
.wk li.today .d{color:#fff}
.wk li.today .t::before{content:"오늘";display:inline-block;float:right;font:600 12px/1 var(--f-ko);color:var(--dark);background:#fff;padding:6px 8px;border-radius:var(--r)}
.gquote{background:var(--green);color:#fff;padding-block:80px}
.gq{max-width:var(--wrap)}
.gq-of{font:600 20px/1 var(--f-ko);letter-spacing:.04em;color:#D5EBE3}
.gq-words{margin-top:18px;display:flex;flex-wrap:nowrap;align-items:baseline;gap:0 .32em;font:700 clamp(40px,5.6vw,92px)/1.08 var(--f-ko);letter-spacing:-.04em;color:#fff}
.gq-words i{font-style:normal;color:var(--green-lite);font-weight:400}
.gq-big{margin-top:16px;font:700 clamp(26px,2.8vw,40px)/1.35 var(--f-ko);letter-spacing:-.02em;color:#D5EBE3}
.gq-sub{margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,.3);font-size:18px;line-height:1.7;color:#F1F6F3;max-width:36ch}
.slots{display:flex;flex-wrap:wrap;gap:16px 40px}
.slot-g{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.slot-g .lab{font:400 22px/1 var(--f-num);color:var(--mute);letter-spacing:.08em;width:40px}
.chip{font:400 40px/1 var(--f-num);letter-spacing:.04em;padding:14px 18px 10px;border:1.5px solid var(--ink);border-radius:var(--r);background:var(--white)}
.mat-duo{margin-top:40px}
.mat-duo h3 .num{color:var(--green)}
@media (max-width:1100px){
  .flow{grid-template-columns:repeat(3,minmax(0,1fr))}
  .wk{grid-template-columns:repeat(5,minmax(240px,1fr))}
  .gnums .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gnums .wrap>div:nth-child(2){border-right:0}
  .gnums .wrap>div:nth-child(3){padding-left:0}
  .gnums .wrap>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media (max-width:900px){
  .flow{grid-template-columns:1fr;gap:18px}
  .flow li{display:grid;grid-template-columns:120px minmax(0,1fr);column-gap:16px;align-items:start}
  .flow figure{grid-row:1/3;margin:0}
  .flow .n{font-size:24px;padding:7px 10px 4px}
  .flow h3{font-size:18px}
  .wk{grid-template-columns:repeat(5,72vw)}
  .gnums .wrap>div{padding:20px 14px}
  .gnums .wrap>div{grid-template-columns:minmax(0,1fr);row-gap:4px;align-items:start}
  .gnums .num{grid-row:auto;font-size:40px;margin-bottom:6px}
  .chip{font-size:30px;padding:11px 13px 8px}
  .gquote{padding-block:56px}
  .gq-words{display:grid;grid-template-columns:repeat(2,max-content);gap:2px .5em;font-size:clamp(38px,11vw,52px)}
  .gq-words i{display:none}
  .gq-sub{font-size:16px}
}
/* 동구보건소 날씬하이소 */
.health{background:var(--green-soft)}
.hl-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:48px;align-items:start}
.hl-photo{margin:0;position:relative}
.hl-photo img{display:block;width:100%;height:auto;border:1px solid #C7D9D1}
.hl-stamp{position:absolute;left:0;top:0;background:var(--green);color:#fff;padding:12px 16px;font:500 13px/1.45 var(--f-ko);max-width:85%}
.hl-stamp b{display:block;font:700 17px/1.3 var(--f-ko);margin-bottom:2px}
.hl-photo figcaption{margin-top:8px;font-size:12.5px;line-height:1.5;color:var(--mute)}
.ftr-mark{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;font:600 13px/1.4 var(--f-ko);color:#D9DED9;border-top:1px solid rgba(255,255,255,.12);padding-top:18px}
.ftr-mark span:first-child{color:var(--green-lite)}
.ftr-mark+.biz{border-top:0;padding-top:4px}
.hl-badge{background:var(--white);border:2px solid var(--green);padding:30px 28px;display:flex;flex-direction:column;gap:8px;position:relative}
.hl-badge::before{content:"";position:absolute;inset:6px;border:1px solid var(--green);opacity:.35;pointer-events:none}
.hl-k{font:700 clamp(34px,3.4vw,48px)/1.1 var(--f-ko);color:var(--green-ink);letter-spacing:-.03em}
.hl-badge b{font:600 18px/1.3 var(--f-ko)}
.hl-d{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:14.5px;color:var(--ink-2)}
.hl-d .num{font-size:24px;color:var(--green);margin-right:6px}
.hl-n{font-size:13.5px;color:var(--mute)}
.hl-lead{font:600 19px/1.6 var(--f-ko);color:var(--ink);max-width:44ch}
.hl-steps{margin-top:22px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:2px solid var(--ink)}
.hl-steps li{padding:18px 18px 18px 0;display:flex;flex-direction:column;gap:4px}
.hl-steps li+li{padding-left:18px;border-left:1px solid #C7D9D1}
.hl-steps .num{font:700 24px/1.1 var(--f-ko);letter-spacing:-.02em;color:var(--green)}
.hl-steps b{font:700 16.5px/1.35 var(--f-ko)}
.hl-steps small{font-size:13.5px;color:var(--ink-2)}
.hl-more{margin-top:20px;font-size:15px;color:var(--ink-2);max-width:60ch}
.press{margin-top:24px;border-top:2px solid var(--ink);padding-top:14px}
.press h3{font:700 15px/1.3 var(--f-ko);margin:0 0 6px;color:var(--green-ink);letter-spacing:normal}
.press li{border-bottom:1px solid #C7D9D1}
.press a{display:grid;grid-template-columns:200px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 0;text-decoration:none;color:var(--ink)}
.press a::after{content:"→";color:var(--green)}
.press a:hover b{text-decoration:underline}
.press .pm{font-size:13px;color:var(--mute)}
.press b{font:600 15.5px/1.45 var(--f-ko)}
@media (max-width:900px){.press a{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}.press .pm{grid-column:1/-1}}
.hl-src{margin-top:12px;font-size:13px;color:var(--mute)}
.hl-src a{color:var(--green-ink)}
@media (max-width:900px){
  .hl-grid{grid-template-columns:1fr;gap:24px}
  .hl-photo{display:flex;flex-direction:column}
  .hl-stamp{position:static;order:-1;max-width:none;padding:10px 12px;font-size:12.5px}.hl-stamp b{font-size:15px}
  .hl-steps{grid-template-columns:1fr}
  .hl-steps li,.hl-steps li+li{padding:14px 0;border-left:0;border-bottom:1px solid #C7D9D1}
}
/* 홈 요약판 — 오시는 길 · 보건소 띠 */
.vshort{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:center;border-top:2px solid rgba(255,255,255,.7);padding-top:28px}
.vs-addr b{display:block;font:700 clamp(22px,2.2vw,30px)/1.3 var(--f-ko);color:#fff}
.vs-addr span{display:block;margin-top:6px;color:#C9CFCB}
.vs-facts{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px 26px;font-size:15px;color:#E6EAE7}
.vs-facts span{color:var(--green-lite);font-weight:600;margin-right:8px}
.vshort .tel{font:400 46px/1 var(--f-num);letter-spacing:.04em;color:#fff;text-decoration:none;display:inline-block;margin-top:20px}
.vs-btns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.hl-band{background:var(--green-soft);border-block:1px solid #C7D9D1}
.hl-band .wrap{display:flex;align-items:center;gap:22px;padding-block:26px;flex-wrap:wrap}
.hl-tag{flex:none;font:700 13px/1 var(--f-ko);color:#fff;background:var(--green);padding:9px 12px;border-radius:var(--r);letter-spacing:.02em}
.hl-band p{flex:1 1 380px;min-width:0}
.hl-band p b{font:700 19px/1.4 var(--f-ko);margin-right:10px}
.hl-band p span{color:var(--ink-2);font-size:15px}
.hl-band .more{margin-top:0}
.note a{color:var(--green-ink);font-weight:600}
@media (max-width:900px){
  .vshort{grid-template-columns:1fr;gap:24px}
  .vshort .tel{font-size:40px}
  .stories.swipe{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin-right:calc(var(--gut) * -1);padding-right:var(--gut)}
  .stories.swipe .story{flex:0 0 78%;scroll-snap-align:start;border-bottom:0;padding-bottom:12px}
  .stories.swipe .story p{font-size:14px}
  .stories.swipe::after{content:"";flex:0 0 1px}
  .hl-band p b{display:block;margin:0 0 4px}
}
/* 시설안내 — 층별 안내도 · 기구 */
.fmap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px;align-items:start}
.bld{margin:0;position:relative}
.bld img{display:block;width:100%;height:auto}
.bld .pin{position:absolute;right:0;transform:translateY(-50%);display:flex;align-items:center;gap:8px;background:rgba(15,20,17,.86);color:#fff;font:600 13px/1.2 var(--f-ko);padding:7px 12px 7px 8px;border-radius:var(--r) 0 0 var(--r)}
.bld .pin b{font:400 20px/1 var(--f-num);letter-spacing:.04em;color:var(--green-lite);background:rgba(255,255,255,.08);padding:4px 6px 2px;border-radius:2px}
.bld .pin::before{content:"";position:absolute;right:100%;top:50%;width:46px;border-top:1.5px dashed rgba(255,255,255,.85)}
.bld .pin.p1{background:rgba(255,255,255,.9);color:var(--ink)}.bld .pin.p1 b{color:var(--mute);background:transparent}
.bld figcaption{margin-top:8px;font-size:13.5px;color:var(--mute)}
.floors2{display:flex;flex-direction:column;gap:14px}
.fc{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:var(--white);border:1px solid var(--line)}
.fc img{width:100%;height:100%;min-height:220px;object-fit:cover;display:block}
.fc-t{padding:20px 22px}
.fc .lv{font:400 40px/1 var(--f-num);color:var(--green);letter-spacing:.04em}
.fc h3{margin-top:4px;font:700 20px/1.3 var(--f-ko)}
.fc p{margin-top:6px;font-size:14px;color:var(--ink-2)}
.fc ul{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}
.fc li{font:600 13px/1 var(--f-ko);padding:8px 10px;border-radius:var(--r);background:var(--green-soft);color:var(--green-ink)}
.fc li.sm{background:transparent;border:1px dashed #9DB8AD;color:var(--mute);font-weight:500}
.fc.dark{background:var(--dark);border-color:var(--dark);color:#fff}
.fc.dark .lv{color:var(--green-lite)}.fc.dark p{color:#C9CFCB}
.fc.dark li{background:rgba(255,255,255,.1);color:#fff}.fc.dark li.sm{border-color:rgba(255,255,255,.3);color:#C9CFCB}
.fc-1f{font-size:14px;color:var(--ink-2);padding:12px 16px;border:1px dashed var(--line)}
.fc-1f b{font:400 20px/1 var(--f-num);color:var(--mute);margin-right:10px}
.eq{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr);gap:36px;align-items:start}
.eq-ph{margin:0}
.eq-ph img{width:100%;aspect-ratio:4/5;object-fit:cover}
.eq-ph figcaption{margin-top:8px;font-size:13.5px;color:var(--mute)}
.eq-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 28px}
.eq-g h3{font:700 18px/1.3 var(--f-ko);padding-bottom:10px;border-bottom:2px solid var(--ink);margin-bottom:8px}
.eq-g li{font-size:15px;padding:7px 0;border-bottom:1px solid var(--line);color:var(--ink-2)}
@media (max-width:1100px){.eq-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
  .fmap,.eq{grid-template-columns:1fr}
  .fc{grid-template-columns:1fr}.fc img{min-height:0;aspect-ratio:16/9}
  .bld .pin{font-size:0;padding:6px 7px;gap:0}.bld .pin b{font-size:18px}.bld .pin::before{width:22px}
  .eq-ph img{aspect-ratio:4/3}
}
/* 공지 띠 */
.notice{background:var(--green-lite);color:var(--dark);font:600 14px/1.45 var(--f-ko);text-align:center;padding:10px var(--gut)}
.notice[hidden]{display:none}

/* 꼬리 */
.ftr{background:var(--dark);color:#AEB6B1;font-size:13.5px;padding:56px 0 calc(40px + var(--bar))}
.ftr .wrap{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px}
.ftr .brand{color:#fff}
.ftr h2{font:600 13px/1 var(--f-ko);color:#fff;margin-bottom:14px;letter-spacing:.04em}
.ftr li{margin:4px 0}
.ftr a{color:#D9DED9;text-decoration:none;display:inline-block;padding:2px 0;min-width:24px}
.ftr .biz{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;line-height:1.8}
.ftr .biz .todo{color:#E9D85A}

/* 폰 하단 고정바 */
.mbar{display:none}

/* 본문 사진 + 글 띠 */
.strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:28px}
.strip img{width:100%;aspect-ratio:1/1;object-fit:cover}
.prose{max-width:68ch}
.prose p+p{margin-top:14px}
.tbl{width:100%;border-collapse:collapse;font-size:15px}
.tbl th,.tbl td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tbl th{font-weight:600;color:var(--green-ink);width:28%}
.tbl-wrap{overflow-x:auto}

@media (min-width:1700px){:root{--wrap:1520px}}
@media (max-width:1100px){
  .floor{grid-template-columns:110px minmax(0,1fr);}
  .floor figure{grid-column:1/-1}
  .row{grid-template-columns:90px minmax(0,1fr);}
  .row p{grid-column:2}
  .split{grid-template-columns:repeat(2,minmax(0,1fr))}
  .duo{gap:36px}
  .stories{grid-template-columns:1fr}
  .story{padding:24px 0;border-bottom:1px solid var(--line)}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps li:nth-child(3){padding-left:0;border-left:0}
}
@media (max-width:900px){
  :root{--hdr:60px;--gut:18px}
  .nav{position:fixed;inset:0 0 0 auto;width:min(84vw,340px);background:var(--dark);flex-direction:column;align-items:stretch;gap:0;padding:80px 24px 24px;transform:translateX(100%);transition:transform .3s ease;z-index:30;font-size:18px}
  .nav a{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.1)}
  .nav .cta{margin-top:18px;justify-content:center;border-radius:var(--r);min-height:48px}
  .nav.open{transform:none}
  .menu-btn{display:block;position:relative;z-index:31}
  .menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .brand .mark{font-size:26px}.brand small{display:none}
  .brand .logo{height:28px}
  .hero{min-height:0}
  .slides{position:relative;inset:auto;aspect-ratio:4/5;max-height:62vh;width:100%}
  .shade{background:linear-gradient(to top,var(--dark) 0%,rgba(15,20,17,.3) 38%,rgba(15,20,17,0) 70%),linear-gradient(to bottom,rgba(10,14,12,.55) 0%,rgba(10,14,12,0) 22%)}
  .hero .wrap.stage{padding-top:0;margin-top:-120px;padding-bottom:26px}
  .hero h1{font-size:clamp(42px,12vw,60px)}
  .hero .sub{font-size:15.5px}
  .hero .info{font-size:12.5px}
  .days{grid-template-columns:1fr 1fr;background:var(--dark)}
  .day{padding:14px 16px}
  .day:nth-child(2){border-right:0}
  .day:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.14)}
  .day .d{font-size:24px;min-width:42px}
  .sec{padding-block:64px}.sec.tight{padding-block:52px}
  .head{gap:12px;margin-bottom:30px}
  .head .en{font-size:40px}
  .row{grid-template-columns:1fr;gap:10px;padding:24px 0}
  .row p{grid-column:auto}
  .row .k{font-size:52px}
  .floor{grid-template-columns:1fr;gap:14px;padding:26px 0 34px}
  .floor .lv{font-size:76px}
  .floor .up{left:0}
  .plan{grid-template-columns:1fr;gap:10px}
  .plan .pr{text-align:left}
  .duo{grid-template-columns:1fr}
  .mosaic{grid-auto-rows:90px}
  .m-a{grid-column:span 12;grid-row:span 3}.m-b,.m-c{grid-column:span 6;grid-row:span 2}.m-d,.m-e,.m-f{grid-column:span 4;grid-row:span 2}
  .steps{grid-template-columns:1fr}
  .steps li,.steps li+li{padding:20px 0;border-left:0;border-bottom:1px solid rgba(255,255,255,.18)}
  .faq summary{grid-template-columns:34px 1fr 24px;font-size:16px}
  .faq .a{padding:0 4px 22px 46px}
  .visit{grid-template-columns:1fr;gap:32px}
  .visit .tel{font-size:44px}
  .ftr .wrap{grid-template-columns:1fr}
  .phero{min-height:330px}
  .phero .lead{font-size:15.5px}
  .strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mbar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:25;background:var(--dark);border-top:1px solid rgba(255,255,255,.12);padding-bottom:env(safe-area-inset-bottom,0px)}
  .mbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:var(--bar);color:#fff;text-decoration:none;font:600 12.5px/1 var(--f-ko)}
  .mbar a+a{border-left:1px solid rgba(255,255,255,.1)}
  .mbar a:active{background:rgba(255,255,255,.08)}.mbar a.p:active{background:var(--green-ink)}
  .mbar a.p{background:var(--green)}
  .mbar svg{width:20px;height:20px}
}
@media (max-width:900px) and (max-height:760px){
  .notice{font-size:12.5px;padding:7px var(--gut)}
  .slides{max-height:48vh}
  .hero .wrap.stage{margin-top:-96px}
  .hero h1{font-size:clamp(38px,10.5vw,50px)}
}
@media (max-width:900px) and (max-height:600px){ .hero .sub{display:none} .slides{max-height:54vh} }
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .slide,.slide img,.split .ph img{transition:none}.slide.on img{transform:none}
  .day.on .bar{animation:none;transform:none}
  .btn,.day{transition:background .2s,color .2s,border-color .2s,opacity .4s}.btn:active,.day:active{transform:none}
}

/* 배경으로 도는 짧은 수업 영상(그룹PT 첫 화면·수업 흐름 칸) — 재생이 시작돼야 사진 위로 나타난다 */
.bgv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s ease;pointer-events:none}
.bgv.on{opacity:1}
.phero>.bgv{filter:saturate(.9)}
.vpause{position:absolute;right:20px;bottom:18px;z-index:3;min-height:36px;padding:8px 14px;border:1px solid rgba(255,255,255,.55);background:rgba(10,14,12,.55);color:#fff;font:600 13px/1 var(--f-ko);border-radius:2px;cursor:pointer}
.vpause:hover{background:rgba(10,14,12,.8)}
.vpause:focus-visible{outline:2px solid #fff;outline-offset:2px}
.vpause[hidden]{display:none}
html.cms-edit .bgv,html.cms-edit .vpause{display:none}
@media (max-width:700px){ .vpause{right:12px;bottom:12px;padding:7px 11px;font-size:12px} .phero:has(.vpause) .wrap{padding-bottom:62px} }
@media (prefers-reduced-motion: reduce){ .bgv,.vpause{display:none} }
/* 트레이너 대회 무대 칸 영상 */
.vslot{position:relative;overflow:hidden;background:#0d1a2a}
.vslot img{width:100%;height:100%;object-fit:cover}
.vslot .vpause{right:12px;bottom:12px}
.vpause.sm{right:8px;bottom:8px;min-height:32px;min-width:32px;padding:6px 8px;font-size:11px;letter-spacing:-1px}
/* 폰 점검(10-12): 전화번호 한 줄 유지 · 「더 보기」 글자 링크는 모양 그대로 누를 자리만 넓힘 */
.visit .tel,.vshort .tel{white-space:nowrap}
@media (max-width:700px){ .visit .tel{font-size:clamp(30px,8.4vw,44px)} }
.more{position:relative}
.more::before{content:"";position:absolute;left:-6px;right:-6px;top:-10px;bottom:-10px}
/* 회원 이야기 아래 「더 보기」 + 블로그 링크 나란히 */
.more-row{display:flex;flex-wrap:wrap;gap:0 32px;align-items:center}
section[id]{scroll-margin-top:calc(var(--hdr) + 8px)}
/* 10-13 폰 보기(사용자 폰 확인 뒤)
   ① 홈 첫 화면: 사진 아래 끝이 글씨 사이에서 줄처럼 보임 → 사진 상자 밖으로 안 넘치게 + 아래를 바탕색으로 녹임
   ② 세부 페이지 머리: 글씨가 사진을 덮음 → 사진은 위에 온전히, 글씨는 사진 아래로 */
@media (max-width:700px){
  .slides{overflow:hidden}
  .slides::after{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;z-index:2;pointer-events:none;background:linear-gradient(to top,var(--dark) 0%,rgba(15,20,17,.55) 45%,rgba(15,20,17,0) 100%)}
  .phero{display:block;min-height:0}
  .phero>img{position:relative;inset:auto;display:block;height:auto;aspect-ratio:3/2}
  .phero>.bgv{inset:0 0 auto 0;height:auto;aspect-ratio:3/2}
  .phero::after{inset:0 0 auto 0;height:auto;aspect-ratio:3/2;background:linear-gradient(to bottom,rgba(10,14,12,.62) 0%,rgba(10,14,12,0) 30%,rgba(10,14,12,0) 64%,var(--dark) 100%)}
  .phero .wrap{padding-top:0;margin-top:-30px;padding-bottom:32px}
  .phero:has(.vpause) .wrap{padding-bottom:32px}
  .phero>.vpause{top:calc(100vw * 2 / 3 - 92px);bottom:auto}
  .phero h1{margin-top:16px}
}
/* 10-14 폰에서는 「뒤로」 단추 숨김(폰 뒤로 가기·위 메뉴로 충분) */
@media (max-width:700px){ .crumbs .back{display:none} }
/* 10-14 폰에서는 그룹PT 첫 화면 「움직이는 장면 멈춤」 단추도 숨김(움직임 줄이기 설정이면 영상 자체가 안 나옴) */
@media (max-width:700px){ .phero>.vpause{display:none} }
/* 10-16 트레이너 1:1 PT: 왼쪽 세로 영상 + 오른쪽 설명 */
.pt-grid{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,1fr);gap:48px;align-items:start}
.pt-vid{position:relative;margin:0;aspect-ratio:4/5;overflow:hidden;background:#0d1a2a}
.pt-vid img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){ .pt-grid{grid-template-columns:1fr;gap:24px} .pt-vid{max-width:420px} }
/* 10-17 팝업 공지(관리자에서 2개까지) — PC는 나란히, 폰은 한 장씩 */
.gpop{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;gap:20px;padding:20px;background:rgba(10,14,12,.55);opacity:0;transition:opacity .25s ease}
.gpop.on{opacity:1}
.gpop-card{width:min(380px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;color:var(--ink);box-shadow:0 18px 50px rgba(0,0,0,.35);display:flex;flex-direction:column}
.gpop-img img{display:block;width:100%;height:auto}
.gpop-t{padding:20px 22px 6px}
.gpop-t h2{font:700 20px/1.35 var(--f-ko);margin:0 0 8px}
.gpop-t p{font-size:15px;line-height:1.65;color:var(--ink-2);margin:0}
.gpop-go{margin:12px 22px 4px;align-self:flex-start;font:600 14px/1 var(--f-ko);color:var(--green);text-decoration:none;border-bottom:2px solid currentColor;padding:6px 0}
.gpop-f{display:flex;margin-top:14px;border-top:1px solid #E3E7E4}
.gpop-f button{flex:1;min-height:48px;border:0;background:#F4F6F5;font:600 14px/1 var(--f-ko);color:var(--ink);cursor:pointer}
.gpop-f button+button{border-left:1px solid #E3E7E4;background:var(--dark);color:#fff}
.gpop-f button:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
@media (max-width:760px){ .gpop{padding:16px} .gpop-card.later{display:none} .gpop-card{width:100%;max-height:calc(100vh - 32px)} }
@media (prefers-reduced-motion: reduce){ .gpop{transition:none} }
.gpop-img + .gpop-f{margin-top:0}
/* 10-19 수업 시간 칩: 줄이 넘어가도 칩끼리 세로줄을 맞춘다(라벨 칸 고정 + 칩 칸 3개) */
@media (max-width:700px){
  .slots{flex-direction:column;gap:14px}
  .slot-g{display:grid;grid-template-columns:40px repeat(3,max-content);gap:10px;align-items:center}
  .slot-g .lab{grid-row:1 / span 2;align-self:start;padding-top:12px}
}
/* 10-19 폰 줄맞춤: 마지막 줄에 낱말 하나만 떨어지지 않게(지원 브라우저에서) + 끊으면 안 되는 묶음 */
main p,main li,main dd,main dt,main small,main summary,main figcaption,main .a,main .lead{text-wrap:pretty}
.nw{white-space:nowrap}
.head h2 small{text-wrap:pretty}
/* 폰에서만 줄 바꿈(뜻 단위 두 줄) */
br.mb{display:none}
@media (max-width:700px){ br.mb{display:inline} .pc-only{display:none!important} }
.phero>.bgv{object-position:50% 45%}
/* 10-19 맨 위로 단추 — 한 화면 넘게 내려가면 오른쪽 아래에 나타남(폰은 아래 상담 띠 위) */
.totop{position:fixed;right:20px;bottom:24px;z-index:24;width:48px;height:48px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(15,20,17,.82);color:#fff;display:grid;place-items:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.totop.on{opacity:1;visibility:visible;transform:none;transition:opacity .25s ease,transform .25s ease}
.totop:hover{background:var(--green)}
.totop:focus-visible{outline:2px solid #fff;outline-offset:3px}
.totop svg{width:20px;height:20px}
html.cms-edit .totop{display:none}
@media (max-width:900px){ .totop{right:14px;bottom:calc(var(--bar,58px) + 14px + env(safe-area-inset-bottom,0px));width:44px;height:44px} }
@media (prefers-reduced-motion: reduce){ .totop{transition:none} }
/* 10-19 「GROUP PT · ULSAN」을 로고 오른쪽 → 로고 바로 아래, 로고 폭에 맞춰 */
.hdr .brand{flex-direction:column;align-items:flex-start;gap:5px}
.hdr .brand small{font:600 8.4px/1 var(--f-ko);letter-spacing:.1em;padding-left:2px;opacity:.9;white-space:nowrap}

/* 10/20 주소 「2·3층」이 회색 다음 줄로 떨어지던 것(.vs-addr span 규칙이 .nw까지 먹음) · 2층 설명 한 문장 한 줄 */
.vs-addr b .nw{display:inline;margin:0;color:inherit}
@media (min-width:861px){.vs-addr b{white-space:nowrap}}
@media (min-width:1101px){.floor{grid-template-columns:150px minmax(0,1.35fr) minmax(0,1fr)}.floor p{max-width:none}}
/* 10-20 3층 설명도 넓은 화면에선 한 문장 한 줄(2층과 맞춤) */
br.wide-br{display:none}
@media (min-width:1101px){ br.wide-br{display:inline} }
/* 10-20 홈 「다른 세 가지」: 넓은 화면에선 설명을 한 문장 한 줄로 — 제목 칸을 줄이고 설명 칸을 넓힘 */
@media (min-width:1280px){ .rows.why .row{grid-template-columns:120px minmax(0,.55fr) minmax(0,1.45fr)} }
@media (max-width:1279px){ .rows.why br.wide-br{display:none} }

/* 10-28 맨 아래 「관리자」 — 사장님만 쓰는 작은 글자 */
.ftr .ftr-admin{grid-column:1/-1;margin:0;font-size:13px}
.ftr .ftr-admin a{display:inline-flex;align-items:center;min-height:32px;color:rgba(255,255,255,.55);text-decoration:none}
.ftr .ftr-admin a:hover,.ftr .ftr-admin a:focus-visible{color:#fff;text-decoration:underline}

/* 10-30 트레이너 「대회 무대에서」 아래 — 자격증·트로피 선반(가로)과 그랑프리 트로피(세로) */
.trophy-row{display:grid;grid-template-columns:minmax(0,2.115fr) minmax(0,.8fr);gap:12px;margin-top:28px;align-items:start}
.trophy-row figure{margin:0}
.trophy-row img{width:100%;height:auto;display:block}
.trophy-row figcaption{margin-top:8px;font-size:14px;color:var(--mute)}
@media (max-width:900px){.trophy-row{grid-template-columns:1fr}.trophy-row figure:last-child{max-width:240px}}

/* 10-30 공지 문구가 비어 있으면 띠 자체를 안 보임 */
.notice:empty{display:none}

/* 10-30 선생님의 무대 작은 사진 3칸 — PC 는 한 줄 3칸, 폰(600px 이하)은 첫 장(무대 트로피 옆)을 한 줄 전체로 크게 + 아래 2칸 */
.strip.coach-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:600px){
  .strip.coach-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .strip.coach-strip>:first-child{grid-column:1/-1}
}

/* 10-30 PC: 왼쪽 큰 사진을 오른쪽(제목~작은 사진 끝) 높이에 맞춰 위·아래 끝을 맞춤 — 전엔 가운데에 떠서 아래 끝이 어긋남 */
@media (min-width:901px){
  /* 10-30 사용자: 사진을 「빈 공간」 한가운데, 상하좌우 여백 같게.
     공간 = 위: 「선생님의 무대」 밑줄(제목 24px×1.35 + 목록 위 여백 14px + 줄 1px) / 아래: 작은 사진 끝 / 왼쪽: 본문 왼쪽 끝 / 오른쪽: 목록 시작(칸 사이 40px)
     여백은 칸 사이 간격과 같은 40px — 오른쪽 40px 는 칸 사이 간격이 맡는다 */
  .coach-stage{align-items:stretch}
  /* 10-30 사용자 최종: 「3번(꽉 채움)에서 위를 선생님의 무대 밑선까지」 → 위=밑선, 아래=작은 사진 끝, 왼쪽=본문 끝, 오른쪽=칸 사이 간격 */
  .coach-stage .slot{aspect-ratio:auto;max-width:none;margin:calc(24px * 1.35 + 15px) 0 0 0;overflow:hidden;position:relative;min-height:0}
  /* 사진 원래 크기가 칸 높이를 밀어 올리지 않게(1920px 에서 아래 여백이 줄던 문제) 칸 안에 띄워 채운다 */
  .coach-stage .slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%;display:block}
}
