@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap";:root{--ink:#292914;--green:#25442b;--red:#982a17;--cream:#fbf9ef;--line:#dcded1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--cream);color:var(--ink);margin:0;font-family:DM Sans,Arial,sans-serif;font-size:16px;line-height:1.6}button,input,select{font:inherit}a{color:inherit;text-underline-offset:5px}button,a,select,input,summary{-webkit-tap-highlight-color:transparent}button,summary,select{cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:5px;outline:3px solid #c76127}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:Instrument Serif,Georgia,serif;font-weight:400;line-height:1.04}h1{letter-spacing:-.025em;font-size:clamp(3rem,5.6vw,5.6rem)}h2{letter-spacing:-.02em;font-size:clamp(2.5rem,4vw,4.1rem)}h3{font-size:1.12rem;font-weight:500}.header{border-bottom:1px solid var(--line);background:var(--cream);align-items:center;gap:35px;height:104px;padding:20px 5%;display:flex}.brand{align-items:end;gap:9px;text-decoration:none;display:flex}.brand img{mix-blend-mode:multiply;width:158px}.brand span{letter-spacing:.14em;padding-bottom:3px;font-size:12px}.header nav{gap:32px;margin-left:auto;display:flex}.header nav a{font-size:.94rem;text-decoration:none}.header nav a:hover{text-decoration:underline}.header select{color:var(--ink);background:0 0;border:1px solid #9d9f8d;border-radius:0;padding:9px 12px;font-size:.88rem}.intro{grid-template-columns:1fr 1fr;min-height:480px;display:grid}.intro-copy{background:var(--red);color:#fffbdc;flex-direction:column;align-items:flex-start;padding:55px 10% 28px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.16em;margin-bottom:22px;font-size:.78rem;font-weight:600}.intro h1{max-width:620px}.lede{max-width:380px;margin:25px 0 26px;font-size:1.03rem;line-height:1.6}.intro-foot{letter-spacing:.16em;margin-top:38px;font-size:.69rem}.button{border:1px solid var(--green);background:var(--green);color:#fff;border-radius:3px;justify-content:center;align-items:center;min-height:48px;padding:12px 24px;font-size:.94rem;font-weight:500;text-decoration:none;display:inline-flex}.button:hover{background:#16351c}.button.light{color:var(--red);background:#fffbdc;border-color:#fffbdc}.button.outline{color:var(--green);background:0 0}.intro-photo{background:#29251c;min-height:440px;position:relative;overflow:hidden}.intro-photo img{object-fit:cover;object-position:center 45%;width:100%;height:100%;position:absolute}.intro-photo span{color:#fff;letter-spacing:.09em;text-shadow:0 1px 5px #000;font-size:.82rem;position:absolute;bottom:25px;left:30px}.section{padding:64px max(5%,50vw - 640px)}.section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:32px;display:flex}.section-heading .eyebrow{color:var(--red);margin-bottom:15px}.section-heading p:not(.eyebrow){color:#636550;margin-top:17px}.zone{white-space:nowrap;color:#636550;font-size:.82rem}.week-heading{justify-content:center;align-items:center;gap:24px;padding:14px 0 22px;font-size:.94rem;display:flex}.icon-button{border:1px solid var(--line);background:0 0;width:38px;height:38px;font-size:1.6rem;line-height:1}.days{border:1px solid var(--line);grid-template-columns:repeat(7,1fr);display:grid}.days button{border:0;border-right:1px solid var(--line);color:var(--ink);background:0 0;padding:14px 4px}.days button:last-child{border:0}.days button.active{background:var(--green);color:#fffbdc}.days span{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;display:block}.days strong{font-family:Instrument Serif,Georgia,serif;font-size:2rem;font-weight:400;line-height:1.3;display:block}.class-row{border-bottom:1px solid var(--line);align-items:center;gap:36px;padding:27px 20px;display:flex}.class-row time{font-variant-numeric:tabular-nums;width:72px;font-size:1.45rem;font-weight:500}.class-info{flex:1}.class-info p{color:#696b58;margin-top:5px;font-size:.86rem}.class-info span{padding:0 7px}.fine-note{color:#696b58;max-width:730px;margin-top:22px;font-size:.85rem}.empty{padding:35px 20px}.agenda{padding-bottom:20px}.reservations{padding-top:8px;padding-bottom:48px}.reservations>details{border-bottom:1px solid var(--line);padding:20px 0}.reservations summary{font-weight:500}.reservations details>p,.reservations details>.button{margin-top:20px}.my-row{border-top:1px solid var(--line);justify-content:space-between;gap:20px;margin-top:18px;padding:20px 0;display:flex}.my-row p{font-size:.86rem}.text-button{color:var(--red);background:0 0;border:0;text-decoration:underline}.practice{background:#edf0e4;grid-template-columns:1fr 1fr;align-items:center;gap:70px;padding-top:75px;padding-bottom:75px;display:grid}.practice h2{max-width:460px}.practice p:not(.eyebrow){max-width:510px;margin-top:25px}.practice .button{margin-top:30px}.practice img{object-fit:cover;width:100%;height:460px}.quote{background:var(--green);color:#fff6c8;text-align:center;padding:60px 10%}.quote p{max-width:950px;margin:auto;font-family:Instrument Serif,Georgia,serif;font-size:clamp(1.9rem,3vw,3rem);font-style:italic}.teacher{grid-template-columns:1fr 1fr;align-items:center;gap:80px;padding-top:90px;padding-bottom:90px;display:grid}.teacher>img{object-fit:cover;width:100%;height:550px}.teacher h2{margin-bottom:25px}.teacher p:not(.eyebrow){margin-bottom:20px}.teacher summary{color:var(--red);padding:8px 0}.teacher details p{margin-top:20px}.location{border-top:1px solid var(--line);grid-template-columns:1.4fr 1fr;gap:80px;display:grid}.location h2{max-width:520px}.location>div:nth-child(2){padding-top:30px}.instagram{margin-top:25px}.instagram small{color:#686954}footer{background:#e9ebdd;flex-wrap:wrap;align-items:center;gap:30px;padding:35px 5%;font-size:.8rem;display:flex}footer>span{letter-spacing:.09em;margin-right:auto}.footer-brand{letter-spacing:-.06em;font-family:Georgia,serif;font-size:2.4rem;text-decoration:none}.footer-brand i{letter-spacing:0;font-size:1.3rem}.modal-shade{z-index:30;background:#171d16aa;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}dialog{background:var(--cream);color:var(--ink);border:0;width:min(540px,100%);max-height:90vh;margin:auto;padding:45px;position:relative;overflow:auto;box-shadow:0 20px 90px #0004}dialog h2{margin-bottom:25px;font-size:2.7rem}dialog p{margin-bottom:15px}dialog .eyebrow{margin-top:10px}dialog .close{background:0 0;border:0;min-width:40px;min-height:40px;font-size:2rem;position:absolute;top:12px;right:16px}dialog label{margin-top:25px;display:block}dialog input{background:#fff;border:1px solid #9fa38f;width:100%;margin-top:7px;padding:12px;display:block}.selected-date{font-weight:600}.account{color:#636550;margin-top:8px;font-size:.86rem}.error{color:#a32419;padding:12px 0}.success-text{background:#e6eddf;padding:20px}.skip{z-index:100;background:#fff;padding:12px;position:fixed;top:-100px;left:20px}.skip:focus{top:10px}.teacher-heading{background:var(--green);color:var(--cream);padding:60px 5%}.teacher-heading h1{margin-bottom:20px;font-size:3.5rem}.teacher-heading a{margin-top:20px;display:inline-block}.restricted{min-height:50vh;padding:70px 5%}.restricted p{max-width:600px;margin-top:20px}.roster{min-width:210px}.roster summary{font-size:.9rem}.roster small{overflow-wrap:anywhere}.roster details p{margin-top:12px}@media (width>=1500px){.intro{min-height:550px}.intro-copy{padding-left:max(10%,50vw - 640px)}}@media (width<=850px){.header{flex-wrap:wrap;gap:16px;height:auto;min-height:90px;padding:20px 5%}.header nav{order:3;justify-content:center;gap:30px;width:100%;padding-top:7px}.header select{max-width:150px;margin-left:auto}.intro{min-height:0}.intro-copy{padding:35px 8% 25px}.intro h1{font-size:3.5rem}.intro-photo{min-height:450px}.intro-foot{margin-top:25px}.section-heading{display:block}.zone{margin-top:15px;display:block}.practice,.teacher{gap:35px}.practice img,.teacher>img{height:450px}.class-row{gap:20px;padding:24px 8px}.class-row .button{padding:12px 15px}.location{gap:30px}}@media (width<=600px){.brand img{width:128px}.brand span{font-size:10px}.header nav{gap:25px}.header nav a{font-size:.87rem}.intro{grid-template-columns:1fr}.intro-copy{padding:35px 6%}.intro h1{max-width:350px;font-size:3.65rem}.intro-photo{min-height:290px}.intro-photo img{object-position:50% 47%}.intro-foot{display:none}.section{padding:40px 6%}.agenda{padding-bottom:10px}.section h2{font-size:2.65rem}.days strong{font-size:1.7rem}.days span{font-size:.7rem}.class-row{grid-template-columns:62px 1fr;gap:14px 17px;display:grid}.class-row time{align-self:start;font-size:1.3rem}.class-row .button,.roster{grid-column:2;justify-self:start}.class-info p{font-size:.82rem}.class-info span{padding:0 3px}.week-heading{gap:14px;font-size:.85rem}.reservations{padding-top:0}.practice,.teacher,.location{grid-template-columns:1fr;gap:30px}.practice img{height:330px}.teacher>img{height:380px}.teacher{padding-top:50px}.quote{padding:40px 7%}.location>div:nth-child(2){padding:0}.my-row{display:block}.my-row button{margin-top:15px}footer{gap:15px 25px}footer>span{order:2;width:100%}dialog{padding:35px 24px}dialog h2{font-size:2.4rem}.teacher-heading h1{font-size:2.8rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
