.celebration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px}.home-celebrations{background:var(--sage)}.celebration-grid article{border-top:1px solid var(--line);padding-top:25px}.celebration-grid h3{font-size:43px;margin:23px 0}.celebration-grid p:not(.eyebrow){font-size:13px;line-height:1.9;max-width:340px;color:var(--muted)}.celebration-grid .text-link{margin-top:27px}.home-partners{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;border-top:1px solid var(--line)}.home-partners p:not(.eyebrow){font-size:14px;line-height:1.9;max-width:480px}.home-partners h2{margin-top:22px}.home-partners .text-link{margin-top:25px}.partner-hero{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.partner-hero h1{font-size:clamp(55px,6vw,90px);margin:25px 0}.partner-hero p:not(.eyebrow){font-size:14px;line-height:1.9;max-width:450px}.partner-hero img{width:100%;aspect-ratio:1;object-fit:cover}.partner-hero figure{margin:0}.partner-hero figcaption{font-size:10px;color:var(--muted);margin-top:12px}.partner-empty{background:var(--sage);display:grid;grid-template-columns:1fr 1fr;gap:70px}.partner-empty h2{margin-top:20px}.partner-empty p:not(.eyebrow){font-size:14px;line-height:1.9;margin-bottom:20px}.partner-empty .button{margin-top:10px}.partner-directory .section-title{margin-bottom:45px}.partner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px}.partner-card{border-top:1px solid var(--line);padding-top:25px}.partner-card img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:25px}.partner-card h3{font-size:38px;margin:15px 0}.partner-card p:not(.eyebrow){font-size:13px;line-height:1.9;color:var(--muted);margin:12px 0}.partner-card .text-link{margin-top:20px}.partner-principles{max-width:850px}.partner-principles h2{margin:20px 0}.partner-principles p:not(.eyebrow){font-size:14px;line-height:1.9;color:var(--muted)}
@media(max-width:900px){.celebration-grid,.partner-grid{grid-template-columns:1fr}.celebration-grid{gap:35px}.celebration-grid p:not(.eyebrow){max-width:600px}.home-partners,.partner-hero,.partner-empty{grid-template-columns:1fr;gap:35px}.partner-hero h1{font-size:62px}.partner-hero img{max-height:500px}.celebration-grid h3{font-size:40px}}
.story-film-first{padding-top:0}.film-pending{aspect-ratio:16/9;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px;gap:18px}.film-pending h2{font-size:clamp(32px,4vw,58px)}.film-pending>p:last-child{font-size:12px;opacity:.8}.film-pending-play{font-size:40px;line-height:1}.story-stills{background:var(--sage)}.story-stills-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 25px}.story-stills-grid figure{margin:0;min-width:0}.story-stills-grid img{width:100%;height:auto;object-fit:contain;aspect-ratio:auto}.story-stills-grid figcaption{font-size:11px;line-height:1.8;margin-top:14px;color:var(--muted)}.vendor-list .vendor-pending{grid-column:1/-1;font-family:var(--font-body);font-size:13px;color:var(--muted);align-self:center}.story-stills .section-title>p{max-width:380px;font-size:13px;line-height:1.9}
@media(max-width:900px){.story-stills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.story-stills-grid{grid-template-columns:1fr;gap:32px}.film-pending{padding:18px;gap:10px}.film-pending-play{font-size:26px}.film-pending .eyebrow{font-size:9px}.film-pending>p:last-child{font-size:10px}.film-pending h2{font-size:32px}}
.story-woven-block{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:8vw;align-items:center}.story-woven-block+.story-woven-block{padding-top:35px}.story-woven-copy{max-width:580px;min-width:0}.story-woven-copy h2,.story-woven-copy h3{margin:20px 0 28px}.story-woven-copy h3{font-size:clamp(35px,3.7vw,56px)}.story-woven-copy p:not(.eyebrow){font-size:14px;line-height:1.95;color:var(--muted);margin-bottom:22px}.story-woven-image{margin:0;max-width:390px;width:100%;justify-self:end}.story-woven-image img{width:100%;height:auto;object-fit:contain;aspect-ratio:9/16}.story-woven-reverse{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.story-woven-reverse .story-woven-image{grid-column:1;grid-row:1;justify-self:start}.story-woven-reverse .story-woven-copy{grid-column:2;grid-row:1}
@media(max-width:700px){.story-woven-block,.story-woven-reverse{grid-template-columns:1fr;gap:25px;padding-top:45px;padding-bottom:35px;align-items:start}.story-woven-block+.story-woven-block{padding-top:35px}.story-woven-copy,.story-woven-reverse .story-woven-copy{grid-column:1;grid-row:1;max-width:none}.story-woven-image,.story-woven-reverse .story-woven-image{grid-column:1;grid-row:2;max-width:none;justify-self:stretch}.story-woven-copy h2{font-size:44px}.story-woven-copy h3{font-size:36px}.story-woven-copy p:not(.eyebrow){font-size:13px;line-height:1.95}.story-woven-copy p:last-child{margin-bottom:0}}

.story-film-first .cms-film-player>.button{white-space:nowrap;gap:14px;min-width:0;width:auto;max-width:calc(100% - 32px)}

/* Section headings stay on one readable line; type scales to its column. */
main .single-line-heading{white-space:nowrap;max-width:100%;min-width:0;overflow-wrap:normal;word-break:normal}
.section-title>div,.cta>div,.card-caption>div{min-width:0;max-width:100%}

main :is(article,section,div,aside){min-width:0}

.film-grid>*{min-width:0}
@media(max-width:600px){.journey-grid{grid-template-columns:minmax(0,1fr)}}

@media(min-width:901px){.section-title>div:first-child{flex:1 1 0}}

/* Desktop reading rhythm: intentional columns, comfortable copy, compact spacing. */
@media(min-width:901px){
 body{font-size:17px}
 :root{--gutter:clamp(40px,5vw,96px)}
 main p:not(.eyebrow):not(.experience-price):not(.extra-price):not(.lut-price):not(.status){font-size:17px;line-height:1.75;font-weight:400;text-wrap:pretty}
 main h1{ text-wrap:balance }
 main .section{padding-top:64px;padding-bottom:64px}
 main .section-title{margin-bottom:32px;gap:40px;align-items:start}
 main .section-title>p,main .section-title>div:last-child:not(:first-child){max-width:480px}
 main .text-link,main .button{font-size:14px}
 .intro{padding-top:72px;padding-bottom:72px;gap:48px;grid-template-columns:1fr 2.2fr}
 .intro .intro-body{max-width:65ch;margin-top:22px}
 .hero-side p{max-width:38ch}
 .about-teaser,.experience-duo,.color-section,.partner-hero,.home-partners,.photo-film-section{gap:clamp(36px,4vw,68px)}
 .experience-hero{gap:48px;min-height:560px;margin-top:24px}
 .experience-photo{height:560px}
 .experience-intro{gap:48px}
 .feeling-grid{gap:32px;margin-top:40px}
 .journey-grid{gap:28px;margin-top:36px}
 .feeling-grid h3,.journey-grid h3{margin:18px 0 16px}
 .quote-section{padding:70px var(--gutter)}
 .cta{padding-top:60px;padding-bottom:60px;gap:36px}
 .page-head{padding-top:60px;padding-bottom:32px}
 .page-head p{max-width:65ch}
 .story-head{padding-top:48px;padding-bottom:36px}
 .story-head h1{font-size:clamp(68px,6vw,96px);margin:14px 0}
 .story-head>.text-link{margin-bottom:18px}
 .story-location{margin-top:20px}
 main .story-film-first{padding-top:0;padding-bottom:40px}
 .story-woven-block,.story-woven-reverse{grid-template-columns:minmax(0,1fr) 300px;gap:clamp(36px,5vw,72px);align-items:start;max-width:1120px;margin-inline:auto}
 main .story-woven-block{padding-top:44px;padding-bottom:30px}
 main .story-woven-block+.story-woven-block{padding-top:28px}
 .story-woven-copy{max-width:65ch}
 .story-woven-copy h2,.story-woven-copy h3{margin:0 0 22px;font-size:clamp(38px,3.4vw,50px);line-height:1.12}
 .story-woven-copy .eyebrow{margin-bottom:18px}
 main .story-woven-copy p:not(.eyebrow){font-size:18px;line-height:1.75;margin-bottom:20px;color:#50564f}
 .story-woven-copy p:last-child{margin-bottom:0}
 .story-woven-image{width:300px;max-width:100%;justify-self:end}
 .story-woven-reverse{grid-template-columns:300px minmax(0,1fr)}
 .story-woven-reverse .story-woven-image{justify-self:start}
 .story-woven-block:not(:has(.story-woven-image)){display:block;max-width:900px}
 .story-woven-block:not(:has(.story-woven-image)) .story-woven-copy{max-width:65ch;margin-inline:auto}
 main .story-ending{padding-top:52px;padding-bottom:52px}
 .story-ending h2{margin-bottom:22px}
 .vendor-section,.story-experience{gap:48px;align-items:start}
 .stories-hero{gap:48px}
 .story-preview-copy h3{margin:12px 0 18px}
 main .card-caption p,main .destination-card p,main .story-preview-copy .eyebrow{font-size:14px;line-height:1.6}
 .card-caption{gap:16px;padding-top:18px}
 .team-grid{gap:48px}
 .team-grid p:not(.eyebrow){max-width:62ch}
 .faq-section{gap:48px;grid-template-columns:1fr 1.4fr}
 .faq-list summary{font-size:17px;line-height:1.6;padding-block:22px}
 .pricing-notes{gap:40px;padding:28px;margin-top:32px}
 .approved-offerings{gap:16px}
 .approved-offerings .comparison-card{padding:24px 18px}
 .approved-offerings .comparison-card h3{min-height:34px;font-size:30px!important;margin:14px 0}
 main .comparison-card .comparison-description,main .comparison-feature>p{font-size:14px;line-height:1.7}
 main .comparison-card .offering-note{font-size:13px;line-height:1.7}
 .comparison-feature{padding:16px 0}
 .feature-label{font-size:10px;letter-spacing:.025em}
 .upgrade-label{font-size:9px}
 main .comparison-card .experience-price{font-size:34px}
 .extras-grid{gap:0 40px}
 .extra-row{padding-block:24px}
 .extra-heading{gap:16px}
 main .extra-heading .extra-price{font-size:16px}
 .session-grid{gap:30px}
 main .session-note,main .comparison-legend{font-size:15px}
 .travel-grid{gap:28px}
 .travel-card,.offering-card{padding:28px}
 main .travel-card .travel-date{font-size:18px}
 .filmmaker-hero,.lut-bundle-feature{gap:48px}
 .filmmaker-options{gap:32px}
 .filmmaker-simple{min-height:520px;max-width:1050px}
 .filmmaker-simple p:not(.eyebrow){max-width:65ch}
 main .lut-description{font-size:17px;line-height:1.75}
 main .lut-description p{font-size:17px}
 .lut-pdp{gap:48px}
 .lut-shop-head{margin-top:36px}
 .lut-layout{grid-template-columns:190px minmax(0,1fr);gap:32px}
 .lut-toolbar,.lut-categories{font-size:14px}
 main .lut-toolbar p{font-size:14px}
 .lut-filter-form label,.lut-filter-form legend{font-size:13px;line-height:1.6}
 .lut-grid{gap:36px 24px}
 main .lut-price{font-size:19px}
 main .download-note{font-size:14px}
 .lut-card .button{font-size:13px}
}
@media(min-width:901px){
 main .story-woven-copy p:not(.eyebrow){font-size:18px!important}
 main .story-film-first .film-pending{aspect-ratio:auto;min-height:220px;padding:48px 30px}
 main .comparison-card .comparison-description,main .comparison-feature>p{font-size:15px!important;line-height:1.7}
 main .comparison-card .offering-note{font-size:13px!important;line-height:1.7}
 main .card-caption p,main .destination-card p{font-size:14px!important}
 main .lut-toolbar p{font-size:14px!important}
}
/* Vendor handles remain readable and clickable at every screen width. */
.vendor-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 30px;align-content:start}
.vendor-list>div{min-width:0}
.vendor-list p{font-family:var(--font-body);font-size:16px;line-height:1.6;font-weight:400;margin-top:8px;overflow-wrap:anywhere}
.vendor-list span{font-size:11px;letter-spacing:.1em}
.vendor-list a{display:inline-block;max-width:100%;text-underline-offset:4px}
@media(max-width:700px){.vendor-list{grid-template-columns:minmax(0,1fr);gap:25px}.vendor-list p{font-size:16px}}
