/* A quieter shared rhythm: forest, linen, blush and fine, continuous mosaic. */
:root{--forest:#173f35;--linen:#f7f0e5;--blush:#ebccd8}
.nav{min-height:94px;padding-top:9px;padding-bottom:9px}.nav .brand img{width:92px;height:76px}.nav-links{gap:24px;font-size:11px}.nav-links>.button{padding:12px 20px;font-size:11px}
.section{padding-top:74px;padding-bottom:74px}.section-head{margin-bottom:30px}.section-head h2{font-size:clamp(32px,3.2vw,46px)}
.home-page .hero{min-height:530px;background-color:var(--forest);background-image:linear-gradient(#173f35f8,#173f35f8),url('/assets/moroccan-fara-seamless.svg');background-size:auto,224px 224px;background-repeat:no-repeat,repeat;background-position:0 0}
.home-page .hero-copy{background:transparent;padding:44px 10% 40px}.home-page .hero h1{font-size:clamp(45px,4.7vw,68px);margin:20px 0 22px;line-height:1.12}.home-page .hero-copy>p{font-size:14px;line-height:1.8}.home-page .hero-actions{margin:24px 0 25px}.home-page .hero-actions .button{padding:13px 20px;font-size:12px}.home-page .hero-note{font-size:8px;letter-spacing:.08em}
.home-page .hero-caption{right:auto;backdrop-filter:none;width:26%;max-width:165px;top:18px;left:18px}.home-page .hero-caption .caption-label{font:7px/1.5 Manrope,Arial,sans-serif;letter-spacing:.08em}.home-page .hero-caption .serif{font:16px/1.35 Lora,Georgia,serif;letter-spacing:-.02em;margin:8px 0 0}.home-page .hero-caption .caption-rule{margin-bottom:8px}
.home-page .hero+.practice-ribbon+.section{padding-top:58px;padding-bottom:64px}.ribbon-group{padding-top:16px;padding-bottom:16px}.ribbon-group a{font-size:18px}.ribbon-group span{font-size:18px}
/* Only the darker accents carry mosaic, with matched repeat boundaries. */
.page-hero,.tile-accent,.online,.newsletter,.booking-profile,.payment-panel{background-image:linear-gradient(#173f35f6,#173f35f6),url('/assets/moroccan-fara-seamless.svg');background-size:auto,224px 224px;background-repeat:no-repeat,repeat;background-position:0 0;background-color:var(--forest)}
.page-hero{padding:48px 0 44px}.page-hero h1{font-size:clamp(36px,4.4vw,60px);line-height:1.12}.page-hero p{font-size:15px;line-height:1.85}.page-hero .eyebrow{color:#ebccd8}
.online,.newsletter{background-size:auto,192px 192px}.booking-profile,.payment-panel{background-size:auto,160px 160px}.voucher-preview{background-size:auto,176px 176px;background-repeat:no-repeat,repeat;border-radius:16px 4px}
.practice-ribbon{background-size:auto,288px 288px;background-position:0 0;border-top:1px solid #b4938540;border-bottom:1px solid #b4938540}
/* Pale sections give the eyes a rest; rose geometry appears in small accents. */
.gift-enquiry,.zoom-comparison{background-color:#f0e8dc;background-image:linear-gradient(#f0e8dcb8,#f0e8dcb8),url('/assets/moroccan-arabesque-even.svg');background-size:auto,80px 80px;background-repeat:no-repeat,repeat;border-color:#d8c9bb;border-radius:14px}
.gift-section{background-color:#f1ded8;background-image:linear-gradient(#f3e6e0e8,#f3e6e0e8),url('/assets/warm-limewash-v1.jpg')}.price-card{border-radius:14px 4px;padding:30px 25px}.price-card:not(.featured){background-image:linear-gradient(#faf2e9dd,#faf2e9dd),url('/assets/moroccan-arabesque-even.svg');background-size:auto,80px 80px}.price-card:nth-child(3):not(.featured){background-image:linear-gradient(#f2e2dcef,#f2e2dcef),url('/assets/warm-limewash-v1.jpg');background-size:cover}
.journey{border-radius:16px 4px;padding:32px}.journey:nth-child(2){background-size:auto,80px 80px}.newsletter{border-radius:20px 20px 0 0}.footer::after{height:8px;background:url('/assets/moroccan-fara-seamless.svg') 0 0/192px 192px repeat;opacity:.12}
.home-page .class-card .image{height:305px;border-radius:4px;box-shadow:none}.class-card .category{margin-top:16px}.class-card h3{margin-top:10px;margin-bottom:14px}.class-card p{line-height:1.8}.class-card .session-button{margin-top:17px}.more-practices{margin-top:28px;padding-top:21px}.about-image{height:490px}.online-picture{height:440px}.muriel-photo-interlude{padding:45px 0}.muriel-photo-interlude figure{width:76%;max-width:800px}.muriel-photo-interlude img{max-height:460px}.muriel-photo-interlude figcaption{font-size:9px;margin-top:12px}
.text-link{font-size:12px;text-underline-offset:5px}.button{transition:background-color .25s,color .25s,border-color .25s}.button:focus-visible,.text-link:focus-visible{outline:2px solid #c69086;outline-offset:5px}.testimonials-carousel{padding-top:65px;padding-bottom:55px}.booking-shell{box-shadow:0 18px 50px #173f350c;border-color:#faf8f2}
@media(max-width:950px){.nav-links{gap:15px}.nav-links>.button{padding:11px 16px}.home-page .hero-copy{padding-left:9%;padding-right:9%}}
@media(max-width:760px){.nav{min-height:82px;padding-top:5px;padding-bottom:5px}.nav .brand img{width:85px;height:70px}.nav-links{gap:17px}.home-page .hero{min-height:0}.home-page .hero-copy{padding:32px 7% 30px}.home-page .hero h1{font-size:46px;line-height:1.1;margin:17px 0 20px}.home-page .hero-copy>p{font-size:13px;line-height:1.8}.home-page .hero-actions{margin:22px 0 20px}.home-page .hero-caption{top:14px;left:14px;width:26%;max-width:160px}.home-page .hero-caption .serif{font-size:14px}.home-page .hero-caption .caption-label{font-size:6px}.section{padding:52px 0}.home-page .hero+.practice-ribbon+.section{padding-top:44px;padding-bottom:50px}.home-page .class-card .image{height:auto;aspect-ratio:4/3}.home-page .class-card .image:has(img[src*=muriel-standing-balance]){aspect-ratio:4/3}.ribbon-group{padding-top:14px;padding-bottom:14px}.ribbon-group a{font-size:16px}.page-hero{padding:34px 0}.page-hero h1{font-size:38px}.page-hero p{font-size:14px}.muriel-photo-interlude{padding:32px 0}.muriel-photo-interlude figure{width:100%}.muriel-photo-interlude img{max-height:none}.about-image{height:440px}.online-picture{height:auto;aspect-ratio:3/2}.testimonials-carousel{padding:48px 7%}.price-card{padding:28px 24px}.journey{padding:28px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}}

.page-hero,.online,.newsletter{border-top:1px solid #173f35;border-bottom:1px solid #173f35}.practice-ribbon{border-top:1px solid #173f35;border-bottom:1px solid #173f35}

html{-webkit-text-size-adjust:100%;text-size-adjust:100%}

/* Gentle blush feedback, without a box around the dainty menu. */
.menu-toggle{position:relative;isolation:isolate;transition:color .3s ease}.menu-toggle::before{content:"";position:absolute;inset:2px -12px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse,#ebccd866 0%,#ebccd800 72%);opacity:0;transition:opacity .35s ease}.menu-toggle::after{content:"";position:absolute;left:0;right:0;bottom:5px;height:1px;background:#c58e84;transform:scaleX(0);transform-origin:left;transition:transform .35s ease}.menu-toggle .menu-mark i{transition:background-color .3s ease,width .3s ease,transform .3s ease}.menu-toggle:hover,.menu-toggle:focus-visible,.menu-toggle[aria-expanded=true]{color:#89564f;text-decoration:none}.menu-toggle:hover::before,.menu-toggle:focus-visible::before,.menu-toggle[aria-expanded=true]::before{opacity:1}.menu-toggle:hover::after,.menu-toggle:focus-visible::after,.menu-toggle[aria-expanded=true]::after{transform:scaleX(1)}.menu-toggle:hover .menu-mark i,.menu-toggle:focus-visible .menu-mark i,.menu-toggle[aria-expanded=true] .menu-mark i{background:#b6786e}.menu-toggle:hover .menu-mark i:nth-child(2),.menu-toggle:focus-visible .menu-mark i:nth-child(2),.menu-toggle[aria-expanded=true] .menu-mark i:nth-child(2){width:9px;transform:translateX(4px)}
:is(.nav-links>a:not(.button),.nav-more>summary){position:relative;transition:color .3s ease}:is(.nav-links>a:not(.button),.nav-more>summary)::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:#cf9b90;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}:is(.nav-links>a:not(.button),.nav-more>summary):hover,:is(.nav-links>a:not(.button),.nav-more>summary):focus-visible{color:#89564f}:is(.nav-links>a:not(.button),.nav-more>summary):hover::after,:is(.nav-links>a:not(.button),.nav-more>summary):focus-visible::after{transform:scaleX(1)}.nav-links>.button:hover,.nav-links>.button:focus-visible{background:#ebccd8;border-color:#ebccd8;color:#173f35}
@media(prefers-reduced-motion:reduce){.menu-toggle,.menu-toggle::before,.menu-toggle::after,.menu-toggle .menu-mark i,:is(.nav-links>a:not(.button),.nav-more>summary),:is(.nav-links>a:not(.button),.nav-more>summary)::after{transition:none}.menu-toggle:hover .menu-mark i:nth-child(2),.menu-toggle:focus-visible .menu-mark i:nth-child(2),.menu-toggle[aria-expanded=true] .menu-mark i:nth-child(2){width:13px;transform:none}}

.explore-after-booking{padding:28px 0}.explore-after-booking .more-practices{margin:0;padding:0;border:0}

/* Dainty uppercase navigation and breadcrumbs. */
.nav-links>a{font-size:10px;font-weight:400;letter-spacing:.13em;text-transform:uppercase}.nav-links>.button{font-size:10px;letter-spacing:.1em;font-weight:400}:is(.nav-links>a:not(.button),.nav-more>summary){color:#173f35}:is(.nav-links>a:not(.button),.nav-more>summary):hover,:is(.nav-links>a:not(.button),.nav-more>summary):focus-visible{color:#89564f}.breadcrumb{font-size:9px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;line-height:1.8}.page-hero .breadcrumb{color:#faf8f2}.breadcrumb a{transition:color .25s}.breadcrumb a:hover{color:#ebccd8}
@media(max-width:760px){.nav-links>a{font-size:10px;letter-spacing:.12em}.breadcrumb{font-size:8px;letter-spacing:.13em}}
@media(prefers-reduced-motion:reduce){.breadcrumb a{transition:none}}

/* Edge-to-edge photo frames, with no contain padding or height-clamped margins. */
.class-card .image,.home-page .class-card .image{height:auto;aspect-ratio:4/3;overflow:hidden}.class-card .image img,.home-page .class-card .image img[src]{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}.home-page .class-card .image img[src*=standing-balance]{object-position:58% 50%}.muriel-photo-interlude img{display:block;width:100%;height:auto;max-height:none;object-fit:cover}.resource-card img,.home-page .resource-card img[src]{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.home-page .online-picture{object-fit:cover}

/* A restrained recommendation ribbon for the four-class pack. */
.price-tag.recommendation-tag{display:flex;align-items:center;gap:10px;top:-14px;right:18px;padding:8px 13px;font-size:8px;font-weight:500;letter-spacing:.12em;line-height:1.4;white-space:nowrap;box-shadow:0 2px 8px #173f350d}
.recommendation-tag .badge-saving{border-left:1px solid #563d3840;padding-left:10px;letter-spacing:.06em}

/* Om separators retain the ribbon’s blush colour and quiet movement. */
.ribbon-group>span{font-family:"Kohinoor Devanagari","Noto Sans Devanagari","Devanagari Sangam MN",serif;font-weight:300;line-height:1;display:inline-flex;align-items:center;justify-content:center}

/* The supplied Om silhouette, tightly framed and kept quiet in the ribbon. */
.ribbon-group>span{flex:0 0 16px;width:16px;height:17px}.ribbon-group .ribbon-om{display:block;width:16px;height:17px;max-width:none;object-fit:contain}

/* Centre Muriel’s blue-wall crane photograph within the page. */
.muriel-photo-interlude.photo-offset figure{margin-left:auto;margin-right:auto}

/* Let warm ceramic colours come through, with quiet terracotta accents. */
.practice-ribbon{background-image:linear-gradient(#173f35d9,#173f35d9),url("/assets/moroccan-fara-seamless.svg");border-top-color:#b489665c;border-bottom-color:#b489665c}
.ribbon-group>span:nth-of-type(even) .ribbon-om{content:url("/assets/om-banner-terracotta.svg")}
.ribbon-group a:hover,.ribbon-group a:focus-visible{color:#e2b795}

/* Washed blush separates the forest hero and intricate moving mosaic. */
.ribbon-blush{pointer-events:none;width:100%}.ribbon-blush-before{height:38px;background:linear-gradient(180deg,#eedbd4,#f0dfd9)}.ribbon-blush-after{height:64px;background:linear-gradient(180deg,#f0dfd9 0%,#f0dfd8 42%,#f5eee3 100%)}
.home-page .ribbon-blush-after+.section{padding-top:32px;padding-bottom:50px}
@media(max-width:760px){.ribbon-blush-before{height:26px}.ribbon-blush-after{height:44px}.home-page .ribbon-blush-after+.section{padding-top:26px;padding-bottom:40px}}

/* Narrow blush separators, with a cleaner transition to cream. */
.ribbon-blush-before{height:14px;background:#f0dfd9}.ribbon-blush-after{height:24px;background:#f2e2dc}
@media(max-width:760px){.ribbon-blush-before{height:10px}.ribbon-blush-after{height:18px}}

/* Equal, fine blush bands above and below the moving mosaic. */
.ribbon-blush-before,.ribbon-blush-after{height:6px;background:#f0dfd9}
@media(max-width:760px){.ribbon-blush-before,.ribbon-blush-after{height:5px}}

/* Show the complete home practice setup beside the Zoom guidance. */
.home-page .online-picture{height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center}

/* Matching blush hairline bands, half the previous height. */
.ribbon-blush-before,.ribbon-blush-after{height:3px;background:#f0dfd9}
@media(max-width:760px){.ribbon-blush-before,.ribbon-blush-after{height:2.5px}}

/* A weekly pack leads the choice; gifting sits beside the booking journey. */
.price-card.featured h3{font-size:27px;line-height:1.15;font-weight:500;max-width:230px}
.price-card .pack-rhythm{font-size:12px;letter-spacing:.025em;font-weight:600;margin:12px 0 0;color:#ebccd8}
.price-card .pack-rhythm+p{margin-top:12px}
.pricing-section{padding-top:60px;padding-bottom:60px}
.booking-gift-note{background:#f2e2dc;padding:25px 0}.booking-gift-note .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px}.booking-gift-note span{font:22px Lora,Georgia,serif;color:#173f35}
.ribbon-blush-before{height:2px}
@media(max-width:760px){.ribbon-blush-before{height:2px}.booking-gift-note .wrap{flex-direction:column;align-items:flex-start;gap:12px}.pricing-section{padding-top:40px;padding-bottom:40px}}

/* Booking calls to action fit their words without arrows. */
.button.compact-booking-button,.price-card .button.compact-booking-button,.nav-links .button.compact-booking-button{width:fit-content;max-width:100%;align-self:flex-start;justify-content:center;gap:0;padding:11px 18px;flex:none}

.pricing-grid .price-card h3{min-height:62px}
@media(max-width:760px){.pricing-grid .price-card h3{min-height:0}}

.prose img.muriel-profile-photo{width:320px;height:auto;max-width:100%;border-radius:3px}

/* Paired lotus petals: a quiet blush and lilac wash on hover and keyboard focus. */
.brand .lotus-mark{display:block;width:62px;height:53px;overflow:visible;flex:none}
.nav .brand .lotus-mark{width:92px;height:76px}
.footer .brand .lotus-mark{width:122px;height:114px}
.lotus-petal{fill:#dca5b9;opacity:0;transition:opacity .6s ease}
.brand:is(:hover,:focus-visible) .lotus-petal{opacity:.24;animation:lotus-colour-wash 3.8s ease-in-out infinite}
.brand:is(:hover,:focus-visible) .lotus-inner{animation-delay:.32s;fill:#bc98cb}
.brand:is(:hover,:focus-visible) .lotus-centre{animation-delay:.64s;fill:#d7a0bd}
@keyframes lotus-colour-wash{0%,100%{fill:#d9bacb;opacity:.18}50%{fill:#b699cb;opacity:.34}}
@media(max-width:760px){.nav .brand .lotus-mark{width:85px;height:70px}}
@media(prefers-reduced-motion:reduce){.brand:is(:hover,:focus-visible) .lotus-petal{animation:none;opacity:.24}}

@font-face{font-family:"Jost";src:url("/assets/fonts/jost.ttf") format("truetype");font-weight:100 900;font-display:swap}

html[data-lotus-colour="true"] .lotus-petal{opacity:.24}
html[data-lotus-colour="true"] .lotus-inner{fill:#bc98cb}
html[data-lotus-colour="true"] .lotus-centre{fill:#c594bc;opacity:.28}

html[data-lotus-colour="false"] .brand .lotus-petal{opacity:0;animation:none}

/* Keep colour drift separate from the slow fade, so toggling off is equally gentle. */
html[data-lotus-colour] .brand .lotus-petal{animation:lotus-shade-drift 6s ease-in-out infinite;transition:opacity 1.2s ease;fill:#d9bacb}
html[data-lotus-colour] .brand .lotus-inner{animation-delay:-2s}
html[data-lotus-colour] .brand .lotus-centre{animation-delay:-4s}
html[data-lotus-colour="true"] .brand .lotus-petal{opacity:.28}
html[data-lotus-colour="false"] .brand .lotus-petal{opacity:0}
@keyframes lotus-shade-drift{0%,100%{fill:#ddbdcf}33%{fill:#cba3cb}66%{fill:#a991c3}}
@media(prefers-reduced-motion:reduce){html[data-lotus-colour] .brand .lotus-petal{animation:none;transition:none}html[data-lotus-colour] .brand .lotus-inner{fill:#bc98cb}html[data-lotus-colour] .brand .lotus-centre{fill:#c594bc}}

/* A held hover deepens softly over four seconds, capped at 42% colour. */
html[data-lotus-colour="true"] .brand .lotus-petal{opacity:var(--lotus-depth,.28);transition:opacity 4s cubic-bezier(.22,.61,.36,1)}
html[data-lotus-colour="false"] .brand .lotus-petal{opacity:0;transition:opacity 1.2s ease}
@media(prefers-reduced-motion:reduce){html[data-lotus-colour] .brand .lotus-petal{transition:none}}

/* Warm details follow the supplied mosaic exactly, without adding another pattern. */
.home-page .hero{background-image:url('/assets/moroccan-fara-peach-details.svg'),linear-gradient(#173f35f8,#173f35f8),url('/assets/moroccan-fara-seamless.svg');background-size:224px 224px,auto,224px 224px;background-repeat:repeat,no-repeat,repeat;background-position:0 0}

@media(min-width:761px) and (max-width:950px){.menu-toggle{display:inline-flex}.nav-links{display:none;position:absolute;left:0;right:0;top:100%;background:#faf8f2;padding:24px 5%;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:18px}.nav-links.open{display:flex}}

/* Returning to the lotus erases colour slowly, outside to centre in mirrored pairs. */
html[data-lotus-colour="false"] .brand .lotus-petal{transition:opacity 4s cubic-bezier(.22,.61,.36,1);transition-delay:0s}
html[data-lotus-colour="false"] .brand .lotus-inner{transition-delay:.3s}
html[data-lotus-colour="false"] .brand .lotus-centre{transition-delay:.6s}
html[data-lotus-colour="true"] .brand .lotus-petal{transition-delay:0s}
@media(prefers-reduced-motion:reduce){html[data-lotus-colour] .brand .lotus-petal{transition:none;transition-delay:0s}}

/* Peach, soft terracotta, blush and lilac keep the warmer palette in balance. */
@keyframes lotus-shade-drift{0%,100%{fill:#ddbdcf}25%{fill:#edbea0}50%{fill:#dba080}75%{fill:#b59aca}}
.home-page .hero{background-image:url('/assets/moroccan-fara-peach-details.svg?v=warm73'),linear-gradient(#173f35ee,#173f35ee),url('/assets/moroccan-fara-seamless.svg');background-size:224px 224px,auto,224px 224px;background-repeat:repeat,no-repeat,repeat;background-position:0 0}

/* Ivory, peach and muted saffron distinguish the moving ribbon from the forest hero. */
.practice-ribbon{background-color:#f5e4cb;background-image:linear-gradient(#fff8e99c,#fff8e99c),url('/assets/moroccan-fara-warm-ivory.svg');background-size:auto,288px 288px;background-position:0 0;border-top-color:#c5936545;border-bottom-color:#c5936545;color:#69412e}
.ribbon-group a{color:#69412e}
.ribbon-group a:hover,.ribbon-group a:focus-visible{color:#a34e2f}
.ribbon-group>span:nth-of-type(even) .ribbon-om{content:url('/assets/om-banner-burnt-peach.svg')}

/* Royal blue, vivid terracotta-orange and clean ivory retain the original tile geometry. */
.practice-ribbon{background-color:#ecd0a9;background-image:linear-gradient(#fff9ed2b,#fff9ed2b),url('/assets/moroccan-fara-royal-orange.svg');background-size:auto,288px 288px;border-top-color:#cf7c32;border-bottom-color:#cf7c32}
.ribbon-group a{color:#162d68;text-shadow:0 1px 5px #fff8e9,0 0 9px #fff8e9}
.ribbon-group a:hover,.ribbon-group a:focus-visible{color:#9d3d19}

/* A rich plum foundation gives the softened warm mosaic and pale lettering room to breathe. */
.practice-ribbon{background-color:#49364b;background-image:linear-gradient(#49364bd9,#49364bd9),url('/assets/moroccan-fara-royal-orange.svg');background-size:auto,288px 288px;border-top-color:#cb9ca86b;border-bottom-color:#cb9ca86b;color:#fff4e8}
.ribbon-group a{color:#fff4e8;text-shadow:none}
.ribbon-group a:hover,.ribbon-group a:focus-visible{color:#efc0ce}
.ribbon-group>span:nth-of-type(even) .ribbon-om{content:url('/assets/om-banner-terracotta.svg')}

/* Ten separators per repeat keep pink/peach alternation continuous at the loop seam. */
.ribbon-group>span:nth-of-type(odd) .ribbon-om{content:url('/assets/om-banner-reference.svg')}
.ribbon-group>span:nth-of-type(even) .ribbon-om{content:url('/assets/om-banner-terracotta.svg')}
.ribbon-track{animation-duration:100s}

/* Compact mobile introduction preserves the header and gives the photograph and ribbon earlier visibility. */
@media(max-width:760px){
.home-page .hero-copy{padding:18px 7%}
.home-page .hero-copy .eyebrow:before{margin-bottom:8px}
.home-page .hero h1{font-size:clamp(34px,10.5vw,42px);line-height:1.08;margin:12px 0 14px}
.home-page .hero-copy>p{line-height:1.6;margin-bottom:0}
.home-page .hero-actions{margin:14px 0 12px;gap:16px}
.home-page .hero-actions .button{padding:10px 16px}
.home-page .hero-note{font-size:7px;letter-spacing:.065em;line-height:1.5}
}
.calendar-toolbar button{font-size:10px;min-width:38px;padding:0 5px}

.quote-arrow{font-size:10px;min-width:42px}

/* Specialist offerings stay discoverable in the shared menu. */
.nav-more{position:relative;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.nav-more summary{list-style:none;cursor:pointer;padding:9px 0;white-space:nowrap;transition:color .3s ease}
.nav-more summary::-webkit-details-marker{display:none}
.nav-more summary:hover,.nav-more[open]>summary{color:#b77d8d}
.nav-more-links{position:absolute;top:calc(100% + 12px);left:-20px;min-width:210px;padding:16px 20px;background:#f5f0e7;border:1px solid #d8cabe;border-radius:3px;box-shadow:0 8px 24px #173f3512;display:grid;gap:12px}
.nav-more-links a{font-size:10px;letter-spacing:.08em;white-space:nowrap;transition:color .3s ease}
.nav-more-links a:hover{color:#b77d8d}
@media(min-width:951px) and (max-width:1100px){.nav-links{gap:12px}.nav-links>a{font-size:9px}.nav-links>.button{padding:10px 13px}.nav-more{font-size:9px}}
@media(max-width:950px){.nav-more{width:100%}.nav-more summary{padding:9px 0}.nav-more-links{position:static;margin-top:8px;box-shadow:none;background:transparent;border:0;border-left:1px solid #cda9ae;border-radius:0;padding:5px 0 5px 16px;min-width:0;gap:14px}}

/* A proportional mobile header and a bottom-only 5% hero crop reveal the ribbon sooner. */
@media(max-width:760px){
.nav{min-height:70px;padding-top:4px;padding-bottom:4px}
.nav .brand .lotus-mark{width:74px;height:61px}
.nav .menu-toggle{font-size:10px!important;gap:7px;padding:12px 0}
.nav .menu-toggle .menu-mark,.nav .menu-toggle:hover .menu-mark{width:11.4px;height:11.4px;gap:2.625px}
.nav .menu-toggle .menu-mark i,.nav .menu-toggle .menu-mark i:nth-child(2){width:11.4px;height:.875px;transform:none}
.home-page .hero-media{position:relative;aspect-ratio:1600/1013;overflow:hidden;width:100%;height:auto;min-height:0}
.home-page .hero-media img{position:absolute;top:0;left:0;width:100%;height:auto!important;min-height:0!important;max-width:none}
}

/* Practice descriptions can vary while their Explore actions share one baseline. */
.classes-grid .class-card{display:flex;flex-direction:column;align-items:flex-start}
.classes-grid .class-card-link{width:100%;flex:1}
.classes-grid .class-card .session-button{flex:none;align-self:flex-start;margin-top:8px}

/* Compact editorial title/action rows keep exploration beside each practice. */
.classes-grid .class-card-link{flex:none}
.practice-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;margin:10px 0 14px}
.class-card .practice-title-row h3{margin:0;min-width:0;font-size:clamp(21px,2vw,26px);line-height:1.2}
.practice-title-row h3 a{color:inherit}
.practice-title-row .practice-explore{flex:none;width:auto;min-height:0;padding:9px 13px;font-size:10px;line-height:1.4;letter-spacing:.02em}
.class-card .practice-title-row+p{margin:0;width:100%}
@media(max-width:760px){.practice-title-row{gap:12px;margin:10px 0 12px}.class-card .practice-title-row h3{font-size:24px}.practice-title-row .practice-explore{padding:9px 13px}}

/* Yin-yang reveals sit inside the 112px-spaced circular mosaic motifs. */
.home-page .hero{position:relative;isolation:isolate}
.mosaic-yin-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.home-page .hero-copy,.home-page .hero-media{position:relative;z-index:1}
.mosaic-yin{position:absolute;width:42px;height:42px;margin:-21px;opacity:0;transform:rotate(-220deg) scale(.8);transition:opacity .55s ease,transform .65s cubic-bezier(.2,.65,.25,1);transition-delay:var(--yin-delay,0ms)}
.mosaic-yin svg{display:block;width:100%;height:100%;border-radius:50%;box-shadow:0 0 12px 5px #173f3580}
.mosaic-yin.is-revealed{opacity:.14;transform:rotate(0) scale(1)}
@media(prefers-reduced-motion:reduce){.mosaic-yin{transition:opacity .2s;transform:none}}

/* The original dark centre dissolves beneath the symbol, then returns on exit. */
.mosaic-yin{transform:none;transition:opacity .6s ease}
.mosaic-yin::before{content:"";position:absolute;inset:0;border-radius:50%;background:#173f35;box-shadow:0 0 5px 3px #173f35b3;opacity:.94}
.mosaic-yin svg{position:relative;opacity:.16;box-shadow:none;transform:rotate(-220deg) scale(.8);transition:transform .65s cubic-bezier(.2,.65,.25,1)}
.mosaic-yin.is-revealed{opacity:1;transform:none}
.mosaic-yin.is-revealed svg{transform:rotate(0) scale(1)}
@media(prefers-reduced-motion:reduce){.mosaic-yin svg{transition:none;transform:none}}

/* A consistent blush response for booking and exploration actions. */
body .button,.more-practices a,.text-link{transition:background-color .4s ease,border-color .4s ease,color .3s ease,box-shadow .4s ease,transform .3s ease}
:root body .button:not(:disabled):is(:hover,:focus-visible),.more-practices a:is(:hover,:focus-visible){background:#ebccd8;border-color:#ebccd8;color:#3d3040;box-shadow:0 3px 13px #b8839a25;transform:translateY(-1px)}
.text-link:is(:hover,:focus-visible){color:#b36f87;text-decoration-color:#ebccd8}
.home-page .hero-actions .text-link:is(:hover,:focus-visible),.booking-profile .text-link:is(:hover,:focus-visible){color:#ebccd8}
.calendar-grid button.available:not(:disabled):hover,.time-chip:not(:disabled):hover{background:#ebccd8;border-color:#ebccd8;color:#3d3040;transition:background-color .35s ease,color .3s ease}
@media(prefers-reduced-motion:reduce){body .button,.more-practices a,.text-link{transition:none}:root body .button:not(:disabled):is(:hover,:focus-visible),.more-practices a:is(:hover,:focus-visible){transform:none}}

/* Responsive photo sources preserve the existing frames and full mobile crop. */
picture{display:contents}

/* Long legacy policy URLs must not force a wider mobile content column. */
.prose{min-width:0;overflow-wrap:anywhere}.prose a{word-break:normal;overflow-wrap:anywhere}
@media(max-width:760px){input[type=email],input[type=text],input[type=tel],textarea,select{font-size:16px}.header{-webkit-backdrop-filter:blur(16px)}}
/* Home practice: a photograph alongside the three steps, with warm fine accents. */
.home-page .online{background-color:#173f35;background-image:radial-gradient(ellipse at 95% 15%,#e3ac8730,transparent 52%),radial-gradient(ellipse at 0% 100%,#a7856430,transparent 55%)}
.home-page .online .split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:7%;align-items:center}
.home-page .online .split>div{min-width:0;grid-column:1;grid-row:1}
.home-page .online .split>picture{display:block;grid-column:2;grid-row:1;position:relative;padding:10px;border:1px solid #d8b78970;border-radius:3px;background:#f4dcc314;box-shadow:0 16px 48px #173f351c}
.home-page .online .split>picture:before,.home-page .online .split>picture:after{content:'';position:absolute;width:28px;height:28px;border-color:#efc994;border-style:solid;pointer-events:none}
.home-page .online .split>picture:before{left:-4px;top:-4px;border-width:1px 0 0 1px}
.home-page .online .split>picture:after{right:-4px;bottom:-4px;border-width:0 1px 1px 0}
.home-page .online .online-picture{display:block;width:100%;height:auto;aspect-ratio:1122/1402;object-fit:cover;border-radius:1px}
.home-page .online .eyebrow{color:#f1c6ad}
.home-page .online h2{color:#fff3e5}
.home-page .online .step{border-top-color:#dbb88e55}
.home-page .online .step-number{color:#f0c3a5;border-color:#d7b083!important}
.home-page .online .steps{margin-top:25px}
@media(max-width:760px){.home-page .online .split{grid-template-columns:minmax(0,1fr);gap:32px}.home-page .online .split>picture{grid-column:1;grid-row:2;max-width:540px;width:100%;justify-self:center}.home-page .online .split>div{grid-column:1;grid-row:1}}

/* Explore More shares the navigation typography and blush underline. */
.nav-more>summary{position:relative;display:inline-block;font-family:inherit;font-size:10px;font-weight:400;letter-spacing:.13em;color:#173f35;text-transform:uppercase;line-height:inherit}
.nav-more>summary:is(:hover,:focus-visible),.nav-more[open]>summary{color:#89564f}
.nav-more[open]>summary::after{transform:scaleX(1)}
.mobile-book{display:none}
@media(min-width:951px) and (max-width:1100px){.nav-more>summary{font-size:9px}}
@media(max-width:950px){.nav{gap:14px}.nav>.mobile-book{display:inline-flex;margin-left:auto;flex-shrink:0;min-height:40px;padding:8px 11px;font-size:9px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}.nav>.menu-toggle{flex-shrink:0}.nav-more>summary{letter-spacing:.12em}}

/* Booking opens with every price and a compact complete month. */
.booking-page .page-hero{padding:20px 0}.booking-page .page-hero .eyebrow{display:none}.booking-page .page-hero h1{font-size:38px;margin:8px 0 10px}.booking-page .page-hero p{font-size:12px;max-width:650px;margin-bottom:0}.booking-page .breadcrumb{font-size:8px}
.booking-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px auto 0;max-width:1050px}
.booking-choices>a{display:grid;gap:3px;padding:13px 16px;background:#f5e8df;border:1px solid #d9c3b5;border-radius:3px;transition:background-color .3s,border-color .3s;color:#173f35;min-width:0}
.booking-choices>a:hover,.booking-choices>a:focus-visible{background:#ebccd8;border-color:#ce94a2}.booking-choices .monthly-choice{background:#e9d9df;border-color:#ba93a2}
.booking-choices span{font-size:11px;line-height:1.3}.booking-choices strong{font-family:Lora,Georgia,serif;font-size:26px;font-weight:400;line-height:1.3}.booking-choices small{font-size:8px;line-height:1.4;letter-spacing:.04em}
.booking-page #booking{padding:24px 0 32px}.booking-page .booking-intro{margin-bottom:12px}.booking-page .booking-intro h2{font-size:24px;margin:0 0 6px}.booking-page .booking-intro p{font-size:10px}
.booking-page .booking-shell{min-height:0;grid-template-columns:32% 68%}.booking-page .booking-profile{padding:20px}.booking-page .booking-profile h3{font-size:23px;margin:8px 0 12px}.booking-page .booking-profile>img{width:42px;height:42px}.booking-page .calendar-area{padding:20px 24px}.booking-page .calendar-title{font-size:19px}.booking-page .calendar-toolbar{margin-bottom:10px;padding-bottom:8px}.booking-page .calendar-grid{gap:5px}.booking-page .calendar-grid button{min-height:36px;height:36px;width:36px;justify-self:center;font-size:12px}.booking-page .calendar-grid .weekday{font-size:8px}.booking-page .calendar-bottom{padding-top:8px;margin-top:10px}.booking-page .demo-notice{margin:8px 0 0;font-size:9px}
@media(max-width:760px){.booking-page .page-hero{padding:14px 0}.booking-page .page-hero h1{font-size:30px}.booking-page .page-hero p{font-size:10px;line-height:1.5}.booking-choices{gap:7px;margin-top:12px}.booking-choices>a{padding:10px 8px}.booking-choices span{font-size:10px;min-height:26px}.booking-choices strong{font-size:23px}.booking-choices small{font-size:7px}.booking-page #booking{padding-top:16px}.booking-page .booking-intro h2{font-size:20px}.booking-page .booking-shell{grid-template-columns:1fr}.booking-page .booking-profile{padding:12px 16px}.booking-page .booking-profile>img,.booking-page .booking-profile>.eyebrow,.booking-page .booking-profile>.meta,.booking-page .booking-profile>.preview-label{display:none}.booking-page .booking-profile h3{font-size:18px;margin:0 0 8px}.booking-page .booking-profile select{padding:7px 9px;margin-bottom:6px}.booking-page .booking-profile label{font-size:9px}.booking-page .calendar-area{padding:14px}.booking-page .calendar-grid{gap:3px}.booking-page .calendar-grid button{width:36px;min-height:36px}.booking-page .booking-package{margin-top:3px}}
@media(prefers-reduced-motion:reduce){.booking-choices>a{transition:none}}

/* The approved opening mosaic repeats consistently through forest panels. */
.page-hero,.tile-accent,.online,.home-page .online,.newsletter,.booking-profile,.payment-panel{background-color:#173f35;background-image:url('/assets/moroccan-fara-peach-details.svg?v=warm73'),linear-gradient(#173f35ee,#173f35ee),url('/assets/moroccan-fara-seamless.svg');background-size:224px 224px,auto,224px 224px;background-repeat:repeat,no-repeat,repeat;background-position:0 0}
.sanctuary-divider{height:18px;background-color:#49364b;background-image:linear-gradient(#49364bd9,#49364bd9),url('/assets/moroccan-fara-royal-orange.svg');background-size:auto,144px 144px;background-position:0 0;border-top:1px solid #f0dfd9;border-bottom:1px solid #f0dfd9}
.booking-page .calendar-title{line-height:1.3;margin-bottom:10px}.booking-page .calendar-grid .day-name{font-size:9px;line-height:18px}.booking-page .booking-flow:empty{margin:0}
@media(max-width:760px){.booking-page .booking-profile{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 10px}.booking-page .booking-profile>picture{display:none}.booking-page .booking-profile h3{grid-column:1/-1;grid-row:1;margin-bottom:3px}.booking-page .booking-profile>label{grid-column:1;grid-row:2;margin:0}.booking-page .booking-profile>#practice-select{grid-column:1;grid-row:3;margin:0;width:100%}.booking-page .booking-package{grid-column:2;grid-row:2/span 2;margin:0;align-self:end}.booking-page .booking-package label{margin:0 0 4px}.booking-page .booking-package select{margin:0;width:100%}.booking-page .page-hero .breadcrumb{margin-bottom:6px}.booking-page .page-hero h1{margin-top:6px}.booking-choices>a{padding:8px}.booking-page #booking{padding-top:12px}.booking-page .booking-intro{margin-bottom:8px}.booking-page .calendar-toolbar{margin-bottom:7px;padding-bottom:5px}.booking-page .calendar-title{font-size:18px}.booking-page .calendar-grid .day-name{font-size:8px;line-height:15px}.booking-page .calendar-bottom{font-size:8px}}

/* Fine blush lattice and rosettes inspired by the supplied mosaic references. */
.price-card:not(.featured),.journey,.sidebar-box,.gift-enquiry,.zoom-comparison,.booking-gift-note,.booking-choices>a,.offer-card{background-image:url('/assets/moroccan-rose-rosette.svg?v=fine106');background-size:64px 64px;background-repeat:repeat;background-position:0 0}
.price-card:nth-child(3):not(.featured),.journey:nth-child(2),.booking-choices .monthly-choice,.gift-section,.price-tag{background-image:url('/assets/moroccan-blush-lattice.svg?v=fine106');background-size:48px 48px;background-repeat:repeat;background-position:0 0}
.gift-section{background-color:#f1ded8}.booking-choices .monthly-choice{background-color:#ead6dd}
.price-card.featured,.voucher-preview{background-color:#173f35;background-image:url('/assets/moroccan-fara-peach-details.svg?v=warm73'),linear-gradient(#173f35ee,#173f35ee),url('/assets/moroccan-fara-seamless.svg');background-size:224px 224px,auto,224px 224px;background-repeat:repeat,no-repeat,repeat;background-position:0 0}
.ribbon-blush-before,.ribbon-blush-after{background-image:url('/assets/moroccan-blush-lattice.svg?v=fine106');background-size:56px 56px}

/* All action buttons share neat uppercase labels. */
.button,button,.practice-explore,.session-button,.booking-choices>a{text-transform:uppercase}

/* One Class carries the blush tile; private sessions use the light ivory tile. */
.pricing-grid .price-card:first-child:not(.featured),.booking-choices>a:first-child{background-color:#f5e8e3;background-image:url('/assets/moroccan-blush-lattice.svg?v=fine106');background-size:48px 48px;background-repeat:repeat;background-position:0 0}
.pricing-grid .price-card:nth-child(3):not(.featured),.booking-choices>a:nth-child(3){background-color:#faf9f2;background-image:url('/assets/moroccan-rose-rosette.svg?v=fine106');background-size:64px 64px;background-repeat:repeat;background-position:0 0}
.booking-choices>a:first-child:hover,.booking-choices>a:first-child:focus-visible,.booking-choices>a:nth-child(3):hover,.booking-choices>a:nth-child(3):focus-visible{background-color:#ebccd8}

/* Community words and Muriel's practice share one compact editorial moment. */
.home-page .community-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:36px;max-width:1280px;margin:0 auto;padding:36px 5% 28px}
.home-page .community-pair .testimonials-carousel{padding:0;max-width:none;margin:0;width:100%;background:none}
.home-page .community-pair .quote-ornament{font-size:44px;height:36px;margin-top:10px}
.home-page .community-pair blockquote{font-size:clamp(20px,1.8vw,25px);line-height:1.45;margin:0 0 14px}
.home-page .community-pair .quote-name{margin-bottom:12px;font-size:8px}
.home-page .community-pair .muriel-photo-interlude{padding:0;background:none}
.home-page .community-pair .muriel-photo-interlude .wrap{padding:0}
.home-page .community-pair figure{width:100%;max-width:none;margin:0}
.home-page .community-pair .muriel-photo-interlude img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}
.home-page .community-pair .testimonial-controls{margin-top:10px;margin-bottom:12px}
@media(max-width:760px){.home-page .community-pair{grid-template-columns:minmax(0,1fr);gap:20px;padding:28px 7% 24px}.home-page .community-pair blockquote{font-size:21px}.home-page .community-pair .quote-ornament{font-size:36px;height:28px;margin-top:8px}.home-page .community-pair .quote-name{margin-bottom:8px}}

/* Quiet rounded booking links, balanced with the practice pills. */
.online .button{width:fit-content;max-width:100%;min-height:36px;padding:8px 15px;gap:0;border-radius:999px;background:#faf6ed0d;border:1px solid #f3e5d181;color:#faf6ed;font-size:9px;line-height:1.5;font-weight:400;letter-spacing:.1em;box-shadow:none}
.nav-links>.button,.nav-links>.button.compact-booking-button{min-height:36px;width:fit-content;padding:8px 15px;border-radius:999px;font-size:9px;line-height:1.5;letter-spacing:.1em;box-shadow:none}
.nav>.mobile-book{border-radius:999px;box-shadow:none}
@media(max-width:950px){.nav>.mobile-book{min-height:38px;padding:8px 12px;font-size:8px}}

/* One translucent action style throughout the site. */
:root body .button,:root body .button.compact-booking-button,:root body .nav-links>.button,:root body .nav>.mobile-book{display:inline-flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;min-height:36px;padding:8px 15px;gap:0;border-radius:999px;background:#faf6ed0d;border:1px solid #173f3570;color:#173f35;font-size:9px;line-height:1.5;font-weight:400;letter-spacing:.1em;box-shadow:none;flex:none}
:root body :is(.hero-copy,.online,.page-hero,.newsletter,.booking-profile,.payment-panel,.price-card.featured,.voucher-preview) .button{border-color:#f3e5d181;color:#faf6ed}
:root body .button:not(:disabled):is(:hover,:focus-visible){background:#ebccd8;border-color:#ebccd8;color:#3d3040;box-shadow:0 3px 13px #b8839a25}
:root body .contact-form .button{justify-self:start}

.nav .menu-toggle{font-size:9px!important;font-weight:400;letter-spacing:.1em;line-height:1.5;min-height:36px;padding:8px 0;gap:7px;color:#173f35}
.nav .menu-toggle .menu-mark,.nav .menu-toggle:hover .menu-mark{width:10px;height:10px;gap:2.4px}
.nav .menu-toggle .menu-mark i,.nav .menu-toggle .menu-mark i:nth-child(2){width:10px;height:.8px;transform:none}

/* Compact comparison row: prices and booking first, detail on demand. */
.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.pricing-grid .price-card{padding:32px 20px 18px;min-height:0;border-radius:16px 5px}
.price-card>.eyebrow{display:none}.price-card h3{font-size:21px;line-height:1.25;margin:0 0 12px;min-height:53px}.price-value{font-size:35px}.price-value span{font-size:10px;margin-top:5px;min-height:28px}.price-card .button{margin-top:14px!important}.price-card .price-tag{top:8px;left:20px;right:auto;padding:3px 7px;font-size:7px;line-height:1.4}
.price-details{margin-top:10px;font-size:10px}.price-details summary{cursor:pointer;color:inherit;opacity:.8;font-size:9px;letter-spacing:.05em}.price-details p{font-size:12px;line-height:1.65;margin:12px 0}.price-details .price-secondary{font-size:10px;margin:8px 0 0}
@media(max-width:760px){.pricing-grid{gap:7px}.pricing-grid .price-card{padding:30px 8px 12px;border-radius:12px 4px}.price-card h3{font-size:14px;min-height:53px;margin-bottom:8px}.price-value{font-size:27px}.price-value span{font-size:8px;line-height:1.5;min-height:30px}.price-card .price-tag{left:5px;right:5px;top:7px;font-size:6px;padding:2px 3px;justify-content:center;gap:3px;flex-wrap:wrap}:root body .price-card .button{font-size:7px;padding:6px 8px;min-height:32px;letter-spacing:.05em}.price-details p{font-size:10px}.price-details .price-secondary{font-size:9px}}

.pricing-grid .price-card h3{font-size:21px!important;line-height:1.25!important;min-height:53px;margin:0 0 12px!important}.pricing-grid .price-card .price-value{font-size:35px}.pricing-grid .price-card .price-value span{min-height:28px;line-height:1.5}.pricing-grid .price-card .price-details{margin-top:10px}
@media(max-width:760px){.pricing-grid .price-card h3{font-size:14px!important;min-height:53px;margin-bottom:8px!important}.pricing-grid .price-card .price-value{font-size:27px}.pricing-grid .price-card .price-value span{min-height:30px;font-size:8px}.pricing-grid .price-card .button{margin-top:14px!important}}

/* A shorter calendar without compressing the controls. */
.booking-shell{min-height:0}.calendar-area{padding:20px}.calendar-toolbar{margin-bottom:10px;padding-bottom:8px}.calendar-title{margin-bottom:12px}.calendar-grid{gap:4px}.calendar-grid .day{height:34px;min-height:34px;width:34px}.calendar-bottom{margin-top:10px;padding-top:10px}.home-page .booking-profile{padding:22px}.home-page .booking-profile img{width:42px;height:42px;margin-bottom:10px}.home-page .booking-profile h3{font-size:24px;margin:8px 0 12px}.home-page .booking-profile select{padding:8px 10px;margin:6px 0 12px}.home-page .booking-profile p{font-size:10px;line-height:1.6}.home-page .booking-profile .preview-label{margin:8px 0 3px}.home-page .booking-intro{margin-bottom:22px}
@media(max-width:760px){.calendar-area,.booking-page .calendar-area{padding:12px 14px}.calendar-grid{gap:2px}.calendar-grid .day,.booking-page .calendar-grid button{height:32px;min-height:32px;width:32px}.home-page .booking-profile{padding:14px 16px}.home-page .booking-profile>picture,.home-page .booking-profile>.eyebrow,.home-page .booking-profile>.meta,.home-page .booking-profile>.preview-label,.home-page .booking-profile>p{display:none}.home-page .booking-profile h3{font-size:18px;margin:0 0 6px}.home-page .booking-profile select{margin:4px 0 6px;padding:7px 9px}.home-page .booking-package{margin-top:6px}.home-page .booking-intro{margin-bottom:14px}.home-page .booking-intro h2{font-size:30px;margin-bottom:10px}.calendar-title{font-size:19px}.calendar-bottom{font-size:8px}}

.voucher-preview{position:relative;padding-top:88px}.voucher-bow{position:absolute;right:14px;top:4px;width:94px;height:74px;pointer-events:none;filter:drop-shadow(0 1px 1px #34271520)}
@media(max-width:760px){.voucher-preview{padding-top:74px}.voucher-bow{width:80px;height:63px;right:12px}}

.nav>.mobile-book{display:none!important}@media(max-width:950px){.nav>.mobile-book{display:inline-flex!important}}

.classes-grid .practice-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;margin:8px 0}.classes-grid .practice-title-row h3{margin:0;line-height:1.25}.classes-grid .practice-title-row .practice-explore{align-self:center;margin:0!important;flex-shrink:0}.classes-grid .class-card .image{height:auto;aspect-ratio:4/3}.classes-grid .class-card .image img{width:100%;height:100%;object-fit:cover}.classes-grid .class-card p{margin-top:0}
@media(max-width:760px){.classes-grid .practice-title-row{min-height:52px;margin:8px 0}}

/* Richer pink mosaic: floral geometry, quiet teal, plum and ochre tesserae. */
.journey:nth-child(2),.gift-section,.gift-enquiry,.booking-gift-note,.offer-card,.pricing-grid .price-card:first-child:not(.featured),.booking-choices>a:first-child{background-image:url('/assets/moroccan-pink-medallions.svg');background-size:168px 168px;background-repeat:repeat;background-position:0 0}
.journey:nth-child(2){background-color:#efd6d4}.journey:nth-child(2)::before{opacity:.28}
.pricing-grid .price-card:nth-child(3):not(.featured),.booking-choices>a:nth-child(3){background-image:url('/assets/moroccan-pink-medallions.svg');background-size:64px 64px}

/* Final consistency pass: compact offers keep the shared action lettering. */
@media(max-width:760px){:root body .price-card .button{font-size:9px;line-height:1.5;letter-spacing:0;min-height:36px;padding:6px 5px}.pricing-grid .price-card{padding-left:6px;padding-right:6px}}

.pricing-grid .price-card:nth-child(3):not(.featured),.booking-choices>a:nth-child(3){background-size:144px 144px;background-image:linear-gradient(#fffaf16e,#fffaf16e),url('/assets/moroccan-pink-medallions.svg');background-size:auto,144px 144px}

/* A soft mineral wash lets the intricate circles sit behind the typography. */
.journey:nth-child(2),.gift-section,.gift-enquiry,.booking-gift-note,.offer-card,.pricing-grid .price-card:first-child:not(.featured),.booking-choices>a:first-child{background-image:linear-gradient(#f4e8e2b8,#f4e8e2b8),url('/assets/moroccan-pink-medallions.svg');background-size:auto,168px 168px;background-repeat:no-repeat,repeat}
.pricing-grid .price-card:nth-child(3):not(.featured),.booking-choices>a:nth-child(3){background-image:linear-gradient(#fffaf1cc,#fffaf1cc),url('/assets/moroccan-pink-medallions.svg');background-size:auto,144px 144px}

/* Shared price-option palette on every listing and booking comparison. */
:root{--offer-pink:#f5e8e3;--offer-green:#173f35;--offer-ivory:#faf9f2;--offer-pink-pattern:linear-gradient(#f4e8e2b8,#f4e8e2b8),url('/assets/moroccan-pink-medallions.svg');--offer-green-pattern:url('/assets/moroccan-fara-peach-details.svg?v=warm73'),linear-gradient(#173f35ee,#173f35ee),url('/assets/moroccan-fara-seamless.svg');--offer-ivory-pattern:linear-gradient(#fffaf1cc,#fffaf1cc),url('/assets/moroccan-pink-medallions.svg')}
:root body .pricing-grid .price-card.offer-single,:root body .booking-choices>a.offer-single{background-color:var(--offer-pink);background-image:var(--offer-pink-pattern);background-size:auto,168px 168px;background-repeat:no-repeat,repeat;background-position:0 0;color:#173f35;border-color:#d5c8bb}
:root body .pricing-grid .price-card.offer-monthly,:root body .booking-choices>a.offer-monthly{background-color:var(--offer-green);background-image:var(--offer-green-pattern);background-size:224px 224px,auto,224px 224px;background-repeat:repeat,no-repeat,repeat;background-position:0 0;color:#f5f3ea;border-color:#173f35}
:root body .pricing-grid .price-card.offer-private,:root body .booking-choices>a.offer-private{background-color:var(--offer-ivory);background-image:var(--offer-ivory-pattern);background-size:auto,144px 144px;background-repeat:no-repeat,repeat;background-position:0 0;color:#173f35;border-color:#d5c8bb}
:root body .booking-choices>a{border-radius:16px 5px}
:root body .booking-choices>a:is(:hover,:focus-visible){border-color:#c58e99;box-shadow:0 3px 13px #b8839a25;transform:translateY(-1px)}
@media(max-width:760px){:root body .booking-choices>a{border-radius:12px 4px}}

/* Four-session monthly booking, using the established quiet booking style. */
.pack-selection{margin-top:18px;padding-top:18px;border-top:1px solid #d6d8cc}.pack-selection h3{font-size:20px;margin:0 0 8px}.pack-selection p{margin:8px 0}.pack-session-list{padding:0;list-style:none;margin:12px 0}.pack-session-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #e2dfd4;font-size:12px;line-height:1.6}.pack-session-list .text-link{flex-shrink:0;font-size:10px}.pack-selection .button{margin-top:8px}.pack-selection .button:disabled{opacity:.55;cursor:default}.payment-session-list{padding-left:20px;font-size:14px;line-height:1.8}.payment-session-list li{margin-bottom:10px}@media(max-width:760px){.pack-selection h3{font-size:18px}.pack-session-list li{font-size:11px}.pack-selection .view-status{font-size:11px}}

/* All original reviews, with compact pagination and room to read. */
.home-page .community-pair .quote-dots{flex-wrap:wrap;justify-content:center;max-width:103px;row-gap:8px;flex-shrink:0}.home-page .community-pair .testimonial-controls{gap:12px;flex-wrap:wrap}.home-page .community-pair .testimonial-full{font-size:10px;display:inline-block;margin-bottom:6px}.home-page .community-pair #testimonial-slides{min-height:340px}.prose blockquote[id]{scroll-margin-top:115px}@media(max-width:760px){.home-page .community-pair #testimonial-slides{min-height:370px}}

#kind-words{scroll-margin-top:110px}

/* Alternating light panels carry a quiet, geometrically seamless Flower of Life. */
:root body .flower-life.flower-life-ivory{background-image:url('/assets/flower-of-life-ivory.svg');background-size:96px 83.138439px;background-repeat:repeat;background-position:0 0}
:root body .flower-life.flower-life-blush{background-image:url('/assets/flower-of-life-blush.svg');background-size:96px 83.138439px;background-repeat:repeat;background-position:0 0}
:root body .pricing-grid .price-card.offer-private,:root body .booking-choices>a.offer-private{background-image:url('/assets/flower-of-life-ivory.svg');background-size:96px 83.138439px;background-repeat:repeat}

/* The home sanctuary combines a faint nineteen-circle Flower of Life with softened mosaic. */
.home-page .online{background-image:url('/assets/flower-of-life-forest.svg'),linear-gradient(#173f3555,#173f3555),url('/assets/moroccan-fara-peach-details.svg?v=warm73'),linear-gradient(#173f35f4,#173f35f4),url('/assets/moroccan-fara-seamless.svg');background-size:224px 224px,auto,224px 224px,auto,224px 224px;background-repeat:repeat,no-repeat,repeat,no-repeat,repeat;background-position:0 0}

/* Sanctuary refinement: peach circle geometry leads; the original mosaic is only a trace. */
.home-page .online{background-image:url('/assets/flower-of-life-forest.svg?v=peach127'),linear-gradient(#173f35fa,#173f35fa),url('/assets/moroccan-fara-seamless.svg');background-size:224px 224px,auto,224px 224px;background-repeat:repeat,no-repeat,repeat;background-position:0 0}

/* A continuous interlocking circle weave, softly integrated rather than isolated medallions. */
.home-page .online{background-image:url('/assets/flower-of-life-forest.svg?v=weave128'),linear-gradient(#173f35f8,#173f35f8),url('/assets/moroccan-fara-seamless.svg');background-size:132px 114.315354px,auto,224px 224px;background-repeat:repeat,no-repeat,repeat;background-position:0 0}

/* Every sanctuary line and shadow follows the same continuous circle lattice. */
.home-page .online{background-image:url('/assets/flower-of-life-forest.svg?v=petals131'),radial-gradient(ellipse at 85% 15%,#e3ac8709,transparent 65%);background-size:132px 114.315354px,auto;background-repeat:repeat,no-repeat;background-position:0 0;background-color:#173f35}

/* Return to the original rich mosaic, with Flower of Life aligned to its 112px rosette rhythm. */
.home-page .online{background-image:url('/assets/flower-of-life-forest.svg?v=original132'),linear-gradient(#173f3526,#173f3526),url('/assets/moroccan-fara-peach-details.svg?v=warm73'),linear-gradient(#173f35ee,#173f35ee),url('/assets/moroccan-fara-seamless.svg');background-size:224px 224px,auto,224px 224px,auto,224px 224px;background-repeat:repeat,no-repeat,repeat,no-repeat,repeat;background-position:0 0;background-color:#173f35}

/* Testimonials arrive first; online benefits follow as a concise three-point note. */
.home-page .zoom-benefits{padding:32px 0 36px}
.home-page .zoom-benefits .section-head{margin-bottom:18px;align-items:center}
.home-page .zoom-benefits h2{font-size:clamp(30px,3vw,42px);margin:6px 0 0}
.home-page .zoom-benefits .benefit-grid{gap:24px}
.home-page .zoom-benefits .benefit-grid article{padding:16px 0 0}
.home-page .zoom-benefits .benefit-grid h3{font-size:23px;line-height:1.3;margin:10px 0 10px}
.home-page .zoom-benefits .benefit-grid p{margin:0;font-size:12px;line-height:1.75}
@media(max-width:760px){.home-page .zoom-benefits{padding:24px 0 28px}.home-page .zoom-benefits .section-head{margin-bottom:16px}.home-page .zoom-benefits .section-head .text-link{display:inline-block;margin-top:12px}.home-page .zoom-benefits .benefit-grid{gap:14px}.home-page .zoom-benefits .benefit-grid article{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:10px;padding:14px 0 0}.home-page .zoom-benefits .benefit-number{grid-column:1;grid-row:1/span 2;font-size:15px}.home-page .zoom-benefits .benefit-grid h3{grid-column:2;margin:0 0 6px;font-size:20px}.home-page .zoom-benefits .benefit-grid p{grid-column:2}}

/* An ivory-and-grey embossed echo of the approved forest mosaic. */
.home-page .journey-stage{background-color:#faf9f5;background-image:url('/assets/flower-of-life-embossed.svg?v=quiet137');background-size:224px 224px;background-repeat:repeat;background-position:0 0;padding-bottom:36px}
.home-page .journey-stage .section-head{margin-bottom:24px}

/* Rest and reconnect: a cool blue-lavender note beside warm blush. */
.home-page .journey-stage .journey:first-child{background-color:#e3e6f0;border-color:#c9cedc;color:#3b485c}
.home-page .journey-stage .journey:first-child .eyebrow{color:#65728b}
.home-page .journey-stage .journey:first-child p{color:#5a6576}
.home-page .journey-stage .journey:first-child .text-link{color:#465a75}
.home-page .journey-stage .journey:first-child .text-link:is(:hover,:focus-visible){color:#a66383}

/* A crisp white pause for pricing, then the familiar moving practice ribbon. */
.home-page .pricing-section{background-color:#fff;background-image:none}
.home-page .booking-ribbon+.ribbon-blush-after+#booking{padding-top:56px}
@media(max-width:760px){.home-page .booking-ribbon+.ribbon-blush-after+#booking{padding-top:42px}}

/* The second ribbon echoes the approved Flower of Life mosaic in its plum, blush and peach palette. */
.home-page .booking-ribbon{background-color:#49364b;background-image:url('/assets/flower-of-life-plum.svg'),linear-gradient(#49364bde,#49364bde),url('/assets/moroccan-fara-royal-orange.svg');background-size:224px 224px,auto,224px 224px;background-repeat:repeat,no-repeat,repeat;background-position:0 -28px,0 0,0 -28px;color:#fff4e8}

/* Soft ivory keeps the pricing pause light without the glare of pure white. */
.home-page .pricing-section{background-color:#faf8f2;background-image:none}

/* Fine brocade rhythm: smaller matched mosaic repeats and champagne petal filigree. */
.home-page .booking-ribbon{background-image:url('/assets/flower-of-life-plum.svg?v=filigree140'),linear-gradient(#49364be3,#49364be3),url('/assets/moroccan-fara-royal-orange.svg');background-size:168px 168px,auto,168px 168px;background-position:0 -17px,0 0,0 -17px}

/* Centre the 84px-spaced rosettes on the moving text at every banner height. */
.home-page .booking-ribbon{background-position:0 calc(50% + 42px),0 0,0 calc(50% + 42px)}

/* A little more breathing room around the online-benefit text. */
.home-page .zoom-benefits{padding:44px 0 48px}
.home-page .zoom-benefits .section-head{margin-bottom:26px}
.home-page .zoom-benefits .benefit-grid article{padding:22px 0 8px}
.home-page .zoom-benefits .benefit-grid h3{margin:14px 0 14px}
@media(max-width:760px){.home-page .zoom-benefits{padding:34px 0 38px}.home-page .zoom-benefits .section-head{margin-bottom:22px}.home-page .zoom-benefits .benefit-grid{gap:18px}.home-page .zoom-benefits .benefit-grid article{padding:18px 0 6px}.home-page .zoom-benefits .benefit-grid h3{margin:0 0 10px}}

/* Muriel's lakeside practice introduces breathwork within Beyond the Mat. */
.home-page .resources .resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.home-page .resources .resource-card .eyebrow{margin-top:20px}
.home-page .resources .resource-card h3{font-size:27px;line-height:1.3}
.home-page .resources .breathwork-card img{object-position:50% 20%}
.home-page .resources .resource-card .text-link{display:inline-block;margin-top:6px;text-transform:uppercase;font-size:9px;letter-spacing:.1em}
@media(max-width:760px){.home-page .resources .resource-grid{grid-template-columns:minmax(0,1fr);gap:30px}.home-page .resources .resource-card h3{font-size:25px}}

/* Alternate deep-green panels echo the approved sanctuary pattern; price options retain their shared palette. */
:root body .forest-life,:root body .pricing-grid .price-card.offer-monthly,:root body .booking-choices>a.offer-monthly{background-color:#173f35;background-image:url('/assets/flower-of-life-forest.svg?v=original132'),linear-gradient(#173f3526,#173f3526),url('/assets/moroccan-fara-peach-details.svg?v=warm73'),linear-gradient(#173f35ee,#173f35ee),url('/assets/moroccan-fara-seamless.svg');background-size:224px 224px,auto,224px 224px,auto,224px 224px;background-repeat:repeat,no-repeat,repeat,no-repeat,repeat;background-position:0 0}

/* A calmer, gently paced scroll for both practice banners. */
.ribbon-track{animation-duration:125s}

/* Give the homepage calendar introduction a little more breathing room. */
.home-page #booking{padding-top:56px}
.home-page #booking .booking-intro{margin-bottom:30px}
@media(max-width:760px){.home-page #booking{padding-top:42px}.home-page #booking .booking-intro{margin-bottom:22px}}

/* Quiet the two journey-panel patterns without fading their text or base colours. */
:root body .home-page .journey-stage .journey:first-child{background-image:linear-gradient(#e3e6f066,#e3e6f066),url('/assets/flower-of-life-ivory.svg');background-size:auto,96px 83.138439px;background-repeat:no-repeat,repeat}
:root body .home-page .journey-stage .journey:nth-child(2){background-image:linear-gradient(#f3e5dfd2,#f3e5dfd2),url('/assets/moroccan-pink-medallions.svg');background-size:auto,168px 168px;background-repeat:no-repeat,repeat}

/* A proportional, 25-percent reduction of the announcement strip. */
.announcement{font-size:6.75px;padding:5.25px 11.25px;letter-spacing:.2em}

/* Each motif has its own pace; reveal, rotation and return share one clock and easing. */
.mosaic-yin{transition:opacity var(--yin-duration,950ms) cubic-bezier(.22,.61,.36,1);transition-delay:0s}
.mosaic-yin svg{transition:transform var(--yin-duration,950ms) cubic-bezier(.22,.61,.36,1)}
@media(prefers-reduced-motion:reduce){.mosaic-yin{transition:opacity .2s ease}.mosaic-yin svg{transition:none;transform:none}}

/* Matching resource panels echo the quiet white journey canvas. */
.home-page .resources .resource-card{display:flex;flex-direction:column;background:none;min-width:0}
.home-page .resources .resource-copy{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px;background-color:#faf9f5;background-image:url('/assets/flower-of-life-embossed.svg?v=quiet137');background-size:224px 224px;background-repeat:repeat;background-position:0 0;border:1px solid #e5e3db;border-top:0;border-radius:0 0 12px 4px}
.home-page .resources .resource-copy .eyebrow{margin:0 0 9px}
.home-page .resources .resource-copy h3{margin:0 0 14px;font-size:27px;line-height:1.3}
.home-page .resources .resource-copy p{margin:0 0 18px}
.home-page .resources .resource-copy .text-link{margin-top:auto;padding-top:6px}
@media(max-width:760px){.home-page .resources .resource-copy{padding:20px}.home-page .resources .resource-copy h3{font-size:25px}}

/* More breathing room between the homepage hero and the first moving ribbon. */
.home-page .hero+.ribbon-blush-before{height:12px;background:#eceade;background-image:none}
@media(max-width:760px){.home-page .hero+.ribbon-blush-before{height:8px}}

/* Balance the first practice heading with the spacer above the ribbon. */
.home-page .hero+.ribbon-blush-before+.practice-ribbon+.ribbon-blush-after+.section{padding-top:9px}
@media(max-width:760px){.home-page .hero+.ribbon-blush-before+.practice-ribbon+.ribbon-blush-after+.section{padding-top:5.5px}}

/* The opening ribbon carries warm terracotta and the approved intricate circle geometry. */
.home-page .hero+.ribbon-blush-before+.practice-ribbon{background-color:#803d20;background-image:url('/assets/flower-of-life-burnt-orange.svg?v=brown167'),linear-gradient(#803d20eb,#803d20eb),url('/assets/moroccan-fara-royal-orange.svg');background-size:168px 168px,auto,168px 168px;background-repeat:repeat,no-repeat,repeat;background-position:0 calc(50% + 42px),0 0,0 calc(50% + 42px);border-top-color:#ecc2a169;border-bottom-color:#ecc2a169;color:#fffaf5}
.home-page .hero+.ribbon-blush-before+.practice-ribbon .ribbon-group a{color:#fffaf5;text-shadow:0 1px 2px #58271340}
.home-page .hero+.ribbon-blush-before+.practice-ribbon .ribbon-group a:is(:hover,:focus-visible){color:#fff;text-shadow:0 0 8px #f4c29d66}

/* A cohesive warm palette: one ivory canvas, peach details and soft blush responses. */
:root{--site-ivory:#faf8f2;--site-peach:#e8b99e;--cream:var(--site-ivory);--linen:var(--site-ivory)}
body{background-color:var(--site-ivory)}
.header{background:rgba(250,248,242,.97);border-bottom-color:#dcd6c9}
.footer{background-color:var(--site-ivory)}
.home-page :is(.zoom-benefits,.pricing-section,.about-band,.resources,.journey-stage,#booking,.testimonials-carousel){background-color:var(--site-ivory)}
.home-page .resource-copy{background-color:var(--site-ivory)}
.home-page .hero+.ribbon-blush-before{background-color:var(--site-ivory)}
.home-page .hero-copy>.eyebrow,.home-page .online .eyebrow{color:var(--site-peach)}
.home-page .online .step-number{color:var(--site-peach);border-color:#e8b99e80!important}
.home-page .price-tag{background-color:#eed8d3;color:#563d38}
:root body .button,:root body .button.compact-booking-button,:root body .nav-links>.button,:root body .nav>.mobile-book{background-color:#e8b99e26;border-color:#aa795e80}
:root body :is(.hero-copy,.online,.page-hero,.newsletter,.booking-profile,.payment-panel,.price-card.featured,.voucher-preview) .button{background-color:#e8b99e26;border-color:#e8b99e99;color:#faf8f2}
:root body .button:not(:disabled):is(:hover,:focus-visible){background:#ebccd8;border-color:#d4aaa0;color:#3d3040;box-shadow:0 3px 13px #b8839a25}
:root body .button:focus-visible{outline-color:#b57c65}

/* The supplied Sanchi relief becomes a shallow, flowing wood frieze. */
.home-page .hero+.ribbon-blush-before+.practice-ribbon{position:relative;isolation:isolate;overflow:visible;background-image:none;border-color:#6b321c}
.home-page .hero+.ribbon-blush-before+.practice-ribbon::before{content:"";position:absolute;inset:50% 0 auto;height:94px;transform:translateY(-50%);background:url('/assets/sanchi-carved-wood-frieze-v1.png') center/auto 94px repeat-x;filter:brightness(.72) saturate(.8);opacity:.94;pointer-events:none;z-index:0}
.home-page .hero+.ribbon-blush-before+.practice-ribbon .ribbon-viewport{position:relative;z-index:1}
.home-page .hero+.ribbon-blush-before+.practice-ribbon .ribbon-group a{text-shadow:0 1px 3px #32180bcc}

/* Identical blush hairlines sit within the balanced ivory gaps. */
.home-page .hero+.ribbon-blush-before{border-bottom:3px solid #ebccd8}
.home-page .hero+.ribbon-blush-before+.practice-ribbon{border-top:0;border-bottom:0}
.home-page .hero+.ribbon-blush-before+.practice-ribbon+.ribbon-blush-after{height:3px;background:#ebccd8;background-image:none}
@media(max-width:760px){.home-page .hero+.ribbon-blush-before{border-bottom-width:2.5px}.home-page .hero+.ribbon-blush-before+.practice-ribbon+.ribbon-blush-after{height:2.5px}}

/* Carved foliage and precise Flower of Life geometry share the opening frieze. */
.home-page .hero+.ribbon-blush-before+.practice-ribbon{background-image:linear-gradient(#803d20ef,#803d20ef),url('/assets/moroccan-fara-royal-orange.svg');background-size:auto,168px 168px;background-position:0 0,0 calc(50% + 42px);background-repeat:no-repeat,repeat}
.home-page .hero+.ribbon-blush-before+.practice-ribbon::before{opacity:.43;filter:brightness(.78) saturate(.85)}
.home-page .hero+.ribbon-blush-before+.practice-ribbon::after{content:"";position:absolute;inset:0;background:url('/assets/flower-of-life-carved-blend-v1.svg') 0 calc(50% + 42px)/168px 168px repeat;pointer-events:none;z-index:0}

/* Let the home-practice photograph sit cleanly beside the sanctuary guidance. */
.home-page .online .split>picture{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:hidden}
.home-page .online .split>picture::before,.home-page .online .split>picture::after{display:none}
.home-page .online .online-picture{border-radius:0;object-position:center}

/* Echo the sanctuary reference: nineteen-circle flowers aligned with fine ceramic rosettes. */
.home-page .hero+.ribbon-blush-before+.practice-ribbon{background-image:url('/assets/moroccan-fara-peach-details.svg?v=reference173'),linear-gradient(#803d20d9,#803d20d9),url('/assets/moroccan-fara-seamless.svg');background-size:168px 168px,auto,168px 168px;background-position:0 calc(50% + 42px),0 0,0 calc(50% + 42px);background-repeat:repeat,no-repeat,repeat}
.home-page .hero+.ribbon-blush-before+.practice-ribbon::before{opacity:.28}

/* Let the carved branches breathe beyond the precise circle weave. */
.home-page .hero+.ribbon-blush-before+.practice-ribbon::before{height:104px;background-size:auto 104px;opacity:.72;filter:brightness(.76) saturate(.94)}

/* Interlocking lotus petals echo the supplied floral reference, sharing the circle lattice. */
.home-page .hero+.ribbon-blush-before+.practice-ribbon::after{background-image:url('/assets/flower-of-life-carved-blend-v1.svg'),url('/assets/indian-interlocking-petals-v1.svg');background-size:168px 168px,168px 168px;background-position:0 calc(50% + 42px),0 calc(50% + 42px);background-repeat:repeat,repeat}

/* A single relief unifies the botanical carving and interlocking petal geometry. */
.home-page .hero+.ribbon-blush-before+.practice-ribbon{background:#74381f;background-image:none}
.home-page .hero+.ribbon-blush-before+.practice-ribbon::before{background-image:url('/assets/interwoven-carved-frieze-v2.png');background-size:auto 104px;height:104px;opacity:1;filter:brightness(.66) saturate(.8)}
.home-page .hero+.ribbon-blush-before+.practice-ribbon::after{display:none}

/* A softer terracotta leaf weave replaces the hard carved relief. */
.home-page .hero+.ribbon-blush-before+.practice-ribbon{background:#874323}
.home-page .hero+.ribbon-blush-before+.practice-ribbon::before{background-image:url('/assets/flowing-leaf-frieze-v3.png');filter:brightness(.74) saturate(.9);opacity:1}

/* Return to the site's fine sanctuary mosaic, translated into warm terracotta. */
.home-page .hero+.ribbon-blush-before+.practice-ribbon{background-color:#814022;background-image:url('/assets/flower-of-life-terracotta-v1.svg'),url('/assets/indian-interlocking-petals-v1.svg'),url('/assets/moroccan-fara-peach-details.svg'),linear-gradient(#814022dd,#814022dd),url('/assets/moroccan-fara-seamless.svg');background-size:168px 168px,168px 168px,168px 168px,auto,168px 168px;background-position:0 calc(50% + 42px),0 calc(50% + 42px),0 calc(50% + 42px),0 0,0 calc(50% + 42px);background-repeat:repeat,repeat,repeat,no-repeat,repeat}
.home-page .hero+.ribbon-blush-before+.practice-ribbon::before,.home-page .hero+.ribbon-blush-before+.practice-ribbon::after{display:none}

/* Delicate botanical tips grow from the same warm mosaic at the band edges. */
.home-page .hero+.ribbon-blush-before+.practice-ribbon::before{display:block;height:84px;background:url('/assets/terracotta-leaf-fringe-v1.svg') center/168px 84px repeat-x;opacity:1;filter:none}

/* Keep botanical detail inside the intricate relief, without detached edge decorations. */
.home-page .hero+.ribbon-blush-before+.practice-ribbon::before{display:none}

/* Pipal branches and petal geometry are integrated in one quiet terracotta relief. */
.home-page .hero+.ribbon-blush-before+.practice-ribbon{background-color:#814022;background-image:linear-gradient(#71381a70,#71381a70),url('/assets/sanchi-mosaic-mirrored-v1.svg');background-size:auto,auto 144px;background-position:0 0,center;background-repeat:no-repeat,repeat-x}
.home-page .hero+.ribbon-blush-before+.practice-ribbon::before,.home-page .hero+.ribbon-blush-before+.practice-ribbon::after{display:none}

/* Botanical relief is a quiet trace within the familiar fine mosaic finish. */
.home-page .hero+.ribbon-blush-before+.practice-ribbon{background-color:#814022;background-image:url('/assets/flower-of-life-terracotta-v1.svg'),url('/assets/moroccan-fara-peach-details.svg'),linear-gradient(#814022c9,#814022c9),url('/assets/sanchi-mosaic-mirrored-v1.svg');background-size:168px 168px,168px 168px,auto,auto 144px;background-position:0 calc(50% + 42px),0 calc(50% + 42px),0 0,center;background-repeat:repeat,repeat,no-repeat,repeat-x}

/* Mirrored repeat boundaries and small connected botanical forms share the same texture. */
.home-page .hero+.ribbon-blush-before+.practice-ribbon::before{display:block;height:84px;background-image:linear-gradient(#814022c9,#814022c9),url('/assets/sanchi-mosaic-mirrored-v1.svg');background-size:auto,auto 144px;background-position:0 0,center;background-repeat:no-repeat,repeat-x;filter:none;opacity:1;-webkit-mask-image:url('/assets/integrated-leaf-edge-mask.svg');mask-image:url('/assets/integrated-leaf-edge-mask.svg');-webkit-mask-size:224px 84px;mask-size:224px 84px;-webkit-mask-repeat:repeat-x;mask-repeat:repeat-x;-webkit-mask-position:center;mask-position:center}

/* Keep the refined mosaic within a clean, even banner edge. */
.home-page .hero+.ribbon-blush-before+.practice-ribbon::before{display:none}

/* Supplied Indian tapestry adds a fine, softly tinted woven detail within the band. */
.home-page .hero+.ribbon-blush-before+.practice-ribbon{background-image:url('/assets/flower-of-life-terracotta-v1.svg'),url('/assets/indian-tapestry-warm-detail-v1.svg'),url('/assets/moroccan-fara-peach-details.svg'),linear-gradient(#814022c9,#814022c9),url('/assets/sanchi-mosaic-mirrored-v1.svg');background-size:168px 168px,336px 336px,168px 168px,auto,auto 144px;background-position:0 calc(50% + 42px),center,0 calc(50% + 42px),0 0,center;background-repeat:repeat,repeat,repeat,no-repeat,repeat-x}

/* Exchange the first two forest compositions while retaining their shared lattice. */
:root body .home-page .hero{background-color:#173f35;background-image:url('/assets/flower-of-life-forest.svg?v=original132'),linear-gradient(#173f3526,#173f3526),url('/assets/moroccan-fara-peach-details.svg?v=warm73'),linear-gradient(#173f35ee,#173f35ee),url('/assets/moroccan-fara-seamless.svg');background-size:224px 224px,auto,224px 224px,auto,224px 224px;background-repeat:repeat,no-repeat,repeat,no-repeat,repeat;background-position:0 0}
:root body .home-page #your-sanctuary{background-color:#173f35;background-image:url('/assets/moroccan-fara-peach-details.svg?v=warm73'),linear-gradient(#173f35ee,#173f35ee),url('/assets/moroccan-fara-seamless.svg');background-size:224px 224px,auto,224px 224px;background-repeat:repeat,no-repeat,repeat;background-position:0 0;position:relative;isolation:isolate}
.home-page #your-sanctuary .split{position:relative;z-index:1}
.home-page .hero .mosaic-yin{width:78px;height:78px;margin:-39px}
.home-page .hero .mosaic-yin::before{background:#173f35;box-shadow:0 0 6px 4px #173f35c0}
.home-page .hero .mosaic-yin svg{opacity:.12}

/* Quiet, staggered entrances keep the pace soft without altering section spacing. */
.scroll-reveal{opacity:.55;translate:0 12px;transition:opacity 700ms cubic-bezier(.22,.61,.36,1),translate 700ms cubic-bezier(.22,.61,.36,1);transition-delay:var(--reveal-delay,0ms)}
.scroll-reveal.is-in-view{opacity:1;translate:0 0}
@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;translate:none;transition:none}}

/* Smaller diagonal motifs unwind in the opposite direction. */
.home-page .hero .mosaic-yin-small,.home-page #your-sanctuary .mosaic-yin-small{width:28px;height:28px;margin:-14px}
.mosaic-yin-small svg{transform:rotate(220deg) scale(.8);opacity:.12}
.mosaic-yin-small.is-revealed svg{transform:rotate(0) scale(1)}
.mosaic-yin-small::before{box-shadow:0 0 3px 2px #173f3580}
@media(prefers-reduced-motion:reduce){.mosaic-yin-small svg{transform:none;transition:none}}

/* The main symbol fits the next inner ring of each Flower of Life rosette. */
.home-page .hero .mosaic-yin:not(.mosaic-yin-small){width:56px;height:56px;margin:-28px}

/* A little more breathing room before the opening practice introduction. */
.home-page .hero+.ribbon-blush-before+.practice-ribbon+.ribbon-blush-after+.section{padding-top:19px}
@media(max-width:760px){.home-page .hero+.ribbon-blush-before+.practice-ribbon+.ribbon-blush-after+.section{padding-top:11.5px}}

/* Top navigation keeps its blush highlight without decorative underlines. */
.header a,.header a:hover,.header a:focus-visible,.header summary,.menu-toggle{text-decoration:none}
.header .menu-toggle::after,.header .nav-links>a:not(.button)::after,.header .nav-more>summary::after{display:none}

/* Keep the opening practice introduction together on the left. */
.home-page .hero+.ribbon-blush-before+.practice-ribbon+.ribbon-blush-after+.section .section-head{display:block}
.home-page .hero+.ribbon-blush-before+.practice-ribbon+.ribbon-blush-after+.section .section-head>p{max-width:560px;margin:14px 0 0;text-align:left}

/* One clear price choice leads straight into the calendar on the booking page. */
.booking-page .pricing-section{padding-top:22px;padding-bottom:20px}
.booking-page .pricing-section .section-head{margin-bottom:16px}
.booking-page .pricing-section .section-head h2{font-size:28px}
.booking-page .pricing-section .pricing-note{margin-bottom:0}
.booking-page #booking{padding-top:8px}
@media(max-width:760px){.booking-page .pricing-section{padding-top:16px;padding-bottom:16px}.booking-page .pricing-section .section-head h2{font-size:24px}}

/* Calendar choices use the site's calm, consistent typography. */
.booking-profile select,.booking-profile select option{font-family:Jost,Arial,sans-serif;font-size:13px;font-weight:400;letter-spacing:.025em;line-height:1.5}
.booking-profile select{padding:9px 12px;color:#173f35;background-color:#faf8f2;border-radius:5px}
.booking-profile label.view-status{font-family:Jost,Arial,sans-serif;font-weight:400;letter-spacing:.09em}
@media(max-width:760px){.booking-profile select{font-size:13px;padding:8px 11px}}

/* Narrow practice cards retain compact 4:3 photographs rather than growing full-width. */
@media(max-width:760px){
.home-page .classes-grid{grid-template-columns:minmax(0,1fr);gap:26px}
.home-page .classes-grid .class-card{display:grid;grid-template-columns:minmax(0,clamp(100px,32vw,190px)) minmax(0,1fr);column-gap:20px;align-items:start}
.home-page .classes-grid .class-card-link{grid-column:1;grid-row:1 / span 2;min-width:0;width:100%}
.home-page .classes-grid .class-card .image{width:100%;height:auto;aspect-ratio:4/3}
.home-page .classes-grid .practice-title-row{grid-column:2;grid-row:1;width:100%;min-height:0;margin:0 0 10px;gap:10px;flex-wrap:wrap;justify-content:flex-start}
.home-page .classes-grid .practice-title-row h3{font-size:21px}
.home-page .classes-grid .class-card>p{grid-column:2;grid-row:2;margin:0;font-size:12px;line-height:1.65}
.home-page .classes-grid .category{margin-top:10px;font-size:7px}
}
@media(max-width:420px){.home-page .classes-grid .class-card{column-gap:15px}.home-page .classes-grid .practice-title-row h3{font-size:19px}}

/* Client review: consistent Pantone 567 C screen approximation. */
:root{--green:#173f35;--forest:#173f35;--plum:#173f35;--ink:#173f35;--muted:#173f35}
body p{color:#173f35}
.hero p,.online p,.footer p,.newsletter p,.price-card.featured p{color:inherit}
.home-page .online{border-top:0;border-bottom:0}
.home-page .online::before,.home-page .online::after{display:none}
.home-page .classes-grid{border-bottom:0}
.home-page .online .step{border-top-color:rgba(255,255,255,.22)}
.home-page .hero-media img,.home-page .resource-card img,.home-page .online img{filter:saturate(.76) contrast(.96)}
:root body #booking-practice-banner{background-color:#594a63;background-image:linear-gradient(#594a63d9,#594a63d9),url('/assets/flower-of-life-forest.svg');background-size:auto,168px 168px;color:#fffaf5;border-color:transparent}
:root body .home-page .hero+.ribbon-blush-before+.practice-ribbon{border-color:transparent}
.home-page .ribbon-blush-before,.home-page .ribbon-blush-after{border-color:transparent}

/* Practice photographs receive a restrained, natural screen treatment. */
.class-card img{filter:saturate(.78) contrast(.97);object-fit:cover}
.class-card:nth-child(3) img{object-position:50% 30%}
.home-page .online .split>div p{font-size:15px;color:#faf8f2}
.home-page .classes-grid .class-card>p{color:#173f35}
@media(max-width:760px){.home-page .classes-grid .class-card>p{font-size:13px}}

.booking-profile p,.page-hero p,.newsletter p,.online p{color:#faf8f2}

/* Approved C, C, B, B: rose veil, ink blue, warm photos, all Muriel. */
:root body #booking-practice-banner{background-color:#394c61;background-image:linear-gradient(#394c61db,#394c61db),url('/assets/flower-of-life-forest.svg');color:#fffaf5}
.home-page .hero-media img,.home-page .resource-card img,.home-page .online img,.class-card img{filter:saturate(.67) contrast(.96) sepia(.09)}

/* Soft rose banner: retain the approved intricate weave beneath a blush wash. */
:root body .home-page .hero+.ribbon-blush-before+.practice-ribbon{background:#ebccd8;color:#173f35;border-color:transparent;isolation:isolate}
:root body .home-page .hero+.ribbon-blush-before+.practice-ribbon::before{content:"";display:block;position:absolute;inset:0;width:100%;height:100%;background-image:url('/assets/flower-of-life-terracotta-v1.svg'),url('/assets/indian-tapestry-warm-detail-v1.svg'),url('/assets/moroccan-fara-peach-details.svg'),linear-gradient(#814022c9,#814022c9),url('/assets/sanchi-mosaic-mirrored-v1.svg');background-size:168px 168px,336px 336px,168px 168px,auto,auto 144px;background-position:0 calc(50% + 42px),center,0 calc(50% + 42px),0 0,center;background-repeat:repeat,repeat,repeat,no-repeat,repeat-x;filter:hue-rotate(295deg) saturate(.55) brightness(1.5);opacity:.28;mask:none;-webkit-mask:none;pointer-events:none;z-index:0}
:root body .home-page .hero+.ribbon-blush-before+.practice-ribbon .ribbon-viewport{position:relative;z-index:1}
:root body .home-page .hero+.ribbon-blush-before+.practice-ribbon a{color:#173f35;text-shadow:none}

/* Anchor the texture to the pink ribbon rather than the page. */
:root body .home-page .hero+.ribbon-blush-before+.practice-ribbon{position:relative;overflow:hidden}
:root body .home-page .hero+.ribbon-blush-before+.practice-ribbon::before{inset:0;transform:none;translate:none;margin:0;border-radius:0}

/* Both moving ribbons scale to sixty percent of their previous height. */
:root body .practice-ribbon .ribbon-group{padding-top:9.6px;padding-bottom:9.6px;gap:24px;padding-right:24px}
:root body .practice-ribbon .ribbon-group a{font-size:10.8px}
:root body .practice-ribbon .ribbon-group>span{flex-basis:9.6px;width:9.6px;height:10.2px}
:root body .practice-ribbon .ribbon-group .ribbon-om{width:9.6px;height:10.2px}
:root body #booking-practice-banner{background-size:auto,100.8px 100.8px}
:root body .home-page .hero+.ribbon-blush-before+.practice-ribbon::before{background-size:100.8px 100.8px,201.6px 201.6px,100.8px 100.8px,auto,auto 86.4px;background-position:0 calc(50% + 25.2px),center,0 calc(50% + 25.2px),0 0,center}
@media(max-width:760px){:root body .practice-ribbon .ribbon-group{padding-top:8.4px;padding-bottom:8.4px;gap:15px;padding-right:15px}:root body .practice-ribbon .ribbon-group a{font-size:9.6px}}

/* Match both moving strips to the 23px announcement banner. */
:root body .practice-ribbon{height:23px;min-height:0;padding-top:0;padding-bottom:0;border-top:0;border-bottom:0}
:root body .practice-ribbon .ribbon-viewport,:root body .practice-ribbon .ribbon-track{height:100%}
:root body .practice-ribbon .ribbon-group{height:100%;padding-top:0;padding-bottom:0;align-items:center}
:root body .practice-ribbon .ribbon-group a{font-size:9px;line-height:1.2}
:root body .practice-ribbon .ribbon-group>span{height:9px;width:8.5px;flex-basis:8.5px}
:root body .practice-ribbon .ribbon-group .ribbon-om{width:8.5px;height:9px}

/* Quiet video stories, paired with the original written testimonials. */
.video-stories{min-width:0;width:100%;padding:20px 24px;background:#ebccd833;border:1px solid #173f3517;border-radius:12px}
.video-stories h2{font-size:clamp(23px,2.3vw,31px);margin:8px 0 18px;color:#173f35}
.video-story-stage{position:relative;background:#173f35;border-radius:8px;overflow:hidden;aspect-ratio:4/3}
.video-story{height:100%;width:100%;position:relative;animation:video-story-in .7s ease both}
.video-story[hidden]{display:none}
.video-story video{display:block;width:100%;height:100%;object-fit:contain;background:#173f35}
.video-listen{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);border:1px solid #ffffff70;border-radius:999px;background:#faf8f2e8;color:#173f35;padding:9px 14px;font:500 10px Jost,sans-serif;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;cursor:pointer}
.video-listen:hover{background:#ebccd8}
.video-story-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:15px;flex-wrap:wrap}
.video-story-controls button{background:transparent;border:0;padding:6px 0;color:#173f35;font:500 9px Jost,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:color .3s}
.video-story-controls button:hover{color:#905c75}
.video-story-count{font:400 11px Jost,sans-serif;color:#173f35}
.video-story-hint{font:400 11px Jost,sans-serif;text-align:center;margin:8px 0 0;color:#173f35}
@keyframes video-story-in{from{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:760px){.video-stories{padding:16px}.video-story-stage{aspect-ratio:4/3}.video-stories h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){.video-story{animation:none}}

/* Portrait film carousel: horizontal depth, edge-to-edge phone footage. */
:root body .video-stories{background:transparent;border:0;padding:14px 0 10px;overflow:hidden}
:root body .video-stories>.eyebrow,:root body .video-stories>h2{text-align:center}
:root body .video-story-stage{position:relative;aspect-ratio:auto;height:410px;background:transparent;border-radius:0;overflow:visible;perspective:1100px;margin:22px 0 18px;isolation:isolate}
:root body .video-story{position:absolute;left:44%;top:0;width:225px;height:400px;border-radius:15px;overflow:hidden;background:#173f35;box-shadow:0 16px 28px #173f3524;animation:none;transition:transform 1.25s cubic-bezier(.22,.7,.25,1),opacity 1.25s ease,box-shadow 1.25s ease;transform-origin:center;will-change:transform}
:root body .video-story[data-position="active"]{transform:translateX(-50%) rotateY(0);z-index:3;opacity:1}
:root body .video-story[data-position="next"]{transform:translateX(39%) translateZ(-115px) rotateY(-19deg) scale(.88);z-index:1;opacity:.72}
:root body .video-story[data-position="previous"]{transform:translateX(-139%) translateZ(-115px) rotateY(19deg) scale(.88);z-index:1;opacity:.65}
:root body .video-story[data-position="back"]{transform:translateX(80%) translateZ(-250px) scale(.7);opacity:0;pointer-events:none;z-index:0}
:root body .video-story video{object-fit:cover;width:100%;height:100%;border-radius:inherit}
:root body .video-listen{bottom:19px;font-size:8px;padding:9px 12px;max-width:95%;box-shadow:0 2px 15px #173f3520}
:root body .video-story[data-position="next"] .video-listen,:root body .video-story[data-position="previous"] .video-listen{font-size:8px}
:root body .video-story-controls{gap:13px;margin-top:12px}
@media(max-width:1000px){:root body .video-story-stage{height:365px}:root body .video-story{width:202px;height:359px;left:40%}}
@media(max-width:760px){:root body .video-story-stage{height:390px;margin-top:18px}:root body .video-story{width:214px;height:380px;left:42%}:root body .video-stories{padding:12px 0}:root body .video-story[data-position="next"]{transform:translateX(28%) translateZ(-115px) rotateY(-19deg) scale(.84)}}
@media(prefers-reduced-motion:reduce){:root body .video-story{transition:none}}

/* Keep the monthly-pack recommendation a small side pill on phones. */
@media(max-width:760px){
 :root body .price-card .price-tag.recommendation-tag{top:-8px;left:auto;right:6px;width:max-content;max-width:none;display:inline-flex;flex-wrap:nowrap;justify-content:flex-start;gap:4px;padding:3px 6px;font-size:6px;line-height:1.4;letter-spacing:.045em;border-radius:999px;white-space:nowrap;box-shadow:0 2px 5px #173f3510}
 :root body .recommendation-tag .badge-saving{padding-left:4px;letter-spacing:.025em}
}

/* Restore luminous, natural colour to photography across every page. */
:root body img:is([src$=".jpg"],[src$=".jpeg"],[src$=".webp"]){filter:brightness(1.075) saturate(1.1) contrast(1.045)}
:root body .home-page .hero-media img,:root body .home-page .resource-card img,:root body .home-page .online img,:root body .class-card img{filter:brightness(1.075) saturate(1.1) contrast(1.045)}

/* Muriel's voice-note review: readable branding and a unified welcome. */
:root body .header .lotus-mark{width:156px;height:auto;max-width:none}
:root body .header .nav{min-height:116px;gap:22px;padding-top:12px;padding-bottom:12px}
:root body .header .nav-links{gap:22px}
:root body .header .nav-links>a:not(.button),:root body .header .nav-more>summary{font-size:12px;letter-spacing:.09em}
:root body .announcement{font-size:11px;line-height:1.5;padding:9px 16px;letter-spacing:.13em;background:#ebccd8;color:#173f35}
:root body .header .nav-links>.button,:root body .header .nav>.mobile-book{background:#173f35;color:#faf8f2;border:1px solid #173f35;border-radius:5px;font-size:11px;padding:10px 17px;min-height:40px;transition:background .35s,color .35s,border-color .35s}
:root body .header .nav-links>.button:is(:hover,:focus-visible),:root body .header .nav>.mobile-book:is(:hover,:focus-visible){background:#ebccd8;color:#173f35;border-color:#ebccd8}
:root body .home-page .hero h1 em{font:inherit;color:inherit;letter-spacing:inherit}
:root body .home-page .hero-copy>.eyebrow{font-size:13px;line-height:1.6;letter-spacing:.13em}
:root body .home-page .hero-copy>.eyebrow::before{display:none}
@media(max-width:1100px){
 :root body .header .nav-links{gap:14px}
 :root body .header .nav-links>a:not(.button),:root body .header .nav-more>summary{font-size:11px}
}
@media(max-width:1000px){
 :root body .header .lotus-mark{width:124px}
 :root body .header .nav{min-height:102px;gap:16px}
 :root body .header .nav-links>a:not(.button),:root body .header .nav-more>summary{font-size:14px}
 :root body .nav .menu-toggle{font-size:11px!important;min-height:44px}
}
@media(max-width:420px){
 :root body .header .lotus-mark{width:108px}
 :root body .header .nav{min-height:94px;padding-left:5%;padding-right:5%;gap:12px}
 :root body .header .nav>.mobile-book{font-size:10px;padding:9px 11px}
 :root body .announcement{font-size:9px;padding:8px 10px;letter-spacing:.08em}
 :root body .home-page .hero-copy>.eyebrow{font-size:11px;letter-spacing:.1em}
}

/* Home is the first destination in the expanded menu. */
.header .nav-links>.menu-home{display:none}
@media(max-width:950px){.header .nav-links>.menu-home{display:block}}

@media(max-width:950px){
 :root body .header .nav-links>.button{align-self:flex-start;margin:0;padding:9px 0;min-height:0;border:0;border-radius:0;background:transparent;color:#173f35;font-size:14px;letter-spacing:.09em;text-align:left;justify-content:flex-start}
 :root body .header .nav-links>.button:is(:hover,:focus-visible){background:transparent;color:#89564f}
}

/* Muriel's second review: a simpler opening and readable Zoom invitation. */
:root body .announcement{font-size:13px;padding:10px 16px}
:root body .home-page .hero-actions{align-items:center;gap:14px}
@media(max-width:420px){:root body .announcement{font-size:11px;padding:9px 10px;letter-spacing:.07em}}

/* The header lotus retains its softly layered pink and purple wash. */
:root body .header .brand .lotus-petal{fill:#d9bacb;opacity:.42;animation:none;transition:none}
:root body .header .brand .lotus-inner{fill:#bc98cb}
:root body .header .brand .lotus-centre{fill:#c594bc}

/* A more responsive carousel retains a gentle glide between films. */
:root body .video-story{transition-duration:1s,1s,1s}
@media(prefers-reduced-motion:reduce){:root body .video-story{transition:none}}

.video-story-stage{touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
:root body .video-story{translate:var(--drag-x,0px) 0;transition:transform 1s cubic-bezier(.22,.7,.25,1),opacity 1s ease,box-shadow 1s ease,translate .35s ease}
:root body .video-story-stage.is-dragging{cursor:grabbing}
:root body .video-story-stage.is-dragging .video-story{transition:none}
@media(prefers-reduced-motion:reduce){:root body .video-story{transition:none}}

/* Clear, lotus-inspired option buttons retain the established card colours. */
:root body .pricing-grid .price-card>.button{background:#e6cfdc;border-color:#b68ea7;color:#173f35;box-shadow:none}
:root body .pricing-grid .price-card.offer-monthly>.button{background:#cbb1d4;border-color:#cbb1d4;color:#173f35}
:root body .pricing-grid .price-card.offer-private>.button{background:#76527e;border-color:#76527e;color:#fff}
:root body .pricing-grid .price-card>.button:is(:hover,:focus-visible){background:#916d97;border-color:#916d97;color:#fff}
:root body .booking-welcome-title{font-family:Jost,sans-serif;font-size:clamp(26px,3.2vw,40px);font-weight:400;letter-spacing:.08em;line-height:1.25}

/* Compact, uniform practice actions beside their titles on mobile. */
@media(max-width:760px){
 :root body .classes-grid .practice-title-row{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:8px;min-height:0;margin:0 0 8px}
 :root body .classes-grid .practice-title-row h3{flex:1;min-width:0;margin:0;font-size:18px;line-height:1.25}
 :root body .classes-grid .practice-title-row .practice-explore{flex:0 0 auto;align-self:center;width:auto;min-width:0;min-height:0;margin:0!important;padding:6px 8px;font-size:8px;line-height:1.35;letter-spacing:.04em;white-space:nowrap;border-radius:99px}
}

/* Client review: simpler library headings and lighter testimonial typography. */
.clean-page-hero .eyebrow::before{display:none}
.testimonial-page .prose blockquote{border-left:0;padding-left:0;font-size:18px;line-height:1.7}
.testimonial-page .prose blockquote p{font-size:18px;line-height:1.7}
@media(max-width:760px){.testimonial-page .prose blockquote,.testimonial-page .prose blockquote p{font-size:17px}}

/* Softer headings for the pranayama instructions. */
.prose.pranayama-prose h2{font-size:clamp(24px,2.3vw,28px);font-weight:400;line-height:1.25}

/* Client review: compact reading rhythm and consistent offer presentation. */
.testimonial-page .prose blockquote{margin:26px 0 8px;padding-top:0;padding-bottom:0}
.testimonial-page .prose blockquote p:last-child{margin-bottom:0}
.testimonial-page #review-claire-pitcher p{margin-bottom:0}
.prose .library-heading{margin-bottom:12px}
.prose .wellness-library{gap:10px}
.prose .wellness-library a{padding:14px 18px}
.prose .wellness-library h3{margin:0 0 5px}
.prose .gandhi-quote{font-style:italic}
.prose .gandhi-quote p{font:inherit;margin-bottom:8px}
.prose .gandhi-quote cite{font-size:15px;font-style:normal}
:root body :is(.page-hero,.hero-copy,.online,.newsletter,.booking-profile,.payment-panel) :is(h1,h2,h3),:root body .booking-welcome-title{font-family:Lora,Georgia,serif;font-weight:400}
:root body .pricing-grid .price-card.uniform-offer,:root body .booking-choices>a.uniform-offer{background-color:var(--offer-ivory);background-image:url('/assets/flower-of-life-ivory.svg');background-size:96px 83.138439px;background-repeat:repeat;background-position:0 0;color:#173f35;border-color:#d5c8bb}
:root body .price-card.uniform-offer :is(h3,p,.eyebrow,.price-value,.price-value span,.price-details summary,.price-secondary){color:inherit}
:root body .pricing-grid .price-card.uniform-offer h3{font-size:24px;line-height:1.25;font-weight:400;max-width:none}
:root body .pricing-grid .price-card.uniform-offer>.button{background:#76527e;border-color:#76527e;color:#fff}
:root body .pricing-grid .price-card.uniform-offer>.button:is(:hover,:focus-visible){background:#916d97;border-color:#916d97;color:#fff}

/* Further client refinements to quotations. */
.testimonial-page #review-judie-and-david-clifford p{margin-bottom:0}
.prose .gandhi-quote{border-left:0;padding-left:0;font-size:18px;line-height:1.7}

/* Testimonials lead the practices, with the same two-column order on phones. */
@media(max-width:760px){
.home-page .community-pair{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:14px;padding:26px 5% 22px;align-items:start}
.home-page .community-pair>section{min-width:0}
.home-page .community-pair .eyebrow{font-size:7px;letter-spacing:.08em;line-height:1.5}
.home-page .community-pair .video-stories h2{font-size:20px;line-height:1.2}
.home-page .community-pair blockquote{font-size:14px;line-height:1.5}
.home-page .community-pair #testimonial-slides{min-height:0}
.home-page .community-pair .quote-ornament{font-size:28px;height:22px}
.home-page .community-pair .quote-name{font-size:7px;line-height:1.5}
.home-page .community-pair .testimonial-controls{gap:7px}
.home-page .community-pair .quote-dots{gap:6px;max-width:100%;flex-basis:100%}
.home-page .community-pair .text-link{font-size:9px}
:root body .home-page .community-pair .video-story-stage{height:270px;margin:10px 0 12px;overflow:hidden}
:root body .home-page .community-pair .video-story{width:calc(100% - 12px);max-width:152px;height:100%;left:50%;box-shadow:none;border-radius:10px}
:root body .home-page .community-pair .video-story-controls{gap:8px;margin-top:8px}
.home-page .community-pair .video-story-hint{font-size:9px;line-height:1.5}
}

/* A compact community section keeps both testimonial formats together. */
.home-page .community-pair{padding-top:24px;padding-bottom:18px;gap:26px}
.home-page .community-pair #testimonial-slides{min-height:210px}
.home-page .community-pair blockquote{font-size:20px;line-height:1.4;margin-bottom:10px}
.home-page .community-pair .video-stories h2{margin:6px 0 12px;font-size:26px}
:root body .home-page .community-pair .video-story-stage{height:315px;margin:12px 0}
:root body .home-page .community-pair .video-story{width:177px;height:315px}
@media(max-width:760px){
.home-page .community-pair{gap:14px;padding-top:18px;padding-bottom:16px}
.home-page .community-pair #testimonial-slides{min-height:0}
.home-page .community-pair blockquote{font-size:14px;line-height:1.45}
.home-page .community-pair .video-stories h2{font-size:19px;margin-bottom:8px}
:root body .home-page .community-pair .video-story-stage{height:230px;margin:8px 0}
:root body .home-page .community-pair .video-story{width:calc(100% - 12px);max-width:129px;height:230px}
}

/* The practice cards share the quiet white mosaic used for the journey section. */
.home-page .practice-section{background-color:var(--site-ivory);background-image:linear-gradient(var(--site-ivory) 0 32px,transparent 32px),url('/assets/flower-of-life-embossed.svg?v=quiet137');background-size:100% 100%,224px 224px;background-repeat:no-repeat,repeat;background-position:0 0}

/* Written stories use the same compact, draggable navigation as video stories. */
.quote-count{font:400 11px Jost,sans-serif;color:#173f35;white-space:nowrap}
#testimonial-slides{touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none;translate:var(--quote-drag-x,0px) 0;transition:translate .5s cubic-bezier(.22,.7,.25,1)}
#testimonial-slides.quote-is-dragging{cursor:grabbing;transition:none}
.home-page .community-pair .testimonial-controls{flex-wrap:nowrap;gap:13px}
@media(prefers-reduced-motion:no-preference){.testimonial-slide:not([hidden]){animation:quote-slide-in .55s ease both}@keyframes quote-slide-in{from{opacity:.35;transform:translateX(7px)}to{opacity:1;transform:translateX(0)}}}
@media(prefers-reduced-motion:reduce){#testimonial-slides{transition:none}}

/* Neighbouring review cards make the horizontal carousel visible. */
.home-page .community-pair #testimonial-slides{position:relative;overflow:hidden;min-height:0;margin:12px -8px 0;padding:0;cursor:auto;transition:height .6s ease,translate .5s cubic-bezier(.22,.7,.25,1)}
#testimonial-slides.quote-is-dragging{cursor:auto}
.home-page .community-pair .testimonial-slide{position:absolute;left:50%;top:0;width:82%;padding:16px 14px;background:var(--site-ivory);border:0;border-radius:10px;box-shadow:none;transition:transform .8s cubic-bezier(.22,.7,.25,1),opacity .8s ease;animation:none;transform-origin:center}
.home-page .community-pair .testimonial-slide[data-position="active"]{transform:translateX(-50%);opacity:1;z-index:2}
.home-page .community-pair .testimonial-slide[data-position="next"]{transform:translateX(54%) scale(.92);opacity:.45;z-index:1}
.home-page .community-pair .testimonial-slide[data-position="previous"]{transform:translateX(-154%) scale(.92);opacity:.45;z-index:1}
.home-page .community-pair .testimonial-slide[data-position="back"]{transform:translateX(165%) scale(.86);opacity:0;pointer-events:none;z-index:0}
.home-page .community-pair #testimonial-slides.quote-is-dragging .testimonial-slide{transition:none}
@media(max-width:760px){.home-page .community-pair .testimonial-slide{padding:10px 8px;width:82%}.home-page .community-pair .testimonial-slide blockquote{font-size:13px}}
@media(prefers-reduced-motion:reduce){.home-page .community-pair #testimonial-slides,.home-page .community-pair .testimonial-slide{transition:none}}

/* Three complementary routes into practice. */
.home-page .journey-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.home-page .journey-stage .journey{display:flex;flex-direction:column;padding:28px}
.home-page .journey-stage .journey h3{font-size:clamp(25px,2.5vw,34px)}
.home-page .journey-stage .journey .text-link{margin-top:auto}
.home-page .journey-stage .journey-flow{background:#e6ede7 url('/assets/flower-of-life-embossed.svg') 0 0/224px;color:#173f35;border-color:#cbd8ce}
.home-page .journey-stage .journey-flow p{color:#4a6356}
@media(max-width:900px){.home-page .journey-grid{grid-template-columns:1fr}}

/* Make practice times distinct from the introductory copy. */
.classes-grid .class-card .practice-schedule{margin-top:18px;color:#173f35;font-weight:600}.practice-schedule small{font-weight:400}.practice-schedule a{text-decoration:underline;text-underline-offset:3px}

/* Keep addresses intact and the bottom of the footer clean. */
a[href^="mailto:"]{white-space:nowrap;overflow-wrap:normal;word-break:normal;font-size:min(1em,4vw)}
.footer::after{display:none}

/* Uniform typography for every footer column heading. */
.footer .footer-grid h4{font-family:Jost,Arial,sans-serif;font-size:12px;font-weight:500;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;margin:0 0 18px}

/* Keep testimonial controls inside the smallest phone viewport. */
@media(max-width:400px){.home-page .community-pair .testimonial-controls{flex-wrap:wrap;gap:8px;max-width:100%}.home-page .community-pair .quote-pause{flex-basis:100%;margin:0 auto}.home-page .community-pair .quote-dots{max-width:95px}}

/* Discreet sound control; native playback overlays stay disabled. */
.video-story .video-mute{position:absolute;right:0;top:0;z-index:5;isolation:isolate;min-width:66px;min-height:44px;padding:0 12px;border:0;border-radius:24px;background:transparent;color:white;font:500 9px/1.2 Jost,sans-serif;cursor:pointer}.video-story .video-mute::before{content:'';position:absolute;inset:7px 6px;z-index:-1;border:1px solid #ffffff70;border-radius:24px;background:#173c31b3;backdrop-filter:blur(8px);pointer-events:none}.video-story .video-mute[hidden]{display:none}
@media(max-width:600px){.video-story .video-mute{min-width:60px;padding:0 10px;font-size:9px}.video-story .video-mute::before{inset:9px 6px}}

/* Playback icons keep a comfortable hit area without a prominent button. */
:root body .video-listen[data-playback]{left:auto;right:3px;bottom:3px;transform:none;width:44px;height:44px;max-width:none;padding:0;border:0;border-radius:50%;background:transparent;color:#e5e5e5;box-shadow:none;display:grid;place-items:center;font-size:0}
.video-listen[data-playback]:before{content:'';position:absolute;inset:10px;border-radius:50%;background:#80808045;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.video-listen[data-playback]:after{content:'';position:relative;width:8px;height:10px;border-left:2px solid currentColor;border-right:2px solid currentColor;opacity:.8}
.video-listen[data-playback="paused"]:after{width:0;height:0;border:5px solid transparent;border-left:7px solid currentColor;border-right:0;margin-left:2px}
.video-listen[data-playback]:hover:before{background:#80808075}.video-listen[data-playback]:focus-visible{outline:2px solid #ddd;outline-offset:0}

/* Client-supplied sanctuary photographs; existing lead image retained. */
.sanctuary-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-self:center;min-width:0}.sanctuary-gallery>picture{grid-column:1/-1}.sanctuary-gallery .online-picture{display:block;height:clamp(260px,27vw,320px)}.sanctuary-gallery>button{display:block;width:100%;padding:0;border:0;border-radius:5px;overflow:hidden;background:#173f35;cursor:zoom-in}.sanctuary-gallery>button img{display:block;width:100%;height:auto;aspect-ratio:1.3;object-fit:cover}

.home-page .online .split>.sanctuary-gallery{grid-column:2;grid-row:1;width:100%}.sanctuary-gallery>picture{display:block}.home-page .online .sanctuary-gallery .online-picture{height:clamp(260px,27vw,320px);aspect-ratio:auto}.sanctuary-gallery>button:focus-visible{outline:3px solid #faf8f2;outline-offset:4px}@media(max-width:760px){.home-page .online .split>.sanctuary-gallery{grid-column:1;grid-row:2;max-width:540px;justify-self:center}}

/* Keep a real thumbnail visible until the video has a decoded frame. */
.video-story .video-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.video-story video{position:relative;z-index:1}.video-story:not([data-video-ready=true]) video{opacity:0}.video-story[data-video-ready=true] .video-poster{visibility:hidden}.video-story .video-status{position:absolute;left:8px;right:8px;top:12px;z-index:4;padding:6px 8px;border-radius:5px;background:#173f35dd;color:#fff;font:12px/1.4 Jost,sans-serif;text-align:center;pointer-events:none}.video-story .video-status[hidden]{display:none}
