@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--green:#081c30;--ink:#122a40;--gold:#8fd9ef;--paper:#f3f5f6;--line:#d9e0e6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:14px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:5;width:100%;color:#fff;border-bottom:1px solid #ffffff30}.brand{display:flex;align-items:center;gap:10px;color:#d2eff6}.brand svg{width:57px}.brand span{font-family:'Libre Caslon Display',Georgia,serif;font-size:24px;line-height:1.1;letter-spacing:-.6px}.brand small{font:7px 'DM Sans',sans-serif;display:block;letter-spacing:1.8px;margin-top:8px}nav{display:flex;gap:30px;font-size:12px}.nav-cta{border:1px solid #8fd9ef80;padding:10px 18px;font-size:12px}.nav-cta span{margin-left:24px}.menu{display:none}.hero{height:800px;min-height:680px;max-height:1000px;position:relative;background:#0b2540;color:white;overflow:hidden}.slides,.slide,.shade{position:absolute;inset:0;width:100%;height:100%}.slide{object-fit:cover;object-position:center 47%;opacity:0;transition:opacity 1.4s,transform 8s;transform:scale(1.06)}.slide.active{opacity:1;transform:scale(1)}.shade{background:linear-gradient(90deg,#071c21b0 0%,#081c1430 75%),linear-gradient(0deg,#061c23bb,transparent 40%,#071b1d66)}.hero-copy{position:relative;padding:190px 8% 100px}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:600;margin:0 0 22px}.hero .eyebrow{color:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400}h1{font-size:88px;line-height:.99;letter-spacing:-2.5px;margin-bottom:28px}h1 em{font-size:65px;color:#b7e8f7;font-weight:400}em{font-weight:400}h2{font-size:56px;line-height:1.05;letter-spacing:-1.3px;margin-bottom:25px}h3{font-size:27px;line-height:1.2;margin-bottom:10px}.hero-copy>p:not(.eyebrow){font-size:14px;color:#e2edf5;line-height:1.8;margin-bottom:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:15px 23px;font-size:12px;border:0}.gold{background:var(--gold);color:#082139}.gold:hover{background:#b8edfa}.hero-foot{position:absolute;bottom:32px;left:8%;right:6%;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.6px}.carousel-controls{display:flex;align-items:center;gap:17px}.carousel-controls button{border:1px solid #ffffff60;background:transparent;color:white;border-radius:50%;height:37px;width:37px}.track{width:75px;height:1px;background:#ffffff80}.muted{opacity:.5}.vertical{position:absolute;right:26px;top:45%;writing-mode:vertical-rl;letter-spacing:3px;font-size:9px}.trip-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:30px 8%;background:#e8edf1}.trip-strip>div{padding-left:25px;border-left:1px solid #c4d1dc}.trip-strip>div:first-child{border:0;padding:0}.trip-strip span{display:block;font-size:8px;letter-spacing:1.7px;margin-bottom:5px;color:#62788b}.trip-strip strong{font-size:12px;font-weight:500}.section{padding:95px 8%}.intro{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-bottom:55px}.intro p{color:#5c7285}.intro .lead{font-size:20px;color:var(--ink);font-family:'Cormorant Garamond',serif}.text-link{font-size:11px;border-bottom:1px solid #7a9ab2;display:inline-block;padding:8px 0;margin-top:8px}.text-link span{margin-left:40px}.experiences{display:grid;grid-template-columns:repeat(4,1fr);padding:0 8% 80px;gap:30px}.experiences article{border-top:1px solid #c9d5df;padding-top:22px}.experiences span{font-size:8px;letter-spacing:1.6px;color:#6e8ca3}.experiences h3{font-size:25px;margin-top:17px}.experiences p{font-size:12px;color:#62778a}.destinations{background:#e7edf2}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.section-head h2{margin:0}.section-head>p{font-size:12px;color:#688094}.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.destination-card{position:relative;min-height:330px;overflow:hidden;color:white}.destination-card img{width:100%;height:330px;object-fit:cover;display:block;transition:transform .7s}.destination-card:hover img{transform:scale(1.04)}.destination-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#031b15dd,transparent 65%)}.destination-card>div{position:absolute;bottom:22px;left:25px;right:20px;z-index:1}.destination-card small{font-size:8px;letter-spacing:1.6px;color:#b6e4f1}.destination-card h3{margin:7px 0;font-size:31px}.destination-card p{font-size:10px;margin:0;color:#d8e7f2}.journey{background:var(--green);color:#eff5fa;display:grid;grid-template-columns:1fr 1.8fr;gap:70px}.journey .eyebrow{color:var(--gold)}.journey-heading p:not(.eyebrow){color:#aebfce;font-size:13px}.journey-note{font-size:8px;letter-spacing:1.5px;line-height:2.5;border-top:1px solid #ffffff25;padding:20px 0;margin-top:25px}.days{display:grid;grid-template-columns:1fr 1fr;gap:40px}.day-label{display:block;font-size:13px;color:var(--gold);border-bottom:1px solid #ffffff30;padding-bottom:18px}.day-label i{display:block;color:#b4c7d7;font-size:11px;font-weight:400;margin-top:3px}.days ul{padding:0 0 0 17px;border-left:1px solid #8fd9ef66;list-style:none;margin-top:28px}.days li{position:relative;padding-left:10px;margin-bottom:27px}.days li:before{content:'';position:absolute;left:-21px;top:8px;width:6px;height:6px;border-radius:50%;background:var(--gold)}.days h3{font-size:22px}.days p{font-size:11px;line-height:1.8;color:#a5bbce}.route-note{grid-column:1/-1;font-size:10px;color:#a0b5c6;border-top:1px solid #ffffff25;padding-top:18px;margin:0}.food{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.food-photo{height:640px;position:relative}.food-photo>img{height:100%;width:100%;object-fit:cover}.food-photo>span{position:absolute;bottom:25px;left:25px;color:white;letter-spacing:2px;font-size:10px;text-shadow:0 1px 5px #000}.food-copy>p{color:#647a8c;font-size:13px}.food-tags{font-size:9px;letter-spacing:1.1px;border-top:1px solid var(--line);padding-top:20px;line-height:2.3}.food-small{display:flex;gap:18px;margin:25px 0 15px}.food-small figure{margin:0;width:50%}.food-small img{width:100%;height:130px;object-fit:cover}.food-small figcaption{font-size:8px;color:#6c8295}.food-copy>small{font-size:9px;color:#6c8295}.about{background:#e7edf2;display:grid;grid-template-columns:1fr 1fr;gap:9%}.about p{font-size:13px;color:#647c91}.about em{color:#4c87a8}.promise{display:grid;grid-template-columns:1fr 1fr;gap:25px}.promise>div{border-top:1px solid #c1d1df;padding-top:18px}.promise span{font-size:10px;color:#6c91ac}.promise h3{font-size:24px;margin-top:15px}.promise p{font-size:11px}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}details{border-bottom:1px solid #cad7e0;padding:20px 0}summary{cursor:pointer;list-style:none;font-size:13px;padding-right:25px;position:relative}summary:after{content:'+';position:absolute;right:0}details[open] summary:after{content:'−'}details p{font-size:12px;color:#617c91;margin:15px 0 0}.contact{background:#0b2740;color:#edf5fa;display:grid;grid-template-columns:1fr 1.3fr;gap:12%}.contact .eyebrow{color:var(--gold)}.contact h2{font-size:85px}.contact h2 em{color:var(--gold)}.contact p{color:#a9bed0;font-size:13px}.contact-caption{font-size:8px;letter-spacing:1.5px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:25px}label{display:block;font-size:10px;color:#c3d5e3;margin-bottom:22px}input,select,textarea{display:block;background:transparent;border:0;border-bottom:1px solid #7895ad80;color:#fff;padding:13px 0;width:100%;outline-offset:4px;border-radius:0;font-size:12px}select option{color:#0b2740}input{color-scheme:dark}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#91a8bb}.form-note{font-size:10px!important;margin:15px 0 0}.outline{border:1px solid var(--gold);color:var(--gold);background:none}#enquiry-result{padding-top:20px}#copy-status{font-size:11px;padding:10px}footer{padding:45px 8%;background:#061728;color:#b7c8d8}.footer-brand{font-family:'Libre Caslon Display',Georgia,serif;font-size:33px;color:var(--gold)}footer p{font-size:10px;letter-spacing:1px}footer>div{border-top:1px solid #ffffff20;padding-top:22px;display:flex;gap:30px;font-size:10px}footer>div>span{margin-right:auto}footer button{background:none;border:0;color:inherit;font-size:10px}dialog{border:0;background:var(--paper);color:var(--ink);max-width:700px;width:90%;max-height:85vh;padding:35px}dialog::backdrop{background:#071c1cd9}#credits-close{float:right;background:none;border:0;font-size:28px}#credits-content p{font-size:12px;border-bottom:1px solid #ddd;padding-bottom:12px}#credits-content a{text-decoration:underline}
@media(min-width:1500px){.hero{height:90vh}.hero-copy{padding-top:230px}}@media(max-width:1000px){nav{gap:18px}.nav-cta{display:none}h1{font-size:75px}h1 em{font-size:53px}h2{font-size:46px}.section{padding:70px 6%}.hero-copy{padding-left:6%}.journey{gap:35px;grid-template-columns:1fr 1.5fr}.days{gap:20px}.destination-card,.destination-card img{height:280px;min-height:280px}.food-photo{height:560px}.contact{gap:8%}.experiences{padding:0 6% 65px;gap:22px}.brand span{font-size:21px}}
@media(max-width:650px){header{height:80px;padding:0 6%}.brand svg{width:40px}.brand span{font-size:21px}.brand small{font-size:6px}.menu{display:block;background:none;border:0;color:var(--gold);font-size:25px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--green);padding:25px 7%;flex-direction:column}nav.open{display:flex}.hero{height:750px;min-height:0}.hero-copy{padding:180px 7% 90px}h1{font-size:65px;letter-spacing:-1.6px}h1 em{font-size:43px;display:block;margin-top:10px}.eyebrow{font-size:8px;letter-spacing:1.8px}.hero-copy>p:not(.eyebrow){font-size:12px}.vertical{display:none}.hero-foot{left:7%;right:7%;bottom:25px;align-items:start;gap:20px;flex-direction:column}.carousel-controls{gap:13px}.location{font-size:8px}.trip-strip{grid-template-columns:1fr 1fr;padding:25px 7%;gap:25px}.trip-strip>div{padding:0;border:0}.trip-strip strong{font-size:11px}.trip-strip span{font-size:7px}.section{padding:60px 7%}h2{font-size:43px}.intro,.food,.about,.faq,.contact{grid-template-columns:1fr;gap:25px}.intro{padding-bottom:25px}.experiences{grid-template-columns:1fr 1fr;padding:15px 7% 50px;gap:20px}.experiences h3{font-size:23px}.experiences p{font-size:11px}.experiences span{font-size:7px}.section-head{display:block}.section-head>p{margin-top:20px}.destination-grid{grid-template-columns:1fr 1fr;gap:12px}.destination-card,.destination-card img{height:245px;min-height:245px}.destination-card>div{left:14px;bottom:16px;right:10px}.destination-card h3{font-size:25px}.destination-card small{font-size:6px}.destination-card p{font-size:9px}.journey{grid-template-columns:1fr;gap:35px}.days{gap:25px}.days h3{font-size:21px}.days p{font-size:10px}.day-label{font-size:12px}.day-label i{font-size:9px}.food-photo{height:440px}.food-small img{height:130px}.promise{gap:23px}.contact h2{font-size:65px}.fields{gap:18px}footer{padding:35px 7%}footer>div{flex-wrap:wrap;gap:15px}footer>div>span{width:100%}.footer-brand{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.slide,.destination-card img{transition:none;transform:none}}

/* Each itinerary remains in its original column as the route unfolds. */
.days.route-reveal ul{position:relative;border-left-color:transparent}
.days.route-reveal ul::before,.days.route-reveal ul::after{content:'';position:absolute;top:8px;left:-1px;width:1px;pointer-events:none}
.days.route-reveal ul::before{height:calc(100% - 8px);background:#8fd9ef24}
.days.route-reveal ul::after{height:var(--route-progress,0px);background:var(--gold);opacity:.65;transition:height 850ms cubic-bezier(.22,1,.36,1)}
.days.route-reveal li{opacity:0;transform:translateY(24px);transition:opacity 750ms ease,transform 850ms cubic-bezier(.22,1,.36,1)}
.days.route-reveal li.is-revealed{opacity:1;transform:none}
.days.route-reveal li::before{box-shadow:0 0 0 4px var(--green);z-index:1;transition:box-shadow 750ms ease}
.days.route-reveal li.is-current::before{box-shadow:0 0 0 4px var(--green),0 0 0 5px #8fd9ef55}
@media(prefers-reduced-motion:reduce){.days.route-reveal li{opacity:1;transform:none;transition:none}.days.route-reveal ul::after{transition:none}}
@media print{.days.route-reveal li{opacity:1!important;transform:none!important}}
