@import url('design-tokens.css');
@import url('components.css');
/* White travel guide: photography/illustration first, minimal nested surfaces. */
.shell{width:min(1200px,calc(100% - 64px));margin-inline:auto}
.eyebrow{font-size:12px;letter-spacing:1.4px;color:var(--muted);margin:0 0 8px;font-weight:650}
.trip-banner{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);align-items:center;gap:32px;margin-block:16px 12px}
.trip-banner-copy{display:grid;gap:14px;min-width:0;width:100%;padding-block:8px}
.trip-banner-kicker{display:inline-flex;align-items:center;justify-self:start;gap:8px;font-size:12px;line-height:1.5;font-weight:600;margin:0;color:var(--muted)}
.trip-banner-kicker::before{content:"";width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--accent)}
.trip-banner h1{display:flex;flex-direction:column;gap:2px;margin:0;font-weight:700;letter-spacing:-1px;line-height:1.3}
.trip-banner-lead,.trip-banner-destination{font-size:clamp(34px,3.2vw,44px);font-family:var(--body-font);font-weight:700;letter-spacing:-1px}
.trip-banner-destination{color:var(--accent)}
html[lang=en] .trip-banner-lead,html[lang=en] .trip-banner-destination{font-size:clamp(24px,2.35vw,34px);letter-spacing:-.8px}
.trip-banner-note{font-size:16px;line-height:1.65;margin:0;color:var(--muted)}
.trip-banner-note>span{display:block}
.hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;margin-top:4px}
.hero-actions>a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;font-size:14px;font-weight:650;line-height:1.5;transition:transform var(--motion),background var(--motion),border-color var(--motion)}
.hero-actions>a>span:first-child{white-space:nowrap}
.hero-actions>a>span:last-child{flex-shrink:0;font-size:18px;line-height:1}
.hero-actions>.trip-banner-link{background:var(--accent);border-color:var(--accent);color:#fff}
.trip-banner-link:hover{background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px)}
.hero-route-link{background:var(--surface);color:var(--ink)}
.hero-route-link:hover{background:var(--sky);border-color:var(--stroke);transform:translateY(-1px)}
.trip-banner-art{margin:0;min-width:0;position:relative}
.trip-banner-art img{width:100%;height:auto;object-fit:contain}
.trip-banner-art figcaption,.art-note{position:absolute;bottom:8px;right:8px;font-size:12px;padding:2px 5px;background:var(--surface);color:var(--muted);pointer-events:none}
.category-jumps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding-block:8px}
.jump-card{display:flex;align-items:center;gap:12px;min-width:0;min-height:72px;padding:12px 16px;border-radius:16px;background:var(--sky);transition:transform var(--motion)}
.jump-card:hover{transform:translateY(-2px)}
.jump-foods,.jump-brands{background:var(--coral)}
.jump-shopping{background:var(--sun)}
.jump-routes{background:var(--mint)}
.jump-icon{display:grid;place-items:center;flex-shrink:0;width:28px;height:32px;color:var(--ink)}
.jump-icon .icon{width:26px;height:26px}
.jump-card b{display:block;font-size:15px;line-height:1.4}
.jump-card small{display:block;font-size:12px;color:var(--muted);margin-top:3px}
.jump-arrow{margin-left:auto;font-size:18px}
.home-section{padding-block:16px}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}
.section-heading>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 16px;min-width:0}
.section-heading .eyebrow{display:none}
.section-heading h2{font-size:26px;line-height:1.4;margin:0}
.section-heading p:not(.eyebrow){font-size:14px;color:var(--muted);margin:0}
.section-heading .text-link{color:var(--ink)}
.preview-grid,.catalog-grid,.related-grid{display:grid;gap:20px}
.preview-grid{grid-auto-flow:column;grid-auto-columns:calc((100% - 80px)/5);overflow-x:auto;scroll-snap-type:x mandatory;padding:3px 0 8px;scrollbar-width:none}
.preview-grid::-webkit-scrollbar{display:none}
.catalog-grid,.related-grid{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:28px}
.preview-grid .card-cover{aspect-ratio:1.18}
.preview-grid .card-rank,.related-grid .card-rank{display:none}
.preview-grid .card-copy h3{font-size:16px}
.preview-grid .card-area{font-size:12px;margin-bottom:3px}
.preview-grid .card-english{font-size:12px}
.preview-grid .shopping .card-copy,.related-grid .shopping .card-copy{display:flex;flex-direction:column;align-items:flex-start;flex:1}
.preview-grid .shopping h3,.related-grid .shopping h3{min-height:2.8em;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-product-spec{font-size:12px;line-height:1.5;color:var(--muted);margin:6px 0 10px}
.preview-grid .shopping .card-detail-link,.related-grid .shopping .card-detail-link{margin-top:auto}
.preview-grid .shopping,.related-grid .shopping{display:flex;flex-direction:column}
.preview-grid .card-note,.related-grid .card-note{display:none}
.catalog-grid .card-cover{aspect-ratio:1.5}
.catalog-grid .card-copy{padding:12px 2px 0}
.catalog-grid .card-copy h3{font-size:18px;line-height:1.45}
.catalog-grid .card-english{display:none}
.catalog-grid .card-note{font-size:14px;line-height:1.6;margin-top:6px}
.catalog-grid .card-area{margin-bottom:4px}
.section-footnote{font-size:12px;color:var(--muted);margin:8px 0 0}
.preview-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}
.preview-footer .section-footnote{margin:0;min-width:0}
.preview-footer .rail-controls{flex-shrink:0}
.rail-controls{display:flex;justify-content:flex-end;gap:6px;margin-top:0}
.rail-controls button{width:44px;padding:0;background:var(--tint);border:0}
.food-band{background:var(--surface)}
.food-note{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px 16px;background:var(--sky);border-radius:12px}
.food-note p{font-size:13px;color:var(--muted);margin:0}
.food-note a{margin-left:auto;font-size:13px;color:var(--accent)}
.home-route-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.home-route-card{display:block;min-width:0;transition:transform var(--motion)}
.home-route-card:hover{transform:translateY(-2px)}
.home-route-cover{position:relative;height:170px;overflow:hidden;border-radius:16px}
.home-route-cover img{width:100%;height:100%;object-fit:cover}
.home-route-cover>span{position:absolute;bottom:12px;left:12px;background:#fff;padding:5px 12px;border-radius:999px;font-size:13px;font-weight:650}
.home-route-card h3{display:flex;justify-content:space-between;font-size:18px;margin:8px 0 4px}
.home-route-card h3 span{font-weight:400;color:var(--muted)}
.home-route-card p{font-size:14px;color:var(--muted);margin:0}
.home-route-action{margin-top:8px;font-size:12px}
.home-route-entry{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px;margin-block:16px 32px;background:var(--sky);border-radius:20px}
.home-route-entry h2{font-size:26px;margin:0 0 6px}
.home-route-entry p{font-size:14px;margin:0;color:var(--muted)}
.catalog-page{padding-block:24px 48px}
.back-link{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:var(--muted)}
.catalog-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0 24px}
.catalog-title-row h1{font-size:36px;line-height:1.35;margin:0 0 8px}
.catalog-title-row p:not(.eyebrow){margin:0;color:var(--muted);font-size:16px}
.catalog-symbol{color:var(--ink);display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:var(--sky)}
.catalog-symbol .icon{width:28px;height:28px}
.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-block:10px 16px;font-size:13px;color:var(--muted)}
.catalog-toolbar b{color:var(--ink)}
.catalog-presets{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:8px 0 0}
.catalog-preset-buttons{display:flex;flex-wrap:wrap;gap:6px}
.catalog-presets button,.catalog-filters button{border:0;background:var(--tint);border-radius:999px;padding:9px 16px;font-size:14px}
.catalog-presets button[aria-pressed=true],.catalog-filters button[aria-pressed=true]{background:var(--ink);color:#fff}
.catalog-presets>small,.catalog-empty{font-size:12px;color:var(--muted)}
.catalog-empty{padding:16px;border:1px dashed var(--line);border-radius:var(--radius)}
.catalog-filters{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 20px}
.catalog-filters small{margin-left:4px;opacity:.75}
.related-section{padding-bottom:40px}
.empty-page{padding:48px 16px;text-align:center}
.site-footer{padding-bottom:72px;background:var(--tint);margin-top:16px}
.travel-basics{padding-block:20px}
.travel-basics h2{font-family:var(--body-font);font-size:20px;margin:0 0 12px}
.travel-basics>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
.travel-basics details{min-width:0;padding:0 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.travel-basics summary{padding:14px 0;cursor:pointer;font-size:14px;font-weight:650}
.travel-basics p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}
.travel-basics a{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);font-size:12px}
@media(max-width:600px){.travel-basics>div{grid-template-columns:1fr;gap:8px}}
.footer-main{display:grid;grid-template-columns:1fr .7fr 1.3fr;gap:24px;padding-block:32px}
.footer-main .wordmark{font-size:24px}
.footer-main p{font-size:13px;color:var(--muted);margin:8px 0 0}
.footer-links{display:flex;flex-direction:column;gap:8px;font-size:13px}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:16px;font-size:12px;color:var(--muted)}
@media(max-width:1200px){.desktop-nav{display:none}.header-actions{margin-left:auto}.menu-button{display:flex}.preview-grid{grid-auto-columns:calc((100% - 60px)/4)}.category-jumps{gap:8px}.jump-card{padding:12px;gap:8px}.jump-arrow{display:none}}
@media(max-width:850px){.preview-grid{grid-auto-columns:calc((100% - 40px)/3)}.catalog-grid,.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-jumps{grid-template-columns:repeat(3,minmax(0,1fr))}.trip-banner{grid-template-columns:minmax(300px,.95fr) minmax(0,1.05fr);gap:24px}.trip-banner-lead,.trip-banner-destination{font-size:30px}.hero-actions>a{padding:10px 8px;font-size:12px;gap:6px}.home-route-cover{height:140px}}
@media(max-width:600px){
.shell{width:calc(100% - 32px)}
.header-inner{min-height:64px;gap:8px}.wordmark{font-size:28px}.header-actions{gap:6px}.list-trigger{padding:9px 10px}.list-trigger>span{display:none}.language-select{font-size:12px;max-width:82px}
.trip-banner{grid-template-columns:1fr;gap:8px;margin-block:12px}.trip-banner-copy{gap:12px;padding:0}.trip-banner h1{gap:2px}.trip-banner-lead,.trip-banner-destination{font-size:clamp(28px,8vw,32px);line-height:1.3;letter-spacing:-1px}html[lang=en] .trip-banner-lead,html[lang=en] .trip-banner-destination{font-size:clamp(22px,6.15vw,30px)}.trip-banner-kicker{font-size:11px}.trip-banner-note{font-size:14px;line-height:1.6}.trip-banner-art{height:auto;max-height:132px}.trip-banner-art img{width:100%;height:auto;max-height:132px;object-fit:contain}.hero-actions{margin-top:0;gap:8px}.hero-actions>a{min-height:44px}
.category-jumps{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:4px}.jump-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px;min-height:82px}.jump-card b{font-size:13px}.jump-card small{font-size:11px}.jump-card:nth-child(n+4){grid-column:span 1;flex-direction:row;align-items:center;min-height:48px}.jump-card:nth-child(4){grid-column:span 2}.jump-card:nth-child(n+4) small{display:none}.jump-icon{width:24px;height:24px}.jump-icon .icon{width:22px;height:22px}
.home-section{padding-block:14px}.section-heading{gap:8px;margin-bottom:10px}.section-heading>div{display:block}.section-heading h2{font-size:24px}.section-heading p:not(.eyebrow){font-size:12px;margin-top:3px}.section-heading .text-link{font-size:12px;gap:4px}.section-heading .text-link>span{display:none}
.preview-grid{grid-auto-columns:calc((100% - 14px)/2);gap:14px}.preview-grid .card-copy h3{font-size:15px}.preview-grid .card-area{font-size:11px}.preview-grid .card-english{display:none}.preview-grid .save-button{top:5px;right:5px}.card-copy{padding:10px 0 4px}.card-copy h3{font-size:16px}.card-rank{width:26px;height:26px;font-size:11px}.card-cover{border-radius:12px}
.catalog-grid,.related-grid{gap:20px 12px}.catalog-grid .card-copy{padding:10px 0 0}.catalog-grid .card-copy h3{font-size:16px}.catalog-grid .card-area{font-size:12px;white-space:normal}.catalog-grid .card-note{display:none}
.home-route-cards{grid-template-columns:1fr;gap:16px}.home-route-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:14px;align-items:center}.home-route-cover{height:100px;border-radius:12px}.home-route-cover>span{bottom:8px;left:8px;padding:3px 8px;font-size:12px}.home-route-card h3{font-size:17px;margin:0 0 6px}.home-route-card p{font-size:13px}.home-route-entry{align-items:flex-start;flex-direction:column;gap:16px;padding:24px;margin-block:20px 32px}.home-route-entry h2{font-size:24px}
.food-note{flex-wrap:wrap;padding:12px;gap:8px}.food-note a{margin-left:0}.food-note p{font-size:12px}
.catalog-title-row{padding:8px 0 16px}.catalog-title-row h1{font-size:28px}.catalog-title-row p:not(.eyebrow){font-size:14px}.catalog-symbol{display:none}.catalog-toolbar{align-items:flex-start;font-size:12px}
.footer-main{grid-template-columns:1fr 1fr;gap:16px}.footer-note{grid-column:1/-1}.footer-bottom{flex-wrap:wrap}.footer-bottom>span:nth-child(2){display:none}
.list-dialog{padding:16px}.planner-open{padding:12px}.planner-open-copy strong{font-size:16px}.quick-list-fab{right:16px;bottom:16px}.back-to-top{right:16px}.download-confirm{padding:20px}
}
@media(max-width:359px){.wordmark{font-size:24px}.header-actions{gap:4px}.language-select{width:68px;padding:8px 4px}.list-trigger{padding:9px 8px;gap:5px}.list-trigger .icon{width:16px}.catalog-grid{grid-template-columns:1fr}body #catalog-grid .travel-card{display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px}body #catalog-grid .card-cover{aspect-ratio:auto;min-height:126px;margin:0}body #catalog-grid .card-copy{padding:0}body #catalog-grid .save-button{top:auto;bottom:6px;right:6px}body #catalog-grid .card-area{white-space:normal}body #catalog-grid .card-note{display:none}.category-jumps{gap:6px}.jump-card{padding:10px}.hero-actions>a{font-size:12px;gap:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
