/* Navy and crimson brand system. Legacy tokens alias the new palette. */
:root{--navy:#102d49;--navy-deep:#071a2d;--burgundy:#741f2c;--crimson:#982b40;--rose:#efabb7;--olive:var(--navy);--olive-dark:var(--navy-deep);--olive-light:#4c647c;--gold:var(--rose);--gold-dark:var(--burgundy);--cream:#faf9f7;--ink:#142b40;--muted:#607080;--line:#dce1e7;--heading:'Montserrat',sans-serif}
::selection{background:var(--burgundy);color:white}
.topline{background:var(--navy-deep);color:#fff}.topline a{color:#fff}
.header{background:#faf9f7f5;backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.button,.button.gold{background:var(--burgundy);border-color:var(--burgundy);color:#fff;transition:background .25s,transform .25s}
.button:hover,.button.gold:hover{background:var(--crimson);color:#fff;transform:translateY(-2px)}
.button:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ab7183;outline-offset:5px}
.horizon-hero{background:var(--navy-deep);min-height:calc(100svh - 170px)}
.horizon-image{transform:translateY(var(--hero-shift,0px)) scale(1.13);object-position:center 55%}
.horizon-shade{background:linear-gradient(90deg,#071a2dea,#102d4966 65%,#741f2c33),linear-gradient(0deg,#071a2df2,transparent 70%)}
.horizon-content{min-height:calc(100svh - 245px);grid-template-columns:1fr;gap:38px;padding-block:70px 35px;align-items:center}
.horizon-copy{max-width:1050px}.horizon-copy h1{font-size:clamp(52px,6.5vw,100px);line-height:1.04;letter-spacing:-.065em;font-weight:500;max-width:1050px;margin-block:30px}
.horizon-copy h1 span{color:#fff}.horizon-copy .eyebrow{color:#f0b6c2;letter-spacing:.24em}
.horizon-copy>p:not(.eyebrow){color:#e4eaf0;max-width:520px;font-size:14px}
.horizon-destination{display:grid;grid-template-columns:1fr 1fr;column-gap:35px;align-items:center;border-left:0;border-top:1px solid #ffffff38;padding:22px 0 0;margin:0;max-width:100%}
.horizon-destination .eyebrow{display:none}.horizon-destination>a:first-of-type{font-size:23px;max-width:310px}
.horizon-destination>p:not(.eyebrow){grid-column:1;grid-row:2;margin:5px 0;color:#e4eaf0}
.hero-destinations{grid-column:2;grid-row:1/3;justify-content:flex-end}.hero-destinations button{background:#071a2d80;padding:13px 16px;border-color:#ffffff65}
.hero-destinations button[aria-pressed=true]{background:var(--burgundy);color:white;border-color:#b76a7a}.hero-destinations button[aria-pressed=true] span{color:white}
.horizon-credit{grid-column:2;justify-self:end;margin-top:4px;font-size:9px;color:#c6d1db}.horizon-bottom{color:#d1dce5}
.values-strip{background:var(--burgundy);color:white}.values-strip .wrap{padding-block:23px}
.skyline-story{height:190svh;position:relative;background:var(--navy-deep);color:#fff;--reveal:1}
.skyline-stage{position:sticky;top:0;min-height:100svh;display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden;padding:130px max(32px,calc((100vw - 1240px)/2)) 80px;gap:8%}
.skyline-copy{position:relative;z-index:2;max-width:510px}.skyline-copy .eyebrow{color:#f0b6c2}.skyline-copy h2{font-size:clamp(52px,6vw,88px);line-height:1.05;font-weight:400;letter-spacing:-.055em}.skyline-copy h2 em{font-style:normal;color:#eca7b5}.skyline-copy>p:not(.eyebrow){max-width:390px;color:#bdcbd7;line-height:1.9}.skyline-copy .button{margin-top:20px}
.scroll-caption{display:flex;align-items:center;gap:24px;margin-top:45px;font-size:9px;letter-spacing:.16em;color:#b8c5d2}.scroll-caption span{font-size:25px}
.skyline-window{position:relative;margin:0;height:70svh;max-height:820px;clip-path:inset(0 0 calc((1 - var(--reveal))*65%) 0);border-top:2px solid #ac6170}
.skyline-window>img{height:100%;width:100%;object-fit:cover;object-position:center 58%;transform:scale(calc(1.1 - var(--reveal)*.1))}
.skyline-window figcaption{position:absolute;inset:auto 0 0;padding:60px 20px 20px;background:linear-gradient(transparent,#071a2de6);font-size:10px;display:flex;justify-content:space-between;gap:12px}.skyline-window figcaption a{text-decoration:underline}
.skyline-index{position:absolute;bottom:28px;left:max(32px,calc((100vw - 1240px)/2));font-size:9px;letter-spacing:.2em;color:#91a4b7}
.goal-section{padding-block:110px}.goal-answer,.journey-section{background:#eef1f4}.goal-buttons button[aria-pressed=true]{background:var(--burgundy)}
.destination-collection{background:var(--surface,#dfdfdf);padding-bottom:65px;overflow:hidden}.destination-collection h2{font-weight:400;font-size:clamp(34px,4vw,56px)}
.rail-controls{display:flex;gap:10px}.rail-controls button{width:48px;height:48px;background:transparent;border:1px solid var(--line);color:var(--navy);font-size:22px}.rail-controls button:hover{background:var(--burgundy);color:white}
.destination-rail{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 max(20px,calc((100vw - 1240px)/2)) 24px;scrollbar-width:thin;scrollbar-color:var(--burgundy) #e9edf0}
.destination-tile{position:relative;isolation:isolate;flex:0 0 360px;height:490px;overflow:hidden;scroll-snap-align:center;color:white;background:var(--navy)}
.destination-tile:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#071a2deb,transparent 75%),linear-gradient(#071a2d44,transparent 35%)}
.destination-tile>img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;z-index:-2;transition:transform .8s}.destination-tile:hover>img,.destination-tile:focus-within>img{transform:scale(1.06)}
.tile-number{position:absolute;top:26px;left:26px;font-size:10px;letter-spacing:.12em}.tile-copy{position:absolute;bottom:25px;left:26px;right:26px}.tile-copy>p{font-size:9px;letter-spacing:.18em;color:#f3c1cd}.tile-copy h3{font-size:28px;margin:0;letter-spacing:-.035em}.tile-copy a{display:flex;align-items:center;gap:12px}.tile-copy a:after{content:'';position:absolute;inset:-390px -26px -25px}.tile-copy a>span{margin-left:auto}.tile-credit{position:absolute;right:20px;top:20px;z-index:3;width:24px;height:24px;text-align:center;border:1px solid #ffffff60;border-radius:50%;font-size:12px}
.collection-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:25px}.collection-bottom p{font-size:12px;max-width:470px;color:var(--muted)}
.destinations{background:#f0f2f5}.program-card{background:var(--surface,#dfdfdf);border-color:#dce1e7}.program-card:hover{box-shadow:0 16px 40px #102d4914}.photo-scene:after{background:linear-gradient(transparent,#071a2d66)}
.region-label,.route-label{background:#071a2dbb;color:#fff}.card-facts strong{color:var(--burgundy)}.filter.active,.view-switch button[aria-pressed=true]{background:var(--navy);color:white}
.journey-card{border-color:var(--line)}.journey-number{color:var(--burgundy)}.journey-arrow{border-color:#a4b1bf}.cta-section{background:linear-gradient(120deg,var(--navy-deep),var(--navy))}.cta-section .eyebrow{color:var(--rose)}.cta-section p{color:#d5dde6}
.page-intro{background:var(--navy-deep)}.page-intro p{color:#d4dfe9}.page-intro .eyebrow{color:var(--rose)}.country-flag-banner::after{background:linear-gradient(90deg,#071a2deb,#071a2d99 50%,#071a2d44)}.country-flag-banner .eyebrow{color:#f2b9c6}
.detail-aside,.contact-panel{background:var(--navy)}.soft-section{background:#eef1f4}.feature>span{color:var(--burgundy)}
footer{background:var(--navy-deep);color:#e9eef4}.footer-top p,.footer-top a{color:#d2dce6}.footer-top h3{color:#f2b9c6}.footer-bottom{border-color:#ffffff20;color:#acbbca}.gold-text{color:var(--rose)}.floating-contact{background:var(--burgundy);border-color:#b96a7c;color:white}
.reveal-ready{opacity:0;transform:translateY(25px);transition:opacity .7s,transform .7s}.reveal-ready.is-revealed{opacity:1;transform:none}
.skyline-copy,.skyline-window{min-width:0;width:100%}
@media(max-width:1000px){.horizon-copy h1{font-size:clamp(46px,7vw,74px)}.horizon-content{min-height:680px}.skyline-stage{padding-inline:32px;gap:35px}.skyline-copy h2{font-size:60px}.destination-tile{flex-basis:320px;height:430px}}
@media(max-width:650px){.horizon-hero{min-height:0}.horizon-content{min-height:690px;padding-top:55px;gap:30px}.horizon-copy h1{font-size:clamp(40px,10vw,61px);line-height:1.09}.horizon-copy h1 br{display:none}.horizon-copy .hero-actions{gap:20px}.horizon-shade{background:linear-gradient(90deg,#071a2de0,#102d4955),linear-gradient(0deg,#071a2df5,transparent)}.horizon-destination{display:block}.hero-destinations{justify-content:flex-start;margin-top:16px}.hero-destinations button{padding:9px 12px}.horizon-credit{margin-top:12px}.horizon-bottom{font-size:8px}.values-strip .wrap{gap:12px;justify-content:center}.values-strip .wrap>span:first-child{width:100%;text-align:center}.skyline-story{height:155svh}.skyline-stage{padding:125px 20px 45px;gap:25px;grid-template-columns:1fr;align-content:start;height:100svh;min-height:740px}.skyline-copy h2{font-size:clamp(32px,9.5vw,40px);margin-bottom:12px}.skyline-copy h2 br{display:block}.skyline-copy>p:not(.eyebrow){font-size:12px;margin-bottom:10px}.skyline-copy .button{margin-top:5px;padding:12px 20px}.scroll-caption{display:none}.skyline-copy .eyebrow{margin-bottom:14px}.skyline-window{height:36svh;min-height:250px;max-height:370px}.skyline-window>img{object-position:center 53%}.skyline-index{bottom:16px;left:20px;font-size:8px}.goal-section{padding-block:65px}.rail-controls{margin-top:24px}.destination-tile{flex-basis:82vw;height:420px}.destination-rail{gap:16px}.collection-bottom{display:block}.collection-bottom .text-link{font-size:12px}.country-flag-banner::after{background:#071a2db8}.brand-wordmark{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.skyline-story{height:auto}.skyline-stage{position:relative;height:auto;min-height:0}.skyline-window{clip-path:none}.skyline-window>img,.horizon-image,.destination-tile>img{transform:none!important}.reveal-ready{opacity:1;transform:none;transition:none}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Company signature alongside the supplied logo. */
.brand .brand-suffix{display:block;font:500 11px/1.5 'Poppins',sans-serif;letter-spacing:.02em;margin-top:4px;text-transform:none;white-space:nowrap}
.header.centered-header .brand strong,.footer-brand.brand strong{font-size:16px;letter-spacing:normal}
.homepage .header.centered-header .brand strong{font-size:18px;text-align:left}
@media(max-width:1150px) and (min-width:1001px){.homepage .header.centered-header .brand strong{font-size:15px}}
@media(max-width:650px){.homepage .header.centered-header .brand strong,.header.centered-header .brand strong{font-size:14px}.brand .brand-suffix{font-size:10px;margin-top:3px}}
