@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&display=swap');
:root{--bg:#f6f3eb;--orange:#db6334;--ink:#233d32;--green:#2d5842;--line:#e5e3d9}body{background:var(--bg)}.site-header{background:#fcfaf5ed;border-bottom-color:#e8e4d9}.header-inner{height:86px}.desktop-nav{gap:25px}.desktop-nav button{font-size:13px}.desktop-nav button.active{color:#234b36}.brand-symbol{background:#d86436}.brand-dot{color:#d86436}.avatar{background:#e0e7d9}.icon-button{background:#fffdf8;border-color:#e7e4d9}main{padding-top:22px}.tourism-hero{height:440px;background:#fcf2df;border-radius:25px;box-shadow:inset 0 0 0 1px #ded7c52b;overflow:hidden}.tourism-hero:after{display:none}.tourism-hero .hero-image{object-position:center;object-fit:cover}.tourism-hero .hero-copy{width:52%;padding:38px 44px;position:relative;z-index:2}.tourism-hero .hero-badge{border:1px solid #c5bca5;background:#fbf4e285;backdrop-filter:none;color:#4e614c;font-size:10px;letter-spacing:1.6px;border-radius:5px;padding:7px 10px;margin-bottom:19px}.tourism-hero h1{font-size:62px;letter-spacing:-2.8px;line-height:1.05;font-weight:650;color:#24432e}.tourism-hero h1 em{font-family:'DM Serif Display',Georgia,serif;font-size:77px;line-height:1.05;letter-spacing:-2px;font-weight:400;color:#b85b34}.tourism-hero p{color:#6c725e;font-size:13px;margin-top:16px;line-height:1.7}.hero-explore{display:flex;align-items:center;gap:22px;font-size:12px;font-weight:600;color:#405440;border-bottom:1px solid #b0ab8f;padding:12px 0;margin-top:11px;min-height:44px}.hero-explore svg{width:16px}.hero-explore:hover{color:#b85b34}.tour-stamp{position:absolute;right:24px;top:25px;width:80px;height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #a76b42;border-radius:50%;background:#fff6e8cd;transform:rotate(12deg);box-shadow:inset 0 0 0 4px #fff7e8,inset 0 0 0 5px #b98b65;color:#91613e;z-index:1}.tour-stamp span{font-size:8px;letter-spacing:1.2px;font-weight:650}.tour-stamp svg{width:24px;height:24px}.home-booking{margin-top:-19px;margin-left:22px;margin-right:22px}.booking-card{border-radius:16px;border-color:#e2e1d7;box-shadow:0 12px 28px #3c3b2209}.booking-tabs{gap:29px}.booking-tabs button{font-size:13px;min-height:57px}.booking-body{padding:23px;gap:20px}.search-button,.primary-button{background:#d76334;border-radius:9px}.search-button:hover,.primary-button:hover{background:#ba5026}.booking-foot{color:#7a7c68}.recent-row{margin:19px 24px 26px}.recent-row button{background:#eae7dd;border:1px solid #e7e2d5;border-radius:8px;font-size:11px}.recent-row button:hover{background:#dedfcc}.recent-row>span{font-size:11px}.tour-kicker{display:block;font-size:10px;font-weight:650;letter-spacing:2px;color:#9b6c43;margin-bottom:10px}.section-heading{margin:34px 0 19px}.section-heading h2{font-size:29px;letter-spacing:-1px;font-weight:650}.section-heading .text-link{color:#9f5e36}.destination-section{scroll-margin-top:110px}.destination-filters{display:flex;align-items:center;gap:9px;margin-bottom:23px}.destination-filters button{padding:10px 17px;min-height:42px;display:flex;align-items:center;gap:8px;border:1px solid #dcded0;border-radius:22px;background:#fcfaf5;color:#69775e;font-size:12px;font-weight:500;transition:background .2s,color .2s}.destination-filters button svg{width:15px;height:15px}.destination-filters button.active{background:#2d503b;border-color:#2d503b;color:white}.destination-filters button:hover{border-color:#7e9b78}.destination-filters>span{margin-left:auto;font-size:11px;color:#7e8371}.postcards{gap:22px}.postcard{background:#fffcf5;border:1px solid #e6e2d5;border-radius:17px;overflow:hidden;padding:0;text-align:left;box-shadow:0 8px 22px #53492a04;transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column;width:100%}.postcard:hover{transform:translateY(-5px) rotate(-.3deg);box-shadow:0 10px 26px #544b2910}.postcard-image{height:267px;position:relative;overflow:hidden;width:100%;background:#b8d0c3}.postcard-image img{height:100%;width:100%;object-fit:cover;transition:transform .7s}.postcard:hover .postcard-image img{transform:scale(1.05)}.postcard:nth-child(2) .postcard-image img{object-position:50% 65%}.postcard .destination-tag{top:16px;left:16px;font-size:9px;letter-spacing:.8px;background:#fcfaf0ec;color:#40533e;border:1px solid #fff3;box-shadow:0 3px 10px #1b3b2010;border-radius:5px}.photo-arrow{position:absolute;bottom:15px;right:15px;width:37px;height:37px;border-radius:50%;background:#fff8e8e8;color:#48613f;display:grid;place-items:center;transform:rotate(-35deg)}.photo-arrow svg{width:18px}.postcard-copy{padding:22px 23px 17px;width:100%;position:relative}.postcard-copy h3{font-family:'DM Serif Display',Georgia,serif;font-size:37px;font-weight:400;line-height:1;letter-spacing:-.4px;color:#29472f}.postcard-copy p{font-size:12px;color:#738069;margin-top:9px;line-height:1.6}.postcard-route{border-top:1px dashed #d2d7c4;padding-top:15px;margin-top:19px;display:flex;align-items:center;gap:9px;font-size:11px;font-weight:500;color:#68775b}.postcard-route svg{width:13px;height:13px}.route-code{font-size:9px;letter-spacing:.4px;margin-left:auto;opacity:.8}.route-planner{margin-top:37px;display:grid;grid-template-columns:1.06fr 1fr;border:1px solid #dce0cf;border-radius:24px;overflow:hidden;background:#e9efdf;min-height:470px}.route-map{position:relative;min-width:0;padding:22px;background:#e5eddc}.map-caption{display:flex;align-items:center;justify-content:space-between;gap:10px}.map-caption .tour-kicker{margin:0;font-size:9px;color:#72875f}.map-caption>span:last-child{font-size:9px;color:#7d8b70}.route-map>svg{display:block;width:100%;height:420px;stroke-width:inherit;stroke-linecap:round;stroke-linejoin:round;fill:none}.route-choices{padding:37px 35px 24px;align-self:center}.route-choices .tour-kicker{font-size:10px}.route-choices h2{font-size:33px;font-weight:650;letter-spacing:-1.1px;line-height:1.05}.route-choices h2 em{font-family:'DM Serif Display',Georgia,serif;font-size:46px;font-weight:400;letter-spacing:-1px;color:#668054;line-height:1.1}.route-choices>p{font-size:12px;color:#7c8c6f;margin:15px 0 20px;line-height:1.7}.route-choice{display:flex;align-items:center;gap:19px;min-height:82px;padding:15px 0;border-bottom:1px solid #cfdbc5;width:100%;text-align:left}.route-choice:last-child{border:0}.route-choice-number{font-family:'DM Serif Display',Georgia,serif;color:#b88657;font-size:29px;font-weight:400;line-height:1}.route-choice.green .route-choice-number{color:#749076}.route-choice strong{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:550;color:#4e6541}.route-choice strong svg{width:15px}.route-choice small{font-size:11px;display:block;margin-top:7px;color:#879475}.route-choice-arrow{margin-left:auto;height:34px;width:34px;display:grid;place-items:center;border:1px solid #c8d6bc;border-radius:50%;color:#5d7850;transition:background .2s,transform .2s;flex-shrink:0}.route-choice-arrow svg{width:15px}.route-choice:hover .route-choice-arrow{background:#fff9ec;transform:translateX(3px)}.route-planner:has(.route-choice.orange:hover) .map-coast,.route-planner:has(.route-choice.rust:hover) .map-heritage,.route-planner:has(.route-choice.green:hover) .map-south{stroke-width:7}.feature-card{border-radius:17px;min-height:245px}.feature-card h3{font-size:22px}.feature-card p{font-size:12px}.feature-card.cream{background:#eee4cf}.feature-card.blue{background:#e7e9ef}.feature-card{background:#e5ecdf}.feature-top .mini-label{font-size:9px}.feature-bottom{font-size:12px}.trip-card{background:#fffcf5;border-color:#e3dfd0;border-radius:17px}.trip-card:before{background:radial-gradient(ellipse at 90% 10%,#e8ecda,transparent 75%)}.trip-rule:before,.trip-rule:after{background:var(--bg);border-color:#e3dfd0}.scenic{border-radius:17px}.scenic h2{font-family:'DM Serif Display',Georgia,serif;font-size:38px;line-height:1.07;font-weight:400;letter-spacing:-.5px}.scenic-copy{padding:27px}.discover-grid{grid-template-columns:1fr 1fr}.app-footer{border-top-color:#dedfd1}.app-footer p{color:#85836f;font-size:11px}.app-footer button{color:#6d775f}.preview-note{color:#858773;font-size:10px}.page-header h1{font-weight:650}.page-header .eyebrow{color:#9a774e}.text-link{color:#a15c31}.train-result{background:#fffcf6;border-color:#e4e2d5}.train-emblem{background:#e7ecde;color:#71855c}.class-option{background:#f7f8ee;border-color:#dfe5d1}.class-option:hover{background:#fff4e5;border-color:#c88e5b}.chip.active{background:#3d5d3c;border-color:#3d5d3c}.sample-notice{background:#eee9dc;border-color:#e2ddce}.track-card,.pnr-result,.journey-summary{background:#fffdf6;border-color:#e3e1d3}.saved-full{background:#fffdf6;border-color:#e3e1d3}.explore-banner{position:relative;isolation:isolate;overflow:hidden;height:270px;border-radius:20px;background:#fcf1dd;margin-bottom:30px}.explore-banner>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}.explore-banner>div{padding:53px 35px;width:52%;position:relative}.explore-banner h1{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:53px;letter-spacing:-1px}.explore-banner p{font-size:13px;color:#6e765f;line-height:1.7;margin-top:12px;max-width:280px}.explore-banner .tour-kicker{font-size:10px}dialog{background:#fffdf7}.modal-header .icon-button{background:#f1f2e8}.modal-summary{background:#f0f4e8;border-color:#e0e5d4}.help-item{border-color:#e4e5d8}.success-icon{background:#e8efda}.help-item a{color:#9a6239}
@media(min-width:1500px){.tourism-hero{height:460px}.tourism-hero .hero-copy{padding-top:42px}.tourism-hero h1{font-size:67px}.tourism-hero h1 em{font-size:82px}}
@media(max-width:1100px){.desktop-nav{gap:18px}.desktop-nav button{font-size:12px}.tourism-hero{height:415px}.tourism-hero .hero-copy{padding:37px;width:53%}.tourism-hero h1{font-size:52px;letter-spacing:-2px}.tourism-hero h1 em{font-size:65px}.tourism-hero p{font-size:12px;max-width:280px}.tour-stamp{width:65px;height:65px;right:18px;top:20px}.tour-stamp span{font-size:6px}.tour-stamp svg{width:21px}.postcard-image{height:240px}.postcard-copy{padding:19px}.postcard-route{font-size:10px;gap:6px}.route-code{display:none}.route-choices{padding:30px 25px}.route-choice{gap:13px}.route-choice strong{font-size:13px}.route-choice small{font-size:10px}.route-map>svg{height:390px}.route-planner{min-height:440px}.route-choice-number{font-size:26px}.section-heading h2{font-size:26px}}
@media(max-width:900px){.desktop-nav button[data-page=explore]{display:none}.header-inner{height:78px}.tourism-hero{height:380px}.tourism-hero .hero-copy{padding:31px;width:55%}.tourism-hero h1{font-size:45px}.tourism-hero h1 em{font-size:57px}.tourism-hero .hero-badge{font-size:8px;letter-spacing:1px}.hero-explore{font-size:11px;margin-top:7px}.postcards{gap:15px}.postcard-image{height:215px}.postcard-copy{padding:18px 16px 15px}.postcard-copy h3{font-size:32px}.postcard-copy p{font-size:10px}.postcard-route{font-size:9px}.postcard .destination-tag{font-size:8px;top:12px;left:12px;padding:6px 8px}.route-planner{grid-template-columns:1fr 1fr;margin-top:29px;min-height:410px}.route-map{padding:17px}.route-map>svg{height:360px}.route-choices{padding:27px 21px}.route-choices h2{font-size:29px}.route-choices h2 em{font-size:39px}.route-choice strong{font-size:11px;gap:6px}.route-choice small{font-size:9px}.route-choice-number{font-size:23px}.route-choice-arrow{height:28px;width:28px}.route-choice{gap:10px;min-height:75px}.route-choices>p{font-size:11px}.map-caption .tour-kicker{font-size:8px}.map-caption>span:last-child{font-size:8px}.feature-card h3{font-size:20px}.feature-card p{font-size:11px}.feature-bottom{font-size:11px}}
@media(max-width:700px){.header-inner{height:73px}.tourism-hero{height:317px;border-radius:18px;background:#fcf2df}.tourism-hero .hero-image{width:155%;height:auto;max-width:none;left:auto;top:auto;right:-10%;bottom:-2px;object-fit:contain}.tourism-hero:after{display:block;background:linear-gradient(180deg,#fcf2df 1%,#fcf2dfda 25%,#fcf2df00 77%);z-index:0;pointer-events:none}.tourism-hero .hero-copy{width:100%;padding:23px 22px;position:relative;z-index:2}.tourism-hero .hero-badge{font-size:8px;letter-spacing:1px;padding:5px 7px;border-color:#c7c0a8;margin-bottom:13px;background:#fcf5e6b3}.tourism-hero .hero-badge svg{width:12px;height:12px}.tourism-hero h1{font-size:40px;line-height:1.02;letter-spacing:-1.8px}.tourism-hero h1 em{font-size:50px;letter-spacing:-1.3px;line-height:1.05}.tourism-hero p{display:none}.hero-explore{font-size:11px;min-height:39px;margin-top:5px;gap:20px;padding:9px 0}.tour-stamp{width:54px;height:54px;top:auto;bottom:26px;right:16px;z-index:2;background:#fff7e9db;gap:2px;box-shadow:inset 0 0 0 3px #fff7e8,inset 0 0 0 4px #b98b65}.tour-stamp span{font-size:5px;letter-spacing:.7px}.tour-stamp svg{width:16px;height:16px}.home-booking{margin:-16px 0 0}.booking-card{border-radius:15px}.booking-tabs{padding:0 16px;gap:8px}.booking-tabs button{font-size:11px;min-height:52px}.booking-body{padding:18px 17px;gap:15px}.search-button{min-height:49px;border-radius:8px}.booking-foot{font-size:10px}.recent-row{margin:17px 0 24px;gap:8px}.recent-row>span{width:auto;font-size:11px;margin-right:4px}.recent-row button{font-size:10px;min-height:36px;border-radius:6px;padding:8px 10px}.recent-row>button:last-child{padding:8px}.tour-kicker{font-size:9px;letter-spacing:1.8px;margin-bottom:9px}.section-heading{margin:27px 0 16px;align-items:flex-end}.section-heading h2{font-size:24px;letter-spacing:-.8px;line-height:1.2;max-width:260px}.section-heading .text-link{font-size:11px;min-height:32px}.destination-filters{gap:7px;margin-bottom:18px;flex-wrap:wrap}.destination-filters button{font-size:11px;padding:9px 13px;gap:6px;min-height:41px}.destination-filters button svg{width:14px;height:14px}.destination-filters>span{display:none}.destination-section{scroll-margin-top:15px}.postcards{grid-template-columns:1fr;gap:20px}.postcard{border-radius:15px}.postcard-image{height:270px}.postcard .destination-tag{font-size:9px;top:15px;left:15px;padding:7px 9px}.postcard-copy{padding:20px 22px 17px}.postcard-copy h3{font-size:37px}.postcard-copy p{font-size:12px;margin-top:8px}.postcard-route{font-size:11px;margin-top:16px;padding-top:14px;gap:10px}.route-code{display:inline;font-size:9px}.photo-arrow{height:39px;width:39px;right:16px;bottom:16px}.route-planner{grid-template-columns:1fr;border-radius:18px;margin-top:27px}.route-map{padding:19px 17px 0}.route-map>svg{height:auto;aspect-ratio:500/450}.map-caption .tour-kicker{font-size:9px}.map-caption>span:last-child{font-size:9px}.route-choices{padding:22px 24px 15px}.route-choices h2{font-size:30px;line-height:1.1}.route-choices h2 br{display:none}.route-choices h2 em{font-size:40px;white-space:nowrap}.route-choices>p{font-size:12px;margin:11px 0 14px}.route-choice{min-height:82px;gap:17px}.route-choice strong{font-size:14px;gap:10px}.route-choice small{font-size:11px;margin-top:6px}.route-choice-number{font-size:28px}.route-choice-arrow{height:34px;width:34px}.feature-card{border-radius:15px}.feature-card h3{font-size:19px}.feature-card p{font-size:11px}.feature-card:first-child h3{font-size:23px}.feature-bottom{font-size:11px}.feature-card .mini-label{font-size:8px}.feature-card:first-child .mini-label{display:none}.scenic{border-radius:15px;height:280px}.scenic h2{font-size:38px;font-weight:400;line-height:1.07}.discover-grid{grid-template-columns:1fr}.trip-card{border-radius:15px}.explore-banner{height:265px;border-radius:17px;margin-bottom:23px}.explore-banner>img{width:145%;height:auto;right:-15%;left:auto;top:auto;bottom:0}.explore-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#fcf2dfcc,transparent);z-index:-1}.explore-banner>div{padding:28px 23px;width:100%}.explore-banner h1{font-size:42px}.explore-banner p{font-size:11px;max-width:225px;margin-top:9px}.preview-note{font-size:10px}.mobile-nav{background:#fcfaf4f2;border-color:#dfdfd1}.mobile-nav button.active{color:#ba582c}.app-footer .brand{font-size:23px}.app-footer p{font-size:10px}.text-input{background:#fcfcf5}.outline-button{background:#fffdf8}}
@media(max-width:370px){.tourism-hero{height:300px}.tourism-hero .hero-copy{padding:22px 19px}.tourism-hero h1{font-size:36px}.tourism-hero h1 em{font-size:46px}.tourism-hero .hero-image{width:170%;right:-16%}.tour-stamp{bottom:21px;right:12px;width:48px;height:48px}.tour-stamp span{font-size:4px}.tour-stamp svg{width:15px;height:15px}.booking-tabs{padding:0 13px}.booking-tabs button{font-size:10px}.booking-body{padding:18px 14px}.destination-filters{gap:5px}.destination-filters button{font-size:10px;padding:9px 11px}.destination-filters button svg{width:12px}.section-heading h2{font-size:23px}.postcard-image{height:235px}.postcard-copy{padding:19px}.postcard-route{gap:8px;font-size:10px}.route-code{font-size:8px}.route-choices{padding:21px 20px 13px}.route-choice{gap:13px}.route-choice strong{font-size:13px}.route-choice-number{font-size:26px}.feature-card h3{font-size:18px}.feature-card:first-child h3{font-size:21px}.feature-top .mini-label{font-size:7px}}
@media(prefers-reduced-motion:reduce){.postcard,.postcard-image img,.route-choice-arrow{transition:none}.postcard:hover{transform:none}.postcard:hover .postcard-image img{transform:none}}
.rail-photography{margin-top:35px}.gallery-note{font-size:11px;color:#879174}.train-gallery{display:grid;grid-template-columns:1fr 1fr;gap:22px}.train-photo-card{border:1px solid #e0e0d1;background:#fffcf6;border-radius:17px;overflow:hidden}.train-photo-button{width:100%;height:290px;padding:0;position:relative;display:block;overflow:hidden}.train-photo-button>img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;transition:transform .6s}.train-photo-button:hover>img{transform:scale(1.04)}.train-photo-type{position:absolute;left:17px;top:17px;background:#fff8e8e8;color:#4d6144;padding:7px 10px;font-size:9px;font-weight:600;letter-spacing:1px;border-radius:5px}.train-photo-caption{padding:20px 23px;display:flex;flex-direction:column;gap:13px}.train-photo-caption h3{font-size:19px;color:#35543b;font-weight:600}.train-photo-caption p{font-size:12px;color:#7a886c;margin-top:7px;line-height:1.6}.train-photo-caption>a{font-size:10px;color:#8c7957;text-decoration:underline;text-underline-offset:3px;min-height:25px;display:flex;align-items:center}.train-detail-photo{width:100%;height:auto;display:block;border-radius:12px;margin:0 0 16px}.photo-license{font-size:11px;color:#778268;line-height:1.8}.photo-license a,.modal-copy a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.train-photo-button{height:240px}.train-photo-caption{padding:18px}.train-photo-caption h3{font-size:17px}}
@media(max-width:700px){.train-gallery{grid-template-columns:1fr;gap:19px}.train-photo-button{height:240px}.train-photo-card{border-radius:15px}.train-photo-caption{padding:19px 21px 13px}.train-photo-caption h3{font-size:19px}.train-photo-caption p{font-size:11px}.train-photo-caption>a{min-height:35px;font-size:10px}.gallery-note{display:none}.rail-photography{margin-top:25px}}
@media(max-width:370px){.train-photo-button{height:205px}.train-photo-caption h3{font-size:17px}}
@media(prefers-reduced-motion:reduce){.train-photo-button>img{transition:none}.train-photo-button:hover>img{transform:none}}

/* Trainz emblem: train cab and rails, shared with the browser icon. */
.trainz-mark{display:block;width:40px;height:40px;flex:0 0 40px;filter:drop-shadow(0 3px 7px #be603e20)}
