/* Preview art-direction pass: midnight, warm brass and quiet editorial spacing. */
:root{--ink:#e7eff2;--muted:#a0b4c0;--blue:#dfc38b;--line:#334752;--paper:#071722;background:#071722;color:#e7eff2}
body{background:radial-gradient(ellipse at 95% 5%,#18334066,transparent 35%),#071722}
.top{padding:22px 36px 18px}.brand{color:#edf4f4;letter-spacing:.035em}.brand img{background:#ecf4f2;border-radius:12px;padding:4px}.brand small{letter-spacing:0;color:#93afbd}.cyan{color:#80d4da}.preview-badge{color:#d4bc8c;border-color:#554c39;background:#b99e6010;font-weight:500}.top nav{font-size:12px;letter-spacing:.02em;color:#c4d4dc}.top nav a:hover{color:#f2d8a3}
.hero{max-width:calc(100% - 36px);min-height:710px;border-radius:22px;background:#06131d;border:1px solid #344349;box-shadow:0 20px 80px #0004}.hero-art{object-position:68% 45%}.hero-shade{background:linear-gradient(90deg,#06131df2 0%,#06131dd9 22%,#06131d40 54%,#06131d00 80%),linear-gradient(0deg,#06131df0 0%,#06131d00 35%)}.hero-copy{padding:80px 5vw 125px;max-width:730px}.hero .eyebrow{font-size:11px;letter-spacing:.16em;color:#d9bf8f;font-weight:500;margin-bottom:25px}.hero h1{font-size:clamp(42px,4.8vw,70px);line-height:1.38;letter-spacing:-.055em;font-weight:720;text-shadow:0 3px 18px #0005}.hero h1 span{font-weight:450;color:#f1d296}.hero .lead{font-size:15px;color:#d7e0e4;margin-top:24px}.date-line{margin:32px 0 28px}.date-icon{border-radius:6px;border-color:#988969;background:#141f2666;border-top-width:3px}.date-line strong{font-size:21px;font-weight:600;letter-spacing:.015em}.date-line small{font-size:11px;color:#adbec7;margin-top:5px}.hero-actions{gap:13px}.hero-actions .button{border-radius:50px;padding:13px 22px;font-size:13px}.gold{background:#eacb91;color:#132c3b;box-shadow:0 4px 24px #e0ae4620}.ghost{background:transparent;color:#f1f5f6;border-color:#a2b1b866}.hero-bottom{bottom:22px;left:5vw;right:4vw;color:#9eafb9;font-size:10px}.hero-bottom .tiny{background:#0d2639a6;color:#d8e2e8;border-color:#6d808d66}.lightbeam{right:14%;bottom:27%;height:45%;background:linear-gradient(0deg,transparent,#eacb9118);mix-blend-mode:screen}.lightbeam.two{right:40%;opacity:.5}
.verified-line{color:#a0b7c3;font-size:10px;margin-top:19px;padding-bottom:20px;border-bottom:1px solid #40505a55}.verified-line a{color:#dbbd85}.check{color:#91cfb7}.section{margin:75px auto}.section-head h2{font-size:clamp(25px,2.7vw,37px);font-weight:600;letter-spacing:-.035em}.section-head .eyebrow{font-size:10px;letter-spacing:.14em;color:#c6ac7b}.section-head .button{color:#c6d5dc;border-color:#52616b;background:transparent;font-size:11px;box-shadow:none}.section-head .muted{font-size:12px;max-width:720px;line-height:1.9}.map-toolbar{padding-top:10px}.segmented{background:#122938;border:1px solid #334b58}.segmented button{color:#aac1ce;font-size:12px}.segmented button[aria-pressed=true]{color:#f5e0b2;background:#29414d;box-shadow:none}.map-toolbar>.button{background:transparent;color:#e2eaf0;border-color:#344b58}.map-card{border-color:#52676e;border-radius:20px;box-shadow:0 16px 48px #0003}.map-caption,.map-credit{background:#102b3b;color:#bbd0da}.map-caption .road{background:#b2c8cd}.map-caption .rail{background:#e6c98d}.map-credit a{color:#e0c48f}.tiny.dark{background:#233f50;color:#e6edf1;border-color:#516471}.place-panel{background:linear-gradient(160deg,#173342,#102632);border-color:#324b59;border-radius:20px;padding:24px;box-shadow:0 10px 40px #0002}.place-panel>p:not(.eyebrow){font-size:12px;line-height:1.95;color:#b7cbd5}.place-panel .eyebrow{font-size:9px;color:#d9bd88}.place-panel h3{color:#f3f2e8;font-size:21px;font-weight:600}.place-panel .button{background:#d7c095;color:#112e3e;border-color:transparent;border-radius:50px;font-size:12px;min-height:44px}.place-choices button{background:transparent;border:0;border-bottom:1px solid #38505d77;border-radius:0;color:#c0d2dc;padding:15px 5px}.place-choices button.selected{background:#ffffff08;border-color:#968161;border-radius:12px}.place-choices button>span{font-size:12px;font-weight:550}.place-choices small{font-size:10px;color:#94adbc;margin-top:3px}.pending-note{font-size:11px;border-color:#3c5260}.pending-note p{font-size:10px;color:#a7bfcc}.concept-note{background:#2b2d24;color:#e1d4b3;border-top:1px solid #82744d;font-size:11px}.concept-note strong{font-size:13px}.route-explainer{gap:34px;margin-top:28px}.route-explainer>div{border-color:#3b4e58;padding-top:20px}.route-explainer span{color:#b9a37b;font-size:11px;letter-spacing:.12em}.route-explainer h3{font-size:17px;font-weight:550}.route-explainer p{color:#99b0be;font-size:12px;line-height:1.9}
.train-story{background:linear-gradient(110deg,#183646,#102735);border:1px solid #344c59;padding:40px;border-radius:24px;gap:55px}.train-story h2{color:#ead3a3;font-size:30px;font-weight:550}.train-story p{color:#c0d0d9;font-size:13px;line-height:1.9}.train-story .muted{color:#92aebb;font-size:11px}.train-visual{background:radial-gradient(ellipse,#61808755,transparent 70%);padding:20px 0}.train-visual img{filter:drop-shadow(0 16px 12px #0007)}.train-story .button{background:transparent;border-color:#55707e;color:#d9e4e9;border-radius:30px;font-size:11px}.text-link{font-size:12px;color:#e2c58d}.micro{color:#95aebb}.train-visual small{color:#95aebb}.days{border-top:1px solid #4c5a5e;border-bottom:1px solid #4c5a5e;gap:0;margin-top:28px}.day{background:transparent;border:0;border-right:1px solid #2b434f;border-radius:0;padding:24px 3px}.day:last-child{border-right:0}.day strong{color:#ebd2a1;font-size:32px;font-weight:450}.day span{color:#90a9b8}.confirmed{background:#143e34;color:#a9d4bf;font-size:11px}.program-grid article{background:transparent;border:0;border-radius:0;padding:24px 12px}.program-grid h3{font-weight:550}.program-grid p{color:#bbced8;font-size:12px}.program-grid small{font-size:11px;color:#8ca8b7}.section-icon{color:#d3b984}.sources{border-color:#344c59}.sources h2{font-size:26px;font-weight:550}.sources p{font-size:12px;color:#9cb4c1}.sources li{color:#bacbd4;font-size:12px}.sources li span{font-size:10px;color:#91abba}.sources li a{font-weight:550;color:#dbc08a}footer{background:#06121b;border-top:1px solid #2f454f;color:#8da9b9}footer .brand{font-size:17px}dialog{background:#0d2636;color:#e7eef2;border-color:#516c7b}.dialog-head{background:#0d2636}.dialog-head button{background:#244657;color:white;border-color:#557383}#toast{border:1px solid #698c9d;background:#17384b}
@media(max-width:1000px){.hero{min-height:650px}.hero-copy{padding:60px 38px 100px;max-width:610px}.hero h1{font-size:52px}.hero-art{object-position:62% 50%}.map-layout{grid-template-columns:minmax(0,1fr) 270px}.place-panel{padding:18px}.day strong{font-size:26px}}
@media(max-width:700px){.top{padding:16px 18px 12px}.top nav{border-color:#334c58;color:#b4cbd5;font-size:11px;gap:35px}.brand{font-size:17px}.brand small{font-size:9px}.preview-badge{font-size:8px;padding:5px 8px}.hero{min-height:0;max-width:calc(100% - 24px);border-radius:18px}.hero-copy{padding:28px 22px 250px;max-width:none}.hero h1{font-size:35px;line-height:1.39;letter-spacing:-.045em}.hero .eyebrow{font-size:8px;letter-spacing:.08em;margin-bottom:17px}.hero .lead{font-size:12px;margin-top:16px}.hero-art{top:auto;bottom:29px;width:100%;height:250px;object-fit:cover;object-position:65% 50%}.hero-shade{background:linear-gradient(180deg,#06131d 0%,#06131d 44%,#06131d00 70%,#06131d00 89%,#06131df0 99%)}.date-line{margin:20px 0}.date-line strong{font-size:17px}.date-line small{font-size:9px}.date-icon{width:36px;height:41px;font-size:17px}.hero-actions .button{padding:10px 15px;font-size:11px;min-height:43px}.hero-bottom{left:17px;right:14px;bottom:10px;gap:10px;font-size:7px;align-items:center}.hero-bottom .tiny{font-size:8px;min-height:30px;padding:6px 8px}.hero .lightbeam{bottom:15%;height:20%}.verified-line{font-size:8px;margin:14px 18px 0;padding:0 0 14px;line-height:1.8}.verified-line a{font-size:9px}.section{margin:42px auto}.section-head{gap:14px}.section-head h2{font-size:25px}.section-head .eyebrow{font-size:8px;letter-spacing:.06em}.section-head .muted{font-size:11px}.segmented button{font-size:9px;padding:10px 9px}.map-toolbar>.button{font-size:10px}.map-layout{display:flex}.place-panel h3{font-size:20px}.place-panel>p:not(.eyebrow){font-size:12px}.place-choices button{padding:12px 8px}.place-choices button>span{font-size:12px}.place-choices small{font-size:9px}.place-panel .button{font-size:11px}.route-explainer{gap:8px}.route-explainer>div{padding-top:12px}.route-explainer p{font-size:11px}.route-explainer h3{font-size:14px}.train-story{margin:35px 12px;padding:24px;gap:18px;grid-template-columns:1fr}.train-story h2{font-size:24px}.train-story p{font-size:12px}.train-visual{padding:0}.days{grid-template-columns:repeat(4,1fr);margin-top:15px}.day{padding:14px 2px;border-bottom:1px solid #2b434f}.day strong{font-size:27px}.day span{font-size:9px}.program-grid article{padding:20px 12px 20px 51px;border-bottom:1px solid #2b434f}.program-grid h3{font-size:16px}.program-grid small{font-size:10px}.section-icon{left:12px;top:17px}.sources{padding-top:24px}.sources h2{font-size:23px}.sources li{font-size:11px}.concept-note{font-size:9px}.concept-note strong{font-size:11px}.confirmed{font-size:10px}}
@media(max-width:350px){.hero h1{font-size:31px}.hero-copy{padding-left:18px;padding-right:18px}.hero-actions{gap:8px}.hero-actions .button{font-size:12px;padding:10px 12px}.date-line strong{font-size:15px}}
/* Keep supporting information readable at phone viewing distance. */
.dialog-place{position:sticky;bottom:-14px;background:#153747;border:1px solid #536c78;border-radius:14px;padding:14px;margin-top:12px;box-shadow:0 -8px 24px #0003}.dialog-place strong{font-size:16px}.dialog-place p{font-size:13px;line-height:1.7;margin:6px 0 0;color:#c4d7e0}
.place-panel>p:not(.eyebrow),.route-explainer p,.train-story p,.program-grid p,.sources li{font-size:14px}
.hero-bottom,.map-credit,.pending-note p,.micro,.train-visual small{font-size:12px!important}
.map-credit{line-height:1.8}.hero-bottom .tiny{min-height:44px;font-size:11px}
.verified-line,.date-line small{font-size:12px}
.place-choices svg{width:21px;height:21px;flex:none;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;color:#cfba90}
@media(max-width:700px){
 .hero .eyebrow,.section-head .eyebrow,.preview-badge{font-size:10px}
 .hero .lead,.hero-actions .button{font-size:13px}
 .hero-bottom{flex-direction:column;align-items:flex-start;gap:6px;bottom:14px}
 .hero-bottom>span{font-size:10px}.hero-bottom .tiny{min-height:40px;font-size:11px}
 .hero-copy{padding-bottom:300px}.hero-art{bottom:64px}
 .hero-shade{background:linear-gradient(180deg,#06131d 0%,#06131d 43%,#06131d00 66%,#06131d00 84%,#06131d 96%)}
 .date-line small{font-size:11px}.verified-line{font-size:11px;flex-wrap:wrap}.verified-line a{font-size:11px}
 .section-head .muted,.section-head .button,.place-panel .button{font-size:13px}
 .segmented button,.map-toolbar>.button{font-size:11px;min-height:44px}
 .place-choices button>span{font-size:13px}.place-choices small,.place-panel .eyebrow,.pending-note,.program-grid small,.sources li span{font-size:11px}
 .concept-note{font-size:12px}.concept-note strong{font-size:13px}
 .route-explainer p,.train-story p,.program-grid p,.sources li{font-size:14px}
 .day span{font-size:11px}.confirmed{font-size:11px}
}
