/* Opt-in composition uses shared type, material, controls and original contents. */
.pf-clubs-intro{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:24px;padding-top:clamp(130px,11vw,190px);padding-bottom:48px}
.pf-clubs-intro h1{font-size:clamp(58px,8.2vw,136px);line-height:1;letter-spacing:-.065em}
.pf-clubs-intro h1 span{color:hsl(var(--pf-brand-brown)/.6)}
.pf-clubs-intro-copy>p{font-size:clamp(16px,1.35vw,21px);line-height:1.6;max-width:48ch;margin:0 0 24px}
.pf-clubs-hero-photo{overflow:hidden;margin-inline:var(--pf-content-pad);border-radius:24px}
.pf-clubs-hero-photo img{width:100%;height:auto;aspect-ratio:2.65;object-fit:cover;object-position:center 40%}
.pf-clubs-overview h2,.pf-clubs-concepts>h2{margin-bottom:40px}
.pf-clubs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.pf-location-card{position:relative;overflow:hidden;border:1px solid hsl(var(--pf-brand-brown)/.2);border-radius:24px;background:hsl(var(--pf-brand-sand)/.12)}
.pf-location-photo{overflow:hidden}
.pf-location-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center;transition:transform .6s var(--pf-motion-ease)}
.pf-location-copy{position:absolute;inset:auto 16px 16px;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.pf-location-copy .pf-eyebrow{margin-bottom:10px;letter-spacing:.12em}
.pf-location-copy h3{font-size:clamp(28px,3vw,44px)}
.pf-location-opening{font-size:13px;margin:12px 0 0}
.pf-location-copy .pf-button{flex-shrink:0}
.pf-location-signature{background:var(--pf-signature-surface);color:hsl(var(--pf-brand-cream));border-color:hsl(var(--pf-brand-sand)/.5)}
.pf-clubs-concepts{padding-top:0}
.pf-concepts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.pf-concept{padding:clamp(24px,3vw,48px);border-radius:24px;background:hsl(var(--pf-brand-sand)/.4);display:flex;flex-direction:column}
.pf-concept-signature{background:var(--pf-signature-surface);color:hsl(var(--pf-brand-cream))}
.pf-concept header{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.pf-concept h3{font-size:clamp(32px,3.6vw,54px)}
.pf-concept header p{font-size:13px;margin:0}
.pf-concept>p{font-size:16px;line-height:1.7;margin-bottom:28px;max-width:56ch}
.pf-concept details{margin-top:auto;border-top:1px solid hsl(var(--pf-brand-brown)/.25)}
.pf-concept-signature details{border-color:hsl(var(--pf-brand-cream)/.3)}
.pf-concept summary,.pf-promise-disclosures summary{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:68px;font-size:16px;list-style:none;cursor:pointer}
.pf-concept summary::-webkit-details-marker,.pf-promise-disclosures summary::-webkit-details-marker{display:none}
.pf-concept .pf-faq-icon,.pf-promise-disclosures .pf-faq-icon{flex-shrink:0;transition:transform .2s}
.pf-concept details[open] .pf-faq-icon,.pf-promise-disclosures details[open] .pf-faq-icon{transform:rotate(45deg)}
.pf-concept ul{padding-left:20px;font-size:14px;line-height:1.7;margin:8px 0 0}
.pf-concept li+li{margin-top:12px}
.pf-clubs-promise,.pf-clubs-changer{position:relative;isolation:isolate;background:hsl(var(--pf-brand-brown));overflow:hidden}
.pf-clubs-scene-photo{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;z-index:-2}
.pf-clubs-promise::before,.pf-clubs-changer::before{content:'';position:absolute;inset:0;background:hsl(var(--pf-brand-brown)/.18);z-index:-1}
.pf-clubs-promise-card{padding:clamp(24px,4vw,48px)}
.pf-clubs-promise-card{max-width:1200px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.pf-clubs-changer .pf-changer-offer{margin-top:0}
/* Disclosure growth extends the brown scene, not the photograph's cover crop. */
.pf-clubs-changer .pf-clubs-scene-photo{height:clamp(480px,50vw,720px)!important;bottom:auto;object-position:center top;mask-image:linear-gradient(to bottom,black calc(100% - 80px),transparent)}
.pf-clubs-promise .pf-section-title,.pf-clubs-changer .pf-section-title{font-size:clamp(44px,5.4vw,86px);margin-bottom:28px}
.pf-clubs-promise .pf-section-title>span,.pf-clubs-changer .pf-section-title>span{color:hsl(var(--pf-brand-gold))}
.pf-promise-disclosures{margin:0 0 24px}
.pf-promise-disclosures details{border-top:1px solid hsl(var(--pf-brand-cream)/.3)}
.pf-promise-disclosures details:last-child{border-bottom:1px solid hsl(var(--pf-brand-cream)/.3)}
.pf-promise-disclosures p{font-size:15px;line-height:1.7;margin:0 0 24px}
.pf-clubs-promise .pf-button,.pf-clubs-changer .pf-button{background:hsl(var(--pf-brand-cream));color:hsl(var(--pf-brand-brown))}
.pf-relaunch-content .pf-faq-heading .pf-eyebrow:empty{display:none}
.pf-relaunch-content .pf-faq-answer p+p{margin-top:18px}


.pf-clubs-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.pf-clubs-pricing{background:linear-gradient(125deg,hsl(var(--pf-brand-sand)/.18),hsl(var(--pf-brand-cream)))}
.pf-clubs-pricing .pf-membership-heading{margin-bottom:32px}
.pf-clubs-pricing .pf-membership-heading .pf-section-title{font-size:clamp(44px,5.4vw,86px)}
.pf-tariff-category{display:grid;gap:8px;min-width:0}
.pf-control-label{font-size:12px;font-weight:500}
.pf-clubs-pricing .pf-tariff-toolbar{align-items:end}
.pf-clubs-pricing [data-category-photo][hidden]{display:none!important}
.pf-clubs-pricing[data-selected-category="signature"] .pf-tariff-content{background:hsl(var(--pf-brand-brown));color:hsl(var(--pf-brand-cream));--pf-cta-fill:hsl(var(--pf-brand-cream));--pf-cta-ink:hsl(var(--pf-brand-brown));--pf-cta-outline:hsl(var(--pf-brand-cream))}
/* Before enhancement, including no-JS, all eight source tariffs remain accessible. */
.pf-clubs-pricing:not([data-enhanced]) .pf-tariff-toolbar{display:none}
.pf-clubs-pricing:not([data-enhanced]) .pf-tariff-panels{display:block}
.pf-clubs-pricing:not([data-enhanced]) .pf-tariff-content+.pf-tariff-content{border-top:1px solid hsl(var(--pf-brand-brown)/.25)}
.pf-clubs-pricing:not([data-enhanced]) .pf-tariff-stage{align-items:start}
.pf-offer-fallback{font-size:16px;line-height:1.6}
.pf-b2b-pricing-context{font-size:var(--pf-type-small);line-height:1.65;margin:0 0 28px;max-width:65ch}
@media(hover:hover){.pf-location-card:has(a:hover) img{transform:scale(1.025)}}
@media(max-width:1000px){.pf-location-photo img{aspect-ratio:4/5}.pf-location-copy{inset:auto 12px 12px;padding:16px;align-items:start;flex-direction:column;gap:12px;border-radius:18px}.pf-location-copy h3{font-size:28px}.pf-location-copy .pf-eyebrow{font-size:10px;margin-bottom:6px}.pf-location-copy .pf-button{min-height:44px;padding:10px 16px;font-size:12px}.pf-location-opening{font-size:12px;margin-top:8px}.pf-clubs-pricing .pf-tariff-toolbar{display:grid;grid-template-columns:1fr;gap:16px}.pf-clubs-pricing .pf-duration button{flex:1}.pf-clubs-promise-card{gap:28px}}
@media(max-width:700px){
 .pf-clubs-intro{grid-template-columns:1fr;gap:24px;padding-top:120px;padding-bottom:28px}
 .pf-clubs-intro h1{font-size:clamp(58px,13vw,78px)}
 .pf-clubs-hero-photo{border-radius:16px}.pf-clubs-hero-photo img{aspect-ratio:3/2}
 .pf-clubs-grid,.pf-concepts-grid{grid-template-columns:1fr;gap:20px}
 .pf-location-photo img{aspect-ratio:1;min-height:340px}
 .pf-location-copy{flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px;padding:16px}
 .pf-location-copy h3{font-size:28px}.pf-location-copy .pf-eyebrow{font-size:10px}
 .pf-concept>p{font-size:15px}.pf-concept summary,.pf-promise-disclosures summary{font-size:15px}
 .pf-clubs-promise .pf-section-title,.pf-clubs-changer .pf-section-title{font-size:clamp(44px,10vw,58px)}
 .pf-clubs-promise-card{grid-template-columns:1fr;gap:12px}
 .pf-clubs-promise-card{padding:24px 20px}
 .pf-clubs-pricing .pf-tariff-content{padding:24px 20px}
 .pf-clubs-pricing .pf-tariff-content h3{font-size:30px}
 .pf-clubs-pricing .pf-duration button{padding-inline:10px;font-size:12px;white-space:normal}
 .pf-clubs-pricing .pf-membership-heading .pf-section-title{font-size:clamp(38px,9.7vw,58px)}
}
@media(max-width:360px){.pf-location-copy{align-items:start;flex-direction:column;gap:14px}.pf-clubs-pricing .pf-duration button{padding-inline:7px}}
@media(prefers-reduced-motion:reduce){.pf-location-photo img,.pf-concept .pf-faq-icon,.pf-promise-disclosures .pf-faq-icon{transition:none}}
