:root{--cream:#f5f2eb;--cream2:#eae7dc;--sage:#c3ccb0;--deep:#33473b;--ink:#293b31;--muted:#687468;--line:#d7d9cc;--white:#fffef9;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);font-family:var(--sans);background:var(--cream);-webkit-font-smoothing:antialiased}button,a{ -webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h2{font-size:clamp(42px,5.2vw,76px);line-height:1.08;letter-spacing:-.04em}h2 em,h1 em{font-weight:400}p{line-height:1.75}.eyebrow{font-size:11px;letter-spacing:.19em;font-weight:700;color:var(--deep)}.section-pad{padding:112px min(7.5vw,112px)}.skip-link{position:absolute;left:-1000px;top:0;background:white;padding:12px;z-index:90}.skip-link:focus{left:8px}.announcement{height:29px;background:var(--deep);color:#f0f3e8;text-align:center;font-size:10px;letter-spacing:.13em;padding:8px}.announcement span{margin:0 15px}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 min(6.5vw,92px);position:sticky;top:0;background:rgba(245,242,235,.96);backdrop-filter:blur(16px);z-index:30;border-bottom:1px solid #d8d8cf}.brand{display:flex;flex-direction:column;align-items:center;gap:2px}.brand-script{font-family:cursive;font-size:29px;font-weight:400;font-style:italic;letter-spacing:-.07em;line-height:1}.brand-small{font-size:8px;letter-spacing:.22em;margin-left:8px}.nav{display:flex;align-items:center;gap:clamp(12px,2.1vw,34px);font-size:12px}.nav>a:not(.button):hover,.text-link:hover{opacity:.6}.button{display:inline-flex;align-items:center;justify-content:center;gap:34px;border:1px solid transparent;padding:17px 23px;font-size:12px;font-weight:700;letter-spacing:.025em;white-space:nowrap;transition:transform .2s,background .2s}.button:hover,.price-btn:hover{transform:translateY(-2px)}.button-small{padding:13px 17px;gap:18px}.button-dark{background:var(--deep);color:white}.button-cream{background:var(--cream);color:var(--ink)}.button-outline{border-color:var(--deep)}.nav-toggle{display:none}.hero{height:min(780px,80vw);min-height:590px;position:relative;color:white;overflow:hidden}.hero-visual,.hero-shade,.hero-visual video{position:absolute;inset:0;width:100%;height:100%}.hero-visual video{object-fit:cover;object-position:center 45%}.hero-shade{background:linear-gradient(90deg,rgba(26,43,31,.68),rgba(26,43,31,.22) 70%),linear-gradient(0deg,rgba(30,49,34,.2),transparent)}.hero-copy{position:absolute;top:50%;transform:translateY(-50%);left:min(10vw,145px);max-width:790px;z-index:1}.eyebrow.light{color:#eff5e9}.hero h1{font-size:clamp(60px,7.5vw,114px);line-height:1.02;letter-spacing:-.05em;margin:30px 0 25px}.hero-copy>p:not(.eyebrow){font-size:15px;max-width:430px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:34px;margin-top:35px}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:6px;display:inline-flex;gap:22px}.light-link{color:white}.hero-side{position:absolute;right:30px;bottom:36px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.24em}.intro{background:#f6f3ec}.intro-kicker{display:flex;align-items:center;gap:12px}.tiny-mark{font-size:26px;color:#8d9d7c}.intro-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:11%;align-items:start;margin-top:25px}.intro h2{margin-bottom:0}.intro-text{padding-top:15px;max-width:475px}.intro-text p{font-size:15px;color:#5b675d;margin-bottom:19px}.intro-text .text-link{margin-top:20px}.photo-story{display:grid;grid-template-columns:1.05fr .9fr .67fr;min-height:470px;background:#d9dfd1}.story-image{min-height:470px}.story-image img{object-position:center}.story-text{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:55px 11%;background:#dce4d7}.story-text h2{font-size:clamp(35px,3.7vw,56px);margin:23px 0}.story-text p{font-size:13px;max-width:300px}.story-text .handwritten{font-family:cursive;font-size:28px;font-style:italic;margin-top:24px;color:#667d6c}.classes{background:var(--cream)}.section-top{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:42px}.section-top h2{margin-bottom:0}.section-top>p{font-size:14px;max-width:320px;color:var(--muted);margin-bottom:0}.class-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.class-card{background:#fffdf8}.class-image{height:390px;overflow:hidden}.class-image img{transition:transform .5s}.class-card:hover img{transform:scale(1.035)}.class-info{padding:31px 37px 38px}.class-info h3{font-size:36px;margin:17px 0 10px}.class-info p{font-size:14px;color:var(--muted);max-width:440px}.class-info .text-link{margin-top:9px}.class-note{text-align:center;color:#64725f;font-size:12px;margin:31px 0 0}.quote-band{background:#becbb3;text-align:center;padding:86px 25px}.quote-band>p{font-family:var(--serif);font-style:italic;font-size:clamp(43px,5vw,76px);letter-spacing:-.04em;margin:17px 0}.quote-band>span:last-child{font-size:13px}.teacher{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;background:#f5f2eb}.teacher-image{height:620px}.teacher-image img{object-position:center 50%}.teacher-copy{max-width:500px}.teacher-copy h2{margin:25px 0}.teacher-copy p{font-size:15px;color:var(--muted)}.teacher-copy .small-muted{font-size:12px;opacity:.85}.teacher-copy .text-link{margin-top:20px}.schedule{background:#e6eadf}.schedule-heading{text-align:center;max-width:670px;margin:auto}.schedule-heading h2{margin:19px 0}.schedule-heading>p:last-child{color:var(--muted);font-size:14px}.booking-panel{display:flex;align-items:center;gap:30px;padding:40px;background:#fcfaf5;max-width:1100px;margin:44px auto 0;border:1px solid #d8ddcf}.booking-mark{font-size:70px;color:#9bb18a}.booking-panel>div:nth-child(2){flex:1}.booking-panel h3{font-size:30px;margin:13px 0}.booking-panel p{font-size:13px;color:var(--muted);max-width:510px;margin:0}.schedule-foot{text-align:center;font-size:12px;margin:20px 0 0;color:var(--muted)}.schedule-foot a{text-decoration:underline}.momoyoga-embed{max-width:1100px;margin:35px auto}.momoyoga-embed iframe{width:100%;min-height:680px;border:0}.pricing{background:#f6f3ec}.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.price-card{border:1px solid #d3d5cc;padding:29px 24px 24px;min-height:370px;display:flex;flex-direction:column;position:relative;background:#faf8f1}.price-card.featured{background:#e5eadc;border-color:#bec9b4}.price-card h3{font-size:28px;margin:21px 0 24px}.amount{font-family:var(--serif);font-size:62px;letter-spacing:-.05em;line-height:1;margin:0 0 14px}.amount span{font-size:30px}.price-card>p:not(.amount){font-size:12px;color:var(--muted)}.price-spacer{flex:1}.price-detail{border-top:1px solid #cdd0c4;padding:19px 0;font-size:12px;font-weight:600}.price-btn{width:100%;display:flex;justify-content:space-between;align-items:center;background:var(--deep);border:0;color:white;font-size:12px;padding:15px;transition:transform .2s}.best-value{position:absolute;top:-14px;right:12px;padding:7px 10px;background:var(--deep);color:white;font-size:9px;letter-spacing:.1em}.pricing-disclaimer{margin-top:25px;font-size:12px;color:var(--muted)}.pricing-disclaimer a{text-decoration:underline}.events{display:grid;grid-template-columns:1.13fr 1fr;min-height:550px;background:#d8e0d4}.events-photo{min-height:540px}.events-content{padding:85px 11% 70px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.events-content h2{margin:24px 0}.events-content>p:not(.eyebrow){font-size:14px;color:#566b5a}.event-mini{display:flex;align-items:flex-start;gap:19px;border-top:1px solid #acbbaa;border-bottom:1px solid #acbbaa;padding:24px 0;margin:25px 0 30px;width:100%}.event-mini>span{font-size:24px}.event-mini strong{font-size:14px}.event-mini small{display:block;color:#66756a;margin-top:9px;line-height:1.5}.conditions{background:#f5f2eb}.conditions>h2{margin:17px 0 42px}.policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.policy-grid>div{border-top:1px solid #c5c9bb;padding-top:22px}.policy-num{font-size:12px;color:#7b8d76}.policy-grid h3{font-size:28px;margin:20px 0 13px}.policy-grid p{font-size:13px;color:var(--muted)}.instagram-block{padding:90px 0 0;background:#dce3d7}.instagram-lead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 min(7.5vw,112px) 30px}.instagram-lead h2{font-size:clamp(35px,4vw,56px);margin:0}.instagram-photos{display:grid;grid-template-columns:repeat(3,1fr);height:340px;gap:6px;overflow:hidden}.instagram-photos img:first-child{object-position:center 30%}.contact{display:grid;grid-template-columns:1fr 1fr;gap:65px;background:#f6f3ec}.contact-title h2{margin:20px 0}.contact-title>p:not(.eyebrow){max-width:440px;font-size:14px;color:var(--muted)}.contact-title .button{margin-top:20px}.contact-details{display:grid;gap:28px;padding-top:30px}.contact-details p{line-height:1.7;margin:16px 0 6px}.contact-details .small-muted{font-size:12px;color:var(--muted)}.contact-details a:hover{text-decoration:underline}.map-link{grid-column:1/-1;position:relative;display:block;height:300px;overflow:hidden;margin-top:10px;background:#dce1d6}.map-link iframe{width:100%;height:100%;border:0;pointer-events:none;filter:grayscale(.38)}.map-link>span{position:absolute;bottom:16px;left:16px;background:#fff;padding:12px 19px;font-size:12px;font-weight:700}footer{background:#2f4539;color:#f4f5ec;padding:65px min(7.5vw,112px) 20px}.footer-main{display:flex;justify-content:space-between;gap:40px}.footer-logo{font-family:cursive;font-style:italic;font-size:38px}.footer-main p{font-size:12px;opacity:.8;margin-top:17px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:14px 34px;font-size:12px}.footer-social{display:flex;flex-direction:column;gap:15px;font-size:12px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #5b7064;margin-top:62px;padding-top:19px;font-size:10px;opacity:.7}dialog{border:0;max-width:480px;padding:43px;background:var(--cream);color:var(--ink);box-shadow:0 15px 70px #172b1b70}dialog::backdrop{background:#1b2b20a8}dialog h2{font-size:39px;margin:19px 0}dialog p{font-size:14px;color:var(--muted)}dialog .button{margin-top:15px}.modal-close{position:absolute;right:12px;top:10px;background:none;border:0;font-size:27px}.small-muted{color:#7b847b}@media(max-width:1060px){.nav{gap:14px;font-size:11px}.nav .button{display:none}.photo-story{grid-template-columns:1fr 1fr}.side-photo{display:none}.pricing-grid{grid-template-columns:repeat(2,1fr)}.teacher-image{height:560px}}@media(max-width:760px){.announcement{font-size:8px}.site-header{height:70px;padding:0 22px}.brand-script{font-size:26px}.nav-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:0;padding:10px}.nav-toggle span{width:25px;height:1px;background:var(--ink)}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:#f6f3ed;flex-direction:column;align-items:stretch;gap:0;padding:15px 24px 25px;box-shadow:0 15px 25px #26372c20}.nav.open{display:flex}.nav a{padding:12px 2px;font-size:14px}.nav .button{display:flex;margin-top:10px}.section-pad{padding:72px 24px}.hero{height:690px;min-height:600px}.hero-visual video{object-position:55% center}.hero-copy{left:28px;right:22px}.hero h1{font-size:clamp(54px,12vw,75px)}.hero-copy>p:not(.eyebrow){font-size:13px}.hero-actions{align-items:flex-start;flex-direction:column;gap:23px}.hero-side{display:none}.intro-grid,.teacher,.events,.contact{grid-template-columns:1fr}.intro-grid{gap:17px}.intro-text{padding-top:0}.photo-story{grid-template-columns:1fr}.story-image{height:360px;min-height:0}.story-text{padding:65px 28px}.section-top{display:block}.section-top>p{margin-top:23px}.class-grid{grid-template-columns:1fr}.class-image{height:300px}.class-info{padding:27px}.teacher{gap:30px}.teacher-image{height:430px}.teacher-copy{max-width:100%}.booking-panel{flex-direction:column;align-items:flex-start;gap:12px;padding:28px}.booking-mark{font-size:42px}.booking-panel .button{width:100%;white-space:normal}.pricing-grid{grid-template-columns:1fr 1fr;gap:10px}.price-card{min-height:320px;padding:23px 15px 16px}.price-card h3{font-size:23px}.amount{font-size:50px}.price-btn{font-size:11px;padding:12px 9px}.events{grid-template-columns:1fr}.events-photo{min-height:360px;height:360px}.events-content{padding:66px 24px}.policy-grid{grid-template-columns:1fr;gap:29px}.instagram-block{padding-top:70px}.instagram-lead{display:block;margin:0 24px 28px}.instagram-lead h2{margin:18px 0}.instagram-photos{height:210px}.contact{gap:25px}.contact-details{padding:0}.map-link{height:260px;margin-top:12px}footer{padding:55px 24px 22px}.footer-main{flex-wrap:wrap}.footer-main>div:first-child{width:100%}.footer-bottom{gap:20px;flex-wrap:wrap}}@media(max-width:390px){.pricing-grid{grid-template-columns:1fr}.price-card{min-height:280px}.hero h1{font-size:50px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Version 2: native portrait video frame, no zoom or pixel stretching */
@media (min-width: 761px) {
  .hero {height: min(760px, 76vw); min-height: 610px; background: #f5f2eb; color: #293b31;}
  .hero-visual {left: 55%; right: 0; width: 45%; background: #c8d2be; display: flex; align-items: center; justify-content: center;}
  .hero-visual video {position: relative; inset: auto; display: block; width: auto; max-width: 100%; height: 100%; object-fit: contain; object-position: center;}
  .hero-shade {display: none;}
  .hero-copy {left: min(6vw, 90px); width: 45%; max-width: 600px;}
  .hero h1 {font-size: clamp(52px, 5.9vw, 88px);}
  .eyebrow.light, .light-link {color: #33473b;}
  .hero-side {color: #fffef9; z-index: 1;}
}
@media (max-width: 760px) {
  .hero {height: auto; min-height: 0; display: flex; flex-direction: column; background: #f5f2eb; color: #293b31; overflow: hidden;}
  .hero-copy {order: 1; position: relative; top: auto; left: auto; right: auto; transform: none; padding: 64px 26px 50px; max-width: none;}
  .hero h1 {font-size: clamp(48px, 11vw, 68px); margin: 22px 0;}
  .eyebrow.light, .light-link {color: #33473b;}
  .hero-visual {order: 2; position: relative; inset: auto; width: 100%; height: min(130vw, 630px); min-height: 380px; background: #c8d2be; display: flex; align-items: center; justify-content: center;}
  .hero-visual video {position: relative; inset: auto; display: block; height: 100%; width: auto; max-width: 100%; object-fit: contain; object-position: center;}
  .hero-shade {display: none;}
}

/* FAQ: accessible, native disclosure sections */
.faq{background:#e8ece2}.faq-heading{max-width:680px;margin-bottom:38px}.faq-heading h2{margin:18px 0}.faq-heading>p:last-child{color:var(--muted);font-size:14px}.faq-list{border-top:1px solid #c1cbbd;max-width:1000px;margin:auto}.faq-list details{border-bottom:1px solid #c1cbbd;padding:0 3px}.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:28px;padding:24px 0;font-size:17px;font-weight:600}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font:400 29px var(--serif);color:var(--deep);flex:none}.faq-list details[open] summary:after{content:'−'}.faq-list details p{font-size:14px;color:#536455;max-width:770px;line-height:1.8;padding:0 40px 18px 0;margin:0}.faq-list summary:focus-visible{outline:2px solid var(--deep);outline-offset:4px}@media(max-width:760px){.faq-list summary{font-size:15px;padding:21px 0}.faq-list details p{font-size:13px;padding-right:10px}}


.schedule-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:24px 0 30px}.schedule-list div{background:#fff;border:1px solid rgba(43,55,43,.08);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:6px;box-shadow:0 8px 24px rgba(0,0,0,.03)}.schedule-list span{font-size:.9rem;color:#6d7269;text-transform:uppercase;letter-spacing:.08em}.schedule-list strong{font-size:1.05rem;color:#1f2a1f}

/* Five day columns; Wednesday lists both classes */
.schedule-list{grid-template-columns:repeat(5,minmax(0,1fr))}.schedule-list div{min-width:0}.schedule-list strong{display:block;white-space:nowrap}.schedule-list strong+strong{margin-top:4px}@media(max-width:1050px){.schedule-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.schedule-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:380px){.schedule-list{grid-template-columns:1fr}}

/* Sage Studio v6 – formats d’ateliers */
.events{grid-template-columns:.9fr 1.15fr;align-items:stretch}.events-photo{min-height:700px}.events-photo img{object-fit:cover;object-position:center}.events-content{padding:75px clamp(28px,5vw,85px)}.events-content>p:not(.eyebrow){max-width:620px}.workshop-list{width:100%;margin:19px 0 16px}.workshop-list article{display:grid;grid-template-columns:32px 1fr;gap:12px;padding:15px 0;border-top:1px solid #acbbaa}.workshop-list article:last-child{border-bottom:1px solid #acbbaa}.workshop-index{color:#6c806e;font-size:11px;letter-spacing:.08em;padding-top:5px}.workshop-list h3{font-family:var(--sans);font-size:15px;font-weight:600;margin:0 0 5px}.workshop-list p{font-size:12.5px;line-height:1.65;color:#566b5a;margin:0}.workshop-note{font-size:12px!important;margin:3px 0 22px}.events-content .button{margin-top:3px}@media(max-width:760px){.events{grid-template-columns:1fr}.events-photo{min-height:320px;height:320px}.events-content{padding:55px 24px}.workshop-list article{padding:14px 0}}


/* v8: horizontal photo gallery */
.scroll-gallery{padding-top:0}
.gallery-heading{max-width:720px;margin-bottom:24px}
.gallery-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px, 46vw);gap:20px;overflow-x:auto;overscroll-behavior-x:contain;padding:4px 2px 16px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.gallery-track::-webkit-scrollbar{height:10px}
.gallery-track::-webkit-scrollbar-thumb{background:rgba(82,92,79,.25);border-radius:999px}
.gallery-card{scroll-snap-align:start;background:#f7f4ef;border-radius:24px;overflow:hidden;box-shadow:0 12px 28px rgba(45,40,31,.08);margin:0}
.gallery-card img{display:block;width:100%;height:420px;object-fit:cover}
.gallery-card figcaption{padding:14px 16px 18px;color:#5d645b;font-size:.96rem}
@media (max-width: 900px){.gallery-track{grid-auto-columns:minmax(260px,82vw)}.gallery-card img{height:360px}}

/* v9: student testimonials */
.testimonials{background:#f4f1e9}.reviews-intro{max-width:670px;margin-bottom:28px}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.review-card{margin:0;background:#fff;border-radius:18px;padding:28px 26px;display:flex;flex-direction:column;min-height:228px;box-shadow:0 7px 20px rgba(50,60,50,.04)}.review-stars{font-size:20px;letter-spacing:.15em;color:#626f55}.review-card p{font-family:Georgia,serif;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.45;flex:1}.review-card footer{font-family:inherit;font-size:.79rem;color:#697065;margin-top:18px}.review-source{margin-top:22px;color:#666f65;font-size:.9rem}.review-source a{color:inherit;text-decoration:underline}@media(max-width:850px){.reviews-grid{grid-template-columns:1fr}.review-card{min-height:180px}}
