:root{--paper:#f8f6ef;--sand:#ead9ad;--sand-light:#f1e7cd;--ink:#213a34;--green:#31584d;--green-dark:#1f4038;--water:#79a3a2;--water-light:#c4d9d6;--white:#fffef9;--line:#213a342e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Avenir Next,Avenir,Helvetica Neue,Arial,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}a:focus-visible,summary:focus-visible{outline:2px solid var(--water);outline-offset:5px}.site-header{z-index:5;grid-template-columns:1fr auto 1fr;align-items:center;max-width:1320px;height:86px;margin:0 auto;padding:0 34px;display:grid;position:relative}.brand{flex-direction:column;width:max-content;display:inline-flex}.brand span{letter-spacing:.28em;font-size:1.25rem;font-weight:650}.brand i{background:var(--water);border-radius:50%;width:29px;height:3px;margin:5px 0 0 28px}.site-header nav{gap:35px;display:flex}.site-header nav a{font-weight:600}.header-cta,.site-header nav a{letter-spacing:.08em;font-size:.82rem}.header-cta{border-bottom:1px solid var(--ink);justify-self:end;padding-bottom:4px;font-weight:650}.hero{grid-template-columns:minmax(0,1fr) minmax(460px,.9fr);min-height:690px;padding:76px max(34px,50vw - 625px) 115px;display:grid;overflow:hidden}.hero,.hero-copy{position:relative}.hero-copy{z-index:2;align-self:center;max-width:670px;padding-right:54px}.eyebrow,.section-kicker{letter-spacing:.19em;text-transform:uppercase;margin:0 0 24px;font-size:.72rem;font-weight:700}.hero h1{letter-spacing:-.055em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.9rem,6.35vw,6.7rem);font-weight:400;line-height:.93}.hero h1 em{color:var(--water);font-weight:400}.hero-lead{max-width:580px;margin:34px 0 0;font-size:1.08rem;line-height:1.75}.hero-actions{align-items:center;gap:30px;margin-top:34px;display:flex}.button{letter-spacing:.04em;border-radius:100px;justify-content:center;align-items:center;gap:13px;min-height:52px;padding:0 23px;font-size:.82rem;font-weight:700;transition:transform .2s,background .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--green-dark);color:var(--white)}.button-primary:hover{background:var(--green)}.text-link{border-bottom:1px solid var(--line);padding-bottom:4px;font-size:.86rem;font-weight:650}.hero-visual{min-height:510px;position:relative}.hero-image-wrap{border-radius:49% 49% 10px 10px;height:100%;position:relative;overflow:hidden}.hero-image-wrap img{object-fit:cover;object-position:50% 46%;width:100%;height:100%}.hero-image-wrap:after{content:"";background:linear-gradient(150deg,#ead9ad1f,#31584d1f);position:absolute;inset:0}.hero-wave{fill:none;height:120px;stroke:var(--water);stroke-width:1.2px;width:100%;position:absolute;bottom:5px;left:0}.intro{text-align:center;max-width:910px;margin:0 auto;padding:118px 34px 105px}.about h2,.classes h2,.contact h2,.faq h2,.intro h2,.practice h2,.workshops h2{letter-spacing:-.045em;margin:0;font-family:Georgia,serif;font-size:clamp(2.65rem,5vw,4.9rem);font-weight:400;line-height:1}.intro-text{max-width:850px;margin:36px auto 0;font-family:Georgia,serif;font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.48}.quality-row{border-bottom:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:60px;display:grid}.quality-row span{letter-spacing:.08em;text-transform:uppercase;padding:20px 10px;font-size:.76rem;font-weight:700}.quality-row span+span{border-left:1px solid var(--line)}.classes{background:var(--green-dark);color:var(--white);padding:105px max(34px,50vw - 590px)}.classes-heading{grid-template-columns:1.2fr .8fr;grid-gap:0 70px;gap:0 70px;display:grid}.classes-heading .section-kicker{color:var(--water-light);grid-column:1/-1}.classes-heading p:last-child{color:#ffffffbd;align-self:end;max-width:410px;margin:0 0 5px;line-height:1.7}.schedule-card{border-top:1px solid #ffffff40;border-bottom:1px solid #ffffff40;grid-template-columns:105px 1fr 1fr auto;align-items:center;grid-gap:28px;gap:28px;margin-top:66px;padding:34px 0;display:grid}.schedule-day{border:1px solid var(--water-light);letter-spacing:.12em;border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;font-family:Georgia,serif;font-size:1.1rem;display:flex}.schedule-times{flex-direction:column;gap:12px;display:flex}.schedule-location,.schedule-times div{align-items:center;gap:12px;display:flex}.schedule-times span{font-family:Georgia,serif;font-size:1.45rem}.schedule-location{line-height:1.45}.button-light{background:var(--sand);color:var(--green-dark)}.practice{grid-template-columns:minmax(340px,.82fr) 1fr;grid-gap:clamp(55px,8vw,120px);gap:clamp(55px,8vw,120px);max-width:1180px;margin:0 auto;padding:125px 34px;display:grid}.practice-image{min-height:650px;position:relative;overflow:hidden}.practice-image:after{content:"";background:linear-gradient(#0000 55%,#1f4038a6);position:absolute;inset:0}.practice-image img{filter:saturate(.7);object-fit:cover;width:100%;height:100%}.practice-image span{color:var(--white);z-index:2;font-family:Georgia,serif;font-size:1.15rem;font-style:italic;position:absolute;bottom:30px;left:30px}.practice-copy{align-self:center;max-width:600px}.practice-copy>p:not(.section-kicker){margin:34px 0;font-size:1.05rem;line-height:1.8}.practice-copy ul{grid-gap:17px;gap:17px;margin:0 0 42px;padding:0;list-style:none;display:grid}.practice-copy li{border-bottom:1px solid var(--line);align-items:center;gap:13px;padding-bottom:16px;display:flex}.practice-copy li svg{color:var(--water);flex:none}.workshops{background:var(--sand-light);padding:125px max(34px,50vw - 590px);position:relative;overflow:hidden}.workshop-wave{fill:none;opacity:.6;height:130px;stroke:var(--water);stroke-width:1.25px;width:100%;position:absolute;top:24px;left:0}.workshop-intro{text-align:right;z-index:2;max-width:835px;margin-left:auto;position:relative}.workshop-intro>p:last-child{max-width:600px;margin:30px 0 0 auto;line-height:1.75}.event-card{background:var(--white);grid-template-columns:130px 1fr .8fr;grid-gap:44px;gap:44px;margin-top:70px;padding:44px;display:grid;position:relative}.event-date{border-right:1px solid var(--line);flex-direction:column;justify-content:center;align-items:center;padding-right:42px;display:flex}.event-date>span{font-family:Georgia,serif;font-size:4.4rem;line-height:1}.event-date strong{letter-spacing:.15em;text-align:center;margin-top:8px;font-size:.72rem;line-height:1.45}.event-copy>p:first-child{color:var(--water);letter-spacing:.18em;text-transform:uppercase;margin:0 0 17px;font-size:.67rem;font-weight:800}.event-copy h3{letter-spacing:-.03em;margin:0;font-family:Georgia,serif;font-size:clamp(2.1rem,4vw,3.55rem);font-weight:400;line-height:1.02}.event-copy>p:last-child{max-width:540px;margin:22px 0 0;line-height:1.7}.event-meta{border-left:1px solid var(--line);align-content:center;grid-gap:18px;gap:18px;padding-left:38px;display:grid}.event-meta>div{align-items:center;gap:12px;font-size:.88rem;display:flex}.event-meta .button{width:max-content;margin-top:12px}.about{grid-template-columns:1fr .8fr;max-width:1180px;margin:0 auto;padding:130px 34px;display:grid}.about-copy{align-self:center;max-width:610px;padding-right:80px}.about-lead{font-family:Georgia,serif;font-size:1.45rem;line-height:1.5!important}.about-copy>p:not(.section-kicker){margin:30px 0;line-height:1.8}.about blockquote{border-left:2px solid var(--water);margin:36px 0 0;padding-left:25px;font-family:Georgia,serif;font-size:1.2rem;font-style:italic;line-height:1.55}.about-education{border-top:1px solid var(--line);margin-top:34px;padding-top:28px}.about-education-title{letter-spacing:.14em;text-transform:uppercase;margin:0 0 14px;font-size:.72rem;font-weight:700}.about-education p{margin:0 0 8px;font-size:.98rem;line-height:1.7;font-weight:400;font-style:normal}.about-education p:last-child{margin-bottom:0}.upcoming-holds{margin-top:52px}.upcoming-kicker{color:var(--water-light);letter-spacing:.18em;text-transform:uppercase;margin:0 0 22px;font-size:.72rem;font-weight:700}.upcoming-list{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px;display:grid}.upcoming-card{border:1px solid #ffffff40;padding:26px 24px}.upcoming-label{color:var(--water-light);letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;font-size:.67rem;font-weight:700}.upcoming-card h3{margin:0;font-family:Georgia,serif;font-size:1.55rem;font-weight:400;line-height:1.2}.upcoming-meta{align-items:center;gap:10px;margin:14px 0 0;font-size:.92rem;display:flex}.upcoming-note{color:#ffffffbd;margin:14px 0 0;font-size:.9rem;line-height:1.55}.about-image-wrap{min-height:670px;position:relative}.about-image-wrap img{filter:saturate(.75);object-fit:cover;z-index:1;border-radius:48% 48% 0 0;width:100%;height:100%;position:relative}.ripple{width:210px;height:210px;position:absolute;top:-70px;right:-65px}.ripple i{border:1px solid var(--water);border-radius:50%;position:absolute;inset:0}.ripple i:nth-child(2){inset:27px}.ripple i:nth-child(3){inset:55px}.faq{grid-template-columns:.8fr 1.2fr;grid-gap:70px;gap:70px;max-width:1180px;margin:0 auto;padding:115px 34px;display:grid}.faq,.faq-list{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line);padding:25px 0}.faq summary{cursor:pointer;padding-right:40px;font-family:Georgia,serif;font-size:1.25rem;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:Arial,sans-serif;font-size:1.3rem;font-weight:300;position:absolute;top:-2px;right:3px}.faq details[open] summary:after{content:"\2212"}.faq details p{margin:18px 50px 0 0;line-height:1.7}.contact{background:var(--water);color:var(--green-dark);grid-template-columns:1.2fr .8fr;grid-gap:80px;gap:80px;padding:110px max(34px,50vw - 590px);display:grid}.contact h2 em{color:var(--white);font-weight:400}.contact-details{border-left:1px solid #1f40384d;align-self:end;grid-gap:18px;gap:18px;padding-left:45px;display:grid}.contact-details>p{max-width:440px;margin:0 0 12px;line-height:1.7}.contact-details a{align-items:center;gap:13px;width:max-content;font-family:Georgia,serif;font-size:1.1rem;display:flex}footer{background:var(--green-dark);letter-spacing:.06em;grid-template-columns:1fr auto 1fr;align-items:center;padding:42px max(24px,50vw - 590px);font-size:.74rem;display:grid}.brand-footer,footer{color:var(--white)}footer p{margin:0}footer p:last-child{justify-self:end}@media (max-width:820px){.site-header{grid-template-columns:1fr auto;height:74px;padding:0 20px}.site-header nav{display:none}.hero{flex-direction:column;min-height:auto;padding:48px 20px 100px;display:flex}.hero-copy{padding:0}.hero h1{font-size:clamp(3.35rem,16vw,5.3rem)}.hero-lead{font-size:1rem}.hero-actions{flex-direction:column;align-items:flex-start;gap:20px}.hero-visual{min-height:430px;margin-top:55px}.hero-image-wrap{border-radius:48% 48% 8px 8px}.hero-wave{bottom:-1px}.intro{padding:90px 20px 85px}.quality-row{grid-template-columns:1fr}.quality-row span+span{border-left:0;border-top:1px solid var(--line)}.classes{padding:84px 20px}.classes-heading{display:block}.classes-heading p:last-child{margin-top:28px}.schedule-card{grid-template-columns:82px 1fr;align-items:start}.schedule-times{padding-top:4px}.schedule-card .button,.schedule-location{grid-column:1/-1}.upcoming-list{grid-template-columns:1fr}.practice{flex-direction:column-reverse;gap:50px;padding:88px 20px;display:flex}.practice-image{min-height:540px}.workshops{padding:90px 20px}.workshop-intro{text-align:left}.event-card{grid-template-columns:1fr;gap:30px;padding:28px 23px}.event-date{border-bottom:1px solid var(--line);border-right:0;flex-direction:row;justify-content:flex-start;align-items:flex-end;gap:13px;padding:0 0 25px}.event-date>span{font-size:3.7rem}.event-meta{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}.about{flex-direction:column;gap:60px;padding:90px 20px;display:flex;overflow:hidden}.about-copy{padding:0}.about-image-wrap{min-height:560px}.ripple{top:-45px;right:-60px}.faq{padding:85px 20px;display:block}.faq-list{margin-top:50px}.contact{padding:85px 20px;display:block}.contact-details{border-top:1px solid #1f40384d;border-left:0;margin-top:48px;padding:35px 0 0}.contact-details a{font-size:.96rem}footer{text-align:left;grid-template-columns:1fr;gap:26px}footer p:last-child{justify-self:start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}