@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');:root{--ink:#112e3b;--mid:#42606a;--gold:#cda875;--light:#f4f6f5;--white:#fff;--border:#e0e7e6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;color:var(--ink);font-family:'DM Sans','Noto Sans SC','Microsoft YaHei',sans-serif;line-height:1.65}img{display:block;width:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}.shell{width:min(1180px,calc(100% - 48px));margin:auto}.skip{position:absolute;top:-100px}.skip:focus{top:10px;z-index:100;background:white}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);box-shadow:0 2px 18px #132b3612}.nav-row{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:10px;align-items:center;font:800 15px/1.2 Manrope,sans-serif;letter-spacing:.8px;white-space:nowrap}.brand small,.footer-brand small{display:block;font-weight:600;font-size:9px;letter-spacing:2px;margin-top:3px}.brand-icon{display:grid;place-items:center;width:43px;height:43px;border:2px solid var(--gold);border-radius:50%;color:var(--ink);font:800 15px Manrope}.desktop-nav{display:flex;align-items:center;gap:17px;font-size:12px;font-weight:700}.desktop-nav a:hover,.footer-top a:hover{color:#aa7c42}.nav-right{display:flex;align-items:center;gap:12px}.language,.menu-toggle{background:none;border:1px solid var(--border);padding:8px 11px;border-radius:5px;cursor:pointer}.nav-quote{background:var(--ink);color:#fff;padding:10px 15px;border-radius:4px;font-size:12px;font-weight:700}.menu-toggle{display:none}.mobile-nav{display:none}.hero{min-height:640px;position:relative;color:white;display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;background-image:url('assets/banff.webp');background-size:cover;background-position:center 47%}.hero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,#061b25de 0%,#071a27b0 47%,#061b250f 100%)}.hero-inner{position:relative;padding:100px 0}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;color:#9b784c}.eyebrow.light,.eyebrow.pale{color:#e5c18f}.hero h1{font-size:clamp(42px,5.5vw,74px);letter-spacing:-1.5px;line-height:1.22;max-width:750px;margin:20px 0}.hero-intro{font-size:18px;max-width:575px;color:#eff3f0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.button{border:0;border-radius:4px;padding:14px 23px;font-size:14px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:15px;cursor:pointer}.button-gold{background:var(--gold);color:#15252e}.button-gold:hover{background:#e0bb87}.button-ghost{border:1px solid #ffffffaa;color:white;background:#ffffff16}.button-dark{background:var(--ink);color:white}.hero-caption{font-size:11px;letter-spacing:2px;margin-top:90px;color:#e8e9e8}.section{padding-top:90px;padding-bottom:90px}.section-muted{background:var(--light)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.section-head h2{font-size:clamp(30px,3vw,43px);line-height:1.25;letter-spacing:-1px;margin:8px 0}.section-head>p{max-width:360px;color:var(--mid);margin:0}.destination-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.destination-card{min-height:260px;position:relative;overflow:hidden;border-radius:7px;background:#1a3d49}.destination-card img{height:100%;position:absolute;inset:0;transition:transform .3s}.destination-card:hover img{transform:scale(1.05)}.destination-scrim{position:absolute;inset:0;background:linear-gradient(0deg,#001923d9 0%,transparent 65%)}.destination-label{position:absolute;bottom:16px;left:18px;right:15px;color:white}.destination-label h3{margin:0;font-size:21px}.destination-label p{font-size:12px;margin:2px 0;color:#e5e7e8}.tour-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.tour-card{background:white;box-shadow:0 10px 28px #112b3610;border-radius:7px;overflow:hidden;display:flex;flex-direction:column}.tour-photo img{height:225px}.tour-body{padding:23px;display:flex;flex:1;flex-direction:column}.card-kicker{color:#a17a47;letter-spacing:1.3px;font-size:10px;font-weight:800}.tour-body h3{margin:10px 0 5px;font-size:22px;line-height:1.4}.tour-body .route{font-weight:700;font-size:13px;margin:5px 0}.tour-detail{color:var(--mid);font-size:13px;margin:6px 0 22px;flex:1}.tour-link{font-weight:800;font-size:12px;border-top:1px solid var(--border);padding-top:14px;display:flex;justify-content:space-between}.fineprint{font-size:12px;color:#687a80}.tour-grid+.fineprint{margin-top:25px}.vehicle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.vehicle-card{border:1px solid var(--border);border-radius:8px;overflow:hidden}.vehicle-card img{height:175px}.vehicle-info{padding:18px}.vehicle-info h3{margin:0;font-size:20px}.vehicle-info p{color:var(--mid);font-size:12px;margin:4px 0}.vehicle-info strong{display:block;margin-top:14px;font-size:21px}.vehicle-info strong small{font-weight:500;font-size:12px}.rates{margin-top:30px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.rates-title{background:var(--ink);color:white;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px}.rates-title h3{margin:0}.rates-title span{font-size:12px;color:#d3e0e5}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;min-width:600px}th,td{padding:14px 22px;text-align:left;border-bottom:1px solid var(--border);font-size:14px}thead{background:#f0f3f3}tbody th{font-weight:600}tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}.rate-notes{padding:8px 24px 0;color:#546973;font-size:13px}.rates>.button{margin:14px 24px 24px}.ticket-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ticket{background:white;border-radius:7px;overflow:hidden}.ticket img{height:205px}.ticket>div{padding:18px}.ticket h3{margin:0 0 6px;font-size:19px}.ticket span{font-size:12px;color:#9b784c;font-weight:800}.about{display:grid;grid-template-columns:1fr 1fr;background:#12323d;color:white}.about-image{background:url('https://images.unsplash.com/photo-1470770841072-f978cf4d019e?auto=format&fit=crop&w=1200&q=85') center/cover;min-height:630px}.about-copy{padding:clamp(40px,6vw,90px);max-width:760px}.about-copy h2,.contact-copy h2{font-size:clamp(30px,3.4vw,46px);line-height:1.3;margin:12px 0 25px}.about-copy>p{color:#e2e9e7}.benefits{margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.benefit{display:flex;gap:13px}.benefit-icon{font-size:23px;color:var(--gold)}.benefit strong,.benefit small{display:block}.benefit strong{font-size:14px}.benefit small{font-size:12px;color:#c6d3d5}.award-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:54px;align-items:center}.award-photo{background:#f4f1ea;padding:16px;border-radius:8px;box-shadow:0 15px 40px #172e3615;text-align:center}.award-photo img{max-height:440px;object-fit:contain}.award-photo>span{display:inline-block;font-size:12px;margin-top:14px;color:#57666d}.award-copy h3{font-size:clamp(27px,3vw,41px);line-height:1.3;margin:6px 0 12px}.award-date{color:#a98356;font-size:12px;font-weight:800;letter-spacing:1.3px}.award-copy>p:not(.eyebrow){color:var(--mid)}.contact-section{background:#0c2835;color:white}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.contact-copy{padding-top:24px}.contact-copy>p{color:#d5e0e1}.contact-fact{display:flex;gap:17px;margin-top:25px}.contact-fact>span{color:var(--gold);font-size:23px}.contact-fact strong,.contact-fact a,.contact-fact div>span{display:block;overflow-wrap:anywhere}.contact-fact a{color:#e4bc80}.form-wrap{background:white;color:var(--ink);border-radius:9px;padding:32px}.form-wrap h3{margin:0;font-size:27px}.form-wrap>p{margin:4px 0 20px;color:var(--mid);font-size:12px}.form-wrap form{display:grid;gap:14px}.form-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-wrap label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:800}.form-wrap input,.form-wrap textarea,.form-wrap select{border:1px solid #cad6d6;border-radius:4px;padding:11px;width:100%;background:white;color:var(--ink);font-size:14px;min-height:42px}.form-wrap textarea{resize:vertical}.form-wrap .consent{flex-direction:row;align-items:start;font-size:12px;font-weight:500}.consent input{width:17px;height:17px;min-height:0;flex:none;margin:2px 5px 0 0}.submit{width:100%}.hidden{display:none!important}.form-wrap .fineprint{margin:0}footer{background:#061c26;color:#d8e1e2;padding:50px 0 25px}.footer-top{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:25px}.footer-brand{font:800 20px Manrope;letter-spacing:1px}.footer-top>div:not(:first-child){display:flex;flex-direction:column;gap:8px;font-size:13px;overflow-wrap:anywhere}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #42545f;margin-top:40px;padding-top:20px;color:#a9bac0;font-size:12px;gap:15px}.thanks{min-height:100vh;display:grid;place-items:center;background:#f4f6f5;text-align:center;padding:25px}.thanks>div{max-width:620px;background:white;padding:50px;border-radius:10px}.thanks .brand-icon{margin:auto}.thanks h1{font-size:35px}.thanks .button{margin-top:30px}@media(max-width:1090px){.desktop-nav{gap:9px;font-size:11px}.nav-row{gap:8px}.brand{font-size:13px}.nav-quote{display:none}.destination-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.shell{width:min(100% - 32px,1180px)}.desktop-nav{display:none}.nav-quote{display:inline-block}.menu-toggle{display:block}.mobile-nav:not([hidden]){display:flex;flex-direction:column;padding:10px 24px 18px;gap:12px;background:white;border-top:1px solid var(--border)}.hero{min-height:590px}.hero-inner{padding:80px 0}.hero-caption{margin-top:55px;line-height:1.8}.section{padding-top:60px;padding-bottom:60px}.section-head{display:block}.section-head>p{margin-top:14px}.destination-grid{grid-template-columns:repeat(2,1fr)}.destination-card{min-height:210px}.tour-grid{grid-template-columns:repeat(2,1fr)}.vehicle-grid{grid-template-columns:1fr}.vehicle-card{display:flex}.vehicle-card img{width:42%;height:auto}.vehicle-info{flex:1}.ticket-grid{grid-template-columns:repeat(2,1fr)}.about{grid-template-columns:1fr}.about-image{min-height:280px}.about-copy{padding:40px 24px}.award-grid{grid-template-columns:1fr;gap:25px}.contact-grid{grid-template-columns:1fr;gap:30px}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:last-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:5px}}@media(max-width:480px){.brand{font-size:11px}.brand-icon{width:37px;height:37px;font-size:12px}.nav-quote{display:none}.hero h1{font-size:43px}.destination-grid{gap:9px}.destination-card{min-height:178px}.destination-label{left:12px;bottom:10px}.destination-label h3{font-size:17px}.destination-label p{font-size:11px}.tour-grid,.ticket-grid{grid-template-columns:1fr}.tour-photo img{height:220px}.benefits{grid-template-columns:1fr}.form-wrap{padding:20px}.form-cols{grid-template-columns:1fr}.rates-title{display:block}.footer-top{grid-template-columns:1fr}.footer-top>div:last-child{grid-column:auto}}
/* Booking terms, V4 */
.policy-grid{display:grid;grid-template-columns:1fr 1.45fr;gap:24px;align-items:start}.policy-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:30px;box-shadow:0 8px 24px rgba(16,43,55,.045)}.policy-card h3{font-size:24px;margin:0 0 22px;color:#102b37}.policy-card ul{margin:0;padding:0;list-style:none}.policy-card li{position:relative;padding:0 0 14px 20px;margin:0 0 14px;border-bottom:1px solid #ebeeed;line-height:1.7;font-size:15px}.policy-card li:last-child{border:0;margin-bottom:0;padding-bottom:0}.policy-card li::before{content:'•';position:absolute;left:0;color:#ae8e51;font-weight:bold}.policy-note{font-size:13px;color:#576970;line-height:1.7;margin-top:20px}.form-wrap a[href='#policies']{color:#d8b878;text-decoration:underline}@media(max-width:850px){.policy-grid{grid-template-columns:1fr}.policy-card{padding:22px}}

/* V5 WeChat contact card */
.wechat-card{margin-top:35px;background:#fff;color:#112e3b;border-radius:12px;padding:20px;max-width:335px;box-shadow:0 12px 36px #06151d30}.wechat-card-top{display:flex;gap:12px;align-items:center;margin-bottom:12px}.wechat-symbol{width:38px;height:38px;background:#16a34a;color:white;border-radius:9px;display:grid;place-items:center;font-size:19px;font-weight:800}.wechat-card-top strong{font-size:17px}.wechat-card-top p{margin:0;font-size:12px;color:#53666c}.wechat-qr-link{display:block;max-width:275px;margin:auto;border:1px solid #e6ebeb;border-radius:6px;overflow:hidden}.wechat-qr-link img{width:100%;height:auto;object-fit:contain}.wechat-help{color:#52676b!important;font-size:12px;line-height:1.6;margin:10px 0 0;text-align:center}@media(max-width:760px){.wechat-card{max-width:360px;margin:25px auto 0}}

/* V13: Photo provenance captions for landmark-specific private-tour photos */
.tour-photo{position:relative}
.tour-photo-credit{position:absolute;right:8px;bottom:8px;z-index:2;padding:3px 7px;border-radius:5px;background:rgba(13,32,43,.72);font-size:11px;line-height:1.4}
.tour-photo-credit a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.footer-bottom a{color:inherit;text-decoration:underline}
