:root{--paper:#faf7f1;--ink:#322b30;--plum:#493440;--muted:#71686d;--line:#ded8d4;--rose:#e9ded9;--white:#fff;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12}h1{font-size:clamp(48px,5.2vw,78px);letter-spacing:-.035em}h2{font-size:clamp(36px,3.6vw,54px);letter-spacing:-.035em}h3{font-size:29px;letter-spacing:-.02em}em{font-weight:400;color:#815e6b}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a57288;outline-offset:5px}.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}.header{min-height:104px;display:flex;align-items:center;gap:26px;padding:20px 3.5%;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:18px;letter-spacing:.13em;line-height:1.3;white-space:nowrap}.monogram{font-family:var(--serif);font-size:40px;letter-spacing:-.09em;border-right:1px solid var(--line);padding-right:14px}.brand small{font-size:10px;letter-spacing:.14em;display:block;margin-top:4px}.header nav{display:flex;gap:22px;margin-left:auto;align-items:center}.header nav a{font-size:14px;text-decoration:none;white-space:nowrap}.header nav a:hover{color:#815e6b}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 27px;background:var(--plum);color:var(--paper);border:1px solid var(--plum);border-radius:3px;text-decoration:none;font-weight:500;font-size:15px;line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#654654;transform:translateY(-1px)}.button.small{padding:10px 19px;min-height:44px;white-space:nowrap}.button.light{background:var(--paper);color:var(--plum);border-color:var(--paper)}.button.light:hover{background:var(--rose)}.button.outline{background:transparent;color:var(--plum);border-color:#9c8890}.button.outline:hover{background:var(--rose)}.text-link{font-size:15px;text-decoration:none;border-bottom:1px solid #96818a;padding-bottom:5px}.eyebrow{font-size:12px;letter-spacing:.16em;line-height:1.6;font-weight:600;margin-bottom:22px}.hero{padding-block:62px 54px;display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center}.hero-copy{padding-block:18px}.intro{font-size:18px;max-width:440px;margin-top:27px;color:var(--muted);line-height:1.7}.hero-actions{display:flex;gap:29px;align-items:center;margin-top:32px}.hero-note{font-size:14px;color:var(--muted);margin-top:22px}.hero-image{position:relative}.hero-image img{display:block;width:100%;height:530px;object-fit:cover;object-position:center;border-radius:180px 180px 3px 3px}.hero-image figcaption{position:absolute;bottom:22px;left:24px;color:white;background:#493440de;padding:9px 15px;font-size:13px}.weekly{background:var(--plum);color:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:25px;padding:32px 36px;border-radius:4px}.weekly .eyebrow{margin-bottom:8px;color:#deccd1;font-size:11px}.weekly h2{font-size:29px;letter-spacing:-.02em}.weekly p:not(.eyebrow){font-size:14px;margin-top:8px;color:#eadfe2}.time{font-size:15px;display:block;margin-top:7px}.prices{display:flex;gap:35px}.prices div{display:flex;flex-direction:column}.prices strong{font-family:var(--serif);font-size:37px;font-weight:400;line-height:1.2}.prices span{font-size:13px;color:#eadfe2;white-space:nowrap;margin-top:5px}.section{padding-block:105px}.section-heading{max-width:650px}.section-heading>p:last-child{max-width:550px;color:var(--muted);margin-top:25px}.offering-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:55px}.offering-grid article{border-top:1px solid var(--line);padding-top:24px}.number{font-family:var(--serif);font-style:italic;color:#977682;font-size:18px}.offering-grid h3{margin-top:18px;font-size:27px}.offering-grid p{color:var(--muted);margin:20px 0 24px}.details-panel{margin-top:75px;padding:43px;background:#eee8e1;border-radius:3px;display:grid;grid-template-columns:1fr 1.2fr;gap:65px}.details-panel h3{font-size:32px}.details-panel>div>p:last-child{margin-top:20px;color:var(--muted)}.faq details{border-bottom:1px solid #ccc1be;padding-block:17px}.faq details:first-child{padding-top:0}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:25px;font-size:15px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font-size:23px;font-weight:400;line-height:1}.faq details[open] summary:after{content:'−'}.faq p{margin-top:16px;font-size:15px;color:var(--muted)}.faq a{font-size:14px;display:inline-block;margin-top:10px}.events-section{background:var(--rose);padding-block:85px}.horizontal{max-width:none;display:flex;justify-content:space-between;align-items:end;gap:50px}.horizontal>p:last-child{max-width:370px;margin-bottom:4px}.event{display:grid;grid-template-columns:135px 1fr auto;gap:30px;align-items:center;border-top:1px solid #c8b9bb;border-bottom:1px solid #c8b9bb;margin-top:45px;padding-block:36px}.event-date strong{font-size:75px;font-family:var(--serif);font-weight:400;line-height:1}.event-date span{display:block;font-size:11px;letter-spacing:.12em;margin-top:13px}.event .eyebrow{font-size:11px;margin-bottom:10px}.event h3{font-size:35px}.event p:not(.eyebrow){margin-top:12px;color:#66575e;max-width:530px}.event-meta{display:flex;flex-wrap:wrap;gap:5px 22px;margin-top:14px;font-size:13px}.event-footnote{font-size:14px;color:#66575e;margin-top:24px}.about{display:grid;grid-template-columns:.85fr 1fr;gap:90px;align-items:center}.about img{display:block;width:100%;height:570px;object-fit:cover;border-radius:3px}.about figcaption{font-size:12px;color:var(--muted);margin-top:12px}.about h2{margin-bottom:28px}.about p:not(.eyebrow){margin-top:18px;color:var(--muted)}.about .signature{margin-block:24px}.signature span{font-family:var(--serif);font-style:italic;font-size:30px;display:block;margin-top:10px;color:var(--plum)}.secondary-services{padding-block:10px 100px}.service-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:45px;border-top:1px solid var(--line)}.service-grid article{padding:35px 50px 0 0;scroll-margin-top:130px}.service-grid article+article{border-left:1px solid var(--line);padding-left:50px;padding-right:0}.service-grid .eyebrow{margin-bottom:15px}.service-grid p:not(.eyebrow){color:var(--muted);margin-top:20px}.service-grid ul{padding-left:18px;color:var(--muted);margin-block:22px;font-size:15px}.service-grid li{padding-left:5px;margin-top:7px}.service-grid .text-link{display:inline-block;margin-top:22px}.contact-section{background:var(--plum);color:var(--paper);padding-block:75px}.contact-section em{color:#d7b8c3}.contact-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center}.contact-inner p:not(.eyebrow){color:#e0d1d6;margin-top:22px;max-width:450px}.contact-actions{display:flex;align-items:flex-start;flex-direction:column}.email-link{font-family:var(--serif);font-size:clamp(20px,2.3vw,33px);text-decoration:none;border-bottom:1px solid #b395a1}.contact-actions .button{margin-top:27px}.contact-actions>a:last-child{font-size:14px;margin-top:20px}footer{display:flex;justify-content:space-between;gap:35px;align-items:center;padding-block:32px;font-size:12px;color:var(--muted)}footer>div{display:flex;flex-direction:column;text-align:right}footer .brand{color:var(--plum)}.menu-toggle{display:none}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}dialog{max-width:540px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--ink);padding:40px;box-shadow:0 24px 100px #0003;max-height:90vh;overflow:auto}dialog::backdrop{background:#25182099;backdrop-filter:blur(3px)}dialog h2{font-size:41px}dialog>p:not(.eyebrow){margin-top:20px;font-size:15px;color:var(--muted)}.close-dialog{position:absolute;right:14px;top:10px;font-size:29px;width:40px;height:40px;background:transparent;border:0;color:var(--plum)}form{margin-top:24px}label{font-size:14px;display:block;margin-top:17px;margin-bottom:7px}select,input{width:100%;min-height:48px;padding:10px 12px;border:1px solid #b4a4ac;border-radius:3px;background:white;color:var(--ink)}.form-note{font-size:14px;color:var(--muted);margin-block:20px}form .button{width:100%}.form-status{font-size:14px;margin-top:12px;color:var(--plum)}
@media(min-width:1500px){.header{padding-inline:max(4%,calc((100% - 1400px)/2))}}
@media(max-width:1150px){.header{gap:18px}.header nav{gap:15px}.header nav a{font-size:13px}.header-book{display:none}.wrap{width:calc(100% - 64px)}.hero{gap:35px}.weekly{flex-wrap:wrap}.weekly>div:first-child{flex:1}.event{grid-template-columns:110px 1fr}.event>.button{grid-column:2;justify-self:start}.about{gap:55px}.contact-inner{gap:50px}}
@media(max-width:800px){html{scroll-padding-top:95px}.header{min-height:82px;padding:14px 24px}.brand{font-size:15px}.monogram{font-size:34px}.brand small{font-size:9px}.menu-toggle{display:block;margin-left:auto;border:1px solid #bdadb4;border-radius:3px;background:transparent;padding:8px 16px;min-height:44px;font-size:14px}.header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 24px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 15px 20px #4934400d;margin:0;flex-wrap:wrap;gap:4px 20px}.header nav.open{display:flex}.header nav a{font-size:15px;min-height:44px;display:flex;align-items:center}.wrap{width:calc(100% - 48px)}.hero{padding-top:40px;grid-template-columns:1fr 1fr;gap:25px}.hero .eyebrow{font-size:10px}h1{font-size:47px}.intro{font-size:16px}.hero-image img{height:450px}.hero-actions{gap:18px;flex-wrap:wrap}.hero-image figcaption{font-size:11px;left:12px;right:12px;bottom:16px;padding:7px}.weekly{padding:28px}.weekly>div:first-child{flex-basis:100%}.prices{gap:30px}.section{padding-block:70px}.offering-grid{gap:25px}.offering-grid h3{font-size:24px}.details-panel{grid-template-columns:1fr;gap:32px;padding:30px;margin-top:50px}.horizontal{align-items:start;gap:30px}.horizontal>p:last-child{max-width:260px}.about{gap:35px}.about img{height:500px}.about h2{font-size:38px}.service-grid article{padding-right:30px}.service-grid article+article{padding-left:30px}.secondary-services{padding-bottom:70px}.contact-inner{gap:30px}.contact-section h2{font-size:39px}footer{flex-wrap:wrap}footer>div{text-align:left}}
@media(max-width:600px){.hero{grid-template-columns:1fr;padding-bottom:34px;gap:32px}.hero-copy{padding:0}h1{font-size:52px}.hero .eyebrow{font-size:11px;margin-bottom:18px}.intro{max-width:390px}.hero-actions{margin-top:25px}.hero-image img{height:380px;border-radius:140px 140px 3px 3px;object-position:center 42%}.hero-image figcaption{left:20px;right:auto;font-size:12px}.weekly{gap:25px;padding:25px}.weekly h2{font-size:29px}.prices{width:100%;justify-content:space-between;gap:12px}.prices strong{font-size:34px}.prices span{font-size:12px}.weekly>.button{width:100%}.section-heading h2,h2{font-size:37px}.offering-grid{grid-template-columns:1fr;gap:32px;margin-top:35px}.offering-grid h3{margin-top:10px;font-size:28px}.offering-grid p{margin:15px 0 20px}.details-panel{padding:25px;margin-top:38px}.details-panel h3{font-size:30px}.horizontal{display:block}.horizontal>p:last-child{max-width:100%;margin-top:23px}.events-section{padding-block:60px}.event{grid-template-columns:68px 1fr;gap:20px;padding-block:28px}.event-date{align-self:start;padding-top:4px}.event-date strong{font-size:50px}.event-date span{font-size:10px;letter-spacing:.05em;line-height:1.6}.event h3{font-size:30px}.event p:not(.eyebrow){font-size:15px}.event .eyebrow{font-size:10px}.event-meta{display:block;font-size:13px}.event-meta span{display:block;margin-top:5px}.event>.button{grid-column:1/-1;justify-self:stretch}.about{grid-template-columns:1fr;gap:35px}.about img{height:400px;object-position:center}.about h2{font-size:37px}.service-grid{grid-template-columns:1fr;gap:35px}.service-grid article{padding-right:0}.service-grid article+article{padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:35px}.contact-inner{grid-template-columns:1fr;gap:35px}.contact-section{padding-block:55px}.email-link{font-size:25px}footer{gap:20px;padding-block:28px}footer>p{width:100%}dialog{padding:32px 25px}dialog h2{font-size:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Booking and form refinements within CT London's established palette. */
button,input,select,textarea{font:inherit}textarea{width:100%;padding:12px;border:1px solid #b4a4ac;border-radius:3px;background:white;color:var(--ink);resize:vertical;min-height:120px}textarea:focus-visible{outline:3px solid #a57288;outline-offset:5px}.weekly-booking{display:flex;flex-direction:column;gap:12px;align-items:center}.weekly-booking .button{max-width:270px;text-align:center}.returning-book{background:none;border:0;color:var(--paper);font-size:14px;text-decoration:underline;text-underline-offset:5px;min-height:44px;padding:8px}.details-link{display:inline-block;margin-left:14px;min-height:44px;padding-block:10px}.offering-grid .button{font-size:14px;padding-inline:20px}.workshop-details{margin-top:20px;max-width:700px}.workshop-details summary{cursor:pointer;min-height:44px;text-decoration:underline;text-underline-offset:5px;padding-block:8px;font-size:15px}.workshop-details p{margin:12px 0 20px;color:#66575e}.booking-event-details{margin:24px 0}.booking-event-details div{padding:12px 0;border-bottom:1px solid var(--line)}.booking-event-details dt{font-size:14px;font-weight:600}.booking-event-details dd{margin:4px 0 0;font-size:16px}.booking-event-details dd span{font-size:14px;color:var(--muted)}#workshop-booking>.button{width:100%}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}#contact-form{margin:0}.contact-note{font-size:14px;color:#e0d1d6;margin-block:18px}.contact-status{font-size:14px;color:var(--paper);margin-top:14px}.contact-section .contact-actions{margin-top:25px}.contact-section label{font-size:15px}.contact-section input,.contact-section select,.contact-section textarea{border-color:#e0d1d6}.contact-section :focus-visible{outline-color:var(--paper)}.event-meta{font-size:15px;gap:8px 22px}.event-date span{font-size:12px}.prices span{font-size:14px;white-space:normal}.weekly p:not(.eyebrow){font-size:15px}.header nav a{font-size:14px}.close-dialog{min-width:44px;min-height:44px}.hero-image img,.about img{aspect-ratio:5/6}.button:hover{transform:none}
@media(max-width:1000px){.header nav{gap:12px}.weekly-booking{flex-basis:100%;align-items:flex-start}.weekly-booking .button{max-width:none}.weekly-booking .returning-book{padding-left:0}.hero-actions{flex-wrap:wrap}}
@media(max-width:800px){.header nav.open{display:grid;grid-template-columns:1fr 1fr}.weekly-booking{align-items:stretch}.weekly-booking .button{width:100%}.details-link{margin-left:0;display:block;width:max-content;margin-top:10px}.contact-fields{grid-template-columns:1fr}}
@media(max-width:600px){.hero-actions{align-items:flex-start;flex-direction:column}.hero-actions .button{width:100%}.prices span{font-size:14px;line-height:1.45}.prices>div{flex:1;min-width:0}.weekly .eyebrow{font-size:12px}.event-meta{font-size:15px}.event{grid-template-columns:1fr;gap:18px}.event-date{display:flex;align-items:center;gap:14px}.event-date span{font-size:12px;margin-top:0}.event>.button{grid-column:auto}.event .eyebrow{font-size:12px}.event h3{font-size:32px}.email-link{font-size:clamp(20px,6vw,25px);overflow-wrap:anywhere}.hero-image figcaption{right:20px}.contact-section input,.contact-section select,.contact-section textarea{font-size:16px;min-width:0}.contact-inner>*{min-width:0}.button{max-width:100%;text-align:center}.event-meta span{overflow-wrap:anywhere}dialog{max-height:90dvh}h1{font-size:clamp(40px,13vw,52px)}.wrap{width:calc(100% - 40px)}}
.optional-photo{margin-bottom:24px}.optional-photo[hidden]{display:none}.optional-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px}.workshop-details .optional-photo{margin-top:18px;max-width:500px}

.pregnancy-highlight{margin:20px 0 22px;padding:20px;border:1px solid var(--line);border-radius:3px;background:#eee8e1}.pregnancy-highlight h4{font-family:var(--serif);font-size:23px;line-height:1.2;font-weight:400;margin:0}.pregnancy-highlight p{margin:14px 0 0}.pregnancy-highlight .pregnancy-offer{color:var(--plum);font-weight:600}.pregnancy-link{display:block;width:fit-content;margin-top:12px;min-height:44px;padding-top:8px}

#yoga>.offering-grid{margin-top:0}

.ticket-url{display:block;margin-top:16px;font-size:14px;overflow-wrap:anywhere;line-height:1.6}.ticket-help{display:block;margin-top:16px;font-size:14px;min-height:44px;padding-block:10px}
