/* One shared scale for all nine guest pages. Layout dimensions remain independent. */
:root{
 --type-page:clamp(3rem,7vw,7rem);
 --type-section:clamp(2rem,3.4vw,3.3rem);
 --type-card:clamp(1.25rem,1.8vw,1.75rem);
 --type-body:1rem;
 --type-caption:.75rem;
}
body{font-size:var(--type-body);line-height:1.7}
body h1{font-size:var(--type-page)!important;line-height:1.05}
body h2{font-size:var(--type-section)!important;line-height:1.12}
body h3,body h4,body h5,body h6{font-size:var(--type-card)!important;line-height:1.3}
body p,body li,body input,body textarea,body select{font-size:var(--type-body);line-height:1.75}
body button,body .button,body .text-link{font-size:var(--type-body);line-height:1.4}
body .kicker,body .journey-eyebrow,body .movie-scene-label,body .section-label,
body label,body .form-field,body .decision-label,body .decision-status,
body .pm-meta,body .pm-summary-note,body .week-subhead,
body figcaption,body .form-note,body .small-note,body small,
body .founding-note-v4,body .journey-photo-credit,body .footer-conditions,
body .footer-meta p,body .footer-end,body .footer-end span,
body .entry-step-label,body .invitation-note,body .gallery-caption,
body .film-note,body .film-destination-note,body .video-password,
body .payment-basis-v4,body .payment-block-v4 small{font-size:var(--type-caption)!important;line-height:1.65}
body .movie-facts,body .retreat-facts-v4,body .movie-facts span{font-size:var(--type-body)!important;line-height:1.6!important}
body .journey-hero-foot>p:first-child{font-size:var(--type-card)!important}
body .journey-hero-foot>p:first-child>span{font-size:var(--type-caption)!important}
body .journey-hero-foot .retreat-facts-v4{font-size:var(--type-body)!important}
body .footer-date-v4{font-size:var(--type-caption)!important}
body .movie-prices dd,body .stay-option-price,body .room-price strong,
body .decision-time,body #base-price,body #retreat-total,body [data-dialog-total],
body .payment-block-v4 strong{font-size:var(--type-section)!important;line-height:1.15}
body .spot-count-v4,body .room-capacity{font-size:var(--type-card)!important;line-height:1.3}
/* Q&A and travel have the same roles and sizes in every group. */
body .faq-group h2,body .travel-heading-mockup h2{font-size:var(--type-section)!important}
body .faq-group summary,body .pm-wide-detail summary,body .pm-journey-grid summary,
body .week-ceremony-title{font-size:var(--type-card)!important;line-height:1.4}
body .faq-group details p,body .faq-group details li,
body .travel-responsibility-mockup p,body .travel-itinerary p,
body .travel-preparation p,body .journey-intro,body .reservation-lede,
body .section-topline>p,body .section-topline p,
body .pm-detail-copy p,body .week-ceremony-body p{font-size:var(--type-body)!important;line-height:1.75}
body .travel-booking-mockup{font-size:var(--type-card)!important}
body .inclusion-card-mockup h2{font-size:var(--type-section)!important}
body .inclusion-card-mockup li,body .inclusion-notes-mockup p{font-size:var(--type-body)}
body .response-cards-v4 h3,body .entry-response-cards-v4 h2{font-size:var(--type-card)!important}
body .response-cards-v4 p,body .payment-policy-v4 li{font-size:var(--type-body)!important}
body .payment-schedule-v4 .kicker{font-size:var(--type-caption)!important}
body .payment-block-v4 span,body .reservation-steps .payment-block-v4>span{font-size:var(--type-body)!important;line-height:1.5}
/* Caption growth must not crowd controls or force a desktop nav onto two lines. */
body .brand .delta-endorsement{font-size:var(--type-caption);line-height:1.4}
body .desktop-nav a,body .header-reserve{font-size:var(--type-caption)}
body .menu-button,body .motion-control,body .film-motion-control{font-size:var(--type-caption);min-height:44px}
body .mobile-nav a{font-size:var(--type-card)!important}
body .header-inner{gap:clamp(.8rem,1.5vw,1.8rem)}
body .desktop-nav{gap:clamp(.6rem,1.15vw,1.2rem)}
body .brand{min-width:0}
body .brand .delta-endorsement{max-width:19ch;white-space:normal}
body summary{overflow-wrap:anywhere}
body .pm-journey-grid>article>p{min-height:7em}
@media(max-width:700px){
 body .pm-journey-grid>article>p{min-height:0}
 body .payment-block-v4,body .payment-block-v4:first-child{grid-template-columns:5rem minmax(0,1fr)}
 body .payment-block-v4 strong{font-size:var(--type-card)!important}
 body .movie-facts span{margin-top:.7rem}
 body .brand>span{font-size:var(--type-caption)}
}

/* Keep the motion label legible after removing the old zero-size text rule. */
body.cinematic-v6 .journey-motion-control{font-size:var(--type-caption);width:auto;height:auto;min-height:44px;padding:.6rem .85rem;gap:.5rem;white-space:nowrap}
@media(min-width:601px) and (max-width:1050px){body.page-your-place .reservation-layout{grid-template-columns:1fr}body.page-your-place .reservation-summary{width:100%;max-width:none}}

/* Founding rates follow the site's serif prices and quiet supporting labels. */
body .movie-prices>div{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:1.25rem;align-items:start}
body .movie-prices dd{font-size:var(--type-card)!important;line-height:1.3}
body .founding-note-v4{display:grid;gap:.25rem;margin:.7rem 0 0;font-weight:400;white-space:normal;color:inherit}
body .founding-label-v4{font:400 var(--type-caption)/1.5 var(--sans,Arial,sans-serif);letter-spacing:.08em;text-transform:uppercase}
body .founding-rate-v4{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem}
body .founding-price-v4{font:400 var(--type-card)/1.2 var(--serif,Georgia,serif);white-space:nowrap;letter-spacing:-.02em}
body .founding-discount-v4{font:500 var(--type-body)/1.5 var(--sans,Arial,sans-serif);white-space:nowrap;letter-spacing:0}
body .room-retreat-price .founding-note-v4{justify-items:end}
body .founding-option-v4 label{font-size:var(--type-body)!important;font-weight:500;line-height:1.5;align-items:start}
body .founding-option-v4 input{flex-shrink:0;margin-top:.2rem}
body .founding-option-detail-v4{display:block;font-size:var(--type-body);font-weight:400;margin-top:.15rem}
@media(max-width:620px){
 body .movie-prices>div{grid-template-columns:1fr;gap:.45rem}
 body .room-retreat-price{flex-wrap:wrap}
 body .room-retreat-price .founding-note-v4{flex-basis:100%;margin-top:.2rem;justify-items:start}
}
