:root{--navy:#061d49;--red:#ff2d3d;--ink:#0a1733;--muted:#6d7280;--line:#dfe1e5;--shadow:0 14px 38px rgba(10,30,65,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"DM Sans",sans-serif;background:#fff}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}.site-header{height:112px;display:flex;align-items:center;gap:44px;padding:0 clamp(28px,6.7vw,108px);position:absolute;z-index:10;width:100%}.logo-link{width:210px;margin-right:auto}.logo-link img,.footer-brand img{display:block;width:100%;height:auto}.desktop-nav{display:flex;align-items:center;gap:52px}.desktop-nav a{position:relative;padding:44px 0 16px;text-transform:uppercase;font-size:12px;font-weight:600;letter-spacing:1.4px}.desktop-nav a.active:after{content:"";position:absolute;bottom:0;left:50%;width:28px;height:2px;background:var(--red);transform:translateX(-50%)}.header-actions{display:flex;align-items:center;gap:30px}.language{border:0;background:transparent;font-size:12px}.button{border:0;border-radius:4px;background:linear-gradient(135deg,#061941,#0d2b61);color:white;padding:16px 27px;text-transform:uppercase;letter-spacing:1.4px;font-size:11px;font-weight:600;box-shadow:0 8px 20px rgba(4,25,65,.12);cursor:pointer}.menu-button{display:none;border:0;background:none;width:34px}.menu-button span{display:block;height:2px;background:var(--navy);margin:6px 0}.hero{height:580px;background:url('Group 1.jpg') center top/cover no-repeat;position:relative}.hero-copy{position:absolute;left:clamp(28px,10.8vw,175px);top:185px}.hero h1,.details-intro h2{font-family:"Playfair Display",serif;font-weight:400;font-size:clamp(48px,4.7vw,76px);line-height:1.06;margin:0;letter-spacing:-1.5px}.hero h1 em,.details-intro h2 em{font-weight:400}.hero h1 span,.details-intro h2 span{color:var(--red)}.brand-rule{display:flex;gap:34px;margin:32px 0 24px}.brand-rule i{display:block;width:31px;height:2px;background:var(--navy)}.brand-rule i:last-child{background:var(--red)}.hero-copy p{font-size:17px;line-height:1.65;color:#5e636c;margin:0}.trip-wrap{position:relative;z-index:2;margin:-60px auto 0;max-width:1390px;padding:0 32px}.trip-form{min-height:155px;border:1px solid #dfe1e6;background:rgba(255,255,255,.96);box-shadow:var(--shadow);border-radius:8px;padding:35px 44px;display:grid;grid-template-columns:1.15fr 36px 1.15fr 1fr 1fr 1fr 54px;gap:16px;align-items:end}.trip-form label>span:first-child{display:block;text-transform:uppercase;letter-spacing:1.5px;color:#8b8e96;font-size:10px;margin:0 0 11px}.field{height:48px;border:1px solid #d7d9de;border-radius:4px;display:flex;align-items:center;padding:0 14px;gap:11px;color:#767b84}.field b{font-weight:400;font-size:18px}.field input,.field select{border:0;outline:0;width:100%;min-width:0;background:transparent;color:#686d77}.field input::placeholder{color:#777b84}.swap{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:white;margin-bottom:6px;color:var(--navy);font-size:18px}.continue{height:48px;border:0;border-radius:4px;background:var(--navy);color:white;font-size:25px;cursor:pointer}.benefits{max-width:1130px;margin:45px auto 70px;display:grid;grid-template-columns:repeat(4,1fr)}.benefits article{text-align:center;padding:0 55px;border-right:1px solid #d6d7da}.benefits article:last-child{border:0}.icon{font-size:35px;color:var(--navy);height:48px}.benefits h3,.detail-benefits h3{font-size:14px;letter-spacing:.3px;margin:10px 0;color:var(--navy)}.benefits p,.detail-benefits p{font-size:13px;line-height:1.55;color:#6b707a;margin:0}.details-page{padding:145px clamp(32px,7vw,110px) 90px;gap:55px;background:linear-gradient(115deg,#fff 0%,#fbfcfe 100%);display:grid;grid-template-columns:350px 1fr}.details-page[hidden]{display:none}.details-intro{padding-top:75px}.details-intro h2{font-size:38px;line-height:1.25}.details-intro>p{color:#677080;font-size:14px;line-height:1.8;max-width:310px}.detail-benefits{margin-top:42px;display:grid;gap:28px}.detail-benefits article{display:grid;grid-template-columns:52px 1fr;gap:12px}.detail-benefits h3{text-transform:uppercase;letter-spacing:1.5px;font-size:11px;margin:0 0 7px}.contact-card{max-width:900px;width:100%;justify-self:end;padding:50px;background:#fff;border:1px solid #e2e4e8;box-shadow:var(--shadow);border-radius:9px;display:grid;gap:14px}.form-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.form-top p{color:#647087;font-size:13px}.back{border:0;background:none;cursor:pointer}.contact-card input,.contact-card select,.contact-card textarea{width:100%;border:1px solid #d9dce1;border-radius:4px;background:#fff;padding:0 15px;height:52px;outline-color:#5674a0}.contact-card textarea{height:106px;padding-top:15px;resize:vertical}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check{display:grid;grid-template-columns:18px 1fr;gap:10px;color:#6d7280;font-size:11px;line-height:1.55}.check input{width:15px;height:15px;margin:2px 0}.submit{justify-self:start;margin-top:4px}.contact-card small{color:#8b909a}.success{padding:22px;background:#f3f7f4;border-left:3px solid #507b60}.success h3{margin:0 0 5px}.success p{margin:0;color:#5c6c62}footer{padding:75px clamp(30px,6.8vw,110px) 35px;background:#fbfbfc;border-top:1px solid #f0f1f3}.footer-grid{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:65px}.footer-grid section{display:flex;flex-direction:column;gap:22px;color:#767b89}.footer-grid h3{color:var(--navy);font-size:13px;text-transform:uppercase;letter-spacing:1.5px;margin:4px 0 5px}.footer-grid a,.footer-grid span{font-size:15px}.footer-brand img{width:205px}.footer-brand p{font-size:17px;line-height:1.65;margin:5px 0 0}.footer-brand .brand-rule{margin:0}.socials{display:flex;gap:12px}.socials a{border:1px solid #ccd0d7;border-radius:50%;height:43px;width:43px;display:grid;place-items:center;color:var(--navy)}.disclosure{border-top:1px solid #d9dadd;border-bottom:1px solid #d9dadd;margin-top:65px;padding:45px 0;color:#555b66;font-size:14px;line-height:1.75}.disclosure p{margin:0 0 17px}.disclosure a{color:var(--navy)}.legal{display:flex;justify-content:space-between;color:#7b808d;font-size:13px;padding-top:33px}.legal div{display:flex;gap:55px}
@media(max-width:1100px){.desktop-nav{gap:24px}.logo-link{width:160px}.trip-form{grid-template-columns:1fr 32px 1fr 1fr}.trip-form label:nth-of-type(4),.trip-form label:nth-of-type(5){grid-row:2}.continue{grid-row:2}.benefits article{padding:0 25px}.details-page{grid-template-columns:280px 1fr}.footer-grid{gap:30px}}
@media(max-width:780px){.site-header{height:82px;padding:0 22px;position:absolute}.logo-link{width:145px}.desktop-nav,.header-actions{display:none}.menu-button{display:block}.site-header.open{background:white;position:fixed;box-shadow:0 4px 20px rgba(0,0,0,.08)}.site-header.open .desktop-nav{display:flex;position:absolute;top:82px;left:0;width:100%;background:white;flex-direction:column;align-items:stretch;padding:15px 30px 30px;gap:0;box-shadow:0 15px 20px rgba(0,0,0,.08)}.site-header.open .desktop-nav a{padding:16px 0}.hero{height:575px;background-position:61% top;background-size:auto 575px}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.83) 40%,rgba(255,255,255,0) 80%)}.hero-copy{z-index:1;left:25px;top:150px}.hero h1{font-size:47px}.hero-copy p{font-size:15px}.trip-wrap{margin:-85px auto 0;padding:0 18px}.trip-form{padding:24px;grid-template-columns:1fr;gap:15px}.trip-form .swap{display:none}.trip-form label:nth-of-type(4),.trip-form label:nth-of-type(5),.trip-form .continue{grid-row:auto}.trip-form label>span:first-child{margin-bottom:7px}.continue{width:100%}.benefits{grid-template-columns:1fr 1fr;margin:35px auto 55px;gap:0}.benefits article{padding:28px 18px;border-right:0;border-bottom:1px solid #ddd}.details-page{padding:110px 18px 60px;display:block}.details-intro{padding:0 10px 35px}.details-intro h2{font-size:34px}.detail-benefits{grid-template-columns:1fr 1fr;gap:20px}.detail-benefits article{grid-template-columns:40px 1fr}.contact-card{padding:25px 18px}.two-col{grid-template-columns:1fr}.form-top{display:block}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.legal{display:block}.legal div{gap:18px;flex-wrap:wrap}.footer-grid section{gap:15px}}
@media(max-width:470px){.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.detail-benefits{grid-template-columns:1fr}.hero h1{font-size:42px}}

/* Precision layout refinements */
@media(min-width:781px){
  .site-header{display:grid;grid-template-columns:260px 1fr 260px;gap:0;padding:0 clamp(42px,5.5vw,112px)}
  .logo-link{margin:0}.desktop-nav{justify-content:center;gap:clamp(28px,3vw,58px)}
  .header-actions{justify-content:flex-end}
}
.language-picker{position:relative}.language{height:42px;display:flex;align-items:center;gap:7px;cursor:pointer}.language svg{width:12px}.current-flag,.flag{font-size:16px;line-height:1}.language-menu{position:absolute;right:0;top:49px;width:168px;padding:7px 0;background:#fff;border:1px solid #edf0f4;border-radius:6px;box-shadow:0 12px 30px rgba(10,28,60,.14)}.language-menu button{width:100%;height:42px;border:0;background:#fff;display:grid;grid-template-columns:25px 30px 1fr;text-align:left;align-items:center;padding:0 14px;cursor:pointer}.language-menu button:hover{background:#f6f8fb}.language-menu b{font-size:11px;color:var(--navy)}.language-menu button span:not(.flag){font-size:12px;color:#656b76}
.trip-wrap{max-width:none;width:min(88vw,1680px);padding:0}.benefits{max-width:none;width:min(78vw,1380px)}
.icon{font-size:0;display:flex;align-items:center;justify-content:center}.icon svg{width:38px;height:38px;stroke-width:1.55}.icon .accent{stroke:var(--red)}.icon .fill{fill:#fff}svg{display:block}.field svg{width:19px;height:19px}.continue svg{width:25px;height:25px;margin:auto}.swap svg{width:18px;height:18px}.socials svg{width:18px;height:18px}
.details-page{gap:clamp(60px,8vw,170px);padding-left:clamp(45px,6.5vw,130px);padding-right:clamp(45px,6.5vw,130px);min-height:920px}.contact-card{max-width:1080px}
@media(min-width:1500px){.hero{height:720px;background-size:auto 790px;background-position:center -35px}.hero-copy{top:190px}.trip-wrap{margin-top:-88px}.trip-form{padding-left:48px;padding-right:48px}.details-page{grid-template-columns:390px 1fr}.details-intro{padding-top:55px}}
@media(min-width:2000px){.hero{height:760px;background-size:auto 820px;background-position:center -30px}.hero-copy{left:7vw;top:200px}.trip-wrap{width:86vw;margin-top:-92px}.trip-form{grid-template-columns:1.18fr 40px 1.18fr 1fr 1fr 1fr 58px}.contact-card{max-width:1180px}}
@media(max-width:780px){.trip-wrap{width:auto}.benefits{width:auto}.details-page{min-height:0}.language-menu{display:none}}
.disclosure{display:flex;align-items:center;justify-content:space-between;gap:48px}.disclosure p{margin:0}.disclosure a{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-weight:500}.disclosure a svg{width:17px;height:17px}
@media(max-width:900px){.disclosure{align-items:flex-start;flex-direction:column;gap:20px}.disclosure a{white-space:normal}}
.footer-grid section:not(.footer-brand){gap:14px}
.check a,.contact-card small a{color:var(--navy);font-weight:600}

/* Legal pages */
.legal-body{background:#fff}.legal-header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(28px,7vw,112px);border-bottom:1px solid #eef0f3}.legal-header img{width:190px;display:block}.legal-header a:last-child{font-size:12px;text-transform:uppercase;letter-spacing:1.25px;font-weight:600}.legal-document{width:min(91vw,1180px);margin:0 auto;padding:70px 0 100px}.legal-document h1{font-family:"Playfair Display",serif;font-size:44px;font-weight:400;margin:0;color:var(--navy)}.legal-title-rule{width:48px;height:2px;background:var(--red);margin:22px 0 20px}.legal-updated{font-size:12px;color:#737985;margin-bottom:28px}.legal-lead{font-size:14px;line-height:1.75;color:#555c68;margin:0 0 25px}.legal-section{padding:16px 0 17px;border-bottom:1px solid #dfe2e6}.legal-section:last-child{border-bottom:0}.legal-section h2{font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.4;color:var(--navy);margin:0 0 9px;font-weight:600}.legal-section p,.legal-section li{font-size:13px;line-height:1.65;color:#565d69}.legal-section p{margin:0}.legal-section ul{margin:6px 0 0;padding-left:22px}.legal-section li{padding:2px 0}.legal-section li::marker{color:var(--red)}.legal-contact{display:flex;gap:28px;flex-wrap:wrap;margin-top:14px}.legal-contact a{display:inline-flex;align-items:center;gap:8px;color:var(--navy);font-size:13px;font-weight:500}.legal-footer{border-top:1px solid #e1e3e7;padding:28px clamp(28px,7vw,112px);display:flex;justify-content:space-between;color:#7b808d;font-size:12px}.legal-footer div{display:flex;gap:28px}
@media(max-width:600px){.legal-header{height:82px}.legal-header img{width:145px}.legal-document{padding:45px 0 70px}.legal-document h1{font-size:36px}.legal-footer{display:block}.legal-footer div{margin-top:14px;flex-wrap:wrap}}
.legal-header{position:sticky;top:0;z-index:120;background:rgba(255,255,255,.97)}

/* Right-anchored, taller hero */
.hero{height:640px;background-position:right -70px}
.header-actions .button{white-space:nowrap}
@media(min-width:1500px){.hero{height:820px;background-size:auto 880px;background-position:right -25px}.hero-copy{top:210px}.trip-wrap{margin-top:-92px}}
@media(min-width:2000px){.hero{height:880px;background-size:auto 920px;background-position:right -15px}.hero-copy{top:220px}.trip-wrap{margin-top:-96px}}
@media(max-width:780px){.hero{height:620px;background-size:auto 620px;background-position:right top}}

/* Custom date planner */
.trip-wrap{position:relative}.date-field{cursor:pointer}.date-field input{cursor:pointer}.date-planner{position:absolute;z-index:20;top:145px;left:50%;transform:translateX(-50%);width:min(1050px,92vw);min-height:520px;background:#fff;border:1px solid #dfe3e9;border-radius:10px;box-shadow:0 22px 55px rgba(6,29,73,.16);display:grid;grid-template-columns:230px 1fr;overflow:hidden}.date-planner[hidden]{display:none}.date-options{border-right:1px solid #e2e5e9;padding:30px 24px;display:flex;flex-direction:column}.date-options-title{height:54px;display:flex;align-items:flex-start;gap:12px;color:var(--navy);border-bottom:2px solid var(--red);margin-bottom:22px;width:max-content}.date-options-title svg,.date-mode>svg,.flexible-dates>svg,.chosen-date>svg{width:23px;height:23px}.date-options-title strong,.date-mode strong,.flexible-dates strong{text-transform:uppercase;letter-spacing:1.6px;font-size:11px}.date-mode{border:0;background:transparent;display:grid;grid-template-columns:30px 1fr;gap:12px;text-align:left;padding:15px 0;color:var(--navy);cursor:pointer}.date-mode>span,.flexible-dates>span{display:flex;flex-direction:column;gap:7px}.date-mode small,.flexible-dates small{font-size:12px;color:#7a808c}.date-mode.active strong{color:var(--red)}.flexible-dates{margin-top:auto;border-top:1px solid #e1e3e7;padding-top:25px;display:grid;grid-template-columns:30px 1fr;gap:12px;color:var(--navy)}.calendar-area{position:relative;padding:30px 30px 0;display:flex;flex-direction:column}.calendar-nav{position:absolute;left:24px;right:24px;top:25px;display:flex;justify-content:space-between;pointer-events:none}.calendar-nav button{pointer-events:auto;width:38px;height:38px;border:0;background:transparent;color:var(--navy);font-family:serif;font-size:34px;line-height:1;cursor:pointer}.calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:42px;padding:0 30px}.calendar-month h3{text-align:center;margin:8px 0 22px;font-size:16px;font-weight:600}.weekday-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.weekday-row span{font-size:11px;color:#7c818b;padding-bottom:12px}.day{width:35px;height:35px;margin:2px auto;border:0;border-radius:50%;background:transparent;font-size:13px;cursor:pointer}.day:hover{background:#eef2f8}.day.muted{color:#b4b7bd}.day.today{box-shadow:inset 0 0 0 1px #aeb5c0}.day.selected{background:var(--navy);color:#fff;box-shadow:0 5px 12px rgba(6,29,73,.23)}.day.in-range{background:#edf2fa;border-radius:0}.date-planner-footer{margin:25px -30px 0;border-top:1px solid #e1e4e8;min-height:92px;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.chosen-date{display:flex;align-items:center;gap:15px;font-size:13px}.chosen-date>svg{padding:10px;box-sizing:content-box;border-radius:50%;background:#f2f4f8}.chosen-date #return-date-text{color:#a2a6ad}.confirm-dates{min-width:190px}.date-planner svg{stroke-width:1.7}
@media(max-width:800px){.date-planner{top:100%;grid-template-columns:1fr;max-height:74vh;overflow:auto}.date-options{display:none}.calendar-area{padding:22px 16px 0}.calendar-months{grid-template-columns:1fr;padding:0 25px}.calendar-month.second{display:none}.date-planner-footer{margin:20px -16px 0;position:sticky;bottom:0;background:#fff;flex-direction:column;align-items:stretch}.chosen-date{justify-content:center}.confirm-dates{width:100%}}

/* Airport autocomplete */
.trip-form label{position:relative}.airport-results{position:absolute;z-index:30;top:100%;left:0;width:max(100%,360px);margin-top:9px;background:#fff;border:1px solid #dde1e7;border-radius:7px;box-shadow:0 18px 38px rgba(6,29,73,.16);max-height:390px;overflow-y:auto;padding:7px}.airport-results[hidden]{display:none}.airport-results-header{padding:10px 11px 7px;text-transform:uppercase;letter-spacing:1.4px;font-size:9px;color:#8a9099}.airport-option{width:100%;border:0;border-bottom:1px solid #eceef1;background:#fff;display:grid;grid-template-columns:30px 1fr auto;gap:11px;align-items:center;text-align:left;padding:11px;border-radius:4px;cursor:pointer}.airport-option:last-child{border-bottom:0}.airport-option:hover,.airport-option.active{background:#f4f7fb}.airport-flag{width:25px;height:17px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.08)}.airport-copy{min-width:0}.airport-country{display:block;color:#707682;font-size:10px;margin-bottom:3px}.airport-name{display:block;color:var(--navy);font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.airport-location{display:block;color:#777d87;font-size:11px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.airport-code{font-size:13px;font-weight:600;color:var(--navy);padding-left:8px}.airport-empty{padding:18px;color:#747a85;font-size:12px;text-align:center}
@media(max-width:780px){.airport-results{position:fixed;top:auto;left:18px;right:18px;width:auto;max-height:48vh;margin-top:6px}.airport-option{grid-template-columns:30px 1fr auto}}
.concierge-requests{border:1px solid #dfe2e7;border-radius:5px;padding:18px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px;color:#68717d}.concierge-requests legend{text-transform:uppercase;letter-spacing:1.2px;font-size:10px;color:var(--navy);padding:0 8px}.concierge-requests label{font-size:12px;display:flex;align-items:center;gap:7px}.concierge-requests input{width:14px;height:14px}.field-error{color:#c72837;font-size:10px;margin-top:6px}.field.invalid{border-color:#d54552;box-shadow:0 0 0 2px rgba(213,69,82,.08)}
@media(max-width:600px){.concierge-requests{grid-template-columns:1fr}}
@media(min-width:781px) and (max-width:1600px){.site-header{grid-template-columns:190px 1fr 230px;padding-left:45px;padding-right:45px}.logo-link{width:170px}.desktop-nav{gap:14px}.desktop-nav a{font-size:9px;letter-spacing:.8px}.header-actions{gap:14px}.header-actions .button{padding-left:17px;padding-right:17px}}
@media(max-width:1150px) and (min-width:781px){.site-header{display:flex}.logo-link{margin-right:auto}.desktop-nav,.header-actions{display:none}.menu-button{display:block}.site-header.open{background:#fff;position:fixed;box-shadow:0 4px 20px rgba(0,0,0,.08)}.site-header.open .desktop-nav{display:flex;position:absolute;top:112px;left:0;width:100%;background:#fff;flex-direction:column;align-items:center;padding:20px;gap:0;box-shadow:0 15px 20px rgba(0,0,0,.08)}.site-header.open .desktop-nav a{padding:13px}}
@media(min-width:1160px) and (max-width:1499px){#home-view>.hero{height:780px}}
@media(min-width:1500px){#home-view>.hero{height:960px}}
@media(min-width:2000px){#home-view>.hero{height:1020px}}
.swap{display:grid;place-items:center;transition:border-color .2s,background .2s,transform .2s}.swap:hover{border-color:#9aa8bc;background:#f5f8fc;transform:rotate(180deg)}.swap svg{width:17px;height:17px;stroke-width:1.6}
body:not(.site-ready) .site-header{visibility:hidden}
@media(min-width:1160px){#home-view>.hero .hero-copy{top:50%;transform:translateY(-50%)}#home-view>.trip-wrap{margin-top:-170px}}
@media(min-width:1160px){#home-view>.hero .hero-copy{top:calc(50% - 50px)}}

/* Animated navigation indicator */
.desktop-nav a::after{content:"";position:absolute;bottom:0;left:50%;width:28px;height:2px;background:var(--red);transform:translateX(-50%) scaleX(0);transform-origin:center;transition:transform .24s ease}
.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after,.desktop-nav a.active::after{transform:translateX(-50%) scaleX(1)}
.day.past{color:#c3c6cc;cursor:not-allowed}.day.past:hover{background:transparent}
