@layer reset,base,components,utilities;@layer reset{*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body,h1,h2,h3,p,blockquote,figure,ol,ul{margin:0}ul,ol{padding:0}img{display:block;max-width:100%}button,input,textarea{font:inherit}}@layer base{:root{--ivory: #f5efdf;--paper: #fffaf0;--piano: #171411;--ink: #24201b;--muted: #6c6255;--gold: #c59a44;--gold-dark: #6f511b;--gold-light: #e4c67d;--line: rgba(36, 32, 27, .2);--font-display: Baskerville, "Baskerville Old Face", "Palatino Linotype", Georgia, serif;--font-body: Aptos, "Trebuchet MS", system-ui, sans-serif;--shell: min(100% - 2.5rem, 74rem);--space-section: clamp(5rem, 11vw, 9rem)}html{color:var(--ink);background:var(--ivory);font-family:var(--font-body);line-height:1.6}body{min-width:20rem;overflow-x:hidden}body::selection{color:var(--paper);background:var(--gold-dark)}a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.2em}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}h1,h2,h3,blockquote{font-family:var(--font-display);font-weight:400;line-height:.98;text-wrap:balance}h1{max-width:11ch;font-size:clamp(3.4rem,10vw,6rem);letter-spacing:-.04em}h2{max-width:12ch;font-size:clamp(2.9rem,7vw,5rem);letter-spacing:-.035em}h3{font-size:clamp(1.75rem,4vw,2.5rem)}section{scroll-margin-top:5.5rem}.section-shell{width:var(--shell);margin-inline:auto}.section-ivory{background:var(--ivory)}.section-paper{background:var(--paper)}.section-dark{color:var(--paper);background:var(--piano)}}@layer components{.skip-link{position:fixed;z-index:100;top:.75rem;left:.75rem;padding:.75rem 1rem;color:var(--paper);background:var(--piano);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{position:absolute;z-index:20;top:0;left:0;display:flex;width:100%;min-height:5rem;align-items:center;justify-content:space-between;gap:1rem;padding-inline:1.25rem;border-bottom:1px solid rgba(36,32,27,.14);color:var(--piano);background:#f5efdff5}.brand{display:inline-flex;align-items:center;gap:.75rem;font-family:var(--font-display);font-size:1.2rem;font-weight:700;text-decoration:none}.brand-logo{display:block;width:clamp(9rem,25vw,12.5rem);height:auto;object-fit:contain}.brand-mark{display:grid;width:2.25rem;aspect-ratio:1;place-items:center;border:1px solid currentColor;border-radius:50%;color:var(--gold-dark);font-size:1rem}.menu-button{display:inline-flex;min-height:2.75rem;align-items:center;gap:.65rem;border:0;color:inherit;background:transparent;cursor:pointer;flex:none}.menu-icon{display:grid;width:1.5rem;gap:.35rem}.menu-icon i{display:block;height:1px;background:currentColor;transition:transform .24s ease-out}[data-menu-open] .menu-icon i:first-child{transform:translateY(3px) rotate(45deg)}[data-menu-open] .menu-icon i:last-child{transform:translateY(-3px) rotate(-45deg)}.site-nav{position:absolute;top:4.4rem;right:1.25rem;left:1.25rem;display:flex;flex-direction:column;padding:1.5rem;border:1px solid rgba(255,250,240,.18);color:var(--paper);background:var(--piano);box-shadow:0 1rem 3rem #17141138}.js .site-nav:not([data-open]){display:none}.site-nav a{padding:.75rem 0;border-bottom:1px solid rgba(255,250,240,.16);text-decoration:none}.site-nav a:last-child{border-bottom:0}.hero{display:grid;width:100%;min-height:49rem;min-width:0;padding-top:5rem;background:var(--ivory)}.hero-copy{z-index:1;display:flex;width:min(calc(100% - 2.5rem),38rem);min-width:0;flex-direction:column;justify-content:center;margin-inline:auto;padding-block:4rem 3.5rem}.hero-intro{width:fit-content;margin-top:1.5rem;padding-bottom:.4rem;border-bottom:1px solid var(--gold);color:var(--gold-dark);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.hero-body{max-width:34rem;margin-top:1.75rem;color:#51493f;font-size:clamp(1.08rem,2vw,1.25rem)}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem 1.75rem;margin-top:2rem}.button{display:inline-flex;min-height:3.25rem;align-items:center;justify-content:center;padding:.85rem 1.35rem;border:1px solid transparent;font-size:.93rem;font-weight:700;text-decoration:none;transition:color .22s ease-out,background-color .22s ease-out,transform .22s ease-out}.button:hover{transform:translateY(-2px)}.button-primary{color:var(--paper);background:var(--piano)}.button-primary:hover{color:var(--piano);border-color:var(--piano);background:transparent}.button-gold{color:var(--piano);background:var(--gold-light)}.button-gold:hover{border-color:var(--gold-light);color:var(--gold-light);background:transparent}.text-link{font-weight:700}.text-link-light{color:var(--gold-light)}.hero-note{margin-top:3rem;color:var(--muted);font-size:.9rem}.hero-note span{margin-right:.5rem;color:var(--gold-dark);font-size:1.2rem}.hero-visual{position:relative;min-height:25rem;min-width:0;overflow:hidden;background:var(--piano)}.hero-visual:after{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(23,20,17,.6));content:""}.hero-visual img{width:100%;height:100%;object-fit:cover;filter:sepia(.25) contrast(1.08);animation:hero-reveal .9s cubic-bezier(.16,1,.3,1) both}.hero-monogram{position:absolute;z-index:2;right:1.25rem;bottom:1rem;display:flex;align-items:baseline;gap:.3rem;color:var(--paper);font-family:var(--font-display);font-size:clamp(2rem,9vw,4rem);line-height:1}.hero-monogram span:last-child{color:var(--gold-light);font-style:italic}@keyframes hero-reveal{0%{filter:sepia(.4) contrast(1.08) blur(8px);clip-path:inset(0 0 100% 0);transform:scale(1.035)}to{filter:sepia(.25) contrast(1.08) blur(0);clip-path:inset(0);transform:scale(1)}}.about{padding-block:var(--space-section)}.about-grid{display:grid;gap:3.5rem}.about h2{color:var(--gold-light)}.about blockquote{max-width:16ch;margin-top:2rem;font-size:clamp(2rem,6vw,3.6rem)}.about-copy{max-width:38rem;align-self:end}.about-copy p{margin-bottom:1.25rem;color:#ded5c6;font-size:1.08rem}.about-copy .text-link{display:inline-block;margin-top:1.25rem}.lessons{padding-block:var(--space-section)}.section-heading{display:grid;gap:1.5rem}.section-heading>p{max-width:38rem;color:var(--muted);font-size:1.08rem}.audience-list{margin-top:4rem;border-top:1px solid var(--line)}.audience{display:grid;gap:.75rem;padding-block:2rem;border-bottom:1px solid var(--line)}.audience-marker{color:var(--gold-dark);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.audience h3{font-size:clamp(2.4rem,6vw,4rem)}.audience>p:last-child{max-width:35rem;color:var(--muted)}.how{display:grid}.how-photo{position:relative;min-height:32rem;overflow:hidden;background:#302b26}.how-photo:after{position:absolute;inset:0;background:linear-gradient(0deg,rgba(23,20,17,.6),transparent 45%);content:""}.how-photo img{width:100%;height:100%;object-fit:cover;filter:sepia(.3) contrast(1.05)}.how-photo span{position:absolute;z-index:1;bottom:1.5rem;left:1.25rem;color:var(--paper);font-family:var(--font-display);font-size:1.25rem;font-style:italic}.how-content{padding:var(--space-section) max(1.25rem,calc((100vw - 74rem)/2))}.how-lead{max-width:37rem;margin-top:1.5rem;color:var(--muted);font-size:1.08rem}.steps{margin-top:3rem;list-style:none;counter-reset:lesson-step}.steps li{position:relative;padding:1.5rem 0 1.5rem 3.5rem;border-top:1px solid var(--line);counter-increment:lesson-step}.steps li:before{position:absolute;top:1.8rem;left:0;color:var(--gold-dark);content:counter(lesson-step,decimal-leading-zero);font-size:.8rem;font-weight:700}.steps h3{font-size:1.65rem}.steps p{max-width:35rem;margin-top:.6rem;color:var(--muted)}.modalities{display:grid;color:var(--paper);background:var(--gold-dark)}.modalities article{padding:3rem 1.25rem;border-bottom:1px solid rgba(255,250,240,.28)}.modalities article:last-child{border-bottom:0}.modalities h3{font-size:clamp(2.25rem,5vw,3.5rem)}.modalities p{max-width:34rem;margin-top:1rem;color:#f5ead0}.modalities strong{display:block;margin-top:1.5rem;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}.pricing{padding-block:var(--space-section)}.price-list{margin-top:4rem;border-top:1px solid rgba(255,250,240,.25)}.price{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:1.75rem;border-bottom:1px solid rgba(255,250,240,.25)}.price h3{color:var(--paper);font-size:clamp(1.65rem,4vw,2.4rem)}.price p{color:#cfc5b4}.price-featured h3:after{display:inline-block;margin-left:.75rem;color:var(--gold-light);content:"◆";font-size:.55em;vertical-align:middle}.price .price-value{flex:none;color:var(--gold-light);font-family:var(--font-display);font-size:clamp(2rem,6vw,3.25rem);font-variant-numeric:tabular-nums}.locations{position:relative;overflow:hidden;padding-block:var(--space-section);color:var(--piano);background:var(--gold-light)}.location-rings{position:absolute;top:50%;right:-13rem;width:32rem;aspect-ratio:1;transform:translateY(-50%)}.location-rings i{position:absolute;border:1px solid rgba(23,20,17,.25);border-radius:50%;inset:0}.location-rings i:nth-child(2){inset:18%}.location-rings i:nth-child(3){inset:36%}.locations-grid{position:relative;display:grid;gap:3rem}.locations-grid>div>p{max-width:38rem;margin-top:1.5rem}.locations ul{align-self:end;list-style:none}.locations li{display:flex;align-items:center;gap:.85rem;padding-block:.95rem;border-bottom:1px solid rgba(23,20,17,.28);font-family:var(--font-display);font-size:clamp(1.35rem,4vw,2rem)}.locations li span{color:var(--gold-dark);font-size:.6rem}.locations .zone-online{font-style:italic}.faq{padding-block:var(--space-section)}.faq-grid{display:grid;gap:3.5rem}.faq-title>p{max-width:27rem;margin-top:1.5rem;color:var(--muted)}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;min-height:4.75rem;align-items:center;justify-content:space-between;gap:1rem;padding-block:1rem;cursor:pointer;font-family:var(--font-display);font-size:1.35rem;font-weight:700;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary i{position:relative;width:1rem;height:1rem;flex:none}.faq-list summary i:before,.faq-list summary i:after{position:absolute;top:50%;left:0;width:100%;height:1px;background:var(--gold-dark);content:"";transition:transform .22s ease-out}.faq-list summary i:after{transform:rotate(90deg)}.faq-list details[open] summary i:after{transform:rotate(0)}.faq-list details>p{max-width:41rem;padding:0 2rem 1.5rem 0;color:var(--muted)}.contact{position:relative;overflow:hidden;padding-block:var(--space-section);color:var(--paper);background:var(--gold-dark)}.contact-staff{position:absolute;inset:1.5rem 0 auto;display:grid;gap:.45rem;opacity:.28}.contact-staff i{height:1px;background:var(--gold-light)}.contact-grid{position:relative;display:grid;gap:3.5rem}.contact h2{max-width:10ch}.contact-intro>p{max-width:36rem;margin-top:1.5rem;color:#f5ead0}.contact-links{margin-top:2rem}.contact-links>a{display:block;padding-block:1.5rem;border-top:1px solid rgba(255,250,240,.35);text-decoration:none}.contact-links>a:last-of-type{border-bottom:1px solid rgba(255,250,240,.35)}.contact-links span{display:block;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.contact-links strong{display:block;overflow-wrap:anywhere;font-family:var(--font-display);font-size:clamp(1.5rem,5vw,2.5rem);font-weight:400}.contact-links small{display:block;margin-top:1rem;color:#eadcbf}.contact-form{display:grid;align-content:start;gap:1.15rem}.contact-form>label:not(.contact-consent){display:grid;gap:.4rem}.contact-form label>span:first-child{font-size:.78rem;font-weight:700}.contact-form input:not([type=checkbox]),.contact-form textarea{width:100%;min-width:0;border:1px solid rgba(255,250,240,.55);border-radius:0;padding:.75rem .85rem;color:var(--paper);background:#17141129}.contact-form textarea{min-height:9rem;resize:vertical}.contact-form input:hover,.contact-form textarea:hover{border-color:var(--paper)}.contact-consent{display:flex;align-items:flex-start;gap:.7rem;color:#f5ead0;font-size:1rem}.contact-consent input{width:1.2rem;height:1.2rem;flex:0 0 auto;margin-top:.12rem;accent-color:var(--gold-light)}.contact-form .button{justify-self:start;cursor:pointer}.contact-form .button:disabled{cursor:wait;opacity:.65;transform:none}.contact-status{min-height:1.6em;color:#f5ead0}.contact-status[data-state=success],.contact-status[data-state=error]{color:var(--paper);font-weight:700}.contact-fallback{margin-top:-.65rem}.contact-fallback[hidden]{display:none}.site-footer{padding-block:2rem 1.5rem;color:var(--paper);background:var(--piano)}.footer-main{display:grid;gap:2.5rem}.footer-main>div>p{margin-top:1rem;color:#cfc5b4}.footer-main nav{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem}.footer-main nav a{color:#ded5c6;text-decoration:none}.footer-main nav a:hover,.site-nav a:hover{color:var(--gold-light)}.footer-meta{display:grid;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,250,240,.2);color:#a99f91;font-size:.78rem}.footer-meta details{max-width:48rem}.footer-meta summary{cursor:pointer}.footer-meta ul{margin-top:.75rem;padding-left:1rem}.footer-legal{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}.privacy-header{display:flex;width:var(--shell);min-height:6rem;align-items:center;justify-content:space-between;gap:1.5rem;margin-inline:auto;border-bottom:1px solid var(--line)}.privacy-page{padding-block:clamp(4rem,10vw,7rem)}.privacy-content{width:min(100% - 2.5rem,48rem);margin-inline:auto}.privacy-content h1{max-width:none;margin-top:.75rem}.privacy-kicker{color:var(--gold-dark);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.privacy-intro{max-width:42rem;margin-top:1.5rem;color:var(--muted);font-size:1.15rem}.privacy-content section{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line)}.privacy-content section h2{max-width:none;font-size:clamp(2rem,5vw,3rem)}.privacy-content section p{margin-top:1rem}@media(min-width:48rem){:root{--shell: min(100% - 5rem, 74rem)}.site-header{min-height:6rem;padding-inline:2.5rem}.hero{grid-template-columns:minmax(0,.9fr) minmax(26rem,1.1fr);min-height:52rem;padding-top:0}.hero-copy{width:min(calc(100% - 5rem),37rem);padding-top:8rem}.hero-visual{min-height:52rem}.hero-monogram{right:2.5rem;bottom:2rem}.about-grid,.section-heading,.locations-grid,.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(3rem,8vw,8rem)}.section-heading{align-items:center}.audience{grid-template-columns:minmax(13rem,1fr) minmax(10rem,.7fr) minmax(0,1.6fr);align-items:center;gap:clamp(2rem,4vw,4rem)}.audience-marker{grid-column:2}.audience h3{grid-column:1}.audience>p:last-child{grid-column:3}.how{grid-template-columns:minmax(20rem,.8fr) minmax(0,1.2fr)}.how-photo{min-height:53rem}.how-content{padding-left:clamp(3rem,7vw,7rem)}.modalities{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr))}.modalities article{padding:4rem clamp(2rem,5vw,5rem);border-right:1px solid rgba(255,250,240,.28);border-bottom:0}.modalities article:last-child{border-right:0}.price{padding-block:2rem}.faq-grid{grid-template-columns:minmax(15rem,.75fr) minmax(0,1.25fr);gap:clamp(3rem,8vw,8rem)}.faq-title{position:sticky;top:2rem;align-self:start}.footer-main,.footer-meta{grid-template-columns:1fr auto;align-items:end}}@media(min-width:68rem){.menu-button{display:none}.site-nav,.js .site-nav:not([data-open]){position:static;display:flex;flex-direction:row;align-items:center;gap:1.5rem;padding:0;border:0;color:var(--piano);background:transparent;box-shadow:none}.site-nav a{padding:.4rem 0;border-bottom:1px solid transparent;font-size:1rem}.site-nav a:hover{border-color:var(--gold-dark);color:var(--gold-dark)}}}@layer utilities{@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}}
