.guide-lead-image{width:min(var(--content-max),calc(100vw - (2 * var(--page-gutter))));height:clamp(260px,38vw,560px);margin:0 auto 62px;position:relative;overflow:hidden;background:var(--ink);border-radius:220px 220px 18px 18px;box-shadow:14px 16px 0 rgba(19,43,53,.12)}
.guide-lead-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.guide-lead-image::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(19,43,53,.78));pointer-events:none}
.guide-lead-image figcaption{position:absolute;z-index:1;right:28px;bottom:24px;left:28px;color:#fff;font:italic clamp(18px,2.2vw,28px)/1.15 Georgia,serif;max-width:560px}
.source-directory{background:var(--paper)}
.source-directory-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.source-directory-card{min-height:250px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;background:#fff;transition:transform .2s,background .2s}
.source-directory-card:hover{background:var(--sun);transform:translateY(-3px)}
.source-directory-name{display:inline-flex;align-items:center;min-height:54px;margin-bottom:30px;padding:9px 14px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:700 13px/1.2 Arial,sans-serif;overflow-wrap:anywhere}
.source-directory-card small{color:var(--coral);font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.source-directory-card h3{margin:10px 0;font:italic 28px/1 Georgia,serif}
.source-directory-card p{margin:0;font-size:14px;line-height:1.55}
.source-directory-card .text-link{margin-top:auto;padding-top:20px;font-size:12px}
.travel-moments-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.travel-moments-grid figure{min-height:340px;margin:0;position:relative;overflow:hidden;background:var(--ink)}
.travel-moments-grid figure:nth-child(2),.travel-moments-grid figure:nth-child(3){border-radius:160px 0 160px 0}
.travel-moments-grid img{width:100%;height:100%;min-height:340px;display:block;object-fit:cover;transition:transform .5s ease}
.travel-moments-grid figure:hover img{transform:scale(1.025)}
.travel-moments-grid figcaption{position:absolute;right:18px;bottom:18px;left:18px;padding:13px 16px;background:rgba(19,43,53,.86);color:#fff;font:italic 18px/1.25 Georgia,serif}
.article-photo{position:relative;margin:48px 0 64px;overflow:hidden;border-radius:150px 0 150px 0;background:var(--ink)}
.article-photo-offset{border-radius:0 150px 0 150px}
.article-photo img{width:100%;height:clamp(290px,38vw,430px);display:block;object-fit:cover}
.article-photo figcaption{position:absolute;right:18px;bottom:18px;left:18px;margin:0;padding:13px 16px;background:rgba(19,43,53,.88);color:#fff;font:italic 16px/1.35 Georgia,serif;backdrop-filter:blur(6px)}
.article-photo-offset figcaption{left:clamp(72px,12vw,145px)}
.guide-card.has-cover{min-height:440px;padding:0;overflow:hidden}
.guide-card-cover{width:100%;height:220px;display:block;object-fit:cover;border-bottom:1px solid var(--line)}
.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-right:30px;margin-left:30px}
.guide-card.has-cover>span{margin-top:24px}
.guide-card.has-cover>p{margin-top:18px}
.guide-card.has-cover>em{margin-bottom:28px}
@media(max-width:900px){.source-directory-grid{grid-template-columns:repeat(2,1fr)}.guide-lead-image{border-radius:150px 150px 14px 14px;margin-bottom:48px}}
@media(max-width:620px){.guide-lead-image{width:calc(100% - 44px);height:320px;border-radius:100px 100px 12px 12px}.guide-lead-image figcaption{right:20px;bottom:18px;left:20px}.source-directory-grid,.travel-moments-grid{grid-template-columns:1fr}.source-directory-card{min-height:220px;padding:26px 22px}.guide-card.has-cover{min-height:410px}.guide-card-cover{height:200px}.travel-moments-grid figure,.travel-moments-grid img{min-height:280px}.travel-moments-grid figure:nth-child(2),.travel-moments-grid figure:nth-child(3){border-radius:90px 0 90px 0}.article-photo,.article-photo-offset{margin:38px 0 50px;border-radius:80px 0 80px 0}.article-photo img{height:280px}.article-photo figcaption{right:12px;bottom:12px;left:12px}}

/* Intent-led navigation: useful to readers arriving with a task, not a topic. */
.intent-section{background:var(--paper)}
.intent-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.intent-grid a{min-height:300px;padding:30px;display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;transition:background .2s,transform .2s}
.intent-grid a:hover{background:var(--sun);transform:translateY(-3px)}
.intent-grid>a>span,.related-guides-grid>a>span{color:var(--coral);font-size:11px;font-weight:900;letter-spacing:.08em}
.intent-grid h3{max-width:280px;margin:42px 0 16px;font:italic clamp(27px,2.6vw,39px)/1.03 Georgia,serif}
.intent-grid p{max-width:36ch;margin:0;font-size:14px;line-height:1.65}
.intent-grid em,.related-guides-grid em{margin-top:auto;padding-top:28px;font-style:normal;font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}

/* On-page orientation for long editorial collections. */
.page-jump-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.page-jump-nav a{padding:12px 16px;border:1px solid var(--ink);font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;transition:background .2s,color .2s}
.page-jump-nav a:hover{background:var(--ink);color:#fff}

/* Useful editorial tool: all calculations are performed locally in the browser. */
.budget-tool{display:grid;grid-template-columns:minmax(240px,.62fr) minmax(0,1.38fr);gap:clamp(35px,7vw,100px);align-items:start;scroll-margin-top:110px}
.budget-tool-intro{position:sticky;top:125px}
.budget-tool-intro h2{margin:0 0 25px;font:500 clamp(38px,4.8vw,68px)/.98 Georgia,serif;letter-spacing:-.04em}
.budget-tool-intro>p:not(.eyebrow){font:17px/1.7 Georgia,serif}
.budget-calculator{border:1px solid var(--line);background:var(--paper)}
.budget-fields{display:grid;grid-template-columns:1fr 1fr;padding:28px;gap:22px}
.budget-fields label{display:grid;gap:9px;align-content:start}
.budget-fields label>span:first-child{min-height:28px;font-size:10px;font-weight:900;line-height:1.35;letter-spacing:.08em;text-transform:uppercase}
.budget-fields input{width:100%;height:52px;padding:0 42px 0 14px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);font:20px/1 Georgia,serif}
.budget-fields input:focus{border-color:var(--coral)}
.money-input{position:relative;display:block}
.money-input b{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:13px}
.budget-result{padding:32px;background:var(--ink);color:#fff}
.budget-result>p{margin:0 0 10px;color:var(--sun);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.budget-result output{display:block;margin-bottom:28px;font:italic clamp(44px,6vw,76px)/1 Georgia,serif}
.budget-result dl{display:grid;grid-template-columns:1fr 1fr;margin:0;border-top:1px solid rgba(255,255,255,.25)}
.budget-result dl div{padding:14px 14px 14px 0;border-bottom:1px solid rgba(255,255,255,.25)}
.budget-result dl div:nth-child(even){padding-left:14px;border-left:1px solid rgba(255,255,255,.25)}
.budget-result dt{font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;opacity:.72}
.budget-result dd{margin:6px 0 0;font:italic 22px/1.1 Georgia,serif}
.budget-result small{display:block;margin-top:22px;line-height:1.5;opacity:.72}

/* Contextual internal links at the point where a reader decides what to do next. */
.related-guides{background:var(--paper)}
.related-guides-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.related-guides-grid a{min-height:250px;padding:30px;display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;transition:background .2s,transform .2s}
.related-guides-grid a:hover{background:var(--sun);transform:translateY(-3px)}
.related-guides-grid h3{margin:35px 0 14px;font:italic clamp(26px,2.6vw,38px)/1.05 Georgia,serif}
.related-guides-grid p{margin:0;font-size:14px;line-height:1.65}

@media(max-width:900px){
  .intent-grid{grid-template-columns:repeat(2,1fr)}
  .budget-tool{grid-template-columns:1fr}
  .budget-tool-intro{position:static}
  .related-guides-grid{grid-template-columns:1fr}
  .related-guides-grid a{min-height:210px}
}
@media(max-width:620px){
  .intent-grid,.budget-fields{grid-template-columns:1fr}
  .intent-grid a{min-height:250px;padding:26px 22px}
  .intent-grid h3{margin-top:32px}
  .page-jump-nav{align-items:stretch;flex-direction:column}
  .page-jump-nav a{text-align:center}
  .budget-fields,.budget-result{padding:24px 22px}
  .budget-fields label>span:first-child{min-height:auto}
  .budget-result dl{grid-template-columns:1fr}
  .budget-result dl div:nth-child(even){padding-left:0;border-left:0}
}

/* Packing quantities: a compact, adaptable baseline rather than a rigid list. */
.packing-tool{display:grid;grid-template-columns:minmax(240px,.62fr) minmax(0,1.38fr);gap:clamp(35px,7vw,100px);align-items:start;scroll-margin-top:110px}
.packing-tool-intro{position:sticky;top:125px}
.packing-tool-intro h2{margin:0 0 25px;font:500 clamp(38px,4.8vw,68px)/.98 Georgia,serif;letter-spacing:-.04em}
.packing-tool-intro>p:not(.eyebrow){font:17px/1.7 Georgia,serif}
.packing-planner{border:1px solid var(--line);background:var(--paper)}
.packing-fields{display:grid;grid-template-columns:1fr 1fr;padding:28px;gap:22px}
.packing-fields label{display:grid;gap:9px;align-content:start}
.packing-fields label>span:first-child{font-size:10px;font-weight:900;line-height:1.35;letter-spacing:.08em;text-transform:uppercase}
.packing-fields input[type="number"],.packing-fields select{width:100%;height:52px;padding:0 14px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);font:18px/1 Georgia,serif}
.packing-fields select{cursor:pointer}
.unit-input{position:relative;display:block}
.unit-input input{padding-right:62px!important}
.unit-input b{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:11px;text-transform:uppercase}
.packing-fields .packing-checkbox{min-height:52px;display:flex;align-items:center;gap:12px;align-self:end;padding:12px 14px;border:1px solid var(--line);background:#fff;cursor:pointer}
.packing-checkbox input{width:20px;height:20px;accent-color:var(--coral)}
.packing-checkbox span{font-size:13px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important}
.packing-result{padding:32px;background:var(--ink);color:#fff}
.packing-result>p{margin:0 0 20px;color:var(--sun);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.packing-result dl{display:grid;grid-template-columns:repeat(5,1fr);margin:0;border-top:1px solid rgba(255,255,255,.25)}
.packing-result dl div{min-width:0;padding:16px 10px;border-right:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}
.packing-result dl div:last-child{border-right:0}
.packing-result dt{min-height:34px;font-size:8px;font-weight:900;line-height:1.35;letter-spacing:.06em;text-transform:uppercase;opacity:.72}
.packing-result dd{margin:8px 0 0;font:italic clamp(28px,3vw,42px)/1 Georgia,serif}
.packing-extra{margin-top:24px;padding:20px;background:rgba(255,255,255,.08)}
.packing-extra strong{color:var(--sun);font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.packing-extra p{margin:8px 0 0;font:16px/1.55 Georgia,serif}
.packing-result small{display:block;margin-top:20px;line-height:1.5;opacity:.72}

.checklist-actions{display:flex;flex-wrap:wrap;gap:12px 20px}
.checklist-summary>small{display:block;margin-top:18px;max-width:29ch;line-height:1.45;opacity:.68}
.print-only{display:none}

@media(max-width:900px){
  .packing-tool{grid-template-columns:1fr}
  .packing-tool-intro{position:static}
}
@media(max-width:620px){
  .packing-fields{grid-template-columns:1fr;padding:24px 22px}
  .packing-result{padding:24px 22px}
  .packing-result dl{grid-template-columns:repeat(2,1fr)}
  .packing-result dl div{border-right:0}
  .packing-result dl div:nth-child(odd){border-right:1px solid rgba(255,255,255,.25)}
  .packing-result dl div:last-child{border-right:1px solid rgba(255,255,255,.25)}
}

@media print{
  body.print-checklist{background:#fff;color:#111}
  body.print-checklist .site-header,body.print-checklist .breadcrumbs,body.print-checklist .guide-lead-image,body.print-checklist .page-hero,body.print-checklist .checklist-summary,body.print-checklist .content-band,body.print-checklist .faq,body.print-checklist .related-guides,body.print-checklist .site-footer,body.print-checklist .noscript{display:none!important}
  body.print-checklist .checklist-page{display:block;width:100%;max-width:none;padding:0}
  body.print-checklist .print-only{display:block;margin:0 0 24px;font:700 26px/1.2 Georgia,serif}
  body.print-checklist .checklist-groups{display:grid;grid-template-columns:1fr 1fr;gap:18px 36px}
  body.print-checklist .checklist-groups section{break-inside:avoid;margin:0}
  body.print-checklist .checklist-groups h2{margin:0 0 8px;font-size:20px}
  body.print-checklist .checklist-items label{min-height:42px;grid-template-columns:28px 25px 1fr}
  body.print-checklist .custom-check{width:20px;height:20px}
  body.print-checklist .checklist-items label em{font-size:14px}
  body.print-checklist .checklist-items label.checked em{opacity:1}
}

.guide-answer{width:min(var(--content-max),calc(100% - 44px));margin:0 auto 42px;padding:26px 30px;background:var(--paper);border-left:4px solid var(--coral)}
.guide-answer h2{margin:0 0 12px;font:italic clamp(24px,3vw,34px)/1.2 Georgia,serif}.guide-answer p{max-width:78ch;margin:0;font:17px/1.7 Georgia,serif}
.catalog-directory-nav{display:flex;flex-wrap:wrap;gap:12px 24px;margin:32px 0}.catalog-directory-nav a{text-decoration:underline;text-underline-offset:4px}.catalog-directory-section{margin:42px 0}.catalog-directory-section h2{scroll-margin-top:120px}.catalog-directory-section caption{text-align:left;padding:16px;font-weight:700}.catalog-complete-link{margin-top:24px}
.hero-copy{min-width:0}
.page-hero h1{line-height:1.02;overflow-wrap:anywhere;hyphens:auto}
@media(min-width:901px){.hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);column-gap:32px}.hero h1{font-size:clamp(56px,6.4vw,102px);line-height:.95}.hero h1 span:nth-child(2){margin-left:clamp(0px,2vw,30px)}}
