:root{--paper:#f6f3ed;--ink:#203f3c;--muted:#53635e;--line:#d6d9ce;--sand:#e9decc;--green:#dfe5dc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,.brand{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(3.4rem,5.7vw,6.3rem);margin:25px 0}h2{font-size:clamp(2.5rem,4.2vw,4.6rem);margin:18px 0 30px}h3{font-size:2.4rem;margin:20px 0}em{font-weight:400}p{margin:0 0 22px}a,button,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #b06b36;outline-offset:6px}.wrap{width:min(1200px,88%);margin:auto}.eyebrow,.number{font-size:11px;font-weight:600;letter-spacing:.16em;line-height:1.5}.header{position:sticky;top:0;z-index:10;background:rgba(246,243,237,.97);display:flex;align-items:center;justify-content:space-between;gap:30px;padding:25px 5%;border-bottom:1px solid var(--line)}.brand{font-size:29px;white-space:nowrap}.brand span{display:block;font:9px Arial,sans-serif;letter-spacing:.23em;margin-top:10px}.header nav{display:flex;align-items:center;gap:29px;font-size:13px}.header nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:6px}.nav-contact{border-bottom:1px solid;padding:9px 0}.menu-toggle{display:none}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:12px}.skip:focus{top:15px}.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;max-width:1600px;margin:auto;padding:55px 5% 60px;gap:30px;align-items:center}.hero-copy{padding:35px 0}.intro{font-size:18px;max-width:470px;line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--ink);color:var(--paper);padding:15px 25px;font-size:13px;border:1px solid var(--ink);transition:background .2s}.button:hover{background:#38615b}.hero-note{font-size:12px;color:var(--muted);margin:38px 0 0;padding-left:18px;border-left:1px solid var(--muted)}.hero-photo{margin:0;position:relative;height:580px}.hero-photo img{height:100%;width:100%;object-position:35% center;border-radius:48% 48% 0 0}.hero-photo figcaption{position:absolute;bottom:20px;left:25px;color:#fff;font-size:9px;letter-spacing:.2em}.hero-index{position:absolute;bottom:20px;right:5%;font-size:10px;letter-spacing:.13em}.statement{text-align:center;padding:100px 0 90px;border-top:1px solid var(--line)}.statement p:last-child{max-width:620px;margin:auto;color:var(--muted)}.practices{padding-bottom:110px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px}.practices .section-heading{display:block}.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.practice-card{display:block;background:var(--green);padding:44px;transition:transform .2s}.practice-card:hover{transform:translateY(-4px)}.practice-card.warm{background:var(--sand)}.practice-card h3{font-size:46px}.practice-card p{max-width:390px}.text-link{font-size:13px;border-bottom:1px solid;padding-bottom:8px;display:inline-block}.feature{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper)}.feature-photo{min-height:760px}.feature-photo img{width:100%;height:100%;object-position:50% center}.feature-copy{padding:75px 12% 75px 10%}.feature-copy h2{font-size:clamp(2.5rem,3.8vw,4rem)}.feature-copy>p{font-size:15px;color:#e3e6dd}.detail-list{margin:30px 0}.detail-list>div{border-top:1px solid #607771;padding:17px 0;display:grid;grid-template-columns:100px 1fr;gap:20px}.detail-list span{font-size:10px;letter-spacing:.08em;padding-top:4px}.detail-list p{font-size:13px;margin:0}.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.light:hover{background:var(--sand)}.source-link{display:block;font-size:11px;text-decoration:underline;margin-top:22px;color:#d1dcd3}.bachata{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding:120px 0}.format{display:flex;gap:25px;border-top:1px solid var(--line);padding:25px 0}.format>span{font-size:11px;padding-top:8px}.format h3{font-size:27px;margin:0 0 12px}.format p{font-size:14px;margin:0;color:var(--muted)}.about{display:grid;grid-template-columns:.85fr 1fr;gap:100px;padding-bottom:120px;align-items:center}.about-photo{position:relative;height:700px;margin-right:30px}.about-photo img{width:100%;height:100%;object-position:center 38%}.photo-label{position:absolute;bottom:30px;right:-30px;background:var(--sand);padding:22px 30px;font:24px Georgia,serif}.photo-label em{font:11px Arial,sans-serif;letter-spacing:.02em}.about p{font-size:15px}.timeline{padding-left:20px;font-size:13px}.timeline li{padding:10px 0}.timeline b{display:block}.workshops{background:#e6e9e0;padding:90px 0}.workshops .section-heading>p{max-width:330px}.workshop-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin:30px 0}.workshop-grid article{border-top:1px solid #aeb9ad;padding-top:30px}.workshop-grid h3{font-size:32px}.formats{font-size:12px;font-weight:600}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding:110px 0}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;list-style:none;padding:22px 0;font-size:14px}summary::-webkit-details-marker{display:none}summary span{font-size:22px}details[open] summary span{transform:rotate(45deg)}details>p{font-size:14px;color:var(--muted);padding-right:25px}.contact{background:var(--ink);color:var(--paper);text-align:center;padding:90px 0}.contact h2{font-size:clamp(4rem,7vw,7.5rem)}.contact p{color:#e0e6df}.contact-note{margin:27px 0 0;font-size:12px}.footer{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:45px 0}.footer>p{text-align:right;font-size:12px}.footer>div{grid-column:1/-1;display:flex;gap:25px;align-items:center;font-size:11px}.footer>div>span{margin-left:auto}.privacy-toggle{border:0;padding:0;background:none;cursor:pointer;color:inherit;font-size:11px}.footer #privacy{display:block;max-width:700px}.footer #privacy[hidden]{display:none}.footer #privacy p{margin:0}.menu-toggle{border:1px solid var(--line);background:transparent;color:var(--ink);padding:8px 12px;font-size:13px}section[id]{scroll-margin-top:10px}@media(min-width:1550px){.hero-photo{height:680px}}@media(max-width:1050px){.header nav{gap:16px}.brand{font-size:24px}.hero-photo{height:500px}.feature-copy{padding:50px 8%}.about{gap:50px}.bachata{gap:50px}}@media(max-width:800px){html{scroll-padding-top:95px}.header{padding:19px 6%;flex-wrap:wrap;gap:16px}.menu-toggle{display:block}.header nav{width:100%;flex-direction:column;align-items:stretch;gap:0}.header nav a{padding:12px 0}.header.js-menu nav:not(.is-open){display:none}.hero{grid-template-columns:1fr;padding:35px 6% 55px;gap:30px}.hero-copy{padding:0}.hero h1{font-size:clamp(3.1rem,9vw,5rem)}.hero-photo{height:430px}.hero-photo img{border-radius:45% 45% 0 0;object-position:35% center}.hero-note{margin-top:24px}.hero-index{bottom:15px}.statement{padding:65px 0}.practice-grid,.feature,.bachata,.about,.workshop-grid,.faq{grid-template-columns:1fr}.practice-card{padding:30px}.practice-card h3{font-size:38px}.practices{padding-bottom:65px}.feature-photo{min-height:0;height:380px}.feature-copy{padding:50px 6%}.bachata{padding:65px 0;gap:25px}.about{gap:40px;padding-bottom:65px}.about-photo{height:520px;max-width:440px;margin-right:20px}.photo-label{right:-20px}.section-heading{display:block}.workshops{padding:65px 0}.workshop-grid{gap:25px}.workshops .section-heading>p{max-width:none}.faq{gap:10px;padding:65px 0}.contact{padding:65px 0}.footer{grid-template-columns:1fr;gap:20px}.footer>p{text-align:left;margin:0}.footer>div{flex-wrap:wrap;gap:20px}.footer>div>span{margin-left:0}.detail-list>div{grid-template-columns:80px 1fr;gap:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Weekly classes and confirmed contact details */
.header nav{gap:19px}.schedule-section{background:var(--sand);padding:85px 0}.schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:35px 0}.schedule-day{padding:30px;background:var(--paper)}.schedule-day h3{margin:0 0 8px;font-size:34px}.venue-name{font-size:13px;color:var(--muted)}.schedule-day ul{padding:0;margin:0;list-style:none}.schedule-day li{border-top:1px solid var(--line);padding:18px 0;display:grid;grid-template-columns:145px 1fr;gap:15px}.schedule-day time{font-size:13px}.schedule-day strong,.schedule-day span{display:block;font-size:14px}.schedule-day span{font-size:12px;color:var(--muted)}.schedule-note{font-size:13px;max-width:720px}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;border-top:1px solid #b5b7a8;padding-top:30px;margin:40px 0 15px}.price-grid h3{font-size:52px;margin:15px 0}.price-grid h3 span{font:16px Arial,sans-serif;letter-spacing:0}.price-grid article>p:last-child{font-size:13px}.therapy{padding:90px 0}.therapy>p:not(.eyebrow){max-width:720px}.contact-email{margin:30px auto;max-width:530px;border-top:1px solid #607771;border-bottom:1px solid #607771;padding:25px}.contact-email>p{font:28px Georgia,serif;margin:12px 0}.contact-email>span:last-child{font-size:13px;display:block}.contact-options{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}.footer .legal-info{display:block;font-size:12px;border-top:1px solid var(--line);padding-top:20px}.legal-info a,.faq details a{text-decoration:underline;text-underline-offset:3px}@media(min-width:801px) and (max-width:1150px){.header{padding-left:3%;padding-right:3%;gap:15px}.header nav{gap:12px;font-size:11px}.header .brand{font-size:22px}}@media(max-width:800px){.header nav{gap:0}.schedule-section{padding:60px 0}.schedule-grid{grid-template-columns:1fr}.schedule-day{padding:25px}.price-grid{grid-template-columns:1fr;gap:15px}.price-grid article{border-bottom:1px solid #b5b7a8;padding-bottom:10px}.schedule-day li{grid-template-columns:1fr;gap:5px}.therapy{padding:65px 0}.therapy h2{overflow-wrap:anywhere}.contact-options .button{font-size:12px;padding:15px}.contact-email{padding:25px 10px}}
/* Separate pages: personal introduction, full portrait and open layouts. */
.header{background:var(--paper)}.header nav a[aria-current="page"],.practice-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:7px;font-weight:600}.home-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center;padding:55px 0 80px}.home-copy{max-width:610px}.home-copy h1{font-size:clamp(3.6rem,6.8vw,6.5rem)}.home-copy>p:not(.eyebrow){max-width:490px}.home-portrait{margin:0;display:flex;flex-direction:column;align-items:center}.home-portrait img{width:auto;height:auto;max-height:640px;max-width:100%;object-fit:contain;border-radius:150px 150px 18px 18px}.home-portrait figcaption{font-size:10px;letter-spacing:.05em;margin-top:15px}.home-actions{display:flex;flex-wrap:wrap;align-items:center;gap:25px;margin-top:30px}.button{border-radius:999px}.story{display:grid;grid-template-columns:1fr 1fr;gap:90px;border-top:1px solid var(--line);padding:85px 0}.story-image{width:100%;height:auto;border-radius:8px;margin-top:40px}.story>div>p{font-size:15px}.home-paths{padding:20px 0 90px}.home-paths a{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:23px 0;font:clamp(1.3rem,2.5vw,2rem) Georgia,serif}.home-paths a:hover{color:#50766a}.practice-nav{display:flex;gap:30px;flex-wrap:wrap;padding:23px 0;font-size:12px;border-bottom:1px solid var(--line)}.practice-nav a{padding:5px 0}.practices{padding-top:65px}.practice-card,.practice-card.warm{background:none;padding:30px 0;border-top:1px solid var(--line)}.practice-card:hover{transform:none}.practice-grid{gap:65px}.additional-practices{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:30px}.additional-practices>a{border-top:1px solid var(--line);padding-top:28px}.additional-practices h2{font-size:30px;letter-spacing:-.025em}.additional-practices p{font-size:14px}.feature{background:var(--paper);color:var(--ink);padding:60px 6%;gap:60px;align-items:start}.feature-photo{min-height:0;position:sticky;top:145px}.feature-photo img{height:auto;width:100%;object-fit:contain;border-radius:48% 48% 12px 12px}.feature-copy{padding:0}.feature-copy>p{color:var(--muted)}.feature h1{font-size:clamp(2.9rem,4.6vw,4.6rem);margin-top:18px}.feature .detail-list>div{border-color:var(--line)}.feature .button{background:var(--ink);color:var(--paper);border-color:var(--ink)}.feature .source-link{color:var(--muted)}.bachata{padding:70px 0;gap:75px}.bachata h1{font-size:clamp(2.9rem,4.8vw,4.8rem);margin-top:20px}.page-next{border-top:1px solid var(--line);padding:35px 0 70px}.page-next p{font-size:14px}.schedule-section{background:var(--paper);padding:65px 0 85px}.schedule-section h1{font-size:clamp(3rem,5.5vw,5rem)}.schedule-grid{display:block;margin-top:45px}.schedule-day{background:none;padding:28px 0;display:grid;grid-template-columns:180px 210px 1fr;gap:25px;align-items:start;border-top:1px solid var(--line)}.schedule-day h3{font-size:30px}.schedule-day>.venue-name{padding-top:5px}.schedule-day li{grid-template-columns:155px 1fr;padding:0 0 16px;border-top:0}.schedule-day li+li{padding-top:16px;border-top:1px solid var(--line)}.schedule-day li:last-child{padding-bottom:0}.price-grid{padding:35px 0;border-bottom:1px solid var(--line)}.workshops{background:var(--paper);padding:65px 0 90px}.workshops h1{font-size:clamp(3rem,5.5vw,5rem)}.workshop-grid{margin:45px 0}.therapy h1{font-size:clamp(2.6rem,5.5vw,5rem);overflow-wrap:break-word}.therapy{min-height:65vh;padding:70px 0 95px}.faq{padding:70px 0 100px}.faq h1{font-size:clamp(3rem,5vw,5rem);margin-top:20px}.contact{padding:65px 0 85px}.contact h1{font-size:clamp(3.8rem,7vw,6.5rem);margin:25px 0}.contact-email{border:0;padding:10px}.contact-options{gap:20px}.contact-options .button{text-align:left;gap:16px;min-width:265px;padding:18px 26px;border-radius:20px}.contact-options small{font-size:12px;line-height:2}.contact-icon{width:30px;height:30px;flex-shrink:0}.document-page{padding:65px 0 100px;min-height:65vh}.document-page h1{font-size:clamp(2.5rem,5vw,4.5rem);overflow-wrap:anywhere}.document-page>p{max-width:740px}.footer{border-top:1px solid var(--line)}.footer-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px 25px;font-size:12px}.footer a:hover{text-decoration:underline;text-underline-offset:5px}.footer .footer-bottom{display:flex;justify-content:space-between;font-size:11px}.footer .footer-bottom>span{margin:0}
@media(max-width:1050px){.home-intro{gap:40px;grid-template-columns:1.2fr .8fr}.home-portrait img{max-height:580px}.schedule-day{grid-template-columns:135px 165px 1fr;gap:20px}.feature{gap:35px}.story{gap:45px}.bachata{gap:35px}}
@media(max-width:800px){.home-intro{grid-template-columns:1fr;gap:35px;padding:35px 0 60px}.home-copy h1{font-size:clamp(3.3rem,12vw,5rem)}.home-portrait{justify-self:center;width:100%;max-width:360px}.home-portrait img{max-height:550px;border-radius:100px 100px 14px 14px}.home-actions{gap:20px}.story{grid-template-columns:1fr;gap:30px;padding:55px 0}.story-image{margin-top:25px}.home-paths{padding-bottom:60px}.practice-nav{gap:10px 20px;font-size:11px}.practices{padding-top:40px}.practice-grid,.additional-practices{grid-template-columns:1fr;gap:15px}.feature{grid-template-columns:1fr;padding:35px 6% 50px;gap:30px}.feature-photo{position:static;order:2;height:auto}.feature-photo img{border-radius:8px}.feature-copy{padding:0}.feature h1{font-size:clamp(2.8rem,10vw,4rem)}.bachata{grid-template-columns:1fr;padding:40px 0;gap:20px}.bachata h1{font-size:clamp(2.8rem,10vw,4rem)}.page-next{padding:30px 0 50px}.schedule-section{padding:40px 0 60px}.schedule-day{grid-template-columns:1fr;gap:0;padding:25px 0}.schedule-day>.venue-name{padding:0;margin-bottom:20px}.schedule-day li{grid-template-columns:1fr;gap:5px}.price-grid{grid-template-columns:1fr}.price-grid article{border:0}.workshops{padding:40px 0 60px}.workshops h1{font-size:clamp(2.8rem,10vw,4rem)}.therapy{padding:40px 0 60px}.faq{padding:40px 0 70px}.contact{padding:40px 0 60px}.document-page{padding:40px 0 60px}.footer-links{line-height:2}.contact-options .button{width:min(100%,310px)}}
