/* YOGA PROJECT · three spaces, one identity */
:root{--ink:#1F1F20;--ink-soft:#28282b;--paper:#F7F3EA;--paper-soft:#d4d0c7;--line:rgba(247,243,234,.2);--navy:#1B2F8E;--blue:#66B9EA;--rose:#FA80E3;--gold:#A87931;--gold-light:#D3BA95}
html{background:var(--paper);scroll-padding-top:6rem}
body{font-size:16px;line-height:1.75}
.site-header,.site-header.is-scrolled{height:5.5rem;background:rgba(247,243,234,.97);color:var(--ink);border-bottom:1px solid #d9d5ce;padding:0 4vw;backdrop-filter:blur(16px)}
.site-header:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:linear-gradient(to right,var(--blue) 0 33.33%,var(--rose) 33.33% 66.66%,var(--gold) 66.66%)}
.wordmark{font-size:.95rem;line-height:1.05;letter-spacing:.08em}
.desktop-nav{font-size:.875rem;gap:1.6rem;letter-spacing:.04em}
.desktop-nav .nav-contact{border:1px solid var(--ink);border-radius:0;padding:.65rem 1.4rem}
.menu-button__label{font-size:.875rem}
.hero{display:block;min-height:0;padding:9.5rem 4vw 0;background:var(--paper);color:var(--ink);overflow:visible}
.hero:after{display:none}
.hero__content{width:100%;display:grid;grid-template-columns:1.45fr 1fr;gap:3rem;align-items:end;animation:none;margin-bottom:3.5rem}
.eyebrow,.kicker{font-size:.75rem;letter-spacing:.16em}
.hero .eyebrow{color:#646367;margin-bottom:1.65rem}
.hero h1{font-family:"Apple SD Gothic Neo","Noto Sans KR",sans-serif;font-size:clamp(2.5rem,4.4vw,5rem);font-weight:400;letter-spacing:-.055em;line-height:1.24;max-width:none}
.hero h1 span:first-child{font-family:Georgia,serif;font-size:.3em;letter-spacing:.02em;font-style:italic;margin-bottom:1.15rem}
.hero__aside{justify-self:end}
.hero__lead{color:#5f5f61;font-size:1rem;margin:0;line-height:1.9}
.hero__actions{gap:1.4rem;flex-wrap:wrap;margin-top:1.7rem}
.button{border-radius:0;font-size:.875rem;gap:1.5rem;min-height:3.3rem}
.hero .button--light{background:var(--ink);color:var(--paper)}
.hero .button--light:hover{background:var(--navy)}
.text-link{font-size:.875rem}
.hero .text-link{border-color:#a5a39e}
.hero-spaces{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
.hero-space{position:relative;display:block;min-width:0;overflow:hidden;background:#ddd;color:#fff;border-top:3px solid var(--accent)}
.hero-space--sinsa{--accent:var(--blue)}.hero-space--seongsu{--accent:var(--rose)}.hero-space--hannam{--accent:var(--gold-light)}
.hero-space>img{display:block;width:100%;height:clamp(18rem,28vw,33rem);object-fit:cover;object-position:center;transition:transform .6s var(--ease)}
.hero-space:hover>img{transform:scale(1.035)}
.hero-space:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.73));pointer-events:none}
.hero-space__caption{position:absolute;z-index:1;bottom:3.5rem;left:1.7rem;right:1.7rem;display:flex;justify-content:space-between;align-items:end}
.hero-space__caption small{display:block;font-size:.75rem;letter-spacing:.13em;color:var(--accent)}
.hero-space__caption b{display:block;font-family:Georgia,serif;font-size:clamp(1.5rem,2.8vw,3.2rem);font-weight:400;letter-spacing:.015em;line-height:1.45}
.hero-space__caption>span:last-child{font-size:1.5rem}
.hero-space>p{position:absolute;z-index:1;bottom:1.4rem;left:1.7rem;margin:0;font-size:.875rem;color:#f3f3f3}
.hero__foot{display:flex;justify-content:space-between;gap:1rem;padding:1.25rem 0 2rem;font-size:.75rem;letter-spacing:.1em;color:#656467}
.hero__foot a{font-size:.875rem;letter-spacing:0}
.reveal{opacity:1;transform:none}
a:focus-visible,button:focus-visible{outline:2px solid #4471bc;outline-offset:5px}
@media(max-width:1100px){.desktop-nav{gap:1rem}.hero__content{grid-template-columns:1.2fr 1fr;gap:2rem}.hero__actions{gap:.6rem}.hero-space__caption{left:1.1rem;right:1.1rem}.hero-space>p{left:1.1rem}}
@media(max-width:760px){.hero{padding:8rem 1.25rem 0}.site-header,.site-header.is-scrolled{padding:0 1.25rem;height:5rem}.hero__content{grid-template-columns:1fr;gap:1.8rem;margin-bottom:2.5rem}.hero__aside{justify-self:start}.hero h1{font-size:clamp(2.25rem,7.4vw,3.5rem)}.hero__actions{flex-direction:row;align-items:center;gap:1rem}.hero-spaces{gap:.5rem}.hero-space>img{height:18rem}.hero-space__caption{left:.65rem;right:.65rem;bottom:1rem}.hero-space__caption b{font-family:inherit;font-size:clamp(.875rem,3.2vw,1.5rem);font-weight:600}.hero-space__caption small{font-size:.75rem;letter-spacing:0}.hero-space__caption>span:last-child,.hero-space>p{display:none}.hero__foot{font-size:.75rem;letter-spacing:0;flex-wrap:wrap}.hero__foot a{font-size:.875rem}}

/* Quiet typography and shared section rhythm. */
.section{padding:6.5rem 4vw}
.section-heading h2,.schedule__heading h2,.spaces-intro h2,.membership__heading h2,.guide__heading h2,.philosophy h2,.visit h2{font-family:"Apple SD Gothic Neo","Noto Sans KR",sans-serif;font-size:clamp(2.1rem,3.3vw,3.6rem);font-weight:400;line-height:1.35;letter-spacing:-.045em}
.section-heading,.schedule__heading,.spaces-intro,.membership__heading,.guide__heading{margin-bottom:3.5rem;gap:3rem}
.section-heading{grid-template-columns:1fr 1.7fr 1fr}
.section-heading>p:last-child{font-size:1rem;line-height:1.8}
.practice{background:#fff;color:var(--ink);--line:#dedede}
.practice .kicker,.practice .section-heading>p:last-child{color:#646468}
.practice-finder{grid-template-columns:1fr 1.2fr}
.practice-options{padding:1rem 2rem 1rem 0;align-self:start;border-right:0}
.practice-option{padding:1.25rem 1rem;grid-template-columns:2.5rem 1fr auto}
.practice-option__name{font-family:inherit;font-size:1.65rem;line-height:1.5}
.practice-option__number,.practice-option__en{color:#737377;font-size:.875rem;letter-spacing:.05em}
.practice-option.is-active{background:#eef3fa;border-left:3px solid var(--navy);color:var(--navy)}
.practice-option:hover{background:#f6f6f8}
.practice-result{min-height:32rem;padding:2.5rem 3rem;background:#f4f6f9}
.practice-result__top{color:#6a6b70;font-size:.875rem;letter-spacing:0}
.practice-result__label,.practice-result__recommendations b{color:var(--navy)}
.practice-result h3{font-family:inherit;font-size:clamp(1.8rem,2.7vw,2.8rem);line-height:1.4;letter-spacing:-.035em}
.practice-result__description{color:#5c5d63;font-size:1rem;line-height:1.8}
.practice-result__classes{margin-top:2.5rem}
.practice-result__classes span,.practice-result__classes small{color:#686a70;font-size:.875rem;letter-spacing:0}
.practice-result__recommendations span{color:#32343b;font-size:.875rem;line-height:1.6}
.schedule{background:#161f45;color:#fff;--line:#465075}
.schedule .kicker{color:var(--blue)}
.schedule__intro p,.schedule__intro small,.schedule-guide-link{color:#c5ccdf;font-size:1rem}
.schedule-guide-link a{color:#fff;font-size:.875rem}
.live-schedule-grid{border:0;gap:1rem}
.live-schedule-card{border:0;min-height:13rem;background:#f7f3ea;color:var(--ink);padding:1.5rem;gap:1.1rem;border-top:3px solid var(--accent)}
.live-schedule-card--sinsa{--accent:var(--blue)}.live-schedule-card--seongsu{--accent:var(--rose)}.live-schedule-card--hannam{--accent:var(--gold-light)}
.live-schedule-card img{width:5rem;height:5rem;object-fit:contain;border-radius:0}
.live-schedule-card small{font-size:.75rem;color:#62636a;letter-spacing:.08em}
.live-schedule-card b{font-family:Georgia,serif;font-weight:400;font-size:clamp(1.25rem,2vw,1.9rem);color:var(--ink);letter-spacing:0}
.live-schedule-card em{font-size:.875rem;color:#595b63}
.live-schedule-card i{font-size:1.25rem;color:var(--ink)}
.spaces{background:var(--paper);color:var(--ink)}
.spaces .kicker{color:#67676b}
.space-list{margin:0;display:grid;gap:2.5rem}
.space-card{display:grid;grid-template-columns:1.1fr 1fr;padding:0;min-height:0;border:0;overflow:hidden;--line:rgba(255,255,255,.2)}
.space-card:last-child{border:0}
.space-card--sinsa,.space-card--sinsa:hover{background:#172658;color:#fff;--accent:var(--blue);--muted:#c4cee3}
.space-card--seongsu,.space-card--seongsu:hover{background:#f6e8f0;color:#242125;--line:rgba(36,33,37,.18);--accent:#782869;--muted:#64505f}
.space-card--hannam,.space-card--hannam:hover{background:#242322;color:#fff;--accent:var(--gold-light);--muted:#d0c9be}
.space-card__photo{position:relative;align-self:stretch;margin:0;min-height:38rem;overflow:hidden}
.space-card__photo img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}
.space-card__photo figcaption{position:absolute;bottom:1.5rem;left:1.5rem;padding:.4rem .65rem;background:rgba(20,20,20,.65);color:white;font-size:.75rem;letter-spacing:.1em}
.space-card__content{padding:2.5rem;min-width:0}
.space-card__top{align-items:center;color:var(--accent);font-size:.75rem;letter-spacing:.08em}
.space-card__identity{gap:1rem}
.space-card__identity img{width:4rem;height:4rem;object-fit:contain;border-radius:0}
.space-card__identity b{font-size:.875rem}
.space-card__body{display:block;min-height:0;margin-top:2rem}
.space-card__body>div>p{color:var(--muted);font-size:.875rem;margin-bottom:.4rem}
.space-card h3{font-family:Georgia,serif;font-size:clamp(2.1rem,4vw,4rem);font-weight:400;line-height:1.2;letter-spacing:.005em;color:var(--accent)}
.space-card__description{font-size:1rem;color:var(--muted);margin:1.4rem 0 1.6rem;line-height:1.8}
.space-card__facts p{font-size:.875rem;padding:.45rem 0;color:var(--muted)}
.space-card__facts b{color:inherit;line-height:1.6}
.space-card__footer{margin-top:1.8rem;align-items:start;gap:1rem;flex-wrap:wrap}
.space-card__tags{color:var(--muted);font-size:.75rem;letter-spacing:.05em;text-align:left;max-width:15rem}
.space-card__booking{color:var(--accent);font-size:.875rem;white-space:nowrap}
.membership{background:#fff;color:var(--ink)}
.membership__heading>p{color:#626267}
.first-practice{background:var(--paper);color:var(--ink);border-top:2px solid var(--gold);--line:#d8d4cc;gap:3rem}
.first-practice:hover{box-shadow:none}
.first-practice h3{font-family:inherit;font-size:clamp(1.8rem,2.8vw,2.8rem);line-height:1.4;font-weight:400;letter-spacing:-.04em}
.first-practice .kicker,.first-practice__details>span{color:#79521e}
.first-practice dt,.first-practice__details>p:not(.first-practice__price){color:#606064}
.first-practice dl div{font-size:.875rem}
.ticket-card{min-height:20rem}
.ticket-card--featured{background:#1d294b;color:#fff}
.ticket-card__badge{border-radius:0;background:var(--blue);font-size:.75rem}
.ticket-card h3{font-family:inherit;font-size:1.5rem}
.ticket-card__price strong{font-size:clamp(1.5rem,2.3vw,2.6rem)}
.private-session h3{font-family:inherit;font-size:2rem;line-height:1.4}
.family-ticket-note,.ticket-card__note,.private-session__rates p{font-size:.875rem}
.guide{background:#f6f5f2;color:var(--ink);--line:#d4d3cf}
.guide .kicker,.guide__heading>p,.guide-steps p,.policy-grid p,.policy-note{color:#606064;font-size:1rem}
.guide-steps h3,.policy-grid h3{font-family:inherit;line-height:1.5}
.guide-steps li>span,.policy-grid>article>span{color:#79521e;font-size:.875rem}
.policy-grid b{color:var(--ink)}
.policy-note a{color:var(--navy)}
.philosophy{background:#172343;color:#fff}
.philosophy .kicker,.philosophy__marker{color:var(--blue)}
.philosophy__copy p{color:#cbd1df;font-size:1rem}
.philosophy blockquote{font-family:inherit;font-size:clamp(1.25rem,2vw,1.8rem);font-weight:300;color:#d6deee;line-height:1.7;margin-top:3.5rem}
.manifesto{background:#172343;border-top:1px solid #3e4964;padding:3rem 4vw 5rem}
.manifesto p{font-family:Georgia,serif;font-size:clamp(1.7rem,4.8vw,4.8rem);line-height:1.3;letter-spacing:-.035em}
.manifesto p:first-child{color:var(--blue)}.manifesto p:nth-child(2){color:var(--rose)}.manifesto p:nth-child(3){color:var(--gold-light)}
.visit{background:var(--paper);color:var(--ink);--line:#d6d1c8}
.visit .kicker{color:#77716a}
.visit__content>p{color:#5e5e62;font-size:1rem}
.visit .button--outline{border-color:var(--ink);background:var(--ink);color:var(--paper)}
.visit .button--outline:hover{background:var(--navy)}
.visit__all-links{color:var(--ink);font-size:.875rem}
.visit__booking-links a{background:transparent}
.visit__booking-links b{font-family:inherit;font-size:1rem}
.visit__booking-links span{color:#626268;font-size:.875rem}
.visit__booking-links a:nth-child(1){border-top:2px solid var(--blue)}.visit__booking-links a:nth-child(2){border-top:2px solid var(--rose)}.visit__booking-links a:nth-child(3){border-top:2px solid var(--gold)}
.site-footer{padding:4rem 4vw 2rem;background:var(--ink)}
.footer-wordmark{font-size:clamp(3rem,7vw,7rem);line-height:.87;letter-spacing:-.05em}
.site-footer__meta{grid-template-columns:1fr 2fr;letter-spacing:.03em;color:#b9b6af;line-height:1.9;font-size:.75rem;gap:1rem}
.mobile-menu{background:var(--paper);color:var(--ink);--line:#d4d0c8;overflow-y:auto;justify-content:start;padding-top:7rem}
.mobile-menu nav a{font-family:inherit;font-size:1.4rem;padding:.8rem 0}
.mobile-menu nav a span{font-size:.875rem;color:#666}
.mobile-menu>p{font-size:.75rem;margin-top:2rem}
@media(max-width:1100px){.section-heading{grid-template-columns:1fr 2fr}.section-heading>p:last-child{grid-column:2}.space-card__content{padding:2rem}.live-schedule-card{padding:1.2rem;grid-template-columns:auto 1fr}.live-schedule-card img{width:4rem;height:4rem}}
@media(max-width:960px){.section{padding:5rem 1.5rem}.section-heading,.schedule__heading,.spaces-intro,.membership__heading,.guide__heading{grid-template-columns:1fr;gap:1.5rem}.section-heading>p:last-child{grid-column:auto}.practice-finder{grid-template-columns:1fr}.practice-options{padding:0}.practice-result{padding:2rem;min-height:0}.live-schedule-grid{grid-template-columns:1fr}.live-schedule-card,.live-schedule-card:last-child{min-height:8rem;border:0;border-left:3px solid var(--accent);padding:1.5rem}.live-schedule-card img{width:4.5rem;height:4.5rem}.live-schedule-card b{font-size:1.75rem}.space-list{margin:0}.space-card{grid-template-columns:1fr}.space-card__photo{min-height:0;aspect-ratio:4/3}.space-card__content{padding:2rem}.space-card__body{min-height:0}.space-card h3{font-size:3rem}.space-card__facts p{padding:.7rem 0}.space-card__tags{max-width:none}.space-card__footer{flex-direction:row}.ticket-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ticket-card{min-height:19rem}.ticket-card__price strong{font-size:2rem}.first-practice{grid-template-columns:1fr;gap:2rem}.private-session{gap:2rem}.manifesto{padding:3rem 1.5rem}.site-footer{padding:3rem 1.5rem 2rem}}
@media(max-width:640px){.section{padding:4.5rem 1.25rem}.section-heading h2,.schedule__heading h2,.spaces-intro h2,.membership__heading h2,.guide__heading h2,.philosophy h2,.visit h2{font-size:2.1rem}.practice-result{padding:1.75rem 1.25rem}.practice-result__top{gap:1rem;flex-wrap:wrap}.practice-result h3{font-size:1.8rem}.space-card__content{padding:1.5rem}.space-card__top{letter-spacing:0;font-size:.75rem}.space-card h3{font-size:2.6rem}.space-card__facts p{gap:.8rem}.space-card__facts b{max-width:70%}.space-card__footer{flex-direction:column}.space-list{gap:1.5rem}.ticket-grid{grid-template-columns:1fr}.ticket-card{min-height:17rem;padding:1.5rem}.ticket-card__price strong{font-size:2.2rem}.first-practice{padding:1.5rem}.first-practice__price{gap:1rem}.first-practice dd{max-width:65%}.private-session__rates p{column-gap:1rem}.site-footer__meta{grid-template-columns:1fr}.mobile-action{background:var(--paper);border-color:#d4d0c8;color:var(--ink)}.mobile-action a{font-size:.875rem;border-color:#d4d0c8}.mobile-action a:last-child{background:var(--navy);color:#fff}.policy-grid h3{margin-top:1rem}.hero-space>img{height:15rem}.hero__foot{padding-bottom:1.5rem}.hero__actions .button{gap:1rem;font-size:.875rem}}
@media(prefers-reduced-motion:reduce){.hero-space:hover>img{transform:none}}
