/* Design review: quieter supporting information and consistent editorial sections. */
:root{--mockup-ink:#18382c;--mockup-line:#1c3b2d30;--mockup-paper:#f2f0e7}
body .journey-hero-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;border-top:1px solid #ffffff38;padding-top:1.5rem;padding-bottom:2rem}
body .journey-hero-foot>p:first-child{font-size:var(--type-body)!important;margin:0}
body .journey-hero-foot>p:first-child>span{font-family:var(--sans,Arial,sans-serif);font-size:var(--type-body)!important;margin-top:.5rem;display:block}
body .journey-hero-foot .journey-photo-credit{margin:0;font-size:var(--type-caption);max-width:24ch;text-align:right;line-height:1.6}
body .footer-date-v4{font:inherit!important;display:inline;margin:0}
body .movie-facts{font-size:var(--type-card)!important}
body .movie-facts span,body .retreat-facts-v4{font:400 var(--type-body)/1.7 var(--sans,Arial,sans-serif)!important;letter-spacing:.015em!important}
body .movie-facts span{margin-top:1rem}
body.page-your-place .journey-hero-foot{flex-wrap:wrap;gap:1.3rem 2rem}
body.page-your-place .journey-hero-foot .retreat-facts-v4{margin:0}
/* Stages belong to the page, with a single line connecting the milestones. */
body .payment-schedule-v4{padding:1.6rem 0;margin:1.5rem 0;background:transparent;color:inherit;border:0;border-block:1px solid var(--mockup-line)}
body .payment-track-v4{gap:0;margin-top:1.2rem}
body .payment-block-v4{background:transparent;color:inherit;border-top:1px solid currentColor;border-right:1px solid var(--mockup-line);padding:1.1rem .9rem;position:relative}
body .payment-block-v4:first-child{background:transparent;color:inherit;padding-left:0}
body .payment-block-v4:last-child{border-right:0}
body .payment-block-v4 strong{font-size:var(--type-card);line-height:1.2}
body .payment-block-v4 span{font-size:var(--type-body);line-height:1.5}
body .payment-block-v4 small{font-size:var(--type-caption);line-height:1.6}
body .payment-block-v4:before{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:currentColor;top:-4px;left:.9rem}
body .payment-block-v4:first-child:before{left:0}
body .payment-basis-v4{opacity:.85;font-size:var(--type-body)!important;line-height:1.6}
.payment-terms-mockup{border-top:1px solid #fff3;padding-top:1rem;font-size:var(--type-body)}
.payment-terms-mockup summary{cursor:pointer;padding:.5rem 0;list-style:disclosure-closed}
.payment-terms-mockup[open] summary{list-style:disclosure-open;margin-bottom:1rem}
.payment-terms-mockup summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}
body .movie-chapter-response .payment-schedule-v4{border-color:#ffffff40;color:#f3f0e4;margin-block:2.5rem}
body .movie-chapter-response .payment-schedule-v4 p{color:#f3f0e4}
body .movie-chapter-response .payment-block-v4{border-right-color:#ffffff30}
body .movie-chapter-response .payment-schedule-v4 .kicker{font-size:var(--type-caption);letter-spacing:.15em}
body .movie-chapter-response .response-cards-v4 article{background:#12291f85;border-color:#ffffff40;color:#f3f0e4}
/* Keep light supporting copy separate from the dark labels on cream buttons. */
body .movie-chapter-response .response-cards-v4 p{color:#f3f0e4}
body .reservation-intro .payment-track-v4{grid-template-columns:1fr 1fr}
body .reservation-intro .payment-block-v4{padding:1rem .65rem}
body .reservation-intro .payment-block-v4:nth-child(3){border-right:1px solid var(--mockup-line)}
body .reservation-intro .payment-block-v4:nth-child(even){border-right:0}
body .reservation-steps .payment-block-v4>span{position:static;width:auto;height:auto;background:transparent;border:0;font-family:var(--sans,Arial,sans-serif);font-size:var(--type-body);color:inherit;display:block;line-height:1.5}
/* Accommodation: equal columns, identical heading and row treatment. */
body #inclusions>.wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:stretch}
body .inclusions-intro-mockup{grid-column:1/-1;display:flex;gap:3rem;align-items:flex-start;padding-bottom:1.5rem}
body .inclusions-intro-mockup .delta-link{flex:0 0 30%;margin:0}
body .inclusions-intro-mockup .package-farm{font-size:var(--type-body);line-height:1.75;max-width:65ch;margin:0}
body .inclusion-card-mockup{padding:clamp(1.5rem,3vw,3rem);border:1px solid var(--mockup-line);background:#ffffff28;min-width:0}
body .inclusion-card-mockup .kicker{display:block;margin-bottom:1rem}
body .inclusion-card-mockup h2{font-size:var(--type-section)!important;line-height:1.2;min-height:2.5em;margin:0 0 1.5rem;max-width:15ch}
body .inclusion-card-mockup ul{margin:0;list-style:none;padding:0}
body .inclusion-card-mockup li{padding:1rem 0;border-bottom:1px solid var(--mockup-line);line-height:1.65;font-size:var(--type-body)}
body .inclusion-card-mockup li:first-child{border-top:1px solid var(--mockup-line)}
body .inclusion-card-mockup .text-link{display:inline-block;margin-top:1.5rem}
body .inclusion-notes-mockup{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding:1.5rem 0 0}
body .inclusion-notes-mockup p{font-size:var(--type-body);line-height:1.75;margin:0;max-width:none;grid-column:auto}
/* Travel: title, booking instruction, then clear responsibilities and the route. */
body .travel-heading-mockup{padding-bottom:2rem;border-bottom:1px solid var(--mockup-line);margin:0 0 2rem}
body .travel-heading-mockup h2{font-size:var(--type-section)!important;margin:.6rem 0 0}
body .travel-booking-mockup{font:400 var(--type-card)/1.4 var(--serif,Georgia,serif);max-width:28ch;margin:0 0 2rem}
body .travel-responsibility-mockup{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:950px;margin-bottom:3rem}
body .travel-responsibility-mockup>div{padding-left:1.5rem;border-left:1px solid var(--mockup-line)}
body .travel-responsibility-mockup p{font-size:var(--type-body);line-height:1.75;max-width:43ch;margin:.8rem 0 0}
@media(max-width:700px){
 body .journey-hero-foot{display:block;padding-top:1.3rem}
 body .journey-hero-foot .journey-photo-credit{display:none}
 body.page-your-place .journey-hero-foot .retreat-facts-v4{margin-top:1rem}
 body #inclusions>.wrap,body .inclusion-notes-mockup,body .travel-responsibility-mockup{grid-template-columns:1fr;gap:1.5rem}
 body .inclusions-intro-mockup{display:block;padding-bottom:.5rem}
 body .inclusions-intro-mockup .delta-link{margin-bottom:1.3rem;display:inline-block}
 body .inclusion-card-mockup h2{min-height:0;max-width:none}
 body .payment-track-v4,body .reservation-intro .payment-track-v4{grid-template-columns:1fr!important}
 body .payment-block-v4,body .payment-block-v4:first-child{border-top:0;border-right:0!important;border-left:1px solid currentColor;padding:.9rem 1rem .9rem 1.4rem;display:grid;grid-template-columns:5rem 1fr;column-gap:1rem}
 body .payment-block-v4:before,body .payment-block-v4:first-child:before{left:-4px;top:1.7rem}
 body .payment-block-v4 strong{grid-row:1/3;font-size:var(--type-card)}
 body .payment-block-v4 small{grid-column:2;padding-top:0;margin:0}
 body .payment-schedule-v4 .payment-block-v4>span{margin:0}
 body .inclusion-notes-mockup{padding-top:.5rem}
}

/* V4 layout follow-up: self-contained, centered payment milestones. */
body.cinematic-v4 .payment-track-v4{gap:1rem;margin-top:1.6rem;align-items:stretch}
body.cinematic-v4 .payment-block-v4,
body.cinematic-v4 .payment-block-v4:first-child,
body.cinematic-v4 .reservation-intro .payment-block-v4{
 display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
 gap:.65rem;padding:1.5rem 1rem 1.2rem;min-width:0;
 border:1px solid var(--mockup-line)!important;background:#ffffff25;
 text-align:center;box-sizing:border-box;
}
body.cinematic-v4 .payment-block-v4:before,
body.cinematic-v4 .payment-block-v4:first-child:before{
 left:50%;top:-5px;width:9px;height:9px;transform:translateX(-50%);
}
body.cinematic-v4 .payment-block-v4>strong,
body.cinematic-v4 .payment-block-v4>span,
body.cinematic-v4 .payment-block-v4>small{width:100%;margin:0;text-align:center}
body.cinematic-v4 .payment-block-v4>small{margin-top:auto;padding-top:.3rem}
body.cinematic-v4 .movie-chapter-response .payment-block-v4{border-color:#ffffff40!important;background:#ffffff08}
/* Percentage row gaps overflow auto-sized stacked grids. Use a real length. */
body.cinematic-v4.page-your-place .reservation-layout{row-gap:3rem;column-gap:5%;align-items:start}
body.cinematic-v4.page-your-place .reservation-summary{position:static;top:auto;min-width:0;align-self:start}
body.cinematic-v4.page-your-place .secondary-paths{margin-top:1.5rem;padding:0}
body.cinematic-v4.page-your-place .reservation-summary .price-line{flex-wrap:wrap;gap:.4rem 1rem}
@media(max-width:700px){
 body.cinematic-v4 .payment-block-v4,
 body.cinematic-v4 .payment-block-v4:first-child,
 body.cinematic-v4 .reservation-intro .payment-block-v4{padding:1.3rem 1rem;gap:.45rem}
 body.cinematic-v4.page-your-place .reservation-layout{row-gap:2rem}
}
/* A continuous response sequence keeps short and long sections out of sidebars. */
body.cinematic-v4.page-your-place .reservation-layout{display:block}
body.cinematic-v4.page-your-place .reservation-lede{max-width:65ch}
body.cinematic-v4.page-your-place .reservation-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2.5rem}
body.cinematic-v4.page-your-place .reservation-steps>li{display:grid;grid-template-columns:1.6rem minmax(0,1fr);gap:1rem;padding:1.5rem 0;margin:0;min-width:0}
body.cinematic-v4.page-your-place .reservation-steps>li:nth-child(n+4){grid-column:1/-1}
body.cinematic-v4.page-your-place .reservation-intro .payment-track-v4{grid-template-columns:repeat(4,minmax(0,1fr))}
body.cinematic-v4.page-your-place .reservation-steps>li:last-child p{max-width:75ch}
body.cinematic-v4.page-your-place .reservation-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;margin-top:3rem;width:100%;max-width:none}
body.cinematic-v4.page-your-place .reservation-summary>div{min-width:0}
body.cinematic-v4.page-your-place .reservation-price-details{border-left:1px solid var(--mockup-line);padding-left:3rem}
body.cinematic-v4.page-your-place .reservation-price-details>.price-line:first-child{margin-top:0;padding-top:0}
@media(max-width:900px){
 body.cinematic-v4.page-your-place .reservation-steps{grid-template-columns:1fr;gap:0}
 body.cinematic-v4.page-your-place .reservation-intro .payment-track-v4{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.cinematic-v4.page-your-place .reservation-summary{gap:2rem}
 body.cinematic-v4.page-your-place .reservation-price-details{padding-left:2rem}
}
@media(max-width:700px){
 body.cinematic-v4.page-your-place .reservation-summary{grid-template-columns:minmax(0,1fr);gap:1.5rem;margin-top:2rem}
 body.cinematic-v4.page-your-place .reservation-price-details{border-left:0;border-top:1px solid var(--mockup-line);padding:1.5rem 0 0}
 body.cinematic-v4.page-your-place .reservation-steps>li{gap:.7rem}
}
