:root{--ink:#29342f;--muted:#7e8881;--line:#dedfd5;--green:#294f3d;--bg:#f7f6f1;--gold:#e8d991}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;word-break:keep-all}h1,h2,h3,p,figure{margin:0}button,input,select{font:inherit}button{cursor:pointer;background:none;border:0;color:inherit}button:disabled{opacity:.4;cursor:not-allowed}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #a0b594;outline-offset:4px}[hidden]{display:none!important}.skip{position:absolute;top:-50px;background:white;padding:12px;z-index:99}.skip:focus{top:0}header{height:84px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 5vw}.brand{font-size:21px;font-weight:750;letter-spacing:-.5px}.brand span{display:block;font-size:9px;font-weight:400;letter-spacing:2px;color:var(--muted)}nav{display:flex;gap:25px;font-size:12px}main{max-width:1330px;margin:auto;padding:35px 4vw 35px}.intro{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;align-items:center;padding-bottom:37px;border-bottom:1px solid var(--line);margin-bottom:35px}.eyebrow{font-size:10px;letter-spacing:.16em;color:#7f8d7e;margin-bottom:16px}.intro h1{font-size:41px;font-weight:500;letter-spacing:-1.8px;line-height:1.35}.intro p:not(.eyebrow){font-size:13px;line-height:1.9;color:#6b786e;margin:16px 0 20px}.sample{font-size:10px;color:#84907e}.intro img{width:100%;height:290px;object-fit:cover;object-position:center 45%;display:block}.intro figcaption{font-size:10px;margin-top:8px;color:#81907d}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:32px;align-items:start}.schedule-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.schedule-head h2{font-size:23px;font-weight:550;letter-spacing:-.6px}.schedule-head span{font-size:11px;color:var(--muted)}.dates{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-bottom:20px}.dates button{border:1px solid #d6dcd0;background:#fffef9;border-radius:3px;padding:10px 3px;font-size:10px;color:#84917e;display:grid;gap:3px}.dates strong{font-size:20px;font-weight:550;color:#445740}.dates button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#bed0b7}.dates button[aria-pressed=true] strong{color:white}.filters{display:flex;gap:10px;margin-bottom:20px;align-items:center}.filters select{background:transparent;border:1px solid #c6cfbf;border-radius:3px;font-size:12px;padding:8px 28px 8px 10px;color:#5f7257;min-width:0}.filters span{margin-left:auto;font-size:11px;color:var(--muted)}.class-list{background:#fffefb;border:1px solid var(--line);border-radius:3px}.class-row{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:18px;align-items:center;padding:23px 22px;border-bottom:1px solid var(--line)}.class-row:last-child{border:0}.class-time strong{font-size:20px;font-weight:500;letter-spacing:-.4px}.class-time span{display:block;font-size:10px;color:#8b9487}.class-info h3{font-size:16px;font-weight:550;margin:5px 0}.class-info p{font-size:11px;color:#8b9588}.category{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#567447;border-bottom:1px solid #bed0ad}.category.yoga{color:#587770}.category.stretch{color:#a28b48}.level{font-size:10px;color:#7f8d74;margin-left:10px}.button{font-size:11px;border:1px solid #b8c7aa;border-radius:3px;padding:9px 13px;background:#fffefb;color:var(--green);font-weight:550;white-space:nowrap}.button:hover{background:#eef2e7}.button.primary{background:var(--green);color:white;border-color:var(--green)}.button.booked{background:#e6eddf;border-color:#bdcdb0;color:#627b51}.remaining{display:block;font-size:9px;color:#98a28f;text-align:center;margin-top:5px}.my-panel{position:sticky;top:20px;background:#edf0e6;padding:24px;border-top:3px solid var(--green)}.my-panel h2{font-size:17px;font-weight:550}.pass{display:flex;align-items:baseline;gap:8px;margin:18px 0 21px;padding-bottom:19px;border-bottom:1px solid #ccd8be}.pass strong{font-size:30px;font-weight:500}.pass span{font-size:10px;color:#829574}.pass small{margin-left:auto;font-size:10px;color:#829574}.bookings{list-style:none;padding:0;margin:0}.bookings li{padding:15px 0;border-bottom:1px solid #ccd8be}.bookings strong{font-size:13px;font-weight:550;display:block}.bookings p{font-size:10px;color:#839575;margin:4px 0 8px}.bookings button{font-size:10px;text-decoration:underline;color:#7a8e6b}.my-panel .hint{font-size:10px;color:#829573;margin-top:18px;line-height:1.9}.empty{padding:24px 0;font-size:12px;color:#86957a}.class-types{margin-top:28px;padding-top:23px;border-top:1px solid #d7ddce;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.class-types strong{font-size:12px;font-weight:550}.class-types p{font-size:11px;color:#8a9780;margin-top:7px;line-height:1.8}footer{margin-top:40px;border-top:1px solid var(--line);padding-top:23px;display:flex;justify-content:space-between;gap:20px;color:#8b9782;font-size:10px;line-height:1.9}footer button{text-decoration:underline;font-size:10px}dialog{width:min(500px,calc(100% - 26px));max-height:88dvh;padding:0;border:1px solid #cbd5bd;border-radius:5px;background:#fffefb;color:var(--ink);overflow:auto}dialog::backdrop{background:#22372877}.dialog-head{padding:20px 23px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.dialog-head h2{font-size:19px;font-weight:500}.dialog-head button{font-size:24px}.dialog-body{padding:24px}.dialog-body>p{font-size:13px;color:#71816b;margin-bottom:20px}.dialog-body dl{display:grid;grid-template-columns:80px 1fr;gap:10px;font-size:12px}.dialog-body dt{color:#8b987f}.dialog-body dd{margin:0}.dialog-body .hint{font-size:11px;color:#9aa48f;border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:17px 23px;border-top:1px solid var(--line)}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:calc(100% - 30px);padding:12px 18px;background:#2c503d;color:white;font-size:12px;border-radius:4px;z-index:100}.error{background:#f8e6db;color:#9b643f;padding:12px;font-size:12px;margin-bottom:20px}@media(max-width:900px){.workspace{grid-template-columns:minmax(0,1fr) 255px;gap:22px}.class-row{padding:20px 17px;gap:12px;grid-template-columns:65px minmax(0,1fr) auto}.intro h1{font-size:35px}.my-panel{padding:20px}}@media(max-width:700px){header{height:73px;padding:0 18px}.brand{font-size:17px}.brand span{font-size:8px}nav{gap:15px;font-size:10px}nav a:first-child{display:none}main{padding:28px 17px}.intro{gap:22px;grid-template-columns:1fr 1fr;padding-bottom:28px;margin-bottom:28px}.intro h1{font-size:27px;letter-spacing:-1.1px}.intro p:not(.eyebrow){font-size:11px;margin:12px 0;line-height:1.8}.intro img{height:240px;object-position:47% center}.intro figcaption{font-size:9px}.eyebrow{font-size:8px;letter-spacing:.08em;margin-bottom:12px}.sample{font-size:9px}.workspace{display:block}.my-panel{position:static;margin-top:28px}.schedule-head h2{font-size:21px}.schedule-head span{font-size:10px}.dates{gap:5px}.dates button{font-size:9px}.dates strong{font-size:19px}.filters{gap:7px}.filters select{max-width:42%;font-size:11px;padding:8px}.class-row{grid-template-columns:54px 1fr auto;padding:20px 14px;gap:12px}.class-time strong{font-size:18px}.class-time span{font-size:9px}.class-info h3{font-size:14px}.class-info p{font-size:10px}.button{font-size:10px;padding:8px 9px}.class-types{gap:13px}.class-types p{font-size:10px}.class-types strong{font-size:11px}footer{display:block}footer button{margin-top:14px}}@media(max-width:380px){.intro{grid-template-columns:1fr}.intro img{height:200px}.class-row{grid-template-columns:48px 1fr}.class-row>div:last-child{grid-column:2;display:flex;align-items:center;gap:10px}.remaining{margin:0}.class-types{grid-template-columns:1fr}.class-types p{margin-top:3px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
