/* Travel-first discovery. All article content and routes remain independent. */
.travel-home { --home-gap: 28px; }
.plan-hero { display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center;padding-block:50px 45px; }
.plan-copy { min-width:0; }
.plan-kicker { font-size:10px;font-weight:700;letter-spacing:.19em;color:var(--vermilion);margin-bottom:18px; }
.plan-copy h1 { font-family:var(--serif);font-size:clamp(34px,3.8vw,52px);font-weight:600;line-height:1.4;letter-spacing:-.035em; }
.plan-intro { font-size:14px;color:var(--ink-soft);margin:18px 0 23px;max-width:42ch; }
.home-search { position:relative;z-index:5;max-width:580px; }
.home-search label { display:block;font-weight:700;font-size:12px;margin-bottom:8px; }
.home-search .searchbar { display:flex;align-items:center;gap:12px;width:100%;min-width:0;height:52px;margin:0;padding:0 15px;background:#fff;border:1px solid #9ca99f;border-radius:5px;box-shadow:none;animation:none; }
.search-mark { font:30px/1 var(--sans);color:var(--ocean);flex:none; }
.home-search .searchbar-input { position:static;width:100%;min-width:0;height:100%;padding:0;font:14px var(--sans);background:transparent;border:0;outline:none; }
.home-search .search-results { text-align:left; }
.home-search .search-results a b { font-size:14px;line-height:1.6; }
.region-links { display:flex;flex-wrap:wrap;gap:8px;margin-top:14px; }
.region-links a { display:inline-flex;align-items:center;gap:14px;min-height:42px;padding:7px 12px;background:#eeece2;border:1px solid transparent;border-radius:4px;font-size:12px;font-weight:700; }
.region-links a:hover { border-color:var(--ocean);background:#e4eadd; }
.region-links a span { color:var(--ocean); }
.plan-photo { position:relative;min-width:0; }
.plan-photo .photo-frame { height:320px;overflow:hidden;border-radius:60px 5px 5px 5px; }
.plan-photo .place-photo { width:100%;height:100%;object-fit:cover; }
.plan-photo .photo-context { display:none; }
.plan-photo-label { position:absolute;top:20px;right:20px;font-size:11px;letter-spacing:.12em;color:#fff;background:#26382fe8;padding:7px 12px;border-radius:3px; }
.plan-photo-label span { margin-left:8px; }
.home-section { padding-block:30px 35px; }
.home-section-head { display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:23px;padding-top:20px;border-top:1px solid var(--line); }
.home-section-head h2 { font-family:var(--serif);font-size:27px;font-weight:600;line-height:1.5; }
.home-section-head > p { font-size:12px;color:var(--ink-soft); }
.home-section-head > a { font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:5px; }
.travel-picks,.travel-new-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--home-gap); }
.travel-card { min-width:0; }
.travel-card-link { display:block;height:100%; }
.travel-photo { overflow:hidden;border-radius:5px;background:var(--paper-2); }
.travel-photo .photo-frame { aspect-ratio:1.8;overflow:hidden; }
.travel-photo .place-photo { width:100%;height:100%;object-fit:cover; }
.travel-photo figcaption { font-size:9px;line-height:1.4;padding:4px 7px;background:#172b22e6; }
.travel-card-copy { position:relative;padding:15px 24px 15px 0; }
.travel-meta { color:var(--vermilion-dark);font-size:11px;font-weight:700;letter-spacing:.025em;margin-bottom:6px; }
.travel-card h3 { font-family:var(--sans);font-weight:700;font-size:18px;line-height:1.65;letter-spacing:-.025em; }
.travel-category { color:var(--ink-soft);font-size:11px;line-height:1.6;margin-top:7px; }
.travel-arrow { position:absolute;right:0;top:42px;color:var(--ocean);font-size:20px; }
.travel-card-link:hover h3 { text-decoration:underline;text-underline-offset:4px; }
.purpose-links { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
.purpose-links a { display:flex;gap:14px;align-items:center;min-height:76px;padding:16px 20px;background:#eeeee4;border:1px solid #d8ded2;border-radius:5px;font-size:15px;font-weight:700; }
.purpose-links a:hover { background:#e4eadd;border-color:#7d9583; }
.purpose-links .topic-no { font:12px var(--sans);color:var(--vermilion-dark); }
.purpose-links a > span:last-child { margin-left:auto;color:var(--ocean); }
.travel-new-grid { row-gap:25px; }
.travel-new .travel-photo .photo-frame { aspect-ratio:2; }
.travel-new h3 { font-size:16px; }
.all-guides-link { display:flex;justify-content:center;align-items:center;gap:30px;width:fit-content;margin:30px auto 0;padding:12px 26px;border:1px solid var(--ink);border-radius:4px;font-size:14px;font-weight:700;min-height:48px; }
.all-guides-link:hover { background:var(--ink);color:var(--paper); }
.home-trust { display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:35px 45px;margin-top:15px;border-top:1px solid var(--line); }
.home-trust h2 { font-family:var(--serif);font-size:25px;font-weight:600; }
.home-trust p { font-size:13px;color:var(--ink-soft);margin-top:8px;max-width:65ch; }
.home-trust > a { font-size:13px;flex:none;text-decoration:underline;text-underline-offset:4px; }
.directory { max-width:1000px;padding-block:36px 60px; }
.directory-head > a { font-size:13px; }
.directory-head h1 { font:600 40px/1.4 var(--serif);margin-top:20px; }
.directory-head p { color:var(--ink-soft);margin:12px 0 25px; }
.directory-nav { display:flex;gap:8px;flex-wrap:wrap;padding-block:20px 30px; }
.directory-nav a { border:1px solid var(--line);padding:8px 13px;min-height:44px;border-radius:4px;font-size:13px; }
.directory-nav a:hover { background:var(--paper-2); }
.directory-topics { display:grid;grid-template-columns:1fr 1fr;gap:30px; }
.directory-topic,.directory-all { scroll-margin-top:125px; }
.directory-topic h2,.directory-all h2 { font:600 24px/1.5 var(--serif);border-bottom:1px solid var(--line);padding-bottom:12px; }
.directory ul { list-style:none; }
.directory-topic li a { display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:14px;line-height:1.7;padding:14px 0;border-bottom:1px solid var(--line); }
.directory a:hover { text-decoration:underline;text-underline-offset:4px; }
.directory-all { margin-top:45px; }
.directory-all h2 small { font:12px var(--sans);color:var(--ink-soft);margin-left:10px; }
.directory-all li a { display:grid;grid-template-columns:90px 1fr 20px;gap:15px;align-items:start;padding:18px 0;border-bottom:1px solid var(--line);font-size:15px; }
.directory-all time { color:var(--ink-soft);font-size:12px; }
.directory-data { margin-top:35px;padding:18px 20px;background:var(--paper-2);font-size:13px; }
.directory-data summary { cursor:pointer;font-weight:700;min-height:28px; }
.directory-data p { margin-top:14px; }
.directory-data ol { padding-left:24px;margin-top:14px; }
.directory-data li { padding:5px 0; }
@media (max-width:960px) {
 .plan-hero { gap:30px; }
 .plan-photo .photo-frame { height:290px; }
 .purpose-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .travel-home { --home-gap:20px; }
}
@media (max-width:640px) {
 .plan-hero { display:block;padding-top:26px;padding-bottom:24px; }
 .plan-kicker { font-size:9px;margin-bottom:12px; }
 .plan-copy h1 { font-size:32px;line-height:1.5; }
 .plan-intro { font-size:13px;line-height:1.8;margin:12px 0 18px; }
 .plan-photo { display:none; }
 .home-search .searchbar-input { font-size:16px; }
 .region-links { gap:6px; }
 .region-links a { padding:7px 10px;min-height:44px;font-size:12px;gap:10px; }
 .home-section { padding-top:14px;padding-bottom:22px; }
 .home-section-head { padding-top:17px;margin-bottom:18px;gap:10px;flex-wrap:wrap; }
 .home-section-head h2 { font-size:23px; }
 .home-section-head > p,.home-section-head > a { font-size:11px; }
 .travel-picks { grid-template-columns:1fr;gap:17px; }
 .travel-pick .travel-photo .photo-frame { aspect-ratio:2.2; }
 .travel-card-copy { padding-top:12px;padding-bottom:9px; }
 .travel-card h3 { font-size:17px; }
 .travel-meta { font-size:11px; }
 .travel-category { font-size:11px; }
 .purpose-links { gap:8px; }
 .purpose-links a { min-height:74px;gap:9px;padding:12px;font-size:13px; }
 .purpose-links .topic-no { display:none; }
 .travel-new-grid { grid-template-columns:1fr;gap:18px; }
 .travel-new .travel-card-link { display:grid;grid-template-columns:108px minmax(0,1fr);gap:15px;align-items:start; }
 .travel-new .travel-photo .photo-frame { aspect-ratio:1; }
 .travel-new .travel-photo figcaption { position:static;font-size:8px;line-height:1.4; }
 .travel-new .travel-photo { background:transparent;border-radius:3px; }
 .travel-new .travel-photo .photo-frame { overflow:visible;height:auto; }
 .travel-new .travel-photo .place-photo { height:80px; }
 .travel-new .travel-card-copy { padding:0; }
 .travel-new h3 { font-size:14px;line-height:1.6; }
 .travel-new .travel-arrow { display:none; }
 .travel-new .travel-category { font-size:10px; }
 .home-trust { display:block;padding-top:25px;padding-bottom:32px; }
 .home-trust h2 { font-size:23px; }
 .home-trust > a { display:inline-block;margin-top:16px;min-height:40px; }
 .directory { padding-top:25px; }
 .directory-head h1 { font-size:30px; }
 .directory-head p { font-size:14px; }
 .directory-topics { grid-template-columns:1fr;gap:28px; }
 .directory-all li a { grid-template-columns:1fr 20px;gap:5px 12px;font-size:14px; }
 .directory-all time { grid-column:1/-1; }
}
.home-search .searchbar-input { color:var(--ink); }
.home-search .searchbar-input::placeholder { color:var(--ink-soft);opacity:1; }
.plan-intro { max-width:50ch; }

/* New guides remain discoverable independently of editorial selections. */
#new-guides { scroll-margin-top: 140px; }
.new-guides-note { color:var(--ink-soft); font-size:13px; line-height:1.8; margin:-6px 0 20px; }
.region-links .new-guides-shortcut { border-color:var(--ink); font-weight:700; }
.hub-sort:not([hidden]) { display:flex; align-items:center; justify-content:flex-end; gap:12px; margin:20px 0; }
.hub-sort label { font-size:14px; }
.hub-sort select { font:inherit; background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:4px; padding:10px 32px 10px 12px; min-height:44px; }
@media(max-width:640px) {
 #new-guides { scroll-margin-top:180px; }
}

/* Useful preparation, within the travel homepage rather than an alarm banner. */
.home-help{margin-top:16px;margin-bottom:40px;padding-top:26px;padding-bottom:26px;border-top:1px solid #d8ddd3;border-bottom:1px solid #d8ddd3}
.home-help-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}
.home-help h2{margin:0 0 7px;font:700 clamp(19px,2vw,25px)/1.6 var(--sans);text-wrap:balance}
.home-help p{margin:0;color:#526256;font:400 14px/1.8 var(--sans)}
.home-help-heading>a{flex:none;color:#2c5945;font:600 14px/1.6 var(--sans);text-underline-offset:5px}
.home-help-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.home-help-actions>a{display:flex;flex-direction:column;gap:6px;padding:18px 20px;border:1px solid #d9dfd3;border-radius:6px;background:#eff2e9;text-decoration:none;color:#293f33;font-family:var(--sans)}
.home-help-actions strong{display:flex;justify-content:space-between;gap:8px;font-size:16px;line-height:1.6}
.home-help-actions>a>span{font-size:13px;line-height:1.7;color:#526256}
.home-help a:focus-visible{outline:3px solid #a24532;outline-offset:4px}
.home-help-actions>a:hover{background:#e5ebdd;border-color:#8a9c89}
@media(max-width:650px){.home-help-heading{display:block}.home-help-heading>a{display:inline-block;margin-top:10px;padding:6px 0}.home-help-actions{grid-template-columns:1fr;gap:8px}.home-help-actions>a{padding:12px 16px;gap:3px}.home-help{padding-top:20px;padding-bottom:20px;margin-bottom:24px}}
