/* =========================================================
   v2.5.25 — site-width, curated photography and homepage hero sync
   ========================================================= */
:root{
  --site-content-width:80%;
  --site-content-max:1400px;
}

/* One shared desktop alignment line: roughly 10% breathing room per side. */
.mg-container,
.mg-page-section,
.mg-services-page .mg-container,
.mg-services-list,
.mg-services-v2-grid,
.mg-contact-page .mg-container,
.mg-contact-enquiry-section,
.mg-contact-v2-page .mg-container,
.mg-amt-page .mg-container,
.mg-gallery-page .mg-container{
  width:min(var(--site-content-width),var(--site-content-max))!important;
  max-width:none!important;
  margin-inline:auto!important;
}

/* Homepage sections do not all use .mg-container, so give those the same frame. */
.mg-rhea-rooms,
.mg-rhea-about,
.mg-rhea-amenities,
.mg-testimonials,
.mg-stay-types,
.mg-rhea-gallery{
  padding-left:10%!important;
  padding-right:10%!important;
}
.mg-rhea-room-grid,
.mg-rhea-room-grid-three,
.mg-trustindex-reviews,
.mg-stay-grid,
.mg-rhea-social-grid{
  width:100%!important;
  max-width:none!important;
}

/* Homepage hero: actual property-first, editorial, aligned to the same 80% frame. */
.mg-home-hero-v3{
  min-height:620px;
  display:flex;
  align-items:flex-end;
  isolation:isolate;
  background:#172033;
}
.mg-home-hero-v3 .mg-rhea-hero-image{
  object-position:center 46%;
  filter:saturate(.92) contrast(1.03);
}
.mg-home-hero-v3 .mg-rhea-hero-overlay{
  background:linear-gradient(90deg,rgba(12,20,32,.84) 0%,rgba(12,20,32,.62) 45%,rgba(12,20,32,.18) 78%,rgba(12,20,32,.06) 100%);
}
.mg-home-hero-inner{
  position:relative;
  z-index:5;
  width:min(var(--site-content-width),var(--site-content-max));
  margin-inline:auto;
  padding:0 0 112px;
  color:#fff;
}
.mg-home-hero-eyebrow{
  display:block;
  width:max-content;
  max-width:100%;
  margin-bottom:18px;
  color:#fff;
  font-family:var(--body);
  font-size:13px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.mg-home-hero-v3 .mg-script{
  width:max-content;
  max-width:100%;
  margin:0 0 -.13em .02em;
  color:#86ddf8;
  font-size:calc(clamp(50px,5vw,76px) + 2px);
  transform:rotate(-3deg);
}
.mg-home-hero-v3 h1{
  max-width:760px;
  margin:0;
  color:#fff;
  font-size:calc(clamp(70px,7.2vw,108px) + 2px);
  line-height:.88;
  text-transform:uppercase;
}
.mg-home-hero-v3 h1 span{
  display:inline-block;
  margin-top:.06em;
  padding:.02em .09em .08em;
  background:var(--red);
  color:#fff;
}
.mg-home-hero-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  margin-top:28px;
  color:rgba(255,255,255,.88);
  font-family:var(--body);
  font-size:12px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.mg-home-hero-meta span{display:inline-flex;align-items:center;gap:10px}
.mg-home-hero-meta span+span:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--blue)}
.mg-home-hero-v3 .mg-rhea-mark{right:2%;bottom:-84px;color:rgba(255,255,255,.08)}

/* Room galleries now contain only verified photos belonging to that room. */
.mg-room-gallery{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important}
.mg-room-gallery .room-gallery-item:first-child:nth-last-child(1){grid-column:1/-1}

@media(max-width:1100px){
  :root{--site-content-width:88%}
  .mg-rhea-rooms,.mg-rhea-about,.mg-rhea-amenities,.mg-testimonials,.mg-stay-types,.mg-rhea-gallery{padding-left:6%!important;padding-right:6%!important}
  .mg-home-hero-inner{padding-bottom:96px}
}

@media(max-width:760px){
  :root{--site-content-width:90%}
  .mg-rhea-rooms,.mg-rhea-about,.mg-rhea-amenities,.mg-testimonials,.mg-stay-types,.mg-rhea-gallery{padding-left:5%!important;padding-right:5%!important}
  .mg-home-hero-v3{min-height:500px}
  .mg-home-hero-v3 .mg-rhea-hero-image{object-position:58% center}
  .mg-home-hero-v3 .mg-rhea-hero-overlay{background:linear-gradient(180deg,rgba(12,20,32,.16) 0%,rgba(12,20,32,.52) 45%,rgba(12,20,32,.88) 100%)}
  .mg-home-hero-inner{padding-bottom:84px}
  .mg-home-hero-eyebrow{font-size:11px;margin-bottom:13px}
  .mg-home-hero-v3 .mg-script{font-size:45px}
  .mg-home-hero-v3 h1{max-width:440px;font-size:calc(clamp(52px,16vw,72px) + 2px)}
  .mg-home-hero-meta{gap:8px 14px;margin-top:20px;font-size:11px;line-height:1.4}
  .mg-home-hero-meta span+span:before{width:3px;height:3px}
  .mg-room-gallery{grid-template-columns:1fr!important}
}

/* Absolutely positioned room hero copy still follows the shared content line. */
.mg-room-hero-content{left:50%!important;right:auto!important;width:min(var(--site-content-width),var(--site-content-max))!important;transform:translateX(-50%)}
@media(max-width:760px){.mg-room-hero-content{left:auto!important;right:auto!important;width:var(--site-content-width)!important;transform:none;margin-inline:auto!important}}

/* =========================================================
   v2.5.25 — curated homepage / about photography
   ========================================================= */
.mg-home-hero-slides,
.mg-home-hero-slide{
  position:absolute;
  inset:0;
}
.mg-home-hero-slides{z-index:0}
.mg-home-hero-slide{
  opacity:0;
  visibility:hidden;
  transition:opacity .9s ease,visibility .9s linear;
}
.mg-home-hero-slide.is-active{
  opacity:1;
  visibility:visible;
}
.mg-home-hero-slide .mg-rhea-hero-image{
  transform:scale(1.015);
}
.mg-home-hero-slide.is-active .mg-rhea-hero-image{
  transform:scale(1);
  transition:transform 6s ease-out;
}
.mg-home-hero-slide:nth-child(2) .mg-rhea-hero-image{object-position:center 52%}
.mg-home-hero-slide:nth-child(4) .mg-rhea-hero-image{object-position:center center}
.mg-home-hero-controls{
  position:absolute;
  right:10%;
  bottom:38px;
  z-index:7;
  display:flex;
  align-items:center;
  gap:9px;
}
.mg-home-hero-dot{
  width:30px;
  height:30px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  cursor:pointer;
  position:relative;
}
.mg-home-hero-dot::before{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:999px;
  background:rgba(255,255,255,.58);
  transition:transform .2s ease,background-color .2s ease;
}
.mg-home-hero-dot.is-active::before{
  background:#fff;
  transform:scale(1.5);
}
.mg-home-hero-dot:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* The supplied homepage collage works best as property photography rather than crop-heavy detail shots. */
.mg-rhea-collage-main,
.mg-rhea-collage-front{object-position:center}
.mg-rhea-amenities>img{object-position:center}

@media(max-width:1100px){
  .mg-home-hero-controls{right:6%}
}
@media(max-width:760px){
  .mg-home-hero-controls{right:5%;bottom:20px;gap:5px}
  .mg-home-hero-dot{width:28px;height:28px}
  .mg-home-hero-slide .mg-rhea-hero-image{object-position:center center}
  .mg-home-hero-slide:nth-child(2) .mg-rhea-hero-image{object-position:center center}
}
@media(prefers-reduced-motion:reduce){
  .mg-home-hero-slide,
  .mg-home-hero-slide .mg-rhea-hero-image,
  .mg-home-hero-dot::before{transition:none!important}
}

/* =========================================================
   v2.5.28 — room presentation + client image refinements
   ========================================================= */

/* Header booking CTA now follows the secondary brand action colour. */
.mg-v22-site-header .mg-v22-book{
  background:var(--blue)!important;
  border-color:var(--blue)!important;
}
.mg-v22-site-header .mg-v22-book:hover,
.mg-v22-site-header .mg-v22-book:focus-visible{
  background:#008fc9!important;
  border-color:#008fc9!important;
  color:#fff!important;
}

/* Homepage Rooms: move away from text-over-image cards to calmer editorial cards. */
.mg-rhea-rooms{
  background:var(--cream);
}
.mg-rhea-rooms .mg-room-intro{
  max-width:690px;
  color:var(--muted);
}
.mg-rhea-room-grid-three{
  gap:24px!important;
  margin-top:42px!important;
}
.mg-rhea-room-grid-three .mg-rhea-room-card{
  aspect-ratio:auto!important;
  min-width:0;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 10px 26px rgba(24,34,53,.055);
  transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease;
}
.mg-rhea-room-grid-three .mg-rhea-room-card>a{
  display:grid;
  grid-template-rows:300px 1fr;
  width:100%!important;
  height:auto!important;
  color:inherit;
  text-decoration:none;
}
.mg-rhea-room-grid-three .mg-rhea-room-card img{
  grid-row:1;
  width:100%!important;
  height:300px!important;
  object-fit:cover;
  transition:transform .5s cubic-bezier(.2,.7,.2,1);
}
.mg-rhea-room-grid-three .mg-rhea-room-shade{display:none!important}
.mg-rhea-room-grid-three .mg-rhea-room-caption{
  position:static!important;
  grid-row:2;
  display:flex;
  flex-direction:column;
  min-height:290px;
  padding:27px 26px 25px;
  color:var(--ink)!important;
  background:#fff;
}
.mg-rhea-room-grid-three .mg-rhea-room-caption h3{
  order:2;
  margin:0 0 10px!important;
  color:var(--ink)!important;
  font-family:var(--display)!important;
  font-size:32px!important;
  font-weight:600!important;
  line-height:1!important;
  text-transform:none!important;
}
.mg-rhea-room-grid-three .mg-room-signature{
  order:1;
  margin:0 0 4px!important;
  color:var(--blue)!important;
  font-size:36px!important;
  line-height:1!important;
}
.mg-rhea-room-grid-three .mg-room-spec-line{
  order:3;
  margin:0 0 14px!important;
  color:var(--muted);
  font-size:12px!important;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.mg-rhea-room-grid-three .mg-rhea-room-caption p{
  order:4;
  max-width:none!important;
  margin:0 0 22px!important;
  color:var(--muted);
  font-size:15px!important;
  line-height:1.65!important;
}
.mg-rhea-room-grid-three .mg-rhea-room-caption strong{
  order:5;
  margin-top:auto!important;
  margin-bottom:16px!important;
  color:var(--red);
  font-size:16px!important;
}
.mg-rhea-room-grid-three .mg-rhea-room-caption em{
  order:6;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  min-height:43px;
  padding:0 17px;
  background:var(--blue);
  color:#fff!important;
  font-size:11px!important;
  font-style:normal;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  transition:background-color .2s ease,transform .2s ease;
}
@media(hover:hover) and (pointer:fine){
  .mg-rhea-room-grid-three .mg-rhea-room-card:hover{
    transform:translateY(-8px);
    border-color:rgba(0,173,239,.32);
    box-shadow:0 22px 46px rgba(24,34,53,.12);
  }
  .mg-rhea-room-grid-three .mg-rhea-room-card:hover img{transform:scale(1.045)}
  .mg-rhea-room-grid-three .mg-rhea-room-card:hover .mg-rhea-room-caption em{background:#008fc9;transform:translateX(3px)}
}

/* Rooms archive: retain four-column density, but make each row feel deliberate. */
.mg-room-grid-eight{
  column-gap:20px!important;
  row-gap:70px!important; /* previous ~20px + requested 50px */
}
.mg-room-card,
.mg-arch-room-card{
  transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease;
}
.mg-room-card-footer .mg-text-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  min-height:40px;
  padding:0 14px;
  background:var(--blue)!important;
  border:1px solid var(--blue);
  color:#fff!important;
  text-decoration:none;
}
@media(hover:hover) and (pointer:fine){
  .mg-room-card:hover,.mg-arch-room-card:hover{
    transform:translateY(-8px);
    border-color:rgba(0,173,239,.30);
    box-shadow:0 20px 44px rgba(24,34,53,.12);
  }
  .mg-room-card:hover img,.mg-arch-room-card:hover img{transform:scale(1.055)}
  .mg-room-card-footer .mg-text-link:hover{background:#008fc9!important;border-color:#008fc9}
}

/* About: two supporting property images give Feel at Home a visual anchor. */
.mg-about-feel-gallery{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
  gap:18px;
  margin-top:44px!important;
}
.mg-about-feel-gallery figure{margin:0;overflow:hidden;background:var(--cream)}
.mg-about-feel-gallery img{
  display:block;
  width:100%;
  height:390px;
  object-fit:cover;
  transition:transform .5s cubic-bezier(.2,.7,.2,1);
}
.mg-about-feel-gallery figure:last-child img{object-position:center 48%}
@media(hover:hover) and (pointer:fine){.mg-about-feel-gallery figure:hover img{transform:scale(1.025)}}

/* Contact: one strong reception image before the form, not a boardroom collage. */
.mg-contact-v2-reception-single{
  grid-template-columns:1fr!important;
}
.mg-contact-v2-reception-single .mg-contact-v2-reception-main{
  grid-column:auto!important;
  height:390px!important;
  object-position:center 48%!important;
}

@media(max-width:1100px){
  .mg-rhea-room-grid-three .mg-rhea-room-card>a{grid-template-rows:320px 1fr}
  .mg-rhea-room-grid-three .mg-rhea-room-card img{height:320px!important}
  .mg-room-grid-eight{row-gap:54px!important}
  .mg-about-feel-gallery img{height:340px}
}

@media(max-width:760px){
  .mg-rhea-room-grid-three{gap:18px!important;margin-top:30px!important}
  .mg-rhea-room-grid-three .mg-rhea-room-card>a{grid-template-rows:auto 1fr}
  .mg-rhea-room-grid-three .mg-rhea-room-card img{height:auto!important;aspect-ratio:4/3!important}
  .mg-rhea-room-grid-three .mg-rhea-room-caption{min-height:0;padding:22px 19px 21px!important}
  .mg-rhea-room-grid-three .mg-rhea-room-caption h3{font-size:29px!important}
  .mg-rhea-room-grid-three .mg-room-signature{font-size:33px!important}
  .mg-rhea-room-grid-three .mg-rhea-room-caption p{display:block!important;font-size:15px!important}
  .mg-rhea-room-grid-three .mg-rhea-room-caption em{width:100%;min-height:46px}
  .mg-room-grid-eight{row-gap:38px!important}
  .mg-room-card-footer .mg-text-link{width:100%;min-height:44px}
  .mg-about-feel-gallery{grid-template-columns:1fr;gap:9px;margin-top:30px!important}
  .mg-about-feel-gallery img{height:auto;aspect-ratio:4/3}
  .mg-about-feel-gallery figure:last-child img{aspect-ratio:16/10}
  .mg-contact-v2-reception-single .mg-contact-v2-reception-main{height:auto!important;aspect-ratio:4/3}
}

@media(prefers-reduced-motion:reduce){
  .mg-rhea-room-grid-three .mg-rhea-room-card,
  .mg-rhea-room-grid-three .mg-rhea-room-card img,
  .mg-rhea-room-grid-three .mg-rhea-room-caption em,
  .mg-room-card,.mg-arch-room-card,.mg-room-card img,
  .mg-about-feel-gallery img{transition:none!important;transform:none!important}
}
