/* REI content adaptation — retains the original editorial grid, motion and paper details. */
:root{--rei-ink:#264e42;--rei-muted:#5e6d64;--rei-paper:#f3f3ef}
html{scroll-padding-top:130px}
body{overflow-wrap:break-word}
[hidden]{display:none!important}
a[aria-disabled=true]{cursor:default;opacity:.65;text-decoration:none!important}
.cm-h__logo{margin-block:20px}
.cm-h__logoBody{width:min(340px,calc(100vw - 40px))}
.cm-h__logoBodyTarget{display:block}
.rei-logo{display:block;width:100%;height:auto;aspect-ratio:16/5;object-fit:contain}
html[data-loading] .cm-h__logoBody{top:0;left:0}
.rei-footer-logo{display:block;width:min(440px,100%);align-self:start}
.rei-header-note{color:#fff;align-self:center;justify-self:end;margin:0 26px 10px;font-size:14px;line-height:1.4}
.cm-h__infoTabItem .btn{width:auto;min-width:90px;padding-inline:18px;font-size:14px;line-height:1.4}
.cm-h__infoTabItem .btn:focus-visible{outline-offset:-3px}
.cm-h__navListItem{width:auto}
.cm-h__navList{gap:25px}
.cm-h__navListItem .target{white-space:nowrap;font-size:14px}
.rei-panel-body{padding:25px 4px 32px;max-height:60svh;overflow:auto;color:var(--rei-paper);font-size:16px;line-height:1.7}
.rei-panel-body p{margin-bottom:20px}
.rei-panel-links{display:grid;gap:0}
.rei-panel-links>a{display:block;border-bottom:1px solid #ffffff35;padding:18px 4px;font-size:20px}
.rei-panel-links span{display:block;font-size:14px;color:#b8c7bb;margin-top:4px}
.rei-contact-actions{display:grid;gap:14px;margin:18px 0 28px}
.rei-eyebrow{font-size:14px!important;letter-spacing:.1em;line-height:1.6;text-transform:uppercase;font-weight:500}
.rei-small{font-size:14px;line-height:1.7}
.rei-button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:52px;padding:14px 23px;background:var(--rei-ink);color:#fff;font-size:16px;line-height:1.5;letter-spacing:.025em;border:1px solid var(--rei-ink);border-radius:3px 8px 4px 6px;text-align:left;transition:background .2s}
.rei-button:hover{background:#386653}
.rei-button.is-light{background:var(--rei-paper);color:var(--rei-ink);border-color:var(--rei-paper)}
.rei-button.is-outline{background:transparent;color:inherit;border-color:currentColor}
.rei-text-link{display:inline-block;font-size:16px;line-height:1.6;border-bottom:1px solid currentColor;padding-bottom:5px;margin-top:16px}
.p-top__mv{position:relative}
.p-top__mvImg{height:100svh;min-height:800px;max-height:1200px}
.p-top__mvImg picture{display:block;height:100%}
.p-top__mvImg img{height:100%;min-height:100%;object-position:center 50%;filter:brightness(.64)}
.rei-hero-copy{position:absolute;z-index:1;left:12%;top:35%;color:#fff;max-width:650px}
.rei-hero-copy h1{font-size:clamp(60px,7vw,108px);line-height:1.05;margin:22px 0 24px}
.rei-hero-copy>p:not(.rei-eyebrow){font-size:18px;line-height:1.7;letter-spacing:.01em}
.rei-hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:30px}
.rei-hero-actions .rei-text-link{font-size:14px;margin:0}
.p-top__intro>.rei-eyebrow{text-align:center;color:var(--rei-muted);margin-bottom:25px}
.p-top__introTxt{font-size:16px;line-height:1.8;text-align:left}
.p-top__introTxtBody+p{margin-top:22px}
.p-top__introTxt:after{display:none}
.p-top__intro .en-intro{font-size:clamp(36px,4vw,54px);width:auto;text-align:center}
.p-top__pointListBlock .title{width:auto!important;max-width:90%;padding:10px;text-align:center}
.p-top__pointListBlock .txt{line-height:1.85}
.p-top__pointListBlock .largeimg{height:52vw;max-height:780px}
.p-top__pointListBlock .largeimg img,.p-top__pointListBlock .smallimg img{height:100%;width:100%;object-fit:cover}
.p-top__pointListBlock .smallimg{height:15vw;max-height:250px}
.p-top__pointTitle{width:100%;pointer-events:none}
.p-top__gallery{margin-top:100px}
.p-top__infoIntro{text-align:left}
.p-top__infoTitle{width:auto!important}
.rei-services{grid-column:5/-2;margin-top:60px;min-width:0}
.rei-service{display:grid;grid-template-columns:45px 1fr;gap:20px;padding:48px 0;border-top:1px solid #abc0b3}
.rei-service-index{font-size:16px;color:var(--rei-muted);line-height:2}
.rei-service h3{font-size:clamp(29px,3vw,43px);margin:16px 0 20px;line-height:1.2}
.rei-service p:not(.rei-eyebrow){font-size:17px;line-height:1.8;margin-top:16px;max-width:580px}
.rei-service p.rei-small{font-size:14px}
.rei-section{margin-top:160px}
.rei-section-heading{max-width:680px;margin:0 auto 70px;text-align:center}
.rei-section-heading h2,.rei-testimonials h2,.rei-booking h2{font-size:clamp(40px,5vw,72px);line-height:1.15;margin:20px 0 25px}
.rei-section-heading>p:not(.rei-eyebrow){max-width:570px;margin-inline:auto;font-size:18px;line-height:1.8}
.rei-training-grid,.rei-qual-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;max-width:1100px;margin:auto}
.rei-training-grid article{position:relative;padding-top:35px;border-top:1px solid #7b9586}
.rei-training-number{display:block;font-size:78px;color:#789888;line-height:1.2;margin-bottom:24px}
.rei-training-grid article:nth-child(2){margin-top:110px}
.rei-training-grid h3{font-size:38px;margin:18px 0 28px;line-height:1.2}
.rei-training-grid p:not(.rei-eyebrow),.rei-list{font-size:16px;line-height:1.8}
.rei-list{list-style:none;padding:0;margin-top:26px}
.rei-list li{padding:12px 0;border-bottom:1px solid #264e4226}
.rei-list strong{font-weight:600}
.rei-yoga{background:var(--rei-ink);color:#fff;padding:95px 0}
.rei-yoga-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%}
.rei-yoga figure{height:600px;overflow:hidden;transform:rotate(-3deg);margin:0 4%}
.rei-yoga figure img{width:100%;height:100%;object-fit:cover}
.rei-yoga h2{font-size:clamp(44px,5vw,72px);line-height:1.2;margin:25px 0 30px}
.rei-yoga h3{font-size:20px;margin-bottom:25px}
.rei-yoga p:not(.rei-eyebrow){font-size:17px;line-height:1.8;margin-bottom:24px}
.rei-yoga .rei-button{margin-top:16px}
.rei-package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5%;max-width:1120px;margin:auto}
.rei-package-grid article{padding:35px 20px 30px;border-block:1px solid #7b9586}
.rei-package-grid article:nth-child(2){margin-top:55px;margin-bottom:-55px}
.rei-package-count{display:flex;align-items:baseline;gap:15px;font-size:16px}
.rei-package-count .en-lettering{font-size:92px;line-height:1.2}
.rei-package-grid h3{font-size:36px;margin:20px 0}
.rei-package-grid article>p:not(.rei-package-count){font-size:16px;line-height:1.8;min-height:110px}
.p-top__connectTitle{width:auto;white-space:normal!important}
.p-top__connectTxt{font-size:17px;line-height:1.8}
.p-top__connectTxt p+p{margin-top:24px}
.rei-qual-grid h3{font-size:23px;line-height:1.4;margin-bottom:20px}
.rei-qual-grid .rei-list{margin:0}
.rei-testimonials{text-align:center}
.rei-testimonials .rei-eyebrow{color:var(--rei-muted)}
.rei-quotes{display:grid;grid-template-columns:1fr 1fr;gap:30px 65px;max-width:970px;margin:55px auto 0}
.rei-quotes blockquote{margin:0;padding:25px 0;border-top:1px solid #9bac9f;font-family:var(--english-display);font-size:25px;line-height:1.6;text-align:left}
.rei-quote-author{margin-top:24px;font-family:var(--english-body);font-size:16px;line-height:1.6;font-style:normal}
.p-top__faqTitle{position:static;width:auto!important;text-align:center;margin:0 auto 65px}
.p-top__faqTitle .en-lettering{writing-mode:horizontal-tb;font-size:clamp(42px,5vw,70px)}
.p-top__faqList{display:grid;grid-template-columns:1fr 1fr;gap:70px 100px;width:min(100%,1040px);margin:auto}
.p-top__faqListRow{grid-column:auto;grid-row:auto;margin:0!important;width:100%}
.p-top__faqListRow .body__txt{text-align:left;line-height:1.8}
.p-top__faqListRow .title{width:100%;padding:25px 20px}
.rei-booking{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;margin-bottom:140px}
.rei-booking>div>p:not(.rei-eyebrow){font-size:17px;line-height:1.8;margin:20px 0}
.rei-booking-card{border:1px solid #9bae9c;padding:45px;display:flex;flex-direction:column;align-items:stretch;gap:20px;background:#e8ede6}
.rei-booking-card h3{font-family:var(--english-display);font-size:32px;line-height:1.25}
.rei-booking-card .rei-small{font-size:14px!important}
.rei-booking-card .rei-text-link{align-self:start;margin:0}
.cm-f__visual{max-height:800px;overflow:hidden}
.cm-f__visualImg img{object-fit:cover;object-position:center 45%;filter:brightness(.75)}
.cm-f__visualSns .target__txt{font-size:16px;width:auto}
.rei-footer{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-block:70px 100px;font-size:16px;line-height:1.8}
.rei-footer .rei-small{grid-column:1/-1}
@media(min-width:751px) and (max-width:1000px){.cm-h__nav{top:160px}.p-top__info-top{display:block}.p-top__infoTitle .en-lettering{writing-mode:horizontal-tb}.p-top__infoTitle{position:static;margin:0 auto 40px;text-align:center}.p-top__infoIntro{margin:auto;width:90%}.rei-services{width:90%;margin:50px auto}.rei-header-note{display:none}.cm-h__info{width:440px}.rei-hero-copy{left:8%}}
@media(max-width:750px){
 html{scroll-padding-top:95px}
 .cm-h__info{grid-template-columns:1fr;width:min(350px,calc(100% - 32px));grid-template-rows:auto 1fr}
 .cm-h__infoTab{margin-right:8px;justify-content:center}
 .cm-h__infoTabItem{flex:1}
 .cm-h__infoTabItem .btn{width:100%;min-width:0;font-size:14px;height:38px;padding:6px 12px}
 .rei-header-note{display:none}
 .cm-h__infoMain{grid-row:2}
 .cm-h__nav{padding:15px 0}
 .cm-h__navList{gap:25px}
 .cm-h__navListItem .target{font-size:14px}
 .cm-modalblock__titleImg.en-lettering{font-size:27px;flex-shrink:1;text-align:center}
 .cm-modalblock__title{padding-inline:0}
 .rei-panel-body{font-size:16px;padding-top:15px;max-height:65svh}
 .rei-panel-links>a{font-size:19px}
 .rei-panel-body .rei-button{font-size:14px;padding:12px 14px;gap:10px}
 .p-top__mvImg{height:850px;min-height:100svh;max-height:none;padding-top:90px}
 .p-top__mvImg img{min-height:100%;object-position:60% center}
 .rei-hero-copy{left:24px;right:24px;top:clamp(225px,70vw,265px);max-width:none}
 .rei-hero-copy .rei-eyebrow{max-width:280px;font-size:14px!important;line-height:1.7}
 .rei-hero-copy h1{font-size:55px;line-height:1.03;margin:23px 0}
 .rei-hero-copy>p:not(.rei-eyebrow){font-size:16px;line-height:1.7}
 .rei-hero-copy>p br{display:none}
 .rei-hero-actions{gap:18px;margin-top:26px;align-items:start;flex-direction:column}
 .rei-button{font-size:16px;min-height:50px;padding:13px 18px;gap:14px}
 .p-top__intro{padding-top:80px}
 .p-top__intro .en-intro{font-size:38px}
 .p-top__introTxt{margin:28px 8px 0;font-size:16px}
 .p-top__introTxtBody{font-size:16px}
 .p-top__point{margin-top:100px}
 .p-top__pointTitle{margin-top:100px;width:100%}
 .p-top__pointTitle .en-lettering{font-size:42px}
 .p-top__pointList{gap:90px}
 .p-top__pointListBlock .largeimg{height:125vw;max-height:660px}
 .p-top__pointListBlock .smallimg{height:180px;max-height:none;margin:35px 35px 30px}
 .p-top__pointListBlock .title{max-width:100%;font-size:28px}
 .p-top__pointListBlock .txt{font-size:16px;margin-top:20px;text-align:left}
 .p-top__gallery{margin-top:70px}
 .p-top__info{margin-top:95px}
 .p-top__infoTitle .en-lettering{font-size:44px}
 .p-top__infoIntro{width:100%;margin:30px auto 0}
 .rei-services{margin-top:35px}
 .rei-service{grid-template-columns:25px 1fr;gap:12px;padding:32px 0}
 .rei-service h3{font-size:29px}
 .rei-service p:not(.rei-eyebrow){font-size:16px;line-height:1.8}
 .rei-service p.rei-small{font-size:14px}
 .rei-service .rei-text-link{font-size:14px}
 .rei-section{margin-top:90px}
 .rei-section-heading{margin-bottom:45px}
 .rei-section-heading h2,.rei-testimonials h2,.rei-booking h2{font-size:42px}
 .rei-section-heading>p:not(.rei-eyebrow){font-size:16px;line-height:1.8}
 .rei-training-grid,.rei-package-grid,.rei-qual-grid,.rei-quotes,.rei-booking{grid-template-columns:1fr;gap:40px}
 .rei-training-grid article:nth-child(2){margin-top:15px}
 .rei-training-number{font-size:65px}
 .rei-training-grid h3{font-size:32px}
 .rei-list{font-size:16px}
 .rei-yoga{padding:60px 0}
 .rei-yoga-grid{grid-template-columns:1fr;gap:55px}
 .rei-yoga figure{height:380px;margin:0 14px}
 .rei-yoga h2{font-size:46px;margin:20px 0 25px}
 .rei-yoga p:not(.rei-eyebrow){font-size:16px}
 .rei-yoga h3{font-size:20px}
 .rei-package-grid article{padding:25px 12px}
 .rei-package-grid article:nth-child(2){margin:0}
 .rei-package-grid article>p:not(.rei-package-count){min-height:0}
 .rei-package-count .en-lettering{font-size:74px}
 .p-top__connect{padding-top:95px}
 .p-top__connectTitle .en-lettering{font-size:43px;white-space:normal}
 .p-top__connectTxt{grid-column:1/-1;font-size:16px;line-height:1.8;margin-top:30px}
 .p-top__connectLink{grid-column:1/-1}
 .rei-qual-grid h3{font-size:21px}
 .rei-quotes{gap:10px;margin-top:30px}
 .rei-quotes blockquote{font-size:24px}
 .p-top__faq{margin-top:90px}
 .p-top__faqList{grid-template-columns:1fr;gap:40px;width:100%}
 .p-top__faqTitle{margin-bottom:35px}
 .p-top__faqListRow .title{padding:20px 16px}
 .p-top__faqListRow .title__txt{font-size:24px}
 .p-top__faqListRow .body__txt{font-size:16px}
 .rei-booking{margin-bottom:85px}
 .rei-booking>div>p:not(.rei-eyebrow){font-size:16px}
 .rei-booking-card{padding:28px 20px}
 .rei-booking-card .rei-button{font-size:14px}
 .rei-booking-card h3{font-size:30px}
 .cm-f__visual{height:520px}
 .cm-f__visualImg,.cm-f__visualImg picture,.cm-f__visualImg img{height:100%;width:100%}
 .rei-footer{grid-template-columns:1fr;gap:28px;padding-block:45px 105px;font-size:16px}
}
@media(prefers-reduced-motion:reduce){.rei-yoga figure{transform:none}}
/* Keep the supplied wide logo in its header slot after the loading animation. */
html:not([data-loading]) .cm-h__logoBody{transform:none!important;top:0!important;left:0!important}
.cm-h__infoTabItem .btn{box-sizing:border-box}
.rei-hero-copy{text-align:left;hyphens:none}
.rei-hero-copy h1{text-align:left}
.rei-section,.rei-services{hyphens:none}
.rei-services{position:relative;z-index:1}
@media(min-width:751px){.cm-h__navList{width:max-content;margin-left:auto;background:var(--rei-paper);padding:8px 16px;border-radius:4px}}
body{hyphens:none}
/* The inherited navigation switches to a bottom bar before the phone breakpoint. */
@media(min-width:751px) and (max-width:1000px){
 .cm-h__logo{margin-block:16px}
 .cm-h__logoBody{width:300px}
 .cm-h__nav{top:auto;bottom:0;height:auto;padding:12px 0;background:var(--rei-paper)}
 .cm-h__navList{margin-inline:auto;padding:0}
 .cm-h__info{grid-template-columns:1fr}
 .cm-h__infoTab{justify-content:center;margin-right:10px}
 .cm-h__infoMain{grid-row:2}
 .rei-footer{padding-bottom:100px}
}

/* Supplied founder portrait, paired with the existing editorial lettering. */
.rei-portrait{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:#dce4dc;color:var(--rei-ink);overflow:hidden}
.rei-portrait img{display:block;width:100%;height:100%;max-height:650px;aspect-ratio:1365/2048;object-fit:cover;object-position:center 30%}
.rei-portrait figcaption{padding:40px;font-size:clamp(36px,4.5vw,70px);line-height:1.2}
@media(max-width:750px){.rei-portrait{grid-template-columns:1fr;margin-right:0}.rei-portrait img{height:auto;max-height:none;object-fit:contain}.rei-portrait figcaption{padding:32px 25px;font-size:40px}}

/* Supplied studio photography and the Soma Ritual brochure content. */
.rei-soma-intro{display:grid;grid-template-columns:1.15fr 1fr;gap:7%;align-items:center;max-width:1200px;margin:auto}
.rei-soma-intro figure{margin:0;transform:rotate(-2deg)}
.rei-soma-intro img{display:block;width:100%;height:auto}
.rei-soma-intro h3{font-size:clamp(38px,4vw,58px);line-height:1.15;margin:20px 0}
.rei-soma-intro p:not(.rei-eyebrow){font-size:17px;line-height:1.8;margin:20px 0}
.rei-soma-intro p.rei-soma-price{font-size:30px;font-weight:500;color:var(--rei-ink)}
.rei-soma-price span{display:block;font-size:14px;font-weight:400}
.rei-soma-steps{display:grid;grid-template-columns:1fr 1fr;gap:45px 8%;list-style:none;padding:0;max-width:1100px;margin:90px auto 0}
.rei-soma-steps li{padding-top:25px;border-top:1px solid #9bac9f}
.rei-soma-steps h3{font-size:34px;line-height:1.2;margin:18px 0}
.rei-soma-steps li>p:last-child{font-size:16px;line-height:1.8}
.rei-certificates{max-width:1000px;margin:70px auto 0}
.rei-certificates img{display:block;width:100%;height:auto}
.rei-certificates figcaption{margin-top:18px;color:var(--rei-muted)}
.rei-certificates .rei-text-link{font-size:14px;margin:0 0 0 12px}
@media(max-width:750px){.rei-soma-intro,.rei-soma-steps{grid-template-columns:1fr}.rei-soma-intro{gap:35px}.rei-soma-intro figure{margin:0 5px}.rei-soma-intro h3{font-size:42px}.rei-soma-intro .rei-button{font-size:14px;gap:12px}.rei-soma-steps{margin-top:55px;gap:35px}.rei-certificates{margin-top:45px}.rei-certificates .rei-text-link{display:block;width:max-content;margin:12px 0 0}}

.rei-yoga figure.rei-yoga-video{height:auto;overflow:visible;transform:none;margin:0}
.rei-yoga-video video{display:block;width:100%;height:auto;background:#111}
.rei-yoga-video figcaption{margin-top:18px;line-height:1.7;color:#e2e9e3}
.rei-yoga-video figcaption a{text-decoration:underline;text-underline-offset:4px}

/* Preserve the moving gallery while showing supplied group photos uncropped. */
.rei-learning-gallery{position:relative;z-index:1}
.rei-learning-gallery .p-top__gallerySliderItem{width:min(720px,78vw);height:auto;aspect-ratio:3/2;font-size:16px}
.rei-learning-gallery .p-top__gallerySliderItem img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.rei-learning-gallery .rei-section-heading{max-width:760px}
.rei-learning-gallery .rei-section-heading .rei-small{font-size:14px}
.rei-gallery-context{max-width:920px;margin:35px auto 0;text-align:center;font-size:16px;line-height:1.8}
.rei-gallery-context a{text-decoration:underline;text-underline-offset:4px}
.rei-gallery-context .rei-small{margin-top:12px;color:var(--rei-muted)}
@media(max-width:750px){.rei-learning-gallery .p-top__gallerySliderItem{width:88vw;font-size:16px}.rei-gallery-context{margin-top:25px}.rei-learning-gallery .rei-section-heading{margin-bottom:35px}}
