
/* Clear navigation and compact landing pages, September 2026. */
.vt-intro{padding:155px 0 36px;background:#111}.vt-intro h1{font-size:clamp(2rem,5vw,3.5rem);max-width:900px}.vt-intro p{max-width:740px;color:#ccc;font-size:1.08rem}
.vt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:26px 0}
.vt-card{display:flex;flex-direction:column;background:#151515;border:1px solid #3e382b;text-decoration:none;color:#fff;transition:border-color .2s}.vt-card:hover{border-color:#d4b46c}.vt-card img{width:100%;height:210px;object-fit:cover}.vt-card>div{padding:24px;flex:1}.vt-card h3{font-size:1.35rem;line-height:1.3;margin:0 0 12px}.vt-card p{color:#ccc;font-size:1rem;line-height:1.65;margin:0 0 14px}.vt-card span{color:#d4b46c}
.vt-home-hero{min-height:580px;height:auto;padding:160px 24px 80px}.vt-home-hero .hero-content{position:relative;inset:auto;transform:none;margin:auto;max-width:1120px;width:100%}.vt-home-hero h1{font-size:clamp(2.4rem,5vw,4.3rem);max-width:800px}.vt-home-hero p{max-width:670px}.vt-home-hero~.section{padding:64px 0}
.vt-topics{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.vt-topics a{padding:12px 16px;border:1px solid #635232;color:#eee;font-size:.95rem}.vt-topics a:hover{background:#302719}
.vt-skip{position:fixed;top:-100px;left:16px;background:#e2bf70;color:#111;padding:12px;z-index:9999}.vt-skip:focus{top:12px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #e2bf70;outline-offset:4px}
html{scroll-padding-top:115px}.nav-links a{min-height:44px;display:flex;align-items:center}.nav .brand img{max-width:210px}.nav-links{gap:22px}.nav-links a{font-size:12px;letter-spacing:.04em}
@media(min-width:1051px){.nav .menu{display:none!important}.nav .nav-links{display:flex!important;position:static!important;flex-direction:row!important;padding:0!important;background:transparent!important;width:auto!important;max-height:none!important}.nav .nav-links a{width:auto!important}.nav-inner{gap:20px}}
@media(max-width:1050px){.nav .menu{display:block!important}.nav .nav-links{display:none!important;position:absolute!important;top:100%;left:0;right:0;background:#101010!important;padding:12px 24px!important;max-height:calc(100dvh - 90px);overflow:auto}.nav .nav-links.open{display:flex!important;flex-direction:column;gap:0}.nav .nav-links a{padding:13px 0;font-size:14px;border-bottom:1px solid #ffffff16}.nav .brand img{max-width:170px}}
@media(max-width:700px){.vt-grid{grid-template-columns:1fr;gap:16px}.vt-intro{padding:120px 0 28px}.vt-home-hero{min-height:490px;padding:125px 20px 55px}.vt-home-hero~.section{padding:40px 0}.vt-card img{height:190px}.vt-card>div{padding:20px}.vt-topics{gap:8px}.vt-topics a{width:100%}.vt-home-hero h1{font-size:2.45rem}.vt-home-hero .eyebrow{font-size:.68rem}}

/* Calmer article typography. The home photo headline keeps its original scale. */
body h1:not(.vt-home-hero h1){font-size:40px!important;line-height:1.15!important}
body h2{font-size:30px!important;line-height:1.25!important}
body .section{padding-top:56px;padding-bottom:56px}
body .section-head{gap:28px;margin-bottom:26px}
body .vt-intro{padding-top:150px;padding-bottom:28px}
body .page-hero{min-height:340px;padding-top:160px;padding-bottom:48px}
body .vt-practical-intro{display:block;margin-bottom:24px}
body .vt-practical-intro .lead{max-width:850px;font-size:17px;line-height:1.7}
@media(max-width:700px){
 body h1:not(.vt-home-hero h1){font-size:30px!important}
 body h2{font-size:24px!important}
 body .section{padding-top:36px;padding-bottom:36px}
 body .section-head{gap:16px;margin-bottom:20px}
 body .vt-intro{padding-top:112px;padding-bottom:24px}
 body .page-hero{min-height:270px;padding-top:120px;padding-bottom:32px}
}

/* Main section pages get a photo header like the other pages, October 2026. */
body .vt-intro.vt-photo{min-height:340px;display:flex;align-items:flex-end;padding-bottom:48px;background-color:#111;background-size:cover;background-position:center}
.vt-intro.vt-photo p{color:#e8e8e8}
.vt-intro.vt-photo .vt-topics a,.vt-intro.vt-photo .travel-jumps a,.vt-intro.vt-photo .btn:not(.solid){background-color:rgba(0,0,0,.5)}
@media(max-width:700px){body .vt-intro.vt-photo{min-height:270px;padding-bottom:32px}}

/* Open mobile menu shows a close icon. */
.nav .menu[aria-expanded="true"]{position:relative;color:transparent}
.nav .menu[aria-expanded="true"]::after{content:"\2715";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.8em}

/* Home hero on phones: show the buttes instead of dark sky. */
@media(max-width:700px){.vt-home-hero{background-image:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.5) 40%,rgba(0,0,0,.75)),url('../img/hero-poster.webp')!important;background-position:center,58% 70%!important}.vt-home-hero::after{background:linear-gradient(0deg,#000,rgba(0,0,0,0) 20%)!important}}

/* Photo headers: hover keeps the normal button look (gold background, dark text), otherwise the label disappeared. */
.vt-intro.vt-photo .btn:not(.solid):hover,.vt-intro.vt-photo .btn:not(.solid):focus-visible{background-color:var(--gold);color:#080808}
.vt-intro.vt-photo .vt-topics a:hover{background-color:#302719}

/* Park pages: the group trip that visits this park (or a hint for places off the trips). */
.park-trip-note{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:22px;padding:14px 18px;max-width:780px;border:1px solid rgba(212,175,55,.5);background:rgba(8,8,8,.75)}
.park-trip-label{color:var(--gold);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.park-trip-name{color:#fff;font-weight:700}
.park-trip-note a{color:var(--gold);font-weight:700;text-decoration:none;white-space:nowrap}
.park-trip-note a:hover,.park-trip-note a:focus-visible{text-decoration:underline}
@media(max-width:700px){.park-trip-note{flex-direction:column;align-items:flex-start;gap:6px}}

/* Header: envelope straight to the contact form. */
.nav-mail{height:44px;width:44px;display:inline-grid;place-items:center;border:1px solid var(--line,#4b422b);background:#080808;color:var(--gold,#d4af37)}
.nav-mail:hover,.nav-mail:focus-visible{border-color:var(--gold,#d4af37)}
.nav-mail svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
@media(max-width:700px){.nav-mail{height:40px;width:40px}}

/* Trip switcher (also on pages without florida.css) and Itinerary / Route map tabs for Chicago & the West. */
.florida-route-nav{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:42px}
.florida-route-nav a{padding:12px 18px;border:1px solid #424242;font-size:.85rem}
.florida-route-nav a[aria-current],.florida-route-nav a:hover{border-color:var(--gold);color:var(--gold);background:#131108}
.florida-route-nav+.trip-view-tabs{margin-top:-24px}
.trip-view-tabs{display:flex;flex-wrap:wrap;margin-bottom:36px;border-bottom:1px solid #2c2c2c}
.trip-view-tabs a{padding:10px 18px;margin-bottom:-1px;border-bottom:2px solid transparent;color:#c8c8c8;font-weight:700;font-size:.92rem;text-decoration:none}
.trip-view-tabs a[aria-current]{color:var(--gold);border-bottom-color:var(--gold)}
.trip-view-tabs a:hover{color:#fff}

/* Places: filter chips (by state / on my group trips). */
.place-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.place-filter button{padding:9px 14px;border:1px solid #424242;background:#0c0c0c;color:#ddd;font:inherit;font-size:.85rem;cursor:pointer}
.place-filter button[aria-pressed="true"],.place-filter button:hover{border-color:var(--gold);color:var(--gold);background:#131108}
.place-filter[hidden],.vt-grid[hidden],.vt-card[hidden],.section-head[hidden],p.lead[hidden]{display:none!important}