﻿:root{
  --ink:#1A1033;
  --ink-soft:#2D1B54;
  --marigold:#FF3D81;
  --marigold-dark:#D6216B;
  --teal:#17C3E6;
  --teal-dark:#0E93B0;
  --sand:#F5F3FF;
  --sand-deep:#ECE7FB;
  --clay:#D9D3F0;
  --charcoal:#1E1B2E;
  --charcoal-soft:#5B5675;
  --white:#FFFFFF;
  --success:#10B981;
  --danger:#E11D48;
  --font-display:'Space Grotesk','Poppins',sans-serif;
  --font-body:'Inter','Segoe UI',sans-serif;
  --font-mono:'JetBrains Mono',monospace;
  --max-width:1240px;
  --radius-sm:10px;
  --radius-md:18px;
  --radius-lg:32px;
  --shadow-soft:0 10px 30px -12px rgba(26,16,51,0.22);
  --shadow-lift:0 20px 45px -16px rgba(26,16,51,0.34);
  --header-height:80px}
*{
  box-sizing:border-box}
html,body{
  max-width:100%;
  overflow-x:hidden;
  transform:none !important;
  backface-visibility:hidden;
  -webkit-font-smoothing:subpixel-antialiased}
html{
  scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{
  scroll-behavior:auto}
*,*::before,*::after{
  animation-duration:0.001ms !important;
  animation-iteration-count:1 !important;
  transition-duration:0.001ms !important;
  scroll-behavior:auto !important}
}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--charcoal);
  background:var(--sand);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale}
img,table,canvas,iframe,video{
  max-width:100%}
img{
  max-width:100%;
  display:block}
a{
  color:inherit;
  text-decoration:none}
ul{
  margin:0;
  padding:0;
  list-style:none}
button{
  font-family:inherit;
  cursor:pointer}
h1,h2,h3,h4{
  font-family:var(--font-display);
  color:var(--ink);
  margin:0 0 .6em;
  line-height:1.2;
  font-weight:700;
  letter-spacing:-0.02em}
h1{
  font-size:clamp(2.4rem,5.5vw,4rem);
  font-weight:800;
  background:linear-gradient(135deg,var(--ink) 0%,var(--ink-soft) 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text}
h2{
  font-size:clamp(1.8rem,3.6vw,2.8rem);
  font-weight:700}
h3{
  font-size:1.4rem;
  font-weight:600}
p{
  margin:0 0 1em;
  color:var(--charcoal-soft)}
.container{
  max-width:var(--max-width);
  margin:0 auto;
  padding:0 24px}
.section{
  padding:100px 0;
  position:relative}
.section--tight{
  padding:65px 0}
.section--ink{
  background:linear-gradient(160deg,var(--ink) 0%,var(--ink-soft) 100%);
  color:var(--sand);
  position:relative;
  overflow:hidden}
.section--ink::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:radial-gradient(circle at 20% 30%,rgba(255,61,129,0.1),transparent 50%),radial-gradient(circle at 80% 70%,rgba(23,195,230,0.15),transparent 50%);
  pointer-events:none}
.section--ink h1,.section--ink h2,.section--ink h3{
  color:var(--white) !important;
  -webkit-text-fill-color:var(--white) !important;
  background:none}
.section--ink p{
  color:rgba(245,243,255,0.82)}
.section--sand-deep{
  background:var(--sand-deep)}
.eyebrow{
  font-family:var(--font-mono);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.76rem;
  color:var(--ink);
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:16px;
  font-weight:700;
  position:relative}
.section--ink .eyebrow{
  color:var(--marigold)}
.eyebrow::before{
  content:'';
  width:28px;
  height:3px;
  background:currentColor;
  display:inline-block;
  border-radius:3px}
.section-head{
  max-width:720px;
  margin-bottom:48px}
.section-head.center{
  margin-left:auto;
  margin-right:auto;
  text-align:center}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 28px;
  border-radius:999px;
  font-weight:700;
  font-size:.95rem;
  border:2px solid transparent;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease;
  white-space:nowrap;
  position:relative;
  overflow:hidden}
.btn::before{
  content:'';
  position:absolute;
  top:0;
  left:-60%;
  width:40%;
  height:100%;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,0.45),transparent);
  transform:skewX(-20deg);
  transition:left .6s ease}
.btn:hover::before{
  left:130%}
.btn svg{
  width:18px;
  height:18px}
.btn:active{
  transform:scale(.97)}
.btn-primary{
  background:linear-gradient(135deg,var(--marigold) 0%,#f5b850 100%);
  color:var(--ink);
  box-shadow:0 4px 15px -4px rgba(255,61,129,0.6);
  font-weight:700}
.btn-primary:hover{
  background:linear-gradient(135deg,var(--marigold-dark) 0%,var(--marigold) 100%);
  transform:translateY(-3px);
  box-shadow:0 8px 25px -6px rgba(255,61,129,0.7)}
.btn-outline{
  background:transparent;
  border-color:var(--ink);
  color:var(--ink)}
.btn-outline:hover{
  background:var(--ink);
  border-color:var(--ink);
  color:var(--white);
  transform:translateY(-2px)}
.btn-dark{
  background:var(--ink);
  color:var(--sand)}
.btn-dark:hover{
  background:var(--ink-soft);
  transform:translateY(-2px)}
.btn-teal{
  background:var(--teal);
  color:var(--white)}
.btn-teal:hover{
  background:var(--teal-dark);
  transform:translateY(-2px)}
.btn-ghost{
  background:transparent;
  border-color:var(--clay);
  color:var(--ink)}
.btn-ghost:hover{
  border-color:var(--teal);
  color:var(--teal-dark)}
.btn-block{
  width:100%}
.btn-sm{
  padding:10px 18px;
  font-size:.85rem}
.btn-row{
  display:flex;
  flex-wrap:wrap;
  gap:14px}
.floating-actions{
  position:fixed;
  right:20px;
  bottom:22px;
  display:flex;
  flex-direction:column;
  gap:12px;
  z-index:500}
.floating-actions a{
  width:54px;
  height:54px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:var(--shadow-lift);
  color:var(--white);
  position:relative}
.floating-actions a svg{
  width:24px;
  height:24px}
.fa-call{
  background:var(--teal-dark)}
.fa-whatsapp{
  background:#25D366}
.fa-whatsapp::after{
  content:'';
  position:absolute;
  inset:-4px;
  border-radius:50%;
  border:2px solid #25D366;
  animation:pulse-ring 2.2s ease-out infinite}
@keyframes pulse-ring{
  0%{
  transform:scale(.8) rotate(0deg);
  opacity:.9}
70%{
  transform:scale(1.5) rotate(8deg);
  opacity:0}
100%{
  transform:scale(1.5) rotate(8deg);
  opacity:0}
}
.site-header{
  position:sticky;
  top:0;
  z-index:400;
  background:rgba(255,255,255,0.96);
  backdrop-filter:blur(20px) saturate(180%);
  border-bottom:1px solid rgba(26,16,51,0.06);
  transition:all .4s cubic-bezier(.68,-0.55,.27,1.55);
  box-shadow:0 2px 20px -10px rgba(26,16,51,0.06)}
.site-header.scrolled{
  background:rgba(255,255,255,0.98);
  box-shadow:0 4px 30px -10px rgba(26,16,51,0.12);
  border-bottom-color:rgba(26,16,51,0.1)}
.scroll-progress{
  position:fixed;
  top:0;
  left:0;
  height:4px;
  width:0%;
  background:linear-gradient(90deg,var(--marigold),var(--teal),var(--marigold));
  background-size:200% 100%;
  z-index:999;
  transition:width .08s ease-out;
  animation:gradientFlow 3s ease infinite;
  box-shadow:0 2px 8px -2px rgba(255,61,129,0.6)}
@keyframes gradientFlow{
  0%{
  background-position:0% 0%}
50%{
  background-position:100% 100%}
100%{
  background-position:0% 0%}
}
.header-inner{
  max-width:var(--max-width);
  margin:0 auto;
  padding:0 24px;
  height:var(--header-height);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  position:relative}
@media (max-width:1200px){
  .header-inner{
  gap:16px;
  padding:0 20px}
.brand-text strong{
  font-size:1.2rem}
.brand-logo{
  height:52px}
}
.brand{
  display:flex;
  align-items:center;
  gap:14px;
  font-family:var(--font-display);
  flex-shrink:0;
  min-width:0}
.brand-logo{
  width:auto;
  height:58px;
  object-fit:contain;
  flex-shrink:0;
  transition:all .5s cubic-bezier(.17,.89,.32,1.49);
  filter:drop-shadow(0 3px 8px rgba(26,16,51,0.25))}
.brand:hover .brand-logo{
  transform:translateY(-3px) scale(1.05);
  filter:drop-shadow(0 6px 14px rgba(26,16,51,0.35))}
.brand-text{
  display:flex;
  flex-direction:column;
  line-height:1.15;
  min-width:0;
  flex-shrink:1}
.brand-text strong{
  font-size:1.35rem;
  color:var(--ink);
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis}
.brand-text span{
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.12em;
  color:var(--teal-dark);
  text-transform:uppercase;
  opacity:0.85;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis}
.top-bar{
  background:linear-gradient(135deg,var(--ink) 0%,#1a2847 100%);
  color:rgba(245,243,255,0.9);
  font-family:var(--font-body);
  font-size:.8rem;
  max-height:42px;
  overflow:hidden;
  transition:max-height .3s ease,padding .3s ease,opacity .3s ease;
  border-bottom:1px solid rgba(255,61,129,0.15)}
.top-bar.hidden{
  max-height:0;
  opacity:0}
.top-bar .container{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:10px;
  padding-bottom:10px;
  flex-wrap:wrap;
  gap:12px}
.top-bar a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  transition:all .3s ease;
  padding:4px 8px;
  border-radius:6px}
.top-bar a:hover{
  color:var(--marigold);
  background:rgba(255,61,129,0.1);
  transform:translateY(-1px)}
.top-bar svg{
  width:15px;
  height:15px}
.main-nav{
  display:flex;
  gap:2px;
  align-items:center;
  flex-wrap:nowrap}
.main-nav a{
  position:relative;
  padding:11px 15px;
  border-radius:10px;
  font-weight:600;
  font-size:.88rem;
  color:var(--charcoal);
  transition:all .3s cubic-bezier(.16,1,.3,1);
  letter-spacing:0.01em;
  white-space:nowrap}
.main-nav a::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(255,61,129,0.08),rgba(23,195,230,0.08));
  border-radius:10px;
  opacity:0;
  transition:opacity .3s ease;
  z-index:-1}
.main-nav a::after{
  content:'';
  position:absolute;
  left:50%;
  bottom:5px;
  width:0%;
  height:2.5px;
  background:linear-gradient(90deg,var(--teal),var(--marigold));
  transform:translateX(-50%);
  transition:width .4s cubic-bezier(.16,1,.3,1);
  border-radius:3px}
.main-nav a:hover{
  color:var(--teal-dark);
  transform:translateY(-2px)}
.main-nav a:hover::before{
  opacity:1}
.main-nav a:hover::after{
  width:65%}
.main-nav a.active{
  background:linear-gradient(135deg,rgba(255,61,129,0.15),rgba(23,195,230,0.15));
  color:var(--ink);
  font-weight:700}
.main-nav a.active::after{
  display:none}
.main-nav a.active::before{
  display:none}
.nav-toggle{
  display:none;
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid var(--clay);
  background:var(--white);
  align-items:center;
  justify-content:center;
  transition:background .2s ease,transform .3s ease,border-color .2s ease}
.nav-toggle:hover{
  border-color:var(--teal)}
.nav-toggle svg{
  transition:transform .35s ease}
.nav-toggle.is-open svg{
  transform:rotate(90deg)}
.header-cta{
  display:flex;
  align-items:center;
  gap:10px}
@media (max-width:980px){
  .main-nav{
  position:fixed;
  top:80px;
  left:0;
  right:0;
  bottom:0;
  width:100%;
  height:calc(100vh - 80px);
  background:rgb(251,246,236);
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  padding:20px;
  gap:0;
  transform:translateX(100%);
  transition:transform .35s ease;
  overflow-y:auto;
  z-index:9999;
  display:flex}
.main-nav.open{
  transform:translateX(0)}
.main-nav a{
  display:block;
  width:100%;
  padding:18px 16px;
  font-size:1.1rem;
  font-weight:600;
  color:#1A1033;
  background:transparent;
  border:none;
  border-bottom:1px solid #D9D3F0;
  border-radius:0;
  opacity:0;
  transform:translateY(20px);
  transition:all .3s ease;
  text-align:left}
.main-nav a::before,.main-nav a::after{
  display:none}
.main-nav a.active{
  background:rgba(255,61,129,0.1);
  color:#1A1033;
  font-weight:700}
.main-nav.open a{
  opacity:1;
  transform:translateY(0)}
.main-nav.open a:nth-child(1){
  transition-delay:.05s}
.main-nav.open a:nth-child(2){
  transition-delay:.1s}
.main-nav.open a:nth-child(3){
  transition-delay:.15s}
.main-nav.open a:nth-child(4){
  transition-delay:.2s}
.main-nav.open a:nth-child(5){
  transition-delay:.25s}
.main-nav.open a:nth-child(6){
  transition-delay:.3s}
.main-nav.open a:nth-child(7){
  transition-delay:.35s}
.main-nav.open a:nth-child(8){
  transition-delay:.4s}
.main-nav.open a:nth-child(9){
  transition-delay:.45s}
.main-nav.open a:nth-child(10){
  transition-delay:.5s}
.nav-toggle{
  display:flex}
.header-cta .btn span.label{
  display:none}
}
@media (max-width:1100px){
  .main-nav a{
  padding:10px 12px;
  font-size:.84rem}
.header-inner{
  gap:14px;
  padding:0 18px}
.brand-text strong{
  font-size:1.15rem}
.brand-logo{
  height:48px}
.brand-text span{
  font-size:.62rem}
}
@media (max-width:1000px){
  .brand-text{
  display:none}
.brand{
  gap:0}
}
.hero{
  background:linear-gradient(160deg,#0f1a35 0%,var(--ink) 35%,var(--ink-soft) 70%,#2c3d68 100%);
  color:var(--sand);
  position:relative;
  overflow:hidden;
  padding:100px 0 0}
.hero::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:radial-gradient(circle at 20% 30%,rgba(255,61,129,0.2),transparent 45%),radial-gradient(circle at 80% 70%,rgba(23,195,230,0.25),transparent 50%),radial-gradient(circle at 50% 50%,rgba(255,255,255,0.03),transparent 60%);
  pointer-events:none;
  animation:gradientShift 15s ease infinite alternate}
@keyframes gradientShift{
  0%{
  opacity:0.85;
  transform:scale(1) rotate(0deg)}
100%{
  opacity:1;
  transform:scale(1.04) rotate(1deg)}
}
.hero::after{
  content:'';
  position:absolute;
  bottom:-2px;
  left:0;
  right:0;
  height:150px;
  background:linear-gradient(to bottom,transparent,var(--sand));
  pointer-events:none;
  z-index:2}
.hero-grid{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:48px;
  align-items:center;
  position:relative;
  z-index:1}
.hero h1{
  color:var(--white) !important;
  background:none;
  -webkit-text-fill-color:var(--white)}
.hero p.lead{
  font-size:1.1rem;
  color:rgba(245,243,255,0.85);
  max-width:560px}
.location-badge-hero{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:linear-gradient(135deg,rgba(255,61,129,0.25),rgba(23,195,230,0.25));
  border:2px solid rgba(255,61,129,0.4);
  border-radius:50px;
  padding:12px 24px;
  margin-bottom:24px;
  font-family:var(--font-mono);
  font-size:0.9rem;
  font-weight:600;
  letter-spacing:0.05em;
  backdrop-filter:blur(10px);
  box-shadow:0 8px 24px -8px rgba(255,61,129,0.3)}
.location-badge-hero svg{
  width:20px;
  height:20px;
  color:var(--marigold);
  flex-shrink:0}
.location-badge-hero span{
  color:rgba(245,243,255,0.95)}
.location-divider{
  color:rgba(255,61,129,0.6);
  font-weight:400}
.location-highlight{
  color:var(--marigold) !important;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.1em}
.hero-media{
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:0 20px 60px -20px rgba(0,0,0,0.5);
  position:relative;
  aspect-ratio:4/3.1;
  border:3px solid rgba(255,61,129,0.3)}
.hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  animation:kenburns 14s ease-in-out infinite alternate}
.hero-media img[src*="logo"],.hero-media img[src*="l3.jpeg"]{
  object-fit:cover;
  animation:none}
.hero-media::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(26,16,51,0.6),transparent 50%)}
.signpost-strip{
  margin-top:56px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  border-top:2px solid var(--marigold);
  position:relative;
  z-index:1}
.signpost-strip > div{
  padding:20px 18px;
  border-right:1px dashed rgba(245,243,255,0.25);
  text-align:center}
.signpost-strip > div:last-child{
  border-right:none}
.signpost-value{
  font-family:var(--font-mono);
  font-size:1.6rem;
  color:var(--marigold);
  font-weight:700;
  display:block}
.signpost-label{
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--ink)}
.page-hero{
  background:var(--ink);
  color:var(--sand);
  padding:90px 0 70px;
  position:relative;
  overflow:hidden}
.page-hero-bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  animation:kenburns 18s ease-in-out infinite alternate;
  z-index:0;
  filter:brightness(0.85)}
@keyframes kenburns{
  from{
  transform:scale(1) translate(0,0)}
to{
  transform:scale(1.1) translate(-1.5%,-1%)}
}
.page-hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(160deg,rgba(26,16,51,0.95) 0%,rgba(26,16,51,0.85) 45%,rgba(23,195,230,0.6) 100%);
  z-index:1}
.page-hero-overlay::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:radial-gradient(circle at 25% 40%,rgba(255,61,129,0.15),transparent 50%),radial-gradient(circle at 75% 60%,rgba(23,195,230,0.2),transparent 50%)}
.page-hero .container{
  position:relative;
  z-index:2}
.page-hero h1{
  color:var(--white) !important;
  background:none;
  -webkit-text-fill-color:var(--white);
  margin-bottom:10px}
.breadcrumb{
  font-family:var(--font-mono);
  font-size:.78rem;
  color:rgba(245,243,255,0.65);
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:14px}
.breadcrumb a:hover{
  color:var(--marigold)}
.card-grid{
  display:grid;
  gap:26px}
.grid-2{
  grid-template-columns:repeat(2,1fr)}
.grid-3{
  grid-template-columns:repeat(3,1fr)}
.grid-4{
  grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){
  .grid-3,.grid-4{
  grid-template-columns:repeat(2,1fr)}
}
@media (max-width:620px){
  .grid-2,.grid-3,.grid-4{
  grid-template-columns:1fr}
}
.card{
  background:var(--white);
  border:1px solid rgba(26,16,51,0.08);
  border-radius:var(--radius-md);
  overflow:hidden;
  transition:all .4s cubic-bezier(.16,1,.3,1);
  box-shadow:0 4px 20px -8px rgba(26,16,51,0.1)}
.card:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 40px -12px rgba(26,16,51,0.2);
  border-color:rgba(23,195,230,0.2)}
.card-media{
  aspect-ratio:4/3;
  overflow:hidden;
  position:relative}
.card-media::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,transparent 50%,rgba(26,16,51,0.3));
  opacity:0;
  transition:opacity .4s ease}
.card:hover .card-media::after{
  opacity:1}
.card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s cubic-bezier(.16,1,.3,1)}
.card:hover .card-media img{
  transform:scale(1.05)}
.card-body{
  padding:24px}
.card-body h3{
  margin-bottom:8px}
.icon-card{
  background:var(--white);
  border:1px solid rgba(26,16,51,0.08);
  border-radius:var(--radius-md);
  padding:32px 28px;
  transition:all .4s cubic-bezier(.16,1,.3,1);
  position:relative;
  overflow:hidden}
.icon-card::before{
  content:'';
  position:absolute;
  top:0;
  right:0;
  width:100px;
  height:100px;
  background:radial-gradient(circle,rgba(23,195,230,0.08),transparent 70%);
  transform:translate(40%,-40%);
  transition:transform .5s ease}
.icon-card:hover{
  transform:translateY(-8px);
  box-shadow:0 12px 30px -10px rgba(26,16,51,0.15);
  border-color:var(--teal)}
.icon-card:hover::before{
  transform:translate(20%,-20%)}
.icon-badge{
  width:58px;
  height:58px;
  border-radius:16px;
  background:linear-gradient(135deg,var(--sand-deep),#fef9ed);
  color:var(--teal-dark);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
  transition:all .4s cubic-bezier(.16,1,.3,1);
  box-shadow:0 4px 12px -4px rgba(23,195,230,0.2)}
.icon-card:hover .icon-badge{
  transform:scale(1.1) rotate(-5deg);
  background:linear-gradient(135deg,var(--teal),var(--teal-dark));
  color:var(--white);
  box-shadow:0 8px 20px -6px rgba(23,195,230,0.4)}
.icon-badge svg{
  width:28px;
  height:28px}
.section--ink .icon-card{
  background:rgba(255,255,255,0.05);
  border-color:rgba(255,255,255,0.12)}
.section--ink .icon-badge{
  background:rgba(255,61,129,0.15);
  color:var(--marigold)}
.section--ink .icon-card h3{
  color:var(--white)}
.facilities-showcase{
  position:relative;
  overflow:hidden;
  padding:110px 0}
.facilities-showcase::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:300px;
  background:radial-gradient(circle at 50% 0%,rgba(255,61,129,0.15),transparent 60%);
  pointer-events:none}
.facilities-showcase::after{
  content:'';
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:300px;
  background:radial-gradient(circle at 50% 100%,rgba(23,195,230,0.15),transparent 60%);
  pointer-events:none}
.gradient-text{
  background:linear-gradient(135deg,var(--white) 0%,rgba(255,61,129,0.9) 50%,var(--white) 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  animation:gradientShimmer 3s ease-in-out infinite;
  background-size:200% auto}
@keyframes gradientShimmer{
  0%{
  background-position:0% 100%}
50%{
  background-position:100% 0%}
100%{
  background-position:0% 100%}
}
.facilities-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:28px;
  position:relative;
  z-index:1}
@media (max-width:900px){
  .facilities-grid{
  grid-template-columns:repeat(2,1fr);
  gap:20px}
}
@media (max-width:620px){
  .facilities-grid{
  grid-template-columns:1fr}
}
.facility-card{
  background:rgba(255,255,255,0.04);
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:20px;
  padding:32px 26px;
  position:relative;
  overflow:hidden;
  transition:all .5s cubic-bezier(.16,1,.3,1);
  cursor:pointer}
.facility-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg,var(--marigold),var(--teal),var(--marigold));
  background-size:200% 100%;
  opacity:0;
  transition:opacity .4s ease;
  animation:borderFlow 3s ease infinite}
@keyframes borderFlow{
  0%{
  background-position:0% 0%;
  filter:hue-rotate(0deg)}
50%{
  background-position:100% 100%;
  filter:hue-rotate(20deg)}
100%{
  background-position:0% 0%;
  filter:hue-rotate(0deg)}
}
.facility-card:hover::before{
  opacity:1}
.facility-card:hover{
  transform:translateY(-8px);
  background:rgba(255,255,255,0.08);
  border-color:rgba(255,61,129,0.3);
  box-shadow:0 20px 50px -15px rgba(255,61,129,0.3),0 10px 30px -10px rgba(23,195,230,0.2)}
.facility-icon-wrapper{
  width:80px;
  height:80px;
  position:relative;
  margin:0 auto 24px;
  display:flex;
  align-items:center;
  justify-content:center}
.facility-icon-bg{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(255,61,129,0.2),rgba(23,195,230,0.2));
  border-radius:20px;
  transition:all .5s cubic-bezier(.16,1,.3,1);
  animation:pulse 3s ease-in-out infinite}
@keyframes pulse{
  0%,100%{
  transform:scale(1) rotate(0deg);
  opacity:0.85}
50%{
  transform:scale(1.06) rotate(-2deg);
  opacity:1}
}
.facility-card:hover .facility-icon-bg{
  background:linear-gradient(135deg,rgba(255,61,129,0.4),rgba(23,195,230,0.4));
  transform:rotate(90deg) scale(1.05);
  box-shadow:0 0 30px rgba(255,61,129,0.4)}
.facility-icon{
  position:relative;
  z-index:2;
  width:40px;
  height:40px;
  transition:all .5s cubic-bezier(.16,1,.3,1)}
.facility-icon svg{
  width:100%;
  height:100%;
  color:var(--marigold);
  filter:drop-shadow(0 2px 8px rgba(255,61,129,0.3));
  transition:all .5s cubic-bezier(.16,1,.3,1)}
.facility-card:hover .facility-icon{
  transform:scale(1.08) rotate(-5deg)}
.facility-card:hover .facility-icon svg{
  color:var(--white);
  filter:drop-shadow(0 4px 12px rgba(255,61,129,0.6))}
.facility-title{
  font-size:1.15rem;
  font-weight:700;
  color:var(--white);
  margin:0 0 12px;
  text-align:center;
  transition:all .4s ease;
  position:relative}
.facility-card:hover .facility-title{
  color:var(--marigold);
  transform:translateY(-3px)}
.facility-desc{
  font-size:.9rem;
  line-height:1.6;
  color:rgba(245,243,255,0.75);
  margin:0;
  text-align:center;
  transition:color .4s ease}
.facility-card:hover .facility-desc{
  color:rgba(245,243,255,0.9)}
.facility-shine{
  position:absolute;
  top:-50%;
  left:-50%;
  width:200%;
  height:200%;
  background:linear-gradient( 45deg,transparent 30%,rgba(255,255,255,0.1) 50%,transparent 70% );
  transform:rotate(45deg);
  opacity:0;
  transition:all .8s cubic-bezier(.16,1,.3,1)}
.facility-card:hover .facility-shine{
  opacity:1;
  animation:shine 1.5s ease-in-out}
@keyframes shine{
  0%{
  transform:translateX(-120%) rotate(20deg) scale(1)}
100%{
  transform:translateX(120%) rotate(20deg) scale(1.15)}
}
.btn-lg{
  padding:16px 32px;
  font-size:1rem;
  gap:10px}
.btn-lg svg{
  width:20px;
  height:20px}
.feature-list li{
  display:flex;
  align-items:center;
  gap:10px;
  padding:7px 0;
  color:var(--charcoal-soft)}
.feature-list svg{
  width:18px;
  height:18px;
  color:var(--teal);
  flex-shrink:0}
.price-tag{
  font-family:var(--font-mono);
  font-weight:700;
  color:var(--ink);
  background:var(--marigold);
  padding:4px 12px;
  border-radius:999px;
  font-size:.85rem;
  display:inline-block}
.tariff-table{
  width:100%;
  min-width:500px;
  border-collapse:collapse;
  background:var(--white);
  border-radius:var(--radius-md);
  overflow:hidden;
  box-shadow:var(--shadow-soft)}
.tariff-table th,.tariff-table td{
  padding:16px 20px;
  text-align:left;
  border-bottom:1px solid var(--clay)}
.tariff-table th{
  background:var(--ink);
  color:var(--sand);
  font-family:var(--font-mono);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.06em}
.tariff-table tr:last-child td{
  border-bottom:none}
.tariff-table td.price{
  font-family:var(--font-mono);
  font-weight:700;
  color:var(--teal-dark)}
.route{
  position:relative;
  padding-left:46px}
.route::before{
  content:'';
  position:absolute;
  left:14px;
  top:6px;
  bottom:6px;
  width:3px;
  background:var(--clay);
  border-radius:3px}
.route .route-fill{
  position:absolute;
  left:14px;
  top:6px;
  width:3px;
  background:var(--teal);
  border-radius:3px;
  height:0%;
  transition:height 1.2s ease}
.route-item{
  position:relative;
  margin-bottom:30px}
.route-item:last-child{
  margin-bottom:0}
.route-marker{
  position:absolute;
  left:-46px;
  top:0;
  width:30px;
  height:30px;
  border-radius:50%;
  background:var(--white);
  border:3px solid var(--teal);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--teal-dark);
  z-index:1}
.route-marker svg{
  width:14px;
  height:14px}
.route-card{
  background:var(--white);
  border:1px solid rgba(26,16,51,0.08);
  border-radius:var(--radius-md);
  padding:22px 24px;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  transition:all .3s cubic-bezier(.16,1,.3,1)}
.route-card:hover{
  transform:translateX(8px);
  box-shadow:0 8px 24px -8px rgba(26,16,51,0.15);
  border-color:var(--teal)}
.route-distance{
  font-family:var(--font-mono);
  font-weight:700;
  color:var(--white);
  background:linear-gradient(135deg,var(--ink),var(--ink-soft));
  padding:8px 16px;
  border-radius:999px;
  font-size:.82rem;
  white-space:nowrap;
  flex-shrink:0;
  box-shadow:0 3px 10px -3px rgba(26,16,51,0.3)}
.reviews-marquee{
  overflow:hidden;
  position:relative;
  -webkit-mask-image:linear-gradient(to right,transparent,black 6%,black 94%,transparent);
  mask-image:linear-gradient(to right,transparent,black 6%,black 94%,transparent)}
.reviews-track{
  display:flex;
  gap:22px;
  width:max-content;
  animation:marquee-scroll var(--marquee-duration,42s) linear infinite}
.reviews-marquee:hover .reviews-track{
  animation-play-state:paused}
@keyframes marquee-scroll{
  from{
  transform:translateX(0)}
to{
  transform:translateX(-50%)}
}
.reviews-marquee.reverse .reviews-track{
  animation-direction:reverse}
.google-review-card{
  flex:0 0 380px;
  background:var(--white);
  border:1px solid rgba(26,16,51,0.08);
  border-radius:var(--radius-md);
  padding:24px;
  box-shadow:0 2px 12px -4px rgba(26,16,51,0.08);
  transition:all .3s cubic-bezier(.16,1,.3,1);
  display:flex;
  flex-direction:column;
  gap:14px}
.google-review-card:hover{
  transform:translateY(-4px);
  box-shadow:0 8px 24px -6px rgba(26,16,51,0.12);
  border-color:rgba(23,195,230,0.15)}
.grc-head{
  display:flex;
  align-items:flex-start;
  gap:12px}
.grc-avatar{
  width:48px;
  height:48px;
  border-radius:50%;
  overflow:hidden;
  flex-shrink:0;
  box-shadow:0 2px 8px -2px rgba(26,16,51,0.15)}
.grc-avatar img{
  width:100%;
  height:100%;
  object-fit:cover}
.grc-name{
  font-weight:700;
  color:var(--ink);
  font-size:1rem;
  line-height:1.3;
  margin-bottom:2px}
.grc-meta{
  font-size:.8rem;
  color:var(--charcoal-soft);
  display:flex;
  align-items:center;
  gap:4px;
  line-height:1.4}
.grc-stars{
  display:flex;
  gap:3px}
.grc-stars svg{
  width:16px;
  height:16px}
.grc-text{
  font-size:.92rem;
  color:var(--charcoal);
  line-height:1.6;
  margin:0;
  display:-webkit-box;
  -webkit-line-clamp:6;
  -webkit-box-orient:vertical;
  overflow:hidden}
.grc-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-top:12px;
  border-top:1px solid rgba(26,16,51,0.06);
  margin-top:auto}
.grc-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:.74rem;
  color:var(--teal-dark);
  font-weight:600;
  padding:4px 10px;
  background:rgba(23,195,230,0.08);
  border-radius:6px}
.form-card{
  background:var(--white);
  border:1px solid var(--clay);
  border-radius:var(--radius-lg);
  padding:36px;
  box-shadow:var(--shadow-soft)}
.form-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px}
@media (max-width:700px){
  .form-grid{
  grid-template-columns:1fr}
}
.field{
  display:flex;
  flex-direction:column;
  gap:6px}
.field.full{
  grid-column:1 / -1}
.field label{
  font-weight:600;
  font-size:.88rem;
  color:var(--ink)}
.field .req{
  color:var(--danger)}
.field input,.field select,.field textarea{
  border:1.5px solid var(--clay);
  border-radius:var(--radius-sm);
  padding:12px 14px;
  font-family:var(--font-body);
  font-size:.96rem;
  background:var(--sand);
  color:var(--charcoal);
  transition:border-color .2s ease,box-shadow .2s ease}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;
  border-color:var(--teal);
  box-shadow:0 0 0 4px rgba(23,195,230,0.15)}
.field textarea{
  resize:vertical;
  min-height:110px}
.field-error{
  color:var(--danger);
  font-size:.8rem;
  min-height:1em}
.form-status{
  padding:14px 18px;
  border-radius:var(--radius-sm);
  font-weight:600;
  margin-bottom:20px;
  display:none}
.form-status.show{
  display:block}
.form-status.ok{
  background:rgba(16,185,129,0.12);
  color:var(--success)}
.form-status.err{
  background:rgba(225,29,72,0.12);
  color:var(--danger)}
.file-drop{
  border:2px dashed var(--clay);
  border-radius:var(--radius-sm);
  padding:18px;
  text-align:center;
  font-size:.88rem;
  color:var(--charcoal-soft);
  background:var(--sand);
  cursor:pointer;
  transition:border-color .2s ease,background .2s ease}
.file-drop:hover{
  border-color:var(--teal)}
.file-drop input{
  display:none}
.accordion-item{
  border-bottom:1px solid var(--clay)}
.accordion-item:first-child{
  border-top:1px solid var(--clay)}
.accordion-trigger{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:20px 4px;
  background:none;
  border:none;
  text-align:left;
  font-family:var(--font-display);
  font-size:1.05rem;
  color:var(--ink);
  font-weight:600}
.accordion-trigger svg{
  width:20px;
  height:20px;
  color:var(--teal);
  flex-shrink:0;
  transition:transform .3s ease}
.accordion-item.open .accordion-trigger svg{
  transform:rotate(45deg)}
.accordion-panel{
  max-height:0;
  overflow:hidden;
  transition:max-height .35s ease}
.accordion-panel p{
  padding:0 4px 20px}
.gallery-filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:32px}
.gallery-filters button{
  padding:9px 18px;
  border-radius:999px;
  border:1.5px solid var(--clay);
  background:var(--white);
  font-weight:600;
  font-size:.85rem;
  color:var(--charcoal-soft);
  transition:all .2s ease}
.gallery-filters button.active,.gallery-filters button:hover{
  background:var(--ink);
  color:var(--sand);
  border-color:var(--ink)}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px}
@media (max-width:900px){
  .gallery-grid{
  grid-template-columns:repeat(2,1fr)}
}
.gallery-item{
  border-radius:var(--radius-sm);
  overflow:hidden;
  aspect-ratio:1;
  cursor:pointer;
  position:relative}
.gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease}
.gallery-item:hover img{
  transform:scale(1.1)}
.gallery-item .cap{
  position:absolute;
  inset:auto 0 0 0;
  background:linear-gradient(to top,rgba(26,16,51,0.85),transparent);
  color:var(--white);
  font-size:.75rem;
  padding:24px 10px 8px;
  opacity:0;
  transition:opacity .3s ease}
.gallery-item:hover .cap{
  opacity:1}
.lightbox{
  position:fixed;
  inset:0;
  background:rgba(26,16,51,0.92);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:900;
  padding:30px}
.lightbox.open{
  display:flex}
.lightbox img{
  max-width:90vw;
  max-height:85vh;
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-lift)}
.lightbox-close{
  position:absolute;
  top:24px;
  right:30px;
  color:var(--white);
  width:44px;
  height:44px;
  border-radius:50%;
  background:rgba(255,255,255,0.12);
  display:flex;
  align-items:center;
  justify-content:center}
.tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-family:var(--font-mono);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  padding:5px 12px;
  border-radius:999px;
  background:var(--sand-deep);
  color:var(--teal-dark);
  font-weight:700}
.tag.marigold{
  background:rgba(255,61,129,0.16);
  color:var(--marigold-dark)}
.site-footer{
  background:var(--ink);
  color:rgba(245,243,255,0.75);
  padding:70px 0 0}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1.2fr;
  gap:40px;
  padding-bottom:50px;
  border-bottom:1px solid rgba(245,243,255,0.12)}
@media (max-width:900px){
  .footer-grid{
  grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .footer-grid{
  grid-template-columns:1fr}
}
.footer-grid h4{
  color:var(--white);
  font-size:1rem;
  margin-bottom:18px;
  font-family:var(--font-mono);
  text-transform:uppercase;
  letter-spacing:.08em}
.footer-grid li{
  margin-bottom:10px}
.footer-grid a:hover{
  color:var(--marigold)}
.footer-brand p{
  color:rgba(245,243,255,0.65);
  max-width:320px}
.footer-social{
  display:flex;
  gap:10px;
  margin-top:16px}
.footer-social a{
  width:38px;
  height:38px;
  border-radius:50%;
  background:rgba(255,255,255,0.08);
  display:flex;
  align-items:center;
  justify-content:center}
.footer-social a:hover{
  background:var(--marigold);
  color:var(--ink)}
.footer-social svg{
  width:17px;
  height:17px}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:24px 0;
  font-size:.82rem;
  flex-wrap:wrap;
  gap:10px}
.footer-bottom a:hover{
  color:var(--marigold)}
[data-reveal]{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .7s ease,transform .7s ease}
[data-reveal].in-view{
  opacity:1;
  transform:translateY(0)}
[data-reveal-delay="1"]{
  transition-delay:.08s}
[data-reveal-delay="2"]{
  transition-delay:.16s}
[data-reveal-delay="3"]{
  transition-delay:.24s}
[data-reveal-delay="4"]{
  transition-delay:.32s}
.mt-0{
  margin-top:0}
.text-center{
  text-align:center}
.max-w-prose{
  max-width:760px}
.mx-auto{
  margin-left:auto;
  margin-right:auto}
.divider{
  height:1px;
  background:var(--clay);
  border:none;
  margin:48px 0}
.stat-row{
  display:flex;
  gap:40px;
  flex-wrap:wrap}
.stat{
}
.stat .num{
  font-family:var(--font-mono);
  font-size:2.2rem;
  font-weight:700;
  color:var(--ink);
  display:block}
.section--ink .stat .num{
  color:var(--marigold)}
.stat .lbl{
  font-size:.85rem;
  color:var(--charcoal-soft);
  text-transform:uppercase;
  letter-spacing:.05em}
.legal-content h2{
  margin-top:2em}
.legal-content ul{
  list-style:disc;
  padding-left:1.4em;
  margin-bottom:1em}
.legal-content ul li{
  margin-bottom:.4em;
  color:var(--charcoal-soft)}
.badge-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px}
.map-embed{
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-soft);
  border:1px solid var(--clay)}
.map-embed iframe{
  width:100%;
  height:380px;
  border:0;
  display:block}
.two-col{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:56px;
  align-items:center}
@media (max-width:900px){
  .two-col,.hero-grid{
  grid-template-columns:1fr}
.hero-media{
  margin-top:36px}
.location-badge-hero{
  font-size:0.75rem;
  padding:10px 18px;
  gap:8px}
.location-badge-hero svg{
  width:16px;
  height:16px}
}
.blog-card .card-body .tag{
  margin-bottom:12px}
.blog-meta{
  font-family:var(--font-mono);
  font-size:.78rem;
  color:var(--charcoal-soft);
  text-transform:uppercase;
  letter-spacing:.04em}
.job-card{
  border-left:4px solid var(--teal)}
.job-card ul{
  list-style:none;
  padding:0}
.job-card ul li{
  display:flex;
  gap:8px;
  margin-bottom:6px;
  color:var(--charcoal-soft)}
.job-card ul li svg{
  width:16px;
  height:16px;
  color:var(--teal);
  flex-shrink:0;
  margin-top:3px}
.offer-card{
  position:relative}
.offer-card .promo{
  position:absolute;
  top:18px;
  right:18px}
.not-found{
  min-height:60vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center}
.room-categories-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(450px,1fr));
  gap:32px;
  margin-top:48px}
@media (max-width:768px){
  .room-categories-grid{
  grid-template-columns:1fr}
}
.room-category-card{
  background:var(--white);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:0 4px 20px -8px rgba(26,16,51,0.1);
  transition:all .4s cubic-bezier(.16,1,.3,1);
  border:1px solid rgba(26,16,51,0.06);
  display:block;
  text-decoration:none;
  color:inherit}
.room-category-card:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 40px -12px rgba(26,16,51,0.18);
  border-color:rgba(23,195,230,0.2)}
.room-card-media{
  position:relative;
  aspect-ratio:16/10;
  overflow:hidden}
.room-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s cubic-bezier(.16,1,.3,1)}
.room-category-card:hover .room-card-media img{
  transform:scale(1.08)}
.room-card-badge{
  position:absolute;
  top:20px;
  left:20px;
  background:linear-gradient(135deg,rgba(255,61,129,0.95),rgba(255,61,129,0.85));
  color:var(--ink);
  padding:10px 18px;
  border-radius:999px;
  font-weight:700;
  font-size:.88rem;
  display:flex;
  align-items:center;
  gap:8px;
  box-shadow:0 4px 12px -4px rgba(255,61,129,0.5)}
.room-card-badge svg{
  width:16px;
  height:16px}
.room-card-body{
  padding:28px}
.room-card-body h3{
  font-size:1.45rem;
  margin:0 0 12px;
  color:var(--ink);
  font-weight:700}
.room-card-body > p{
  color:var(--charcoal-soft);
  line-height:1.6;
  margin-bottom:20px}
.room-features-preview{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:24px;
  padding-bottom:24px;
  border-bottom:1px solid rgba(26,16,51,0.08)}
.feature-tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 12px;
  background:rgba(23,195,230,0.08);
  color:var(--teal-dark);
  border-radius:6px;
  font-size:.82rem;
  font-weight:600}
.feature-tag svg{
  width:14px;
  height:14px}
.feature-tag.more{
  background:rgba(255,61,129,0.08);
  color:var(--marigold-dark)}
.room-card-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px}
.price-from{
  display:flex;
  flex-direction:column;
  gap:4px}
.price-from .label{
  font-size:.78rem;
  color:var(--charcoal-soft);
  text-transform:uppercase;
  letter-spacing:.05em;
  font-weight:600}
.price-from .price{
  font-size:1.8rem;
  font-weight:700;
  color:var(--ink);
  font-family:var(--font-display)}
.price-from .per-night{
  font-size:.9rem;
  font-weight:400;
  color:var(--charcoal-soft)}
.view-details-btn{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--teal);
  font-weight:700;
  font-size:.92rem;
  padding:10px 20px;
  border-radius:999px;
  background:rgba(23,195,230,0.08);
  transition:all .3s ease}
.view-details-btn svg{
  width:16px;
  height:16px;
  transition:transform .3s ease}
.room-category-card:hover .view-details-btn{
  background:var(--teal);
  color:var(--white)}
.room-category-card:hover .view-details-btn svg{
  transform:translateX(4px)}
.comparison-table{
  width:100%;
  min-width:600px;
  border-collapse:collapse;
  background:var(--white);
  border-radius:var(--radius-md);
  overflow:hidden;
  box-shadow:0 4px 20px -8px rgba(26,16,51,0.1)}
.comparison-table th,.comparison-table td{
  padding:18px 20px;
  text-align:left;
  border-bottom:1px solid rgba(26,16,51,0.06)}
.comparison-table thead th{
  background:var(--ink);
  color:var(--sand);
  font-weight:700;
  text-align:center}
.comparison-table tbody tr:last-child td{
  border-bottom:none}
.comparison-table td{
  text-align:center}
.comparison-table td:first-child{
  text-align:left;
  font-weight:600}
.room-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px}
@media (max-width:768px){
  .room-stats{
  grid-template-columns:1fr}
}
.stat-card{
  background:linear-gradient(135deg,rgba(255,61,129,0.05),rgba(23,195,230,0.05));
  border:1px solid rgba(26,16,51,0.08);
  border-radius:var(--radius-md);
  padding:20px;
  display:flex;
  align-items:center;
  gap:16px}
.stat-card div{
  display:flex;
  flex-direction:column;
  gap:4px}
.stat-card strong{
  font-size:1.6rem;
  font-weight:700;
  color:var(--ink);
  font-family:var(--font-display)}
.stat-card span{
  font-size:.88rem;
  color:var(--charcoal-soft)}
.features-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:20px}
.feature-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:16px;
  background:var(--white);
  border-radius:var(--radius-sm);
  border:1px solid rgba(26,16,51,0.06);
  transition:all .3s ease}
.feature-item:hover{
  transform:translateX(6px);
  border-color:var(--teal);
  box-shadow:0 4px 12px -4px rgba(23,195,230,0.2)}
.feature-icon{
  width:42px;
  height:42px;
  background:linear-gradient(135deg,rgba(255,61,129,0.15),rgba(23,195,230,0.15));
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0}
.feature-icon svg{
  width:22px;
  height:22px;
  color:var(--teal-dark)}
.feature-item span{
  font-weight:600;
  color:var(--charcoal);
  font-size:.92rem}
.pricing-cards-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:24px;
  margin-top:40px}
.pricing-card{
  background:var(--white);
  border:2px solid rgba(26,16,51,0.08);
  border-radius:var(--radius-lg);
  padding:0;
  transition:all .4s cubic-bezier(.16,1,.3,1);
  display:flex;
  flex-direction:column;
  overflow:hidden}
.pricing-card:hover{
  transform:translateY(-8px);
  border-color:var(--teal);
  box-shadow:0 20px 40px -12px rgba(23,195,230,0.2)}
.pricing-card-image{
  width:100%;
  height:200px;
  overflow:hidden;
  position:relative}
.pricing-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease}
.pricing-card:hover .pricing-card-image img{
  transform:scale(1.05)}
.pricing-card-header{
  text-align:center;
  padding:24px 32px 16px;
  border-bottom:1px solid rgba(26,16,51,0.06);
  margin-bottom:24px}
.pricing-card-header svg{
  width:48px;
  height:48px;
  color:var(--teal);
  margin-bottom:16px}
.pricing-card-header h3{
  font-size:1.4rem;
  margin:0 0 8px;
  color:var(--ink);
  word-break:break-word;
  overflow-wrap:break-word;
  hyphens:auto}
.pricing-card-header .occupancy{
  font-size:.88rem;
  color:var(--charcoal-soft);
  margin:0}
.pricing-card-price{
  text-align:center;
  margin-bottom:28px;
  padding:0 32px}
.pricing-card-price .currency{
  font-size:1.2rem;
  color:var(--charcoal-soft);
  vertical-align:top}
.pricing-card-price .amount{
  font-size:3rem;
  font-weight:700;
  color:var(--ink);
  font-family:var(--font-display)}
.pricing-card-price .period{
  font-size:.9rem;
  color:var(--charcoal-soft)}
.pricing-card-features{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-bottom:28px;
  padding:0 32px;
  flex-grow:1}
.pricing-card-features .feature-item{
  padding:0;
  border:none;
  background:none;
  font-size:.9rem}
.pricing-card .btn{
  margin:0 32px 32px;
  width:calc(100% - 64px);
  box-sizing:border-box}
.pricing-card-features .feature-item:hover{
  transform:none;
  box-shadow:none}
.pricing-card-features .feature-item svg{
  width:18px;
  height:18px;
  color:var(--teal)}
.guest-types-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:24px;
  margin-top:40px}
.guest-type-card{
  background:var(--white);
  border:1px solid rgba(26,16,51,0.06);
  border-radius:var(--radius-md);
  padding:28px 24px;
  text-align:center;
  transition:all .3s ease}
.guest-type-card:hover{
  transform:translateY(-6px);
  box-shadow:0 12px 30px -10px rgba(26,16,51,0.15);
  border-color:var(--marigold)}
.guest-type-card svg{
  width:48px;
  height:48px;
  color:var(--marigold);
  margin-bottom:16px}
.guest-type-card strong{
  display:block;
  font-size:1.1rem;
  color:var(--ink);
  margin-bottom:8px}
.guest-type-card p{
  font-size:.88rem;
  color:var(--charcoal-soft);
  margin:0}
.info-boxes-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:24px}
.info-box{
  background:var(--white);
  border:1px solid rgba(26,16,51,0.08);
  border-radius:var(--radius-md);
  padding:28px;
  display:flex;
  gap:20px}
.info-box svg{
  width:40px;
  height:40px;
  color:var(--teal);
  flex-shrink:0}
.info-box strong{
  display:block;
  font-size:1.1rem;
  color:var(--ink);
  margin-bottom:8px}
.info-box p{
  margin:0 0 8px;
  font-size:.92rem;
  color:var(--charcoal)}
.info-box small{
  font-size:.82rem;
  color:var(--charcoal-soft)}
.other-rooms-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:24px;
  margin-top:40px}
.other-room-card{
  display:block;
  background:var(--white);
  border-radius:var(--radius-md);
  overflow:hidden;
  box-shadow:0 4px 20px -8px rgba(26,16,51,0.1);
  transition:all .3s ease;
  text-decoration:none;
  color:inherit}
.other-room-card:hover{
  transform:translateY(-6px);
  box-shadow:0 12px 30px -10px rgba(26,16,51,0.18)}
.other-room-card img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  transition:transform .5s ease}
.other-room-card:hover img{
  transform:scale(1.08)}
.other-room-info{
  padding:20px}
.other-room-info h4{
  margin:0 0 8px;
  font-size:1.15rem;
  color:var(--ink)}
.other-room-info .price{
  font-size:.88rem;
  color:var(--charcoal-soft);
  margin-bottom:12px;
  display:block}
.other-room-info .view-link{
  color:var(--teal);
  font-weight:600;
  font-size:.88rem}
.about-intro-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center}
@media (max-width:900px){
  .about-intro-grid{
  grid-template-columns:1fr;
  gap:40px}
}
.about-heading{
  font-size:clamp(1.9rem,4vw,2.6rem);
  margin-bottom:20px;
  line-height:1.25}
.about-lead{
  font-size:1.08rem;
  line-height:1.75;
  color:var(--charcoal-soft);
  margin-bottom:32px}
.about-stats-compact{
  display:flex;
  flex-direction:column;
  gap:16px}
.stat-item-compact{
  display:flex;
  align-items:center;
  gap:16px;
  padding:16px 20px;
  background:linear-gradient(135deg,rgba(255,61,129,0.05),rgba(23,195,230,0.05));
  border-left:4px solid var(--teal);
  border-radius:var(--radius-sm);
  transition:all .3s ease}
.stat-item-compact:hover{
  transform:translateX(8px);
  border-left-color:var(--marigold);
  box-shadow:0 4px 16px -4px rgba(23,195,230,0.2)}
.stat-item-compact .stat-icon{
  width:48px;
  height:48px;
  background:linear-gradient(135deg,var(--marigold),#f5b850);
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  box-shadow:0 4px 12px -4px rgba(255,61,129,0.4)}
.stat-item-compact .stat-icon svg{
  width:24px;
  height:24px;
  color:var(--white)}
.stat-item-compact strong{
  display:block;
  font-size:1.05rem;
  color:var(--ink);
  font-weight:700;
  margin-bottom:2px}
.stat-item-compact span{
  font-size:.88rem;
  color:var(--charcoal-soft)}
.about-image-stack{
  position:relative}
.about-primary-image{
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:0 20px 50px -15px rgba(26,16,51,0.25);
  border:3px solid var(--white)}
.about-primary-image img{
  width:100%;
  height:auto;
  display:block;
  transition:transform .6s ease}
.about-primary-image:hover img{
  transform:scale(1.05)}
.image-badge{
  position:absolute;
  bottom:24px;
  left:24px;
  background:rgba(255,255,255,0.98);
  backdrop-filter:blur(10px);
  padding:16px 20px;
  border-radius:var(--radius-md);
  display:flex;
  align-items:center;
  gap:14px;
  box-shadow:0 8px 24px -8px rgba(26,16,51,0.3);
  border:1px solid rgba(26,16,51,0.06)}
.image-badge svg{
  width:32px;
  height:32px;
  color:var(--marigold)}
.image-badge strong{
  display:block;
  font-size:.95rem;
  color:var(--ink);
  font-weight:700;
  margin-bottom:2px}
.image-badge span{
  font-size:.82rem;
  color:var(--charcoal-soft)}
.story-content{
  max-width:820px;
  margin:32px auto 0;
  text-align:center}
.story-text{
  font-size:1.05rem;
  line-height:1.85;
  color:var(--charcoal-soft);
  background:var(--white);
  padding:40px 48px;
  border-radius:var(--radius-lg);
  box-shadow:0 8px 30px -10px rgba(26,16,51,0.12);
  border:1px solid rgba(26,16,51,0.06);
  position:relative}
.story-text::before{
  content:'"';
  position:absolute;
  top:-20px;
  left:30px;
  font-size:100px;
  font-family:var(--font-display);
  color:var(--marigold);
  opacity:0.2;
  line-height:1}
.mission-vision-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px}
@media (max-width:768px){
  .mission-vision-grid{
  grid-template-columns:1fr}
}
.mission-card,.vision-card{
  background:var(--white);
  border-radius:var(--radius-lg);
  padding:40px 36px;
  display:flex;
  align-items:flex-start;
  gap:24px;
  box-shadow:0 8px 30px -10px rgba(26,16,51,0.12);
  border:2px solid transparent;
  transition:all .4s cubic-bezier(.16,1,.3,1);
  position:relative;
  overflow:hidden}
.mission-card::before,.vision-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg,var(--marigold),var(--teal));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .4s ease}
.mission-card:hover,.vision-card:hover{
  transform:translateY(-8px);
  border-color:rgba(23,195,230,0.2);
  box-shadow:0 20px 50px -15px rgba(26,16,51,0.2)}
.mission-card:hover::before,.vision-card:hover::before{
  transform:scaleX(1)}
.mv-icon-wrapper{
  position:relative;
  width:72px;
  height:72px;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center}
.mv-icon-bg{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(255,61,129,0.15),rgba(23,195,230,0.15));
  border-radius:16px;
  transition:all .4s ease}
.mission-card:hover .mv-icon-bg,.vision-card:hover .mv-icon-bg{
  background:linear-gradient(135deg,rgba(255,61,129,0.25),rgba(23,195,230,0.25));
  transform:rotate(180deg) scale(1.05)}
.mv-icon-wrapper svg{
  width:36px;
  height:36px;
  color:var(--teal-dark);
  position:relative;
  z-index:1;
  transition:all .4s ease}
.mission-card:hover .mv-icon-wrapper svg,.vision-card:hover .mv-icon-wrapper svg{
  color:var(--marigold);
  transform:scale(1.1)}
.mv-content h3{
  font-size:1.45rem;
  margin:0 0 12px;
  color:var(--ink)}
.mv-content p{
  margin:0;
  line-height:1.7;
  color:var(--charcoal-soft)}
.values-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:28px;
  margin-top:48px}
.value-card{
  background:var(--white);
  border-radius:var(--radius-lg);
  padding:36px 32px;
  position:relative;
  overflow:hidden;
  transition:all .4s cubic-bezier(.16,1,.3,1);
  border:1px solid rgba(26,16,51,0.06);
  box-shadow:0 4px 20px -8px rgba(26,16,51,0.1)}
.value-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg,var(--teal),var(--marigold));
  opacity:0;
  transition:opacity .3s ease}
.value-card:hover{
  transform:translateY(-10px);
  box-shadow:0 20px 40px -12px rgba(26,16,51,0.18);
  border-color:rgba(23,195,230,0.2)}
.value-card:hover::before{
  opacity:1}
.value-number{
  position:absolute;
  top:20px;
  right:24px;
  font-size:4rem;
  font-weight:800;
  font-family:var(--font-display);
  color:rgba(255,61,129,0.08);
  line-height:1;
  transition:all .4s ease}
.value-card:hover .value-number{
  color:rgba(255,61,129,0.15);
  transform:scale(1.1)}
.value-icon-wrapper{
  position:relative;
  width:68px;
  height:68px;
  margin-bottom:20px;
  display:flex;
  align-items:center;
  justify-content:center}
.value-icon-bg{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(23,195,230,0.15),rgba(255,61,129,0.15));
  border-radius:16px;
  transition:all .4s ease}
.value-card:hover .value-icon-bg{
  background:linear-gradient(135deg,var(--teal),var(--marigold));
  transform:rotate(180deg)}
.value-icon-wrapper svg{
  width:32px;
  height:32px;
  color:var(--teal-dark);
  position:relative;
  z-index:1;
  transition:color .4s ease}
.value-card:hover .value-icon-wrapper svg{
  color:var(--white)}
.value-card h3{
  font-size:1.35rem;
  margin:0 0 12px;
  color:var(--ink)}
.value-card p{
  margin:0;
  line-height:1.65;
  color:var(--charcoal-soft);
  font-size:.95rem}
.about-rooms-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:32px;
  margin-top:48px}
@media (max-width:768px){
  .about-rooms-grid{
  grid-template-columns:1fr}
}
.about-room-card{
  background:rgba(255,255,255,0.06);
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:var(--radius-lg);
  padding:40px 36px;
  transition:all .4s cubic-bezier(.16,1,.3,1);
  position:relative;
  overflow:hidden}
.about-room-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:4px;
  height:100%;
  background:linear-gradient(180deg,var(--marigold),var(--teal));
  transform:scaleY(0);
  transform-origin:top;
  transition:transform .4s ease}
.about-room-card:hover{
  transform:translateY(-10px);
  background:rgba(255,255,255,0.1);
  border-color:rgba(255,61,129,0.3);
  box-shadow:0 20px 50px -15px rgba(255,61,129,0.3)}
.about-room-card:hover::before{
  transform:scaleY(1)}
.about-room-icon{
  width:68px;
  height:68px;
  background:linear-gradient(135deg,rgba(255,61,129,0.2),rgba(23,195,230,0.2));
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:24px;
  transition:all .4s ease}
.about-room-card:hover .about-room-icon{
  background:linear-gradient(135deg,var(--marigold),var(--teal));
  transform:rotate(360deg) scale(1.08)}
.about-room-icon svg{
  width:32px;
  height:32px;
  color:var(--marigold);
  transition:color .4s ease}
.about-room-card:hover .about-room-icon svg{
  color:var(--white)}
.about-room-card h3{
  font-size:1.45rem;
  margin:0 0 12px;
  color:var(--white)}
.about-room-card p{
  margin:0 0 20px;
  line-height:1.7;
  color:rgba(245,243,255,0.8)}
.room-type-count{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:24px;
  padding:12px 16px;
  background:rgba(255,255,255,0.08);
  border-radius:var(--radius-sm);
  font-size:.88rem;
  color:rgba(245,243,255,0.9);
  font-weight:600}
.room-type-count svg{
  width:18px;
  height:18px;
  color:var(--marigold)}
.facilities-showcase-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:26px;
  margin-top:48px}
.facility-showcase-card{
  background:var(--white);
  border-radius:var(--radius-lg);
  padding:32px 28px;
  position:relative;
  overflow:hidden;
  transition:all .4s cubic-bezier(.16,1,.3,1);
  border:1px solid rgba(26,16,51,0.06);
  box-shadow:0 4px 20px -8px rgba(26,16,51,0.1)}
.facility-showcase-card::after{
  content:'';
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg,var(--marigold),var(--teal));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .4s ease}
.facility-showcase-card:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 40px -12px rgba(26,16,51,0.18);
  border-color:rgba(23,195,230,0.2)}
.facility-showcase-card:hover::after{
  transform:scaleX(1)}
.facility-number{
  position:absolute;
  top:20px;
  right:20px;
  font-size:3.5rem;
  font-weight:800;
  font-family:var(--font-display);
  color:rgba(23,195,230,0.06);
  line-height:1;
  transition:all .4s ease}
.facility-showcase-card:hover .facility-number{
  color:rgba(23,195,230,0.12)}
.facility-showcase-icon{
  width:64px;
  height:64px;
  background:linear-gradient(135deg,rgba(255,61,129,0.12),rgba(23,195,230,0.12));
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:20px;
  transition:all .4s ease}
.facility-showcase-card:hover .facility-showcase-icon{
  background:linear-gradient(135deg,var(--marigold),var(--teal));
  transform:rotate(-10deg) scale(1.08)}
.facility-showcase-icon svg{
  width:30px;
  height:30px;
  color:var(--teal-dark);
  transition:color .4s ease}
.facility-showcase-card:hover .facility-showcase-icon svg{
  color:var(--white)}
.facility-showcase-card h3{
  font-size:1.25rem;
  margin:0 0 10px;
  color:var(--ink)}
.facility-showcase-card p{
  margin:0;
  line-height:1.65;
  color:var(--charcoal-soft);
  font-size:.92rem}
.commitment-section{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center}
@media (max-width:900px){
  .commitment-section{
  grid-template-columns:1fr;
  gap:40px}
}
.commitment-text{
  font-size:1.05rem;
  line-height:1.75;
  color:var(--charcoal-soft);
  margin-bottom:28px}
.commitment-highlights{
  display:flex;
  flex-direction:column;
  gap:16px;
  margin-bottom:12px}
.commitment-item{
  display:flex;
  align-items:center;
  gap:16px;
  padding:16px 18px;
  background:var(--white);
  border-radius:var(--radius-sm);
  border-left:4px solid var(--marigold);
  transition:all .3s ease}
.commitment-item:hover{
  transform:translateX(8px);
  box-shadow:0 4px 16px -4px rgba(255,61,129,0.2)}
.commitment-item svg{
  width:28px;
  height:28px;
  color:var(--marigold);
  flex-shrink:0}
.commitment-item strong{
  display:block;
  font-size:.95rem;
  color:var(--ink);
  font-weight:700;
  margin-bottom:2px}
.commitment-item span{
  font-size:.82rem;
  color:var(--charcoal-soft)}
.commitment-image{
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:0 20px 50px -15px rgba(26,16,51,0.25)}
.commitment-image img{
  width:100%;
  height:auto;
  display:block;
  transition:transform .6s ease}
.commitment-image:hover img{
  transform:scale(1.05)}
.image-decoration{
  position:absolute;
  top:-50px;
  right:-50px;
  width:200px;
  height:200px;
  background:linear-gradient(135deg,rgba(255,61,129,0.3),rgba(23,195,230,0.3));
  border-radius:50%;
  filter:blur(60px);
  pointer-events:none}
.restaurant-intro-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center}
@media (max-width:900px){
  .restaurant-intro-grid{
  grid-template-columns:1fr;
  gap:40px}
.restaurant-intro-grid >:first-child{
  order:2}
.restaurant-intro-grid >:last-child{
  order:1}
}
.restaurant-image-showcase{
  position:relative}
.restaurant-main-image{
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:0 20px 50px -15px rgba(26,16,51,0.25);
  border:3px solid var(--white)}
.restaurant-main-image img{
  width:100%;
  height:auto;
  display:block;
  transition:transform .6s ease}
.restaurant-main-image:hover img{
  transform:scale(1.05)}
.restaurant-badge{
  bottom:20px;
  left:20px}
.restaurant-heading{
  font-size:clamp(1.8rem,3.8vw,2.5rem);
  margin-bottom:18px;
  line-height:1.3}
.restaurant-lead{
  font-size:1.05rem;
  line-height:1.75;
  color:var(--charcoal-soft);
  margin-bottom:32px}
.restaurant-features-list{
  display:flex;
  flex-direction:column;
  gap:18px}
.restaurant-feature-item{
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding:18px 20px;
  background:linear-gradient(135deg,rgba(255,61,129,0.04),rgba(23,195,230,0.04));
  border-radius:var(--radius-md);
  border:1px solid rgba(26,16,51,0.06);
  transition:all .3s ease}
.restaurant-feature-item:hover{
  transform:translateX(8px);
  border-color:var(--teal);
  box-shadow:0 6px 20px -6px rgba(23,195,230,0.15);
  background:linear-gradient(135deg,rgba(255,61,129,0.08),rgba(23,195,230,0.08))}
.feature-icon-circle{
  width:46px;
  height:46px;
  background:linear-gradient(135deg,var(--marigold),#f5b850);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  box-shadow:0 4px 12px -4px rgba(255,61,129,0.4);
  transition:all .3s ease}
.restaurant-feature-item:hover .feature-icon-circle{
  transform:rotate(180deg) scale(1.1)}
.feature-icon-circle svg{
  width:22px;
  height:22px;
  color:var(--white)}
.restaurant-feature-item strong{
  display:block;
  font-size:1rem;
  color:var(--ink);
  font-weight:700;
  margin-bottom:4px}
.restaurant-feature-item span{
  font-size:.88rem;
  color:var(--charcoal-soft);
  line-height:1.5}
.menu-categories-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:28px;
  margin-top:48px}
.menu-category-card{
  background:var(--white);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:0 8px 30px -10px rgba(26,16,51,0.12);
  border:1px solid rgba(26,16,51,0.06);
  transition:all .4s cubic-bezier(.16,1,.3,1)}
.menu-category-card:hover{
  transform:translateY(-10px);
  box-shadow:0 20px 50px -15px rgba(26,16,51,0.2);
  border-color:rgba(23,195,230,0.2)}
.menu-card-header{
  background:linear-gradient(135deg,var(--ink),var(--ink-soft));
  padding:28px 24px;
  text-align:center;
  position:relative;
  overflow:hidden}
.menu-card-header::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background-image:radial-gradient(circle at 30% 40%,rgba(255,61,129,0.15),transparent 50%),radial-gradient(circle at 70% 60%,rgba(23,195,230,0.2),transparent 50%);
  pointer-events:none}
.menu-icon-wrapper{
  position:relative;
  width:72px;
  height:72px;
  margin:0 auto 16px;
  display:flex;
  align-items:center;
  justify-content:center}
.menu-icon-bg{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(255,61,129,0.25),rgba(23,195,230,0.25));
  border-radius:16px;
  transition:all .4s ease}
.menu-category-card:hover .menu-icon-bg{
  background:linear-gradient(135deg,var(--marigold),var(--teal));
  transform:rotate(180deg)}
.menu-icon-wrapper svg{
  width:36px;
  height:36px;
  color:var(--marigold);
  position:relative;
  z-index:1;
  transition:color .4s ease}
.menu-category-card:hover .menu-icon-wrapper svg{
  color:var(--white)}
.menu-card-header h3{
  font-size:1.5rem;
  margin:0;
  color:var(--white);
  position:relative;
  z-index:1}
.menu-items-list{
  padding:24px;
  max-height:440px;
  overflow-y:auto}
.menu-items-list::-webkit-scrollbar{
  width:6px}
.menu-items-list::-webkit-scrollbar-track{
  background:rgba(26,16,51,0.04);
  border-radius:3px}
.menu-items-list::-webkit-scrollbar-thumb{
  background:var(--teal);
  border-radius:3px}
.menu-items-list::-webkit-scrollbar-thumb:hover{
  background:var(--teal-dark)}
.menu-item{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:14px 0;
  border-bottom:1px solid rgba(26,16,51,0.06);
  transition:all .2s ease}
.menu-item:last-child{
  border-bottom:none;
  padding-bottom:0}
.menu-item:hover{
  transform:translateX(6px)}
.menu-item-icon{
  width:28px;
  height:28px;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  margin-top:2px}
.menu-item-icon.veg{
  background:rgba(16,185,129,0.12)}
.menu-item-icon.non-veg{
  background:rgba(225,29,72,0.12)}
.menu-item-icon svg{
  width:16px;
  height:16px}
.menu-item-icon.veg svg{
  color:#228B22}
.menu-item-icon.non-veg svg{
  color:#B22222}
.menu-item-content strong{
  display:block;
  font-size:.95rem;
  color:var(--ink);
  font-weight:600;
  margin-bottom:2px}
.menu-item-content span{
  font-size:.82rem;
  color:var(--charcoal-soft);
  line-height:1.4}
.meeting-intro-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center}
@media (max-width:900px){
  .meeting-intro-grid{
  grid-template-columns:1fr;
  gap:40px}
}
.meeting-image-showcase{
  position:relative}
.meeting-main-image{
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:0 20px 50px -15px rgba(26,16,51,0.25);
  border:3px solid var(--white)}
.meeting-main-image img{
  width:100%;
  height:auto;
  display:block;
  transition:transform .6s ease}
.meeting-main-image:hover img{
  transform:scale(1.05)}
.meeting-badge{
  bottom:20px;
  left:20px}
.meeting-heading{
  font-size:clamp(1.8rem,3.8vw,2.5rem);
  margin-bottom:18px;
  line-height:1.3}
.meeting-lead{
  font-size:1.05rem;
  line-height:1.75;
  color:var(--charcoal-soft);
  margin-bottom:32px}
.meeting-features-list{
  display:flex;
  flex-direction:column;
  gap:18px}
.meeting-feature-item{
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding:18px 20px;
  background:linear-gradient(135deg,rgba(255,61,129,0.04),rgba(23,195,230,0.04));
  border-radius:var(--radius-md);
  border:1px solid rgba(26,16,51,0.06);
  transition:all .3s ease}
.meeting-feature-item:hover{
  transform:translateX(8px);
  border-color:var(--teal);
  box-shadow:0 6px 20px -6px rgba(23,195,230,0.15);
  background:linear-gradient(135deg,rgba(255,61,129,0.08),rgba(23,195,230,0.08))}
.meeting-feature-item .feature-icon-circle{
  width:46px;
  height:46px;
  background:linear-gradient(135deg,var(--marigold),#f5b850);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  box-shadow:0 4px 12px -4px rgba(255,61,129,0.4);
  transition:all .3s ease}
.meeting-feature-item:hover .feature-icon-circle{
  transform:rotate(180deg) scale(1.1)}
.meeting-feature-item .feature-icon-circle svg{
  width:22px;
  height:22px;
  color:var(--white)}
.meeting-feature-item strong{
  display:block;
  font-size:1rem;
  color:var(--ink);
  font-weight:700;
  margin-bottom:4px}
.meeting-feature-item span{
  font-size:.88rem;
  color:var(--charcoal-soft);
  line-height:1.5}
.event-types-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:28px;
  margin-top:48px}
.event-type-card{
  background:var(--white);
  border-radius:var(--radius-lg);
  padding:36px 32px;
  position:relative;
  overflow:hidden;
  transition:all .4s cubic-bezier(.16,1,.3,1);
  border:1px solid rgba(26,16,51,0.06);
  box-shadow:0 4px 20px -8px rgba(26,16,51,0.1)}
.event-type-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg,var(--marigold),var(--teal));
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .4s ease}
.event-type-card:hover{
  transform:translateY(-10px);
  box-shadow:0 20px 40px -12px rgba(26,16,51,0.18);
  border-color:rgba(23,195,230,0.2)}
.event-type-card:hover::before{
  transform:scaleX(1)}
.event-icon-wrapper{
  position:relative;
  width:72px;
  height:72px;
  margin-bottom:24px;
  display:flex;
  align-items:center;
  justify-content:center}
.event-icon-bg{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(255,61,129,0.15),rgba(23,195,230,0.15));
  border-radius:16px;
  transition:all .4s ease}
.event-type-card:hover .event-icon-bg{
  background:linear-gradient(135deg,var(--marigold),var(--teal));
  transform:rotate(180deg)}
.event-icon-wrapper svg{
  width:36px;
  height:36px;
  color:var(--teal-dark);
  position:relative;
  z-index:1;
  transition:color .4s ease}
.event-type-card:hover .event-icon-wrapper svg{
  color:var(--white)}
.event-type-card h3{
  font-size:1.35rem;
  margin:0 0 12px;
  color:var(--ink)}
.event-type-card p{
  margin:0;
  line-height:1.65;
  color:var(--charcoal-soft);
  font-size:.95rem}
.event-card-decoration{
  position:absolute;
  bottom:-30px;
  right:-30px;
  width:120px;
  height:120px;
  background:radial-gradient(circle,rgba(23,195,230,0.08),transparent 70%);
  border-radius:50%;
  transition:all .4s ease}
.event-type-card:hover .event-card-decoration{
  bottom:-20px;
  right:-20px;
  background:radial-gradient(circle,rgba(255,61,129,0.12),transparent 70%)}
.gallery-stats-row{
  display:flex;
  gap:16px;
  margin-top:24px;
  flex-wrap:wrap}
.gallery-stat-badge{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 20px;
  background:rgba(255,255,255,0.15);
  backdrop-filter:blur(10px);
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.2);
  transition:all .3s ease}
.gallery-stat-badge:hover{
  background:rgba(255,255,255,0.25);
  transform:translateY(-2px);
  box-shadow:0 4px 12px -4px rgba(255,255,255,0.3)}
.gallery-stat-badge svg{
  width:22px;
  height:22px;
  color:var(--marigold)}
.gallery-stat-badge span{
  color:var(--white);
  font-size:.9rem}
.gallery-stat-badge strong{
  font-size:1.1rem;
  font-weight:700}
.gallery-filters-enhanced{
  display:flex;
  gap:12px;
  margin-bottom:48px;
  flex-wrap:wrap;
  justify-content:center;
  padding:24px;
  background:var(--white);
  border-radius:var(--radius-lg);
  box-shadow:0 4px 20px -8px rgba(26,16,51,0.1)}
.filter-btn{
  display:flex;
  align-items:center;
  gap:8px;
  padding:12px 24px;
  border:2px solid rgba(26,16,51,0.08);
  background:var(--white);
  border-radius:999px;
  font-weight:600;
  font-size:.9rem;
  color:var(--charcoal);
  cursor:pointer;
  transition:all .3s cubic-bezier(.16,1,.3,1);
  font-family:var(--font-body)}
.filter-btn svg{
  width:18px;
  height:18px;
  transition:transform .3s ease}
.filter-btn:hover{
  border-color:var(--teal);
  color:var(--teal-dark);
  transform:translateY(-2px);
  box-shadow:0 4px 12px -4px rgba(23,195,230,0.2)}
.filter-btn.active{
  background:linear-gradient(135deg,var(--teal),var(--teal-dark));
  color:var(--white);
  border-color:transparent;
  box-shadow:0 4px 16px -4px rgba(23,195,230,0.4)}
.filter-btn.active svg{
  transform:rotate(180deg)}
.gallery-grid-enhanced{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
  gap:24px}
@media (max-width:768px){
  .gallery-grid-enhanced{
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:16px}
}
.gallery-item-enhanced{
  opacity:1;
  transform:scale(1);
  transition:all .4s cubic-bezier(.16,1,.3,1)}
.gallery-item-enhanced.hidden{
  opacity:0;
  transform:scale(0.8);
  height:0;
  margin:0;
  overflow:hidden}
.gallery-image-wrapper{
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  cursor:pointer;
  aspect-ratio:4/3;
  background:var(--sand-deep);
  box-shadow:0 4px 20px -8px rgba(26,16,51,0.15);
  transition:all .4s cubic-bezier(.16,1,.3,1)}
.gallery-image-wrapper:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 40px -12px rgba(26,16,51,0.25)}
.gallery-image-wrapper img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s ease}
.gallery-image-wrapper:hover img{
  transform:scale(1.1)}
.gallery-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,transparent 0%,rgba(26,16,51,0.85) 100%);
  opacity:0;
  transition:opacity .4s ease;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:20px}
.gallery-image-wrapper:hover .gallery-overlay{
  opacity:1}
.gallery-icon{
  width:56px;
  height:56px;
  background:rgba(255,61,129,0.95);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  margin:auto;
  transform:scale(0.8);
  transition:all .4s cubic-bezier(.16,1,.3,1)}
.gallery-image-wrapper:hover .gallery-icon{
  transform:scale(1)}
.gallery-icon svg{
  width:28px;
  height:28px;
  color:var(--white)}
.gallery-caption{
  text-align:center;
  transform:translateY(20px);
  transition:transform .4s ease}
.gallery-image-wrapper:hover .gallery-caption{
  transform:translateY(0)}
.gallery-caption strong{
  display:block;
  font-size:1.05rem;
  color:var(--white);
  font-weight:700;
  margin-bottom:4px}
.gallery-caption span{
  font-size:.82rem;
  color:rgba(245,243,255,0.85);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.05em}
.lightbox{
  position:fixed;
  inset:0;
  background:rgba(26,16,51,0.98);
  backdrop-filter:blur(10px);
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  animation:fadeIn .3s ease}
.lightbox.active{
  display:flex}
@keyframes fadeIn{
  from{
  opacity:0;
  transform:translateY(8px)}
to{
  opacity:1;
  transform:translateY(0)}
}
.lightbox img{
  max-width:90%;
  max-height:90%;
  border-radius:var(--radius-lg);
  box-shadow:0 20px 60px -20px rgba(0,0,0,0.5);
  animation:zoomIn .4s cubic-bezier(.16,1,.3,1)}
@keyframes zoomIn{
  from{
  opacity:0;
  transform:scale(0.82) translateY(16px)}
to{
  opacity:1;
  transform:scale(1) translateY(0)}
}
.lightbox-close{
  position:absolute;
  top:30px;
  right:30px;
  width:56px;
  height:56px;
  background:rgba(255,61,129,0.95);
  border:none;
  border-radius:50%;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:all .3s ease;
  z-index:10000}
.lightbox-close:hover{
  background:var(--marigold);
  transform:rotate(90deg) scale(1.1);
  box-shadow:0 4px 16px -4px rgba(255,61,129,0.6)}
.lightbox-close svg{
  width:28px;
  height:28px;
  color:var(--white)}
.meeting-hall-gallery{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:48px}
@media (max-width:900px){
  .meeting-hall-gallery{
  grid-template-columns:1fr;
  gap:20px}
}
.gallery-main-feature{
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:0 8px 30px -10px rgba(26,16,51,0.15);
  cursor:pointer;
  transition:all .4s cubic-bezier(.16,1,.3,1)}
.gallery-main-feature:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 50px -15px rgba(26,16,51,0.25)}
.gallery-main-feature img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .6s ease}
.gallery-main-feature:hover img{
  transform:scale(1.08)}
.gallery-secondary-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px}
@media (max-width:620px){
  .gallery-secondary-grid{
  grid-template-columns:1fr}
}
.gallery-secondary-item{
  position:relative;
  border-radius:var(--radius-md);
  overflow:hidden;
  aspect-ratio:5/4;
  box-shadow:0 4px 20px -8px rgba(26,16,51,0.12);
  cursor:pointer;
  transition:all .4s cubic-bezier(.16,1,.3,1)}
.gallery-secondary-item:hover{
  transform:translateY(-6px);
  box-shadow:0 12px 30px -10px rgba(26,16,51,0.2)}
.gallery-secondary-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .6s ease}
.gallery-secondary-item:hover img{
  transform:scale(1.1)}
.gallery-caption-overlay{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  padding:20px;
  background:linear-gradient(to top,rgba(26,16,51,0.95) 0%,rgba(26,16,51,0.7) 60%,transparent 100%);
  transform:translateY(100%);
  transition:transform .4s cubic-bezier(.16,1,.3,1)}
.gallery-main-feature:hover .gallery-caption-overlay,.gallery-secondary-item:hover .gallery-caption-overlay{
  transform:translateY(0)}
.gallery-caption-overlay strong{
  display:block;
  font-size:1.05rem;
  color:var(--white);
  font-weight:700;
  margin-bottom:4px}
.gallery-caption-overlay span{
  font-size:.85rem;
  color:rgba(245,243,255,0.85);
  line-height:1.4}
.gallery-main-feature .gallery-caption-overlay{
  padding:28px}
.gallery-main-feature .gallery-caption-overlay strong{
  font-size:1.4rem;
  margin-bottom:6px}
.gallery-main-feature .gallery-caption-overlay span{
  font-size:.95rem}
.attractions-stats-row{
  display:flex;
  gap:16px;
  margin-top:24px;
  flex-wrap:wrap}
.attraction-stat-badge{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 20px;
  background:rgba(255,255,255,0.15);
  backdrop-filter:blur(10px);
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.2);
  transition:all .3s ease}
.attraction-stat-badge:hover{
  background:rgba(255,255,255,0.25);
  transform:translateY(-2px);
  box-shadow:0 4px 12px -4px rgba(255,255,255,0.3)}
.attraction-stat-badge svg{
  width:22px;
  height:22px;
  color:var(--marigold)}
.attraction-stat-badge span{
  color:var(--white);
  font-size:.9rem}
.attraction-stat-badge strong{
  font-size:1.1rem;
  font-weight:700}
.attractions-enhanced-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
  gap:32px;
  margin-top:48px}
@media (max-width:768px){
  .attractions-enhanced-grid{
  grid-template-columns:1fr}
}
.attraction-card-enhanced{
  background:linear-gradient(135deg,var(--white) 0%,rgba(245,243,255,0.4) 100%);
  border-radius:var(--radius-lg);
  padding:40px 36px;
  position:relative;
  overflow:hidden;
  transition:all .4s cubic-bezier(.16,1,.3,1);
  border:2px solid rgba(23,195,230,0.12);
  box-shadow:0 8px 30px -10px rgba(26,16,51,0.15);
  display:flex;
  flex-direction:column;
  gap:24px}
.attraction-card-enhanced::before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:linear-gradient(180deg,var(--marigold),var(--teal));
  transform:scaleY(0);
  transform-origin:top;
  transition:transform .4s ease}
.attraction-card-enhanced::after{
  content:'';
  position:absolute;
  top:-50%;
  right:-50%;
  width:200%;
  height:200%;
  background:radial-gradient(circle,rgba(255,61,129,0.08),transparent 50%);
  opacity:0;
  transition:opacity .4s ease}
.attraction-card-enhanced:hover{
  transform:translateY(-12px) scale(1.02);
  box-shadow:0 25px 60px -15px rgba(26,16,51,0.25);
  border-color:var(--marigold);
  background:linear-gradient(135deg,var(--white) 0%,rgba(255,61,129,0.05) 100%)}
.attraction-card-enhanced:hover::before{
  transform:scaleY(1)}
.attraction-card-enhanced:hover::after{
  opacity:1}
.attraction-icon-large{
  position:relative;
  width:90px;
  height:90px;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  align-self:center}
.attraction-icon-bg{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,var(--marigold),var(--teal));
  border-radius:22px;
  transition:all .5s cubic-bezier(.17,.89,.32,1.49);
  box-shadow:0 8px 24px -8px rgba(255,61,129,0.4)}
.attraction-card-enhanced:hover .attraction-icon-bg{
  background:linear-gradient(135deg,#f5b850,var(--teal-dark));
  transform:rotate(360deg) scale(1.1);
  box-shadow:0 12px 40px -10px rgba(255,61,129,0.6)}
.attraction-icon-large svg{
  width:44px;
  height:44px;
  color:var(--white);
  position:relative;
  z-index:1;
  transition:all .4s ease;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,0.2))}
.attraction-card-enhanced:hover .attraction-icon-large svg{
  transform:scale(1.15)}
.attraction-content{
  flex:1;
  min-width:0;
  text-align:center;
  position:relative;
  z-index:1}
.attraction-content h3{
  font-size:1.55rem;
  margin:0 0 14px;
  color:var(--ink);
  font-weight:700;
  line-height:1.3}
.attraction-content p{
  margin:0 0 20px;
  line-height:1.75;
  color:var(--charcoal-soft);
  font-size:1rem}
.attraction-meta{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:center}
.attraction-distance-badge{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 18px;
  background:linear-gradient(135deg,var(--teal),var(--teal-dark));
  border-radius:999px;
  font-size:.88rem;
  color:var(--white);
  font-weight:700;
  border:none;
  box-shadow:0 4px 16px -4px rgba(23,195,230,0.4);
  transition:all .3s ease}
.attraction-card-enhanced:hover .attraction-distance-badge{
  transform:scale(1.05);
  box-shadow:0 6px 20px -6px rgba(23,195,230,0.5)}
.attraction-distance-badge svg{
  width:18px;
  height:18px;
  color:var(--white)}
.attraction-distance-badge strong{
  font-size:1.05rem;
  font-weight:800}
.attraction-category-tag{
  display:flex;
  align-items:center;
  gap:6px;
  padding:10px 18px;
  background:linear-gradient(135deg,var(--marigold),#f5b850);
  border-radius:999px;
  font-size:.85rem;
  color:var(--ink);
  font-weight:700;
  border:none;
  box-shadow:0 4px 16px -4px rgba(255,61,129,0.4);
  transition:all .3s ease}
.attraction-card-enhanced:hover .attraction-category-tag{
  transform:scale(1.05);
  box-shadow:0 6px 20px -6px rgba(255,61,129,0.5)}
.attraction-category-tag svg{
  width:16px;
  height:16px}
.attraction-number{
  position:absolute;
  top:20px;
  right:28px;
  font-size:6rem;
  font-weight:900;
  font-family:var(--font-display);
  color:rgba(255,61,129,0.15);
  line-height:1;
  transition:all .4s ease;
  text-shadow:2px 2px 4px rgba(255,61,129,0.1);
  letter-spacing:-0.05em}
.attraction-card-enhanced:hover .attraction-number{
  color:rgba(255,61,129,0.3);
  transform:scale(1.1);
  text-shadow:4px 4px 8px rgba(255,61,129,0.15)}
.map-embed-enhanced{
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:0 12px 40px -12px rgba(26,16,51,0.2);
  border:3px solid var(--white);
  margin-top:48px}
.map-embed-enhanced iframe{
  width:100%;
  height:500px;
  border:none;
  display:block}
@media (max-width:768px){
  .map-embed-enhanced iframe{
  height:400px}
}
.offers-stats-row{
  display:flex;
  gap:16px;
  margin-top:24px;
  flex-wrap:wrap}
.offer-stat-badge{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 20px;
  background:rgba(255,255,255,0.15);
  backdrop-filter:blur(10px);
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.2);
  transition:all .3s ease}
.offer-stat-badge:hover{
  background:rgba(255,255,255,0.25);
  transform:translateY(-2px);
  box-shadow:0 4px 12px -4px rgba(255,255,255,0.3)}
.offer-stat-badge svg{
  width:22px;
  height:22px;
  color:var(--marigold)}
.offer-stat-badge span{
  color:var(--white);
  font-size:.9rem}
.offer-stat-badge strong{
  font-size:1.1rem;
  font-weight:700}
.offers-enhanced-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
  gap:28px;
  margin-top:48px}
@media (max-width:768px){
  .offers-enhanced-grid{
  grid-template-columns:1fr}
}
.offer-card-enhanced{
  background:var(--white);
  border-radius:var(--radius-lg);
  padding:40px 36px;
  position:relative;
  overflow:hidden;
  transition:all .4s cubic-bezier(.16,1,.3,1);
  border:2px solid rgba(26,16,51,0.06);
  box-shadow:0 4px 20px -8px rgba(26,16,51,0.1);
  display:flex;
  flex-direction:column;
  gap:24px}
.offer-card-enhanced::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg,var(--marigold),var(--teal),var(--marigold));
  background-size:200% 100%;
  opacity:0;
  transition:opacity .4s ease;
  animation:borderFlow 3s ease infinite}
.offer-card-enhanced:hover{
  transform:translateY(-10px);
  box-shadow:0 25px 50px -15px rgba(26,16,51,0.22);
  border-color:rgba(255,61,129,0.3)}
.offer-card-enhanced:hover::before{
  opacity:1}
.promo-ribbon{
  position:absolute;
  top:20px;
  right:-10px;
  background:linear-gradient(135deg,var(--marigold),#f5b850);
  color:var(--ink);
  padding:8px 20px 8px 16px;
  border-radius:6px 0 0 6px;
  font-weight:700;
  font-size:.82rem;
  display:flex;
  align-items:center;
  gap:6px;
  box-shadow:0 4px 12px -4px rgba(255,61,129,0.5);
  letter-spacing:.05em;
  z-index:2}
.promo-ribbon::after{
  content:'';
  position:absolute;
  right:0;
  bottom:-8px;
  width:0;
  height:0;
  border-style:solid;
  border-width:8px 10px 0 0;
  border-color:#d6216b transparent transparent transparent}
.promo-ribbon svg{
  width:16px;
  height:16px}
.offer-icon-wrapper{
  position:relative;
  width:80px;
  height:80px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center}
.offer-icon-bg{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(255,61,129,0.2),rgba(23,195,230,0.2));
  border-radius:20px;
  transition:all .4s ease;
  animation:pulse 3s ease-in-out infinite}
.offer-card-enhanced:hover .offer-icon-bg{
  background:linear-gradient(135deg,rgba(255,61,129,0.4),rgba(23,195,230,0.4));
  transform:rotate(180deg) scale(1.1);
  box-shadow:0 0 30px rgba(255,61,129,0.4)}
.offer-icon-wrapper svg{
  width:40px;
  height:40px;
  color:var(--marigold);
  position:relative;
  z-index:1;
  transition:all .4s ease}
.offer-card-enhanced:hover .offer-icon-wrapper svg{
  color:var(--white);
  transform:scale(1.15) rotate(-10deg)}
.offer-content{
  text-align:center;
  flex:1}
.offer-content h3{
  font-size:1.5rem;
  margin:0 0 12px;
  color:var(--ink)}
.offer-content p{
  margin:0;
  line-height:1.7;
  color:var(--charcoal-soft);
  font-size:.95rem}
.offer-features{
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap}
.offer-feature-tag{
  display:flex;
  align-items:center;
  gap:6px;
  padding:6px 12px;
  background:rgba(23,195,230,0.08);
  color:var(--teal-dark);
  border-radius:6px;
  font-size:.82rem;
  font-weight:600}
.offer-feature-tag svg{
  width:14px;
  height:14px;
  color:var(--teal)}
.offer-decoration{
  position:absolute;
  bottom:-40px;
  right:-40px;
  width:150px;
  height:150px;
  background:radial-gradient(circle,rgba(255,61,129,0.08),transparent 70%);
  border-radius:50%;
  transition:all .4s ease}
.offer-card-enhanced:hover .offer-decoration{
  background:radial-gradient(circle,rgba(255,61,129,0.15),transparent 70%);
  bottom:-30px;
  right:-30px}
.custom-package-section{
  background:var(--white);
  border-radius:var(--radius-lg);
  padding:48px 44px;
  box-shadow:0 12px 40px -12px rgba(26,16,51,0.15);
  border:2px solid rgba(26,16,51,0.06);
  position:relative;
  overflow:hidden}
.custom-package-section::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg,var(--teal),var(--marigold),var(--teal));
  background-size:200% 100%;
  animation:borderFlow 3s ease infinite}
.custom-package-content{
  display:flex;
  gap:32px;
  align-items:center}
@media (max-width:768px){
  .custom-package-content{
  flex-direction:column;
  text-align:center}
}
.custom-package-icon{
  width:80px;
  height:80px;
  background:linear-gradient(135deg,var(--marigold),var(--teal));
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  box-shadow:0 8px 24px -8px rgba(255,61,129,0.4)}
.custom-package-icon svg{
  width:40px;
  height:40px;
  color:var(--white)}
.custom-package-content h2{
  margin:0 0 12px;
  font-size:1.8rem;
  color:var(--ink)}
.custom-package-content p{
  margin:0;
  line-height:1.7;
  color:var(--charcoal-soft);
  font-size:1.05rem}
.blog-stats-row{
  display:flex;
  gap:16px;
  margin-top:24px;
  flex-wrap:wrap}
.blog-stat-badge{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 20px;
  background:rgba(255,255,255,0.15);
  backdrop-filter:blur(10px);
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.2);
  transition:all .3s ease}
.blog-stat-badge:hover{
  background:rgba(255,255,255,0.25);
  transform:translateY(-2px);
  box-shadow:0 4px 12px -4px rgba(255,255,255,0.3)}
.blog-stat-badge svg{
  width:22px;
  height:22px;
  color:var(--marigold)}
.blog-stat-badge span{
  color:var(--white);
  font-size:.9rem}
.blog-stat-badge strong{
  font-size:1.1rem;
  font-weight:700}
.blog-enhanced-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(360px,1fr));
  gap:32px;
  margin-top:48px}
@media (max-width:768px){
  .blog-enhanced-grid{
  grid-template-columns:1fr}
}
.blog-card-enhanced{
  display:block;
  background:var(--white);
  border-radius:var(--radius-lg);
  overflow:hidden;
  position:relative;
  transition:all .4s cubic-bezier(.16,1,.3,1);
  border:2px solid rgba(26,16,51,0.08);
  box-shadow:0 8px 30px -10px rgba(26,16,51,0.15);
  text-decoration:none;
  color:inherit}
.blog-card-enhanced::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg,var(--marigold),var(--teal),var(--marigold));
  background-size:200% 100%;
  opacity:0;
  transition:opacity .4s ease;
  animation:borderFlow 3s ease infinite}
.blog-card-enhanced:hover{
  transform:translateY(-12px);
  box-shadow:0 25px 60px -15px rgba(26,16,51,0.25);
  border-color:var(--marigold)}
.blog-card-enhanced:hover::before{
  opacity:1}
.blog-card-image{
  position:relative;
  aspect-ratio:16/10;
  overflow:hidden}
.blog-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s ease}
.blog-card-enhanced:hover .blog-card-image img{
  transform:scale(1.1)}
.blog-category-badge{
  position:absolute;
  top:16px;
  left:16px;
  background:linear-gradient(135deg,var(--marigold),#f5b850);
  color:var(--ink);
  padding:8px 16px;
  border-radius:999px;
  font-weight:700;
  font-size:.82rem;
  display:flex;
  align-items:center;
  gap:6px;
  box-shadow:0 4px 12px -4px rgba(255,61,129,0.5);
  z-index:2}
.blog-category-badge svg{
  width:14px;
  height:14px}
.blog-card-content{
  padding:32px 28px;
  position:relative}
.blog-date{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:.85rem;
  color:var(--charcoal-soft);
  margin-bottom:16px;
  font-weight:600}
.blog-date svg{
  width:16px;
  height:16px;
  color:var(--teal)}
.blog-card-content h3{
  font-size:1.45rem;
  margin:0 0 14px;
  color:var(--ink);
  font-weight:700;
  line-height:1.3;
  transition:color .3s ease}
.blog-card-enhanced:hover h3{
  color:var(--marigold)}
.blog-card-content p{
  margin:0 0 20px;
  line-height:1.7;
  color:var(--charcoal-soft);
  font-size:.95rem}
.blog-read-more{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--teal);
  font-weight:700;
  font-size:.92rem;
  transition:all .3s ease}
.blog-read-more svg{
  width:18px;
  height:18px;
  transition:transform .3s ease}
.blog-card-enhanced:hover .blog-read-more{
  color:var(--teal-dark);
  gap:12px}
.blog-card-enhanced:hover .blog-read-more svg{
  transform:translateX(4px)}
.blog-card-decoration{
  position:absolute;
  bottom:-40px;
  right:-40px;
  width:150px;
  height:150px;
  background:radial-gradient(circle,rgba(255,61,129,0.08),transparent 70%);
  border-radius:50%;
  transition:all .4s ease}
.blog-card-enhanced:hover .blog-card-decoration{
  background:radial-gradient(circle,rgba(255,61,129,0.15),transparent 70%);
  bottom:-30px;
  right:-30px}
.contact-stats-row{
  display:flex;
  gap:16px;
  margin-top:24px;
  flex-wrap:wrap}
.contact-stat-badge{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 20px;
  background:rgba(255,255,255,0.15);
  backdrop-filter:blur(10px);
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.2);
  transition:all .3s ease}
.contact-stat-badge:hover{
  background:rgba(255,255,255,0.25);
  transform:translateY(-2px);
  box-shadow:0 4px 12px -4px rgba(255,255,255,0.3)}
.contact-stat-badge svg{
  width:22px;
  height:22px;
  color:var(--marigold)}
.contact-stat-badge span{
  color:var(--white);
  font-size:.9rem}
.contact-stat-badge strong{
  font-size:1.1rem;
  font-weight:700}
.contact-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px}
@media (max-width:900px){
  .contact-layout{
  grid-template-columns:1fr;
  gap:40px}
}
.contact-form-enhanced{
  background:var(--white);
  border-radius:var(--radius-lg);
  padding:40px;
  box-shadow:0 12px 40px -12px rgba(26,16,51,0.15);
  border:2px solid rgba(26,16,51,0.06);
  position:relative;
  overflow:hidden;
  transform:translateZ(0);
  backface-visibility:hidden}
.contact-form-enhanced::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:5px;
  background:linear-gradient(90deg,var(--marigold),var(--teal),var(--marigold));
  background-size:200% 100%;
  animation:borderFlow 3s ease infinite;
  will-change:background-position;
  transform:translateZ(0);
  backface-visibility:hidden}
.form-header{
  display:flex;
  align-items:flex-start;
  gap:20px;
  margin-bottom:32px;
  padding-bottom:24px;
  border-bottom:2px solid rgba(26,16,51,0.06)}
.form-header svg{
  width:48px;
  height:48px;
  color:var(--marigold);
  flex-shrink:0}
.form-header h2{
  margin:0 0 6px;
  font-size:1.8rem;
  color:var(--ink)}
.form-header p{
  margin:0;
  color:var(--charcoal-soft);
  font-size:.95rem}
.contact-info-enhanced{
  background:linear-gradient(135deg,var(--white) 0%,rgba(245,243,255,0.5) 100%);
  border-radius:var(--radius-lg);
  padding:40px;
  box-shadow:0 8px 30px -10px rgba(26,16,51,0.12);
  border:2px solid rgba(23,195,230,0.12)}
.contact-info-header{
  display:flex;
  align-items:flex-start;
  gap:20px;
  margin-bottom:32px;
  padding-bottom:24px;
  border-bottom:2px solid rgba(26,16,51,0.06)}
.contact-info-header svg{
  width:48px;
  height:48px;
  color:var(--teal);
  flex-shrink:0}
.contact-info-header h2{
  margin:8px 0 0;
  font-size:1.6rem;
  color:var(--ink)}
.contact-info-list{
  display:flex;
  flex-direction:column;
  gap:24px}
.contact-info-item{
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding:20px;
  background:var(--white);
  border-radius:var(--radius-md);
  border:1px solid rgba(26,16,51,0.06);
  transition:all .3s ease}
.contact-info-item:hover{
  transform:translateX(8px);
  border-color:var(--teal);
  box-shadow:0 4px 16px -4px rgba(23,195,230,0.15)}
.contact-icon{
  width:44px;
  height:44px;
  background:linear-gradient(135deg,var(--marigold),var(--teal));
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  box-shadow:0 4px 12px -4px rgba(255,61,129,0.4)}
.contact-icon svg{
  width:22px;
  height:22px;
  color:var(--white)}
.contact-info-item strong{
  display:block;
  font-size:1rem;
  color:var(--ink);
  font-weight:700;
  margin-bottom:6px}
.contact-info-item p{
  margin:0;
  line-height:1.6;
  color:var(--charcoal-soft);
  font-size:.92rem}
.contact-info-item a{
  color:var(--teal);
  font-weight:600;
  transition:color .2s ease}
.contact-info-item a:hover{
  color:var(--teal-dark)}
.booking-stats-row{
  display:flex;
  justify-content:center;
  gap:16px;
  margin-top:32px;
  flex-wrap:wrap}
.booking-stat-badge{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 20px;
  background:rgba(255,255,255,0.15);
  backdrop-filter:blur(10px);
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.2);
  transition:all .3s ease}
.booking-stat-badge:hover{
  background:rgba(255,255,255,0.25);
  transform:translateY(-2px);
  box-shadow:0 4px 12px -4px rgba(255,255,255,0.3)}
.booking-stat-badge svg{
  width:22px;
  height:22px;
  color:var(--marigold)}
.booking-stat-badge span{
  color:var(--white);
  font-size:.9rem}
.booking-stat-badge strong{
  font-size:1.1rem;
  font-weight:700}
.booking-layout{
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:48px;
  align-items:flex-start}
@media (max-width:1000px){
  .booking-layout{
  grid-template-columns:1fr;
  gap:40px}
}
.booking-form-enhanced{
  background:var(--white);
  border-radius:var(--radius-lg);
  padding:40px;
  box-shadow:0 12px 40px -12px rgba(26,16,51,0.15);
  border:2px solid rgba(26,16,51,0.06);
  position:relative;
  overflow:hidden;
  transform:translateZ(0);
  backface-visibility:hidden}
.booking-form-enhanced::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:5px;
  background:linear-gradient(90deg,var(--marigold),var(--teal),var(--marigold));
  background-size:200% 100%;
  animation:borderFlow 3s ease infinite;
  will-change:background-position;
  transform:translateZ(0);
  backface-visibility:hidden}
.booking-form-header{
  display:flex;
  align-items:flex-start;
  gap:20px;
  margin-bottom:32px;
  padding-bottom:24px;
  border-bottom:2px solid rgba(26,16,51,0.06)}
.booking-form-header svg{
  width:48px;
  height:48px;
  color:var(--marigold);
  flex-shrink:0}
.booking-form-header h2{
  margin:0 0 6px;
  font-size:1.8rem;
  color:var(--ink)}
.booking-form-header p{
  margin:0;
  color:var(--charcoal-soft);
  font-size:.95rem}
.booking-section{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:24px}
.section-icon{
  width:40px;
  height:40px;
  background:linear-gradient(135deg,var(--marigold),var(--teal));
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  box-shadow:0 4px 12px -4px rgba(255,61,129,0.4);
  transition:transform .3s ease}
.booking-section:hover .section-icon{
  transform:rotate(-5deg) scale(1.1)}
.section-icon svg{
  width:20px;
  height:20px;
  color:var(--white)}
.booking-section h3{
  margin:0;
  font-size:1.3rem;
  color:var(--ink);
  font-weight:700}
.form-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px}
@media (max-width:620px){
  .form-grid{
  grid-template-columns:1fr}
}
.field.full{
  grid-column:1 / -1}
.field{
  display:flex;
  flex-direction:column;
  gap:8px}
.field label{
  font-weight:600;
  color:var(--ink);
  font-size:.92rem;
  display:flex;
  align-items:center;
  gap:4px}
.field .req{
  color:var(--danger);
  font-weight:700}
.field input,.field select,.field textarea{
  padding:14px 16px;
  border:2px solid rgba(26,16,51,0.12);
  border-radius:var(--radius-sm);
  font-family:var(--font-body);
  font-size:.95rem;
  color:var(--ink);
  background:var(--white);
  transition:all .3s ease;
  width:100%}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;
  border-color:var(--teal);
  box-shadow:0 0 0 4px rgba(23,195,230,0.1);
  background:rgba(23,195,230,0.02)}
.field input::placeholder,.field textarea::placeholder{
  color:var(--charcoal-soft);
  opacity:0.6}
.field textarea{
  resize:vertical;
  min-height:100px;
  font-family:var(--font-body)}
.field-error{
  color:var(--danger);
  font-size:.82rem;
  display:none;
  margin-top:4px}
.field.has-error .field-error{
  display:block}
.field.has-error input,.field.has-error select,.field.has-error textarea{
  border-color:var(--danger)}
.form-status{
  display:none;
  padding:16px 20px;
  border-radius:var(--radius-sm);
  margin-bottom:24px;
  font-weight:600;
  font-size:.92rem}
.form-status.show{
  display:block}
.form-status.ok{
  background:rgba(16,185,129,0.1);
  color:var(--success);
  border:2px solid rgba(16,185,129,0.3)}
.form-status.error{
  background:rgba(225,29,72,0.1);
  color:var(--danger);
  border:2px solid rgba(225,29,72,0.3)}
.booking-sidebar-enhanced{
  background:linear-gradient(135deg,var(--white) 0%,rgba(245,243,255,0.5) 100%);
  border-radius:var(--radius-lg);
  padding:40px;
  box-shadow:0 8px 30px -10px rgba(26,16,51,0.12);
  border:2px solid rgba(23,195,230,0.12);
  position:sticky;
  top:100px}
@media (max-width:1000px){
  .booking-sidebar-enhanced{
  position:static}
}
.sidebar-header{
  display:flex;
  align-items:flex-start;
  gap:20px;
  margin-bottom:32px;
  padding-bottom:24px;
  border-bottom:2px solid rgba(26,16,51,0.06)}
.sidebar-header svg{
  width:48px;
  height:48px;
  color:var(--teal);
  flex-shrink:0}
.sidebar-header .eyebrow{
  margin-bottom:6px}
.sidebar-header h2{
  margin:0;
  font-size:1.6rem;
  color:var(--ink)}
.pricing-category-card{
  background:var(--white);
  border-radius:var(--radius-md);
  padding:24px;
  margin-bottom:24px;
  border:2px solid rgba(26,16,51,0.06);
  transition:all .3s ease;
  position:relative;
  overflow:hidden}
.pricing-category-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg,var(--marigold),var(--teal));
  opacity:0;
  transition:opacity .3s ease}
.pricing-category-card:hover{
  border-color:var(--teal);
  box-shadow:0 8px 24px -8px rgba(23,195,230,0.15);
  transform:translateY(-4px)}
.pricing-category-card:hover::before{
  opacity:1}
.category-header{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:20px;
  padding-bottom:16px;
  border-bottom:1px solid rgba(26,16,51,0.08)}
.category-header svg{
  width:32px;
  height:32px;
  color:var(--marigold);
  background:rgba(255,61,129,0.1);
  padding:6px;
  border-radius:8px}
.category-header h3{
  margin:0;
  font-size:1.2rem;
  color:var(--ink);
  font-weight:700}
.pricing-list{
  display:flex;
  flex-direction:column;
  gap:12px}
.pricing-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:10px 0}
.pricing-label{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--charcoal-soft);
  font-size:.92rem}
.pricing-label svg{
  width:16px;
  height:16px;
  color:var(--success);
  flex-shrink:0}
.pricing-amount{
  font-family:var(--font-mono);
  font-weight:700;
  color:var(--teal-dark);
  font-size:1.05rem;
  white-space:nowrap}
.pricing-amount span{
  font-size:.78rem;
  font-weight:500;
  color:var(--charcoal-soft);
  margin-left:2px}
.pricing-note{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:16px;
  background:rgba(255,61,129,0.08);
  border-radius:var(--radius-sm);
  border-left:4px solid var(--marigold);
  margin-bottom:24px}
.pricing-note svg{
  width:20px;
  height:20px;
  color:var(--marigold);
  flex-shrink:0;
  margin-top:2px}
.pricing-note p{
  margin:0;
  font-size:.86rem;
  line-height:1.6;
  color:var(--charcoal-soft)}
.sidebar-actions{
  padding-top:24px;
  border-top:2px solid rgba(26,16,51,0.06)}
.sidebar-actions h4{
  margin:0 0 16px;
  font-size:1.1rem;
  color:var(--ink);
  font-weight:700}
.btn-block{
  width:100%;
  justify-content:center}
.btn-lg{
  padding:16px 32px;
  font-size:1rem;
  gap:10px;
  font-weight:700}
.btn-lg svg{
  width:20px;
  height:20px}
@media (max-width:620px){
  .booking-form-enhanced,.booking-sidebar-enhanced{
  padding:28px 20px}
.booking-form-header,.sidebar-header{
  flex-direction:column;
  gap:14px}
.booking-form-header svg,.sidebar-header svg{
  width:40px;
  height:40px}
.booking-form-header h2,.sidebar-header h2{
  font-size:1.4rem}
.booking-stats-row{
  flex-direction:column;
  align-items:stretch}
.booking-stat-badge{
  justify-content:center}
}
.facilities-stats-row{
  display:flex;
  justify-content:center;
  gap:16px;
  margin-top:32px;
  flex-wrap:wrap}
.facilities-stat-badge{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 20px;
  background:rgba(255,255,255,0.15);
  backdrop-filter:blur(10px);
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.2);
  transition:all .3s ease}
.facilities-stat-badge:hover{
  background:rgba(255,255,255,0.25);
  transform:translateY(-2px);
  box-shadow:0 4px 12px -4px rgba(255,255,255,0.3)}
.facilities-stat-badge svg{
  width:22px;
  height:22px;
  color:var(--marigold)}
.facilities-stat-badge span{
  color:var(--white);
  font-size:.9rem}
.facilities-stat-badge strong{
  font-size:1.1rem;
  font-weight:700}
.facilities-enhanced-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:28px;
  position:relative}
@media (max-width:900px){
  .facilities-enhanced-grid{
  grid-template-columns:repeat(2,1fr);
  gap:22px}
}
@media (max-width:620px){
  .facilities-enhanced-grid{
  grid-template-columns:1fr}
}
.facility-premium-card{
  background:var(--white);
  border:2px solid rgba(26,16,51,0.08);
  border-radius:var(--radius-lg);
  padding:36px 28px;
  position:relative;
  overflow:hidden;
  transition:all .5s cubic-bezier(.16,1,.3,1);
  cursor:pointer;
  text-align:center}
.facility-premium-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg,var(--marigold),var(--teal),var(--marigold));
  background-size:200% 100%;
  opacity:0;
  transition:opacity .4s ease;
  animation:borderFlow 3s ease infinite}
.facility-premium-card:hover::before{
  opacity:1}
.facility-premium-card:hover{
  transform:translateY(-12px);
  border-color:rgba(255,61,129,0.3);
  box-shadow:0 20px 50px -15px rgba(26,16,51,0.15),0 10px 30px -10px rgba(255,61,129,0.2)}
.facility-number{
  position:absolute;
  top:20px;
  right:20px;
  font-family:var(--font-display);
  font-size:3.5rem;
  font-weight:800;
  color:var(--marigold);
  opacity:0.08;
  line-height:1;
  transition:all .5s ease;
  text-shadow:2px 2px 4px rgba(255,61,129,0.2)}
.facility-premium-card:hover .facility-number{
  opacity:0.15;
  transform:scale(1.2) rotate(-5deg)}
.facility-icon-premium{
  width:90px;
  height:90px;
  position:relative;
  margin:0 auto 24px;
  display:flex;
  align-items:center;
  justify-content:center}
.icon-circle-bg{
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,var(--marigold),var(--teal));
  border-radius:50%;
  transition:all .5s cubic-bezier(.16,1,.3,1);
  box-shadow:0 8px 24px -8px rgba(255,61,129,0.4)}
.facility-premium-card:hover .icon-circle-bg{
  transform:rotate(180deg) scale(1.1);
  box-shadow:0 12px 36px -10px rgba(255,61,129,0.6)}
.facility-icon-premium svg{
  position:relative;
  z-index:2;
  width:44px;
  height:44px;
  color:var(--white);
  filter:drop-shadow(0 2px 8px rgba(0,0,0,0.15));
  transition:all .5s cubic-bezier(.16,1,.3,1)}
.facility-premium-card:hover .facility-icon-premium svg{
  transform:scale(1.15) rotate(-10deg)}
.facility-premium-card h3{
  font-size:1.2rem;
  font-weight:700;
  color:var(--ink);
  margin:0 0 12px;
  transition:color .4s ease}
.facility-premium-card:hover h3{
  color:var(--teal-dark)}
.facility-premium-card p{
  font-size:.92rem;
  line-height:1.6;
  color:var(--charcoal-soft);
  margin:0}
.facility-shine-effect{
  position:absolute;
  top:-50%;
  left:-50%;
  width:200%;
  height:200%;
  background:linear-gradient( 45deg,transparent 30%,rgba(255,255,255,0.3) 50%,transparent 70% );
  transform:rotate(45deg);
  opacity:0;
  transition:all .8s cubic-bezier(.16,1,.3,1)}
.facility-premium-card:hover .facility-shine-effect{
  opacity:1;
  animation:shine 1.5s ease-in-out}
.cta-box-enhanced{
  position:relative;
  padding:48px 32px}
.cta-icon-large{
  width:80px;
  height:80px;
  background:linear-gradient(135deg,rgba(255,61,129,0.2),rgba(23,195,230,0.2));
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 24px;
  animation:pulse 3s ease-in-out infinite}
.cta-icon-large svg{
  width:40px;
  height:40px;
  color:var(--marigold)}
.cta-box-enhanced h2{
  color:var(--white);
  margin-bottom:16px}
@media (max-width:620px){
  .facilities-stat-badge{
  flex:1 1 100%;
  justify-content:center}
}
.careers-stats-row{
  display:flex;
  justify-content:center;
  gap:16px;
  margin-top:32px;
  flex-wrap:wrap}
.careers-stat-badge{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 20px;
  background:rgba(255,255,255,0.15);
  backdrop-filter:blur(10px);
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.2);
  transition:all .3s ease}
.careers-stat-badge:hover{
  background:rgba(255,255,255,0.25);
  transform:translateY(-2px);
  box-shadow:0 4px 12px -4px rgba(255,255,255,0.3)}
.careers-stat-badge svg{
  width:22px;
  height:22px;
  color:var(--marigold)}
.careers-stat-badge span{
  color:var(--white);
  font-size:.9rem}
.careers-stat-badge strong{
  font-size:1.1rem;
  font-weight:700}
.careers-job-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(500px,1fr));
  gap:32px}
@media (max-width:900px){
  .careers-job-grid{
  grid-template-columns:1fr}
}
.job-premium-card{
  background:var(--white);
  border:2px solid rgba(26,16,51,0.08);
  border-radius:var(--radius-lg);
  padding:36px;
  position:relative;
  overflow:hidden;
  transition:all .4s cubic-bezier(.16,1,.3,1)}
.job-premium-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg,var(--marigold),var(--teal));
  opacity:0;
  transition:opacity .4s ease}
.job-premium-card:hover{
  transform:translateY(-8px);
  border-color:var(--teal);
  box-shadow:0 16px 40px -12px rgba(26,16,51,0.15)}
.job-premium-card:hover::before{
  opacity:1}
.job-header{
  display:flex;
  align-items:flex-start;
  gap:20px;
  margin-bottom:28px;
  padding-bottom:24px;
  border-bottom:2px solid rgba(26,16,51,0.06)}
.job-icon{
  width:56px;
  height:56px;
  background:linear-gradient(135deg,var(--marigold),var(--teal));
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  box-shadow:0 6px 18px -6px rgba(255,61,129,0.4);
  transition:transform .3s ease}
.job-premium-card:hover .job-icon{
  transform:rotate(-5deg) scale(1.1)}
.job-icon svg{
  width:28px;
  height:28px;
  color:var(--white)}
.job-header h3{
  margin:0 0 10px;
  font-size:1.5rem;
  color:var(--ink)}
.job-meta{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap}
.job-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 12px;
  background:rgba(23,195,230,0.1);
  color:var(--teal-dark);
  border-radius:999px;
  font-size:.8rem;
  font-weight:600}
.job-badge svg{
  width:14px;
  height:14px}
.job-section{
  margin-bottom:24px}
.section-label{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
  color:var(--ink)}
.section-label svg{
  width:20px;
  height:20px;
  color:var(--marigold)}
.section-label strong{
  font-size:1rem;
  font-weight:700}
.job-list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:10px}
.job-list li{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:10px 12px;
  background:rgba(23,195,230,0.04);
  border-radius:var(--radius-sm);
  font-size:.92rem;
  line-height:1.6;
  color:var(--charcoal-soft);
  transition:all .3s ease}
.job-list li:hover{
  background:rgba(23,195,230,0.08);
  transform:translateX(4px)}
.job-list li svg{
  width:16px;
  height:16px;
  color:var(--teal);
  flex-shrink:0;
  margin-top:2px}
.careers-form-enhanced{
  background:var(--white);
  border-radius:var(--radius-lg);
  padding:40px;
  box-shadow:0 12px 40px -12px rgba(26,16,51,0.15);
  border:2px solid rgba(26,16,51,0.06);
  position:relative;
  overflow:hidden;
  transform:translateZ(0);
  backface-visibility:hidden}
.careers-form-enhanced::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:5px;
  background:linear-gradient(90deg,var(--marigold),var(--teal),var(--marigold));
  background-size:200% 100%;
  animation:borderFlow 3s ease infinite;
  will-change:background-position;
  transform:translateZ(0);
  backface-visibility:hidden}
.max-w-prose{
  max-width:720px}
.mx-auto{
  margin-left:auto;
  margin-right:auto}
@media (max-width:620px){
  .careers-stat-badge{
  flex:1 1 100%;
  justify-content:center}
.job-premium-card{
  padding:24px 20px}
.careers-form-enhanced{
  padding:28px 20px}
.job-header{
  flex-direction:column;
  gap:14px}
}
.guide-stats-row{
  display:flex;
  justify-content:center;
  gap:16px;
  margin-top:32px;
  flex-wrap:wrap}
.guide-stat-badge{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 20px;
  background:rgba(255,255,255,0.15);
  backdrop-filter:blur(10px);
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.2);
  transition:all .3s ease}
.guide-stat-badge:hover{
  background:rgba(255,255,255,0.25);
  transform:translateY(-2px);
  box-shadow:0 4px 12px -4px rgba(255,255,255,0.3)}
.guide-stat-badge svg{
  width:22px;
  height:22px;
  color:var(--marigold)}
.guide-stat-badge span{
  color:var(--white);
  font-size:.9rem}
.guide-stat-badge strong{
  font-size:1.1rem;
  font-weight:700}
.guide-category-section{
  margin-bottom:64px}
.guide-category-section:last-child{
  margin-bottom:0}
.guide-category-header{
  display:flex;
  align-items:center;
  gap:20px;
  margin-bottom:32px;
  padding-bottom:20px;
  border-bottom:3px solid var(--clay);
  position:relative}
.guide-category-header::after{
  content:'';
  position:absolute;
  bottom:-3px;
  left:0;
  width:120px;
  height:3px;
  background:linear-gradient(90deg,var(--marigold),var(--teal))}
.category-icon-box{
  width:64px;
  height:64px;
  background:linear-gradient(135deg,var(--marigold),var(--teal));
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  box-shadow:0 6px 20px -6px rgba(255,61,129,0.5)}
.category-icon-box svg{
  width:32px;
  height:32px;
  color:var(--white)}
.guide-category-header h2{
  margin:0;
  font-size:2rem;
  color:var(--ink)}
.guide-locations-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:24px}
@media (max-width:900px){
  .guide-locations-grid{
  grid-template-columns:repeat(2,1fr)}
}
@media (max-width:620px){
  .guide-locations-grid{
  grid-template-columns:1fr}
}
.guide-location-card{
  background:var(--white);
  border:2px solid rgba(26,16,51,0.08);
  border-radius:var(--radius-md);
  padding:28px 24px;
  position:relative;
  overflow:hidden;
  transition:all .4s cubic-bezier(.16,1,.3,1);
  text-align:center}
.guide-location-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg,var(--marigold),var(--teal));
  opacity:0;
  transition:opacity .4s ease}
.guide-location-card:hover{
  transform:translateY(-8px);
  border-color:var(--teal);
  box-shadow:0 12px 32px -10px rgba(26,16,51,0.15)}
.guide-location-card:hover::before{
  opacity:1}
.location-number{
  position:absolute;
  top:16px;
  right:16px;
  font-family:var(--font-display);
  font-size:2.5rem;
  font-weight:800;
  color:var(--marigold);
  opacity:0.1;
  line-height:1;
  transition:all .4s ease}
.guide-location-card:hover .location-number{
  opacity:0.2;
  transform:scale(1.2)}
.location-icon{
  width:64px;
  height:64px;
  background:linear-gradient(135deg,rgba(255,61,129,0.15),rgba(23,195,230,0.15));
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 16px;
  transition:all .4s ease}
.guide-location-card:hover .location-icon{
  background:linear-gradient(135deg,var(--marigold),var(--teal));
  transform:rotate(360deg) scale(1.1);
  box-shadow:0 8px 20px -6px rgba(255,61,129,0.5)}
.location-icon svg{
  width:30px;
  height:30px;
  color:var(--teal-dark);
  transition:color .4s ease}
.guide-location-card:hover .location-icon svg{
  color:var(--white)}
.guide-location-card h3{
  font-size:1.1rem;
  font-weight:700;
  color:var(--ink);
  margin:0 0 12px}
.location-distance{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 14px;
  background:linear-gradient(135deg,var(--marigold),var(--teal));
  color:var(--white);
  border-radius:999px;
  font-family:var(--font-mono);
  font-size:.85rem;
  font-weight:700;
  margin-bottom:12px;
  box-shadow:0 4px 12px -4px rgba(255,61,129,0.4)}
.location-distance svg{
  width:14px;
  height:14px}
.guide-location-card p{
  font-size:.88rem;
  line-height:1.6;
  color:var(--charcoal-soft);
  margin:0}
.map-embed-enhanced{
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:0 12px 40px -12px rgba(26,16,51,0.2);
  border:4px solid var(--white);
  background:var(--white);
  position:relative}
.map-embed-enhanced::before{
  content:'';
  position:absolute;
  top:-4px;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg,var(--marigold),var(--teal),var(--marigold));
  background-size:200% 100%;
  animation:borderFlow 3s ease infinite;
  z-index:1}
.map-embed-enhanced iframe{
  width:100%;
  height:500px;
  border:none;
  display:block}
@media (max-width:620px){
  .guide-stat-badge{
  flex:1 1 100%;
  justify-content:center}
.guide-category-header{
  flex-direction:column;
  align-items:flex-start;
  gap:14px}
.guide-category-header h2{
  font-size:1.6rem}
.map-embed-enhanced iframe{
  height:350px}
}
.testimonials-stats-row{
  display:flex;
  justify-content:center;
  gap:16px;
  margin-top:32px;
  flex-wrap:wrap}
.testimonials-stat-badge{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 20px;
  background:rgba(255,255,255,0.15);
  backdrop-filter:blur(10px);
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.2);
  transition:all .3s ease}
.testimonials-stat-badge:hover{
  background:rgba(255,255,255,0.25);
  transform:translateY(-2px);
  box-shadow:0 4px 12px -4px rgba(255,255,255,0.3)}
.testimonials-stat-badge svg{
  width:22px;
  height:22px;
  color:var(--marigold)}
.testimonials-stat-badge span{
  color:var(--white);
  font-size:.9rem}
.testimonials-stat-badge strong{
  font-size:1.1rem;
  font-weight:700}
.testimonials-form-enhanced{
  background:var(--white);
  border-radius:var(--radius-lg);
  padding:40px;
  box-shadow:0 12px 40px -12px rgba(26,16,51,0.15);
  border:2px solid rgba(26,16,51,0.06);
  position:relative;
  overflow:hidden;
  transform:translateZ(0);
  backface-visibility:hidden}
.testimonials-form-enhanced::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:5px;
  background:linear-gradient(90deg,var(--marigold),var(--teal),var(--marigold));
  background-size:200% 100%;
  animation:borderFlow 3s ease infinite;
  will-change:background-position;
  transform:translateZ(0);
  backface-visibility:hidden}
@media (max-width:620px){
  .testimonials-stat-badge{
  flex:1 1 100%;
  justify-content:center}
.testimonials-form-enhanced{
  padding:28px 20px}
}
.faq-stats-row{
  display:flex;
  justify-content:center;
  gap:16px;
  margin-top:32px;
  flex-wrap:wrap}
.faq-stat-badge{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 20px;
  background:rgba(255,255,255,0.15);
  backdrop-filter:blur(10px);
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.2);
  transition:all .3s ease}
.faq-stat-badge:hover{
  background:rgba(255,255,255,0.25);
  transform:translateY(-2px);
  box-shadow:0 4px 12px -4px rgba(255,255,255,0.3)}
.faq-stat-badge svg{
  width:22px;
  height:22px;
  color:var(--marigold)}
.faq-stat-badge span{
  color:var(--white);
  font-size:.9rem}
.faq-stat-badge strong{
  font-size:1.1rem;
  font-weight:700}
.faq-category-section{
  margin-bottom:56px}
.faq-category-section:last-child{
  margin-bottom:0}
.faq-category-header{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:24px;
  padding:20px 24px;
  background:linear-gradient(135deg,rgba(255,61,129,0.1),rgba(23,195,230,0.1));
  border-radius:var(--radius-md);
  border-left:4px solid var(--marigold)}
.faq-category-header svg{
  width:32px;
  height:32px;
  color:var(--teal-dark);
  flex-shrink:0}
.faq-category-header h2{
  margin:0;
  font-size:1.6rem;
  color:var(--ink)}
.accordion-enhanced{
  display:flex;
  flex-direction:column;
  gap:12px}
.accordion-item-enhanced{
  background:var(--white);
  border:2px solid rgba(26,16,51,0.08);
  border-radius:var(--radius-md);
  overflow:hidden;
  transition:all .3s ease}
.accordion-item-enhanced:hover{
  border-color:var(--teal);
  box-shadow:0 4px 16px -4px rgba(23,195,230,0.15)}
.accordion-item-enhanced.is-open{
  border-color:var(--marigold);
  box-shadow:0 6px 20px -6px rgba(255,61,129,0.2)}
.accordion-trigger-enhanced{
  width:100%;
  display:flex;
  align-items:center;
  gap:16px;
  padding:20px 24px;
  background:transparent;
  border:none;
  text-align:left;
  cursor:pointer;
  transition:all .3s ease;
  font-family:var(--font-body)}
.accordion-trigger-enhanced:hover{
  background:rgba(23,195,230,0.04)}
.accordion-item-enhanced.is-open .accordion-trigger-enhanced{
  background:rgba(255,61,129,0.08);
  border-bottom:2px solid rgba(26,16,51,0.06)}
.question-number{
  width:40px;
  height:40px;
  background:linear-gradient(135deg,var(--marigold),var(--teal));
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--font-mono);
  font-weight:700;
  font-size:.95rem;
  color:var(--white);
  flex-shrink:0;
  transition:all .3s ease}
.accordion-item-enhanced:hover .question-number{
  transform:rotate(-5deg) scale(1.1)}
.question-text{
  flex:1;
  font-weight:600;
  font-size:1.05rem;
  color:var(--ink);
  line-height:1.4}
.chevron-icon{
  width:24px;
  height:24px;
  color:var(--teal-dark);
  flex-shrink:0;
  transition:transform .3s ease}
.accordion-item-enhanced.is-open .chevron-icon{
  transform:rotate(180deg);
  color:var(--marigold)}
.accordion-panel-enhanced{
  max-height:0;
  overflow:hidden;
  transition:max-height .4s ease}
.accordion-item-enhanced.is-open .accordion-panel-enhanced{
  max-height:500px}
.accordion-panel-enhanced p{
  padding:20px 24px 24px 80px;
  margin:0;
  line-height:1.7;
  color:var(--charcoal-soft);
  font-size:.95rem}
@media (max-width:620px){
  .faq-stat-badge{
  flex:1 1 100%;
  justify-content:center}
.faq-category-header{
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  padding:16px 20px}
.faq-category-header h2{
  font-size:1.3rem}
.accordion-trigger-enhanced{
  padding:16px 18px}
.question-number{
  width:36px;
  height:36px;
  font-size:.85rem}
.question-text{
  font-size:.95rem}
.accordion-panel-enhanced p{
  padding:16px 18px 20px 64px;
  font-size:.9rem}
}
.sitemap-stats-row{
  display:flex;
  justify-content:center;
  gap:16px;
  margin-top:32px;
  flex-wrap:wrap}
.sitemap-stat-badge{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 20px;
  background:rgba(255,255,255,0.15);
  backdrop-filter:blur(10px);
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.2);
  transition:all .3s ease}
.sitemap-stat-badge:hover{
  background:rgba(255,255,255,0.25);
  transform:translateY(-2px);
  box-shadow:0 4px 12px -4px rgba(255,255,255,0.3)}
.sitemap-stat-badge svg{
  width:22px;
  height:22px;
  color:var(--marigold)}
.sitemap-stat-badge span{
  color:var(--white);
  font-size:.9rem}
.sitemap-stat-badge strong{
  font-size:1.1rem;
  font-weight:700}
.sitemap-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:32px}
@media (max-width:900px){
  .sitemap-grid{
  grid-template-columns:1fr}
}
.sitemap-section{
  background:var(--white);
  border:2px solid rgba(26,16,51,0.08);
  border-radius:var(--radius-lg);
  padding:32px;
  transition:all .3s ease}
.sitemap-section:hover{
  border-color:var(--teal);
  box-shadow:0 8px 24px -8px rgba(26,16,51,0.12);
  transform:translateY(-4px)}
.sitemap-section-header{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:20px;
  padding-bottom:16px;
  border-bottom:2px solid rgba(26,16,51,0.06)}
.sitemap-section-header svg{
  width:28px;
  height:28px;
  color:var(--marigold)}
.sitemap-section-header h3{
  margin:0;
  font-size:1.3rem;
  color:var(--ink);
  font-weight:700}
.sitemap-links{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:4px}
.sitemap-links li a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:var(--radius-sm);
  color:var(--charcoal-soft);
  font-size:.92rem;
  transition:all .3s ease}
.sitemap-links li a:hover{
  background:rgba(23,195,230,0.08);
  color:var(--teal-dark);
  transform:translateX(6px)}
.sitemap-links li a svg{
  width:16px;
  height:16px;
  color:var(--teal);
  flex-shrink:0}
@media (max-width:620px){
  .sitemap-stat-badge{
  flex:1 1 100%;
  justify-content:center}
.sitemap-section{
  padding:24px 20px}
}
.policy-stats-row{
  display:flex;
  justify-content:center;
  gap:16px;
  margin-top:32px;
  flex-wrap:wrap}
.policy-stat-badge{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 20px;
  background:rgba(255,255,255,0.15);
  backdrop-filter:blur(10px);
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.2);
  transition:all .3s ease}
.policy-stat-badge:hover{
  background:rgba(255,255,255,0.25);
  transform:translateY(-2px);
  box-shadow:0 4px 12px -4px rgba(255,255,255,0.3)}
.policy-stat-badge svg{
  width:22px;
  height:22px;
  color:var(--marigold)}
.policy-stat-badge span{
  color:var(--white);
  font-size:.9rem}
.policy-stat-badge strong{
  font-size:1.1rem;
  font-weight:700}
.legal-content-enhanced{
  background:var(--white);
  border-radius:var(--radius-lg);
  padding:48px;
  box-shadow:0 12px 40px -12px rgba(26,16,51,0.12);
  border:2px solid rgba(26,16,51,0.06);
  position:relative}
.legal-content-enhanced::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:5px;
  background:linear-gradient(90deg,var(--marigold),var(--teal),var(--marigold));
  background-size:200% 100%;
  animation:borderFlow 3s ease infinite;
  border-radius:var(--radius-lg) var(--radius-lg) 0 0}
.legal-intro{
  display:flex;
  align-items:flex-start;
  gap:20px;
  padding:24px;
  background:linear-gradient(135deg,rgba(255,61,129,0.08),rgba(23,195,230,0.08));
  border-radius:var(--radius-md);
  border-left:4px solid var(--marigold);
  margin-bottom:36px}
.legal-intro svg{
  width:36px;
  height:36px;
  color:var(--teal-dark);
  flex-shrink:0;
  margin-top:4px}
.legal-intro p{
  margin:0;
  font-size:1.05rem;
  line-height:1.7;
  color:var(--charcoal)}
.legal-content-enhanced h2{
  font-size:1.6rem;
  color:var(--ink);
  margin:40px 0 16px;
  padding-bottom:12px;
  border-bottom:2px solid rgba(26,16,51,0.08);
  position:relative}
.legal-content-enhanced h2::after{
  content:'';
  position:absolute;
  bottom:-2px;
  left:0;
  width:60px;
  height:2px;
  background:linear-gradient(90deg,var(--marigold),var(--teal))}
.legal-content-enhanced h2:first-of-type{
  margin-top:0}
.legal-content-enhanced p{
  font-size:.98rem;
  line-height:1.8;
  color:var(--charcoal-soft);
  margin-bottom:16px}
.legal-content-enhanced ul{
  list-style:none;
  padding:0;
  margin:16px 0}
.legal-content-enhanced ul li{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:10px 16px;
  background:rgba(23,195,230,0.04);
  border-radius:var(--radius-sm);
  margin-bottom:8px;
  font-size:.95rem;
  line-height:1.7;
  color:var(--charcoal-soft)}
.legal-content-enhanced ul li::before{
  content:'â€¢';
  color:var(--teal);
  font-weight:700;
  font-size:1.2rem;
  flex-shrink:0}
.legal-content-enhanced strong{
  color:var(--ink);
  font-weight:700}
.legal-content-enhanced a{
  color:var(--teal-dark);
  font-weight:600;
  text-decoration:underline;
  text-decoration-color:rgba(23,195,230,0.3);
  transition:all .3s ease}
.legal-content-enhanced a:hover{
  color:var(--marigold);
  text-decoration-color:var(--marigold)}
.legal-content-enhanced .tariff-table{
  margin:24px 0;
  border-radius:var(--radius-md);
  overflow:hidden}
.legal-content-enhanced .tariff-table th{
  background:linear-gradient(135deg,var(--ink),var(--ink-soft))}
.legal-content-enhanced .tariff-table td.price{
  color:var(--ink);
  font-weight:600}
@media (max-width:768px){
  .legal-content-enhanced{
  padding:32px 24px}
.legal-intro{
  flex-direction:column;
  gap:14px}
.legal-intro svg{
  width:32px;
  height:32px}
.legal-content-enhanced h2{
  font-size:1.3rem}
}
@media (max-width:620px){
  .policy-stat-badge{
  flex:1 1 100%;
  justify-content:center}
.legal-content-enhanced{
  padding:24px 18px}
.legal-intro{
  padding:18px}
.legal-intro p{
  font-size:.95rem}
}
.footer-top-wave{
  height:80px;
  background:linear-gradient(to bottom,rgba(245,243,255,0) 0%,var(--ink) 100%);
  position:relative;
  overflow:hidden;
  margin-top:-80px}
.footer-top-wave::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:100%;
  background:radial-gradient(ellipse at 50% 0%,rgba(255,61,129,0.1),transparent 60%),radial-gradient(ellipse at 20% 50%,rgba(23,195,230,0.08),transparent 50%),radial-gradient(ellipse at 80% 50%,rgba(255,61,129,0.08),transparent 50%)}
.site-footer{
  background:linear-gradient(180deg,#0D0620 0%,var(--ink) 40%,#241640 100%);
  color:rgba(245,243,255,0.9);
  position:relative;
  overflow:hidden}
.site-footer::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:radial-gradient(circle at 15% 20%,rgba(255,61,129,0.12),transparent 40%),radial-gradient(circle at 85% 60%,rgba(23,195,230,0.15),transparent 45%),radial-gradient(circle at 50% 80%,rgba(255,61,129,0.08),transparent 50%);
  pointer-events:none;
  z-index:0}
.footer-grid{
  display:grid;
  grid-template-columns:1.3fr 0.9fr 0.9fr 1.2fr;
  gap:50px;
  padding:90px 0 70px;
  position:relative;
  z-index:1}
@media (max-width:1100px){
  .footer-grid{
  grid-template-columns:repeat(2,1fr);
  gap:45px}
}
@media (max-width:620px){
  .footer-grid{
  grid-template-columns:1fr;
  gap:40px;
  padding:70px 0 50px}
}
.footer-brand{
  display:flex;
  flex-direction:column;
  gap:24px}
.footer-logo-wrapper{
  margin-bottom:4px}
.footer-logo{
  height:75px;
  width:auto;
  filter:drop-shadow(0 4px 16px rgba(255,61,129,0.4));
  transition:all .5s cubic-bezier(.16,1,.3,1)}
.footer-logo:hover{
  transform:translateY(-6px) scale(1.05);
  filter:drop-shadow(0 10px 30px rgba(255,61,129,0.6))}
.footer-tagline{
  font-size:1rem;
  line-height:1.7;
  color:rgba(245,243,255,0.8);
  margin:0}
.footer-social{
  display:flex;
  gap:14px;
  margin-top:4px}
.social-link{
  width:48px;
  height:48px;
  background:linear-gradient(135deg,rgba(255,61,129,0.15),rgba(23,195,230,0.15));
  border:2px solid rgba(255,61,129,0.3);
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--marigold);
  transition:all .4s cubic-bezier(.16,1,.3,1);
  position:relative;
  overflow:hidden}
.social-link::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,var(--marigold),var(--teal));
  opacity:0;
  transition:opacity .4s ease}
.social-link:hover{
  border-color:var(--marigold);
  transform:translateY(-6px) scale(1.1) rotate(-5deg);
  box-shadow:0 12px 30px -8px rgba(255,61,129,0.7)}
.social-link:hover::before{
  opacity:1}
.social-link svg{
  width:22px;
  height:22px;
  position:relative;
  z-index:1;
  transition:color .3s ease}
.social-link:hover svg{
  color:var(--white)}
.footer-awards{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:8px}
.award-badge{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 16px;
  background:linear-gradient(135deg,rgba(255,61,129,0.2),rgba(23,195,230,0.15));
  border-radius:10px;
  border-left:4px solid var(--marigold);
  font-size:.9rem;
  color:rgba(245,243,255,0.95);
  font-weight:700;
  box-shadow:0 4px 15px -5px rgba(255,61,129,0.3);
  transition:all .3s ease}
.award-badge:hover{
  transform:translateX(6px);
  box-shadow:0 6px 20px -5px rgba(255,61,129,0.5)}
.award-badge svg{
  width:20px;
  height:20px;
  color:var(--marigold);
  filter:drop-shadow(0 2px 4px rgba(255,61,129,0.4))}
.footer-links{
  display:flex;
  flex-direction:column}
.footer-heading{
  display:flex;
  align-items:center;
  gap:12px;
  font-family:var(--font-display);
  font-size:1.3rem;
  font-weight:700;
  color:var(--white);
  margin:0 0 24px;
  padding-bottom:16px;
  border-bottom:3px solid transparent;
  border-image:linear-gradient(90deg,var(--marigold),var(--teal),transparent) 1;
  position:relative}
.footer-heading svg{
  width:24px;
  height:24px;
  color:var(--marigold);
  filter:drop-shadow(0 2px 6px rgba(255,61,129,0.4))}
.footer-menu{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:6px}
.footer-menu li a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 12px;
  color:rgba(245,243,255,0.8);
  font-size:.95rem;
  transition:all .3s ease;
  border-radius:8px;
  position:relative}
.footer-menu li a::before{
  content:'';
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:0;
  height:100%;
  background:linear-gradient(90deg,rgba(255,61,129,0.15),transparent);
  border-radius:8px;
  transition:width .3s ease;
  z-index:-1}
.footer-menu li a:hover{
  color:var(--marigold);
  transform:translateX(8px);
  font-weight:600}
.footer-menu li a:hover::before{
  width:100%}
.footer-menu li a svg{
  width:16px;
  height:16px;
  color:var(--teal);
  transition:all .3s ease}
.footer-menu li a:hover svg{
  color:var(--marigold);
  transform:translateX(4px) scale(1.2)}
.footer-contact{
  display:flex;
  flex-direction:column}
.footer-contact-list{
  list-style:none;
  padding:0;
  margin:0 0 28px;
  display:flex;
  flex-direction:column;
  gap:18px}
.contact-item{
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding:14px;
  background:rgba(255,255,255,0.04);
  border-radius:12px;
  border:1px solid rgba(255,61,129,0.2);
  transition:all .3s ease}
.contact-item:hover{
  background:rgba(255,255,255,0.08);
  border-color:var(--marigold);
  transform:translateX(4px);
  box-shadow:0 4px 20px -8px rgba(255,61,129,0.4)}
.contact-icon{
  width:44px;
  height:44px;
  background:linear-gradient(135deg,var(--marigold),var(--teal));
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  box-shadow:0 4px 15px -5px rgba(255,61,129,0.5)}
.contact-icon svg{
  width:22px;
  height:22px;
  color:var(--white);
  filter:drop-shadow(0 2px 4px rgba(0,0,0,0.2))}
.contact-text{
  display:flex;
  flex-direction:column;
  gap:6px;
  flex:1}
.contact-text strong{
  font-size:.9rem;
  color:var(--marigold);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em}
.contact-text span{
  font-size:.95rem;
  line-height:1.6;
  color:rgba(245,243,255,0.85)}
.contact-text a{
  color:rgba(245,243,255,0.9);
  transition:all .3s ease;
  font-weight:600}
.contact-text a:hover{
  color:var(--marigold);
  text-decoration:underline}
.footer-newsletter{
  padding:24px;
  background:linear-gradient(135deg,rgba(255,61,129,0.12),rgba(23,195,230,0.12));
  border-radius:14px;
  border:2px solid rgba(255,61,129,0.3);
  box-shadow:0 8px 25px -10px rgba(255,61,129,0.3)}
.footer-newsletter h5{
  font-family:var(--font-display);
  font-size:1.1rem;
  font-weight:700;
  color:var(--white);
  margin:0 0 16px;
  display:flex;
  align-items:center;
  gap:8px}
.newsletter-form{
  display:flex;
  flex-direction:column;
  gap:12px}
.newsletter-input{
  width:100%;
  padding:14px 18px;
  border:2px solid rgba(255,61,129,0.4);
  border-radius:10px;
  background:rgba(255,255,255,0.1);
  color:var(--white);
  font-family:var(--font-body);
  font-size:.95rem;
  transition:all .3s ease}
.newsletter-input::placeholder{
  color:rgba(245,243,255,0.5)}
.newsletter-input:focus{
  outline:none;
  border-color:var(--marigold);
  background:rgba(255,255,255,0.15);
  box-shadow:0 0 0 4px rgba(255,61,129,0.2)}
.newsletter-btn{
  width:100%;
  justify-content:center;
  padding:14px 24px;
  font-weight:700;
  box-shadow:0 6px 20px -6px rgba(255,61,129,0.6)}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:32px 0;
  border-top:2px solid rgba(255,61,129,0.2);
  position:relative;
  z-index:1;
  flex-wrap:wrap;
  gap:24px}
.footer-bottom-left{
  display:flex;
  flex-direction:column;
  gap:10px}
.copyright{
  font-size:.95rem;
  color:rgba(245,243,255,0.85)}
.copyright strong{
  color:var(--marigold);
  font-weight:800;
  text-shadow:0 2px 8px rgba(255,61,129,0.3)}
.made-with{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:.88rem;
  color:rgba(245,243,255,0.7);
  font-weight:600}
.footer-bottom-right{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap}
.footer-bottom-right a{
  font-size:.9rem;
  color:rgba(245,243,255,0.8);
  transition:all .3s ease;
  font-weight:600;
  padding:4px 8px;
  border-radius:6px}
.footer-bottom-right a:hover{
  color:var(--marigold);
  background:rgba(255,61,129,0.15)}
.separator{
  color:var(--marigold);
  font-size:1.2rem;
  font-weight:700;
  opacity:0.5}
@media (max-width:768px){
  .footer-bottom{
  flex-direction:column;
  align-items:flex-start;
  gap:20px}
.footer-bottom-right{
  width:100%;
  justify-content:flex-start}
}
@media (max-width:620px){
  .footer-logo{
  height:60px}
.social-link{
  width:44px;
  height:44px}
.social-link svg{
  width:20px;
  height:20px}
.footer-heading{
  font-size:1.15rem}
.footer-newsletter{
  padding:20px}
}
.fa-lang-wrap{
  position:relative}
.fa-lang{
  width:54px;
  height:54px;
  border-radius:50%;
  background:var(--ink);
  color:var(--white);
  border:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:var(--shadow-lift);
  transition:transform .2s ease}
.fa-lang:hover{
  transform:scale(1.06)}
.fa-lang svg{
  width:24px;
  height:24px}
.fa-lang-menu{
  position:absolute;
  bottom:64px;
  right:0;
  background:var(--white);
  border:1px solid var(--clay);
  border-radius:12px;
  box-shadow:var(--shadow-lift);
  padding:6px;
  display:none;
  flex-direction:column;
  min-width:140px;
  max-height:320px;
  overflow-y:auto;
  overflow-x:hidden}
.fa-lang-menu.open{
  display:flex}
.fa-lang-menu button{
  border:none;
  background:none;
  text-align:left;
  padding:10px 14px;
  border-radius:8px;
  font-family:inherit;
  font-size:.9rem;
  font-weight:600;
  color:var(--charcoal);
  cursor:pointer}
.fa-lang-menu button:hover{
  background:var(--sand-deep)}
.fa-lang-menu button.active{
  color:var(--teal-dark);
  background:rgba(23,195,230,0.08)}
.goog-te-banner-frame,.skiptranslate,.goog-te-gadget,.goog-te-balloon-frame,.goog-logo-link{
  display:none !important}
body{
  top:0 !important;
  position:static !important}
#google_translate_element{
  display:none !important}
iframe.goog-te-menu-frame,iframe.goog-te-banner-frame{
  max-width:100% !important;
  width:auto !important}
.fa-chat{
  width:54px;
  height:54px;
  border-radius:50%;
  background:var(--marigold);
  color:var(--ink);
  border:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:var(--shadow-lift);
  transition:transform .2s ease;
  position:relative}
.fa-chat::before{
  content:'';
  position:absolute;
  inset:-4px;
  border-radius:50%;
  border:2px solid var(--marigold);
  animation:pulse-ring 2.2s ease-out infinite}
.fa-chat:hover{
  transform:scale(1.06)}
.fa-chat svg{
  width:24px;
  height:24px}
.chat-panel{
  position:fixed;
  bottom:90px;
  right:20px;
  width:380px;
  max-width:calc(100vw - 40px);
  height:550px;
  max-height:calc(100vh - 140px);
  background:var(--sand);
  border-radius:16px;
  box-shadow:var(--shadow-lift);
  display:none;
  flex-direction:column;
  overflow:hidden;
  z-index:501;
  border:1px solid var(--clay);
  animation:chatPanelSlide 0.3s ease}
@keyframes chatPanelSlide{
  from{
  opacity:0;
  transform:translateY(32px) scale(0.88) rotate(-1deg)}
to{
  opacity:1;
  transform:translateY(0) scale(1) rotate(0deg)}
}
.chat-panel.open{
  display:flex}
.chat-panel-header{
  background:linear-gradient(135deg,var(--ink) 0%,var(--ink-soft) 100%);
  color:var(--white);
  padding:16px 18px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  box-shadow:0 2px 10px rgba(0,0,0,0.1)}
.chat-panel-header strong{
  display:block;
  font-family:var(--font-display);
  font-size:1.05rem}
.chat-panel-header span{
  font-size:.72rem;
  color:rgba(245,243,255,0.7);
  display:block;
  margin-top:2px}
.chat-panel-header button{
  background:rgba(255,255,255,0.1);
  border:none;
  color:var(--white);
  cursor:pointer;
  width:32px;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  transition:all .2s ease}
.chat-panel-header button:hover{
  background:rgba(255,255,255,0.2);
  transform:rotate(90deg)}
.chat-panel-header button svg{
  width:18px;
  height:18px}
.chat-panel-body{
  flex:1;
  overflow-y:auto;
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:12px;
  background:linear-gradient(to bottom,var(--sand-deep),var(--sand))}
.chat-typing .typing-dots{
  display:flex;
  gap:4px;
  padding:8px 12px}
.chat-typing .typing-dots span{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--charcoal-soft);
  animation:typingBounce 1.4s infinite}
.chat-typing .typing-dots span:nth-child(2){
  animation-delay:0.2s}
.chat-typing .typing-dots span:nth-child(3){
  animation-delay:0.4s}
@keyframes typingBounce{
  0%,60%,100%{
  transform:translateY(0) scale(1);
  opacity:0.6}
30%{
  transform:translateY(-7px) scale(1.15);
  opacity:1}
}
.chat-msg{
  max-width:85%;
  padding:12px 14px;
  border-radius:16px;
  font-size:.88rem;
  line-height:1.6;
  animation:chatMsgSlide 0.3s ease;
  display:flex;
  flex-direction:column;
  gap:4px;
  position:relative}
@keyframes chatMsgSlide{
  from{
  opacity:0;
  transform:translateY(14px) translateX(-6px)}
to{
  opacity:1;
  transform:translateY(0) translateX(0)}
}
.chat-msg--bot{
  background:var(--white);
  border:1px solid var(--clay);
  align-self:flex-start;
  border-bottom-left-radius:4px;
  box-shadow:0 2px 8px rgba(0,0,0,0.05)}
.chat-msg--user{
  background:linear-gradient(135deg,var(--teal),var(--teal-dark));
  color:var(--white);
  align-self:flex-end;
  border-bottom-right-radius:4px;
  box-shadow:0 2px 8px rgba(23,195,230,0.3)}
.chat-msg .msg-content{
  flex:1}
.chat-msg .msg-time{
  font-size:.7rem;
  opacity:0.6;
  align-self:flex-end;
  margin-top:4px}
.chat-msg a{
  color:var(--teal-dark);
  font-weight:700;
  text-decoration:underline}
.chat-msg--user a{
  color:var(--white)}
.chat-quick-replies{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  animation:chatMsgSlide 0.3s ease}
.chat-quick-replies button{
  border:1.5px solid var(--teal);
  background:var(--white);
  color:var(--teal-dark);
  padding:10px 16px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:700;
  cursor:pointer;
  transition:all .2s ease;
  font-family:inherit;
  box-shadow:0 2px 6px rgba(0,0,0,0.08)}
.chat-quick-replies button:hover{
  background:var(--teal);
  color:var(--white);
  transform:translateY(-2px);
  box-shadow:0 4px 12px rgba(23,195,230,0.3)}
.chat-suggestions{
  display:flex;
  flex-direction:column;
  gap:6px;
  animation:chatMsgSlide 0.3s ease}
.chat-suggestions button{
  background:var(--white);
  border:1px solid var(--clay);
  color:var(--charcoal);
  padding:10px 14px;
  border-radius:10px;
  font-size:.84rem;
  cursor:pointer;
  transition:all .2s ease;
  font-family:inherit;
  text-align:left}
.chat-suggestions button:hover{
  border-color:var(--teal);
  background:rgba(23,195,230,0.05);
  transform:translateX(4px)}
.chat-card{
  background:var(--white);
  border:1px solid var(--clay);
  border-radius:12px;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:.88rem;
  box-shadow:0 2px 8px rgba(0,0,0,0.06)}
.chat-card strong{
  font-family:var(--font-display);
  color:var(--ink);
  font-size:1.05rem;
  margin-bottom:4px}
.chat-card a{
  color:var(--teal-dark);
  font-weight:700;
  margin-top:8px;
  display:inline-block}
.chat-room-card{
  background:linear-gradient(135deg,var(--sand-deep),var(--white));
  border:1px solid var(--clay);
  border-radius:12px;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:8px;
  box-shadow:0 2px 8px rgba(0,0,0,0.06)}
.chat-room-card strong{
  font-family:var(--font-display);
  color:var(--ink);
  font-size:1rem}
.chat-room-card p{
  font-size:.84rem;
  color:var(--charcoal-soft);
  margin:0;
  line-height:1.5}
.chat-room-card .room-price{
  font-family:var(--font-mono);
  font-weight:700;
  color:var(--teal-dark);
  font-size:1.05rem;
  margin-top:4px}
.chat-room-card a{
  color:var(--teal-dark);
  font-weight:700;
  font-size:.85rem;
  text-decoration:underline}
.chat-panel-input{
  display:flex;
  gap:8px;
  padding:12px;
  border-top:1px solid var(--clay);
  background:var(--white);
  box-shadow:0 -2px 10px rgba(0,0,0,0.05)}
.chat-panel-input input{
  flex:1;
  border:1.5px solid var(--clay);
  border-radius:999px;
  padding:11px 16px;
  font-family:inherit;
  font-size:.88rem;
  transition:all .2s ease}
.chat-panel-input input:focus{
  outline:none;
  border-color:var(--teal);
  box-shadow:0 0 0 3px rgba(23,195,230,0.1)}
.chat-panel-input button{
  width:42px;
  height:42px;
  border-radius:50%;
  background:var(--teal);
  color:var(--white);
  border:none;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  flex-shrink:0;
  transition:all .2s ease}
.chat-panel-input button:hover{
  background:var(--teal-dark);
  transform:scale(1.08);
  box-shadow:0 4px 12px rgba(23,195,230,0.4)}
.chat-panel-input button svg{
  width:18px;
  height:18px}
@media (max-width:480px){
  .chat-panel{
  width:calc(100vw - 20px);
  right:10px;
  bottom:80px;
  height:500px}
.chat-msg{
  max-width:90%}
}

/* =========================================================
   NEW PAGE STRUCTURE MODULE (nx-*)
   Purely additive — restyles/relayouts content sections.
   Does NOT touch header/footer partials or any JS-bound
   classes (accordion-trigger, filter-btn, data-ajax forms,
   lightbox, data-count, data-reveal, etc). Those keep their
   original class names so existing behavior keeps working;
   they're just re-skinned inside the new wrappers below.
   ========================================================= */

.nx-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--teal-dark);font-weight:700;
  margin-bottom:14px}
.nx-eyebrow::before{
  content:'';width:26px;height:2px;background:var(--marigold)}
.section--ink .nx-eyebrow,.nx-on-dark .nx-eyebrow{color:var(--teal)}

/* ---------- Home hero: offset diagonal split ---------- */
.nx-hero{position:relative;padding:64px 0 0;overflow:hidden}
.nx-hero-inner{
  display:grid;grid-template-columns:0.95fr 1.05fr;gap:0;align-items:stretch;
  min-height:560px}
.nx-hero-copy{
  padding:40px 48px 56px 0;display:flex;flex-direction:column;justify-content:center;
  position:relative;z-index:2}
.nx-hero-copy h1{margin-bottom:18px}
.nx-hero-copy .lead{font-size:1.08rem;max-width:480px}
.nx-hero-media-wrap{
  position:relative;border-radius:0 0 0 140px;overflow:hidden;
  clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)}
.nx-hero-media-wrap img{
  width:100%;height:100%;min-height:420px;object-fit:cover;display:block}
.nx-hero-media-wrap::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(200deg,rgba(26,16,51,0.15),transparent 45%)}
.nx-hero-tag{
  position:absolute;left:0;bottom:36px;background:var(--ink);color:var(--sand);
  padding:14px 26px;border-radius:0 999px 999px 0;display:flex;align-items:center;gap:10px;
  font-size:.82rem;z-index:3;box-shadow:var(--shadow-lift)}
.nx-hero-tag svg{width:16px;height:16px;color:var(--marigold)}
@media (max-width:900px){
  .nx-hero-inner{grid-template-columns:1fr;min-height:auto}
  .nx-hero-copy{padding:32px 24px}
  .nx-hero-media-wrap{clip-path:none;border-radius:0}
}

/* ---------- Stat ticker (replaces boxed stat strip) ---------- */
.nx-ticker{
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;
  border-top:1px solid rgba(26,16,51,0.1);border-bottom:1px solid rgba(26,16,51,0.1);
  padding:22px 0;margin-top:20px}
.nx-ticker > div{
  flex:1 1 auto;text-align:center;padding:10px 18px;position:relative}
.nx-ticker > div:not(:last-child)::after{
  content:'';position:absolute;right:0;top:50%;transform:translateY(-50%);
  width:1px;height:32px;background:rgba(26,16,51,0.12)}
@media (max-width:700px){
  .nx-ticker{justify-content:flex-start}
  .nx-ticker > div{flex:1 1 45%}
  .nx-ticker > div:nth-child(2n)::after{display:none}
}

/* ---------- Zigzag split section ---------- */
.nx-split{
  display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.nx-split--reverse .nx-split-media{order:2}
.nx-split--reverse .nx-split-copy{order:1}
.nx-split-copy .nx-index{
  font-family:var(--font-display);font-weight:800;font-size:4.2rem;line-height:1;
  color:transparent;-webkit-text-stroke:1.5px rgba(26,16,51,0.15);display:block;margin-bottom:6px}
.nx-split-media{position:relative}
.nx-split-media::before{
  content:'';position:absolute;top:-18px;left:-18px;width:64%;height:64%;
  background:linear-gradient(135deg,var(--marigold),var(--teal));border-radius:var(--radius-lg);
  z-index:0;opacity:.85}
.nx-split--reverse .nx-split-media::before{left:auto;right:-18px}
.nx-split-media img,.nx-split-media .nx-media-frame{
  position:relative;z-index:1;border-radius:var(--radius-lg);width:100%;
  aspect-ratio:4/3.3;object-fit:cover;box-shadow:var(--shadow-lift)}
@media (max-width:900px){
  .nx-split{grid-template-columns:1fr;gap:32px}
  .nx-split--reverse .nx-split-media,.nx-split--reverse .nx-split-copy{order:initial}
  .nx-split-media::before{display:none}
}

/* ---------- Vertical timeline ---------- */
.nx-timeline{position:relative;margin-top:20px}
.nx-timeline::before{
  content:'';position:absolute;left:27px;top:8px;bottom:8px;width:2px;
  background:repeating-linear-gradient(to bottom,rgba(26,16,51,.18) 0 8px,transparent 8px 16px)}
.nx-timeline-item{display:grid;grid-template-columns:56px 1fr;gap:24px;margin-bottom:36px;position:relative}
.nx-timeline-item:last-child{margin-bottom:0}
.nx-timeline-num{
  width:56px;height:56px;border-radius:50%;background:var(--ink);color:var(--sand);
  display:flex;align-items:center;justify-content:center;font-family:var(--font-display);
  font-weight:700;font-size:1.05rem;z-index:1;flex-shrink:0}
.nx-timeline-item:nth-child(3n+2) .nx-timeline-num{background:var(--marigold)}
.nx-timeline-item:nth-child(3n) .nx-timeline-num{background:var(--teal-dark)}
.nx-timeline-body h3{margin-bottom:6px}

/* ---------- Bento grid (asymmetric cards) ---------- */
.nx-bento{
  display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;gap:20px}
.nx-bento > *:nth-child(4n+1){grid-column:span 2;grid-row:span 2}
@media (max-width:900px){
  .nx-bento{grid-template-columns:repeat(2,1fr)}
  .nx-bento > *:nth-child(4n+1){grid-column:span 2;grid-row:span 1}
}
@media (max-width:560px){
  .nx-bento{grid-template-columns:1fr}
  .nx-bento > *:nth-child(4n+1){grid-column:span 1}
}

/* ---------- Staggered card grid ---------- */
/* .nx-stagger{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.nx-stagger > *:nth-child(2){margin-top:38px}
.nx-stagger > *:nth-child(3n+3){margin-top:18px}
@media (max-width:900px){
  .nx-stagger{grid-template-columns:repeat(2,1fr)}
  .nx-stagger > *{margin-top:0 !important}
}
@media (max-width:600px){
  .nx-stagger{grid-template-columns:1fr}
} */



/* ---------- Card Grid ---------- */

.nx-stagger {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    align-items: start;
}

.nx-stagger > * {
    margin-top: 0 !important;
}


/* ---------- Tablet ---------- */

@media (max-width: 900px) {
    .nx-stagger {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
    }

    .nx-stagger > * {
        margin-top: 0 !important;
    }
}


/* ---------- Mobile ---------- */

@media (max-width: 600px) {
    .nx-stagger {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .nx-stagger > * {
        margin-top: 0 !important;
    }
}


/* ---------- Masonry gallery ---------- */
.nx-mosaic{column-count:3;column-gap:18px}
.nx-mosaic > *{break-inside:avoid;margin-bottom:18px}
@media (max-width:900px){.nx-mosaic{column-count:2}}
@media (max-width:560px){.nx-mosaic{column-count:1}}

/* ---------- Split form panel ---------- */
.nx-panel-split{
  display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:var(--radius-lg);
  overflow:hidden;box-shadow:var(--shadow-lift)}
.nx-panel-side{
  background:linear-gradient(160deg,var(--ink) 0%,var(--ink-soft) 100%);color:var(--sand);
  padding:52px 44px;position:relative;overflow:hidden}
.nx-panel-side::before{
  content:'';position:absolute;right:-60px;bottom:-60px;width:220px;height:220px;
  border-radius:50%;background:radial-gradient(circle,rgba(23,195,230,0.25),transparent 70%)}
.nx-panel-side h2{color:var(--white);background:none;-webkit-text-fill-color:var(--white)}
.nx-panel-side p{color:rgba(245,243,255,0.75)}
.nx-panel-form-side{background:var(--white);padding:52px 44px}
@media (max-width:900px){
  .nx-panel-split{grid-template-columns:1fr}
}

/* ---------- Info rail (accent-line list) ---------- */
.nx-info-rail{display:flex;flex-direction:column;gap:0}
.nx-info-rail-item{
  display:flex;gap:18px;padding:20px 0;border-left:3px solid var(--teal);padding-left:22px;
  margin-bottom:4px}
.nx-info-rail-item:nth-child(2n){border-left-color:var(--marigold)}
.nx-info-rail-item svg{width:22px;height:22px;color:inherit;flex-shrink:0;margin-top:2px}

/* ---------- Diagonal CTA band ---------- */
.nx-cta-diagonal{
  position:relative;padding:70px 0;overflow:hidden;
  background:linear-gradient(160deg,var(--ink) 0%,var(--ink-soft) 100%);color:var(--sand)}
.nx-cta-diagonal::before{
  content:'';position:absolute;inset:-10% -10%;
  background:linear-gradient(100deg,transparent 55%,rgba(23,195,230,0.18) 55%,rgba(23,195,230,0.18) 60%,transparent 60%)}
.nx-cta-diagonal .container{position:relative;z-index:1}
.nx-cta-diagonal h2{color:var(--white);background:none;-webkit-text-fill-color:var(--white)}

/* ---------- Horizontal scroll rail (pricing / comparisons) ---------- */
.nx-rail{
  display:flex;gap:22px;overflow-x:auto;padding:8px 4px 22px;scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch}
.nx-rail::-webkit-scrollbar{height:6px}
.nx-rail::-webkit-scrollbar-thumb{background:var(--clay);border-radius:99px}
.nx-rail > *{scroll-snap-align:start;flex:0 0 280px}
@media (max-width:600px){.nx-rail > *{flex:0 0 240px}}

/* ---------- Numbered section head (offset big number) ---------- */
.nx-head{display:flex;align-items:flex-end;gap:20px;margin-bottom:44px;flex-wrap:wrap}
.nx-head .nx-head-num{
  font-family:var(--font-display);font-weight:800;font-size:3.2rem;line-height:.8;
  color:transparent;-webkit-text-stroke:1.5px rgba(26,16,51,0.18)}
.section--ink .nx-head .nx-head-num,.nx-on-dark .nx-head .nx-head-num{
  -webkit-text-stroke:1.5px rgba(245,243,255,0.25)}
.nx-head-text h2{margin-bottom:6px}
.nx-head-text p{margin:0;max-width:520px}

/* ---------- Legal doc index layout ---------- */
.nx-legal-layout{display:grid;grid-template-columns:220px 1fr;gap:48px;align-items:start}
.nx-legal-toc{
  position:sticky;top:110px;display:flex;flex-direction:column;gap:2px;
  border-left:2px solid rgba(26,16,51,0.12);padding-left:16px}
.nx-legal-toc a{
  font-size:.82rem;color:var(--charcoal-soft);padding:6px 0;line-height:1.4}
.nx-legal-toc a:hover{color:var(--teal-dark)}
@media (max-width:860px){
  .nx-legal-layout{grid-template-columns:1fr}
  .nx-legal-toc{position:static;border-left:none;padding-left:0;flex-direction:row;flex-wrap:wrap;gap:12px;margin-bottom:24px}
}

/* =========================================================
   NX VISUAL SKIN v2 — bolder identity layer on top of the
   nx-* structure module above. Pure CSS, no markup changes,
   so nothing in the .ejs files needs to move again.
   ========================================================= */

/* Bigger, punchier headline scale everywhere inside nx- wrappers */
.nx-hero-copy h1{
  font-size:clamp(2.4rem,4.4vw,3.6rem);letter-spacing:-0.02em;line-height:1.02}
.nx-head-text h2,.nx-split-copy h2,.nx-panel-side h2{
  font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:-0.015em;line-height:1.08;
  position:relative;display:inline-block}
.nx-split-copy h3{font-size:clamp(1.3rem,2.2vw,1.7rem)}

/* Marker-style underline swipe behind key headings */
.nx-head-text h2::after,.nx-split-copy h2::after{
  content:'';position:absolute;left:-4px;right:-4px;bottom:2px;height:.34em;
  background:linear-gradient(90deg,var(--marigold),var(--teal));opacity:.22;z-index:-1;
  transform:skewX(-8deg)}

/* Eyebrow becomes a rotated sticker tab instead of a plain line */
.nx-eyebrow{
  background:var(--ink);color:var(--sand)!important;padding:6px 14px 6px 12px;
  border-radius:4px 14px 4px 14px;transform:rotate(-1.5deg);box-shadow:var(--shadow-soft)}
.nx-eyebrow::before{background:var(--marigold);width:16px}
.section--ink .nx-eyebrow,.nx-on-dark .nx-eyebrow{background:rgba(245,243,255,0.12);color:var(--teal)!important}
.nx-panel-side .nx-eyebrow{background:rgba(245,243,255,0.12)}

/* Hero: rotate + hard shadow on the media frame instead of a soft diagonal */
.nx-hero-media-wrap{
  clip-path:none!important;border-radius:26px 90px 26px 26px;
  transform:rotate(1.2deg);box-shadow:14px 18px 0 0 var(--marigold),var(--shadow-lift);
  border:6px solid var(--ink)}
.nx-hero-media-wrap::after{display:none}
.nx-hero-inner{gap:36px;align-items:center}
.nx-hero-copy{padding-right:24px}

/* Split sections: rotated color-block frame instead of blurred gradient blob */
.nx-split-media::before{
  border-radius:22px;transform:rotate(-3deg);opacity:1;
  background:var(--marigold)}
.nx-split--reverse .nx-split-media::before{transform:rotate(3deg);background:var(--teal)}
.nx-split-media img,.nx-split-media .nx-media-frame{
  border-radius:22px;border:5px solid var(--ink);box-shadow:none;
  transform:rotate(-0.6deg)}
.nx-split--reverse .nx-split-media img{transform:rotate(0.6deg)}
.nx-split-copy .nx-index{
  -webkit-text-stroke:0;color:var(--marigold);opacity:.85;font-size:3.4rem}

/* Numbered head badge: solid chip instead of ghost outline number */
.nx-head{gap:18px;margin-bottom:52px}
.nx-head .nx-head-num{
  -webkit-text-stroke:0!important;color:var(--white)!important;background:var(--ink);
  font-size:1.5rem;line-height:1;width:58px;height:58px;border-radius:16px 4px 16px 4px;
  display:flex;align-items:center;justify-content:center;transform:rotate(-4deg);
  box-shadow:6px 6px 0 0 var(--marigold);flex-shrink:0}
.section--ink .nx-head .nx-head-num,.nx-on-dark .nx-head .nx-head-num{
  background:var(--teal);color:var(--ink)!important;box-shadow:6px 6px 0 0 rgba(245,243,255,0.25)}

/* Timeline: chunky offset markers with connecting dashes in accent color */
.nx-timeline::before{background:repeating-linear-gradient(to bottom,var(--clay) 0 10px,transparent 10px 20px);left:29px}
.nx-timeline-num{border-radius:16px 4px 16px 4px;box-shadow:5px 5px 0 0 rgba(26,16,51,0.18)}

/* Bento / stagger / mosaic cards: hard-edge cards with offset shadow, rotate on hover */
.nx-bento > *,.nx-stagger > *,.nx-mosaic > *{
  border-radius:18px!important;transition:transform .25s ease,box-shadow .25s ease}
.nx-bento > *:hover,.nx-stagger > *:hover{
  transform:translateY(-6px) rotate(-0.6deg);box-shadow:8px 10px 0 0 var(--ink)!important}

/* Ticker: chip-style numbers instead of plain stacked text */
.nx-ticker > div{
  display:flex;flex-direction:column;align-items:center;gap:4px}
.nx-ticker .signpost-value{
  font-family:var(--font-display);font-weight:800;font-size:1.7rem;color:var(--ink)}
.section--ink .nx-ticker .signpost-value,.nx-on-dark .nx-ticker .signpost-value{color:var(--sand)}

/* CTA diagonal band: bolder color-block stripes, not a faint tint */
.nx-cta-diagonal{
  background:var(--ink)}
.nx-cta-diagonal::before{
  background:repeating-linear-gradient(115deg,transparent 0 60px,rgba(23,195,230,0.10) 60px 62px)}
.nx-cta-diagonal .nx-eyebrow{background:var(--marigold);color:var(--ink)!important}

/* Panel-split form: bolder side panel with angled cut into the form half */
.nx-panel-side{
  background:linear-gradient(155deg,var(--ink) 0%,var(--marigold-dark) 130%);
  clip-path:polygon(0 0,100% 0,92% 100%,0 100%)}
.nx-panel-form-side{padding-left:64px}
@media (max-width:900px){
  .nx-panel-side{clip-path:none}
  .nx-panel-form-side{padding-left:44px}
}

/* Info rail: chip numerals instead of thin left border only */
.nx-info-rail-item{
  border-left:none;padding-left:0;align-items:flex-start;gap:16px}
.nx-info-rail-item svg{
  background:var(--sand-deep);color:var(--teal-dark);border-radius:10px 4px 10px 4px;
  padding:9px;width:38px;height:38px;box-sizing:border-box;flex-shrink:0}
.nx-panel-side .nx-info-rail-item svg{background:rgba(245,243,255,0.12);color:var(--teal)}
.nx-info-rail-item:nth-child(2n) svg{color:var(--marigold-dark)}
.nx-panel-side .nx-info-rail-item:nth-child(2n) svg{color:var(--marigold)}

/* Legal TOC: pill-active-style links */
.nx-legal-toc{border-left:none;background:var(--sand-deep);padding:18px;border-radius:16px}
.nx-legal-toc a{border-radius:8px;padding:8px 10px}
.nx-legal-toc a:hover{background:var(--white);color:var(--marigold-dark)}

/* Rail (pricing/comparison scroller): cards get a hard-edge accent top bar */
.nx-rail > *{position:relative}
.nx-rail > *::before{
  content:'';position:absolute;top:0;left:16px;right:16px;height:5px;border-radius:0 0 5px 5px;
  background:linear-gradient(90deg,var(--marigold),var(--teal))}

@media (max-width:640px){
  .nx-hero-media-wrap{transform:none;box-shadow:8px 10px 0 0 var(--marigold)}
  .nx-split-media img{transform:none}
}

/* =========================================================
   FIX PATCH v1 — addresses 5 reported issues:
   1. Elegant navbar + richer page backgrounds (not flat white)
   2/3. Broken asymmetric bento grid causing misaligned/odd cards
   4. Dull footer -> richer, glowing, more premium
   5. Book-now pricing rail misalignment
   ========================================================= */

/* ---- 1a. Elegant colored navbar instead of flat white ---- */
.site-header{
  background:linear-gradient(100deg,rgba(26,16,51,0.97) 0%,rgba(45,27,84,0.97) 55%,rgba(26,16,51,0.97) 100%);
  backdrop-filter:blur(20px) saturate(180%);
  border-bottom:1px solid rgba(23,195,230,0.18);
  box-shadow:0 8px 30px -14px rgba(0,0,0,0.5)}
.site-header.scrolled{
  background:linear-gradient(100deg,rgba(13,6,32,0.98) 0%,rgba(36,22,64,0.98) 55%,rgba(13,6,32,0.98) 100%);
  box-shadow:0 10px 34px -12px rgba(0,0,0,0.55)}
.brand-text strong{color:var(--sand)!important}
.brand-text span{color:var(--teal)!important;opacity:1}
.brand-logo{filter:drop-shadow(0 3px 10px rgba(23,195,230,0.35))}
.main-nav a{color:rgba(245,243,255,0.82)}
.main-nav a::before{background:linear-gradient(135deg,rgba(255,61,129,0.22),rgba(23,195,230,0.22))}
.main-nav a:hover{color:var(--teal)}
.main-nav a.active{
  background:linear-gradient(135deg,rgba(255,61,129,0.28),rgba(23,195,230,0.24));
  color:var(--white)}
.nav-toggle svg{color:var(--sand)}
.nav-toggle:hover{background:rgba(245,243,255,0.08)}
@media (max-width:1000px){
  .main-nav{background:var(--ink)}
}

/* ---- 1b. Richer, less flat page background ---- */
body{
  background:
    radial-gradient(ellipse 900px 500px at 8% 0%,rgba(255,61,129,0.06),transparent 55%),
    radial-gradient(ellipse 900px 600px at 95% 15%,rgba(23,195,230,0.07),transparent 55%),
    radial-gradient(ellipse 800px 500px at 50% 100%,rgba(255,61,129,0.05),transparent 60%),
    var(--sand)}
.section{position:relative}
.section:not(.section--ink):not(.section--sand-deep)::before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(ellipse 700px 380px at 90% 0%,rgba(23,195,230,0.05),transparent 60%)}
.section > .container{position:relative;z-index:1}
.section--sand-deep{
  background:linear-gradient(180deg,var(--sand-deep) 0%,#E4DEFA 100%)}

/* ---- 2/3. Fix broken asymmetric bento: make it a clean, EVEN, fixed
   3-column grid so rows fill completely with no dangling empty gaps
   (this is why 8/9-count and 6-count sections now line up exactly) ---- */
.nx-bento{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  grid-auto-rows:1fr!important;
  gap:22px}
.nx-bento > *{grid-column:span 1!important;grid-row:span 1!important}
@media (max-width:860px){
  .nx-bento{grid-template-columns:repeat(2,1fr)!important}
}
@media (max-width:560px){
  .nx-bento{grid-template-columns:1fr!important}
}

/* New: a safe equal grid for any section that shouldn't use masonry/rail */
.nx-grid-even{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  align-items:stretch}
.nx-grid-even > *{height:100%}
@media (max-width:860px){
  .nx-grid-even{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .nx-grid-even{grid-template-columns:1fr}
}

/* Restaurant menu cards: force equal header height so titles that wrap
   two lines don't throw off card alignment */
.menu-category-card{display:flex;flex-direction:column;height:100%}
.menu-card-header{min-height:118px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.menu-items-list{flex:1}

/* Accommodation / facility showcase cards used inside nx-bento or
   nx-grid-even should stretch full card height evenly */
.about-room-card,.facility-showcase-card,.facility-card,.facility-premium-card,
.event-type-card,.value-card,.pricing-category-card{height:100%;display:flex;flex-direction:column}

/* ---- 4. Footer: richer, more premium, less flat ---- */
.site-footer{
  background:
    radial-gradient(ellipse 900px 500px at 10% 0%,rgba(255,61,129,0.16),transparent 50%),
    radial-gradient(ellipse 900px 600px at 90% 30%,rgba(23,195,230,0.18),transparent 50%),
    radial-gradient(ellipse 700px 400px at 50% 100%,rgba(255,61,129,0.10),transparent 55%),
    linear-gradient(180deg,#0D0620 0%,#1A1033 45%,#2D1854 100%)!important}
.site-footer::after{
  content:'';position:absolute;top:0;left:0;right:0;height:4px;z-index:2;
  background:linear-gradient(90deg,var(--marigold),var(--teal),var(--marigold));
  background-size:200% 100%;animation:gradientFlow 4s ease infinite}
.footer-heading{font-size:1.4rem}
.contact-item,.social-link,.award-badge,.footer-newsletter{
  box-shadow:0 8px 26px -12px rgba(0,0,0,0.5)}
.footer-logo{filter:drop-shadow(0 6px 20px rgba(255,61,129,0.5))}
.footer-bottom{
  border-top:1px solid rgba(245,243,255,0.12);
  padding-top:24px;margin-top:8px}
.footer-bottom-left .copyright{color:rgba(245,243,255,0.6)}

/* ---- 5. Book-now pricing: even grid instead of a cramped rail ---- */
.nx-rail.pricing-rail-fix{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  overflow:visible;
  padding:8px 0 8px}
.nx-rail.pricing-rail-fix > *{flex:none;scroll-snap-align:none}

/* =========================================================
   VIBRATION FIX — neutralize the continuously-oscillating
   icon-badge animations (pulse / pulse-ring / borderFlow /
   gradientShimmer) that run on dozens of cards per page at
   once and read as the whole page "vibrating"/shimmering.
   CSS lets a later @keyframes with the same name replace an
   earlier one entirely, so this disables the motion globally
   without having to touch every individual selector.
   ========================================================= */
@keyframes pulse{
  0%,100%{transform:none;opacity:1}
}
@keyframes pulse-ring{
  0%,100%{transform:none;opacity:0}
}
@keyframes borderFlow{
  0%,100%{filter:none}
}
@keyframes gradientShimmer{
  0%,100%{background-position:0% 0%}
}

/* =========================
   HERO CONTACT BUTTONS
   ========================= */

.btn-call {
    background: #21164f;
    color: #ffffff !important;
    border: 2px solid #21164f;
    box-shadow: 0 6px 16px rgba(33, 22, 79, 0.18);
}

.btn-call:hover {
    background: #34246d;
    color: #ffffff !important;
    border-color: #34246d;
}

.btn-call svg {
    color: #ffffff;
}


/* WhatsApp */
.btn-whatsapp {
    background: #25D366;
    color: #ffffff !important;
    border: 2px solid #25D366;
    box-shadow: 0 6px 16px rgba(37, 211, 102, 0.20);
}

.btn-whatsapp:hover {
    background: #1ebe5d;
    color: #ffffff !important;
    border-color: #1ebe5d;
}

.btn-whatsapp svg {
    color: #ffffff;
}


/* =========================
   HERO TICKER TEXT
   ========================= */

.nx-ticker .signpost-value {
    color: #1A1033 !important;
    font-weight: 700;
}

.nx-ticker .signpost-label {
    color: #1A1033 !important;
    font-weight: 700;
    opacity: 1 !important;
    letter-spacing: .08em;
}