/* Shared editorial scale. Loaded after component styles. */
:root{--content:1240px;--header:1320px;--footer:1240px;--gutter:clamp(18px,3vw,40px);--muted:#595959}
body{font-size:16px;line-height:1.65}
main :is(section,article,aside,div,nav){min-width:0}
main :is(p,li,dd){overflow-wrap:break-word}
main :is(.section,.promise){padding-block:56px}
main :is(.section,.promise)>p:not(.eyebrow){max-width:80ch}
main :is(.section,.promise,.cta,.home-answer,.inspiration-journal,.theme-final-cta) h2{font-size:clamp(27px,2.5vw,36px);line-height:1.16;letter-spacing:-.025em}
main :is(.section,.promise) h3{font-size:22px;line-height:1.3;letter-spacing:-.01em}
main :is(.hero,.page-hero,.destination-hero) h1{font-size:clamp(32px,3.6vw,52px);line-height:1.12;letter-spacing:-.03em;max-width:1000px;text-wrap:balance}
.hero{min-height:0;padding-top:56px;padding-bottom:38px}
.error-page h1{font-size:clamp(32px,3.6vw,52px);line-height:1.15;max-width:900px}
.error-page{padding-block:56px}
.page-hero,.destination-hero,.theme-detail-hero,.article-hero,.employment-hero{min-height:0;padding-top:48px;padding-bottom:48px}
.hero-copy{max-width:800px}
.hero-copy>p:last-child,.destination-lede,.page-hero>p:last-child{font-size:18px;line-height:1.65;max-width:76ch}
.visible-breadcrumbs{margin-bottom:24px;font-size:14px}
.photo-caption{position:relative;inset:auto;align-self:flex-start;margin:24px 0 0;font-size:12px;max-width:76ch}
.section-heading{gap:28px;margin-bottom:28px;align-items:start}
.section-heading>div{max-width:750px}
.section-heading>p{max-width:55ch;flex:1}
.section-intro{margin:16px 0 28px;font-size:17px}
.eyebrow{font-size:12px;line-height:1.5;letter-spacing:.1em}
.header-inner{gap:22px}
.site-header nav{gap:18px}
.brand img{width:220px;height:auto}
.site-header nav a{font-size:13px}
.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:14px;text-transform:none;letter-spacing:0;white-space:normal;line-height:1.4;text-align:center}
.text-link{white-space:normal}
.search-wrap{margin-top:28px}
.search-fields{grid-template-columns:1fr 1fr .9fr .9fr .6fr 1.3fr;gap:12px;padding:20px}
.search-fields label{min-width:0;padding-inline:8px;font-size:12px;letter-spacing:.02em}
.search-fields input,.search-fields select{min-width:0;font-size:16px;padding-top:4px}
.search-fields button{height:auto;min-height:56px;font-size:14px;text-transform:none;line-height:1.4;padding:12px}
.search-card:not(:has(#search-origin)) .search-fields{grid-template-columns:1.3fr 1fr 1fr .6fr 1.4fr}
main .service-card--visual{padding:0 20px 22px}
.service-card-image{width:calc(100% + 40px);margin-inline:-20px;max-width:none;height:150px}
main .guide-grid--visual article{padding:0}
.guide-grid--visual article>img{aspect-ratio:16/9;max-height:210px}
.search-tabs a{font-size:15px;min-height:44px}
.search-note{font-size:13px;line-height:1.6;text-align:left;max-width:95ch}
.hero-stats{font-size:13px;gap:16px 28px}
.hero-stats strong{font-size:21px}
main :is(.service-card,.guide-grid article,.tips-grid article,.destination-highlight-grid article,.season-grid article,.destination-booking-grid article,.theme-criteria-grid article,.theme-service-grid a,.training-grid article,.contact-route-grid article,.about-commitment-grid article,.guides-method-grid article){min-height:0;padding:24px}
main :is(.service-card,.guide-grid article,.destination-highlight-grid article,.theme-criteria-grid article,.theme-service-grid a,.training-grid article,.contact-route-grid article,.about-commitment-grid article) h3{margin-top:20px}
main :is(.service-card,.guide-grid article,.tips-grid article,.destination-highlight-grid article,.season-grid article,.destination-booking-grid article,.theme-criteria-grid article,.training-grid article,.contact-route-grid article,.about-commitment-grid article,.region-guide-grid article,.method-grid article,.job-family-card,.itinerary-steps,.editorial-method-steps,.guides-method-grid article,.service-checklist,.home-answer-steps,.theme-choice-steps) p{font-size:16px;line-height:1.65}
main :is(.featured-guide-grid,.travel-theme-grid,.guide-feature-grid) p{font-size:16px;line-height:1.65}
main :is(.featured-guide-grid,.travel-theme-grid,.guide-feature-grid,.related-destination-grid,.related-theme-grid) strong{font-size:24px;line-height:1.25}
main :is(.featured-guide-grid,.travel-theme-grid,.related-destination-grid,.related-theme-grid) small{font-size:12px}
main :is(.service-card,.guide-grid,.destination-booking-grid,.theme-service-grid,.training-grid,.contact-route-grid,.region-guide-grid) a,main :is(.featured-guide-grid,.travel-theme-grid,.guide-feature-grid,.related-destination-grid,.related-theme-grid) b{font-size:15px}
.destination-overview,.destination-method,.guides-method,.employment-overview{grid-template-columns:1fr;gap:28px}
.destination-overview-heading{max-width:820px}
.destination-highlight-grid,.method-grid,.guides-method-grid,.employment-principles{grid-template-columns:repeat(3,minmax(0,1fr))}
main :is(.destination-itinerary,.destination-practical,.theme-profile,.theme-planning,.theme-editorial-intro,.theme-choice-method,.home-answer,.service-answer,.service-resources,.guides-answer,.about-summary,.editorial-method,.about-transparency,.contact-email,.reservation-boundary,.promise,.home-employment,.service-editorial,.inspiration-journal){column-gap:40px}
.destination-facts>div{padding:18px}
.destination-facts span,.destination-booking-grid article>span,.job-family-card dt,.theme-profile dt{font-size:12px}
.destination-facts strong,.job-family-card dd{font-size:16px}
.destination-booking-card{padding:26px}
.destination-booking-card h2{font-size:28px!important;margin-top:18px}
.destination-booking-card small{font-size:13px;color:#ddd}
.destination-feature-grid{grid-template-rows:210px 210px}
.destination-tile,.destination-tile img{height:190px;min-height:190px}
.destination-overlay strong{font-size:22px}
.destination-overlay small,.destination-overlay b{font-size:12px}
.featured-guide-grid img,.travel-theme-grid img,.guide-feature-grid>a>img{aspect-ratio:16/9;max-height:210px}
.destination-gallery img,.service-editorial img,.about-editorial-visual img{aspect-ratio:16/9;max-height:310px}
.destination-gallery figcaption,.service-editorial figcaption,.about-editorial-visual figcaption{font-size:14px;line-height:1.6}
.inspiration-journal-visual img{max-height:340px;object-fit:cover}
.related-destination-grid.text-card-grid>a,.related-theme-grid.text-card-grid>a{min-height:0}
.related-destination-grid.text-card-grid>a>span,.related-theme-grid.text-card-grid>a>span{min-height:150px;padding:22px}
.article-body{width:min(calc(100% - 2 * var(--gutter)),840px);padding:44px 0 60px}
.article-body h2,.article-body .article-answer h2{font-size:clamp(25px,2.2vw,30px);line-height:1.25}
.article-body p{font-size:17px;line-height:1.75}
.article-answer,.article-sources{padding:24px;margin-bottom:32px}
.article-answer li{font-size:16px}
.article-step{margin:28px 0 8px!important;font-size:13px!important}
.article-body section h2{margin-top:12px}
.article-body section{scroll-margin-top:24px}
.article-toc{gap:8px;flex-wrap:wrap}
.editorial-navigation{max-width:1240px;padding:20px var(--gutter)}
.theme-comparison th,.theme-comparison td{padding:16px;font-size:15px!important;letter-spacing:0!important;text-transform:none!important}
.theme-comparison{margin-right:0;border-radius:12px}
.theme-comparison,.comparison-scroll{max-width:100%;overscroll-behavior-inline:contain}
.comparison-scroll:focus-visible{outline:3px solid var(--orange-dark);outline-offset:3px}
.theme-profile dl>div{grid-template-columns:140px minmax(0,1fr)}
.theme-profile dd{font-size:16px}
.about-updated{margin:0 auto 40px;font-size:14px}
.footer-grid{gap:32px;grid-template-columns:1.5fr repeat(3,minmax(0,1fr))}
.footer-grid>div:first-child p,.footer-grid>div>a:not(.brand){font-size:15px}
.footer-grid h2,.footer-bottom{font-size:13px}
.footer-bottom{color:#ddd}
.cta{padding:32px;margin-bottom:56px;gap:24px}
.tool-actions button{min-height:44px;padding:10px 16px;border-radius:6px;border:1px solid var(--line)}
.place-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.place-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.place-card img{display:block;width:100%;height:210px;object-fit:cover}
.place-card>div{padding:22px;display:flex;flex:1;flex-direction:column}
.place-card h3{margin:0 0 12px!important}
.place-card p:not(.eyebrow){font-size:16px;color:var(--muted);margin:0 0 20px}
.place-card .text-link{margin-top:auto;line-height:1.5}
.place-card small{display:block;font-size:12px;color:var(--muted);margin-top:16px;overflow-wrap:anywhere}
.place-card small a{text-decoration:underline}
.place-content{width:min(calc(100% - 2 * var(--gutter)),840px);margin:32px auto 56px}
.place-content>section{margin-top:36px;scroll-margin-top:24px}
.place-content h2{font-size:30px;line-height:1.25;margin:0 0 20px}
.place-content h3{font-size:22px;line-height:1.3;margin:24px 0 8px}
.place-content p{line-height:1.75}
.place-content a{color:var(--orange-dark)}
.place-content p a,.documentary-photo a{text-decoration:underline;text-underline-offset:3px}
.documentary-photo{margin:0 0 24px}
.documentary-photo img{display:block;width:100%;max-height:380px;object-fit:contain;background:#ececeb;border-radius:10px}
.documentary-photo figcaption{font-size:13px;line-height:1.6;margin-top:12px;color:var(--muted)}
.place-content .article-toc{margin:20px 0}
.place-content .reference-facts{margin-block:24px}
@media(max-width:1100px){.place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.place-grid{grid-template-columns:1fr}.place-content h2{font-size:27px}.place-card img{height:190px}.documentary-photo img{max-height:260px}}
@media(min-width:781px) and (max-width:1180px){.search-fields,.search-card:not(:has(#search-origin)) .search-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.destination-catalog{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1180px){.header-cta{display:none}.region-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.destination-itinerary{grid-template-columns:1fr;gap:28px}.destination-booking-card{position:static}}
@media(max-width:780px){
 .brand img{width:clamp(150px,45vw,183px)}
 .header-inner{gap:12px}
 .menu-toggle{padding:8px 10px;flex-shrink:0}
 main :is(.section,.promise){padding-block:36px}
 .hero,.page-hero,.destination-hero,.article-hero,.theme-detail-hero,.employment-hero{padding:32px 18px}
 .section-heading{display:block;margin-bottom:24px}
 .section-heading>p{margin-top:16px}
 .search-fields,.search-card:not(:has(#search-origin)) .search-fields{grid-template-columns:1fr;gap:10px;padding:16px}
 .search-tabs a{font-size:13px}
 .hero-stats{gap:12px 22px}
 .destination-highlight-grid,.method-grid,.guides-method-grid,.employment-principles{grid-template-columns:1fr}
 .destination-feature-grid{grid-template-rows:repeat(4,210px)}
 .destination-facts>div{padding:16px 18px}
 .destination-gallery img,.service-editorial img,.about-editorial-visual img{max-height:240px}
 .home-answer{padding:36px 18px;gap:28px}
 .article-body{padding-top:28px}
 .article-toc{flex-wrap:nowrap}
 .article-answer ul{grid-template-columns:1fr}
 .theme-profile dl>div{grid-template-columns:1fr}
 .text-link{display:inline-block}
 .brand-cloud{grid-template-columns:repeat(2,minmax(0,1fr))}
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .footer-grid>div:first-child{grid-column:1/-1}
 .region-guide-grid{grid-template-columns:1fr}
 .theme-final-cta .button,.employment-feature>a{white-space:normal}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important}}
@media print{main :is(.section,.promise){padding:16px}.article-body{width:100%;padding:0}.photo-caption{color:#333}.editorial-navigation{display:none}.hero,.destination-hero{background:#fff;color:#000;padding:16px}}
