/* Shared reading rhythm; loaded after the existing component styles. */
:root{--content-max:1240px;--header-max:1440px;--footer-max:1240px;--page-gutter:clamp(20px,3vw,40px);--section-space:clamp(36px,4vw,56px)}
body{font-size:16px;line-height:1.6}
main :is(h1,h2,h3){overflow-wrap:break-word}
main h1,.page-hero h1{font:500 clamp(34px,3.6vw,52px)/1.12 Georgia,serif;letter-spacing:-.035em}
main h2,.section-heading h2,.checklist-intro h2,.prose h2,.faq h2,.content-band h2,.source-lead h2,.contact-panel h2,.legal h2{font:500 clamp(27px,2.6vw,38px)/1.18 Georgia,serif;letter-spacing:-.025em;margin:0 0 20px}
main h3{font:500 clamp(21px,1.8vw,26px)/1.25 Georgia,serif;letter-spacing:-.015em}
.section{padding:var(--section-space) var(--page-gutter)}
.section-tight{padding-top:28px}
.section-heading{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:32px;margin-bottom:28px;align-items:start}
.section-heading h2{margin-bottom:0;max-width:28ch}
.section-heading>p{font-size:16px;max-width:56ch}
.page-hero,.page-hero.compact{max-width:var(--content-max);padding:36px var(--page-gutter) 32px}
.page-hero>p:not(.eyebrow){font:18px/1.65 Georgia,serif;max-width:76ch;margin:20px 0 0}
.page-hero .eyebrow{margin-bottom:16px}
.page-jump-nav{gap:8px;margin-top:24px}
.page-jump-nav a{font-size:12px;min-height:44px;padding:10px 14px;display:flex;align-items:center;justify-content:center}
.breadcrumbs{max-width:var(--content-max);padding:18px var(--page-gutter) 0;font-size:12px;line-height:1.6}
.guide-lead-image{width:calc(100% - 2 * var(--page-gutter));max-width:1160px;height:clamp(220px,23vw,320px);margin:0 auto 24px;border-radius:12px;box-shadow:none}
.guide-lead-image figcaption{font:16px/1.45 Georgia,serif;max-width:74ch;left:20px;right:20px;bottom:16px}
.article-layout{max-width:var(--content-max);grid-template-columns:220px minmax(0,1fr);gap:40px;padding:28px var(--page-gutter) var(--section-space)}
.prose{min-width:0;max-width:78ch}
.prose section{margin-bottom:40px}
.prose :is(p,li){font-size:17px;line-height:1.75}
.toc{font-size:14px;gap:12px;max-height:calc(100vh - 150px);overflow-y:auto;padding:16px 6px 4px 0}
.toc strong{font-size:12px;margin-bottom:2px}
.hero{min-height:0;padding:48px var(--page-gutter) 76px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:center}
.hero h1{font-size:clamp(38px,4vw,60px);line-height:1.08}
.hero h1 span:nth-child(2){margin-left:0}
.hero-intro{font-size:18px;margin:24px 0;max-width:58ch}
.hero-photo,.hero-art.hero-photo{min-height:0;height:clamp(300px,31vw,420px);margin:0;border-radius:16px;box-shadow:none;align-self:center;position:relative}
.hero-photo img{min-height:0;height:100%;object-fit:cover}
.hero-photo figcaption{padding:12px 16px;left:16px;right:16px;bottom:16px}
.hero-route{display:none}
.language-hero{min-height:0}
.language-photo{max-width:1160px;height:320px;border-radius:12px;margin-bottom:24px}
.decision-grid,.timeline-grid,.section[aria-labelledby="deep-title"] .decision-grid,.section[aria-labelledby="deeper-guides-title"] .decision-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}
.decision-grid article,.timeline-grid article{min-height:0;padding:24px;min-width:0}
.decision-grid h3,.timeline-grid h3{font-size:25px;line-height:1.25;margin:0 0 16px}
.decision-grid article>span,.timeline-grid article>span{font-size:12px;margin-bottom:18px}
.decision-grid p,.timeline-grid p{font-size:16px;line-height:1.7}
.decision-grid p+p,.timeline-grid p+p{margin-top:14px}
.decision-grid .decision-illustration~h3{padding-top:24px}
.decision-illustration{width:48px;height:48px}
.method-steps li{min-height:0;padding:24px}
.method-steps h3{font-size:26px;margin:22px 0 12px}
.method-steps p{font-size:16px}
.guide-card,.guide-card.has-cover{min-height:0;padding:24px}
.guide-card.has-cover{padding:0}
.guide-card h2,.guide-card h3{font-size:28px;line-height:1.2;margin:14px 0 20px}
.guide-card>p{font-size:12px;margin:20px 0 8px}
.guide-card>em{font-size:14px;line-height:1.5}
.guide-card-cover{height:190px}
.guide-card.has-cover>span,.guide-card.has-cover>p,.guide-card.has-cover>h2,.guide-card.has-cover>h3,.guide-card.has-cover>em{margin-left:24px;margin-right:24px}
.intent-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}
.intent-grid a{min-height:0;padding:24px}
.intent-grid h3{font-size:27px;margin:24px 0 14px}
.intent-grid p,.source-directory-card p{font-size:16px}
.intent-grid em,.related-guides-grid em{font-size:12px;padding-top:20px}
.related-guides-grid a{min-height:0;padding:24px}
.related-guides-grid h3{font-size:27px;line-height:1.25;margin:22px 0 14px}
.related-guides-grid p{font-size:16px}
.source-section,.content-band{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;padding:var(--section-space) var(--page-gutter)}
.source-cards article{grid-template-columns:30px minmax(110px,.8fr) minmax(0,1.2fr);gap:16px;padding:20px 0}
.source-cards p{font-size:16px}
.source-lead>p:not(.eyebrow){margin:20px 0}
.destination-data-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.destination-data-grid article{min-height:0;min-width:0}
.destination-data-content{padding:24px}
.destination-data-grid h3{font-size:30px;margin:20px 0 14px}
.destination-data-grid dd{font-size:15px}
.destination-data-card.has-image>img{height:200px}
.destination-visual,.destination-visual img{min-height:0;height:340px}
.destination-guide{gap:36px}
.destination-guide h2{font-size:38px;line-height:1.2}
.article-photo,.article-photo-offset{margin:28px 0 36px;border-radius:12px}
.article-photo img{height:280px}
.article-photo figcaption,.article-photo-offset figcaption{left:16px;right:16px;bottom:16px;font-size:15px}
.travel-moments-grid figure,.travel-moments-grid img{min-height:0;height:280px;border-radius:12px!important}
.comparison-scroll{max-width:100%;margin-right:0}
.comparison-scroll th,.comparison-scroll td{font-size:15px;padding:14px 16px;line-height:1.6}
.comparison-scroll thead th{font-size:12px}
.catalog-card{min-height:0;padding:22px;min-width:0}
.catalog-card h3{font-size:27px;line-height:1.2;margin:20px 0}
.catalog-card dt,.catalog-stats dt{font-size:12px}
.catalog-card dd{font-size:15px;line-height:1.6}
.catalog-controls label{font-size:12px;line-height:1.5}
.catalog-controls input,.catalog-controls select{font-size:16px}
@media(min-width:1280px){.catalog-controls{grid-template-columns:minmax(0,1.4fr) repeat(4,minmax(0,1fr))}}
@media(min-width:761px) and (max-width:1279px){.catalog-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-controls>label:first-child{grid-column:1/-1}}
.catalog-guide-link,.catalog-compare-button{font-size:14px;line-height:1.5;min-height:44px}
.budget-tool,.packing-tool{grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);gap:36px}
.budget-tool-intro h2,.packing-tool-intro h2{font-size:36px;line-height:1.2}
.budget-fields label>span:first-child,.packing-fields label>span:first-child{font-size:12px;line-height:1.5}
.packing-result dl{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}
.packing-result dt{font-size:11px}
.packing-result>p,.budget-result>p,.packing-extra strong{font-size:12px}
.checklist-page{grid-template-columns:260px minmax(0,1fr);gap:36px}
.checklist-items label em{font-size:17px;line-height:1.5}
.contact-panel{padding:24px var(--page-gutter) 48px;gap:36px}
.faq{padding:var(--section-space) var(--page-gutter);max-width:var(--content-max)}
.faq details p{font-size:17px;line-height:1.7;max-width:76ch}
.faq summary{font-size:20px;padding-top:18px;padding-bottom:18px}
.site-footer{padding-top:48px}
.site-footer-inner{gap:32px}
.tip-card{min-height:0;padding:24px}
.tip-card h3{font-size:26px;margin-top:24px}
.tip-card p{font-size:16px;max-width:none}
.destination{min-height:0;height:320px}
.destination-copy h3{font-size:30px;line-height:1.2}
.decision-grid:has(>article:first-child:nth-last-child(5)),.decision-grid:has(>article:first-child:nth-last-child(6)){grid-template-columns:repeat(3,minmax(0,1fr))}
.decision-grid:has(>article:first-child:nth-last-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}
.button{line-height:1.5;min-height:44px;font-size:12px}
@media(max-width:1000px){.source-section,.budget-tool,.packing-tool,.checklist-page{grid-template-columns:1fr}.checklist-summary,.budget-tool-intro,.packing-tool-intro{position:static}.destination-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.method-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.article-layout{grid-template-columns:1fr;gap:28px}.toc{position:static;max-height:none;display:flex;flex-direction:row;flex-wrap:wrap;gap:12px 18px}.toc strong{width:100%}.hero{grid-template-columns:1fr;gap:28px;padding-top:32px;padding-bottom:58px}.hero-photo,.hero-art.hero-photo{height:300px;max-width:680px;width:100%;margin:0}.section-heading,.content-band{grid-template-columns:1fr;gap:20px}.section-heading h2{max-width:none}.source-cards article{grid-template-columns:30px 1fr}.source-cards article p{grid-column:2}.language-photo{height:280px}}
@media(max-width:620px){.page-hero{padding-top:28px;padding-bottom:24px}.page-jump-nav{flex-direction:row}.page-jump-nav a{flex:1 1 140px}.guide-lead-image{height:220px;margin-bottom:12px}.guide-lead-image figcaption{font-size:14px;left:14px;right:14px;bottom:12px}.hero h1{font-size:40px}.hero-intro{font-size:17px}.hero-buttons{width:100%}.hero-photo,.hero-art.hero-photo{height:250px}.destination-data-grid,.guide-grid,.method-steps,.decision-grid,.timeline-grid{grid-template-columns:1fr}.guide-card-cover,.destination-data-card.has-image>img{height:180px}.decision-grid article,.timeline-grid article{padding:22px}.guide-card h2,.guide-card h3{font-size:26px}.source-cards article{grid-template-columns:1fr}.source-cards article p{grid-column:auto}.catalog-grid{grid-template-columns:1fr}.article-photo img,.travel-moments-grid figure,.travel-moments-grid img{height:220px}.language-photo{height:240px}.destination-visual,.destination-visual img{height:260px}.content-band h2{font-size:30px}.numbered-list li{grid-template-columns:1fr;gap:6px}.catalog-controls .catalog-detail-filter{font-size:12px}.packing-result dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.decision-grid:has(>article:first-child:nth-last-child(5)),.decision-grid:has(>article:first-child:nth-last-child(6)){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.decision-grid:has(>article:first-child){grid-template-columns:1fr}.destination{height:280px}}
@media print{.guide-lead-image,.hero-photo,.toc,.page-jump-nav{display:none}.section{padding-block:20px}.prose section{margin-bottom:24px}}
.photo-credit{display:block;margin-top:8px;font:14px/1.6 var(--font-sans,Arial,sans-serif)}
.licensed-photo figcaption{overflow-wrap:anywhere}
.photo-credits-grid img{display:block;width:100%;height:180px;object-fit:cover;border-radius:8px;margin-bottom:20px}
.photo-credits-grid h3{font-size:22px}.photo-credits-grid p{overflow-wrap:anywhere}
.hero-photo figcaption a{color:inherit;font-size:13px}
