/*
Theme Name: Sapphire Resorts
Theme URI: https://example.com/
Author: HPWebsoft
Description: Premium luxury resort and hotel WordPress theme. Responsive, animated and Elementor-compatible.
Version: 10.1.0
Text Domain: sapphire-resorts
*/
:root{--navy:#071522;--navy2:#0d2232;--gold:#caa66a;--gold2:#e7cf9d;--cream:#f7f1e7;--muted:#b9c2c8;--line:rgba(255,255,255,.12);--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:var(--cream);font-family:var(--sapp-sans);line-height:1.7}a{color:inherit;text-decoration:none}.container{width:min(1180px,92%);margin:auto}.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(7,21,34,.72);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:43px;height:43px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold2);font:24px var(--sapp-serif)}.brand-copy strong{display:block;font:23px var(--sapp-serif);letter-spacing:.03em}.brand-copy small{display:block;color:var(--muted);font-size:9px;letter-spacing:.18em;text-transform:uppercase}.menu{display:flex;align-items:center}.primary-links,.menu>ul{display:flex;align-items:center;gap:5px;margin:0;padding:0;list-style:none}.primary-links a,.menu>ul a{display:block;padding:11px 12px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#eef0ef}.primary-links a:hover,.menu>ul a:hover{color:var(--gold2)}.primary-links .current-menu-item>a{color:var(--gold2)}.primary-links .menu-item:last-child>a,.menu>ul li:last-child>a{background:var(--gold);color:#101820;padding:12px 17px;border-radius:2px}.menu-toggle{display:none;background:none;border:0;width:42px;height:42px}.menu-toggle span{display:block;height:1px;background:#fff;margin:7px 4px}.hero{min-height:820px;display:grid;align-items:center;position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(4,13,21,.9),rgba(4,13,21,.35)),url('https://images.unsplash.com/photo-1566073771259-6a8506099945?auto=format&fit=crop&w=2000&q=85') center/cover}.hero:after{content:"";position:absolute;inset:auto 0 0;height:220px;background:linear-gradient(transparent,var(--navy))}.hero-content{position:relative;z-index:2;max-width:780px;padding-top:80px}.eyebrow,.luxury-line{color:var(--gold2);font-size:11px;letter-spacing:.22em;text-transform:uppercase}.hero h1{font:clamp(50px,7vw,92px)/.98 var(--sapp-serif);margin:18px 0}.hero p{max-width:650px;color:#d5dadd;font-size:16px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-block;padding:14px 21px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--gold)}.btn.primary{background:var(--gold);color:#101820}.btn.ghost{color:var(--cream);border-color:rgba(255,255,255,.3)}section{padding:100px 0}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:42px}.section-head h2{font:clamp(34px,5vw,60px)/1.05 var(--sapp-serif);margin:12px 0}.section-head p{max-width:450px;color:var(--muted);font-size:14px}.grid{display:grid;gap:18px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card{border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.015));padding:30px;transition:.35s}.card:hover{transform:translateY(-8px);border-color:rgba(202,166,106,.55)}.card h3{font:26px var(--sapp-serif);margin:15px 0 8px}.card p{color:var(--muted);font-size:13px}.num{color:var(--gold);font:18px var(--sapp-serif)}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.split img{width:100%;height:570px;object-fit:cover}.split h2{font:clamp(36px,5vw,62px)/1.05 var(--sapp-serif)}.split p{color:var(--muted)}.photo-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:250px;gap:12px}.photo-grid a{overflow:hidden}.photo-grid a:first-child{grid-row:span 2}.photo-grid img{width:100%;height:100%;object-fit:cover;transition:.6s}.photo-grid a:hover img{transform:scale(1.06)}.band{background:var(--navy2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stat{padding:25px;border-left:1px solid var(--line)}.stat b{display:block;font:38px var(--sapp-serif);color:var(--gold2)}.stat span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.page-hero{padding:190px 0 90px;background:linear-gradient(90deg,rgba(7,21,34,.96),rgba(7,21,34,.45)),url('https://images.unsplash.com/photo-1582719478250-c89cae4dc85b?auto=format&fit=crop&w=2000&q=85') center/cover}.page-hero h1{font:clamp(48px,7vw,82px)/1 var(--sapp-serif);margin:10px 0}.wp-content{padding-top:70px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:35px}.form-card{padding:32px;border:1px solid var(--line);background:rgba(255,255,255,.03)}input,textarea,select{width:100%;padding:14px;margin-bottom:12px;background:#081925;border:1px solid var(--line);color:#fff}textarea{min-height:150px}.site-footer{padding:70px 0 25px;background:#04101a;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .9fr 1fr;gap:35px}.site-footer h3{font:20px var(--sapp-serif);color:var(--gold2)}.site-footer p{color:var(--muted);font-size:13px}.copyright{margin-top:50px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#87939a;font-size:10px}.reveal{animation:fadeUp .8s ease both}@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.float-book{position:fixed;right:20px;bottom:20px;z-index:999;background:var(--gold);color:#071522;padding:14px 17px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 12px 35px #0005}@media(max-width:900px){.menu-toggle{display:block}.menu{position:absolute;top:82px;left:0;right:0;background:#071522;border-bottom:1px solid var(--line);display:none;padding:15px 4%}.menu.open{display:block}.primary-links,.menu>ul{display:block}.primary-links a,.menu>ul a{padding:13px}.grid-3,.grid-4,.stats,.footer-grid,.split,.contact-grid{grid-template-columns:1fr 1fr}.section-head{display:block}.section-head p{margin-top:20px}}@media(max-width:620px){.nav{height:72px}.menu{top:72px}.brand-copy strong{font-size:19px}.hero{min-height:720px}.hero h1{font-size:52px}.grid-3,.grid-4,.stats,.footer-grid,.split,.contact-grid{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.photo-grid a:first-child{grid-row:span 2}.split img{height:390px}.copyright{display:block}.copyright span{display:block;margin-top:6px}}
/* Sapphire Resorts v2 visual system */
body{font-family:"Cormorant Garamond",var(--sapp-serif);background:#f5f0e8;color:#253038}body:before{content:"";display:block} .site-header{background:rgba(8,20,29,.68)}.hero-home{background:linear-gradient(90deg,rgba(5,16,24,.82),rgba(5,16,24,.24)),url('https://images.unsplash.com/photo-1542314831-068cd1dbfeeb?auto=format&fit=crop&w=2200&q=90') center/cover}.hero-home h1{font-weight:500;letter-spacing:-.02em}.hero-home h1 em{color:#e2c58e;font-weight:400}.hero-scroll{position:absolute;z-index:3;bottom:38px;right:4%;font-size:10px;letter-spacing:.2em;color:#eee}.intro{background:#f5f0e8;color:#26343a}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end}.intro h2{font-size:clamp(42px,5vw,68px);line-height:1;margin:12px 0}.intro p{font-family:var(--sapp-sans);color:#657076;font-size:14px}.section-head h2{font-weight:500}.room-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.feature-card{position:relative;min-height:460px;overflow:hidden;background:#111}.feature-card.tall{grid-row:span 2;min-height:700px}.feature-card img{width:100%;height:100%;min-height:460px;object-fit:cover;display:block;transition:transform .8s ease}.feature-card:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(4,12,18,.92))}.feature-card>div{position:absolute;z-index:2;left:30px;right:30px;bottom:28px;color:#fff}.feature-card span{font:10px var(--sapp-sans);letter-spacing:.18em;text-transform:uppercase;color:#dfc58f}.feature-card h3{font-size:34px;margin:8px 0 4px;font-weight:500}.feature-card p{font:13px var(--sapp-sans);color:#d5dadd;max-width:560px}.feature-card:hover img{transform:scale(1.05)}.band{background:#102531;color:#f5f0e8}.service-list{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0 28px}.service-list span{border:1px solid rgba(226,197,142,.35);padding:9px 13px;font:10px var(--sapp-sans);letter-spacing:.09em;text-transform:uppercase;color:#ddd4c5}.split-reverse img{height:620px}.icon-card .icon{font-size:25px;color:#c9a66c}.dark-gallery{background:#0a1821;color:#f5f0e8}.dark-gallery .section-head p{color:#aeb8bc}.cta-band{padding:70px 0;background:#d9c8ae;color:#18252c}.cta{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{font-size:52px;margin:10px 0;font-weight:500}.page-hero{background:linear-gradient(90deg,rgba(6,18,26,.9),rgba(6,18,26,.4)),url('https://images.unsplash.com/photo-1566073771259-6a8506099945?auto=format&fit=crop&w=2200&q=90') center/cover}.page-hero p{max-width:650px;color:#d7dfe1;font:14px var(--sapp-sans)}.gallery-cats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.gallery-cats span{padding:10px 18px;border:1px solid #cbb99f;font:10px var(--sapp-sans);letter-spacing:.13em;text-transform:uppercase}.gallery-large{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery-large a{display:block;height:340px;overflow:hidden}.gallery-large a:nth-child(1){grid-row:span 2;height:694px}.gallery-large img{width:100%;height:100%;object-fit:cover;transition:.7s}.gallery-large a:hover img{transform:scale(1.06)}.offer{padding:38px;border:1px solid #d8ccb9;background:#fbf8f2;min-height:290px}.offer span{font:10px var(--sapp-sans);letter-spacing:.2em;color:#a27d43}.offer h3{font-size:34px;margin:12px 0}.offer p{font:13px var(--sapp-sans);color:#69747a}.text-link{font:10px var(--sapp-sans);letter-spacing:.12em;text-transform:uppercase;color:#c6a269}.contact-details{border-top:1px solid #d8ccb9;margin-top:30px;padding-top:20px}.contact-details p{font:13px var(--sapp-sans)}.contact-details strong{color:#9a7847}.form-card{background:#fbf8f2;border:1px solid #d8ccb9;color:#26343a}.form-card label{display:block;font:10px var(--sapp-sans);text-transform:uppercase;letter-spacing:.13em;margin:4px 0}input,textarea,select{background:#fff;border-color:#d9cdbc;color:#26343a;font:13px var(--sapp-sans)}.map-placeholder{min-height:250px;display:grid;place-items:center;text-align:center}.map-placeholder span{font:10px var(--sapp-sans);letter-spacing:.2em;color:#d9bb86}.map-placeholder h3{font-size:34px;margin:5px}.map-placeholder p{font:13px var(--sapp-sans);color:#b4c0c4}.site-footer{background:#07151e}.reveal{opacity:0;transform:translateY(28px);animation:none}.reveal.visible{animation:fadeUp .75s cubic-bezier(.2,.7,.2,1) both}.lightbox{position:fixed;inset:0;z-index:3000;background:rgba(3,9,13,.94);display:grid;place-items:center;padding:5vw}.lightbox img{max-width:92vw;max-height:88vh;object-fit:contain}.lightbox button{position:absolute;right:24px;top:18px;border:0;background:none;color:#fff;font-size:42px;cursor:pointer}
@media(max-width:900px){.intro-grid,.room-grid{grid-template-columns:1fr}.feature-card.tall{min-height:560px;grid-row:auto}.split-reverse{display:flex;flex-direction:column-reverse}.split-reverse img{height:420px}.gallery-large{grid-template-columns:1fr 1fr}.gallery-large a:nth-child(1){grid-row:auto;height:340px}.cta{display:block}.cta .btn{margin-top:20px}}
@media(max-width:620px){section{padding:72px 0}.hero-home{min-height:720px}.hero-home h1{font-size:51px}.hero-scroll{display:none}.intro-grid{gap:25px}.feature-card,.feature-card img{min-height:400px}.feature-card.tall{min-height:480px}.gallery-large{grid-template-columns:1fr}.gallery-large a,.gallery-large a:nth-child(1){height:300px}.cta h2{font-size:40px}.float-book{right:12px;bottom:12px}}
/* v2.0 homepage reference-inspired layout: editorial luxury, distinct from wedding template */
body{font-family:'DM Sans',var(--sapp-sans);background:#f7f3ec;color:#26343b}.site-header{font-family:'DM Sans',var(--sapp-sans)}.brand-copy strong,.hero h1,.section-head h2,.intro h2,.feature-card h3,.room-overlay h3,.cta h2,.testimonial-box h2{font-family:'Cormorant Garamond',var(--sapp-serif)}.hero-home{min-height:760px;background:linear-gradient(90deg,rgba(5,17,25,.86),rgba(5,17,25,.22)),url('https://images.unsplash.com/photo-1542314831-068cd1dbfeeb?auto=format&fit=crop&w=2200&q=90') center/cover}.hero-home .hero-content{max-width:820px}.hero-home h1{font-size:clamp(58px,7vw,94px);font-weight:500}.hero-home h1 em{color:#e5c890}.hero-home p{font-family:'DM Sans',var(--sapp-sans);max-width:630px}.actions .btn span{margin-left:12px}.experience-strip{padding:0;background:#ebe2d5;color:#27343a;border-bottom:1px solid #ddd1c0}.experience-grid{display:grid;grid-template-columns:repeat(4,1fr)}.experience-item{min-height:100px;display:flex;align-items:center;gap:14px;padding:20px;border-right:1px solid #d6c9b8}.experience-item:first-child{border-left:1px solid #d6c9b8}.round-icon{width:43px;height:43px;border:1px solid #bda886;border-radius:50%;display:grid;place-items:center;color:#a48454;font-size:18px;flex:none}.experience-item strong{display:block;font-family:'Cormorant Garamond',var(--sapp-serif);font-size:19px;font-weight:600}.experience-item small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#6d777b;margin-top:3px}.intro-editorial{background:#f7f3ec}.intro-editorial .intro-grid{align-items:center}.intro-editorial h2{max-width:620px}.script-line{font-family:'Cormorant Garamond',var(--sapp-serif)!important;font-style:italic;color:#a17e4b!important;font-size:25px!important}.rooms-section{background:#f1ece4;color:#26343a}.centered{text-align:center;display:block}.centered .section-head>div{max-width:760px;margin:auto}.centered .section-head p{margin:12px auto 0}.dark-btn{border-color:#9e835b;color:#26343a;margin-top:25px}.room-showcase{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.room-card{position:relative;min-height:420px;overflow:hidden;background:#182832}.room-card-large{grid-row:span 2;min-height:650px}.room-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s ease}.room-card:after{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(5,14,20,.9))}.room-overlay{position:absolute;z-index:2;left:30px;right:30px;bottom:28px;color:#fff}.room-overlay span{font-size:9px;letter-spacing:.2em;color:#e1c38b}.room-overlay h3{font-size:36px;font-weight:500;margin:7px 0}.room-overlay p{font-size:12px;color:#d6dce0;max-width:500px}.room-overlay a{display:inline-block;margin-top:8px;color:#e5c890;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.room-card:hover img{transform:scale(1.055)}.facilities-home{background:#0b2230}.facilities-head{align-items:end}.facilities-head h2{max-width:670px}.facilities-head>p{font-size:13px;color:#aebbc0;max-width:440px}.service-icons{margin:10px 0 35px;display:grid;grid-template-columns:repeat(4,1fr);gap:0}.service-icons span{padding:25px 15px;border:0;border-right:1px solid rgba(229,200,144,.18);border-bottom:1px solid rgba(229,200,144,.18);font-size:11px;text-align:center;color:#e7ddcf;transition:.3s}.service-icons span:hover{background:rgba(229,200,144,.08);color:#e6c98f;transform:translateY(-3px)}.facility-foot{display:flex;align-items:center;justify-content:space-between}.facility-foot>span{font-family:'Cormorant Garamond',var(--sapp-serif);font-style:italic;color:#bba77f}.dining-section{background:#fbf8f2;color:#26343a}.dining-split{grid-template-columns:.8fr 1.2fr}.dining-split h2{font-size:clamp(44px,5vw,68px)}.dining-split p{font-size:13px;color:#667278}.dining-gallery{display:grid;grid-template-columns:1.3fr .7fr;grid-template-rows:1fr 1fr;gap:12px}.dining-gallery a{position:relative;overflow:hidden;min-height:220px}.dining-gallery .dining-main{grid-row:span 2}.dining-gallery img{width:100%;height:100%;object-fit:cover;transition:.7s}.dining-gallery span{position:absolute;left:18px;bottom:16px;color:#fff;font-size:10px;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 2px 12px #000}.dining-gallery a:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.55))}.dining-gallery a:hover img{transform:scale(1.06)}.gallery-home{background:#f1ece4;color:#26343a}.home-gallery{display:grid;grid-template-columns:1.3fr .8fr .8fr 1.1fr;gap:10px}.home-gallery a{height:260px;overflow:hidden}.home-gallery img{width:100%;height:100%;object-fit:cover;transition:.7s}.home-gallery a:hover img{transform:scale(1.07)}.events-home{background:#e6d7c4;color:#26343a}.events-home .split{grid-template-columns:1fr 1fr}.events-home h2{font-size:clamp(42px,5vw,68px)}.events-home p{font-size:13px;color:#667278;max-width:550px}.events-home img{height:520px;object-fit:cover;width:100%}.event-tags{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.event-tags span{border:1px solid #b9a17d;padding:8px 11px;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.testimonial-home{background:linear-gradient(90deg,rgba(6,18,26,.88),rgba(6,18,26,.7)),url('https://images.unsplash.com/photo-1506744038136-46273834b3fb?auto=format&fit=crop&w=2000&q=88') center/cover;color:#fff;text-align:center}.testimonial-box{max-width:780px}.testimonial-box h2{font-size:54px;font-weight:500;margin:12px 0}.testimonial-box p{font-family:'Cormorant Garamond',var(--sapp-serif);font-size:24px;font-style:italic;color:#eee4d5}.testimonial-box strong{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#e2c38b}.cta-band{background:#d8c3a6;color:#1d2a31}.cta{align-items:center}.cta h2{font-size:58px;font-weight:500;margin:8px 0}.cta p{font-size:12px;color:#5e696d}.cta .btn{border-color:#a4814c}.site-footer{font-family:'DM Sans',var(--sapp-sans)}
@media(max-width:900px){.experience-grid{grid-template-columns:1fr 1fr}.experience-item:nth-child(2){border-right:0}.room-showcase{grid-template-columns:1fr}.room-card-large{grid-row:auto;min-height:560px}.service-icons{grid-template-columns:1fr 1fr}.dining-split,.events-home .split{grid-template-columns:1fr}.dining-gallery{min-height:500px}.home-gallery{grid-template-columns:1fr 1fr}.events-home img{height:420px}.cta h2{font-size:48px}}
@media(max-width:620px){.experience-grid{grid-template-columns:1fr}.experience-item{border-left:0!important;border-right:0!important;border-bottom:1px solid #d6c9b8}.hero-home{min-height:700px}.hero-home h1{font-size:53px}.experience-item{min-height:82px}.room-card,.room-card-large{min-height:390px}.service-icons{grid-template-columns:1fr 1fr}.service-icons span{padding:18px 7px;font-size:9px}.facility-foot{display:block}.facility-foot>span{display:block;margin-top:18px}.dining-gallery{grid-template-columns:1fr;grid-template-rows:280px 200px 200px}.dining-gallery .dining-main{grid-row:auto}.home-gallery{grid-template-columns:1fr 1fr}.home-gallery a{height:170px}.events-home img{height:330px}.testimonial-box p{font-size:20px}.cta h2{font-size:42px}}
/* Sapphire Resorts v3 visual refinement */
:root{--ink:#162a39;--paper:#f8f5ef;--paper2:#efe7da;--gold:#c7a15f;--gold-light:#e7cf9c;--blue:#071d2c}
body{font-size:16px;overflow-x:hidden;background:var(--paper)}
body:before{content:"";position:fixed;inset:-20%;z-index:-1;pointer-events:none;background:radial-gradient(circle at 15% 20%,rgba(199,161,95,.08),transparent 28%),radial-gradient(circle at 85% 70%,rgba(32,91,116,.08),transparent 30%);animation:ambientFloat 18s ease-in-out infinite alternate}
.site-header{transition:background .35s,box-shadow .35s}.site-header:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.65}
.primary-links a,.menu>ul a{font-weight:600;letter-spacing:.1em}
.hero-home{position:relative;isolation:isolate;overflow:hidden;background-position:center;animation:heroKen 16s ease-in-out infinite alternate}
.hero-home:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 70% 35%,rgba(226,193,137,.18),transparent 22%),linear-gradient(115deg,rgba(4,15,24,.9),rgba(4,15,24,.3) 60%,rgba(4,15,24,.62));animation:heroGlow 8s ease-in-out infinite alternate}
.hero-home:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-110px;height:180px;background:rgba(247,243,236,.16);filter:blur(30px);border-radius:50%;animation:mist 9s ease-in-out infinite alternate}
.hero-home h1{line-height:.9;letter-spacing:-.025em;text-shadow:0 8px 35px rgba(0,0,0,.3)}
.hero-home p{font-size:16px;line-height:1.8;color:#f2eee6}
.eyebrow{font-weight:700;letter-spacing:.2em;color:#9b7742}
.section-head h2,.intro h2,.cta h2,.events-home h2{line-height:.95;letter-spacing:-.015em}
.experience-strip{position:relative;overflow:hidden}.experience-strip:after{content:"";position:absolute;top:0;bottom:0;left:-30%;width:30%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-20deg);animation:shine 7s linear infinite}
.experience-item{position:relative;transition:transform .35s,background .35s}.experience-item:hover{background:rgba(255,255,255,.38);transform:translateY(-3px)}
/* new editorial information block */
.quick-stats{background:#f8f5ef;color:#223440;padding:30px 0;border-bottom:1px solid #ddd1bf}.quick-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.quick-stat{padding:12px 25px;border-right:1px solid #d9cdbd;text-align:center}.quick-stat:last-child{border-right:0}.quick-stat b{display:block;font:600 42px/1 'Cormorant Garamond',var(--sapp-serif);color:#9b7742}.quick-stat span{display:block;margin-top:7px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#66737a}
.signature-section{background:#fffdfa;color:#223440;position:relative;overflow:hidden}.signature-section:before{content:"S";position:absolute;right:3%;top:-80px;font:700 360px/1 'Cormorant Garamond',var(--sapp-serif);color:rgba(199,161,95,.055);pointer-events:none}.signature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.signature-card{position:relative;padding:32px 28px;border:1px solid #ded3c4;background:rgba(255,255,255,.7);min-height:230px;transition:transform .45s,box-shadow .45s}.signature-card:before{content:"";position:absolute;top:0;left:0;width:55px;height:2px;background:var(--gold)}.signature-card:hover{transform:translateY(-9px);box-shadow:0 20px 45px rgba(28,45,55,.1)}.signature-card .num{font:600 18px 'Cormorant Garamond',var(--sapp-serif);color:#b18b51}.signature-card h3{font:600 28px/1.05 'Cormorant Garamond',var(--sapp-serif);margin:14px 0 10px}.signature-card p{font-size:13px;color:#667278;margin:0}
.service-icons span{position:relative;overflow:hidden}.service-icons span:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 35%,rgba(231,207,156,.1),transparent 65%);transform:translateX(-120%);transition:transform .7s}.service-icons span:hover:before{transform:translateX(120%)}
.dining-gallery a,.home-gallery a,.events-home .split>img,.feature-card img,.gallery-large a{box-shadow:0 12px 35px rgba(17,35,45,.08)}
.gallery-home{position:relative}.home-gallery a{position:relative}.home-gallery a:after{content:"View";position:absolute;inset:auto 12px 12px auto;padding:7px 10px;background:rgba(7,29,44,.78);color:#fff;font-size:9px;letter-spacing:.14em;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:.35s}.home-gallery a:hover:after{opacity:1;transform:none}
.testimonial-home{position:relative;overflow:hidden}.testimonial-home:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(231,207,156,.2);border-radius:50%;right:-170px;top:-170px;animation:spinSlow 24s linear infinite}.testimonial-box{position:relative;z-index:1}
.cta-band{position:relative;overflow:hidden}.cta-band:before,.cta-band:after{content:"";position:absolute;border:1px solid rgba(126,94,48,.2);border-radius:50%;animation:floatRing 10s ease-in-out infinite}.cta-band:before{width:340px;height:340px;right:-120px;top:-150px}.cta-band:after{width:180px;height:180px;left:-80px;bottom:-100px;animation-delay:-4s}
.site-footer{background:linear-gradient(145deg,#061622,#0b2638 60%,#07151f);color:#e9eeeF;position:relative;overflow:hidden}.site-footer:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(199,161,95,.09),transparent 25%),radial-gradient(circle at 90% 80%,rgba(63,129,158,.08),transparent 30%);animation:ambientFloat 14s ease-in-out infinite alternate}.site-footer .container{position:relative;z-index:1}.site-footer .brand-copy strong{color:#fff}.site-footer .brand-copy small{color:#c4cbd0}.site-footer p{color:#cbd3d8}.site-footer h3{color:#e6c98f;font-family:'Cormorant Garamond',var(--sapp-serif);font-size:27px}.site-footer a:hover{color:#e6c98f}.copyright{border-top:1px solid rgba(255,255,255,.13)}
.float-book{box-shadow:0 12px 30px rgba(0,0,0,.18);transition:.3s}.float-book:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(0,0,0,.25)}
.reveal.visible{animation:fadeUp .85s cubic-bezier(.2,.75,.2,1) both}
@keyframes heroKen{from{background-size:100% auto}to{background-size:108% auto}}@keyframes heroGlow{from{opacity:.65;transform:translateX(-2%)}to{opacity:1;transform:translateX(2%)}}@keyframes mist{from{transform:translateX(-5%) scaleX(1)}to{transform:translateX(5%) scaleX(1.12)}}@keyframes shine{0%{left:-30%}55%,100%{left:120%}}@keyframes ambientFloat{from{transform:translate3d(-1%,0,0) scale(1)}to{transform:translate3d(1%,1%,0) scale(1.04)}}@keyframes spinSlow{to{transform:rotate(360deg)}}@keyframes floatRing{0%,100%{transform:translateY(0)}50%{transform:translateY(18px)}}
@media(max-width:900px){.quick-stats-grid{grid-template-columns:1fr 1fr}.quick-stat:nth-child(2){border-right:0}.quick-stat{padding:16px}.signature-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.quick-stats-grid{grid-template-columns:1fr 1fr}.quick-stat b{font-size:34px}.quick-stat span{font-size:8px}.signature-grid{grid-template-columns:1fr}.signature-card{min-height:190px}.hero-home{background-size:cover;animation:none}.hero-home h1{font-size:52px}.hero-home p{font-size:14px}.site-footer h3{font-size:24px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ===== Sapphire Resorts v4 — unique inner pages, clearer type & motion ===== */
:root{--navy:#061a29;--navy-deep:#04121d;--cream:#f7f2e9;--cream2:#eee5d7;--gold:#cba86b;--gold2:#e5c98f;--ink:#172b3a;--muted:#65727a;--white:#fff;--border:#ddd1bf}
body{font-family:'DM Sans',var(--sapp-sans);color:var(--ink);background:var(--cream);line-height:1.75}.site-header{font-family:'DM Sans',var(--sapp-sans)}.brand-copy strong,.hero h1,.page-hero h1,.section-head h2,.editorial-section h2,.event-intro h2,.contact-copy h2,.quote-wrap blockquote,.service-banner h2{font-family:'Cormorant Garamond',var(--sapp-serif)}
.site-header{box-shadow:0 8px 30px rgba(0,0,0,.08)}.site-header.scrolled{background:rgba(4,18,29,.94);box-shadow:0 12px 30px rgba(0,0,0,.18)}
.page-hero{min-height:590px;padding:150px 0 90px;position:relative;isolation:isolate;overflow:hidden;background-image:linear-gradient(90deg,rgba(3,14,23,.94),rgba(3,14,23,.55) 55%,rgba(3,14,23,.35)),var(--page-bg);background-size:cover;background-position:center;display:flex;align-items:center}.page-hero:before{content:'';position:absolute;inset:-8%;z-index:-1;background:var(--page-bg) center/cover;filter:saturate(.92);animation:pageZoom 18s ease-in-out infinite alternate}.page-hero:after{content:'';position:absolute;left:-10%;right:-10%;bottom:-150px;height:240px;border-radius:50%;background:rgba(255,255,255,.08);filter:blur(40px);animation:pageMist 10s ease-in-out infinite alternate}.page-hero-inner{position:relative;z-index:2;max-width:900px}.page-hero h1{font-size:clamp(56px,8vw,96px);line-height:.9;font-weight:500;color:#fff;margin:16px 0 20px;letter-spacing:-.025em}.page-hero p{max-width:720px;color:#eef0ed;font-size:17px;line-height:1.8}.page-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.page-hero .eyebrow{color:var(--gold2)}
.btn{font-family:'DM Sans',var(--sapp-sans);font-weight:600;transition:transform .35s,box-shadow .35s,background .35s}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.14)}.btn.primary{background:var(--gold);color:#101b22}.btn.ghost{color:#fff;border-color:rgba(255,255,255,.45)}
.editorial-section,.event-intro,.gallery-page,.offers-page,.contact-page{background:var(--cream);padding:110px 0}.editorial-section p,.event-intro p,.contact-page p,.offers-page p{font-size:15px;color:#5f6b71}.editorial-section h2,.event-intro h2,.contact-copy h2{font-size:clamp(46px,6vw,72px);font-weight:500;line-height:.96;margin:14px 0 24px}.editorial-section h2 em{color:#a27e46;font-weight:400}.split{gap:70px}.image-frame{margin:0;position:relative}.image-frame img{width:100%;height:620px;object-fit:cover;display:block}.image-frame:before{content:'';position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--gold);z-index:-1}.image-frame figcaption{position:absolute;left:20px;bottom:20px;padding:10px 14px;background:rgba(4,18,29,.82);color:#fff;font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.feature-points{display:grid;gap:0;margin-top:35px;border-top:1px solid var(--border)}.feature-points>div{display:grid;grid-template-columns:50px 150px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--border);align-items:start}.feature-points b{font:600 16px 'Cormorant Garamond',var(--sapp-serif);color:#a27e46}.feature-points strong{font-size:13px;text-transform:uppercase;letter-spacing:.08em}.feature-points span{font-size:13px;color:#6a7479}
.dark-section{padding:105px 0;background:var(--navy);color:#fff;position:relative;overflow:hidden}.dark-section:before{content:'';position:absolute;width:600px;height:600px;border:1px solid rgba(203,168,107,.12);border-radius:50%;right:-280px;top:-260px;animation:spinSlow 28s linear infinite}.dark-section:after{content:'';position:absolute;left:-180px;bottom:-220px;width:480px;height:480px;border:1px solid rgba(203,168,107,.08);border-radius:50%;animation:floatRing 12s ease-in-out infinite}.section-head{position:relative;z-index:2}.section-head.light h2{color:#fff}.section-head.light p{color:#bfc9cf}.section-head h2{font-size:clamp(44px,6vw,68px);font-weight:500;margin:12px 0;line-height:.95}.number-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;z-index:2;margin-top:55px}.number-grid>div{padding:25px;border-left:1px solid rgba(255,255,255,.14);transition:background .4s,transform .4s}.number-grid>div:hover{background:rgba(255,255,255,.045);transform:translateY(-8px)}.number-grid b{font:600 15px 'Cormorant Garamond',var(--sapp-serif);color:var(--gold2)}.number-grid h3{font:500 32px 'Cormorant Garamond',var(--sapp-serif);margin:18px 0 7px}.number-grid p{font-size:13px;color:#aebac1}
.quote-section{padding:100px 0;background:var(--cream2);text-align:center;position:relative;overflow:hidden}.quote-wrap{max-width:850px}.quote-wrap blockquote{font-size:clamp(36px,5vw,60px);line-height:1.05;margin:22px 0;font-style:italic;font-weight:400}.quote-line{font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:#9c7741}
.room-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.room-page-card{background:#fff;border:1px solid #dfd5c7;transition:transform .5s,box-shadow .5s;overflow:hidden}.room-page-card:hover{transform:translateY(-8px);box-shadow:0 25px 55px rgba(23,43,58,.12)}.room-photo{height:360px;position:relative;overflow:hidden}.room-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.room-page-card:hover .room-photo img{transform:scale(1.07)}.room-number{position:absolute;left:18px;top:18px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(6,26,41,.82);color:var(--gold2);font:18px 'Cormorant Garamond',var(--sapp-serif)}.room-info{padding:28px}.room-info h3{font:500 38px/1 'Cormorant Garamond',var(--sapp-serif);margin:9px 0}.room-amenities{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.room-amenities span,.event-list span{font-size:9px;letter-spacing:.1em;text-transform:uppercase;border:1px solid #d4c7b5;padding:8px 10px;color:#6c7478}.text-link{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#8d6b39;font-weight:700}.soft-section{padding:100px 0;background:#efe7db}.icon-data-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.icon-data-grid>div{padding:28px;background:rgba(255,255,255,.62);border:1px solid #ded2c2;transition:.4s}.icon-data-grid>div:hover{transform:translateY(-7px);background:#fff}.icon-data-grid span{font-size:24px;color:#a27e46}.icon-data-grid h3{font:500 28px 'Cormorant Garamond',var(--sapp-serif);margin:13px 0 6px}.icon-data-grid p{font-size:12px;color:#697479}
.facilities-page .section-head{margin-bottom:45px}.facility-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.1);position:relative;z-index:2}.facility-item{min-height:155px;padding:28px 30px;display:grid;grid-template-columns:55px 1fr 35px;gap:15px;align-items:start;background:rgba(255,255,255,.025);border:1px solid transparent;transition:.4s}.facility-item:hover{background:rgba(203,168,107,.08);border-color:rgba(203,168,107,.32);transform:translateX(4px)}.facility-no{font:600 15px 'Cormorant Garamond',var(--sapp-serif);color:var(--gold2)}.facility-item h3{font:500 29px 'Cormorant Garamond',var(--sapp-serif);margin:0 0 7px}.facility-item p{margin:0;color:#aebbc2;font-size:12px}.arrow{color:var(--gold2);font-size:18px}.service-banner{display:flex;justify-content:space-between;align-items:center;gap:30px}.service-banner h2{font-size:clamp(40px,5vw,58px);line-height:.98;margin:10px 0;font-weight:500}
.dining-page{align-items:center}.stacked-images{position:relative;min-height:620px}.stacked-images img{position:absolute;width:72%;height:420px;object-fit:cover;box-shadow:0 25px 55px rgba(25,43,55,.15)}.stacked-images img:first-child{top:0;right:0}.stacked-images img:last-child{bottom:0;left:0;width:55%;height:290px;border:12px solid var(--cream)}.menu-highlights{border-top:1px solid var(--border);margin-top:30px}.menu-highlights>div{display:grid;grid-template-columns:170px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--border)}.menu-highlights b{font-size:12px;text-transform:uppercase;letter-spacing:.1em}.menu-highlights span{font-size:12px;color:#6b7579}.dining-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative;z-index:2}.dining-cards article{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);padding-bottom:25px;transition:.45s}.dining-cards article:hover{transform:translateY(-8px)}.dining-cards img{width:100%;height:260px;object-fit:cover}.dining-cards h3{font:500 30px 'Cormorant Garamond',var(--sapp-serif);margin:20px 22px 5px}.dining-cards p{color:#abb7bd;font-size:12px;margin:0 22px}
.event-intro{background:#e9ddcd}.event-intro .split{align-items:center}.event-intro img{width:100%;height:610px;object-fit:cover}.event-list{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0 30px}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.timeline>div{padding:30px;background:rgba(255,255,255,.6);border-top:2px solid var(--gold);transition:.4s}.timeline>div:hover{transform:translateY(-7px);box-shadow:0 20px 40px rgba(23,43,58,.08)}.timeline span{font:600 16px 'Cormorant Garamond',var(--sapp-serif);color:#9a753f}.timeline h3{font:500 30px 'Cormorant Garamond',var(--sapp-serif);margin:15px 0 5px}.timeline p{font-size:12px}.event-space-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;position:relative;z-index:2}.event-space-grid>div{padding:35px 28px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.035);transition:.4s}.event-space-grid>div:hover{border-color:rgba(203,168,107,.5);transform:translateY(-7px)}.event-space-grid b{display:block;font:500 32px 'Cormorant Garamond',var(--sapp-serif)}.event-space-grid span{display:block;color:#adb9bf;font-size:11px;margin-top:8px}
.gallery-filter{display:flex;gap:20px;border-bottom:1px solid var(--border);margin-bottom:28px}.gallery-filter span{padding:0 0 13px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#778085;cursor:pointer}.gallery-filter .active{color:#9a753f;border-bottom:2px solid var(--gold)}.gallery-masonry{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;gap:12px}.gallery-tile{position:relative;overflow:hidden;display:block}.gallery-tile:nth-child(1),.gallery-tile:nth-child(5){grid-row:span 2}.gallery-tile:nth-child(4){grid-column:span 2}.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:transform .8s,filter .5s}.gallery-tile:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(4,18,29,.78));opacity:.75}.gallery-tile:hover img{transform:scale(1.08);filter:saturate(1.08)}.gallery-tile>span{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.11em;display:flex;justify-content:space-between}.gallery-tile>span b{color:var(--gold2)}
.offer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.offer-card{padding:38px;background:#fff;border:1px solid #ded3c5;min-height:360px;transition:.45s}.offer-card:hover{transform:translateY(-8px);box-shadow:0 25px 50px rgba(20,39,51,.1)}.offer-card.featured{background:var(--navy);color:#fff}.offer-card>span{font-size:9px;letter-spacing:.18em;color:#9d7840}.offer-card h3{font:500 44px 'Cormorant Garamond',var(--sapp-serif);margin:15px 0 8px}.offer-card p{font-size:13px}.offer-card ul{padding:0;margin:25px 0;list-style:none}.offer-card li{font-size:11px;padding:7px 0;border-bottom:1px solid rgba(140,120,90,.2)}.offer-card li:before{content:'✦';color:var(--gold);margin-right:8px}.offer-card.featured p{color:#c1cbd0}.offer-card.featured li{border-color:rgba(255,255,255,.12)}
.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}.contact-copy h2{font-size:clamp(48px,6vw,72px)}.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:35px}.contact-cards>div{padding:22px;border:1px solid var(--border);background:rgba(255,255,255,.5)}.contact-cards span{display:block;font-size:9px;letter-spacing:.15em;color:#9a753f}.contact-cards b{display:block;font-size:13px;margin:8px 0}.contact-cards small{font-size:10px;color:#768085}.premium-form{background:#fff;border:1px solid #ddd1c2;padding:35px;box-shadow:0 25px 55px rgba(22,43,58,.08)}.form-top h3{font:500 38px 'Cormorant Garamond',var(--sapp-serif);margin:8px 0 25px}.premium-form label{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin:10px 0;color:#5d696e}.premium-form input,.premium-form textarea,.premium-form select{font-family:'DM Sans',var(--sapp-sans);background:#faf7f1;color:#24343c;border:1px solid #ddd2c3;margin-top:7px;padding:14px}.premium-form input:focus,.premium-form textarea:focus,.premium-form select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(203,168,107,.12)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.premium-form textarea{min-height:150px}.map-section{padding:70px 0;background:#e9ddcd}.map-card{padding:45px;background:var(--navy);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:25px;position:relative;overflow:hidden}.map-card:after{content:'S';position:absolute;right:30px;top:-100px;font:400 280px 'Cormorant Garamond',var(--sapp-serif);color:rgba(203,168,107,.07)}.map-card h2{font:500 48px 'Cormorant Garamond',var(--sapp-serif);margin:8px 0}.map-card p{color:#b9c4c9;font-size:12px}.map-card .btn{position:relative;z-index:2}.reveal{opacity:0;transform:translateY(25px)}.reveal.visible{opacity:1;transform:none;transition:opacity .8s ease,transform .8s cubic-bezier(.2,.75,.2,1)}
@keyframes pageZoom{from{transform:scale(1)}to{transform:scale(1.08)}}@keyframes pageMist{from{transform:translateX(-5%) scaleX(1)}to{transform:translateX(5%) scaleX(1.1)}}
@media(max-width:900px){.number-grid{grid-template-columns:1fr 1fr}.icon-data-grid{grid-template-columns:1fr 1fr}.room-page-grid,.offer-grid,.contact-layout{grid-template-columns:1fr}.facility-grid{grid-template-columns:1fr}.dining-cards,.event-space-grid,.timeline{grid-template-columns:1fr}.gallery-masonry{grid-template-columns:1fr 1fr}.gallery-tile:nth-child(4){grid-column:span 1}.gallery-tile:nth-child(1),.gallery-tile:nth-child(5){grid-row:span 1}.stacked-images{min-height:500px}.image-frame img,.event-intro img{height:500px}.service-banner,.map-card{display:block}.service-banner .btn,.map-card .btn{margin-top:22px}.contact-cards{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.page-hero{min-height:620px;padding:125px 0 70px}.page-hero h1{font-size:55px}.page-hero p{font-size:14px}.editorial-section,.event-intro,.gallery-page,.offers-page,.contact-page,.dark-section,.soft-section{padding:75px 0}.number-grid,.icon-data-grid,.contact-cards,.form-row{grid-template-columns:1fr}.number-grid>div{border-left:0;border-bottom:1px solid rgba(255,255,255,.12)}.feature-points>div{grid-template-columns:35px 1fr}.feature-points span{grid-column:2}.image-frame img,.event-intro img{height:390px}.room-photo{height:280px}.room-info h3{font-size:34px}.stacked-images{min-height:420px}.stacked-images img{height:300px}.stacked-images img:last-child{height:220px}.gallery-masonry{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.gallery-filter{gap:12px;overflow:auto}.offer-card{min-height:auto}.map-card h2{font-size:40px}.float-book{right:12px;bottom:12px}.page-hero-actions .btn{width:100%;text-align:center}}
.sapphire-lightbox{position:fixed;inset:0;z-index:3000;background:rgba(2,10,16,.94);display:grid;place-items:center;padding:30px;opacity:0;transition:opacity .25s}.sapphire-lightbox.show{opacity:1}.sapphire-lightbox img{max-width:min(1100px,94vw);max-height:88vh;object-fit:contain;box-shadow:0 20px 80px #0008}.sapphire-lightbox button{position:absolute;top:20px;right:25px;background:none;border:0;color:#fff;font-size:40px;cursor:pointer}

/* Sapphire Resorts v5 homepage polish */
.hero-home{isolation:isolate;background-image:linear-gradient(90deg,rgba(3,14,23,.88) 0%,rgba(3,14,23,.62) 46%,rgba(3,14,23,.28) 100%),url("https://images.unsplash.com/photo-1542314831-068cd1dbfeeb?auto=format&fit=crop&w=2400&q=92");background-position:center;background-size:cover;animation:heroKen 22s ease-in-out infinite alternate;}
.hero-home:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 28%,rgba(202,166,106,.20),transparent 25%),linear-gradient(180deg,rgba(3,14,23,.08),rgba(3,14,23,.42));z-index:0;pointer-events:none;animation:heroGlow 9s ease-in-out infinite alternate;}
.hero-home h1{position:relative;z-index:2;color:#fff!important;text-shadow:0 5px 28px rgba(0,0,0,.48);font-weight:500;}
.hero-home h1 .hero-title-light{color:#fff!important;display:inline-block;}
.hero-home h1 em{color:#f0d39b!important;text-shadow:0 5px 24px rgba(0,0,0,.42);}
.hero-lead{position:relative;z-index:2;color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.5);font-size:17px!important;max-width:700px;}
.hero-content{z-index:3}.hero-mini-data{display:flex;gap:28px;flex-wrap:wrap;margin-top:28px;color:#e9edf0;font:11px 'DM Sans',var(--sapp-sans);letter-spacing:.04em}.hero-mini-data span{padding-right:22px;border-right:1px solid rgba(255,255,255,.28)}.hero-mini-data span:last-child{border-right:0}.hero-mini-data b{display:block;color:#f0d39b;text-transform:uppercase;letter-spacing:.15em;font-size:9px;margin-bottom:2px}.hero-scroll{z-index:5;text-shadow:0 2px 10px #0008}.hero-scroll span{display:inline-block;animation:scrollBob 1.6s ease-in-out infinite}.hero-orb{position:absolute;border:1px solid rgba(231,207,157,.18);border-radius:50%;z-index:1;pointer-events:none}.hero-orb-one{width:340px;height:340px;right:-120px;top:140px;animation:spinSlow 30s linear infinite}.hero-orb-two{width:170px;height:170px;left:7%;bottom:90px;animation:floatRing 9s ease-in-out infinite}
.home-highlights{padding:0 0 80px;background:var(--cream)}.home-highlights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.highlight-panel{position:relative;overflow:hidden;min-height:285px;padding:34px;background:#fff;border:1px solid #dfd4c4;box-shadow:0 15px 40px rgba(17,34,45,.05);transition:transform .5s,box-shadow .5s}.highlight-panel:after{content:"";position:absolute;width:160px;height:160px;border:1px solid rgba(202,166,106,.22);border-radius:50%;right:-80px;bottom:-80px;transition:transform .7s}.highlight-panel:hover{transform:translateY(-9px);box-shadow:0 25px 55px rgba(17,34,45,.11)}.highlight-panel:hover:after{transform:scale(1.35)}.highlight-panel h3{font:500 34px/1.05 'Cormorant Garamond',var(--sapp-serif);margin:17px 0 10px;color:#1c2b34}.highlight-panel p{font-size:13px;color:#667278;max-width:390px}.highlight-panel-gold{background:#dfcfb5}.highlight-panel-gold .eyebrow{color:#6e542f}.highlight-panel-gold h3{color:#172833}.highlight-panel .text-link{position:relative;z-index:2;display:inline-block;margin-top:12px}
.experience-details{background:#f5f0e8;color:#24343c}.experience-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #d8ccb9;border-bottom:1px solid #d8ccb9}.experience-step{padding:30px 24px;border-right:1px solid #d8ccb9;transition:.45s}.experience-step:last-child{border-right:0}.experience-step:hover{background:#fff;transform:translateY(-5px)}.experience-step span{font:600 11px 'DM Sans',var(--sapp-sans);letter-spacing:.15em;color:#a17d47}.experience-step h3{font:500 28px 'Cormorant Garamond',var(--sapp-serif);margin:12px 0 6px}.experience-step p{font-size:12px;color:#6d777b}
.home-service-detail{position:relative;overflow:hidden}.home-service-detail:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(231,207,157,.1);border-radius:50%;right:-230px;top:-250px;animation:spinSlow 34s linear infinite}.service-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.1);position:relative;z-index:2}.service-detail-item{padding:28px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);transition:.4s}.service-detail-item:hover{background:rgba(202,166,106,.08);transform:translateY(-5px)}.service-detail-item b{color:var(--gold2);font:12px 'DM Sans',var(--sapp-sans);letter-spacing:.14em}.service-detail-item h3{font:500 27px 'Cormorant Garamond',var(--sapp-serif);margin:12px 0 6px;color:#fff}.service-detail-item p{font-size:12px;color:#b7c1c6;margin:0}
@keyframes scrollBob{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
@media(max-width:900px){.home-highlights-grid{grid-template-columns:1fr 1fr}.experience-timeline{grid-template-columns:1fr 1fr}.experience-step:nth-child(2){border-right:0}.service-detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.hero-home{min-height:760px;background-position:center}.hero-home h1{font-size:51px;line-height:.95}.hero-lead{font-size:14px!important}.hero-mini-data{gap:10px;margin-top:22px}.hero-mini-data span{padding-right:10px;font-size:9px}.home-highlights{padding-bottom:55px}.home-highlights-grid,.experience-timeline,.service-detail-grid{grid-template-columns:1fr}.experience-step{border-right:0;border-bottom:1px solid #d8ccb9}.experience-step:last-child{border-bottom:0}.hero-orb-one{width:230px;height:230px;right:-110px}.hero-orb-two{width:110px;height:110px;left:-35px}.highlight-panel{min-height:245px}}
@media(prefers-reduced-motion:reduce){.hero-home,.hero-home:before,.hero-orb,.hero-scroll span,.home-service-detail:before{animation:none!important}.highlight-panel,.experience-step,.service-detail-item{transition:none!important}}

/* v6 visual polish: stronger contrast, tighter rhythm, no excessive whitespace */
.site-header{background:rgba(5,18,29,.94);box-shadow:0 8px 28px rgba(0,0,0,.18)}
.brand-copy strong{color:#f7f1e7;text-shadow:0 1px 10px rgba(202,166,106,.12)}
.brand-copy small{color:#d7c49f}
.hero-home{min-height:790px}
.hero-home:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 72% 38%,rgba(229,200,144,.12),transparent 28%),linear-gradient(180deg,rgba(3,12,19,.18),rgba(3,12,19,.18));animation:sapphireGlow 9s ease-in-out infinite alternate}
.hero-home h1{color:#fff;text-shadow:0 5px 28px rgba(0,0,0,.58);line-height:.94}
.hero-home h1 span,.hero-home h1 em{color:#f0d49b;text-shadow:0 4px 18px rgba(0,0,0,.5)}
.hero-home p{color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.65);font-weight:500}
.hero-home .btn.ghost{background:rgba(7,21,34,.34);color:#fff;border-color:rgba(255,255,255,.72);backdrop-filter:blur(5px)}
.hero-home .btn.ghost:hover{background:#fff;color:#102531}
.intro-editorial{padding:78px 0 72px}
.intro-editorial .intro-grid{min-height:310px}
.intro-editorial h2{color:#24343c;text-shadow:none}
.rooms-section{padding:78px 0 88px}
.rooms-section .section-head{margin-bottom:30px}
.rooms-section .section-head h2{color:#22323a}
.rooms-section .section-head p{color:#59686f}
.rooms-section .dark-btn{background:#b8945d;color:#fff;border-color:#b8945d;box-shadow:0 8px 20px rgba(108,79,39,.16)}
.rooms-section .dark-btn:hover{background:#987641;color:#fff;transform:translateY(-2px)}
.rooms-section .room-showcase{margin-top:4px}
.experience-strip{position:relative;z-index:3}
.section-head h2{color:inherit}
.service-detail-item,.signature-card{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.service-detail-item:hover,.signature-card:hover{transform:translateY(-7px);box-shadow:0 18px 40px rgba(0,0,0,.14)}
@keyframes sapphireGlow{from{opacity:.65;transform:scale(1)}to{opacity:1;transform:scale(1.06)}}
@media(max-width:900px){.hero-home{min-height:720px}.intro-editorial{padding:60px 0}.intro-editorial .intro-grid{min-height:0}.rooms-section{padding:62px 0 70px}.rooms-section .section-head{margin-bottom:25px}.rooms-section .dark-btn{margin-top:18px}}
@media(max-width:620px){.hero-home h1{font-size:clamp(48px,15vw,68px)}.hero-home p{font-size:14px;line-height:1.65}.intro-editorial{padding:52px 0}.rooms-section{padding:52px 0 60px}.room-card-large{min-height:520px}}

/* v7 functional polish */
.reveal{opacity:0;transform:translateY(28px);animation:none!important}.reveal.is-visible{opacity:1;transform:none;transition:opacity .75s ease,transform .75s ease}
.site-header.scrolled{background:rgba(4,18,29,.97);box-shadow:0 12px 35px rgba(0,0,0,.22)}
body.menu-open{overflow:hidden}
.rooms-section{background:linear-gradient(180deg,#f7f1e7 0%,#f2ece2 100%)}
.rooms-section .section-head>div{max-width:760px}.rooms-section .section-head h2{font-size:clamp(42px,5.6vw,72px);line-height:.98;margin-bottom:14px}.rooms-section .section-head p{font-size:15px;max-width:620px;line-height:1.75}.rooms-section .dark-btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;min-width:190px;padding:15px 20px;font-weight:700;letter-spacing:.12em}
.room-showcase{display:grid!important;grid-template-columns:1.25fr .875fr .875fr;gap:16px}.room-card{position:relative;min-height:480px;overflow:hidden;border-radius:2px;box-shadow:0 16px 40px rgba(24,39,47,.10)}.room-card img{width:100%;height:100%;min-height:480px;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}.room-card:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(4,14,21,.92))}.room-overlay{position:absolute;left:25px;right:25px;bottom:22px;z-index:2;color:#fff}.room-overlay span{font:10px 'DM Sans',var(--sapp-sans);letter-spacing:.18em;color:#ead09d}.room-overlay h3{font:500 35px/1.05 'Cormorant Garamond',var(--sapp-serif);margin:8px 0}.room-overlay p{font:13px 'DM Sans',var(--sapp-sans);color:#e5e8e9;margin:0 0 12px}.room-overlay a{font:10px 'DM Sans',var(--sapp-sans);text-transform:uppercase;letter-spacing:.12em;color:#f1d7a1}.room-card:hover img{transform:scale(1.06)}
.enquiry-feedback{padding:18px 0;text-align:center;font:13px 'DM Sans',var(--sapp-sans)}.enquiry-feedback.success{color:#486b4d}.enquiry-feedback.error{color:#9a4f42}
.sapphire-lightbox.show{display:grid}.sapphire-lightbox img{border-radius:2px}.lightbox-open{overflow:hidden}
.gallery-filter span,.gallery-cats span{cursor:pointer;transition:.25s}.gallery-filter span.active,.gallery-cats span.active{background:#caa66a;color:#0b1720;border-color:#caa66a}
.form-card form label{display:block;font:11px 'DM Sans',var(--sapp-sans);letter-spacing:.06em;text-transform:uppercase;color:#536067}.form-card input,.form-card textarea,.form-card select{font-family:'DM Sans',var(--sapp-sans);font-size:14px;text-transform:none;letter-spacing:0}.form-card button{cursor:pointer}
@media(max-width:900px){.room-showcase{grid-template-columns:1fr 1fr!important}.room-card-large{grid-column:span 2}.rooms-section .section-head{display:flex;align-items:end}.rooms-section .section-head>div{flex:1}.rooms-section .dark-btn{margin-top:0}}
@media(max-width:620px){.rooms-section .section-head{display:block}.rooms-section .section-head h2{font-size:48px}.room-showcase{grid-template-columns:1fr!important}.room-card-large{grid-column:auto}.room-card,.room-card img{min-height:410px}.rooms-section .dark-btn{margin-top:16px}.reveal{transform:translateY(18px)}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}.room-card img{transition:none}.site-header{transition:none}}


/* v8 global motion layer: subtle animated atmosphere across the complete website */
html,body{overflow-x:hidden}
body{position:relative}
body:before,body:after{content:"";position:fixed;inset:auto;z-index:-2;pointer-events:none;border-radius:50%;filter:blur(2px);opacity:.42}
body:before{width:520px;height:520px;left:-230px;top:22vh;background:radial-gradient(circle,rgba(202,166,106,.16),rgba(202,166,106,0) 68%);animation:sapphireFloatA 18s ease-in-out infinite alternate}
body:after{width:620px;height:620px;right:-300px;top:55vh;background:radial-gradient(circle,rgba(43,111,151,.13),rgba(43,111,151,0) 68%);animation:sapphireFloatB 22s ease-in-out infinite alternate}
.site-header{transition:background .35s ease,box-shadow .35s ease,transform .35s ease}
.site-header.scrolled{transform:translateY(0)}
section{position:relative}
section:not(.hero-home):after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(202,166,106,.07);border-radius:50%;right:-130px;top:18%;pointer-events:none;animation:sapphireRing 26s linear infinite}
.sapphire-particles{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.sapphire-particle{position:absolute;width:4px;height:4px;border:1px solid rgba(202,166,106,.24);border-radius:50%;animation:sapphireParticle linear infinite;opacity:.45}
.hero-home{isolation:isolate}
.hero-home .hero-content{animation:heroContentIn 1.05s cubic-bezier(.2,.7,.2,1) both}
.btn,.text-link,.card,.room-card,.highlight-panel,.facility-item,.offer-card,.signature-card,.service-detail-item{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease,border-color .4s ease,background .4s ease}
.btn:hover{transform:translateY(-3px)}
@keyframes sapphireFloatA{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(90px,70px,0) scale(1.16)}}
@keyframes sapphireFloatB{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(-100px,-60px,0) scale(1.12)}}
@keyframes sapphireRing{to{transform:rotate(360deg)}}
@keyframes sapphireParticle{0%{transform:translate3d(0,20vh,0) scale(.7);opacity:0}15%{opacity:.45}85%{opacity:.2}100%{transform:translate3d(45px,-115vh,0) scale(1.3);opacity:0}}
@keyframes heroContentIn{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
@media(max-width:620px){section:not(.hero-home):after{width:160px;height:160px;right:-80px}.sapphire-particle{width:3px;height:3px}}
@media(prefers-reduced-motion:reduce){body:before,body:after,section:not(.hero-home):after,.sapphire-particle,.hero-home .hero-content{animation:none!important}.btn,.card,.room-card,.highlight-panel,.facility-item,.offer-card,.signature-card,.service-detail-item{transition:none!important}}


/* v9 functional + WhatsApp + richer background atmosphere */
.floating-actions{position:fixed;right:20px;bottom:20px;z-index:1002;display:flex;align-items:center;gap:9px}
.floating-actions .float-book{position:static}
.float-whatsapp{display:flex;align-items:center;gap:8px;padding:13px 15px;background:#1fa855;color:#fff;border-radius:999px;box-shadow:0 12px 30px rgba(0,0,0,.22);font:700 10px 'DM Sans',var(--sapp-sans);letter-spacing:.08em;text-transform:uppercase;transition:transform .3s ease,box-shadow .3s ease}
.float-whatsapp span{font-size:17px;line-height:1}
.float-whatsapp:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.28)}
/* animated atmospheric layers across pages */
body:after{mix-blend-mode:screen}
main{position:relative;overflow:hidden}
main:before{content:"";position:absolute;width:520px;height:520px;left:-260px;top:28%;border-radius:50%;background:radial-gradient(circle,rgba(202,166,106,.08),transparent 68%);pointer-events:none;animation:sapphireDriftOne 24s ease-in-out infinite alternate}
main:after{content:"";position:absolute;width:620px;height:620px;right:-310px;top:65%;border-radius:50%;background:radial-gradient(circle,rgba(53,125,164,.07),transparent 68%);pointer-events:none;animation:sapphireDriftTwo 28s ease-in-out infinite alternate}
.page-hero,.hero-home{background-attachment:fixed}
.page-hero:after,.hero-home:after{animation:sapphireSheen 11s ease-in-out infinite alternate}
@keyframes sapphireDriftOne{0%{transform:translate3d(0,0,0) scale(.92)}100%{transform:translate3d(130px,100px,0) scale(1.12)}}
@keyframes sapphireDriftTwo{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(-120px,-80px,0) scale(1.14)}}
@keyframes sapphireSheen{0%{opacity:.55}100%{opacity:.95}}
@media(max-width:900px){.floating-actions{right:12px;bottom:12px}.float-whatsapp{padding:12px}.float-whatsapp b{display:none}.floating-actions .float-book{padding:12px 14px}.page-hero,.hero-home{background-attachment:scroll}}
@media(prefers-reduced-motion:reduce){main:before,main:after,.page-hero:after,.hero-home:after,.float-whatsapp{animation:none!important;transition:none!important}}


/* Sapphire Resorts v10 — compact editorial spacing + premium ambient motion */
:root{--sapp-shadow:0 22px 60px rgba(25,39,47,.12)}
.rooms-section{padding:64px 0 76px;overflow:hidden;background:linear-gradient(135deg,#faf5ec 0%,#f4ede1 48%,#f8f1e7 100%);background-size:180% 180%;animation:sapphireBgShift 18s ease-in-out infinite alternate}
.rooms-section:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.34) 44%,transparent 57%);transform:translateX(-120%);animation:sapphireLightSweep 13s ease-in-out infinite}
.rooms-section:after{width:520px;height:520px;right:-260px;top:-100px;border-color:rgba(202,166,106,.11);box-shadow:0 0 0 22px rgba(202,166,106,.025),0 0 0 44px rgba(202,166,106,.018);animation:sapphireRing 32s linear infinite}
.rooms-section .container{position:relative;z-index:2}
.rooms-section .section-head{margin-bottom:24px;gap:30px;align-items:center}
.rooms-section .section-head>div{max-width:980px}
.rooms-section .section-head h2{font-size:clamp(40px,4.6vw,60px);line-height:1;margin:9px 0 12px;letter-spacing:-.025em}
.rooms-section .section-head p{max-width:720px;font-size:14px;line-height:1.55;margin:0}
.rooms-section .dark-btn{min-width:205px;box-shadow:0 12px 28px rgba(108,79,39,.14);animation:sapphireButtonBreath 4.5s ease-in-out infinite}
.room-showcase{gap:14px;margin-top:0}
.room-card{min-height:455px;box-shadow:var(--sapp-shadow);transform:translateZ(0)}
.room-card-large{min-height:455px}
.room-card img{min-height:455px}
.room-card:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.12),transparent 35%,transparent 68%,rgba(202,166,106,.10));opacity:0;transition:opacity .5s ease;pointer-events:none}
.room-card:hover{transform:translateY(-8px);box-shadow:0 28px 70px rgba(25,39,47,.18)}
.room-card:hover:before{opacity:1}
.room-overlay{transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.room-card:hover .room-overlay{transform:translateY(-5px)}
.room-overlay a{display:inline-flex;align-items:center;gap:6px;position:relative}
.room-overlay a:after{content:"";height:1px;background:currentColor;position:absolute;left:0;right:100%;bottom:-4px;transition:right .35s ease}
.room-overlay a:hover:after{right:0}
/* Decorative moving fine lines give the whole site a subtle luxury texture. */
main:before{width:700px;height:700px;left:-360px;top:8%;background:radial-gradient(circle,rgba(202,166,106,.105),rgba(202,166,106,0) 68%);animation:sapphireDriftOne 25s ease-in-out infinite alternate,sapphirePulse 8s ease-in-out infinite}
main:after{width:760px;height:760px;right:-380px;top:42%;background:radial-gradient(circle,rgba(72,129,155,.09),rgba(72,129,155,0) 68%);animation:sapphireDriftTwo 29s ease-in-out infinite alternate,sapphirePulse 10s ease-in-out infinite reverse}
main{background-image:linear-gradient(rgba(202,166,106,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(202,166,106,.022) 1px,transparent 1px);background-size:120px 120px;background-position:0 0,0 0;animation:sapphireGridMove 36s linear infinite}
.site-header:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);background-size:220% 100%;animation:sapphireNavGlow 7s linear infinite}
.eyebrow{position:relative;display:inline-block}
.eyebrow:after{content:"";position:absolute;left:0;bottom:-7px;width:28px;height:1px;background:var(--gold);transform-origin:left;animation:sapphireLinePulse 3.5s ease-in-out infinite}
.btn.primary{position:relative;overflow:hidden}
.btn.primary:before{content:"";position:absolute;top:-30%;bottom:-30%;left:-35%;width:22%;background:rgba(255,255,255,.3);transform:skewX(-20deg);animation:sapphireButtonSheen 5.5s ease-in-out infinite}
.card,.offer-card,.facility-item,.signature-card,.service-detail-item,.icon-data-grid>div{position:relative;overflow:hidden}
.card:before,.offer-card:before,.facility-item:before,.signature-card:before,.service-detail-item:before,.icon-data-grid>div:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,rgba(202,166,106,.08) 48%,transparent 64%);transform:translateX(-120%);transition:transform .8s ease;pointer-events:none}
.card:hover:before,.offer-card:hover:before,.facility-item:hover:before,.signature-card:hover:before,.service-detail-item:hover:before,.icon-data-grid>div:hover:before{transform:translateX(120%)}
@keyframes sapphireBgShift{0%{background-position:0% 50%}100%{background-position:100% 50%}}
@keyframes sapphireLightSweep{0%,48%{transform:translateX(-120%)}68%,100%{transform:translateX(120%)}}
@keyframes sapphireButtonBreath{0%,100%{box-shadow:0 12px 28px rgba(108,79,39,.14)}50%{box-shadow:0 17px 36px rgba(108,79,39,.22)}}
@keyframes sapphirePulse{0%,100%{opacity:.55}50%{opacity:.9}}
@keyframes sapphireGridMove{to{background-position:120px 120px,120px 120px}}
@keyframes sapphireNavGlow{to{background-position:220% 0}}
@keyframes sapphireLinePulse{0%,100%{width:28px;opacity:.55}50%{width:52px;opacity:1}}
@keyframes sapphireButtonSheen{0%,62%{left:-35%;opacity:0}72%{opacity:1}86%,100%{left:125%;opacity:0}}
@media(max-width:900px){
 .rooms-section{padding:56px 0 66px}
 .rooms-section .section-head{margin-bottom:22px}
 .rooms-section .section-head h2{font-size:clamp(38px,6.8vw,54px)}
 .room-card,.room-card-large,.room-card img{min-height:420px}
 main{background-size:80px 80px}
}
@media(max-width:620px){
 .rooms-section{padding:48px 0 58px}
 .rooms-section .section-head h2{font-size:46px;line-height:.98}
 .rooms-section .section-head p{font-size:13px}
 .room-card,.room-card-large,.room-card img{min-height:400px}
 main{background-size:65px 65px}
}
@media(prefers-reduced-motion:reduce){
 .rooms-section, .rooms-section:before,.rooms-section:after,main,.site-header:after,.eyebrow:after,.btn.primary:before,.rooms-section .dark-btn,main:before,main:after{animation:none!important}
 .room-card:hover{transform:none}
}

/* Sapphire Resorts v10.1 — unified typography, responsive stability and interaction fixes */
:root{
  --sapp-serif:"Cormorant Garamond", Georgia, serif;
  --sapp-sans:"DM Sans", Arial, sans-serif;
  --sapp-ink:#25343c;
}
html,body{font-family:var(--sapp-sans)!important;font-size:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body,p,li,dd,dt,blockquote,figcaption,input,textarea,select,button,.btn,.text-link,.primary-links a,.menu>ul a,.eyebrow,.luxury-line,.room-overlay p,.room-overlay a,.facility-item p,.offer-card p,.form-card label,.copyright{font-family:var(--sapp-sans)!important}
h1,h2,h3,h4,h5,h6,.brand-copy strong,.hero h1,.section-head h2,.split h2,.intro h2,.card h3,.feature-card h3,.room-overlay h3,.site-footer h3,.cta h2,.page-hero h1,.quote-section blockquote,.testimonial-home h2,.script-line{font-family:var(--sapp-serif)!important}
h1,h2,h3,h4,h5,h6{font-weight:500;letter-spacing:-.018em}
p{font-weight:400}
button,input,textarea,select{font-family:var(--sapp-sans)!important}
.brand-copy strong{font-weight:600}
.eyebrow,.luxury-line,.primary-links a,.menu>ul a,.btn,.text-link{font-weight:600}

/* Fix the missing JS-dependent reveal state: content is never permanently hidden. */
.reveal{opacity:1;transform:none}
.reveal:not(.is-visible){opacity:0;transform:translateY(20px)}
.reveal.is-visible{opacity:1;transform:none}

/* Prevent decorative pseudo-elements from blocking clicks or causing horizontal overflow. */
main,.site-header,section,.rooms-section,.hero-home{overflow-x:clip}
section:not(.hero-home):after{z-index:0}
section>.container,.page-hero-inner,.hero-content{position:relative;z-index:2}

/* Header/mobile menu reliability */
.site-header{isolation:isolate}
.menu{z-index:1001}
.menu-toggle{cursor:pointer;position:relative;z-index:1002}
@media(max-width:900px){
  .site-header{height:72px}
  .nav{height:72px}
  .menu{top:72px;max-height:calc(100vh - 72px);overflow:auto;box-shadow:0 18px 40px rgba(0,0,0,.25)}
  .primary-links .menu-item:last-child>a,.menu>ul li:last-child>a{margin-top:7px;text-align:center}
}

/* Unified page spacing and readable line lengths. */
.editorial-section,.soft-section,.experience-details,.gallery-home,.events-home,.home-service-detail,.testimonial-home,.cta-band,.dining-section{position:relative}
.editorial-section p,.soft-section p,.experience-details p,.events-home p,.home-service-detail p,.dining-section p{max-width:72ch}
.section-head h2,.split h2,.intro h2{font-weight:500}

/* Rooms section: remove excessive vertical gap visible in desktop screenshots. */
.rooms-section{padding-top:58px!important;padding-bottom:72px!important}
.rooms-section .section-head{margin-bottom:20px!important}
.rooms-section .section-head h2{margin-top:7px!important;margin-bottom:9px!important}
.rooms-section .section-head p{margin-bottom:0!important}
.room-showcase{margin-top:0!important}
@media(max-width:900px){.rooms-section{padding-top:52px!important}.rooms-section .section-head{margin-bottom:18px!important}}
@media(max-width:620px){.rooms-section{padding-top:46px!important;padding-bottom:58px!important}.rooms-section .section-head h2{font-size:clamp(42px,13vw,56px)!important}}

/* Smooth luxury motion on cards, images and controls. */
.card,.room-card,.room-page-card,.facility-item,.offer,.offer-card,.signature-card,.service-detail-item,.experience-step,.feature-card,.gallery-large a,.photo-grid a{will-change:transform}
.card:hover,.room-page-card:hover,.facility-item:hover,.offer:hover,.offer-card:hover,.signature-card:hover,.service-detail-item:hover,.experience-step:hover{transform:translateY(-6px)}
.photo-grid img,.gallery-large img,.feature-card img,.room-page-card img{will-change:transform}
.btn,.text-link,.float-book,.float-whatsapp{will-change:transform}

/* Lightbox created by main.js */
.sapphire-lightbox{position:fixed;inset:0;z-index:2000;display:none;place-items:center;padding:30px;background:rgba(4,12,18,.88);backdrop-filter:blur(8px)}
.sapphire-lightbox.show{display:grid}
.sapphire-lightbox img{max-width:min(1100px,92vw);max-height:84vh;object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.lightbox-close{position:absolute;right:24px;top:18px;width:44px;height:44px;border:1px solid rgba(255,255,255,.3);background:rgba(7,21,34,.6);color:#fff;border-radius:50%;font-size:28px;line-height:1;cursor:pointer}

/* Floating actions stay clear of mobile edges and never cover the menu. */
.floating-actions{bottom:max(18px,env(safe-area-inset-bottom));right:max(18px,env(safe-area-inset-right))}
@media(max-width:620px){
  .floating-actions{left:12px;right:12px;justify-content:flex-end;bottom:12px}
  .floating-actions .float-book{padding:11px 13px}
  .float-whatsapp{padding:11px 13px}
}

/* More ambient motion, while remaining subtle and performant. */
body{background-image:radial-gradient(circle at 12% 22%,rgba(202,166,106,.055),transparent 26%),radial-gradient(circle at 88% 68%,rgba(56,116,145,.045),transparent 28%)}
main{background-size:120px 120px;background-position:0 0,0 0}
.page-hero:before,.hero-home:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.035) 44%,transparent 55%);transform:translateX(-120%);animation:sapphireHeroSweep 14s ease-in-out infinite}
.hero-home:before{z-index:1}
.page-hero:before{z-index:1}
@keyframes sapphireHeroSweep{0%,45%{transform:translateX(-120%)}72%,100%{transform:translateX(120%)}}
@media(prefers-reduced-motion:reduce){
  .reveal,.reveal:not(.is-visible),.reveal.is-visible{opacity:1!important;transform:none!important;transition:none!important}
  .page-hero:before,.hero-home:before{animation:none!important}
}

.map-note{display:inline-flex;align-items:center;color:#8c744e;font:600 10px var(--sapp-sans);letter-spacing:.1em;text-transform:uppercase}.footer-contact{line-height:1.9}.footer-contact a{text-decoration:underline;text-decoration-color:rgba(202,166,106,.45);text-underline-offset:3px}
