/* =========================================
   WELCOME
========================================= */

.welcome{
  min-height:700px;
  padding:100px 0 100px;
  position:relative;
  overflow:hidden;
  background:var(--cream);

  display:grid;
  grid-template-columns:1fr minmax(520px,720px) 1fr;
  align-items:center;
  gap:64px;
}

.welcome-copy{
  position:relative;
  z-index:2;
  width:100%;
  margin:0 auto;
  text-align:center;
}

.welcome h1{
  margin:0 0 30px;

  font-size:30px;
  line-height:1.08;
  font-weight:400;

  text-transform:none;
}

.welcome p{
  max-width:720px;
  margin:0 auto 18px;

  color:#111;

  font-size:15px;
  line-height:1.78;
  letter-spacing:.01em;
}

/* LINK */

.text-link,
.discover{
  position:relative;
  display:inline-flex;

  margin-top:22px;
  padding-bottom:5px;

  color:#111;

  font-size:12px;
  font-weight:600;
  letter-spacing:.1px;
  text-transform:uppercase;
}

.text-link::after,
.discover::after{
  content:"";

  position:absolute;
  left:0;
  bottom:0;

  width:100%;
  height:1px;

  background:var(--red);

  transition:transform .38s ease;
}

.text-link:hover::after,
.discover:hover::after{
  transform:scaleX(1.18);
}

/* =========================================
   WELCOME IMAGES
========================================= */

.welcome-art{
  position:relative;
  z-index:1;
  pointer-events:none;
}

.welcome-art img{
  display:block;

  width:100%;
  height:100%;

  object-fit:cover;

  filter:none;
  opacity:1;

  transition:transform .65s cubic-bezier(.22,.72,.22,1);
}

.welcome-art img:hover{
  transform:scale(1.015);
}

/* LEFT IMAGE */

.welcome-art-left{
  justify-self:end;
  align-self:end;

  width:200px;
  height:250px;

  margin-bottom:-10px;
}

/* RIGHT IMAGE */

.welcome-art-right{
  justify-self:start;
  align-self:start;

  width:200px;
  height:250px;

  margin-top:8px;
}

/* =========================================
   VIDEO SECTION
========================================= */

.video-section{
  position:relative;
  min-height:500px;

  display:flex;
  align-items:center;

  color:#fff;
  overflow:hidden;
}

.video-section video{
  position:absolute;
  inset:0;

  width:100%;
  height:100%;

  object-fit:cover;

  z-index:0;
}

.video-section::before{
  content:"";

  position:absolute;
  inset:0;

  z-index:1;

  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,.68),
      rgba(0,0,0,.38) 52%,
      rgba(0,0,0,.56)
    ),
    rgba(97,54,15,.30);
}

.split{
  position:relative;
  z-index:2;

  display:grid;
  grid-template-columns:1.03fr .97fr;

  gap:110px;
  align-items:center;

  padding:72px 0;
}

.eyebrow{
  display:block;
  margin-bottom:15px;

  font-size:10px;
  font-weight:800;

  letter-spacing:.28em;
  text-transform:uppercase;
}

.split h2{
  font-size:30px;
  line-height:1.38;

  text-transform:none;
}

.split p{
  font-size:14px;
  line-height:1.95;

  color:rgba(255,255,255,.9);
}

/* =========================================
   BRAND
========================================= */

.brand{
  padding:105px 0 88px;
  background:var(--cream);
}

.section-head{
  width:min(690px,86%);
  margin:0 auto 76px;

  text-align:center;
}

.section-head h2{
  font-size:30px;
  text-transform:none;

  margin-bottom:22px;
}

.section-head p{
  font-size:14px;
  line-height:1.9;

  letter-spacing:.012em;
}

/* =========================================
   TABS
========================================= */

.tabs{
  display:grid;
  grid-template-columns:repeat(4,1fr);

  gap:0;
  margin-bottom:28px;

  border-bottom:1px solid var(--line);
}

.tab{
  position:relative;

  appearance:none;
  border:0;
  background:transparent;

  padding:0 0 12px;

  color:#050505;

  font-size:12px;
  line-height:1;
  font-weight:600;

  letter-spacing:.16em;
  text-transform:uppercase;

  transition:color .25s ease;
}

.tab::before{
  content:"";

  position:absolute;
  left:0;
  right:100%;
  bottom:-1px;

  height:1px;

  background:var(--red);

  transition:right .35s ease;
}

.tab.active,
.tab:hover{
  color:var(--red);
}

.tab.active::before,
.tab:hover::before{
  right:0;
}

/* =========================================
   HOTEL GRID
========================================= */

.hotel-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);

  gap:32px 24px;
}

.hotel-card{
  opacity:1;
  transform:translateY(0);

  transition:
    opacity .35s ease,
    filter .35s ease,
    transform .35s ease;
}

.hotel-card.dim{
  opacity:.24;
  filter:grayscale(1);
}

.hotel-card:hover{
  opacity:1;
  filter:none;

  transform:translateY(-4px);
}

.hotel-img{
  height:168px;

  object-fit:cover;

  margin-bottom:12px;

  background:#d6d0c2;
}

.hotel-card h3{
  font-size:20px;
  margin-bottom:8px;
}

.hotel-card p{
  margin:0 0 14px;
  font-size:14px;
}

.discover{
  margin-top:0;
}

/* =========================================
   TABLET
========================================= */

@media(max-width:980px){

  .welcome{
    min-height:auto;
    padding:92px 36px 82px;

    display:grid;
    grid-template-columns:110px 1fr 110px;
    gap:22px;

    align-items:center;
  }

  .welcome h1{
    font-size:34px;
  }

  .welcome p{
    font-size:14px;
    line-height:1.9;
  }

  .welcome-art-left{
    width:110px;
    height:150px;

    margin-bottom:0;
  }

  .welcome-art-right{
    width:110px;
    height:150px;

    margin-top:0;
  }

  .split{
    grid-template-columns:1fr;

    gap:30px;
    padding:64px 0;

    text-align:center;
    justify-items:center;
  }

  .split h2{
    font-size:28px;
  }

  .split h2,
  .split p{
    max-width:680px;
    margin-inline:auto;
  }

  .hotel-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .tabs{
    display:none;
  }

  .hotel-card,
  .hotel-card.dim{
    opacity:1;
    filter:none;
  }

  .section-head,
  .welcome-copy{
    text-align:center;
  }
}

/* =========================================
   MOBILE
========================================= */

@media(max-width:560px){

  .welcome{
    padding:82px 28px 76px;

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px 16px;

    align-items:start;
  }

  .welcome-copy{
    grid-column:1 / -1;
    order:1;

    text-align:center;
  }

  .welcome-art-left{
    grid-column:1;
    order:2;

    justify-self:start;

    width:112px;
    height:145px;

    margin:6px 0 0;
  }

  .welcome-art-right{
    grid-column:2;
    order:3;

    justify-self:end;

    width:112px;
    height:145px;

    margin:6px 0 0;
  }

  .welcome h1{
    margin-bottom:26px;

    font-size:30px;
    line-height:1.06;
  }

  .welcome p{
    max-width:100%;

    font-size:14px;
    line-height:1.9;

    text-align:center;
  }

  .text-link{
    justify-content:center;
  }

  .section-head h2{
    font-size:26px;
  }

  .brand{
    padding:74px 0 65px;
  }

  .section-head{
    margin-bottom:48px;
  }

  .hotel-grid{
    grid-template-columns:1fr;
  }

  .hotel-img{
    height:210px;
  }
}/* =========================================
   WELCOME
========================================= */

.welcome{
  min-height:700px;
  padding:100px 0 100px;
  position:relative;
  overflow:hidden;
  background:var(--cream);

  display:grid;
  grid-template-columns:1fr minmax(520px,720px) 1fr;
  align-items:center;
  gap:64px;
}

.welcome-copy{
  position:relative;
  z-index:2;
  width:100%;
  margin:0 auto;
  text-align:center;
}

.welcome h1{
  margin:0 0 30px;

  font-size:30px;
  line-height:1.08;
  font-weight:400;

  text-transform:none;
}

.welcome p{
  max-width:720px;
  margin:0 auto 18px;

  color:#111;

  font-size:15px;
  line-height:1.78;
  letter-spacing:.01em;
}

/* LINK */

.text-link,
.discover{
  position:relative;
  display:inline-flex;

  margin-top:22px;
  padding-bottom:5px;

  color:#111;

  font-size:12px;
  font-weight:600;
  letter-spacing:.1px;
  text-transform:uppercase;
}

.text-link::after,
.discover::after{
  content:"";

  position:absolute;
  left:0;
  bottom:0;

  width:100%;
  height:1px;

  background:var(--red);

  transition:transform .38s ease;
}

.text-link:hover::after,
.discover:hover::after{
  transform:scaleX(1.18);
}

/* =========================================
   WELCOME IMAGES
========================================= */

.welcome-art{
  position:relative;
  z-index:1;
  pointer-events:none;
}

.welcome-art img{
  display:block;

  width:100%;
  height:100%;

  object-fit:cover;

  filter:none;
  opacity:1;

  transition:transform .65s cubic-bezier(.22,.72,.22,1);
}

.welcome-art img:hover{
  transform:scale(1.015);
}

/* LEFT IMAGE */

.welcome-art-left{
  justify-self:end;
  align-self:end;

  width:200px;
  height:250px;

  margin-bottom:-10px;
}

/* RIGHT IMAGE */

.welcome-art-right{
  justify-self:start;
  align-self:start;

  width:200px;
  height:250px;

  margin-top:8px;
}

/* =========================================
   VIDEO SECTION
========================================= */

.video-section{
  position:relative;
  min-height:500px;

  display:flex;
  align-items:center;

  color:#fff;
  overflow:hidden;
}

.video-section video{
  position:absolute;
  inset:0;

  width:100%;
  height:100%;

  object-fit:cover;

  z-index:0;
}

.video-section::before{
  content:"";

  position:absolute;
  inset:0;

  z-index:1;

  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,.68),
      rgba(0,0,0,.38) 52%,
      rgba(0,0,0,.56)
    ),
    rgba(97,54,15,.30);
}

.split{
  position:relative;
  z-index:2;

  display:grid;
  grid-template-columns:1.03fr .97fr;

  gap:110px;
  align-items:center;

  padding:72px 0;
}

.eyebrow{
  display:block;
  margin-bottom:15px;

  font-size:10px;
  font-weight:800;

  letter-spacing:.28em;
  text-transform:uppercase;
}

.split h2{
  font-size:30px;
  line-height:1.38;

  text-transform:none;
}

.split p{
  font-size:14px;
  line-height:1.95;

  color:rgba(255,255,255,.9);
}

/* =========================================
   BRAND
========================================= */

.brand{
  padding:105px 0 88px;
  background:var(--cream);
}

.section-head{
  width:min(690px,86%);
  margin:0 auto 76px;

  text-align:center;
}

.section-head h2{
  font-size:30px;
  text-transform:none;

  margin-bottom:22px;
}

.section-head p{
  font-size:14px;
  line-height:1.9;

  letter-spacing:.012em;
}

/* =========================================
   TABS
========================================= */

.tabs{
  display:grid;
  grid-template-columns:repeat(4,1fr);

  gap:0;
  margin-bottom:28px;

  border-bottom:1px solid var(--line);
}

.tab{
  position:relative;

  appearance:none;
  border:0;
  background:transparent;

  padding:0 0 12px;

  color:#050505;

  font-size:12px;
  line-height:1;
  font-weight:600;

  letter-spacing:.16em;
  text-transform:uppercase;

  transition:color .25s ease;
}

.tab::before{
  content:"";

  position:absolute;
  left:0;
  right:100%;
  bottom:-1px;

  height:1px;

  background:var(--red);

  transition:right .35s ease;
}

.tab.active,
.tab:hover{
  color:var(--red);
}

.tab.active::before,
.tab:hover::before{
  right:0;
}

/* =========================================
   HOTEL GRID
========================================= */

.hotel-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);

  gap:32px 24px;
}

.hotel-card{
  opacity:1;
  transform:translateY(0);

  transition:
    opacity .35s ease,
    filter .35s ease,
    transform .35s ease;
}

.hotel-card.dim{
  opacity:.24;
  filter:grayscale(1);
}

.hotel-card:hover{
  opacity:1;
  filter:none;

  transform:translateY(-4px);
}

.hotel-img{
  height:168px;

  object-fit:cover;

  margin-bottom:12px;

  background:#d6d0c2;
}

.hotel-card h3{
  font-size:20px;
  margin-bottom:8px;
}

.hotel-card p{
  margin:0 0 14px;
  font-size:14px;
}

.discover{
  margin-top:0;
}

/* =========================================
   TABLET
========================================= */

@media(max-width:980px){

  .welcome{
    min-height:auto;
    padding:92px 36px 82px;

    display:grid;
    grid-template-columns:110px 1fr 110px;
    gap:22px;

    align-items:center;
  }

  .welcome h1{
    font-size:34px;
  }

  .welcome p{
    font-size:14px;
    line-height:1.9;
  }

  .welcome-art-left{
    width:110px;
    height:150px;

    margin-bottom:0;
  }

  .welcome-art-right{
    width:110px;
    height:150px;

    margin-top:0;
  }

  .split{
    grid-template-columns:1fr;

    gap:30px;
    padding:64px 0;

    text-align:center;
    justify-items:center;
  }

  .split h2{
    font-size:28px;
  }

  .split h2,
  .split p{
    max-width:680px;
    margin-inline:auto;
  }

  .hotel-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .tabs{
    display:none;
  }

  .hotel-card,
  .hotel-card.dim{
    opacity:1;
    filter:none;
  }

  .section-head,
  .welcome-copy{
    text-align:center;
  }
}

/* =========================================
   MOBILE
========================================= */

@media(max-width:560px){

  .welcome{
    padding:82px 28px 76px;

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px 16px;

    align-items:start;
  }

  .welcome-copy{
    grid-column:1 / -1;
    order:1;

    text-align:center;
  }

  .welcome-art-left{
    grid-column:1;
    order:2;

    justify-self:start;

    width:112px;
    height:145px;

    margin:6px 0 0;
  }

  .welcome-art-right{
    grid-column:2;
    order:3;

    justify-self:end;

    width:112px;
    height:145px;

    margin:6px 0 0;
  }

  .welcome h1{
    margin-bottom:26px;

    font-size:30px;
    line-height:1.06;
  }

  .welcome p{
    max-width:100%;

    font-size:14px;
    line-height:1.9;

    text-align:center;
  }

  .text-link{
    justify-content:center;
  }

  .section-head h2{
    font-size:26px;
  }

  .brand{
    padding:74px 0 65px;
  }

  .section-head{
    margin-bottom:48px;
  }

  .hotel-grid{
    grid-template-columns:1fr;
  }

  .hotel-img{
    height:210px;
  }
}



/* =========================================
   OUR BRANDS & HOTELS — CARD REDESIGN
   Scoped override only for #brand section
========================================= */

#brand.brand{
  padding:86px 0 112px !important;
  background:var(--cream) !important;
  overflow:hidden !important;
}

#brand .brand-card-container{
  width:min(1080px,86vw) !important;
  margin:0 auto !important;
}

#brand .brand-section-title{
  max-width:820px !important;
  margin:0 auto 52px !important;
  text-align:center !important;
}

#brand .brand-section-title h2{
  margin:0 0 34px !important;
  color:#282828 !important;
  font-size:30px !important;
  line-height:1.08 !important;
  font-weight:400 !important;
  letter-spacing:.015em !important;
  text-transform:none !important;
}

#brand .brand-section-title span{
  display:block !important;
  width:100% !important;
  height:1px !important;
  background:var(--red) !important;
  opacity:.78 !important;
}

#brand .section-head,
#brand .tabs{
  display:none !important;
}

#brand .brand-hotel-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:28px !important;
  width:100% !important;
  margin:0 !important;
}

#brand .brand-hotel-card{
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
  background:#fff !important;
  box-shadow:0 26px 58px rgba(74,55,30,.12) !important;
  overflow:hidden !important;
  opacity:1 !important;
  filter:none !important;
  transform:translateY(0) !important;
  transition:transform .48s cubic-bezier(.22,.72,.22,1), box-shadow .48s ease !important;
}

#brand .brand-hotel-card:hover{
  transform:translateY(-6px) !important;
  box-shadow:0 34px 74px rgba(74,55,30,.18) !important;
}

#brand .brand-hotel-media{
  display:block !important;
  width:100% !important;
  height:285px !important;
  overflow:hidden !important;
  background:#d8d0c4 !important;
}

#brand .brand-hotel-media img,
#brand .brand-hotel-card .hotel-img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  margin:0 !important;
  object-fit:cover !important;
  transition:transform .72s cubic-bezier(.22,.72,.22,1) !important;
}

#brand .brand-hotel-card:hover .brand-hotel-media img{
  transform:scale(1.04) !important;
}

#brand .brand-hotel-content{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  min-height:255px !important;
  padding:28px 44px 30px !important;
  text-align:center !important;
}

#brand .brand-hotel-content h3{
  margin:0 !important;
  color:#282828 !important;
  font-size:30px !important;
  line-height:1.08 !important;
  font-weight:400 !important;
  letter-spacing:.005em !important;
  text-transform:none !important;
}

#brand .brand-card-line{
  display:block !important;
  width:58px !important;
  height:1px !important;
  margin:16px auto 18px !important;
  background:var(--red) !important;
  opacity:.82 !important;
}

#brand .brand-hotel-content p{
  max-width:390px !important;
  min-height:68px !important;
  margin:0 auto 26px !important;
  color:#333 !important;
  font-size:14px !important;
  line-height:1.32 !important;
  letter-spacing:.006em !important;
}

#brand .brand-card-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  margin-top:auto !important;
}

#brand .brand-book,
#brand .brand-detail{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:100px !important;
  height:35px !important;
  padding:0 20px !important;
  border:1px solid var(--red) !important;
  color:var(--red) !important;
  background:transparent !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:500 !important;
  letter-spacing:.075em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  transition:background .35s ease, color .35s ease, transform .35s ease, border-color .35s ease !important;
}

#brand .brand-book{
  background:var(--red) !important;
  color:#fff !important;
}

#brand .brand-book:hover,
#brand .brand-detail:hover{
  transform:translateY(-2px) !important;
}

#brand .brand-book:hover{
  background:#6f0203 !important;
  border-color:#6f0203 !important;
}

#brand .brand-detail:hover{
  background:var(--red) !important;
  color:#fff !important;
}

@media(max-width:1180px){
  #brand .brand-card-container{
    width:min(980px,88vw) !important;
  }

  #brand .brand-hotel-media{
    height:250px !important;
  }

  #brand .brand-hotel-content{
    padding:26px 30px 30px !important;
  }

  #brand .brand-hotel-content h3{
    font-size:27px !important;
  }
}

@media(max-width:820px){
  #brand.brand{
    padding:72px 0 82px !important;
  }

  #brand .brand-card-container{
    width:min(620px,88vw) !important;
  }

  #brand .brand-section-title{
    margin-bottom:38px !important;
  }

  #brand .brand-hotel-grid{
    grid-template-columns:1fr !important;
    gap:26px !important;
  }

  #brand .brand-hotel-media{
    height:270px !important;
  }

  #brand .brand-hotel-content{
    min-height:auto !important;
  }

  #brand .brand-hotel-content p{
    min-height:0 !important;
    line-height:1.55 !important;
  }
}

@media(max-width:560px){
  #brand.brand{
    padding:66px 0 72px !important;
  }

  #brand .brand-card-container{
    width:100% !important;
    padding:0 22px !important;
  }

  #brand .brand-section-title h2{
    margin-bottom:26px !important;
    font-size:30px !important;
  }

  #brand .brand-hotel-grid{
    gap:24px !important;
  }

  #brand .brand-hotel-media{
    height:230px !important;
  }

  #brand .brand-hotel-content{
    padding:25px 22px 28px !important;
  }

  #brand .brand-hotel-content h3{
    font-size:25px !important;
  }

  #brand .brand-card-actions{
    width:100% !important;
    gap:10px !important;
  }

  #brand .brand-book,
  #brand .brand-detail{
    flex:1 1 0 !important;
    min-width:0 !important;
    height:46px !important;
    padding:0 12px !important;
    font-size:13px !important;
    letter-spacing:.06em !important;
  }
}


/* =========================================
   OUR ROOMS — final scoped override
   Width matched to Exclusive Offers section
========================================= */

#brand.brand{
  padding:86px 0 118px !important;
  background:var(--cream) !important;
}

#brand .rooms-card-container{
  width:min(1250px,74vw) !important;
  max-width:none !important;
  margin:0 auto !important;
}

#brand .rooms-section-title{
  width:100% !important;
  max-width:none !important;
  margin:0 auto 52px !important;
  text-align:center !important;
}

#brand .rooms-section-title h2{
  margin:0 0 34px !important;
  color:#282828 !important;
  font-size:30px !important;
  line-height:1.08 !important;
  font-weight:400 !important;
  letter-spacing:.015em !important;
  text-transform:none !important;
}

#brand .rooms-section-title span{
  display:block !important;
  width:100% !important;
  height:1px !important;
  background:var(--red) !important;
  opacity:.78 !important;
}

#brand .rooms-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:28px !important;
  width:100% !important;
  margin:0 !important;
}

#brand .room-card{
  background:#f2ede3 !important;
  box-shadow:0 8px 20px rgba(74,55,30,.045) !important;
  overflow:hidden !important;
  transform:none !important;
}

#brand .room-card:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 12px 28px rgba(74,55,30,.065) !important;
}

#brand .room-card-media{
  height:350px !important;
  width:100% !important;
  display:block !important;
  overflow:hidden !important;
  background:#d8d0c4 !important;
}

#brand .room-card-media img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}

#brand .room-card-content{
  min-height:278px !important;
  padding:28px 56px 30px !important;
  text-align:center !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
}

#brand .room-card-content h3{
  margin:0 !important;
  color:#282828 !important;
  font-size:20px !important;
  line-height:1.08 !important;
  font-weight:400 !important;
  letter-spacing:.005em !important;
  text-transform:none !important;
}

#brand .room-card-content p{
  max-width:430px !important;
  min-height:82px !important;
  margin:0 auto 26px !important;
  color:#333 !important;
  font-size:12px !important;
  line-height:22px !important;
  letter-spacing:.01em !important;
}

#brand .room-card-actions{
  margin-top:auto !important;
}

@media(max-width:1320px){
  #brand .rooms-card-container{
    width:min(1120px,82vw) !important;
  }

  #brand .room-card-media{
    height:350px !important;
  }
}

@media(max-width:980px){
  #brand .rooms-card-container{
    width:min(760px,88vw) !important;
  }

  #brand .rooms-grid{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  #brand .room-card-media{
    height:330px !important;
  }

  #brand .room-card-content{
    min-height:auto !important;
  }

  #brand .room-card-content p{
    min-height:0 !important;
    line-height:1.55 !important;
  }
}

@media(max-width:560px){
  #brand.brand{
    padding:66px 0 72px !important;
  }

  #brand .rooms-card-container{
    width:100% !important;
    padding:0 22px !important;
  }

  #brand .rooms-section-title{
    margin-bottom:38px !important;
  }

  #brand .rooms-section-title h2{
    margin-bottom:26px !important;
    font-size:30px !important;
  }

  #brand .room-card-media{
    height:235px !important;
  }

  #brand .room-card-content{
    padding:25px 22px 28px !important;
  }

  #brand .room-card-content h3{
    font-size:25px !important;
  }
}


/* =========================================
   OUR ROOMS — overlapping red panel layout
   Scoped override only for #brand
========================================= */

#brand.brand{
  position:relative !important;
  overflow:hidden !important;
  padding:86px 0 108px !important;
  background:var(--cream) !important;
  color:#111 !important;
}

#brand *{
  box-sizing:border-box !important;
}

#brand .rooms-showcase{
  width:min(1250px,74vw) !important;
  margin:0 auto !important;
}

#brand .rooms-section-title{
  width:100% !important;
  max-width:none !important;
  margin:0 auto 52px !important;
  text-align:center !important;
}

#brand .rooms-section-title h2{
  margin:0 0 34px !important;
  color:#282828 !important;
  font-size:30px !important;
  line-height:1.08 !important;
  font-weight:400 !important;
  letter-spacing:.015em !important;
  text-transform:none !important;
}

#brand .rooms-section-title span{
  display:block !important;
  width:100% !important;
  height:1px !important;
  background:var(--red) !important;
  opacity:.78 !important;
}

#brand .section-head,
#brand .tabs,
#brand .hotel-grid.brand-hotel-grid{
  display:none !important;
}

#brand .rooms-slider{
  position:relative !important;
  width:100% !important;
  min-height:470px !important;
}

#brand .rooms-slide{
  position:absolute !important;
  inset:0 !important;
  display:grid !important;
  grid-template-columns:minmax(0,68%) minmax(330px,39%) !important;
  align-items:center !important;
  opacity:0 !important;
  visibility:hidden !important;
  transform:translateY(14px) !important;
  transition:opacity .62s ease, transform .62s cubic-bezier(.22,.72,.22,1), visibility .62s ease !important;
  pointer-events:none !important;
}

#brand .rooms-slide.is-active{
  opacity:1 !important;
  visibility:visible !important;
  transform:translateY(0) !important;
  pointer-events:auto !important;
  z-index:2 !important;
}

#brand .rooms-slide-media{
  position:relative !important;
  z-index:1 !important;
  width:100% !important;
  height:470px !important;
  overflow:hidden !important;
  background:#d8d0c4 !important;
  box-shadow:none !important;
}

#brand .rooms-slide-media::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(90deg, rgba(0,0,0,.08), rgba(0,0,0,.02) 48%, rgba(0,0,0,0)) !important;
  pointer-events:none !important;
}

#brand .rooms-slide-media img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  margin:0 !important;
  border:0 !important;
  object-fit:cover !important;
  object-position:center !important;
  transform:scale(1.01) !important;
  transition:transform 1.1s cubic-bezier(.22,.72,.22,1) !important;
}

#brand .rooms-slide.is-active .rooms-slide-media img{
  transform:scale(1) !important;
}

#brand .rooms-slide-panel{
  position:relative !important;
  z-index:3 !important;
  width:100% !important;
  min-height:380px !important;
  margin-left:-95px !important;
  padding:34px 34px 32px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:flex-start !important;
  background:var(--red) !important;
  color:#fff !important;
  box-shadow:none !important;
}

#brand .rooms-slide-panel h3{
  margin:0 !important;
  color:#fff !important;
  font-size:30px !important;
  line-height:1.04 !important;
  font-weight:400 !important;
  letter-spacing:.005em !important;
  text-transform:none !important;
}

#brand .rooms-panel-line{
  display:block !important;
  width:100% !important;
  height:1px !important;
  margin:16px 0 29px !important;
  background:rgba(255,255,255,.46) !important;
}

#brand .rooms-slide-panel p{
  max-width:390px !important;
  margin:0 0 22px !important;
  color:#fff !important;
  font-size:14px !important;
  line-height:1.55 !important;
  letter-spacing:.01em !important;
}

#brand .rooms-view-detail{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:118px !important;
  height:32px !important;
  padding:0 18px !important;
  border:1px solid rgba(255,255,255,.7) !important;
  color:#fff !important;
  background:transparent !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:500 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  transition:background .35s ease, color .35s ease, border-color .35s ease, transform .35s ease !important;
}

#brand .rooms-view-detail:hover{
  background:#fff !important;
  color:var(--red) !important;
  border-color:#fff !important;
  transform:translateY(-2px) !important;
}

#brand .rooms-slider-controls{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:27px !important;
  margin:32px 0 0 !important;
  color:var(--red) !important;
}

#brand .rooms-prev,
#brand .rooms-next{
  position:relative !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  width:54px !important;
  height:22px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  cursor:pointer !important;
  color:transparent !important;
  font-size:0 !important;
  line-height:0 !important;
  transition:opacity .3s ease, transform .3s ease !important;
}

#brand .rooms-prev::before,
#brand .rooms-next::before{
  content:"" !important;
  position:absolute !important;
  top:50% !important;
  left:0 !important;
  right:0 !important;
  height:1px !important;
  background:var(--red) !important;
  transform:translateY(-50%) !important;
}

#brand .rooms-prev::after,
#brand .rooms-next::after{
  content:"" !important;
  position:absolute !important;
  top:50% !important;
  width:7px !important;
  height:7px !important;
  border-top:1px solid var(--red) !important;
  border-right:1px solid var(--red) !important;
}

#brand .rooms-prev::after{
  left:0 !important;
  transform:translateY(-50%) rotate(-135deg) !important;
}

#brand .rooms-next::after{
  right:0 !important;
  transform:translateY(-50%) rotate(45deg) !important;
}

#brand .rooms-prev:hover{
  transform:translateX(-3px) !important;
  opacity:.72 !important;
}

#brand .rooms-next:hover{
  transform:translateX(3px) !important;
  opacity:.72 !important;
}

#brand .rooms-counter{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:55px !important;
  color:var(--red) !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:400 !important;
  letter-spacing:.02em !important;
}

@media(max-width:1320px){
  #brand .rooms-showcase{
    width:min(1120px,82vw) !important;
  }

  #brand .rooms-slide{
    grid-template-columns:minmax(0,68%) minmax(330px,40%) !important;
  }

  #brand .rooms-slide-panel{
    margin-left:-78px !important;
  }
}

@media(max-width:980px){
  #brand.brand{
    padding:78px 0 88px !important;
  }

  #brand .rooms-showcase{
    width:min(760px,88vw) !important;
  }

  #brand .rooms-slider{
    min-height:auto !important;
  }

  #brand .rooms-slide{
    position:relative !important;
    inset:auto !important;
    display:none !important;
    grid-template-columns:1fr !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    pointer-events:auto !important;
  }

  #brand .rooms-slide.is-active{
    display:grid !important;
  }

  #brand .rooms-slide-media{
    height:430px !important;
  }

  #brand .rooms-slide-panel{
    width:calc(100% - 56px) !important;
    min-height:auto !important;
    margin:-72px auto 0 !important;
    padding:32px 34px 34px !important;
  }

  #brand .rooms-slide-panel p{
    max-width:none !important;
  }
}

@media(max-width:560px){
  #brand.brand{
    padding:66px 0 72px !important;
  }

  #brand .rooms-showcase{
    width:100% !important;
    padding:0 22px !important;
  }

  #brand .rooms-section-title{
    margin-bottom:38px !important;
  }

  #brand .rooms-section-title h2{
    margin-bottom:26px !important;
    font-size:30px !important;
  }

  #brand .rooms-slide-media{
    height:310px !important;
  }

  #brand .rooms-slide-panel{
    width:calc(100% - 24px) !important;
    margin:-44px auto 0 !important;
    padding:27px 24px 28px !important;
  }

  #brand .rooms-slide-panel h3{
    font-size:28px !important;
  }

  #brand .rooms-slide-panel p{
    font-size:14px !important;
    line-height:1.55 !important;
  }

  #brand .rooms-slider-controls{
    gap:20px !important;
    margin-top:27px !important;
  }

  #brand .rooms-prev,
  #brand .rooms-next{
    width:44px !important;
  }
}



/* =========================================
   OUR ROOMS — no title underline + mobile swipe polish
========================================= */

#brand .rooms-section-title{
  margin-bottom:44px !important;
}

#brand .rooms-section-title h2{
  margin-bottom:0 !important;
}

#brand .rooms-section-title span{
  display:none !important;
}

#brand .rooms-slider{
  touch-action:pan-y !important;
  -webkit-user-select:none !important;
  user-select:none !important;
}

#brand .rooms-slide-media img{
  -webkit-user-drag:none !important;
  user-select:none !important;
}

@media(max-width:560px){
  #brand .rooms-section-title{
    margin-bottom:34px !important;
  }

  #brand .rooms-section-title h2{
    margin-bottom:0 !important;
  }
}


/* =========================================
   OUR ROOMS — slide motion right-to-left, no fade
   Final override only for #brand room carousel
========================================= */

#brand .rooms-slider{
  position:relative !important;
  width:100% !important;
  min-height:470px !important;
  overflow:hidden !important;
  touch-action:pan-y !important;
}

#brand .rooms-track{
  display:flex !important;
  flex-wrap:nowrap !important;
  width:100% !important;
  transform:translate3d(calc(-100% * var(--rooms-index, 0)),0,0) !important;
  transition:transform .82s cubic-bezier(.22,.72,.22,1) !important;
  will-change:transform !important;
}

#brand .rooms-slide,
#brand .rooms-slide.is-active{
  position:relative !important;
  inset:auto !important;
  flex:0 0 100% !important;
  width:100% !important;
  min-width:100% !important;
  display:grid !important;
  grid-template-columns:minmax(0,68%) minmax(330px,39%) !important;
  align-items:center !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  transition:none !important;
  pointer-events:auto !important;
  z-index:auto !important;
}

#brand .rooms-slide-media img,
#brand .rooms-slide.is-active .rooms-slide-media img{
  transform:scale(1) !important;
  transition:transform .72s cubic-bezier(.22,.72,.22,1) !important;
}

#brand .rooms-slide:hover .rooms-slide-media img{
  transform:scale(1.018) !important;
}

@media(max-width:1320px){
  #brand .rooms-slide,
  #brand .rooms-slide.is-active{
    grid-template-columns:minmax(0,68%) minmax(330px,40%) !important;
  }
}

@media(max-width:980px){
  #brand .rooms-slider{
    min-height:auto !important;
  }

  #brand .rooms-track{
    align-items:flex-start !important;
  }

  #brand .rooms-slide,
  #brand .rooms-slide.is-active{
    display:grid !important;
    grid-template-columns:1fr !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }
}

/* =========================================
   QUIET EDITORIAL LUXURY — CULINARY + FACILITIES
   Scoped section, replacing Exclusive Offers
========================================= */

.ed-experience{
  --ed-bg:var(--cream, #f4efe6);
  --ed-text:#251b16;
  --ed-muted:#5b4a40;
  --ed-red:var(--red, #bc955c);
  --ed-gold:#b69250;
  --ed-line:rgba(37,27,22,.14);

  background:var(--ed-bg);
  color:var(--ed-text);
  overflow:hidden;
}

.ed-section{
  position:relative;
  padding:130px 8vw;
}

.ed-container{
  width:100%;
  max-width:1180px;
  margin:0 auto;
}

.ed-kicker{
  display:block;
  margin-bottom:18px;
  color:var(--ed-red);
  font-size:10px;
  line-height:1.6;
  font-weight:700;
  letter-spacing:.24em;
  text-transform:uppercase;
}

.ed-title{
  margin:0;
  color:var(--ed-text);
  font-size:clamp(34px,4vw,56px);
  line-height:1.12;
  font-weight:400;
  text-transform:none;
}

.ed-lead{
  max-width:560px;
  margin:0;
  color:var(--ed-muted);
  font-size:14px;
  line-height:1.9;
  letter-spacing:.01em;
}

.ed-link{
  position:relative;
  display:inline-flex;
  width:auto;
  margin-top:22px;
  padding-bottom:7px;
  color:var(--ed-red);
  font-size:10px;
  line-height:1;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-decoration:none;
}

.ed-link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:1px;
  background:currentColor;
  transform:scaleX(.42);
  transform-origin:left;
  transition:transform .36s ease;
}

.ed-link:hover::after{
  transform:scaleX(1);
}

.ed-img{
  display:block;
  overflow:hidden;
  background:#e8dfd2;
}

.ed-img img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  transition:transform 1.3s cubic-bezier(.22,.72,.22,1);
}

.ed-img:hover img,
.ed-card:hover .ed-img img{
  transform:scale(1.045);
}

.ed-number{
  display:block;
  color:var(--ed-gold);
  font-size:21px;
  line-height:1;
  font-weight:400;
}

.ed-label{
  display:block;
  margin:12px 0 14px;
  color:var(--ed-red);
  font-size:9px;
  line-height:1.6;
  font-weight:700;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.ed-desc{
  margin:0;
  color:var(--ed-muted);
  font-size:14px;
  line-height:1.78;
  letter-spacing:.01em;
}

/* Culinary */

.ed-culinary{
  padding-bottom:115px;
}

.ed-heading{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:84px;
  align-items:end;
  margin-bottom:78px;
}

.ed-culinary-layout{
  display:grid;
  grid-template-columns:52% 1fr;
  gap:68px;
  align-items:start;
}

.ed-culinary-hero{
  position:sticky;
  top:110px;
}

.ed-culinary-hero .ed-img{
  height:660px;
}

.ed-culinary-hero-text{
  max-width:470px;
  margin-top:34px;
}

.ed-culinary-hero-text h3,
.ed-culinary-item h3,
.ed-facility-item h3{
  margin:0;
  color:var(--ed-text);
  font-size:31px;
  line-height:1.2;
  font-weight:400;
  text-transform:none;
}

.ed-culinary-list{
  padding-top:72px;
}

.ed-culinary-item{
  display:grid;
  grid-template-columns:96px 1fr;
  gap:34px;
  padding:44px 0;
  border-top:1px solid var(--ed-line);
}

.ed-culinary-item:first-child{
  padding-top:0;
  border-top:none;
}

.ed-culinary-item .ed-img{
  height:315px;
  margin-bottom:28px;
}

.ed-culinary-item-content{
  max-width:470px;
}

.ed-culinary-item .ed-number{
  padding-top:8px;
}

/* Facilities */

.ed-facilities{
  padding-top:115px;
  border-top:1px solid var(--ed-line);
}

.ed-facilities-head{
  max-width:720px;
  margin-bottom:78px;
}

.ed-facilities-head .ed-lead{
  margin-top:26px;
}

.ed-facilities-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:38px;
  align-items:start;
}

.ed-facility-item{
  position:relative;
}

.ed-facility-item:nth-child(2){
  margin-top:76px;
}

.ed-facility-item:nth-child(3){
  margin-top:32px;
}

.ed-facility-item .ed-img{
  height:470px;
  margin-bottom:30px;
}

.ed-facility-content{
  padding-right:18px;
}

.ed-facility-topline{
  display:flex;
  align-items:center;
  gap:22px;
  margin-bottom:18px;
}

.ed-facility-topline::after{
  content:"";
  height:1px;
  flex:1;
  background:var(--ed-line);
}

.ed-facility-item h3{
  font-size:29px;
}

@media(max-width:1100px){
  .ed-heading,
  .ed-culinary-layout{
    grid-template-columns:1fr;
    gap:52px;
  }

  .ed-culinary-hero{
    position:relative;
    top:auto;
  }

  .ed-culinary-list{
    padding-top:0;
  }
}

@media(max-width:900px){
  .ed-section{
    padding:88px 22px;
  }

  .ed-heading{
    margin-bottom:56px;
  }

  .ed-culinary-hero .ed-img{
    height:auto;
    aspect-ratio:16/11;
  }

  .ed-culinary-item{
    grid-template-columns:1fr;
    gap:18px;
    padding:42px 0;
  }

  .ed-culinary-item .ed-img{
    height:auto;
    aspect-ratio:16/10;
  }

  .ed-facilities-gallery{
    grid-template-columns:1fr;
    gap:58px;
  }

  .ed-facility-item:nth-child(2),
  .ed-facility-item:nth-child(3){
    margin-top:0;
  }

  .ed-facility-item .ed-img{
    height:auto;
    aspect-ratio:16/10;
  }
}

@media(max-width:575px){
  .ed-title{
    font-size:34px;
  }

  .ed-lead,
  .ed-desc{
    font-size:14px;
  }

  .ed-culinary-hero-text h3,
  .ed-culinary-item h3,
  .ed-facility-item h3{
    font-size:27px;
  }

  .ed-section{
    padding-left:20px;
    padding-right:20px;
  }
}



/* =========================================
   SOULFUL QUIET LUXURY — FINAL UPDATE
   Softer, lighter, same global width as Our Rooms
   Scoped only to .ed-soul-experience
========================================= */

.ed-soul-experience{
  background:var(--cream, #f4efe6) !important;
  color:#251b16 !important;
}

.ed-soul-experience .ed-section{
  padding:108px 0 !important;
}

.ed-soul-experience .ed-container{
  width:min(1250px,74vw) !important;
  max-width:none !important;
  margin:0 auto !important;
}

.ed-soul-experience .ed-kicker{
  margin-bottom:16px !important;
  color:var(--red, #970d12) !important;
  font-size:10px !important;
  font-weight:600 !important;
  letter-spacing:.24em !important;
}

.ed-soul-experience .ed-title{
  color:#251b16 !important;
  font-size:30px !important;
  line-height:1.28 !important;
  font-weight:400 !important;
  letter-spacing:.004em !important;
  text-transform:none !important;
}

.ed-soul-experience .ed-lead,
.ed-soul-experience .ed-desc{
  color:#342a24 !important;
  font-size:14px !important;
  line-height:1.82 !important;
  letter-spacing:.01em !important;
}

.ed-soul-experience .ed-link{
  margin-top:22px !important;
  color:var(--red, #970d12) !important;
  font-size:11px !important;
  font-weight:600 !important;
  letter-spacing:.08em !important;
}

.ed-soul-experience .ed-link::after{
  bottom:-6px !important;
  background:var(--red, #970d12) !important;
  transform:scaleX(.46) !important;
}

.ed-soul-experience .ed-link:hover::after{
  transform:scaleX(1) !important;
}

.ed-soul-experience .ed-img{
  overflow:hidden !important;
  background:#d8d0c4 !important;
}

.ed-soul-experience .ed-img img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  transform:scale(1.01) !important;
  transition:transform 1.2s cubic-bezier(.22,.72,.22,1) !important;
}

.ed-soul-experience .ed-card:hover .ed-img img,
.ed-soul-experience .ed-soul-feature:hover .ed-img img{
  transform:scale(1.035) !important;
}

.ed-soul-heading{
  display:grid !important;
  grid-template-columns:minmax(260px,1fr) minmax(420px,520px) !important;
  align-items:end !important;
  gap:90px !important;
  margin:0 0 54px !important;
}

.ed-soul-heading .ed-lead{
  margin:0 !important;
  max-width:520px !important;
}

/* Culinary */
.ed-soul-culinary{
  padding-bottom:104px !important;
}

.ed-soul-feature{
  display:grid !important;
  grid-template-columns:minmax(0,64%) minmax(330px,36%) !important;
  align-items:center !important;
  gap:44px !important;
  margin-bottom:64px !important;
}

.ed-soul-feature-img{
  height:500px !important;
}

.ed-soul-feature-copy{
  position:relative !important;
  padding:0 0 0 14px !important;
}

.ed-soul-feature-copy::before{
  content:"" !important;
  position:absolute !important;
  left:-26px !important;
  top:2px !important;
  width:1px !important;
  height:100% !important;
  background:rgba(139,3,4,.28) !important;
}

.ed-soul-feature-copy h3,
.ed-soul-item-copy h3,
.ed-soul-facility-copy h3{
  margin:0 !important;
  color:#251b16 !important;
  font-size:30px !important;
  line-height:1.16 !important;
  font-weight:400 !important;
  letter-spacing:.004em !important;
  text-transform:none !important;
}

.ed-soul-experience .ed-label{
  display:block !important;
  margin:0 0 15px !important;
  color:var(--red, #970d12) !important;
  font-size:10px !important;
  font-weight:600 !important;
  letter-spacing:.15em !important;
  line-height:1.65 !important;
  text-transform:uppercase !important;
}

.ed-soul-feature-copy .ed-label,
.ed-soul-item-copy .ed-label,
.ed-soul-facility-copy .ed-label{
  margin-bottom:13px !important;
}

.ed-soul-feature-copy .ed-desc{
  max-width:410px !important;
  margin:17px 0 0 !important;
}

.ed-soul-dining-list{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:34px !important;
  padding-top:42px !important;
  border-top:1px solid rgba(37,27,22,.13) !important;
}

.ed-soul-dining-item{
  display:grid !important;
  grid-template-columns:44% 1fr !important;
  gap:30px !important;
  align-items:center !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
}

.ed-soul-dining-item .ed-img{
  height:270px !important;
}

.ed-soul-item-copy{
  padding-right:10px !important;
}

.ed-soul-item-copy h3{
  font-size:25px !important;
}

.ed-soul-item-copy .ed-desc{
  margin-top:14px !important;
}

/* Facilities */
.ed-soul-facilities{
  padding-top:104px !important;
  border-top:1px solid rgba(37,27,22,.11) !important;
}

.ed-soul-heading-centered{
  margin-bottom:58px !important;
}

.ed-soul-facilities-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:34px !important;
  align-items:start !important;
}

.ed-soul-facility{
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
  transform:none !important;
}

.ed-soul-facility .ed-img{
  height:360px !important;
  margin-bottom:26px !important;
}

.ed-soul-facility-copy{
  position:relative !important;
  padding-top:25px !important;
}

.ed-soul-facility-copy::before{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  width:64px !important;
  height:1px !important;
  background:rgba(139,3,4,.48) !important;
}

.ed-soul-facility-copy h3{
  font-size:27px !important;
}

.ed-soul-facility-copy .ed-desc{
  margin-top:15px !important;
}

/* Remove old numeric styling if any remains */
.ed-soul-experience .ed-number,
.ed-soul-experience .ed-facility-topline{
  display:none !important;
}

@media(max-width:1320px){
  .ed-soul-experience .ed-container{
    width:min(1120px,82vw) !important;
  }
}

@media(max-width:980px){
  .ed-soul-experience .ed-section{
    padding:82px 0 !important;
  }

  .ed-soul-experience .ed-container{
    width:min(760px,88vw) !important;
  }

  .ed-soul-heading,
  .ed-soul-feature{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  .ed-soul-heading{
    text-align:center !important;
    justify-items:center !important;
    margin-bottom:42px !important;
  }

  .ed-soul-heading .ed-lead{
    max-width:680px !important;
  }

  .ed-soul-feature-img{
    height:430px !important;
  }

  .ed-soul-feature-copy{
    max-width:620px !important;
    margin:0 auto !important;
    padding:0 !important;
    text-align:center !important;
  }

  .ed-soul-feature-copy::before{
    display:none !important;
  }

  .ed-soul-feature-copy .ed-desc{
    max-width:none !important;
  }

  .ed-soul-dining-list,
  .ed-soul-facilities-grid{
    grid-template-columns:1fr !important;
    gap:38px !important;
  }

  .ed-soul-dining-item{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }

  .ed-soul-dining-item .ed-img,
  .ed-soul-facility .ed-img{
    height:330px !important;
  }

  .ed-soul-item-copy,
  .ed-soul-facility-copy{
    padding-right:0 !important;
  }
}

@media(max-width:560px){
  .ed-soul-experience .ed-section{
    padding:68px 0 !important;
  }

  .ed-soul-experience .ed-container{
    width:100% !important;
    padding:0 22px !important;
  }

  .ed-soul-experience .ed-title{
    font-size:30px !important;
    line-height:1.24 !important;
  }

  .ed-soul-feature-img,
  .ed-soul-dining-item .ed-img,
  .ed-soul-facility .ed-img{
    height:260px !important;
  }

  .ed-soul-feature{
    margin-bottom:46px !important;
  }

  .ed-soul-dining-list{
    padding-top:34px !important;
  }

  .ed-soul-feature-copy h3,
  .ed-soul-item-copy h3,
  .ed-soul-facility-copy h3{
    font-size:25px !important;
  }
}


/* =========================================
   GALLERY QUIET LUXURY — CULINARY + FACILITIES
   Final update: culinary red, facilities light,
   same width as Our Rooms, no item numbers
   Scoped only to .ed-gallery-experience
========================================= */

.ed-gallery-experience{
  background:var(--cream, #f4efe6) !important;
  color:#251b16 !important;
  overflow:hidden !important;
}

.ed-gallery-experience *{
  box-sizing:border-box !important;
}

.ed-gallery-section{
  position:relative !important;
  padding:104px 0 !important;
}

.ed-gallery-container{
  width:min(1250px,74vw) !important;
  max-width:none !important;
  margin:0 auto !important;
}

.ed-gallery-kicker,
.ed-gallery-label{
  display:block !important;
  font-family:var(--font-body) !important;
  font-size:10px !important;
  line-height:1.6 !important;
  font-weight:600 !important;
  letter-spacing:.22em !important;
  text-transform:uppercase !important;
}

.ed-gallery-kicker{
  margin:0 0 18px !important;
}

.ed-gallery-label{
  margin:0 0 14px !important;
}

.ed-gallery-link,
.ed-gallery-pill{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  color:inherit !important;
  text-decoration:none !important;
  font-family:var(--font-body) !important;
  font-size:11px !important;
  line-height:1 !important;
  font-weight:600 !important;
  letter-spacing:.105em !important;
  text-transform:uppercase !important;
}

.ed-gallery-link{
  margin-top:22px !important;
  padding-bottom:7px !important;
}

.ed-gallery-link::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  bottom:0 !important;
  width:100% !important;
  height:1px !important;
  background:currentColor !important;
  transform:scaleX(.42) !important;
  transform-origin:left !important;
  transition:transform .36s ease !important;
}

.ed-gallery-link:hover::after{
  transform:scaleX(1) !important;
}

.ed-gallery-experience img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  transform:scale(1.01) !important;
  transition:transform 1.15s cubic-bezier(.22,.72,.22,1) !important;
}

.ed-gallery-main-image,
.ed-gallery-accent-image,
.ed-gallery-card-image,
.ed-gallery-facility-image{
  overflow:hidden !important;
  background:#d8d0c4 !important;
}

.ed-gallery-main-image:hover img,
.ed-gallery-accent-image:hover img,
.ed-gallery-dining-card:hover img,
.ed-gallery-facility-card:hover img{
  transform:scale(1.035) !important;
}

/* Culinary red editorial */
.ed-gallery-culinary{
  padding-top:112px !important;
  padding-bottom:118px !important;
  background:#bc955c !important;
  color:#fffaf2 !important;
}

.ed-gallery-culinary::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    radial-gradient(circle at 16% 24%, rgba(255,255,255,.065), transparent 30%),
    linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.12)) !important;
  pointer-events:none !important;
}

.ed-gallery-culinary .ed-gallery-container{
  position:relative !important;
  z-index:2 !important;
}

.ed-gallery-culinary-head{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:start !important;
  gap:48px !important;
  margin:0 0 64px !important;
}

.ed-gallery-culinary .ed-gallery-kicker,
.ed-gallery-culinary .ed-gallery-label{
  color:rgba(255,250,242,.72) !important;
}

.ed-gallery-culinary h2,
.ed-gallery-culinary h3{
  margin:0 !important;
  color:#fffaf2 !important;
  font-family:var(--font-title) !important;
  font-weight:400 !important;
  text-transform:none !important;
}

.ed-gallery-culinary h2{
  max-width:670px !important;
  font-size:clamp(38px,4.9vw,74px) !important;
  line-height:1.04 !important;
  letter-spacing:.002em !important;
}

.ed-gallery-pill{
  min-width:142px !important;
  height:34px !important;
  margin-top:10px !important;
  padding:0 24px !important;
  border:1px solid rgba(255,250,242,.46) !important;
  border-radius:999px !important;
  color:rgba(255,250,242,.88) !important;
  transition:background .35s ease, color .35s ease, border-color .35s ease, transform .35s ease !important;
}

.ed-gallery-pill:hover{
  background:#fffaf2 !important;
  color:#8f0d12 !important;
  border-color:#fffaf2 !important;
  transform:translateY(-1px) !important;
}

.ed-gallery-culinary-main{
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(0,48%) minmax(340px,38%) !important;
  gap:74px !important;
  align-items:end !important;
  min-height:545px !important;
}

.ed-gallery-main-image{
  height:530px !important;
}

.ed-gallery-main-copy{
  position:relative !important;
  z-index:3 !important;
  padding:0 0 42px !important;
}

.ed-gallery-main-copy::before{
  content:"" !important;
  display:block !important;
  width:100% !important;
  height:1px !important;
  margin:0 0 34px !important;
  background:rgba(255,250,242,.34) !important;
}

.ed-gallery-main-copy h3,
.ed-gallery-dining-card h3{
  font-size:32px !important;
  line-height:1.16 !important;
  letter-spacing:.003em !important;
}

.ed-gallery-main-copy p,
.ed-gallery-dining-card p{
  max-width:420px !important;
  margin:22px 0 0 !important;
  color:rgba(255,250,242,.78) !important;
  font-family:var(--font-body) !important;
  font-size:14px !important;
  line-height:1.82 !important;
  letter-spacing:.01em !important;
}

.ed-gallery-culinary .ed-gallery-link{
  color:#fffaf2 !important;
}

.ed-gallery-accent-image{
  position:absolute !important;
  right:0 !important;
  top:12px !important;
  width:160px !important;
  height:200px !important;
}

.ed-gallery-dining-row{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:40px !important;
  margin-top:74px !important;
  padding-top:44px !important;
  border-top:1px solid rgba(255,250,242,.22) !important;
}

.ed-gallery-dining-card{
  display:grid !important;
  grid-template-columns:220px 1fr !important;
  gap:30px !important;
  align-items:center !important;
}

.ed-gallery-card-image{
  height:230px !important;
}

.ed-gallery-dining-card h3{
  font-size:27px !important;
}

.ed-gallery-dining-card p{
  max-width:360px !important;
  margin-top:16px !important;
}

/* Facilities light gallery */
.ed-gallery-facilities{
  padding-top:104px !important;
  padding-bottom:116px !important;
  background:var(--cream, #f4efe6) !important;
  color:#251b16 !important;
}

.ed-gallery-facilities-head{
  display:grid !important;
  grid-template-columns:minmax(260px,1fr) minmax(420px,520px) !important;
  gap:90px !important;
  align-items:end !important;
  margin:0 0 58px !important;
}

.ed-gallery-facilities .ed-gallery-kicker,
.ed-gallery-facilities .ed-gallery-label{
  color:var(--red, #970d12) !important;
}

.ed-gallery-facilities h2,
.ed-gallery-facilities h3{
  margin:0 !important;
  color:#251b16 !important;
  font-family:var(--font-title) !important;
  font-weight:400 !important;
  text-transform:none !important;
}

.ed-gallery-facilities h2{
  font-size:30px !important;
  line-height:1.28 !important;
  letter-spacing:.004em !important;
}

.ed-gallery-facilities-head p{
  margin:0 !important;
  max-width:520px !important;
  color:#342a24 !important;
  font-family:var(--font-body) !important;
  font-size:14px !important;
  line-height:1.82 !important;
  letter-spacing:.01em !important;
}

.ed-gallery-facilities-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:42px !important;
  align-items:start !important;
}

.ed-gallery-facility-card{
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}

.ed-gallery-facility-image{
  height:365px !important;
  margin-bottom:24px !important;
}

.ed-gallery-facility-copy{
  position:relative !important;
  padding-top:20px !important;
}

.ed-gallery-facility-copy::before{
  content:"" !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  width:100% !important;
  height:1px !important;
  background:rgba(37,27,22,.16) !important;
}

.ed-gallery-facility-card h3{
  font-size:28px !important;
  line-height:1.16 !important;
}

.ed-gallery-facility-card p{
  min-height:78px !important;
  margin:16px 0 0 !important;
  color:#342a24 !important;
  font-family:var(--font-body) !important;
  font-size:14px !important;
  line-height:1.76 !important;
  letter-spacing:.01em !important;
}

.ed-gallery-facilities .ed-gallery-link{
  color:var(--red, #970d12) !important;
}

@media(max-width:1320px){
  .ed-gallery-container{
    width:min(1120px,82vw) !important;
  }

  .ed-gallery-culinary-main{
    grid-template-columns:minmax(0,50%) minmax(330px,40%) !important;
    gap:56px !important;
  }

  .ed-gallery-accent-image{
    width:210px !important;
    height:138px !important;
  }
}

@media(max-width:980px){
  .ed-gallery-section{
    padding:82px 0 !important;
  }

  .ed-gallery-container{
    width:min(760px,88vw) !important;
  }

  .ed-gallery-culinary-head,
  .ed-gallery-facilities-head{
    grid-template-columns:1fr !important;
    gap:24px !important;
    text-align:center !important;
    justify-items:center !important;
    margin-bottom:44px !important;
  }

  .ed-gallery-culinary h2{
    font-size:44px !important;
  }

  .ed-gallery-culinary-main{
    display:block !important;
    min-height:auto !important;
  }

  .ed-gallery-main-image{
    height:430px !important;
  }

  .ed-gallery-main-copy{
    max-width:620px !important;
    margin:34px auto 0 !important;
    padding:0 !important;
    text-align:center !important;
  }

  .ed-gallery-main-copy::before{
    width:92px !important;
    margin:0 auto 28px !important;
  }

  .ed-gallery-accent-image{
    display:none !important;
  }

  .ed-gallery-dining-row,
  .ed-gallery-facilities-grid{
    grid-template-columns:1fr !important;
    gap:38px !important;
  }

  .ed-gallery-dining-card{
    grid-template-columns:1fr !important;
    gap:22px !important;
    text-align:left !important;
  }

  .ed-gallery-card-image,
  .ed-gallery-facility-image{
    height:330px !important;
  }

  .ed-gallery-facility-card p{
    min-height:0 !important;
  }
}

@media(max-width:560px){
  .ed-gallery-section{
    padding:68px 0 !important;
  }

  .ed-gallery-container{
    width:100% !important;
    padding:0 22px !important;
  }

  .ed-gallery-culinary h2{
    font-size:35px !important;
    line-height:1.12 !important;
  }

  .ed-gallery-facilities h2{
    font-size:30px !important;
    line-height:1.24 !important;
  }

  .ed-gallery-main-image,
  .ed-gallery-card-image,
  .ed-gallery-facility-image{
    height:260px !important;
  }

  .ed-gallery-main-copy h3,
  .ed-gallery-dining-card h3,
  .ed-gallery-facility-card h3{
    font-size:25px !important;
  }

  .ed-gallery-dining-row{
    margin-top:52px !important;
    padding-top:34px !important;
  }
}


/* =========================================================
   FINAL UPDATE — OUR ROOMS INFINITE LOOP + ROOM INFO BAR
   Scoped only to #brand to avoid changing other sections
========================================================= */

#brand.brand{
  padding:86px 0 108px !important;
}

#brand .rooms-showcase{
  width:min(1250px,74vw) !important;
  margin:0 auto !important;
}

#brand .rooms-section-title h2,
.video-section .split h2,
.ed-gallery-culinary h2,
.ed-gallery-facilities h2{
  font-size:30px !important;
}

#brand .rooms-section-title h2{
  margin-bottom:0 !important;
  line-height:1.12 !important;
}

#brand .rooms-slider{
  min-height:500px !important;
  overflow:hidden !important;
}

#brand .rooms-track{
  display:flex !important;
  flex-wrap:nowrap !important;
  width:100% !important;
  transform:translate3d(calc(-100% * var(--rooms-index, 1)),0,0) !important;
  transition:transform .82s cubic-bezier(.22,.72,.22,1) !important;
  will-change:transform !important;
}

#brand .rooms-track.is-resetting{
  transition:none !important;
}

#brand .rooms-slide,
#brand .rooms-slide.is-active{
  position:relative !important;
  inset:auto !important;
  flex:0 0 100% !important;
  width:100% !important;
  min-width:100% !important;
  display:grid !important;
  grid-template-columns:minmax(0,66%) minmax(360px,40%) !important;
  align-items:center !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  transition:none !important;
  pointer-events:auto !important;
}

#brand .rooms-slide-media{
  height:500px !important;
}

#brand .rooms-slide-panel{
  min-height:404px !important;
  margin-left:-90px !important;
  padding:42px 44px 40px !important;
  justify-content:center !important;
  background:var(--red, #970d12) !important;
}

#brand .rooms-slide-panel h3{
  color:#fff !important;
  font-size:30px !important;
  line-height:1.05 !important;
  margin:0 0 18px !important;
}

#brand .rooms-meta{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex-wrap:wrap !important;
  gap:10px 20px !important;
  padding:12px 0 13px !important;
  border-top:1px solid rgba(255,255,255,.48) !important;
  border-bottom:1px solid rgba(255,255,255,.48) !important;
}

#brand .rooms-meta-item{
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  color:#fff !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:600 !important;
  letter-spacing:.075em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

#brand .rooms-meta-item svg{
  width:16px !important;
  height:16px !important;
  flex:0 0 16px !important;
  stroke:currentColor !important;
  fill:none !important;
  stroke-width:1.6 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  opacity:.9 !important;
}

#brand .rooms-panel-line{
  display:none !important;
}

#brand .rooms-slide-panel p{
  max-width:440px !important;
  margin:18px 0 28px !important;
  color:rgba(255,255,255,.9) !important;
  font-size:14px !important;
  line-height:1.56 !important;
  letter-spacing:.005em !important;
}

#brand .rooms-panel-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:34px !important;
  width:100% !important;
}

#brand .rooms-book-now,
#brand .rooms-view-detail{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:46px !important;
  color:#fff !important;
  background:transparent !important;
  font-size:14px !important;
  line-height:1 !important;
  font-weight:500 !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  transition:background .32s ease, color .32s ease, border-color .32s ease, transform .32s ease, opacity .32s ease !important;
}

#brand .rooms-book-now{
  min-width:186px !important;
  padding:0 28px !important;
  border:1px solid rgba(255,255,255,.74) !important;
}

#brand .rooms-view-detail{
  position:relative !important;
  min-width:auto !important;
  height:auto !important;
  padding:0 0 9px !important;
  border:0 !important;
}

#brand .rooms-view-detail::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:1px !important;
  background:rgba(255,255,255,.82) !important;
  transform:scaleX(.78) !important;
  transform-origin:center !important;
  transition:transform .32s ease, background .32s ease !important;
}

#brand .rooms-book-now:hover{
  background:#fff !important;
  color:var(--red, #970d12) !important;
  border-color:#fff !important;
  transform:translateY(-2px) !important;
}

#brand .rooms-view-detail:hover{
  color:#fff !important;
  transform:translateY(-2px) !important;
}

#brand .rooms-view-detail:hover::after{
  transform:scaleX(1) !important;
  background:#fff !important;
}

#brand .rooms-slider-controls{
  margin-top:34px !important;
}

.ed-gallery-main-copy h3,
.ed-gallery-dining-card h3,
.ed-gallery-facility-card h3{
  font-size:20px !important;
  line-height:1.22 !important;
}

.ed-gallery-pill,
.ed-gallery-link{
  letter-spacing:.06em !important;
}

@media(max-width:1320px){
  #brand .rooms-showcase{
    width:min(1120px,82vw) !important;
  }

  #brand .rooms-slide{
    grid-template-columns:minmax(0,66%) minmax(350px,41%) !important;
  }

  #brand .rooms-slide-panel{
    margin-left:-76px !important;
    padding:40px 38px !important;
  }
}

@media(max-width:980px){
  #brand.brand{
    padding:78px 0 88px !important;
  }

  #brand .rooms-showcase{
    width:min(760px,88vw) !important;
  }

  #brand .rooms-slider{
    min-height:auto !important;
  }

  #brand .rooms-track{
    align-items:flex-start !important;
  }

  #brand .rooms-slide,
  #brand .rooms-slide.is-active{
    grid-template-columns:1fr !important;
  }

  #brand .rooms-slide-media{
    height:430px !important;
  }

  #brand .rooms-slide-panel{
    width:calc(100% - 56px) !important;
    min-height:auto !important;
    margin:-72px auto 0 !important;
    padding:34px 34px 36px !important;
  }

  #brand .rooms-slide-panel p{
    max-width:none !important;
  }
}

@media(max-width:560px){
  #brand.brand{
    padding:66px 0 72px !important;
  }

  #brand .rooms-showcase{
    width:100% !important;
    padding:0 22px !important;
  }

  #brand .rooms-section-title{
    margin-bottom:34px !important;
  }

  #brand .rooms-section-title h2{
    font-size:30px !important;
  }

  #brand .rooms-slide-media{
    height:310px !important;
  }

  #brand .rooms-slide-panel{
    width:calc(100% - 18px) !important;
    margin:-42px auto 0 !important;
    padding:28px 22px 30px !important;
  }

  #brand .rooms-slide-panel h3{
    font-size:30px !important;
  }

  #brand .rooms-meta{
    gap:10px 14px !important;
  }

  #brand .rooms-meta-item{
    font-size:10px !important;
    letter-spacing:.055em !important;
  }

  #brand .rooms-meta-item svg{
    width:14px !important;
    height:14px !important;
    flex-basis:14px !important;
  }

  #brand .rooms-slide-panel p{
    margin-top:17px !important;
    font-size:14px !important;
    line-height:1.58 !important;
  }

  #brand .rooms-panel-actions{
    gap:18px !important;
    align-items:center !important;
    justify-content:space-between !important;
  }

  #brand .rooms-book-now{
    min-width:145px !important;
    height:44px !important;
    padding:0 18px !important;
    font-size:13px !important;
  }

  #brand .rooms-view-detail{
    font-size:13px !important;
  }

  .ed-gallery-main-copy h3,
  .ed-gallery-dining-card h3,
  .ed-gallery-facility-card h3{
    font-size:20px !important;
  }
}

/* =========================================
   FINAL FIX — View Detail hover + accurate icons
   Scoped only to current sections
========================================= */
#brand .rooms-view-detail,
#brand .rooms-view-detail:visited,
#brand .rooms-view-detail:hover,
#brand .rooms-view-detail:focus,
#brand .rooms-view-detail:active{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:0 !important;
  width:auto !important;
  height:auto !important;
  padding:0 0 9px !important;
  margin:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  color:#fff !important;
  transform:none !important;
  opacity:1 !important;
}

#brand .rooms-view-detail::before{
  display:none !important;
  content:none !important;
}

#brand .rooms-view-detail::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  right:auto !important;
  bottom:0 !important;
  width:74% !important;
  height:1px !important;
  background:rgba(255,255,255,.82) !important;
  transform:translateX(-50%) scaleX(1) !important;
  transform-origin:center !important;
  transition:width .34s cubic-bezier(.22,.72,.22,1), background .34s ease !important;
}

#brand .rooms-view-detail:hover::after,
#brand .rooms-view-detail:focus::after{
  width:100% !important;
  background:#fff !important;
}

#brand .rooms-meta-item svg{
  width:17px !important;
  height:17px !important;
  flex:0 0 17px !important;
  stroke:rgba(255,255,255,.92) !important;
  stroke-width:1.55 !important;
  fill:none !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.ed-gallery-facility-icon{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:36px !important;
  height:36px !important;
  margin:0 0 18px !important;
  color:var(--red, #970d12) !important;
  border:1px solid rgba(151,13,18,.26) !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.28) !important;
}

.ed-gallery-facility-icon svg{
  width:19px !important;
  height:19px !important;
  display:block !important;
  stroke:currentColor !important;
  stroke-width:1.45 !important;
  fill:none !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.ed-gallery-facility-copy{
  padding-top:24px !important;
}

.ed-gallery-facility-copy h3{
  margin-top:0 !important;
}

@media(max-width:560px){
  #brand .rooms-view-detail,
  #brand .rooms-view-detail:hover,
  #brand .rooms-view-detail:focus{
    padding-bottom:8px !important;
    font-size:13px !important;
  }

  #brand .rooms-meta-item svg{
    width:15px !important;
    height:15px !important;
    flex-basis:15px !important;
  }

  .ed-gallery-facility-icon{
    width:34px !important;
    height:34px !important;
    margin-bottom:16px !important;
  }
}


/* =========================================
   FINAL POLISH — View Detail underline,
   image zoom inside frame, fade-in-up all objects
   Scoped, non-invasive overrides
========================================= */

/* View Detail: text link only, subtle underline hover */
#brand .rooms-view-detail,
#brand .rooms-view-detail:link,
#brand .rooms-view-detail:visited{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:0 !important;
  width:auto !important;
  height:auto !important;
  padding:0 0 10px !important;
  margin:0 !important;
  border:0 !important;
  outline:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:500 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  transform:none !important;
  transition:opacity .32s ease !important;
}

#brand .rooms-view-detail::before{
  display:none !important;
  content:none !important;
}

#brand .rooms-view-detail::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:auto !important;
  bottom:0 !important;
  width:100% !important;
  height:1px !important;
  background:rgba(255,255,255,.86) !important;
  transform:scaleX(.52) !important;
  transform-origin:left center !important;
  transition:transform .42s cubic-bezier(.22,.72,.22,1), opacity .42s ease !important;
  opacity:.9 !important;
}

#brand .rooms-view-detail:hover,
#brand .rooms-view-detail:focus,
#brand .rooms-view-detail:active{
  background:transparent !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:none !important;
  transform:none !important;
  opacity:.92 !important;
}

#brand .rooms-view-detail:hover::after,
#brand .rooms-view-detail:focus::after{
  transform:scaleX(1) !important;
  opacity:1 !important;
}

#brand .rooms-panel-actions{
  align-items:center !important;
  gap:44px !important;
}

/* Image zoom: only image scales, frame stays still */
.welcome-art,
#brand .rooms-slide-media,
.ed-gallery-main-image,
.ed-gallery-accent-image,
.ed-gallery-card-image,
.ed-gallery-facility-image{
  overflow:hidden !important;
}

.welcome-art img,
#brand .rooms-slide-media img,
.ed-gallery-main-image img,
.ed-gallery-accent-image img,
.ed-gallery-card-image img,
.ed-gallery-facility-image img{
  transform:scale(1) !important;
  transition:transform 1.05s cubic-bezier(.22,.72,.22,1), filter .8s ease !important;
  will-change:transform !important;
}

.welcome-art:hover img,
#brand .rooms-slide:hover .rooms-slide-media img,
.ed-gallery-main-image:hover img,
.ed-gallery-accent-image:hover img,
.ed-gallery-dining-card:hover .ed-gallery-card-image img,
.ed-gallery-facility-card:hover .ed-gallery-facility-image img{
  transform:scale(1.045) !important;
}

/* Fade-in-up motion for every main section and object */
.fadein-up{
  opacity:0;
  transform:translate3d(0,26px,0);
  transition:
    opacity .86s cubic-bezier(.22,.72,.22,1) var(--fade-delay, 0ms),
    transform .86s cubic-bezier(.22,.72,.22,1) var(--fade-delay, 0ms) !important;
  will-change:opacity, transform;
}

.fadein-up.is-visible{
  opacity:1;
  transform:translate3d(0,0,0);
}

@media (prefers-reduced-motion: reduce){
  .fadein-up{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }

  .welcome-art img,
  #brand .rooms-slide-media img,
  .ed-gallery-main-image img,
  .ed-gallery-accent-image img,
  .ed-gallery-card-image img,
  .ed-gallery-facility-image img{
    transition:none !important;
  }
}

/* =========================================
   FINAL USER TUNING — room slider, links, buttons, icons
   Scoped only to content page sections
========================================= */
#brand .rooms-track{
  display:flex !important;
  flex-wrap:nowrap !important;
  transform:translate3d(calc(-100% * var(--rooms-index, 0)),0,0) !important;
  transition:transform .82s cubic-bezier(.22,.72,.22,1) !important;
  will-change:transform !important;
}

#brand .rooms-track.is-resetting{
  transition:none !important;
}

#brand .rooms-slide,
#brand .rooms-slide.is-active{
  flex:0 0 100% !important;
  min-width:100% !important;
}

#brand .rooms-book-now{
  border-radius:0 !important;
}

#brand .rooms-view-detail,
#brand .rooms-view-detail:link,
#brand .rooms-view-detail:visited,
#brand .rooms-view-detail:hover,
#brand .rooms-view-detail:focus{
  position:relative !important;
  display:inline-flex !important;
  width:auto !important;
  min-width:0 !important;
  height:auto !important;
  padding:0 0 9px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#fff !important;
  box-shadow:none !important;
  text-decoration:none !important;
  transform:none !important;
}

#brand .rooms-view-detail::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:auto !important;
  bottom:0 !important;
  width:100% !important;
  height:1px !important;
  background:rgba(255,255,255,.86) !important;
  transform:scaleX(1) !important;
  transform-origin:center !important;
  transition:transform .42s cubic-bezier(.22,.72,.22,1), opacity .42s ease, background .42s ease !important;
  opacity:.82 !important;
}

#brand .rooms-view-detail:hover::after,
#brand .rooms-view-detail:focus::after{
  transform:scaleX(1.16) !important;
  opacity:1 !important;
  background:#fff !important;
}

.ed-gallery-pill{
  border-radius:0 !important;
}

.ed-gallery-link{
  border-radius:0 !important;
}

.ed-gallery-facility-icon{
  width:42px !important;
  height:42px !important;
  border-radius:50% !important;
  background:rgba(139,3,4,.075) !important;
  border:1px solid rgba(139,3,4,.25) !important;
}

.ed-gallery-facility-icon svg{
  width:22px !important;
  height:22px !important;
  stroke-width:2 !important;
}



/* =========================================
   FINAL FIX — Content Wellness facility icons/names
   Show all 3 cards, flat refined icon style
========================================= */
.ed-gallery-facility-icon{
  width:38px !important;
  height:38px !important;
  border-radius:0 !important;
  border:1px solid rgba(139,3,4,.22) !important;
  background:rgba(139,3,4,.035) !important;
  color:var(--red, #8b0304) !important;
}

.ed-gallery-facility-icon svg{
  width:20px !important;
  height:20px !important;
  stroke-width:1.35 !important;
}

.ed-gallery-facility-copy h3{
  text-transform:none !important;
}


/* FINAL PATCH: Facilities icon removed, Rooms slider manual only */
.ed-gallery-facility-icon{
  display:none !important;
}


/* =========================================
   FINAL PATCH — Room price / area strip
   Background #bc955c, clean lines like reference
   Scoped only to #brand room carousel
========================================= */
#brand .rooms-slide-panel{
  background:#bc955c !important;
  color:#fff !important;
  padding:34px 36px 32px !important;
}

#brand .rooms-slide-panel h3{
  color:#fff !important;
  margin:0 0 18px !important;
}

#brand .rooms-panel-line,
#brand .rooms-meta,
#brand .rooms-specs{
  display:none !important;
}

#brand .rooms-rate-strip{
  width:100% !important;
  display:grid !important;
  grid-template-columns:1.2fr 1fr .72fr !important;
  align-items:center !important;
  gap:22px !important;
  margin:0 0 24px !important;
  padding:14px 0 13px !important;
  border-top:1px solid rgba(255,255,255,.45) !important;
  border-bottom:1px solid rgba(255,255,255,.45) !important;
  color:#fff !important;
}

#brand .rooms-rate-item{
  min-width:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:9px !important;
  color:#fff !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:.105em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

#brand .rooms-rate-item svg{
  flex:0 0 15px !important;
  width:15px !important;
  height:15px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.7 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  opacity:.96 !important;
}

#brand .rooms-rate-item span{
  display:inline-block !important;
  color:inherit !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

#brand .rooms-slide-panel p{
  margin:0 0 24px !important;
  color:rgba(255,255,255,.94) !important;
}

#brand .rooms-book-now{
  border-color:#fff !important;
  background:#fff !important;
  color:#bc955c !important;
}

#brand .rooms-book-now:hover,
#brand .rooms-book-now:focus{
  background:transparent !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.86) !important;
}

#brand .rooms-view-detail,
#brand .rooms-view-detail:link,
#brand .rooms-view-detail:visited,
#brand .rooms-view-detail:hover,
#brand .rooms-view-detail:focus{
  color:#fff !important;
}

#brand .rooms-slider-controls,
#brand .rooms-counter{
  color:#bc955c !important;
}

#brand .rooms-prev::before,
#brand .rooms-next::before{
  background:#bc955c !important;
}

#brand .rooms-prev::after,
#brand .rooms-next::after{
  border-top-color:#bc955c !important;
  border-right-color:#bc955c !important;
}

@media(max-width:1180px){
  #brand .rooms-rate-strip{
    gap:16px !important;
  }

  #brand .rooms-rate-item{
    font-size:11px !important;
    letter-spacing:.075em !important;
  }
}

@media(max-width:980px){
  #brand .rooms-slide-panel{
    padding:31px 32px 34px !important;
  }

  #brand .rooms-rate-strip{
    grid-template-columns:repeat(3,auto) !important;
    justify-content:start !important;
    column-gap:24px !important;
    row-gap:10px !important;
  }
}

@media(max-width:640px){
  #brand .rooms-rate-strip{
    grid-template-columns:1fr !important;
    gap:11px !important;
    padding:14px 0 !important;
  }

  #brand .rooms-rate-item{
    font-size:11px !important;
    letter-spacing:.085em !important;
  }
}

/* =========================================
   CULINARY BALANCE — keep old 1+2 dining layout
   Scoped only to the restaurant cards
========================================= */
.ed-gallery-dining-row{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

.ed-gallery-mood-card p{
  max-width:330px !important;
}

@media(max-width:900px){
  .ed-gallery-dining-row{
    grid-template-columns:1fr !important;
  }
}
