:root{
  --hbd-orange:#f36c0a;
  --hbd-black:#111;
  --hbd-ink:#19140f;
  --hbd-paper:#f4ecdf;
  --hbd-card:#fffaf2;
  --hbd-line:#d8c5ad;
  --hbd-muted:#66594d;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.hbd-roadtrip-premium{margin:0;background:var(--hbd-paper);color:var(--hbd-ink);font-family:Lora,Georgia,serif;font-size:16px;line-height:1.65}
.shaw-hero{padding:34px 24px 24px;background:var(--hbd-paper);border-bottom:1px solid var(--hbd-line)}
.shaw-hero-inner{width:min(1180px,100%);margin:0 auto}
.shaw-kicker,.rt-section-label{margin:0 0 10px;color:#c95000;font:600 13px/1.2 Oswald,Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase}
.shaw-hero h1{max-width:980px;margin:0;font:700 clamp(36px,5vw,58px)/.98 Oswald,Arial,sans-serif;letter-spacing:-.025em;text-transform:uppercase}
.shaw-hero h1 span{color:var(--hbd-orange)}
.shaw-intro{max-width:940px;margin:14px 0 0;font-size:15px;line-height:1.55}
.shaw-meta{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:24px;padding-top:18px;border-top:1px solid var(--hbd-line);font:600 13px/1.4 Oswald,Arial,sans-serif;text-transform:uppercase}
.shaw-meta span{position:relative}
.shaw-meta span:not(:last-child)::after{content:"";position:absolute;right:-12px;top:2px;width:1px;height:14px;background:var(--hbd-line)}
.rt-stats{background:#fffaf2}
.hbd-roadtrip-premium .rt-stats>div{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;grid-template-columns:none;grid-template-rows:none}
.hbd-roadtrip-premium .rt-stats small{display:block;width:100%;font-size:10px;line-height:1.2;letter-spacing:.06em;white-space:normal}
.hbd-roadtrip-premium .rt-stats strong{display:block;width:100%;font-size:16px;line-height:1.15;white-space:normal}
.rt-shell{display:block!important;width:min(1120px,calc(100% - 36px));max-width:1120px!important;margin:0 auto;padding:0 0 34px!important}
.rt-main{width:100%;max-width:none!important}
.rt-section{padding:30px 0;border-bottom:1px solid var(--hbd-line)}
.rt-section h2{max-width:900px;margin:0 0 12px;font:700 clamp(25px,3.2vw,36px)/1.04 Oswald,Arial,sans-serif;text-transform:uppercase}
.rt-section h3{font-family:Oswald,Arial,sans-serif}
.route-rule{margin:22px 0;padding:16px 18px;border:1px solid var(--hbd-orange);background:#fff9ef}
.route-rule strong{display:block;margin-bottom:5px;color:#c95000;font:700 13px Oswald,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.route-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:22px 0;background:var(--hbd-line);border:1px solid var(--hbd-line)}
.route-step{background:var(--hbd-card);padding:16px}
.route-step small{display:block;color:#c95000;font:700 11px Oswald,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.route-step strong{display:block;margin-top:5px;font:700 18px/1.15 Oswald,Arial,sans-serif;text-transform:uppercase}
.rt-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.rt-actions a,.card-link,.source-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 16px;border:2px solid var(--hbd-black);background:var(--hbd-orange);color:#090909!important;font:700 13px/1.2 Oswald,Arial,sans-serif;text-decoration:none;text-transform:uppercase}
.rt-actions a.secondary,.card-link.secondary{background:#fffaf2}
.map-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.75fr);border:1px solid var(--hbd-line);background:#fffaf2}
.map-shell{min-width:0;border-right:1px solid var(--hbd-line)}
.map-toolbar{display:flex;gap:7px;flex-wrap:wrap;padding:13px;background:#111}
.map-filter{padding:8px 10px;border:1px solid #6b6055;background:#111;color:#fff;font:700 11px Oswald,Arial,sans-serif;text-transform:uppercase;cursor:pointer}
.map-filter.active{border-color:var(--hbd-orange);background:var(--hbd-orange);color:#111}
#shawMap{height:590px;background:#dce7dc}
#beauceMap{height:590px;background:#dce7dc}
.map-note{padding:11px 14px;border-top:1px solid var(--hbd-line);color:#54483d;font-size:13px}
.place-panel{max-height:650px;overflow:auto}
.place-head{position:sticky;top:0;z-index:10;padding:16px;border-bottom:4px solid var(--hbd-orange);background:#111;color:#fff}
.place-head h3{margin:0;color:#fff;font:700 24px Oswald,Arial,sans-serif;text-transform:uppercase}
.place-head p{margin:4px 0 0;font-size:13px}
.place-card{padding:15px;border-bottom:1px solid var(--hbd-line);background:#fffaf2;cursor:pointer}
.place-card:hover,.place-card.active{background:#f1e4d2}
.place-card small{color:#c95000;font:700 11px Oswald,Arial,sans-serif;text-transform:uppercase}
.place-card h4{margin:4px 0;font:700 20px/1.1 Oswald,Arial,sans-serif;text-transform:uppercase}
.place-card p{margin:6px 0 9px;font-size:14px;line-height:1.45}
.badges{display:flex;flex-wrap:wrap;gap:5px}.badge{padding:3px 6px;border:1px solid #c7b49b;background:#fff;font-size:10px}.badge.hbd-certified{border-color:var(--hbd-black);background:var(--hbd-orange);color:var(--hbd-black);font-weight:800}
.heart-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.heart-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--hbd-line);border-top:4px solid var(--hbd-orange);background:var(--hbd-card)}
.photo-slot{display:grid;place-items:center;aspect-ratio:3/2;padding:18px;background:linear-gradient(135deg,#ded1bf,#f8efe2);color:#6b5d50;font:700 12px Oswald,Arial,sans-serif;letter-spacing:.08em;text-align:center;text-transform:uppercase}
.photo-slot:has(img){padding:0;overflow:hidden}
.photo-slot img{display:block;width:100%;height:100%;object-fit:cover}
.heart-card-body{display:flex;flex:1;flex-direction:column;padding:16px}
.heart-card h3{margin:0;font:700 18px/1.08 Oswald,Arial,sans-serif;text-transform:uppercase}
.heart-card small{margin-top:5px;color:#c95000;font:700 11px Oswald,Arial,sans-serif;text-transform:uppercase}
.heart-card p{flex:1;margin:9px 0 14px;font-size:13px;line-height:1.5}
.heart-card .card-link{width:100%}
.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.info-card{padding:17px;border:1px solid var(--hbd-line);background:var(--hbd-card)}
.info-card h3{margin:0 0 8px;font:700 20px/1.1 Oswald,Arial,sans-serif;text-transform:uppercase}
.info-card small{display:block;margin-bottom:7px;color:#c95000;font:700 11px Oswald,Arial,sans-serif;text-transform:uppercase}
.info-card p{margin:0;font-size:14px}
.hotel-feature{display:grid;grid-template-columns:1.15fr .85fr;gap:0;margin-top:18px;border:1px solid var(--hbd-line);border-top:4px solid var(--hbd-orange);background:var(--hbd-card)}
.hotel-feature>div{padding:22px}.hotel-facts{background:#111;color:#fff}.hotel-facts ul{margin:0;padding-left:20px}.hotel-facts a{color:#ff8b32}
.dog-note{padding:16px;border-left:5px solid var(--hbd-orange);background:#111;color:#fff}.dog-note strong{color:#ff8b32}
.source-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 0;padding:0;list-style:none}.source-list li{border:1px solid var(--hbd-line);background:var(--hbd-card)}.source-link{width:100%;height:100%;justify-content:flex-start;border:0;background:transparent;text-align:left}
.rt-aside{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px;margin-top:28px}.rt-side-card{margin:0!important}
.leaflet-routing-container{display:none!important}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fffaf2!important}.popup h3{margin:3px 0;font:700 20px Oswald,Arial,sans-serif}.popup small{color:#c95000;font-weight:800;text-transform:uppercase}.popup a{display:inline-block;margin-top:8px;padding:7px 9px;background:#f36c0a;color:#111!important;font-weight:800;text-decoration:none;text-transform:uppercase}
@media(max-width:900px){.route-steps,.heart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-layout,.hotel-feature{grid-template-columns:1fr}.map-shell{border-right:0;border-bottom:1px solid var(--hbd-line)}.place-panel{max-height:480px}.info-grid,.rt-aside{grid-template-columns:1fr!important}}
@media(max-width:620px){.shaw-hero{padding:32px 18px 22px}.rt-shell{width:min(100% - 24px,1120px)}.route-steps,.heart-grid,.info-grid{grid-template-columns:1fr}.shaw-meta{display:grid;gap:6px}.shaw-meta span::after{display:none}.hbd-roadtrip-premium .rt-stats>div{min-height:72px;padding:12px}.hbd-roadtrip-premium .rt-stats strong{font-size:15px}#shawMap,#beauceMap{height:460px}.rt-actions a{width:100%}.source-list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.trip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.trip-card{display:flex;flex-direction:column;padding:20px;border:1px solid var(--hbd-line);border-top:3px solid var(--hbd-orange);background:var(--hbd-card)}.trip-card h2{font-size:28px;margin:8px 0 10px}.trip-number{color:#c95000;font:700 12px Oswald,Arial,sans-serif;letter-spacing:.12em}.trip-card ul{flex:1;padding-left:20px}.trip-card>a{display:flex;justify-content:center;padding:11px;border:2px solid #111;background:var(--hbd-orange);color:#111;text-decoration:none;font:700 13px Oswald,Arial,sans-serif}.timeline-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:18px;border:1px solid var(--hbd-line);background:var(--hbd-line)}.timeline-grid article{padding:15px;background:var(--hbd-card)}.timeline-grid small{display:block;color:#c95000;font:700 11px Oswald,Arial,sans-serif}.timeline-grid strong{display:block;margin-top:5px;font:700 17px Oswald,Arial,sans-serif;text-transform:uppercase}.timeline-grid p{font-size:13px}.engagement-box{margin-top:28px;padding:22px!important;border:1px solid var(--hbd-orange)!important;background:#fff9ef}.engagement-box h2{margin-bottom:0}.trip-next{background:transparent;padding-left:0;padding-right:0}@media(max-width:760px){.trip-grid,.timeline-grid{grid-template-columns:1fr}.trip-card h2{font-size:25px}}
.hbd-certified-label{display:inline-block;margin:0 0 14px;padding:7px 11px;border:2px solid #111;background:var(--hbd-orange);color:#111;font:800 13px Oswald,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.rt-toc{width:min(1120px,calc(100% - 36px));margin:0 auto}.rt-aside{width:100%}.hotel-feature>div{padding:18px}.hotel-feature h3{font-size:20px}.route-step{padding:13px}.route-step strong{font-size:15px}.info-card{padding:15px}.photo-slot{font-size:11px}.heart-card-body{padding:13px}.engagement-box .rt-actions{margin-bottom:0}
