/* ONGYEOL YOGA — demo stylesheet (magazine) */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
:root{
  --s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;
  --sec:96px;--head-gap:48px;--gutter:40px;--box-pad:24px;
  --header-h:104px;
  --maxw:1440px;
  --r-sm:8px;--r-md:12px;--r-lg:16px;
  --ff:"Pretendard","Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --ff-serif:Georgia,"Times New Roman","Noto Serif KR",serif;
  /* base set */
  --bg:#FFFFFF;--text:#161A16;--text-sub:#4A504A;--line:#7C827B;--hair:#DAD8D0;--panel:#F2F0EA;--panel-line:#7C827B;--acc-text:#8E3B1F;
  --fill:#A9472A;--fill-hover:#8E3B1F;--on-fill:#FFFFFF;
  --solid:#161A16;--on-solid:#FFFFFF;
  --focus:#8E3B1F;
}
.sec--soft{--bg:#F2F0EA;--text:#161A16;--text-sub:#474C46;--line:#737971;--hair:#D5D2C8;--panel:#FFFFFF;--panel-line:#737971;--acc-text:#86371C;--focus:#86371C}
.sec--dark,.ftr,.mmenu{--bg:#17211B;--text:#FFFFFF;--text-sub:#B9C2BB;--line:#6E7A72;--hair:#3A463F;--panel:#1F2B24;--panel-line:#6E7A72;--acc-text:#F2A07F;
  --fill:#F2A07F;--fill-hover:#F7BFA6;--on-fill:#17211B;--solid:#FFFFFF;--on-solid:#17211B;--focus:#F2A07F}
.sec--accent{--bg:#A9472A;--text:#FFFFFF;--text-sub:#FFE7DC;--line:#FFD2C1;--hair:#C9684A;--panel:#933B20;--panel-line:#FFD2C1;--acc-text:#FFE7DC;
  --fill:#FFFFFF;--fill-hover:#FFE7DC;--on-fill:#7A2E15;--solid:#FFFFFF;--on-solid:#7A2E15;--focus:#FFFFFF}
.sec,.sec--soft,.sec--dark,.sec--accent,.ftr,.mmenu{background:var(--bg);color:var(--text)}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;font-family:var(--ff);font-size:16px;line-height:1.7;color:var(--text);background:var(--bg);word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
img,video,iframe,svg,table{max-width:100%}
img{height:auto;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
[id]{scroll-margin-top:calc(var(--header-h) + var(--s-4))}
.sr-only{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;z-index:200;background:var(--solid);color:var(--on-solid);padding:var(--s-3) var(--s-4)}
.skip:focus{left:var(--s-4)}
.wrap{width:100%;max-width:var(--maxw);margin-left:auto;margin-right:auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.wrap>*,.grid>*,.split>*{min-width:0}
.num{font-variant-numeric:tabular-nums}

/* icons */
.icon{--icon:24px;width:var(--icon);height:var(--icon);flex:0 0 auto;display:block;color:inherit}
.icon>svg{width:100%;height:100%;display:block}
.icon--16{--icon:16px}.icon--20{--icon:20px}.icon--24{--icon:24px}.icon--40{--icon:40px}.icon--48{--icon:48px}
.ico-circle{width:56px;height:56px;border-radius:999px;display:grid;place-items:center;background:var(--panel);border:1px solid var(--panel-line);color:var(--acc-text);flex:0 0 auto}
.ico-circle--48{width:48px;height:48px}.ico-circle--64{width:64px;height:64px}
.with-ico{display:inline-flex;align-items:center;gap:var(--s-2)}
.with-ico--top{align-items:flex-start}
.with-ico--top>.icon{margin-top:calc((1lh - var(--icon)) / 2)}

/* type */
.eyebrow{display:flex;align-items:center;gap:var(--s-3);font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--acc-text);line-height:1.5;margin-bottom:var(--s-4)}
.eyebrow .no{font-family:var(--ff-serif);font-style:italic;letter-spacing:0;text-transform:none;font-size:14px;font-weight:400}
.eyebrow .bar{width:32px;height:1px;background:currentColor;flex:0 0 auto}
.display{font-family:var(--ff-serif);font-weight:400;letter-spacing:-.01em;line-height:1.08}
.display em{font-style:italic;color:var(--acc-text)}
.h-kr{font-size:32px;line-height:1.4;font-weight:600;letter-spacing:-.02em}
.h-en{font-family:var(--ff-serif);font-size:48px;line-height:1.15;font-weight:400;letter-spacing:-.01em}
.h-en em{font-style:italic;color:var(--acc-text)}
.h3{font-size:20px;line-height:1.5;font-weight:600;letter-spacing:-.01em}
.lead{font-size:20px;line-height:1.7;color:var(--text);max-width:56ch}
.muted{color:var(--text-sub)}
.small{font-size:14px;line-height:1.7}
.xs{font-size:13px;line-height:1.6}
.prose{max-width:80ch;color:var(--text-sub)}
.prose p+p{margin-top:var(--s-4)}
.prose h2{font-size:22px;line-height:1.5;color:var(--text);margin-top:var(--s-7);margin-bottom:var(--s-3);font-weight:600}
.prose h3{font-size:18px;line-height:1.5;color:var(--text);margin-top:var(--s-5);margin-bottom:var(--s-2);font-weight:600}
.prose ul{list-style:disc;padding-left:var(--s-5);margin-top:var(--s-2)}
.prose ol{list-style:decimal;padding-left:var(--s-5);margin-top:var(--s-2)}
.prose li+li{margin-top:var(--s-1)}
.prose a:not(.btn):not(.chip):not(.badge){color:var(--acc-text);text-decoration:underline;text-underline-offset:3px}

/* buttons */
.btn{--bh:44px;--bp:20px;display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);height:var(--bh);padding:0 var(--bp);border-radius:999px;border:1px solid transparent;line-height:1;white-space:nowrap;font-size:15px;font-weight:600;letter-spacing:-.01em;transition:background-color .2s ease,color .2s ease,border-color .2s ease;min-width:0;text-decoration:none;cursor:pointer;background:transparent;color:var(--text)}
.btn--sm{--bh:38px;--bp:16px;font-size:14px}
.btn--lg{--bh:52px;--bp:28px;font-size:16px}
.btn--xl{--bh:48px;--bp:24px;font-size:16px}
.btn--primary{background:var(--fill);color:var(--on-fill);border-color:var(--fill)}
.btn--ghost{background:transparent;color:var(--text);border-color:var(--line)}
.btn--solid{background:var(--solid);color:var(--on-solid);border-color:var(--solid)}
.btn--block{width:100%;min-width:0}
.btn[disabled],.btn[aria-disabled=true]{cursor:not-allowed;background:transparent;color:var(--text-sub);border-color:var(--line)}
@media (hover:hover){
  .btn--primary:not([disabled]):hover{background:var(--fill-hover);border-color:var(--fill-hover)}
  .btn--ghost:not([disabled]):hover{border-color:var(--text);background:var(--panel)}
  .btn--solid:not([disabled]):hover{background:var(--text-sub);border-color:var(--text-sub)}
}
.btn-ico{width:44px;height:44px;border-radius:999px;display:inline-grid;place-items:center;border:1px solid var(--line);background:transparent;color:var(--text);flex:0 0 auto;padding:0;transition:background-color .2s ease,border-color .2s ease}
.btn-ico--40{width:40px;height:40px}
.btn-ico[disabled]{cursor:not-allowed;color:var(--text-sub);border-color:var(--line);background:transparent}
@media (hover:hover){.btn-ico:not([disabled]):hover{border-color:var(--text);background:var(--panel)}}
.btn-group{display:flex;gap:var(--s-3);flex-wrap:wrap;align-items:center}
.tlink{display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;font-size:15px;font-weight:600;border-bottom:1px solid var(--text);color:var(--text);line-height:1.4}
@media (hover:hover){.tlink:hover{color:var(--acc-text);border-color:var(--acc-text)}}
.chip{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 var(--s-4);border-radius:999px;border:1px solid var(--line);font-size:14px;font-weight:500;background:transparent;color:var(--text);white-space:nowrap;line-height:1}
.chip[aria-pressed=true],.chip.is-on{background:var(--solid);color:var(--on-solid);border-color:var(--solid)}
.badge{display:inline-flex;align-items:center;height:24px;padding:0 var(--s-2);border-radius:999px;font-size:12px;font-weight:600;line-height:1;border:1px solid var(--line);color:var(--text);background:transparent;white-space:nowrap}
.badge--fill{background:var(--solid);color:var(--on-solid);border-color:var(--solid)}
.badge--acc{border-color:var(--acc-text);color:var(--acc-text)}
.chips{display:flex;flex-wrap:wrap;gap:var(--s-2)}

/* header */
.hdr{position:sticky;top:0;z-index:50;background:#FFFFFF;color:#161A16;box-shadow:inset 0 -1px 0 #7C827B;--text:#161A16;--text-sub:#4A504A;--line:#7C827B;--fill:#A9472A;--on-fill:#FFFFFF;--acc-text:#8E3B1F;--panel:#F2F0EA;transition:box-shadow .25s ease}
.hdr.is-scrolled{box-shadow:inset 0 -1px 0 #7C827B,0 1px 12px rgba(0,0,0,.10)}
.hdr-inner{height:var(--header-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--s-4)}
.logo{justify-self:start;display:inline-flex;align-items:center;gap:var(--s-3);color:var(--text);min-width:0}
.logo__sym{width:40px;height:40px;flex:0 0 auto;display:block;color:var(--fill)}
.logo__txt{display:flex;flex-direction:column;line-height:1;min-width:0}
.logo__kr{display:block;font-size:22px;font-weight:800;letter-spacing:-.045em;line-height:1.1;white-space:nowrap}
.logo__en{display:block;font-size:10px;letter-spacing:.26em;font-weight:600;margin-top:var(--s-1);color:var(--text-sub);white-space:nowrap;line-height:1.2}
.gnb{justify-self:center}
.gnb ul{display:flex;align-items:center;gap:var(--s-1)}
.gnb a{display:flex;align-items:center;height:44px;padding:0 var(--s-3);font-size:15px;font-weight:500;position:relative;color:var(--text);white-space:nowrap}
.gnb a::after{content:"";position:absolute;left:var(--s-3);right:var(--s-3);bottom:6px;height:2px;background:var(--acc-text);transform:scaleX(0);transition:transform .25s ease}
.gnb a[aria-current=page]{color:var(--acc-text);font-weight:700}
.gnb a[aria-current=page]::after{transform:scaleX(1)}
@media (hover:hover){.gnb a:hover::after{transform:scaleX(1)}}
.hdr-right{justify-self:end;display:flex;align-items:center;gap:var(--s-3)}
.hdr-tel{display:inline-flex;align-items:center;gap:var(--s-2);font-size:14px;font-weight:600;min-height:44px}
.burger{display:none}

/* mobile drawer */
.dim{position:fixed;inset:0;background:rgba(10,14,11,.55);z-index:90;opacity:0;transition:opacity .25s ease}
.dim.is-open{opacity:1}
.mmenu{position:fixed;top:0;right:0;bottom:0;width:min(400px,calc(100% - 48px));z-index:100;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s ease;overflow-y:auto;overscroll-behavior:contain;visibility:hidden}
.mmenu.is-open{transform:none;visibility:visible}
.mmenu__top{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);height:64px;padding:0 var(--s-5);border-bottom:1px solid var(--line);flex:0 0 auto}
.mmenu__top .logo__en{color:var(--text-sub)}
.mmenu__body{padding:var(--s-2) var(--s-5) var(--s-5);flex:1 0 auto}
.mmenu__main li a:not(.btn){display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);min-height:52px;font-size:17px;font-weight:600;border-bottom:1px solid var(--line);color:var(--text)}
.mmenu__main li:last-child a:not(.btn){border-bottom:0}
.mmenu__main li a[aria-current=page]:not(.btn){color:var(--acc-text)}
.mmenu__sub{margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--line)}
.mmenu__subttl{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--text-sub);margin-bottom:var(--s-2)}
.mmenu__sub li a:not(.btn){display:flex;align-items:center;gap:var(--s-2);min-height:44px;font-size:15px;color:var(--text-sub)}
.mmenu__sub li a[aria-current=page]:not(.btn){color:var(--acc-text)}
.mmenu__act{position:sticky;bottom:0;background:var(--bg);border-top:1px solid var(--line);padding:var(--s-4) var(--s-5) var(--s-5);display:flex;flex-direction:column;gap:var(--s-3);flex:0 0 auto}
.mmenu__act a.btn{--bh:48px;--bp:24px;width:100%;font-size:16px}
.mmenu__hours{font-size:13px;line-height:1.6;color:var(--text-sub);text-align:center}
body.is-locked{overflow:hidden}

/* hero */
.hero{position:relative;color:#FFFFFF;background:#17211B;overflow:clip;--text:#FFFFFF;--text-sub:#E6EAE6;--line:#C9D0CA;--acc-text:#F7BFA6;--fill:#F2A07F;--fill-hover:#F7BFA6;--on-fill:#17211B;--solid:#FFFFFF;--on-solid:#17211B;--panel:rgba(255,255,255,.08);--focus:#F2A07F}
.hero__slides{position:absolute;inset:0}
.hero__slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease}
.hero__slide.is-active{opacity:1}
.hero__slide img{width:100%;height:100%;object-fit:cover}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,14,11,.82) 0%,rgba(10,14,11,.68) 55%,rgba(10,14,11,.6) 100%)}
.hero__in{position:relative;padding-top:128px;padding-bottom:var(--s-7);min-height:760px;display:flex;flex-direction:column;justify-content:flex-end}
.hero__copy{max-width:880px}
.hero__title{font-size:clamp(40px,7.6vw,104px);margin-bottom:var(--s-5)}
.hero__text{font-size:18px;line-height:1.75;color:var(--text-sub);max-width:52ch;margin-bottom:var(--s-6)}
.hero__txt-item[hidden]{display:none!important}
.hero__bottom{margin-top:var(--s-8);padding-top:var(--s-5);border-top:1px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:space-between;gap:var(--s-5);flex-wrap:wrap}
.hero__meta{display:flex;align-items:center;gap:var(--s-5);font-size:14px;color:var(--text-sub);flex-wrap:wrap}
.hero__meta b{color:#FFFFFF;letter-spacing:.16em;font-size:12px}
.hero__ctrl{display:flex;align-items:center;gap:var(--s-4)}
.hero__count{font-family:var(--ff-serif);font-size:18px;min-width:72px;font-variant-numeric:tabular-nums}
.hero__bar{width:160px;height:2px;background:rgba(255,255,255,.35);position:relative;overflow:hidden}
.hero__bar i{position:absolute;left:0;top:0;bottom:0;width:0;background:#FFFFFF}
.hero__bar i.run{animation:heroBar 6s linear forwards}
@keyframes heroBar{from{width:0}to{width:100%}}
.hero .btn-ico{border-color:#FFFFFF;color:#FFFFFF}
@media (hover:hover){.hero .btn-ico:hover{background:rgba(255,255,255,.14)}}

/* news strip */
.strip{padding-top:var(--s-5);padding-bottom:var(--s-5)}
.strip__in{display:flex;align-items:center;gap:var(--s-6);min-height:44px}
.strip__label{font-size:12px;letter-spacing:.2em;font-weight:800;color:var(--text);white-space:nowrap}
.strip__text{flex:1;color:var(--text-sub);font-size:15px;min-width:0}
.strip__text .badge{margin-right:var(--s-2)}

/* sections */
.sec-pad{padding-top:var(--sec);padding-bottom:var(--sec)}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-6);margin-bottom:var(--head-gap)}
.sec-head__l{min-width:0;max-width:760px}
.sec-head__r{display:flex;flex-direction:column;align-items:flex-end;gap:var(--s-4);text-align:left;min-width:0}
.sec-head__r p{max-width:56ch;color:var(--text-sub);font-size:15px}
.sec-head__ctrl{display:flex;align-items:center;gap:var(--s-3)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s-8);align-items:start}
.split--center{align-items:center}
.split--57{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.split--75{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.grid{display:grid;gap:var(--s-5)}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.center-row{display:flex;justify-content:center;margin-top:var(--s-7)}
.rule{border:0;border-top:1px solid var(--line);margin:var(--s-8) 0}

/* about */
.about__lead{font-size:22px;line-height:1.75;color:var(--text);margin-bottom:var(--s-5)}
.about__text{color:var(--text-sub);max-width:56ch;margin-bottom:var(--s-6)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:var(--s-8)}
.stat{padding:var(--s-6) var(--s-5);border-left:1px solid var(--line)}
.stat:first-child{border-left:0;padding-left:0}
.stat__n{font-family:var(--ff-serif);font-size:56px;line-height:1.1;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:var(--s-1)}
.stat__n sup{font-size:28px;color:var(--acc-text);top:0;line-height:1}
.stat__l{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-sub);margin-top:var(--s-2);font-weight:700}
.pair{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s-6);margin-top:var(--s-8);align-items:start}
.pair figure:nth-child(2){margin-top:var(--s-8)}
.fig img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--r-sm)}
.pair figure:nth-child(2) img{aspect-ratio:4/3}
.fig figcaption{font-size:14px;color:var(--text-sub);margin-top:var(--s-3);display:flex;gap:var(--s-3);align-items:baseline}
.fig figcaption i{font-family:var(--ff-serif);color:var(--acc-text)}

/* card */
.card{display:flex;flex-direction:column;height:100%;min-width:0;color:var(--text)}
.card__img{position:relative;overflow:hidden;border-radius:var(--r-sm);background:var(--panel)}
.card__img img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s ease}
@media (hover:hover){a.card:hover .card__img img,.card a:hover .card__img img{transform:scale(1.04)}}
.card__body{display:flex;flex-direction:column;flex:1;padding-top:var(--s-4);gap:var(--s-3)}
.card__code{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--acc-text);font-weight:700;line-height:1.5}
.card__title{font-size:20px;line-height:1.5;font-weight:600;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3lh}
.card__title--1{-webkit-line-clamp:1;min-height:1lh}
.card__desc{font-size:15px;line-height:1.7;color:var(--text-sub);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card__foot{margin-top:auto;padding-top:var(--s-5);display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap}
.card--boxed{background:var(--panel);border:1px solid var(--panel-line);border-radius:var(--r-md);overflow:hidden}
.card--boxed .card__img{border-radius:0}
.card--boxed .card__body{padding:var(--box-pad)}
.card--boxed .card__foot{border-top:1px solid var(--hair);margin-top:auto;padding-top:var(--s-4)}
.card--boxed .card__body>.card__foot{margin-top:auto}
.intensity{display:inline-flex;align-items:center;gap:var(--s-2);font-size:13px;color:var(--text-sub)}
.dots{display:inline-flex;gap:4px}
.dots i{width:8px;height:8px;border-radius:999px;border:1px solid var(--text);display:block}
.dots i.on{background:var(--text)}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-1) var(--s-3);font-size:13px;color:var(--text-sub)}
.meta .with-ico{gap:var(--s-1)}

/* review card */
.review{display:flex;flex-direction:column;height:100%;background:var(--panel);border:1px solid var(--panel-line);border-radius:var(--r-md);padding:var(--box-pad);gap:var(--s-4)}
.review__stars{display:flex;gap:2px;color:var(--acc-text)}
.review__ttl{font-size:17px;font-weight:600;line-height:1.5}
.review__txt{font-size:15px;line-height:1.8;color:var(--text-sub);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.review__foot{margin-top:auto;padding-top:var(--s-4);border-top:1px solid var(--hair);display:flex;gap:var(--s-3);flex-wrap:wrap;font-size:13px;color:var(--text-sub)}
.review__foot b{color:var(--text);font-weight:600}

/* slider */
.slider{position:relative}
.slider__vp{overflow:hidden;touch-action:pan-y}
.slider__track{display:flex;gap:var(--s-5);transition:transform .4s ease;will-change:transform}
.slider__track:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
.slider__track>*{flex:0 0 calc((100% - var(--s-5) * (var(--n) - 1)) / var(--n));min-width:0;height:auto}
.slider{--n:3}
.slider__nav{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);margin-top:var(--s-6)}
.slider__dots{display:flex;align-items:center;gap:var(--s-2)}
.slider__dots button{width:28px;height:28px;border:0;background:transparent;padding:0;display:grid;place-items:center}
.slider__dots button i{display:block;width:8px;height:8px;border-radius:999px;border:1px solid var(--text);transition:width .25s ease}
.slider__dots button[aria-current=true] i{width:24px;background:var(--text)}
.slider__count{font-family:var(--ff-serif);font-size:17px;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:var(--s-3)}
.slider__count i{display:block;width:48px;height:1px;background:var(--line)}
.slider__arrows{display:flex;gap:var(--s-2)}
@media (prefers-reduced-motion:reduce){.slider__track{transition:none}}

/* classes */
.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;margin-bottom:var(--s-6)}
.filter-bar .chips{flex:1}
.select{height:44px;padding:0 var(--s-6) 0 var(--s-4);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);color:var(--text);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23161A16' stroke-width='1.75'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;font-size:15px}
.private{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s-8);align-items:center;margin-top:var(--s-8);padding-top:var(--s-8);border-top:1px solid var(--line)}
.private img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-sm)}
.private p{color:var(--text-sub);margin-top:var(--s-4);margin-bottom:var(--s-6);max-width:56ch}

/* schedule */
.steps3 li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:var(--s-4);padding:var(--s-5) 0;border-top:1px solid var(--line)}
.steps3 li:last-child{border-bottom:1px solid var(--line)}
.steps3 .n{font-family:var(--ff-serif);font-size:24px;color:var(--acc-text);line-height:1.3}
.steps3 b{display:block;font-size:17px;font-weight:600;line-height:1.5}
.steps3 span{display:block;font-size:14px;color:var(--text-sub);margin-top:var(--s-1)}
.tt{margin-top:var(--s-8);background:var(--panel);border:1px solid var(--panel-line);border-radius:var(--r-md);padding:var(--s-6)}
.tt__head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;margin-bottom:var(--s-5)}
.tt__today{font-size:14px;color:var(--acc-text);margin-bottom:var(--s-2)}
.tt__ttl{font-size:24px;font-weight:600;line-height:1.4}
.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--s-2)}
.day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:76px;border:1px solid var(--line);border-radius:var(--r-sm);background:transparent;color:var(--text);padding:var(--s-2) var(--s-1);line-height:1.3}
.day b{font-size:16px;font-weight:700}
.day span{font-size:12px;color:var(--text-sub)}
.day.is-off{border-style:dashed}
.day[aria-selected=true]{background:var(--fill);border-color:var(--fill);color:var(--on-fill)}
.day[aria-selected=true] span{color:var(--on-fill)}
.tt__list{margin-top:var(--s-5)}
.tt__row{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:var(--s-5);align-items:center;padding:var(--s-4) 0;border-top:1px solid var(--line)}
.tt__row:last-child{border-bottom:1px solid var(--line)}
.tt__time{font-family:var(--ff-serif);font-size:20px;font-variant-numeric:tabular-nums}
.tt__cls b{display:block;font-size:17px;font-weight:600;line-height:1.5}
.tt__cls span{display:block;font-size:13px;color:var(--text-sub)}
.tt__seat{display:flex;align-items:center;gap:var(--s-3);font-size:13px;color:var(--text-sub);white-space:nowrap}
.tt__empty{padding:var(--s-6) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--text-sub)}
.tt__note{margin-top:var(--s-4);font-size:13px;color:var(--acc-text)}
.bar{display:block;width:80px;height:4px;background:var(--hair);border-radius:999px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--acc-text)}

/* membership columns */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.plan{padding:var(--s-6) var(--s-6) var(--s-6) 0;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:var(--s-3)}
.plan+.plan{padding-left:var(--s-6)}
.plan:first-child{border-left:0}
.plan__code{font-size:12px;letter-spacing:.16em;color:var(--text-sub);font-weight:700}
.plan__name{font-size:24px;font-weight:600;line-height:1.4}
.plan__price{font-family:var(--ff-serif);font-size:32px;font-variant-numeric:tabular-nums;line-height:1.2}
.plan__price small{font-family:var(--ff);font-size:14px;color:var(--text-sub);margin-left:var(--s-1)}
.plan p{font-size:15px;color:var(--text-sub)}
.plan .plan__price{font-size:32px;color:var(--text)}

/* accordion */
.acc{border-top:1px solid var(--line)}
.acc__item{border-bottom:1px solid var(--line)}
.acc__btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);min-height:64px;padding:var(--s-4) 0;background:transparent;border:0;text-align:left;font-size:17px;font-weight:600;color:var(--text);line-height:1.5}
.acc__btn .q{display:flex;align-items:flex-start;gap:var(--s-3);min-width:0}
.acc__btn .q i{font-family:var(--ff-serif);color:var(--acc-text);font-style:italic;font-weight:400;flex:0 0 auto}
.acc__btn .icon{transition:transform .25s ease}
.acc__btn[aria-expanded=true] .icon{transform:rotate(45deg)}
.acc__panel{padding:0 0 var(--s-5);color:var(--text-sub);max-width:80ch}
.acc__panel p+p{margin-top:var(--s-2)}

/* education list */
.linklist li a:not(.btn){display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);min-height:64px;border-bottom:1px solid var(--line);font-size:18px;font-weight:600;color:var(--text)}
.linklist li:first-child a:not(.btn){border-top:1px solid var(--line)}
.linklist li a span{display:flex;flex-direction:column;min-width:0}
.linklist li a small{font-size:13px;font-weight:400;color:var(--text-sub)}
@media (hover:hover){.linklist li a:not(.btn):hover{color:var(--acc-text)}}
.edu img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:var(--r-sm)}

/* visit */
.infobox{border-top:1px solid var(--line);padding-top:var(--s-5)}
.infobox h3{font-size:24px;font-weight:600;margin-bottom:var(--s-3)}
.dl{display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--s-3) var(--s-5);margin-top:var(--s-5)}
.dl dt{font-weight:700;font-size:15px}
.dl dd{font-size:15px;color:var(--text-sub)}
.contact-rows li a:not(.btn){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-2) var(--s-4);align-items:center;padding:var(--s-5) 0;border-bottom:1px solid var(--line);color:var(--text)}
.contact-rows li:first-child a:not(.btn){border-top:1px solid var(--line)}
.contact-rows b{font-size:17px;font-weight:600}
.contact-rows small{grid-column:1/2;font-size:14px;color:var(--text-sub)}
.contact-rows .icon{grid-row:1/3;grid-column:2}
.tel-big{display:inline-flex;align-items:center;gap:var(--s-2);font-family:var(--ff-serif);font-size:28px;margin-top:var(--s-5);min-height:44px}

/* footer */
.ftr__top{padding-top:var(--s-9);padding-bottom:var(--s-8)}
.ftr__grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:var(--s-7)}
.ftr .logo{color:var(--text)}
.ftr .logo__sym{color:var(--fill)}
.ftr__intro{margin-top:var(--s-5);font-size:14px;color:var(--text-sub);max-width:36ch}
.ftr h4{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--text);margin-bottom:var(--s-4);font-weight:700}
.ftr__list li a:not(.btn),.ftr__list li>span{display:flex;align-items:flex-start;gap:var(--s-2);min-height:36px;padding:var(--s-1) 0;font-size:14px;color:var(--text-sub);min-width:0;overflow-wrap:anywhere;line-height:1.6}
.ftr__list li>a>.icon,.ftr__list li>span>.icon{margin-top:calc((1lh - var(--icon)) / 2)}
@media (hover:hover){.ftr__list li a:not(.btn):hover{color:var(--text)}}
.ftr__bottom{border-top:1px solid var(--line);padding-top:var(--s-5);padding-bottom:calc(var(--s-5) + 56px)}
.ftr__bottom-in{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;font-size:13px;color:var(--text-sub)}
.ftr__legal{display:flex;gap:var(--s-2) var(--s-5);flex-wrap:wrap}
.ftr__legal a:not(.btn){display:inline-flex;align-items:center;min-height:36px;color:var(--text)}
.ftr__license{margin-top:var(--s-3);font-size:12px;line-height:1.7;color:var(--text-sub);max-width:120ch}
.totop{position:fixed;right:var(--s-5);bottom:var(--s-5);z-index:40;width:48px;height:48px;border-radius:999px;background:#161A16;color:#FFFFFF;border:1px solid #FFFFFF;display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity .25s ease;padding:0}
.totop.is-on{opacity:1;visibility:visible}
.mbar{display:none}

/* sub page shell */
.subhero{position:relative;height:374px;color:#FFFFFF;background:#17211B;overflow:clip;--text:#FFFFFF;--text-sub:#E6EAE6;--acc-text:#F7BFA6;--line:#C9D0CA}
.subhero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.subhero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,14,11,.8) 0%,rgba(10,14,11,.62) 100%)}
.subhero__in{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:var(--s-7)}
.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);font-size:13px;color:var(--text-sub);margin-bottom:var(--s-4)}
.crumb a{display:inline-flex;align-items:center;min-height:32px}
.crumb a:hover{color:#FFFFFF}
.crumb .icon{color:var(--text-sub)}
.subhero h1{font-size:44px;font-weight:600;line-height:1.3;letter-spacing:-.02em}
.subhero__en{display:block;margin-top:var(--s-2);font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--acc-text);font-weight:700}
.tabs{border-bottom:1px solid var(--line);background:var(--bg)}
.tabs ul{display:flex;gap:var(--s-2);overflow-x:auto;scrollbar-width:none}
.tabs ul::-webkit-scrollbar{display:none}
.tabs a{display:flex;align-items:center;height:60px;padding:0 var(--s-4);font-size:15px;font-weight:500;color:var(--text-sub);white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-1px}
.tabs a[aria-current=page]{color:var(--text);font-weight:700;border-bottom-color:var(--acc-text)}
.page{padding-top:var(--sec);padding-bottom:var(--sec)}
.page .wrap{max-width:calc(1320px + var(--gutter) * 2)}
.page-intro{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s-8);margin-bottom:var(--s-8)}
.page-intro p{color:var(--text-sub);max-width:56ch}
.block{margin-top:var(--s-9)}
.block:first-child,.page-intro+.block{margin-top:0}
.block__head{margin-bottom:var(--s-6)}
.talk{padding-top:var(--sec);padding-bottom:var(--sec)}

/* tables */
.tblwrap{overflow-x:auto;border-top:2px solid var(--text)}
.tbl{width:100%;border-collapse:collapse;font-size:15px;min-width:640px}
.tbl th,.tbl td{padding:var(--s-4);border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;line-height:1.6}
.tbl thead th{font-size:13px;letter-spacing:.06em;color:var(--text-sub);font-weight:700;background:var(--panel)}
.tbl td.num,.tbl th.num{text-align:right;font-variant-numeric:tabular-nums}
.tbl tbody th{font-weight:600}
.tbl .hl{color:var(--acc-text);font-weight:700}
.scroll-hint{display:none;font-size:13px;color:var(--text-sub);margin-top:var(--s-2)}
.toggle{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:var(--s-1);gap:var(--s-1)}
.toggle button{height:38px;padding:0 var(--s-4);white-space:nowrap;border-radius:999px;border:0;background:transparent;font-size:14px;font-weight:600;color:var(--text-sub)}
.toggle button[aria-pressed=true]{background:var(--solid);color:var(--on-solid)}

/* panels / boxes */
.box{background:var(--panel);border:1px solid var(--panel-line);border-radius:var(--r-md);padding:var(--box-pad)}
.box h3{font-size:18px;font-weight:600;line-height:1.5;margin-bottom:var(--s-3)}
.box p{color:var(--text-sub);font-size:15px}
.box .with-ico{align-items:flex-start}
.box .with-ico>.icon{margin-top:calc((1lh - var(--icon)) / 2)}
.teacher-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:stretch;height:100%}
.teacher-row .teacher__img{min-height:100%}
.teacher-row .teacher__img img{height:100%;border-radius:0}
.box .plan__price{font-size:28px;color:var(--text);font-family:var(--ff-serif);line-height:1.3;margin-top:var(--s-2)}
.box .plan__price small{font-family:var(--ff);font-size:14px;color:var(--text-sub);margin-left:var(--s-1)}
.box--acc{border-left:3px solid var(--acc-text)}
.feature-list li{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-3) 0;font-size:15px;color:var(--text-sub);border-bottom:1px solid var(--hair)}
.feature-list li:last-child{border-bottom:0}
.feature-list .icon{color:var(--acc-text);margin-top:calc((1lh - var(--icon)) / 2)}

/* teacher */
.teacher__img img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--r-sm)}
.teacher__name{font-size:20px;font-weight:600;margin-top:var(--s-4);line-height:1.4}
.teacher__role{font-size:14px;color:var(--text-sub)}
.teacher__tags{margin-top:var(--s-3)}

/* timeline */
.timeline li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--s-5);padding:var(--s-5) 0;border-top:1px solid var(--line)}
.timeline li:last-child{border-bottom:1px solid var(--line)}
.timeline .y{font-family:var(--ff-serif);font-size:24px;color:var(--acc-text);line-height:1.3}
.timeline b{display:block;font-weight:600}
.timeline span{display:block;color:var(--text-sub);font-size:15px}

/* space slider (about) */
.space-slide figure img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-sm)}
.space-slide figcaption{margin-top:var(--s-3);font-size:14px;color:var(--text-sub)}

/* progress (recruit) */
.progress{margin-top:var(--s-4)}
.progress__top{display:flex;justify-content:space-between;gap:var(--s-3);font-size:14px;margin-bottom:var(--s-2);flex-wrap:wrap}
.progress__top b{font-variant-numeric:tabular-nums}
.progress__bar{height:8px;border-radius:999px;background:var(--hair);overflow:hidden}
.progress__bar i{display:block;height:100%;background:var(--acc-text);border-radius:999px}

/* forms */
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4) var(--s-5)}
.form-row{display:flex;flex-direction:column;min-width:0}
.form-row--full{grid-column:1/-1}
.form-row label.lbl,.form-row .lbl{font-size:14px;font-weight:600;margin-bottom:var(--s-2);line-height:1.5}
.lbl .req{color:var(--acc-text);margin-left:2px}
.input,.textarea,.form-row select{height:48px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);color:var(--text);padding:0 var(--s-4);font-size:15px;width:100%;min-width:0}
.form-row select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23161A16' stroke-width='1.75'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:var(--s-7)}
.textarea{height:auto;min-height:160px;padding:var(--s-3) var(--s-4);line-height:1.7;resize:vertical}
.input:focus,.textarea:focus,.form-row select:focus{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--text)}
.is-invalid .input,.is-invalid .textarea,.is-invalid select{border-color:#B3261E}
.err{font-size:12px;color:#B3261E;margin-top:var(--s-1);line-height:1.5;min-height:0}
.sec--dark .err{color:#FFB4AB}
.form-check{display:flex}
.check{display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;font-size:15px;cursor:pointer}
.check input{position:absolute;opacity:0;width:1px;height:1px}
.check__box{width:20px;height:20px;border:1px solid var(--line);border-radius:4px;display:grid;place-items:center;flex:0 0 auto;background:var(--bg);color:transparent}
.check input:checked+.check__box{background:var(--solid);border-color:var(--solid);color:var(--on-solid)}
.check input:focus-visible+.check__box{outline:2px solid var(--focus);outline-offset:2px}
.check__box .icon{--icon:16px}
.agreebox{max-height:160px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--box-pad);font-size:13px;color:var(--text-sub);background:var(--panel);margin-bottom:var(--s-2)}
.agreebox p+p{margin-top:var(--s-2)}
.opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}
.opts--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.opt{position:relative;display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);text-align:left;min-height:88px;color:var(--text);min-width:0}
.opt b{font-size:16px;font-weight:600;line-height:1.5}
.opt span{font-size:13px;color:var(--text-sub);line-height:1.6}
.opt em{font-style:normal;font-family:var(--ff-serif);font-size:18px;color:var(--acc-text);margin-top:auto;font-variant-numeric:tabular-nums}
.opt[aria-pressed=true]{border:2px solid var(--acc-text);padding:calc(var(--s-4) - 1px);background:var(--panel)}
.stepper{display:flex;gap:var(--s-2);margin-bottom:var(--s-7)}
.stepper li{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-2);padding-bottom:var(--s-3);border-bottom:3px solid var(--hair);color:var(--text-sub)}
.stepper li .n{width:32px;height:32px;border-radius:999px;border:1px solid var(--line);display:grid;place-items:center;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;flex:0 0 auto;background:var(--bg)}
.stepper li .t{font-size:14px;font-weight:600;line-height:1.4}
.stepper li.is-cur{border-bottom-color:var(--acc-text);color:var(--text)}
.stepper li.is-cur .n{background:var(--fill);border-color:var(--fill);color:var(--on-fill)}
.stepper li.is-done{border-bottom-color:var(--text);color:var(--text)}
.stepper li.is-done .n{background:var(--solid);border-color:var(--solid);color:var(--on-solid)}
.flow{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:var(--s-7);align-items:start}
.flow__main{min-width:0}
.step h2{font-size:24px;font-weight:600;margin-bottom:var(--s-2);line-height:1.4}
.step>p{color:var(--text-sub);margin-bottom:var(--s-5);font-size:15px}
.step__sub{font-size:16px;font-weight:600;margin:var(--s-6) 0 var(--s-3)}
.flow__nav{display:flex;justify-content:space-between;gap:var(--s-3);margin-top:var(--s-7);padding-top:var(--s-5);border-top:1px solid var(--line);flex-wrap:wrap}
.flow__nav .spacer{flex:1}
.summary{background:var(--panel);border:1px solid var(--panel-line);border-radius:var(--r-md);padding:var(--box-pad)}
.summary h3{font-size:18px;font-weight:600;margin-bottom:var(--s-4)}
.summary dl{display:grid;grid-template-columns:88px minmax(0,1fr);gap:var(--s-3) var(--s-4);font-size:14px;padding-bottom:var(--s-4);border-bottom:1px solid var(--hair)}
.summary dt{color:var(--text-sub)}
.summary dd{font-weight:600;overflow-wrap:anywhere}
.summary__total{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3);padding-top:var(--s-4);flex-wrap:wrap}
.summary__total b{font-family:var(--ff-serif);font-size:28px;font-variant-numeric:tabular-nums}
.summary .xs{margin-top:var(--s-3);color:var(--text-sub)}
.cal{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-5)}
.cal__head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-4)}
.cal__ttl{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}
.cal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--s-1)}
.cal__dow{text-align:center;font-size:12px;color:var(--text-sub);font-weight:700;padding:var(--s-1) 0}
.cal__d{height:44px;min-width:0;border:0;border-radius:var(--r-sm);background:transparent;font-size:15px;font-variant-numeric:tabular-nums;color:var(--text);display:grid;place-items:center;padding:0}
.cal__d[disabled]{color:#767B75;cursor:not-allowed;text-decoration:line-through;text-decoration-color:#9AA09A}
.cal__d.is-today{box-shadow:inset 0 0 0 1px var(--line)}
.cal__d[aria-pressed=true]{background:var(--fill);color:var(--on-fill)}
@media (hover:hover){.cal__d:not([disabled]):not([aria-pressed=true]):hover{background:var(--panel)}}
.cal__legend{display:flex;gap:var(--s-4);flex-wrap:wrap;margin-top:var(--s-3);font-size:12px;color:var(--text-sub)}
.slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-2)}
.slot{min-height:64px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:var(--s-2);color:var(--text);min-width:0;line-height:1.3}
.slot b{font-size:16px;font-variant-numeric:tabular-nums}
.slot span{font-size:12px;color:var(--text-sub);text-align:center}
.slot[disabled]{cursor:not-allowed;color:#666B66;border-style:dashed}
.slot[disabled] b{text-decoration:line-through}
.slot[aria-pressed=true]{background:var(--fill);border-color:var(--fill);color:var(--on-fill)}
.slot[aria-pressed=true] span{color:var(--on-fill)}
.done{text-align:center;padding:var(--s-7) 0}
.done .ico-circle{margin:0 auto var(--s-5)}
.done h2{font-size:28px;font-weight:600;margin-bottom:var(--s-3)}
.done p{color:var(--text-sub);max-width:56ch;margin:0 auto}
.done .summary{text-align:left;max-width:520px;margin:var(--s-6) auto 0}
.done .btn-group{justify-content:center;margin-top:var(--s-6)}
.form-done{padding:var(--s-7) var(--box-pad);text-align:center;border:1px solid var(--panel-line);background:var(--panel);border-radius:var(--r-md)}

/* gallery */
.gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-3)}
.gal__item{display:block;width:100%;padding:0;border:0;background:var(--panel);border-radius:var(--r-sm);overflow:hidden;position:relative;text-align:left}
.gal__item img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .5s ease}
@media (hover:hover){.gal__item:hover img{transform:scale(1.04)}}
.gal__cap{display:block;padding:var(--s-3) var(--s-4);font-size:14px;color:var(--text);background:var(--panel)}
.lb{position:fixed;inset:0;z-index:120;background:rgba(10,14,11,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--s-8) var(--s-5);color:#FFFFFF;--text:#FFFFFF;--line:#C9D0CA;--panel:rgba(255,255,255,.1)}
.lb img{max-height:72vh;width:auto;border-radius:var(--r-sm)}
.lb__cap{margin-top:var(--s-4);font-size:15px;text-align:center}
.lb__close{position:absolute;top:var(--s-5);right:var(--s-5)}
.lb__nav{display:flex;gap:var(--s-3);margin-top:var(--s-4);align-items:center}
.lb .btn-ico{border-color:#FFFFFF;color:#FFFFFF}

/* list rows (journal) */
.posts{border-top:2px solid var(--text)}
.post{display:grid;grid-template-columns:200px minmax(0,1fr);gap:var(--s-6);padding:var(--s-6) 0;border-bottom:1px solid var(--line);align-items:center;color:var(--text)}
.post__img img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-sm)}
.post__body{min-width:0;display:flex;flex-direction:column;gap:var(--s-2)}
.post__ttl{font-size:20px;font-weight:600;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.post__ex{font-size:15px;color:var(--text-sub);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (hover:hover){a.post:hover .post__ttl{color:var(--acc-text)}}
.pager{display:flex;justify-content:center;align-items:center;gap:var(--s-2);margin-top:var(--s-7);flex-wrap:wrap}
.pager button{min-width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:transparent;font-size:15px;font-variant-numeric:tabular-nums;color:var(--text);display:grid;place-items:center;padding:0 var(--s-3)}
.pager button[aria-current=page]{background:var(--solid);border-color:var(--solid);color:var(--on-solid)}
.pager button[disabled]{cursor:not-allowed;color:var(--text-sub)}
.article{max-width:800px;margin:0 auto}
.article__head{padding-bottom:var(--s-6);border-bottom:1px solid var(--line);margin-bottom:var(--s-6)}
.article__head h2{font-size:32px;font-weight:600;line-height:1.4;margin:var(--s-3) 0}
.article__img img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-sm);margin-bottom:var(--s-6)}
.pnav{margin-top:var(--s-8);border-top:1px solid var(--line)}
.pnav li>a,.pnav li>span{display:grid;grid-template-columns:80px minmax(0,1fr) 24px;gap:var(--s-4);align-items:center;min-height:64px;padding:var(--s-3) 0;border-bottom:1px solid var(--line);color:var(--text)}
.pnav li>span{color:var(--text-sub)}
.pnav .k{font-size:13px;color:var(--text-sub);font-weight:700}
.pnav .t{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.searchbar{display:flex;gap:var(--s-2);min-width:0}
.searchbar .input{width:260px}
.empty{padding:var(--s-8) 0;text-align:center;color:var(--text-sub)}

/* map */
.map{position:relative;aspect-ratio:16/9;border-radius:var(--r-md);border:1px solid var(--panel-line);background:var(--panel);overflow:hidden;display:grid;place-items:center}
.map__grid{position:absolute;inset:0;background-image:linear-gradient(var(--hair) 1px,transparent 1px),linear-gradient(90deg,var(--hair) 1px,transparent 1px);background-size:48px 48px}
.map__pin{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--s-2);text-align:center;padding:var(--s-5);background:var(--bg);border:1px solid var(--panel-line);border-radius:var(--r-md);max-width:80%}
.map__pin .icon{color:var(--acc-text)}
.map__pin b{font-size:16px}
.map__pin span{font-size:13px;color:var(--text-sub)}

/* reveal */
.js .rv{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none}}

/* ============ responsive ============ */
@media (max-width:1200px){
  .grid--4{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gnb a{padding:0 var(--s-2);font-size:14px}
  .hdr-tel{display:none}
  .flow{grid-template-columns:minmax(0,1fr) 320px}
  .gal{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1023px){
  :root{--sec:72px;--head-gap:32px;--gutter:28px;--header-h:64px}
  .hdr-inner{grid-template-columns:minmax(0,1fr) auto}
  .gnb{display:none}
  .hdr-cta{display:none}
  .burger{display:inline-grid}
  .h-en{font-size:40px}
  .h-kr{font-size:28px}
  .split,.split--57,.split--75,.private,.page-intro{grid-template-columns:minmax(0,1fr);gap:var(--s-6)}
  .grid--3,.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat:nth-child(3){border-left:0;padding-left:0}
  .stat:nth-child(n+3){border-top:1px solid var(--line)}
  .hero__in{min-height:640px;padding-top:96px}
  .flow{grid-template-columns:minmax(0,1fr)}
  .plans{grid-template-columns:minmax(0,1fr)}
  .plan,.plan+.plan{padding:var(--s-5) 0;border-left:0;border-top:1px solid var(--line)}
  .plan:first-child{border-top:0}
  .ftr__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .subhero{height:320px}
  .subhero h1{font-size:36px}
  .slots{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;z-index:45;background:#FFFFFF;border-top:1px solid #7C827B;height:64px;color:#161A16}
  .mbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:12px;font-weight:600;min-height:44px}
  .mbar a.is-cta{background:#A9472A;color:#FFFFFF}
  body{padding-bottom:64px}
  .totop{bottom:calc(64px + var(--s-4))}
  .ftr__bottom{padding-bottom:calc(var(--s-5) + 56px)}
}
@media (max-width:767px){
  :root{--sec:56px;--head-gap:24px;--gutter:20px;--box-pad:16px}
  .h-en{font-size:34px}
  .h-kr{font-size:24px}
  .lead,.about__lead{font-size:18px}
  .sec-head{flex-direction:column;align-items:flex-start;gap:var(--s-4)}
  .sec-head__r{align-items:flex-start}
  .grid--2,.grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid--3.grid--1m,.grid--2.grid--1m{grid-template-columns:minmax(0,1fr)}
  .pair{grid-template-columns:minmax(0,1fr);gap:var(--s-5)}
  .pair figure:nth-child(2){margin-top:0}
  .hero__in{min-height:600px;padding-top:80px}
  .hero__scrim{background:linear-gradient(180deg,rgba(10,14,11,.74) 0%,rgba(10,14,11,.8) 100%)}
  .hero__text{font-size:16px}
  .hero__bottom{margin-top:var(--s-6)}
  .hero__bar{width:96px}
  .slider__dots{gap:0}
  .strip__in{flex-wrap:wrap;gap:var(--s-2) var(--s-4)}
  .strip__text{flex-basis:100%;order:3}
  .stat__n{font-size:44px}
  .stat{padding:var(--s-5) var(--s-4)}
  .tt{padding:var(--s-5) var(--s-4)}
  .tt__row{grid-template-columns:88px minmax(0,1fr);gap:var(--s-2) var(--s-4)}
  .tt__seat{grid-column:2/3}
  .day{min-height:64px}
  .form-grid{grid-template-columns:minmax(0,1fr)}
  .input,.form-row select{height:44px}
  .opts--3{grid-template-columns:minmax(0,1fr)}
  .stepper li .n{width:28px;height:28px;font-size:13px}
  .post{grid-template-columns:120px minmax(0,1fr);gap:var(--s-4)}
  .post__ttl{font-size:17px}
  .post__ex{display:none}
  .gal{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tbl{min-width:600px}
  .scroll-hint{display:block}
  .subhero{height:280px}
  .subhero h1{font-size:30px}
  .article__head h2{font-size:24px}
  .searchbar{width:100%}
  .searchbar .btn{--bh:44px}
  .teacher-row{grid-template-columns:minmax(0,1fr)}
  .teacher-row .teacher__img img{aspect-ratio:4/3}
  .searchbar .input{width:auto;flex:1}
  .tabs a{height:52px;padding:0 var(--s-3);font-size:14px}
  .dl{grid-template-columns:80px minmax(0,1fr)}
  .timeline li{grid-template-columns:72px minmax(0,1fr)}
  .tel-big{font-size:24px}
  .slider__nav .slider__arrows{display:none}
  .ftr__top{padding-top:var(--s-8);padding-bottom:var(--s-7)}
  .ftr__grid{gap:var(--s-6)}
  .hero .btn-group .btn{flex:1 1 auto}
}
@media (max-width:640px){
  .slots{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:479px){
  :root{--sec:40px;--gutter:16px;--header-h:56px}
  .logo__sym{width:30px;height:30px}
  .logo__kr{font-size:16px}
  .logo__en{font-size:8px;letter-spacing:.18em}
  .hero__title{font-size:40px}
  .hero__in{min-height:560px}
  .hero .btn-group{flex-direction:column;align-items:stretch}
  .hero .btn-group .btn{width:100%}
  .hero__meta{gap:var(--s-2) var(--s-4)}
  .hero__bar{width:56px}
  .hero__ctrl{gap:var(--s-3)}
  .hero__count{min-width:0;font-size:16px}
  .grid--2,.grid--3,.grid--4{grid-template-columns:minmax(0,1fr)}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat__n{font-size:36px}
  .stat__n sup{font-size:20px}
  .h-en{font-size:30px}
  .h-kr{font-size:22px}
  .ftr__grid{grid-template-columns:minmax(0,1fr)}
  .subhero{height:240px}
  .subhero h1{font-size:26px}
  .opts{grid-template-columns:minmax(0,1fr)}
  .stepper li .t{display:none}
  .stepper li{align-items:center}
  .tt__row{grid-template-columns:minmax(0,1fr)}
  .tt__seat{grid-column:auto}
  .days{gap:var(--s-1)}
  .day b{font-size:14px}
  .post{grid-template-columns:96px minmax(0,1fr)}
  .gal{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-2)}
  .gal__cap{padding:var(--s-2) var(--s-3);font-size:13px}
  .cal{padding:var(--s-3)}
  .cal__d{height:40px;font-size:14px}
  .pnav li>a,.pnav li>span{grid-template-columns:56px minmax(0,1fr) 20px;gap:var(--s-3)}
  .summary dl{grid-template-columns:72px minmax(0,1fr)}
  .map{aspect-ratio:4/3}
  .dl{grid-template-columns:minmax(0,1fr);gap:var(--s-1)}
  .dl dd{margin-bottom:var(--s-3)}
  .flow__nav .btn{flex:1 1 auto}
  .toggle{display:flex;width:100%}
  .toggle button{flex:1 1 0;padding:0 var(--s-2);font-size:13px;min-width:0}
  .flow__nav .spacer{display:none}
}
.mt-2{margin-top:var(--s-2)}.mt-3{margin-top:var(--s-3)}.mt-4{margin-top:var(--s-4)}.mt-5{margin-top:var(--s-5)}.mt-6{margin-top:var(--s-6)}.mt-7{margin-top:var(--s-7)}.mt-8{margin-top:var(--s-8)}
.mb-4{margin-bottom:var(--s-4)}.mb-5{margin-bottom:var(--s-5)}.mb-6{margin-bottom:var(--s-6)}
