/* Membership comparison: scoped to the pricing page. */
.fc-memberships{color:#171717;background:#fff}
.fc-memberships h1,.fc-memberships h2,.fc-memberships h3{color:inherit}
.fc-memberships .eyebrow{font-size:11px;letter-spacing:.17em}
.fc-memberships p{line-height:1.7}
.fc-membership-hero{padding:68px 0 44px;background:#f6f6f4}
.fc-membership-topline{display:flex;align-items:center;justify-content:space-between;gap:24px}
.fc-membership-topline .eyebrow{margin:0}
.fc-preview-chip{border:1px solid #d7d7d4;border-radius:30px;padding:5px 11px;color:#5a5a58;font-size:11px;white-space:nowrap}
.fc-membership-hero h1{font-size:clamp(3.1rem,6.6vw,6rem);max-width:1020px;line-height:1.04;margin:34px 0 32px;letter-spacing:-.065em;font-weight:600}
.fc-membership-hero h1 span{color:#7b7b77}
.fc-membership-intro{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:35px}
.fc-membership-intro p{max-width:560px;font-size:18px;color:#555552;margin:0}
.fc-membership-intro .btn{flex-shrink:0}
.fc-membership-route{display:flex;align-items:center;gap:15px;border-top:1px solid #d9d9d5;padding-top:24px}
.fc-membership-route p{font-size:13px;color:#5b5b58;margin:0;max-width:930px}
.fc-membership-route strong{color:#202020}
.fc-route-dot{width:7px;height:7px;background:#222;border-radius:50%;flex-shrink:0}
.fc-plans-section{padding:76px 0}
.fc-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:36px}
.fc-section-heading h2{font-size:clamp(2rem,3.1vw,3rem);margin:0}
.fc-section-heading>p{font-size:13px;color:#777;max-width:320px;margin:0}
.fc-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.fc-plan{padding:0;border:1px solid #d9d9d9;border-radius:16px;overflow:hidden;background:white;transition:border-color .2s}
.fc-plan:hover{border-color:#666}
.fc-plan summary{padding:28px;list-style:none;display:block;position:relative}
.fc-plan summary::-webkit-details-marker{display:none}
.fc-plan summary:focus-visible{outline-offset:-5px}
.fc-plan-number{display:block;font-size:10px;letter-spacing:.12em;line-height:1.5;color:#757575;margin-bottom:24px}
.fc-plan h3{font-size:27px;font-weight:600;line-height:1.13;letter-spacing:-.045em;margin:0 0 24px}
.fc-plan-price{font:600 45px/1.1 Manrope,sans-serif;letter-spacing:-.06em;white-space:nowrap}
.fc-plan-price>span{font:400 12px/1.3 'DM Sans',sans-serif;letter-spacing:0;color:#777}
.fc-initial-price{font-size:12px;color:#555;line-height:1.5;margin-top:8px}
.fc-plan .fc-plan-audience{min-height:68px;font-size:14px;color:#646464;font-weight:400;line-height:1.65;margin:22px 0 21px}
.fc-plan-summary-foot{border-top:1px solid #e1e1e1;padding-top:19px;display:flex;gap:14px;align-items:center;justify-content:space-between;font-size:12px;line-height:1.5;font-weight:600}
.fc-details-symbol{font:400 22px/1 Manrope,sans-serif;transform:rotate(0deg);transition:transform .2s;flex-shrink:0}
.fc-plan[open] .fc-details-symbol{transform:rotate(45deg)}
.fc-plan-details{padding:0 28px 28px;font-size:13px}
.fc-plan-details>p{margin:0 0 18px;color:#646464}
.fc-plan-details ul{margin:0 0 24px;padding:0;list-style:none}
.fc-plan-details li{padding:9px 0 9px 20px;position:relative;line-height:1.55;color:#4a4a4a}
.fc-plan-details li:before{content:'✓';position:absolute;left:0;font-size:11px;color:#111}
.fc-goal-box,.fc-doctor-advantage,.fc-session-extra{border-radius:8px;background:#f4f4f4;padding:17px;margin:0 0 22px}
.fc-goal-box strong,.fc-doctor-advantage strong,.fc-session-extra strong{font-size:12px;display:block}
.fc-plan .fc-goal-box p,.fc-plan .fc-doctor-advantage p,.fc-plan .fc-session-extra p{font-size:12px;line-height:1.6;margin:8px 0 0}
.fc-goal-box .fc-sport-list{color:#777}
.fc-full-button{width:100%;padding:13px 14px;font-size:12px;gap:12px}
.fc-full-button span{margin-left:auto}
.fc-plan-details>small{display:block;color:#777;font-size:10px;line-height:1.65;margin-top:12px}
.fc-plan-fitness{background:#171717;border-color:#171717;color:white}
.fc-plan-fitness:hover{border-color:#171717}
.fc-plan-fitness .fc-plan-number{color:#b0b0b0}
.fc-plan-fitness .fc-plan-price>span,.fc-plan-fitness .fc-plan-audience,.fc-plan-fitness .fc-plan-details>p,.fc-plan-fitness .fc-plan-details li,.fc-plan-fitness .fc-plan-details>small,.fc-plan-fitness .fc-sport-list{color:#bebebe}
.fc-plan-fitness .fc-plan-summary-foot{border-color:#444}
.fc-plan-fitness .fc-goal-box{background:#292929}
.fc-plan-fitness .fc-plan-details li:before{color:#fff}
.fc-plan-fitness .btn{background:#fff;color:#111;border-color:#fff}
.fc-plan-fitness .btn:hover{background:#e0e0e0;border-color:#e0e0e0}
.fc-plan-fitness summary:focus-visible,.fc-plan-fitness a:focus-visible{outline-color:#fff}
.fc-plan-footnote{font-size:11px;color:#888;margin:22px 0 0;max-width:840px}
.fc-philosophy-band{background:#161616;color:#fff;padding:65px 0}
.fc-philosophy-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}
.fc-philosophy-band .eyebrow{color:#aaa}
.fc-philosophy-band h2{font-size:clamp(2rem,3.2vw,3.1rem);margin:0;line-height:1.15}
.fc-philosophy-band p{font-size:15px;color:#bbb}
.fc-philosophy-band a{display:inline-flex;gap:25px;font-size:13px;border-bottom:1px solid #555;padding-bottom:5px}
.fc-philosophy-band a:focus-visible{outline-color:white}
.fc-doctor-section{padding:90px 0}
.fc-doctor-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:78px;align-items:center}
.fc-doctor-photo{position:relative;background:#e4e4e4;border-radius:12px;overflow:hidden;height:610px}
.fc-doctor-photo img{height:100%;width:100%;object-fit:cover;object-position:42% 35%;filter:grayscale(100%)}
.fc-doctor-photo>span{position:absolute;bottom:25px;left:25px;right:25px;border:1px solid #ffffff70;padding:16px 19px;border-radius:5px;color:white;background:#0009;font-size:14px;letter-spacing:.02em}
.fc-doctor-copy h2{font-size:clamp(2.3rem,4vw,3.8rem);margin-bottom:20px}
.fc-doctor-copy .fc-doctor-role{font-size:12px;letter-spacing:.03em;color:#777;margin-bottom:24px}
.fc-doctor-copy>p{font-size:15px;color:#636363}
.fc-doctor-copy .fc-bio-source{font-size:12px;white-space:normal;text-decoration:underline;text-underline-offset:3px}
.fc-doctor-values{margin:26px 0 30px;border-top:1px solid #ddd}
.fc-doctor-values>div{display:flex;gap:22px;padding:18px 0;border-bottom:1px solid #ddd}
.fc-doctor-values>div>span{font-size:11px;color:#888;margin-top:4px}
.fc-doctor-values strong{font-size:14px}
.fc-doctor-values p{font-size:12px;color:#777;margin:5px 0 0}
.fc-process-section{padding:72px 0 78px;background:#f6f6f4}
.fc-process-section h2{font-size:clamp(2rem,3.5vw,3.4rem)}
.fc-process-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin:42px 0 45px}
.fc-process-flow>div{border-top:1px solid #cacac7;padding-top:20px}
.fc-process-flow>div>span{font-size:12px;color:#858582}
.fc-process-flow h3{font-size:19px;letter-spacing:-.03em;margin:19px 0 10px}
.fc-process-flow p{font-size:13px;color:#686865;margin:0}
.fc-video-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.fc-video-slot{min-height:290px;background:#e9e9e5;border:1px solid #deded8;border-radius:10px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;gap:34px;position:relative;overflow:hidden}
.fc-video-slot:after{content:'';position:absolute;right:-54px;top:50px;width:220px;height:220px;border:1px solid #d1d1ca;border-radius:50%;pointer-events:none}
.fc-video-slot .fc-video-number{font-size:10px;letter-spacing:.13em;color:#787871;position:relative;z-index:1}
.fc-video-slot h3{font-size:24px;margin:0 0 9px;max-width:300px;position:relative;z-index:1}
.fc-video-slot p{font-size:12px;color:#76766f;margin:0;position:relative;z-index:1}
.fc-video-caption{font-size:11px;color:#75756e;max-width:345px;position:relative;z-index:1}
.fc-membership-close{padding:65px 0}
.fc-membership-close .wrap{display:flex;align-items:center;justify-content:space-between;gap:36px}
.fc-membership-close h2{font-size:2.6rem;margin-bottom:15px}
.fc-membership-close p{font-size:14px;color:#717171;max-width:500px;margin:0}
.fc-membership-close .actions{flex-shrink:0}
@media(min-width:1001px){.fc-plan:not(.fc-plan-fitness) summary{min-height:352px}.fc-plan:not(.fc-plan-fitness) .fc-plan-audience{min-height:68px}.fc-plan:not(.fc-plan-fitness):has(.fc-initial-price) .fc-plan-audience{margin-top:4px}}
.fc-adaptive-section{background:#111;color:#fff;padding:76px 0 68px}.fc-adaptive-intro{max-width:790px}.fc-adaptive-intro h2{font-size:clamp(2.25rem,4vw,3.4rem);margin:8px 0 16px}.fc-adaptive-intro .eyebrow{color:#ccc}.fc-adaptive-intro>p{max-width:700px;color:#ddd}.fc-adaptive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:32px 0}.fc-adaptive-grid article{border:1px solid #555;border-radius:12px;padding:25px}.fc-adaptive-grid article>span{font-size:11px;letter-spacing:.12em;color:#ccc}.fc-adaptive-grid h3{font-size:20px;margin:18px 0 10px}.fc-adaptive-grid p{font-size:14px;color:#ddd;margin:0}.fc-adaptive-note{border-top:1px solid #555;padding-top:19px;color:#ccc;font-size:13px;max-width:840px;margin:0}
@media(max-width:1050px){.fc-plan summary{padding:23px}.fc-plan-details{padding:0 23px 23px}.fc-plan h3{font-size:24px}.fc-plan-price{font-size:39px}.fc-doctor-grid{gap:40px}.fc-doctor-photo{height:575px}.fc-membership-intro{align-items:flex-start}.fc-membership-intro .btn{max-width:260px}.fc-membership-close .wrap{align-items:flex-start;flex-direction:column;gap:5px}}
@media(max-width:800px){.fc-plan-grid{grid-template-columns:1fr}.fc-plan summary{padding:26px}.fc-plan-details{padding:0 26px 26px}.fc-plan .fc-plan-audience{min-height:0}.fc-plan h3{font-size:29px}.fc-plan-price{font-size:44px}.fc-section-heading{align-items:flex-start;flex-direction:column;gap:18px}.fc-section-heading>p{max-width:none}.fc-membership-intro{flex-direction:column;gap:23px}.fc-membership-intro .btn{max-width:none}.fc-philosophy-grid{grid-template-columns:1fr;gap:30px}.fc-doctor-grid{grid-template-columns:1fr;gap:34px}.fc-doctor-photo{height:430px;max-width:540px}.fc-doctor-photo img{object-position:50% 31%}.fc-process-flow{grid-template-columns:1fr;gap:26px}.fc-process-flow>div{display:grid;grid-template-columns:35px 1fr;column-gap:10px}.fc-process-flow h3{margin:0 0 9px}.fc-process-flow p{grid-column:2}.fc-process-flow>div>span{margin-top:4px}.fc-video-grid{grid-template-columns:1fr}.fc-video-slot{min-height:270px}.fc-adaptive-grid{grid-template-columns:1fr}.fc-adaptive-section{padding:55px 0}.fc-plans-section,.fc-doctor-section{padding:55px 0}}
@media(max-width:500px){.fc-membership-hero{padding:37px 0 30px}.fc-membership-topline{align-items:flex-start;flex-direction:column;gap:12px}.fc-membership-hero h1{font-size:2.85rem;letter-spacing:-.06em;margin:26px 0}.fc-membership-intro p{font-size:16px}.fc-membership-route{align-items:flex-start}.fc-route-dot{margin-top:9px}.fc-membership-route p{font-size:12px}.fc-membership-close .actions{width:100%;flex-direction:column}.fc-membership-close .btn{width:100%}.fc-membership-close h2{font-size:2.2rem}.fc-doctor-photo{height:370px}.fc-plan-summary-foot{font-size:12px}}
@media print{.fc-memberships details{break-inside:avoid}.fc-plan-grid,.fc-doctor-grid,.fc-philosophy-grid{display:block}.fc-plan{margin-bottom:15px}.fc-plan-details{display:block!important}.fc-membership-hero,.fc-plans-section,.fc-doctor-section,.fc-process-section{padding:20px 0}.fc-video-grid{display:none}.fc-doctor-photo{height:280px;max-width:250px}.fc-membership-close{display:none}.fc-memberships h1{font-size:34px}}

/* Keep the membership introduction and actions readable at every width. */
.fc-membership-intro{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.8fr);align-items:start;gap:55px}.fm-intro-copy,.fm-intro-actions{min-width:0}.fc-membership-intro .fm-intro-copy .micro{font-size:13px;line-height:1.6;margin-top:16px}.fc-membership-intro .fm-intro-actions .actions{margin:0 0 14px;flex-direction:column;align-items:stretch}.fc-membership-intro .fm-intro-actions .btn{width:100%;max-width:none}.fc-membership-intro .fm-intro-actions .fm-preview-links{font-size:13px;line-height:1.7}@media(max-width:760px){.fc-membership-intro{grid-template-columns:1fr;gap:24px}}

.fc-plan-fitness .fc-pricing-terms p,.fc-plan-fitness .fc-pricing-terms small{color:#dedede}
.fc-pricing-terms strong:not(:first-child){margin-top:16px}
.fc-pricing-terms small{display:block;margin-top:12px;line-height:1.6}

/* Holiday offer: preserve the standard plan layout and make annual billing explicit. */
.fc-holiday-pricing{display:flex;flex-direction:column;gap:7px;white-space:normal}
.fc-holiday-pricing .fc-regular-price{font:400 19px/1.3 "DM Sans",sans-serif;letter-spacing:0;color:#bebebe;text-decoration-thickness:2px}
.fc-regular-price span{font-size:12px}
.fc-holiday-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px;color:#ff6b6b}
.fc-holiday-price span{font:400 12px/1.4 "DM Sans",sans-serif;letter-spacing:0}
.fc-holiday-label{font:700 14px/1.4 "DM Sans",sans-serif;letter-spacing:.03em;color:#ff6b6b}
.fc-plan-fitness .fc-annual-terms{font-size:12px;line-height:1.5;color:#dedede;margin:12px 0 0}
