/* v10: homepage only. Form, legal pages and capture configuration stay unchanged. */
:root{--chrome-bottom:112px;--copy-scrim:rgba(7,12,10,.87);--gutter:clamp(232px,20vw,310px)}
html{scroll-padding-top:calc(var(--chrome-bottom) + 26px)}
#content .step{scroll-margin-top:calc(var(--chrome-bottom) + 24px)}
#content .panel{transform:none;transition:opacity .45s ease}
#content .step .panel{width:100%}
#content .day,#content .axes small,#content .axes em{color:#c7d0ca}
#content .lede{color:#edf0ed;text-shadow:none;max-width:58ch}
#content .axes .off{opacity:1}
.layer.hero .veil{background:linear-gradient(95deg,rgba(7,12,10,.47) 0%,rgba(7,12,10,.34) 60%,rgba(7,12,10,.20) 100%),linear-gradient(0deg,rgba(7,12,10,.60),transparent 70%)}
.layer .veil{background:linear-gradient(100deg,rgba(7,12,10,.76),rgba(7,12,10,.25) 70%,rgba(7,12,10,.12))}
#content .step.brandhero{position:relative;min-height:100svh;align-items:center;padding:calc(var(--chrome-bottom) + 44px) 6vw 68px clamp(28px,16vw,260px)}
#content .hero-copy{position:relative;max-width:920px;padding:26px 30px 28px;background:linear-gradient(100deg,rgba(7,12,10,.70),rgba(7,12,10,.55));box-shadow:0 0 64px 24px rgba(7,12,10,.16);border-left:1px solid rgba(221,233,224,.32)}
#content .hero-copy .routelabel{color:#e3eae5;font-size:10px;letter-spacing:.17em;line-height:1.7;text-shadow:none}
#content .step.intro h1.brandline{font-size:clamp(35px,4.6vw,67px)!important;font-weight:500;line-height:1.06;letter-spacing:-.045em;text-transform:none;max-width:23ch;margin:23px 0 0;color:#f4f5f0}
.brandline>span{display:block}.brandline>span+span{margin-top:.24em}
#content .hero-copy .lede{font-size:clamp(14px,1.2vw,17px);line-height:1.6;margin-top:26px;max-width:57ch}
.hero-facts{display:flex;gap:7px 24px;flex-wrap:wrap;margin-top:24px;padding-top:18px;border-top:1px solid rgba(220,233,223,.3);font-size:11px;line-height:1.8;color:#e5eae6}
.hero-facts strong{font-weight:500;color:#fff}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 26px;margin-top:25px}
.hero-actions .cta{margin:0;padding:13px 20px;background:#e2e9e3;color:#101612;border-color:#e2e9e3;font-size:10px;letter-spacing:.12em}
.hero-actions .cta:hover{background:#fff}
.journey-link{font-size:11px;text-underline-offset:5px;color:#edf3ed}
.hero-photo-credit{position:absolute;bottom:18px;right:25px;color:#c5d0c9;background:rgba(7,12,10,.86);padding:5px 9px;font-size:8px;letter-spacing:.08em;max-width:42ch}

/* Real backing behind the text, not only a shadow that disappears over clouds. */
#content .itinerary-step{position:relative;min-height:110svh;align-items:center;padding:calc(var(--chrome-bottom) + 45px) 4vw 75px var(--gutter)}
#content .itinerary-step .panel{display:grid;grid-template-columns:minmax(0,1fr) 202px;gap:24px;align-items:end;max-width:1120px}
.scene-copy{min-width:0;background:var(--copy-scrim);border:1px solid rgba(212,228,216,.24);padding:28px;box-shadow:0 8px 42px rgba(0,0,0,.18)}
.scene-copy h2{font-size:clamp(30px,3.75vw,54px);line-height:1.06;letter-spacing:-.035em;max-width:23ch;margin:18px 0 0;color:#f3f5ef}
#content .scene-copy .day{font-size:10px;letter-spacing:.13em;line-height:1.7;color:#d4dfd7}
#content .scene-copy .lede{font-size:14px;line-height:1.65;margin-top:20px}
#content .scene-copy .axes{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:23px;border-color:rgba(212,228,216,.26)}
#content .scene-copy .axes>div{padding:14px 16px 15px 0;border:0;border-bottom:1px solid rgba(212,228,216,.18)}
#content .scene-copy .axes>div:nth-child(even){padding-left:16px;padding-right:0;border-left:1px solid rgba(212,228,216,.22)}
#content .scene-copy .axes>div:nth-last-child(-n+2){border-bottom:0}
#content .axes small{font-size:9px;letter-spacing:.15em;color:#bdcec3}
#content .axes b{font-size:13px;font-weight:500;color:#f0f4ef;line-height:1.5}
#content .axes em{font-size:11px;line-height:1.6;color:#c7d0ca}

/* One independently replaceable image slot per scene. It remains in the page,
   rather than arriving late or being hidden at narrow viewport widths. */
.experience-slot{margin:0;width:100%;max-width:242px;min-width:0;align-self:end;background:#101b15;border:1px solid #586f60;color:#edf2eb}
.slot-preview{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;min-height:120px;margin:8px;border:1px dashed #6f8878;background:#16251c;overflow:hidden}
.slot-id{position:absolute;top:10px;left:10px;font-size:8px;letter-spacing:.1em;color:#c1d0c4}
.slot-mark{font-family:system-ui,sans-serif;font-size:36px;font-weight:200;color:#aac4b2}
.slot-state{position:absolute;bottom:11px;left:10px;font-size:9px;letter-spacing:.15em;color:#f1e1b9}
.experience-slot figcaption{padding:8px 13px 15px;line-height:1.55}
.experience-slot figcaption strong{display:block;font-size:12px;font-weight:500;color:#f0f4ed;margin-bottom:7px}
.experience-slot figcaption>span{display:block;font-size:10px;color:#c2d0c5}

/* Coordinates and names stay in a fixed layout; only the route stroke moves. */
#border{position:fixed;left:20px;top:calc(var(--chrome-bottom) + 20px);bottom:24px;width:184px;height:auto;z-index:7;display:grid;grid-template-rows:auto minmax(90px,1fr) auto auto;gap:12px;padding:15px 12px 12px;background:rgba(7,14,10,.88);border:1px solid rgba(204,224,211,.24);pointer-events:auto;opacity:0;transition:opacity .25s ease}
#border[hidden]{display:none!important}
body.geo #border{opacity:1}
.route-rail-head{display:flex;flex-direction:column;gap:5px;min-width:0}
#route-day{font-size:9px;letter-spacing:.13em;color:#d4e4d9}
#route-location{font-size:14px;line-height:1.45;font-weight:500;color:#f1f5ee;overflow-wrap:break-word}
.route-area{font-size:10px;line-height:1.4;color:#c0cdc4}
#border #readout{position:static;inset:auto;width:auto;transform:none;opacity:1;padding:3px 0 0;text-shadow:none;font-size:9px;line-height:1.5;color:#bdd0c3;letter-spacing:.06em}
.route-rail-map{min-height:0;overflow:hidden;border-top:1px solid rgba(204,224,211,.2);padding-top:7px}
#border svg{width:100%;height:100%;display:block;overflow:hidden}
#border .ctx{font-family:ui-monospace,monospace;font-size:9px;letter-spacing:.06em;fill:#b5c7bd}
#border .bline{stroke:#5f7369;stroke-width:1.15}
#border #bdone{stroke:#d9e9dc;stroke-width:1.9}
#border .stopdot{fill:#728e7b;transition:fill .2s ease}
#border .stopdot.done{fill:#f1f2d1}
#border #pin{transform:none!important}
.route-jumps{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.route-jumps a{text-decoration:none;text-align:center;padding:6px 0;border:1px solid #435a4d;font-size:10px;line-height:1.4;color:#bcd0c3;background:#101b14}
.route-jumps a:hover{border-color:#d5e5d9;color:white}
.route-jumps a[aria-current="step"]{background:#d4e4d9;color:#102017;border-color:#d4e4d9}
.route-map-note{display:block;font-size:8px;line-height:1.5;color:#bacbbf}

@media(min-width:1181px) and (max-height:800px){
 #content .step.brandhero{padding-top:calc(var(--chrome-bottom) + 26px);padding-bottom:46px}
 #content .step.intro h1.brandline{font-size:clamp(35px,4.15vw,61px)!important;line-height:1.02}
 #content .hero-copy{padding:22px 28px}
 #content .hero-copy .lede{margin-top:19px;font-size:14px;line-height:1.55}
 .hero-facts{margin-top:18px;padding-top:12px}.hero-actions{margin-top:20px}
 #content .itinerary-step{padding-top:calc(var(--chrome-bottom) + 28px);padding-bottom:48px}
 .scene-copy h2{font-size:clamp(30px,3.2vw,46px)}
}
@media(max-width:1180px){
 :root{--gutter:226px}
 #content .itinerary-step .panel{display:block;max-width:760px}
 .experience-slot{max-width:230px;margin:18px 0 0 auto}
 .slot-preview{aspect-ratio:16/9}
 #content .step.brandhero{padding-left:7vw;padding-right:7vw}
 #content .step.intro h1.brandline{font-size:clamp(35px,5.5vw,58px)!important;max-width:25ch}
}
@media(max-width:760px){
 :root{--gutter:22px}
 html{scroll-padding-top:calc(var(--chrome-bottom) + 66px)}
 #content .step{scroll-margin-top:calc(var(--chrome-bottom) + 62px)}
 #content .step.brandhero{padding:calc(var(--chrome-bottom) + 27px) 22px 55px;min-height:100svh}
 #content .hero-copy{padding:20px 19px;border-left:1px solid rgba(221,233,224,.32)}
 #content .step.intro h1.brandline{font-size:clamp(31px,7.7vw,45px)!important;line-height:1.08;max-width:none;letter-spacing:-.045em}
 #content .hero-copy .routelabel{font-size:9px;letter-spacing:.1em}
 #content .hero-copy .lede{font-size:13px;line-height:1.6;margin-top:22px}
 .hero-facts{display:flex;flex-direction:column;gap:8px;font-size:10px;margin-top:20px}
 .hero-actions{gap:18px;margin-top:22px}.hero-actions .cta{font-size:9px;padding:12px 15px}.journey-link{font-size:10px}
 .hero-photo-credit{font-size:7px;bottom:13px;right:22px;max-width:43ch}
 #content .itinerary-step{padding:calc(var(--chrome-bottom) + 85px) 22px 58px;min-height:100svh}
 .scene-copy{padding:21px 20px}
 .scene-copy h2{font-size:clamp(28px,6.8vw,42px);line-height:1.09}
 #content .scene-copy .lede{font-size:13px}
 #content .scene-copy .axes{grid-template-columns:repeat(2,minmax(0,1fr))}
 #content .scene-copy .axes>div:nth-child(even){padding-left:12px}
 #content .scene-copy .axes>div:nth-child(odd){padding-right:12px}
 #content .axes b{font-size:12px}
 #content .axes em{font-size:11px}
 .experience-slot{max-width:252px;margin-top:18px}
 #border{display:flex!important;position:fixed;inset:var(--chrome-bottom) 0 auto 0;width:100%;height:auto;min-height:46px;bottom:auto;padding:9px 22px;border-left:0;border-right:0;border-top:0;opacity:1;background:#101c15}
 #border[hidden]{display:none!important}
 .route-rail-head{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 14px;width:100%}
 #route-day{font-size:9px;flex:none}#route-location{font-size:11px;line-height:1.5}
 #border .route-area,#border #readout,#border .route-rail-map,#border .route-jumps,#border .route-map-note{display:none!important}
}
@media(max-width:359px){
 #content .scene-copy .axes{grid-template-columns:1fr}
 #content .scene-copy .axes>div:nth-child(even){padding-left:0;border-left:0}
 #content .scene-copy .axes>div{border-bottom:1px solid rgba(212,228,216,.18)}
}
@media(prefers-reduced-motion:reduce){
 #content .panel{opacity:1;transform:none;transition:none}
 #border,.layer,.layer .img{transition:none!important}
}

/* HTML country labels keep a readable size when the map itself scales. */
.route-rail-map{display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px}
.route-country-row{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.06em;line-height:1.5;color:#c3d3c9}

/* v11: source-based programme and real, explicitly labelled archive photography. */
.programme-note{font-size:10px;line-height:1.6;color:#c5d2c8;border-top:1px solid #435347;padding-top:11px;margin-top:18px}
.experience-rail{display:grid;gap:16px;min-width:0;align-self:center}
.experience-rail .experience-slot{max-width:none;align-self:start}
.slot-photo{display:block;margin:8px;overflow:hidden;background:#172219;line-height:0}
.slot-photo img{display:block;width:100%;height:auto;aspect-ratio:var(--photo-ratio,4/3);object-fit:cover;filter:saturate(.9)}
.experience-slot.is-video video{display:block;width:100%;height:auto;aspect-ratio:832/464;object-fit:contain;background:#070c09}
.photo-open{display:inline-block;font-size:9px;line-height:1.6;color:#dceadd;margin-top:9px;text-underline-offset:3px}
.experience-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:26px}
.experience-gallery-grid figure{margin:0;min-width:0}
.experience-gallery-grid a{display:block;line-height:0}
.experience-gallery-grid img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;display:block;filter:saturate(.9)}
.experience-gallery-grid figure:nth-child(3) img{object-position:50% 76%}
.experience-gallery-grid figcaption{font-size:12px;line-height:1.65;color:#e5ebe6;border-bottom:1px solid #435347;padding:12px 0}
.archive-note{margin-top:16px!important;max-width:90ch}
.route-jumps{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(min-width:1400px){#content .itinerary-step .panel{grid-template-columns:minmax(0,1fr) 238px}}
@media(max-width:1180px){.experience-rail{max-width:300px;margin:20px 0 0 auto}.experience-rail .experience-slot{margin:0;width:100%}}
@media(max-width:760px){.experience-rail{max-width:300px}.experience-gallery-grid{grid-template-columns:1fr;gap:25px}.experience-gallery-grid img{aspect-ratio:4/3}.experience-gallery-grid figure:first-child img{aspect-ratio:3/4}.programme-note{font-size:10px}}
