/* Hotel portfolios, using the footer's light framed surfaces. */
.hotel-residences{position:relative;padding:78px 0 54px;background:linear-gradient(160deg,#fafcf9,#f1f7f4 62%,#f7faf7);isolation:isolate;scroll-margin-top:100px;overflow:hidden}.hotel-residences:before{content:"";position:absolute;top:-90px;inset-inline-end:-210px;width:420px;height:420px;border:1px solid #c9ddd14f;border-radius:50%;box-shadow:0 0 0 35px #cfdfd410,0 0 0 70px #cfdfd40a;z-index:-1;pointer-events:none}.hg-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:end;margin-bottom:29px}.hg-heading .eyebrow{font-size:10px;line-height:1.8;color:#63877e;margin-bottom:13px}.hg-heading h2{font-size:clamp(29px,3vw,41px);font-weight:700;line-height:1.65;letter-spacing:-.7px;margin:0;color:#0a2e4d}.hg-heading h2 em{font-style:normal;color:#0e7c77}.hg-intro{max-width:370px;justify-self:end;padding-bottom:7px}.hg-intro p{font-size:12px;line-height:2.1;color:#6a7d7d;margin:0}.hg-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:11px 14px;margin-bottom:26px;border:1px solid #fff;border-radius:17px;background:#ffffffae;box-shadow:0 7px 30px #0a2e4d03;backdrop-filter:blur(15px)}.hg-filters{display:flex;align-items:center;gap:6px}.hg-filters button{display:flex;align-items:center;justify-content:center;gap:9px;padding:10px 23px;min-height:42px;background:none;border:1px solid transparent;border-radius:12px;color:#6f8280;font:600 11px/1.7 Cairo,sans-serif;cursor:pointer;transition:background .2s,color .2s}.hg-filters button[aria-pressed=true]{background:#0a2e4d;color:white;box-shadow:0 4px 12px #0a2e4d10}.hg-filters button:hover:not([aria-pressed=true]){background:#edf5ef;color:#0e7c77}.hg-filters small{font:10px/1 Poppins,sans-serif;opacity:.6}.hg-all{font-size:11px;text-decoration:none;color:#406b60;border-bottom:1px solid #bbd1c4;margin-inline-end:12px;padding:4px 0;white-space:nowrap}.hg-grid{display:grid;gap:24px}.hg-hotel{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:0;position:relative;padding:10px;border:1px solid #fff;background:#ffffffd9;box-shadow:0 12px 38px #0a2e4d05;border-radius:27px;min-width:0;transition:border-color .3s,box-shadow .3s}.hg-hotel:hover{border-color:#c7dfd2;box-shadow:0 15px 40px #0a2e4d09}.hg-hotel[hidden]{display:none!important}.hg-photo{display:block;min-width:0;min-height:318px;position:relative;overflow:hidden;border-radius:19px;background:#e4eee8;align-self:stretch}.hg-photo img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}.hg-info{display:flex;flex-direction:column;min-width:0;padding:22px 29px 20px}.hg-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 22px}.hg-city{display:inline-flex;align-items:center;gap:6px;font:500 10px/1.7 Cairo,sans-serif;color:#608578;border:1px solid #deebe2;background:#f4f9f4;padding:5px 11px;border-radius:8px}.hg-pin{color:#0e7c77;font:17px/1 Arial,sans-serif}.hg-meta .hotel-star-rating{margin:0;gap:7px;flex-shrink:0}.hg-meta .hotel-star-icons{font-size:12px;letter-spacing:1.6px}.hg-meta .hotel-star-label{font-size:9px}.hg-brand{font:500 9px/1.5 Poppins,sans-serif;color:#8aa093;letter-spacing:2px;margin:0 0 5px}.hg-title-row{margin:0 0 10px}.hg-title-row a{color:#0a2e4d;text-decoration:none}.hg-title-row h3{font:700 25px/1.7 Cairo,sans-serif;letter-spacing:-.4px;margin:0}.hg-info>p{font-size:12px;line-height:2.1;color:#6d8080;margin:0 0 17px;max-width:610px}.hg-features{display:flex;gap:7px;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 20px}.hg-features li{display:flex;gap:5px;align-items:center;background:#f4f8f3;border:1px solid #e3ece3;border-radius:7px;padding:4px 9px;color:#638073;font-size:9px;line-height:1.8}.hg-features li>[aria-hidden]{font-size:14px;color:#79a495}.hg-actions{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:17px;border-top:1px solid #e4ece4}.hg-actions .button{font-size:11px;min-height:40px;padding:9px 27px;border-radius:11px}.hg-enquire{display:flex;align-items:center;justify-content:center;min-height:40px;padding:9px 20px;border:1px solid #cbded1;border-radius:11px;background:#fff7;color:#4b7465;font-size:10px;line-height:1.8;text-decoration:none;transition:background .25s,border-color .25s}.hg-enquire:hover{background:#e9f3ed;border-color:#95baa5}.hg-note{font-size:10px;line-height:2;color:#7c9388;margin:25px 0 0;text-align:center}.hotel-residences :is(a,button):focus-visible{outline:2px solid #0e7c77;outline-offset:4px}.hg-hotel.hg-appear{animation:hg-enter .3s ease-out}@keyframes hg-enter{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}html[lang=en] .hg-heading h2{font-size:clamp(28px,2.7vw,38px);line-height:1.4}html[lang=en] .hg-title-row h3{font-family:Poppins,sans-serif;font-size:23px;line-height:1.5}html[lang=en] .hg-info>p{font-size:12px;line-height:1.9}html[lang=en] .hg-meta{margin-bottom:17px}
@media(min-width:1500px){.hg-info{padding:28px 35px 25px}.hg-photo{min-height:345px}.hg-title-row h3{font-size:28px}.hg-info>p{font-size:13px}.hg-features li{font-size:10px}}
@media(max-width:1100px){.hg-info{padding:20px 22px}.hg-photo{min-height:325px}.hg-heading{gap:40px}.hg-title-row h3{font-size:22px}.hg-info>p{font-size:11px}.hg-meta{margin-bottom:17px}.hg-meta .hotel-star-label{display:none}.hg-features{gap:6px;margin-bottom:17px}.hg-features li{font-size:8px;padding:4px 7px}.hg-actions .button{font-size:10px;padding:9px 22px}.hg-enquire{font-size:9px;padding:9px 15px}html[lang=en] .hg-title-row h3{font-size:20px}html[lang=en] .hg-info>p{font-size:11px}}
@media(max-width:800px){.hotel-residences{padding-top:60px}.hg-hotel{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);padding:8px;border-radius:23px}.hg-photo{border-radius:16px;min-height:320px}.hg-info{padding:16px 18px}.hg-title-row h3{font-size:20px}.hg-heading h2{font-size:31px}.hg-heading .eyebrow{font-size:9px}.hg-intro p{font-size:11px}.hg-city{font-size:9px;padding:4px 8px}.hg-meta .hotel-star-icons{font-size:10px;letter-spacing:1px}.hg-meta{margin-bottom:14px;gap:8px}.hg-brand{font-size:8px;letter-spacing:1.5px}.hg-info>p{font-size:10px;line-height:2}.hg-features li{font-size:8px;padding:3px 6px}.hg-features{margin-bottom:14px}.hg-actions{padding-top:13px;gap:8px}.hg-actions .button{padding:8px 15px;font-size:9px;min-height:38px}.hg-enquire{padding:8px 11px;font-size:8px;min-height:38px}.hg-filters button{font-size:10px;padding:9px 17px}.hg-all{font-size:10px}html[lang=en] .hg-title-row h3{font-size:18px}html[lang=en] .hg-info>p{font-size:10px}html[lang=en] .hg-heading h2{font-size:29px}}
@media(max-width:600px){.hotel-residences{padding:55px 0 40px}.hg-heading{grid-template-columns:1fr;gap:16px;margin-bottom:23px}.hg-heading h2{font-size:31px;line-height:1.6}.hg-intro{justify-self:stretch;max-width:none;padding:0}.hg-intro p{font-size:11px;line-height:2.1}.hg-toolbar{flex-wrap:wrap;padding:8px 8px 12px;gap:12px;border-radius:15px;margin-bottom:19px}.hg-filters{width:100%;gap:3px}.hg-filters button{flex:1;font-size:10px;padding:9px 7px;min-height:40px;border-radius:10px;gap:6px}.hg-all{margin-inline-start:auto;margin-inline-end:8px;font-size:9px}.hg-grid{gap:20px}.hg-hotel{grid-template-columns:1fr;padding:8px;border-radius:22px}.hg-photo{height:auto;min-height:0;aspect-ratio:1.5;border-radius:15px}.hg-photo img{position:static;height:100%;object-position:center 63%}.hg-info{padding:17px 14px 14px}.hg-meta{margin-bottom:18px;gap:10px}.hg-city{font-size:9px;padding:5px 9px}.hg-meta .hotel-star-icons{font-size:11px;letter-spacing:1.4px}.hg-meta .hotel-star-label{display:inline;font-size:8px}.hg-brand{font-size:8px;letter-spacing:1.6px;margin-bottom:5px}.hg-title-row h3{font-size:21px;line-height:1.75}.hg-info>p{font-size:11px;line-height:2.1;margin-bottom:16px}.hg-features{gap:6px;margin-bottom:17px}.hg-features li{font-size:8px;padding:4px 7px}.hg-actions{padding-top:16px;gap:9px}.hg-actions .button{padding:9px 19px;min-height:40px;font-size:10px}.hg-enquire{padding:9px 12px;min-height:40px;font-size:9px}.hg-note{font-size:9px;margin-top:22px;text-align:start;padding-inline:6px}html[lang=en] .hg-heading h2{font-size:28px;line-height:1.45}html[lang=en] .hg-title-row h3{font-size:20px;line-height:1.55}html[lang=en] .hg-info>p{font-size:11px}html[lang=en] .hg-meta{margin-bottom:17px}html[lang=en] .hg-actions .button{font-size:10px}html[lang=en] .hg-enquire{font-size:9px}}
@media(max-width:360px){.hg-info{padding:16px 11px 12px}.hg-meta .hotel-star-label{display:none}.hg-title-row h3{font-size:20px}.hg-actions .button{padding:9px 15px;font-size:9px}.hg-enquire{padding:9px 10px;font-size:8px}.hg-features li{font-size:8px;padding:3px 6px}.hg-filters button{font-size:9px}.hg-photo{aspect-ratio:1.4}html[lang=en] .hg-actions .button{font-size:9px}html[lang=en] .hg-enquire{font-size:8px}}
@media(prefers-reduced-motion:reduce){.hg-hotel.hg-appear{animation:none}.hg-hotel,.hg-filters button,.hg-enquire{transition:none}}

.hotel-detail-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;margin:30px 0 50px}.hotel-detail-image img{width:100%;height:540px;object-fit:cover;border-radius:18px}.hotel-detail-copy h3{font-size:32px;line-height:1.6;margin:0 0 20px}.hotel-detail-copy p{font-size:13px;line-height:2;color:#607279}.hotel-detail-copy ul{padding-inline-start:20px;font-size:13px;line-height:2.5;color:#0e7c77}.hotel-official{display:block;margin-top:20px;font-size:12px;color:#607279}.hotel-full-content{max-width:800px}@media(max-width:700px){.hotel-detail-grid{grid-template-columns:1fr;gap:22px}.hotel-detail-image img{height:320px}.hotel-detail-copy h3{font-size:25px}}

/* Hotel classification, sourced from the editable hotel stars field. */
.hotel-star-rating{display:flex;align-items:center;gap:9px;margin:6px 0 9px;line-height:1.4}.hotel-star-icons{color:#af8848;font:14px/1.4 Arial,sans-serif;letter-spacing:2px;direction:ltr;white-space:nowrap}.hotel-star-label{color:#8b754f;font:500 10px/1.6 Cairo,sans-serif}.collection-pick .hotel-star-rating{margin:5px 0 0}.collection-pick .hotel-star-icons{font-size:10px;letter-spacing:1px}.hotel-entry .hotel-star-rating{margin:0 0 12px}.hotel-detail-copy>.hotel-star-rating{margin:0 0 14px}@media(max-width:700px){.collection-card .hotel-star-icons{font-size:12px}.collection-pick .hotel-star-icons{font-size:8px;letter-spacing:.7px}.collection-pick .hotel-star-rating{margin-top:3px}.hotel-star-label{font-size:9px}}
/* Side-by-side cards and stronger reading contrast — user refinement v0.13.1. */
.hotel-residences .hg-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.hotel-residences .hg-hotel{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;padding:10px;border-color:#e0eae2}
.hotel-residences .hg-photo{min-height:0;aspect-ratio:1.65;height:auto}
.hotel-residences .hg-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hotel-residences .hg-info{padding:23px 19px 20px}
.hotel-residences .hg-meta{gap:12px;flex-wrap:wrap;margin-bottom:20px}
.hotel-residences .hg-city{font-size:12px;font-weight:600;color:#365f50;background:#eaf3eb;border-color:#cbded0;padding:6px 11px}
.hotel-residences .hg-meta .hotel-star-icons{font-size:19px;letter-spacing:2px;color:#946418}
.hotel-residences .hg-meta .hotel-star-label{display:inline;font-size:12px;font-weight:600;color:#76541e}
.hotel-residences .hg-brand{font-size:11px;color:#59766a;letter-spacing:1.6px;margin-bottom:7px}
.hotel-residences .hg-title-row h3{font-size:25px;color:#0a2e4d}
.hotel-residences .hg-info>p{font-size:14px;line-height:2;color:#4b6265;margin-bottom:19px}
.hotel-residences .hg-features{gap:8px;margin-bottom:23px}
.hotel-residences .hg-features li{font-size:13px;font-weight:600;line-height:1.8;color:#285346;background:#e8f1e8;border-color:#c2d7c6;padding:7px 11px;border-radius:9px}
.hotel-residences .hg-features li>[aria-hidden]{font-size:17px;color:#176b52}
.hotel-residences .hg-actions{padding-top:20px;gap:12px;flex-wrap:wrap}
.hotel-residences .hg-actions .button{font-size:13px;min-height:44px;padding:10px 25px}
.hotel-residences .hg-enquire{font-size:12px;min-height:44px;padding:10px 18px;color:#315e4d;border-color:#aacbb5}
.hotel-residences .hg-intro p{font-size:14px;color:#4e6769}
.hotel-residences .hg-filters button{font-size:13px;min-height:44px}
.hotel-residences .hg-filters small{font-size:12px;opacity:.8}
.hotel-residences .hg-all{font-size:13px;color:#315e4d}
.hotel-residences .hg-note{font-size:12px;color:#526e61}
html[lang=en] .hotel-residences .hg-title-row h3{font-size:23px}
html[lang=en] .hotel-residences .hg-info>p{font-size:14px;line-height:1.9}
html[lang=en] .hotel-residences .hg-actions .button{font-size:13px}
html[lang=en] .hotel-residences .hg-enquire{font-size:12px}
@media(max-width:1000px){.hotel-residences .hg-grid{gap:20px}.hotel-residences .hg-info{padding:20px 13px 17px}.hotel-residences .hg-title-row h3{font-size:23px}.hotel-residences .hg-info>p{font-size:13px}.hotel-residences .hg-features li{font-size:12px;padding:6px 9px}.hotel-residences .hg-actions .button{font-size:12px;padding:10px 20px}.hotel-residences .hg-enquire{font-size:11px;padding:10px 13px}html[lang=en] .hotel-residences .hg-title-row h3{font-size:21px}html[lang=en] .hotel-residences .hg-info>p{font-size:13px}html[lang=en] .hotel-residences .hg-actions .button{font-size:12px}html[lang=en] .hotel-residences .hg-enquire{font-size:11px}}
@media(max-width:700px){.hotel-residences .hg-grid{grid-template-columns:minmax(0,1fr)}.hotel-residences .hg-hotel{padding:8px}.hotel-residences .hg-photo{aspect-ratio:1.5}.hotel-residences .hg-info{padding:20px 14px 16px}.hotel-residences .hg-meta{margin-bottom:18px;gap:9px}.hotel-residences .hg-meta .hotel-star-icons{font-size:18px;letter-spacing:1.4px}.hotel-residences .hg-meta .hotel-star-label{font-size:11px}.hotel-residences .hg-city{font-size:12px;padding:5px 9px}.hotel-residences .hg-title-row h3{font-size:23px}.hotel-residences .hg-info>p{font-size:13px;line-height:2}.hotel-residences .hg-features li{font-size:12px;padding:6px 10px}.hotel-residences .hg-actions .button{font-size:12px;padding:10px 22px}.hotel-residences .hg-enquire{font-size:12px;padding:10px 14px}.hotel-residences .hg-filters button{font-size:11px;padding:9px 8px}.hotel-residences .hg-intro p{font-size:13px}.hotel-residences .hg-all{font-size:12px}.hotel-residences .hg-note{font-size:12px}html[lang=en] .hotel-residences .hg-title-row h3{font-size:22px}html[lang=en] .hotel-residences .hg-info>p{font-size:13px}html[lang=en] .hotel-residences .hg-actions .button{font-size:12px}html[lang=en] .hotel-residences .hg-enquire{font-size:12px}}
@media(max-width:360px){.hotel-residences .hg-info{padding:18px 10px 14px}.hotel-residences .hg-title-row h3{font-size:21px}.hotel-residences .hg-actions{gap:8px}.hotel-residences .hg-actions .button{padding:10px 15px}.hotel-residences .hg-enquire{padding:10px 11px}.hotel-residences .hg-filters button{font-size:10px}.hotel-residences .hg-meta .hotel-star-icons{font-size:17px}.hotel-residences .hg-meta .hotel-star-label{font-size:11px}}
/* Three hotel cards per row on wide screens; preserve readable type. */
@media(min-width:1200px){
 .hotel-residences .hg-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
 .hotel-residences .hg-hotel{padding:8px;border-radius:23px}
 .hotel-residences .hg-photo{aspect-ratio:1.35;border-radius:16px}
 .hotel-residences .hg-info{padding:19px 12px 15px}
 .hotel-residences .hg-meta{flex-direction:column;align-items:flex-start;gap:11px;margin-bottom:20px}
 .hotel-residences .hg-city{font-size:12px}
 .hotel-residences .hg-meta .hotel-star-icons{font-size:19px}
 .hotel-residences .hg-meta .hotel-star-label{font-size:12px}
 .hotel-residences .hg-brand{font-size:10px;letter-spacing:1.3px;overflow-wrap:anywhere}
 .hotel-residences .hg-title-row h3{font-size:22px;line-height:1.7}
 .hotel-residences .hg-info>p{font-size:13px;line-height:2}
 .hotel-residences .hg-features{gap:7px}
 .hotel-residences .hg-features li{max-width:100%;font-size:12px;padding:6px 9px}
 .hotel-residences .hg-features li>span:last-child{min-width:0;overflow-wrap:anywhere}
 .hotel-residences .hg-actions{flex-direction:column;align-items:stretch;gap:8px;padding-top:17px}
 .hotel-residences .hg-actions .button,.hotel-residences .hg-enquire{width:100%;font-size:12px;min-height:44px;padding:10px 12px}
 html[lang=en] .hotel-residences .hg-title-row h3{font-size:21px;line-height:1.55}
 html[lang=en] .hotel-residences .hg-info>p{font-size:13px}
 html[lang=en] .hotel-residences .hg-actions .button,html[lang=en] .hotel-residences .hg-enquire{font-size:12px}
}

/* Keep photos in normal flow so mobile layout and lazy-loading cannot collapse their container. */
.hotel-residences .hg-photo{aspect-ratio:auto;height:auto;min-height:0;align-self:start}
.hotel-residences .hg-photo img{position:static;inset:auto;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;display:block}
