/* Entered line breaks also apply to captions and controls that normally use nowrap. */
.cms-copy{white-space:pre-line!important}
/* These fields are rendered by their controllers, after the static CMS pass. */
:is(.film-card-label strong,.film-card-label small,#shot-title,#shot-description,#hero-caption,#look-display,.look-wheel>.look-option,.monitor-footer>span:first-child,.podcast-coming-soon,#auth-title,#auth-counter,#auth-description,#password-label,#auth-submit>span,#verification-title,#verification-instruction,#verification-code-label,#resend-call,#auth-send-sms,#send-sms,#bookings-count,.format-option-text,#format-description,#summary-look,#summary-format,#summary-time,#summary-price-note,#mobile-price-note,.look-option small),
#bookings-list :is(h3,button,a,.booking-disclosure-title,.eyebrow,.status-pill,.booking-meta){white-space:pre-line!important}
.look-carousel .look-option small{flex-basis:auto;min-height:21px}
/* Buttons keep their own foreground so CMS copy colors cannot hide their labels. */
.cms-color-text :is(h1,h2,h3,h4,p,legend,label,dt,dd,button,a,strong):where(:not(.button)){color:inherit}
.cms-color-text :is(.eyebrow,.mono,.fine-print,.muted,.support-copy,.booking-meta){color:var(--muted)}
.cms-color-text :is(em,.is-active,.text-accent,.status-pill:not(.is-muted),.card-percent){color:var(--accent)}
.cms-zone-video{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain;background:#080c08;margin:16px 0 0}
.cms-zone-video[hidden]{display:none}
.shot-dialog-image>.cms-zone-video{margin:0;height:100%;max-height:80vh;object-fit:contain}
.shot-dialog-image>img[hidden]{display:none}
#look-options>.cms-zone-video{max-width:640px;margin:20px auto 0}
.booking-disclosure-content>.cms-zone-video{grid-column:1/-1;max-width:640px;justify-self:start;margin-top:0}
.membership-card[style*="--cms-background-image"]{background-image:linear-gradient(90deg,#101812df,#10181285 52%,#10181233),linear-gradient(0deg,#101710eb,transparent 60%,#10171033),var(--cms-background-image,url('/assets/studio-sofa.jpg'))}
.ambient-photo[style*="--cms-background-image"]{background-image:linear-gradient(90deg,#161c16 0%,#161c16ba 28%,#161c167d 100%),linear-gradient(0deg,#161c16 0%,transparent 55%,#161c16b0 100%),var(--cms-background-image,url('/assets/studio-light.jpg'))}

@media(max-width:760px){.ambient-photo[style*="--cms-background-image"]{background-image:linear-gradient(90deg,#161c16 0%,#161c16a6 42%,#161c1678 100%),linear-gradient(0deg,#161c16 0%,transparent 50%,#161c16a6 100%),var(--cms-background-image)}}
.auth-photo-card[style*="--cms-background-image"]{background-image:linear-gradient(#182018f2,#161c16f8),var(--cms-background-image)}
.auth-photo-card.is-behind[style*="--cms-background-image"]{background-image:linear-gradient(#263025e6,#182018f5),var(--cms-background-image)}
.site-footer[style*="--cms-background-image"]::before{background-image:var(--cms-background-image)}

/* Optional media use normal flow even when their source controls are fixed. */
.cms-block-media{grid-column:1/-1;min-width:0;width:100%;margin:0 auto}
.cms-block-media:empty{display:none}
#main>.cms-block-media{max-width:1100px;padding:0 var(--gutter,24px) 24px}
#main>.cms-header-media:not(:empty){padding-top:110px}
#look-options>.cms-media-gallery{max-width:640px;margin:24px auto 0}
.booking-disclosure-content>.cms-media-gallery{grid-column:1/-1;max-width:640px}
#shot-media>.cms-media-gallery{max-width:800px;margin:24px auto 0}
