.guide-page{background:#e4f3f7;color:#15251f}
.guide-hero{position:relative;min-height:82vh;display:flex;align-items:flex-end;overflow:hidden;color:#fff}
.guide-hero picture,.guide-hero-media,.guide-hero-shade{position:absolute;inset:0;width:100%;height:100%}
.guide-hero-media{object-fit:cover;object-position:center}
.guide-hero-shade{background:linear-gradient(90deg,rgba(6,30,23,.94),rgba(8,37,29,.54) 62%,rgba(8,29,24,.18)),linear-gradient(0deg,rgba(4,21,16,.84),transparent 58%)}
.guide-hero-content{position:relative;z-index:2;width:min(1180px,86vw);padding:150px 0 82px;margin:auto}
.guide-hero h1{max-width:1030px;font-size:clamp(3.8rem,7vw,7.4rem);line-height:.88;letter-spacing:-.05em}
.guide-hero h1 em{display:block;color:#b7d8e5;font-weight:500}
.guide-hero-copy{max-width:760px;margin:24px 0 30px;color:#e3ece7;font-size:1.06rem;line-height:1.72}
.guide-meta{display:flex;flex-wrap:wrap;gap:9px}
.guide-meta span{border:1px solid rgba(255,255,255,.35);padding:8px 11px;font-size:.61rem;text-transform:uppercase;letter-spacing:.1em}
.guide-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.55fr);gap:7vw}
.guide-main{min-width:0}
.guide-main h2{scroll-margin-top:110px;margin:65px 0 20px;font-size:clamp(2.7rem,4.6vw,5rem);line-height:.98;letter-spacing:-.04em}
.guide-main h3{margin:0 0 11px;font-size:1.75rem;line-height:1.08}
.guide-main p,.guide-main li{color:#4f5e56;line-height:1.78}
.guide-main a{color:#176984;text-decoration:underline;text-underline-offset:3px}
.guide-lead{font-family:var(--serif);font-size:clamp(1.5rem,2.3vw,2rem);line-height:1.35;color:#2d4037!important}
.guide-aside{align-self:start;position:sticky;top:105px;background:#f7f9f8;border:1px solid #d3ddd7;padding:28px}
.guide-aside strong{display:block;margin-bottom:15px;font-family:var(--serif);font-size:1.3rem}
.guide-aside a{display:block;padding:11px 0;border-top:1px solid #d8e0dc;color:#395248;font-size:.78rem;text-decoration:none}
.guide-answer{margin:28px 0 45px;padding:25px 27px;border-left:4px solid var(--blue);background:#f7f9f8}
.guide-answer strong{display:block;margin-bottom:8px;font-family:var(--serif);font-size:1.35rem}
.route-map{position:relative;display:grid;grid-template-columns:repeat(var(--stops),minmax(0,1fr));gap:8px;list-style:none;padding:31px 0 5px;margin:25px 0 42px}
.route-map:before{content:"";position:absolute;left:5%;right:5%;top:44px;height:2px;background:linear-gradient(90deg,#195a43,#247fa3)}
.route-map li{position:relative;text-align:center;color:#365047;font-size:.72rem;line-height:1.35}
.route-map li:before{content:"";display:block;position:relative;z-index:1;width:18px;height:18px;margin:4px auto 13px;border:4px solid #e4f3f7;border-radius:50%;background:#247fa3;box-shadow:0 0 0 2px #247fa3}
.route-map li:first-child:before,.route-map li:last-child:before{background:#195a43;box-shadow:0 0 0 2px #195a43}
.route-map li strong{display:block;font-family:var(--serif);font-size:1.06rem;color:#1f3e33}
.plan-table-wrap{overflow-x:auto;margin:24px 0 42px;border:1px solid #d3ddd7;background:#f7f9f8}
.plan-table{width:100%;min-width:760px;border-collapse:collapse}
.plan-table th,.plan-table td{padding:15px 17px;text-align:left;vertical-align:top;border-bottom:1px solid #dae2de}
.plan-table th{background:#195a43;color:#fff;font-size:.61rem;text-transform:uppercase;letter-spacing:.11em}
.plan-table td{color:#4f5e56;font-size:.82rem;line-height:1.55}
.plan-table td:first-child{font-family:var(--serif);font-size:1.05rem;color:#23483a}
.plan-table tr:last-child td{border-bottom:0}
.day-plan{margin-top:25px;border-top:1px solid #cad4ce}
.day-plan details{border-bottom:1px solid #cad4ce}
.day-plan summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:70px 1fr auto 28px;gap:18px;align-items:center;padding:24px 0}
.day-plan summary::-webkit-details-marker{display:none}
.day-plan summary span{font-size:.61rem;text-transform:uppercase;letter-spacing:.12em;color:#6f7e76}
.day-plan summary strong{font-family:var(--serif);font-size:1.55rem}
.day-plan summary em{font-style:normal;border:1px solid #aebbb4;padding:7px 9px;font-size:.57rem;text-transform:uppercase;letter-spacing:.09em}
.day-plan summary:after{content:"+";font-family:var(--serif);font-size:1.65rem}
.day-plan details[open] summary:after{content:"−"}
.day-copy{padding:0 60px 28px 88px}
.day-copy ul{padding-left:19px}
.day-copy .alternative{margin-top:14px;padding:12px 15px;background:#dfe9e4;color:#365047;font-size:.82rem}
.base-grid,.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:24px 0 42px}
.base-grid article,.choice-grid article{padding:24px;background:#f7f9f8;border:1px solid #d3ddd7}
.base-grid span,.choice-grid span{display:block;margin-bottom:10px;color:#247fa3;font-size:.59rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.base-grid p,.choice-grid p{margin:0;font-size:.86rem}
.guide-note{margin:30px 0;padding:22px 25px;background:#173c30;color:#fff}
.guide-note p{margin:7px 0 0;color:#dbe8e2}
.guide-faq{margin:20px 0 45px}
.guide-faq details{padding:19px 0;border-top:1px solid #cbd5cf}
.guide-faq summary{cursor:pointer;font-family:var(--serif);font-size:1.32rem}
.guide-faq p{margin-bottom:0}
.related-guides{background:#101413;color:#fff}
.related-guides h2{font-size:clamp(2.7rem,4.6vw,5rem)}
.related-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:34px}
.related-guide-grid a{display:block;padding:27px;border:1px solid rgba(255,255,255,.2);color:#fff;text-decoration:none}
.related-guide-grid span{color:#8cc6db;font-size:.59rem;text-transform:uppercase;letter-spacing:.12em}
.related-guide-grid h3{margin:11px 0 8px;font-size:1.75rem}
.related-guide-grid p{margin:0;color:#cbd9d2;font-size:.82rem}
.guide-cta{display:grid;grid-template-columns:1.2fr .8fr;gap:7vw;align-items:center}
.guide-cta h2{font-size:clamp(3rem,5vw,5.6rem)}
.guide-cta-actions{display:flex;flex-wrap:wrap;gap:10px}
.guide-cta .btn-ghost{border-color:#195a43;color:#195a43}
.guide-cta .btn-ghost:hover{background:#195a43;color:#fff}
@media(max-width:900px){.guide-layout,.guide-cta{grid-template-columns:1fr}.guide-aside{position:static;order:-1}.base-grid,.choice-grid,.related-guide-grid{grid-template-columns:1fr 1fr}.route-map{overflow-x:auto;grid-template-columns:repeat(var(--stops),125px);padding-bottom:18px}.route-map:before{left:62px;right:auto;width:calc((var(--stops) - 1)*133px);top:44px}}
@media(max-width:650px){.guide-hero{min-height:76vh}.guide-hero-content{width:auto;padding:132px 22px 58px}.guide-hero h1{font-size:3.55rem}.guide-layout{padding-left:22px;padding-right:22px}.base-grid,.choice-grid,.related-guide-grid{grid-template-columns:1fr}.day-plan summary{grid-template-columns:48px 1fr 24px;gap:10px}.day-plan summary strong{font-size:1.25rem}.day-plan summary em{grid-column:2;justify-self:start}.day-plan summary:after{grid-column:3;grid-row:1}.day-copy{padding:0 8px 24px 58px}.related-guides,.guide-cta{padding-left:22px;padding-right:22px}}

/* Readable route planning details on phones and enlarged text. */
.guide-main p,.guide-main li,.plan-table td,.day-copy .alternative,.base-grid p,.choice-grid p{font-size:1rem}
.guide-aside a,.plan-table th,.guide-meta span,.base-grid span,.choice-grid span,.day-plan summary span,.day-plan summary em{font-size:.875rem}
.guide-hero h1{line-height:1.02}
.guide-main h2{overflow-wrap:anywhere}
