/* =========================================================
   Manasseh v2.5.0 — hospitality architecture layer
   Inspired by the structural discipline of the supplied
   Hotelier reference: shared shell, two-tier header, compact
   page heroes, overlapping availability strip, consistent
   section rhythm, equal-height cards and restrained accents.
   No Bootstrap dependency and no copied template markup.
   ========================================================= */

:root{
  --site-max:1440px;
  --content:1200px;
  --content-narrow:820px;
  --section-space:88px;
  --section-space-sm:64px;
  --radius:0px;
  --shadow-soft:0 16px 44px rgba(24,34,53,.09);
  --shadow-card:0 10px 28px rgba(24,34,53,.07);
  --nav:#7a0004;
}

/* ---------- shared layout primitives ---------- */
.mg-container,
.mg-page-section,
.mg-services-page .mg-container,
.mg-services-list,
.mg-contact-page .mg-container,
.mg-contact-enquiry-section{
  width:min(var(--content),calc(100% - 64px));
  margin-inline:auto;
}
.mg-section,.mg-soft-section,.mg-page-section{padding:var(--section-space) 0}
.mg-soft-section{background:var(--cream)}
.mg-section-heading,.mg-arch-section-heading{max-width:760px;margin:0 0 44px}
.mg-section-heading.mg-centered,.mg-arch-section-heading.mg-centered{margin-left:auto;margin-right:auto;text-align:center}
.mg-section-heading p,.mg-arch-section-heading p{max-width:680px;margin:16px 0 0;color:var(--muted);font-size:16px;line-height:1.75}
.mg-section-heading.mg-centered p,.mg-arch-section-heading.mg-centered p{margin-left:auto;margin-right:auto}
.mg-section-heading h2,.mg-arch-section-heading h2{font-size:calc(clamp(42px,4vw,62px) + 2px);line-height:.96;color:var(--ink);text-transform:none;letter-spacing:-.025em}
.mg-section-heading>.mg-kicker,.mg-arch-section-heading>.mg-kicker{font-size:calc(clamp(34px,3vw,46px) + 2px);margin-bottom:-.18em!important}

/* ---------- header: Hotelier-style structural hierarchy ---------- */
.mg-v22-site-header{background:#fff;box-shadow:0 1px 0 rgba(24,34,53,.08)}
.mg-arch-header-frame{display:grid;grid-template-columns:260px minmax(0,1fr);grid-template-rows:76px 76px;max-width:var(--site-max);margin:0 auto;background:#fff}
.mg-arch-brand{grid-column:1;grid-row:1 / 3;display:flex!important;align-items:center;justify-content:center;padding:20px 28px;border-right:1px solid var(--line);background:#fff}
.mg-arch-brand img{width:190px!important;max-width:100%!important;max-height:106px!important;object-fit:contain}
.mg-arch-contact-strip{grid-column:2;grid-row:1;min-width:0;background:#fff;border-bottom:1px solid var(--line)}
.mg-v22-header-top-inner{width:100%!important;min-height:76px!important;height:76px;margin:0!important;padding:0 36px!important;display:grid!important;grid-template-columns:1.25fr 1fr 1fr auto!important;align-items:center;gap:30px!important}
.mg-v22-info{grid-template-columns:30px minmax(0,1fr)!important;gap:10px!important}
.mg-v22-info-icon,.mg-v22-info-icon svg{width:25px!important;height:25px!important;max-width:25px!important;max-height:25px!important;color:var(--red)!important}
.mg-v22-info-copy strong{font-family:var(--body)!important;font-size:13px!important;font-weight:800!important;letter-spacing:.09em!important;text-transform:uppercase!important;color:var(--ink)!important;line-height:1.15!important}
.mg-v22-info-copy small{margin-top:4px!important;font-family:var(--body)!important;font-size:14px!important;line-height:1.25!important;color:var(--muted)!important;white-space:nowrap}
.mg-v22-socials{gap:10px!important}.mg-v22-socials a{width:28px!important;height:28px!important;font-size:19px!important;color:var(--ink)!important}.mg-v22-socials a:hover{color:var(--red)!important}
.mg-arch-nav-band{grid-column:2;grid-row:2;background:#7a0004!important;min-width:0}
.mg-v22-nav{width:100%!important;min-height:76px!important;height:76px;margin:0!important;padding:0 24px 0 34px;gap:20px!important;background:#7a0004!important}
.mg-v22-menu{justify-content:flex-start!important;gap:clamp(18px,2vw,34px)!important;min-width:0}
.mg-v22-menu a{padding:29px 0 27px!important;font-family:var(--body)!important;font-size:13px!important;font-weight:700!important;letter-spacing:.08em!important;color:#fff!important}
.mg-v22-menu a:after{bottom:20px!important;height:2px!important;background:var(--blue)!important}
.mg-v22-actions{gap:14px!important;margin-left:auto}.mg-v22-search{width:38px!important;height:38px!important}.mg-v22-search svg{width:24px!important;height:24px!important;max-width:24px!important;max-height:24px!important}
.mg-v22-book{min-width:142px!important;min-height:48px!important;padding:14px 22px!important;background:var(--red)!important;border-color:var(--red)!important;font-size:13px!important;letter-spacing:.1em!important}.mg-v22-book:hover{background:var(--red-dark)!important;border-color:var(--red-dark)!important}

/* keep the logo visible when the information strip collapses */
.mg-v22-site-header.mg-gsap-header-ready{position:sticky;top:0}
.mg-v22-site-header.is-compact .mg-arch-header-frame{grid-template-rows:0 70px}
.mg-v22-site-header.is-compact .mg-arch-brand{grid-row:2;padding-block:8px}.mg-v22-site-header.is-compact .mg-arch-brand img{max-height:58px!important;width:142px!important}
.mg-v22-site-header.is-compact .mg-v22-nav{height:70px!important;min-height:70px!important}
.mg-v22-site-header.is-compact .mg-v22-menu a{padding:26px 0 24px!important}.mg-v22-site-header.is-compact .mg-v22-menu a:after{bottom:18px!important}

/* ---------- universal inner page hero ---------- */
.mg-page-hero{min-height:360px;align-items:flex-end;background-position:center 45%;overflow:hidden}
.mg-page-hero:after,.mg-page-hero-overlay{background:linear-gradient(90deg,rgba(15,23,43,.78) 0%,rgba(15,23,43,.50) 48%,rgba(15,23,43,.18) 100%)}
.mg-page-hero .mg-container,.mg-page-hero-content{padding-bottom:58px}
.mg-page-hero-content{max-width:var(--content)}
.mg-page-hero-content>.mg-kicker{color:#86DDF8;font-size:calc(clamp(34px,3vw,46px) + 2px);margin-bottom:-.16em!important}
.mg-page-hero h1{max-width:850px;font-family:var(--display);font-size:calc(clamp(54px,5.7vw,82px) + 2px);font-weight:600;line-height:.92;letter-spacing:-.035em;text-transform:none;color:#fff}
.mg-breadcrumb{display:flex;align-items:center;gap:9px;margin-top:20px;font-family:var(--body);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.mg-breadcrumb a{color:#fff}.mg-breadcrumb a:hover{color:#86DDF8}

/* ---------- availability strip ---------- */
.mg-inquiry-overlap{margin-top:-40px!important;position:relative;z-index:7}
.mg-arch-booking-strip{min-height:112px;padding:18px 20px 18px 24px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft);grid-template-columns:210px minmax(0,1fr);gap:18px 24px;align-items:center}
.mg-inquiry-bar-heading{padding-right:20px;border-right:1px solid var(--line)}
.mg-inquiry-bar-heading svg{width:24px;color:var(--red)}
.mg-inquiry-bar-heading strong{font-family:var(--display);font-size:21px;font-weight:600;color:var(--ink)}
.mg-inquiry-bar-heading small{font-size:12px;letter-spacing:.02em;color:var(--muted)}
.mg-inline-form{grid-template-columns:repeat(4,minmax(120px,1fr)) auto;gap:8px}
.mg-inline-form label span{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--muted)}
.mg-inline-form input,.mg-inline-form select{min-height:46px;padding:10px 11px;border:1px solid var(--line);background:#fff;font-size:14px;color:var(--ink)}
.mg-inline-form .mg-button{min-height:46px;padding-inline:18px;white-space:nowrap}
.mg-form-note{display:none!important}

/* ---------- rooms: equal card anatomy ---------- */
.mg-room-grid{gap:20px}
.mg-room-grid-eight{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.mg-room-card,.mg-arch-room-card{display:flex;flex-direction:column;background:#fff!important;border:1px solid var(--line);box-shadow:var(--shadow-card);overflow:hidden;min-width:0}
.mg-room-card-media{position:relative;overflow:hidden;background:var(--cream)}
.mg-room-card-image{display:block;overflow:hidden}.mg-room-card img,.mg-room-grid-eight .mg-room-card img{width:100%;height:230px!important;object-fit:cover;transition:transform .45s ease}.mg-room-card:hover img{transform:scale(1.035)}
.mg-room-rate{position:absolute;left:0;bottom:0;display:flex;align-items:baseline;gap:4px;padding:9px 12px;background:var(--red);color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.mg-room-rate strong{font-size:15px}.mg-room-rate small{font-size:10px}
.mg-room-card-body{display:flex;flex:1;flex-direction:column;padding:22px 20px 20px!important}
.mg-room-card h3{margin:0 0 13px;font-family:var(--display);font-size:27px!important;font-weight:600;line-height:1.05;letter-spacing:-.02em;color:var(--ink)}
.mg-room-specs{padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;gap:9px}
.mg-room-specs svg{width:15px;height:15px}.mg-room-card-body>p{margin:14px 0 18px;line-height:1.65;font-size:14px;color:var(--muted)}
.mg-room-card-footer{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);align-items:center}.mg-room-card-footer .mg-text-link,.mg-room-book-link{font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.mg-room-card-footer .mg-text-link{color:var(--ink)}.mg-room-book-link{color:var(--red)}

/* ---------- services: repeated section module ---------- */
.mg-services-intro{padding:78px 0 20px;background:#fff}.mg-services-intro-inner{max-width:760px;margin-inline:auto;text-align:center}.mg-services-intro-inner .mg-section-heading{margin-inline:auto}
.mg-services-list{padding:18px 0 94px}
.mg-service-feature{grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:clamp(44px,6vw,84px);padding:72px 0;border-top:1px solid var(--line);align-items:center}
.mg-service-feature:first-child{border-top:0}.mg-service-feature-image{height:440px;overflow:hidden;background:var(--cream)}.mg-service-feature-image img{width:100%;height:100%;object-fit:cover}
.mg-service-feature-copy{max-width:520px}.mg-service-feature-copy>.mg-eyebrow{display:block;margin:0 0 12px;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--blue)}
.mg-service-feature-copy h2{margin:0 0 15px;font-family:var(--display);font-size:calc(clamp(40px,4vw,58px) + 2px);font-weight:600;line-height:.97;letter-spacing:-.025em;color:var(--ink);text-transform:none}.mg-service-feature-copy>p{font-size:16px;line-height:1.75;color:var(--muted)}
.mg-service-facts{margin:24px 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.mg-service-facts span{padding:13px 12px 13px 0;font-size:12px;line-height:1.45;color:var(--ink)}.mg-service-facts span+span{padding-left:12px;border-left:1px solid var(--line)}
.mg-service-actions{gap:10px}.mg-service-detail-toggle{min-height:44px;padding:0 18px;border:1px solid var(--ink);background:#fff;font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--ink)}
.mg-service-detail-panel{margin-top:20px;padding:24px;background:var(--cream);border-left:3px solid var(--blue)}
.mg-services-closing{background:var(--nav);color:#fff;padding:64px 0}.mg-services-closing h2{color:#fff!important}.mg-services-closing p{color:rgba(255,255,255,.72)}

/* ---------- contact ---------- */
.mg-compact-intro{padding:62px 0 32px}.mg-contact-intro .mg-section-heading{margin-bottom:0;max-width:700px}.mg-contact-intro h1{font-size:inherit!important}
.mg-contact-actions-section{padding:0 0 70px}.mg-contact-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mg-contact-action{min-height:142px;padding:22px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 22px rgba(24,34,53,.04)}.mg-contact-action:hover{border-color:var(--blue);transform:translateY(-2px)}.mg-contact-action-primary{background:var(--red);border-color:var(--red);color:#fff}.mg-contact-action svg{width:25px;height:25px}.mg-contact-action span:not(.mg-contact-symbol){font-family:var(--body);font-size:13px!important;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.mg-contact-action strong{font-size:13px;font-weight:500}
.mg-contact-location-grid{gap:64px;align-items:start}.mg-contact-details h2{font-size:calc(clamp(42px,4vw,60px) + 2px);color:var(--ink)}.mg-contact-map-wrap{border:1px solid var(--line);padding:8px;background:#fff}.mg-contact-map-wrap iframe{height:430px}.mg-landmark-directions{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.mg-contact-enquiry-section{max-width:980px!important}.mg-contact-enquiry-form{border:1px solid var(--line)!important;padding:34px!important;box-shadow:var(--shadow-card);background:#fff}.mg-contact-faq-section{padding-top:72px;padding-bottom:72px}

/* ---------- amenities, about, FAQ, gallery ---------- */
.mg-amenity-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.mg-amenity-cards article{min-height:240px;padding:30px 26px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 22px rgba(24,34,53,.04)}.mg-amenity-cards h3{font-family:var(--display);font-size:26px;font-weight:600;text-transform:none;color:var(--ink)}.mg-amenity-cards p{font-size:15px;color:var(--muted)}
.mg-about-intro{gap:72px;align-items:start}.mg-values-grid{gap:14px}.mg-values-grid article{border:1px solid var(--line);box-shadow:0 8px 22px rgba(24,34,53,.04);background:#fff}.mg-values-grid h3{font-size:28px}
.mg-faq-list{width:min(900px,100%)}.mg-faq-list details{background:#fff;border-bottom:1px solid var(--line)}.mg-faq-list summary{padding:20px 0;font-size:16px;font-weight:700;color:var(--ink)}.mg-faq-list details div{padding:0 0 22px;color:var(--muted);font-size:15px}
.mg-gallery-grid{grid-template-columns:repeat(12,1fr);gap:12px}.mg-gallery-item{grid-column:span 4;min-height:310px}.mg-gallery-item:nth-child(1),.mg-gallery-item:nth-child(6){grid-column:span 8}.mg-gallery-item img{width:100%;height:100%;min-height:310px;object-fit:cover}.mg-gallery-item span{left:14px;bottom:14px;background:rgba(255,255,255,.94);padding:8px 10px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}

/* ---------- booking page ---------- */
.mg-arch-book-page{grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);gap:64px;align-items:start}.mg-arch-book-page>div:last-child{border:1px solid var(--line)!important;padding:34px!important;box-shadow:var(--shadow-card);background:#fff}

/* ---------- homepage: align existing approved modules to the same shell ---------- */
.mg-rhea-rooms,.mg-rhea-amenities,.mg-testimonials,.mg-stay-types{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.mg-rhea-room-grid{width:min(var(--content),100%);gap:14px}.mg-rhea-about{padding:var(--section-space) max(32px,calc((100% - var(--content))/2));gap:72px}.mg-rhea-amenities>img{width:min(var(--content),100%)}.mg-rhea-social-grid{width:min(var(--content),100%)}
.mg-rhea-room-card{border:1px solid rgba(255,255,255,.08)}.mg-rhea-room-caption h3{font-family:var(--display);font-size:28px;text-transform:none;letter-spacing:-.02em}.mg-rhea-room-caption span{color:#86DDF8}

/* ---------- buttons and palette roles ---------- */
.mg-button{min-height:46px;padding:0 21px;background:var(--red);font-size:12px;font-weight:800;letter-spacing:.09em}.mg-button:hover{background:var(--red-dark)}.mg-button-blue{background:var(--blue)!important}.mg-button-blue:hover{background:#008fc9!important}.mg-text-link{color:var(--ink)}

/* ---------- footer: preserve approved red signature, normalize width ---------- */
.mg-rhea-footer{padding:50px 32px 24px;background:#8e040f;margin-top:0}.mg-rhea-footer-brand img{width:190px}.mg-rhea-footer-nav{gap:24px;font-size:12px;font-weight:700;letter-spacing:.06em}.mg-footer-book{min-height:40px;display:inline-flex;align-items:center;background:var(--blue);padding:0 18px;font-size:12px;font-weight:800;letter-spacing:.07em}.mg-opening-title{font-family:var(--display);font-size:27px;font-weight:600;text-transform:none}.mg-footer-hours{width:min(820px,100%)}.mg-footer-hours>div{font-size:13px}.mg-rhea-footer-bottom{font-size:12px}

/* ---------- responsive ---------- */
@media(max-width:1180px){
  .mg-arch-header-frame{grid-template-columns:220px minmax(0,1fr)}.mg-arch-brand img{width:160px!important}.mg-v22-header-top-inner{padding-inline:24px!important;gap:20px!important}.mg-v22-reception{display:none!important}.mg-v22-header-top-inner{grid-template-columns:1.25fr 1fr auto!important}.mg-v22-menu{gap:20px!important}.mg-v22-menu a{font-size:12px!important}.mg-v22-book{min-width:126px!important}
  .mg-room-grid-eight{grid-template-columns:repeat(2,minmax(0,1fr))!important}.mg-room-card img,.mg-room-grid-eight .mg-room-card img{height:300px!important}
}
@media(max-width:1050px){
  .mg-arch-header-frame{display:block}.mg-arch-brand{height:96px;border-right:0;border-bottom:1px solid var(--line);padding:12px}.mg-arch-brand img{width:170px!important;max-height:72px!important}.mg-arch-contact-strip{display:none}.mg-arch-nav-band{display:block}.mg-v22-nav{height:68px!important;min-height:68px!important;padding:0 20px}.mg-v22-menu{top:68px!important;left:0!important;right:0!important;background:var(--nav)!important;padding:16px 24px 22px!important}.mg-v22-menu a{font-size:14px!important;padding:14px 8px!important}.mg-v22-site-header.is-compact .mg-arch-header-frame{display:block}.mg-v22-site-header.is-compact .mg-arch-brand{display:none!important}.mg-v22-site-header.is-compact .mg-v22-nav{height:68px!important;min-height:68px!important}
  .mg-arch-booking-strip{grid-template-columns:1fr;padding:20px}.mg-inquiry-bar-heading{padding-right:0;padding-bottom:12px;border-right:0;border-bottom:1px solid var(--line)}.mg-inline-form{grid-template-columns:repeat(2,1fr)}.mg-inline-form .mg-button{grid-column:1/-1}
  .mg-service-feature{grid-template-columns:1fr;gap:30px}.mg-service-feature-reverse .mg-service-feature-image{order:0}.mg-service-feature-image{height:420px}.mg-service-feature-copy{max-width:760px}.mg-contact-location-grid{grid-template-columns:1fr}.mg-arch-book-page{grid-template-columns:1fr}
}
@media(max-width:760px){
  :root{--section-space:64px}.mg-container,.mg-page-section,.mg-services-page .mg-container,.mg-services-list,.mg-contact-page .mg-container,.mg-contact-enquiry-section{width:min(100% - 34px,var(--content))}
  .mg-page-hero{min-height:300px}.mg-page-hero .mg-container,.mg-page-hero-content{padding-bottom:42px}.mg-page-hero h1{font-size:50px}.mg-breadcrumb{font-size:11px}
  .mg-inquiry-overlap{margin-top:0!important}.mg-arch-booking-strip{box-shadow:none;border-width:0 0 1px}.mg-inline-form{grid-template-columns:1fr 1fr}
  .mg-room-grid-eight{grid-template-columns:1fr!important}.mg-room-card img,.mg-room-grid-eight .mg-room-card img{height:270px!important}
  .mg-service-feature{padding:54px 0}.mg-service-feature-image{height:310px}.mg-service-facts{grid-template-columns:1fr}.mg-service-facts span+span{padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .mg-contact-actions{grid-template-columns:1fr 1fr}.mg-contact-action{min-height:126px}.mg-gallery-grid{grid-template-columns:1fr}.mg-gallery-item,.mg-gallery-item:nth-child(1),.mg-gallery-item:nth-child(6){grid-column:auto;min-height:280px}.mg-gallery-item img{min-height:280px}
  .mg-amenity-cards{grid-template-columns:1fr 1fr}.mg-about-intro{grid-template-columns:1fr;gap:32px}.mg-values-grid{grid-template-columns:1fr}.mg-rhea-about{grid-template-columns:1fr;padding:var(--section-space) 24px;gap:36px}
}
@media(max-width:520px){
  .mg-v22-search{display:none!important}.mg-v22-book{min-width:112px!important}.mg-inline-form{grid-template-columns:1fr}.mg-inline-form .mg-button{grid-column:auto}.mg-contact-actions{grid-template-columns:1fr}.mg-amenity-cards{grid-template-columns:1fr}.mg-page-hero h1{font-size:44px}.mg-section-heading h2,.mg-arch-section-heading h2,.mg-service-feature-copy h2{font-size:40px}
}
@media(prefers-reduced-motion:reduce){
  .mg-room-card img,.mg-contact-action,.mg-button{transition:none!important}.mg-room-card:hover img,.mg-contact-action:hover,.mg-button:hover{transform:none!important}
}

/* Homepage lockups use the same restrained hierarchy as inner pages. */
.mg-lockup h2{font-family:var(--display);font-size:calc(clamp(42px,4.4vw,66px) + 2px);font-weight:600;line-height:.94;letter-spacing:-.03em;text-transform:none;color:var(--ink)}
.mg-lockup .mg-script{font-size:calc(clamp(36px,3.4vw,50px) + 2px);margin-bottom:-.18em}
.mg-arch-header-frame{max-width:none}


/* =========================================================
   v2.5.3 — header contact grouping + live-media gallery
   ========================================================= */
.mg-arch-contact-strip .mg-v22-header-top-inner{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:28px!important;
  padding-inline:32px!important;
}
.mg-v22-info-cluster{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:clamp(22px,2.5vw,44px);
  min-width:0;
}
.mg-v22-info-cluster .mg-v22-info{flex:0 0 auto}
.mg-v22-info-cluster .mg-v22-reception{display:grid!important}
.mg-arch-contact-strip .mg-v22-socials{
  display:flex!important;
  align-items:center;
  justify-content:flex-end;
  gap:10px!important;
  margin-left:auto;
  padding-left:20px;
  border-left:1px solid var(--line);
  flex:0 0 auto;
}
.mg-header-socials .mg-social-icon{
  display:grid!important;
  place-items:center;
  width:34px!important;
  height:34px!important;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink)!important;
  text-decoration:none;
  transition:border-color .2s ease,color .2s ease,background .2s ease;
}
.mg-header-socials .mg-social-icon:hover{border-color:var(--blue);color:var(--blue)!important;transform:none!important}
.mg-header-socials .mg-social-icon svg{display:block;width:17px;height:17px;fill:currentColor}
.mg-header-socials .mg-booking-mark{font-family:Arial,Helvetica,sans-serif;font-size:17px;font-weight:800;letter-spacing:-.04em}
.mg-header-socials .is-unconfigured{opacity:.5;cursor:default}
.mg-header-socials .is-unconfigured:hover{border-color:var(--line);color:var(--ink)!important}
.mg-gallery-page-section + .mg-gallery-page-section{border-top:1px solid var(--line)}
.mg-live-gallery-grid{margin-top:8px}
.mg-live-gallery-grid .mg-gallery-item{position:relative;overflow:hidden;background:var(--cream)}
.mg-live-gallery-grid .mg-gallery-item img{transition:transform .45s ease,filter .45s ease}
.mg-live-gallery-grid .mg-gallery-item:hover img{transform:scale(1.025)}
.mg-live-gallery-grid .mg-gallery-item span{box-shadow:0 5px 18px rgba(24,34,53,.08)}
@media(max-width:1280px) and (min-width:1051px){
  .mg-arch-contact-strip .mg-v22-header-top-inner{padding-inline:24px!important;gap:18px!important}
  .mg-v22-info-cluster{gap:22px}
  .mg-v22-info-copy small{font-size:13px!important}
  .mg-header-socials .mg-social-icon{width:31px!important;height:31px!important}
}
@media(max-width:1050px){.mg-v22-info-cluster{display:none}}
@media(prefers-reduced-motion:reduce){
  .mg-live-gallery-grid .mg-gallery-item img,.mg-header-socials .mg-social-icon{transition:none!important}
  .mg-live-gallery-grid .mg-gallery-item:hover img{transform:none!important}
}


/* =========================================================
   v2.5.4 — brand colour + availability/header refinements
   ========================================================= */
.mg-v22-nav-band,.mg-arch-nav-band,.mg-v22-nav{background:#7a0004!important}
.mg-rhea-footer{background:#8e040f!important}
.mg-inquiry-bar--compact{display:grid!important;grid-template-columns:minmax(0,1fr)!important;min-height:92px!important;padding:18px 20px!important;gap:0!important}
.mg-inquiry-bar--compact>.mg-inline-form{width:100%;grid-column:1/-1}
.mg-arch-contact-strip .mg-v22-header-top-inner{justify-content:space-between!important}
.mg-v22-info-cluster{margin-right:auto!important}
.mg-arch-contact-strip .mg-header-socials{margin-left:auto!important}
.mg-rhea-hero h1 span{background:var(--red)!important;color:#fff!important}
@media(max-width:760px){.mg-inquiry-bar--compact{min-height:0!important;padding:18px!important}}

/* =========================================================
   v2.5.5 — expanded section rhythm + footer social signature
   ========================================================= */
:root{--section-space:138px;--section-space-sm:114px}

/* Add roughly 50px more breathing room to content sections.
   Fixed-height hero/header areas intentionally keep their composition. */
.mg-rhea-gallery{padding-top:122px!important;padding-bottom:50px!important}
.mg-group-cta{padding-top:95px!important;padding-bottom:95px!important}
.mg-room-gallery-band{padding-top:90px!important;padding-bottom:90px!important}
.mg-contact-intro{padding-top:112px!important;padding-bottom:82px!important}
.mg-contact-actions-section{padding-top:50px!important;padding-bottom:120px!important}
.mg-contact-faq-section{padding-top:122px!important;padding-bottom:122px!important}

/* Footer */
.mg-rhea-footer{
  position:relative;
  overflow:hidden;
  margin-top:0;
  padding:88px 32px 54px;
  background:#8e040f!important;
}
.mg-footer-crest img{
  width:250px!important;
  max-width:min(250px,70vw)!important;
  max-height:none!important;
  height:auto!important;
  margin:0 auto 28px!important;
  object-fit:contain;
  filter:none!important;
}
.mg-footer-book{
  min-height:42px;
  background:var(--red)!important;
  color:#fff!important;
  border:1px solid var(--red)!important;
  padding:0 20px;
}
.mg-footer-book:hover{background:#cf2f2a!important;border-color:#cf2f2a!important}

.mg-footer-social-rail{
  position:absolute;
  top:72px;
  left:max(24px,calc((100% - var(--content))/2 - 84px));
  width:64px;
  padding:16px 0;
  background:var(--blue);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  z-index:2;
}
.mg-footer-social-icon{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:50%;
  background:#fff;
  color:#8e040f!important;
  box-shadow:0 4px 12px rgba(0,0,0,.10);
  transition:transform .2s ease,box-shadow .2s ease;
}
.mg-footer-social-icon:hover{transform:translateY(-2px);box-shadow:0 7px 16px rgba(0,0,0,.16)}
.mg-footer-social-icon svg{display:block;width:20px;height:20px;fill:currentColor}
.mg-footer-booking-mark{font-family:Arial,Helvetica,sans-serif;font-size:19px;font-weight:800;letter-spacing:-.05em;line-height:1}

@media(max-width:760px){
  :root{--section-space:114px;--section-space-sm:114px}
  .mg-rhea-footer{padding:82px 20px 52px}
  .mg-footer-social-rail{
    position:static;
    width:max-content;
    max-width:100%;
    margin:24px auto 30px;
    padding:12px 16px;
    flex-direction:row;
    justify-content:center;
  }
  .mg-footer-social-icon{width:38px;height:38px}
}
@media(prefers-reduced-motion:reduce){
  .mg-footer-social-icon{transition:none!important}
  .mg-footer-social-icon:hover{transform:none!important}
}


/* =========================================================
   v2.5.6 — optical spacing, aligned home grids, footer rail
   ========================================================= */
:root{
  --section-space:92px;
  --section-space-sm:68px;
}

/* Section rhythm: less empty space before content, slightly more after it.
   This creates a stronger visual pull into each section while preserving
   enough separation before the next content block. */
.mg-section,
.mg-soft-section,
.mg-page-section{
  padding-top:70px!important;
  padding-bottom:94px!important;
}
.mg-rhea-rooms,
.mg-rhea-about,
.mg-rhea-amenities,
.mg-testimonials,
.mg-stay-types,
.mg-rhea-gallery{
  padding-top:70px!important;
  padding-bottom:94px!important;
}
.mg-group-cta,
.mg-room-gallery-band{
  padding-top:64px!important;
  padding-bottom:84px!important;
}
.mg-contact-intro{padding-top:66px!important;padding-bottom:76px!important}
.mg-contact-actions-section{padding-top:22px!important;padding-bottom:84px!important}
.mg-contact-faq-section{padding-top:70px!important;padding-bottom:94px!important}

/* Home page alignment: all card-led sections share the same 1200px visual line. */
.mg-rhea-rooms,
.mg-testimonials,
.mg-stay-types,
.mg-rhea-gallery,
.mg-rhea-amenities{
  padding-left:max(24px,calc((100% - var(--content))/2))!important;
  padding-right:max(24px,calc((100% - var(--content))/2))!important;
}
.mg-rhea-room-grid-three,
.mg-testimonial-grid,
.mg-stay-grid,
.mg-rhea-social-grid{
  width:min(var(--content),100%)!important;
  max-width:var(--content)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.mg-rhea-amenity-strip{max-width:var(--content);margin-left:auto;margin-right:auto}

/* Footer social rail begins exactly at the footer boundary and spans its height.
   Vertical allocation: 40% clear space / 40% icons / 20% clear space. */
.mg-rhea-footer{position:relative!important;overflow:hidden!important}
.mg-footer-social-rail{
  position:absolute!important;
  top:0!important;
  bottom:0!important;
  left:max(24px,calc((100% - var(--content))/2 - 76px))!important;
  width:60px!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  background:var(--blue)!important;
  display:block!important;
  z-index:3;
}
.mg-footer-social-icons{
  position:absolute;
  top:40%;
  left:0;
  width:100%;
  height:40%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-evenly;
  gap:0;
}
.mg-footer-social-icon{
  width:32px!important;
  height:32px!important;
  flex:0 0 32px;
  background:#fff!important;
  color:var(--blue)!important;
  box-shadow:0 3px 9px rgba(0,0,0,.10)!important;
}
.mg-footer-social-icon svg{width:16px!important;height:16px!important}
.mg-footer-booking-mark{font-size:16px!important;color:var(--blue)!important}

@media(max-width:760px){
  :root{--section-space:72px;--section-space-sm:54px}
  .mg-section,.mg-soft-section,.mg-page-section,
  .mg-rhea-rooms,.mg-rhea-about,.mg-rhea-amenities,.mg-testimonials,.mg-stay-types,.mg-rhea-gallery{
    padding-top:52px!important;
    padding-bottom:72px!important;
  }
  .mg-group-cta,.mg-room-gallery-band{padding-top:48px!important;padding-bottom:66px!important}
  .mg-contact-intro{padding-top:50px!important;padding-bottom:60px!important}
  .mg-contact-actions-section{padding-top:16px!important;padding-bottom:64px!important}
  .mg-contact-faq-section{padding-top:52px!important;padding-bottom:72px!important}
  .mg-rhea-rooms,.mg-testimonials,.mg-stay-types,.mg-rhea-gallery,.mg-rhea-amenities{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .mg-rhea-footer{padding-top:104px!important}
  .mg-footer-social-rail{
    top:0!important;
    left:0!important;
    right:0!important;
    bottom:auto!important;
    width:100%!important;
    height:60px!important;
  }
  .mg-footer-social-icons{
    top:0;
    left:30%;
    width:40%;
    height:100%;
    flex-direction:row;
    justify-content:space-evenly;
  }
  .mg-footer-social-icon{width:30px!important;height:30px!important;flex-basis:30px}
  .mg-footer-social-icon svg{width:15px!important;height:15px!important}
}


/* =========================================================
   v2.5.7 — footer rail proportion + static header
   ========================================================= */
/* The social rail starts at the footer edge and occupies 65% of
   the footer height. The icon cluster keeps the established
   40% / 40% / 20% vertical rhythm within the shortened rail. */
.mg-footer-social-rail{
  top:0!important;
  bottom:auto!important;
  height:65%!important;
  background:var(--red)!important;
}
.mg-footer-social-icon{
  color:var(--red)!important;
}
.mg-footer-booking-mark{
  color:var(--red)!important;
}

/* Footer reservation remains the contrasting blue action. */
.mg-footer-book{
  background:var(--blue)!important;
  border-color:var(--blue)!important;
  color:#fff!important;
}
.mg-footer-book:hover{
  background:#008fc9!important;
  border-color:#008fc9!important;
}

/* Header is deliberately static: no scroll collapse, transform,
   animated shadow, or GSAP-ready state. */
.mg-v22-site-header,
.mg-v22-site-header.mg-gsap-header-ready,
.mg-v22-site-header.is-compact,
.mg-v22-site-header.is-scrolled{
  position:relative!important;
  top:auto!important;
  transform:none!important;
  will-change:auto!important;
  transition:none!important;
}
.mg-v22-site-header .mg-v22-header-top,
.mg-v22-site-header .mg-v22-header-top-inner,
.mg-v22-site-header .mg-arch-header-frame,
.mg-v22-site-header .mg-arch-brand,
.mg-v22-site-header .mg-v22-nav,
.mg-v22-site-header .mg-v22-menu a,
.mg-v22-site-header .mg-v22-book{
  transition:none!important;
}
.mg-v22-site-header .mg-v22-menu a:after,
.mg-v22-site-header .mg-v22-socials a{
  transition:none!important;
}
.mg-v22-site-header .mg-v22-socials a:hover{transform:none!important}

@media(max-width:760px){
  /* On mobile the rail remains a horizontal top strip; 65% refers
     to the desktop vertical rail, where footer height is meaningful. */
  .mg-footer-social-rail{
    height:60px!important;
    background:var(--red)!important;
  }
}


/* v2.5.8 — Trustindex Google reviews replace static testimonial cards. */
.mg-trustindex-reviews{
  width:min(var(--content),100%);
  margin:42px auto 0;
}

/* v2.5.11 — four profile icons in header/footer. */
.mg-header-socials{gap:8px!important}
.mg-footer-social-icons{justify-content:space-evenly!important}

/* v2.5.16 — Ways to Stay image refresh */
.mg-stay-grid .mg-stay-card img{display:block;object-fit:cover}
.mg-stay-card-family-stays img{object-position:center 42%}

/* =========================================================
   v2.5.17 — responsive hospitality system
   Mobile is treated as its own composition: fewer columns,
   larger touch targets, calmer motion, preserved image overlap,
   and shorter reading lines instead of scaled-down desktop UI.
   ========================================================= */

/* Prevent long plugin/content strings from forcing horizontal scroll. */
#main-content,
.mg-v22-site-header,
.mg-rhea-footer{max-width:100%;overflow-x:clip}
.mg-container>*{min-width:0}
.mg-button,.mg-v22-book,.mg-footer-book{touch-action:manipulation}
.mg-mobile-menu-socials{display:none}

@media(max-width:1050px){
  /* Header becomes a compact brand row plus a purpose-built mobile nav row. */
  .mg-arch-brand{height:86px!important;padding:10px 18px!important}
  .mg-arch-brand img{width:158px!important;max-height:66px!important}
  .mg-v22-nav{height:64px!important;min-height:64px!important;padding:0 18px!important}
  .mg-v22-actions{width:100%;gap:10px!important}
  .mg-v22-toggle{display:block!important;order:-1;width:48px!important;height:48px!important;flex:0 0 48px}
  .mg-v22-toggle span:not(.screen-reader-text){width:26px!important;margin:5px auto!important}
  .mg-v22-search{margin-left:auto!important}
  .mg-v22-book{min-width:132px!important;min-height:46px!important;padding:12px 18px!important}
  .mg-v22-menu{
    top:64px!important;
    left:-18px!important;
    right:-18px!important;
    max-height:calc(100vh - 150px);
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:10px 18px 18px!important;
    background:var(--nav)!important;
    box-shadow:0 18px 30px rgba(24,9,8,.2)!important;
  }
  .mg-v22-menu li{border-bottom:1px solid rgba(255,255,255,.13)}
  .mg-v22-menu li:last-child{border-bottom:0}
  .mg-v22-menu a{min-height:50px!important;display:flex!important;align-items:center;justify-content:flex-start;padding:0 8px!important;text-align:left!important;font-size:14px!important}
  .mg-v22-menu a:after{display:none!important}
  .mg-mobile-menu-socials{display:flex!important;align-items:center;gap:10px;padding:14px 8px 4px;border-bottom:0!important}
  .mg-mobile-menu-socials a{display:grid!important;place-items:center!important;width:42px;height:42px;min-height:42px!important;padding:0!important;border:1px solid rgba(255,255,255,.25);color:#fff!important}
  .mg-mobile-menu-socials svg{width:18px;height:18px;fill:currentColor}
  .mg-mobile-menu-socials .mg-booking-mark{font:800 15px/1 Arial,sans-serif;color:#fff}
  body.mg-menu-open{overflow:hidden}

  /* Tablet content lines stay readable rather than stretching edge to edge. */
  .mg-container,.mg-page-section,.mg-services-page .mg-container,.mg-services-list,.mg-contact-page .mg-container,.mg-contact-enquiry-section{width:min(var(--content),calc(100% - 44px))}
  .mg-page-hero{min-height:320px}
  .mg-page-hero .mg-container,.mg-page-hero-content{padding-bottom:46px}
  .mg-page-hero h1{font-size:calc(clamp(48px,7.4vw,68px) + 2px)}
  .mg-page-hero-content>.mg-kicker{font-size:calc(clamp(32px,5vw,42px) + 2px)}

  /* Booking/availability controls use two comfortable columns on tablet. */
  .mg-arch-booking-strip{padding:18px!important}
  .mg-inline-form{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .mg-inline-form .mg-button{grid-column:1/-1!important;width:100%}
  .mg-inline-form input,.mg-inline-form select{width:100%;min-width:0}

  /* Single rooms: content first, booking card follows naturally. */
  .mg-room-detail-grid{grid-template-columns:1fr!important;gap:38px!important}
  .mg-sticky-card{position:static!important;top:auto!important}
  .mg-room-sidebar{max-width:620px}
  .mg-room-gallery{grid-template-columns:2fr 1fr 1fr}

  /* About keeps the photo collage character but avoids cramped columns. */
  .mg-about-intro,.mg-story-detail{grid-template-columns:1fr!important;gap:36px!important}
  .mg-about-intro>div:last-child,.mg-story-detail>div:last-child{max-width:760px}

  /* Booking page becomes a clear reading/form sequence. */
  .mg-arch-book-page{grid-template-columns:1fr!important;gap:38px!important}
  .mg-arch-book-page>div:first-child{max-width:720px}

  /* Gallery keeps editorial variation on tablet. */
  .mg-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .mg-gallery-item,.mg-gallery-item:nth-child(1),.mg-gallery-item:nth-child(6),.mg-gallery-item:nth-child(7){grid-column:auto!important;min-height:280px}
  .mg-gallery-item:nth-child(1){grid-column:span 2!important}
  .mg-gallery-item img,.mg-gallery-item:nth-child(1) img,.mg-gallery-item:nth-child(7) img{height:100%!important;min-height:280px!important}
}

@media(max-width:760px){
  :root{--mobile-gutter:17px;--section-space:58px;--section-space-sm:44px}
  html{scroll-padding-top:18px}
  body{font-size:17px;line-height:1.65}
  .mg-container,.mg-page-section,.mg-services-page .mg-container,.mg-services-list,.mg-contact-page .mg-container,.mg-contact-enquiry-section{width:calc(100% - (var(--mobile-gutter) * 2))!important}
  .mg-section,.mg-soft-section,.mg-page-section{padding-top:50px!important;padding-bottom:64px!important}
  .mg-section-heading,.mg-arch-section-heading{margin-bottom:30px!important}
  .mg-section-heading h2,.mg-arch-section-heading h2{font-size:calc(clamp(36px,11vw,46px) + 2px)!important;line-height:.98!important}
  .mg-section-heading p,.mg-arch-section-heading p{font-size:16px!important;line-height:1.72!important}
  .mg-section-heading>.mg-kicker,.mg-arch-section-heading>.mg-kicker{font-size:34px!important}
  .mg-button{min-height:48px;padding-inline:20px;font-size:13px}
  input,select,textarea{font-size:18px!important}

  /* Compact mobile header: hamburger left, Book Now right. */
  .mg-arch-brand{height:78px!important}
  .mg-arch-brand img{width:148px!important;max-height:60px!important}
  .mg-v22-nav{height:62px!important;min-height:62px!important;padding:0 16px!important}
  .mg-v22-actions{justify-content:space-between!important}
  .mg-v22-search{display:none!important}
  .mg-v22-book{margin-left:auto!important;min-width:118px!important;min-height:46px!important;padding:10px 15px!important;font-size:12px!important}
  .mg-v22-menu{top:62px!important;left:-16px!important;right:-16px!important;max-height:calc(100vh - 140px)}

  /* Inner page heroes use the screen efficiently and keep text readable. */
  .mg-page-hero{min-height:270px!important;background-position:center 48%!important}
  .mg-page-hero:after,.mg-page-hero-overlay{background:linear-gradient(90deg,rgba(15,23,43,.82),rgba(15,23,43,.48) 70%,rgba(15,23,43,.20))!important}
  .mg-page-hero .mg-container,.mg-page-hero-content{padding-bottom:34px!important}
  .mg-page-hero h1{font-size:calc(clamp(40px,13vw,52px) + 2px)!important;line-height:.96!important;max-width:92%}
  .mg-page-hero-content>.mg-kicker{font-size:32px!important;margin-bottom:-.12em!important}
  .mg-breadcrumb{margin-top:14px!important;font-size:11px!important;gap:7px!important;flex-wrap:wrap}

  /* Homepage hero: shorter, clearer and anchored to the lower-left. */
  .mg-rhea-hero{min-height:480px!important}
  .mg-rhea-hero-image{object-position:center 44%}
  .mg-rhea-hero-overlay{background:linear-gradient(0deg,rgba(10,15,24,.78) 0%,rgba(10,15,24,.34) 48%,rgba(10,15,24,.06) 100%)!important}
  .mg-rhea-hero-copy{left:var(--mobile-gutter)!important;right:var(--mobile-gutter)!important;bottom:42px!important;top:auto!important;width:auto!important;transform:none!important}
  .mg-rhea-hero-copy .mg-script{font-size:calc(clamp(42px,14vw,58px) + 2px)!important;margin-left:0!important;margin-bottom:-.12em!important}
  .mg-rhea-hero h1{font-size:calc(clamp(52px,16vw,70px) + 2px)!important;line-height:.86!important;max-width:330px}
  .mg-rhea-mark{display:none}

  /* Availability becomes a vertical task flow on phones. */
  .mg-home-inquiry{width:100%!important}
  .mg-inquiry-overlap{margin-top:0!important}
  .mg-arch-booking-strip,.mg-inquiry-bar--compact{padding:18px var(--mobile-gutter)!important;border-left:0!important;border-right:0!important;box-shadow:none!important}
  .mg-inline-form{grid-template-columns:1fr!important;gap:12px!important}
  .mg-inline-form label{gap:6px!important}
  .mg-inline-form label span{font-size:12px!important}
  .mg-inline-form input,.mg-inline-form select{min-height:50px!important;padding:11px 12px!important;background:#fff!important;border:1px solid var(--line)!important}
  .mg-inline-form .mg-button{grid-column:auto!important;min-height:50px!important;margin-top:2px}

  /* Homepage section rhythm is left-aware, while cards still line up. */
  .mg-rhea-rooms,.mg-rhea-about,.mg-rhea-amenities,.mg-testimonials,.mg-stay-types,.mg-rhea-gallery{padding-top:50px!important;padding-bottom:64px!important}
  .mg-rhea-rooms,.mg-testimonials,.mg-stay-types,.mg-rhea-gallery,.mg-rhea-amenities{padding-left:var(--mobile-gutter)!important;padding-right:var(--mobile-gutter)!important}
  .mg-lockup{align-items:flex-start!important;text-align:left!important}
  .mg-lockup .mg-script{font-size:36px!important;margin-bottom:-.14em!important}
  .mg-lockup h2{font-size:calc(clamp(40px,12vw,50px) + 2px)!important;line-height:.94!important}
  .mg-room-intro,.mg-rhea-amenities>p{width:100%!important;margin:18px 0 26px!important;text-align:left!important;font-size:16px!important;line-height:1.7!important}

  /* Home rooms: one immersive card per row; captions stay readable. */
  .mg-rhea-room-grid-three{grid-template-columns:1fr!important;gap:14px!important;margin-top:30px!important;max-width:none!important}
  .mg-rhea-room-card{aspect-ratio:4/5!important;min-height:0}
  .mg-rhea-room-shade{inset:28% 0 0!important}
  .mg-rhea-room-caption{left:18px!important;right:18px!important;bottom:18px!important}
  .mg-rhea-room-caption h3{font-size:31px!important}
  .mg-room-signature{font-size:36px!important}
  .mg-room-spec-line{font-size:13px!important;line-height:1.5!important}
  .mg-rhea-room-caption p{font-size:14px!important;line-height:1.5!important;max-width:100%!important}
  .mg-rhea-room-caption strong{font-size:15px!important}
  .mg-rhea-room-caption em{font-size:12px!important}

  /* Homepage About retains its asymmetric overlapping-photo identity. */
  .mg-rhea-about{grid-template-columns:1fr!important;gap:32px!important;padding-left:var(--mobile-gutter)!important;padding-right:var(--mobile-gutter)!important}
  .mg-rhea-collage{min-height:305px!important}
  .mg-rhea-collage-main{width:82%!important;height:250px!important}
  .mg-rhea-collage-front{width:52%!important;height:168px!important;left:auto!important;right:0!important;top:132px!important;border-width:7px!important}
  .mg-rhea-about-copy{max-width:none!important}
  .mg-rhea-about-copy p{margin:20px 0 24px!important;font-size:16px!important}
  .mg-watermark{font-size:calc(9rem + 2px)!important;right:-4%!important;top:42%!important}

  /* Home amenities: image + overlapping 2-column utility strip. */
  .mg-rhea-amenities{text-align:left!important}
  .mg-rhea-amenities>img{height:270px!important;margin-top:24px!important}
  .mg-rhea-amenity-strip{width:calc(100% - 18px)!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;margin:-24px auto 28px!important;box-shadow:0 12px 30px rgba(24,34,53,.09)!important}
  .mg-rhea-amenity-strip div{min-height:92px;padding:16px 8px!important;border-bottom:1px solid var(--line);font-size:13px!important;text-align:center}
  .mg-rhea-amenity-strip div:nth-child(2n){border-right:0!important}
  .mg-rhea-amenity-strip svg{width:22px!important;height:22px!important}

  /* Plugin reviews are constrained, never allowed to widen the page. */
  .mg-trustindex-reviews{width:100%!important;max-width:100%!important;margin-top:28px!important;overflow:hidden}
  .mg-trustindex-reviews iframe,.mg-trustindex-reviews>div{max-width:100%!important}

  /* Ways to Stay cards get generous image ratios and readable copy. */
  .mg-stay-grid{grid-template-columns:1fr!important;gap:16px!important;margin-top:30px!important}
  .mg-stay-grid img{height:auto!important;aspect-ratio:16/10;object-fit:cover!important}
  .mg-stay-grid article>div{padding:21px!important}
  .mg-stay-grid h3{font-size:27px!important;text-transform:none!important}
  .mg-stay-grid p{font-size:15px!important;line-height:1.65!important}
  .mg-stay-grid a{display:inline-flex;align-items:center;min-height:44px;font-size:12px!important}

  /* Homepage gallery: compact two-column mosaic instead of five tiny tiles. */
  .mg-rhea-social-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin-top:28px!important}
  .mg-rhea-social-grid div{aspect-ratio:1!important}
  .mg-rhea-social-grid div:last-child{grid-column:1/-1!important;aspect-ratio:2/1!important}

  /* Room archive cards use natural vertical anatomy and full-width actions. */
  .mg-room-grid-eight{grid-template-columns:1fr!important;gap:18px!important}
  .mg-room-card img,.mg-room-grid-eight .mg-room-card img{height:auto!important;aspect-ratio:4/3;object-fit:cover}
  .mg-room-card-body{padding:20px 18px!important}
  .mg-room-card h3{font-size:30px!important}
  .mg-room-specs{display:flex!important;flex-wrap:wrap!important;gap:8px 12px!important;font-size:13px!important}
  .mg-room-card-body>p{font-size:15px!important;line-height:1.65!important}
  .mg-room-card-footer{display:grid!important;grid-template-columns:1fr 1fr;gap:12px!important}
  .mg-room-card-footer a{min-height:44px;display:flex;align-items:center}
  .mg-room-card-footer .mg-room-book-link{justify-content:flex-end;text-align:right}

  /* Single room: mobile-first hero, 2x2 facts, asymmetric gallery mosaic. */
  .mg-room-hero{height:410px!important}
  .mg-room-hero-content{left:auto!important;right:auto!important;bottom:36px!important;width:calc(100% - (var(--mobile-gutter) * 2))!important}
  .mg-room-hero h1{font-size:calc(clamp(46px,14vw,60px) + 2px)!important;line-height:.9!important}
  .mg-room-hero-content>p{margin:12px 0 0;font-size:16px}
  .mg-room-detail-grid{gap:34px!important}
  .mg-room-copy h2{font-size:44px!important}
  .mg-room-spec-bar{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .mg-room-spec-bar span{min-height:82px;padding:14px!important;font-size:13px!important}
  .mg-prose{font-size:16px!important;line-height:1.75!important}
  .mg-check-grid{grid-template-columns:1fr!important;gap:10px!important}
  .mg-check-grid li{font-size:15px!important}
  .mg-sticky-card{padding:24px 20px!important}
  .mg-room-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .mg-room-gallery .room-gallery-item:first-child{grid-column:1/-1}
  .mg-room-gallery img{height:170px!important}
  .mg-room-gallery .room-gallery-item:first-child img{height:270px!important}
  .mg-heading-row{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:14px!important}
  .mg-heading-row .mg-text-link{min-height:44px;display:flex;align-items:center}

  /* About page: preserve overlap, but make reading order obvious. */
  .mg-about-intro{gap:22px!important}
  .mg-values-grid{grid-template-columns:1fr!important;gap:12px!important}
  .mg-values-grid article{padding:26px 22px!important}
  .mg-story-stack{min-height:320px!important}
  .mg-story-stack img:first-child{width:84%!important;height:245px!important}
  .mg-story-stack img:last-child{width:52%!important;height:165px!important;border-width:7px!important}
  .mg-story-detail h2{font-size:44px!important}
  .mg-story-detail p,.mg-about-intro p{font-size:16px!important;line-height:1.75!important}

  /* Book page: form card loses desktop bulk; every control is thumb-friendly. */
  .mg-arch-book-page{gap:30px!important}
  .mg-arch-book-page>div:last-child{padding:22px 18px!important}
  .mg-book-notes{font-size:15px!important;overflow-wrap:anywhere}
  .mg-inquiry-form,.mg-form-grid{grid-template-columns:1fr!important}
  .mg-form-span{grid-column:auto!important}
  .mg-form-grid input,.mg-form-grid select,.mg-form-grid textarea,.mg-inquiry-form input,.mg-inquiry-form select,.mg-inquiry-form textarea{min-height:50px;padding:12px!important;background:#f7f7f5!important}
  .mg-inquiry-form textarea{min-height:140px}

  /* FAQ: wider tap zones, quieter type scale. */
  .mg-faq-list{width:100%!important}
  .mg-faq-list summary{min-height:56px;padding:17px 34px 17px 0!important;font-size:17px!important;line-height:1.45!important}
  .mg-faq-list details div{padding:0 28px 20px 0!important;font-size:16px!important;line-height:1.72!important}

  /* Gallery uses one strong image per row on phone to avoid tiny thumbnails. */
  .mg-gallery-grid{grid-template-columns:1fr!important;gap:9px!important}
  .mg-gallery-item,.mg-gallery-item:nth-child(1),.mg-gallery-item:nth-child(6),.mg-gallery-item:nth-child(7){grid-column:auto!important;min-height:0!important}
  .mg-gallery-item img,.mg-gallery-item:nth-child(1) img,.mg-gallery-item:nth-child(7) img{height:auto!important;min-height:0!important;aspect-ratio:4/3;object-fit:cover}
  .mg-gallery-item span{left:10px!important;bottom:10px!important;max-width:calc(100% - 20px);font-size:11px!important}

  /* Booking drawer fills the phone width and avoids side-peeking. */
  .mg-book-drawer-panel{width:100%!important;max-width:none!important;padding:62px 20px 28px!important;box-shadow:none!important}
  .mg-book-drawer-close{top:12px!important;right:12px!important}
  .mg-book-drawer-panel h2{font-size:44px!important}
  .mg-book-drawer-panel .mg-script{font-size:38px!important}
  .mg-book-drawer-field input,.mg-book-drawer-field select{font-size:18px!important}

  /* Footer: social strip remains the first visual beat; links become easy taps. */
  .mg-rhea-footer{padding:98px var(--mobile-gutter) 34px!important}
  .mg-footer-social-rail{height:58px!important}
  .mg-footer-social-icons{left:30%!important;width:40%!important}
  .mg-footer-social-icon{width:28px!important;height:28px!important;flex-basis:28px!important}
  .mg-footer-social-icon svg{width:14px!important;height:14px!important}
  .mg-footer-crest img{width:205px!important;max-width:70vw!important;margin-bottom:24px!important}
  .mg-rhea-footer-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:0!important;width:min(360px,100%);margin:16px auto 24px!important}
  .mg-rhea-footer-nav li{border-top:1px solid rgba(255,255,255,.16)}
  .mg-rhea-footer-nav li:nth-last-child(-n+2){border-bottom:1px solid rgba(255,255,255,.16)}
  .mg-rhea-footer-nav a{min-height:46px;display:flex;align-items:center;justify-content:center;padding:8px;font-size:12px}
  .mg-footer-book{width:min(280px,100%);min-height:48px!important;justify-content:center;margin-bottom:8px}
  .mg-opening-title{font-size:29px!important;margin-top:26px!important}
  .mg-footer-hours{grid-template-columns:1fr!important;width:min(420px,100%)!important}
  .mg-footer-hours>div{padding:15px 10px!important}
  .mg-footer-hours>div+div{border-left:0!important;border-top:1px solid rgba(255,255,255,.30)!important}
  .mg-rhea-footer-bottom{font-size:12px!important;line-height:1.6!important;margin-top:22px!important}
  .mg-rhea-footer-bottom span{display:block!important;margin:4px 0 0!important}
}

@media(max-width:390px){
  :root{--mobile-gutter:14px}
  .mg-arch-brand img{width:138px!important}
  .mg-v22-book{min-width:108px!important;padding-inline:12px!important}
  .mg-rhea-hero{min-height:445px!important}
  .mg-rhea-hero h1{font-size:51px!important}
  .mg-rhea-room-caption p{display:none}
  .mg-rhea-room-card{aspect-ratio:3/4!important}
  .mg-rhea-amenity-strip div{min-height:86px;font-size:12px!important}
  .mg-room-card-footer{grid-template-columns:1fr!important}
  .mg-room-card-footer .mg-room-book-link{justify-content:flex-start;text-align:left}
  .mg-room-gallery .room-gallery-item:first-child img{height:235px!important}
  .mg-room-gallery img{height:145px!important}
  .mg-rhea-footer-nav{grid-template-columns:1fr 1fr!important}
}

@media(hover:none), (pointer:coarse){
  .mg-room-card:hover img,.mg-rhea-room-card:hover img,.mg-live-gallery-grid .mg-gallery-item:hover img,.mg-button:hover{transform:none!important}
}

/* =========================================================
   v2.5.18 — About / Area Information
   ========================================================= */
.mg-about-area{
  background:#f4f2ee;
  border-top:1px solid var(--line);
}
.mg-area-intro{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);
  gap:48px;
  align-items:end;
  margin-bottom:36px;
}
.mg-area-intro h2{
  margin:7px 0 14px;
  font-family:var(--display);
  font-size:calc(clamp(42px,4.8vw,68px) + 2px);
  font-weight:400;
  line-height:.94;
  letter-spacing:.01em;
  text-transform:uppercase;
  color:var(--red);
}
.mg-area-intro p{
  max-width:640px;
  margin:0;
  font-size:16px;
  line-height:1.75;
  color:var(--muted);
}
.mg-area-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:14px;
}
.mg-area-map-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  color:var(--ink);
  font-size:13px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  border-bottom:1px solid var(--line);
}
.mg-area-map-link svg{width:17px;height:17px;fill:var(--blue);flex:0 0 17px}
.mg-area-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.mg-area-card{
  min-width:0;
  padding:28px;
  background:#fff;
  border:1px solid var(--line);
}
.mg-area-card-head{
  display:flex;
  align-items:center;
  gap:13px;
  padding-bottom:18px;
  margin-bottom:4px;
  border-bottom:1px solid var(--line);
}
.mg-area-card-head h3{
  margin:0;
  font-family:var(--display);
  font-size:27px;
  font-weight:400;
  line-height:1;
  text-transform:uppercase;
  color:var(--ink);
}
.mg-area-icon{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  flex:0 0 38px;
  background:var(--blue);
}
.mg-area-icon svg{width:19px;height:19px;fill:#fff}
.mg-area-list{list-style:none;margin:0;padding:0}
.mg-area-list li{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  min-height:54px;
  padding:13px 0;
  border-bottom:1px solid var(--line);
  font-size:15px;
  line-height:1.45;
}
.mg-area-list li:last-child{border-bottom:0}
.mg-area-list span{min-width:0;color:var(--ink)}
.mg-area-list strong{
  color:var(--red);
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
  letter-spacing:.04em;
}
.mg-area-card-compact .mg-area-list li{min-height:70px}

@media(max-width:900px){
  .mg-area-intro{grid-template-columns:1fr;gap:24px;align-items:start}
  .mg-area-actions{align-items:flex-start;flex-direction:row;flex-wrap:wrap}
}
@media(max-width:760px){
  .mg-about-area{padding-top:50px!important;padding-bottom:64px!important}
  .mg-area-intro{gap:20px;margin-bottom:26px}
  .mg-area-intro h2{font-size:44px}
  .mg-area-actions{display:grid;grid-template-columns:1fr;width:100%;gap:10px}
  .mg-area-actions .mg-button{width:100%;min-height:48px;justify-content:center;text-align:center}
  .mg-area-map-link{width:100%;justify-content:flex-start;padding:5px 0}
  .mg-area-grid{grid-template-columns:1fr;gap:10px}
  .mg-area-card{padding:22px 18px}
  .mg-area-card-head{gap:11px;padding-bottom:15px}
  .mg-area-card-head h3{font-size:24px}
  .mg-area-icon{width:34px;height:34px;flex-basis:34px}
  .mg-area-icon svg{width:17px;height:17px}
  .mg-area-list li{min-height:52px;padding:12px 0;gap:12px;font-size:15px}
  .mg-area-card-compact .mg-area-list li{min-height:58px}
}

/* =========================================================
   v2.5.19 — shared hero-to-content breathing room
   ========================================================= */
:root{--hero-content-gap:72px}

/* Inner pages now begin their first real content block on one shared rhythm.
   Booking strips remain intentional bridge elements on Home and Room pages. */
main > .mg-page-hero + .mg-section,
main > .mg-page-hero + .mg-page-section{
  padding-top:var(--hero-content-gap)!important;
}
.mg-home-inquiry + .mg-rhea-rooms,
.mg-inquiry-overlap + .mg-room-detail-section{
  padding-top:var(--hero-content-gap)!important;
}

@media(max-width:980px){
  :root{--hero-content-gap:56px}
}
@media(max-width:760px){
  :root{--hero-content-gap:44px}
  main > .mg-page-hero + .mg-section,
  main > .mg-page-hero + .mg-page-section,
  .mg-home-inquiry + .mg-rhea-rooms,
  .mg-inquiry-overlap + .mg-room-detail-section{
    padding-top:var(--hero-content-gap)!important;
  }
}

/* =========================================================
   v2.5.20 — live Gaborone weather + linked area information
   ========================================================= */
.mg-area-intro h2{color:#000!important}
.mg-area-card{
  position:relative;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.mg-area-icon{transition:transform .28s ease,background-color .28s ease}
.mg-area-place-link{
  min-width:0;
  display:inline-flex;
  align-items:center;
  gap:7px;
  width:max-content;
  max-width:100%;
  color:var(--ink);
  text-decoration:none;
  transition:color .22s ease,transform .22s ease;
}
.mg-area-place-link::after{
  content:"↗";
  flex:0 0 auto;
  color:var(--blue);
  font-size:12px;
  opacity:.62;
  transition:transform .22s ease,opacity .22s ease;
}

.mg-weather-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(260px,.9fr) minmax(0,1.7fr);
  margin-top:18px;
  background:#fff;
  border:1px solid var(--line);
  overflow:hidden;
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.mg-weather-current{
  min-width:0;
  padding:30px;
  background:#121a24;
  color:#fff;
}
.mg-weather-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:20px;
}
.mg-weather-heading .mg-kicker{margin:0;color:var(--blue)!important}
.mg-weather-condition-icon,
.mg-room-weather-icon,
.mg-weather-day-icon{
  display:grid;
  place-items:center;
  color:currentColor;
}
.mg-weather-condition-icon{width:38px;height:38px;color:var(--blue)}
.mg-weather-condition-icon svg,.mg-room-weather-icon svg,.mg-weather-day-icon svg{
  width:100%;height:100%;overflow:visible;
}
.mg-weather-condition-icon svg *,
.mg-room-weather-icon svg *,
.mg-weather-day-icon svg *{
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.mg-weather-temp-row{display:flex;align-items:center;gap:18px}
.mg-weather-temp{
  font-family:var(--display);
  font-size:calc(clamp(58px,5.4vw,78px) + 2px);
  font-weight:500;
  line-height:.85;
  letter-spacing:-.04em;
}
.mg-weather-temp-row>div{display:grid;gap:5px;min-width:0}
.mg-weather-temp-row b{font-size:16px;line-height:1.35}
.mg-weather-temp-row span{font-size:13px;color:rgba(255,255,255,.66)}
.mg-weather-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:23px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.16);
  font-size:12px;
  color:rgba(255,255,255,.65);
  text-transform:uppercase;
  letter-spacing:.07em;
}
.mg-weather-meta span{display:grid;gap:3px}
.mg-weather-meta b{color:#fff;font-size:14px;letter-spacing:0;text-transform:none}
.mg-weather-forecast{
  min-width:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  background:#fff;
}
.mg-weather-day{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:10px;
  padding:26px 12px;
  border-left:1px solid var(--line);
  text-align:center;
  transition:background-color .22s ease,transform .22s ease;
}
.mg-weather-day>span{
  font-size:11px;
  font-weight:800;
  color:var(--muted);
  letter-spacing:.09em;
  text-transform:uppercase;
}
.mg-weather-day-icon{width:29px;height:29px;color:var(--blue)}
.mg-weather-day strong{font-size:17px;color:var(--ink);white-space:nowrap}
.mg-weather-day strong small{font-size:13px;color:var(--muted);font-weight:600}
.mg-weather-credit{
  grid-column:1/-1;
  padding:8px 14px;
  background:#f7f5f1;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:10px;
  line-height:1.4;
  text-align:right;
  letter-spacing:.04em;
  text-decoration:none;
}

/* Compact room-detail weather strip. */
.mg-room-weather-strip{
  position:relative;
  z-index:2;
  margin-top:20px;
  background:var(--blue);
  color:#fff;
  transition:background-color .26s ease;
}
.mg-room-weather-inner{
  min-height:72px;
  display:grid;
  grid-template-columns:minmax(220px,1.3fr) minmax(320px,1.7fr) auto;
  align-items:center;
  gap:28px;
  padding-top:10px;
  padding-bottom:10px;
}
.mg-room-weather-lead{display:flex;align-items:center;gap:13px;min-width:0}
.mg-room-weather-icon{width:34px;height:34px;flex:0 0 34px;color:#fff;transition:transform .28s ease}
.mg-room-weather-lead>span:last-child{display:grid;gap:2px;min-width:0}
.mg-room-weather-lead small,.mg-room-weather-facts small{
  font-size:10px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:rgba(255,255,255,.72);
}
.mg-room-weather-lead strong{font-size:16px;line-height:1.3;color:#fff}
.mg-room-weather-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:center;
  min-width:0;
}
.mg-room-weather-facts>span{
  min-width:0;
  display:grid;
  gap:3px;
  padding:0 18px;
  border-left:1px solid rgba(255,255,255,.28);
}
.mg-room-weather-facts b{font-size:14px;color:#fff;white-space:nowrap}
.mg-room-weather-credit{
  color:#fff;
  font-size:10px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-decoration:none;
  opacity:.74;
  white-space:nowrap;
  transition:opacity .22s ease,transform .22s ease;
}
.mg-room-weather-strip + .mg-room-detail-section{padding-top:var(--hero-content-gap)!important}

@media(hover:hover) and (pointer:fine){
  .mg-area-card:hover{
    transform:translateY(-6px);
    border-color:rgba(0,173,239,.32);
    box-shadow:0 18px 36px rgba(24,34,53,.09);
  }
  .mg-area-card:hover .mg-area-icon{transform:translateY(-2px) rotate(-4deg);background:var(--red)}
  .mg-area-place-link:hover{color:var(--blue);transform:translateX(2px)}
  .mg-area-place-link:hover::after{transform:translate(2px,-2px);opacity:1}
  .mg-area-map-link:hover{color:var(--blue)}
  .mg-area-map-link:hover svg{transform:translateY(-2px)}
  .mg-weather-card:hover{
    transform:translateY(-5px);
    border-color:rgba(0,173,239,.32);
    box-shadow:0 20px 44px rgba(24,34,53,.10);
  }
  .mg-weather-day:hover{background:#f7f5f1;transform:translateY(-2px)}
  .mg-room-weather-strip:hover{background:#039ed9}
  .mg-room-weather-strip:hover .mg-room-weather-icon{transform:translateY(-2px) rotate(5deg)}
  .mg-room-weather-credit:hover{opacity:1;transform:translateX(2px)}
}

@media(max-width:980px){
  .mg-weather-card{grid-template-columns:1fr}
  .mg-weather-forecast{border-top:0}
  .mg-weather-day:first-child{border-left:0}
  .mg-room-weather-inner{grid-template-columns:1fr auto;gap:15px 22px}
  .mg-room-weather-facts{grid-column:1/-1;order:3;border-top:1px solid rgba(255,255,255,.2);padding-top:10px}
  .mg-room-weather-facts>span:first-child{border-left:0;padding-left:0}
}
@media(max-width:760px){
  .mg-weather-card{margin-top:12px}
  .mg-weather-current{padding:24px 20px}
  .mg-weather-temp{font-size:62px}
  .mg-weather-forecast{grid-template-columns:repeat(3,minmax(76px,1fr));overflow-x:auto;overscroll-behavior-inline:contain}
  .mg-weather-day{min-width:76px;padding:20px 8px}
  .mg-weather-credit{text-align:left}
  .mg-room-weather-strip{margin-top:12px}
  .mg-room-weather-inner{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding-top:14px;padding-bottom:14px}
  .mg-room-weather-lead{justify-content:flex-start}
  .mg-room-weather-facts{order:initial;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:11px;border-top:1px solid rgba(255,255,255,.22)}
  .mg-room-weather-facts>span{padding:0 10px}
  .mg-room-weather-facts>span:first-child{padding-left:0;border-left:0}
  .mg-room-weather-facts>span:last-child{padding-right:0}
  .mg-room-weather-facts b{font-size:13px}
  .mg-room-weather-credit{align-self:flex-start;min-height:28px;display:flex;align-items:center}
}
@media(max-width:390px){
  .mg-weather-meta{grid-template-columns:1fr 1fr}
  .mg-room-weather-facts{gap:0}
  .mg-room-weather-facts>span{padding:0 8px}
  .mg-room-weather-facts small{font-size:9px}
  .mg-room-weather-facts b{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  .mg-area-card,.mg-area-icon,.mg-area-place-link,.mg-area-place-link::after,.mg-weather-card,.mg-weather-day,.mg-room-weather-strip,.mg-room-weather-icon,.mg-room-weather-credit{transition:none!important}
  .mg-area-card:hover,.mg-area-card:hover .mg-area-icon,.mg-area-place-link:hover,.mg-area-place-link:hover::after,.mg-weather-card:hover,.mg-weather-day:hover,.mg-room-weather-strip:hover .mg-room-weather-icon,.mg-room-weather-credit:hover{transform:none!important}
}
.mg-weather-setup{
  margin-top:18px;
  padding:14px 16px;
  border:1px dashed rgba(0,173,239,.55);
  background:rgba(0,173,239,.06);
  color:var(--ink);
  font-size:14px;
  line-height:1.55;
}
.mg-weather-setup strong{color:var(--blue)}
.mg-weather-setup-room{margin-top:18px;margin-bottom:0}

.mg-weather-setup-room + .mg-room-detail-section{padding-top:var(--hero-content-gap)!important}

/* =========================================================
   v2.5.21 — weatherwidget.io embeds
   ========================================================= */
.mg-weather-embed{
  margin-top:34px;
  overflow:hidden;
  border:1px solid rgba(20,31,45,.10);
  background:#fff;
  box-shadow:0 18px 46px rgba(24,31,42,.08);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.mg-weather-embed .weatherwidget-io,
.mg-room-weather-embed .weatherwidget-io{display:block;min-width:0;width:100%}

.mg-room-weather-embed{
  margin-top:18px;
  background:var(--cream);
}
.mg-room-weather-embed>.mg-container{
  padding-top:12px;
  padding-bottom:12px;
}
.mg-room-weather-embed .weatherwidget-io{
  overflow:hidden;
  border:1px solid rgba(20,31,45,.10);
  background:#fff;
  box-shadow:0 10px 28px rgba(24,31,42,.06);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

@media (hover:hover) and (pointer:fine){
  .mg-weather-embed:hover{
    transform:translateY(-4px);
    border-color:rgba(0,173,239,.28);
    box-shadow:0 24px 56px rgba(24,31,42,.13);
  }
  .mg-room-weather-embed .weatherwidget-io:hover{
    transform:translateY(-2px);
    border-color:rgba(239,60,54,.24);
    box-shadow:0 14px 34px rgba(24,31,42,.10);
  }
}
@media(max-width:760px){
  .mg-weather-embed{margin-top:24px}
  .mg-room-weather-embed{margin-top:12px}
  .mg-room-weather-embed>.mg-container{padding-top:9px;padding-bottom:9px}
}
@media(prefers-reduced-motion:reduce){
  .mg-weather-embed,.mg-room-weather-embed .weatherwidget-io{transition:none!important;transform:none!important}
}

/* =========================================================
   v2.5.22 — room weather placement
   ========================================================= */
.mg-room-detail-section + .mg-room-weather-embed{
  margin-top:0;
  padding-top:0;
}
.mg-room-weather-embed + .mg-room-gallery-band{
  margin-top:0;
}
@media(max-width:760px){
  .mg-room-detail-section + .mg-room-weather-embed{margin-top:0}
}
