/* Approved September 17 copy, quote styling and FAQ refinements. */
.offer-hero-copy .recomp-hero-intro{margin-top:var(--sp-5)}
.offer-hero-copy .recomp-hero-intro .hero-description{margin-top:0}
.offer-hero-copy .recomp-hero-intro .hero-reassurance{color:var(--gold)}
.offer-hero-copy .recomp-hero-intro .hero-description+.hero-description{margin-top:var(--sp-3)}
.method-bridge,.early-proof{width:min(100%,1440px);margin-inline:auto;padding:var(--sp-10) 5%}
.method-bridge{display:block}
.method-opening h2{font-size:clamp(2.125rem,3vw,2.75rem);line-height:1.16;letter-spacing:-.035em}
.method-opening p,.method-points p{font:400 1rem/1.6 var(--ry-font-copy);color:var(--text-2)}
.method-opening p{margin-top:var(--sp-5);max-width:52ch}
.method-points{padding-top:var(--sp-1)}
.method-points>div{padding-block:var(--sp-5);border-bottom:1px solid var(--line)}
.method-points>div:first-child{padding-top:0}
.method-points>div:last-child{border-bottom:0}
.method-points .method-label{font:500 var(--ry-type-body)/1.5 var(--ry-font-copy);color:var(--gold);margin-bottom:var(--sp-2)}
.method-points h3,.proof-origin{font-size:1.375rem;line-height:1.3;letter-spacing:-.025em;margin-bottom:var(--sp-2)}
.early-proof{padding-top:var(--sp-4);padding-bottom:var(--sp-10)}
.proof-origin{font-size:var(--ry-type-hero);line-height:1.16;margin-bottom:var(--sp-6)}
.proof-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-10)}
.community-new-copy{font:400 1rem/1.6 var(--ry-font-copy);margin-top:var(--sp-5)}
.people-copy .community-intro{margin-top:var(--sp-5)}
@media(max-width:700px){
 .method-bridge,.early-proof{padding-inline:var(--sp-5)}
 .method-bridge{display:block;padding-top:var(--sp-9);padding-bottom:var(--sp-7)}
 .method-opening h2{font-size:2.125rem}
 .method-points{margin-top:var(--sp-7)}
 .proof-pair{grid-template-columns:1fr;gap:var(--sp-4)}
 .early-proof{padding-bottom:var(--sp-9)}
}

/* Shared quote style: applies to every quote-card, including future customer voices. */
.quote-card{margin:0;padding:var(--sp-4) var(--sp-6);border:1px solid var(--glass-border);border-radius:var(--r-lg);background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 1px 0 var(--glass-hover);display:flex;flex-direction:column;gap:0}
.method-quote,.inline-proof{margin-top:var(--sp-6);max-width:52ch}
.quote-card .quote-mark{display:block;font:500 3rem/1 var(--ff-display);height:var(--sp-7);color:var(--gold);margin:0;user-select:none}
.quote-card blockquote{font:italic 500 1.25rem/1.5 var(--ff-display);letter-spacing:-.02em;color:var(--text);margin:0;flex:1}
.quote-card figcaption{display:flex;align-items:center;justify-content:flex-end;text-align:right;gap:var(--sp-3);margin-top:var(--sp-3);padding-top:0;border-top:0;font:400 .75rem/1.5 var(--ry-font-copy);color:var(--text-3)}
.quote-card .quote-credit{display:block;min-width:0;line-height:1.25}
.quote-card .quote-credit strong{display:block;font-size:.875rem;font-weight:400;color:var(--text)}
.quote-card .quote-credit>span{display:block;color:var(--text-3);margin-top:var(--sp-1)}
@media(max-width:700px){.quote-card{padding:var(--sp-4) var(--sp-5)}}

/* Separate FAQ topics without changing the approved answer text. */
.questions details>p+p{padding-top:0;margin-top:var(--sp-4)}

/* User-approved wordmark enlargement: 20% at every existing breakpoint. */
@media(max-width:700px){.hero-product.ry-wordmark{font-size:clamp(2.175rem,10.2vw,2.55rem)}}
@media(min-width:701px){.offer-hero{--desktop-wordmark-size:clamp(3.6rem,6.66672vw,6rem)}}

/* Lower the lettering 1.5px while preserving the yellow label dimensions. */
.hero-product.ry-wordmark .ry-yourself{padding-top:calc(.22em + 1.5px);padding-bottom:calc(.26em - 1.5px)}

/* Original method photos from the book page, with the full portrait visible. */
.method-point{display:grid;grid-template-columns:minmax(0,1fr) 32%;gap:var(--sp-5);align-items:start}
.method-photo{display:block;width:100%;height:auto;aspect-ratio:3/4;border-radius:var(--r-md)}
@media(min-width:701px) and (max-width:1100px){
 .method-bridge{grid-template-columns:1fr;gap:var(--sp-8)}
 .method-opening p,.method-quote{max-width:65ch}
}
@media(min-width:701px) and (max-width:1100px){
 .method-point{grid-template-columns:minmax(0,1fr) min(32%,240px);gap:var(--sp-7)}
}
@media(max-width:700px){
 .method-photo{width:60%;justify-self:center}
 .method-point{grid-template-columns:1fr;gap:var(--sp-5)}
 .method-points>div{padding-block:var(--sp-7)}
 .method-points>div:first-child{padding-top:0}
}

/* Shared glass treatment for the programme and app previews. */
.membership-card,.program.journey,.membership-training-card,.companion-reply,.photo-question,.today{
 background:var(--glass);
 border-color:var(--glass-border);
 -webkit-backdrop-filter:blur(16px);
 backdrop-filter:blur(16px);
 box-shadow:inset 0 1px 0 var(--glass-hover);
}
/* A darker translucent tint keeps text readable over the meal and portrait. */
.photo-question,.today,.membership-card{background:color-mix(in srgb,var(--bg) 65%,transparent)}

/* Hide the four-pixel white strip embedded in the restaurant source photo. */
.method-photo[src$="method-essen.jpg"]{clip-path:inset(0 .75% 0 0 round var(--r-md))}

/* Compact mobile planner composition with a quieter background portrait. */
.evening-heading .planner-name{color:var(--gold)}
@media(max-width:700px){
 .evening{display:grid;grid-template-columns:minmax(0,1fr)}
 .evening-heading{grid-area:1/1}
 .evening-heading>p:last-child{margin-top:var(--sp-7)}
 .evening-photo-wrap{position:relative;grid-area:2/1;align-self:start;top:auto;bottom:auto;left:-6%;width:112%;height:570px}
 .evening .today{grid-area:2/1;align-self:start;margin-top:240px}
 /* Head starts just below the top edge at full strength; only the part behind the card fades. */
 .evening-photo-wrap{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,transparent,black 5%,black 75%,transparent);
  mask-image:linear-gradient(180deg,transparent,black 5%,black 75%,transparent);
 }
 .evening-photo-wrap:after{background:linear-gradient(0deg,var(--bg-3),transparent 50%)}
 .evening-photo{height:auto;min-height:660px;object-position:50% 0;transform:translateY(calc(28px - 13.5%))}
}

/* Companion dialogue follows the app preview, with the tilted meal as backdrop. */
.meal-stage{border-radius:var(--r-xl);overflow:hidden}
.photo-question{left:auto;right:var(--sp-5);width:82%;max-width:82%;border-radius:var(--r-xl);rotate:5deg}
.photo-question .camera{display:none}
.companion-reply{transform:none}
.companion-reply .reply-name{gap:var(--sp-3)}
.companion-reply .reply-name>img{width:72px;height:40px;flex:none;object-fit:contain}
.reply-identity{display:flex;flex-direction:column;gap:var(--sp-1);font:400 1rem/1.4 var(--ry-font-copy);color:var(--gold)}
.reply-identity .reply-status{font-size:.8125rem;color:var(--text-2)}
.companion-reply>p{margin-top:var(--sp-4);color:var(--text)}
.companion-reply>p.companion-followup{margin-top:var(--sp-3);color:var(--gold)}
@media(max-width:700px){
 .meal-stage{width:94%;height:320px;margin:var(--sp-8) auto 0}
 .photo-question{top:52%;right:var(--sp-3)}
 .companion-reply{margin-top:var(--sp-3)}
}

.companion-reply{background:color-mix(in srgb,var(--bg) 65%,transparent)}
@media(min-width:701px){
 .nutrition .meal-stage{width:min(50%,640px);height:560px;right:5%;top:var(--sp-11)}
 .nutrition .photo-question{rotate:8deg}
 .nutrition .companion-reply{margin-top:var(--sp-12);margin-right:5%}
}

/* Keep both faces visible in the new community portrait. */
.people-photo img{object-position:35% 40%}

/* Match the app's speaker avatar and let the response overlap the meal. */
.nutrition .photo-question{right:var(--sp-10);width:calc(100% - var(--sp-10) - var(--sp-3));max-width:none}
.companion-user-avatar{position:absolute;left:calc(100% + var(--sp-2));top:0;display:grid;place-items:center;width:var(--sp-8);height:var(--sp-8);border:1px solid var(--gold);border-radius:50%;background:var(--surface);color:var(--gold);font:500 .75rem/1 var(--ry-font-copy)}
@media(max-width:700px){.nutrition .companion-reply{margin-top:calc(-1 * var(--sp-7))}}
@media(min-width:701px){.nutrition .companion-reply{margin-top:var(--sp-11);margin-right:calc(5% + var(--sp-9))}}

/* Mobile community photo aligns with the text and focuses on both coaches. */
@media(max-width:700px){
 .people-photo{width:calc(100% - 2 * var(--sp-5));height:auto;margin:0 auto var(--sp-8)}
 .people-photo img{position:static;width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;object-position:15% 40%;border-radius:var(--r-md)}
 .people-photo:after{display:none}
 .people-photo figcaption{position:static;margin-top:var(--sp-3);text-align:center}
}

/* New header portrait: both faces clear of the left-side wordmark. */
@media(min-width:701px){
 .offer-hero-photo{width:70%;left:auto;right:0;object-position:center top;opacity:1}
 .offer-hero-shade{background:linear-gradient(90deg,var(--bg-3),color-mix(in srgb,var(--bg-3) 94%,transparent) 20%,color-mix(in srgb,var(--bg-3) 55%,transparent) 36%,transparent 57%),linear-gradient(0deg,var(--bg-3),transparent 30%)}
}
/* Wide screens: the copy ends left of the portrait, so the scrim can stop earlier. */
@media(min-width:1280px){
 .offer-hero-shade{background:linear-gradient(90deg,var(--bg-3),color-mix(in srgb,var(--bg-3) 94%,transparent) 20%,color-mix(in srgb,var(--bg-3) 55%,transparent) 36%,transparent 50%),linear-gradient(0deg,var(--bg-3),transparent 30%)}
}
@media(max-width:700px){.offer-hero-photo{left:var(--sp-7);object-position:10% top}}

/* Desktop portrait fades before the crossed legs and stool, on both sides. */
@media(min-width:701px){
 .evening-photo-wrap{
  -webkit-mask-image:linear-gradient(90deg,transparent,black 14%,black 58%,transparent),linear-gradient(180deg,transparent,black 16%,black 42%,transparent 68%);
  mask-image:linear-gradient(90deg,transparent,black 14%,black 58%,transparent),linear-gradient(180deg,transparent,black 16%,black 42%,transparent 68%);
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
 }
}

/* Fade the shifted header photo itself, so no image edge remains visible. */
@media(min-width:701px){
 .offer-hero-photo{-webkit-mask-image:linear-gradient(90deg,transparent,black 24%);mask-image:linear-gradient(90deg,transparent,black 24%)}
 .people-photo{height:auto;align-self:center;margin:var(--sp-8) var(--sp-8) var(--sp-8) 0}
 .people-photo img{position:static;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r-md)}
 .people-photo:after{display:none}
 .people-photo figcaption{position:static;margin-top:var(--sp-3);text-align:center}
 .membership>.section-intro,.program.journey{max-width:1100px;margin-inline:auto}
 .membership>.section-intro{display:block}
 .membership>.section-intro>p{max-width:58ch;margin-top:var(--sp-5)}
 .courses-compact{max-width:1100px}
 .courses-compact h2{font-size:2.625rem}
 .membership-course-fan{max-width:720px;margin-block:var(--sp-8)}
 .course-list{grid-template-columns:1fr 1fr;gap:var(--sp-7) var(--sp-9)}
 .course-list h3{font-size:1.5rem}
 .course-list p,.courses-note{font-size:1.125rem;line-height:1.6}
 .courses-note{margin-top:var(--sp-8)}
}
@media(max-width:700px){
 .offer-hero-photo{
  -webkit-mask-image:linear-gradient(90deg,transparent,black 12%),linear-gradient(180deg,black 45%,transparent 82%);
  mask-image:linear-gradient(90deg,transparent,black 12%),linear-gradient(180deg,black 45%,transparent 82%);
  -webkit-mask-composite:source-in;mask-composite:intersect;
 }
}

/* Written community support and the app's Live-Q&A each get their own visual. */
.people{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-10);max-width:1220px;margin-inline:auto;padding:var(--sp-11) var(--sp-8);align-items:start}
.people .people-copy{padding:0;min-width:0}
.people .people-photo{width:100%;height:auto;margin:var(--sp-6) 0 0}
.people .people-photo img{aspect-ratio:3/2}
.community-qa{min-width:0}
.community-qa>p{margin-top:var(--sp-5);font-size:1rem;line-height:1.7;color:var(--text-2)}
.community-call-preview{position:relative;overflow:hidden;border-radius:var(--r-md);margin-top:var(--sp-7);aspect-ratio:16/9}
.community-film{display:block;width:100%;height:100%;object-fit:cover}
.community-call-preview figcaption{position:absolute;inset:auto var(--sp-2) var(--sp-2);display:grid;grid-template-columns:1fr 1fr;pointer-events:none}
.community-call-preview figcaption span{justify-self:start;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm);background:var(--bg);color:var(--text);font:400 .75rem/1.4 var(--ry-font-copy)}
.community-qa .round-link{margin-top:var(--sp-7)}
@media(max-width:1000px){
 .people{grid-template-columns:1fr;max-width:760px;gap:var(--sp-10)}
}
@media(max-width:700px){
 .people{padding:var(--sp-9) var(--sp-5);gap:var(--sp-9)}
 .people .people-photo img{aspect-ratio:5/4}
 .community-qa h2{margin-top:0}
}

/* Decision-point CTAs all lead directly to the plan selection. */
.section-cta{margin-top:var(--sp-7)}
.early-proof>.section-cta{display:flex;width:fit-content;margin-inline:auto}
#tarife{scroll-margin-top:var(--sp-10)}
#tarife:focus{outline:none}
.mobile-start{display:none}
@media(max-width:700px){
 body{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
 .section-cta{width:100%}
 .early-proof>.section-cta{width:100%}
 /* Two-pixel overscan seals fractional viewport edges without changing visible padding. */
 .mobile-start:not([hidden]){display:block;position:fixed;z-index:40;inset:auto 0 -2px;padding:var(--sp-3) var(--sp-5) calc(var(--sp-3) + env(safe-area-inset-bottom) + 2px);background:var(--bg);box-shadow:0 -1px 0 var(--glass-border)}
 .mobile-start .gold-button{width:100%;margin:0}
}

/* Phase folders replace the tabs; any number can stay open. */
.program-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
.program-overview>.phase-video{position:relative;min-height:0;aspect-ratio:16/9}
.program-outline{min-width:0;padding:var(--sp-6)}
.program .program-phase{margin:0;padding:0;border:0;border-top:1px solid var(--line)}
.program-phase>summary{display:flex;align-items:center;gap:var(--sp-3);min-height:56px;list-style:none;cursor:pointer;font:500 1.375rem/1.3 var(--ff-display);letter-spacing:-.025em;color:var(--text)}
.program-phase>summary::-webkit-details-marker{display:none}
.program-phase>summary:focus-visible{outline-offset:-2px;border-radius:var(--r-sm)}
.program-phase[open]>summary,.program-phase-number{color:var(--gold)}
.program-phase-number{font-size:inherit}
.program-phase-chevron{width:20px;height:20px;flex:none;margin-left:auto}
.program-phase[open] .program-phase-chevron{transform:rotate(180deg)}
.program-phase>ol{margin:0;padding:0 0 var(--sp-4);list-style:none}
.program-phase li:first-child{border-top:0}
.program .program-phase li{font-size:1rem;line-height:1.55;border-color:var(--glass-border)}
.program .program-phase li>span{color:var(--text)}
.program-extras.program-extras-outside{max-width:1100px;margin:var(--sp-7) auto 0;padding:0;border:0;background:none;box-shadow:none;gap:var(--sp-6) var(--sp-9)}
.program-extras.program-extras-outside>div{padding:0;display:flex;align-items:flex-start;gap:var(--sp-3)}
.feature-more{display:inline-flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-3);margin-inline-start:calc(var(--sp-6) + var(--sp-3));color:var(--gold);font:500 1rem/1.5 var(--ry-font-copy);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em}
.feature-more:hover,.feature-more:focus-visible{text-decoration-color:currentColor}
@media(max-width:900px){.program-overview{grid-template-columns:1fr}}
@media(max-width:700px){.program-outline{padding:var(--sp-5)}}

/* Scan-friendly function descriptions, aligned with the title text. */
.included-item .feature-benefits{margin:var(--sp-3) 0 0;padding:0;list-style:none;color:var(--text-2);font:400 1rem/1.6 var(--ry-font-copy)}
.feature-benefits li+li{margin-top:var(--sp-2)}
.feature-benefits li{display:flex;align-items:flex-start;gap:var(--sp-4)}
.feature-benefits li>span{min-width:0;flex:1}

.membership-training-header{border-bottom:0}

.membership-training-table tbody th,.membership-training-table td{font-size:var(--ry-type-body)}

.membership-choice{border-top:0}

/* Keep the community photo close to the quieter hero palette. */
.people .people-photo img{filter:saturate(.9) brightness(.92) contrast(.98)}

/* No closing dividers below the features or above the offer. */
.included-list .included-item:last-child{border-bottom:0}
.offer-end.membership-offer{border-top:0}

/* Vector arrows keep the same appearance in Safari and other browsers. */
.direction-arrow{display:inline-block;width:1em;height:1em;vertical-align:-.125em;flex-shrink:0}

/* Desktop sections share the same outer edges and two-column rhythm. */
@media(min-width:1101px){
 main{
  --desktop-gutter:max(min(5vw,72px),calc((min(100vw,1440px) - 1120px)/2));
  --desktop-column-gap:var(--sp-9);
 }
 .method-bridge,.early-proof,.membership,.nutrition,.evening,.people,.courses,.offer-end,.questions{
  padding-inline:var(--desktop-gutter);
 }
 .membership>.section-intro,.program.journey,.program-extras.program-extras-outside,
 .courses-compact,.membership-offer .end-intro,.membership-card{max-width:none}
 .people{width:100%;max-width:none}
 .method-bridge,.people,.questions{grid-template-columns:repeat(2,minmax(0,1fr))}
 .method-bridge,.proof-pair,.included-list,.people,.course-list,.questions,
 .program-extras.program-extras-outside{column-gap:var(--desktop-column-gap)}
 .evening-heading{width:calc((100% - var(--desktop-column-gap))/2);margin-left:auto}
 .offer-hero-copy{margin-inline:var(--desktop-gutter)}
 .hero-product.ry-wordmark{left:calc(var(--desktop-gutter) - .465em)}
 .workout-copy{padding-left:var(--desktop-gutter);padding-right:var(--sp-8)}
 .workout-visual{padding-left:var(--sp-6);padding-right:var(--desktop-gutter);justify-content:flex-end}
 .nutrition{min-height:0}
}

/* Align community headings, copy and media; keep the quote below the photo. */
@media(min-width:1101px){
 .people{grid-template-rows:repeat(4,auto);row-gap:var(--sp-6)}
 .people .people-copy,.people .community-qa{
  display:grid;grid-template-rows:subgrid;grid-row:1/5;align-self:stretch;
 }
 .people .people-copy{grid-column:1}
 .people .community-qa{grid-column:2}
 .people .community-intro{display:contents}
 .people h2{grid-row:1;margin:0}
 .people .community-new-copy,.community-qa>p{grid-row:2;margin:0}
 .people .people-photo,.people .community-call-preview{grid-row:3;margin:0}
 .people .people-photo img{aspect-ratio:16/9}
 .people .inline-proof{grid-row:4;max-width:none;margin:0}
 .community-qa>.section-cta{grid-row:4;align-self:center;justify-self:start;margin:0}
}

/* Desktop payment options follow the full inclusion list. */
@media(min-width:1101px){
 .membership-choice{width:100%;max-width:none;margin:0;padding-top:var(--sp-7)}
 .membership-plans{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-5);align-items:stretch}
 .membership-plan,.membership-plan-annual{
  display:grid;grid-template-columns:16px minmax(0,1fr);align-content:start;
  align-items:start;column-gap:var(--sp-3);padding:max(var(--sp-4),1.5em) var(--sp-6) var(--sp-4);
 }
 .membership-plan input{margin-top:var(--sp-2)}
 .membership-plan-copy{gap:var(--sp-1)}
 .membership-plan-price{font-size:2rem}
 .membership-plan-price>span{font:400 1rem/1.5 var(--ry-font-copy)}
 .membership-choose{display:flex;width:min(100%,480px);margin:var(--sp-4) auto 0;min-height:52px;font-size:.875rem}
 .membership-terms{text-align:center}
 .membership-benefits{column-gap:var(--desktop-column-gap)}
 .included-list .included-item:last-child{border-bottom:1px solid var(--line)}
}

/* Approved consolidated offer: shared text edge for headings and benefits. */
.membership-benefits .benefit-group h4{color:var(--gold)}
.benefit-group strong{font-weight:500;color:var(--text)}
.benefit-group h4,.benefit-group .benefit-heading-icon,.benefit-group li{display:grid;grid-template-columns:var(--sp-6) minmax(0,1fr);align-items:start;gap:var(--sp-3)}
.benefit-group h4>span,.benefit-group li>span{grid-column:2;min-width:0}
.benefit-group h4>svg,.benefit-group li>svg{grid-column:1;grid-row:1}
.benefit-group .benefit-check{justify-self:center}
.offer-footer .legal-links{display:flex;flex-wrap:wrap;column-gap:var(--sp-5)}
.offer-footer .legal-links a{display:inline-flex;align-items:center;min-height:44px}
