@font-face{font-family:"Cormorant Garamond";src:url("assets/fonts/cormorant-500.ttf") format("truetype");font-weight:500;font-display:swap}@font-face{font-family:"Cormorant Garamond";src:url("assets/fonts/cormorant-600.ttf") format("truetype");font-weight:600;font-display:swap}@font-face{font-family:"Cormorant Garamond";src:url("assets/fonts/cormorant-700.ttf") format("truetype");font-weight:700;font-display:swap}@font-face{font-family:"Nunito Sans";src:url("assets/fonts/nunito-400.ttf") format("truetype");font-weight:400;font-display:swap}@font-face{font-family:"Nunito Sans";src:url("assets/fonts/nunito-600.ttf") format("truetype");font-weight:600;font-display:swap}@font-face{font-family:"Nunito Sans";src:url("assets/fonts/nunito-700.ttf") format("truetype");font-weight:700;font-display:swap}@font-face{font-family:"Shadows Into Light";src:url("assets/fonts/shadows-400.ttf") format("truetype");font-weight:400;font-display:swap}
:root{--ink:#103f52;--green:#05788B;--leaf:#8ca447;--teal:#3596a3;--pale:#eef8f8;--cream:#f8f7f1;--line:#e4e8e3;--soft:#f3f7ed;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Nunito Sans",Arial,sans-serif;--script:"Shadows Into Light",cursive;--shadow:0 8px 28px rgba(32,62,67,.09)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#edf1f1;color:var(--ink);font:15px/1.55 var(--sans)}
button,a{font:inherit}
button{color:inherit}
.site-frame{width:min(100%,1024px);margin:28px auto;background:#fff;box-shadow:0 5px 28px rgba(22,54,60,.11);overflow:hidden}
.site-header{height:130px;padding:16px 48px 12px;display:flex;justify-content:space-between;align-items:flex-start;background:#fff;border-bottom:1px solid var(--line)}
.logo-button{border:0;background:transparent;padding:0;cursor:pointer;width:335px;height:92px;text-align:left}
.brand-logo{width:100%;display:flex;align-items:center;gap:11px;color:var(--ink)}
.brand-mark{width:66px;height:76px;flex:none;display:block;color:#94ac45}
.brand-mark svg{width:100%;height:100%;display:block;overflow:visible}
.brand-mark circle{fill:currentColor}.brand-mark path{fill:none;stroke:currentColor;stroke-width:4.2;stroke-linecap:round;stroke-linejoin:round}
.brand-words{min-width:0;display:flex;flex-direction:column;line-height:1}
.brand-top{color:#747a7a;font-size:19px;font-weight:400;letter-spacing:.01em;white-space:nowrap}.brand-top b{font-family:var(--serif);font-size:22px;font-weight:600;color:#899091}
.brand-words strong{margin-top:5px;color:#253f4b;font-size:26px;line-height:1;font-weight:600;letter-spacing:.015em;white-space:nowrap}
.brand-words i{width:100%;height:2px;margin:8px 0 5px;background:#a7b95c;border-radius:10px;position:relative}.brand-words i:after{content:"";position:absolute;right:0;top:-2px;width:38%;height:2px;background:#d8dfba;transform:rotate(-1deg)}
.brand-words small{color:#8b9191;font-size:11px;letter-spacing:.035em;white-space:nowrap}
.footer-brand{width:310px;max-width:100%}.footer-brand .brand-mark{width:56px;height:65px}.footer-brand .brand-top{font-size:17px}.footer-brand .brand-words strong{font-size:23px}.footer-brand .brand-words small{font-size:10px}
.header-side{flex:1;padding-left:28px}
.quick-contact{height:47px;display:flex;justify-content:flex-end;align-items:center;gap:25px}
.quick-contact a{color:var(--ink);text-decoration:none;font-weight:700}
.top-cta{height:34px;padding:6px 17px;border-radius:6px;background:var(--green);color:#fff!important}
.main-nav{display:flex;justify-content:flex-end;gap:24px}
.main-nav button,.team-footer nav button{border:0;background:transparent;padding:10px 0 7px;cursor:pointer;font-size:13px;white-space:nowrap}
.main-nav button.active{color:var(--green);border-bottom:2px solid var(--green)}
.menu-button{display:none}
.page{display:none;background:#fff}
.page.active{display:block}
h1,h2,h3{margin:0;font-family:var(--serif);font-weight:600;line-height:1.06}
h1{font-size:51px}
h2{font-size:35px}
h3{font-size:20px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 26px;border:0;border-radius:7px;text-decoration:none;font-weight:700;cursor:pointer;transition:transform .16s,filter .16s}
.button:hover{filter:brightness(.96);transform:translateY(-1px)}
.button.green{background:var(--green);color:#fff}
.button.light{background:#fff;color:var(--ink);box-shadow:var(--shadow)}
.button.teal{background:#fff;color:var(--green);border:1.5px solid var(--green)}
.button.outline{min-width:165px;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.9)}
.button.compact{min-height:34px;padding:0 18px;font-size:13px}
.button.large{min-width:275px;min-height:54px;font-size:18px}
.button-row{display:flex;gap:20px}
.start-hero{height:480px;position:relative;overflow:hidden;background:#f6f3ea}
.hero-photo{position:absolute;inset:0 0 0 auto;width:60%;height:100%;object-fit:cover;object-position:55% center}
.start-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f7f4eb 0%,#f7f4eb 33%,rgba(247,244,235,.83) 45%,rgba(247,244,235,.08) 66%,transparent 100%)}
.hero-copy{position:relative;z-index:2;padding:87px 0 0 78px;width:62%}
.kicker{margin:0 0 20px;color:var(--green);font-size:13px;text-transform:uppercase;font-weight:700;letter-spacing:.02em}
.hero-copy h1{font-size:49px}
.script-line{margin:-2px 0 24px;font:52px/1.08 var(--script);color:var(--green);transform:rotate(-1deg);transform-origin:left}
.hero-text{margin:0 0 30px;font-size:14px;line-height:1.7}
.benefit-bar{height:100px;background:#edf8f9;display:grid;grid-template-columns:repeat(4,1fr);padding:0 58px;align-items:center;gap:17px}
.benefit-bar>div{display:flex;align-items:center;gap:13px}
.benefit-bar p{font-size:12px;line-height:1.55;margin:0}
.line-icon{font-size:33px;color:var(--teal);line-height:1}
.section-pad{padding:46px 70px}
.home-focus{text-align:center;height:400px}
.home-focus h2{font-size:34px}
.section-subtitle{margin:3px 0 28px}
.focus-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.focus-cards section{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;padding-bottom:18px}
.focus-cards img{display:block;width:100%;height:113px;object-fit:cover}
.focus-cards h3{margin:13px 12px 8px}
.focus-cards p{min-height:58px;margin:0 auto 8px;max-width:215px;font-size:11.5px;line-height:1.55}
.focus-cards button{border:0;background:transparent;color:var(--green);font-size:12px;cursor:pointer}
.philosophy-section{height:315px;margin:0 68px;display:grid;grid-template-columns:1fr 1.12fr;background:#eef6f5;border-radius:11px 11px 0 0;overflow:hidden}
.philosophy-copy{padding:38px 0 28px 38px}
.philosophy-copy h2{font-size:34px;margin-bottom:19px}
.check-list{list-style:none;margin:0 0 22px;padding:0}
.check-list li{position:relative;padding-left:25px;margin:7px 0;font-size:12px}
.check-list li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800}
.philosophy-copy .button{min-height:40px;font-size:11px;padding:0 21px}
.room-photo{position:relative}
.room-photo img{width:100%;height:100%;object-fit:cover;display:block}
.room-photo span{position:absolute;left:-35px;bottom:18px;width:105px;height:105px;border-radius:50%;background:rgba(139,166,75,.94);display:grid;place-content:center;text-align:center;color:#fff;font-size:12px;line-height:1.2}
.room-photo strong{font:700 22px var(--serif)}
.wave-band,.info-wave,.contact-footer{position:relative;background:#3195a4;color:#fff;overflow:hidden}
.wave-band:before,.info-wave:before,.contact-footer:before{content:"";position:absolute;left:-5%;right:-5%;top:-33px;height:63px;border-radius:50%;background:rgba(205,242,242,.48)}
.wave-band:after,.info-wave:after,.contact-footer:after{content:"";position:absolute;left:-7%;right:-7%;top:-43px;height:72px;border-radius:48%;border-top:12px solid rgba(33,131,145,.5)}
.start-wave{height:122px;padding:37px 70px 20px;display:flex;align-items:center;justify-content:space-between}
.start-wave p{margin:0;font-size:14px}
.sub-hero{min-height:365px;padding:55px 58px 40px;display:grid;grid-template-columns:1fr 1.08fr;gap:56px;align-items:center}
.sub-hero h1{font-size:50px}
.sub-hero .breadcrumb{margin:21px 0 39px}
.sub-hero>div>p:last-child{font-size:13px;line-height:1.7}
.sub-hero img{display:block;width:100%;height:290px;object-fit:cover;border-radius:9px}
.breadcrumb{color:var(--green)}
.audience-row{min-height:150px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:25px 55px 20px;gap:40px;text-align:center}
.audience-row span{display:block;font-size:44px;line-height:1;color:var(--green)}
.audience-row p{margin:10px 0 0;font-size:13px;line-height:1.5}
.condition-area{padding:28px 48px 0}
.condition-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 20px}
.condition-grid>section{min-height:150px;padding:19px 15px;display:flex;gap:12px;align-items:flex-start;background:#f7f8f5;border-radius:11px}
.condition-grid img{width:80px;height:80px;object-fit:cover;border-radius:50%;flex:none}
.condition-grid h3{font-size:19px;margin:1px 0 4px}
.condition-grid ul{margin:0;padding-left:15px;font-size:10.5px;line-height:1.45}
.process-box{margin:24px 18px 0;padding:18px 30px 17px;background:#f7f8f4;border-radius:14px}
.process-box h2{text-align:center;font-size:27px;margin-bottom:15px}
.process-box>div{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.process-box section{font-size:11px}
.process-box b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;margin:auto;background:#fff;color:var(--green);font-size:15px}
.process-box h4{margin:9px 0 5px;font-size:12px}
.process-box p{margin:0}
.question-row{margin:14px 18px 0;display:grid;grid-template-columns:1.02fr 1fr;gap:18px}
.question-row>img,.question-row>div{height:165px;border-radius:11px}
.question-row>img{width:100%;object-fit:cover}
.question-row>div{padding:18px 38px;background:#f7f8f4;display:flex;flex-direction:column;align-items:flex-start}
.question-row h2{font-size:27px}.question-row p{margin:0 0 5px}.question-row a:not(.button){color:inherit;text-decoration:none;font-size:12px;margin:1px 0}.question-row .button{margin-top:6px}
.info-wave{height:112px;margin-top:13px;padding:35px 70px 16px;display:flex;justify-content:space-between}
.info-wave>div{display:flex;gap:14px;align-items:flex-start}.info-wave span{font-size:31px}.info-wave p{margin:0;font-size:11px}.info-wave strong{font-size:12px}
.therapy-hero{min-height:520px;padding-top:70px;padding-bottom:70px}
.therapy-hero h1{font-size:51px}.therapy-hero img{height:355px}
.therapy-catalog{padding:28px 48px 0}
.therapy-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.therapy-grid>section{text-align:center;min-height:355px;padding:22px 34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.therapy-grid>section:nth-child(3n){border-right:0}.therapy-grid>section:nth-child(n+4){border-bottom:0}
.therapy-grid img{width:145px;height:145px;object-fit:cover;border-radius:50%;display:block;margin:0 auto 9px}
.therapy-grid h2{font-size:31px}.therapy-grid p{min-height:70px;font-size:13px;line-height:1.65}.therapy-grid a,.therapy-grid button{border:0;background:transparent;color:var(--green);text-decoration:none;font-weight:700;cursor:pointer}
.therapy-wave{height:120px;margin-top:8px;padding:34px 82px 16px;display:flex;justify-content:space-between;align-items:center}
.therapy-wave p{margin:0;font-size:16px}.therapy-wave p strong{font:600 25px var(--serif)}
.detail-hero{min-height:505px;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;padding:55px max(65px,calc((100vw - 1200px)/2));background:#f5f7ed;gap:70px}.detail-hero.aqua{background:#edf7f7}.detail-hero h1{font-size:58px;margin:7px 0 23px}.detail-hero>div>p:not(.kicker){max-width:660px;font-size:16px;line-height:1.75;margin-bottom:29px}.detail-hero>img{width:280px;height:280px;object-fit:contain;justify-self:center;filter:drop-shadow(0 12px 22px rgba(27,69,77,.08))}.back-link{border:0;background:transparent;color:var(--teal);padding:0;margin:0 0 32px;cursor:pointer;font-weight:700}.detail-body{max-width:1200px;margin:0 auto;padding:70px 35px 75px}.detail-body>div:first-child{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:start}.detail-body>div:first-child .kicker{grid-column:1/-1;margin-bottom:-52px}.detail-body>div:first-child h2{font-size:42px}.detail-body>div:first-child>p:not(.kicker){margin:0;font-size:15px;line-height:1.8}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:48px}.detail-columns>section{padding:30px 34px;background:#f7f8f4;border-radius:12px}.detail-columns h3{font-size:27px;margin-bottom:17px}.detail-columns ul{margin:0;padding-left:20px}.detail-columns li{margin:7px 0;font-size:14px}.therapy-note{margin:26px 0 0;padding:16px 20px;border-left:3px solid var(--green);background:#fbfcf8;font-size:12px!important;color:#5d7076}.detail-cta{min-height:145px;padding:42px max(65px,calc((100vw - 1100px)/2));display:flex;justify-content:space-between;align-items:center;background:var(--teal);color:#fff}.detail-cta h2{font-size:30px}.detail-cta p{margin:5px 0 0}.detail-cta .button{flex:none}
.team-page{background:#f2f7ed}
.team-feature{padding:50px 82px 35px;display:grid;grid-template-columns:1fr .92fr;gap:52px}
.team-feature h1{font-size:48px}.team-lead{font-size:17px;line-height:1.55;margin:36px 0 45px}
.team-feature>img{width:100%;height:495px;object-fit:cover;border-radius:10px}
.bio-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:34px 40px;box-shadow:0 4px 16px rgba(40,70,55,.06)}
.bio-card h2{font-size:36px;margin-bottom:20px}.bio-card .check-list li{font-size:14px}.bio-card a{color:var(--green);text-decoration:none;font-weight:700}
.team-grid{padding:0 82px 34px;display:grid;grid-template-columns:repeat(3,1fr);gap:44px}
.team-grid>section{background:#fff;border-radius:9px;overflow:hidden;box-shadow:0 3px 10px rgba(30,55,45,.08)}
.team-grid img{width:100%;height:225px;display:block;object-fit:cover}
.team-grid h2{font-size:27px;margin:15px 21px 0}.team-grid p{margin:0 21px 19px;font-size:14px}
.team-real{max-width:1200px;margin:0 auto;padding:10px 82px 38px;display:grid;grid-template-columns:.9fr 1.1fr;gap:46px;align-items:center}.team-photo{background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.team-photo img{display:block;width:100%;height:300px;object-fit:cover}.team-photo p{margin:0;padding:17px 20px;font-size:13px}.staff-list>h2{font-size:36px;margin-bottom:18px}.staff-list>section{display:flex;gap:18px;align-items:center;padding:17px 0;border-bottom:1px solid #dfe8db}.staff-list>section>span{display:grid;place-items:center;width:52px;height:52px;flex:none;border-radius:50%;background:#fff;color:var(--green);font-weight:800}.staff-list h3{font-size:23px}.staff-list p{margin:2px 0 0;font-size:13px}
.team-button{text-align:center;padding-bottom:34px}
.team-footer{min-height:215px;padding:30px 100px 22px;background:#eef5f6;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}
.team-footer:after{content:"";position:absolute;left:-5%;right:-5%;bottom:-40px;height:70px;border-radius:50% 50% 0 0;background:#58aebb}
.team-footer img{width:355px}.team-footer p{font-size:11px}.team-footer p span{color:var(--green)}
.team-footer nav{display:flex;flex-direction:column;align-items:flex-start;z-index:1}.team-footer nav button{padding:3px 0;font-size:13px}.team-footer nav button[data-page="team"]{color:var(--green)}
.contact-main{padding:62px 75px 32px;display:grid;grid-template-columns:1fr .94fr;gap:64px}
.contact-main h1{font-size:52px}.contact-lead{font-size:20px;margin:45px 0}
.contact-main address{display:flex;flex-direction:column;gap:26px;margin-bottom:42px;font-style:normal;font-size:18px}
.contact-main address a{color:inherit;text-decoration:none}
.contact-main>img{width:100%;height:580px;object-fit:cover;border-radius:11px}
.map-link{display:block;margin:0 58px 52px}.map-link img{display:block;width:100%;height:342px;object-fit:cover;border-radius:11px}
.contact-footer{height:220px;padding:48px 215px 25px;display:flex;gap:130px}
.contact-footer h2{font-size:27px;color:#fff}.contact-footer a{display:block;color:#fff;text-decoration:none}.socials{font-size:27px;margin:8px 0 33px}
.contact-hero-new{max-width:1200px;margin:0 auto;padding:68px 0 58px;display:grid;grid-template-columns:1.08fr .92fr;gap:82px;align-items:center}.contact-hero-new h1{font-size:58px;margin:8px 0 25px}.contact-intro{max-width:590px;margin:0 0 30px;font-size:16px;line-height:1.75}.contact-choices{display:grid;grid-template-columns:1fr;gap:12px;max-width:590px}.contact-choices>a{display:flex;align-items:center;gap:18px;padding:17px 20px;border:1px solid var(--line);border-radius:10px;color:var(--ink);text-decoration:none;transition:transform .16s,border-color .16s,box-shadow .16s}.contact-choices>a:hover{transform:translateY(-2px);border-color:#b8c88a;box-shadow:var(--shadow)}.contact-choices>a>span{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:50%;background:var(--pale);color:var(--teal);font-size:22px}.contact-choices small,.contact-choices strong,.contact-choices em{display:block}.contact-choices small{color:var(--green);font-size:11px;font-weight:800;text-transform:uppercase}.contact-choices strong{font-size:17px}.contact-choices em{font-size:12px;font-style:normal;color:#6a7a7f}.contact-hero-new figure{margin:0;position:relative;border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.contact-hero-new figure img{display:block;width:100%;height:570px;object-fit:cover;object-position:center 22%}.contact-hero-new figcaption{position:absolute;left:20px;bottom:20px;padding:9px 14px;border-radius:7px;background:#fff;font-weight:700;font-size:12px}.contact-facts{max-width:1200px;margin:0 auto 70px;padding:27px 38px;display:grid;grid-template-columns:repeat(3,1fr);gap:35px;background:var(--teal);color:#fff;border-radius:12px}.contact-facts>div{display:flex;gap:15px;align-items:flex-start}.contact-facts span{font-size:28px}.contact-facts p{margin:0;font-size:13px}.contact-facts strong{font-size:14px}.directions-section{max-width:1200px;margin:0 auto 75px;display:grid;grid-template-columns:1fr .9fr;gap:75px;align-items:center}.directions-section h2{font-size:43px;margin:7px 0 20px}.directions-section>div:first-child>p:not(.kicker){max-width:540px;font-size:15px;line-height:1.75}.directions-section address{margin:24px 0 28px;font-style:normal;font-size:15px;line-height:1.75}.route-card{min-height:330px;padding:58px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border:1px solid #d8e8e8;border-radius:16px;background:#edf7f7;position:relative;overflow:hidden}.route-card:before,.route-card:after{content:"";position:absolute;border:1px solid rgba(53,150,163,.18);border-radius:50%}.route-card:before{width:250px;height:250px;left:-105px;top:-95px}.route-card:after{width:180px;height:180px;right:-80px;bottom:-75px}.route-card>span{display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:var(--teal);color:#fff;font-size:37px;z-index:1}.route-card p{font-size:17px;line-height:1.55;z-index:1}.route-card small{color:#587077;z-index:1}.contact-closing{padding:48px max(45px,calc((100vw - 1200px)/2));display:grid;grid-template-columns:1fr 1.1fr auto;gap:45px;align-items:center;background:#f3f7ed}.contact-closing h2{font-size:34px}.contact-closing ul{margin:0;padding-left:20px;font-size:13px;line-height:1.9}.contact-closing .button{white-space:nowrap}
.placeholder-page{min-height:760px;padding:70px}.placeholder-page h1{margin-bottom:15px}.placeholder-page img{float:right;width:52%;height:360px;object-fit:cover;border-radius:10px;margin:-70px 0 30px 45px}.placeholder-page>p:not(.breadcrumb){font-size:18px;max-width:430px;margin:45px 0}
.editorial-hero{min-height:620px;display:grid;grid-template-columns:minmax(520px,.9fr) minmax(0,1.1fr);background:var(--cream)}.editorial-hero>div{padding:90px 70px 70px max(55px,calc((100vw - 1320px)/2))}.editorial-hero h1{font-size:55px;margin-bottom:25px}.editorial-hero>div>p:not(.breadcrumb):not(.kicker){max-width:560px;font-size:16px;line-height:1.75;margin-bottom:31px}.editorial-hero>img{width:100%;height:100%;min-height:620px;max-height:700px;object-fit:cover;object-position:center}.course-section{padding:70px max(45px,calc((100vw - 1200px)/2)) 80px}.course-section>h2{font-size:43px;margin-bottom:34px}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.course-grid article{position:relative;min-height:265px;padding:27px 26px;background:#f3f7ed;border-radius:12px}.course-grid article>span{display:block;color:var(--green);font-weight:800;font-size:12px}.course-grid h3{font-size:25px;margin:14px 0 11px}.course-grid p{font-size:13px;line-height:1.65}.course-grid strong,.course-grid small{display:block}.course-grid strong{margin-top:18px;font-size:13px}.course-grid small{color:#65777e;margin-top:3px}.schedule-note{margin:25px 0 0;font-size:12px;color:#66797d}.yoga-story{max-width:1200px;margin:0 auto 70px;display:grid;grid-template-columns:.85fr 1.15fr;background:#edf6f6;border-radius:14px;overflow:hidden}.yoga-story img{width:100%;height:430px;object-fit:cover}.yoga-story>div{padding:65px 60px}.yoga-story h2{font-size:42px;margin-bottom:20px}.yoga-story>div>p:not(.kicker){font-size:15px;line-height:1.75;margin-bottom:28px}.praxis-hero>img{object-position:center}.practice-intro{max-width:1200px;margin:0 auto;padding:70px 0 48px;display:grid;grid-template-columns:1fr 1fr;gap:90px}.practice-intro h2{font-size:43px}.practice-intro>p{font-size:16px;line-height:1.8;margin:15px 0}.practice-gallery{max-width:1200px;margin:0 auto 70px;display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:20px}.practice-gallery figure{margin:0;position:relative;border-radius:12px;overflow:hidden}.practice-gallery img{display:block;width:100%;height:420px;object-fit:cover}.practice-gallery figcaption{position:absolute;left:16px;bottom:16px;padding:7px 13px;border-radius:6px;background:rgba(255,255,255,.92);font-weight:700;font-size:12px}.practice-facts{padding:42px max(50px,calc((100vw - 1200px)/2));display:grid;grid-template-columns:repeat(3,1fr) auto;gap:35px;align-items:center;background:var(--teal);color:#fff}.practice-facts strong,.practice-facts span{display:block}.practice-facts strong{font:600 24px var(--serif)}.practice-facts span{font-size:12px}
.yoga-hero-new{min-height:680px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(520px,1.08fr);align-items:center;background:#f7f6ef}.yoga-hero-new>div{padding:80px 72px 72px max(55px,calc((100vw - 1200px)/2))}.yoga-hero-new h1{margin:10px 0 27px;font-size:63px}.yoga-hero-new>div>p:not(.breadcrumb):not(.kicker){max-width:540px;margin:0 0 31px;font-size:16px;line-height:1.8}.yoga-hero-new figure{height:680px;margin:0;position:relative;overflow:hidden}.yoga-hero-new figure img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 59%}.yoga-hero-new figcaption{position:absolute;left:26px;bottom:25px;padding:12px 17px;border-radius:8px;background:rgba(255,255,255,.94);box-shadow:var(--shadow)}.yoga-hero-new figcaption strong,.yoga-hero-new figcaption small{display:block}.yoga-hero-new figcaption strong{font:600 20px var(--serif)}.yoga-hero-new figcaption small{font-size:11px;color:#60757a}.yoga-text-link{align-self:center;color:var(--ink);font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid #b9c4ba;padding:9px 0}.yoga-intro{max-width:1200px;margin:0 auto;padding:86px 0 76px;display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.yoga-intro h2{font-size:46px}.yoga-intro>div:last-child>p{margin:4px 0 30px;font-size:16px;line-height:1.85}.yoga-principles{display:flex;flex-wrap:wrap;gap:9px}.yoga-principles span{padding:8px 13px;border:1px solid #dce4d7;border-radius:50px;color:#65776e;font-size:11px;font-weight:700}.yoga-schedule{padding:78px max(45px,calc((100vw - 1200px)/2)) 84px;display:grid;grid-template-columns:.75fr 1.25fr;gap:95px;background:#edf7f7}.yoga-schedule header h2{font-size:47px;margin-bottom:23px}.yoga-schedule header>p:not(.kicker){max-width:390px;font-size:14px;line-height:1.75}.yoga-class-list article{min-height:96px;padding:22px 0;display:grid;grid-template-columns:1fr;gap:24px;align-items:center;border-top:1px solid #cadfe0}.yoga-class-list article:last-of-type{border-bottom:1px solid #cadfe0}.yoga-class-list time{font-weight:800;color:var(--teal)}.yoga-class-list h3{margin:0 0 7px;font-size:26px}.yoga-class-list p{margin:0;font-size:12px;line-height:1.6}.yoga-class-list article>strong{font:600 23px var(--serif);text-align:right}.yoga-class-list>small{display:block;margin-top:18px;color:#64787c;font-size:11px}
.yoga-booking{margin-top:26px;padding:26px 28px;background:#fff;border:1px solid #cadfe0;border-radius:14px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.yoga-booking h3{margin:0 0 8px;font-size:22px}
.yoga-booking p{margin:0;max-width:46em;font-size:13.5px;line-height:1.7;color:#4c5f63}
.yoga-booking .button{flex:none}.yoga-specials{max-width:1200px;margin:90px auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:85px;align-items:center}.yoga-specials>figure{height:680px;margin:0;position:relative;overflow:hidden;border-radius:16px}.yoga-specials>figure img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.yoga-specials>figure figcaption{position:absolute;left:18px;right:18px;bottom:18px;padding:12px 15px;border-radius:8px;background:rgba(255,255,255,.93);font-size:12px;font-weight:700}.yoga-specials>div>h2{margin:8px 0 32px;font-size:47px}.special-list article{padding:20px 0;border-top:1px solid var(--line)}.special-list article:last-child{border-bottom:1px solid var(--line)}.special-list h3{margin:0 0 7px;font-size:25px}.special-list p{margin:0 0 7px;font-size:13px;line-height:1.6}.special-list span{color:var(--green);font-size:11px;font-weight:800}.yoga-experience{padding:80px max(45px,calc((100vw - 1200px)/2));display:grid;grid-template-columns:1.05fr .75fr .7fr;gap:70px;align-items:center;background:#f3f7ed}.yoga-experience h2{margin:8px 0 20px;font-size:44px}.yoga-experience>div>p:not(.kicker){font-size:14px;line-height:1.75}.yoga-experience ul{margin:0;padding:0;list-style:none}.yoga-experience li{padding:10px 0;border-bottom:1px solid #d9e0d3;font-size:13px}.yoga-experience figure{height:390px;margin:0;position:relative;overflow:hidden;border-radius:50% 50% 12px 12px}.yoga-experience figure img{width:100%;height:100%;object-fit:cover;object-position:center 72%}.yoga-experience figure span{position:absolute;left:20px;bottom:20px;color:#fff;font:600 22px/1.05 var(--serif);text-shadow:0 1px 8px rgba(0,0,0,.5)}.yoga-cta{max-width:1200px;margin:0 auto;padding:86px 0 90px;display:grid;grid-template-columns:.85fr 1fr;gap:30px 85px;align-items:end}.yoga-cta h2{font-size:46px}.yoga-cta>p{margin:0;font-size:14px;line-height:1.8}.yoga-cta .button-row{grid-column:2;margin:0}
.practice-hero-new{min-height:660px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);align-items:center;background:#f8f7f1}.practice-hero-copy{padding:78px 75px 72px max(55px,calc((100vw - 1200px)/2))}.practice-hero-copy h1{font-size:61px;margin:10px 0 27px}.practice-hero-copy>p:not(.breadcrumb):not(.kicker){max-width:540px;margin:0 0 30px;font-size:16px;line-height:1.8}.practice-hero-new figure{height:660px;margin:0;position:relative;overflow:hidden}.practice-hero-new figure img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 48%}.practice-hero-new figcaption{position:absolute;left:30px;bottom:28px;padding:13px 18px;border-radius:9px;background:rgba(255,255,255,.94);box-shadow:var(--shadow)}.practice-hero-new figcaption span,.practice-hero-new figcaption small{display:block}.practice-hero-new figcaption span{font:600 20px var(--serif)}.practice-hero-new figcaption small{font-size:11px;color:#64777c}.practice-welcome{max-width:1200px;margin:0 auto;padding:86px 0 58px;display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:start}.practice-welcome h2{font-size:46px}.practice-welcome>div:last-child>p:first-child{margin:4px 0 22px;font-size:16px;line-height:1.85}.practice-address{display:inline-block;margin:0!important;padding-top:14px;border-top:1px solid #dfe5dc;color:var(--green);font-size:12px!important;font-weight:700}.practice-spaces{max-width:1200px;margin:0 auto 90px;display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.practice-spaces figure{margin:0;position:relative;overflow:hidden;border-radius:14px;background:#edf3ed}.practice-spaces img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s ease}.practice-spaces figure:hover img{transform:scale(1.015)}.space-main{height:660px}.space-main img{object-position:center}.space-stack{display:grid;grid-template-rows:1fr 1fr;gap:18px}.space-stack figure{height:321px}.space-stack figure:first-child img{object-position:center 62%}.space-stack figure:last-child img{object-position:center 48%}.practice-spaces figcaption{position:absolute;left:18px;right:18px;bottom:18px;padding:13px 16px;border-radius:8px;background:rgba(255,255,255,.94)}.practice-spaces figcaption strong,.practice-spaces figcaption span{display:block}.practice-spaces figcaption strong{font:600 20px var(--serif)}.practice-spaces figcaption span{font-size:11px;color:#65767b}.practice-values{padding:80px max(45px,calc((100vw - 1200px)/2));display:grid;grid-template-columns:.72fr 1.28fr;gap:95px;background:#f3f7ed}.practice-values header h2{font-size:46px}.practice-values>div{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.practice-values article{padding-top:15px;border-top:1px solid #cdd8c5}.practice-values article>span{color:var(--green);font-size:11px;font-weight:800}.practice-values h3{margin:18px 0 13px;font-size:24px}.practice-values article p{margin:0;font-size:13px;line-height:1.75}.practice-service-bar{padding:34px max(45px,calc((100vw - 1200px)/2));display:grid;grid-template-columns:repeat(3,1fr);gap:50px;background:var(--teal);color:#fff}.practice-service-bar div{padding-left:22px;border-left:1px solid rgba(255,255,255,.38)}.practice-service-bar strong,.practice-service-bar span{display:block}.practice-service-bar strong{font:600 24px var(--serif)}.practice-service-bar span{font-size:12px}.practice-invite{max-width:1200px;margin:0 auto;padding:84px 0 88px;display:grid;grid-template-columns:.85fr 1fr;gap:36px 90px;align-items:end}.practice-invite h2{font-size:46px}.practice-invite>p{margin:0;font-size:15px;line-height:1.8}.practice-invite .button-row{grid-column:2;margin:0}
.legal-hero{padding:66px max(30px,calc((100vw - 1080px)/2)) 54px;background:var(--pale)}.legal-hero h1{font-size:54px}.legal-hero>p:last-child{font-size:17px;margin:12px 0 0}.legal-content{max-width:1080px;margin:0 auto;padding:54px 30px 75px}.legal-content section{padding:0 0 32px;margin:0 0 32px;border-bottom:1px solid var(--line)}.legal-content section:last-child{border-bottom:0}.legal-content h2{font-size:32px;margin-bottom:14px}.legal-content h3{font-family:var(--sans);font-size:17px;margin:24px 0 7px}.legal-content p,.legal-content li{max-width:850px;font-size:15px;line-height:1.75}.legal-content a{color:var(--teal);font-weight:700}.legal-note{color:#64777e}.global-footer{min-height:250px;padding:45px max(48px,calc((100vw - 1200px)/2));display:grid;grid-template-columns:1.3fr 1fr .7fr;gap:70px;background:#edf5f6;border-top:1px solid var(--line)}.global-footer img{width:300px;max-width:100%}.global-footer h2{font-size:24px;margin-bottom:12px}.global-footer p{font-size:13px}.global-footer a{display:block;color:var(--ink);text-decoration:none;margin:5px 0}.global-footer nav{display:flex;flex-direction:column;align-items:flex-start}.global-footer button{border:0;background:transparent;color:var(--ink);padding:5px 0;cursor:pointer}.global-footer a:hover,.global-footer button:hover{color:var(--green)}
@media(min-width:821px){
body{background:#fff}
.site-frame{width:100%;max-width:none;margin:0;box-shadow:none}
.site-header{height:142px;padding:18px max(48px,calc((100vw - 1320px)/2)) 14px}
.logo-button{width:335px;height:92px}
.start-hero{height:570px}
.hero-copy{width:58%;padding:108px 0 0 max(72px,calc((100vw - 1320px)/2))}
.hero-copy h1{font-size:58px}
.script-line{font-size:61px}
.hero-text{font-size:16px}
.hero-photo{width:61%;object-position:center}
.start-hero:after{background:linear-gradient(90deg,#f7f4eb 0%,#f7f4eb 30%,rgba(247,244,235,.88) 42%,rgba(247,244,235,.12) 65%,transparent 100%)}
.benefit-bar{height:116px;padding-left:max(58px,calc((100vw - 1200px)/2));padding-right:max(58px,calc((100vw - 1200px)/2));gap:42px}
.benefit-bar p{font-size:13px}
.home-focus{height:470px;padding:58px max(70px,calc((100vw - 1200px)/2))}
.home-focus h2{font-size:41px}
.section-subtitle{font-size:16px;margin-bottom:32px}
.focus-cards{max-width:1200px;margin:0 auto;gap:38px}
.focus-cards img{height:160px}
.focus-cards h3{font-size:24px}
.focus-cards p{max-width:290px;font-size:13px;min-height:64px}
.focus-cards button{font-size:13px}
.philosophy-section{height:390px;max-width:1200px;margin:0 auto}
.philosophy-copy{padding:54px 45px}
.philosophy-copy h2{font-size:43px}
.check-list li{font-size:14px}
.room-photo span{width:124px;height:124px;left:-46px;bottom:24px}
.start-wave,.therapy-wave{padding-left:max(70px,calc((100vw - 1200px)/2));padding-right:max(70px,calc((100vw - 1200px)/2))}
.sub-hero{max-width:1320px;margin:0 auto;padding-left:60px;padding-right:60px}
.audience-row{padding-left:max(55px,calc((100vw - 1200px)/2));padding-right:max(55px,calc((100vw - 1200px)/2))}
.condition-area,.therapy-catalog,.team-feature,.team-grid,.contact-main{max-width:1200px;margin-left:auto;margin-right:auto}
.map-link{max-width:1200px;margin-left:auto;margin-right:auto}
.team-footer{padding-left:max(100px,calc((100vw - 1200px)/2));padding-right:max(100px,calc((100vw - 1200px)/2))}
.contact-footer{padding-left:max(100px,calc((100vw - 1000px)/2));padding-right:max(100px,calc((100vw - 1000px)/2))}
}
@media(max-width:820px){body{background:#fff}.site-frame{width:100%;margin:0;box-shadow:none}.site-header{height:92px;padding:10px 18px;position:sticky;top:0;z-index:30;align-items:center}.logo-button{width:218px;height:64px}.logo-button .brand-logo{gap:7px}.logo-button .brand-mark{width:45px;height:54px}.logo-button .brand-top{font-size:12.5px}.logo-button .brand-top b{font-size:14px}.logo-button .brand-words strong{margin-top:3px;font-size:17px}.logo-button .brand-words i{margin:5px 0 3px}.logo-button .brand-words small{font-size:7px}.header-side{padding-left:0}.quick-contact{display:none}.menu-button{display:block;margin-left:auto;border:0;background:transparent;font-size:27px;padding:10px;cursor:pointer}.main-nav{display:none;position:absolute;top:92px;left:0;right:0;padding:13px 24px 23px;background:#fff;box-shadow:0 10px 22px rgba(0,0,0,.1);flex-direction:column;gap:0}.main-nav.open{display:flex}.main-nav button{text-align:left;font-size:15px;padding:9px 0}.start-hero{height:auto;display:flex;flex-direction:column}.start-hero:after{display:none}.hero-copy{width:100%;padding:45px 20px 30px;order:1}.hero-copy h1{font-size:37px}.script-line{font-size:39px}.hero-text br{display:none}.hero-photo{position:relative;order:2;width:100%;height:325px;object-position:52% center}.button-row{flex-wrap:wrap;gap:14px}.benefit-bar{height:auto;grid-template-columns:1fr 1fr;padding:25px 20px;gap:22px}.benefit-bar p{font-size:11px}.line-icon{font-size:29px}.section-pad{padding:42px 20px}.home-focus{height:auto}.focus-cards{grid-template-columns:1fr;gap:20px}.focus-cards img{height:205px}.focus-cards p{font-size:13px;max-width:280px}.philosophy-section{height:auto;margin:0 20px;grid-template-columns:1fr}.philosophy-copy{padding:32px 26px}.room-photo img{height:300px}.room-photo span{left:18px}.start-wave,.therapy-wave{height:auto;padding:43px 20px 24px;display:block}.start-wave .button-row,.therapy-wave .button{margin-top:18px}.sub-hero{min-height:0;padding:42px 20px;grid-template-columns:1fr;gap:28px}.sub-hero h1{font-size:40px}.sub-hero h1 br{display:none}.sub-hero .breadcrumb{margin:16px 0 24px}.sub-hero img{height:270px}.audience-row{grid-template-columns:1fr 1fr;padding:26px 20px;gap:25px 15px}.audience-row p{font-size:12px}.condition-area{padding:25px 20px 0}.condition-grid{grid-template-columns:1fr}.condition-grid>section{min-height:135px}.process-box{margin:22px 0 0;padding:22px}.process-box>div{grid-template-columns:1fr 1fr;gap:20px}.question-row{margin:18px 0 0;grid-template-columns:1fr}.question-row>img{height:210px}.question-row>div{height:auto;min-height:190px;padding:25px}.info-wave{height:auto;margin-top:18px;padding:42px 25px 25px;flex-direction:column;gap:22px}.therapy-hero{min-height:0}.therapy-grid{grid-template-columns:1fr}.therapy-catalog{padding:25px 20px 0}.therapy-grid>section{min-height:0;padding:28px 20px;border-right:0;border-bottom:1px solid var(--line)!important}.therapy-grid>section:last-child{border-bottom:0!important}.therapy-grid p{min-height:0}.team-feature{padding:42px 20px 30px;grid-template-columns:1fr;gap:28px}.team-lead{margin:28px 0}.team-feature>img{height:430px}.bio-card{padding:28px 24px}.team-grid{padding:0 20px 30px;grid-template-columns:1fr;gap:22px}.team-grid img{height:auto}.team-footer{padding:38px 25px;flex-direction:column;align-items:flex-start;gap:25px}.team-footer img{max-width:100%}.contact-main{padding:42px 20px 30px;grid-template-columns:1fr;gap:35px}.contact-main>img{height:420px}.contact-lead{margin:30px 0}.contact-main address{font-size:16px}.map-link{margin:0 20px 45px}.map-link img{height:250px}.contact-footer{height:auto;padding:48px 30px 35px;gap:45px}.placeholder-page{min-height:700px;padding:50px 20px}.placeholder-page img{float:none;width:100%;height:300px;margin:20px 0}.placeholder-page>p:not(.breadcrumb){margin:25px 0}.button.large{min-width:0}}
@media(max-width:820px){.legal-hero{padding:38px 20px 30px}.legal-hero h1{font-size:40px}.legal-content{padding:35px 20px 55px}.legal-content h2{font-size:27px}.legal-content p,.legal-content li{font-size:14px}.global-footer{padding:38px 22px;grid-template-columns:1fr;gap:24px}.global-footer img{width:240px}.footer-brand{width:270px}.footer-brand .brand-mark{width:50px;height:59px}.footer-brand .brand-top{font-size:15px}.footer-brand .brand-words strong{font-size:20px}.footer-brand .brand-words small{font-size:8.5px}}
@media(max-width:820px){.team-real{padding:5px 20px 34px;grid-template-columns:1fr;gap:28px}.team-photo img{height:auto}.staff-list>h2{font-size:31px}.editorial-hero{min-height:0;grid-template-columns:1fr}.editorial-hero>div{padding:42px 20px 36px}.editorial-hero h1{font-size:39px}.editorial-hero>img{height:350px;min-height:0;max-height:none}.course-section{padding:48px 20px}.course-section>h2{font-size:35px}.course-grid{grid-template-columns:1fr}.course-grid article{min-height:0}.yoga-story{margin:0 20px 50px;grid-template-columns:1fr}.yoga-story img{height:330px}.yoga-story>div{padding:38px 25px}.yoga-story h2{font-size:35px}.practice-intro{padding:48px 20px 35px;grid-template-columns:1fr;gap:10px}.practice-intro h2{font-size:35px}.practice-gallery{margin:0 20px 50px;grid-template-columns:1fr 1fr}.practice-gallery figure:first-child{grid-column:1/-1}.practice-gallery img{height:300px}.practice-gallery figure:not(:first-child) img{height:290px}.practice-facts{padding:38px 24px;grid-template-columns:1fr;gap:22px}.practice-facts .button{justify-self:start}.detail-hero{min-height:0;padding:42px 20px 38px;grid-template-columns:1fr;gap:28px}.detail-hero h1{font-size:42px}.detail-hero>img{width:190px;height:190px;grid-row:1;justify-self:start}.detail-hero>div{grid-row:2}.back-link{margin-bottom:24px}.detail-body{padding:48px 20px}.detail-body>div:first-child{grid-template-columns:1fr;gap:14px}.detail-body>div:first-child .kicker{grid-column:auto;margin-bottom:0}.detail-body>div:first-child h2{font-size:34px}.detail-columns{grid-template-columns:1fr;margin-top:32px}.detail-columns>section{padding:25px 23px}.detail-cta{padding:35px 22px;display:block}.detail-cta .button{margin-top:20px}}
@media(max-width:820px){.contact-hero-new{padding:42px 20px 32px;grid-template-columns:1fr;gap:30px}.contact-hero-new h1{font-size:42px}.contact-intro{font-size:15px}.contact-choices strong{font-size:15px;overflow-wrap:anywhere}.contact-hero-new figure img{height:430px}.contact-facts{margin:0 20px 48px;padding:27px 23px;grid-template-columns:1fr;gap:22px}.directions-section{margin:0 20px 50px;grid-template-columns:1fr;gap:30px}.directions-section h2{font-size:35px}.route-card{min-height:270px;padding:38px 22px}.contact-closing{padding:38px 22px;grid-template-columns:1fr;gap:20px}.contact-closing h2{font-size:31px}.contact-closing .button{justify-self:start}}
@media(max-width:820px){.practice-hero-new{min-height:0;grid-template-columns:1fr}.practice-hero-copy{padding:44px 20px 36px}.practice-hero-copy h1{font-size:43px}.practice-hero-copy>p:not(.breadcrumb):not(.kicker){font-size:15px}.practice-hero-new figure{height:470px}.practice-hero-new figcaption{left:18px;bottom:18px}.practice-welcome{padding:52px 20px 38px;grid-template-columns:1fr;gap:22px}.practice-welcome h2{font-size:37px}.practice-welcome>div:last-child>p:first-child{font-size:15px}.practice-spaces{margin:0 20px 55px;grid-template-columns:1fr;gap:14px}.space-main{height:360px}.space-stack{grid-template-columns:1fr 1fr;grid-template-rows:none;gap:14px}.space-stack figure{height:330px}.practice-spaces figcaption{left:11px;right:11px;bottom:11px;padding:11px 12px}.practice-spaces figcaption strong{font-size:18px}.practice-values{padding:52px 20px;grid-template-columns:1fr;gap:35px}.practice-values header h2{font-size:37px}.practice-values>div{grid-template-columns:1fr;gap:26px}.practice-values article{display:grid;grid-template-columns:40px 1fr;column-gap:8px}.practice-values h3{margin:0 0 8px}.practice-values article p{grid-column:2}.practice-service-bar{padding:35px 24px;grid-template-columns:1fr;gap:23px}.practice-service-bar strong{font-size:22px}.practice-invite{padding:54px 20px 58px;grid-template-columns:1fr;gap:22px}.practice-invite h2{font-size:38px}.practice-invite .button-row{grid-column:auto}.practice-invite .button-row .button{width:100%}}
@media(max-width:820px){.yoga-hero-new{min-height:0;grid-template-columns:1fr}.yoga-hero-new>div{padding:44px 20px 36px}.yoga-hero-new h1{font-size:44px}.yoga-hero-new>div>p:not(.breadcrumb):not(.kicker){font-size:15px}.yoga-hero-new figure{height:500px}.yoga-hero-new figcaption{left:17px;bottom:17px}.yoga-intro{padding:54px 20px 50px;grid-template-columns:1fr;gap:22px}.yoga-intro h2{font-size:38px}.yoga-intro>div:last-child>p{font-size:15px}.yoga-schedule{padding:54px 20px 60px;grid-template-columns:1fr;gap:32px}.yoga-schedule header h2{font-size:39px}.yoga-class-list article{grid-template-columns:1fr;gap:12px;padding:20px 0}.yoga-class-list h3{font-size:22px}.yoga-specials{margin:55px 20px;grid-template-columns:1fr;gap:36px}.yoga-specials>figure{height:510px}.yoga-specials>div>h2{font-size:39px}.yoga-experience{padding:54px 20px;grid-template-columns:1fr;gap:32px}.yoga-experience h2{font-size:38px}.yoga-experience figure{height:430px;max-width:330px;width:100%;justify-self:center}.yoga-cta{padding:56px 20px 60px;grid-template-columns:1fr;gap:22px}.yoga-cta h2{font-size:38px}.yoga-cta .button-row{grid-column:auto}.yoga-cta .button-row .button{width:100%}}
@media(max-width:430px){.space-stack{grid-template-columns:1fr}.space-stack figure{height:390px}.practice-hero-new figure{height:420px}}
@media(max-width:430px){.yoga-hero-new figure{height:450px}.yoga-class-list article{grid-template-columns:1fr}.yoga-class-list time{grid-column:1/-1}.yoga-class-list article>strong{grid-column:2;grid-row:2}.yoga-specials>figure{height:460px}.yoga-experience figure{height:420px}}
@media(max-width:430px){.benefit-bar{grid-template-columns:1fr}.hero-copy h1{font-size:34px}.script-line{font-size:36px}.button{padding:0 20px}.audience-row{grid-template-columns:1fr}.process-box>div{grid-template-columns:1fr}.contact-footer{flex-direction:column}.team-feature>img{height:390px}.practice-gallery{grid-template-columns:1fr}.practice-gallery figure:first-child{grid-column:auto}.practice-gallery figure:not(:first-child) img{height:300px}}


/* ==========================================================================
   Ueberarbeitung 2026-07: Icons, Bildzuschnitte, Anfahrt, Mobile-Feinschliff
   Ergaenzt die Regeln oberhalb - bewusst am Ende, damit die Kaskade greift.
   ========================================================================== */

/* --- SVG-Iconset (ersetzt die frueheren Unicode-Zeichen) ----------------- */
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.line-icon,.row-icon,.band-icon,.fact-icon,.choice-icon svg,.route-card svg{
  fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;flex:none}
.line-icon{width:34px;height:34px;color:var(--teal)}
.row-icon{width:44px;height:44px;color:var(--green);margin:0 auto;display:block}
.band-icon{width:30px;height:30px;color:#fff;opacity:.92}
.fact-icon{width:28px;height:28px;color:#fff;opacity:.92}
.contact-choices>a>span.choice-icon{font-size:0}
.choice-icon svg{width:24px;height:24px}

/* --- Kontaktseite: Praxisgebaeude statt Innenaufnahme -------------------- */
.contact-hero-new figure.contact-building{background:#f2f0e8}
.contact-building img{height:auto;max-height:600px;object-fit:contain;object-position:center}

/* --- Anfahrtsbox: konkrete Hinweise statt dekorativem Kreis -------------- */
.route-card{min-height:0;padding:38px 40px;display:block;text-align:left}
.route-card h3{margin:0 0 22px;font-family:var(--serif);font-size:27px;color:var(--ink);position:relative;z-index:1}
.route-card ul{margin:0;padding:0;list-style:none;display:grid;gap:20px;position:relative;z-index:1}
.route-card li{display:flex;gap:15px;align-items:flex-start}
.route-card li svg{width:26px;height:26px;color:var(--teal);margin-top:2px}
.route-card li strong{display:block;font-size:15px;color:var(--ink)}
.route-card li span{display:block;font-size:13.5px;line-height:1.6;color:#587077}

/* --- Startseite: Vorteilsleiste als Karten ------------------------------- */
.benefit-bar>div{align-items:flex-start}

/* ==========================================================================
   Mobile bis 820px
   ========================================================================== */
@media(max-width:820px){
  /* Hero: Bild bekommt Luft und einen weichen Abschluss */
  .start-hero{background:#f7f4eb}
  .hero-copy{padding:40px 22px 26px}
  .hero-copy h1{font-size:36px;line-height:1.08}
  .hero-text{font-size:14.5px;line-height:1.7;max-width:34em}
  .hero-photo{height:300px;object-position:52% 38%;border-radius:16px 16px 0 0}

  /* Buttons: volle Breite, sichere Tap-Groesse */
  .button-row{display:grid;grid-template-columns:1fr;gap:11px}
  .button-row .button{width:100%;justify-content:center;text-align:center;
    min-height:50px;display:inline-flex;align-items:center;font-size:15px}

  /* Vorteilsleiste als 2x2-Karten statt gedraengter Zeile */
  .benefit-bar{grid-template-columns:1fr 1fr;gap:12px;padding:24px 18px;background:#edf8f9}
  .benefit-bar>div{flex-direction:column;align-items:flex-start;gap:9px;
    padding:15px 14px;background:#fff;border-radius:12px;height:100%}
  .benefit-bar p{font-size:12.5px;line-height:1.5}
  .line-icon{width:29px;height:29px}

  /* Abstaende straffen - die Seite war auf dem Handy sehr lang */
  .section-pad{padding:36px 20px}
  .home-focus h2{font-size:31px}
  .section-subtitle{font-size:14px}
  .focus-cards{gap:16px}
  .focus-cards img{height:180px}
  .focus-cards p{min-height:0;font-size:13.5px;line-height:1.6;max-width:none;margin:0 16px 12px}
  .focus-cards h3{margin:14px 16px 8px}
  .focus-cards button{margin-left:16px;min-height:44px;font-size:13.5px}

  .philosophy-section{gap:0}
  .check-list li{font-size:14px;line-height:1.6}

  /* Icon-Zeile auf der Ergotherapie-Seite */
  .row-icon{width:38px;height:38px}

  /* Kontaktseite */
  .contact-building img{max-height:none;height:auto;width:100%}
  .contact-choices>a{padding:15px 16px;min-height:64px}
  .route-card{padding:28px 22px}
  .route-card h3{font-size:24px;margin-bottom:18px}
  .contact-facts span,.fact-icon{width:26px;height:26px}
}

/* ==========================================================================
   Kleine Geraete bis 430px
   ========================================================================== */
@media(max-width:430px){
  .benefit-bar{grid-template-columns:1fr 1fr}
  .hero-copy h1{font-size:32px}
  .hero-photo{height:260px}
  .focus-cards img{height:165px}
  .route-card li span{font-size:13px}
}

/* --- Zeilenumbrueche nur auf breiten Viewports --------------------------- */
@media(max-width:820px){.wide-break{display:none}}

/* --- Feste Aktionsleiste auf dem Handy ----------------------------------- */
.mobile-actionbar{display:none}
@media(max-width:820px){
  .mobile-actionbar{
    display:grid;grid-template-columns:1fr 1.25fr;gap:10px;
    position:fixed;left:0;right:0;bottom:0;z-index:60;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.94);backdrop-filter:blur(10px);
    border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(32,62,67,.09)}
  .mobile-actionbar a{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    min-height:48px;border-radius:10px;font-family:var(--sans);
    font-size:14.5px;font-weight:700;text-decoration:none}
  .mobile-actionbar a:first-child{background:var(--pale);color:var(--teal);border:1px solid #cfe6e8}
  .mobile-actionbar a:last-child{background:var(--green);color:#fff}
  .mobile-actionbar svg{width:19px;height:19px;fill:none;stroke:currentColor;
    stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  /* Platz schaffen, damit die Leiste nichts verdeckt */
  .global-footer{padding-bottom:96px}
}


/* ==========================================================================
   Praxisfarben aus dem Briefpapier 2026
   Marke: Olivgruen #A6B514, Petrol #068CA3, Text-Grau #535252.
   Beide Markentoene sind fuer weisse Schrift zu hell (2.3:1 bzw. 4.0:1),
   deshalb je ein abgedunkelter Zwilling fuer Flaechen mit weisser Schrift.
   ========================================================================== */
:root{
  --brand-green:#A6B514;   /* Logo, Linien, Illustrationen - nie hinter weisser Schrift */
  --brand-teal:#068CA3;    /* Welle, Akzentflaechen */
  --green:#05788B;         /* Buttons und Textakzente  Petrol statt Lindgruen, 5.1:1 auf Weiss (Kundenwunsch 07.08.2026) */
  --leaf:#A6B514;          /* Olivgruen nur noch fuer Logo-nahe Details */
  --teal:#05788B;          /* Flaechen mit weisser Schrift  5.1:1 */
  --ink:#25454E;           /* Ueberschriften, angelehnt an das Grau des Briefpapiers */
  --pale:#EAF6F8;
  --soft:#F4F6E8;
}

/* Dekorative Elemente tragen den unveraenderten Markenton */
.line-icon{color:var(--brand-teal)}
.row-icon{color:var(--brand-green)}
.check-list li:before{color:var(--brand-green)}
.brand-mark svg circle,.brand-mark svg path{stroke:var(--brand-green)}
.brand-mark svg circle{fill:var(--brand-green)}
.brand-words i{background:var(--brand-green)}
.kicker{color:var(--green)}

/* Wellenbaender in der Petrol-Note des Briefpapiers */
.wave-band,.info-wave,.contact-footer{background:var(--teal)}
.wave-band:before,.info-wave:before,.contact-footer:before{background:rgba(198,238,244,.42)}
.wave-band:after,.info-wave:after,.contact-footer:after{border-top-color:rgba(4,107,124,.55)}

/* ==========================================================================
   Bildflaechen: kleiner und ruhiger
   Die grossen Heroflaechen haben die Fotos stark angeschnitten und ueberdehnt.
   ========================================================================== */
@media(min-width:821px){
  .yoga-hero-new{min-height:0;grid-template-columns:minmax(0,1fr) minmax(420px,.92fr)}
  .yoga-hero-new figure{height:500px}
  .yoga-hero-new figure img{object-position:center 45%}
  .yoga-hero-new>div{padding:64px 60px 60px max(55px,calc((100vw - 1200px)/2))}
  .yoga-hero-new h1{font-size:52px}

  .practice-hero-new{min-height:0;grid-template-columns:minmax(0,1fr) minmax(420px,.92fr)}
  .practice-hero-new figure{height:500px}

  .contact-hero-new figure img{height:470px}
  .team-feature>img{height:430px}
  .sub-hero img{height:270px}
}


/* ==========================================================================
   Original-Logo aus dem Briefpapier
   ========================================================================== */
.logo-button{border:0;background:none;padding:0;cursor:pointer;display:block}
.brand-logo-img{display:block;width:270px;height:auto}
.footer-brand{width:250px;margin-bottom:16px}

/* ==========================================================================
   Social-Media im Footer
   ========================================================================== */
.social-row{display:flex;flex-direction:column;gap:9px;margin-top:16px}
.social-row a{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.social-row svg{width:21px;height:21px;flex:none;fill:none;stroke:currentColor;
  stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.social-row span{font-size:14px}

/* ==========================================================================
   Seite "Über mich"
   ========================================================================== */
.bio-link{border:0;background:none;padding:0;cursor:pointer;color:var(--green);
  font:inherit;font-weight:700}
.bio-link:hover{text-decoration:underline}

.bio-hero{max-width:1200px;margin:0 auto;padding:62px 20px 50px;display:grid;
  grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}
.bio-hero h1{font-size:56px;margin:6px 0 22px}
.bio-lead{font-size:17px;line-height:1.75;max-width:36em}
.bio-motto{margin-top:22px;font-family:var(--script);font-size:26px;color:var(--green)}
.bio-hero figure{margin:0;border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.bio-hero figure img{display:block;width:100%;height:440px;object-fit:cover;object-position:center 20%}

.bio-values{max-width:1200px;margin:0 auto 64px;padding:0 20px;display:grid;
  grid-template-columns:repeat(3,1fr);gap:26px}
.bio-values article{padding:30px 28px;background:var(--soft);border-radius:14px}
.bio-values h2{margin:0 0 12px;font-size:26px;color:var(--green)}
.bio-values p{margin:0;font-size:14.5px;line-height:1.75}

.bio-focus{max-width:1200px;margin:0 auto 64px;padding:44px 40px;background:var(--pale);
  border-radius:16px;display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
.bio-focus h2{font-size:36px;margin:6px 0 0}
.bio-focus ul{margin:0;padding:0;list-style:none;display:grid;
  grid-template-columns:1fr 1fr;gap:13px 26px}
.bio-focus li{position:relative;padding-left:26px;font-size:15.5px}
.bio-focus li:before{content:"";position:absolute;left:0;top:7px;width:11px;height:11px;
  border-radius:50%;background:var(--brand-green)}

.bio-vita{max-width:1000px;margin:0 auto 64px;padding:0 20px}
.bio-vita header{margin-bottom:30px}
.bio-vita h2{font-size:38px;margin:6px 0 0}
.bio-vita ol{margin:0;padding:0;list-style:none;border-left:2px solid var(--pale)}
.bio-vita li{position:relative;padding:0 0 24px 30px}
.bio-vita li:before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;
  border-radius:50%;background:var(--brand-teal);border:3px solid #fff}
.bio-vita time{display:block;font-weight:800;font-size:13px;color:var(--green);
  letter-spacing:.04em;text-transform:uppercase}
.bio-vita li p{margin:4px 0 0;font-size:15px;line-height:1.65}
.bio-note{margin-top:26px;padding:20px 24px;background:var(--soft);border-radius:12px;
  font-size:14px;line-height:1.7;color:#4c5f63}

.bio-yoga{max-width:1200px;margin:0 auto 70px;padding:46px 40px;background:var(--soft);
  border-radius:16px;display:grid;grid-template-columns:.95fr 1.05fr;gap:48px;align-items:center}
.bio-yoga h2{font-size:36px;margin:6px 0 16px}
.bio-yoga>div p{font-size:15px;line-height:1.75;margin:0}
.bio-yoga ul{margin:0;padding:0;list-style:none}
.bio-yoga li{display:flex;gap:16px;padding:10px 0;border-bottom:1px solid rgba(110,121,13,.16);
  font-size:15px}
.bio-yoga li:last-child{border-bottom:0}
.bio-yoga time{flex:none;width:62px;font-weight:800;font-size:13px;color:var(--green)}

/* ==========================================================================
   Terminanfrage-Formular
   ========================================================================== */
.form-hero{max-width:1200px;margin:0 auto;padding:60px 20px 70px;display:grid;
  grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start}
.form-hero h1{font-size:54px;margin:6px 0 20px}
.form-hero>div>p{font-size:16px;line-height:1.75;max-width:34em}
.form-direct{margin-top:30px}
.form-direct a{display:inline-flex;align-items:center;gap:15px;padding:16px 20px;
  border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink);
  transition:border-color .16s,box-shadow .16s}
.form-direct a:hover{border-color:#b8c88a;box-shadow:var(--shadow)}
.form-direct svg{width:24px;height:24px;color:var(--brand-teal);fill:none;stroke:currentColor;
  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.form-direct strong{display:block;font-size:18px}
.form-direct small{display:block;font-size:12.5px;color:#6a7a7f}

.termin-form{padding:34px 34px 30px;background:#fff;border:1px solid var(--line);
  border-radius:16px;box-shadow:var(--shadow)}
.feld{margin-bottom:17px}
.feld-paar{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.termin-form label{display:block;margin-bottom:7px;font-size:13.5px;font-weight:700;color:var(--ink)}
.termin-form label span{color:var(--green)}
.termin-form input,.termin-form select,.termin-form textarea{
  width:100%;padding:12px 14px;font:inherit;font-size:15px;color:var(--ink);
  background:#fff;border:1px solid #d5ddd8;border-radius:9px;
  transition:border-color .16s,box-shadow .16s}
.termin-form textarea{resize:vertical;min-height:104px;line-height:1.6}
.termin-form input:focus,.termin-form select:focus,.termin-form textarea:focus{
  outline:0;border-color:var(--brand-teal);box-shadow:0 0 0 3px rgba(6,140,163,.16)}
.feld.fehlt input,.feld.fehlt select{border-color:#c0533f;background:#fdf6f4}
.feld-check{display:flex!important;gap:11px;align-items:flex-start;margin:6px 0 20px;
  font-weight:400!important;font-size:13.5px;line-height:1.6}
.feld-check input{width:19px;height:19px;flex:none;margin-top:2px;accent-color:var(--green)}
.feld-check.fehlt span{color:#a8422f}
.inline-link{border:0;background:none;padding:0;font:inherit;color:var(--green);
  text-decoration:underline;cursor:pointer}
.termin-form .button{width:100%;justify-content:center;text-align:center}
.form-hinweis{margin:16px 0 0;font-size:12.5px;line-height:1.65;color:#6a7a7f}
.form-fehler{margin:0 0 14px;padding:11px 14px;border-radius:9px;background:#fbeeea;
  color:#a8422f;font-size:13.5px}
.form-erfolg{margin:16px 0 0;padding:13px 16px;border-radius:9px;background:var(--pale);
  font-size:13.5px;line-height:1.6}
.platzhalter{color:#8a6d3b;background:#fdf6e3;padding:10px 14px;border-radius:8px;
  font-size:13.5px}

/* ==========================================================================
   Mobil
   ========================================================================== */
@media(max-width:820px){
  .brand-logo-img{width:208px}
  .footer-brand{width:220px}

  /* Menuepunkte auf sichere Tap-Groesse */
  .main-nav{top:auto;padding:8px 20px 18px}
  .main-nav button{min-height:48px;padding:12px 0;font-size:16px;
    border-bottom:1px solid var(--line);width:100%}
  .main-nav button:last-child{border-bottom:0}
  .main-nav button.active{color:var(--green);font-weight:800}
  .menu-button{min-width:48px;min-height:48px}

  .bio-hero{grid-template-columns:1fr;gap:28px;padding:38px 20px 34px}
  .bio-hero h1{font-size:38px}
  .bio-hero figure img{height:360px}
  .bio-values{grid-template-columns:1fr;gap:14px;margin-bottom:40px}
  .bio-values article{padding:22px 20px}
  .bio-focus{grid-template-columns:1fr;gap:24px;margin:0 20px 40px;padding:30px 22px}
  .bio-focus h2{font-size:29px}
  .bio-focus ul{grid-template-columns:1fr}
  .bio-vita h2{font-size:30px}
  .bio-yoga{grid-template-columns:1fr;gap:26px;margin:0 20px 46px;padding:30px 22px}
  .bio-yoga h2{font-size:29px}

  .form-hero{grid-template-columns:1fr;gap:28px;padding:38px 20px 90px}
  .form-hero h1{font-size:38px}
  .termin-form{padding:24px 20px 22px}
  .feld-paar{grid-template-columns:1fr;gap:0}
  .termin-form input,.termin-form select,.termin-form textarea{font-size:16px}
  .social-row{margin-top:14px}
}


/* ==========================================================================
   Ergaenzte Inhalte aus der bestehenden Praxis-Website
   ========================================================================== */
.gruppen-box{max-width:1200px;margin:52px auto 46px;padding:40px 40px 34px;
  background:var(--soft);border-radius:16px}
.gruppen-box header{max-width:56em}
.gruppen-box h2{font-size:34px;margin:6px 0 14px}
.gruppen-box header p{font-size:15px;line-height:1.75;margin:0 0 26px}
.gruppen-liste{margin:0;padding:0;list-style:none;display:grid;
  grid-template-columns:repeat(3,1fr);gap:16px}
.gruppen-liste li{padding:20px 22px;background:#fff;border-radius:12px;
  border:1px solid var(--line)}
.gruppen-liste time{display:block;font-weight:800;font-size:14px;color:var(--green);
  margin-bottom:5px}
.gruppen-liste span{display:block;font-size:16px;font-weight:700;color:var(--green);text-align:center}
.gruppen-hinweis{margin:18px 0 0;font-size:14.5px;line-height:1.7;color:#4c5f63}
.gruppen-hinweis a{color:var(--green);font-weight:700}

.hinweis-box{max-width:1200px;margin:0 auto 46px;display:grid;
  grid-template-columns:repeat(3,1fr);gap:22px}
.hinweis-box>div{padding:26px 26px 24px;border:1px solid var(--line);border-radius:14px}
.hinweis-box h3{margin:0 0 10px;font-size:21px}
.hinweis-box p{margin:0;font-size:14px;line-height:1.7;color:#4c5f63}

.koop-box{max-width:1200px;margin:0 auto 60px;padding:38px 40px 34px;
  background:var(--pale);border-radius:16px}
.koop-box h2{font-size:32px;margin:6px 0 12px}
.koop-box header p{font-size:15px;line-height:1.7;margin:0 0 22px;max-width:52em}
.koop-box ul{margin:0;padding:0;list-style:none;display:grid;
  grid-template-columns:1fr 1fr;gap:11px 30px}
.koop-box li{position:relative;padding-left:24px;font-size:15px}
.koop-box li:before{content:"";position:absolute;left:0;top:8px;width:9px;height:9px;
  border-radius:50%;background:var(--brand-teal)}

@media(max-width:820px){
  .gruppen-box{margin:34px 20px 34px;padding:26px 22px 24px;border-radius:14px}
  .gruppen-box h2{font-size:27px}
  .gruppen-liste{grid-template-columns:1fr;gap:12px}
  .hinweis-box{grid-template-columns:1fr;gap:14px;margin:0 20px 34px}
  .hinweis-box>div{padding:22px 20px}
  .koop-box{margin:0 20px 42px;padding:26px 22px 24px}
  .koop-box h2{font-size:27px}
  .koop-box ul{grid-template-columns:1fr}
}


/* Yoga-Hero: Bildflaeche weiter zuruecknehmen, damit das Foto nicht dominiert */
@media(min-width:821px){
  .yoga-hero-new{grid-template-columns:minmax(0,1.08fr) minmax(360px,.78fr)}
  .yoga-hero-new figure{height:430px;margin:0 0 0 auto;max-width:560px;border-radius:14px 0 0 14px}
  .yoga-hero-new figure img{object-position:center 52%}
  .yoga-hero-new figcaption{left:20px;bottom:20px;padding:10px 14px}
  .yoga-hero-new figcaption strong{font-size:17px}
}
@media(min-width:1240px){
  .yoga-hero-new figure{height:460px;max-width:600px}
}


/* Yoga-Hero endgueltig: Bild als eingerueckte Karte statt randlos ueber die
   halbe Seite - dadurch deutlich kleiner und ruhiger im Seitenraster */
@media(min-width:821px){
  .yoga-hero-new{max-width:1200px;margin:0 auto;padding:56px 20px 52px;
    grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;background:transparent}
  .yoga-hero-new>div{padding:0}
  .yoga-hero-new h1{font-size:48px}
  .yoga-hero-new figure{height:auto;max-width:none;margin:0;border-radius:16px;
    box-shadow:var(--shadow)}
  .yoga-hero-new figure img{height:370px;object-position:center 55%}
  .yoga-hero-new figcaption{left:18px;bottom:18px}
}
@media(min-width:1240px){
  .yoga-hero-new figure img{height:400px}
}
/* heller Hintergrund liegt jetzt auf dem Abschnitt, nicht auf dem Raster */
.yoga-page .yoga-hero-new{position:relative}
.yoga-page .yoga-hero-new:before{content:"";position:absolute;inset:0;z-index:-1;
  background:#f7f6ef}
@media(min-width:821px){
  .yoga-page .yoga-hero-new:before{left:calc(50% - 50vw);right:calc(50% - 50vw)}
}


/* ==========================================================================
   Korrekturen Startseite und Aktionsleiste
   Die Termin-Schalter sind inzwischen <button> statt <a> - die Regeln muessen
   beide Elementarten treffen, sonst greift weder Abstand noch Ausrichtung.
   ========================================================================== */
.mobile-actionbar a,.mobile-actionbar button{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:48px;border:0;border-radius:10px;cursor:pointer;
  font-family:var(--sans);font-size:14.5px;font-weight:700;text-decoration:none}
.mobile-actionbar>*:first-child{background:var(--pale);color:var(--teal);
  border:1px solid #cfe6e8!important}
.mobile-actionbar>*:last-child{background:var(--green);color:#fff}
.mobile-actionbar svg{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Symbole in Schaltflaechen und Kontaktzeilen */
.btn-icon{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px}
.kontakt-zeile{display:inline-flex;align-items:center;gap:10px}

/* <button> erbt keine Schriftgroesse - sonst wirken die Schalter kleiner als die Links */
button.button,button.top-cta{font-family:var(--sans);cursor:pointer}

@media(max-width:820px){
  /* Abschlussband: Text lesbarer, Abstand zur Welle */
  .wave-band{padding-top:44px}
  .wave-band p{font-size:15.5px;line-height:1.65}
  .wave-band .button-row{margin-top:20px}
}


/* ==========================================================================
   Icon-Zeile "Fuer wen ist Ergotherapie geeignet" auf dem Handy
   Statt einer langen Spalte aus vier Bloecken jetzt ein 2x2-Raster mit Karten.
   ========================================================================== */
@media(max-width:820px){
  .audience-row{grid-template-columns:1fr 1fr;gap:12px;padding:26px 20px;
    border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .audience-row>div{padding:20px 14px 18px;background:var(--soft);border-radius:14px;
    display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
    height:100%}
  .audience-row p{margin:11px 0 0;font-size:12.5px;line-height:1.5}
  .row-icon{width:34px;height:34px}
}
@media(max-width:430px){
  .audience-row{grid-template-columns:1fr 1fr;gap:10px;padding:22px 16px}
  .audience-row p{font-size:12px}
  .row-icon{width:31px;height:31px}
}


/* ==========================================================================
   Yoga-Seite auf dem Handy: Bild kompakter, Schaltflaeche schlanker
   ========================================================================== */
@media(max-width:820px){
  .yoga-hero-new{padding-bottom:8px}
  .yoga-hero-new figure{height:auto;margin:0 20px;border-radius:14px;overflow:hidden}
  .yoga-hero-new figure img{height:265px;object-position:center 55%}
  .yoga-hero-new figcaption{left:14px;bottom:14px;padding:9px 13px}
  .yoga-hero-new figcaption strong{font-size:16px}
  .yoga-hero-new figcaption small{font-size:10.5px}
  .yoga-hero-new h1{font-size:34px}
  .yoga-hero-new>div{padding:34px 20px 22px}

  /* Einzelne Schaltflaechen nicht ueber die volle Breite ziehen */
  .yoga-hero-new .button-row{grid-template-columns:auto;justify-items:start;gap:14px}
  .yoga-hero-new .button-row .button{width:auto;min-height:46px;padding:0 22px;
    font-size:14.5px}
  .yoga-text-link{font-size:14px}
}
@media(max-width:430px){
  .yoga-hero-new figure img{height:235px}
  .yoga-hero-new h1{font-size:31px}
  .yoga-hero-new .button-row .button{width:100%;justify-content:center}
}


/* Team-Seite auf dem Handy: erst die Namen, dann das Foto */
@media(max-width:820px){
  .team-real{display:flex;flex-direction:column;gap:26px}
  .team-real .staff-list{order:1}
  .team-real .team-photo{order:2}
}

/* WhatsApp-Schaltflaeche auch auf kleinen Geraeten nicht randbreit */
@media(max-width:430px){
  .yoga-hero-new .button-row .button{width:auto;min-width:0;padding:0 20px;
    justify-content:center;font-size:14px}
}


/* Telefonnummer im Kopfbereich: Symbol und Nummer brauchen Abstand */
.quick-contact a{display:inline-flex;align-items:center;gap:8px}
.quick-contact .btn-icon{color:var(--brand-teal)}


/* ==========================================================================
   TABLETS  821px bis 1100px
   Bis hierher gab es nur "Handy" und "Desktop". Geraete wie iPad hochkant
   (768-834px) oder Surface Pro (912px) bekamen deshalb das volle
   Desktop-Raster mit drei bis vier Spalten - auf dieser Breite werden die
   Spalten unter 240px schmal und Text wie Bilder unbrauchbar.
   Hier wird auf zwei Spalten reduziert und der Seitenrand angepasst.
   ========================================================================== */
@media(min-width:821px) and (max-width:1100px){

  /* --- Grundraster: Innenabstaende an die schmalere Buehne anpassen ------ */
  .section-pad{padding:44px 34px}
  .benefit-bar{padding:26px 34px}
  .audience-row{padding:26px 34px 22px}
  .contact-facts,.directions-section,.contact-closing,
  .gruppen-box,.hinweis-box,.koop-box{margin-left:34px;margin-right:34px}

  /* --- Startseite -------------------------------------------------------- */
  .start-hero{height:auto;min-height:0;display:grid;grid-template-columns:1fr 1fr;
    align-items:center;gap:0}
  .start-hero:after{display:none}
  .hero-copy{position:static;width:auto;padding:52px 26px 52px 34px}
  .hero-copy h1{font-size:40px}
  .hero-copy .script-line{font-size:34px}
  .hero-text{font-size:14.5px}
  .hero-photo{position:static;width:100%;height:100%;min-height:380px;
    object-position:52% center}

  .benefit-bar{height:auto;grid-template-columns:1fr 1fr;gap:16px}
  .benefit-bar>div{align-items:flex-start;gap:12px}
  .benefit-bar p{font-size:13px}

  .focus-cards{grid-template-columns:1fr 1fr;gap:22px}
  .focus-cards section:last-child{grid-column:1 / -1}
  .focus-cards section:last-child img{height:220px}
  .focus-cards img{height:190px}
  .focus-cards p{min-height:0;max-width:none;margin:0 18px 12px;font-size:13.5px}
  .focus-cards h3{margin:14px 18px 8px}
  .focus-cards button{margin-left:18px}

  .philosophy-section{height:auto;margin:0 34px;grid-template-columns:1fr 1fr}
  .philosophy-copy{padding:38px 30px}
  .room-photo img{height:100%;min-height:330px;object-fit:cover}

  /* --- Ergotherapie ------------------------------------------------------ */
  .sub-hero{grid-template-columns:1fr 1fr;gap:34px;padding:44px 34px 34px}
  .sub-hero h1{font-size:38px}
  .sub-hero img{height:250px}
  .audience-row{grid-template-columns:1fr 1fr;gap:26px 20px}
  .condition-grid{grid-template-columns:1fr 1fr;gap:20px}
  .process-box>div{grid-template-columns:1fr 1fr;gap:24px}
  .gruppen-liste{grid-template-columns:1fr 1fr}
  .gruppen-liste li:last-child{grid-column:1 / -1}
  .hinweis-box{grid-template-columns:1fr 1fr}
  .hinweis-box>div:last-child{grid-column:1 / -1}
  .question-row{grid-template-columns:1fr 1fr;gap:26px}

  /* --- Therapien --------------------------------------------------------- */
  .therapy-grid{grid-template-columns:1fr 1fr}

  /* --- Yoga -------------------------------------------------------------- */
  .yoga-hero-new{grid-template-columns:1fr 1fr;gap:34px;padding:44px 34px}
  .yoga-hero-new h1{font-size:40px}
  .yoga-hero-new figure img{height:320px}
  .yoga-intro,.yoga-experience{grid-template-columns:1fr;gap:26px}
  .yoga-specials{grid-template-columns:1fr 1fr;gap:28px}
  .yoga-class-list article{grid-template-columns:auto 1fr auto}

  /* --- Team und Ueber mich ------------------------------------------------ */
  .team-feature{grid-template-columns:1fr 1fr;gap:34px;padding:44px 34px 30px}
  .team-feature h1{font-size:38px}
  .team-feature>img{height:400px}
  .team-real{grid-template-columns:1fr 1fr;gap:30px}
  .koop-box ul{grid-template-columns:1fr 1fr}

  .bio-hero{grid-template-columns:1fr 1fr;gap:34px;padding:48px 34px 40px}
  .bio-hero h1{font-size:42px}
  .bio-hero figure img{height:380px}
  .bio-values{grid-template-columns:1fr 1fr;padding:0 34px}
  .bio-values article:last-child{grid-column:1 / -1}
  .bio-focus,.bio-yoga{grid-template-columns:1fr;gap:26px;margin:0 34px 46px}
  .bio-focus ul{grid-template-columns:1fr 1fr}

  /* --- Praxis ------------------------------------------------------------ */
  .practice-hero-new{grid-template-columns:1fr 1fr;gap:34px;padding:44px 34px;
    min-height:0}
  .practice-hero-new figure{height:360px}
  .practice-welcome{grid-template-columns:1fr;gap:20px}
  .practice-spaces{grid-template-columns:1fr;gap:20px}
  .space-stack{grid-template-columns:1fr 1fr}
  .practice-values>div{grid-template-columns:1fr 1fr;gap:22px}
  .practice-values article:last-child{grid-column:1 / -1}
  .practice-service-bar{grid-template-columns:1fr 1fr;gap:18px}

  /* --- Kontakt und Formular ---------------------------------------------- */
  .contact-hero-new{grid-template-columns:1fr 1fr;gap:34px;padding:48px 34px 40px}
  .contact-hero-new h1{font-size:40px}
  .contact-building img{max-height:420px}
  .contact-facts{grid-template-columns:1fr 1fr;gap:22px}
  .contact-facts>div:last-child{grid-column:1 / -1}
  .directions-section{grid-template-columns:1fr 1fr;gap:34px}
  .contact-closing{grid-template-columns:1fr;gap:20px}
  .form-hero{grid-template-columns:1fr 1fr;gap:34px;padding:48px 34px 50px}
  .form-hero h1{font-size:40px}
  .feld-paar{grid-template-columns:1fr 1fr}

  /* --- Kopf- und Fussbereich ---------------------------------------------- */
  .site-header{padding-left:34px;padding-right:34px}
  .main-nav{gap:16px}
  .main-nav button{font-size:12.5px}
  .global-footer{grid-template-columns:1fr 1fr;gap:30px;padding-left:34px;
    padding-right:34px}
  .global-footer>nav{grid-column:1 / -1}
  .legal-content{padding-left:34px;padding-right:34px}
}


/* ==========================================================================
   Seitenabstand fuer Container mit max-width
   Diese Bereiche haben nur "max-width + margin:auto" und deshalb unterhalb
   ihrer Maximalbreite keinen Rand - der Text klebte an der Bildschirmkante.
   Ab 1261px greift die Maximalbreite ohnehin, daher nur darunter noetig.
   ========================================================================== */
@media(max-width:1260px){
  .yoga-intro,.yoga-cta,.yoga-specials,
  .practice-welcome,.practice-spaces,.practice-service-bar,.practice-values,
  .contact-hero-new,.directions-section,.contact-closing,.contact-facts,
  .home-focus,.bio-values,.bio-vita,.form-hero,.legal-content,
  .team-real,.condition-area,.therapy-area{
    padding-left:clamp(20px,4vw,38px);
    padding-right:clamp(20px,4vw,38px)}

  /* Bereiche, die ihren Abstand ueber margin loesen, bleiben unberuehrt */
  .gruppen-box,.hinweis-box,.koop-box,.philosophy-section{
    margin-left:clamp(20px,4vw,38px);
    margin-right:clamp(20px,4vw,38px)}
}

/* ==========================================================================
   Startseite: Hero auf dem Handy
   Bisher standen Text und Foto als zwei getrennte Bloecke untereinander.
   Jetzt liegt das Foto hinter dem gesamten Bereich und wird nach oben hin
   von einem cremefarbenen Verlauf ueberdeckt - die Schrift bleibt dadurch
   voll lesbar, das Bild traegt den unteren Teil.
   ========================================================================== */
@media(max-width:820px){
  .start-hero{position:relative;display:block;min-height:600px;
    height:auto;background:#f7f4eb;overflow:hidden}

  .hero-photo{position:absolute;inset:0;width:100%;height:100%;
    object-fit:cover;object-position:62% 26%;border-radius:0;z-index:0}

  .start-hero:after{content:"";display:block;position:absolute;inset:0;z-index:1;
    background:linear-gradient(180deg,
      rgba(247,244,235,.97) 0%,
      rgba(247,244,235,.95) 38%,
      rgba(247,244,235,.72) 58%,
      rgba(247,244,235,.28) 78%,
      rgba(247,244,235,.06) 100%)}

  .hero-copy{position:relative;z-index:2;width:100%;
    padding:40px 22px 300px;order:0}
  .hero-copy h1{font-size:37px;line-height:1.06}
  .script-line{font-size:33px}
  .hero-text{font-size:14.5px;line-height:1.7}
  .hero-copy .button-row{margin-top:24px}
}

@media(max-width:430px){
  .start-hero{min-height:560px}
  .hero-copy{padding:34px 20px 270px}
  .hero-copy h1{font-size:33px}
  .script-line{font-size:29px}
}

/* Der Einladungsblock auf der Praxisseite braucht denselben Seitenabstand */
@media(max-width:1260px){
  .practice-invite{padding-left:clamp(20px,4vw,38px);padding-right:clamp(20px,4vw,38px)}
}

/* Yoga: Kursplan und Abschluss brauchen auf Tablets die volle Breite,
   sonst quetscht sich die Ueberschrift in eine 270px-Spalte */
@media(min-width:821px) and (max-width:1100px){
  .yoga-schedule{grid-template-columns:1fr;gap:28px;padding:52px 34px 58px}
  .yoga-schedule header{max-width:none}
  .yoga-schedule h2{font-size:34px}
  .yoga-cta{grid-template-columns:1fr;gap:20px;padding:52px clamp(20px,4vw,38px) 58px}
  .yoga-cta h2{font-size:34px}
  .yoga-specials{grid-template-columns:1fr;gap:30px}
  .yoga-specials figure img{height:340px;object-fit:cover;width:100%}
}

/* Hochformat-Fotos vertragen keinen flachen Ausschnitt - mehr Hoehe, Fokus hoeher */
@media(min-width:821px) and (max-width:1100px){
  .yoga-specials figure img{height:440px;object-position:center 38%}
  .yoga-experience figure{max-width:420px;margin:0 auto}
  .yoga-experience figure img{height:400px;object-fit:cover;width:100%;
    object-position:center 42%}
}


/* ==========================================================================
   Feste Hoehen aufloesen  (bis 1260px)
   Der Desktop-Entwurf arbeitet an vielen Stellen mit festen Pixelhoehen.
   Sobald das Fenster schmaler wird, braucht derselbe Inhalt mehr Platz:
   er laeuft unten heraus und die naechste Sektion legt sich darueber -
   oder er bleibt kleiner und hinterlaesst eine grosse Leerflaeche.
   Unterhalb der Desktop-Breite bestimmt deshalb der Inhalt die Hoehe.
   ========================================================================== */
@media(max-width:1260px){
  .start-hero,.home-focus,.philosophy-section,.audience-row,.benefit-bar,
  .sub-hero,.detail-hero,.editorial-hero,.therapy-hero,.practice-hero-new,
  .yoga-hero-new,.space-main,.route-card,.placeholder-page,.detail-cta,
  .team-footer,.contact-footer,.global-footer,.info-wave,.wave-band,
  .start-wave,.therapy-wave{
    height:auto;min-height:0}

  /* Baender behalten eine Mindesthoehe, damit die Wellenform sichtbar bleibt */
  .info-wave,.wave-band,.start-wave,.therapy-wave,.contact-footer{
    min-height:110px}

  /* Bilder in Bereichen, die vorher ueber die Sektionshoehe liefen */
  .space-main img{height:340px;object-fit:cover;width:100%}
  .room-photo img{height:100%;min-height:300px;object-fit:cover;width:100%}
}

/* Praxisseite: die Raumbilder standen in einem Raster mit fester Hoehe und
   hinterliessen darunter eine grosse Leerflaeche */
@media(min-width:821px) and (max-width:1100px){
  .practice-spaces{grid-template-columns:1fr;gap:18px;align-items:start}
  .space-main img{height:380px}
  .space-stack{grid-template-columns:1fr 1fr;gap:18px}
  .space-stack figure{height:auto}
  .space-stack figure img{height:300px;object-fit:cover;width:100%}
}

/* Auch auf dem Desktop bestimmt der Inhalt die Hoehe dieses Bereichs -
   mit fester Hoehe lief die Kartenreihe 13px nach unten heraus */
.home-focus{height:auto;min-height:0}

/* Die Bildspalte der Praxisseite stand im Desktop-Layout zweizeilig neben dem
   grossen Foto. Auf Tablets liegen die beiden Bilder nebeneinander - die
   Zeilendefinition muss mit, sonst bleibt darunter eine leere Zeile stehen. */
@media(min-width:821px) and (max-width:1100px){
  .space-stack{grid-template-rows:auto;align-content:start}
  .practice-spaces{margin-bottom:46px}
}


/* ==========================================================================
   Zwischenbereich 1101 bis 1260px
   Hier greift bereits das Desktop-Layout, die Buehne ist dafuer aber noch
   zu schmal. Betroffen sind nur Raster mit ganzen Textabsaetzen - Raster mit
   kurzen Beschriftungen (Vorteilsleiste, Ablaufschritte) bleiben unveraendert.
   ========================================================================== */
@media(min-width:1101px) and (max-width:1260px){
  /* Drei Wertekarten mit je einem Absatz brauchen mehr als 186px */
  .practice-values>div{grid-template-columns:1fr 1fr;gap:24px}
  .practice-values article:last-child{grid-column:1 / -1}

  /* Raender, damit die Inhalte nicht an der Fensterkante stehen */
  .section-pad{padding-left:38px;padding-right:38px}
  .site-header{padding-left:38px;padding-right:38px}
  .global-footer{padding-left:38px;padding-right:38px}
}


/* ==========================================================================
   Lesbarkeit auf Handy und Tablet (12.08.2026)
   Die Basisgroessen sind fuer die 1024px breite Desktop-Ansicht gesetzt und
   waren auf dem Handy bis auf 10.5px heruntergerechnet. Fuer eine Praxis mit
   Senioren- und Geriatrie-Schwerpunkt zu klein, deshalb hier angehoben.
   ========================================================================== */
@media(max-width:820px){
  .condition-grid ul{font-size:13.5px;line-height:1.65}
  .condition-grid h3{font-size:19px}
  .check-list li{font-size:13.5px}
  .focus-cards p{font-size:13.5px}
  .focus-cards button{font-size:13px}
  .process-box section p{font-size:12.5px;line-height:1.6}
  .process-box h4{font-size:13px}
  .info-wave p{font-size:12.5px;line-height:1.6}
  .info-wave strong{font-size:13px}
  .audience-row p{font-size:12.5px}
  .therapy-note{font-size:12.5px;line-height:1.65}
  .detail-columns li{font-size:13.5px;line-height:1.65}
  .contact-choices small{font-size:12px}
  .contact-choices em{font-size:12.5px}
  .yoga-class-list p{font-size:13px;line-height:1.6}
  .yoga-principles span,.special-list span{font-size:12px}
  .practice-values article>span{font-size:12.5px}
  .practice-service-bar span{font-size:12.5px}
  .practice-address{font-size:13px}
  .legal-content li,.legal-content p{font-size:14px}
  .gruppen-hinweis{font-size:13.5px}
  .question-row a:not(.button){font-size:13px}
  .form-hinweis,.form-direct small{font-size:12.5px}
  .philosophy-copy .button{font-size:13px}
  .practice-spaces figcaption span,.yoga-hero-new figcaption small,
  .practice-hero-new figcaption small,.contact-hero-new figcaption,
  .practice-gallery figcaption,.yoga-specials>figure figcaption{font-size:12.5px}
}
