/* Phone compositions preserve the desktop identity without shrinking its columns. */
.mobile-film-controls{display:none}
@media(max-width:900px){
 header{height:72px;min-height:72px;padding:0 6%;flex-wrap:nowrap;gap:12px}
 header .wordmark{font-size:20px;letter-spacing:3px}
 header .wordmark span{font-size:6px;letter-spacing:1.8px}
 .menu-toggle{display:block;min-width:60px;min-height:44px;padding:10px 0;font-size:12px}
 header nav{display:none;position:absolute;top:72px;left:0;right:0;width:100%;max-height:calc(100svh - 72px);overflow-y:auto;overscroll-behavior:contain;background:var(--cream);padding:12px 6% 24px;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line)}
 header nav.open{display:flex}
 header nav>a{display:flex;align-items:center;min-height:48px;padding:12px 0;font-size:13px;line-height:1.5;letter-spacing:.4px;transform:none!important}
 header nav>a[aria-current=page]{color:#416b70;border-bottom:1px solid var(--line)}
 header nav .nav-cta{justify-content:center;margin-top:12px;padding:12px 18px}
}
@media(max-width:700px){
 html{scroll-padding-top:88px}
 .section{padding:48px 6%}
 .section-head{margin-bottom:26px}
 .section-head p,.stories-intro>p,.process-intro p,.host-step p,.host-community-copy li{font-size:16px;line-height:1.7}
 .section h2,.section-head h2,.intro h2,.reviews .section-head h2,.faq h2,.photo-library h2,.themed-feature h2,.host-community-copy h2,.custom-detail-strip h2{font-size:clamp(32px,10vw,44px);line-height:1.08;letter-spacing:-.02em}
 .eyebrow{font-size:10px;line-height:1.6;letter-spacing:1.6px;margin-bottom:16px}
 .topbar{height:auto;min-height:32px;padding:6px 5%;font-size:8px;letter-spacing:.4px;line-height:1.5;text-align:center;flex-wrap:wrap;gap:0 6px}
 .topbar a{margin-left:0}
 .btn{min-height:48px;max-width:100%;padding:15px 18px;font-size:12px;line-height:1.5;letter-spacing:.6px;gap:14px;text-align:center;justify-content:center;white-space:normal}
 .text-link{min-height:44px;font-size:12px;line-height:1.6;letter-spacing:.6px;display:inline-flex;align-items:center;padding:10px 0;margin-top:14px}
 .actions{gap:16px;margin-top:24px}
 .hero{height:auto;min-height:620px}
 .hero-content{padding:54px 6% 104px;max-width:none}
 .hero h1{font-size:clamp(40px,12vw,50px);line-height:1.04;letter-spacing:-.025em;margin-bottom:22px}
 .hero p{font-size:16px;line-height:1.65;max-width:34ch}
 .hero .eyebrow{max-width:31ch;font-size:10px}
 .hero .actions{display:flex;align-items:flex-start;flex-direction:column;gap:16px;margin-top:26px}
 .hero .watch{font-size:11px;min-height:44px;text-align:left}
 .hero-bottom{left:6%;right:6%;bottom:18px;display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;font-size:9px;letter-spacing:.6px}
 .hero-bottom>span{grid-column:1/-1}
 .hero-dots{order:0;min-height:44px;align-items:center}
 .hero-dots button{height:24px;width:28px;background:linear-gradient(transparent 10px,#ffffff70 10px,#ffffff70 13px,transparent 13px)}
 .hero-dots button.active{background:linear-gradient(transparent 10px,#fff 10px,#fff 13px,transparent 13px)}
 .hero-video-toggle{min-height:44px;padding:10px;font-size:10px}
 .values{gap:14px;padding:20px 6%;font-size:9px;line-height:1.6;letter-spacing:.6px}
 .intro,.trip-feature,.journey,.faq,.custom-hero,.custom-inquiry,.host-hero,.host-community,.stories-hero,.photo-hero,.faq-travel-hero,.featured-preview{grid-template-columns:minmax(0,1fr);gap:28px}
 .intro>div,.trip-copy,.custom-hero-copy,.stories-intro{min-width:0}
 .intro p,.journey p,.custom-inquiry-copy>p{font-size:16px;line-height:1.75}
 .trip-img{min-height:290px}
 .trip-copy{padding:26px 20px}
 .trip-copy h3,.featured-preview-copy h3{font-size:clamp(34px,10vw,42px);line-height:1.05}
 .trip-copy>p{font-size:16px;line-height:1.7}
 .meta{font-size:11px;line-height:1.6;gap:10px 16px;margin:22px 0;padding:16px 0}
 .trip-foot{gap:18px;align-items:flex-start}
 .trip-foot .btn{font-size:11px;min-height:48px;padding:14px 16px}
 .trip-foot .price{flex:1 1 100%}
 .trip-faq-link{font-size:13px}
 .tours-intro{padding:42px 6% 28px}
 .tours-intro h1,.stories-intro h1,.custom-hero h1,.faq-travel-hero h1,.process-intro h1{font-size:clamp(38px,11.5vw,48px);line-height:1.06;letter-spacing:-.025em}
 .tours-intro>p{font-size:16px;line-height:1.7}
 .tours-recap{width:calc(100% + 12vw);max-width:none;margin:28px -6vw 0}
 .tours-recap-toolbar{margin-inline:6vw;font-size:10px;line-height:1.6;gap:14px}
 .tours-recap-toolbar .text-link{font-size:10px;min-height:44px}
 .youtube-recap{width:100%;aspect-ratio:16/9}
 .youtube-recap-play-label{font-size:12px}
 .featured-preview-copy .featured-partnership{font-size:clamp(8px,2.55vw,12px);line-height:1.6}
 .region-tabs{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;gap:8px;padding:4px 0 12px;scrollbar-width:thin}
 .region-tabs button{flex:0 0 auto;min-height:44px;padding:12px 16px;font-size:12px;scroll-snap-align:start}
 .trip-anchor{scroll-margin-top:90px}
 .region-coming-soon h3{font-size:42px}
 .native-testimonial-grid,.story-reels{display:flex;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:1px;padding:2px 1px 14px;margin:26px 0 0;scrollbar-width:thin;scrollbar-color:#7b938d transparent}
 .native-testimonial-grid>*{flex:0 0 94%;scroll-snap-align:start}
 .native-testimonial-card video{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
 .native-testimonial-caption{padding:18px}
 .native-testimonial-caption h3{font-size:28px;line-height:1.15;overflow-wrap:normal}
 .native-testimonial-caption .eyebrow{font-size:10px;line-height:1.5}
 .native-video-play,.story-reel-play{width:52px;height:52px;font-size:19px}
 .story-reels>*{flex:0 0 86%;scroll-snap-align:start;margin-top:0!important}
 .story-reel-frame{border-radius:90px 90px 3px 3px;aspect-ratio:9/14}
 .story-reel-title{font-size:20px;line-height:1.4}
 .mobile-film-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 30px;font:12px/1.5 var(--ui)}
 .mobile-film-controls .film-position{color:var(--text-secondary);max-width:18ch}
 .mobile-film-controls>div{display:flex;gap:8px}
 .mobile-film-controls button{min-height:44px;min-width:58px;padding:8px 12px;border:1px solid #a6afa0;background:transparent;color:var(--ink);font:500 12px var(--ui)}
 .mobile-film-controls button:disabled{opacity:.4;cursor:default}
 .reel-instruction{font-size:12px;line-height:1.6;margin:0}
 .stories-stats>div>span{font-size:10px;line-height:1.5}
 .story-review-card,.story-review-card.story-pinned{padding:24px 20px}
 .story-bsimone-layout{grid-template-columns:minmax(0,1fr);gap:20px}
 .story-bsimone-photo{width:124px;aspect-ratio:3/4}
 .stories-library .story-review-card .story-summary{font-size:16px;line-height:1.8}
 .story-review-actions{justify-content:flex-start;gap:8px 18px}
 .story-review-footer{gap:16px}
 .story-tools{grid-template-columns:1fr;gap:16px}
 .story-tools label,.story-source-note p{font-size:12px}
 .story-search{grid-column:auto}
 .traveler-note-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:20px}
 .traveler-note-actions .quote-controls{margin-top:0;gap:8px}
 .traveler-note-actions .btn{font-size:10px;padding:10px;min-height:44px}
 .quote-controls .circle{min-height:44px;min-width:54px;font-size:11px;padding:8px}
 .faq details summary{font-size:15px;line-height:1.6;padding-block:20px;gap:12px}
 .faq .faq-photo{height:260px;max-height:260px}
 .faq-travel-ticket{width:100%;padding-inline:22px}
 .faq-travel-ticket h2{font-size:36px}
 .faq-topic-nav{gap:8px}
 .faq-topic-button{min-height:60px;padding:12px 10px}
 .faq-topic-button>span:nth-child(2){font-size:12px}
 .faq-topic-panel h3{font-size:30px}
 .faq-topics .faq-list summary{font-size:15px;line-height:1.6}
 .host-hero h1{font-size:clamp(36px,10.5vw,46px);line-height:1.1}
 .host-hero h1 .host-brandline{font:inherit;letter-spacing:inherit}
 .host-hero-film{max-width:100%;width:100%}
 .host-film-frame{aspect-ratio:9/13;box-shadow:none}
 .host-film-tools{font-size:11px;line-height:1.6;gap:16px;margin-top:16px}
 .host-film-tools button{font-size:11px;min-height:44px;flex-shrink:0}
 .host-film-stamp{font-size:20px;bottom:70px}
 .host-journey-heading em{font-size:1.2em}
 .host-step h3{font-size:32px}
 .host-route-map{max-width:340px}
 .host-map-top button{min-height:44px;font-size:11px}
 .custom-hero-photo{height:370px}
 .custom-occasion-list button{min-height:64px}
 .custom-occasion-list button>span:nth-child(2){font-size:22px}
 .custom-inquiry h2,.host-application h2.host-journey-heading{font-size:clamp(34px,10vw,44px)}
 .custom-form-grid label,.host-brain-dump,.host-goals-label{font-size:13px;line-height:1.6}
 .custom-form-grid input,.custom-form-grid select,.custom-form-grid textarea,.host-brain-dump textarea,.story-tools input,.story-tools select{min-width:0;width:100%;font-size:16px;min-height:48px;padding:12px}
 .custom-form-grid textarea,.host-brain-dump textarea{min-height:110px}
 .custom-questionnaire>summary{padding:18px 16px;min-height:72px}
 .custom-questionnaire-content{padding:22px 16px}
 .host-goals-dropdown>summary,.host-goals-options label{font-size:14px;min-height:48px}
 .host-field-hint,.host-brain-dump small,.inquiry-marketing-opt-in,.custom-form-note{font-size:12px;line-height:1.7}
 .inquiry-marketing-opt-in{padding-block:12px}
 .process-intro{padding-top:40px;padding-bottom:32px}
 .process-journey{display:block;padding:0 6% 24px}
 .process-map-panel{top:72px;padding:8px 6% 10px;margin:0 -6.82%;z-index:8}
 .process-map{width:220px;margin:0 auto}
 .process-map-heading .eyebrow{font-size:10px;letter-spacing:.5px}
 .process-motion-toggle{font-size:11px;min-height:44px}
 .process-node{min-height:44px}
 .process-node-number{width:40px;height:40px}
 .process-node>span:last-child{font-size:9px;max-width:82px}
 .process-map-status{padding-top:6px}
 .process-step{min-height:360px;padding:36px 0;scroll-margin-top:385px;opacity:1}
 .process-step h2{font-size:32px;line-height:1.12}
 .process-step p{font-size:16px;line-height:1.75}
 .process-next{min-height:44px;font-size:12px;padding-block:12px}
 .photo-hero .photo-headline{font-size:clamp(30px,8.6vw,38px);line-height:1.12;letter-spacing:-.025em}
 .photo-hero-art>img{height:380px}
 .photo-hero>div>p,.themed-feature p{font-size:16px;line-height:1.7}
 .photo-filter{min-height:44px;font-size:12px}
 .photo-filter-wrap{top:72px;margin-inline:0;padding-inline:0}
 .photo-wall{columns:1}
 .photo-tile img,.photo-tile:nth-child(3n+1) img,.photo-tile:nth-child(3n+2) img{height:auto;min-height:0;max-height:none}
 .photo-tile{margin-bottom:18px}
 .photo-tile-caption small{font-size:10px}
 .photo-tile-caption strong{font-size:26px}
 .photo-viewer-stage button,.photo-viewer-close{min-width:44px;min-height:44px}
 .photo-thumbnails{max-width:100%;width:100%}
 .cta{grid-template-columns:100px minmax(0,1fr);padding:18px;gap:18px}
 .cta h2{font-size:28px;line-height:1.12}
 .cta .actions .btn{font-size:10px;min-height:44px}
 .newsletter.section{padding:36px 6%;gap:24px}
 .newsletter h2{font-size:clamp(38px,11vw,44px);line-height:1.05}
 .newsletter .newsletter-photo{height:230px}
 .newsletter .signup-history-options label{min-height:44px;padding:8px 4px}
 .newsletter .newsletter-fields>button[type=submit]{min-height:60px;min-width:0;padding:15px 24px;max-width:100%;font-size:21px}
 .newsletter .newsletter-consent,.newsletter .signup-benefits p{font-size:12px;line-height:1.65}
 .newsletter .signup-ps{font-size:14px;line-height:1.65}
 .instagram-section .instagram-section-heading p{font-size:13px;line-height:1.7}
 .instagram-section .instagram-feed{gap:8px}
 .instagram-highlights a{min-height:44px;display:inline-flex;align-items:center;font-size:12px}
 footer{gap:28px;font-size:12px;line-height:1.7}
 footer a,footer button{min-height:44px;display:inline-flex;align-items:center}
 .back-top{min-height:44px;min-width:44px;font-size:11px}
 dialog:not(#photo-viewer){width:100%;max-width:100%;max-height:100dvh;padding:48px 16px 22px}
 .modal-content video,.modal-content iframe{width:100%;max-height:75svh;object-fit:contain}
 .modal-content video{height:auto;min-height:0}
 .modal-content iframe{height:auto;aspect-ratio:16/9}
 .modal-close{min-width:44px;min-height:44px}
}
@media(max-width:359px){
 .newsletter .newsletter-fields{grid-template-columns:1fr}
 .newsletter .newsletter-fields>button[type=submit]{grid-column:1}
 .traveler-note-actions{gap:8px}
 .traveler-note-actions .quote-controls{gap:4px}
 .traveler-note-actions .btn{letter-spacing:0;font-size:9px;padding:10px 8px}
 .quote-controls .circle{min-width:48px;font-size:10px;padding:8px}
 .cta{grid-template-columns:1fr}
 .cta .cta-photo{width:100%;height:180px}
 .featured-preview-copy .featured-partnership{white-space:normal}
}
@media(min-width:701px) and (max-width:1000px){
 .native-testimonial-grid{gap:16px}
 .native-testimonial-caption h3{font-size:24px}
 .stories-hero{grid-template-columns:1fr;gap:36px}
 .stories-intro h1{font-size:56px}
 .intro{gap:36px}
 .intro h2{font-size:48px}
 .custom-hero h1{font-size:60px}
 .process-step h2{font-size:38px}
 .process-step p{font-size:16px}
}
@media(hover:none){.btn:hover{transform:none}.trip-img:hover img,.photo-tile:hover img{transform:none}}
@media(max-width:700px){
 .hero-bottom>.hero-dots{grid-column:1;grid-row:2}
 .hero-bottom>.hero-video-toggle{grid-column:2;grid-row:2;justify-self:end;width:auto}
 .host-hero h1 .host-brandline{font-size:.67em;line-height:1.35;white-space:nowrap;letter-spacing:-.01em;margin-top:10px}
}
@media(max-width:700px){
 .host-film-frame,.story-reel-frame{aspect-ratio:9/16}
 .host-film-frame video,.story-reel-frame video{object-fit:contain;background:#182820}
 .native-testimonial-card video{aspect-ratio:var(--film-ratio,16/9)}
 header,.section{padding-left:max(6%,env(safe-area-inset-left));padding-right:max(6%,env(safe-area-inset-right))}
 footer{padding-bottom:max(28px,env(safe-area-inset-bottom))}
}

/* v90: compact review metadata, inquiry controls and shared signup. */
.story-review-heading{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:22px;align-items:center;margin:0 0 18px}
.story-review-heading .story-review-title{margin:0}
.story-review-heading .story-bsimone-photo{width:110px;height:132px;aspect-ratio:auto;object-fit:cover;object-position:center 40%}
.story-review-footer{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:center}
.story-review-footer .story-author{width:100%;min-width:0;gap:8px}
.story-review-footer .story-author>div{display:flex;flex:1;justify-content:space-between;align-items:baseline;gap:10px;min-width:0}
.story-review-footer .story-author strong{font:600 12px/1.5 var(--ui);white-space:nowrap;overflow-wrap:normal}
.story-review-footer .story-author div>span{font:400 11px/1.5 var(--ui);white-space:nowrap;color:#575c54}
.story-review-actions{display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:20px;max-width:none;width:100%;text-align:left}
.story-review-actions .story-original,.story-review-actions .story-read-more{display:inline-flex;align-items:center;min-height:44px;margin:0;padding:8px 0;border:0;background:transparent;color:#575c54;font:500 12px/1.5 var(--ui);text-decoration:underline;text-decoration-color:#575c54;text-decoration-thickness:1px;text-underline-offset:4px;white-space:nowrap;letter-spacing:0;text-transform:none}
.private-review-actions .text-link,.private-review-actions .private-review-toggle{color:#575c54;font:500 12px/1.5 var(--ui);text-decoration:underline;text-decoration-color:#575c54;text-underline-offset:4px;border-bottom:0}
.host-community-copy li:before{content:'';width:17px;height:17px;top:15px;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23638e92' d='M21 16v-2l-8-5V3.5a1.5 1.5 0 0 0-3 0V9l-8 5v2l8-2.5V19l-2 1.5V22l3.5-1 3.5 1v-1.5L13 19v-5.5Z'/%3E%3C/svg%3E") center/contain no-repeat}
.newsletter.section{padding-top:36px;padding-bottom:36px}
@media(max-width:700px){
 .stories-library .story-review-card,.story-review-card.story-pinned{padding:20px 18px;margin-bottom:16px}
 .stories-library .story-review-card .story-summary{font-size:15px;line-height:1.65;margin-bottom:16px}
 .story-review-card .story-review-title,.story-pinned .story-review-title{font-size:23px;line-height:1.18;margin-bottom:14px}
 .story-review-card .story-review-heading{grid-template-columns:minmax(0,1fr) 82px;gap:14px;align-items:center;margin-bottom:16px}
 .story-review-card .story-review-heading .story-review-title{font-size:23px;line-height:1.18;margin:0}
 .story-review-heading .story-bsimone-photo{width:82px;height:104px;max-width:none}
 .story-pin-label{font-size:18px;line-height:1.4;margin-bottom:10px}
 .story-card-top{margin-bottom:10px;font-size:10px;line-height:1.5}
 .story-stars{font-size:12px;line-height:1.5;margin-bottom:10px}
 .story-review-footer{margin-top:18px;gap:8px}
 .story-review-footer .story-avatar{width:24px;height:24px;font-size:9px}
 .story-review-footer .story-author strong{font-size:12px}
 .story-review-footer .story-author div>span{font-size:11px}
 .story-review-actions{gap:18px}
 .story-review-actions .story-original,.story-review-actions .story-read-more{font-size:12px;line-height:1.5}
 .custom-inquiry.section,.host-application.section{padding-top:34px;padding-bottom:34px;gap:24px}
 .custom-inquiry h2,.host-application h2.host-journey-heading{font-size:34px}
 .custom-form-grid{gap:12px}
 .custom-form-grid label,.host-brain-dump,.host-goals-label{font-size:12px;line-height:1.5}
 .custom-form-grid input,.custom-form-grid select,.story-tools input,.story-tools select{min-height:44px;height:44px;padding:9px 10px;font-size:16px;line-height:1.4}
 .custom-form-grid textarea,.host-brain-dump textarea{min-height:76px;padding:10px;font-size:16px;line-height:1.5}
 .custom-form-grid input::placeholder,.custom-form-grid textarea::placeholder,.host-brain-dump textarea::placeholder{font-size:12px;line-height:1.5;color:#676e69;opacity:1}
 .custom-questionnaire-content{padding:18px 14px}
 .custom-questionnaire>summary{padding:14px;min-height:60px}
 .custom-questionnaire>summary .disclosure-closed,.custom-questionnaire>summary .disclosure-open{font-size:14px}
 .custom-questionnaire>summary small{font-size:11px}
 .host-fields-group{margin-top:20px;padding-top:16px}
 .host-fields-group>legend{font-size:22px}
 .host-fields-group>.custom-form-grid{margin-top:14px}
 .host-goals-dropdown>summary,.host-goals-options label{min-height:44px;font-size:13px}
 .newsletter.section{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px 18px;padding:28px 6%;align-items:start}
 .newsletter .newsletter-copy{display:contents}
 .newsletter .newsletter-photo{grid-column:1;grid-row:1;width:84px;height:104px;max-height:104px;min-height:0}
 .newsletter .newsletter-photo img{object-position:center 57%}
 .newsletter h2{grid-column:2;grid-row:1;font-size:34px;line-height:1.03;align-self:center;margin:0;max-width:none}
 .newsletter .newsletter-offer{grid-column:1/-1;font-size:14px;line-height:1.5;margin:0}
 .newsletter .signup-benefits{grid-column:1/-1;margin:0}
 .newsletter .signup-benefits p{font-size:11px;line-height:1.5}
 .newsletter #twt-flodesk-inline{grid-column:1/-1;width:100%}
 .newsletter .newsletter-fields{gap:10px 12px;max-width:none;grid-template-columns:repeat(2,minmax(0,1fr))}
 .newsletter .newsletter-fields>label{font-size:11px;line-height:1.4}
 .newsletter .newsletter-fields input:not([type=radio]):not([type=hidden]){height:44px;min-height:44px;margin-top:5px;padding:9px 10px;font-size:16px}
 .newsletter .newsletter-fields input::placeholder{font-size:12px;color:#676e69;opacity:1}
 .newsletter .signup-field-hint{font-size:10px;line-height:1.4}
 .newsletter .signup-traveler-history{margin:2px 0 0}
 .newsletter .signup-traveler-history legend{font-size:11px;line-height:1.5;margin-bottom:6px}
 .newsletter .signup-history-options{gap:8px}
 .newsletter .signup-history-options label{min-height:36px;padding:6px 12px;font-size:12px}
 .newsletter .newsletter-fields>button[type=submit]{min-height:48px;font-size:18px;line-height:1.3;padding:12px 20px;gap:10px;margin-top:2px}
 .newsletter .signup-ps{font-size:12px;line-height:1.5;margin:10px 0 6px}
 .newsletter .newsletter-consent{font-size:11px;line-height:1.5}
}
@media(max-width:359px){
 .story-review-footer .story-author strong{font-size:11px}
 .story-review-footer .story-author div>span{font-size:10px}
 .story-review-actions{gap:14px}
 .story-review-actions .story-original,.story-review-actions .story-read-more{font-size:11px}
 .newsletter h2{font-size:30px}
 .newsletter .newsletter-fields{gap:10px}
 .newsletter .newsletter-fields>button[type=submit]{grid-column:1/-1}
}
@media(max-width:700px){.custom-form-grid{align-items:end}}
@media(max-width:700px){
 #custom-trip-form>.custom-form-grid,#host-inquiry-form>.custom-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .newsletter .signup-history-options label{min-height:44px}
}
