@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--navy:#061a3a;--navy2:#0b2854;--gold:#d7aa38;--cream:#f7f4ed;--ink:#132036;--muted:#697386}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}header{height:86px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #eee}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy);font-family:'Playfair Display',serif;font-weight:600}.brand img{width:54px;height:54px;object-fit:contain}.brand span{font-size:20px}nav{display:flex;align-items:center;gap:26px}nav a{color:var(--navy);text-decoration:none;font-size:14px}nav a:hover{text-decoration:underline}.gold,.btn{background:var(--gold);color:var(--navy)!important;padding:14px 22px;text-decoration:none;font-weight:600;border:0;cursor:pointer;font-family:inherit}.hero{min-height:calc(100vh - 86px);display:grid;grid-template-columns:1.1fr .9fr;align-items:center;padding:7vw 8vw;background:linear-gradient(110deg,var(--navy) 0 57%,var(--navy2) 57%);color:#fff}.eyebrow{font-size:12px;letter-spacing:3px;color:var(--gold);font-weight:600}.hero h1{font:600 clamp(54px,7vw,100px)/.92 'Playfair Display',serif;margin:25px 0}.hero h1 em{color:var(--gold)}.lead{max-width:600px;color:#d8dfeb;line-height:1.8}.actions{display:flex;gap:14px;margin-top:35px}.outline{border:1px solid #b7c2d3;padding:13px 22px;color:#fff;text-decoration:none}.visual{text-align:center}.visual img{width:min(440px,85%);filter:drop-shadow(0 25px 30px #0007)}.photo-note{font-size:12px;color:#aab6c8}section{padding:90px 8vw}h1.page-title,h2{font:600 clamp(38px,5vw,65px)/1.05 'Playfair Display',serif;color:var(--navy);margin:15px 0 45px}.page-head{background:#fff;padding-top:70px;padding-bottom:55px}.page-head p{max-width:720px;line-height:1.8;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.cards article{background:#fff;padding:38px;min-height:350px;border-top:3px solid var(--gold);display:flex;flex-direction:column}.cards article>span{color:var(--gold);font-size:12px;letter-spacing:1px}h3{font:600 30px 'Playfair Display',serif;color:var(--navy)}.cards p{line-height:1.7;color:var(--muted);flex:1}.cards strong{font-size:23px;color:var(--navy);margin:18px 0}.cards small{font-weight:400;font-size:13px}.cards a{color:var(--navy);font-weight:600}.navy{background:var(--navy);color:#fff}.navy h2{color:#fff;max-width:750px}.amenities{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff35}.amenities span{padding:30px 10px;border-bottom:1px solid #ffffff35;font-family:'Playfair Display',serif;font-size:20px}.split-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;background:#fff}.split-section p:not(.eyebrow){color:var(--muted);line-height:1.8;max-width:620px}.placeholder{min-height:330px;background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;font:600 32px 'Playfair Display',serif;text-align:center;border:1px solid #163c70}.placeholder small{font:400 13px 'DM Sans',sans-serif;color:#c7d0de;margin-top:10px}.booking-section{background:#f2eee5}.booking-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:35px}.booking-form,.payment-card{background:#fff;padding:34px}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:12px;letter-spacing:1px;font-weight:600;color:var(--navy)}.field input,.field select{width:100%;padding:14px;border:1px solid #d7d9dd;background:#fff;font:inherit;color:var(--ink)}.summary{grid-column:1/-1;background:var(--navy);color:#fff;padding:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.summary>span{color:#d8dfeb}.summary div{display:flex;flex-direction:column;gap:5px}.summary small{color:#c4cedc}.summary b{font-size:20px;color:#fff}.form-btn{grid-column:1/-1;font-size:15px}.form-note{grid-column:1/-1;color:var(--muted);font-size:12px;line-height:1.6;margin:0}.payment-card>h3{margin:10px 0 15px}.payment-card>p{line-height:1.7;color:var(--muted)}.bank{background:var(--navy);color:#fff;padding:22px;margin:25px 0;display:flex;flex-direction:column;gap:7px}.bank small{color:var(--gold);letter-spacing:2px}.bank b{font-size:24px}.bank span{color:#d8dfeb}.policy{display:grid;grid-template-columns:1fr 1fr;gap:10px}.policy p{background:var(--cream);padding:18px;margin:0;line-height:1.5}.contact{background:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.contact-item{border-top:3px solid var(--gold);background:var(--cream);padding:30px;min-height:245px}.contact-item>span{font-size:11px;letter-spacing:2px;color:var(--gold);font-weight:600}.contact-item h3{font-size:24px;margin:18px 0 12px;overflow-wrap:anywhere}.contact-item p{font-size:16px;line-height:1.7;color:var(--muted)}.contact-item a,.map-link{color:var(--navy)}.text-link{font-weight:600}.map-link{display:inline-block;margin-top:28px;font-weight:600}.cta{text-align:center;background:var(--navy);color:#fff}.cta h2{color:#fff;margin-bottom:25px}footer{padding:45px 8vw;background:#03132b;color:#aeb8c7;display:grid;grid-template-columns:1fr auto auto;gap:35px;align-items:center}footer .brand{color:#fff}.footer-contact{display:flex;flex-direction:column;gap:6px}.footer-contact a{color:#c8d1df;text-decoration:none;font-size:13px}footer p{font-size:12px}.whatsapp{position:fixed;right:22px;bottom:22px;background:#fff;color:#075e54;padding:14px 18px;text-decoration:none;font-weight:600;box-shadow:0 5px 25px #0003;z-index:11}@media(max-width:900px){header{padding:0 4vw}.brand span{font-size:16px}nav a:not(.gold){display:none}.hero{grid-template-columns:1fr;padding:70px 7vw}.visual{margin-top:60px}.cards,.amenities,.contact-grid{grid-template-columns:1fr}.split-section,.booking-grid{grid-template-columns:1fr}.booking-form{grid-template-columns:1fr}.summary{grid-template-columns:1fr}.field,.summary,.form-btn,.form-note{grid-column:1}.policy{grid-template-columns:1fr 1fr}section{padding:70px 7vw}footer{grid-template-columns:1fr;text-align:center;justify-items:center}.footer-contact{align-items:center}}@media(max-width:520px){.brand img{width:46px;height:46px}.brand span{font-size:14px}.gold{padding:12px 14px}.hero h1{font-size:52px}.actions{flex-direction:column;align-items:flex-start}.policy{grid-template-columns:1fr}.booking-form,.payment-card{padding:22px}}
.secure-box{background:#eef6f2;border-left:3px solid #0b7a58;padding:20px;margin:25px 0;display:flex;flex-direction:column;gap:7px}.secure-box span{color:var(--muted);font-size:13px;line-height:1.6}.confirmation{min-height:70vh;display:flex;align-items:center;justify-content:center;background:#f2eee5}.confirmation-card{width:min(820px,100%);background:#fff;padding:50px}.confirmation-card .page-title{margin-bottom:20px}.success-mark{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#e7f6ef;color:#087a55;font-size:34px;font-weight:700;margin-bottom:25px}.receipt{margin:30px 0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e2e4e8;border-left:1px solid #e2e4e8}.receipt div{padding:18px;border-right:1px solid #e2e4e8;border-bottom:1px solid #e2e4e8;display:flex;flex-direction:column;gap:6px}.receipt span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.7px}.receipt b{color:var(--navy);overflow-wrap:anywhere}.dark-outline{color:var(--navy);border-color:#9aa6b6}@media(max-width:600px){.confirmation-card{padding:28px}.receipt{grid-template-columns:1fr}}

/* Room gallery and exterior artwork additions - draft update */
.exterior-visual img{width:min(450px,100%);height:490px;object-fit:cover;object-position:center;border:4px solid #d7aa38;box-shadow:0 25px 50px #0006}
.exterior-visual .photo-note{line-height:1.6;margin:12px auto;max-width:440px}
.featured-room{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;background:#fff}
.featured-room h2{margin:16px 0 25px}.featured-room p:not(.eyebrow){line-height:1.8;color:var(--muted)}.featured-room img{width:100%;height:470px;object-fit:cover;object-position:center 55%;border:4px solid #d7aa38}
.featured-price{font-weight:700;color:var(--navy)!important;font-size:23px;margin-bottom:25px}.featured-price small{font-weight:400;font-size:14px}
.card-room-photo{width:100%;height:210px;object-fit:cover;object-position:center 57%;margin:-15px 0 24px}
.room-gallery{background:#fff}.room-gallery h2{margin-bottom:15px}.gallery-intro{color:var(--muted);line-height:1.7;max-width:750px;margin-bottom:30px}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.photo-grid figure{margin:0;background:var(--cream);overflow:hidden}.photo-grid img{display:block;width:100%;height:290px;object-fit:cover;object-position:center}.photo-grid figcaption{padding:12px 15px;font-size:13px;color:var(--navy);font-weight:600}.photo-grid .photo-large{grid-column:span 2;grid-row:span 2}.photo-grid .photo-large img{height:calc(580px + 44px)}.gallery-action{margin-top:30px}
@media(max-width:900px){.featured-room{grid-template-columns:1fr}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-grid .photo-large{grid-column:span 2;grid-row:auto}.photo-grid .photo-large img{height:460px}}
@media(max-width:520px){.exterior-visual img{height:410px}.featured-room img{height:360px}.photo-grid{grid-template-columns:1fr}.photo-grid .photo-large{grid-column:auto}.photo-grid img,.photo-grid .photo-large img{height:350px}}

/* Executive Room luxury presentation — actual hotel photographs */
.executive-showcase{background:radial-gradient(circle at 0 90%,#faf3e4 0%,#fff 36%);display:grid;grid-template-columns:minmax(0,0.88fr) minmax(0,1.3fr);gap:3.5vw;align-items:center;padding:66px 4.5vw 74px;}
.exec-info h2{font-family:Georgia,serif;font-size:clamp(42px,4.4vw,76px);line-height:1.07;letter-spacing:-2px;color:#081c3f;margin:24px 0 23px}
.exec-description{color:#687489;font-size:clamp(16px,1.24vw,20px);line-height:1.75;max-width:570px;margin:0 0 29px}
.exec-amenities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 10px;margin:30px 0}
.exec-amenity{display:flex;gap:9px;align-items:center;color:#142b50;font-size:clamp(12px,1vw,15px);font-weight:600;min-width:0}
.exec-amenity>span:first-child{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#d7ac48;color:white;font-size:17px}
.exec-rate{border:1px solid #ead6a4;background:#fffaf2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 19px;border-radius:10px;margin:32px 0 23px;color:#081c3f}
.exec-rate strong{font-size:clamp(24px,2.2vw,34px);white-space:nowrap}.exec-rate strong small{font-size:14px;font-weight:400}
.exec-rate>span{border-left:1px solid #ead6a4;padding-left:17px;font-size:14px;font-weight:700;line-height:1.5}.exec-rate>span small{font-weight:400;color:#69778d;font-size:11px}
.exec-actions{display:flex;gap:12px;flex-wrap:wrap}.exec-actions .btn,.exec-outline{display:inline-flex;align-items:center;justify-content:center;min-height:60px;padding:15px 22px;border-radius:6px;font-weight:700;text-decoration:none;font-size:15px}
.exec-outline{border:1.5px solid #d7ac48;color:#081c3f;background:#fff}.exec-outline:hover{background:#fff8e7}
.exec-images{min-width:0}.exec-images>a{display:block}.exec-main-photo{width:100%;height:clamp(380px,42vw,635px);display:block;object-fit:cover;object-position:center 54%;border-radius:10px;box-shadow:0 8px 25px #0d1e3b13}
.exec-thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.exec-thumbnails a{display:block;overflow:hidden;border-radius:6px;border:2px solid #eee5d1}.exec-thumbnails a:first-child{border-color:#d7ac48}.exec-thumbnails img{display:block;width:100%;height:110px;object-fit:cover}.exec-thumbnails a:hover{border-color:#d7ac48}
@media(max-width:1050px){.executive-showcase{grid-template-columns:1fr;padding:55px 6vw}.exec-main-photo{height:520px}.exec-info h2{font-size:clamp(44px,7vw,70px)}}
@media(max-width:600px){.executive-showcase{padding:42px 5vw}.exec-info h2{font-size:44px}.exec-amenities{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 6px}.exec-rate{flex-direction:column;align-items:flex-start}.exec-rate>span{border-left:0;border-top:1px solid #ead6a4;padding:10px 0 0}.exec-main-photo{height:380px}.exec-thumbnails{gap:5px}.exec-thumbnails img{height:75px}.exec-actions>a{width:100%}}

/* Approved Executive Room presentation */
.approved-exec{background:linear-gradient(135deg,#fff 55%,#faf5e9);align-items:center}
.approved-exec .exec-info h2{font-family:Georgia,serif;color:#0c2045}
.approved-exec .exec-main-photo{display:block;width:100%;height:auto;aspect-ratio:907/621;object-fit:cover;border-radius:10px}
.approved-exec .exec-images>a{display:block}
.approved-exec .exec-thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
.approved-exec .exec-thumbnails img{display:block;width:100%;aspect-ratio:186/126;object-fit:cover;border-radius:7px;border:2px solid #e3bb5c}
.approved-exec .exec-disclaimer{font-size:12px;color:#697489;text-align:right;margin:8px 0 0}
@media(max-width:720px){.approved-exec .exec-thumbnails{gap:5px}.approved-exec .exec-disclaimer{text-align:left}}

/* Approved Executive Room photo lightbox */
.exec-modal-open{overflow:hidden}
.exec-lightbox[hidden]{display:none!important}
.exec-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(6,14,30,.94);display:flex;align-items:center;justify-content:center;padding:60px 65px 70px}
.exec-lightbox-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:7px;box-shadow:0 10px 35px #0008}
.exec-lightbox button{position:absolute;cursor:pointer;border:1px solid #d6b050;background:#fff;color:#0c2045;border-radius:50%;width:46px;height:46px;font-size:30px;display:grid;place-items:center;line-height:1}
.exec-close{right:22px;top:18px}
.exec-prev{left:12px;top:50%}
.exec-next{right:12px;top:50%}
.exec-counter{position:absolute;bottom:17px;left:0;right:0;text-align:center;color:white;font-size:13px}
@media(max-width:650px){.exec-lightbox{padding:65px 43px}.exec-lightbox button{width:36px;height:36px;font-size:24px}.exec-prev{left:3px}.exec-next{right:3px}}

/* Full-size responsive Executive Room photo viewer */
.exec-lightbox{box-sizing:border-box;padding:66px 75px 62px}
.exec-lightbox-image{display:block;width:auto;height:auto;max-width:min(1100px,calc(100vw - 160px));max-height:calc(100dvh - 135px);object-fit:contain;object-position:center;flex-shrink:0}
.exec-lightbox .exec-prev,.exec-lightbox .exec-next{top:50%;transform:translateY(-50%)}
@media(max-width:650px){.exec-lightbox{padding:70px 42px 58px}.exec-lightbox-image{max-width:calc(100vw - 84px);max-height:calc(100dvh - 145px)}}

/* V5 approved gallery: contain full photos without magnifying tiny thumbnail files */
.exec-lightbox-image{object-fit:contain!important;max-width:min(94vw,760px)!important;max-height:83vh!important;width:auto!important;height:auto!important;image-rendering:auto!important}
.exec-main-photo{object-fit:cover;object-position:center 48%}
.exec-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))}
.exec-thumbnails img{object-fit:cover;object-position:center 45%}

/* Four correctly mapped thumbnails */
.approved-exec .exec-thumbnails{grid-template-columns:repeat(4,minmax(0,1fr))}
.approved-exec .exec-thumbnails img{width:100%;aspect-ratio:186/126;object-fit:cover}

/* V6 static, non-clickable approved Executive Room preview */
.approved-exec .exec-thumbnails img{display:block;width:100%;aspect-ratio:186/126;object-fit:cover;border-radius:7px;border:2px solid #e3bb5c}
.approved-exec .exec-main-photo{width:100%;height:auto;aspect-ratio:952/599;object-fit:cover}

/* Four-room clickable catalog and full-size galleries */
.room-catalog{padding-top:16px}.room-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.room-card{background:white;border-top:4px solid #d5ab45;overflow:hidden;box-shadow:0 8px 24px #0c204512}.room-card-image{display:block;aspect-ratio:16/10;overflow:hidden;background:#f4f0e9}.room-card-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 42%;transition:transform .2s}.room-card-image:hover img{transform:scale(1.025)}.photo-awaiting{height:100%;display:grid;place-items:center;text-align:center;color:#58657a;padding:24px;font-weight:600;background:linear-gradient(135deg,#f9f6ef,#eae3d5)}.room-card-body{padding:26px}.room-card-body h2{margin:12px 0;font-size:clamp(26px,3vw,38px);color:#0b234c}.room-card-body p{min-height:50px;color:#65718a}.room-card-body strong{display:block;font-size:29px;color:#0b234c;margin:18px 0}.room-card-body small{font-size:16px;font-weight:400}.room-card-actions{display:flex;gap:12px;flex-wrap:wrap}.room-view,.room-book{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:12px 18px;border:1px solid #d2a93d;font-weight:650;color:#0b234c}.room-book{background:#d2a93d}.room-gallery-new{scroll-margin-top:115px}.room-photo-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:26px 0}.room-photo-tile{padding:0;border:1px solid #e3d9c3;border-radius:8px;background:white;overflow:hidden;cursor:pointer;text-align:left;color:#0b234c}.room-photo-tile img{width:100%;height:290px;object-fit:cover;display:block}.room-photo-tile span{display:block;padding:12px;font-size:14px;font-weight:600}.gallery-pending{border:1px dashed #c9aa67;padding:24px;background:#fbf8f1}.gallery-caution{font-size:14px;color:#58657a}.room-photo-modal[hidden]{display:none}.room-photo-modal{position:fixed;inset:0;background:rgba(4,12,30,.95);z-index:999999;display:flex;align-items:center;justify-content:center;padding:65px 70px;color:white}.photo-modal-image{max-width:100%;max-height:calc(100dvh - 145px);object-fit:contain;width:auto;height:auto;border-radius:6px}.room-photo-modal button{position:absolute;cursor:pointer;border:1px solid #d5ab45;background:#fff;color:#102449;border-radius:50%;width:46px;height:46px;font-size:30px;line-height:1}.photo-modal-close{top:18px;right:20px}.photo-modal-prev{left:12px;top:50%}.photo-modal-next{right:12px;top:50%}.photo-modal-count{position:absolute;bottom:20px;font-size:14px}@media(max-width:700px){.room-cards{grid-template-columns:1fr}.room-photo-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.room-photo-tile img{height:180px}.room-card-body{padding:20px}.room-photo-modal{padding:70px 42px}.room-photo-modal button{width:36px;height:36px}.photo-modal-prev{left:3px}.photo-modal-next{right:3px}}

/* V13: Home page gallery images link to the exact Executive Room photos. */
.exec-thumbnails a{display:block;min-width:0;overflow:hidden;border-radius:10px;cursor:pointer}
.exec-thumbnails a img{display:block;width:100%;height:100%;object-fit:cover}
.exec-images>a{display:block;line-height:0}
.exec-images>a img{width:100%}
.exec-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))}
