:root{color-scheme:light;--paper:#f6f5ef;--ink:#183e37;--muted:#596a61;--line:#d8ded3;--mint:#e4eadf;--white:#fff;--accent:#d8e79d;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0}a{color:inherit;text-underline-offset:4px}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #578037;outline-offset:5px}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3{margin:0}p{line-height:1.7}h1,h2,h3{font-weight:400}h1,h2{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.045em}h2{font-size:clamp(36px,4vw,56px);line-height:1.12}h3{font-size:25px;letter-spacing:-.035em}section{scroll-margin-top:24px}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.skip{position:absolute;top:-100px;left:20px;padding:14px;background:#fff;z-index:30}.skip:focus{top:12px}.header{display:flex;justify-content:space-between;align-items:center;min-height:112px;gap:28px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-size:32px;font-weight:600;letter-spacing:-.05em}.brand small{display:block;letter-spacing:.15em;font-size:9px;margin-top:5px}.brand-mark{font-family:Georgia,serif;border:1px solid var(--ink);border-radius:50%;width:44px;height:44px;display:grid;place-content:center;font-size:26px;position:relative;font-weight:400}.brand-mark span{position:absolute;right:-5px;top:-5px;font-size:18px;background:var(--paper);line-height:1}.header nav{display:flex;gap:32px;align-items:center;font-size:14px}.header nav a{text-decoration:none}.header nav a:hover{text-decoration:underline}.hero{display:grid;grid-template-columns:1fr 1.04fr;gap:50px;align-items:center;padding:26px 0 72px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.16em;line-height:1.7}.dot{display:inline-block;width:7px;height:7px;background:#6d854c;border-radius:50%;margin-right:8px}.hero h1{font-size:clamp(52px,6.4vw,88px);line-height:1.02;margin:25px 0}.hero h1 em{font-weight:400;color:#71825b}.intro{max-width:450px;font-size:16px;color:var(--muted)}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:32px;flex-wrap:wrap}.button{display:inline-flex;justify-content:space-between;gap:36px;align-items:center;padding:17px 24px;border-radius:40px;background:var(--ink);color:var(--white);text-decoration:none;font-size:14px}.button:hover{background:#2c5346}.text-link{font-size:13px;font-weight:600;display:inline-flex;gap:18px;align-items:center;text-decoration:none;border-bottom:1px solid var(--ink);padding:5px 0}.hero-footnote{font-size:10px;color:var(--muted);margin-top:25px}.hero-visual{height:580px;position:relative;border-radius:180px 18px 18px 18px;overflow:hidden;background:var(--mint)}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:62% center}.hero-visual:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(10,28,25,.75));pointer-events:none}.hero-visual figcaption{position:absolute;z-index:1;bottom:30px;left:32px;color:#fff;right:20px;display:grid;gap:13px}.photo-label{font-size:9px;letter-spacing:.16em}.hero-visual strong{font-family:Georgia,serif;font-weight:400;font-size:29px;line-height:1.2}.hero-visual figcaption>span:last-child{font-size:10px;color:#e0e8df}.intro-strip{background:var(--mint);border-block:1px solid var(--line)}.strip-inner{display:grid;grid-template-columns:1fr 1.2fr auto;gap:40px;align-items:center;padding-block:27px}.strip-inner>span{font-family:Georgia,serif;font-size:25px;letter-spacing:-.025em}.strip-inner p{font-size:13px;color:var(--muted)}.strip-inner>a{font-size:28px;text-decoration:none}.section{padding-block:90px}.section-head{display:flex;justify-content:space-between;gap:55px;align-items:flex-end;margin-bottom:40px}.section-head h2{margin-top:15px}.section-head>p{max-width:345px;color:var(--muted);font-size:14px}.routes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.route{border:1px solid var(--line);border-radius:12px;padding:26px 23px;display:flex;flex-direction:column;align-items:flex-start}.route-number{font-family:Georgia,serif;color:#849477;font-size:30px;margin-bottom:32px}.route p{font-size:13px;color:var(--muted);margin:15px 0 25px;flex:1}.route>a{font-size:12px;text-decoration:none;display:flex;justify-content:space-between;gap:10px;width:100%}.route>a:hover{text-decoration:underline}.note{font-size:12px;color:var(--muted);margin-top:24px;max-width:900px}.gallery-section{padding-block:80px;background:#e9ede4}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:30px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{border:1px solid #b5c3ae;border-radius:32px;background:transparent;color:var(--ink);padding:11px 19px;font-size:12px;min-height:42px}.filters button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.filters button:hover{border-color:var(--ink)}#gallery-count{font-size:11px;color:var(--muted);white-space:nowrap}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px}.gallery-card.wide{grid-column:span 2}.gallery-link{display:block;position:relative;overflow:hidden;border-radius:12px;background:#ccd5c7}.gallery-link img{width:100%;height:345px;object-fit:cover;transition:transform .35s ease}.gallery-link:hover img{transform:scale(1.025)}.expand{position:absolute;right:15px;bottom:15px;display:grid;place-content:center;width:36px;height:36px;background:#f6f5ef;color:var(--ink);border-radius:50%;font-size:20px}.gallery-card figcaption{padding:17px 3px 0}.gallery-card figcaption>span{font-size:9px;letter-spacing:.12em;color:var(--muted)}.gallery-card h3{font-family:Georgia,serif;margin:9px 0 4px;font-size:28px}.gallery-card p{font-size:12px;color:var(--muted)}.gallery-disclosure{font-size:11px;color:var(--muted);max-width:760px;line-height:1.65;margin-top:38px;padding-top:20px;border-top:1px solid #cbd5c5}.preparation{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.preparation h2,.faq h2{margin:20px 0}.section-intro{font-size:14px;color:var(--muted);max-width:350px;margin-bottom:24px}.steps{list-style:none;counter-reset:steps;padding:0;margin:0}.steps li{counter-increment:steps;display:flex;gap:22px;border-bottom:1px solid var(--line);padding:23px 0}.steps li:first-child{padding-top:0}.steps li:before{content:'0' counter(steps);font-family:Georgia,serif;color:#819273;line-height:1.4;font-size:24px}.steps h3{font-size:20px}.steps p{font-size:13px;margin-top:10px;color:var(--muted)}.arrival-section{padding-block:75px;background:var(--ink);color:#f6f5ef}.arrival-section .section-head>p{color:#c1cfc3}.arrival-section .eyebrow{color:#d3dfb7}.arrival-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.arrival-grid article{border-top:1px solid #587067;padding-top:24px;display:flex;flex-direction:column}.arrival-grid article>span{color:#b9cc92;font-size:11px}.arrival-grid h3{font-size:22px;line-height:1.15;margin:20px 0 16px}.arrival-grid p{color:#c1cfc3;font-size:13px;flex:1}.arrival-grid a{font-size:12px;margin-top:20px;color:#e4eecb}.faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.questions details{border-bottom:1px solid var(--line);padding:21px 0}.questions details:first-child{padding-top:0}.questions summary{cursor:pointer;font-size:17px;line-height:1.45;padding-right:10px}.questions details p{font-size:13px;color:var(--muted);margin-top:16px}.sources-section{padding-block:65px;background:#e6ebdd}.source-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.source-links a{position:relative;border-top:1px solid #b7c4ab;padding:22px 26px 6px 0;text-decoration:none}.source-links strong{display:block;font-size:20px;font-weight:400}.source-links span{font-size:11px;color:var(--muted);display:block;margin-top:10px}.source-links b{position:absolute;right:3px;top:24px;font-weight:400}.source-links a:hover strong{text-decoration:underline;text-underline-offset:5px}.footer{padding-block:45px 28px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:35px}.footer-top p{font-family:Georgia,serif;font-size:22px;line-height:1.3}.footer-top>a:last-child{font-size:12px;text-decoration:none}.footer-domain{font:11px Arial,sans-serif;letter-spacing:0;margin-left:16px;color:var(--muted)}.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-top:22px;font-size:10px;color:var(--muted)}
[hidden]{display:none!important}dialog{padding:16px;border:0;border-radius:12px;background:#172d28;color:#fff;width:min(1150px,94vw);max-width:94vw;max-height:94dvh;overflow:auto}dialog::backdrop{background:rgba(8,20,17,.9)}.viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px}.viewer-controls p{font-size:12px;color:#d7e3d5}dialog button{background:transparent;color:#fff;border:1px solid #668174;padding:10px 15px;border-radius:25px;font-size:12px;min-height:42px}dialog button:hover{background:#355447}#viewer-image{width:100%;max-height:65dvh;object-fit:contain;border-radius:4px}#viewer-caption{font-family:Georgia,serif;font-size:22px;margin-top:14px}.viewer-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.viewer-navigation>span{font-size:10px;color:#c4d5c7}
@media(min-width:1500px){.hero h1{font-size:92px}.hero-visual{height:620px}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.header nav{gap:20px}.hero{gap:30px}.hero h1{font-size:64px}.hero-visual{height:540px;border-top-left-radius:140px}.routes-grid,.arrival-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.route-number{margin-bottom:20px}.gallery-link img{height:280px}.preparation,.faq{gap:50px}.section-head>p{max-width:300px}.source-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.header{min-height:98px;gap:16px;flex-wrap:wrap;padding-block:18px}.brand{font-size:27px}.brand small{font-size:8px}.brand-mark{width:36px;height:36px;font-size:23px}.header nav{width:100%;justify-content:space-between;gap:10px;font-size:11px}.hero{grid-template-columns:1fr;padding-top:22px;padding-bottom:40px;gap:30px}.hero h1{font-size:clamp(54px,13vw,76px);margin:20px 0}.hero-copy{max-width:550px}.intro{font-size:15px}.hero-actions{gap:24px;margin-top:25px}.hero-footnote{font-size:9px}.hero-visual{height:420px;border-top-left-radius:120px}.hero-visual figcaption{left:24px;bottom:24px}.strip-inner{grid-template-columns:1fr auto;gap:10px;padding-block:24px}.strip-inner>span{font-size:23px}.strip-inner p{grid-row:2;max-width:500px}.strip-inner>a{grid-column:2;grid-row:1/3}.section{padding-block:60px}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:20px;max-width:520px}.routes-grid{gap:12px}.route{padding:21px 17px}.route h3{font-size:24px}.route p{font-size:12px}.route>a{font-size:11px}.gallery-section{padding-block:55px}.gallery-toolbar{align-items:flex-start;flex-direction:column;gap:12px}.filters{gap:7px}.filters button{padding:10px 15px;font-size:11px}.gallery-grid{grid-template-columns:1fr;gap:28px}.gallery-card.wide{grid-column:auto}.gallery-link img{height:auto;aspect-ratio:3/2;object-fit:cover}.gallery-card h3{font-size:26px}.preparation,.faq{grid-template-columns:1fr;gap:35px}.section-intro{max-width:500px}.steps h3{font-size:19px}.arrival-section{padding-block:55px}.arrival-grid{gap:28px 22px}.arrival-grid h3{font-size:20px}.arrival-grid p{font-size:12px}.sources-section{padding-block:50px}.source-links{gap:24px 14px}.source-links strong{font-size:18px}.source-links span{font-size:10px}.footer-top{flex-wrap:wrap}.footer-top p{font-size:19px}.footer-bottom{flex-direction:column;gap:14px}.viewer-navigation{flex-wrap:wrap}.viewer-navigation>span{order:3;width:100%;text-align:center;font-size:9px}#viewer-caption{font-size:19px}dialog{padding:12px}#viewer-image{max-height:58dvh}}
@media(max-width:380px){.routes-grid,.arrival-grid{grid-template-columns:1fr}.hero-actions{gap:18px}.filters button{padding-inline:12px}.hero-visual{height:350px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-link img{transition:none}.gallery-link:hover img{transform:none}}
@media print{.header nav,.hero-actions,.gallery-toolbar,.expand,dialog,.footer-top>a:last-child{display:none!important}.wrap{width:100%}.hero,.preparation,.faq{display:block}.hero-visual{height:250px;margin-top:20px}.section,.gallery-section,.arrival-section,.sources-section{padding-block:25px;background:#fff;color:#111}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-card.wide{grid-column:auto}.gallery-link img{height:150px}.gallery-card,.route,.steps li{break-inside:avoid}.arrival-grid p,.arrival-grid a{color:#333}h1{font-size:50px!important}h2{font-size:32px}}

/* Shared page navigation. Explicit active state replaces positional styling. */
.header .site-nav{gap:4px;flex-wrap:wrap;font-size:13px}
.header .site-nav a{display:inline-flex;align-items:center;min-height:44px;padding:10px 13px;border-radius:28px;text-decoration:none;white-space:nowrap}
.header .site-nav a:hover,.header .site-nav a:focus-visible{background:var(--mint);text-decoration:underline;text-underline-offset:4px}
.header .site-nav a[aria-current="page"]{background:var(--ink);color:var(--white);text-decoration:none}
.header .site-nav a[aria-current="page"]:hover,.header .site-nav a[aria-current="page"]:focus-visible{background:#2c5346;text-decoration:underline}
.breadcrumb{display:flex;gap:12px;align-items:center;padding-block:14px 20px;font-size:12px;color:var(--muted)}
.breadcrumb a{text-underline-offset:4px}
.page-hero{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:48px;padding-block:14px 68px}
.page-hero h1{font-size:clamp(44px,4.9vw,68px);line-height:1.08;margin-block:22px;overflow-wrap:break-word}
.page-hero h1 em{font-weight:400;color:#71825b}
.page-hero .button{margin-top:28px}
.page-visual{margin:0}
.page-visual img{display:block;width:100%;height:460px;object-fit:cover;border-radius:100px 16px 16px 16px}
.page-visual figcaption{font-size:10px;color:var(--muted);padding-top:12px}
.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
.guide-card{display:block;border:1px solid var(--line);border-radius:16px;overflow:hidden;text-decoration:none;background:#fafaf6;scroll-margin-top:24px}
.guide-card>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.guide-card>div{padding:24px}
.guide-card h3{display:flex;justify-content:space-between;gap:12px;font-family:Georgia,serif;font-size:30px;margin:14px 0}
.guide-card p{font-size:14px;line-height:1.65;color:var(--muted)}
.guide-card:hover,.guide-card:focus-visible{border-color:var(--ink);background:var(--mint)}
.guide-card:hover h3,.guide-card:focus-visible h3{text-decoration:underline;text-underline-offset:5px}
.related{padding-block:48px;border-top:1px solid var(--line)}
.related>div{display:flex;flex-wrap:wrap;gap:16px 36px;margin-top:18px}
.related a{display:inline-flex;align-items:center;gap:24px;min-height:44px;font-family:Georgia,serif;font-size:26px;text-decoration:none}
.related a:hover,.related a:focus-visible{text-decoration:underline;text-underline-offset:5px}
.topic-note{padding:28px;background:var(--mint);border-radius:16px;margin-bottom:56px}
.topic-note p{max-width:800px;margin-bottom:14px;color:var(--muted);line-height:1.7}
@media(max-width:1100px){
 .header.wrap{flex-wrap:wrap;gap:12px;padding-block:22px}
 .header .site-nav{width:100%;justify-content:flex-start}
 .page-hero{gap:28px}
 .page-visual img{height:400px}
 .guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .header .site-nav{gap:3px}
 .header .site-nav a{font-size:12px;padding:9px 12px}
 .breadcrumb{padding-block:8px 16px}
 .page-hero{grid-template-columns:1fr;gap:30px;padding-bottom:40px}
 .page-hero h1{font-size:clamp(40px,9.5vw,62px);margin-block:18px}
 .page-visual img{height:auto;aspect-ratio:3/2;border-top-left-radius:70px}
 .guide-grid{grid-template-columns:1fr;gap:24px}
 .guide-card>div{padding:22px}
 .related{padding-block:32px}
 .related>div{gap:10px 24px}
 .related a{font-size:23px}
 .topic-note{padding:22px;margin-bottom:36px}
}
@media print{
 .breadcrumb,.related{display:none}
 .page-hero{display:block;padding-block:10px}
 .page-visual img{height:220px;width:auto;border-radius:0;margin-top:20px}
 .guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .guide-card{break-inside:avoid}
}
