/* Purchased Patara inner-page composition, adapted only to Rainbow content. */
.rb-inner-banner {
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:75svh;
  min-height:540px;
  padding:110px 0 80px;
  overflow:hidden;
  background:#1b1b1b;
  color:#fff;
  text-align:center;
}
.rb-inner-banner>.rb-hero-image {
  position:absolute;
  inset:0;
  width:100%;
  height:100%!important;
  object-fit:cover;
  object-position:center;
  z-index:-2;
}
.rb-inner-banner:after { content:''; position:absolute; inset:0; z-index:-1; background:#0007; pointer-events:none; }
.rb-inner-banner-copy { position:relative; z-index:1; }
.rb-inner-banner .rb-kicker { color:#fff; font-size:12px; line-height:1.8; letter-spacing:6px; margin:0 0 18px; }
.rb-inner-banner h1 { color:#fff; font-size:75px; font-weight:400; line-height:1.13; max-width:1000px; margin:0 auto; }
.rb-inner-banner p { color:#fff; font-size:15px; font-weight:300; line-height:1.75; max-width:740px; margin:25px auto 0; }
.rb-inner-banner+.rb-gallery-page,.rb-inner-banner+.rb-quote-layout { padding-top:110px; }

/* Room Details Header in the purchased demo is a photograph before its title. */
.rb-detail-banner { height:100svh; min-height:600px; padding:0; }
.rb-detail-banner:after { background:linear-gradient(180deg,#0005 0%,#0002 45%,#0003); }
.rb-detail-banner-saronis { background:#e8e8e5; }
.rb-detail-banner-saronis>.rb-hero-image { object-fit:contain; }
.rb-banner-scroll { position:absolute; bottom:45px; left:calc(50% - 19px); display:flex; align-items:center; justify-content:center; width:38px; height:60px; border:1px solid #ffffff90; border-radius:22px; color:#fff!important; font-size:21px; }
.rb-banner-scroll:hover { background:#aa8453; border-color:#aa8453; }
.rb-patara-model-body { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:60px; align-items:start; padding-block:110px; }
.rb-patara-model-body .rb-model-detail { min-width:0; }
.rb-patara-model-body .rb-model-detail>h1 { font-size:45px; line-height:1.2; margin:0 0 25px; }
.rb-patara-model-body .rb-model-detail>p { font-size:15px; line-height:1.75; margin-bottom:25px; max-width:none; }
.rb-patara-model-body .rb-model-intro { color:var(--rb-ink); }
.rb-patara-model-body .rb-detail-label { font-size:27px!important; line-height:1.2; margin:35px 0 20px; }
.rb-patara-model-body .rb-specs>div { font-size:15px; line-height:1.75; padding:13px 0; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:25px; }
.rb-patara-model-body .rb-install-note { padding:0; background:transparent; border:0; margin:35px 0 0; }
.rb-patara-model-body .rb-install-note h3 { font-size:27px; margin:0 0 15px; }
.rb-patara-model-body .rb-install-note p { font-size:15px; line-height:1.75; }
.rb-patara-model-amenities { position:static; top:auto; min-width:0; padding:0 0 0 15px; background:transparent; }
.rb-patara-model-amenities>h2 { font-size:27px; line-height:1.2; margin:0 0 28px; }
.rb-patara-model-amenities .rb-feature-list { display:flex; flex-direction:column; gap:18px; padding:0; margin:0; }
.rb-patara-model-amenities .rb-feature-list li { display:flex; align-items:flex-start; gap:14px; font-size:15px; line-height:1.75; }
.rb-patara-model-amenities .rb-feature-list li>span { flex:0 0 19px; color:#aa8453; font-size:18px; line-height:1.45; }
.rb-patara-model-amenities>p { font-size:15px; line-height:1.75; }
.rb-model-enquiry { border-top:1px solid var(--rb-line); margin-top:35px; padding-top:30px; }
.rb-model-enquiry h3 { font-size:27px; line-height:1.2; margin:0 0 18px; }
.rb-model-enquiry p { font-size:15px; line-height:1.75; margin:0 0 24px; }
.rb-model-enquiry .rb-button { width:100%; }
.rb-model-enquiry .rb-aside-phone { margin-top:25px; padding-top:20px; }
.rb-model-enquiry .rb-aside-phone>span { font-size:12px; }
.rb-model-enquiry .rb-aside-phone>a { font-size:30px; }

/* The demo's editorial inner sections use a 25% label and 75% main column. */
.rb-patara-story { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,3fr); gap:30px; align-items:start; padding-block:110px; }
.rb-patara-story-main { min-width:0; }
.rb-patara-story-main>h2 { font-size:45px; line-height:1.2; margin:0 0 30px; }
.rb-patara-story .rb-prose p,.rb-patara-story .rb-prose li { font-size:15px; line-height:1.75; }
.rb-patara-story .rb-prose h3 { font-size:27px; line-height:1.2; margin:32px 0 20px; }
.rb-patara-story .rb-story-links { flex-direction:row; flex-wrap:wrap; gap:18px 30px; border-top:1px solid var(--rb-line); padding-top:25px; margin-top:35px; }
.rb-patara-story .rb-story-links .rb-text-link { font-size:12px; }
.rb-team-story .rb-patara-story-main>h2 { max-width:760px; }
.rb-team-intro { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:45px; align-items:start; }
.rb-team-intro-copy>p { margin:0 0 22px; }
.rb-team-signature { border-left:1px solid #aa8453; padding:6px 0 6px 22px; margin:35px 0 30px; }
.rb-team-signature>span { display:block; font-family:var(--rb-serif); font-size:26px; line-height:1.3; color:#1b1b1b; }
.rb-team-signature>p { margin:8px 0 0!important; font-size:12px!important; }
.rb-team-photo { margin:0; padding-top:8px; }
.rb-team-photo img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; }
.rb-team-photo figcaption { padding-top:15px; font-size:12px; line-height:1.7; color:#666; }
.rb-team-care { background:#f6f1f0; }
.rb-team-roles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; }
.rb-team-role { padding:30px 0 36px; border-top:1px solid #d9caba; }
.rb-team-role-number { display:block; color:#aa8453; font-size:12px; letter-spacing:2px; margin-bottom:18px; }
.rb-team-role h3 { font-size:29px; line-height:1.25; margin:0 0 18px; }
.rb-team-role p { font-size:15px; line-height:1.8; margin:0; }
.rb-team-care .rb-story-links { margin-top:10px; }
@media(max-width:1050px) {
 .rb-team-intro { grid-template-columns:1fr; gap:30px; }
 .rb-team-photo { width:100%; max-width:520px; }
}
@media(max-width:640px) {
 .rb-team-intro { grid-template-columns:1fr; gap:35px; }
 .rb-team-photo { max-width:100%; padding:0; }
 .rb-team-roles { grid-template-columns:1fr; }
 .rb-team-role { padding:28px 0; }
 .rb-team-role h3 { font-size:27px; }
 .rb-team-signature { margin-top:28px; }
}
.rb-inner-banner+.rb-contact-grid { padding-block:110px 60px; }

/* Rooms 3 uses a white panel covering the complete portrait, sliding from right. */
.rb-room3-card { overflow:hidden; }
.rb-room3-title { left:35px; bottom:35px; font-size:30px; white-space:nowrap; transition:opacity .4s,transform .4s; }
.rb-room3-panel {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  padding:35px 40px 40px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  background:#fff;
  transform:translateX(110%);
  opacity:0;
  pointer-events:none;
  transition:transform .7s,opacity .7s;
}
.rb-room3-card:hover .rb-room3-panel,.rb-room3-card:focus-within .rb-room3-panel { transform:none; opacity:1; pointer-events:auto; }
.rb-room3-card:hover .rb-room3-title,.rb-room3-card:focus-within .rb-room3-title { opacity:0; }
.rb-room3-panel h2,.rb-room3-panel h3 { font-size:30px; line-height:1.2; margin:5px 0 15px; }
.rb-room3-panel p { font-size:15px; line-height:1.75; margin:0 0 22px; }
.rb-room3-panel>.rb-button { margin-top:auto; }
.rb-room3-panel>.rb-text-link { margin-top:10px; }
.rb-room3-panel .rb-kicker { font-size:11px; letter-spacing:1.5px; }
.rb-room3-reveal { width:40px; height:40px; font-size:18px; z-index:3; }
.rb-room3-reveal:focus-visible { outline-color:#1b1b1b!important; }

@media (max-width:1050px) {
  .rb-inner-banner h1 { font-size:65px; }
  .rb-patara-model-body { gap:35px; }
  .rb-patara-model-amenities { padding-left:0; }
  .rb-patara-story { grid-template-columns:minmax(0,1fr) minmax(0,3fr); gap:30px; }
  .rb-room3-panel { padding:25px 30px 30px; }
}
@media (max-width:900px) {
  .rb-patara-model-body { grid-template-columns:1fr; gap:50px; padding-block:75px; }
  .rb-patara-model-amenities { max-width:none; }
  .rb-patara-model-amenities .rb-feature-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 30px; }
  .rb-model-enquiry { max-width:540px; }
  .rb-patara-story { grid-template-columns:1fr; gap:35px; padding-block:75px; }
  .rb-patara-story .rb-patara-side-label { max-width:260px; }
}
@media (max-width:640px) {
  .rb-inner-banner { height:75svh; min-height:560px; padding:120px 0 70px; }
  .rb-inner-banner h1 { font-size:44px; line-height:1.15; overflow-wrap:normal; }
  .rb-inner-banner .rb-kicker { font-size:11px; letter-spacing:3px; margin-bottom:20px; }
  .rb-inner-banner p { font-size:14px; line-height:1.8; margin-top:22px; }
  .rb-inner-banner+.rb-gallery-page,.rb-inner-banner+.rb-quote-layout { padding-top:65px; }
  .rb-detail-banner { height:82svh; min-height:500px; padding:0; }
  .rb-detail-banner>.rb-hero-image { object-position:center; }
  .rb-banner-scroll { bottom:30px; }
  .rb-patara-model-body { padding-block:65px; gap:42px; }
  .rb-patara-model-body .rb-model-detail>h1 { font-size:42px; }
  .rb-patara-model-body .rb-model-detail>p { font-size:15px; }
  .rb-patara-model-body .rb-specs>div { font-size:13px; gap:18px; }
  .rb-patara-model-amenities .rb-feature-list { display:flex; gap:17px; }
  .rb-patara-model-amenities .rb-feature-list li { font-size:15px; }
  .rb-patara-story { padding-block:65px; gap:28px; }
  .rb-patara-story-main>h2 { font-size:37px; }
  .rb-patara-story .rb-prose h3 { font-size:27px; }
  .rb-inner-banner+.rb-contact-grid { padding-block:65px 40px; }
  .rb-room3-panel { position:relative; inset:auto; height:auto; width:100%; padding:30px; margin:0; transform:none; opacity:1; pointer-events:auto; }
  .rb-room3-panel>.rb-button { margin-top:5px; }
  .rb-room3-title,.rb-room3-reveal { display:none; }
}
@media (hover:none),(pointer:coarse) {
  .rb-room3-panel { position:relative; inset:auto; height:auto; width:100%; padding:30px; margin:0; transform:none; opacity:1; pointer-events:auto; }
  .rb-room3-panel>.rb-button { margin-top:5px; }
  .rb-room3-title,.rb-room3-reveal { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .rb-room3-panel,.rb-room3-title { transition:none; }
}
