/* Visit HB: a consistent coastal editorial design, September 2026. */
:root { --design-ink:#153f45; --design-muted:#4d6568; --design-paper:#fcfaf5; --design-line:#d9dfd7; --design-accent:#943e2c; --design-soft:#eef2eb; }
body { background:var(--design-paper); color:var(--design-ink); }
.shell,.home-refresh .shell { width:min(1240px,calc(100% - 64px)); }
a { text-underline-offset:.2em; }
:is(h1,h2,h3) { text-wrap:balance; }
.site-header { background:#fcfaf5; border-bottom:1px solid var(--design-line); box-shadow:none; }
.header-inner { min-height:84px; }
.site-header .desktop-nav a { font-size:.82rem; }
.site-header .desktop-nav a[href="/trip-planner/"] { border-radius:6px; padding:.8rem 1rem; }
.site-header .desktop-nav a[href="/guides/#guide-search"] { border-radius:6px; }
.site-header .wordmark { letter-spacing:-.05em; }
.button,.home-refresh .button { border-radius:6px; box-shadow:none; min-height:50px; padding:.85rem 1.15rem; transition:background .18s ease,transform .18s ease; }
.button:hover { transform:translateY(-2px); }
.home-refresh .home-hero { position:relative; display:flex; min-height:590px; padding:62px 0; background:#eeeede; border-radius:0; overflow:hidden; }
.home-refresh .home-hero > img { position:absolute; left:49%; top:0; width:51%; height:100%; object-fit:cover; object-position:57% center; filter:none; }
.home-refresh .home-hero__shade { display:none; }
.home-refresh .home-hero__content { width:min(1240px,calc(100% - 64px)); margin:auto; color:var(--design-ink); }
.home-refresh .home-hero__content > * { max-width:44%; text-shadow:none; }
.home-refresh .home-hero h1 { max-width:44%; font-size:clamp(3.1rem,5vw,4.65rem); color:var(--design-ink); line-height:1.07; letter-spacing:-.055em; margin:1.1rem 0 1.4rem; }
.home-refresh .home-hero h1 em { color:#446957; font-weight:500; }
.home-refresh .home-hero .eyebrow { color:#6d4b30; font-size:.7rem; letter-spacing:.14em; }
.home-refresh .home-hero .eyebrow::before { background:#927757; }
.home-refresh .home-hero__content > p:not(.eyebrow) { max-width:40%; color:#3c5558; font-size:1.03rem; line-height:1.75; }
.home-refresh .hero-actions { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.6rem; }
.home-refresh .button--glass { background:transparent; border:1px solid #74867c; color:var(--design-ink); }
.home-refresh .button--glass:hover { background:#e0e5d7; }
.home-refresh .hero-utility-link { color:var(--design-ink); font-size:.82rem; margin-top:1.2rem; text-decoration:underline; }
.home-photo-credit { right:18px; bottom:16px; background:#173d43; border-radius:3px; font-size:.65rem; }
.quick-explore { background:#fffdf8; border-bottom:1px solid var(--design-line); }
.quick-explore__inner { padding-block:1rem; }
.quick-explore__inner > span { font-size:1rem; }
.quick-explore nav { gap:.3rem 1.7rem; }
.quick-explore a { text-decoration:none; min-height:44px; display:inline-flex; align-items:center; }
.quick-explore a:hover { text-decoration:underline; }
.home-refresh .editorial-section { padding-block:clamp(3rem,5.5vw,5rem); }
.home-refresh h2 { font-size:clamp(2rem,3.1vw,3rem); line-height:1.13; letter-spacing:-.04em; }
.home-refresh .section-heading { margin-bottom:1.8rem; }
.home-refresh .section-kicker { font-size:.68rem; letter-spacing:.13em; }
.home-refresh .discovery-grid { gap:26px; }
.experience-image { aspect-ratio:4/3; border-radius:8px; }
.experience-image > span { left:14px; bottom:14px; border-radius:3px; background:#fffdf5; }
.experience-copy h3 { font-size:1.5rem; line-height:1.25; }
.experience-copy p { font-size:.92rem; }
.experience-copy strong { border-color:var(--design-line); padding-bottom:1rem; }
.experience-credit { font-size:.68rem; color:#536363; }
.home-refresh .browse-more { justify-content:flex-start; gap:.35rem 1.7rem; margin-top:1.7rem; }
.home-refresh .browse-more a { font-size:.83rem; }
.trip-invitation { background:#173f43; color:#fff; padding-block:4rem; }
.trip-invitation h2 { color:#fffdf5; }
.trip-invitation .section-kicker { color:#f3c6a5; }
.trip-invitation p:not(.section-kicker),.trip-invitation small { color:#d8e6df; }
.trip-invitation__inner { gap:5rem; }
.itinerary-preview { transform:none; border-radius:8px; padding:1.7rem 2rem; border:0; background:#fcfaf3; box-shadow:none; }
.itinerary-preview .section-kicker { color:var(--design-accent); }
.itinerary-preview > a { padding-block:1rem; margin:0; border-color:#d7dfd4; }
.itinerary-preview > a:first-of-type { margin-top:1rem; }
.itinerary-preview > a:last-child { padding-bottom:0; }
.itinerary-preview > a p { color:var(--design-muted); }
.itinerary-preview > a:hover h3 { text-decoration:underline; text-underline-offset:.18em; }
#school-holidays { border-bottom:1px solid var(--design-line); }
#school-holidays h2 { max-width:650px; }
#school-holidays .section-heading p:not(.section-kicker) { max-width:76ch; }
#school-holidays .decision-card { border-top:3px solid #bba785; }
.decision-grid { align-items:stretch; }
.decision-card { display:flex; flex-direction:column; border-radius:8px; background:#fffdf8; padding:1.5rem; border-color:var(--design-line); box-shadow:none; }
.decision-card > a:last-child { margin-top:auto; padding-top:.8rem; }
.decision-card .section-kicker { font-size:.65rem; line-height:1.6; }
.home-refresh .decision-card h3 { font-size:1.4rem; }
.home-refresh .decision-card p { font-size:.91rem; line-height:1.65; }
.home-refresh .decision-card .section-kicker::before { display:none; }
.home-local { gap:5rem; }
.home-local img { aspect-ratio:1/1; border-radius:8px; }
.home-local h2 { font-size:clamp(2.5rem,4vw,3.75rem); }
.home-practical { background:#e9eee5; color:var(--design-ink); }
.home-practical :is(h2,h3),.home-practical .section-heading--wide > p,.practical-grid > a { color:var(--design-ink); }
.home-practical .section-kicker,.practical-grid > a > span { color:var(--design-accent); }
.practical-grid > a { border-color:#b0c1b5; }
.practical-grid p { color:var(--design-muted); }
.practical-grid h3 { font-size:1.6rem; }
.home-stay { gap:5rem; }
.home-search { background:#ece4d4; padding-block:3.5rem; }
.home-search button,.home-search input { border-radius:6px; }
.home-trust { padding-block:2rem; border-top:1px solid var(--design-line); }
/* One aligned reading system for guides, directories and administrative pages. */
.breadcrumbs { padding-block:1rem; }
.reading-hero:is(.guide-hero,.utility-hero,.editorial-hero) { width:min(1240px,calc(100% - 64px)); margin:0 auto 1.5rem; border-radius:8px; background:#eef1e8; border:1px solid var(--design-line); grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); }
.reading-hero .reading-hero__copy { padding:clamp(1.6rem,3vw,3rem); }
.reading-hero h1 { font-size:clamp(2rem,3.2vw,3.2rem); line-height:1.13; }
.reading-hero .reading-hero__copy > p:not(.eyebrow):not(.section-kicker) { font-size:1rem; }
.masthead-photo figcaption { background:#e4e9df; font-size:.65rem; }
.guide-frame { grid-template-columns:minmax(0,790px) minmax(220px,270px); gap:clamp(2rem,4vw,4rem); padding-top:1.5rem; }
.guide-prose { background:transparent; border:0; border-radius:0; box-shadow:none; padding:0; }
.simple-page { padding-block:1.5rem 4rem; }
.simple-page > .prose { max-width:820px; padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; }
.prose h2,.utility-body > h2,.utility-body > section > h2 { font-size:clamp(1.65rem,2.3vw,2.15rem); }
.prose :is(p,li),.utility-body :is(p,li) { line-height:1.8; }
.quick-box { background:#eef2e9; border:0; border-left:3px solid #81987e; border-radius:0 8px 8px 0; padding:1.4rem 1.6rem; }
.rail-card { background:transparent; border:0; border-left:1px solid #c7d3c6; border-radius:0; padding:.4rem 0 .4rem 1.1rem; }
.rail-card a { border-radius:3px; }
.guide-quick-actions button,.guide-quick-actions a { border-radius:5px; }
.library-card { border-radius:8px; border:1px solid var(--design-line); box-shadow:none; background:#fffdf8; overflow:hidden; }
.library-card img { aspect-ratio:3/2; object-fit:cover; }
.library-card h3 { font-size:1.35rem; line-height:1.25; }
.library-card:hover { box-shadow:0 8px 20px #163e4510; }
.guide-finder { background:#eef2e9; padding:1.7rem; border:0; border-radius:8px; }
.guide-finder h2 { font-size:2rem; }
.category-jump a { border-radius:5px; }
.event-card,.event-tools,.booking-panel,.booking-card { border-radius:8px; }
.event-card { background:#fffdf8; border-color:var(--design-line); }
.event-card h3 { font-size:1.4rem; }
.event-filters button { border-radius:5px; }
.trip-planner { border:0; box-shadow:none; }
.planner-controls { border-radius:8px; background:#eef2e9; border:1px solid var(--design-line); box-shadow:none; }
.planner-controls select,.planner-controls textarea,.planner-actions button { border-radius:6px; }
.planner-results > article { border-radius:8px; box-shadow:none; }
.site-footer { background:#13383d; border-top:0; }
.site-footer::before { display:none; }
.footer-grid { padding-block:3.5rem; gap:3rem; }
.footer-grid nav a { line-height:1.5; padding-block:.3rem; }
.footer-base { border-color:#466469; margin-top:0; }
@media(min-width:761px) and (max-width:1100px) { .home-refresh .home-hero h1 { font-size:3.5rem; } .home-refresh .hero-actions .button { font-size:.8rem; } .home-refresh .home-hero__content > p:not(.eyebrow) { max-width:43%; } }
@media(max-width:1000px) { .trip-invitation__inner,.home-local,.home-stay { gap:2.5rem; } .guide-frame { grid-template-columns:minmax(0,1fr); } .guide-rail { display:none; } .guide-contents--with-rail { display:block; } .guide-finder { grid-template-columns:1fr; gap:1rem; } }
@media(max-width:760px) {
 .shell,.home-refresh .shell,.home-refresh .home-hero__content { width:calc(100% - 40px); }
 .header-inner { min-height:68px; }
 .home-refresh .home-hero { display:flex; flex-direction:column; padding:0; min-height:0; }
 .home-refresh .home-hero__content { order:0; padding:2.4rem 0 2rem; }
 .home-refresh .home-hero__content > *,.home-refresh .home-hero__content > p:not(.eyebrow) { max-width:100%; }
 .home-refresh .home-hero h1 { max-width:100%; font-size:clamp(2.8rem,9vw,4rem); margin:1rem 0 1.1rem; }
 .home-refresh .home-hero > img { position:static; order:1; width:100%; height:250px; object-position:center 58%; }
 .home-refresh .hero-actions .button { width:auto; flex:1; font-size:.85rem; }
 .home-refresh .hero-utility-link { display:none; }
 .home-photo-credit { bottom:12px; right:12px; max-width:85%; }
 .quick-explore nav { gap:.2rem 1.2rem; }
 .quick-explore a { font-size:.8rem; }
 .home-refresh .editorial-section { padding-block:3rem; }
 .home-refresh h2 { font-size:2.1rem; }
 .trip-invitation { padding-block:3rem; }
 .trip-invitation__inner { grid-template-columns:1fr; }
 .home-refresh .section-heading--wide { display:block; }
 .home-refresh .section-heading--wide > p { max-width:none; margin-top:.8rem; }
 .itinerary-preview { padding:1.4rem; }
 .home-local,.home-stay { grid-template-columns:1fr; }
 .home-local img { aspect-ratio:4/3; }
 .home-local h2 { font-size:2.7rem; }
 .reading-hero:is(.guide-hero,.utility-hero,.editorial-hero) { width:calc(100% - 40px); grid-template-columns:1fr; margin-bottom:.5rem; }
 .reading-hero .reading-hero__copy { padding:1.5rem; }
 .reading-hero h1 { font-size:clamp(1.9rem,6.8vw,2.6rem); }
 .reading-hero .masthead-photo { grid-template-rows:180px auto; }
 .reading-hero .masthead-photo img { height:180px; min-height:0; max-height:180px; }
 .reading-hero--essential .masthead-photo { grid-template-rows:120px auto; }
 .reading-hero--essential .masthead-photo img { height:120px; max-height:120px; }
 .guide-frame { padding-top:1.4rem; }
 .simple-page { padding-top:1.2rem; }
 .guide-finder { padding:1.25rem; }
 .guide-finder h2 { font-size:1.65rem; }
 .footer-grid { gap:2rem; padding-block:2.5rem; }
}
@media(max-width:600px) { .home-refresh .discovery-grid { grid-template-columns:1fr; gap:2rem; } .experience-image { aspect-ratio:4/3; } .experience-copy h3 { font-size:1.65rem; } .home-refresh .hero-actions { flex-direction:row; } .home-refresh .hero-actions .button { padding:.8rem .7rem; } .home-refresh .home-hero > img { height:210px; } }
@media(prefers-reduced-motion:reduce) { .button { transition:none; } .button:hover { transform:none; } }
@media print { .home-refresh .home-hero { display:block; min-height:0; padding:0; background:white; } .home-refresh .home-hero > img { display:none; } .home-refresh .home-hero__content > *,.home-refresh .home-hero__content > p:not(.eyebrow) { max-width:100%; } .reading-hero:is(.guide-hero,.utility-hero,.editorial-hero) { display:block; width:100%; margin:0; border:0; background:white; } .trip-invitation { background:white; color:#000; } .trip-invitation h2,.trip-invitation p:not(.section-kicker) { color:#000; } }

/* Recovery and offline reading. */
.not-found { min-height:0; padding-block:clamp(2.5rem,5vw,4.5rem); }
.not-found h1 { font-size:clamp(2.5rem,5vw,4.5rem); line-height:1.1; max-width:850px; }
.site-header .desktop-nav a[aria-current="true"] { background:#e9eee5; color:#153f45; box-shadow:none; text-decoration:underline; text-underline-offset:.4rem; }
.site-header .desktop-nav a[href="/trip-planner/"][aria-current] { background:#073f48; color:#fff; }
.recovery-search { max-width:650px; padding:1.5rem; margin:1.7rem 0; border-radius:8px; background:#fcfaf5; color:#153f45; }
.recovery-search label { display:block; margin-bottom:.6rem; font-weight:650; text-align:left; }
.recovery-search > div { display:flex; gap:.6rem; }
.recovery-search input { min-width:0; flex:1; width:100%; min-height:48px; padding:.8rem; border:1px solid #657e77; border-radius:5px; font:inherit; background:#fff; color:#153f45; }
.recovery-search button { min-height:48px; padding:.8rem 1rem; border:1px solid #153f45; border-radius:5px; background:#153f45; color:#fff; font:inherit; font-weight:650; cursor:pointer; }
@media(max-width:540px) { .recovery-search { padding:1.1rem; } .recovery-search > div { flex-direction:column; } }
@media print {
 .reading-hero.utility-hero { display:block!important; }
 .source-details,.admin-details,.planner-checks { padding:.5rem 0; border:0; background:white; }
 .source-details > summary,.admin-details > summary,.planner-checks > summary { border:0; padding:.4rem 0; }
 .table-wrap { overflow:visible; }
 .table-wrap table { min-width:0; width:100%; font-size:9pt; }
 .table-wrap :is(th,td) { overflow-wrap:anywhere; padding:.4rem; }
 .planner-day { break-inside:auto; }
 .planner-day h2,.planner-schedule > li > strong { break-after:avoid; }
 .planner-schedule > li { break-inside:avoid; }
 .analytics-consent { display:none!important; }
 .faq-list details { break-inside:avoid; }
 .faq-list summary::after { display:none; }
}

/* Guide search paths stay aligned with the filtered results. */
.category-jump[hidden],.category-jump a[hidden],.guide-results-jump[hidden],.library-shortcuts a[hidden],.guide-no-results[hidden] { display:none!important; }
.guide-results-jump { grid-column:1/-1; justify-self:start; display:inline-flex; align-items:center; min-height:44px; padding:.55rem .9rem; border:1px solid #718d7c; border-radius:5px; background:#fffdf8; color:#153f45; font-weight:650; text-decoration:none; }
.guide-results-jump:hover { background:#e1e9db; }
.guide-no-results { grid-column:1/-1; padding:1.2rem; background:#fffdf8; border:1px solid #b9cbbc; }
.guide-no-results p { margin:.5rem 0 1rem; font-size:.95rem; line-height:1.6; }
.guide-no-results button { white-space:normal; border-radius:5px; }
@media print { .guide-results-jump { display:none!important; } }

/* Keep all search fields full-width instead of squeezing them into a half-column. */
.guide-finder { gap:1rem 2rem; }
.guide-finder__controls { grid-column:1/-1; grid-template-columns:minmax(220px,2fr) repeat(2,minmax(145px,1fr)) auto; }
.guide-finder__status { margin:0; }
.guide-finder .library-shortcuts { margin:0; align-self:center; }
.guide-finder button { border-radius:5px; }
@media(max-width:860px) { .guide-finder__controls { grid-template-columns:repeat(2,minmax(0,1fr)); } .guide-finder__controls > .guide-finder__field:first-child { grid-column:1/-1; } }
@media(max-width:560px) { .guide-finder__controls { grid-template-columns:1fr; } }
