/* Put every category and the direct offer before editorial content. */
html.direct-arrival{scroll-padding-top:105px}.direct-arrival .header{position:sticky;top:0;background:#fff;box-shadow:0 1px 0 #d7e3ea}.direct-arrival .header .wrap{min-height:83px}.direct-arrival .header .brand-logo{height:64px;width:93px;object-fit:contain}.direct-arrival .arrival-backdrop{display:none}.room-overview{padding-top:28px;padding-bottom:21px}.overview-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:19px}.overview-heading .eyebrow{font-size:12px;color:#387298;letter-spacing:.13em}.overview-heading h2{font-size:28px;letter-spacing:-.03em;margin:6px 0 0;line-height:1.2}.overview-heading>a{font-size:14px;text-decoration:underline;text-underline-offset:5px}.room-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.room-shortcut{display:grid;grid-template-columns:75px minmax(0,1fr) 15px;gap:13px;align-items:center;padding:8px 13px 8px 8px;border:1px solid #dce5eb;border-radius:7px;text-align:left;background:white;cursor:pointer;color:#193e55;min-width:0;transition:background .2s,border-color .2s,transform .2s;font-family:inherit}.room-shortcut img{width:75px;height:62px;object-fit:cover;border-radius:4px}.room-shortcut>span:not(.shortcut-arrow){font-size:15px;font-weight:600;line-height:1.4}.shortcut-arrow{color:#5187a6}.room-shortcut:hover{background:#eef7fc;border-color:#8cb8d1;transform:translateY(-2px)}.room-shortcut:focus-visible{outline:2px solid #1675a8;outline-offset:3px}.overview-trust{text-align:center;margin:16px 0 0;font-size:12px;color:#607b89}.direct-arrival .booking-shell,.direct-arrival .booking-shell.is-stuck{position:relative;top:auto;margin:0 auto;width:100%;max-width:none;background:#f4f8fb;border-top:1px solid #e0e9ef;border-bottom:1px solid #e0e9ef;box-shadow:none;border-radius:0;padding:16px 0}.direct-arrival .booking-shell .booking{box-shadow:none;border-radius:0;border:0;padding:0;width:min(1320px,calc(100% - 80px));margin:auto;background:transparent}.direct-arrival .booking-support{padding-top:10px}.direct-arrival #rooms{padding-top:38px}.direct-arrival #rooms .rooms-head{margin-bottom:24px}.direct-arrival .hero{min-height:390px;background:linear-gradient(90deg,#0c314ccd,#10395145),url('journey-morning.jpg') center/cover;margin:0;display:flex;align-items:center;color:#fff}.direct-arrival .hero-content{padding:65px max(40px,calc((100vw - 1320px)/2));max-width:900px;margin:0}.direct-arrival #heroTitle{font-family:Georgia,serif;font-size:clamp(30px,3.5vw,48px);line-height:1.22;font-weight:400;letter-spacing:-.03em;color:#fff}.direct-arrival .hero p{font-size:16px;color:#e6f0f5;margin-top:18px;max-width:600px}.direct-arrival .hero .eyebrow{color:#d5edf9}.direct-arrival .discovery{padding-top:32px}.direct-arrival .contact-dock{bottom:78px}.direct-arrival .room-shortcut img{animation:none}
@media(max-width:950px){.direct-arrival .header .wrap{min-height:76px}.room-shortcut{grid-template-columns:56px minmax(0,1fr);gap:10px;padding:7px}.room-shortcut img{width:56px;height:58px}.shortcut-arrow{display:none}.room-shortcut>span:not(.shortcut-arrow){font-size:14px}.direct-arrival .booking-shell .booking{width:calc(100% - 48px)}.direct-arrival .hero-content{padding:55px 24px}.direct-arrival .contact-dock{bottom:78px}}
@media(max-width:600px){html.direct-arrival{scroll-padding-top:85px}.direct-arrival .header .wrap{min-height:72px}.direct-arrival .header .brand-logo{height:52px;width:76px}.room-overview{padding-top:23px;padding-bottom:20px}.overview-heading{display:block;margin-bottom:15px}.overview-heading h2{font-size:25px}.overview-heading>a{display:none}.room-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.room-shortcut{display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:6px;text-align:center}.room-shortcut img{width:100%;height:65px;border-radius:3px}.room-shortcut>span:not(.shortcut-arrow){font-size:12px;line-height:1.4;min-height:34px;display:flex;align-items:center;justify-content:center}.overview-trust{font-size:12px;line-height:1.7;max-width:350px;margin:14px auto 0}.direct-arrival .booking-shell .booking{width:calc(100% - 36px)}.direct-arrival #rooms{padding-top:32px}.direct-arrival .hero{min-height:330px}.direct-arrival #heroTitle{font-size:32px}.direct-arrival .hero-content{padding:45px 20px}.direct-arrival .contact-dock{bottom:max(74px,calc(env(safe-area-inset-bottom) + 62px))}.direct-arrival .discovery{padding-top:24px}}
@media(prefers-reduced-motion:reduce){.room-shortcut:hover{transform:none}}
.direct-arrival .header,.direct-arrival .header .nav a,.direct-arrival .header .lang{color:#193e55}.direct-arrival .header .brand-logo{filter:none;mix-blend-mode:normal}.direct-arrival .header .lang{background:#f4f8fb;border-color:#d5e3ec}.direct-arrival .header .nav a:hover{color:#1675a8}.direct-arrival .header .nav a:after{background:#1675a8}
@media(max-width:600px){.room-shortcut img{height:50px}.room-shortcut>span:not(.shortcut-arrow){font-size:13px;min-height:37px}}

/* The offer remains centred, with equal space for the message and action. */
.direct-promo{
  color:#153f60;
  background:radial-gradient(ellipse at 48% 0%,#edf7ff 0%,transparent 66%),linear-gradient(105deg,#d9f1ee 0%,#c9e5f8 48%,#dddaf5 100%);
  border-bottom:1px solid #c8dfea;
}
.direct-promo>.wrap{
  display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;column-gap:36px;row-gap:12px;padding:22px 0 15px;
}
.direct-promo-copy{max-width:380px}
.direct-promo h1{
  font-family:Arial,'Helvetica Neue',sans-serif;font-size:clamp(21px,2.2vw,30px);
  font-weight:600;letter-spacing:-.035em;line-height:1.2;color:#153f60;margin:0;
}
.direct-promo p{margin:0;color:#36566d;font-family:Arial,'Helvetica Neue',sans-serif}
.direct-promo p.direct-promo-comparison{margin-top:8px;font-size:13px;line-height:1.45}
.direct-promo-number{text-align:center;min-width:184px}
.direct-promo-number small{display:block;font-size:10px;letter-spacing:.17em;font-weight:700;line-height:1.5}
.direct-promo-number b{display:block;font-family:Arial,'Helvetica Neue',sans-serif;font-size:84px;font-weight:600;line-height:.97;letter-spacing:-.075em}
.direct-promo-number b span{font-size:.57em;letter-spacing:-.04em;margin-left:4px}
.direct-promo .btn{
  justify-self:end;max-width:250px;white-space:normal;text-align:center;
  background:#fff;color:#153f60;border:1px solid #ffffffb3;border-radius:40px;
  font-size:14px;font-weight:600;line-height:1.35;padding:15px 25px;
  box-shadow:0 5px 20px #2347670d;transition:transform .2s,box-shadow .2s,background .2s;
}
.direct-promo .btn:hover{background:#f7fbff;transform:translateY(-2px);box-shadow:0 7px 22px #2347671c}
.direct-promo .btn:focus-visible{outline:2px solid #153f60;outline-offset:4px}
.direct-promo p.direct-promo-terms{grid-column:1/-1;text-align:center;font-size:11px;line-height:1.5;color:#496078}
@media(max-width:950px){
  .direct-promo>.wrap{column-gap:22px;padding:20px 0 14px}
  .direct-promo h1{font-size:23px}
  .direct-promo-number{min-width:154px}
  .direct-promo-number b{font-size:76px}
  .direct-promo .btn{max-width:210px;padding:13px 20px}
}
@media(max-width:600px){
  .direct-promo>.wrap{column-gap:13px;row-gap:13px;padding:21px 0 14px}
  .direct-promo h1{font-size:17px;line-height:1.3;letter-spacing:-.025em}
  .direct-promo p.direct-promo-comparison{font-size:11px;line-height:1.45;margin-top:6px}
  .direct-promo-number{min-width:100px}
  .direct-promo-number small{font-size:8px;letter-spacing:.12em}
  .direct-promo-number b{font-size:63px;line-height:1.08}
  .direct-promo-number b span{margin-left:2px}
  .direct-promo .btn{display:block;font-size:12px;padding:12px 10px;border-radius:20px;max-width:130px}
  .direct-promo p.direct-promo-terms{font-size:10px;line-height:1.5;max-width:360px;justify-self:center}
}
@media(max-width:360px){
  .direct-promo>.wrap{column-gap:10px}
  .direct-promo-number{min-width:86px}
  .direct-promo-number b{font-size:55px}
  .direct-promo h1{font-size:15px}
  .direct-promo .btn{font-size:11px;padding:11px 8px}
}
@media(prefers-reduced-motion:reduce){.direct-promo .btn{transition:none}.direct-promo .btn:hover{transform:none}}

/* Netlify controls and dialogs remain accessible above the header. */
.direct-arrival .modal{z-index:120}.direct-arrival .header .lang{width:108px}
@media(max-width:640px){.direct-arrival .header .lang{width:82px}}
