/* Resort page — live-content sections: rooms, attractions, experiences, information.
   Site theme: cream/sand bands, gold Caveat labels, Playfair headings, pill buttons, 1280px box. */
.rl-wrap { max-width: 1280px; margin: 0 auto; padding: 0 20px; }
@media (min-width: 768px) { .rl-wrap { padding: 0 24px; } }
@media (min-width: 1024px) { .rl-wrap { padding: 0 48px; } }
.rl-sec { position: relative; padding: 40px 0; }
@media (max-width: 767px) { .rl-sec { padding: 30px 0; } }
.rl-sec--white { background: #fff; }
.rl-sec--sand { background: #f3efe2; border-top: 1px solid #e6dfcc; border-bottom: 1px solid #e6dfcc; }
.rl-head { max-width: 46rem; margin: 0 auto 26px; text-align: center; }
.rl-head .section-label { margin: 0 0 4px; color: #bc8c3f; }
.rl-head h2 { margin: 0; color: #2a1c13; }
.rl-lead { margin: 12px auto 0; max-width: 62ch; color: #5f564c; text-wrap: balance; }
.rl-kick { margin: 0 0 6px !important; font-size: 11px !important; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: #bc8c3f !important; }
.rl-sub { margin: 20px 0 10px !important; font-size: 11px !important; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: #9a8a73; }
.rl-cap { margin: -4px 0 10px !important; font-size: 12px !important; letter-spacing: .04em; color: #9a8a73; }
.rl-h3 { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; color: #2a1c13; }
.rl-h3 i { color: #bc8c3f; font-size: 16px; }
.rl-h3--center { justify-content: center; margin: 44px 0 20px; }
.rl-h3--center::before, .rl-h3--center::after { content: ''; flex: 0 1 64px; height: 1px; background: #d9c8a3; }

/* sticky section nav */
.rl-nav { position: sticky; top: 76px; z-index: 30; background: rgba(250,248,242,.94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid #e6dcc4; }
.rl-nav-in { max-width: 1280px; margin: 0 auto; padding: 0 20px; display: flex; gap: clamp(16px,3vw,38px); overflow-x: auto; scrollbar-width: none; }
@media (min-width: 1024px) { .rl-nav-in { padding: 0 48px; justify-content: center; } }
.rl-nav-in::-webkit-scrollbar { display: none; }
.rl-nav a { position: relative; flex: none; padding: 15px 2px; font-size: 12px !important; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #85796a; transition: color .2s; }
.rl-nav a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: #bc8c3f; transform: scaleX(0); transition: transform .3s; }
.rl-nav a:hover, .rl-nav a.is-on { color: #2a1c13; }
.rl-nav a:hover::after, .rl-nav a.is-on::after { transform: scaleX(1); }
#rooms, #attractions, #experiences, #information, #gallery, #guest-reviews, #faq { scroll-margin-top: 130px; }

/* buttons */
.rl-btn { display: inline-flex; align-items: center; gap: 10px; padding: 13px 24px; border-radius: 999px; background: #2a1c13; color: #fff !important; font-size: 12.5px !important; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; transition: background .2s, transform .2s; }
.rl-btn:hover { background: #bc8c3f; transform: translateY(-1px); }
.rl-btn--ghost { background: transparent; color: #2a1c13 !important; border: 1px solid #2a1c13; }
.rl-btn--ghost:hover { background: #2a1c13; color: #fff !important; }
.rl-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }

/* rooms */
.rl-tabs { display: flex; gap: clamp(18px,3vw,40px); justify-content: center; overflow-x: auto; max-width: 100%; margin: 0 0 26px; border-bottom: 1px solid #e2dacc; scrollbar-width: none; }
.rl-tabs::-webkit-scrollbar { display: none; }
.rl-tabs .rp-tab { position: relative; flex: none; display: inline-flex; align-items: baseline; gap: 10px; padding: 14px 2px; border: 0; border-radius: 0; background: none; color: #85796a; cursor: pointer; transition: color .2s; box-shadow: none; }
.rl-tabs .rp-tab b { font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-weight: 400; font-size: 14px; color: #bc8c3f; }
.rl-tabs .rp-tab span { font-size: 12px !important; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; }
.rl-tabs .rp-tab::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: #bc8c3f; transform: scaleX(0); transition: transform .3s; }
.rl-tabs .rp-tab:hover, .rl-tabs .rp-tab[aria-selected="true"] { background: none; color: #2a1c13; }
.rl-tabs .rp-tab[aria-selected="true"]::after, .rl-tabs .rp-tab:hover::after { transform: scaleX(1); }
.rl-room { display: grid; gap: 26px; align-items: center; grid-template-columns: minmax(0,1fr); }
.rl-room[hidden] { display: none; }
@media (min-width: 900px) { .rl-room { grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); gap: clamp(32px,4.5vw,72px); } }
.rl-room-img { position: relative; margin: 0; overflow: hidden; border-radius: 22px 22px 22px 110px; aspect-ratio: 4/3; box-shadow: 0 34px 60px -42px rgba(49,39,33,.6); }
.rl-room-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.rl-room:hover .rl-room-img img { transform: scale(1.04); }
.rl-room-img figcaption { position: absolute; left: 18px; top: 18px; display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: rgba(31,22,16,.72); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); border: 1px solid rgba(223,197,144,.45); color: #f1dca8; font-size: 11px !important; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; line-height: 1 !important; }
@media (max-width: 899px) { .rl-room-img { border-radius: 18px 18px 18px 64px; } }
.rl-room-body h3 { margin: 0 0 10px; color: #2a1c13; }
.rl-room-desc { margin: 0; color: #5a4f45; text-align: justify; hyphens: auto; }
.rl-amen { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; }
@media (max-width: 560px) { .rl-amen { grid-template-columns: 1fr; } }
html body .rl-amen li:not(#_):not(#_) { display: flex; align-items: flex-start; gap: 10px; padding: 9px 0; border-bottom: 1px solid #f0e8d6; font-size: 14.5px !important; line-height: 1.5 !important; color: #5a4f45; }
.rl-amen i { flex: none; margin-top: 4px; color: #bc8c3f; font-size: 11px; }

/* split rows (image + copy) */
.rl-split { display: grid; gap: 24px; align-items: center; grid-template-columns: minmax(0,1fr); margin-bottom: 36px; }
@media (min-width: 900px) { .rl-split { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(32px,5vw,80px); } .rl-split--rev .rl-photo { order: 2; } }
.rl-photo { margin: 0; overflow: hidden; border-radius: 20px; box-shadow: 0 34px 56px -42px rgba(49,39,33,.6); }
.rl-photo img { display: block; width: 100%; height: clamp(260px,30vw,400px); object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.rl-photo:hover img { transform: scale(1.04); }
.rl-copy h3 { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; color: #2a1c13; }
.rl-copy h3 i { color: #bc8c3f; font-size: 17px; }
.rl-copy > p { margin: 0 0 1em; color: #5a4f45; text-align: justify; text-justify: inter-word; hyphens: auto; }
.rl-copy > p:last-child { margin-bottom: 0; }
.rl-stats { list-style: none; margin: 0 0 36px; padding: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid #d9c8a3; border-bottom: 1px solid #d9c8a3; }
html body .rl-stats li:not(#_):not(#_) { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 20px 8px; text-align: center; line-height: 1.2 !important; }
.rl-stats li + li { border-left: 1px solid #e4d6b8; }
.rl-stats strong { font-family: 'Playfair Display', Georgia, serif; font-weight: 500; font-size: clamp(28px,3.6vw,42px); line-height: 1; color: #bc8c3f; }
html body .rl-stats span:not(#_):not(#_) { font-size: 11px !important; letter-spacing: .18em; text-transform: uppercase; color: #7a7267; }
.rl-quote { position: relative; max-width: 62ch; margin: 0 auto 40px; padding: 8px 0 8px 52px; border: 0; }
.rl-quote i { position: absolute; left: 0; top: 4px; color: #d2bb8c; font-size: 30px; }
html body .rl-quote p:not(#_):not(#_) { margin: 0; font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-size: 19px !important; line-height: 1.7 !important; color: #3f382f; }
@media (max-width: 560px) { .rl-quote { padding-left: 38px; } html body .rl-quote p:not(#_):not(#_) { font-size: 17px !important; } }

/* two-column lists + chips */
.rl-two { display: grid; gap: 28px; grid-template-columns: minmax(0,1fr); }
@media (min-width: 900px) { .rl-two { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(32px,5vw,72px); } .rl-two--wide { grid-template-columns: minmax(0,1.6fr) minmax(0,1fr); } }
.rl-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
html body .rl-chips li:not(#_):not(#_) { display: inline-flex; align-items: center; gap: 9px; padding: 9px 16px; border-radius: 999px; background: #fff; border: 1px solid #e6dcc4; font-size: 14.5px !important; line-height: 1.3 !important; color: #3f382f; transition: border-color .2s, transform .2s; }
.rl-chips li:hover { border-color: #bc8c3f; transform: translateY(-2px); }
.rl-chips i { color: #bc8c3f; font-size: 12px; }
.rl-list { list-style: none; margin: 0; padding: 0; }
html body .rl-list li:not(#_):not(#_) { display: flex; align-items: center; gap: 14px; padding: 11px 0; border-bottom: 1px solid #ece4d1; font-size: 15px !important; line-height: 1.5 !important; color: #3f382f; }
.rl-list li:first-child { border-top: 1px solid #ece4d1; }
.rl-list i { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #f4ead2; color: #a8782f; font-size: 12px; }
@media (min-width: 700px) { .rl-list--cols { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 28px; } .rl-list--cols li:nth-child(2) { border-top: 1px solid #ece4d1; } }

/* experiences */
.rl-dine { display: grid; gap: 28px; grid-template-columns: minmax(0,1fr); align-items: start; }
@media (min-width: 900px) { .rl-dine { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(32px,5vw,72px); } .rl-photo--tall { position: sticky; top: 140px; } }
.rl-photo--tall img { height: clamp(300px,42vw,560px); }
.rl-lists { display: grid; gap: 30px; }
.rl-lists .rl-h3 { margin-bottom: 12px; }
.rl-fac { display: grid; gap: 22px; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid #d9c8a3; padding-top: 26px; }
@media (min-width: 1000px) { .rl-fac { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; } .rl-fac article { padding: 0 24px; } .rl-fac article + article { border-left: 1px solid #ece2cb; } .rl-fac article:first-child { padding-left: 0; } }
@media (max-width: 560px) { .rl-fac { grid-template-columns: 1fr; } }
.rl-ic { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 14px; border-radius: 50%; background: #fbf6ea; border: 1px solid #dcc79a; color: #a8782f; font-size: 19px; }
.rl-fac h3 { margin: 0 0 6px; color: #2a1c13; }
.rl-fac p { margin: 0; font-size: 15px !important; line-height: 1.7 !important; color: #6f675c; text-align: left; }
.rl-acts { display: grid; gap: 24px; grid-template-columns: minmax(0,1fr); }
@media (min-width: 640px) { .rl-acts { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (min-width: 1100px) { .rl-acts { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px 24px; } }
.rl-acts article { display: flex; flex-direction: column; min-width: 0; }
.rl-acts figure { margin: 0 0 14px; overflow: hidden; border-radius: 16px; aspect-ratio: 4/3; box-shadow: 0 22px 36px -28px rgba(49,39,33,.55); }
.rl-acts img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.2,.7,.2,1); }
.rl-acts article:hover img { transform: scale(1.06); }
.rl-act-body h3 { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; color: #2a1c13; }
.rl-act-body h3 i { flex: none; color: #bc8c3f; font-size: 15px; }
html body .rl-act-body p:not(#_):not(#_) { margin: 0; font-size: 14.5px !important; line-height: 1.7 !important; color: #6f675c; text-align: left; }

/* information */
.rl-facts { list-style: none; margin: 0 0 36px; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); background: #fff; border: 1px solid #e6dcc4; border-radius: 18px; overflow: hidden; }
@media (min-width: 900px) { .rl-facts { grid-template-columns: repeat(4,minmax(0,1fr)); } }
html body .rl-facts li:not(#_):not(#_) { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 22px 12px; text-align: center; border-right: 1px solid #efe6d0; border-bottom: 1px solid #efe6d0; line-height: 1.3 !important; }
.rl-facts i { margin-bottom: 8px; color: #bc8c3f; font-size: 18px; }
html body .rl-facts .rl-fl:not(#_):not(#_) { font-size: 10.5px !important; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: #9a8a73; }
.rl-facts strong { font-family: 'Playfair Display', Georgia, serif; font-weight: 500; font-size: 20px; color: #2a1c13; }
html body .rl-facts em:not(#_):not(#_) { font-style: normal; font-size: 13px !important; color: #7a7267; }
.rl-split--svc { margin-top: 40px; }
.rl-checks { list-style: none; margin: 0; padding: 0; }
html body .rl-checks li:not(#_):not(#_) { display: flex; align-items: flex-start; gap: 14px; padding: 13px 0; border-bottom: 1px solid #e6dcc4; font-size: 15.5px !important; line-height: 1.6 !important; color: #3f382f; }
.rl-checks li:first-child { border-top: 1px solid #e6dcc4; }
.rl-checks i { flex: none; margin-top: 4px; color: #bc8c3f; font-size: 15px; }
.rl-wild { display: grid; gap: 28px; grid-template-columns: minmax(0,1fr); padding: clamp(22px,3vw,36px); background: #fff; border: 1px solid #e6dcc4; border-radius: 22px; align-items: center; }
@media (min-width: 900px) { .rl-wild { grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: clamp(28px,4vw,56px); } }
.rl-wild h3 { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; color: #2a1c13; }
.rl-wild h3 i { color: #bc8c3f; font-size: 17px; }
.rl-wild dl { margin: 0; }
.rl-wild dl > div { padding: 12px 0; border-bottom: 1px solid #ece4d1; }
.rl-wild dl > div:first-child { border-top: 1px solid #ece4d1; }
.rl-wild dt { margin: 0 0 3px; font-size: 11px !important; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: #bc8c3f; }
.rl-wild dd { margin: 0; font-size: 15px !important; line-height: 1.65 !important; color: #3f382f; }
.rl-species { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
html body .rl-species li:not(#_):not(#_) { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border-radius: 999px; background: #f7f1e3; border: 1px solid #ecdfbf; font-size: 13px !important; font-weight: 600; color: #6b5a3e; line-height: 1.3 !important; }
.rl-species i { color: #bc8c3f; font-size: 11px; }
.rl-wild-imgs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.rl-wild-imgs figure { margin: 0; overflow: hidden; border-radius: 14px; aspect-ratio: 4/3; }
.rl-wild-imgs img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.2,.7,.2,1); }
.rl-wild-imgs figure:hover img { transform: scale(1.06); }

/* gallery / reviews keep their own CSS; align spacing */
#gallery.rp-sec, #guest-reviews.rp-rev { padding-top: 40px !important; padding-bottom: 40px !important; }

/* ===== Rooms v2 — arch photo, large numerals, bold selector ===== */
#rooms { background: linear-gradient(180deg,#fff 0%,#fbf8f0 100%); }
.rl-tabs { gap: 0; justify-content: center; border-bottom: 0; margin-bottom: 34px; padding: 6px; background: #f6f0e0; border: 1px solid #e6d8b4; border-radius: 999px; width: fit-content; max-width: 100%; margin-left: auto; margin-right: auto; }
.rl-tabs .rp-tab { gap: 10px; padding: 13px 24px; border-radius: 999px; transition: background .25s, color .25s, box-shadow .25s; }
.rl-tabs .rp-tab::after { display: none; }
.rl-tabs .rp-tab b { font-size: 15px; font-weight: 600; }
html body .rl-tabs .rp-tab span:not(#_):not(#_) { font-size: 12.5px !important; font-weight: 800; letter-spacing: .12em; color: #5a4a3a; }
.rl-tabs .rp-tab:hover { background: rgba(255,255,255,.7); }
.rl-tabs .rp-tab[aria-selected="true"] { background: #2a1c13; box-shadow: 0 12px 22px -12px rgba(42,28,19,.7); }
html body .rl-tabs .rp-tab[aria-selected="true"] span:not(#_):not(#_) { color: #fff; }
.rl-tabs .rp-tab[aria-selected="true"] b { color: #e8bd55; }
@media (max-width: 767px) { .rl-tabs { border-radius: 18px; justify-content: flex-start; width: auto; } .rl-tabs .rp-tab { padding: 11px 16px; } }

.rl-room { align-items: center; }
@media (min-width: 900px) { .rl-room { grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap: clamp(40px,6vw,96px); } }
.rl-room-img { position: relative; overflow: visible; border-radius: 0; aspect-ratio: auto; box-shadow: none; max-width: 520px; width: 100%; margin: 0 auto; }
.rl-room-img::before { content: ''; position: absolute; inset: 0; transform: translate(18px,18px); border: 1px solid #cfae6b; border-radius: 999px 999px 26px 26px; pointer-events: none; }
.rl-room-img img { position: relative; display: block; width: 100%; aspect-ratio: 4/5; height: auto; object-fit: cover; border-radius: 999px 999px 26px 26px; box-shadow: 0 40px 70px -44px rgba(49,39,33,.7); }
.rl-room-img figcaption { left: 50%; top: auto; bottom: 22px; transform: translateX(-50%); white-space: nowrap; background: rgba(31,22,16,.78); }
@media (max-width: 899px) { .rl-room-img { max-width: 420px; } .rl-room-img::before { transform: translate(12px,12px); } }

.rl-room-body { position: relative; }
.rl-num { position: absolute; right: 0; top: -34px; font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-size: clamp(90px,10vw,150px); line-height: 1; color: rgba(188,140,63,.14); pointer-events: none; user-select: none; }
.rl-room-body .rl-kick { display: flex; align-items: center; gap: 14px; }
.rl-room-body .rl-kick span { width: 40px; height: 1px; background: #bc8c3f; }
.rl-room-body h3 { position: relative; margin: 0 0 14px; font-size: clamp(26px,2.6vw,32px) !important; }
.rl-room-desc { position: relative; max-width: 58ch; font-size: 16px; line-height: 1.85; }
.rl-sub { display: flex; align-items: center; gap: 14px; margin: 26px 0 8px !important; color: #8a5a22; }
.rl-sub::after { content: ''; flex: 1; height: 1px; background: #e6d8b4; }
.rl-amen { gap: 0 36px; }
.rl-amen li:nth-child(-n+2) { border-top: 1px solid #f0e8d6; }
.rl-amen i { display: grid; place-items: center; width: 20px; height: 20px; margin-top: 1px; border-radius: 50%; background: #f4ead2; font-size: 9px; }
.rl-actions { margin-top: 28px; }
.rl-times { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 22px 0 0 !important; font-size: 13px !important; color: #7a7267; }
.rl-times i { color: #bc8c3f; }
.rl-times b { color: #2a1c13; font-weight: 600; }
.rl-times span { color: #d2bb8c; }

/* ===== Rooms v3 — plain underline tabs (bold) + soft-rounded square photo matching the copy height ===== */
.rl-tabs { gap: clamp(18px,3vw,40px); justify-content: center; padding: 0; background: none; border: 0; border-bottom: 1px solid #e2dacc; border-radius: 0; width: auto; margin: 0 0 30px; }
.rl-tabs .rp-tab { padding: 14px 2px; border-radius: 0; background: none !important; box-shadow: none !important; }
.rl-tabs .rp-tab::after { display: block; }
.rl-tabs .rp-tab:hover { background: none; }
html body .rl-tabs .rp-tab span:not(#_):not(#_), html body .rl-tabs .rp-tab[aria-selected="true"] span:not(#_):not(#_) { font-weight: 800; color: #85796a; letter-spacing: .12em; }
html body .rl-tabs .rp-tab[aria-selected="true"] span:not(#_):not(#_), html body .rl-tabs .rp-tab:hover span:not(#_):not(#_) { color: #2a1c13; }
.rl-tabs .rp-tab[aria-selected="true"] b { color: #bc8c3f; }
@media (max-width: 767px) { .rl-tabs { justify-content: flex-start; border-radius: 0; } .rl-tabs .rp-tab { padding: 12px 2px; } }

.rl-room { align-items: stretch; }
@media (min-width: 900px) { .rl-room { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(32px,4.5vw,72px); } }
.rl-room-img { max-width: none; margin: 0; display: flex; }
.rl-room-img::before { display: none; }
.rl-room-img img { width: 100%; height: 100%; min-height: 320px; aspect-ratio: auto; border-radius: 22px; box-shadow: 0 34px 56px -42px rgba(49,39,33,.6); }
@media (max-width: 899px) { .rl-room-img img { height: auto; aspect-ratio: 1/1; } }
.rl-room-img figcaption { left: 18px; top: 18px; bottom: auto; transform: none; }

/* ===== Attractions v2 — chapters, large numerals, directory lists ===== */
.rl-at .rl-head { margin-bottom: 34px; }
.rl-chap { display: grid; gap: 28px; align-items: stretch; grid-template-columns: minmax(0,1fr); margin-bottom: clamp(34px,4.5vw,56px); }
@media (min-width: 900px) { .rl-chap { grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: clamp(36px,5vw,84px); } .rl-chap--rev { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); } }
.rl-chap-copy { align-self: center; }
.rl-chap-n { display: flex; align-items: center; gap: 14px; margin: 0 0 18px !important; }
.rl-chap-n i { font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-weight: 400; font-size: 26px; line-height: 1; color: #bc8c3f; }
html body .rl-chap-n span:not(#_):not(#_) { font-size: 11.5px !important; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; color: #2a1c13; }
.rl-chap-n::after { content: ''; flex: 1; max-width: 90px; height: 1px; background: #cdb27a; }
.rl-chap-n--c { justify-content: center; margin-bottom: 26px !important; }
.rl-chap-n--c::before { content: ''; flex: 0 1 90px; height: 1px; background: #cdb27a; }
.rl-chap-copy > p:not(.rl-chap-n):not(.rl-lede) { margin: 0 0 1em; color: #5a4f45; text-align: justify; text-justify: inter-word; hyphens: auto; }
html body .rl-lede:not(#_):not(#_) { margin: 0 0 1.1em; font-family: 'Playfair Display', Georgia, serif; font-size: clamp(19px,1.7vw,23px) !important; line-height: 1.6 !important; color: #2a1c13; text-align: left; }
.rl-chap-img { margin: 0; overflow: hidden; border-radius: 22px; box-shadow: 0 34px 56px -42px rgba(49,39,33,.6); display: flex; }
.rl-chap-img img { width: 100%; height: 100%; min-height: 300px; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.rl-chap:hover .rl-chap-img img { transform: scale(1.04); }
@media (max-width: 899px) { .rl-chap-img img { height: auto; aspect-ratio: 1/1; } .rl-chap--rev .rl-chap-img { order: -1; } }

.rl-big { list-style: none; margin: 0 0 22px; padding: 18px 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid #d9c8a3; border-bottom: 1px solid #d9c8a3; }
html body .rl-big li:not(#_):not(#_) { display: flex; flex-direction: column; gap: 6px; padding: 0 12px; line-height: 1.2 !important; }
.rl-big li:first-child { padding-left: 0; }
.rl-big li + li { border-left: 1px solid #e4d6b8; }
.rl-big strong { font-family: 'Playfair Display', Georgia, serif; font-weight: 500; font-size: clamp(30px,3.6vw,46px); line-height: 1; color: #bc8c3f; }
html body .rl-big span:not(#_):not(#_) { font-size: 11px !important; letter-spacing: .18em; text-transform: uppercase; color: #7a7267; }

.rl-pause { position: relative; max-width: 66ch; margin: 0 auto clamp(34px,4.5vw,56px); padding: 28px 20px 24px; text-align: center; border: 0; border-top: 1px solid #d9c8a3; border-bottom: 1px solid #d9c8a3; }
.rl-pause > span { position: absolute; left: 50%; top: -22px; transform: translateX(-50%); width: 44px; height: 44px; display: grid; place-items: center; background: #f3efe2; font-family: 'Playfair Display', Georgia, serif; font-size: 54px; line-height: 1; padding-top: 18px; color: #bc8c3f; }
html body .rl-pause p:not(#_):not(#_) { margin: 0; font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-size: clamp(17px,1.6vw,20px) !important; line-height: 1.75 !important; color: #3f382f; text-align: center; }

.rl-dir { display: grid; gap: 28px; grid-template-columns: minmax(0,1fr); }
@media (min-width: 900px) { .rl-dir { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 0; } .rl-dir > section:first-child { padding-right: clamp(28px,4vw,64px); border-right: 1px solid #dccfae; } .rl-dir > section:last-child { padding-left: clamp(28px,4vw,64px); } }
.rl-dir-h { margin: 0 0 8px; padding-bottom: 12px; border-bottom: 1px solid #2a1c13; color: #2a1c13; }
.rl-dir-list { list-style: none; margin: 0; padding: 0; }
html body .rl-dir-list li:not(#_):not(#_) { display: flex; align-items: baseline; gap: 12px; padding: 12px 0; font-size: 16px !important; line-height: 1.4 !important; color: #2a1c13; transition: padding .25s; }
.rl-dir-list li:hover { padding-left: 6px; }
.rl-dir-list b { flex: none; min-width: 26px; font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-weight: 400; font-size: 15px; color: #bc8c3f; }
.rl-dir-n { font-weight: 500; }
.rl-dir-dots { flex: 1; min-width: 14px; border-bottom: 1px dotted #b9a67c; transform: translateY(-4px); }
html body .rl-dir-list em:not(#_):not(#_) { font-style: normal; font-size: 10.5px !important; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: #8a5a22; }

/* ===== Attractions v3 — compact tabs, one panel at a time ===== */
.rl-at .rl-head { margin-bottom: 18px; }
.rl-atp { display: grid; gap: 26px; align-items: stretch; grid-template-columns: minmax(0,1fr); }
.rl-atp[hidden] { display: none; }
@media (min-width: 900px) { .rl-atp { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(32px,4.5vw,72px); } }
.rl-atp-img { margin: 0; align-self: center; overflow: hidden; border-radius: 22px; box-shadow: 0 34px 56px -42px rgba(49,39,33,.6); }
.rl-atp-img img { display: block; width: 100%; height: auto; max-height: 500px; min-height: 0; object-fit: contain; }
.rl-photo-credit { padding: 8px 12px; background: #eee7d8; color: #6d6252; font-size: 11px; line-height: 1.5; }
.rl-photo-credit a { text-decoration: underline; text-underline-offset: 2px; }
html body .rl-list li:not(#_):not(#_):not(#_) { text-align: left !important; hyphens: none; }
html body .rl-head .rl-lead:not(#_):not(#_):not(#_) { text-align: center !important; text-align-last: center; }
#guest-reviews .rg-text p { -webkit-line-clamp: 5; }
#guest-reviews .rg-text.is-open p { -webkit-line-clamp: unset; }
/* Place names form a short list, never narrow columns of paragraph copy. */
.rl-grid3--places { grid-template-columns: repeat(2, minmax(0, 1fr)); }
html body .rl-grid3 li:not(#_):not(#_) { text-align: left !important; hyphens: none; }
@media (max-width: 599px) { .rl-grid3--places { grid-template-columns: minmax(0, 1fr); } }
.rl-atp-body { align-self: center; }
.rl-atp-body > p:not(.rl-kick):not(.rl-lede) { margin: 0 0 1em; color: #5a4f45; text-align: justify; text-justify: inter-word; hyphens: auto; }
.rl-atp-body .rl-kick { display: flex; align-items: center; gap: 14px; margin-bottom: 14px !important; }
.rl-atp-body .rl-kick span { width: 40px; height: 1px; background: #bc8c3f; }
html body .rl-lede--s:not(#_):not(#_) { font-size: 17px !important; font-style: italic; color: #3f382f; margin-bottom: 18px; }
.rl-grid3 { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 28px; counter-reset: g; }
@media (min-width: 1500px) { .rl-grid3 { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 420px) { .rl-grid3 { grid-template-columns: 1fr; } }
html body .rl-grid3 li:not(#_):not(#_) { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid #e2d6b8; font-size: 15.5px !important; line-height: 1.4 !important; font-weight: 500; color: #2a1c13; }
.rl-grid3 li:nth-child(-n+3) { border-top: 1px solid #e2d6b8; }
@media (max-width: 1499px) { .rl-grid3 li:nth-child(3) { border-top: 0; } .rl-grid3 li:nth-child(2) { border-top: 1px solid #e2d6b8; } }
.rl-grid3 b { flex: none; font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-weight: 400; font-size: 14px; color: #bc8c3f; }
.rl-grid3 i { flex: none; width: 18px; text-align: center; color: #bc8c3f; font-size: 13px; }

/* ===== Experiences v2 — tabs: experiences / dining / facilities / activities carousel ===== */
.rl-ex .rl-head { margin-bottom: 18px; }
.rl-atp-body--two { display: grid; gap: 26px; grid-template-columns: minmax(0,1fr); }
@media (min-width: 1200px) { .rl-atp-body--two { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 32px; } }
.rl-atp-body--two .rl-cap { margin: -6px 0 8px !important; }
@media (min-width: 700px) { .rl-list--two { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 28px; } .rl-list--two li:nth-child(2) { border-top: 1px solid #ece4d1; } }
.rl-facs { display: grid; gap: 0 28px; grid-template-columns: minmax(0,1fr); }
@media (min-width: 1100px) { .rl-facs { grid-template-columns: repeat(2,minmax(0,1fr)); } }
.rl-facs article { display: flex; gap: 14px; align-items: flex-start; padding: 16px 0; border-bottom: 1px solid #ece4d1; }
.rl-facs article:first-child { border-top: 1px solid #ece4d1; }
@media (min-width: 1100px) { .rl-facs article:nth-child(2) { border-top: 1px solid #ece4d1; } }
.rl-facs .rl-ic { flex: none; width: 44px; height: 44px; margin: 0; font-size: 16px; }
.rl-facs h3 { margin: 0 0 4px; color: #2a1c13; }
html body .rl-facs p:not(#_):not(#_) { margin: 0; font-size: 14.5px !important; line-height: 1.65 !important; color: #6f675c; text-align: left; }

.rl-actwrap[hidden] { display: none; }
.rl-car { display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 4px 2px 8px; outline: none; }
.rl-car::-webkit-scrollbar { display: none; }
.rl-car article { flex: 0 0 min(300px, 82%); scroll-snap-align: start; display: flex; flex-direction: column; min-width: 0; }
.rl-car figure { margin: 0 0 14px; overflow: hidden; border-radius: 16px; aspect-ratio: 4/3; box-shadow: 0 22px 36px -28px rgba(49,39,33,.55); }
.rl-car img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.2,.7,.2,1); }
.rl-car article:hover img { transform: scale(1.06); }
.rl-car-ctrl { display: flex; justify-content: center; gap: 12px; margin-top: 18px; }
.rl-car-ctrl button { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; border: 1px solid #2a1c13; background: transparent; color: #2a1c13; cursor: pointer; transition: background .2s, color .2s; }
.rl-car-ctrl button:hover { background: #2a1c13; color: #fff; }

/* ===== Information v2 — open fact sheet + tabs (stay / services / wildlife) ===== */
.rl-in .rl-head { margin-bottom: 22px; }
.rl-facts--open { background: none; border: 0; border-top: 1px solid #d9c8a3; border-bottom: 1px solid #d9c8a3; border-radius: 0; margin: 0 0 32px; overflow: visible; }
html body .rl-facts--open li:not(#_):not(#_) { border-color: #e4d6b8; padding: 22px 12px; }
@media (min-width: 900px) { .rl-facts--open li:nth-child(4n) { border-right: 0; } .rl-facts--open li:nth-child(n+5) { border-bottom: 0; } }
@media (max-width: 899px) { .rl-facts--open li:nth-child(2n) { border-right: 0; } .rl-facts--open li:nth-child(n+7) { border-bottom: 0; } }
.rl-kick--gap { margin-top: 26px !important; }
.rl-tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
html body .rl-tags li:not(#_):not(#_) { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: #fff; border: 1px solid #e6dcc4; font-size: 14px !important; line-height: 1.3 !important; color: #3f382f; }
.rl-tags i { color: #bc8c3f; font-size: 11px; }
.rl-dl { margin: 0 0 16px; }
.rl-dl > div { padding: 11px 0; border-bottom: 1px solid #e2d6b8; }
.rl-dl > div:first-child { border-top: 1px solid #e2d6b8; }
.rl-dl dt { margin: 0 0 3px; font-size: 11px !important; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: #bc8c3f; }
.rl-dl dd { margin: 0; font-size: 15px !important; line-height: 1.6 !important; color: #3f382f; }
.rl-wild-imgs--l { align-self: stretch; }
.rl-wild-imgs--l figure { aspect-ratio: auto; min-height: 150px; }
.rl-in .rl-atp-body .rl-list li { background: none; }

/* ===== Even copy: one type size, left-aligned, no hyphen breaks ===== */
html body .rl-atp-body p:not(.rl-kick):not(.rl-cap):not(#_):not(#_), html body .rl-room-desc:not(#_):not(#_) { font-family: 'DM Sans', Arial, sans-serif; font-size: 16px !important; line-height: 1.85 !important; color: #5a4f45; text-align: left; hyphens: manual; -webkit-hyphens: manual; margin: 0 0 1em; }
html body .rl-atp-body .rl-lede:not(#_):not(#_) { font-family: 'DM Sans', Arial, sans-serif; font-size: 16px !important; line-height: 1.85 !important; color: #3f382f; font-style: normal; padding-left: 18px; border-left: 2px solid #d9c08f; margin-bottom: 1.2em; }
html body .rl-atp-body .rl-lede--s:not(#_):not(#_) { font-style: italic; }

/* Justified copy (no hyphen breaks) */
html body .rl-atp-body p:not(.rl-kick):not(.rl-cap):not(#_):not(#_), html body .rl-room-desc:not(#_):not(#_) { text-align: justify; text-justify: inter-word; hyphens: manual; -webkit-hyphens: manual; }
html body .rl-atp-body .rl-lede--s:not(#_):not(#_) { text-align: left; }

/* ===== Information v3 — spec sheet beside a photo, three even columns, wildlife row ===== */
.rl-in .rl-head { margin-bottom: 26px; }
.rl-spec { display: grid; gap: 26px; grid-template-columns: minmax(0,1fr); align-items: stretch; margin-bottom: clamp(30px,4vw,46px); }
@media (min-width: 900px) { .rl-spec { grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: clamp(32px,4.5vw,72px); } }
.rl-spec .rl-atp-img img { min-height: 280px; }
@media (max-width: 899px) { .rl-spec .rl-atp-img img { height: auto; aspect-ratio: 16/10; } }
.rl-spec-table .rl-kick { display: flex; align-items: center; gap: 14px; margin-bottom: 8px !important; }
.rl-spec-table .rl-kick span { width: 40px; height: 1px; background: #bc8c3f; }
.rl-spec-dl { margin: 0; }
.rl-spec-dl > div { display: grid; grid-template-columns: minmax(150px,.8fr) minmax(0,1.2fr); gap: 16px; align-items: baseline; padding: 13px 0; border-bottom: 1px solid #e0d3b3; }
.rl-spec-dl > div:first-child { border-top: 1px solid #2a1c13; }
.rl-spec-dl dt { display: flex; align-items: center; gap: 12px; margin: 0; font-size: 11.5px !important; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #8a5a22; }
.rl-spec-dl dt i { width: 16px; text-align: center; color: #bc8c3f; font-size: 13px; }
.rl-spec-dl dd { margin: 0; font-family: 'Playfair Display', Georgia, serif; font-size: 18px !important; line-height: 1.4 !important; color: #2a1c13; }
@media (max-width: 479px) { .rl-spec-dl > div { grid-template-columns: 1fr; gap: 4px; } }

.rl-cols3 { display: grid; gap: 30px; grid-template-columns: minmax(0,1fr); margin-bottom: clamp(30px,4vw,46px); }
@media (min-width: 900px) { .rl-cols3 { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; } .rl-cols3 > section { padding: 0 clamp(18px,2.4vw,36px); } .rl-cols3 > section:first-child { padding-left: 0; } .rl-cols3 > section:last-child { padding-right: 0; } .rl-cols3 > section + section { border-left: 1px solid #dccfae; } }
.rl-col-h { display: flex; align-items: center; gap: 12px; margin: 0 0 8px; padding-bottom: 12px; border-bottom: 1px solid #2a1c13; font-size: 19px !important; color: #2a1c13; }
.rl-col-h i { color: #bc8c3f; font-size: 15px; }
html body .rl-cols3 .rl-list li:not(#_):not(#_) { font-size: 15px !important; align-items: flex-start; }
.rl-cols3 .rl-list li:first-child { border-top: 0; }
.rl-list--check i { background: none; color: #bc8c3f; width: 18px; height: 18px; margin-top: 2px; font-size: 12px; }

.rl-wl { display: grid; gap: 26px; grid-template-columns: minmax(0,1fr); align-items: center; padding-top: clamp(26px,3.4vw,40px); border-top: 1px solid #d9c8a3; }
@media (min-width: 900px) { .rl-wl { grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: clamp(32px,4.5vw,72px); } }
.rl-wl .rl-kick { display: flex; align-items: center; gap: 14px; margin-bottom: 10px !important; }
.rl-wl .rl-kick span { width: 40px; height: 1px; background: #bc8c3f; }

/* Information: balanced rows — accommodation full width in two even columns, then nearby | services */
.rl-cols3 { grid-template-columns: minmax(0,1fr); gap: 34px 0; }
@media (min-width: 900px) {
  .rl-cols3 { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 34px 0; }
  .rl-cols3 > section:first-child { grid-column: 1 / -1; padding: 0; }
  .rl-cols3 > section:nth-child(2) { padding: 0 clamp(24px,3.5vw,56px) 0 0; border-left: 0; }
  .rl-cols3 > section:nth-child(3) { padding: 0 0 0 clamp(24px,3.5vw,56px); border-left: 1px solid #dccfae; }
}
@media (min-width: 700px) {
  .rl-cols3 > section:first-child .rl-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-flow: column; grid-template-rows: repeat(5,auto); column-gap: clamp(28px,4vw,64px); }
}

/* ===== Mobile / tablet intro (below the 1200px desktop composition) ===== */
@media (max-width: 1199px) {
  #overview .ot-inner { padding-top: 5.4rem; }
  #overview .ot-label { font-size: .72rem; letter-spacing: .16em; line-height: 1.5; }
  #overview .ot-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; }
  #overview .ot-btn { justify-content: center; gap: .5rem; padding: .85rem .9rem; font-size: .86rem; white-space: nowrap; }
  #overview .ot-feats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; margin-top: 1.4rem; padding: 1.1rem 0 0; }
  #overview .ot-feats li { flex-direction: column; justify-content: flex-start; text-align: center; gap: .5rem; padding: 0 .5rem; font-size: .8rem; }
  #overview .ot-feats li:first-child { padding-left: .5rem; }
  #overview .ot-feats i { font-size: 1.35rem; }
}
@media (min-width: 640px) and (max-width: 1199px) { #overview .ot-inner { padding-top: 4rem; } #overview .ot-actions { display: flex; } #overview .ot-feats { max-width: 34rem; } }
@media (max-width: 479px) { #overview .ot-btn { font-size: .8rem; padding: .85rem .5rem; gap: .4rem; } #overview .ot-btn i { display: none; } #overview .ot-feats li span br { display: none; } }

/* Mobile: tabs wrap into an even 2-column grid so every tab is visible (no hidden sideways scroll) */
@media (max-width: 640px) {
  .rl-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 14px; overflow: visible; border-bottom: 0; margin-bottom: 22px; }
  .rl-tabs .rp-tab { justify-content: flex-start; align-items: baseline; padding: 12px 2px; border-bottom: 1px solid #e2dacc; white-space: normal; text-align: left; }
  .rl-tabs .rp-tab::after { bottom: -1px; }
  html body .rl-tabs .rp-tab span:not(#_):not(#_) { white-space: normal; font-size: 11.5px !important; letter-spacing: .1em; line-height: 1.35; }
}

/* Facility and activity titles are H3 (no skipped heading level); keep the earlier H4 size. */
html body .rl-fac h3:not(#_):not(#_), html body .rl-facs h3:not(#_):not(#_), html body .rl-act-body h3:not(#_):not(#_) { font-size: 19.2px !important; line-height: 1.3 !important; }

/* ===== Activities: sticky resort photo on the left, activity list scrolls on the right ===== */
.rl-actsplit { display: grid; gap: 26px; grid-template-columns: minmax(0,1fr); align-items: start; }
@media (min-width: 900px) { .rl-actsplit { grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); gap: clamp(32px,4.5vw,72px); } }
.rl-actimg { margin: 0; overflow: hidden; border-radius: 22px; box-shadow: 0 34px 60px -42px rgba(49,39,33,.6); }
.rl-actimg img { display: block; width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4/3; }
@media (min-width: 900px) {
  .rl-actimg { position: sticky; top: 110px; height: min(620px, calc(100vh - 150px)); }
  .rl-actimg img { aspect-ratio: auto; }
}
.rl-actlist { list-style: none; margin: 0; padding: 0; counter-reset: act; }
.rl-actlist li { display: flex; gap: 18px; align-items: flex-start; padding: 22px 0; border-bottom: 1px solid #dccfae; }
.rl-actlist li:first-child { padding-top: 4px; }
.rl-actlist li:last-child { border-bottom: 0; padding-bottom: 0; }
.rl-actic { flex: none; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: #2a1c13; color: #e8bd55; font-size: 19px; box-shadow: 0 0 0 4px #f3efe2, 0 0 0 5px #cfae6b; margin-top: 2px; }
.rl-actlist h3 { margin: 0 0 6px; color: #2a1c13; }
html body .rl-actlist h3:not(#_):not(#_) { font-size: 21px !important; line-height: 1.25 !important; }
html body .rl-actlist p:not(#_):not(#_) { margin: 0; font-size: 15.5px !important; line-height: 1.75 !important; color: #5a4d43; text-align: left; }
@media (max-width: 639px) { .rl-actlist li { gap: 14px; padding: 18px 0; } .rl-actic { width: 44px; height: 44px; font-size: 16px; } html body .rl-actlist h3:not(#_):not(#_) { font-size: 19px !important; } }

/* ===== Fact sheet tab: compact dark "at a glance" panel with the tiger photo ===== */
.rl-atp.rl-glance { gap: 0; padding: 0; overflow: hidden; border-radius: 24px; background: radial-gradient(70% 60% at 90% 0, rgba(232,189,85,.14), transparent 60%), #241912; border: 1px solid #bc8c3f; box-shadow: inset 0 0 0 5px #241912, inset 0 0 0 6px rgba(232,189,85,.3), 0 34px 56px -40px rgba(30,16,8,.8); }
@media (min-width: 900px) { .rl-atp.rl-glance { grid-template-columns: minmax(0,.62fr) minmax(0,1.38fr); } }
.rl-gl-fig { position: relative; margin: 0; min-height: 320px; }
.rl-gl-fig img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.rl-gl-fig::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(20,12,6,.88)); }
.rl-gl-fig figcaption { position: absolute; z-index: 1; left: 22px; right: 22px; bottom: 20px; color: #f1e6cc; font-size: 14px; line-height: 1.5; }
.rl-gl-fig figcaption b { color: #e8bd55; font-family: 'Playfair Display', Georgia, serif; font-size: 19px; }
.rl-gl-body { padding: clamp(26px,3.4vw,46px); align-self: center; }
.rl-gl-kick { margin: 0 0 6px; color: #e8bd55; font-family: 'Caveat', cursive; font-size: 24px; line-height: 1.1; }
html body .rl-gl-title:not(#_):not(#_) { margin: 0 0 22px; color: #f6ead0; font-size: 30px !important; line-height: 1.15 !important; }
.rl-gl-grid { margin: 0; display: grid; gap: 12px; grid-template-columns: minmax(0,1fr); }
@media (min-width: 640px) { .rl-gl-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
.rl-gl-grid > div { padding: 14px 16px; border-radius: 14px; background: rgba(255,255,255,.05); border: 1px solid rgba(232,189,85,.22); }
.rl-gl-grid dt { display: flex; align-items: center; gap: 9px; margin: 0 0 5px; color: #e8bd55; font-size: 11px !important; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.rl-gl-grid dt i { width: 14px; text-align: center; font-size: 12px; }
html body .rl-gl-grid dd:not(#_):not(#_) { margin: 0; color: #f6ead0; font-family: 'Playfair Display', Georgia, serif; font-size: 16.5px !important; line-height: 1.4 !important; }
@media (max-width: 899px) { .rl-gl-fig { min-height: 0; aspect-ratio: 4/3; } .rl-gl-fig img { object-position: 50% 25%; } }
html body h3.rl-gl-title:not(#_):not(#_) { color: #f6ead0 !important; }
