/* Correct portrait crop outside the roster; the source has a top/bottom banner. */
.editorial-hero>img[data-aimee-portrait],.foundations-photo>img[data-aimee-portrait]{transform:scale(1.25);object-position:center 42%}
.program-coach-photo{height:200px;aspect-ratio:auto;align-self:start}
/* Tablet: enough room for large type, deliberate imagery, and touch navigation. */
@media (min-width:601px) and (max-width:1366px){
 .gritt-nav{grid-template-columns:1fr auto;gap:20px;padding:24px 5%}
 .gritt-time{display:none}.gritt-nav .gritt-nav-cta{grid-column:2;grid-row:1;min-height:52px;min-width:220px}
 .gritt-nav nav{grid-column:1/-1;grid-row:2;flex-direction:row;align-items:center;gap:clamp(18px,3vw,42px);flex-wrap:wrap}
 .gritt-nav nav>a,.gritt-program-menu summary{min-height:44px;display:flex;align-items:center;font-size:13px}
 .gritt-program-links{left:0;max-width:calc(100vw - 60px);gap:3px}
 .gritt-nav .gritt-program-links a{min-height:44px;display:flex;align-items:center}
 main section>*,.team-grid>*,.program-panel>*,.p-feature>*,.pricing-grid>*,.flex-grid>*,.footer-main>*{min-width:0}
 .home-rebuild .opening{min-height:760px;height:100svh}
 .home-rebuild .opening h1{left:45%;right:5%;font-size:9.2vw;bottom:60px}
 .home-rebuild .opening-note{font-size:26px;max-width:36%;bottom:60px}
 .program-panel{height:auto;min-height:0;grid-template-columns:1fr;padding:20px;gap:24px}
 .program-panel img,.program-coach-photo{height:260px;min-height:0;width:100%}
 .program-panel h3{font-size:clamp(30px,3.5vw,46px)}.program-panel>div{gap:24px}
 .program-panel p{font-size:17px;line-height:1.35}.program-panel:nth-child(3){width:100%;grid-column:auto}
 .program-panel:last-child{grid-column:1/-1;width:calc(50% - 10px);justify-self:center}
 .home-rebuild .team{grid-template-columns:1fr;gap:60px}.team>div:first-child{max-width:660px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px}
 .profile-copy h2{font-size:8vw;margin-bottom:55px}.profile-copy h3{font-size:26px}.profile-copy>p:last-child{font-size:18px;line-height:1.4}
 .p-intro{gap:30px 5%;padding-block:100px}.p-intro>p{font-size:21px}
 .p-feature{gap:6%;padding-block:75px 100px}.p-feature-copy h2{font-size:5.2vw}.p-feature-image{height:560px}
 .p-process,.p-rates,.p-faq{gap:7%;padding-block:95px}.p-process h2{font-size:5vw}.p-process h3{font-size:28px}
 .p-triptych{gap:22px}.p-triptych figure{height:380px}.p-triptych article:nth-child(2){padding-top:65px}.p-triptych article:nth-child(3){padding-top:130px}
 .p-duo figure{height:520px}.p-duo figure:nth-child(2){height:460px;margin-top:100px}
 .p-pathways{grid-template-columns:1fr;gap:25px}.p-pathways a{min-height:48px}
 .p-footer,.footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.p-footer .p-logo{grid-column:1/-1}
 .footer-main a,.p-footer a{overflow-wrap:anywhere}
 .interior-page .editorial-hero-copy{gap:30px 5%;padding-top:210px}
 .editorial-intro{gap:60px 8%;min-height:0}.editorial-intro h2{font-size:6.5vw}
 .coach-directory article,.coach-directory article:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8%;padding-block:90px}
 .coach-directory h2{font-size:7vw}
 .path-grid{gap:35px}.path-grid h3{font-size:28px;overflow-wrap:break-word}
 .page-close{padding-block:110px;min-height:75svh}.page-close h2{font-size:10vw}
 .page-close>div{gap:35px;flex-wrap:wrap;margin-top:55px}
 .pricing-jumps{flex-wrap:wrap}.pricing-jumps a{min-width:40%;min-height:55px}
 .full-plans .pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
 .full-plans .price-card:last-child{grid-column:1/-1;max-width:600px;width:100%;justify-self:center}
 .full-plans .price-card{padding:35px 22px}.full-plans .price-card h3{font-size:32px}
 .full-plans .price-card .button{white-space:normal;text-align:left}
 .flex-grid{gap:30px}.flex-card{padding:30px 22px}.package-options{flex-wrap:wrap}.package-options button{flex:1 1 90px;min-height:48px}
 .foundation-inclusions,.flex-inclusions,.first-class-note{flex-wrap:wrap}.first-class-note .text-link{margin-left:0}
 .foundations-copy{padding:60px 7%}.foundations-copy h2{font-size:5.1vw}
 .join-page .journey{grid-template-columns:minmax(0,42%) minmax(0,58%)}
 .journey-world.has-profile{height:auto;min-height:100svh;position:relative;overflow:visible}
 .has-profile .journey-world-copy{padding:35px 7%}.gritt-profile svg{max-height:none}
 .journey .join-workspace{padding:45px 7% 80px}.journey #brief-stage h2{font-size:clamp(40px,4.5vw,60px)}
 .journey .choices{grid-template-columns:1fr}.journey .choice{min-height:80px;font-size:20px}
 .journey .brief-actions{flex-wrap:wrap}.journey .brief-actions .button{min-width:0;max-width:100%}
 .focus-shares{grid-template-columns:1fr}.gritt-profile .profile-insight{font-size:18px}
 .journey .brief-top{flex-wrap:wrap;gap:10px}.contact-link{overflow-wrap:anywhere}
}
@media (min-width:601px) and (max-width:1100px) and (orientation:portrait){
 .home-rebuild .opening h1{left:8%;right:5%;font-size:14vw;bottom:150px}.home-rebuild .opening-note{bottom:50px;max-width:80%}
 .home-rebuild .story-layout{grid-template-columns:1fr;gap:40px}.home-rebuild .story-layout h2{max-width:100%}
 .home-rebuild .facts{grid-template-columns:1fr 1fr;gap:60px 8%;padding-block:90px}
 .home-rebuild .profile{grid-template-columns:1fr;gap:45px}.home-rebuild .profile-copy h2{font-size:12vw}
 .home-rebuild .quote-grid{grid-template-columns:1fr;gap:55px}
 .p-hero{min-height:800px}.p-hero h1{font-size:11vw}
 .p-intro,.p-process,.p-rates,.p-faq{grid-template-columns:1fr;gap:35px}.p-intro>h2,.p-intro>p{grid-column:auto}
 .p-feature{grid-template-columns:1fr;gap:45px}.p-feature-image,.p-reverse .p-feature-image,.p-reverse .p-feature-copy{grid-column:auto;grid-row:auto}.p-feature-image{height:600px}.p-feature-copy h2{font-size:8vw}
 .p-process h2,.p-rates h2,.p-faq h2{font-size:8vw}
 .p-triptych{grid-template-columns:1fr;gap:65px}.p-triptych article:nth-child(n){padding-top:0}.p-triptych figure{height:590px}.p-triptych h3{font-size:38px}.p-triptych p{max-width:40ch}
 .p-close>div{flex-direction:column;align-items:start}.p-duo figure{height:430px}.p-duo figure:nth-child(2){height:380px}
 .interior-page .editorial-hero-copy{display:flex;flex-direction:column;justify-content:flex-end;padding:220px 6% 130px}
 .interior-page .editorial-hero h1{font-size:12vw}.editorial-intro{grid-template-columns:1fr;gap:40px}.editorial-intro h2{font-size:10vw}
 .path-grid,.visit-layout,.schedule-layout,.contact-grid{grid-template-columns:1fr;gap:55px}
 .full-plans .pricing-grid,.flex-grid,.foundations-block,.team-banner{grid-template-columns:1fr}
 .full-plans .price-card:last-child{max-width:none}.foundations-photo{min-height:580px}.foundations-copy h2{font-size:8vw}
 .section-heading{align-items:start;gap:30px;flex-direction:column}.plan-details{flex-wrap:wrap}
 .join-page .journey{display:block}.journey-world.has-profile{height:auto;min-height:0}.has-profile .journey-world-copy{padding:45px 8%}
 .gritt-profile svg{width:min(100%,580px);max-height:none}.focus-shares{grid-template-columns:1fr 1fr}
 .journey .join-workspace{padding:55px 8% 90px}.journey #brief-stage h2{font-size:56px}.journey .choices{grid-template-columns:1fr 1fr}
}

.program-coach-photo.roster-banner img{width:107.3%;height:122.56%;min-height:0}

/* Portrait crops preserve source proportions at every card size. */
.roster-banner img,.team-grid .roster-banner img,.program-coach-photo.roster-banner img,.portrait-window.portrait-banner img{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-width:none;object-fit:cover;object-position:50% 35%;transform:scale(1.25)!important;transform-origin:50% 35%}
/* Stat labels share a baseline without wrapping their decorative slash. */
.facts strong{white-space:nowrap}.facts .fact-all{font-size:clamp(54px,7.4vw,110px);display:flex;align-items:baseline;gap:.05em}.facts .fact-all span{font-size:.72em}
/* A short introduction with a compact, legible map. */
.join-page .journey{grid-template-columns:minmax(0,42%) minmax(0,58%)}
.join-page .journey-world.has-profile{position:sticky;top:0;align-self:start;height:auto;min-height:0;overflow:hidden}
.join-page .has-profile .journey-world-copy{padding:40px 7%}
.join-page .profile-caption strong{font-size:clamp(28px,3vw,42px);line-height:1.1}
.join-page .gritt-profile svg{width:100%;max-width:460px;max-height:38svh;margin:20px auto;overflow:visible}
.join-page .gritt-profile .profile-axis-labels{font-size:10px}
.focus-dot{fill:#a6e2ff;stroke:#0d344c;stroke-width:1.5}
.join-page .gritt-profile .profile-insight{min-height:0;font-size:17px;line-height:1.4;margin:0}
.join-page .focus-scale{font-size:13px;line-height:1.6;color:#9cb4c2;margin-top:14px}
.focus-edit{background:none;border:0;border-bottom:1px solid #51ade255;color:#78c9f7;padding:12px 0;font:700 15px Inter,Arial,sans-serif;cursor:pointer;margin-top:10px}
.join-page .journey .join-workspace{padding:45px 7% 65px}
.join-page .journey #brief-stage h2{font-size:clamp(38px,4.5vw,64px);line-height:1;margin-bottom:22px}
.join-page .journey .step-intro{font-size:19px;margin-bottom:28px}
.join-page .journey .brief-progress-track{margin-bottom:35px}
.join-page .journey .brief-field{margin:22px 0}
.join-page .journey .brief-field input,.join-page .journey .brief-field textarea{font-size:20px;padding:16px}
.join-page .journey .choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.join-page .journey .choice{min-height:74px;font-size:18px;line-height:1.3;padding:16px}
.join-page .journey .choice span{min-width:0}
.join-page .journey .brief-actions{margin-top:28px;flex-wrap:wrap;gap:18px}
.join-page .journey .brief-actions .button{min-width:0;font-size:16px;padding:18px 22px;white-space:normal;text-align:left}
.focus-adjust,.optional-support{margin:25px 0;border-block:1px solid #51ade235;padding:12px 0}
.focus-adjust summary,.optional-support summary{font-size:17px;font-weight:700;min-height:48px;color:#92d4fa}
.focus-adjust>p{font-size:15px;color:#adc4d1;line-height:1.5;margin:12px 0 24px}
.focus-slider{display:block;margin:20px 0}.focus-slider>span{display:flex;justify-content:space-between;gap:20px;font-size:17px;font-weight:700}.focus-slider output{color:#51ade2;white-space:nowrap}.focus-slider input{width:100%;height:44px;accent-color:#51ade2;cursor:pointer}
.join-page .focus-report{margin-block:25px}.join-page .focus-report h3{font-size:32px}.join-page .focus-report article{padding:18px 0}.join-page .focus-report article p{font-size:18px;line-height:1.45}.join-page .focus-report-note{font-size:17px}
@media(max-width:1100px) and (orientation:portrait), (max-width:650px){
 .join-page .journey{display:block}.join-page .journey-world.has-profile{position:relative;top:auto}
 .join-page .has-profile .journey-world-copy{padding:26px 6%}
 .join-page .gritt-profile{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;align-items:center}
 .join-page .profile-caption{grid-column:1}.join-page .profile-caption strong{font-size:28px}
 .join-page .gritt-profile svg{grid-column:2;grid-row:1/5;width:100%;max-height:250px;margin:0}
 .join-page .gritt-profile .profile-insight{font-size:15px;grid-column:1}.join-page .focus-scale{grid-column:1;font-size:12px;margin:0}.focus-edit{grid-column:1;justify-self:start;margin:0;font-size:14px}
 .join-page .journey .join-workspace{padding:35px 6% 65px}
}
@media(max-width:650px){.join-page .journey .choices{grid-template-columns:1fr}.join-page .gritt-profile{gap:12px}.join-page .profile-caption strong{font-size:23px}.join-page .profile-caption>span{font-size:10px}.join-page .gritt-profile svg{max-height:210px}.join-page .focus-scale{display:none}.join-page .journey #brief-stage h2{font-size:38px}}
