*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0b0908;color:#f8f1e6;font-family:'DM Sans','Noto Sans Arabic','Noto Sans Devanagari','Noto Sans Bengali','Noto Sans Malayalam',sans-serif}h1,h2,h3{font-family:'Playfair Display',Georgia,serif}a{color:inherit;text-decoration:none}button,select{font:inherit}button{cursor:pointer}img{max-width:100%}.eyebrow{color:#d9b56b;font-size:.78rem;letter-spacing:.23em;text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(115deg,#c18a34,#f4d68a,#b98431);border:1px solid #e7be72;color:#201207;padding:14px 24px;border-radius:4px;font-weight:700;transition:transform .2s}.btn:hover{transform:translateY(-2px)}.btn.outline{background:transparent;color:#f1d69c}.btn.small{padding:10px 14px;font-size:.82rem}.buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.language-gate{min-height:100svh;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 20%,#382513,#0a0808 70%);padding:24px}.gate-content{text-align:center;width:min(640px,100%);padding:25px 0}.gate-content img{width:185px;height:185px;object-fit:contain;border-radius:12px}.gate-content h1{font-size:clamp(1.6rem,5vw,2.8rem);color:#e8c378}.gate-content p{color:#d0b98f}.language-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:30px}.language-grid button{border:1px solid #8c6a38;background:#1b1612;color:#f6e1b4;border-radius:9px;padding:19px 10px;font-size:1.15rem}.language-grid button:hover,.language-grid button:focus{background:#44311b}.language-grid small{display:block;color:#b5a48e;font-size:.75rem;margin-top:5px}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px max(4%,calc((100vw - 1320px)/2));position:sticky;top:0;z-index:20;background:#100d0cf2;border-bottom:1px solid #624921}.brand{display:flex;align-items:center;gap:12px;font-family:Georgia,serif;color:#e8bd65;font-size:1.15rem;white-space:nowrap}.brand img{width:54px;height:54px;object-fit:cover;border-radius:50%}.brand small{display:block;font:500 .64rem 'DM Sans',sans-serif;letter-spacing:.2em}.topbar nav{display:flex;gap:18px;font-size:.9rem}.topbar nav a:hover{color:#f4ce7b}.header-actions{display:flex;gap:12px;align-items:center}select{background:#17110e;color:#f3dcae;border:1px solid #826237;border-radius:5px;padding:9px;max-width:105px}.menu{display:none;background:transparent;border:1px solid #b68c47;color:#f0c776;padding:8px 12px}.hero{min-height:650px;position:relative;display:flex;align-items:center}.hero-image{position:absolute;inset:0;background:url('assets/hero.webp') center 25%/cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#090807f2 0%,#100b0ab8 46%,#0b090835 100%)}.hero-copy{position:relative;max-width:720px;padding:100px max(6%,calc((100vw - 1250px)/2))}.hero h1{font-size:clamp(2.7rem,6vw,5.7rem);line-height:1.1;color:#f4d08b;margin:20px 0}.hero p{font-size:1.2rem;max-width:500px}.section{padding:90px max(5%,calc((100vw - 1250px)/2));scroll-margin-top:85px}.section.alt{background:#17110e}.section-heading{max-width:740px;margin-bottom:35px}.section-heading h2{font-size:clamp(2rem,4vw,3.6rem);color:#e7c47d;margin:10px 0}.section-heading p,.muted{color:#c6b7a7}.cards,.room-grid,.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-card,.offer-card{border:1px solid #70512b;background:linear-gradient(140deg,#21170f,#0c0a09);padding:25px;border-radius:12px;display:flex;flex-direction:column;gap:10px}.service-card h3,.offer-card h3{font-size:1.35rem;margin:8px 0}.price{font-size:2rem;color:#f2c874;font-weight:700}.service-card .btn,.offer-card .btn{margin-top:auto}.room-grid article{background:#22170f;border:1px solid #74532a;border-radius:12px;overflow:hidden}.room-grid img{width:100%;height:240px;object-fit:cover}.room-grid article>div{padding:20px}.room-grid h3{color:#e9c77e}.textlink{color:#f1c87e;text-decoration:underline}.offer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.offer-card span{color:#d9b66b}.poster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}.poster-grid img{width:100%;max-height:560px;object-fit:contain;background:#080808;border:1px solid #5b4326;border-radius:8px}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.gallery-grid img{height:270px;width:100%;object-fit:cover;border:1px solid #8a6534;border-radius:10px}.subheading{font-size:1.7rem;color:#e8c27c;margin-top:45px}.team-poster{display:block;width:min(850px,100%);border-radius:12px;margin-top:20px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.highlight{color:#d4b16b;font-weight:700}.contact .buttons .btn{font-size:.86rem}.entrance{width:100%;margin-top:25px;border-radius:10px}.map iframe{width:100%;height:430px;border:0;border-radius:10px}.map>a{display:inline-block;margin-top:10px;color:#f1cb7c;text-decoration:underline}footer{text-align:center;background:#080706;padding:35px;color:#c4ad85}footer img{width:80px;border-radius:8px}.float-wa{position:fixed;bottom:20px;right:20px;z-index:30;background:#20bd5b;border-radius:50%;padding:16px;font-size:1.7rem;box-shadow:0 4px 18px #0008;color:white}.site-note{color:#b7a38c;font-size:.85rem}[dir=rtl] .hero-overlay{background:linear-gradient(270deg,#090807f2 0%,#100b0ab8 46%,#0b090835 100%)}[dir=rtl] .float-wa{right:auto;left:20px}@media(max-width:1050px){.topbar nav{gap:9px}.topbar nav a{font-size:.78rem}.header-actions .small{display:none}}@media(max-width:760px){.topbar{height:72px;padding:10px 4%}.menu{display:block;order:3}.topbar nav{display:none;position:absolute;top:72px;left:0;right:0;background:#130e0b;flex-direction:column;padding:20px;gap:18px;border-bottom:1px solid #78572e}.topbar nav.open{display:flex}.brand img{width:43px;height:43px}.brand{font-size:.9rem}.hero{min-height:570px}.hero-copy{padding:75px 6%}.hero-overlay{background:linear-gradient(90deg,#090807e8,#090807a0)}.section{padding:60px 5%}.cards,.room-grid,.offer-grid,.contact-grid{grid-template-columns:1fr}.poster-grid,.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:auto}.language-grid button{padding:16px 5px}.map iframe{height:310px}}
/* 3.0 premium enhancements */
html{scroll-behavior:smooth}button,input,select,textarea{font:inherit}button{cursor:pointer}.hero-copy h1{max-width:740px;text-shadow:0 5px 28px #000}.section-heading h2{letter-spacing:.015em}.booking-section{background:radial-gradient(ellipse at top right,#35230e 0%,#0c0908 62%)}.booking-form{max-width:980px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:28px;border:1px solid #7d5a2e;border-radius:18px;background:#130f0c}.booking-form label{display:grid;gap:9px;color:#edce90;font-size:.94rem}.booking-form input,.booking-form select,.booking-form textarea{width:100%;min-width:0;border:1px solid #70542e;background:#090807;color:#fff;padding:14px;border-radius:8px}.booking-form .wide{grid-column:1/-1}.booking-form button{border:0}.room-tabs{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:0 0 25px}.room-tabs button{padding:13px 22px;background:#17110b;border:1px solid #866333;color:#e9c987;border-radius:99px}.room-tabs button.active{background:#e0b96d;color:#1c1206}.explorer{display:grid;grid-template-columns:1.5fr 1fr;gap:30px;align-items:center;max-width:1120px;margin:auto}.explorer #roomPhoto{border:1px solid #896737;padding:0;background:transparent;border-radius:15px;overflow:hidden}.explorer img{width:100%;display:block;aspect-ratio:16/10;object-fit:cover}.explorer h3{font:2.3rem 'Playfair Display',serif;color:#e8c27c}.photo-dialog{border:1px solid #d4a95c;background:#0a0807;padding:15px;max-width:min(94vw,1200px);max-height:90vh}.photo-dialog::backdrop{background:#000e}.photo-dialog img{max-width:100%;max-height:78vh;object-fit:contain}.photo-dialog button{float:right;background:#e5c07d;border:0;padding:8px 12px;border-radius:5px}.offer-card[data-inactive="true"]{display:none}.admin-note{font-size:.8rem;color:#bda67c}@media(max-width:760px){.booking-form,.explorer{grid-template-columns:1fr}.booking-form{padding:17px}.room-tabs button{font-size:.84rem;padding:10px 12px}}

/* Accessibility improvements: high visibility focus and reduced motion. */
:where(a,button,input,select,textarea,[tabindex]:not([tabindex="-1"])):focus-visible{outline:3px solid #ffe09a;outline-offset:4px;box-shadow:0 0 0 2px #18100b}
[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Preserve native hidden semantics even when components set display:grid/flex. */
[hidden]{display:none!important}
/* Ensure keyboard users can see skip navigation. */
.skip-link{position:fixed;top:8px;left:8px;z-index:1000;transform:translateY(-160%);background:#ffe09a;color:#17110e;padding:12px 18px;border-radius:6px;font-weight:700}
.skip-link:focus{transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

/* Homepage promotional video */
.spa-video-section{text-align:center;background:#130e0b}.spa-video-section .section-heading{margin:0 auto 28px}.spa-video-wrap{width:min(440px,100%);margin:0 auto;border:1px solid #a67b3b;border-radius:16px;overflow:hidden;background:#080706;box-shadow:0 20px 55px #0008}.spa-video{display:block;width:100%;height:auto;max-height:75vh;aspect-ratio:9/16;object-fit:contain;background:#000}.spa-video-caption{color:#c7aa79;font-size:.9rem;margin-top:16px}@media(prefers-reduced-motion:reduce){.spa-video{scroll-behavior:auto}}


/* Royal Black & Gold visual edition — progressive enhancement, preserves existing functionality */
:root{--royal-black:#0b0b0a;--royal-surface:#171613;--royal-gold:#c6a45d;--royal-gold-light:#e8d4a4;--royal-ivory:#f6f0e6;--royal-muted:#c5baaa}
body{background:var(--royal-black);color:var(--royal-ivory)}
.topbar{height:88px;background:rgba(11,11,10,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(198,164,93,.24);box-shadow:0 10px 40px #0004}
.brand{letter-spacing:.12em;color:var(--royal-gold-light)}.brand img{border:1px solid #c6a45d60;padding:3px;background:#15120e}
.topbar nav a{transition:color .2s;color:#e9e0d1}.topbar nav a:hover{color:var(--royal-gold-light)}
.btn{border-radius:2px;background:linear-gradient(110deg,#a77d36 0%,#e8cd8e 50%,#b78c43 100%);border-color:#d4b16c;color:#17120a;letter-spacing:.035em;box-shadow:0 6px 22px #0003;transition:transform .25s,box-shadow .25s,background .25s}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0007}.btn.outline{background:rgba(13,12,11,.2);border:1px solid #c6a45d;color:#f2e1b9;box-shadow:none}
.hero{min-height:min(820px,90svh);overflow:hidden}.hero-image{background-position:center 33%;transform:scale(1.015);animation:royalReveal 1.6s ease-out both}.hero-overlay{background:linear-gradient(90deg,rgba(8,8,8,.97),rgba(8,8,8,.80) 43%,rgba(8,8,8,.20) 100%),linear-gradient(0deg,#0b0b0a 0%,transparent 24%)}
.hero-copy{max-width:870px;padding-top:135px;padding-bottom:130px;z-index:1}.hero-kicker{letter-spacing:.32em;color:var(--royal-gold-light)}.hero-rule{width:72px;height:1px;background:var(--royal-gold);margin-top:24px}
.hero h1{font-weight:500;letter-spacing:-.035em;font-size:clamp(3.1rem,6.7vw,6.5rem);line-height:1.06;color:#f6eee1;text-shadow:0 6px 36px #0009}.hero p{color:#e4d9c9;line-height:1.8;font-size:clamp(1rem,1.5vw,1.24rem)}.hero .buttons{margin-top:34px}
.hero-signature{margin-top:70px;color:#c9ac74;letter-spacing:.35em;font-family:Georgia,serif}.hero-signature span{display:block;font:500 .65rem 'DM Sans',sans-serif;letter-spacing:.25em;margin-top:9px;color:#d0c2aa}.hero-side-label{position:absolute;right:26px;bottom:80px;writing-mode:vertical-rl;letter-spacing:.27em;font-size:.65rem;color:#e8d4a4a8}
.section{padding-top:110px;padding-bottom:110px}.section.alt{background:#141310}.section-heading{margin-bottom:48px}.section-heading h2{font-weight:500;letter-spacing:-.02em;color:var(--royal-ivory)}.section-heading p{color:var(--royal-muted);line-height:1.8}.eyebrow{color:var(--royal-gold-light)}
.cards,.offer-grid,.room-grid{gap:22px}.service-card,.offer-card{background:linear-gradient(145deg,#222019,#11110f 76%);border:1px solid #c6a45d45;border-radius:3px;padding:32px;min-height:245px;transition:transform .28s,border-color .28s,box-shadow .28s;position:relative;overflow:hidden}.service-card::before,.offer-card::before{content:'';position:absolute;left:30px;top:0;width:65px;height:2px;background:#c6a45d}.service-card:hover,.offer-card:hover{transform:translateY(-5px);border-color:#c6a45d99;box-shadow:0 20px 48px #0007}.service-card h3,.offer-card h3{color:#f5ecdd;font-weight:500}.price{color:var(--royal-gold-light)}
.room-grid article{background:#191713;border:1px solid #c6a45d45;border-radius:3px;transition:transform .3s,border-color .3s;overflow:hidden}.room-grid article:hover{transform:translateY(-5px);border-color:#c6a45d}.room-grid article img{height:285px;transition:transform .5s}.room-grid article:hover img{transform:scale(1.035)}.room-grid article>div{padding:26px}.room-grid h3{color:#f1e5cf;font-weight:500}.room-grid p{color:#c5baaa;line-height:1.65}.textlink{color:#e8cf99;text-underline-offset:5px}
.spa-video-section{background:radial-gradient(ellipse at 65% 45%,#29231a 0%,#12110f 54%,#0b0b0a 100%);text-align:left}.spa-video-section .section-heading{margin:0 0 50px}.video-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,440px);gap:clamp(28px,7vw,110px);align-items:center;max-width:1080px;margin:auto}.video-aside h3,.booking-aside h3{font:500 clamp(2.2rem,4vw,4rem)/1.15 'Playfair Display',Georgia,serif;color:#f5ebda;margin:20px 0}.video-aside p,.booking-aside p{line-height:1.85;color:#c9bfaf;max-width:400px}.spa-video-wrap{width:100%;border:1px solid #c6a45d99;border-radius:3px;padding:9px;background:#1c1a15;box-shadow:0 30px 80px #0009}.spa-video{border-radius:1px;max-height:650px}.spa-video-caption{text-align:center;color:#c6a45d}
.gallery-grid{gap:16px}.gallery-grid a{display:block;overflow:hidden;border:1px solid #c6a45d50}.gallery-grid img{display:block;border:0;border-radius:0;transition:transform .4s}.gallery-grid a:hover img{transform:scale(1.04)}.team-poster{border:1px solid #c6a45d40;border-radius:3px}
.booking-section{background:radial-gradient(ellipse at 20% 20%,#30271b,#0b0b0a 60%)}.booking-shell{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.5fr);border:1px solid #c6a45d65;max-width:1170px;margin:auto;background:#151411;box-shadow:0 25px 75px #0006}.booking-aside{padding:clamp(28px,4vw,55px);background:linear-gradient(160deg,#29241b,#12110f);border-right:1px solid #c6a45d45}.booking-aside-line{height:1px;width:100%;background:linear-gradient(90deg,#c6a45d,transparent);margin-top:50px}.booking-aside-foot{font-size:.73rem;letter-spacing:.23em;color:#c6a45d!important}.booking-form{max-width:none;margin:0;border:0;border-radius:0;background:transparent;padding:clamp(22px,3.4vw,42px);gap:19px}.booking-form label{color:#ead3a1}.booking-form input,.booking-form select,.booking-form textarea{background:#0c0c0b;border:1px solid #786a4c;border-radius:2px;min-height:49px}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:#e8d4a4}
.room-tabs button{background:#1c1a16;border-color:#927746;border-radius:2px}.room-tabs button.active{background:#c6a45d;color:#12110e}.explorer #roomPhoto{border-radius:3px}.explorer h3{color:#f5e9d2}.photo-dialog{border-color:#c6a45d}
.contact{background:#11100e}.contact-grid{gap:60px}.entrance,.map iframe{border-radius:3px;border:1px solid #c6a45d50}footer{background:#080807;border-top:1px solid #c6a45d33}.float-wa{border:2px solid #f6f0e6;box-shadow:0 8px 30px #0008}
@keyframes royalReveal{from{opacity:.6;transform:scale(1.06)}to{opacity:1;transform:scale(1.015)}}
@media(max-width:950px){.booking-shell{grid-template-columns:1fr}.booking-aside{border-right:0;border-bottom:1px solid #c6a45d45}.video-stage{grid-template-columns:1fr}.video-aside{max-width:650px}.spa-video-wrap{max-width:440px;margin:auto}}
@media(max-width:760px){.topbar{height:72px}.hero{min-height:660px}.hero-copy{padding-top:90px;padding-bottom:85px}.hero h1{font-size:clamp(2.85rem,11vw,4.6rem)}.hero-overlay{background:linear-gradient(90deg,#090909ee,#09090980),linear-gradient(0deg,#0b0b0a,transparent 35%)}.hero-signature{margin-top:45px}.hero-side-label{display:none}.section{padding-top:75px;padding-bottom:75px}.service-card,.offer-card{min-height:0}.room-grid article img{height:260px}.video-stage{gap:30px}.booking-form{padding:22px}.topbar nav{background:#141310;border-color:#c6a45d55}}
@media(prefers-reduced-motion:reduce){.hero-image{animation:none!important;transform:none}.service-card:hover,.offer-card:hover,.room-grid article:hover,.room-grid article:hover img,.gallery-grid a:hover img{transform:none}}

/* V5: concise local SEO and accessible FAQ */
.skip-to-content{position:fixed;top:-100px;left:16px;z-index:99999;background:#d9b66d;color:#17110b;padding:12px 18px;border-radius:6px}.skip-to-content:focus{top:12px}.seo-guide,.spa-faq{scroll-margin-top:80px}.seo-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1050px;margin:24px auto}.seo-services article,.faq-list details{border:1px solid rgba(211,171,97,.3);border-radius:12px;background:rgba(20,17,14,.55);padding:20px}.seo-services h3{color:#e8c886;margin:0 0 10px}.seo-services p,.faq-list p,.seo-guide-note{line-height:1.7}.seo-guide-note{text-align:center;margin:20px auto;max-width:800px}.seo-guide-note a{color:#e8c886;text-decoration:underline}.faq-list{max-width:900px;margin:24px auto;display:grid;gap:10px}.faq-list summary{cursor:pointer;font-weight:600;color:#e8c886;line-height:1.5}.faq-list details[open] summary{margin-bottom:12px}.faq-list summary:focus-visible,.seo-guide a:focus-visible{outline:3px solid #f4d28b;outline-offset:4px}@media(max-width:650px){.seo-services{grid-template-columns:1fr}.seo-services article,.faq-list details{padding:16px}}@media(prefers-reduced-motion:reduce){.seo-guide *,.spa-faq *{scroll-behavior:auto!important;transition:none!important}}
