/* Pilates 1.5.0. Every rule is scoped to this LP. */
.cf-pilates {
 --p-ink:#35252f; --p-muted:#68545f; --p-rose:#913b5c; --p-deep:#642a43;
 --p-soft:#fcf3f7; --p-line:#dec6d1; --p-green:#087d40;
 --p-chrome:linear-gradient(118deg,#b9849d 0%,#efd4e1 18%,#fffafd 32%,#d5acbe 49%,#fbeaf2 65%,#fff 74%,#c291a9 100%);
 background:#fff; color:var(--p-ink); font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
 font-size:16px; line-height:1.9; padding-bottom:calc(106px + env(safe-area-inset-bottom));
}
.cf-pilates *, .cf-pilates *::before, .cf-pilates *::after { box-sizing:border-box; }
.cf-pilates h1,.cf-pilates h2,.cf-pilates h3,.cf-pilates p,.cf-pilates figure { margin:0; }
.cf-pilates h1,.cf-pilates h2 { font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif; font-weight:600; letter-spacing:.02em; }
.cf-pilates h2 { font-size:clamp(1.5rem,6.5vw,2rem); line-height:1.65; text-wrap:balance; }
.cf-pilates h2 em,.cf-pilates h3 em { font-style:normal; color:var(--p-rose); }
.cf-pilates h3 { font-size:1.125rem; line-height:1.7; font-weight:700; }
.cf-pilates p,.cf-pilates li,.cf-pilates dd { overflow-wrap:anywhere; }
.cf-pilates img { display:block; max-width:100%; height:auto; }
.cf-pilates a { color:inherit; text-decoration:none; }
.cf-pilates ul,.cf-pilates ol { margin:0; padding:0; list-style:none; }
.cf-pilates [id] { scroll-margin-top:24px; }
.cf-pilates :focus-visible { outline:3px solid #642a43; outline-offset:5px; }
.cf-pilates .p-shell { width:calc(100% - 40px); max-width:1100px; margin-inline:auto; min-width:0; }
.cf-pilates .p-narrow { max-width:760px; }
.cf-pilates .p-section { padding-block:64px; }
.cf-pilates .p-soft { background:linear-gradient(125deg,#fffafd,#f6e8ef 43%,#fffafb 78%,#f6e8ef); }
.cf-pilates .p-kicker { display:flex; align-items:center; gap:10px; font-size:.8125rem; font-weight:700; color:var(--p-rose); letter-spacing:.08em; line-height:1.75; margin-bottom:16px; }
.cf-pilates .p-kicker::before { content:""; flex:0 0 24px; height:1px; background:var(--p-rose); }
.cf-pilates .p-note { font-size:.8125rem; line-height:1.8; color:var(--p-muted); }
.cf-pilates .p-note a { text-decoration:underline; text-underline-offset:4px; color:var(--p-deep); }
.cf-pilates .p-heading { margin-bottom:30px; }
.cf-pilates .p-heading>p:last-child:not(.p-kicker) { margin-top:20px; color:var(--p-muted); }
.cf-pilates .p-header { position:relative; z-index:2; background:#fff; border-bottom:3px solid transparent; border-image:var(--p-chrome) 1; }
.cf-pilates .p-header-inner { min-height:56px; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.cf-pilates .p-brand { flex:0 1 142px; min-width:100px; display:flex; align-items:center; min-height:44px; }
.cf-pilates .p-brand img { width:142px; }
.cf-pilates .p-header nav { display:flex; gap:16px; flex-shrink:0; }
.cf-pilates .p-header nav a { display:inline-flex; min-height:44px; align-items:center; font-size:.75rem; color:var(--p-muted); }
/* The hook remains selectable text over the genuine lesson photograph. */
.cf-pilates .p-hero { background:linear-gradient(120deg,#f6e5ee,#fff9fc 48%,#ead0df); padding-bottom:32px; }
.cf-pilates .p-hero-stage { position:relative; isolation:isolate; width:100%; max-width:1280px; height:clamp(490px,130vw,600px); margin-inline:auto; overflow:hidden; background:#eddce6; }
.cf-pilates .p-hero-photo { position:absolute; z-index:-3; inset:45px 0 0; }
.cf-pilates .p-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 0%; filter:brightness(1.12); }
.cf-pilates .p-hero-shine { position:absolute; z-index:-2; inset:0; background:linear-gradient(180deg,#faedf5 0%,#fdf5f9ed 12%,#f5e6f0ad 26%,#f8f0f700 43%,#f5e7ed00 57%,#fff9fcba 76%,#fceff6 93%,#e3becf 100%); }
.cf-pilates .p-hero-stage::after { content:""; position:absolute; z-index:-1; inset:auto 0 0; height:7px; background:var(--p-chrome); border-block:1px solid #ffffffa3; }
.cf-pilates .p-hero-copy { position:absolute; top:20px; left:20px; right:16px; }
.cf-pilates .p-location { display:flex; align-items:center; flex-wrap:wrap; gap:9px; font-size:.75rem; font-weight:700; letter-spacing:.045em; line-height:1.6; color:var(--p-deep); }
.cf-pilates .p-location span { border:1px solid #a96e87; padding:2px 7px; background:#fffbfbd9; }
.cf-pilates h1 { font-size:clamp(1.9rem,9.6vw,2.6rem); line-height:1.24; margin-top:12px; letter-spacing:.015em; text-shadow:0 1px 15px #fff; }
.cf-pilates h1>span { display:block; white-space:nowrap; }
.cf-pilates h1 em { color:var(--p-rose); font-style:normal; font-weight:700; }
.cf-pilates .p-hero-caption { position:absolute; left:20px; right:20px; bottom:21px; }
.cf-pilates .p-service-name { color:var(--p-deep); font-size:.8125rem; font-weight:700; line-height:1.65; letter-spacing:.06em; }
.cf-pilates .p-service-name strong { font-size:1.5rem; line-height:1.55; font-family:"Yu Mincho","Hiragino Mincho ProN",serif; letter-spacing:.09em; }
.cf-pilates .p-hero-lead { margin-top:5px; font-size:.8125rem; line-height:1.8; color:#4f3645; }
.cf-pilates .p-tags { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; margin-top:12px; max-width:410px; }
.cf-pilates .p-tags li { color:var(--p-deep); background:var(--p-chrome); box-shadow:inset 0 1px #fff,0 2px 3px #703c5012; border:1px solid #c297ae; padding:5px 2px; font-size:.75rem; line-height:1.6; text-align:center; font-weight:700; letter-spacing:.025em; }
.cf-pilates .p-hero-contact { max-width:720px; text-align:center; padding-top:18px; }
.cf-pilates .p-offer { border:1px solid #b67e98; background:#fff; box-shadow:0 8px 28px #80405a0d; overflow:hidden; width:100%; max-width:760px; margin-inline:auto; }
.cf-pilates .p-offer-heading { background:linear-gradient(110deg,#7d3552,#ac597b 55%,#813750); color:#fff; padding:7px 12px; display:flex; justify-content:center; align-items:center; gap:12px; line-height:1.7; }
.cf-pilates .p-offer-heading span { font-size:.6875rem; }
.cf-pilates .p-offer-heading strong { font-size:.875rem; letter-spacing:.08em; }
.cf-pilates .p-offer-main { display:flex; align-items:center; justify-content:center; gap:24px; padding:12px 14px 13px; color:var(--p-deep); background:var(--p-chrome); }
.cf-pilates .p-offer-main>p:first-child { text-align:left; font-size:.8125rem; line-height:1.7; }
.cf-pilates .p-offer-main>p:first-child strong { font-size:.9375rem; font-weight:700; }
.cf-pilates .p-discount { display:flex; gap:3px; align-items:center; font-family:Arial,sans-serif; color:#812c50; text-shadow:0 1px #fff; }
.cf-pilates .p-discount>strong { font-size:4.5rem; font-weight:600; letter-spacing:-.075em; line-height:1; }
.cf-pilates .p-discount>span { display:flex; flex-direction:column; font-size:1.25rem; font-weight:700; line-height:1.1; margin-left:5px; }
.cf-pilates .p-discount>span b:first-child { font-size:1.75rem; }
.cf-pilates .p-offer-perks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:8px 5px; background:linear-gradient(120deg,#fff,#fef4f9,#fff); }
.cf-pilates .p-offer-perks>p { text-align:center; color:var(--p-deep); font-size:.8125rem; font-weight:700; line-height:1.5; }
.cf-pilates .p-offer-perks>p+p { border-left:1px solid var(--p-line); }
.cf-pilates .p-offer-perks strong { font-size:1.5rem; margin-left:5px; font-family:Arial,sans-serif; }
.cf-pilates .p-offer-perks small { font-size:.8125rem; margin-left:2px; }
.cf-pilates .p-offer-perks span { display:block; font-size:.6875rem; color:var(--p-muted); font-weight:400; }
.cf-pilates .p-hero-contact>.p-contacts { margin-top:16px; }
.cf-pilates .p-contact-note { margin-top:12px; }
.cf-pilates .p-offer-terms { margin-top:4px; font-size:.75rem; }
.cf-pilates .p-offer-terms a { margin-left:4px; white-space:nowrap; }
.cf-pilates .p-contacts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; max-width:620px; margin-inline:auto; }
.cf-pilates .p-button { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:10px 20px 10px 9px; min-width:0; min-height:68px; border-radius:7px; border:1px solid; font-size:.9375rem; line-height:1.55; font-weight:700; transition:background .15s,box-shadow .15s; }
.cf-pilates .p-button strong { font-size:.875rem; }
.cf-pilates .p-button--line { color:#fff; background:linear-gradient(120deg,#0b8a48,#08763d); border-color:#08763d; box-shadow:0 4px 0 #035a2e,0 7px 12px #087d4012; }
.cf-pilates .p-button--web { color:var(--p-deep); background:linear-gradient(120deg,#fff,#fcf0f6); border-color:#a66d86; box-shadow:0 4px 0 #d4b1c2,0 7px 12px #913b5c0c; }
.cf-pilates .p-button .p-button-arrow { position:absolute; right:10px; font-size:.875rem; }
.cf-pilates .p-desktop-break { display:none; }
/* Problem and affinity: one clear set of concerns. */
.cf-pilates .p-concerns { background:#fff; }
.cf-pilates .p-concern-list { margin-top:28px; }
.cf-pilates .p-concern-list li { position:relative; border-bottom:1px solid var(--p-line); padding:17px 0 17px 30px; font-size:.9375rem; }
.cf-pilates .p-concern-list li::before { content:'✓'; position:absolute; left:0; top:19px; width:20px; height:20px; background:var(--p-chrome); border:1px solid #c8a0b4; color:var(--p-deep); font-size:.75rem; font-weight:700; line-height:18px; text-align:center; border-radius:50%; }
.cf-pilates .p-empathy { margin-top:27px; color:var(--p-muted); font-size:.9375rem; }
.cf-pilates .p-empathy strong { display:inline-block; color:var(--p-rose); margin-bottom:6px; font-size:1rem; }
/* Personalized method: room photograph, three specific teaching benefits. */
.cf-pilates #method { position:relative; border-block:1px solid #eddae4; }
.cf-pilates .p-method-layout { display:grid; gap:16px; }
.cf-pilates .p-room-photo { overflow:hidden; background:#fff; border:1px solid #dec2d0; box-shadow:10px 10px 0 #e9cfdc7a; }
.cf-pilates .p-room-photo img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.cf-pilates .p-room-photo figcaption { padding:16px 18px; font-size:.8125rem; color:var(--p-muted); }
.cf-pilates .p-room-photo figcaption strong { color:var(--p-deep); font-size:.9375rem; }
.cf-pilates .p-method-list li,.cf-pilates .p-trial-list li { display:grid; grid-template-columns:40px minmax(0,1fr); gap:14px; padding-block:24px; border-bottom:1px solid var(--p-line); }
.cf-pilates .p-number { font-family:Georgia,serif; font-size:2rem; line-height:1.3; font-style:italic; color:var(--p-rose); border-top:1px solid #b8869e; padding-top:6px; }
.cf-pilates .p-method-list p,.cf-pilates .p-trial-list p { margin-top:9px; color:var(--p-muted); font-size:.9375rem; }
.cf-pilates .p-method-future { margin-top:34px; padding:25px 18px; border-block:1px solid #cba6b9; background:linear-gradient(118deg,#ead2df99,#fff9fce6 40%,#eed2e1ab 80%,#fff); text-align:center; }
.cf-pilates .p-method-future p { font-size:.8125rem; color:var(--p-muted); margin-bottom:10px; }
.cf-pilates .p-method-future h3 { font-size:1rem; font-weight:600; line-height:1.9; }
.cf-pilates .p-section-contact { margin-top:34px; }
.cf-pilates .p-section-contact>p { text-align:center; margin-bottom:16px; font-size:.9375rem; }
/* Evidence stays clearly attributed to the existing posture-guidance sessions. */
.cf-pilates .p-swipe-guide { font-size:.75rem; text-align:right; margin-bottom:12px; color:var(--p-muted); }
.cf-pilates .p-swipe-guide span { margin-left:8px; }
.cf-pilates .p-results { display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; padding:0 0 14px; scrollbar-width:thin; scrollbar-color:#bc8199 #f8edf2; overscroll-behavior-x:contain; }
.cf-pilates .p-result { flex:0 0 90%; min-width:0; scroll-snap-align:start; border:1px solid var(--p-line); background:#fff; }
.cf-pilates .p-result-image { position:relative; background:#f6f0f3; }
.cf-pilates .p-result-image img { width:100%; height:auto; }
.cf-pilates .case-face-mask { width:10.5%; height:11%; top:20.5%; }
.cf-pilates .case-face-mask--before { left:17%; }
.cf-pilates .case-face-mask--after { left:67%; }
.cf-pilates .p-result-copy { padding:22px 18px; border-top:4px solid transparent; border-image:var(--p-chrome) 1; }
.cf-pilates .p-result-copy .p-kicker { margin-bottom:7px; }
.cf-pilates .p-result-copy>p:last-child { font-size:.9375rem; margin-top:10px; color:var(--p-muted); }
.cf-pilates .p-result-note { margin-top:14px; }
.cf-pilates .p-recommendation { position:relative; margin-top:34px; padding:26px 22px; border:1px solid var(--p-line); background:linear-gradient(118deg,#fff,#faf0f5 64%,#fff); }
.cf-pilates .p-recommendation>p:not(.p-kicker) { margin-top:12px; }
.cf-pilates .p-recommendation>p:not(.p-note):not(.p-kicker) { font-size:.9375rem; color:var(--p-muted); }
.cf-pilates .p-text-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:var(--p-rose); font-size:.875rem; text-decoration:underline; text-underline-offset:5px; font-weight:700; }
/* The campaign is visible before choosing a monthly plan. */
.cf-pilates #pricing { background:linear-gradient(140deg,#f5e5ee,#fff9fc 35%,#efd6e3 76%,#fbf1f6); }
.cf-pilates .p-campaign-note { margin:14px auto 0; max-width:760px; }
.cf-pilates .p-prices { display:grid; gap:20px; margin-top:30px; }
.cf-pilates .p-price { padding:24px; border:1px solid #cda6b9; background:#fff; box-shadow:0 8px 18px #70415608; }
.cf-pilates .p-price--featured { border:2px solid #a45f7e; padding:23px; background:linear-gradient(135deg,#fff 55%,#fcecf4); }
.cf-pilates .p-price h3 { display:flex; align-items:center; gap:12px; font-size:1.5rem; color:var(--p-deep); }
.cf-pilates .p-price h3 span { font-size:.8125rem; color:var(--p-muted); font-weight:400; }
.cf-pilates .p-price-top { padding-bottom:16px; border-bottom:1px solid var(--p-line); }
.cf-pilates .p-price-top>p { font-size:.875rem; color:var(--p-muted); margin-top:5px; }
.cf-pilates .p-price-label { display:flex; align-items:center; gap:9px; color:var(--p-rose); font-size:.8125rem; font-weight:700; margin-top:17px; }
.cf-pilates .p-price-label span { font-family:Arial,sans-serif; font-size:.75rem; color:#fff; background:var(--p-rose); padding:2px 6px; line-height:1.5; }
.cf-pilates .p-price-before { color:var(--p-muted); font-size:.8125rem; margin-top:10px; }
.cf-pilates .p-price-before s { text-decoration-thickness:1px; }
.cf-pilates .p-price-value { display:flex; flex-wrap:wrap; align-items:baseline; gap:7px; line-height:1.4; margin-top:0; }
.cf-pilates .p-price-value strong { font-family:Arial,sans-serif; font-size:2.625rem; font-weight:600; color:var(--p-rose); letter-spacing:-.04em; }
.cf-pilates .p-price-value span { font-size:.75rem; }
.cf-pilates .p-price-saving { margin-top:10px; padding:7px 6px; background:var(--p-chrome); color:var(--p-deep); text-align:center; font-size:.8125rem; }
.cf-pilates .p-price-saving strong { font-size:1rem; }
.cf-pilates .p-price-regular { font-size:.75rem; padding-top:12px; margin-top:12px; color:var(--p-muted); }
.cf-pilates .p-price-conditions { margin-top:14px; }
.cf-pilates .p-bonus { display:flex; align-items:center; gap:12px; border-block:1px solid #cda6b9; margin-top:24px; padding:17px 0; }
.cf-pilates .p-bonus>span { font-size:1.6rem; color:var(--p-rose); }
.cf-pilates .p-bonus p { font-size:.875rem; }
.cf-pilates .p-trial-list li:first-child { padding-top:0; }
.cf-pilates .p-trial-reassurance { margin-top:28px; padding:20px; border-left:3px solid #b57b95; background:var(--p-soft); font-size:.9375rem; }
/* FAQ and access. No empty map frame is reserved. */
.cf-pilates .p-faq { display:grid; gap:12px; }
.cf-pilates .p-faq details { background:#fff; border:1px solid var(--p-line); }
.cf-pilates .p-faq summary { position:relative; list-style:none; cursor:pointer; padding:20px 38px 20px 16px; font-size:1rem; font-weight:700; line-height:1.75; display:grid; grid-template-columns:25px minmax(0,1fr); gap:7px; }
.cf-pilates .p-faq summary::-webkit-details-marker { display:none; }
.cf-pilates .p-faq summary>span { font-family:Georgia,serif; color:var(--p-rose); }
.cf-pilates .p-faq summary::after { content:'＋'; position:absolute; right:13px; top:20px; color:var(--p-rose); }
.cf-pilates .p-faq details[open] summary::after { content:'−'; }
.cf-pilates .p-faq-answer { padding:0 18px 20px; color:var(--p-muted); font-size:.9375rem; }
.cf-pilates .p-access-layout { display:grid; gap:28px; }
.cf-pilates .p-storefront { position:relative; overflow:hidden; border:1px solid var(--p-line); }
.cf-pilates .p-storefront img { width:100%; height:290px; object-fit:cover; object-position:50% 55%; }
.cf-pilates .p-storefront figcaption { position:absolute; bottom:12px; left:12px; padding:5px 12px; background:#fffffff0; color:var(--p-ink); font-size:.8125rem; }
.cf-pilates .p-store-info h3 { font-size:1.2rem; }
.cf-pilates .p-store-info dl { margin:20px 0; }
.cf-pilates .p-store-info dl>div { display:grid; grid-template-columns:4em minmax(0,1fr); gap:12px; border-top:1px solid var(--p-line); padding:16px 0; }
.cf-pilates .p-store-info dt { color:var(--p-rose); font-size:.875rem; font-weight:700; }
.cf-pilates .p-store-info dd { margin:0; font-size:.9375rem; }
.cf-pilates .p-map-link { min-height:52px; border:1px solid #b57b95; color:var(--p-deep); background:linear-gradient(115deg,#fff,#f7e7ef); padding:14px 16px; display:flex; gap:10px; align-items:center; justify-content:space-between; font-size:.875rem; font-weight:700; }
.cf-pilates .p-related { display:grid; gap:12px; margin-top:44px; border-top:1px solid var(--p-line); padding-top:26px; }
.cf-pilates .p-related h3 { font-size:1rem; }
.cf-pilates .p-related p:not(.p-kicker) { margin-top:10px; color:var(--p-muted); font-size:.875rem; }
.cf-pilates .p-related .p-kicker { font-size:.75rem; }
.cf-pilates .p-final { text-align:center; border-block:1px solid #d4aebf; background:linear-gradient(130deg,#ddb5ca,#fff7fc 31%,#f3dce9 63%,#e2bcd1 87%,#fff7fc); }
.cf-pilates .p-final .p-kicker { justify-content:center; }
.cf-pilates .p-final h2 { font-size:clamp(1.4rem,6.15vw,2rem); }
.cf-pilates .p-final-lead { margin-top:20px; font-size:.9375rem; }
.cf-pilates .p-final .p-offer { margin-top:30px; }
.cf-pilates .p-final-terms { margin:12px 0 22px; font-size:.75rem; }
.cf-pilates .p-final-terms a { display:inline-block; }
.cf-pilates .p-final>.p-shell>.p-note:last-child { margin-top:10px; }
.cf-pilates .p-footer { padding:34px 0; background:#fff; text-align:center; }
.cf-pilates .p-footer img { width:160px; margin:0 auto 14px; }
.cf-pilates .p-footer p,.cf-pilates .p-footer a { font-size:.8125rem; color:var(--p-muted); }
.cf-pilates .p-footer a { display:inline-flex; align-items:center; min-height:44px; margin-top:8px; text-decoration:underline; text-underline-offset:4px; }
/* Compact, two-channel contact bar. Hidden while a full inline pair is visible. */
.cf-pilates .p-sticky { position:fixed; z-index:100; bottom:0; left:0; right:0; width:100%; padding:5px max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); background:#fffafdf5; border-top:1px solid #d9b6c8; box-shadow:0 -5px 18px #5121340d; backdrop-filter:blur(12px); }
.cf-pilates .p-sticky-offer { display:flex; justify-content:center; align-items:center; gap:6px; font-size:.6875rem; color:var(--p-deep); line-height:1.6; padding:0 0 5px; }
.cf-pilates .p-sticky-offer strong { font-size:.8125rem; }
.cf-pilates .p-sticky .p-button { min-height:51px; padding-block:4px; font-size:.8125rem; }
.cf-pilates .p-sticky .p-button strong { font-size:.8125rem; }
.cf-pilates .p-sticky[hidden] { display:none!important; }
@media (hover:hover) {
 .cf-pilates .p-button--line:hover { background:#056732; }
 .cf-pilates .p-button--web:hover,.cf-pilates .p-map-link:hover { background:#f9e5ef; }
 .cf-pilates .p-text-link:hover { color:#642a43; }
}
@media (max-width:359px) {
 .cf-pilates .p-shell { width:calc(100% - 32px); }
 .cf-pilates .p-header nav { gap:9px; }
 .cf-pilates .p-header nav a { font-size:.6875rem; }
 .cf-pilates .p-brand { flex-basis:124px; }
 .cf-pilates .p-hero-copy { left:16px; top:17px; }
 .cf-pilates .p-hero-caption { left:16px; right:16px; bottom:19px; }
 .cf-pilates .p-location { font-size:.6875rem; }
 .cf-pilates .p-service-name strong { font-size:1.3rem; }
 .cf-pilates .p-hero-lead { font-size:.75rem; }
 .cf-pilates .p-tags { gap:4px; }
 .cf-pilates .p-tags li { font-size:.6875rem; }
 .cf-pilates .p-button .p-button-arrow { display:none; }
 .cf-pilates .p-button { padding-inline:5px; }
 .cf-pilates .p-offer-main { gap:15px; }
 .cf-pilates .p-offer-main>p:first-child strong { font-size:.8125rem; }
 .cf-pilates .p-discount>strong { font-size:4rem; }
 .cf-pilates .p-offer-heading { gap:8px; }
 .cf-pilates .p-offer-heading strong { font-size:.8125rem; }
 .cf-pilates .p-price { padding:20px; }
 .cf-pilates .p-price--featured { padding:19px; }
 .cf-pilates .p-price-value strong { font-size:2.25rem; }
 .cf-pilates .p-sticky-offer { gap:4px; font-size:.625rem; }
}
@media (min-width:600px) and (max-width:899px) {
 .cf-pilates .p-hero-stage { max-width:640px; height:720px; }
 .cf-pilates .p-hero-copy { left:32px; top:26px; }
 .cf-pilates h1 { font-size:3.35rem; }
 .cf-pilates .p-hero-caption { left:32px; right:32px; bottom:28px; }
 .cf-pilates .p-hero-photo { inset:30px 0 0; }
 .cf-pilates .p-service-name strong { font-size:1.8rem; }
 .cf-pilates .p-hero-lead { font-size:1rem; }
 .cf-pilates .p-location { font-size:.875rem; }
 .cf-pilates .p-hero-contact { max-width:640px; }
}
@media (min-width:600px) {
 .cf-pilates .p-shell { width:calc(100% - 64px); }
 .cf-pilates .p-result { flex-basis:calc(50% - 8px); }
 .cf-pilates .p-swipe-guide { display:none; }
 .cf-pilates .p-offer-main { gap:45px; }
 .cf-pilates .p-offer-main>p:first-child { font-size:1rem; }
 .cf-pilates .p-offer-main>p:first-child strong { font-size:1.2rem; }
 .cf-pilates .p-discount>strong { font-size:5rem; }
 .cf-pilates .p-offer-perks>p { font-size:.9375rem; }
 .cf-pilates .p-offer-perks span { font-size:.75rem; }
}
@media (min-width:768px) {
 .cf-pilates { padding-bottom:0; }
 .cf-pilates .p-sticky { display:none; }
 .cf-pilates .p-section { padding-block:90px; }
 .cf-pilates .p-heading { text-align:center; margin-bottom:44px; }
 .cf-pilates .p-heading .p-kicker { justify-content:center; }
 .cf-pilates h2 { font-size:2.25rem; }
 .cf-pilates .p-header-inner { min-height:72px; }
 .cf-pilates .p-brand { flex-basis:180px; }
 .cf-pilates .p-brand img { width:180px; }
 .cf-pilates .p-header nav { gap:28px; }
 .cf-pilates .p-header nav a { font-size:.875rem; }
 .cf-pilates .p-desktop-break { display:block; }
 .cf-pilates .p-mobile-break { display:none; }
 .cf-pilates .p-concerns { text-align:center; }
 .cf-pilates .p-concerns .p-kicker { justify-content:center; }
 .cf-pilates .p-concern-list { text-align:left; }
 .cf-pilates .p-method-layout { grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); align-items:center; gap:44px; }
 .cf-pilates .p-method-list li:first-child { padding-top:0; }
 .cf-pilates .p-method-future { max-width:760px; margin:44px auto 0; }
 .cf-pilates .p-method-future h3 { font-size:1.25rem; }
 .cf-pilates .p-result-image { max-width:430px; margin-inline:auto; }
 .cf-pilates .p-result-copy { padding:26px; }
 .cf-pilates .p-results { align-items:flex-start; }
 .cf-pilates .p-recommendation { padding:30px 34px; }
 .cf-pilates .p-prices { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
 .cf-pilates .p-price { padding:22px 16px; }
 .cf-pilates .p-price--featured { padding:21px 15px; }
 .cf-pilates .p-price-value { gap:0 4px; }
 .cf-pilates .p-price-value strong { font-size:2rem; }
 .cf-pilates .p-price-regular strong { white-space:nowrap; }
 .cf-pilates .p-price-label { flex-wrap:wrap; gap:4px; }
 .cf-pilates .p-price-saving { font-size:.75rem; }
 .cf-pilates .p-price-saving strong { font-size:.875rem; }
 .cf-pilates .p-access-layout { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:center; gap:44px; }
 .cf-pilates .p-storefront img { height:440px; }
 .cf-pilates .p-related { grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:32px; }
 .cf-pilates .p-final h2 { font-size:2.25rem; }
}
@media (min-width:900px) {
 .cf-pilates .p-hero { padding-bottom:45px; }
 .cf-pilates .p-hero-stage { height:650px; }
 .cf-pilates .p-hero-photo { inset:0 0 0 37%; }
 .cf-pilates .p-hero-photo img { object-position:50% 43%; }
 .cf-pilates .p-hero-shine { background:linear-gradient(90deg,#f2dbe8 0%,#fff4fafc 25%,#f7e7f3e3 36%,#f7e7f373 48%,#f8f0f700 63%),linear-gradient(0deg,#ead1df 0%,#f9f0f70d 17%,#f8f0f700 85%,#f9ecf567 100%); }
 .cf-pilates .p-hero-copy { left:max(40px,calc((100% - 1100px)/2)); top:38px; right:auto; }
 .cf-pilates h1 { font-size:clamp(2.9rem,4.7vw,3.9rem); line-height:1.3; margin-top:27px; }
 .cf-pilates .p-location { font-size:.875rem; }
 .cf-pilates .p-hero-caption { left:max(40px,calc((100% - 1100px)/2)); right:auto; bottom:60px; width:430px; }
 .cf-pilates .p-service-name { font-size:.9375rem; }
 .cf-pilates .p-service-name strong { font-size:1.9rem; }
 .cf-pilates .p-hero-lead { font-size:.9375rem; margin-top:12px; }
 .cf-pilates .p-tags { margin-top:22px; max-width:390px; gap:8px; }
 .cf-pilates .p-tags li { padding:7px 5px; font-size:.8125rem; }
 .cf-pilates .p-hero-contact { padding-top:25px; max-width:760px; }
}
@media (min-width:1100px) {
 .cf-pilates .p-price { padding:28px 24px; }
 .cf-pilates .p-price--featured { padding:27px 23px; }
 .cf-pilates .p-price-value strong { font-size:2.65rem; }
 .cf-pilates .p-price-saving { font-size:.8125rem; }
 .cf-pilates .p-price-saving strong { font-size:1rem; }
}
@media (prefers-reduced-motion:reduce) {
 html:has(.cf-pilates) { scroll-behavior:auto; }
 .cf-pilates *, .cf-pilates *::before, .cf-pilates *::after { scroll-behavior:auto; transition:none; animation:none; }
}
