@font-face{font-family:Newsreader;src:url(../fonts/newsreader-regular.ttf)format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Newsreader;src:url(../fonts/newsreader-medium.ttf)format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(../fonts/source-sans-regular.ttf)format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(../fonts/source-sans-semibold.ttf)format("truetype");font-weight:600;font-display:swap}
:root{--ink:#283128;--ink-soft:#4f584f;--off-white:#f6f4f1;--white:#fbfaf8;--green:#4e5a47;--green-deep:#344033;--sage:#d9dccc;--sage-strong:#9aa790;--blue:#c6d6e3;--blue-soft:#e6edf2;--sand:#e3d6c3;--sand-soft:#f1e9df;--line:#2831282b;--serif:"Newsreader", Georgia, serif;--sans:"Source Sans 3", Arial, sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{color:var(--ink);background:var(--off-white);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.62}
body,button,input,textarea,select{font-family:var(--sans)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea,select{color:inherit}
button,a,summary,select{-webkit-tap-highlight-color:transparent}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);letter-spacing:-.025em;font-weight:400;line-height:1.04}
h2{margin-bottom:26px;font-size:clamp(2.65rem,5vw,5rem)}
h3{margin-bottom:16px;font-size:2rem}
::selection{color:var(--white);background:var(--green)}
.skip-link{z-index:1000;color:var(--white);background:var(--green-deep);padding:10px 16px;position:fixed;top:10px;left:10px;transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
.container{width:min(1420px,100% - 80px);margin-inline:auto}
.section{padding:clamp(90px,10vw,150px) 0}
.site-header{z-index:100;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f6f4f1f0;position:sticky;top:0}
.nav-shell{grid-template-columns:270px 1fr auto;align-items:center;gap:40px;width:min(1500px,100% - 56px);min-height:92px;margin-inline:auto;display:grid;position:relative}
.brand{width:255px}
.brand img{width:100%;height:auto}
.desktop-nav{letter-spacing:.08em;text-transform:uppercase;justify-content:center;gap:clamp(17px,2vw,36px);font-size:.84rem;display:flex}
.desktop-nav a,.nav-cta{white-space:nowrap;position:relative}
.desktop-nav a:after{background:var(--green);content:"";transform-origin:100%;height:1px;transition:transform .22s;position:absolute;bottom:-7px;left:0;right:0;transform:scaleX(0)}
.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}
.nav-cta{border:1px solid var(--green);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:12px 21px;font-size:.8rem;transition:color .18s,background .18s}
.nav-cta:hover,.nav-cta:focus-visible{color:var(--white);background:var(--green)}
.nav-toggle,.mobile-nav{display:none}
.hero{padding:clamp(60px,8vw,118px) 0 clamp(95px,11vw,155px);position:relative;overflow:hidden}
.hero-grid{z-index:2;grid-template-columns:.92fr 1.08fr;align-items:center;gap:clamp(60px,8vw,128px);display:grid;position:relative}
.hero-copy{padding-left:clamp(0px,3vw,40px)}
.eyebrow,.mini-label{color:var(--green);letter-spacing:.2em;text-transform:uppercase;margin-bottom:24px;font-size:.76rem;font-weight:600}
.eyebrow:before{content:"";background:currentColor;width:34px;height:1px;margin:0 13px 4px 0;display:inline-block}
.hero h1{max-width:720px;margin:0 0 32px;font-size:clamp(3.7rem,6.6vw,7.35rem)}
.hero h1 em{color:var(--green);font-weight:400;display:block}
.hero-lead{max-width:590px;color:var(--ink-soft);margin-bottom:34px;font-size:1.14rem}
.button-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}
.button{letter-spacing:.095em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:52px;padding:12px 24px;font-size:.79rem;font-weight:600;line-height:1.2;transition:transform .18s,box-shadow .18s,color .18s,background .18s;display:inline-flex}
.button:hover,.button:focus-visible{transform:translateY(-2px)}
.button-primary{color:var(--white);background:var(--green);box-shadow:0 10px 26px #34403321}
.button-primary:hover,.button-primary:focus-visible{background:var(--green-deep);box-shadow:0 14px 32px #34403333}
.button-text{min-height:auto;padding-inline:8px}
.button-text span,.card-link span,.button-ink span,.direct-contacts a span,.recognition a span{margin-left:8px}
.button-outline{border-color:var(--green)}
.button-ink{color:var(--white);background:var(--ink)}
.hero-meta{color:var(--ink-soft);letter-spacing:.11em;text-transform:uppercase;flex-wrap:wrap;gap:10px 24px;margin-top:42px;font-size:.82rem;display:flex}
.hero-meta span:not(:last-child):after{color:var(--sage-strong);content:"•";margin-left:24px}
.hero-photo{background:var(--sage);border-radius:260px 260px 24px 24px;min-height:min(720px,74vh);margin:0;position:relative;overflow:hidden;box-shadow:0 32px 80px #2f382e26}
.hero-photo>img{width:100%;height:100%;min-height:inherit;object-fit:cover;object-position:center 42%}
.hero-photo:after{content:"";pointer-events:none;background:linear-gradient(#0000 55%,#1a22196b);position:absolute;inset:0}
.hero-photo figcaption{z-index:2;color:var(--white);align-items:center;gap:18px;display:flex;position:absolute;bottom:26px;left:28px;right:28px}
.hero-photo figcaption span{font-family:var(--serif);font-size:2rem}
.hero-photo figcaption p{letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.76rem}
.hero-orbit{pointer-events:none;border:1px solid #4e5a471f;border-radius:50%;position:absolute}
.orbit-one{width:850px;height:850px;top:-350px;right:-140px}
.orbit-two{width:560px;height:560px;bottom:-220px;left:-230px}
.section-heading{margin-bottom:clamp(54px,7vw,88px)}
.section-heading h2{max-width:960px}
.section-heading>p:last-child{max-width:660px;color:var(--ink-soft);font-size:1.08rem}
.split-heading{grid-template-columns:minmax(0,1.15fr) minmax(320px,.55fr);align-items:end;gap:80px;display:grid}
.split-heading h2,.split-heading p{margin-bottom:0}
.services-note>p{color:var(--ink-soft);margin-bottom:28px;font-size:1.08rem}
.services-note img{width:270px}
.services-section{background:var(--white)}
.service-pillars{border:1px solid var(--line);background:var(--off-white);border-radius:26px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden;box-shadow:0 20px 60px #2e362d0f}
.pillar{border-left:7px solid var(--accent);min-height:665px;padding:clamp(32px,4vw,58px);position:relative}
.pillar+.pillar{border-top:0;border-left-width:7px}
.pillar-yoga{--accent:#9dbfd3;background:linear-gradient(155deg,#dceaf2,#eff4f6)}
.pillar-massage{--accent:#c9a984;background:linear-gradient(155deg,#eadac6,#f6efe7)}
.pillar-therapy{--accent:#8fa080;background:linear-gradient(155deg,#dce3d5,#eff1eb)}
.pillar-top{justify-content:space-between;align-items:flex-start;margin-bottom:28px;display:flex}
.pillar-top img{object-fit:contain;width:118px;height:118px}
.pillar-top span,.course-number{font-family:var(--serif);font-size:2.25rem}
.pillar .mini-label{margin-bottom:12px}
.pillar h3{font-size:clamp(2.4rem,3.5vw,3.4rem)}
.pillar>p:not(.mini-label){min-height:108px;color:var(--ink-soft)}
.pillar ul,.treatment-grid ul,.credentials{margin:24px 0 34px;padding:0;list-style:none}
.pillar li,.treatment-grid li,.credentials li{padding:6px 0 6px 20px;position:relative}
.pillar li:before,.treatment-grid li:before,.credentials li:before{background:var(--accent,var(--green));content:"";border-radius:50%;width:5px;height:5px;position:absolute;top:16px;left:0}
.card-link{letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid;align-items:center;margin-top:auto;font-size:.78rem;font-weight:600;display:inline-flex}
.status-section{background:var(--blue-soft);padding:80px 0}
.status-grid{grid-template-columns:130px .85fr 1fr;align-items:center;gap:clamp(35px,5vw,80px);display:grid}
.status-mark{border:1px solid #495f6d38;border-radius:50%;place-items:center;width:130px;height:130px;display:grid}
.status-mark img{width:78px}
.status-grid h2{margin-bottom:0;font-size:clamp(2.4rem,4vw,4.1rem)}
.status-copy>p{color:var(--ink-soft);margin-bottom:24px}
.status-pills{flex-wrap:wrap;gap:9px;display:flex}
.status-pills span,.recognition span{color:#364d5c;letter-spacing:.06em;background:#ffffff9e;border-radius:999px;padding:8px 13px;font-size:.75rem;font-weight:600}
.status-pills .later{background:0 0;border:1px dashed #364d5c4d}
.courses-section{background:var(--sage)}
.compact-heading{max-width:760px}
.compact-heading h2{margin-bottom:22px}
.course-list{border-top:1px solid #28312840}
.course-list article{border-bottom:1px solid #28312840;border-left:7px solid #8d9b83;grid-template-columns:80px 1fr 210px;align-items:center;gap:34px;min-height:195px;padding:30px 32px 30px 18px;transition:background .18s,transform .18s;display:grid}
.course-list article:hover{background:#ffffff40}
.course-list .course-planned{opacity:.72}
.course-main .mini-label{margin-bottom:8px}
.course-main h3{margin-bottom:8px;font-size:clamp(2rem,3vw,3rem)}
.course-main p:last-child{max-width:640px;color:var(--ink-soft);margin-bottom:0}
.course-meta{text-align:right;flex-direction:column;align-items:flex-end;display:flex}
.course-meta span,.course-meta small{color:var(--ink-soft);letter-spacing:.09em;text-transform:uppercase;font-size:.79rem}
.course-meta strong{font-family:var(--serif);margin:6px 0;font-size:1.7rem;font-weight:500}
.course-footer{background:#ffffff73;border-radius:18px;align-items:center;margin:32px 0 62px;padding:26px 30px;display:flex}
.course-footer p{flex-direction:column;flex:1;margin:0;display:flex}
.course-footer p span{color:var(--ink-soft);font-size:.88rem}
.course-footer>strong{font-family:var(--serif);margin-right:42px;font-size:2rem;font-weight:500}
.studio-gallery{grid-template-columns:1.2fr .8fr 1fr;align-items:end;gap:18px;display:grid}
.studio-gallery figure{border-radius:180px 180px 16px 16px;height:390px;margin:0;overflow:hidden}
.studio-gallery figure:nth-child(2){height:480px}
.studio-gallery img{object-fit:cover;width:100%;height:100%}
.one-to-one-section{background:var(--blue-soft)}
.pricing-banner{gap:28px;margin-bottom:24px;display:flex}
.pricing-banner span{border:1px solid #364d5c38;border-radius:999px;padding:12px 18px}
.pricing-banner b{color:#5f7d90;letter-spacing:.1em;text-transform:uppercase;margin-right:8px;font-size:.74rem}
.treatment-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}
.treatment-grid article{background:#ffffff80;border-left:7px solid #9ebdce;border-radius:0 20px 20px 0;min-height:430px;padding:clamp(30px,4vw,52px)}
.treatment-grid .mini-label{color:#547285;margin-bottom:14px}
.treatment-grid h3{min-height:70px;font-size:2.25rem}
.treatment-grid>article>p:not(.mini-label){min-height:92px;color:var(--ink-soft)}
.section-action{justify-content:center;margin-top:42px;display:flex}
.massage-section{background:var(--sand-soft)}
.massage-grid{grid-template-columns:.75fr 1.25fr;align-items:center;gap:clamp(60px,8vw,120px);display:grid}
.massage-photo-wrap{position:relative}
.massage-photo-wrap figure{background:var(--sand);border-radius:260px 260px 20px 20px;margin:0;overflow:hidden}
.massage-photo-wrap figure img{aspect-ratio:.82;object-fit:cover;object-position:center;width:100%}
.massage-photo-wrap>span{color:var(--white);background:var(--green);letter-spacing:.09em;text-transform:uppercase;border-radius:999px;padding:12px 18px;font-size:.76rem;position:absolute;bottom:30px;right:-20px}
.massage-copy>p:not(.eyebrow){max-width:660px;color:var(--ink-soft);font-size:1.08rem}
.massage-prices{border-top:1px solid #4b3e2f33;margin:44px 0 36px}
.massage-prices article{border-bottom:1px solid #4b3e2f33;grid-template-columns:1fr 150px;gap:30px;padding:24px 0;display:grid}
.massage-prices h3{margin-bottom:5px;font-size:1.85rem}
.massage-prices p{color:var(--ink-soft);margin-bottom:0}
.massage-prices strong{font-family:var(--serif);text-align:right;align-self:center;font-size:1.35rem;font-weight:500}
.insurance-card{background:#ffffff85;border:1px solid #4b3e2f29;border-radius:24px;grid-template-columns:160px 1fr 245px;align-items:center;gap:48px;margin-top:100px;padding:42px 48px;display:grid}
.insurance-card>img{width:145px}
.insurance-card .eyebrow{color:#927b62;margin-bottom:10px}
.insurance-card h3{margin-bottom:10px;font-size:2.35rem}
.insurance-card p:last-child{color:var(--ink-soft);margin-bottom:0}
.recognition{flex-direction:column;align-items:flex-start;gap:10px;display:flex}
.recognition span{color:#6c5844;background:var(--sand)}
.recognition a{letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid;margin-top:8px;font-size:.78rem;font-weight:600}
.route-section{color:var(--white);background:var(--green-deep)}
.eyebrow-light{color:var(--sage)}
.route-heading{grid-template-columns:260px 1fr;align-items:start;gap:60px;display:grid}
.route-heading h2{max-width:900px;margin:0}
.route-board{border:1px solid #ffffff29;border-radius:28px;grid-template-columns:.9fr 1.1fr;min-height:540px;display:grid;overflow:hidden}
.route-tabs{flex-direction:column;display:flex}
.route-tabs button{color:#ffffff9e;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #ffffff24;flex:1;grid-template-columns:50px 1fr;align-items:center;padding:24px 38px;font-size:1rem;line-height:1.4;transition:color .18s,background .18s;display:grid}
.route-tabs button:last-child{border-bottom:0}
.route-tabs button span{font-family:var(--serif);font-size:1.6rem}
.route-tabs button:hover,.route-tabs button.is-active{color:var(--white);background:#ffffff14}
.route-panel{color:var(--ink);flex-direction:column;justify-content:center;padding:clamp(48px,7vw,94px);animation:.26s routeReveal;display:flex}
.route-group{background:var(--sage)}
.route-individual{background:var(--blue)}
.route-recovery{background:var(--sand)}
.route-panel h3{max-width:650px;font-size:clamp(2.6rem,4.3vw,4.5rem)}
.route-panel>p:not(.mini-label){max-width:610px;color:var(--ink-soft);margin-bottom:32px}
.route-panel .button{align-self:flex-start}
@keyframes routeReveal{0%{opacity:.2;transform:translateY(8px)}
to{opacity:1;transform:translateY(0)}
}
.team-section{background:var(--white)}
.centered-heading{text-align:center;margin-inline:auto}
.centered-heading .eyebrow:before{display:none}
.centered-heading>p:last-child{margin-inline:auto}
.team-grid{grid-template-columns:1fr 1fr;gap:28px;display:grid}
.team-card{border:1px solid var(--line);background:var(--off-white);border-radius:24px;grid-template-columns:.75fr 1.25fr;display:grid;overflow:hidden}
.team-card figure{min-height:610px;margin:0;overflow:hidden}
.team-card figure img{object-fit:cover;width:100%;height:100%}
.team-card-copy{flex-direction:column;justify-content:center;padding:clamp(30px,4vw,58px);display:flex}
.team-card-copy .mini-label{line-height:1.5}
.team-card h3{margin-bottom:8px;font-size:3.5rem}
.qualification{color:var(--green);font-weight:600}
.credentials{color:var(--ink-soft);margin:12px 0 26px;font-size:.9rem}
.team-card .card-link{align-self:flex-start}
.axis-section{color:var(--white);background:var(--green)}
.axis-grid{grid-template-columns:.75fr 1.25fr;align-items:center;gap:clamp(70px,10vw,150px);display:grid}
.axis-logo-panel{background:#ffffff0d;border:1px solid #fff3;border-radius:50% 50% 20px 20px;place-items:center;min-height:470px;display:grid}
.axis-logo-panel img{width:min(380px,75%)}
.axis-copy h2{max-width:800px}
.axis-copy>p:not(.eyebrow){color:#ffffffbd;max-width:760px;font-size:1.1rem}
.axis-values{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}
.axis-values span{border:1px solid #fff3;border-radius:999px;padding:10px 15px;font-size:.82rem}
.contact-section{color:var(--white);background:var(--green-deep)}
.contact-intro{max-width:1420px;margin-bottom:65px}
.contact-intro h2{margin-bottom:20px}
.contact-intro>p:last-child{color:#ffffffad;max-width:680px}
.contact-grid{grid-template-columns:1fr .85fr;gap:30px;display:grid}
.direct-contacts{grid-template-columns:1fr 1fr;gap:14px;display:grid}
.direct-contacts article{background:#ffffff0a;border:1px solid #ffffff29;border-radius:18px;flex-direction:column;min-height:235px;padding:30px;display:flex}
.direct-contacts article>span{color:var(--sage);letter-spacing:.16em;text-transform:uppercase;font-size:.73rem}
.direct-contacts h3{margin:18px 0 auto;font-size:2.1rem}
.direct-contacts a{letter-spacing:.06em;font-size:.87rem;font-weight:600}
.direct-contacts .sub-contact{color:#ffffff94;margin-top:8px;font-size:.78rem}
.contact-form{color:var(--ink);background:var(--off-white);border-radius:22px;grid-template-columns:1fr 1fr;gap:20px;padding:clamp(32px,5vw,58px);display:grid}
.form-heading,.contact-form label:nth-of-type(3),.contact-form label:nth-of-type(4),.contact-form button,.contact-form small{grid-column:1/-1}
.form-heading .mini-label{margin-bottom:8px}
.form-heading h3{margin-bottom:10px;font-size:2.7rem}
.contact-form label{letter-spacing:.1em;text-transform:uppercase;flex-direction:column;gap:7px;font-size:.76rem;font-weight:600;display:flex}
.contact-form input,.contact-form textarea,.contact-form select{border:0;border-bottom:1px solid var(--line);text-transform:none;background:0 0;border-radius:0;outline:0;width:100%;font-size:1rem}
.contact-form input,.contact-form select{height:48px}
.contact-form textarea{resize:vertical;padding:12px 0}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--green)}
.contact-form button{cursor:pointer;justify-self:start}
.contact-form small{color:var(--ink-soft);font-size:.76rem}
.faq-section{background:var(--off-white)}
.faq-grid{grid-template-columns:.75fr 1.25fr;gap:clamp(60px,8vw,130px);display:grid}
.faq-grid h2{font-size:clamp(2.6rem,4.5vw,4.6rem)}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{font-family:var(--serif);cursor:pointer;padding:27px 50px 27px 0;font-size:1.55rem;line-height:1.25;list-style:none;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";font-family:var(--sans);font-size:1.4rem;position:absolute;top:27px;right:8px}
.faq-list details[open] summary:after{content:"−"}
.faq-list details p{max-width:720px;color:var(--ink-soft);padding:0 50px 28px 0}
.site-footer{color:var(--white);background:#252e25;padding:75px 0 30px}
.footer-main{grid-template-columns:1.2fr .65fr .85fr;gap:70px;padding-bottom:55px;display:grid}
.footer-main>div:first-child img{width:310px;margin-bottom:20px}
.footer-main p{color:#ffffff91}
.footer-main nav,.footer-contact{flex-direction:column;gap:9px;display:flex}
.footer-main a{color:#ffffffbd;font-size:.88rem}
.footer-main a:hover,.footer-main a:focus-visible{color:var(--white)}
.footer-small{color:#ffffff75;letter-spacing:.08em;border-top:1px solid #ffffff1f;justify-content:space-between;padding-top:26px;font-size:.76rem;display:flex}
:focus-visible{outline-offset:4px;outline:2px solid #75876b}
@media (width<=1280px){.nav-shell{grid-template-columns:230px 1fr auto;gap:24px}
.brand{width:225px}
.desktop-nav{gap:18px;font-size:.76rem}
.team-card{grid-template-columns:.9fr 1.1fr}
.team-card figure{min-height:650px}
}
@media (width<=1080px){.container{width:min(100% - 48px,960px)}
.desktop-nav,.site-header>.nav-shell>.nav-cta{display:none}
.nav-shell{grid-template-columns:1fr auto;width:calc(100% - 48px);min-height:82px}
.nav-toggle{border:1px solid var(--line);background:0 0;border-radius:50%;flex-direction:column;justify-content:center;gap:7px;width:46px;height:46px;display:flex}
.nav-toggle span{background:var(--ink);width:19px;height:1px;margin-inline:auto;transition:transform .18s;display:block}
.nav-toggle.is-open span:first-child{transform:translateY(4px)rotate(45deg)}
.nav-toggle.is-open span:last-child{transform:translateY(-4px)rotate(-45deg)}
.mobile-nav{border-bottom:1px solid var(--line);background:var(--off-white);opacity:0;pointer-events:none;padding:18px 24px 26px;transition:opacity .16s,transform .16s;display:grid;position:absolute;top:calc(100% + 1px);left:-24px;right:-24px;transform:translateY(-10px)}
.mobile-nav.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}
.mobile-nav a{border-bottom:1px solid var(--line);letter-spacing:.1em;text-transform:uppercase;padding:13px 0;font-size:.82rem}
.hero-grid,.split-heading,.massage-grid,.axis-grid,.contact-grid,.faq-grid{grid-template-columns:1fr}
.hero-copy{max-width:780px;padding-left:0}
.hero h1{font-size:clamp(4rem,10vw,6.5rem)}
.hero-photo{min-height:650px}
.split-heading{gap:26px}
.service-pillars,.treatment-grid{grid-template-columns:1fr}
.pillar{min-height:auto}
.pillar>p:not(.mini-label),.treatment-grid h3,.treatment-grid>article>p:not(.mini-label){min-height:0}
.status-grid{grid-template-columns:110px 1fr}
.status-mark{grid-row:1/3;align-self:start;width:110px;height:110px}
.course-list article{grid-template-columns:62px 1fr 180px}
.massage-photo-wrap{max-width:550px;margin-inline:auto}
.massage-copy{max-width:850px}
.insurance-card{grid-template-columns:130px 1fr}
.recognition{grid-column:2}
.route-heading{grid-template-columns:1fr;gap:10px}
.route-board{grid-template-columns:1fr}
.route-tabs{grid-template-columns:repeat(3,1fr);display:grid}
.route-tabs button{border-bottom:0;border-right:1px solid #ffffff24;grid-template-columns:1fr;gap:10px;min-height:170px}
.team-card{grid-template-columns:.72fr 1.28fr}
.axis-logo-panel{border-radius:50%;min-height:340px}
.faq-grid{gap:40px}
}
@media (width<=760px){body{font-size:16px}
.container{width:calc(100% - 36px)}
.section{padding:78px 0}
.nav-shell{width:calc(100% - 36px);min-height:74px}
.brand{width:190px}
.mobile-nav{left:-18px;right:-18px}
.hero{padding-top:44px}
.hero-grid{gap:44px}
.hero h1{font-size:clamp(3.15rem,15vw,5rem)}
.hero-lead{font-size:1rem}
.button-row{align-items:flex-start}
.hero-meta{gap:7px 14px;margin-top:34px;font-size:.72rem}
.hero-meta span:not(:last-child):after{margin-left:14px}
.hero-photo{border-radius:180px 180px 18px 18px;min-height:480px}
h2{font-size:clamp(2.5rem,12vw,3.8rem)}
.service-pillars{border-radius:18px}
.pillar{border-left-width:5px;padding:32px 25px 38px}
.pillar+.pillar{border-top:1px solid var(--line);border-left-width:5px}
.pillar-top img{width:90px;height:90px}
.status-grid{grid-template-columns:1fr}
.status-mark{grid-row:auto;width:90px;height:90px}
.status-mark img{width:60px}
.course-list article{border-left-width:5px;grid-template-columns:52px 1fr;gap:18px;padding:26px 14px 26px 12px}
.course-meta{text-align:left;grid-column:2;align-items:flex-start}
.course-footer{flex-direction:column;align-items:flex-start;gap:14px}
.course-footer>strong{margin-right:0}
.studio-gallery{grid-template-columns:1fr 1fr}
.studio-gallery figure,.studio-gallery figure:nth-child(2){border-radius:120px 120px 12px 12px;height:300px}
.studio-gallery figure:first-child{grid-column:1/-1}
.pricing-banner{flex-direction:column;align-items:flex-start;gap:10px}
.treatment-grid article{border-left-width:5px;min-height:auto}
.massage-photo-wrap>span{right:14px}
.massage-prices article{grid-template-columns:1fr;gap:10px}
.massage-prices strong{text-align:left}
.insurance-card{grid-template-columns:1fr;gap:24px;margin-top:70px;padding:30px 24px}
.recognition{grid-column:auto}
.route-tabs{grid-template-columns:1fr}
.route-tabs button{border-bottom:1px solid #ffffff24;border-right:0;grid-template-columns:42px 1fr;min-height:116px;padding:22px 24px}
.route-panel{min-height:480px;padding:38px 26px}
.route-panel h3{font-size:2.75rem}
.team-grid,.team-card,.direct-contacts,.contact-form,.footer-main{grid-template-columns:1fr}
.team-card figure{min-height:420px;max-height:480px}
.axis-logo-panel{min-height:280px}
.direct-contacts article{min-height:190px}
.contact-form label,.contact-form label:nth-of-type(3),.contact-form label:nth-of-type(4),.contact-form button,.contact-form small,.form-heading{grid-column:auto}
.faq-list summary{font-size:1.3rem}
.footer-main{gap:35px}
.footer-small{flex-direction:column;gap:8px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* 2026-08-09: readability, visual rhythm and client feedback */
body{font-size:18px;line-height:1.68}
p,li,summary{font-weight:400}
.desktop-nav{font-size:.91rem;font-weight:600;letter-spacing:.075em}
.nav-cta{font-size:.86rem;font-weight:600}
.eyebrow,.mini-label{font-size:.84rem;letter-spacing:.17em;line-height:1.45}
.button{font-size:.86rem}
.hero-meta{font-size:.9rem;font-weight:600}
.hero-photo figcaption p{font-size:.84rem}
.card-link{font-size:.9rem}
.status-pills span,.recognition span{font-size:.82rem}
.section-heading>p:last-child,.services-note>p{font-size:1.14rem;line-height:1.72}
.services-section{background:radial-gradient(circle at 88% 12%,rgba(198,214,227,.5),transparent 34%),linear-gradient(145deg,#ced7ca 0%,#dce2d7 48%,#e0d8cc 100%)}
.service-pillars{box-shadow:0 24px 70px #2e362d1a}
.pillar-top img{filter:brightness(.82) contrast(1.13) saturate(.9)}
.pillar>p:not(.mini-label){font-size:1.06rem;line-height:1.72}
.pillar li{font-size:1.02rem}
.pillar .card-link{font-size:1rem}
.course-number{font-size:2.55rem}
.course-main .mini-label{font-size:.84rem}
.course-main p:last-child{font-size:1.08rem;line-height:1.7}
.course-meta span,.course-meta small{font-size:.86rem;font-weight:600}
.course-footer p span{font-size:.95rem}
.pricing-banner b{font-size:.82rem}
.treatment-grid .mini-label{font-size:.84rem}
.treatment-grid h3{font-size:clamp(2.35rem,3vw,2.75rem)}
.treatment-grid>article>p:not(.mini-label){font-size:1.08rem;line-height:1.7}
.treatment-grid li{font-size:1.02rem}
.massage-photo-wrap figure img{object-position:58% 52%}
.massage-photo-wrap>span{font-size:.82rem}
.massage-prices{border-top:0;display:grid;gap:12px}
.massage-prices article{border:0;border-left:7px solid #b89a76;border-radius:0 18px 18px 0;background:rgba(255,255,255,.58);padding:24px 24px 24px 27px}
.massage-prices h3{font-size:2rem}
.massage-prices p{font-size:1.04rem;line-height:1.62}
.route-tabs button{font-size:1.08rem;font-weight:600}
.route-tabs button span{font-size:1.78rem}
.route-panel>p:not(.mini-label){font-size:1.08rem;line-height:1.7}
.recognition a{font-size:.84rem}
.axis-values span{font-size:.9rem}
.direct-contacts article>span,.contact-form label{font-size:.84rem;font-weight:600}
.direct-contacts a{font-size:1rem}
.direct-contacts .sub-contact,.contact-form small{font-size:.86rem}
.faq-list summary{font-size:1.08rem}
.faq-list details p{font-size:1.04rem;line-height:1.7}
.footer-main a{font-size:.96rem}
.footer-small{font-size:.82rem}
@media (width<=760px){body{font-size:17px;line-height:1.68}.eyebrow,.mini-label{font-size:.8rem;letter-spacing:.145em}.mobile-nav a{font-size:.9rem}.services-section{background:linear-gradient(155deg,#ced7ca 0%,#e3ded4 100%)}.pillar>p:not(.mini-label),.course-main p:last-child,.treatment-grid>article>p:not(.mini-label){font-size:1.03rem}.route-tabs button{font-size:1rem}.massage-prices article{border-left-width:5px;padding:22px 20px}}

/* 2026-08-10: final client colour refinements */
.services-section{background:var(--white)}
.service-pillars{background:var(--off-white)}
.pillar{background:var(--off-white)}
.pillar-yoga{--accent:#60745a;background:var(--off-white)}
.pillar-massage{--accent:#ab9274;background:var(--off-white)}
.pillar-therapy{--accent:#7197b0;background:var(--off-white)}
.pillar-yoga h3,.pillar-yoga .mini-label,.pillar-yoga .card-link{color:#526b4d}
.pillar-top img{filter:none}

.status-section{color:var(--white);background:var(--green-deep)}
.status-section .eyebrow{color:var(--sage)}
.status-mark{border-color:#ffffff42}
.status-mark img{filter:brightness(0) invert(1);opacity:.9}
.status-copy>p{color:#ffffffc9;font-size:1.1rem;line-height:1.72}
.status-pills span{color:var(--white);background:#ffffff14;border:1px solid #ffffff26;font-size:.88rem}
.status-pills .later{color:#ffffffd1;background:transparent;border:1px dashed #ffffff66}

.massage-section{background:#f1ede7}
.massage-photo-wrap figure{background:#ded4c7}
.massage-prices article{border-left-color:#a78e70;background:#f7f3ed}
.insurance-card{background:#f8f5f0;border-color:#6f5b4530}
.recognition span{color:#62513f;background:#e2d7c8}

@media (width<=760px){
  .services-section{background:var(--white)}
  .pillar{background:var(--off-white)}
  .status-copy>p{font-size:1.05rem}
  .status-pills span{font-size:.84rem}
}

/* 2026-08-10: final background adjustment — white section, coloured service cards */
.services-section{background:#fff}
.service-pillars{background:#fff}
.pillar-yoga{--accent:#60745a;background:linear-gradient(155deg,#e1e8dc 0%,#f1f4ee 100%)}
.pillar-massage{--accent:#ab9274;background:linear-gradient(155deg,#eee1d0 0%,#f8f2ea 100%)}
.pillar-therapy{--accent:#7197b0;background:linear-gradient(155deg,#dce9f1 0%,#f0f5f8 100%)}
@media (width<=760px){
  .services-section{background:#fff}
  .service-pillars{background:#fff}
  .pillar-yoga{background:linear-gradient(155deg,#e1e8dc 0%,#f1f4ee 100%)}
  .pillar-massage{background:linear-gradient(155deg,#eee1d0 0%,#f8f2ea 100%)}
  .pillar-therapy{background:linear-gradient(155deg,#dce9f1 0%,#f0f5f8 100%)}
}

/* 2026-08-29: launch readiness, current programme and legal surfaces */
:focus-visible{outline:3px solid #7197b0;outline-offset:4px}
.hero-visual{min-height:min(720px,74vh);display:grid;grid-template-columns:1.12fr .88fr;align-items:end;gap:18px;position:relative}
.hero-visual .hero-photo{min-height:0;height:100%}
.hero-photo-regina{border-radius:260px 36px 24px 24px}
.hero-photo-robert{height:82%!important;border-radius:28px 200px 24px 24px}
.hero-photo-robert>img{object-position:center 42%}
.hero-photo-robert figcaption{display:block}
.hero-photo-robert figcaption span{display:none}
.hero-photo-robert figcaption p{line-height:1.45}

.schedule-intro{background:#ffffff70;border:1px solid #28312826;border-radius:18px;display:grid;grid-template-columns:minmax(240px,.58fr) 1fr;gap:34px;align-items:center;margin:-18px 0 34px;padding:24px 28px}
.schedule-intro p{margin:0;color:var(--ink-soft)}
.schedule-intro .mini-label{margin-bottom:6px;color:var(--green)}
.schedule-intro strong{font-family:var(--serif);font-size:1.55rem;font-weight:500}
.course-footer{display:grid;grid-template-columns:1fr auto auto;gap:28px}
.course-pass-intro{display:flex;flex-direction:column}
.course-pass-intro>strong{font-family:var(--serif);font-size:1.6rem;font-weight:500}
.course-pass-intro>span{color:var(--ink-soft);font-size:.95rem}
.course-passes{display:flex;gap:10px;flex-wrap:wrap}
.course-passes span{border:1px solid #28312830;border-radius:999px;display:flex;gap:10px;align-items:center;padding:10px 15px;white-space:nowrap}
.course-passes b{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}

.private-insurance-note{background:#e6edf2;border-left:6px solid #7197b0;border-radius:0 14px 14px 0;margin:22px 0 34px;padding:16px 20px;color:#364d5c}
.private-insurance-note strong{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}

.massage-prices article{grid-template-columns:1fr minmax(220px,245px);align-items:center}
.massage-rate-list{margin:0;display:grid;gap:7px}
.massage-rate-list div{display:flex;justify-content:space-between;gap:22px;border-bottom:1px solid #6f5b4526;padding-bottom:5px}
.massage-rate-list div:last-child{border-bottom:0;padding-bottom:0}
.massage-rate-list dt{color:var(--ink-soft)}
.massage-rate-list dd{font-family:var(--serif);font-size:1.25rem;font-weight:500;margin:0;white-space:nowrap}
.insurance-logos{background:#fff;border:1px solid #6f5b4521;border-radius:18px;display:grid;place-items:center;gap:13px;padding:17px}
.insurance-logos img{max-width:125px;max-height:62px;object-fit:contain}
.insurance-logos img:last-child{max-width:118px;max-height:72px}
.recognition a{margin-top:3px}

.form-consent{grid-column:1/-1!important;display:flex!important;flex-direction:row!important;align-items:center;gap:12px!important;letter-spacing:0!important;text-transform:none!important;font-weight:400!important}
.form-consent input{appearance:auto;width:18px!important;height:18px!important;margin:0;flex:0 0 auto}
.form-consent span{font-size:.9rem}
.form-consent a{text-decoration:underline;text-underline-offset:3px}
.footer-contact span{color:#ffffff88;font-size:.9rem}
.footer-social{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px}
.footer-social a{color:#fff;border-bottom:1px solid #ffffff66;padding-bottom:2px}
.footer-social a:hover,.footer-social a:focus-visible{border-color:#fff}
.footer-small a:hover,.footer-small a:focus-visible{text-decoration:underline;text-underline-offset:4px}
.cookie-settings-link{appearance:none;background:transparent;border:0;color:inherit;cursor:pointer;font:inherit;letter-spacing:inherit;padding:0}
.cookie-settings-link:hover,.cookie-settings-link:focus-visible{text-decoration:underline;text-underline-offset:4px}

.cookie-backdrop{position:fixed;inset:0;z-index:998;background:#17201766;backdrop-filter:blur(3px)}
.cookie-banner{position:fixed;z-index:999;left:24px;right:24px;bottom:24px;margin:auto;max-width:850px;background:var(--white);border:1px solid var(--line);border-radius:24px;box-shadow:0 30px 90px #1f281f4a;padding:28px}
.cookie-banner .mini-label{margin-bottom:8px}
.cookie-banner h2{font-size:2.15rem;margin-bottom:12px}
.cookie-banner p{color:var(--ink-soft);margin-bottom:20px}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.cookie-actions .button{cursor:pointer}
.cookie-details{background:var(--off-white);border:1px solid var(--line);border-radius:14px;margin:18px 0;padding:14px 16px}
.cookie-details p{margin:0;font-size:.95rem}
.cookie-legal{margin-left:auto;font-size:.86rem;text-decoration:underline;text-underline-offset:4px}

.legal-shell{min-height:100vh;background:var(--off-white)}
.legal-header{border-bottom:1px solid var(--line);background:#f6f4f1f2;position:sticky;top:0;z-index:10;backdrop-filter:blur(18px)}
.legal-header .container{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.legal-brand{width:min(255px,55vw)}
.legal-back{font-size:.82rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid}
.legal-main{padding:clamp(70px,9vw,120px) 0}
.legal-main .container{max-width:980px}
.legal-lead{font-family:var(--serif);font-size:clamp(3.1rem,7vw,6.3rem);line-height:1;margin-bottom:26px}
.legal-updated{color:var(--ink-soft);margin-bottom:54px}
.legal-section{border-top:1px solid var(--line);padding:34px 0}
.legal-section h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:18px}
.legal-section h3{font-size:1.5rem;margin:28px 0 10px}
.legal-section p,.legal-section li{color:var(--ink-soft)}
.legal-section ul{padding-left:22px}
.legal-section a{text-decoration:underline;text-underline-offset:4px}
.legal-contact-card{background:var(--blue-soft);border-left:7px solid #7197b0;border-radius:0 20px 20px 0;padding:26px 28px}
.legal-contact-card p{margin-bottom:6px}
.legal-contact-card p:last-child{margin-bottom:0}
.legal-footer{background:var(--green-deep);color:#fff;padding:34px 0}
.legal-footer .container{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.legal-footer a{text-decoration:underline;text-underline-offset:4px}

@media (width<=1080px){
  .hero-visual{min-height:650px}
  .hero-photo-regina{border-radius:220px 30px 20px 20px}
  .hero-photo-robert{border-radius:24px 170px 20px 20px}
  .course-footer{grid-template-columns:1fr auto}
  .course-footer .button{grid-column:1/-1;justify-self:start}
  .insurance-card{grid-template-columns:150px 1fr}
}

@media (width<=760px){
  .hero-visual{min-height:510px;grid-template-columns:1.08fr .92fr;gap:10px}
  .hero-visual .hero-photo{min-height:0}
  .hero-photo-regina{border-radius:150px 20px 16px 16px}
  .hero-photo-robert{height:78%!important;border-radius:18px 120px 16px 16px}
  .hero-photo figcaption{bottom:16px;left:14px;right:14px;gap:8px}
  .hero-photo figcaption span{font-size:1.35rem}
  .hero-photo figcaption p{font-size:.68rem}
  .schedule-intro{grid-template-columns:1fr;gap:12px;margin-top:-12px;padding:20px}
  .course-footer{display:flex;flex-direction:column;align-items:stretch}
  .course-passes{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .course-passes span{white-space:normal;display:block;text-align:center;border-radius:14px}
  .course-passes b{display:block;margin-bottom:3px}
  .course-footer .button{width:100%}
  .massage-prices article{grid-template-columns:1fr;gap:18px}
  .massage-rate-list{width:100%}
  .insurance-card{grid-template-columns:1fr}
  .insurance-logos{grid-template-columns:1fr 1fr}
  .cookie-banner{left:12px;right:12px;bottom:12px;border-radius:18px;padding:22px}
  .cookie-banner h2{font-size:1.75rem}
  .cookie-actions{display:grid;grid-template-columns:1fr 1fr}
  .cookie-actions .button{padding-inline:14px}
  .cookie-legal{grid-column:1/-1;margin:5px 0 0;text-align:center}
  .legal-header .container{min-height:78px}
  .legal-main{padding-top:58px}
}
