:root{--paper:#f7f5ed;--ink:#243d31;--sage:#dce3d3;--muted:#5d6c60;--line:#d5d8cc;--white:#fffef9;--serif:'Helvetica Neue',Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #9b580f;outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.09;letter-spacing:-2px}h1{font-size:clamp(48px,5.25vw,82px)}h2{font-size:clamp(36px,4.1vw,60px)}h3{font-size:21px;font-weight:500;line-height:1.3}h1 em,h2 em{font-weight:400;color:#667f60}p{color:var(--muted);font-size:16px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:var(--ink);margin-bottom:24px}.section{padding:100px max(6vw,24px)}.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:50px}.section-heading>p{max-width:340px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:17px 24px;border-radius:4px;font-size:12px;font-weight:600;transition:background .2s,transform .2s}.button:hover{transform:translateY(-3px)}.button span{font-size:19px}.dark{background:var(--ink);color:var(--paper)}.dark:hover{background:#3d5742}.light{background:var(--paper);color:var(--ink)}.outline{border:1px solid var(--ink)}.text-link{display:inline-block;padding:8px 0;border-bottom:1px solid #8d9c86;font-size:12px;font-weight:600}.text-link span{margin-left:25px}.skip{position:fixed;top:-80px;left:10px;z-index:99;background:white;padding:15px}.skip:focus{top:10px}header{height:96px;position:fixed;inset:0 0 auto;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:12px 6vw;transition:background .3s,box-shadow .3s}header.solid,header.menu-open{background:rgba(247,245,237,.97);box-shadow:0 1px 0 var(--line)}.brand img{width:143px;height:62px;object-fit:contain}nav{display:flex;align-items:center;gap:32px;font-size:12px}nav>a{padding:8px 0}nav>a.active{box-shadow:0 1px 0 var(--ink)}nav .nav-cta{padding:11px 18px;border:1px solid #788575;border-radius:3px}.nav-cta span{margin-left:25px}.menu-toggle{display:none}.hero-scroll{height:290vh}.hero-sticky{position:sticky;top:0;min-height:760px;height:100svh;display:flex;flex-direction:column;padding:120px 6vw 0}.hero-grid{display:grid;grid-template-columns:1.04fr 1fr;gap:5vw;flex:1;min-height:0;align-items:center}.hero-copy{padding:10px 0 20px}.hero-copy .eyebrow{font-size:9px;letter-spacing:1.65px;display:flex;align-items:center;gap:12px}.tiny-sun{font-size:24px;color:#6c8058}.hero-description{max-width:360px;font-size:15px;margin:26px 0}.hero-secondary{display:table;margin-top:15px}.hero-foot{display:flex;gap:13px;align-items:center;margin-top:38px;font-size:9px;letter-spacing:1.8px}.hero-foot small{display:block;letter-spacing:0;font-size:10px;color:var(--muted);margin-top:3px}.small-orbit{font-size:35px}.hero-visual{height:100%;max-height:680px;min-height:420px;position:relative;border-radius:180px 180px 7px 7px;overflow:hidden;background:#d9d8c9}.photo-stack{height:100%;position:relative}.pose{position:absolute;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.045);transition:opacity .65s ease,transform 1s ease}.pose.active{opacity:1;transform:scale(1)}.pose:first-child{object-position:51% center}.pose:nth-child(4){object-position:51% center}.hero-visual:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgba(18,33,24,.7));pointer-events:none}.visual-top{position:absolute;top:30px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:15px;color:var(--ink);font-size:8px;letter-spacing:2px}.visual-top>span:first-child{background:#f7f5ede8;padding:5px 10px;border-radius:20px}.visual-top>span:last-child{display:none}.pose-caption{position:absolute;bottom:57px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;color:white;z-index:2}.pose-caption>span:first-child{font:italic 25px var(--serif)}#pose-count{font-size:10px;letter-spacing:1px}.pose-controls{display:flex;position:absolute;bottom:27px;left:25px;z-index:3;gap:4px}.pose-controls button{width:42px;height:22px;border:0;background:transparent;padding:9px 3px}.pose-controls button:before{content:'';display:block;height:2px;background:#ffffff70}.pose-controls button.selected:before{background:white}.image-fallback{position:absolute;top:40%;left:20%;font:36px var(--serif)}.scroll-cue{height:65px;display:flex;align-items:center;gap:18px;flex-shrink:0;font-size:8px;letter-spacing:1.6px}.scroll-track{height:1px;background:var(--line);width:90px}.scroll-track i{display:block;background:var(--ink);height:1px;width:0}.scroll-place{margin-left:auto}.ribbon{padding:28px 6vw;background:var(--sage);display:flex;justify-content:space-around;gap:20px;font:italic 22px var(--serif)}.ribbon b{font:20px Arial;font-weight:400}.about{display:grid;grid-template-columns:1.15fr 1fr;gap:10vw}.about h2{font-size:43px}.about-copy .lead{font:25px/1.5 var(--serif);color:var(--ink);margin-bottom:22px}.about-copy>p+ p{font-size:15px;margin-bottom:20px}.practice{background:#eeeee4}.services{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #c8cebf;border-bottom:1px solid #c8cebf}.service{padding:30px 25px 30px 0;position:relative}.service+ .service{padding-left:25px;border-left:1px solid #c8cebf}.service-number{font-size:10px;color:var(--muted)}.service-symbol{display:block;font:46px var(--serif);margin:20px 0;color:#6a815b}.service h3{font:25px/1.2 var(--serif);min-height:60px}.service p{font-size:13px;min-height:96px;margin:15px 0}.service a{display:flex;justify-content:space-between;border-top:1px solid #c8cebf;padding-top:16px;font-size:11px}.service a:hover{color:#657b56}.practices{margin-top:50px}.practices .eyebrow{margin-bottom:20px}#practice-list{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}#practice-list h3{font-size:14px;margin-bottom:10px}#practice-list p{font-size:13px}.formats{display:grid;grid-template-columns:1fr 1fr}.format-photo{position:relative;min-height:680px}.format-photo img{width:100%;height:100%;position:absolute;object-position:45% center}.photo-note{position:absolute;left:35px;bottom:35px;background:var(--paper);padding:12px 20px;font:italic 21px var(--serif)}.format-copy{background:var(--sage);padding:75px 6vw}.format-copy>p:not(.eyebrow){margin:26px 0;font-size:15px}.format-row{display:flex;gap:20px;border-top:1px solid #aeba9f;padding:24px 0}.format-row>span{font-size:10px;padding-top:4px}.format-row h3{font:23px var(--serif);margin-bottom:10px}.format-row p{font-size:13px}.format-row>a{font-size:24px;align-self:center;padding:10px}.benefits{text-align:center}.benefits h2{font-size:43px}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:70px;margin-top:50px}.benefit-grid>div>span{font:39px var(--serif);color:#708562}.benefit-grid h3{font:24px var(--serif);margin:20px 0 12px}.benefit-grid p{font-size:14px;max-width:290px;margin:auto}.tutor{padding-top:20px;display:grid;grid-template-columns:.85fr 1fr;align-items:center;gap:10vw}.tutor-image{position:relative;max-width:470px}.tutor-image img{height:560px;width:100%;object-position:center 30%;border-radius:200px 200px 3px 3px}.tutor-image span{position:absolute;bottom:24px;left:24px;background:var(--paper);padding:8px 15px;font-size:9px;letter-spacing:2px}.tutor-copy h3{font:27px var(--serif);margin:28px 0 16px}.tutor-copy p:not(.eyebrow){max-width:425px;font-size:15px;margin-bottom:16px}.tutor-copy .button{margin-top:14px}.programmes{background:#eeeee4}.programme-panel{border:1px solid #c5cebd;border-radius:6px;padding:30px;background:var(--paper)}.panel-title{display:flex;justify-content:space-between;gap:20px;align-items:center}.panel-title h3{font:28px var(--serif)}.panel-title>span{font-size:9px;letter-spacing:1px}.duration-picker{display:flex;gap:5px;margin:25px 0}.duration-picker button,.schedule-filters button{border:1px solid #b6c0ad;border-radius:3px;padding:8px 17px;background:transparent;color:var(--ink);font-size:12px}.duration-picker button.selected,.schedule-filters button.selected{background:var(--ink);color:white;border-color:var(--ink)}.price-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.price-card{border:1px solid var(--line);padding:22px 18px;background:#fffdf6;border-radius:3px}.price-card .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:12px}.price-card h4{font:21px var(--serif);margin:0;min-height:54px}.price{font:36px var(--serif);margin:22px 0 3px;color:var(--ink)}.price-duration{font-size:10px}.price-card a{display:flex;justify-content:space-between;margin-top:24px;font-size:11px;border-top:1px solid var(--line);padding-top:15px}.fine-print{font-size:11px;margin-top:20px}.schedule-heading{display:flex;justify-content:space-between;align-items:center;margin:55px 0 25px;gap:20px}.schedule-heading h3{font:32px var(--serif)}.schedule-heading p{font-size:13px;margin-top:8px}.schedule-filters{display:flex;gap:5px}.schedule-row{display:grid;grid-template-columns:180px 1fr 35px;align-items:center;gap:25px;border-top:1px solid #c8cebf;padding:18px 0}.schedule-row:last-child{border-bottom:1px solid #c8cebf}.schedule-row time{font-size:13px}.schedule-row h4{font-size:13px;line-height:1.7;font-weight:400;margin:0}.schedule-row a{padding:5px 10px;font-size:22px}.start{text-align:center}.start h2{font-size:46px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:70px;margin-top:50px}.steps span{font:italic 37px var(--serif);color:#7d8c6e}.steps h3{font:25px var(--serif);margin:16px 0 12px}.steps p{font-size:14px;max-width:270px;margin:auto}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw;padding-top:25px}.faq>div>p:not(.eyebrow){margin-top:25px;font-size:14px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-size:14px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font-size:19px;line-height:1}.faq details[open] summary:after{content:'−'}.faq details p{font-size:14px;line-height:1.9;margin:15px 25px 0 0}.contact{background:#283e31;text-align:center;position:relative;overflow:hidden;color:var(--paper)}.contact .eyebrow{color:#becbb3}.contact h2{font-size:clamp(45px,5.5vw,78px);position:relative;z-index:1}.contact h2 em{color:#c1d0ae}.contact>p:not(.eyebrow){color:#c4ccbf;margin:25px 0}.contact .button{position:relative;z-index:1}.contact-small{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;font-size:12px;margin-top:30px;position:relative;z-index:1}.contact-flower{position:absolute;right:-80px;top:80px;font-size:420px;font-weight:400;color:#a6bb9220;line-height:1;pointer-events:none}.location{display:grid;grid-template-columns:1.5fr 1fr;gap:50px}.location h2{font-size:43px}.location h3{font:23px var(--serif);margin-bottom:16px}address{font-size:13px;line-height:1.9;font-style:normal;color:var(--muted);margin-bottom:15px}footer{border-top:1px solid var(--line);margin:0 6vw;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:30px 0 100px}footer img{object-fit:contain}footer>span{font:italic 22px var(--serif)}footer small{font-size:10px;color:var(--muted)}.floating-wa{position:fixed;right:25px;bottom:24px;background:var(--ink);color:white;z-index:25;padding:12px 18px;display:flex;gap:10px;align-items:center;border:1px solid #91a58a;border-radius:40px;box-shadow:0 4px 20px #20392b20;font-size:12px}.floating-wa svg{width:25px;height:25px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s,transform .65s}.reveal.visible{opacity:1;transform:none}[hidden]{display:none!important}
@media(min-width:1600px){.section{padding-left:max(6vw,calc((100vw - 1400px)/2));padding-right:max(6vw,calc((100vw - 1400px)/2))}.hero-grid{max-width:1400px;width:100%;margin:auto}.hero-sticky{padding-left:max(6vw,calc((100vw - 1400px)/2));padding-right:max(6vw,calc((100vw - 1400px)/2))}}
@media(max-width:1050px){nav{gap:18px}.hero-grid{gap:3vw}h1{font-size:54px}.hero-copy .eyebrow{font-size:8px;letter-spacing:1px}.hero-foot{margin-top:25px}.hero-visual{border-radius:140px 140px 5px 5px}.section{padding-top:75px;padding-bottom:75px}.services{grid-template-columns:repeat(2,1fr)}.service:nth-child(3){border-left:0;padding-left:0;border-top:1px solid #c8cebf}.service:nth-child(4){border-top:1px solid #c8cebf}.service h3,.service p{min-height:0}.service p{min-height:50px}.format-copy{padding:55px 5vw}.format-photo{min-height:650px}.price-cards{grid-template-columns:repeat(2,1fr)}.about{gap:5vw}.about h2{font-size:36px}.tutor{gap:6vw}.benefit-grid,.steps{gap:30px}.panel-title h3{font-size:25px}.schedule-filters button{padding:8px 10px}}
@media(max-width:760px){html{scroll-padding-top:80px}header{height:78px;padding:8px 6vw}.brand img{width:119px;height:53px}.menu-toggle{display:flex;width:42px;height:42px;border:1px solid #8d9b82;background:var(--paper);flex-direction:column;justify-content:center;gap:6px;padding:10px;border-radius:3px}.menu-toggle span{height:1px;background:var(--ink);width:20px}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}nav{position:absolute;top:78px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;background:var(--paper);padding:20px 6vw 30px;box-shadow:0 12px 15px #263b3010;font-size:16px;gap:10px}nav.open{display:flex}nav>a{padding:10px 0}.hero-scroll{height:250svh}.hero-sticky{min-height:690px;padding:92px 6vw 0;height:100svh}.hero-grid{grid-template-columns:1fr;grid-template-rows:auto minmax(240px,1fr);gap:20px;align-items:stretch}.hero-copy{padding:0}.hero-copy .eyebrow{margin-bottom:13px;font-size:7px;letter-spacing:1.2px;gap:8px}.tiny-sun{font-size:17px}h1{font-size:clamp(36px,8.8vw,58px);letter-spacing:-1.4px;line-height:1.02}h1 br:first-of-type{display:none}.hero-description{font-size:13px;margin:14px 0;max-width:360px;line-height:1.6}.hero-copy .button{padding:11px 15px;font-size:11px;gap:20px}.hero-secondary{display:inline-block;margin:0 0 0 14px;font-size:10px}.hero-secondary span{margin-left:7px}.hero-foot{display:none}.hero-visual{min-height:0;max-height:none;border-radius:100px 100px 4px 4px}.pose{object-position:center 49%}.pose:nth-child(2){object-position:center 40%}.pose:nth-child(3){object-position:center 43%}.pose:last-child{object-position:center 48%}.visual-top{top:14px;font-size:7px}.pose-caption{left:20px;right:20px;bottom:45px}.pose-caption>span:first-child{font-size:23px}.pose-controls{left:17px;bottom:15px}.scroll-cue{height:45px;font-size:7px;gap:10px}.scroll-place{display:none}.scroll-track{margin-left:auto;width:60px}.ribbon{padding:20px 6vw;font-size:17px;flex-wrap:wrap;gap:12px}.ribbon span:nth-of-type(3),.ribbon b:last-child{display:none}.section{padding:60px 6vw}.eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:20px}h2,.about h2,.benefits h2,.start h2,.location h2{font-size:36px;letter-spacing:-1px}.about,.tutor,.faq,.location{grid-template-columns:1fr;gap:35px}.about-copy .lead{font-size:23px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px;font-size:14px}.services{grid-template-columns:1fr 1fr}.service,.service+ .service{padding:20px 14px}.service:nth-child(odd){padding-left:0}.service h3{font-size:22px;min-height:53px}.service p{font-size:13px;min-height:99px}.service-symbol{margin:15px 0;font-size:37px}#practice-list{grid-template-columns:1fr 1fr;gap:25px}.formats{grid-template-columns:1fr}.format-photo{min-height:370px}.photo-note{font-size:17px;left:20px;bottom:20px}.format-copy{padding:50px 6vw}.benefit-grid,.steps{grid-template-columns:1fr;gap:35px}.benefit-grid{margin-top:30px}.benefit-grid h3{margin-top:8px}.tutor{padding-top:0}.tutor-image{width:100%;max-width:400px;margin:auto}.tutor-image img{height:460px}.tutor-copy h3{margin-top:22px}.programme-panel{padding:18px}.panel-title{align-items:start}.panel-title h3{font-size:22px}.panel-title>span{font-size:7px;max-width:42px}.duration-picker{gap:4px}.duration-picker button{flex:1;padding:9px 3px;font-size:10px;white-space:nowrap}.price-cards{gap:10px}.price-card{padding:15px 12px}.price-card h4{font-size:20px}.price{font-size:31px;margin-top:16px}.price-card .eyebrow{font-size:7px}.price-card a{font-size:10px;gap:8px}.schedule-heading{display:block;margin-top:35px}.schedule-filters{margin-top:20px}.schedule-row{grid-template-columns:105px 1fr 24px;gap:12px;padding:16px 0}.schedule-row time{font-size:11px}.schedule-row h4{font-size:11px}.schedule-row a{font-size:18px;padding:4px}.faq{padding-top:20px}.contact h2{font-size:47px}.contact-small{font-size:11px;gap:10px;flex-direction:column}.contact-small>span{display:none}.contact-flower{font-size:280px;right:-120px;top:110px}.location{gap:30px}footer{flex-direction:column;align-items:flex-start;gap:15px;padding-bottom:100px}.floating-wa{right:16px;bottom:16px;padding:10px 14px}.floating-wa span{font-size:11px}}
@media(max-width:370px){.hero-secondary{display:none}.hero-sticky{min-height:650px}.hero-copy .eyebrow{font-size:6px}h1{font-size:35px}.price-cards{grid-template-columns:1fr}.price-card h4{min-height:0}.schedule-row{grid-template-columns:95px 1fr 20px;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.hero-scroll{height:auto}.hero-sticky{position:relative}.reveal{opacity:1;transform:none}.scroll-cue>span:first-child{font-size:0}.scroll-cue>span:first-child:after{content:'EXPLORE YOUR PRACTICE';font-size:8px}}
/* Preserve the full overhead extensions in the two portrait poses. */
.pose:nth-child(2),.pose:nth-child(3){object-fit:contain;background:#e2dfd2}
@media(min-width:761px) and (max-height:760px){.hero-sticky{min-height:660px}.hero-visual{min-height:390px}.hero-foot{margin-top:18px}h1{font-size:58px}.hero-description{margin:20px 0}}

/* Full-screen, scroll-driven photographic opening. */
.hero-sticky{height:100svh;min-height:620px;padding:120px 6vw 0;isolation:isolate;overflow:hidden}
.hero-grid{display:flex;align-items:center;width:100%;max-width:none;flex:1;min-height:0}
.hero-copy{position:relative;z-index:3;width:min(570px,48%);padding:20px 0 55px}
.hero-visual{position:absolute;inset:0;z-index:-1;width:100%;height:100%;max-height:none;min-height:0;border-radius:0;background:#dedbd0}
.photo-stack{position:absolute;inset:0}
.pose,.pose:nth-child(2),.pose:nth-child(3){object-fit:cover;background:transparent;object-position:65% 48%;transform:scale(1.035)}
.pose.active{transform:scale(1)}
.pose:first-child{object-position:65% 48%}
.pose:nth-child(2){object-position:65% 35%}
.pose:nth-child(3){object-position:65% 43%}
.pose:nth-child(4){object-position:60% 52%}
.pose:last-child{object-position:65% 47%}
.hero-visual:after{inset:0;background:linear-gradient(90deg,rgba(247,245,237,.98) 0%,rgba(247,245,237,.93) 23%,rgba(247,245,237,.69) 41%,rgba(247,245,237,.08) 66%),linear-gradient(0deg,rgba(21,38,27,.65),transparent 24%),linear-gradient(180deg,rgba(247,245,237,.9),transparent 18%)}
.visual-top{display:none}
.hero-description{color:#3f5142;max-width:355px}
.hero-copy h1 em{color:#476640}
.hero-copy .eyebrow{color:#243d31}
.hero-foot small{color:#405141}
.pose-caption{left:auto;right:6vw;bottom:85px;gap:35px;max-width:45%}
.pose-controls{left:auto;right:6vw;bottom:49px}
.pose-controls button{height:30px;width:44px;padding:12px 3px}
.scroll-cue{position:relative;z-index:3;color:white;height:70px;width:48%}
.scroll-track{background:#ffffff70}.scroll-track i{background:white}
.scroll-place{display:none}
.image-fallback{z-index:1;left:auto;right:10%;color:var(--ink)}
@media(min-width:1600px){.hero-sticky{padding-left:6vw;padding-right:6vw}.hero-copy{width:min(660px,45%)}}
@media(max-width:1050px) and (min-width:761px){.hero-copy{width:54%}.hero-copy h1{font-size:58px}.pose-caption{max-width:42%}.pose-caption>span:first-child{font-size:22px}}
@media(max-width:760px){
 .hero-sticky{padding:90px 6vw 0;min-height:650px;height:100svh}
 .hero-grid{display:flex;align-items:flex-end;gap:0}
 .hero-copy{width:100%;padding:0 0 100px}
 .hero-copy h1{font-size:clamp(35px,8.7vw,54px);max-width:480px}
 .hero-copy .eyebrow{margin-bottom:12px}
 .hero-description{max-width:340px;margin:13px 0;color:#344738}
 .hero-visual{border-radius:0;min-height:0}
 .hero-visual:after{background:linear-gradient(0deg,rgba(247,245,237,.98) 0%,rgba(247,245,237,.95) 28%,rgba(247,245,237,.74) 43%,rgba(247,245,237,0) 67%),linear-gradient(180deg,rgba(247,245,237,.95),rgba(247,245,237,0) 24%)}
 .pose,.pose:first-child,.pose:nth-child(4),.pose:last-child{object-position:53% 28%}
 .pose:nth-child(2){object-position:50% 24%}.pose:nth-child(3){object-position:50% 25%}
 .pose-caption{left:6vw;right:6vw;bottom:83px;max-width:none;color:var(--ink);gap:15px}
 .pose-caption>span:first-child{font-size:20px}
 .pose-controls{left:calc(6vw - 3px);right:auto;bottom:48px}
 .pose-controls button:before{background:#263d3140}.pose-controls button.selected:before{background:var(--ink)}
 .scroll-cue{position:absolute;bottom:15px;left:6vw;width:auto;height:20px;color:var(--ink);font-size:7px}
 .scroll-track{background:#243d3140;margin-left:0}.scroll-track i{background:var(--ink)}
}
@media(prefers-reduced-motion:reduce){.hero-scroll{height:auto}.hero-sticky{position:relative}}
@media(max-width:760px){.hero-copy{padding-bottom:130px}.hero-copy h1 br:first-of-type{display:block}.hero-copy h1{font-size:clamp(34px,8.1vw,50px)}}
@media(min-width:761px){.scroll-cue{color:var(--ink)}.scroll-track{background:#243d3140}.scroll-track i{background:var(--ink)}.pose-caption{bottom:120px}.pose-controls{bottom:82px}}

/* Desktop focal points: preserve headroom for each source aspect ratio.
   Avoid the previous vertical centre crop, especially on the square backbend. */
@media(min-width:761px){
 .pose,.pose.active{transform:none;transition:opacity .65s ease}
 .pose:first-child{object-position:50% 0%}
 .pose:nth-child(2){object-position:50% 26%}
 .pose:nth-child(3){object-position:50% 22%}
 .pose:nth-child(4){object-position:50% 0%}
 .pose:last-child{object-position:50% 0%}
}
@media(min-width:761px){
 /* A quiet header band keeps every pose below the navigation. */
 .photo-stack{top:72px}
 .hero-visual{background:var(--paper)}
}
/* Keep keyboard focus from scrolling nested image layers inside the pinned hero. */
.hero-sticky,.hero-visual{overflow:clip}
@media(min-width:761px){.photo-stack{height:auto;bottom:0}}

/* Supplied sun and lotus motifs, with a matching yoga line-art vocabulary. */
.decorative{pointer-events:none;user-select:none;object-fit:contain;flex-shrink:0}
img.tiny-sun{width:24px;height:24px}
img.small-orbit{width:34px;height:55px}
.story-lotus{margin-top:30px;width:58px;height:94px;opacity:.75}
.practice-intro{display:flex;gap:26px;align-items:center}
.practice-intro p{font-size:15px}
.practice-sun{width:86px;height:86px;opacity:.8}
img.service-symbol{width:48px;height:48px;object-fit:contain;margin:25px 0}
.benefit-icon{margin:0 auto;width:58px;height:58px}
.benefit-grid>div:nth-child(2) .decorative{animation-delay:-2s}
.benefit-grid>div:nth-child(3) .decorative{animation-delay:-4s}
img.contact-flower{width:370px;height:370px;top:100px;right:-70px;opacity:.32;filter:brightness(1.6)}
.rotate-slow{animation:decorative-turn 75s linear infinite}
.float-gentle{animation:decorative-float 7s ease-in-out infinite}
.decorative{animation-play-state:paused}
.decorative.in-view{animation-play-state:running}
.decorations-paused .decorative{animation-play-state:paused}
.motion-toggle{border:1px solid #a6b09c;border-radius:3px;padding:8px 10px;background:transparent;color:var(--ink);font-size:10px}
.motion-toggle:hover{background:var(--sage)}
@keyframes decorative-turn{to{transform:rotate(360deg)}}
@keyframes decorative-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-9px) rotate(2deg)}}
@media(max-width:1050px){.practice-intro{gap:16px}.practice-sun{width:62px;height:62px}footer{flex-wrap:wrap}}
@media(max-width:760px){img.tiny-sun{width:17px;height:17px}.practice-intro{margin-top:24px;gap:18px}.practice-intro p{font-size:13px}.story-lotus{width:44px;height:71px;margin-top:20px}img.service-symbol{width:40px;height:40px;margin:18px 0}img.contact-flower{width:230px;height:230px;right:-105px;top:140px;opacity:.2}}
@media(prefers-reduced-motion:reduce){.decorative{animation:none!important}.motion-toggle{display:none}}

/* First scene: photographic meditation landscape and five intention markers. */
.wellness-orbit{position:absolute;inset:72px 0 0;z-index:2;pointer-events:none;opacity:0;transition:opacity .5s ease;overflow:clip}
.wellness-orbit>svg{position:absolute;left:50%;top:0;transform:translateX(-50%);width:max(100vw,calc((100svh - 72px)*1.5));height:auto;max-width:none}
.first-scene .wellness-orbit{opacity:1}
.orbit-line{fill:none;stroke:#728462;stroke-width:1.4;stroke-dasharray:2 7;stroke-linecap:round;opacity:.8}
.orbit-marker circle{fill:#728462;stroke:#f7f5ed;stroke-width:2}
.orbit-label{font:500 16px var(--sans);fill:#354d39}
.first-scene .hero-visual:after{background:linear-gradient(90deg,rgba(247,245,237,.9),rgba(247,245,237,.15) 31%,transparent 46%),linear-gradient(0deg,rgba(247,245,237,.7),transparent 20%)}
.first-scene .pose:first-child{object-position:50% 0%}
.first-scene .pose-caption{color:var(--ink)}
.first-scene .pose-controls button:before{background:#72846250}
.first-scene .pose-controls button.selected:before{background:var(--ink)}
@media(min-width:761px){
 .first-scene .hero-grid{align-items:flex-end}
 .first-scene .hero-copy{width:30%;padding-bottom:40px}
 .first-scene .hero-copy h1{font-size:clamp(34px,3.3vw,52px);letter-spacing:-1.5px}
 .first-scene .hero-copy .eyebrow{font-size:8px;letter-spacing:1px;flex-wrap:wrap;max-width:290px}
 .first-scene .hero-description{font-size:14px;max-width:280px;margin:20px 0}
 .first-scene .hero-foot{display:none}
 .first-scene .hero-copy .button{padding:13px 17px;gap:15px}
 .first-scene .hero-secondary{margin-top:12px}
}
@media(max-width:1050px) and (min-width:761px){.first-scene .hero-copy{width:31%}.first-scene .hero-copy h1{font-size:34px}.first-scene .hero-copy .eyebrow{display:none}.first-scene .hero-description{font-size:13px}}
@media(max-width:760px){
 .first-scene .photo-stack{top:30px;height:auto;bottom:0}
 .wellness-orbit{top:30px}
 .wellness-orbit>svg{width:max(100vw,calc((100svh - 30px)*1.5))}
 .orbit-label{font-size:17px}
 .first-scene .hero-visual:after{background:linear-gradient(0deg,rgba(247,245,237,1) 0%,rgba(247,245,237,.96) 30%,rgba(247,245,237,.15) 62%,transparent 80%)}
 .first-scene .hero-copy{padding-bottom:125px}
 .first-scene .hero-copy h1{font-size:32px}
 .first-scene .hero-copy .eyebrow{display:none}
 .first-scene .hero-description{font-size:12px;max-width:300px}
}
.wellness-orbit>svg.orbit-mobile{display:none}
@media(max-width:760px){.wellness-orbit>svg:not(.orbit-mobile){display:none}.wellness-orbit>svg.orbit-mobile{display:block;width:min(100%,430px);height:auto;top:0}.orbit-mobile .orbit-label{font-size:13px}}

/* Expandable yoga journey carousel. */
.practices{margin-top:85px}
.journey-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}
.journey-heading>p{font-size:15px;max-width:320px}
#practice-list.journey-track{display:flex;position:relative;gap:22px;align-items:center;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;height:570px;padding:10px 4px 20px;isolation:isolate}
.journey-track::-webkit-scrollbar{display:none}
.journey-card{flex:0 0 270px;min-width:0;height:430px;border-radius:180px;background:#dce1d4;color:#496452;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;scroll-snap-align:center;padding:28px 26px;transition:height .5s ease,background .35s ease,color .35s ease;overflow:hidden}
.journey-card.is-active{height:535px}
.journey-card:hover,.journey-card:focus-within{height:535px;background:#496452;color:#f7f5ed}
.journey-select{width:100%;border:0;background:transparent;color:inherit;padding:0;display:flex;flex-direction:column;align-items:center;gap:17px;border-radius:110px;cursor:pointer}
.journey-art{position:relative;width:170px;height:190px;display:grid;place-items:center}
.journey-art:before{content:'';position:absolute;width:122px;height:136px;border-radius:58% 42% 63% 37%;background:currentColor;opacity:.08;left:27px;top:31px;transform:rotate(-19deg)}
.journey-art svg{position:relative;width:165px;height:185px}
.journey-title{font:italic 28px/1.2 var(--serif);max-width:240px}
#practice-list .journey-detail p{font-size:14px;line-height:1.8;color:inherit;margin:22px 0 18px;opacity:.9}
.journey-detail a{font-size:12px;font-weight:600;border-bottom:1px solid #f7f5ed70;padding:8px 0;display:inline-flex;gap:18px}
.journey-detail a:hover{border-color:currentColor}
.journey-select:focus-visible,.journey-detail a:focus-visible{outline-color:#bf9a55;outline-offset:5px}
.journey-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:5px}
.journey-hint{font-size:11px}.journey-hint span{margin-left:12px}
.journey-arrows{display:flex;gap:10px}
.journey-arrows button{border:1px solid #9aa991;background:transparent;color:var(--ink);width:44px;height:44px;border-radius:50%;font-size:22px}
.journey-arrows button:hover{background:var(--ink);color:var(--paper)}
.journey-pagination{display:flex;gap:5px}
.journey-pagination button{width:30px;height:35px;border:0;background:transparent;display:grid;place-items:center}
.journey-pagination button:before{content:'';width:6px;height:6px;border-radius:50%;background:#98a68e;transition:width .2s}
.journey-pagination button.selected:before{width:22px;border-radius:5px;background:#496452}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1450px){.journey-card{flex-basis:calc((100% - 66px)/4)}}
@media(max-width:760px){.practices{margin-top:60px}.journey-heading{display:block;margin-bottom:15px}.journey-heading>p{font-size:13px;margin-top:20px}#practice-list.journey-track{height:515px;gap:16px;margin-right:-6vw;padding-right:6vw}.journey-card{flex-basis:78vw;max-width:315px;height:385px;padding:26px 28px}.journey-card.is-active,.journey-card:hover,.journey-card:focus-within{height:490px}.journey-art{height:155px;width:150px}.journey-art svg{height:155px;width:145px}.journey-title{font-size:28px}.journey-controls{gap:8px}.journey-hint{display:none}.journey-detail p{margin:18px 0}.journey-art:before{width:110px;height:110px;top:24px;left:20px}}
@media(prefers-reduced-motion:reduce){.journey-card,.journey-pagination button:before{transition:none}}

/* Quiet landscape footer */
footer.landscape-footer{margin:0;border:0;position:relative;isolation:isolate;display:block;overflow:hidden;padding:52px 8vw 0;min-height:780px;background:#526b5c;color:#f7f5ed}
.landscape-footer:before{content:"";position:absolute;inset:0;z-index:-2;background:url('assets/footer-landscape.png') center 52%/cover no-repeat}
.landscape-footer:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(35,60,45,.30),rgba(35,60,45,.70) 68%),linear-gradient(0deg,rgba(35,60,45,.50),rgba(66,88,72,.22))}
.footer-connect{display:flex;justify-content:center;gap:64px;font-size:12px}.footer-connect a{display:flex;align-items:center;gap:9px;padding:8px}.footer-connect a:hover,.footer-invitation nav a:hover{text-decoration:underline;text-underline-offset:5px}.footer-connect span{font-size:19px}
.footer-invitation{margin:72px 0 65px 52%;max-width:540px}.footer-invitation .eyebrow{color:#e1e9d9;font-size:9px}.footer-invitation h2{font-size:clamp(44px,4.9vw,72px);letter-spacing:-1.8px}.footer-invitation h2 em{color:#e1e7d9}.footer-invitation .button{margin-top:28px;min-width:170px}.footer-invitation nav{position:static;display:flex;gap:25px;padding:0;background:none;box-shadow:none;font-size:11px;margin-top:28px;flex-wrap:wrap}.footer-invitation nav a{padding:5px 0}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:22px;border-bottom:1px solid #ecf0e045;padding-bottom:22px;font-size:10px}.landscape-footer small{color:#f7f5ed;font-size:10px}.landscape-footer .motion-toggle{background:transparent;color:#f7f5ed;border-color:#d6e0cf70;font-size:10px}.footer-wordmark{display:block;text-align:center;font:500 clamp(130px,24vw,340px)/.85 'Helvetica Neue',Helvetica,Arial,sans-serif;letter-spacing:-.065em;color:#edf1e578;padding:28px 0 25px}.footer-wordmark span{display:block;font:9px/2 Arial,sans-serif;letter-spacing:7px;color:#eef0e5;margin-top:20px}.landscape-footer a:focus-visible,.landscape-footer button:focus-visible{outline-color:#fff}
@media(max-width:760px){footer.landscape-footer{padding:30px 6vw 30px;min-height:780px}.landscape-footer:before{background-position:29% center}.landscape-footer:after{background:linear-gradient(180deg,rgba(31,53,40,.50),rgba(31,53,40,.60))}.footer-connect{gap:16px;justify-content:space-between;font-size:11px}.footer-connect a{padding:6px 0}.footer-invitation{margin:62px 0 135px 0;max-width:100%;text-align:center}.footer-invitation h2{font-size:49px}.footer-invitation nav{justify-content:center;flex-direction:row;gap:22px}.footer-bottom{flex-wrap:wrap;justify-content:center;text-align:center;gap:14px}.footer-bottom small{flex-basis:100%}.footer-wordmark{font-size:35vw;padding-bottom:10px}.footer-wordmark span{letter-spacing:4px;font-size:8px}}

/* Refined type, quiet navigation and consistent controls */
:root{--serif:'Helvetica Neue',Helvetica,Arial,sans-serif;--sans:'Helvetica Neue',Helvetica,Arial,sans-serif}
body{font-family:var(--sans)}button,input,select{font-family:var(--sans)}
header{background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .35s,backdrop-filter .35s,box-shadow .35s}
header.solid,header.menu-open{background:rgba(247,245,237,.68);box-shadow:0 1px 0 #526b5c20;backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%)}
.brand img{width:118px;height:52px}
nav{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.025em;gap:34px}
nav>a{padding:8px 0}
nav .nav-cta{display:none}
.button{padding:13px 19px;gap:22px;min-height:0;font-size:12px;line-height:1.25}
.button span,.text-link span{font-size:15px;margin-left:5px}
.text-link{font-family:var(--sans)}
.format-row>a{font-size:17px;padding:8px}.service a span,.price-card a span,.journey-detail a span{font-size:14px}
.tutor-copy .button{padding:12px 17px}
.schedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.schedule-card{border:1px solid #c8cebf;border-radius:5px;background:#f8f7f0;overflow:hidden;transition:background .25s,border-color .25s,box-shadow .25s}
.schedule-card:hover{border-color:#85977e;box-shadow:0 8px 24px #263b3010}
.schedule-card.is-open{background:#e3e9dc;border-color:#a8b59c}
.schedule-card-toggle{width:100%;min-height:0;padding:15px 18px;background:transparent;border:0;color:var(--ink);display:grid;grid-template-columns:145px 1fr 20px;grid-template-rows:auto auto;align-items:center;text-align:left;gap:3px 14px}
.schedule-time{font:500 20px/1 var(--serif);grid-column:1;grid-row:1/3;white-space:nowrap}
.schedule-period{font-size:8px;font-weight:700;letter-spacing:1.5px;color:#718366;grid-column:2;grid-row:1}
.schedule-name{font-size:12px;line-height:1.45;grid-column:2;grid-row:2;padding-top:4px}
.schedule-plus{grid-column:3;grid-row:1/3;width:22px;height:22px;border:1px solid #b5c0ad;border-radius:50%;display:grid;place-items:center;font-size:14px;line-height:1}
.schedule-card-detail{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 18px 14px 177px;font-size:10px;color:#647361}
.schedule-card-detail a{font-weight:600;white-space:nowrap}.schedule-card-detail a span{font-size:13px;margin-left:4px}
.schedule-card-toggle:focus-visible{outline-offset:-4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Single-screen landscape footer with gently moving water */
footer.landscape-footer{height:calc(100svh - 100px);min-height:590px;max-height:900px;padding:26px 8vw 0;display:flex;flex-direction:column;justify-content:space-between}
.landscape-footer:before{background-position:center 54%}
.landscape-footer:after{background:linear-gradient(90deg,rgba(35,60,45,.20),rgba(35,60,45,.64) 72%),linear-gradient(0deg,rgba(35,60,45,.48),rgba(55,77,63,.27))}
.footer-connect{position:relative;z-index:1;gap:58px;font-size:11px}.footer-connect a{padding:5px 8px}
.footer-invitation{position:relative;z-index:1;margin:22px 0 15px 52%;max-width:500px}.footer-invitation .eyebrow{margin-bottom:9px;font-size:8px}.footer-invitation h2{font-size:clamp(38px,4.2vw,60px);line-height:.98}.footer-invitation .button{margin-top:16px;min-width:140px;padding:11px 15px}.footer-invitation nav{margin-top:13px;gap:21px;font-size:10px}
.footer-bottom{position:relative;z-index:1;padding-bottom:12px}.footer-wordmark{position:relative;z-index:1;font-size:clamp(95px,17vw,220px);line-height:.72;padding:8px 0 14px}.footer-wordmark span{font-size:8px;letter-spacing:6px;margin-top:12px}
.footer-water{position:absolute;z-index:-1;left:40%;right:-5%;bottom:0;height:40%;opacity:.25;pointer-events:none;mask-image:linear-gradient(0deg,#000 2%,transparent 100%);background:linear-gradient(174deg,transparent 0 42%,#e8f0dfb0 43%,transparent 44% 49%,#d9e9dcb0 50%,transparent 51% 62%,#fff9e9b0 63%,transparent 64% 72%,#d9e9dcb0 73%,transparent 74%);background-size:150% 100%;animation:waterflow 14s ease-in-out infinite alternate}
@keyframes waterflow{from{background-position:0% 0%;transform:translateY(0)}to{background-position:100% 0%;transform:translateY(-7px)}}
@media(max-width:760px){
 .brand img{width:101px;height:46px}
 nav{font-size:15px}
 .schedule{grid-template-columns:1fr;gap:9px}
 .schedule-card-toggle{grid-template-columns:115px 1fr 20px;padding:13px 13px;gap:3px 10px}
 .schedule-time{font-size:18px}
 .schedule-name{font-size:11px}
 .schedule-card-detail{padding:0 13px 12px 138px;font-size:9px}
 footer.landscape-footer{height:calc(100svh - 100px);min-height:540px;max-height:none;padding:22px 6vw 0}
 .landscape-footer:before{background-position:30% center}
 .footer-connect{gap:7px;justify-content:space-around;font-size:10px}
 .footer-connect a{gap:5px;padding:5px 1px}
 .footer-invitation{margin:18px 0 10px 43%;text-align:left;max-width:56%}
 .footer-invitation .eyebrow{font-size:7px;letter-spacing:1.2px}
 .footer-invitation h2{font-size:clamp(31px,8vw,45px)}
 .footer-invitation nav{justify-content:flex-start;flex-direction:row;gap:12px;font-size:9px}
 .footer-invitation nav a{padding:2px 0}
 .footer-bottom{font-size:9px;gap:10px;padding-bottom:8px;flex-wrap:wrap}
 .footer-bottom small{font-size:9px;flex-basis:auto}
 .footer-bottom .motion-toggle{padding:5px 8px}
 .footer-wordmark{font-size:26vw;padding:6px 0 11px}
 .footer-wordmark span{font-size:7px;letter-spacing:4px}
 .footer-water{left:30%;height:42%}
}
@media(max-width:390px){.footer-connect{font-size:9px}.footer-invitation{margin-left:38%;max-width:62%}.footer-invitation h2{font-size:31px}.footer-invitation nav{gap:9px}.footer-wordmark{font-size:24vw}}
@media(prefers-reduced-motion:reduce){.footer-water{animation:none;background-position:50% 0}.schedule-card,.schedule-card:hover,header{transition:none}}
/* Single fixed image in the opening banner */
header{height:58px;padding-top:4px;padding-bottom:4px}
.brand img{width:94px;height:auto}
.hero-scroll{height:auto}
.hero-sticky{position:relative;top:auto;height:100svh;min-height:620px;padding:58px 6vw 0}
.hero-sticky.first-scene{height:100svh}
.pose{opacity:1;transform:none;transition:none}
.hero-sticky .pose-caption{color:var(--ink)}
.pose-caption>span:first-child{font-size:24px}
.pose-caption #pose-count,.pose-controls{display:none}
.scroll-cue{gap:11px}
.scroll-track,.scroll-place{display:none}
@media(max-width:760px){header{height:58px;padding:4px 6vw}.brand img{width:94px;height:auto}.menu-toggle{width:38px;height:38px}.nav{top:58px}nav{top:58px}.hero-sticky,.hero-sticky.first-scene{height:100svh;min-height:620px;padding:58px 6vw 0}.hero-copy{padding-bottom:130px}.pose-caption{bottom:42px}.scroll-cue{bottom:10px}}
@media(prefers-reduced-motion:reduce){.hero-scroll{height:auto}.hero-sticky{position:relative}}
/* Hero composition: keep Yashini to the right and leave clear copy space. */
.first-scene .pose:first-child{object-position:left top;transform:translateX(11%) scale(1.06);transform-origin:center center}
.pose-caption{display:none}
.hero-secondary{display:none!important}
@media(max-width:760px){.first-scene .pose:first-child{object-position:left top;transform:translateX(7%) scale(1.08)}}
/* Numbers use the clean sans face throughout. */
.price,.steps>div>span,.schedule-time,.service-number,.price-duration,.duration-picker button,.schedule-filters button,.format-row>span,#pose-count{font-family:var(--sans);font-variant-numeric:lining-nums tabular-nums}
.price{font-size:30px;font-weight:500;letter-spacing:-.03em}
.steps{position:relative}
.steps:before{content:"";position:absolute;z-index:0;left:12%;right:12%;top:10px;height:54px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='60' viewBox='0 0 800 60'%3E%3Cpath d='M8 43 C190 4 265 7 400 28 S620 55 792 14' fill='none' stroke='%23728462' stroke-width='1.5' stroke-dasharray='2 7' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;pointer-events:none}
.steps>div{position:relative;z-index:1}.steps>div>span{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #bdc8b4;border-radius:50%;background:var(--paper);font-size:13px;font-weight:600;font-style:normal;color:#617854}
@media(max-width:760px){.steps:before{left:calc(50% - 1px);right:auto;top:17px;bottom:17px;width:1px;height:auto;background:repeating-linear-gradient(to bottom,#728462 0 2px,transparent 2px 8px)}.steps>div>span{position:relative;z-index:2}}
/* Give the two supplied service symbols the brand line-art treatment. */
img.service-symbol[src*="mandala"],img.service-symbol[src*="sound-meditation"]{width:52px;height:52px;object-fit:contain}
/* Simplified footer: contacts, links and the compact logo. */
.footer-connect svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.footer-connect a:first-child svg,.floating-wa svg{fill:currentColor;stroke:none}
.footer-wordmark{display:flex;justify-content:center;align-items:center;font-size:0;line-height:0;padding:10px 0 14px}
.footer-wordmark img{width:112px;height:auto;max-height:48px;object-fit:contain;filter:brightness(0) invert(1);opacity:.85}
.footer-invitation{margin:22px 0 15px 52%}
.footer-invitation .button{display:none}
.footer-bottom{padding-bottom:12px}
.landscape-footer .motion-toggle{display:none}
.floating-wa svg{width:24px;height:24px}
@media(max-width:760px){.footer-wordmark img{width:96px;max-height:42px}.footer-invitation{margin:18px 0 10px 43%}}
/* Keep the complete seated pose visible on every viewport. The small blurred
   backdrop fills the side bands on taller screens without cropping the subject. */
.photo-stack{overflow:hidden;background:#e8e6dc url('assets/hero-meditation.jpg') center/cover no-repeat}
.photo-stack:before{content:"";position:absolute;inset:-14px;background:url('assets/hero-meditation.jpg') center/cover no-repeat;filter:blur(12px);opacity:.22;transform:scale(1.025)}
.first-scene .pose:first-child{object-fit:contain;object-position:right bottom;width:100%;height:100%;transform:none;transform-origin:initial}
.wellness-orbit{inset:0;opacity:1}
/* Align footer copy on the same responsive content grid at every width. */
.landscape-footer .footer-invitation{width:min(42vw,560px);max-width:560px;margin:22px 8% 15px auto;text-align:left}
.landscape-footer .footer-invitation h2{max-width:12ch;text-wrap:balance;margin:0}
@media(max-width:760px){.landscape-footer .footer-invitation{width:min(100%,520px);max-width:520px;margin:clamp(34px,9vh,82px) auto 10px;text-align:center}.landscape-footer .footer-invitation h2{margin-inline:auto}.landscape-footer .footer-invitation nav{justify-content:center}}
@media(max-width:390px){.landscape-footer .footer-invitation{width:100%;margin:clamp(28px,7vh,56px) auto 10px}.landscape-footer .footer-invitation h2{font-size:clamp(30px,9vw,36px)}}
.tutor{position:relative;isolation:isolate;overflow:hidden}
.tutor-leaves{position:absolute;z-index:-1;right:3.5%;top:50%;width:clamp(190px,26vw,360px);height:auto;object-fit:contain;opacity:.2;filter:brightness(0) saturate(100%) invert(31%) sepia(11%) saturate(1110%) hue-rotate(83deg) brightness(88%) contrast(88%);pointer-events:none;animation:tutor-leaf-drift 9s ease-in-out infinite}
.tutor-copy{position:relative;z-index:1}
@keyframes tutor-leaf-drift{0%,100%{transform:translate3d(0,-50%,0) rotate(-4deg)}50%{transform:translate3d(-8px,calc(-50% - 10px),0) rotate(1deg)}}
@media(max-width:760px){.tutor-leaves{right:-5%;top:45%;width:clamp(150px,42vw,230px);opacity:.12}}
@media(prefers-reduced-motion:reduce){.tutor-leaves{animation:none}}
.wellness-orbit>svg:not(.orbit-mobile){left:auto;right:0;top:auto;bottom:0;transform:none;width:min(100vw,calc(100svh * 1.5));height:auto}
.orbit-label{font-family:var(--sans);font-size:16px;font-weight:500;letter-spacing:.15px;fill:#2d4938}
.orbit-marker circle{opacity:.28;transform-box:fill-box;transform-origin:center;animation:pointReveal 5s ease-in-out infinite}
.orbit-marker circle:nth-child(1){animation-delay:0s}.orbit-marker circle:nth-child(2){animation-delay:1s}.orbit-marker circle:nth-child(3){animation-delay:2s}.orbit-marker circle:nth-child(4){animation-delay:3s}.orbit-marker circle:nth-child(5){animation-delay:4s}
.orbit-label text{opacity:.16;transform-box:fill-box;transform-origin:center;animation:pointReveal 5s ease-in-out infinite}
.orbit-label text:nth-child(1){animation-delay:0s}.orbit-label text:nth-child(2){animation-delay:1s}.orbit-label text:nth-child(3){animation-delay:2s}.orbit-label text:nth-child(4){animation-delay:3s}.orbit-label text:nth-child(5){animation-delay:4s}
@keyframes pointReveal{0%,18%{opacity:1;transform:scale(1.08);filter:drop-shadow(0 0 5px #8a9e6b)}20%,100%{opacity:.24;transform:scale(.9);filter:none}}
@media(max-width:760px){
 .first-scene .photo-stack{top:0;height:auto;bottom:0}
 .first-scene .pose:first-child{object-position:right bottom}
 .wellness-orbit{inset:0}
 .wellness-orbit>svg.orbit-mobile{left:50%;right:auto;top:auto;bottom:0;transform:translateX(-50%);width:min(100vw,430px);height:auto}
 .orbit-mobile .orbit-label{font-size:10px}
 .orbit-label{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.orbit-marker circle,.orbit-label text{animation:none;opacity:1;transform:none;filter:none}}
/* Keep a single clean foreground photograph and align intentions to her head. */
.photo-stack{background:#e9e8e1!important}
.photo-stack:before{display:none!important}
.wellness-orbit>svg:not(.orbit-mobile){right:0;width:min(100vw,calc(100svh * 1.5));height:auto}
@media(max-width:760px){.wellness-orbit>svg.orbit-mobile{width:min(100vw,430px);height:auto}}
/* One edge-to-edge panoramic image; the subject is composed on the right. */
.photo-stack{background:transparent!important}
.photo-stack:before{display:none!important}
.first-scene .pose:first-child{object-fit:cover;object-position:100% 50%;width:100%;height:100%;transform:none}
.first-scene .hero-visual:after{background:linear-gradient(90deg,rgba(247,245,237,.96) 0%,rgba(247,245,237,.91) 24%,rgba(247,245,237,.67) 42%,rgba(247,245,237,.12) 62%,transparent 76%),linear-gradient(0deg,rgba(21,38,27,.13),transparent 28%),linear-gradient(180deg,rgba(247,245,237,.34),transparent 19%)}
.wellness-orbit{inset:0}
.wellness-orbit>svg:not(.orbit-mobile){left:auto;right:0;top:calc(50% + 34px);bottom:auto;transform:translateY(-50%);width:max(100vw,calc(100svh * 1.778));height:max(calc(100vw * .5624),100svh)}
@media(max-width:760px){
 .first-scene .pose:first-child{object-position:80% 50%}
 .first-scene .hero-visual:after{background:linear-gradient(0deg,rgba(247,245,237,.97) 0%,rgba(247,245,237,.86) 27%,rgba(247,245,237,.10) 61%,rgba(247,245,237,.2) 100%),linear-gradient(90deg,rgba(247,245,237,.35),transparent 75%)}
 .wellness-orbit>svg.orbit-mobile{left:50%;right:auto;top:10svh;bottom:auto;transform:translateX(-50%);width:min(100vw,430px);height:auto}
}

/* Let the full-bleed hero image continue behind the fixed navigation. */
.first-scene .photo-stack{top:0;height:auto;bottom:0}

/* Footer fills the viewport and keeps Yashini's full seated pose in frame. */
footer.landscape-footer{height:100svh;min-height:100svh;max-height:none}
.landscape-footer:before{background-size:auto 100%;background-position:left center;background-repeat:no-repeat}
@media(max-width:760px){footer.landscape-footer{height:100svh;min-height:100svh;max-height:none}.landscape-footer:before{background-size:auto 100%;background-position:left center}}

/* Continue the landscape softly beyond the fitted full-pose photograph. */
.landscape-footer .footer-backdrop{position:absolute;inset:-22px;z-index:-3;background:url('assets/footer-landscape.png') center 52%/cover no-repeat;filter:blur(12px);transform:scale(1.04)}
.landscape-footer:before{background-size:auto 100%;background-position:left center;background-repeat:no-repeat;-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 68%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,#000 68%,transparent 100%)}

/* The footer landscape is now an edge-to-edge wide composition with the complete pose. */
.landscape-footer .footer-backdrop{display:none}
.landscape-footer:before{background-size:cover;background-position:center center;background-repeat:no-repeat;-webkit-mask-image:none;mask-image:none}

/* Dedicated portrait imagery keeps both mobile scenes naturally framed. */
@media(max-width:760px){
 .wellness-orbit{display:none!important}
 .first-scene .pose:first-child{object-position:center center}
 .landscape-footer:before{background-image:url('assets/footer-mobile.jpg');background-size:cover;background-position:center center}
}

/* Mobile hero: keep the copy in the open sky and Yashini unobstructed below it. */
@media(max-width:760px){
 .first-scene .hero-grid{align-items:flex-start}
 .first-scene .hero-copy{align-self:flex-start;width:100%;padding:clamp(34px,5svh,58px) 0 0}
 .first-scene .hero-copy h1{max-width:420px;font-size:clamp(35px,8.8vw,48px);line-height:1.02;letter-spacing:-1.4px}
 .first-scene .hero-description{max-width:360px;font-size:14px;line-height:1.5;margin:14px 0 18px}
 .first-scene .hero-copy .button{padding:13px 17px}
}

/* Keep mobile photography vivid; the copy now sits on the bright sky. */
@media(max-width:760px){.first-scene .hero-visual:after{background:linear-gradient(0deg,rgba(247,245,237,.10) 0%,rgba(247,245,237,.06) 45%,rgba(247,245,237,.035) 100%)}}

/* Session-group cards inspired by the supplied reference, using Ishwa's sage palette. */
.schedule{grid-template-columns:1fr;gap:18px;margin-top:24px}
.schedule-card{border:0;border-radius:20px;background:#fffefb;box-shadow:0 12px 36px #30493812;overflow:hidden}
.schedule-card:hover{border:0;box-shadow:0 14px 38px #3049381c}
.schedule-card.is-open{background:#fffefb;border:0}
.schedule-card-toggle{display:grid;grid-template-columns:104px minmax(0,1fr) 30px;align-items:center;gap:24px;width:100%;padding:20px 24px;background:transparent;border:0;color:var(--ink);text-align:left}
.schedule-icon{width:104px;height:104px;border-radius:14px;display:grid;place-items:center;color:#fff}
.schedule-icon.morning{background:linear-gradient(145deg,#c7a26e,#768663)}
.schedule-icon.evening{background:linear-gradient(145deg,#718779,#304b40)}
.schedule-icon svg{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.schedule-card-main{min-width:0;display:block}
.schedule-card-main>strong{display:block;font:600 25px/1.15 var(--sans);letter-spacing:-.03em;color:#263c31}
.schedule-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:17px}
.schedule-stats>span{min-width:0;padding:0 20px;border-left:1px solid #e2e5dd}
.schedule-stats>span:first-child{padding-left:0;border-left:0}
.schedule-stats small,.schedule-stats b{display:block}
.schedule-stats small{font:400 13px/1.3 var(--sans);color:#69776c;margin-bottom:6px}
.schedule-stats b{font:600 16px/1.35 var(--sans);color:#263c31;font-variant-numeric:tabular-nums}
.schedule-plus{align-self:start;grid-column:3;grid-row:1;width:28px;height:28px;border:0;border-radius:50%;display:grid;place-items:center;background:#e5ebe5;color:#49624f;font-size:19px;line-height:1}
.schedule-card-detail{display:block;padding:0 28px 18px 152px;color:var(--ink)}
.schedule-batch-row{display:grid;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:15px;padding:13px 0;border-top:1px solid #e1e5db}
.schedule-batch-row time{font:600 13px/1.4 var(--sans);font-variant-numeric:tabular-nums;white-space:nowrap}
.schedule-batch-row>span{font-size:12px;line-height:1.5;color:#56675b}
.schedule-batch-row>a{font:600 11px/1.4 var(--sans);white-space:nowrap;color:#526c53}
.schedule-batch-row>a span{margin-left:5px}
@media(max-width:760px){
 .schedule{gap:13px;margin-top:18px}
 .schedule-card{border-radius:16px}
 .schedule-card-toggle{grid-template-columns:64px minmax(0,1fr) 25px;gap:13px;padding:14px}
 .schedule-icon{width:64px;height:64px;border-radius:11px}
 .schedule-icon svg{width:32px;height:32px}
 .schedule-card-main>strong{font-size:18px}
 .schedule-stats{margin-top:11px}
 .schedule-stats>span{padding:0 8px}
 .schedule-stats small{font-size:10px;margin-bottom:4px}
 .schedule-stats b{font-size:11px;line-height:1.3}
 .schedule-plus{width:24px;height:24px;font-size:16px}
 .schedule-card-detail{padding:0 14px 12px}
 .schedule-batch-row{grid-template-columns:1fr auto;gap:4px 10px;padding:11px 0}
 .schedule-batch-row time{font-size:11px}
 .schedule-batch-row>span{grid-column:1/-1;font-size:11px}
 .schedule-batch-row>a{grid-column:2;grid-row:1;font-size:10px}
}
@media(max-width:390px){.schedule-card-toggle{grid-template-columns:56px minmax(0,1fr) 22px;gap:10px;padding:12px}.schedule-icon{width:56px;height:56px}.schedule-card-main>strong{font-size:16px}.schedule-stats>span{padding:0 5px}.schedule-stats small{font-size:9px}.schedule-stats b{font-size:10px}}

/* Refined desktop hero, practice cards, tutor spacing, and session schedule. */
@media(min-width:761px){
 .first-scene .hero-grid{align-items:center}
 .first-scene .hero-copy{width:min(560px,46vw);padding:0;align-self:center;transform:translateY(1vh)}
 .first-scene .hero-copy h1{font-size:clamp(43px,5vw,68px);line-height:1.04;letter-spacing:-1.8px}
 .first-scene .hero-copy .eyebrow{font-size:9px;letter-spacing:1.3px;max-width:440px}
 .first-scene .hero-description{max-width:430px;font-size:16px;line-height:1.65;margin:22px 0 25px}
 .first-scene .hero-copy .button{padding:14px 20px}
}
.services{border:0;gap:14px;align-items:stretch}
.service,.service+.service{display:flex;flex-direction:column;padding:24px 22px 20px;border:1px solid #d5d8cc;border-radius:13px;background:rgba(255,254,249,.62);transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.service:hover{transform:translateY(-4px);border-color:#9eac96;box-shadow:0 14px 28px #263b3012}
.service-symbol{width:48px;height:48px;object-fit:contain;margin:19px 0 17px;transition:transform .22s ease,filter .22s ease}
.service:hover .service-symbol{transform:scale(1.08);filter:drop-shadow(.65px 0 0 #728462) drop-shadow(-.35px 0 0 #728462)}
.service h3{min-height:60px}
.service p{flex:1;min-height:0;margin:12px 0 20px;font-size:14px;line-height:1.65}
.service a{margin-top:auto;padding-top:12px;font-size:12px}
.service a span{transition:transform .2s ease}
.service a:hover span{transform:translate(2px,-2px)}
.tutor{padding-bottom:48px}
.schedule-card-toggle{grid-template-columns:80px minmax(0,1fr) 26px;gap:18px;padding:16px 20px}
.schedule-icon{width:80px;height:80px;border-radius:12px}
.schedule-icon svg{width:38px;height:38px}
.schedule-card-main>strong{font-size:23px}
.schedule-stats{margin-top:12px}
.schedule-stats>span{padding:0 17px}
.schedule-stats small{font-size:12px;margin-bottom:4px}
.schedule-stats b{font-size:15px}
.schedule-card-detail{padding:0 22px 15px;color:var(--ink)}
.schedule-batch-row{grid-template-columns:minmax(145px, .28fr) minmax(0,1fr) minmax(150px,.26fr);gap:18px;padding:12px 0}
.schedule-batch-row time{font-size:14px}
.schedule-batch-row>span{font-size:14px;line-height:1.5}
.schedule-batch-row>a{font-size:12px;text-align:right}
@media(max-width:760px){
 .services{gap:10px}
 .service,.service+.service{padding:17px 13px 15px;border-radius:10px}
 .service-symbol{width:40px;height:40px;margin:14px 0}
 .service h3{min-height:53px}
 .service p{font-size:13px;margin:10px 0 15px}
 .service a{font-size:10px;padding-top:10px}
 .tutor{padding-bottom:30px}
 .schedule-card-toggle{grid-template-columns:58px minmax(0,1fr) 24px;gap:12px;padding:13px}
 .schedule-icon{width:58px;height:58px;border-radius:10px}
 .schedule-icon svg{width:30px;height:30px}
 .schedule-card-main>strong{font-size:17px}
 .schedule-stats{margin-top:8px}
 .schedule-stats>span{padding:0 7px}
 .schedule-stats small{font-size:10px}
 .schedule-stats b{font-size:11px}
 .schedule-card-detail{padding:0 13px 12px}
 .schedule-batch-row{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:10px 0}
 .schedule-batch-row time{font-size:12px}
 .schedule-batch-row>span{grid-column:1/-1;font-size:13px;line-height:1.45}
 .schedule-batch-row>a{grid-column:2;grid-row:1;font-size:11px}
}
@media(max-width:390px){
 .schedule-card-toggle{grid-template-columns:52px minmax(0,1fr) 22px;gap:9px;padding:11px}
 .schedule-icon{width:52px;height:52px}
 .schedule-card-main>strong{font-size:16px}
 .schedule-stats>span{padding:0 4px}
 .schedule-stats small{font-size:9px}
 .schedule-stats b{font-size:10px}
}

/* Anchor the footer's legal/navigation row at the base, above the centered logo. */
.landscape-footer .footer-bottom{position:absolute;left:8vw;right:8vw;bottom:78px;z-index:2;width:auto;display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0;padding:10px 0 12px;border-bottom:1px solid #ecf0e045;font-size:11px}
.landscape-footer .footer-bottom small{font-size:11px}
.landscape-footer .footer-bottom>a{padding:7px 0;border-bottom:1px solid #ecf0e075;transition:opacity .2s ease,border-color .2s ease}
.landscape-footer .footer-bottom>a:hover{opacity:.78;border-color:#fff}
.landscape-footer .footer-wordmark{position:absolute;left:0;right:0;bottom:12px;margin:0;padding:0;min-height:50px}
@media(max-width:760px){
 .landscape-footer .footer-bottom{left:6vw;right:6vw;bottom:64px;gap:10px;padding:8px 0 10px;font-size:9px}
 .landscape-footer .footer-bottom small{font-size:9px}
 .landscape-footer .footer-bottom>a{font-size:9px}
 .landscape-footer .footer-wordmark{bottom:8px;min-height:44px}
}

/* Preserve the original editorial serif only for the opening hero headline. */
.first-scene .hero-copy h1{font-family:'Cormorant Garamond',Georgia,serif}

/* Uploaded transparent icons for navigation, practice cards, and yoga journey. */
@media(max-width:760px){
 .menu-toggle{display:grid;place-items:center}
 .menu-toggle img{width:27px;height:27px;object-fit:contain;filter:brightness(.48) saturate(1.2)}
 .menu-toggle[aria-expanded="true"] img{transform:rotate(90deg)}
}
.service-symbol{width:60px;height:60px;object-fit:contain;filter:invert(38%) sepia(13%) saturate(663%) hue-rotate(52deg) brightness(90%) contrast(84%)}
.service:hover .service-symbol{filter:invert(38%) sepia(13%) saturate(663%) hue-rotate(52deg) brightness(90%) contrast(84%) drop-shadow(.65px 0 0 #728462) drop-shadow(-.35px 0 0 #728462)}
.journey-art{overflow:hidden;background:none}
.journey-art:before{display:block;z-index:0}
.journey-art:after{content:'';position:absolute;inset:0;background-color:#4a6452;-webkit-mask-image:url('assets/yoga-pose-sprite.png?v=pose-outline-transparent-1');mask-image:url('assets/yoga-pose-sprite.png?v=pose-outline-transparent-1');-webkit-mask-size:200% 200%;mask-size:200% 200%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:0 0;mask-position:0 0;transition:background-color .25s ease;z-index:1}
.journey-art svg{display:none}
.journey-art.pose-1:after{-webkit-mask-position:0 0;mask-position:0 0}
.journey-art.pose-2:after{-webkit-mask-position:100% 0;mask-position:100% 0}
.journey-art.pose-3:after{-webkit-mask-position:0 100%;mask-position:0 100%}
.journey-art.pose-4:after{-webkit-mask-position:100% 100%;mask-position:100% 100%}
.journey-card:hover .journey-art:after,.journey-card:focus-within .journey-art:after{background-color:#fff}
.footer-connect .wa-icon,.floating-wa .wa-icon{display:block;width:24px;height:24px;object-fit:contain;flex:0 0 auto}
.footer-connect .wa-icon{width:18px;height:18px}
@media(max-width:760px){.service-symbol{width:50px;height:50px}.journey-art:after{-webkit-mask-size:200% 200%;mask-size:200% 200%}}

/* Membership collection: calm surfaces, clear prices and a gentle hover lift. */
.programme-panel{padding:32px;border:1px solid #d6ddcf;border-radius:28px;background:linear-gradient(135deg,#f7f8f1,#e9eee3)}
.panel-title{align-items:center}.panel-title h3{font:500 clamp(23px,2.4vw,32px)/1.2 var(--sans);letter-spacing:-.04em}
.panel-title>span{max-width:none;white-space:nowrap;font-size:9px;color:#657763}
.duration-picker{display:flex;flex-wrap:wrap;width:fit-content;gap:4px;margin:26px 0 30px;padding:5px;border:1px solid #dce2d5;border-radius:28px;background:#ffffff80}
.duration-picker button{flex:none;padding:9px 17px;border:0;border-radius:22px;font:500 12px/1.3 var(--sans);transition:background .2s,color .2s,box-shadow .2s}
.duration-picker button:hover{background:#e1e8da}.duration-picker button.selected{background:#4a6452;color:#fff;box-shadow:0 3px 8px #243d311a}
.price-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
.price-card{--membership-tint:#e8efdf;display:flex;flex-direction:column;position:relative;min-width:0;padding:25px 22px 20px;border:1px solid #dfe5d8;border-radius:22px;background:#fffefb;box-shadow:0 5px 15px #243d3105;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.membership-2{--membership-tint:#e1ebe6}.membership-3{--membership-tint:#f3e6d4}.membership-4{--membership-tint:#ece5ee}
.price-card:hover,.price-card:focus-within{transform:translateY(-8px);border-color:#a8b99f;box-shadow:0 20px 35px -12px #334d3e35}
.membership-card-top{display:flex;align-items:center;gap:12px;margin-bottom:25px}
.membership-mark{display:grid;place-items:center;flex:0 0 42px;height:42px;background:var(--membership-tint);border-radius:15px 15px 15px 5px;color:#4a6452;font:500 13px/1 var(--sans);font-variant-numeric:tabular-nums}
.price-card .eyebrow{margin:0;font-size:9px;line-height:1.6;letter-spacing:1px;color:#5d715e}
.price-card h4{min-height:58px;margin:0;font:500 23px/1.25 var(--sans);letter-spacing:-.035em;color:#243d31;overflow-wrap:normal}
.membership-price{margin-top:26px;padding-top:22px;border-top:1px solid #e5e9df}
.membership-label{font-size:11px;color:#697668}.price-card .price{font:500 clamp(30px,2.5vw,38px)/1.15 var(--sans);letter-spacing:-.05em;font-variant-numeric:lining-nums tabular-nums;margin:9px 0 5px}
.price-card .price-duration{font-size:12px;color:#697668;margin-bottom:24px}
.price-card>a{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;padding:12px 15px;min-height:44px;border:0;border-radius:12px;background:var(--membership-tint);color:#314c39;font:600 12px/1.4 var(--sans);transition:background .2s,color .2s}
.price-card:hover>a,.price-card:focus-within>a{background:#4a6452;color:#fff}
.price-card>a svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.programme-panel>.fine-print{margin-top:22px;font-size:11px;line-height:1.7}

/* A sun rising or setting behind a horizon, with quiet reflected motion. */
.schedule-icon{overflow:hidden;isolation:isolate;border:1px solid #ffffff60;box-shadow:inset 0 0 20px #ffffff25}
.schedule-icon.morning{background:linear-gradient(155deg,#fff0ca,#efd1a1);color:#ae702a}
.schedule-icon.evening{background:linear-gradient(155deg,#edc3ac,#aca5bd);color:#805667}
.schedule-icon svg{width:72px;height:72px;stroke-width:1.8;overflow:hidden}
.schedule-icon .sun-disc{fill:currentColor;stroke:none}
.schedule-icon .sun-horizon{stroke-width:2}
.schedule-icon .sun-reflection{transform-origin:40px 60px;animation:session-ripple 4.8s ease-in-out infinite;opacity:.6}
.schedule-icon .reflection-two{animation-delay:-2.4s;opacity:.35}
.morning .session-sun{animation:session-sunrise 6s ease-in-out infinite}
.evening .session-sun{animation:session-sunset 6s ease-in-out infinite}
.sun-rays{animation:session-rays 6s ease-in-out infinite}
@keyframes session-sunrise{0%,10%{transform:translateY(24px);opacity:.3}45%,80%{transform:translateY(-4px);opacity:1}100%{transform:translateY(24px);opacity:.3}}
@keyframes session-sunset{0%,10%{transform:translateY(-4px);opacity:1}55%,80%{transform:translateY(24px);opacity:.3}100%{transform:translateY(-4px);opacity:1}}
@keyframes session-ripple{0%,100%{transform:scaleX(.7);opacity:.3}50%{transform:scaleX(1);opacity:.7}}
@keyframes session-rays{0%,100%{opacity:.4}50%{opacity:1}}
@media(max-width:1150px){.price-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.price-card h4{min-height:0}.membership-card-top{margin-bottom:18px}}
@media(max-width:760px){.programme-panel{padding:22px 16px;border-radius:22px}.panel-title{gap:12px}.panel-title h3{font-size:23px}.panel-title>span{font-size:8px}.duration-picker{width:100%;border-radius:16px;margin:22px 0 26px;display:grid;grid-template-columns:repeat(3,1fr)}.duration-picker button{padding:10px 6px;font-size:11px;border-radius:12px}.price-cards{gap:14px}.price-card{padding:20px 17px 17px;border-radius:18px}.price-card h4{font-size:22px}.membership-card-top{gap:10px}.price-card .eyebrow{font-size:8px}.membership-price{margin-top:22px;padding-top:18px}.price-card .price{font-size:34px}.schedule-icon svg{width:50px;height:50px}}
@media(max-width:540px){.price-cards{grid-template-columns:1fr}.price-card h4{font-size:25px}.membership-card-top{margin-bottom:16px}.membership-price{margin-top:20px}.panel-title{align-items:flex-start}.panel-title>span{padding-top:6px}.schedule-icon svg{width:46px;height:46px}}
@media(prefers-reduced-motion:reduce){.price-card,.duration-picker button,.price-card>a{transition:none}.price-card:hover,.price-card:focus-within{transform:none}.schedule-icon .session-sun,.schedule-icon .sun-rays,.schedule-icon .sun-reflection{animation:none}.evening .session-sun{transform:translateY(7px)}}

/* A partial chakra drawing layered softly over the sage section surface. */
#formats .format-copy{position:relative;isolation:isolate;overflow:hidden}
#formats .format-copy:before{content:'';position:absolute;z-index:0;pointer-events:none;width:clamp(480px,58vw,900px);aspect-ratio:1;right:-38%;bottom:-18%;background:url('assets/chakra-overlay.svg') center/contain no-repeat;opacity:.16;-webkit-mask-image:linear-gradient(120deg,transparent 12%,#000 60%);mask-image:linear-gradient(120deg,transparent 12%,#000 60%)}
#formats .format-copy>*{position:relative;z-index:1}
@media(max-width:760px){#formats .format-copy:before{width:570px;right:-230px;bottom:-100px;opacity:.13}}

@media(max-width:760px){.menu-toggle{display:grid;width:52px;height:52px;padding:2px;border:0;border-radius:0;background:transparent;box-shadow:none}.menu-toggle img{width:48px;height:48px;max-width:none;filter:brightness(.43) saturate(1.1)}.menu-toggle[aria-expanded=true] img{transform:none}}

/* Latest refinements requested from the mobile review. */
.service-symbol{transform-style:preserve-3d;animation:service-icon-float 5s ease-in-out infinite;transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .55s ease}
.service:nth-child(2) .service-symbol{animation-delay:-1.25s}.service:nth-child(3) .service-symbol{animation-delay:-2.5s}.service:nth-child(4) .service-symbol{animation-delay:-3.75s}
.service:hover .service-symbol,.service:focus-within .service-symbol{animation-play-state:paused;transform:perspective(550px) rotateY(20deg) rotateX(-12deg) translateY(-3px) scale(1.08)}
@keyframes service-icon-float{0%,100%{transform:perspective(550px) rotateX(0) rotateY(-5deg) translateY(0)}50%{transform:perspective(550px) rotateX(6deg) rotateY(5deg) translateY(-5px)}}
.location-contact{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:20px;font-size:13px}.location-contact a{border-bottom:1px solid #8d9c86;padding-bottom:2px}
.price-card h4{min-height:0}.membership-price{margin-top:17px;padding-top:18px}
#faqs summary{font-size:15px}
@media(max-width:760px){.service-symbol{animation-duration:5.5s}.membership-price{margin-top:15px;padding-top:16px}}
@media(prefers-reduced-motion:reduce){.service-symbol{animation:none!important;transition:none!important}}
/* Scale the new wordmark consistently and reuse its emblem as the story mark. */
.brand img{width:clamp(150px,12vw,180px);height:70px;object-fit:contain}
.story-lotus{width:72px;height:72px;object-fit:contain}
.footer-wordmark img{width:clamp(140px,13vw,180px);max-height:72px}
@media(max-width:760px){.brand img{width:clamp(120px,28vw,142px);height:58px}.footer-wordmark img{width:clamp(122px,34vw,150px);max-height:62px}.story-lotus{width:66px;height:66px}}
/* Slightly smaller site header wordmark on every viewport. */
.brand img{width:clamp(136px,10.5vw,160px);height:62px}
@media(max-width:760px){.brand img{width:clamp(112px,25vw,128px);height:52px}}
/* Second small reduction to the header wordmark. */
.brand img{width:clamp(112px,9.5vw,146px);height:56px}
@media(max-width:760px){.brand img{width:clamp(102px,22vw,116px);height:48px}}

/* Keep the sun-wheel in contact and place the lotus pulse behind location details. */
.location{position:relative;overflow:hidden}
.location > div{position:relative;z-index:1}
.location-lotus-pulse{position:absolute;z-index:0;left:-4%;bottom:-70px;width:clamp(350px,36vw,540px);height:auto;max-width:none;object-fit:contain;opacity:.4;pointer-events:none}
@media(max-width:760px){.location-lotus-pulse{width:320px;left:auto;right:-95px;bottom:-15px;opacity:.3}}

/* Give the three footer contact actions a readable, comfortable touch target. */
.landscape-footer .footer-connect{font-size:14px;gap:clamp(20px,4vw,60px)}
.landscape-footer .footer-connect a{gap:10px;padding:10px 8px}
.landscape-footer .footer-connect svg,.landscape-footer .footer-connect .wa-icon{width:22px;height:22px;flex:none}
@media(max-width:760px){.landscape-footer .footer-connect{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;font-size:13px}.landscape-footer .footer-connect a{justify-content:center;gap:7px;padding:10px 3px;white-space:nowrap}.landscape-footer .footer-connect svg,.landscape-footer .footer-connect .wa-icon{width:19px;height:19px}}
.page-loader{display:none}
html.loader-enabled{overflow:hidden}
html.loader-enabled .page-loader{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:#f7f5ed;color:#4a6452;opacity:1;visibility:visible;transition:opacity .45s ease,visibility .45s ease}
.page-loader img{width:clamp(66px,10vw,92px);height:auto;object-fit:contain;animation:loader-emblem 2.8s ease-in-out infinite;filter:drop-shadow(0 7px 14px #243d3114)}
.page-loader span{font:600 10px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.19em;text-transform:uppercase;color:#5d6c60;animation:loader-caption 1.8s ease-in-out infinite}
.page-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
@keyframes loader-emblem{0%,100%{transform:translateY(0) scale(.97) rotate(-3deg);opacity:.78}50%{transform:translateY(-7px) scale(1.04) rotate(3deg);opacity:1}}
@keyframes loader-caption{0%,100%{opacity:.52}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.page-loader img,.page-loader span{animation:none}.page-loader{transition:none}}
/* A continuous, accessible ribbon of yoga practices. */
.yoga-marquee{position:relative;display:flex;align-items:center;min-height:64px;overflow:hidden;background:#dfe8d8;border-block:1px solid #cbd8c7;color:#284836}
.yoga-marquee:before,.yoga-marquee:after{content:"";position:absolute;z-index:2;top:0;bottom:0;width:clamp(30px,8vw,130px);pointer-events:none}
.yoga-marquee:before{left:0;background:linear-gradient(90deg,#dfe8d8,transparent)}
.yoga-marquee:after{right:0;background:linear-gradient(270deg,#dfe8d8,transparent)}
.yoga-marquee-track{display:flex;width:max-content;animation:yoga-marquee-scroll 55s linear infinite;will-change:transform}
.yoga-marquee:hover .yoga-marquee-track{animation-play-state:paused}
.yoga-marquee-group{display:flex;align-items:center;flex:none}
.yoga-marquee-item{display:inline-flex;align-items:center;flex:none;gap:clamp(14px,2vw,26px);padding-left:clamp(14px,2vw,26px);white-space:nowrap;font:italic 500 clamp(14px,1.5vw,20px)/1.2 'Helvetica Neue',Helvetica,Arial,sans-serif;letter-spacing:-.025em}
.yoga-marquee-item img{width:18px;height:18px;object-fit:contain;flex:none;opacity:.72;filter:brightness(0) saturate(100%) invert(35%) sepia(10%) saturate(1024%) hue-rotate(83deg) brightness(91%) contrast(86%)}
@keyframes yoga-marquee-scroll{to{transform:translateX(-50%)}}
@media(max-width:760px){.yoga-marquee{min-height:52px}.yoga-marquee-item{font-size:clamp(12px,2.8vw,16px);gap:14px;padding-left:14px}.yoga-marquee-item img{width:15px;height:15px}}
@media(prefers-reduced-motion:reduce){.yoga-marquee{overflow-x:auto}.yoga-marquee:before,.yoga-marquee:after{display:none}.yoga-marquee-track{animation:none;will-change:auto}.yoga-marquee-group[aria-hidden="true"]{display:none}}
/* Reserve a clear footer copy area so the heading cannot collide with the
   centered wordmark or the legal/navigation baseline. */
footer.landscape-footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;column-gap:8vw;align-items:start}
.landscape-footer .footer-connect{grid-column:1/-1;grid-row:1;justify-self:center;width:100%}
.landscape-footer .footer-invitation{grid-column:2;grid-row:2;align-self:center;justify-self:start;width:min(100%,560px);margin:0;text-align:left}
.landscape-footer .footer-invitation h2{max-width:none;white-space:normal;text-wrap:balance;font-size:clamp(40px,4vw,62px);line-height:1.02;letter-spacing:-.035em}
.landscape-footer .footer-invitation nav{justify-content:flex-start;flex-wrap:wrap;gap:clamp(12px,1.8vw,25px)}
.landscape-footer .footer-bottom{grid-column:1/-1;grid-row:3;align-self:end}
.landscape-footer .footer-wordmark{grid-column:1/-1;grid-row:3;justify-self:center;align-self:end;pointer-events:auto}
@media(max-width:760px){footer.landscape-footer{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto;row-gap:0;padding-bottom:95px}.landscape-footer .footer-connect{grid-column:1;grid-row:1}.landscape-footer .footer-invitation{grid-column:1;grid-row:2;align-self:center;justify-self:center;width:min(100%,520px);margin:0;text-align:center}.landscape-footer .footer-invitation h2{font-size:clamp(34px,8.2vw,49px)}.landscape-footer .footer-invitation nav{justify-content:center;gap:clamp(14px,4vw,24px)}.landscape-footer .footer-bottom{grid-column:1;grid-row:3;align-self:end}.landscape-footer .footer-wordmark{grid-column:1;grid-row:3;justify-self:center}}
