/* Homepage refresh: navy, warm white and restrained gold. */
:root { --dt-bg-grey:#f5f6f4; --dt-gold-deep:#82621e; }
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body { font-size:16px; line-height:1.75; }
h1,h2,h3,h4,h5 { line-height:1.4; }
.header-top-bar { background:#071d30; border-bottom:1px solid #ffffff15; }
.navbar-main { background:#0a2540; box-shadow:none; padding:12px 0; }
.navbar-brand img { max-height:62px !important; }
.navbar-main .nav-link { white-space:nowrap; font-size:14px; }
.navbar-main .navbar-nav .nav-link { padding:16px 12px; }
.navbar-main .btn { white-space:nowrap; font-size:14px; }
.btn { border-radius:10px; font-weight:600; transition:background .2s,transform .2s; }
.btn-gold { background:#d9b665; color:#13283c; box-shadow:none; }
.btn-gold:hover { background:#e7c77d; box-shadow:none; transform:translateY(-2px); color:#13283c; }
.btn-navy,.btn-outline-gold { border-radius:10px; }
.btn:focus-visible,a:focus-visible,button:focus-visible { outline:3px solid #458bd1; outline-offset:4px; }
.hero-static { position:relative; display:flex; align-items:center; height:auto; min-height:620px; padding:80px 0 100px; background:#0a2540 url('../img/work/S__17981682_0.jpg') center right / cover; }
.hero-static .slide-overlay { background:linear-gradient(90deg,rgba(5,24,42,.97),rgba(5,24,42,.83) 42%,rgba(5,24,42,.16)); }
.hero-static .slide-content { max-width:740px; margin:0; }
.hero-static h1 { font-size:clamp(38px,4.5vw,66px); font-weight:600; line-height:1.3; letter-spacing:-1.5px; }
.hero-static h1 .accent { background:none; color:#e4c47d; -webkit-text-fill-color:currentColor; }
.hero-eyebrow { background:transparent; border:none; padding:0; border-radius:0; font-size:11px; letter-spacing:2px; font-weight:500; color:#e4c47d; }
.hero-static .lead { font-size:18px; line-height:1.9; color:#e0e6ed !important; }
.hero-location { font-size:13px; color:#bccbd8; }
.hero-caption { position:absolute; right:40px; bottom:32px; color:#fff; font-size:11px; letter-spacing:1.8px; }
.stats-wrap { margin-top:-35px; }
.stat-card { background:#fff; border:1px solid #e4e8e9; border-radius:12px; box-shadow:0 8px 24px #0a254009; padding:24px 12px; }
.stat-card:hover { transform:translateY(-2px); }
.stat-card .num { font-weight:600; font-size:30px; }
.stat-card .lbl { font-size:14px; font-weight:400; }
.stat-card .bi { font-size:22px; }
.bg-3d { background:#f5f6f4; }
.bg-3d::before,.floating-orb,.promo-orb { display:none; }
.bg-navy-deep { background:#0a2540; }
.section-padding { padding:88px 0; }
.sec-title { font-weight:600; line-height:1.45; font-size:clamp(28px,3vw,40px); }
.sec-eyebrow { color:#82621e; font-size:11px; font-weight:600; letter-spacing:2.5px; }
.divider-gold { height:2px; width:48px; background:#b9913e; }
.room-card,.svc-box,.gallery-item,.whole-rent,.promo-banner { border-radius:14px; box-shadow:0 4px 20px #0a254006; }
.room-card { border:1px solid #dde3e7; }
.room-card:hover,.svc-box:hover { transform:translateY(-4px); box-shadow:0 10px 24px #0a254010; }
.room-card .img-wrap { height:220px; }
.room-card .room-name { font-weight:600; }
.room-card .room-price { font-size:16px; line-height:1.7; font-weight:500; padding-top:14px; border-top:1px solid #edf0f2; color:#0a2540; }
.room-no { background:#fff; color:#0a2540; border:none; box-shadow:none; font-weight:600; width:30px; height:30px; font-size:14px; }
.promo-banner { background:#0a2540; border:none; }
.promo-banner .gift-ico { background:#e4c47d; box-shadow:none; }
.promo-banner h4 { font-size:20px; font-weight:500 !important; }
.whole-rent .price-tag { font-size:26px; line-height:1.5; font-weight:500; }
.price-row { border:1px solid #dfe5e9; border-radius:12px; box-shadow:none; height:100%; flex-wrap:wrap; }
.price-row:hover { transform:none; box-shadow:none; border-color:#b9913e; }
.price-row .p-amt { font-size:14px; font-weight:500; white-space:normal; }
.price-row .p-ico { width:42px; height:42px; }
.floating-contact { right:20px; bottom:20px; gap:8px; }
.float-btn { min-height:44px; padding:10px 16px; border-radius:10px; box-shadow:0 3px 12px #00000014; }
.float-text { font-size:13px; }
.phone-float-btn { background:#e4c47d; }
@media (max-width:1199.98px) { .navbar-main .navbar-nav .nav-link { padding:10px 0; } .navbar-main .navbar-nav .nav-link::after { display:none; } #mainNavbar { padding:16px 0; } #mainNavbar>.d-flex { flex-wrap:wrap; gap:12px; } }
@media (max-width:767.98px) {
 .hero-static { min-height:590px; padding:56px 0 72px; background-position:65% center; }
 .hero-static .slide-overlay { background:linear-gradient(90deg,#05182aef,#05182aa8); }
 .hero-static h1 { font-size:40px; letter-spacing:-1px; }
 .hero-static .lead { font-size:16px; }
 .hero-eyebrow { font-size:9px; letter-spacing:1.3px; }
 .hero-caption { display:none; }
 .hero-actions .btn { font-size:14px; padding:12px 16px !important; }
 .navbar-brand img { max-height:48px !important; }
 .stats-wrap { margin-top:-24px; }
 .stat-card { padding:18px 8px; }
 .stat-card .num { font-size:25px; }
 .stat-card .lbl { font-size:12px; }
 .section-padding { padding:60px 0; }
 .room-card .img-wrap { height:210px; }
 .floating-contact { bottom:0; right:0; left:0; flex-direction:row; gap:8px; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:#fff; border-top:1px solid #e1e7eb; }
 .floating-contact .float-btn { flex:1; width:auto; border-radius:8px; justify-content:center; height:auto; }
 .floating-contact .float-text { display:inline; font-size:12px; }
 .floating-contact .float-btn img { width:24px; height:24px; }
 body { padding-bottom:80px; }
 .price-row .p-amt { font-size:13px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none !important; transition:none !important; } [data-aos] { opacity:1 !important; transform:none !important; } }
/* Keep entrance animations from expanding the mobile document. */
@media (max-width:767.98px) { [data-aos] { transform:none !important; opacity:1 !important; } }

/* Retain all four original slides with the refreshed typography. */
.hero-restored { height:660px; min-height:560px; }
.hero-restored .slide-content { max-width:1140px; padding-left:24px; padding-right:24px; }
.hero-restored .slide-content h1,.hero-restored .slide-content h2 { max-width:800px; font-size:clamp(36px,4.2vw,60px); font-weight:600; line-height:1.35; letter-spacing:-1px; }
.hero-restored .slide-content p { max-width:740px; font-size:18px; line-height:1.8; }
.hero-restored .swiper-pagination { bottom:48px; }
.hero-restored .slide-overlay { background:linear-gradient(90deg,rgba(5,24,42,.9),rgba(5,24,42,.65) 50%,rgba(5,24,42,.2)) !important; }
.hero-restored .swiper-button-prev,.hero-restored .swiper-button-next { width:40px; height:48px; background:#0a254040; border-radius:8px; }
.hero-restored .swiper-button-prev::after,.hero-restored .swiper-button-next::after { font-size:22px; }
@media (max-width:767.98px) {
 .hero-restored { height:620px; min-height:620px; }
 .hero-restored .slide-content { padding:0 30px; }
 .hero-restored .slide-content h1,.hero-restored .slide-content h2 { font-size:34px; }
 .hero-restored .slide-content p { font-size:16px; }
 .hero-restored .slide-content .btn { font-size:14px; padding:12px 18px !important; margin-bottom:10px; }
 .hero-restored .swiper-button-prev,.hero-restored .swiper-button-next { width:22px; background:transparent; }
 .hero-restored .swiper-button-prev { left:2px; } .hero-restored .swiper-button-next { right:2px; }
 .hero-restored .swiper-button-prev::after,.hero-restored .swiper-button-next::after { font-size:18px; }
}
/* Final layout polish and contact/form stacking fixes. */
.location-section { padding:72px 0; }
.location-section .divider-gold { margin-bottom:28px !important; }
.location-visual { width:min(100%,620px); margin:0 auto; overflow:hidden; border:1px solid #e0e5e8; border-radius:14px; box-shadow:0 8px 28px #0a25400a; background:#fff; }
.location-visual img { display:block; width:100%; height:auto; }
.location-section .btn { min-height:44px; font-size:14px; }
.room-card .room-price:hover,.price-row .p-amt:hover { color:#82621e; text-decoration:underline !important; }
.room-card .room-price { min-height:44px; }
.price-row .p-amt { padding:8px 0; }
.live-screen { border:1px solid #ffffff30; box-shadow:0 10px 24px #00000014; border-radius:14px; }
.office-card { border-radius:14px; box-shadow:0 4px 20px #0a25400a; }
.office-tall { height:504px; }
.office-feature { height:240px; }
.office-card .cap { background:linear-gradient(transparent,#05182aeb); padding:32px 18px 18px; font-size:14px; }
.floating-contact { z-index:1030; transform:none; }
.float-btn { font-size:22px; }
.modal { z-index:1200; }
.modal-backdrop { z-index:1190; }
.modal-content { border:0; border-radius:16px; overflow:hidden; box-shadow:0 24px 80px #00000030; }
.form-control,.form-select { border-radius:8px; min-height:46px; }
@media (max-width:767.98px) {
 .location-section { padding:52px 0; }
 .location-section .sec-title { font-size:26px; }
 .office-tall,.office-feature { height:270px; }
 .floating-contact { transform:none; left:0; right:0; }
 .floating-contact .float-text { display:inline !important; }
 .floating-contact .float-btn { min-width:0; gap:6px; font-size:20px; }
 .floating-contact .float-text { margin-left:0; font-size:12px; }
}
/* Fade vertically so off-screen sections never widen the document. */
@media (min-width:768px) {
 [data-aos="fade-left"],[data-aos="fade-right"] { transform:translateY(18px); }
 [data-aos="fade-left"].aos-animate,[data-aos="fade-right"].aos-animate { transform:none; }
}
[data-aos="fade-left"],[data-aos="fade-right"] { transform:translateY(18px) !important; }
[data-aos="fade-left"].aos-animate,[data-aos="fade-right"].aos-animate { transform:none !important; }
@media (max-width:767.98px) { [data-aos="fade-left"],[data-aos="fade-right"] { transform:none !important; } }
/* A balanced desktop spread, with the illustration beside its key points. */
.location-section { background:#f0f3f5; padding:64px 0; }
.location-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.12fr); gap:56px; align-items:center; }
.location-copy .sec-title { font-size:clamp(28px,2.4vw,36px); line-height:1.5; }
.location-copy .divider-gold { margin-bottom:24px !important; }
.location-points { display:grid; gap:20px; }
.location-point { display:flex; gap:14px; align-items:flex-start; }
.location-icon { flex:none; width:44px; height:44px; display:grid; place-items:center; border:1px solid #d8e0e6; border-radius:12px; background:#fff; color:#82621e; font-size:20px; }
.location-point h3 { font-size:17px; font-weight:600; margin:0 0 4px; color:#0a2540; }
.location-point p { margin:0; font-size:14px; line-height:1.75; color:#5b6b82; }
.location-media .location-visual { width:100%; border-radius:16px; box-shadow:0 12px 32px #0a254012; }
.location-image-link { display:block; margin-top:12px; text-align:right; color:#5b6b82; font-size:13px; text-underline-offset:4px; }
@media (max-width:991.98px) {
 .location-layout { grid-template-columns:1fr; gap:28px; }
 .location-section { padding:48px 0; }
 .location-copy .sec-title { font-size:28px; }
 .location-media { width:min(100%,620px); margin:auto; }
 .location-points { gap:16px; }
}
/* High ground is the lead location benefit during the rainy season. */
.high-ground-highlight { background:#0a2540; border-left:4px solid #d9b665; border-radius:12px; padding:24px 26px; margin:0 0 26px; color:#fff; box-shadow:0 10px 28px #0a254014; }
.high-ground-label { display:flex; align-items:center; gap:8px; color:#e4c47d; font-size:12px; font-weight:500; letter-spacing:.3px; margin-bottom:10px; }
.high-ground-label .bi { font-size:22px; }
.high-ground-highlight h3 { font-size:clamp(26px,2vw,32px); line-height:1.45; font-weight:600; margin:0 0 12px; }
.high-ground-highlight h3 span { color:#e4c47d; }
.high-ground-highlight p { color:#d2dde7; font-size:14px; line-height:1.8; margin:0 0 14px; }
.high-ground-highlight a { color:#e4c47d; font-size:14px; text-underline-offset:5px; padding:6px 0; display:inline-block; }
.high-ground-highlight a:hover { color:#fff; }
.high-ground-hero { width:fit-content; max-width:100%; margin:0 0 20px; background:#e4c47d; color:#0a2540; padding:10px 16px; border-radius:8px; font-weight:600; font-size:15px; line-height:1.6; }
.location-layout { grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:48px; }
.location-copy .sec-title { font-size:clamp(26px,2vw,32px); }
.location-points { gap:14px; }
.location-point h3 { font-size:16px; }
@media (max-width:991.98px) { .location-layout { grid-template-columns:1fr; gap:28px; } }
@media (max-width:767.98px) { .high-ground-highlight { padding:20px; } .high-ground-highlight h3 { font-size:27px; } .high-ground-hero { font-size:13px; padding:8px 12px; } }
/* Restore the full original navigation and reference header proportions. */
.navbar-main { background:linear-gradient(90deg,#0a2540,#0d2c54); padding:8px 0; }
.navbar-brand img { max-height:85px !important; }
.navbar-main .navbar-nav .nav-link { font-size:15px; font-weight:600; padding:24px 12px; }
.navbar-main .btn-gold { border-radius:40px; background:linear-gradient(135deg,#e2c275,#c8a24b,#a8842f); }
@media (min-width:1200px) and (max-width:1399.98px) {
 .navbar-main>.container { max-width:1320px; }
 .navbar-main .navbar-nav .nav-link { font-size:14px; padding:24px 8px; }
 .navbar-main .btn-gold { padding-left:16px !important; padding-right:16px !important; }
}
@media (max-width:1199.98px) { .navbar-main .navbar-nav .nav-link { padding:10px 0; } }
@media (max-width:767.98px) { .navbar-brand img { max-height:60px !important; } }
