/*
Theme Name: Body & Balance by Gloria
Theme URI: https://bodyandbalancebygloria.com
Author: armaSoft
Description: Individuelles WordPress-Theme für Body & Balance by Gloria Neufeld.
Version: 1.0.75
Text Domain: bodyandbalance
*/

:root {
  --forest: #254235;
  --forest-deep: #183229;
  --gold: #c79a4b;
  --gold-light: #e4c27e;
  --beige: #b59c8e;
  --ivory: #f1e8dc;
  --paper: #fffdf9;
  --ink: #254235;
  --muted-ink: #586b61;
  --line: #d8c9b5;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; text-rendering: optimizeLegibility; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.site-header { min-height: 104px; padding: 12px clamp(24px,5vw,76px); display: grid; grid-template-columns: minmax(210px,1fr) auto minmax(150px,1fr); align-items: center; gap: 28px; background: var(--forest); color: #fffaf2; border-bottom: 3px solid var(--gold); position: relative; z-index: 50; }
.brand { width: 180px; }
.brand img { width: 100%; height: 76px; object-fit: contain; object-position: left center; }
.desktop-nav { display: flex; align-items: center; gap: clamp(18px,2.4vw,34px); }
.desktop-nav a { font-size: .95rem; font-weight: 600; letter-spacing: .01em; transition: color .2s ease; }
.desktop-nav a:hover, .desktop-nav .current { color: var(--gold-light); }
.header-action { justify-self: end; }
.gold-button { min-height: 48px; padding: 12px 22px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 999px; background: linear-gradient(135deg,var(--gold-light),var(--gold)); color: var(--forest-deep); font-weight: 700; font-size: .86rem; box-shadow: 0 12px 28px rgb(126 83 20 / 18%); transition: transform .2s ease,box-shadow .2s ease; cursor: pointer; }
.gold-button:hover { transform: translateY(-2px); box-shadow: 0 16px 34px rgb(126 83 20 / 25%); }
.mobile-menu { display: none; position: relative; justify-self: end; }
.menu-toggle { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid rgb(228 194 126 / 52%); border-radius: 50%; background: transparent; color: var(--gold-light); cursor: pointer; }
.menu-toggle > span:not(.screen-reader-text), .menu-toggle::before, .menu-toggle::after { width: 19px; height: 1px; display: block; background: currentColor; content: ""; transition: transform .2s ease; }
.menu-toggle > span:not(.screen-reader-text) { margin: 5px 0; }
.mobile-nav { width: min(340px,calc(100vw - 32px)); padding: 20px; display: none; gap: 2px; position: absolute; z-index: 60; top: 58px; right: 0; border: 1px solid var(--gold); border-radius: 18px; background: var(--forest-deep); box-shadow: 0 24px 70px rgb(0 0 0 / 32%); }
.mobile-nav.is-open { display: grid; }
.mobile-nav a { padding: 15px 5px; border-bottom: 1px solid rgb(255 250 242 / 14%); font-family: Georgia,"Times New Roman",serif; font-size: 1.3rem; }
.mobile-nav .gold-button { margin-top: 12px; border-bottom: 0; font-family: inherit; font-size: .82rem; }

.hero { min-height: 690px; display: grid; grid-template-columns: 1.02fr .98fr; background: linear-gradient(90deg,var(--ivory) 0 49.15%,var(--gold-light) 49.15% 50.3%,var(--ivory) 50.3% 100%); overflow: hidden; }
.hero-copy { align-self: center; padding: clamp(70px,9vw,128px) clamp(34px,5.5vw,92px); border-left: 9px solid var(--gold); }
.eyebrow { margin: 0 0 24px; display: flex; align-items: center; gap: 12px; color: #91651f; font-size: .7rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 38px; height: 1px; background: var(--gold); }
.hero h1 { max-width: 820px; margin: 0; font-family: Georgia,"Times New Roman",serif; font-size: clamp(3.35rem,5.4vw,6.45rem); line-height: .96; font-weight: 400; letter-spacing: -.055em; }
.hero h1 span,.hero h1 em { display:block; }
.hero h1 em { color:#a8792c; font-size:.9em; line-height:1.03; font-weight:400; white-space:nowrap; }
.hero-intro { max-width: 620px; margin: 30px 0 0; color: var(--muted-ink); font-size: clamp(1rem,1.2vw,1.14rem); line-height: 1.72; }
.hero-actions { margin-top: 38px; display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }
.text-link { padding: 10px 0 8px; border-bottom: 1px solid var(--gold); font-weight: 650; font-size: .9rem; }
.hero-portrait { position: relative; min-height: 690px; overflow: hidden; background: var(--beige); }
.hero-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center 24%; }
.gold-orbit { position:absolute; width:min(25vw,380px); aspect-ratio:1; right:-220px; bottom:-185px; border:1px solid rgb(228 194 126 / 50%); border-radius:50%; box-shadow:none; pointer-events:none; }
.trust-strip { display: grid; grid-template-columns: repeat(3,1fr); background: var(--gold); color: var(--forest-deep); }
.trust-strip p { margin: 0; padding: 22px; text-align: center; font-size: .78rem; font-weight: 700; letter-spacing: .04em; border-right: 1px solid rgb(37 66 53 / 24%); }
.trust-strip p:last-child { border-right: 0; }

.site-footer { padding: 38px clamp(24px,5vw,80px) 16px; display: grid; grid-template-columns: minmax(220px,.78fr) minmax(430px,1.45fr) minmax(300px,1fr); gap: 0; background: var(--forest); color: #e8eee9; border-top: 3px solid var(--gold); }
.site-footer h2 { margin: 0 0 18px; color: #fffaf2; font-size: .69rem; text-transform: uppercase; letter-spacing: .2em; }
.site-footer a,.site-footer p { display: block; margin: 0; color: #d5ded9; font-size: .82rem; line-height: 1.5; }
.site-footer a:hover { color: var(--gold-light); }
.footer-brand { align-self: center; max-width: 270px; padding-right: clamp(28px,4vw,54px); }
.footer-brand img { width: min(100%,230px); height: auto; border-radius: 0; box-shadow: none; filter: none; }
.footer-programmes,.footer-contact { border-left: 1px solid rgb(255 250 242 / 13%); padding-left: clamp(28px,4vw,58px); }
.footer-programmes { padding-right: clamp(24px,3vw,46px); }
.footer-programme-links { max-width: 700px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 38px; }
.site-footer .footer-programme-links a { min-height: 47px; position: relative; padding: 4px 8px 4px 19px; color: #e4ebe7; font-size: .9rem; font-weight: 550; line-height: 1.42; transition: color .2s ease,transform .2s ease; }
.site-footer .footer-programme-links a::before { content: ""; width: 9px; height: 9px; position: absolute; left: 0; top: .61em; background: transparent; border: 1px solid rgb(228 194 126 / 68%); border-radius: 50%; box-shadow: inset 0 0 0 2px var(--forest); }
.site-footer .footer-programme-links a:hover { color: #fffaf2; transform: translateX(2px); }
.site-footer .footer-programme-links a:hover::before { background: var(--gold-light); box-shadow: inset 0 0 0 2px var(--forest); }
.footer-contact { padding-right: 0; }
.site-footer .footer-contact-row { min-height: 36px; display: flex !important; align-items: center; gap: 13px; margin-bottom: 10px !important; color: #eef2ef; font-size: .94rem; line-height: 1.4; }
.site-footer .footer-contact-row span { min-width:0; overflow-wrap:anywhere; }
.footer-contact-icon { width: 33px; height: 33px; flex: 0 0 33px; display: grid; place-items: center; color: var(--gold-light); border: 1px solid rgb(228 194 126 / 44%); border-radius: 50%; }
.footer-contact-icon svg { width: 15px; height: 15px; }
.footer-bottom { grid-column: 1/-1; margin-top: 30px; padding-top: 14px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid rgb(255 250 242 / 13%); color: #9fb0a7; font-size: .7rem; }
.footer-legal { display: flex; align-items: center; justify-content: flex-end; gap: 24px; }
.site-footer .footer-bottom { font-size: .81rem; }
.site-footer .footer-legal a { margin: 0; color: #c8d2cc; font-size: .83rem; }
.footer-cookie-settings { margin: 0; padding: 0; border: 0; border-bottom: 1px solid transparent; background: transparent; color: #c8d2cc; font-size: .83rem; cursor: pointer; }
.footer-cookie-settings:hover,.footer-cookie-settings:focus-visible { color: var(--gold-light); border-bottom-color: var(--gold); outline: 0; }

.content-section { padding: clamp(76px,9vw,142px) clamp(26px,7vw,112px); }
.section-ivory { background: var(--ivory); }
.section-dark { background: var(--forest); color: #fffaf2; }
.section-heading { max-width: 1480px; margin: 0 auto 54px; display: grid; grid-template-columns: 1.08fr .92fr; gap: 64px; align-items: end; }
.section-heading h2,.two-column-copy h2,.story-copy h2,.about-copy h2,.contact-band h2,.credentials-copy h2,.motto-section h2 { margin: 0; font-family: Georgia,"Times New Roman",serif; font-size: clamp(2.7rem,5vw,5.6rem); line-height: 1.02; font-weight: 400; letter-spacing: -.045em; }
.section-heading>p,.story-copy>p,.about-copy>p,.contact-band>p,.two-column-copy .prose,.motto-section p { color: var(--muted-ink); line-height: 1.76; font-size: clamp(.98rem,1.2vw,1.12rem); }
.outline-button,.dark-button { min-height: 48px; padding: 12px 22px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; border: 1px solid var(--gold); color: var(--forest); font-weight: 700; font-size: .86rem; }
.dark-button { border-color: var(--forest); background: var(--forest); color: #fffaf2; }
.plain-list { margin: 28px 0 34px; padding: 0; list-style: none; display: grid; gap: 11px; }
.plain-list li { position: relative; padding-left: 25px; color: var(--muted-ink); line-height: 1.55; }
.plain-list li::before { content: ""; position: absolute; left: 0; top: .65em; width: 11px; height: 1px; background: var(--gold); }

.lotus-story { min-height: 720px; padding: clamp(76px,10vw,150px) clamp(26px,8vw,126px); display: grid; grid-template-columns: minmax(280px,.9fr) minmax(360px,1.1fr); gap: clamp(40px,8vw,126px); align-items: center; overflow: hidden; position: relative; }
.lotus-story::before { content: ""; position: absolute; width: 540px; height: 540px; border: 1px solid rgb(228 194 126 / 24%); border-radius: 50%; right: -200px; top: -260px; }
.story-copy { position: relative; z-index: 2; }
.story-copy h2 { color: #fffaf2; }
.story-copy>p { max-width: 620px; color: #d6e0da; }
.eyebrow.light { color: var(--gold-light); }
.eyebrow.light::before { background: var(--gold-light); }
.lotus-stage { min-height: 400px; display: grid; place-items: center; perspective: 1000px; position: relative; }
.lotus-ring { position: absolute; width: 390px; height: 390px; border: 1px solid rgb(228 194 126 / 54%); border-radius: 50%; box-shadow: 0 0 100px rgb(199 154 75 / 15%),inset 0 0 46px rgb(199 154 75 / 10%); animation: ring-turn 15s linear infinite; }
.lotus-ring::before,.lotus-ring::after { content: ""; position: absolute; inset: 26px; border: 1px solid rgb(228 194 126 / 27%); border-radius: 50%; transform: rotateX(68deg); }
.lotus-ring::after { transform: rotateY(68deg); }
.lotus-object { width: 360px; height: 300px; position: relative; transform-style: preserve-3d; filter: drop-shadow(0 30px 35px rgb(0 0 0 / 26%)); animation: lotus-scroll linear both; animation-timeline: view(); animation-range: entry 0% cover 68%; }
.lotus-petal { position: absolute; left: 50%; bottom: 36px; width: 104px; height: 198px; margin-left: -52px; border: 1px solid #f0d294; border-radius: 78% 22% 70% 30%; transform-origin: 50% 94%; background: linear-gradient(135deg,#f6dda8 0%,#cf9939 44%,#785011 100%); box-shadow: inset 11px 9px 22px rgb(255 255 255 / 23%),inset -10px -10px 21px rgb(64 36 3 / 28%); backface-visibility: hidden; animation: petal-light 5s ease-in-out infinite alternate; }
.lotus-petal:nth-child(1){transform:translateZ(48px) rotate(-1deg) rotateX(-8deg)}.lotus-petal:nth-child(2){transform:translateX(-78px) translateZ(24px) rotate(-34deg) rotateY(-24deg)}.lotus-petal:nth-child(3){transform:translateX(78px) translateZ(24px) rotate(34deg) rotateY(24deg)}.lotus-petal:nth-child(4){transform:translateX(-121px) translateY(25px) translateZ(-8px) rotate(-61deg) rotateY(-34deg)}.lotus-petal:nth-child(5){transform:translateX(121px) translateY(25px) translateZ(-8px) rotate(61deg) rotateY(34deg)}.lotus-petal:nth-child(6){transform:translateX(-62px) translateY(76px) translateZ(56px) rotate(-72deg) scale(.78)}.lotus-petal:nth-child(7){transform:translateX(62px) translateY(76px) translateZ(56px) rotate(72deg) scale(.78)}
.lotus-base { position: absolute; left: 50%; bottom: 6px; width: 276px; height: 82px; margin-left: -138px; border-radius: 50%; background: radial-gradient(ellipse at 50% 22%,#f3d59a 0 8%,#c58e31 38%,#68400d 100%); transform: rotateX(64deg) translateZ(14px); box-shadow: 0 0 35px rgb(228 194 126 / 30%); }
@keyframes ring-turn{to{transform:rotate(360deg)}}@keyframes petal-light{to{filter:brightness(1.14)}}@keyframes lotus-scroll{from{transform:rotateY(-28deg) rotateX(10deg) scale(.76)}to{transform:rotateY(27deg) rotateX(-6deg) scale(1.07)}}

.brand-scroll-story { --story-progress: 0; height: 420vh; min-height: 3100px; position: relative; background: var(--forest); color: #fffaf2; }
.brand-story-sticky { height: 100vh; min-height: 700px; padding: clamp(120px,15vh,170px) clamp(28px,8vw,126px) 80px; display: grid; place-items: center; position: sticky; top: 0; overflow: hidden; isolation: isolate; }
.brand-story-sticky::before,.brand-story-sticky::after { content: ""; position: absolute; border: 1px solid rgb(228 194 126 / 18%); border-radius: 50%; pointer-events: none; }
.brand-story-sticky::before { width: min(72vw,1050px); aspect-ratio: 1; right: -22%; top: -52%; }
.brand-story-sticky::after { width: min(42vw,610px); aspect-ratio: 1; left: -16%; bottom: -36%; }
.brand-story-logo { width: min(56vw,68vh,760px); aspect-ratio: 1; position: absolute; z-index: 1; left: 50%; top: 63%; perspective: 1200px; transform-style: preserve-3d; transform: translate(-50%,-50%) scale(.91); transition: transform .9s cubic-bezier(.18,.8,.22,1); pointer-events: none; }
.brand-story-logo::before { content: ""; position: absolute; z-index: -1; inset: 19%; border-radius: 50%; background: radial-gradient(circle,rgb(240 220 180 / 10%) 0%,rgb(240 220 180 / 3%) 46%,transparent 73%); opacity: 0; transform: scale(.72); transition: opacity .8s ease,transform 1s ease; }
.logo-piece { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; opacity: .025; transform-style: preserve-3d; backface-visibility: hidden; transition: opacity .8s ease,transform 1s cubic-bezier(.16,.82,.2,1),filter .8s ease; }
.piece-left { transform: translate3d(-38%,-18%,-90px) rotateY(-20deg) rotateZ(-4deg) scale(.82); }
.piece-right { transform: translate3d(38%,-20%,-90px) rotateY(20deg) rotateZ(4deg) scale(.82); }
.piece-wordmark { transform: translate3d(0,34%,-80px) scale(.78); }
.piece-lotus { transform: translate3d(-27%,38%,-100px) rotateZ(-10deg) scale(.72); }
.piece-signature { transform: translate3d(29%,44%,-100px) rotateZ(6deg) scale(.74); }
.logo-strength { transform-origin:50% 18%;transform:translate3d(-24%,-30%,-60px) scale(.82) }
.logo-stillness { transform-origin:50% 21.2%;transform:translate3d(26%,-31%,-60px) scale(.82) }
.logo-self { transform-origin:50% 24.6%;transform:translate3d(0,-38%,-65px) scale(.78) }
.brand-scroll-story[data-step="1"] .brand-story-logo { transform: translate(-50%,-50%) scale(.94) rotateY(-1.2deg); }
.brand-scroll-story[data-step="2"] .brand-story-logo { transform: translate(-50%,-50%) scale(.965) rotateY(1.2deg); }
.brand-scroll-story[data-step="3"] .brand-story-logo { transform: translate(-50%,-50%) scale(.985) rotateY(-.7deg); }
.brand-scroll-story[data-step="4"] .brand-story-logo { transform: translate(-50%,-50%) scale(1); }
.brand-scroll-story[data-step="1"] .brand-story-logo::before,.brand-scroll-story[data-step="2"] .brand-story-logo::before,.brand-scroll-story[data-step="3"] .brand-story-logo::before,.brand-scroll-story[data-step="4"] .brand-story-logo::before { opacity:1;transform:scale(1) }
.brand-scroll-story[data-step="1"] .piece-left { opacity:.42;transform:translate3d(-4%,-2%,14px) rotateY(-3deg) scale(.97) }
.brand-scroll-story[data-step="2"] .piece-left { opacity:.7;transform:translate3d(0,0,8px) scale(1) }.brand-scroll-story[data-step="2"] .piece-right { opacity:.55;transform:translate3d(4%,-2%,14px) rotateY(3deg) scale(.97) }
.brand-scroll-story[data-step="3"] .piece-left,.brand-scroll-story[data-step="3"] .piece-right { opacity:.86;transform:translate3d(0,0,5px) scale(1) }.brand-scroll-story[data-step="3"] .piece-wordmark { opacity:.82;transform:translate3d(0,2%,18px) scale(.98) }.brand-scroll-story[data-step="3"] .piece-lotus { opacity:.76;transform:translate3d(-2%,3%,15px) rotateZ(-1deg) scale(.97) }
.brand-scroll-story[data-step="4"] .logo-piece { opacity:1;transform:translate3d(0,0,0) scale(1);filter:drop-shadow(0 8px 10px rgb(8 25 18 / 24%)) }
.brand-scroll-story[data-step="1"] .logo-strength { opacity:1;transform:translate3d(0,-.4%,90px) scale(1.23);filter:brightness(1.1) drop-shadow(0 9px 12px rgb(8 25 18 / 35%)) }
.brand-scroll-story[data-step="2"] .logo-strength { opacity:.88;transform:translate3d(0,0,8px) scale(1) }.brand-scroll-story[data-step="2"] .logo-stillness { opacity:1;transform:translate3d(0,.6%,94px) scale(1.22);filter:brightness(1.1) drop-shadow(0 9px 12px rgb(8 25 18 / 35%)) }
.brand-scroll-story[data-step="3"] .logo-strength,.brand-scroll-story[data-step="3"] .logo-stillness { opacity:.84;transform:translate3d(0,0,7px) scale(1) }.brand-scroll-story[data-step="3"] .logo-self { opacity:1;transform:translate3d(0,1%,105px) scale(1.34);filter:brightness(1.12) drop-shadow(0 10px 13px rgb(8 25 18 / 38%)) }
.brand-scroll-story[data-step="4"] .logo-motto-word { filter:drop-shadow(0 3px 4px rgb(8 25 18 / 22%)) }
.brand-story-copy { width: min(1240px,calc(100% - 48px)); position: absolute; z-index: 2; top: clamp(52px,6vh,78px); left: 50%; text-align: center; transform: translateX(-50%); }
.brand-story-copy h2 { margin: 0; font-family: Georgia,"Times New Roman",serif; font-size: clamp(3.1rem,4.6vw,5.8rem); line-height: .94; font-weight: 400; letter-spacing: -.052em; }
.brand-story-copy h2 span { display: block; opacity: 0; transform: translate3d(0,38px,0) scale(.96); filter: blur(8px); transition: opacity .72s ease,transform .9s cubic-bezier(.2,.75,.2,1),filter .72s ease,color .72s ease; }
.brand-story-copy p { max-width: 920px; margin: 26px auto 0; color: #d6e0da; font-size: clamp(1.02rem,1.2vw,1.18rem); line-height: 1.66; opacity: 0; transform: translate3d(0,24px,0); filter: blur(6px); transition: opacity .75s ease,transform .9s cubic-bezier(.2,.75,.2,1),filter .75s ease; }
.brand-scroll-story[data-step="1"] .brand-story-copy h2 span:first-child { opacity:1;transform:translate3d(0,0,0) scale(1.035);filter:none;color:#fffaf2 }
.brand-scroll-story[data-step="2"] .brand-story-copy h2 span:first-child { opacity:.68;transform:translate3d(0,0,0) scale(.97);filter:none;color:#d6e0da }
.brand-scroll-story[data-step="2"] .brand-story-copy h2 span:nth-child(2) { opacity:1;transform:translate3d(0,0,0) scale(1.035);filter:none;color:#fffaf2 }
.brand-scroll-story[data-step="3"] .brand-story-copy h2 span,.brand-scroll-story[data-step="4"] .brand-story-copy h2 span { opacity:1;transform:translate3d(0,0,0) scale(1);filter:none;color:#fffaf2 }
.brand-scroll-story[data-step="3"] .brand-story-copy p,.brand-scroll-story[data-step="4"] .brand-story-copy p { opacity:1;transform:translate3d(0,0,0);filter:none }
.brand-story-progress { width: min(320px,42vw); height: 1px; position: absolute; bottom: clamp(42px,7vh,76px); left: 50%; overflow: hidden; background: rgb(228 194 126 / 20%); transform: translateX(-50%); }
.brand-story-progress span { display: block; width: 100%; height: 100%; background: var(--gold-light); transform: scaleX(var(--story-progress)); transform-origin: left center; }

/* Four-beat story: immediate opening copy, exact original logo at the finish. */
.brand-scroll-story { height: 350vh; min-height: 2500px; }
.logo-complete-original { z-index: 20; opacity: 0; transform: translate3d(0,0,0) scale(.985); filter: none; }
.brand-scroll-story[data-step="0"] .brand-story-copy h2 span:first-child { opacity:1;transform:translate3d(0,0,0) scale(1.035);filter:none;color:#fffaf2 }
.brand-scroll-story[data-step="0"] .brand-story-logo { transform:translate(-50%,-50%) scale(.94) rotateY(-1.2deg) }
.brand-scroll-story[data-step="0"] .brand-story-logo::before { opacity:1;transform:scale(1) }
.brand-scroll-story[data-step="0"] .piece-left { opacity:.42;transform:translate3d(-4%,-2%,14px) rotateY(-3deg) scale(.97) }
.brand-scroll-story[data-step="0"] .logo-strength { opacity:1;transform:translate3d(0,-.4%,90px) scale(1.15);filter:brightness(1.1) drop-shadow(0 9px 12px rgb(8 25 18 / 35%)) }
.brand-scroll-story[data-step="1"] .brand-story-copy h2 span:first-child { opacity:.68;transform:translate3d(0,0,0) scale(.97);filter:none;color:#d6e0da }
.brand-scroll-story[data-step="1"] .brand-story-copy h2 span:nth-child(2) { opacity:1;transform:translate3d(0,0,0) scale(1.035);filter:none;color:#fffaf2 }
.brand-scroll-story[data-step="1"] .brand-story-logo { transform:translate(-50%,-50%) scale(.965) rotateY(1.2deg) }
.brand-scroll-story[data-step="1"] .piece-left { opacity:.7;transform:translate3d(0,0,8px) scale(1) }
.brand-scroll-story[data-step="1"] .piece-right { opacity:.55;transform:translate3d(4%,-2%,14px) rotateY(3deg) scale(.97) }
.brand-scroll-story[data-step="1"] .logo-strength { opacity:.78;transform:translate3d(0,0,8px) scale(1);filter:none }
.brand-scroll-story[data-step="1"] .logo-stillness { opacity:1;transform:translate3d(0,.3%,94px) scale(1.12);filter:brightness(1.1) drop-shadow(0 9px 12px rgb(8 25 18 / 35%)) }
.brand-scroll-story[data-step="2"] .brand-story-copy h2 span,.brand-scroll-story[data-step="3"] .brand-story-copy h2 span { opacity:1;transform:translate3d(0,0,0) scale(1);filter:none;color:#fffaf2 }
.brand-scroll-story[data-step="2"] .brand-story-copy p,.brand-scroll-story[data-step="3"] .brand-story-copy p { opacity:1;transform:translate3d(0,0,0);filter:none }
.brand-scroll-story[data-step="2"] .brand-story-logo { transform:translate(-50%,-50%) scale(.985) rotateY(-.7deg) }
.brand-scroll-story[data-step="2"] .piece-left,.brand-scroll-story[data-step="2"] .piece-right { opacity:.86;transform:translate3d(0,0,5px) scale(1) }
.brand-scroll-story[data-step="2"] .piece-wordmark { opacity:.82;transform:translate3d(0,2%,18px) scale(.98) }
.brand-scroll-story[data-step="2"] .piece-lotus { opacity:.76;transform:translate3d(-2%,3%,15px) rotateZ(-1deg) scale(.97) }
.brand-scroll-story[data-step="2"] .logo-strength,.brand-scroll-story[data-step="2"] .logo-stillness { opacity:.84;transform:translate3d(0,0,7px) scale(1);filter:none }
.brand-scroll-story[data-step="2"] .logo-self { opacity:1;transform:translate3d(0,.5%,105px) scale(1.18);filter:brightness(1.12) drop-shadow(0 10px 13px rgb(8 25 18 / 38%)) }
.brand-scroll-story[data-step="3"] .brand-story-logo { transform:translate(-50%,-50%) scale(1) }
.brand-scroll-story[data-step="3"] .logo-piece:not(.logo-complete-original) { opacity:0;transform:translate3d(0,0,0) scale(1);filter:none }
.brand-scroll-story[data-step="3"] .logo-complete-original { opacity:1;transform:translate3d(0,0,0) scale(1);filter:none }

.feature-card { max-width: 1480px; margin: 0 auto; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); min-height: 560px; overflow: hidden; border: 3px solid var(--gold); border-radius: 30px; background: var(--forest); color: #fffaf2; box-shadow: 0 34px 80px rgb(37 66 53 / 16%); }
.feature-image { min-height: 560px; overflow: hidden; }.feature-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.04); transition: transform .8s cubic-bezier(.2,.75,.2,1); }.feature-card:hover .feature-image img{transform:scale(1.035)}
.feature-copy { min-width:0;align-self:stretch;padding:clamp(36px,3.5vw,58px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center }.feature-copy h3{margin:0 0 24px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.45rem,3.15vw,3.7rem);line-height:1.04;font-weight:400;letter-spacing:-.038em}.feature-copy>p{color:#d7e1dc;line-height:1.72}.feature-title-line,.feature-description span{display:block;white-space:nowrap}.feature-description{margin:0;font-size:clamp(.92rem,.98vw,1.04rem)}.feature-copy .fact-row{width:100%;margin:30px 0;justify-content:center}.feature-copy .gold-button{align-self:center}
.fact-row{margin:34px 0;display:flex;flex-wrap:wrap;gap:30px}.fact-row strong,.fact-row small{display:block}.fact-row strong{color:var(--gold-light);font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;font-weight:400}.fact-row small{margin-top:4px;color:#b8c7bf;font-size:.72rem}
.programme-overview{padding-top:clamp(58px,5vw,78px)}.programme-overview .section-heading{margin-bottom:42px}.programme-overview .section-heading h2{max-width:780px;font-size:clamp(2.75rem,4.4vw,4.8rem)}.programme-grid{max-width:1480px;margin:0 auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}.programme-card{grid-column:span 3;min-height:370px;padding:clamp(34px,4.2vw,62px);display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:26px;background:var(--paper);transition:transform .3s ease,box-shadow .3s ease}.programme-card:hover{transform:translateY(-7px);box-shadow:0 26px 60px rgb(37 66 53 / 13%)}.programme-card.primary{background:var(--gold);color:var(--forest-deep);border-color:var(--gold)}.programme-card h3{max-width:580px;margin:0 0 15px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3.25vw,3.7rem);line-height:1.04;font-weight:400}.programme-card>p:not(.eyebrow),.programme-card-body>p:not(.eyebrow){max-width:520px;color:var(--muted-ink);line-height:1.65}.card-link{margin-top:26px;font-weight:700;font-size:.82rem}.visual-card{grid-column:span 2;min-height:0;padding:0;justify-content:flex-start;background:var(--paper)}.programme-card-media{aspect-ratio:1.6;overflow:hidden;background:var(--ivory)}.programme-card-media img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .7s cubic-bezier(.2,.75,.2,1)}.visual-card:hover .programme-card-media img{transform:scale(1.035)}.programme-card-body{min-height:250px;padding:30px 30px 34px;display:flex;flex-direction:column}.programme-card-body h3{font-size:clamp(1.65rem,2vw,2.3rem)}.programme-card-body .card-link{margin-top:auto;padding-top:20px}
.featured-programme-card{grid-column:span 3}.featured-programme-card .programme-card-media{aspect-ratio:2.05}.featured-programme-card .programme-card-body{min-height:270px}.portrait-card-media img{object-position:center 28%}
.about-preview{max-width:1660px;margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(46px,8vw,130px);align-items:center}.about-photo{min-height:650px;position:relative;overflow:hidden;border-radius:26px;box-shadow:26px 26px 0 var(--gold)}.about-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.about-copy{padding-right:clamp(0px,4vw,70px)}.about-copy>p{margin:24px 0 0}.qualification-list{margin:30px 0 36px;padding:0;list-style:none;border-top:1px solid var(--line)}.qualification-list li{padding:14px 0;border-bottom:1px solid var(--line);font-weight:650}
.image-banner{min-height:690px;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden;background:var(--forest)}.image-banner>img{width:100%;height:100%;min-height:690px;object-fit:cover;filter:saturate(.82)}.image-banner-copy{width:100%;max-width:880px;margin:auto;padding:clamp(54px,5vw,92px);align-self:center;color:#fffaf2}.image-banner-copy h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.7rem,3.5vw,4rem);line-height:1.04;font-weight:400;letter-spacing:-.035em}.image-banner-copy h2 span,.image-banner-description span{display:block;white-space:nowrap}.image-banner-copy>p{color:#d5dfda;line-height:1.7}.image-banner-description{margin:26px 0 30px;font-size:clamp(.92rem,1vw,1.08rem)}

.page-hero{min-height:560px;padding:clamp(86px,11vw,170px) clamp(28px,9vw,144px);display:grid;align-items:center;background:var(--ivory);position:relative;overflow:hidden}.page-hero::after{content:"";position:absolute;width:520px;height:520px;right:-170px;top:-210px;border:70px solid rgb(199 154 75 / 28%);border-radius:50%}.page-hero>div{max-width:1040px;position:relative;z-index:2}.page-hero h1,.detail-hero h1,.nutrition-hero h1,.about-hero h1,.contact-intro h1,.legal-page h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.4rem,7vw,8rem);line-height:.96;font-weight:400;letter-spacing:-.055em}.page-hero>div>p:last-child{max-width:720px;color:var(--muted-ink);font-size:1.08rem;line-height:1.75}
.detail-hero{min-height:690px;display:grid;grid-template-columns:1fr 1fr;background:var(--ivory)}.detail-hero-copy{align-self:center;padding:clamp(70px,8vw,126px)}.detail-hero-copy>p:not(.eyebrow){max-width:650px;color:var(--muted-ink);line-height:1.72;font-size:1.08rem}.detail-hero-copy .gold-button{margin-top:22px}.detail-hero-image{min-height:690px;overflow:hidden;border-left:9px solid var(--gold)}.detail-hero-image img{width:100%;height:100%;object-fit:cover}.course-facts{display:grid;grid-template-columns:repeat(4,1fr);background:var(--gold);color:var(--forest-deep)}.course-facts div{padding:28px 20px;text-align:center;border-right:1px solid rgb(37 66 53 / 24%)}.course-facts strong,.course-facts span{display:block}.course-facts strong{font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;font-weight:400}.course-facts span{margin-top:5px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.two-column-copy{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(50px,9vw,150px);align-items:start}.two-column-copy .prose p{margin:0 0 20px}.course-flow{padding:clamp(76px,9vw,142px) clamp(26px,7vw,112px)}.step-grid{max-width:1480px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--gold);border:1px solid var(--gold)}.step-grid article{min-height:280px;padding:34px;background:var(--paper)}.step-grid span{color:var(--gold);font-family:Georgia,"Times New Roman",serif;font-size:2.4rem}.step-grid h3{margin:54px 0 12px;font-family:Georgia,"Times New Roman",serif;font-size:1.7rem;font-weight:400}.step-grid p{color:var(--muted-ink);line-height:1.65;font-size:.9rem}.compact-story{min-height:620px}.reimbursement{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.reimbursement h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.6rem,5vw,5.4rem);line-height:1.02;font-weight:400}.reimbursement-card{padding:clamp(34px,5vw,66px);border-left:5px solid var(--gold);background:var(--ivory)}.reimbursement-card p{margin:0 0 18px;color:var(--muted-ink);line-height:1.72}
.programme-list{display:grid;gap:100px}.programme-feature{max-width:1480px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,8vw,120px);align-items:center}.programme-feature.reverse>:first-child{order:2}.programme-feature-image{min-height:580px;border-radius:24px;overflow:hidden;box-shadow:24px 24px 0 var(--gold)}.programme-feature-image img{width:100%;height:100%;object-fit:cover}.programme-feature h2,.variant-card h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.8rem,5vw,5.6rem);line-height:1.02;font-weight:400}.programme-feature>div>p:not(.eyebrow){color:var(--muted-ink);line-height:1.72}.nutrition-visual{min-height:580px;display:grid;place-content:center;text-align:center;border-radius:24px;background:var(--forest);color:var(--gold-light);box-shadow:-24px 24px 0 var(--gold)}.nutrition-visual span{font-family:Georgia,"Times New Roman",serif;font-size:clamp(8rem,16vw,16rem);line-height:.75}.nutrition-visual small{margin-top:24px;font-weight:700;text-transform:uppercase;letter-spacing:.2em}
.programme-index-hero{min-height:470px;padding-top:clamp(72px,7vw,112px);padding-bottom:clamp(72px,7vw,112px)}.programme-index-hero h1{max-width:1080px;font-size:clamp(3.5rem,5.8vw,6.5rem)}.programme-index-hero>div>p:last-child{max-width:820px}.programme-index-content{padding-top:clamp(62px,6vw,92px);padding-bottom:clamp(72px,7vw,112px)}.programme-index-content .section-heading{margin-bottom:42px}.programme-index-content .section-heading h2{max-width:790px;font-size:clamp(2.75rem,4.5vw,4.9rem)}.programme-index-grid .programme-card-body{min-height:285px}.programme-index-grid .programme-card-body>p:not(.eyebrow){font-size:.98rem}.programme-index-faq{padding-top:clamp(48px,4.5vw,68px);padding-bottom:clamp(52px,5vw,74px)}.programme-index-faq .section-heading{margin-bottom:26px}.programme-index-faq .section-heading h2{font-size:clamp(2.45rem,3.8vw,4rem)}.programme-index-faq .faq-accordion{max-width:1180px;margin:0 auto}.programme-index-faq .faq-trigger{padding-top:20px;padding-bottom:20px;font-size:clamp(1.15rem,1.65vw,1.5rem)}.programme-index-faq .faq-content{padding-bottom:22px}.programme-index-cta{padding:clamp(42px,4vw,58px) clamp(28px,8vw,120px)}.programme-index-cta h2{max-width:680px;font-size:clamp(2.5rem,3.8vw,4.1rem)}.programme-index-cta>p:not(.eyebrow){margin:12px auto 20px}
.nutrition-hero{min-height:690px;padding:clamp(80px,10vw,150px) clamp(28px,9vw,144px);display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:70px;background:var(--forest);color:#fffaf2;overflow:hidden}.nutrition-hero>div:first-child{max-width:900px}.nutrition-hero>div>p:not(.eyebrow){max-width:700px;color:#d5dfda;line-height:1.72}.nutrition-hero .gold-button{margin-top:24px}.nutrition-number{aspect-ratio:1;display:grid;place-content:center;text-align:center;border:2px solid var(--gold);border-radius:50%;color:var(--gold-light);box-shadow:0 0 0 28px rgb(199 154 75 / 10%)}.nutrition-number span{font-family:Georgia,"Times New Roman",serif;font-size:clamp(8rem,15vw,17rem);line-height:.76}.nutrition-number small{margin-top:18px;text-transform:uppercase;letter-spacing:.18em}.variant-grid{max-width:1480px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:24px}.variant-card{min-height:490px;padding:clamp(38px,5vw,76px);display:flex;flex-direction:column;justify-content:flex-end;border:1px solid var(--line);border-radius:26px;background:var(--paper)}.variant-card.primary{background:var(--gold);border-color:var(--gold)}.variant-card>span{margin-bottom:auto;font-family:Georgia,"Times New Roman",serif;font-size:4rem;opacity:.35}.variant-card>p:not(.eyebrow){color:var(--muted-ink);line-height:1.72}.community-section{min-height:620px;padding:clamp(76px,9vw,142px) clamp(28px,9vw,144px);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px;background:var(--forest);color:#fffaf2}.community-section h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.8rem,5vw,5.8rem);line-height:1;font-weight:400}.community-section p:not(.eyebrow){color:#d4dfd9;line-height:1.72}.community-orbit{width:min(420px,80vw);aspect-ratio:1;margin:0 auto;position:relative;border:1px solid var(--gold);border-radius:50%;animation:ring-turn 16s linear infinite}.community-orbit span{position:absolute;width:54px;height:54px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f1d89f,var(--gold));box-shadow:0 0 24px rgb(199 154 75 / 28%)}.community-orbit span:nth-child(1){left:10%;top:18%}.community-orbit span:nth-child(2){right:6%;top:38%}.community-orbit span:nth-child(3){left:44%;bottom:-5%}
.about-hero{height:600px;min-height:0;display:grid;grid-template-columns:1fr 1fr;background:var(--forest);color:#fffaf2;overflow:hidden}.about-hero-image{height:600px;min-height:0;overflow:hidden;border-right:5px solid var(--gold)}.about-hero-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 18%}.about-hero-copy{max-width:760px;align-self:center;padding:clamp(48px,5.5vw,86px)}.about-hero-copy h1{font-size:clamp(3.5rem,4.25vw,5rem);line-height:.98}.about-hero-copy h1 span{display:block}.about-hero-copy>p:not(.eyebrow){max-width:620px;margin:26px 0 0;color:#d5dfda;line-height:1.7;font-size:1.02rem}.about-approach{padding-top:clamp(68px,6vw,92px);padding-bottom:clamp(68px,6vw,92px);grid-template-columns:.9fr 1.1fr;gap:clamp(54px,7vw,112px);align-items:center}.about-approach h2{max-width:650px;font-size:clamp(3rem,4.2vw,4.8rem);line-height:1}.about-approach .prose{padding:clamp(30px,3vw,44px);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:20px;background:var(--paper);box-shadow:0 20px 50px rgb(37 66 53 / 7%)}.about-approach .prose p:last-child{margin-bottom:0}.credentials-section{padding:clamp(68px,6vw,94px) clamp(28px,8vw,126px);display:grid;grid-template-columns:1fr 1.08fr;gap:clamp(50px,7vw,108px);align-items:center}.credentials-image{height:540px;min-height:0;overflow:hidden;border-radius:24px;box-shadow:18px 18px 0 var(--gold)}.credentials-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.credentials-copy h2{font-size:clamp(3rem,4.2vw,4.7rem)}.credential-list{margin-top:28px;border-top:1px solid var(--line)}.credential-list article{padding:17px 0;display:grid;grid-template-columns:28px 1fr;gap:16px;align-items:center;border-bottom:1px solid var(--line)}.credential-list span{width:13px;height:13px;border:1px solid var(--gold);border-radius:50%;box-shadow:inset 0 0 0 3px var(--ivory);font-size:0}.credential-list h3{margin:0;font-size:1rem;font-weight:650}.motto-section{min-height:590px;padding:clamp(70px,9vw,140px);display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:center;background:var(--gold)}.motto-section img{width:min(430px,80vw);border-radius:50%}.motto-section p{color:var(--forest-deep)}
.faq-page{max-width:1200px;margin:0 auto}.faq-accordion{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-trigger{padding:26px 48px 26px 4px;position:relative;cursor:pointer;list-style:none;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.2rem,2vw,1.8rem);font-weight:400}.faq-trigger::-webkit-details-marker{display:none}.faq-trigger::after{content:"+";position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--gold);font-family:Inter,sans-serif;font-size:1.5rem}.faq-item[open] .faq-trigger::after{content:"−"}.faq-content{padding:0 52px 28px 4px;color:var(--muted-ink);font-size:.98rem;line-height:1.7}
.contact-layout{min-height:720px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);background:var(--forest)}.contact-intro{padding:clamp(56px,5vw,84px) clamp(46px,4.6vw,76px);display:flex;align-items:flex-start;color:#fffaf2}.contact-intro-inner{width:100%;max-width:650px;margin:0 auto}.contact-intro .eyebrow{margin-bottom:28px}.contact-intro h1{max-width:650px;font-size:clamp(3.25rem,4vw,4.9rem);line-height:1.01;letter-spacing:-.045em;text-wrap:balance}.contact-intro h1 span{display:block}.contact-intro h1 span:last-child{font-size:.91em}.contact-intro-inner>p:not(.eyebrow){max-width:570px;margin:30px 0 0;color:#d5dfda;font-size:clamp(.96rem,1.02vw,1.06rem);line-height:1.76}.contact-person{max-width:570px;margin-top:30px;display:flex;align-items:center;gap:16px}.contact-person img{width:78px;height:78px;flex:0 0 78px;object-fit:cover;object-position:center 20%;border:2px solid rgb(228 194 126 / 70%);border-radius:50%;box-shadow:0 12px 30px rgb(8 28 21 / 22%)}.contact-person>span{display:grid;gap:5px}.contact-person small{color:var(--gold-light);font-size:.63rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.contact-person strong{font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;font-weight:400}.direct-contact{max-width:590px;margin-top:26px;padding:10px 20px;display:grid;gap:0;border:1px solid rgb(228 194 126 / 24%);border-radius:18px;background:rgb(255 250 242 / 5%);box-shadow:0 18px 42px rgb(8 28 21 / 12%)}.direct-contact-row{max-width:none;padding:14px 0;display:flex;align-items:center;gap:15px;color:#fffaf2}.direct-contact-row+ .direct-contact-row{border-top:1px solid rgb(255 250 242 / 12%)}.direct-contact-icon{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;color:var(--gold-light);border:1px solid rgb(228 194 126 / 48%);border-radius:50%}.direct-contact-icon svg{width:17px;height:17px}.direct-contact-row>span:last-child{min-width:0;display:grid;gap:4px}.direct-contact-row small{color:var(--gold-light);font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.direct-contact-row strong{overflow-wrap:anywhere;font-size:.94rem;font-weight:600}.contact-form-wrap{padding:clamp(56px,6vw,100px);display:flex;align-items:center;background:var(--ivory)}.contact-form-shell{width:100%;max-width:820px}.contact-form-shell>h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.55rem,3.5vw,4rem);line-height:1;font-weight:400;letter-spacing:-.04em}.contact-form-intro{max-width:620px;margin:16px 0 30px;color:var(--muted-ink);line-height:1.65}.contact-form{display:grid;gap:21px}.contact-form label{display:grid;gap:9px;font-size:.78rem;font-weight:700}.contact-form input:not([type=checkbox]),.contact-form textarea,.contact-form select{width:100%;min-height:54px;padding:13px 16px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font:inherit}.contact-form textarea{min-height:150px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:3px solid rgb(199 154 75 / 32%);border-color:var(--gold)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.privacy-check{grid-template-columns:20px 1fr!important;align-items:start;font-weight:400!important;line-height:1.55}.privacy-check input{width:18px;height:18px;margin-top:2px;accent-color:var(--forest)}.privacy-check a{text-decoration:underline;text-underline-offset:3px}.gold-control{width:max-content;min-height:48px;padding:0 24px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--gold-light),var(--gold));color:var(--forest-deep);font:inherit;font-weight:700;cursor:pointer}.form-note{margin:-6px 0 0;color:var(--muted-ink);font-size:.75rem;line-height:1.5}.form-success,.form-error{max-width:680px;margin-top:28px;padding:24px;border-left:5px solid var(--gold);background:var(--paper)}.form-success h2{margin:0 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:2rem;font-weight:400}.form-success p{margin:0;color:var(--muted-ink)}.form-error{border-left-color:#9c3d31}
.legal-page{min-height:720px;padding:clamp(84px,10vw,150px) clamp(28px,10vw,170px);background:var(--ivory)}.legal-page>h1{max-width:950px}.legal-copy{max-width:900px;margin-top:70px}.legal-copy h2{margin:40px 0 12px;font-family:Georgia,"Times New Roman",serif;font-size:1.7rem;font-weight:400}.legal-copy p{color:var(--muted-ink);line-height:1.75}.legal-copy a{text-decoration:underline;text-underline-offset:3px}
.contact-band{padding:clamp(76px,9vw,130px) clamp(28px,9vw,144px);text-align:center;background:var(--forest);color:#fffaf2}.contact-band h2{max-width:980px;margin:0 auto}.contact-band>p:not(.eyebrow){max-width:650px;margin:22px auto 32px;color:#d4dfd9}.contact-band .eyebrow{justify-content:center}.beige-band{background:var(--gold);color:var(--forest-deep)}.beige-band>p:not(.eyebrow){color:var(--forest)}.beige-band .eyebrow{color:var(--forest)}.beige-band .eyebrow::before{background:var(--forest)}
.contact-band.programme-index-cta{padding:clamp(42px,4vw,58px) clamp(28px,8vw,120px)}
.reveal,.image-reveal{animation:section-reveal linear both;animation-timeline:view();animation-range:entry 0% cover 34%}.image-reveal{animation-name:image-reveal;overflow:hidden}@keyframes section-reveal{from{opacity:.12;transform:translateY(48px)}to{opacity:1;transform:translateY(0)}}@keyframes image-reveal{from{clip-path:inset(12% 8% 12% 8% round 26px);transform:scale(.98)}to{clip-path:inset(0 0 0 0 round 0);transform:scale(1)}}


@media(max-width:1100px){.site-header{grid-template-columns:1fr auto}.desktop-nav,.header-action{display:none}.mobile-menu{display:block}.site-footer{grid-template-columns:1fr 1fr}.hero,.lotus-story,.feature-card,.about-preview,.image-banner,.detail-hero,.two-column-copy,.reimbursement,.programme-feature,.nutrition-hero,.community-section,.about-hero,.credentials-section,.motto-section,.contact-layout{grid-template-columns:1fr}.hero{background:var(--ivory)}.hero-copy{padding:72px 32px 54px}.hero-portrait{min-height:560px}.feature-image,.detail-hero-image{min-height:540px}.feature-copy{padding:54px}.about-photo{min-height:600px}.image-banner-copy{order:-1}.course-facts{grid-template-columns:repeat(2,1fr)}.step-grid{grid-template-columns:repeat(2,1fr)}.programme-feature.reverse>:first-child{order:0}.nutrition-number{max-width:520px;width:100%;margin:0 auto}.about-hero-image{border-right:0;border-bottom:9px solid var(--gold)}.contact-intro{min-height:580px}}
@media(max-width:1100px){.about-hero{height:auto}.about-hero-image{height:500px;min-height:0;border-bottom-width:5px}.about-hero-copy{max-width:none;padding:58px 44px 64px}.about-approach{grid-template-columns:1fr}.about-approach .prose{padding:32px}}
@media(max-width:1100px){.credentials-image{height:470px;min-height:0}.about-contact{padding-top:60px;padding-bottom:66px}}
@media(max-width:1100px){.programme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.programme-card,.visual-card{grid-column:span 1}.visual-card:last-child{grid-column:1/-1}.visual-card:last-child .programme-card-media{aspect-ratio:2.15}}
@media(min-width:1101px) and (max-width:1400px){.feature-copy{padding:40px 32px}.feature-copy h3{font-size:2.65rem}.feature-description{font-size:.9rem}.fact-row{gap:24px}}
@media(max-width:900px){.feature-title-line,.feature-description span{white-space:normal}}
@media(max-width:700px){.about-hero-image{height:410px;min-height:0}.about-hero-copy{padding:44px 24px 50px}.about-hero-copy h1 span{display:block}.about-approach{padding-top:52px;padding-bottom:56px}.about-approach h2{font-size:clamp(2.4rem,10.5vw,2.85rem)}.about-approach .prose{padding:26px 22px}}
@media(max-width:700px){.credentials-section{padding-top:54px;padding-bottom:58px}.credentials-image{height:360px;min-height:0;box-shadow:10px 10px 0 var(--gold)}.credentials-copy h2{font-size:clamp(2.35rem,10vw,2.8rem)}.credential-list article{grid-template-columns:24px 1fr}.about-contact{padding:50px 24px 56px}}
@media(max-width:700px){.brand-scroll-story{height:330vh;min-height:2300px}.brand-story-sticky{min-height:650px;padding:0 24px}.brand-story-copy{top:74px;width:calc(100% - 40px)}.brand-story-copy h2{font-size:clamp(2.35rem,10.8vw,3.15rem);line-height:.98}.brand-story-copy p{max-width:520px;margin-top:22px;font-size:.94rem;line-height:1.55}.brand-story-logo{width:min(92vw,54vh);top:69%}.brand-story-progress{bottom:38px;width:52vw}}
@media(max-width:700px){.image-banner-copy h2 span,.image-banner-description span{white-space:normal}}
@media(prefers-reduced-motion:reduce){.brand-scroll-story{height:auto;min-height:0}.brand-story-sticky{height:auto;min-height:800px;position:relative}.brand-story-logo{transform:translate(-50%,-50%)}.logo-piece{opacity:0;transform:translate3d(0,0,0) scale(1);filter:none}.logo-complete-original{opacity:1}.brand-story-copy h2 span,.brand-story-copy p{opacity:1;transform:none;filter:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Final responsive polish: preserve intentional line breaks without clipping long German words. */
.hero-copy,.section-heading>*,.feature-copy,.programme-card-body,.about-copy,.image-banner-copy,.detail-hero-copy,.about-hero-copy,.contact-intro,.programme-feature,.programme-feature>*,.variant-card{min-width:0}
.programme-feature{width:100%}
@media(min-width:701px) and (max-width:1100px){.site-footer{grid-template-columns:minmax(170px,.72fr) minmax(300px,1.35fr) minmax(220px,1fr);padding:36px clamp(26px,4vw,46px) 16px}.footer-brand{grid-row:auto;padding-right:26px}.footer-brand img{width:170px}.footer-programmes,.footer-contact{padding-left:28px}.footer-programmes{padding-right:22px}.footer-programme-links{gap:10px 18px}.site-footer a,.site-footer p{font-size:.76rem}.footer-contact{grid-column:auto}.footer-contact-row{gap:8px}.footer-contact-icon{width:24px;height:24px;flex-basis:24px}.footer-bottom{grid-column:1/-1;margin-top:28px}.variant-card{padding:clamp(34px,4vw,46px)}.variant-card h2{font-size:clamp(2.1rem,4.6vw,2.5rem)}}
@media(max-width:700px){.hero-copy{padding:56px 24px 46px;border-left-width:5px}.hero h1{font-size:clamp(2.55rem,11vw,2.85rem);line-height:1;letter-spacing:-.045em}.hero h1 em{font-size:clamp(1.72rem,9.4vw,2.3rem);letter-spacing:-.065em}.hero-intro{margin-top:24px;font-size:1rem;line-height:1.64}.hero-actions{margin-top:30px;gap:18px}.content-section{padding-left:24px;padding-right:24px}.section-heading h2,.two-column-copy h2,.story-copy h2,.about-copy h2,.contact-band h2,.credentials-copy h2,.motto-section h2{font-size:clamp(2.35rem,10.5vw,2.75rem);line-height:1.02}.programme-overview .section-heading h2{font-size:clamp(2.35rem,10.5vw,2.75rem)}.faq-preview .section-heading h2{font-size:clamp(2.15rem,9.4vw,2.45rem)}.feature-copy h3,.programme-feature h2{font-size:clamp(2.1rem,9.5vw,2.45rem)}.programme-card-body{padding:28px 24px 32px}.programme-card-body h3{font-size:clamp(1.7rem,7.8vw,2rem)}.variant-card{padding:32px 24px}.variant-card h2{font-size:clamp(2rem,9vw,2.2rem)}.about-copy{padding-right:0}.image-banner-copy{padding:48px 24px}.image-banner-copy h2{font-size:clamp(2.2rem,9.8vw,2.5rem);line-height:1.03}.image-banner-description{font-size:.98rem;line-height:1.62}.page-hero h1,.detail-hero h1,.nutrition-hero h1,.about-hero h1,.contact-intro h1,.legal-page h1{font-size:clamp(2.55rem,11.5vw,3rem);line-height:.98;letter-spacing:-.045em}.legal-page h1{font-size:clamp(2.1rem,10vw,2.6rem)}.site-footer{padding:34px 22px 16px;gap:0}.footer-brand{max-width:none;padding:0 0 24px;border-bottom:1px solid rgb(255 250 242 / 13%)}.footer-brand img{width:190px}.footer-programmes,.footer-contact{padding:24px 0 0;border-left:0}.footer-programmes{padding-right:0}.footer-programme-links{grid-template-columns:1fr;gap:10px}.site-footer .footer-programme-links a{font-size:.86rem}.footer-contact-row{margin-bottom:8px!important}.footer-bottom{margin-top:26px;padding-top:15px;gap:14px}.footer-legal{align-self:flex-start;gap:20px}}

/* Premium programme navigation and detail system */
.programme-menu{position:relative;padding-block:12px;margin-block:-12px}.programme-menu-trigger{display:block}.programme-submenu{width:310px;padding:12px;display:grid;position:absolute;top:calc(100% + 8px);left:50%;z-index:50;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-8px);border:1px solid rgb(228 194 126 / 45%);border-radius:18px;background:var(--forest-deep);box-shadow:0 24px 60px rgb(0 0 0 / 28%);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}.programme-menu::after{content:"";position:absolute;left:0;right:0;top:100%;height:12px}.programme-menu:hover .programme-submenu,.programme-menu:focus-within .programme-submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}.desktop-nav .programme-submenu a{padding:11px 13px;border-radius:10px;color:#eef2ef;font-size:.82rem;font-weight:550}.desktop-nav .programme-submenu a:hover,.desktop-nav .programme-submenu a:focus-visible{color:var(--forest-deep);background:var(--gold-light)}
.mobile-programme-menu{border-bottom:1px solid rgb(255 250 242 / 14%)}.mobile-programme-menu summary{padding:15px 5px;display:flex;justify-content:space-between;align-items:center;font-family:Georgia,"Times New Roman",serif;font-size:1.3rem;list-style:none;cursor:pointer}.mobile-programme-menu summary::-webkit-details-marker{display:none}.mobile-programme-menu summary::after{content:"+";color:var(--gold-light)}.mobile-programme-menu[open] summary::after{content:"–"}.mobile-programme-menu>div{padding:0 0 12px 14px;display:grid}.mobile-nav .mobile-programme-menu a{padding:9px 8px;border:0;color:#d5ded9;font-family:inherit;font-size:.88rem;line-height:1.35}
.programme-index-hero{min-height:600px;padding:0;display:grid;grid-template-columns:1.02fr .98fr;background:var(--ivory);overflow:hidden}.programme-index-hero::after{display:none}.programme-index-hero-copy{padding:clamp(82px,9vw,144px) clamp(32px,7vw,112px);align-self:center}.programme-index-hero h1{max-width:820px;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.5rem,6vw,7.2rem);line-height:.96;font-weight:400;letter-spacing:-.055em}.programme-index-hero .programme-index-hero-copy>p:last-child{max-width:680px;margin:28px 0 0;color:var(--muted-ink);font-size:1.08rem;line-height:1.72}.programme-index-hero-media{min-height:600px;position:relative;overflow:hidden;border-left:3px solid var(--gold)}.programme-index-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.programme-detail-hero{min-height:640px;display:grid;grid-template-columns:1fr 1fr;background:var(--forest);color:#fffaf2;overflow:hidden}.programme-detail-media{min-height:640px;overflow:hidden;border-right:3px solid var(--gold)}.programme-detail-media img{width:100%;height:100%;object-fit:cover;object-position:center}.programme-detail-copy{padding:clamp(64px,7vw,110px);align-self:center}.programme-detail-copy h1{max-width:780px;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.2rem,5.2vw,6.2rem);line-height:.96;font-weight:400;letter-spacing:-.05em}.programme-detail-copy>p:not(.eyebrow){max-width:660px;margin:28px 0 34px;color:#d7e0db;font-size:clamp(1rem,1.2vw,1.15rem);line-height:1.72}.programme-detail-facts{display:grid;grid-template-columns:repeat(4,1fr);background:var(--gold);color:var(--forest-deep)}.programme-detail-facts div{min-height:120px;padding:24px clamp(18px,3vw,46px);display:flex;flex-direction:column;justify-content:center;border-right:1px solid rgb(37 66 53 / 22%)}.programme-detail-facts div:last-child{border-right:0}.programme-detail-facts strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.5rem,2vw,2.25rem);font-weight:400}.programme-detail-facts span{margin-top:5px;font-size:.76rem;font-weight:650;letter-spacing:.04em}.programme-detail-intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(50px,8vw,140px);align-items:start}.programme-detail-intro h2{max-width:780px;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,5vw,6rem);line-height:1;font-weight:400;letter-spacing:-.045em}.programme-detail-intro .prose{padding-top:42px}.programme-detail-intro .prose p{margin:0 0 24px;color:var(--muted-ink);font-size:clamp(1rem,1.2vw,1.16rem);line-height:1.78}.programme-detail-highlights,.programme-detail-faq{padding-top:clamp(70px,7vw,105px);padding-bottom:clamp(76px,8vw,118px)}.programme-highlight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.programme-highlight-grid article{min-height:280px;padding:clamp(28px,3.5vw,52px);border:1px solid var(--line);border-radius:24px;background:var(--paper)}.programme-highlight-grid span{color:var(--gold);font-size:.72rem;font-weight:700;letter-spacing:.18em}.programme-highlight-grid h3{margin:42px 0 14px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,3vw,3.2rem);font-weight:400;line-height:1}.programme-highlight-grid p{margin:0;color:var(--muted-ink);line-height:1.65}.programme-detail-cta{padding-top:clamp(64px,7vw,98px);padding-bottom:clamp(70px,8vw,110px)}
@media(max-width:1100px){.programme-index-hero,.programme-detail-hero,.programme-detail-intro{grid-template-columns:1fr}.programme-index-hero-media{min-height:470px;border-left:0;border-top:3px solid var(--gold)}.programme-detail-media{min-height:540px;border-right:0;border-bottom:3px solid var(--gold)}.programme-detail-copy{padding:64px 44px}.programme-detail-facts{grid-template-columns:repeat(2,1fr)}.programme-highlight-grid{grid-template-columns:repeat(3,1fr)}.programme-detail-intro .prose{padding-top:0}}
@media(max-width:700px){.programme-index-hero-copy{padding:58px 24px 52px}.programme-index-hero h1{font-size:clamp(2.7rem,12vw,3.35rem);line-height:.98}.programme-index-hero-media{min-height:310px}.programme-detail-media{min-height:360px}.programme-detail-copy{padding:52px 24px 58px}.programme-detail-copy h1{font-size:clamp(2.7rem,12vw,3.35rem);line-height:.98;overflow-wrap:anywhere}.programme-detail-facts{grid-template-columns:1fr 1fr}.programme-detail-facts div{min-height:105px;padding:20px 18px}.programme-detail-facts div:nth-child(2n){border-right:0}.programme-detail-facts div:nth-child(-n+2){border-bottom:1px solid rgb(37 66 53 / 22%)}.programme-detail-intro h2{font-size:clamp(2.35rem,10.5vw,2.8rem)}.programme-highlight-grid{grid-template-columns:1fr}.programme-highlight-grid article{min-height:220px}.programme-highlight-grid h3{margin-top:28px}}

/* Balanced typography and spacing across every programme detail page. */
.programme-detail-copy h1,.programme-detail-intro h2,.programme-detail-highlights .section-heading h2,.programme-detail-faq .section-heading h2,.programme-detail-cta h2{text-wrap:balance;overflow-wrap:normal;word-break:normal;hyphens:none}
.programme-detail-copy h1{max-width:760px;font-size:clamp(3rem,4.25vw,5.15rem);line-height:.98}
.programme-detail-copy h1 span{display:block}
.nutrition-programme .programme-detail-media img{object-position:center 23%}
.nutrition-programme .programme-detail-copy h1{max-width:900px;font-size:clamp(3rem,3.25vw,4rem);line-height:1.02}
@media(min-width:1101px){.programme-detail-hero{height:640px;min-height:0}.programme-detail-media{height:640px;min-height:0}.programme-detail-media img{display:block}}
@media(min-width:1101px){.programme-detail-hero.gentle-programme .programme-detail-copy h1{font-size:clamp(3.4rem,4.2vw,5rem)}.programme-detail-hero.gentle-programme .programme-detail-copy h1 span{white-space:nowrap}}
@media(min-width:701px) and (max-width:1100px){.programme-detail-media{height:540px;min-height:540px}.programme-detail-media img{display:block}}
@media(max-width:700px){.programme-detail-media{height:360px;min-height:360px}.programme-detail-media img{display:block}}
.programme-detail-copy>p:not(.eyebrow){max-width:620px;font-size:clamp(1.02rem,1.12vw,1.14rem);line-height:1.68}
.programme-detail-intro{grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);gap:clamp(54px,7vw,118px);align-items:center;padding-top:clamp(68px,6vw,96px);padding-bottom:clamp(72px,6.5vw,104px)}
.programme-detail-intro h2{max-width:860px;font-size:clamp(3.15rem,3.9vw,4.8rem);line-height:.99}
.programme-detail-intro .prose{max-width:700px;padding-top:0}
.programme-detail-intro .prose p{font-size:clamp(1.02rem,1.1vw,1.14rem);line-height:1.72}
.programme-detail-highlights{padding-top:clamp(66px,6vw,94px);padding-bottom:clamp(72px,6.5vw,102px)}
.programme-detail-highlights .section-heading{margin-bottom:42px}
.programme-detail-highlights .section-heading h2{max-width:930px;font-size:clamp(3rem,4vw,4.75rem);line-height:1}
.programme-highlight-grid{gap:24px}
.programme-highlight-grid article{min-height:232px;padding:clamp(30px,3vw,46px);display:flex;flex-direction:column;justify-content:center}
.programme-highlight-grid article::before{content:"";width:46px;height:2px;margin-bottom:28px;background:var(--gold)}
.programme-highlight-grid h3{margin:0 0 14px;font-size:clamp(2rem,2.45vw,2.8rem);line-height:1.02;text-wrap:balance}
.programme-highlight-grid p{max-width:360px;font-size:1rem;line-height:1.62}
@media(max-width:1100px){.programme-detail-intro{grid-template-columns:1fr;gap:32px}.programme-detail-intro h2{max-width:900px}.programme-highlight-grid article{min-height:220px}.programme-highlight-grid h3{font-size:clamp(1.8rem,3.4vw,2.35rem)}}
@media(max-width:900px){.programme-highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.programme-highlight-grid article:last-child{grid-column:1/-1}}
@media(max-width:700px){.programme-detail-copy h1{font-size:clamp(2.5rem,10.5vw,3.12rem);line-height:1;overflow-wrap:normal}.programme-detail-intro{padding-top:58px;padding-bottom:64px;gap:28px}.programme-detail-intro h2{font-size:clamp(2.35rem,9.8vw,2.78rem);line-height:1.02}.programme-detail-intro .prose p{font-size:1rem;line-height:1.68}.programme-detail-highlights{padding-top:58px;padding-bottom:64px}.programme-detail-highlights .section-heading{margin-bottom:30px}.programme-detail-highlights .section-heading h2{font-size:clamp(2.35rem,9.8vw,2.78rem)}.programme-highlight-grid{grid-template-columns:1fr}.programme-highlight-grid article,.programme-highlight-grid article:last-child{min-height:0;padding:32px 26px;grid-column:auto}.programme-highlight-grid article::before{margin-bottom:22px}.programme-highlight-grid h3{font-size:2rem}}

/* Pregnancy programme feature — scoped so every other programme stays unchanged. */
.pregnancy-feature{position:relative;overflow:hidden;background:var(--forest);color:#fffaf2}
.pregnancy-feature .section-heading,.pregnancy-feature .programme-highlight-grid,.pregnancy-feature-meta,.pregnancy-reimbursement{position:relative;z-index:2}
.pregnancy-feature .eyebrow{color:var(--gold-light)}
.pregnancy-feature .section-heading h2{color:#fffaf2;max-width:940px}
.pregnancy-feature-art{position:absolute;z-index:1;right:-5%;bottom:-8%;width:min(43vw,680px);height:auto;opacity:.2;pointer-events:none;filter:sepia(.15) saturate(.85)}
.pregnancy-feature .programme-highlight-grid article{border-color:rgb(226 183 95 / 38%);background:rgb(255 250 242 / 7%);box-shadow:0 20px 54px rgb(10 32 24 / 16%);backdrop-filter:blur(3px)}
.pregnancy-feature .programme-highlight-grid article::before{background:var(--gold-light)}
.pregnancy-feature .programme-highlight-grid h3{color:var(--gold-light)}
.pregnancy-feature .programme-highlight-grid p{color:#e3ebe6}
.pregnancy-feature-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}
.pregnancy-feature-meta div{padding:22px 24px;border:1px solid rgb(226 183 95 / 26%);border-radius:16px;background:rgb(16 49 37 / 54%)}
.pregnancy-feature-meta strong,.pregnancy-feature-meta span{display:block}
.pregnancy-feature-meta strong{color:#fffaf2;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.18rem,1.6vw,1.55rem);font-weight:400}
.pregnancy-feature-meta span{margin-top:6px;color:#cbd8d1;font-size:.9rem;line-height:1.45}
.pregnancy-reimbursement{max-width:970px;margin:26px 0 0;color:#cbd8d1;font-size:.84rem;line-height:1.6}
@media(max-width:900px){.pregnancy-feature-art{right:-14%;bottom:2%;width:72vw;opacity:.13}.pregnancy-feature-meta{grid-template-columns:1fr 1fr}.pregnancy-feature-meta div:last-child{grid-column:1/-1}}
@media(max-width:700px){.pregnancy-feature-art{right:-28%;bottom:5%;width:115vw;opacity:.11}.pregnancy-feature-meta{grid-template-columns:1fr}.pregnancy-feature-meta div:last-child{grid-column:auto}.pregnancy-feature-meta div{padding:20px}.pregnancy-reimbursement{font-size:.8rem}}

/* A calmer, more deliberate bridge into the pregnancy feature section. */
.pregnancy-intro{position:relative;grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);gap:clamp(48px,6vw,104px);padding-top:clamp(66px,5.8vw,88px);padding-bottom:clamp(68px,6vw,92px);background:linear-gradient(135deg,#fffdf9 0%,#f8f1e7 100%)}
.pregnancy-intro::after{content:"";position:absolute;right:0;bottom:0;left:0;height:3px;background:linear-gradient(90deg,transparent 5%,var(--gold) 50%,transparent 95%);opacity:.72}
.pregnancy-intro h2{max-width:830px;font-size:clamp(3.1rem,3.75vw,4.65rem);line-height:1.01}
.pregnancy-intro h2 span{display:block;margin-top:10px;color:var(--gold-dark);font-size:.58em;font-style:italic;letter-spacing:-.025em}
.pregnancy-intro-summary{max-width:620px;margin:25px 0 0;color:var(--muted-ink);font-size:clamp(1rem,1.08vw,1.14rem);line-height:1.6}
.pregnancy-intro .prose{max-width:650px;padding:clamp(28px,3vw,40px);border:1px solid rgb(201 156 70 / 27%);border-left:3px solid var(--gold);border-radius:20px;background:rgb(255 255 255 / 58%);box-shadow:0 20px 58px rgb(32 58 47 / 7%)}
.pregnancy-intro .prose p{font-size:clamp(1rem,1.08vw,1.12rem);line-height:1.68}
.pregnancy-intro .prose p:last-child{margin-bottom:0}
@media(max-width:1100px){.pregnancy-intro{grid-template-columns:1fr;gap:34px}.pregnancy-intro .prose{max-width:820px}}
@media(max-width:700px){.pregnancy-intro{padding-top:54px;padding-bottom:60px;gap:28px}.pregnancy-intro h2{font-size:clamp(2.35rem,9.8vw,2.78rem)}.pregnancy-intro .prose{padding:25px 22px;border-radius:16px}}

.pregnancy-feature .section-heading{margin-bottom:30px}
.pregnancy-feature .section-heading>div{width:100%}
@media(max-width:700px){.pregnancy-feature .section-heading{margin-bottom:24px}}

/* Compact FAQ and contact close across all programme detail pages. */
.programme-detail-faq{padding-top:clamp(56px,5vw,76px);padding-bottom:clamp(60px,5.4vw,82px)}
.programme-detail-faq .section-heading{margin-bottom:32px}
.programme-detail-faq .section-heading h2{font-size:clamp(2.8rem,3.7vw,4.25rem);line-height:1}
.programme-detail-faq .faq-trigger{padding-top:21px;padding-bottom:21px;font-size:clamp(1.2rem,1.55vw,1.52rem)}
.programme-detail-faq .faq-content{padding-bottom:22px}
.programme-detail-cta{padding-top:clamp(56px,5.2vw,78px);padding-bottom:clamp(60px,5.5vw,84px)}
.programme-detail-cta h2{max-width:1180px;font-size:clamp(2.9rem,4.1vw,4.7rem);line-height:1}
.programme-detail-cta>p:not(.eyebrow){max-width:1120px;margin:18px auto 28px;font-size:clamp(.98rem,1.08vw,1.08rem);line-height:1.55}
@media(min-width:1101px){.programme-detail-cta>p:not(.eyebrow){white-space:nowrap}}
@media(max-width:700px){.programme-detail-faq{padding-top:50px;padding-bottom:58px}.programme-detail-faq .section-heading{margin-bottom:24px}.programme-detail-faq .section-heading h2{font-size:clamp(2.2rem,9.4vw,2.48rem)}.programme-detail-faq .faq-trigger{padding-top:18px;padding-bottom:18px;font-size:1.2rem}.programme-detail-cta{padding:52px 24px 58px}.programme-detail-cta h2{font-size:clamp(2.25rem,9.8vw,2.7rem)}.programme-detail-cta>p:not(.eyebrow){margin:18px auto 26px;font-size:.98rem;line-height:1.58}}

/* Balanced headings and compact programme-index FAQ. */
h1,h2,h3,.faq-trigger{text-wrap:balance}
p{ text-wrap:pretty }
.programme-index-faq{padding-top:clamp(48px,4vw,64px);padding-bottom:clamp(52px,4.4vw,70px)}
.programme-index-faq .section-heading{max-width:1700px;grid-template-columns:1fr;gap:0;align-items:end;margin-bottom:24px}
.programme-index-faq .section-heading h2{max-width:none;font-size:clamp(2.5rem,3.15vw,3.5rem);line-height:1}
.programme-index-faq .section-heading>p{max-width:none;margin:0;justify-self:end;font-size:clamp(.96rem,1vw,1.04rem);line-height:1.55}
@media(min-width:1101px){.programme-index-faq .section-heading h2,.programme-index-faq .section-heading>p{white-space:nowrap}}
@media(max-width:1100px){.programme-index-faq .section-heading{grid-template-columns:1fr;gap:18px;align-items:start}.programme-index-faq .section-heading>p{max-width:760px;justify-self:start}}
@media(max-width:700px){.programme-index-faq{padding-top:48px;padding-bottom:54px}.programme-index-faq .section-heading{gap:16px;margin-bottom:22px}.programme-index-faq .section-heading h2{font-size:clamp(2.1rem,9.2vw,2.45rem)}.programme-index-faq .section-heading>p{font-size:.98rem;line-height:1.58}.programme-index-faq .faq-trigger{padding-top:18px;padding-bottom:18px;font-size:1.16rem}}

/* Programme hero title and nutrition portrait */
.programme-index-hero h1{max-width:880px;font-size:clamp(3.5rem,5.2vw,6.2rem)}
.programme-index-hero h1 span{display:block;white-space:nowrap}
.programme-card-media.portrait-card-media{background:url("assets/images/gloria-portrait.webp") center 23%/cover no-repeat}
.programme-card-media.portrait-card-media img{opacity:0}
@media(max-width:700px){.programme-index-hero h1 span{white-space:normal}}

/* Premium contact page: compact, readable and fully responsive. */
.file-field{min-height:72px;padding:10px 12px;display:grid;grid-template-columns:36px minmax(170px,1fr) auto minmax(150px,.7fr);gap:12px;align-items:center;border:1px solid rgb(199 154 75 / 28%);border-radius:12px;background:rgb(255 253 249 / 62%)}
.file-field-icon{width:36px;height:36px;display:grid;place-items:center;color:var(--gold);border:1px solid rgb(199 154 75 / 48%);border-radius:50%}.file-field-icon svg{width:17px;height:17px}.file-field-copy{display:grid;gap:3px}.file-field-copy strong{font-size:.78rem}.file-field-copy strong span{color:var(--muted-ink);font-weight:400}.file-field-copy small{color:var(--muted-ink);font-size:.69rem;font-weight:400}.file-picker-button{min-height:38px;padding:8px 15px;display:inline-flex!important;align-items:center;justify-content:center;border:1px solid var(--gold);border-radius:999px;background:transparent;color:var(--forest);font-size:.74rem!important;font-weight:700!important;cursor:pointer;transition:background .2s ease,color .2s ease}.file-picker-button:hover,.file-picker-button:focus-visible{background:var(--gold-light);color:var(--forest-deep)}.file-name{min-width:0;overflow:hidden;color:var(--muted-ink);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.file-input{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1100px){
  .contact-layout{grid-template-columns:1fr;min-height:0}
  .contact-intro{min-height:0;padding:58px 44px 62px}
  .contact-intro-inner{max-width:820px;margin:0}
  .contact-intro h1{max-width:760px;font-size:clamp(3.25rem,7.2vw,4.9rem);line-height:1.01}
  .contact-intro-inner>p:not(.eyebrow){max-width:680px}
  .contact-person{margin-top:28px}
  .direct-contact{max-width:720px;margin-top:24px;padding:10px 18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
  .direct-contact-row+ .direct-contact-row{border-top:0;border-left:1px solid rgb(255 250 242 / 12%);padding-left:18px}
  .contact-form-wrap{padding:64px 44px 74px}
  .contact-form-shell{max-width:820px}
}
@media(max-width:700px){
  .contact-intro{padding:44px 24px 48px}
  .contact-intro .eyebrow{margin-bottom:24px}
  .contact-intro h1{font-size:clamp(2.6rem,11.4vw,3.1rem);line-height:1.02}
  .contact-intro h1 span:last-child{font-size:.92em}
  .contact-intro-inner>p:not(.eyebrow){margin-top:25px;font-size:.96rem;line-height:1.68}
  .contact-person{margin-top:26px;gap:14px}.contact-person img{width:64px;height:64px;flex-basis:64px}.contact-person small{font-size:.58rem;letter-spacing:.12em}.contact-person strong{font-size:1.12rem}
  .direct-contact{margin-top:24px;padding:8px 16px;grid-template-columns:1fr;gap:0}
  .direct-contact-row+ .direct-contact-row{border-top:1px solid rgb(255 250 242 / 12%);border-left:0;padding-left:0}
  .direct-contact-row{padding:7px 0}
  .direct-contact-row strong{font-size:.9rem}
  .contact-form-wrap{padding:48px 24px 56px}
  .contact-form-shell>h2{font-size:clamp(2.25rem,10vw,2.7rem)}
  .contact-form-intro{margin:14px 0 26px;font-size:.95rem}
  .form-row{grid-template-columns:1fr;gap:18px}
  .contact-form{gap:18px}
  .contact-form textarea{min-height:145px}
  .privacy-check{font-size:.82rem!important;line-height:1.5}
  .gold-control{width:100%}
  .file-field{padding:12px;grid-template-columns:36px 1fr;gap:10px 12px}.file-picker-button{grid-column:1/2;width:36px;min-height:36px;padding:0;font-size:0!important}.file-picker-button::before{content:"+";font-size:1.15rem}.file-name{grid-column:2/3}.file-field-copy small{line-height:1.4}
}

/* Final contact profile composition: one calm editorial block, not stacked fragments. */
.contact-intro{background:radial-gradient(circle at 12% 92%,rgb(199 154 75 / 10%),transparent 36%),var(--forest)}
.contact-intro-inner>p:not(.eyebrow){max-width:600px}
.contact-details-card{max-width:610px;margin-top:42px;padding:26px 28px 22px;border:1px solid rgb(228 194 126 / 28%);border-radius:22px;background:linear-gradient(145deg,rgb(255 250 242 / 8%),rgb(255 250 242 / 3%));box-shadow:0 24px 54px rgb(8 28 21 / 18%)}
.contact-details-card .contact-person{max-width:none;margin:0;padding:0 0 24px;border-bottom:1px solid rgb(255 250 242 / 13%)}
.contact-details-card .contact-person img{width:96px;height:96px;flex-basis:96px}
.contact-details-card .contact-person small{font-size:.66rem;line-height:1.45}
.contact-details-card .contact-person strong{font-size:1.48rem}
.contact-details-card .direct-contact{max-width:none;margin:10px 0 0;padding:0;gap:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.contact-details-card .direct-contact-row{padding:14px 0}
.contact-details-card .direct-contact-row+ .direct-contact-row{border-top:1px solid rgb(255 250 242 / 11%);border-left:0;padding-left:0}
@media(min-width:1101px){.contact-intro{padding-top:clamp(68px,5.4vw,92px)}.contact-intro h1{font-size:clamp(3.35rem,4.15vw,5.05rem)}.contact-intro-inner>p:not(.eyebrow){margin-top:34px;line-height:1.82}}
@media(min-width:701px) and (max-width:1100px){.contact-details-card{max-width:760px;padding:24px 26px}.contact-details-card .direct-contact{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.contact-details-card .direct-contact-row+ .direct-contact-row{border-top:0;border-left:1px solid rgb(255 250 242 / 11%);padding-left:24px}}
@media(max-width:700px){.contact-details-card{margin-top:32px;padding:20px 18px 16px;border-radius:18px}.contact-details-card .contact-person{padding-bottom:19px}.contact-details-card .contact-person img{width:72px;height:72px;flex-basis:72px}.contact-details-card .contact-person small{font-size:.57rem}.contact-details-card .contact-person strong{font-size:1.18rem}.contact-details-card .direct-contact{margin-top:6px;padding:0}.contact-details-card .direct-contact-row{padding:12px 0}}

/* Final contact rhythm: concise heading and even vertical breathing room. */
@media(min-width:1101px){
  .contact-intro h1{font-size:clamp(3.45rem,3.9vw,4.75rem);line-height:.98}
  .contact-intro h1 span:last-child{font-size:1em}
  .contact-intro-inner>p:not(.eyebrow){margin-top:48px}
  .contact-details-card{margin-top:56px}
}
@media(min-width:701px) and (max-width:1100px){
  .contact-intro-inner>p:not(.eyebrow){margin-top:38px}
  .contact-details-card{margin-top:44px}
}


/* Mobile typography repair — v1.0.72 */
html,body{max-width:100%;overflow-x:clip}
@media(max-width:700px){
  h1,h2,h3,.faq-trigger,p,a,button,strong,span{word-break:normal;overflow-wrap:normal;hyphens:none}
  .hero h1{font-size:clamp(2.15rem,9.4vw,2.65rem);line-height:1.03;letter-spacing:-.04em}
  .hero h1 em{font-size:.86em;line-height:1.05;white-space:normal}
  .programme-index-hero h1,.programme-detail-copy h1,.nutrition-programme .programme-detail-copy h1,.page-hero h1,.detail-hero h1,.nutrition-hero h1,.about-hero h1,.contact-intro h1{font-size:clamp(2.15rem,9.6vw,2.75rem);line-height:1.04;letter-spacing:-.04em;text-wrap:balance}
  .section-heading h2,.programme-detail-intro h2,.programme-detail-highlights .section-heading h2,.programme-detail-faq .section-heading h2,.programme-detail-cta h2,.contact-band h2,.contact-form-shell>h2{font-size:clamp(2rem,8.8vw,2.5rem);line-height:1.06}
  .gold-button,.outline-button,.dark-button,.gold-control{max-width:100%;padding-inline:18px;white-space:normal;text-align:center;line-height:1.3}
  .eyebrow{line-height:1.35}
  .direct-contact-row strong,.footer-contact-row span,.legal-copy a{overflow-wrap:anywhere}
}
@media(max-width:380px){
  .hero-copy,.programme-index-hero-copy,.programme-detail-copy,.contact-intro,.image-banner-copy{padding-left:20px;padding-right:20px}
  .content-section,.programme-detail-cta,.contact-form-wrap{padding-left:20px;padding-right:20px}
  .hero h1{font-size:2.15rem}
  .programme-index-hero h1,.programme-detail-copy h1,.nutrition-programme .programme-detail-copy h1,.page-hero h1,.detail-hero h1,.nutrition-hero h1,.about-hero h1,.contact-intro h1{font-size:2.1rem}
  .programme-detail-facts strong{font-size:1.35rem}
}


/* Screenshot-driven mobile layout repair — v1.0.73 */
@media(max-width:700px){
  .section-heading{grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
  .section-heading>*,.section-heading>p{width:100%;max-width:100%;justify-self:start}
  .programme-grid{grid-template-columns:minmax(0,1fr);gap:22px}
  .programme-card,.visual-card,.featured-programme-card,.visual-card:last-child{grid-column:1/-1;min-width:0}
  .programme-card-media,.featured-programme-card .programme-card-media,.visual-card:last-child .programme-card-media{aspect-ratio:1.55}
  .programme-card-body{min-height:0}
  .programme-overview .section-heading h2{max-width:100%;font-size:clamp(2.1rem,9vw,2.45rem)}
  .programme-overview .section-heading>p{margin:0;font-size:.96rem;line-height:1.6}
  .site-footer .footer-contact-row{gap:10px;font-size:.76rem;letter-spacing:-.012em}
  .site-footer .footer-contact-icon{width:29px;height:29px;flex-basis:29px}
  .site-footer .footer-contact-row span{overflow-wrap:anywhere}
  .site-footer .footer-contact{grid-column:1/-1;width:100%}
  .site-footer .footer-contact-row{width:100%}
}

/* Premium mobile footer composition — v1.0.75 */
@media(max-width:700px){
  .site-footer{grid-template-columns:minmax(104px,.72fr) minmax(0,1.28fr);column-gap:18px;align-items:start}
  .site-footer .footer-brand{grid-column:1;grid-row:1;align-self:start;max-width:none;padding:34px 16px 0 0;border:0;border-right:1px solid rgb(228 194 126 / 24%)}
  .site-footer .footer-brand img{width:128px;max-width:100%}
  .site-footer .footer-programmes{grid-column:2;grid-row:1;padding:0 0 6px;border:0}
  .site-footer .footer-programmes h2{margin-bottom:14px}
  .site-footer .footer-programme-links{gap:2px}
  .site-footer .footer-programme-links a{min-height:39px;padding:3px 0 3px 16px;font-size:.77rem;line-height:1.34}
  .site-footer .footer-programme-links a::before{width:7px;height:7px;top:.55em}
  .site-footer .footer-contact{grid-column:1/-1;margin-top:24px;padding:24px 0 0;border-top:1px solid rgb(255 250 242 / 13%)}
  .site-footer .footer-bottom{display:grid;grid-template-columns:1fr;justify-items:center;margin-top:22px;padding-top:18px;gap:13px;text-align:center}
  .site-footer .footer-bottom>p{width:100%;font-size:.72rem;line-height:1.45;text-align:center}
  .site-footer .footer-legal{width:100%;justify-content:center;align-items:center;gap:10px 18px;flex-wrap:wrap}
  .site-footer .footer-legal a,.site-footer .footer-cookie-settings{font-size:.76rem}
}
