/* Visit HB reading and planning improvements — 8 September 2026. */
:root { --reader-ink:#123e45; --reader-muted:#425e62; --reader-line:#cbd8d2; --reader-paper:#faf8f2; --reader-soft:#edf1e9; }
html { scroll-padding-top:6rem; }
.site-header .desktop-nav a[aria-current="page"] { background:transparent; box-shadow:none; color:var(--reader-ink); text-decoration:underline; text-underline-offset:.45rem; }
.site-header .desktop-nav a[href="/guides/#guide-search"] { background:transparent; color:var(--reader-ink); border:1px solid var(--reader-line); box-shadow:none; }
.site-header .desktop-nav a[href="/trip-planner/"] { background:#073f48; color:#fff; }
.reading-hero:is(.guide-hero,.utility-hero,.editorial-hero) { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); align-items:stretch; min-height:0; height:auto; padding:0; background:var(--reader-soft); border:0; border-bottom:1px solid var(--reader-line); border-radius:0; box-shadow:none; isolation:auto; overflow:hidden; }
.reading-hero::before,.reading-hero::after { display:none!important; }
.reading-hero .reading-hero__copy { position:static; z-index:auto; width:auto; max-width:none; margin:0; padding:clamp(2rem,4vw,4.3rem) clamp(2rem,4.6vw,5rem) clamp(2rem,4vw,3.7rem) max(2rem,calc((100vw - 1260px)/2)); align-self:center; opacity:1; transform:none; }
.reading-hero h1 { max-width:780px; color:var(--reader-ink); font-size:clamp(2.15rem,3.6vw,3.65rem); line-height:1.08; letter-spacing:-.045em; margin:.7rem 0 1.15rem; text-wrap:pretty; }
.reading-hero .reading-hero__copy > p:not(.eyebrow):not(.section-kicker) { max-width:620px; color:var(--reader-muted); font-size:1.06rem; line-height:1.65; margin:0; }
.reading-hero :is(.eyebrow,.section-kicker) { color:#8a3828; font-size:.72rem; line-height:1.5; letter-spacing:.1em; }
.reading-hero .eyebrow::before { background:#8a3828; }
.reading-hero .guide-hero__meta { display:flex; flex-wrap:wrap; column-gap:1rem; row-gap:.55rem; margin-top:1.4rem; font-size:.78rem; line-height:1.45; }
.reading-hero .guide-hero__meta > span { display:inline; min-height:0; padding:0; color:var(--reader-muted); background:transparent; border:0; border-radius:0; backdrop-filter:none; -webkit-backdrop-filter:none; }
.reading-hero .guide-hero__meta a { color:var(--reader-ink); text-underline-offset:.2em; }
.reading-hero .research-label::before { display:none; }
.masthead-photo { display:grid; grid-template-rows:minmax(240px,1fr) auto; margin:0; min-width:0; background:#d1dfd8; }
.reading-hero .masthead-photo img { display:block; position:static; inset:auto; width:100%; height:100%; max-height:570px; object-fit:cover; transform:none; filter:none; opacity:1; }
.masthead-photo figcaption { position:static; background:#e4ebe3; color:#354f51; padding:.65rem 1.2rem; font-size:.69rem; line-height:1.55; }
.masthead-photo figcaption a { color:inherit; text-decoration:underline; text-underline-offset:.18em; }
.reading-hero--essential .masthead-photo { grid-template-rows:minmax(150px,1fr) auto; }
.reading-hero--essential .reading-hero__copy { padding-block:1.8rem; }
.reading-hero--essential h1 { font-size:clamp(2rem,3vw,2.9rem); }
.guide-frame { grid-template-columns:minmax(0,790px) minmax(220px,270px); gap:clamp(2rem,4vw,4.5rem); padding-block:2.6rem 3.8rem; }
.guide-main { min-width:0; }
.guide-prose,.utility-body { color:var(--reader-ink); }
.prose :is(p,li),.utility-body :is(p,li) { color:var(--reader-muted); font-size:1.025rem; line-height:1.75; }
.prose h2,.utility-body > h2,.utility-body > section > h2 { font-size:clamp(1.65rem,2.4vw,2.35rem); line-height:1.17; letter-spacing:-.025em; color:var(--reader-ink); margin-top:2.7rem; }
.prose h3 { line-height:1.3; font-size:1.3rem; }
.prose p,.utility-body > p,.utility-body > section > p { max-width:72ch; }
.guide-prose > section + section { margin-top:2.5rem; padding-top:2.5rem; }
.utility-body { padding-block:2.6rem 3.8rem; }
.utility-body > section + section:not(.decision-card) { margin-top:2.7rem; }
.utility-body > section > h2:first-child { margin-top:0; }
.utility-body > .lede { font-size:1.1rem; line-height:1.75; }
.utility-body > .lede + .search-planning { margin-top:1.8rem; }
.quick-box { border:1px solid var(--reader-line); border-radius:8px; background:#f0f2e9; box-shadow:none; padding:1.6rem 1.8rem; }
.quick-box::after { display:none; }
.quick-box h2 { margin:.35rem 0 1rem; font-size:1.75rem; }
.quick-box li { color:var(--reader-ink); line-height:1.65; }
.guide-rail { top:6.2rem; align-self:start; }
.rail-card { max-height:calc(100vh - 8rem); overflow-y:auto; padding:1.2rem; border:1px solid var(--reader-line); border-radius:7px; background:#f6f7f0; box-shadow:none; backdrop-filter:none; }
.rail-card a { color:var(--reader-muted); font-size:.84rem; line-height:1.4; padding:.55rem .25rem .55rem .65rem; }
.rail-card a:hover { color:#073f48; background:#e1e9e1; }
.guide-contents { margin:0 0 1.8rem; border:1px solid var(--reader-line); border-radius:7px; background:#f5f6ee; }
.guide-contents--with-rail { display:none; }
.guide-contents > summary { cursor:pointer; padding:1rem 1.2rem; font-weight:700; color:var(--reader-ink); min-height:48px; }
.guide-contents > summary span { margin-left:.6rem; font-weight:400; color:var(--reader-muted); font-size:.8rem; }
.guide-contents nav { padding:0 1.2rem 1rem; }
.guide-contents ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.15rem 1rem; list-style:none; padding:0; margin:0; }
.guide-contents a { display:block; padding:.55rem 0; color:var(--reader-ink); font-size:.9rem; line-height:1.4; text-underline-offset:.18em; }
:is(h2,h3,section,details)[id] { scroll-margin-top:6.5rem; }
.table-wrap { border-radius:6px; box-shadow:none; }
.table-wrap table { font-size:.9rem; }
.sources-block { border-top:1px solid var(--reader-line); }
.sources-block li { line-height:1.6; margin-block:.7rem; overflow-wrap:anywhere; }
.decision-card { background:#fffdf8; border:1px solid var(--reader-line); border-radius:7px; box-shadow:none; padding:1.6rem; }
.decision-card h2,.decision-card h3 { font-size:1.55rem; line-height:1.2; letter-spacing:-.025em; }
.decision-card p { font-size:.97rem; line-height:1.65; }
.decision-card a { text-underline-offset:.22em; }
.month-weather { padding:1.5rem 1.7rem; border:1px solid var(--reader-line); border-radius:8px; background:var(--reader-soft); }
.month-weather dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:.8rem 0 1.1rem; gap:1rem; }
.month-weather dt { color:var(--reader-muted); font-size:.78rem; line-height:1.4; }
.month-weather dd { margin:.35rem 0 0; color:var(--reader-ink); font-family:var(--font-display,Georgia,serif); font-size:1.8rem; line-height:1.2; }
.month-weather > p:last-child { font-size:.79rem; line-height:1.6; margin:0; }
.month-neighbours { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.8rem; padding:1.2rem 0; border-block:1px solid var(--reader-line); margin-top:2rem; }
.month-neighbours a { padding:.45rem .2rem; color:var(--reader-ink); font-weight:650; }
.reader-next ul { padding-left:1.2rem; }
.reader-next a { color:var(--reader-ink); text-underline-offset:.2em; }
.month-selector__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; }
.month-selector__grid a { display:block; padding:1rem 1.2rem; border:1px solid var(--reader-line); border-radius:6px; color:var(--reader-ink); background:#fffdf8; text-decoration:none; }
.month-selector__grid strong { font-size:1.15rem; display:block; }
.month-selector__grid span { display:block; font-size:.8rem; line-height:1.5; margin-top:.35rem; color:var(--reader-muted); }
.month-selector__grid a:hover,.area-selector__grid a:hover { border-color:#376c6b; background:#edf3e9; }
.area-selector__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:2rem; }
.area-selector__grid > a { display:grid; grid-template-columns:2rem minmax(0,1fr) 1rem; gap:.6rem; padding:1.2rem .5rem; border-top:1px solid var(--reader-line); color:var(--reader-ink); text-decoration:none; }
.area-selector__grid > a > span { padding-top:.2rem; color:#8a3828; font-size:.8rem; }
.area-selector__grid h3 { font-size:1.4rem; margin:0 0 .3rem; }
.area-selector__grid p { font-size:.87rem; line-height:1.5; margin:0; }
.area-selector__grid b { align-self:center; }
.library-shortcuts { display:flex; flex-wrap:wrap; gap:1.1rem; margin-block:.5rem 1rem; }
.library-shortcuts a { color:var(--reader-ink); font-size:.9rem; padding:.4rem 0; text-underline-offset:.25em; }
.guide-finder { margin-block:2rem 1rem; border:1px solid var(--reader-line); border-radius:8px; box-shadow:none; }
.saved-guides { margin-block:1.2rem 1.8rem; }
.saved-guides > details { padding:1.1rem 1.4rem; border:1px solid var(--reader-line); border-radius:8px; background:#f0f2e9; }
.saved-guides summary { min-height:32px; cursor:pointer; font-size:1.13rem; font-weight:700; color:var(--reader-ink); }
.saved-guides > details > p { font-size:.87rem; color:var(--reader-muted); line-height:1.6; max-width:75ch; }
.saved-guides ul { list-style:none; padding:0; margin:1rem 0; }
.saved-guides li { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.6rem 0; border-top:1px solid var(--reader-line); }
.saved-guides li a { color:var(--reader-ink); font-weight:650; line-height:1.5; text-underline-offset:.2em; }
.saved-guides li button { flex-shrink:0; min-height:44px; padding:.5rem .75rem; border:1px solid #73928a; background:transparent; border-radius:5px; color:var(--reader-ink); font:inherit; cursor:pointer; }
.saved-guides [data-saved-guides-status]:empty { margin:0; min-height:0; }
.category-jump { position:static; padding-block:1rem; gap:.5rem; }
.category-jump a { min-height:44px; display:inline-flex; align-items:center; padding:.5rem .8rem; }
.library-card { border-radius:7px; box-shadow:none; }
.library-card h3 { line-height:1.25; }
.completion-layer { padding:1.6rem 1.9rem; border-radius:8px; background:#edf1e8; box-shadow:none; }
.completion-layer > p:not(.section-kicker):not(.action-status) { max-width:70ch; font-size:.95rem; line-height:1.65; color:var(--reader-muted); }
.completion-actions button,.completion-actions a { border-radius:5px; font-size:.87rem; min-height:44px; }
.completion-actions [data-save-page] { background:#073f48; color:#fff; }
.completion-actions [data-save-page][aria-pressed="true"] { background:#d4e7d9; color:#123e45; }
.urgent-help { display:flex; align-items:center; gap:1.5rem; justify-content:space-between; margin-block:1rem; padding:1rem 1.2rem; background:#fff0e6; border:1px solid #bb6650; border-left:4px solid #963c2a; border-radius:5px; }
.urgent-help p { font-size:1rem; line-height:1.6; margin:0; max-width:76ch; color:#542c23; }
.call-now { display:inline-flex; align-items:center; justify-content:center; min-height:48px; flex-shrink:0; padding:.75rem 1rem; background:#873726; color:#fff; text-decoration:none; border-radius:5px; font-weight:700; }
.resource-card a[href^="tel:"] { display:inline-block; padding:.35rem 0; color:var(--reader-ink); text-underline-offset:.2em; }
.contact-shortcuts { display:flex; flex-wrap:wrap; gap:.75rem; margin-block:1.5rem; }
.contact-shortcuts a { padding:.8rem 1rem; border:1px solid #426c6c; border-radius:5px; color:var(--reader-ink); font-weight:650; text-underline-offset:.2em; }
@media(max-width:1050px) { .reading-hero .reading-hero__copy { padding-inline:2rem; } .guide-frame { grid-template-columns:minmax(0,1fr) 230px; gap:2rem; } }
@media(max-width:960px) { .guide-frame { grid-template-columns:1fr; } .guide-rail { display:none; } .guide-contents--with-rail { display:block; } .guide-prose { max-width:76ch; } .month-selector__grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:760px) {
 .reading-hero:is(.guide-hero,.utility-hero,.editorial-hero) { grid-template-columns:1fr; }
 .reading-hero .reading-hero__copy { padding:1.9rem 1.25rem 1.6rem; }
 .reading-hero h1 { font-size:clamp(2rem,7.3vw,2.9rem); line-height:1.12; letter-spacing:-.035em; }
 .reading-hero .reading-hero__copy > p:not(.eyebrow):not(.section-kicker) { font-size:1rem; line-height:1.6; }
 .reading-hero .guide-hero__meta { gap:.45rem .8rem; margin-top:1rem; font-size:.76rem; }
 .masthead-photo { grid-template-rows:190px auto; }
 .reading-hero .masthead-photo img { max-height:190px; }
 .masthead-photo figcaption { padding:.55rem 1.25rem; font-size:.66rem; }
 .reading-hero--essential .masthead-photo { grid-template-rows:120px auto; }
 .reading-hero--essential .masthead-photo img { max-height:120px; }
 .guide-frame,.utility-body { padding-block:1.5rem 2.8rem; }
 .guide-contents ol { grid-template-columns:1fr; }
 .quick-box { padding:1.3rem 1.2rem; }
 .quick-box h2 { font-size:1.5rem; }
 .prose h2,.utility-body > h2,.utility-body > section > h2 { font-size:1.75rem; line-height:1.2; margin-top:2.2rem; }
 .guide-prose > section + section { margin-top:2rem; padding-top:2rem; }
 .prose :is(p,li),.utility-body :is(p,li) { font-size:1rem; line-height:1.72; }
 .area-selector__grid { grid-template-columns:1fr; }
 .month-weather { padding:1.2rem; }
 .month-weather dl { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
 .month-selector__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .month-selector__grid a { padding:.9rem; }
 .saved-guides > details { padding:1rem; }
 .saved-guides li { align-items:flex-start; gap:.6rem; }
 .saved-guides li a { font-size:.93rem; }
 .saved-guides li button { font-size:.8rem; }
 .completion-layer { padding:1.25rem; }
 .urgent-help { flex-direction:column; align-items:stretch; gap:.8rem; }
 .breadcrumbs { overflow-wrap:anywhere; }
 .reading-hero [data-reveal] { opacity:1!important; transform:none!important; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print {
 .reading-hero:is(.guide-hero,.utility-hero,.editorial-hero) { display:block; background:#fff; }
 .reading-hero .reading-hero__copy { padding:0; }
 .masthead-photo,.guide-contents,.guide-rail,.completion-layer,.saved-guides,.month-neighbours,.contact-shortcuts,.guide-finder,.library-shortcuts { display:none!important; }
 .guide-frame,.utility-body { display:block; padding:0; }
 .month-weather { break-inside:avoid; }
 .prose h2,.utility-body h2 { break-after:avoid; }
 .urgent-help { border:2px solid #000; background:#fff; }
 .call-now { color:#000; background:#fff; }
 .call-now::after { content:none; }
}
.reading-hero .reading-hero__copy, .reading-hero .reading-hero__copy * { text-shadow:none; }
.completion-layer .section-kicker, .quick-box .section-kicker, .month-weather .section-kicker { color:#8a3828; }
.reading-hero:is(.guide-hero,.utility-hero,.editorial-hero) { justify-items:stretch; }
.reading-hero .masthead-photo { width:100%; }
@media(min-width:761px) {
 /* Let the title set the masthead height instead of the photo's source ratio. */
 .reading-hero .masthead-photo img { height:0; min-height:100%; max-height:none; }
}
