/* Home landing sequence. This layer intentionally leaves the hero untouched. */
body.home .rs-front-page .rfa-home-block{padding:100px 0;border:0;background:#fff}
body.home .rs-front-page .rfa-home-heading{margin-bottom:37px}
body.home .rs-front-page .rfa-home-heading h2{font-size:clamp(2.15rem,4vw,3.45rem);line-height:1.08;letter-spacing:-.048em}
body.home .rs-front-page .rfa-home-heading p{font-size:1.06rem;line-height:1.75}
body.home .rs-front-page .rfa-home-choices{padding:65px 0 93px}
body.home .rs-front-page .rfa-home-choices .rfa-home-heading h2{font-size:clamp(2rem,3.5vw,3rem)}
body.home .rs-front-page .rfa-home-choices .rfa-home-card{border-top:4px solid #f97a25}
body.home .rs-front-page .rfa-home-card{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
body.home .rs-front-page .rfa-home-card:hover{transform:translateY(-7px);box-shadow:0 24px 55px #0731511e;border-color:#f5bd92}
body.home .rs-front-page .rfa-home-card.rfa-animate.is-visible:hover{transform:translateY(-7px)}
body.home .rs-front-page .rfa-card-copy a{color:#073151}
body.home .rs-front-page .rfa-card-copy a span{color:#f97a25;transition:transform .25s ease}
body.home .rs-front-page .rfa-card-copy a:hover span{transform:translateX(4px)}
body.home .rs-front-page .rfa-home-spotlight{padding:0 24px 90px;background:#fff;color:#fff}
.rfa-spotlight-inner{display:grid;grid-template-columns:1fr 1fr;max-width:1440px;min-height:540px;margin:auto;background:#073151;border-radius:32px;overflow:hidden;box-shadow:0 30px 70px #07315128}
.rfa-spotlight-copy{align-self:center;padding:clamp(40px,6vw,100px)}
.rfa-spotlight-copy .rs-overline{display:block;color:#ffad70;letter-spacing:.16em;font-size:.78rem;font-weight:800}
.rfa-spotlight-copy h2{color:#fff;font-size:clamp(2.4rem,4.6vw,4.6rem);letter-spacing:-.055em;line-height:1.08;margin:21px 0 24px;max-width:690px}
.rfa-spotlight-copy p{color:#d8e6ef;max-width:510px;font-size:1.08rem;line-height:1.8;margin:0}
.rfa-spotlight-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:36px}
.rfa-spotlight-actions a{font-weight:800;text-decoration:none}
.rfa-spotlight-primary{display:inline-flex;align-items:center;gap:18px;padding:15px 23px;border-radius:12px;background:#f97a25;color:#fff;box-shadow:0 10px 25px #f97a2540;transition:transform .25s,background .25s}
.rfa-spotlight-primary:hover{color:#fff;background:#e76816;transform:translateY(-3px)}
.rfa-spotlight-secondary{color:#fff;border-bottom:1px solid #ffffff89;padding:8px 0}
.rfa-spotlight-secondary:hover{color:#ffc99e}
.rfa-spotlight-visual{position:relative;min-height:540px;overflow:hidden;background:#254b61}
.rfa-spotlight-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#073151b2)}
.rfa-spotlight-visual img{display:block;width:100%;height:100%;min-height:540px;object-fit:cover;object-position:center;transition:transform 1s ease}
.rfa-home-spotlight:hover .rfa-spotlight-visual img{transform:scale(1.035)}
.rfa-spotlight-caption{position:absolute;z-index:1;left:35px;bottom:30px;max-width:260px;color:#fff;font-size:1.05rem;font-weight:750;line-height:1.25}
.rfa-spotlight-caption span{color:#f97a25;margin-left:7px}
body.home .rs-front-page .rfa-home-locations{background:#fff}
body.home .rs-front-page .rfa-location-image{height:230px}
body.home .rs-front-page .rfa-home-locations .rfa-home-card{border-radius:22px}
body.home .rs-front-page .rfa-home-locations .rfa-card-copy{padding:24px 26px 29px}
body.home .rs-front-page .rfa-home-steps{background:#fff}
body.home .rs-front-page .rfa-home-steps .rfa-home-card{background:#f4f8fa;border-radius:20px}
body.home .rs-front-page .rfa-step-number{background:#f97a25;width:43px;height:43px;font-size:1rem}
body.home .rs-front-page .rfa-home-types{background:#fff}
body.home .rs-front-page .rfa-home-types .rfa-home-card{background:transparent;box-shadow:none}
body.home .rs-front-page .rfa-home-types .rfa-home-card:hover{transform:none;box-shadow:none}
body.home .rs-front-page .rfa-home-types .rfa-home-card.rfa-animate.is-visible:hover{transform:none}
body.home .rs-front-page .rfa-home-types .rfa-card-copy a{color:#c95609}
body.home .rs-front-page .rfa-popular a{border-color:#d6e0e7;background:#fff;color:#073151}
body.home .rs-front-page .rfa-home-guides{background:#fff}
body.home .rs-front-page .rfa-home-guides .rfa-home-card{background:#fff}
body.home .rs-front-page .rs-discover{background:#fff;padding:100px 0 115px;border-top:1px solid #e2e9ee}
body.home .rs-front-page .rs-discover .rs-section-heading h2{font-size:clamp(2.2rem,4vw,3.45rem);line-height:1.08}
body.home .rs-front-page .rs-discover .rs-text-link{border-color:#f97a25;color:#073151;background:#fff}
/* Add reveal only after script is running, so the page always remains readable. */
body.home.rfa-motion-ready .rs-front-page .rfa-animate:not(.is-visible){opacity:0;transform:translateY(28px)}
body.home .rs-front-page .rfa-animate{transition:opacity .7s ease,transform .7s cubic-bezier(.22,.68,0,1.05)}
body.home .rs-front-page .rfa-animate.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:900px){.rfa-spotlight-inner{grid-template-columns:1fr}.rfa-spotlight-copy{padding:55px}.rfa-spotlight-visual,.rfa-spotlight-visual img{min-height:360px;max-height:460px}}
@media(max-width:760px){body.home .rs-front-page .rfa-home-block{padding:70px 0}body.home .rs-front-page .rfa-home-choices{padding:56px 0 70px}body.home .rs-front-page .rfa-home-spotlight{padding:0 16px 70px}.rfa-spotlight-inner{border-radius:23px}.rfa-spotlight-copy{padding:42px 29px}.rfa-spotlight-copy h2{font-size:clamp(2.3rem,9vw,3.3rem)}.rfa-spotlight-visual,.rfa-spotlight-visual img{min-height:270px;max-height:340px}.rfa-spotlight-caption{left:24px;bottom:22px}body.home .rs-front-page .rs-discover{padding:70px 0 85px}}
@media(prefers-reduced-motion:reduce){body.home.rfa-motion-ready .rs-front-page .rfa-animate:not(.is-visible){opacity:1;transform:none}body.home .rs-front-page .rfa-animate,.rfa-spotlight-visual img,.rfa-spotlight-primary{transition:none!important}body.home .rs-front-page .rfa-home-card:hover,.rfa-spotlight-primary:hover{transform:none}}
/* A shared content grid aligns the logo, hero copy, sections and room cards. */
body.home .rs-front-page .rs-hero.rs-hero-search-first{width:min(1240px,calc(100% - 48px))}
body.home .site-header .wrap.rs-header-inner,body.home .rs-elementor-nav-inner{max-width:1240px!important;padding-inline:24px}
body.home .rs-front-page .rs-hero-spareroom .rs-hero-content,
body.home .rs-front-page .rfa-home-shell,
body.home .rs-front-page .rs-discover .rs-container{width:100%;max-width:1240px;margin-inline:auto;padding-inline:24px}
body.home .rs-front-page .rfa-spotlight-inner{max-width:1240px}
body.home .rs-front-page .rfa-spotlight-copy{padding-inline:24px}
@media(max-width:760px){
  body.home .site-header .wrap.rs-header-inner,body.home .rs-elementor-nav-inner{padding-inline:32px}
  body.home .rs-front-page .rs-hero.rs-hero-search-first{width:calc(100% - 24px)}
  body.home .rs-front-page .rs-hero-spareroom .rs-hero-content{padding-inline:20px}
  body.home .rs-front-page .rfa-home-shell,
  body.home .rs-front-page .rs-discover .rs-container{padding-inline:32px}
  body.home .rs-front-page .rfa-home-spotlight{padding-inline:12px}
  body.home .rs-front-page .rfa-spotlight-copy{padding-inline:20px}
}
@media(min-width:761px) and (max-width:1288px){
  body.home .site-header .wrap.rs-header-inner,body.home .rs-elementor-nav-inner,
  body.home .rs-front-page .rfa-home-shell,
  body.home .rs-front-page .rs-discover .rs-container{padding-inline:48px}
  body.home .rs-front-page .rfa-spotlight-inner{max-width:100%}
}
/* Older Elementor sections were saved as boxed (1140px), which overrides the
   theme's 1240px homepage grid. Scope this to our own homepage widgets. */
body.home .rs-front-page .elementor-top-section:has(
  :is(.elementor-widget-roomforall_home_choices,
      .elementor-widget-roomforall_home_spotlight,
      .elementor-widget-roomforall_home_locations,
      .elementor-widget-roomforall_home_steps,
      .elementor-widget-roomforall_home_types,
      .elementor-widget-roomforall_home_guides,
      .elementor-widget-roomsite_featured)
) > .elementor-container{max-width:none!important}
