/* Blog listing only. Six practical guides, presented in Eagle's ivory, forest and gold. */
body.page-blog { --blog-header-space:88px; --blog-space:clamp(45px,5vw,70px); background:#fffdf8; color:#173b32; }
body.page-blog main { overflow:clip; }
body.page-blog main :is(h1,h2,h3,p,figure) { margin:0; }
body.page-blog main .container { width:min(1280px,calc(100% - 80px)); margin-inline:auto; }
body.page-blog main .section-pad { padding-block:var(--blog-space); }
body.page-blog main h2 { color:#173b32; font:500 clamp(32px,3.2vw,46px)/1.13 var(--font-serif); letter-spacing:-.035em; }
body.page-blog main h3 { color:#173b32; font:500 25px/1.18 var(--font-serif); letter-spacing:-.02em; }
body.page-blog main .eyebrow { margin-bottom:14px; color:#82632f; font:600 9px/1.6 var(--font-sans); letter-spacing:.17em; text-transform:uppercase; }
body.page-blog main .muted { color:#526150; font-size:12px; line-height:1.85; }
body.page-blog main .muted a { color:#82632f; text-decoration:underline; text-underline-offset:4px; }
body.page-blog main .section-title { margin-bottom:27px; }
body.page-blog main .section-title .muted { max-width:750px; margin-top:17px; }
body.page-blog :is(.btn-primary,.btn-ghost,.blog-text-link) { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; padding:12px 19px; border:1px solid #bcc5af; border-radius:5px; background:transparent; color:#173b32; font:500 11px/1.6 var(--font-sans); box-shadow:none; text-decoration:none; cursor:pointer; }
body.page-blog .btn-primary { background:#173b32; border-color:#173b32; color:#fffdf8; }
body.page-blog .btn-primary:hover { background:#285446; border-color:#285446; }
body.page-blog .btn-ghost:hover { background:#e6eddd; border-color:#9cae91; }
body.page-blog .blog-text-link { padding:7px 0; border:0; text-decoration:underline; text-decoration-color:#b79a62; text-underline-offset:6px; }
body.page-blog .blog-text-link:hover { color:#82632f; }
body.page-blog main :is(a,button,summary):focus-visible { outline:3px solid #9c793d; outline-offset:4px; }
body.page-blog .blog-skip-link { position:fixed; top:-100px; left:16px; z-index:2000; padding:12px 18px; background:#173b32; color:#fffdf8; }
body.page-blog .blog-skip-link:focus { top:12px; }

body.page-blog .guide-hero::before,body.page-blog .guide-hero::after { display:none; }

/* A full-screen photographic hero follows the Home / Gallery / Contact design. */
body.page-blog .guide-hero { position:relative; padding:0; border:0; overflow:hidden; background:#f7f3e8; }
body.page-blog .blog-hero-shell { position:relative; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:40px; width:100%; min-height:calc(100vh - var(--blog-header-space)); min-height:calc(100svh - var(--blog-header-space)); padding:32px clamp(24px,5vw,80px); isolation:isolate; }
body.page-blog .blog-hero-copy { position:relative; z-index:2; max-width:590px; min-width:0; padding:8px 0; }
body.page-blog .blog-breadcrumb { display:flex; gap:11px; align-items:center; margin-bottom:25px; color:#6e7566; font-size:9px; }
body.page-blog .blog-breadcrumb a { color:inherit; }
body.page-blog .blog-breadcrumb a:hover { text-decoration:underline; }
body.page-blog .blog-kicker { display:flex; gap:12px; align-items:center; margin-bottom:21px; color:#82632f; font:600 9px/1.6 var(--font-sans); letter-spacing:.13em; text-transform:uppercase; }
body.page-blog .blog-kicker > span { width:24px; height:1px; flex:none; background:#b69a63; }
body.page-blog .guide-hero h1 { max-width:590px; color:#173b32; font:600 clamp(43px,4.4vw,67px)/1.05 var(--font-serif); letter-spacing:-.045em; text-wrap:balance; }
body.page-blog .guide-hero h1 em { display:block; color:#896930; font-weight:500; }
body.page-blog .guide-hero .subtitle { max-width:490px; margin-top:20px; color:#526150; font-size:13px; line-height:1.8; }
body.page-blog .hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px 20px; margin-top:25px; }
body.page-blog .guide-hero .btn-primary { gap:20px; padding:14px 21px; border-radius:999px; background:#c4a56a; border-color:#c4a56a; color:#173b32; }
body.page-blog .guide-hero .btn-primary:hover { border-color:#d8be86; background:#d8be86; }
body.page-blog .hero-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; max-width:490px; margin-top:25px; padding-top:20px; border-top:1px solid #d8cfbb; }
body.page-blog .hero-stat { min-width:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
body.page-blog .hero-stat strong { display:block; color:#173b32; font:500 26px/1.15 var(--font-serif); }
body.page-blog .hero-stat span { display:block; max-width:100px; margin-top:7px; color:#65715d; font-size:9px; line-height:1.6; }
body.page-blog .blog-hero-visual { position:absolute; inset:0; z-index:0; width:100%; height:100%; overflow:hidden; }
body.page-blog .blog-hero-visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:55% 42%; filter:brightness(1.07) saturate(.92); }
body.page-blog .blog-hero-visual::after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,#f7f3e8 0%,#f7f3e8f5 28%,#f7f3e8d6 43%,#f7f3e81f 70%,#10281d0a); }
body.page-blog .blog-photo-label { position:absolute; z-index:2; top:25px; right:clamp(24px,5vw,80px); display:flex; gap:7px; align-items:center; padding:8px 12px; border:1px solid #ffffff55; border-radius:999px; background:#173b328c; color:#fff9ed; font-size:8px; letter-spacing:.08em; text-transform:uppercase; }
body.page-blog .blog-hero-visual figcaption { position:absolute; z-index:2; right:clamp(24px,5vw,80px); bottom:35px; width:33%; padding:22px 24px; border-left:1px solid #d4b779; border-radius:0 12px 12px 0; color:#fff9ed; background:linear-gradient(90deg,#142c22e8,#142c229c); }
body.page-blog .blog-hero-visual figcaption h2 { color:#fff9ed; font:500 clamp(24px,2.5vw,35px)/1.12 var(--font-serif); }
body.page-blog .blog-hero-visual figcaption em { color:#e5cd95; }
body.page-blog .blog-hero-visual figcaption p { max-width:440px; margin-top:12px; color:#f0eadd; font-size:11px; line-height:1.8; }
body.page-blog .blog-hero-visual figcaption a { display:inline-flex; align-items:center; gap:13px; min-height:44px; margin-top:8px; color:#fff9ed; font-size:10px; text-decoration:underline; text-underline-offset:6px; }

/* The existing featured guide becomes a compact editorial spread. */
body.page-blog .featured-wrap { padding:45px 0 0; border:0; background:#fffdf8; }
body.page-blog .featured-card { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:0; min-width:0; overflow:hidden; border:1px solid #ded6c2; border-radius:15px 48px 15px 15px; background:#f8f5ec; box-shadow:none; }
body.page-blog .featured-media { position:relative; display:block; width:100%; min-height:320px; height:100%; overflow:hidden; border-radius:0 48px 0 0; background:#e7e4d7; }
body.page-blog .featured-media picture { display:block; width:100%; height:100%; }
body.page-blog .featured-media img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:52% 48%; }
body.page-blog .featured-content { min-width:0; padding:27px 32px; }
body.page-blog .badge { display:flex; gap:7px; align-items:center; margin-bottom:13px; color:#82632f; font:600 9px/1.6 var(--font-sans); letter-spacing:.09em; text-transform:uppercase; background:transparent; border:0; box-shadow:none; }
body.page-blog .featured-content h2 { max-width:620px; font-size:34px; line-height:1.13; }
body.page-blog .featured-content > p { max-width:650px; margin-top:14px; color:#5a6854; font-size:11px; line-height:1.8; }
body.page-blog .meta { display:flex; flex-wrap:wrap; gap:6px 15px; color:#6d765f; font-size:10px; line-height:1.7; }
body.page-blog .meta span { display:flex; gap:6px; align-items:center; }
body.page-blog .meta i { color:#94733b; }
body.page-blog .featured-content .meta { margin-top:14px; }
body.page-blog .author-row { display:flex; gap:7px; align-items:center; color:#6d765f; font-size:10px; line-height:1.7; }
body.page-blog .author-dot { display:grid; place-items:center; width:23px; height:23px; flex:none; border:1px solid #c4b184; border-radius:50%; color:#82632f; font-size:8px; }
body.page-blog .featured-content .author-row { margin-top:10px; }
body.page-blog .featured-content > .btn-primary { min-height:44px; margin-top:18px; padding:10px 16px; font-size:10px; }
body.page-blog .image-frame-line { display:none; }

/* Topic links use flat tabs and continue to work without JavaScript. */
body.page-blog .category-strip { display:flex; align-items:center; flex-wrap:wrap; gap:5px 22px; margin-top:31px; padding-block:7px; border-block:1px solid #dcd3be; background:transparent; box-shadow:none; }
body.page-blog .category-label { margin-right:auto; padding-block:13px; color:#82632f; font:italic 15px/1.6 var(--font-serif); }
body.page-blog .cat-tile { display:flex; gap:7px; align-items:center; min-height:45px; padding:10px 0; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; color:#65715d; font-size:10px; text-decoration:none; box-shadow:none; }
body.page-blog .cat-tile i { color:#94733b; font-size:15px; }
body.page-blog .cat-tile:hover,body.page-blog .cat-tile[aria-current] { border-bottom-color:#9c793d; color:#173b32; }
body.page-blog .blog-library { position:relative; border:0; }
body.page-blog .library-count { display:flex; align-items:baseline; justify-content:flex-end; gap:7px; margin:-55px 0 32px; color:#65715d; }
body.page-blog .library-count > span { color:#173b32; font:500 26px/1 var(--font-serif); }
body.page-blog .library-count > small { font-size:10px; }
body.page-blog .blog-library .section-title .muted { max-width:880px; padding-right:170px; }
body.page-blog .blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:27px 22px; }
body.page-blog .post-card { display:flex; flex-direction:column; min-width:0; border:1px solid #ddd4bd; border-radius:12px; background:#fbf9f1; box-shadow:none; overflow:hidden; scroll-margin-top:0; }
body.page-blog .post-media { position:relative; display:block; width:100%; height:205px; overflow:hidden; border-radius:0 37px 0 0; background:#e7e4d7; }
body.page-blog .post-media picture { display:block; width:100%; height:100%; }
body.page-blog .post-media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
body.page-blog .post-image-badge { position:absolute; left:15px; bottom:13px; display:flex; align-items:center; gap:6px; max-width:calc(100% - 65px); padding:6px 9px; border:1px solid #ffffff4d; border-radius:3px; background:#173b32dd; color:#fff9ed; font-size:9px; line-height:1.7; }
body.page-blog .post-number { position:absolute; top:13px; right:14px; display:grid; place-items:center; width:30px; height:30px; border:1px solid #ffffff66; border-radius:50%; background:#173b32b5; color:#fff9ed; font:500 13px/1 var(--font-serif); }
body.page-blog #planning .post-media img { object-position:55% 45%; }
body.page-blog #vehicles .post-media img { object-position:50% 40%; }
body.page-blog #costs .post-media img { object-position:50% 35%; }
body.page-blog #routes .post-media img { object-position:65% 55%; }
body.page-blog #camping .post-media img { object-position:40% 35%; }
body.page-blog #safety .post-media img { object-position:65% 40%; }
body.page-blog .post-body { display:flex; flex-direction:column; flex:1; padding:20px 21px 12px; min-width:0; }
body.page-blog .post-body h3 { font-size:25px; line-height:1.18; }
body.page-blog .post-body h3 a { color:inherit; text-decoration:none; }
body.page-blog .post-body h3 a:hover { color:#82632f; }
body.page-blog .post-body > p { margin-top:12px; color:#5a6854; font-size:11px; line-height:1.8; }
body.page-blog .card-meta-row { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:7px 15px; margin-top:15px; padding-bottom:13px; border-bottom:1px solid #ded6c1; }
body.page-blog .card-meta-row .meta,body.page-blog #routes .card-meta-row .meta,body.page-blog .card-meta-row .author-row { font-size:9px; }
body.page-blog .post-learn { margin-top:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
body.page-blog .post-learn summary { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:42px; padding:10px 0; color:#6d765f; font-size:10px; list-style:none; cursor:pointer; }
body.page-blog .post-learn summary::-webkit-details-marker { display:none; }
body.page-blog .post-learn summary i { color:#94733b; font-size:17px; }
body.page-blog .post-learn[open] summary i { transform:rotate(45deg); }
body.page-blog .post-learn p { margin:0 0 12px; color:#5a6854; font-size:11px; line-height:1.8; }

/* The route topic keeps its anchor without inheriting the homepage route disclosure. */
body.page-blog #routes .post-learn { margin-top:0; border:0; border-radius:0; background:transparent; position:static; isolation:auto; }
body.page-blog #routes .post-learn::after { content:none; }
body.page-blog #routes .post-learn summary { padding:10px 0; color:#6d765f; font-weight:400; }
body.page-blog #routes .meta { gap:6px 15px; align-items:normal; color:#6d765f; }

body.page-blog .read-link { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:44px; margin-top:auto; border-top:1px solid #ded6c1; color:#82632f; font-size:10px; text-decoration:none; }
body.page-blog .read-link:hover { color:#173b32; }
body.page-blog .read-link i { font-size:17px; }

/* Existing editorial content and FAQs remain, with open rows and quieter spacing. */
body.page-blog .guide-editorial { background:#f1eee3; border-block:1px solid #e0d8c3; }
body.page-blog .editorial-grid,body.page-blog .final-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:60px; align-items:center; }
body.page-blog .editorial-copy h2,body.page-blog .final-copy h2 { max-width:650px; font-size:36px; }
body.page-blog .editorial-copy .muted { margin-top:16px; font-size:11px; }
body.page-blog .side-list { min-width:0; padding:0 0 0 25px; border-left:1px solid #bfa873; border-radius:0; background:transparent; box-shadow:none; }
body.page-blog .check-list { display:grid; gap:16px; margin:0; padding:0; list-style:none; }
body.page-blog .check-list li { display:flex; gap:11px; align-items:start; color:#5a6854; font-size:11px; line-height:1.8; }
body.page-blog .check-list i { flex:none; color:#94733b; font-size:17px; }
body.page-blog .blog-faq > .container { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.45fr); gap:60px; align-items:start; }
body.page-blog .blog-faq .section-title { margin:0; }
body.page-blog .faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 27px; border-top:1px solid #d4c9b1; }
body.page-blog .faq-grid details { min-width:0; border:0; border-bottom:1px solid #d4c9b1; border-radius:0; padding:0; background:transparent; box-shadow:none; }
body.page-blog .faq-grid summary { position:relative; display:list-item; list-style:none; padding:20px 30px 20px 0; cursor:pointer; color:#173b32; font-size:13px; font-weight:400; line-height:1.6; }
body.page-blog .faq-grid summary::-webkit-details-marker { display:none; }
body.page-blog .faq-grid summary::after { content:'+'; position:absolute; top:17px; right:3px; color:#94733b; font-size:23px; }
body.page-blog .faq-grid details[open] summary::after { content:'−'; }
body.page-blog .faq-grid details p { margin:0; padding:0 27px 22px 0; color:#5a6955; font-size:12px; line-height:1.85; }
body.page-blog .final-cta { padding-top:0!important; border:0; }
body.page-blog .final-grid { padding:32px; gap:45px; border:1px solid #d2dac7; border-radius:35px 10px 10px 10px; background:#e9eddf; }
body.page-blog .final-copy > .muted { margin-top:15px; font-size:11px; }
body.page-blog .final-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:21px; }
body.page-blog .final-actions :is(.btn-primary,.btn-ghost) { min-height:44px; padding:10px 15px; font-size:10px; }

@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 body.page-blog :is(.post-media img,.featured-media img) { transition:transform .6s ease; }
 body.page-blog :is(.post-media,.featured-media):hover img { transform:scale(1.025); }
}
@media (max-width:1100px) {
 body.page-blog main .container { width:calc(100% - 48px); }
 body.page-blog .blog-hero-visual figcaption { width:35%; }
 body.page-blog .hero-actions { gap:7px 16px; }
 body.page-blog .category-strip { gap:0 20px; }
 body.page-blog .category-label { width:100%; padding:7px 0 3px; }
 body.page-blog .featured-content { padding:24px; }
 body.page-blog .featured-content h2 { font-size:30px; }
 body.page-blog .blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.page-blog .editorial-grid,body.page-blog .final-grid,body.page-blog .blog-faq > .container { gap:30px; }
 body.page-blog .library-count { display:none; }
 body.page-blog .blog-library .section-title .muted { padding-right:0; }
}
@media (max-width:1080px) { body.page-blog { --blog-header-space:76px; } }
@media (max-width:900px) {
 body.page-blog .blog-hero-shell { display:block; padding:30px 24px 270px; }
 body.page-blog .blog-hero-copy { max-width:590px; }
 body.page-blog .guide-hero h1 { font-size:clamp(39px,5.7vw,56px); }
 body.page-blog .blog-hero-visual img { object-position:62% bottom; }
 body.page-blog .blog-hero-visual::after { background:linear-gradient(180deg,#f7f3e8 0%,#f7f3e8 32%,#f7f3e8dd 51%,#f7f3e80a 78%,#10271d20); }
 body.page-blog .blog-photo-label { display:none; }
 body.page-blog .blog-hero-visual figcaption { right:24px; bottom:22px; width:calc(100% - 48px); padding:18px 20px; }
 body.page-blog .blog-hero-visual figcaption h2 { font-size:27px; }
 body.page-blog .blog-hero-visual figcaption p { max-width:630px; }
 body.page-blog .editorial-grid,body.page-blog .final-grid { grid-template-columns:1fr; }
 body.page-blog .blog-faq > .container { grid-template-columns:1fr; gap:29px; }
 body.page-blog .side-list { padding-left:20px; }
}
@media (max-width:600px) {
 body.page-blog { --blog-space:44px; }
 body.page-blog main .container { width:calc(100% - 36px); }
 body.page-blog .blog-hero-shell { padding:24px 20px 260px; }
 body.page-blog .blog-breadcrumb { margin-bottom:18px; font-size:9px; }
 body.page-blog .blog-kicker { margin-bottom:16px; font-size:8px; }
 body.page-blog .guide-hero h1 { font-size:clamp(36px,9.3vw,45px); }
 body.page-blog .guide-hero .subtitle { margin-top:16px; font-size:11px; line-height:1.8; }
 body.page-blog .hero-actions { gap:6px 15px; margin-top:18px; }
 body.page-blog .guide-hero .btn-primary { min-height:44px; padding:12px 17px; gap:14px; font-size:10px; }
 body.page-blog .blog-text-link { min-height:44px; font-size:10px; }
 body.page-blog .hero-stats { gap:9px; margin-top:17px; padding-top:17px; }
 body.page-blog .hero-stat strong { font-size:23px; }
 body.page-blog .hero-stat span { font-size:9px; line-height:1.5; }
 body.page-blog .blog-hero-visual img { object-position:63% bottom; }
 body.page-blog .blog-hero-visual::after { background:linear-gradient(180deg,#f7f3e8 0%,#f7f3e8 45%,#f7f3e8dd 65%,#f7f3e815 85%,#10271d20); }
 body.page-blog .blog-hero-visual figcaption { right:20px; bottom:20px; width:calc(100% - 40px); padding:16px; }
 body.page-blog .blog-hero-visual figcaption h2 { font-size:25px; }
 body.page-blog .blog-hero-visual figcaption p { font-size:10px; line-height:1.7; }
 body.page-blog .featured-wrap { padding-top:30px; }
 body.page-blog .featured-card { grid-template-columns:1fr; border-top-right-radius:40px; }
 body.page-blog .featured-media { height:220px; min-height:0; border-top-right-radius:40px; }
 body.page-blog .featured-content { padding:23px 21px; }
 body.page-blog .featured-content h2 { font-size:28px; }
 body.page-blog .featured-content > p { font-size:11px; }
 body.page-blog :is(.meta,.author-row) { font-size:10px; }
 body.page-blog .category-strip { margin-top:23px; gap:0 17px; }
 body.page-blog .category-label { font-size:14px; }
 body.page-blog .cat-tile { min-height:44px; font-size:9px; }
 body.page-blog .cat-tile i { font-size:14px; }
 body.page-blog .blog-grid { grid-template-columns:1fr; gap:23px; }
 body.page-blog .post-media { height:210px; }
 body.page-blog .post-body { padding:20px 21px 12px; }
 body.page-blog .post-body h3 { font-size:27px; }
 body.page-blog .card-meta-row .meta,body.page-blog #routes .card-meta-row .meta,body.page-blog .card-meta-row .author-row { font-size:10px; }
 body.page-blog .post-learn summary { min-height:44px; }
 body.page-blog .editorial-copy h2,body.page-blog .final-copy h2 { font-size:31px; }
 body.page-blog .side-list { padding-left:18px; }
 body.page-blog .check-list { gap:15px; }
 body.page-blog .check-list li { font-size:11px; }
 body.page-blog .faq-grid { grid-template-columns:1fr; }
 body.page-blog .faq-grid summary { font-size:12px; }
 body.page-blog .final-grid { padding:25px 22px; gap:25px; }
 body.page-blog .final-actions { gap:9px; }
}
@media (prefers-reduced-motion:reduce) { body.page-blog * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
