:root{
    --maroon:#B4776E;
    --maroon-deep:#8B5C54;
    --gold:#D9B98C;
    --gold-soft:#EDE0C8;
    --cream:#FBF6EE;
    --cream-2:#F5EAE0;
    --ink:#4A3A34;
    --rose:#C98F86;
    --peacock:#8FA396;
    --peacock-deep:#6B8478;
  }

  /* ---- Signature motif: the jharokha arch ----
     Royal King Villa's own facade is built from palace-style arched
     windows (jharokhas). That arch silhouette is the one shape reused
     everywhere below instead of generic rounded corners. */
  .arch-divider{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 auto;width:100%;max-width:340px;}
  .arch-divider svg{width:46px;height:34px;flex:none;}
  .arch-divider .line{flex:1;height:1px;background:linear-gradient(90deg,transparent,currentColor,transparent);}
  .arch-divider{color:var(--gold);}
  #book .arch-divider{color:var(--gold-soft);}

  .arch-frame{clip-path:url(#jharokhaArch);}

  .pull-quote{max-width:760px;margin:0 auto;text-align:center;position:relative;padding:10px 0 6px;}
  .pull-quote svg{width:38px;height:28px;margin:0 auto 18px;display:block;color:var(--gold);}
  .pull-quote p{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:clamp(1.5rem,3vw,2.15rem);line-height:1.5;color:var(--maroon-deep);}
  .pull-quote cite{display:block;margin-top:20px;font-family:'Manrope';font-style:normal;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--peacock);font-weight:700;}

  .drop-cap::first-letter{
    font-family:'Cormorant Garamond',serif;font-weight:700;font-size:3.6rem;line-height:.8;
    float:left;padding:6px 10px 0 0;color:var(--maroon);
  }

  .stat .num{position:relative;}
  .stat .num .plus{color:var(--peacock);}
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--cream);
    color:var(--ink);
    font-family:'Manrope',sans-serif;
    overflow-x:hidden;
  }
  h1,h2,h3,.display{
    font-family:'Cormorant Garamond',serif;
    font-weight:600;
    margin:0;
  }
  .eyebrow{
    font-family:'Manrope',sans-serif;
    letter-spacing:.22em;
    text-transform:uppercase;
    font-size:.72rem;
    font-weight:700;
    color:var(--rose);
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}

  /* Signature ornament: gold lotus-arch divider */
  .ornament{width:64px;height:28px;margin:18px auto;display:block;}
  .ornament path{stroke:var(--gold);}

  /* NAV */
  header{
    position:fixed;top:0;left:0;right:0;z-index:50;
    background:rgba(33,24,20,0);
    transition:background .4s ease, box-shadow .4s ease, padding .3s ease;
    padding:22px 5%;
  }
  header.scrolled{
    background:rgba(74,58,52,.92);
    box-shadow:0 6px 24px rgba(74,58,52,.15);
    padding:12px 5%;
    backdrop-filter:blur(6px);
  }
  nav{display:flex;align-items:center;justify-content:space-between;max-width:1280px;margin:0 auto;}
  .logo{font-family:'Cormorant Garamond',serif;color:#fff;font-size:1.5rem;font-weight:700;letter-spacing:.03em;display:flex;align-items:center;gap:8px;}
  .logo small{display:block;font-family:'Manrope';font-size:.55rem;letter-spacing:.3em;color:var(--gold-soft);font-weight:600;}
  .nav-links{display:flex;gap:34px;list-style:none;margin:0;padding:0;}
  .nav-links a{color:#f3e9d6;font-size:.85rem;letter-spacing:.05em;font-weight:600;position:relative;padding:4px 0;}
  .nav-links a::after{content:'';position:absolute;left:0;bottom:-2px;height:1px;width:0;background:var(--gold);transition:width .3s ease;}
  .nav-links a:hover::after{width:100%;}
  .nav-cta{background:var(--gold);color:var(--ink);padding:10px 22px;border-radius:2px;font-weight:700;font-size:.78rem;letter-spacing:.07em;}
  .burger{display:none;background:none;border:0;cursor:pointer;width:30px;height:24px;position:relative;}
  .burger span{position:absolute;left:0;right:0;height:2px;background:#fff;transition:.3s;}
  .burger span:nth-child(1){top:0;}
  .burger span:nth-child(2){top:11px;}
  .burger span:nth-child(3){top:22px;}

  /* HERO */
  .hero{position:relative;height:100vh;min-height:560px;overflow:hidden;}
  .hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease;}
  .hero-slide.active{opacity:1;}
  .hero-slide img{width:100%;height:100%;object-fit:cover;}
  .hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(74,58,52,.42) 0%,rgba(74,58,52,.15) 38%,rgba(74,58,52,.65) 100%);z-index:2;}
  .hero-content{position:relative;z-index:3;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff;padding:0 6%;}
  .hero-content .eyebrow{color:var(--gold-soft);}
  .hero-content h1{font-size:clamp(2.6rem,7vw,5.6rem);line-height:1.04;margin:14px 0 18px;text-shadow:0 4px 30px rgba(0,0,0,.4);}
  .hero-content h1 em{font-style:italic;color:var(--gold-soft);}
  .hero-content p{max-width:560px;font-size:1.05rem;color:#f1e7d6;margin-bottom:30px;}
  .btn-group{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;}
  .btn{display:inline-block;padding:14px 30px;font-size:.82rem;letter-spacing:.08em;font-weight:700;text-transform:uppercase;border-radius:2px;transition:.3s;}
  .btn-gold{background:var(--gold);color:var(--ink);}
  .btn-gold:hover{background:var(--gold-soft);}
  .btn-outline{border:1px solid rgba(255,255,255,.6);color:#fff;}
  .btn-outline:hover{background:rgba(255,255,255,.12);}
  .hero-dots{position:absolute;bottom:28px;left:0;right:0;z-index:3;display:flex;justify-content:center;gap:10px;}
  .hero-dots button{width:9px;height:9px;border-radius:50%;border:1px solid var(--gold-soft);background:transparent;cursor:pointer;padding:0;}
  .hero-dots button.active{background:var(--gold-soft);}
  .scroll-cue{position:absolute;bottom:30px;right:5%;z-index:3;color:var(--gold-soft);font-size:.7rem;letter-spacing:.2em;writing-mode:vertical-rl;display:flex;align-items:center;gap:10px;}
  .scroll-cue::after{content:'';width:1px;height:50px;background:var(--gold-soft);display:block;}

  section{padding:110px 6%;position:relative;}
  .wrap{max-width:1180px;margin:0 auto;}
  .center{text-align:center;}
  .section-head{max-width:640px;margin:0 auto 60px;text-align:center;}
  .section-head h2{font-size:clamp(2.1rem,4vw,3rem);margin-top:10px;}

  /* ABOUT */
  #about{background:var(--cream);}
  .about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center;}
  .about-photos{position:relative;height:480px;}
  .about-photos img{position:absolute;border-radius:4px;box-shadow:0 25px 50px -12px rgba(0,0,0,.35);}
  .about-photos .p1{width:72%;top:0;left:0;z-index:2;height:74%;object-fit:cover;}
  .about-photos .p2{width:55%;bottom:0;right:0;z-index:1;height:55%;object-fit:cover;border:6px solid var(--cream);}
  .about-photos .p2-frame{position:absolute;bottom:-18px;right:-18px;width:calc(55% + 12px);height:calc(55% + 12px);border:1px solid var(--gold);z-index:0;}
  .stat-row{display:flex;gap:40px;margin-top:36px;flex-wrap:wrap;}
  .stat{}
  .stat .num{font-family:'Cormorant Garamond',serif;font-size:2.6rem;color:var(--maroon);font-weight:700;}
  .stat .lab{font-size:.78rem;letter-spacing:.06em;color:#6b5d52;text-transform:uppercase;}
  .about-copy p{line-height:1.85;color:#43352d;margin-bottom:16px;font-size:1.02rem;}

  /* FACILITIES */
  #facilities{background:var(--cream-2);color:var(--ink);}
  #facilities .eyebrow{color:var(--maroon);}
  #facilities .section-head h2{color:var(--ink);}
  .fac-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;background:#e6d8ca;border:1px solid #e6d8ca;}
  .fac-card{background:var(--cream-2);padding:38px 30px;transition:background .3s;}
  .fac-card:hover{background:#fff;}
  .fac-icon{width:44px;height:44px;margin-bottom:18px;color:var(--maroon);}
  .fac-card h3::after{content:'';display:block;width:26px;height:2px;background:var(--peacock);margin-top:10px;opacity:.85;}
  .fac-card h3{color:var(--ink);font-size:1.25rem;margin-bottom:10px;font-weight:600;}
  .fac-card p{font-size:.92rem;color:#7d6b60;line-height:1.6;margin:0;}

  /* GALLERY */
  #gallery{background:var(--cream-2);}
  .gal-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:170px;gap:10px;}
  .gal-grid.masonry{display:block;column-count:3;column-gap:14px;}
  .gal-grid.masonry figure{break-inside:avoid;margin:0 0 14px;}
  .gal-grid.masonry figure img{height:auto;}
  .gal-grid.masonry .gal-big img{aspect-ratio:4/5;object-fit:cover;}
  .gal-grid figure{margin:0;overflow:hidden;cursor:pointer;position:relative;border-radius:3px;}
  .gal-grid figure img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
  .gal-grid figure:hover img{transform:scale(1.08);}
  .gal-grid figure::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(74,58,52,.55));opacity:0;transition:opacity .3s;}
  .gal-grid figure:hover::after{opacity:1;}
  .gal-big{grid-row:span 2;grid-column:span 2;}
  .lightbox{position:fixed;inset:0;background:rgba(10,6,5,.94);z-index:100;display:none;align-items:center;justify-content:center;padding:4%;}
  .lightbox.open{display:flex;}
  .lightbox img{max-height:88vh;max-width:90vw;border:4px solid #fff;}
  .lightbox .lb-close{position:absolute;top:24px;right:30px;color:#fff;font-size:2rem;cursor:pointer;}
  .lightbox .lb-nav{position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-size:2.4rem;cursor:pointer;padding:10px;}
  .lb-prev{left:18px;}.lb-next{right:18px;}

  /* TESTIMONIALS */
  #testimonials{background:var(--cream);}
  .test-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;}
  .test-card{background:#fff;padding:36px 32px;border-radius:4px;border:1px solid #e8dcc6;position:relative;}
  .test-card .quote-mark{font-family:'Cormorant Garamond',serif;font-size:4rem;color:var(--gold);line-height:1;display:block;margin-bottom:6px;}
  .test-card p{line-height:1.8;color:#43352d;font-size:.98rem;}
  .test-card .who{margin-top:18px;font-weight:700;font-size:.85rem;color:var(--maroon);letter-spacing:.02em;}
  .test-card .who span{display:block;font-weight:500;color:#8a7a6a;font-size:.8rem;}

  /* BOOK EVENT */
  #book{background:var(--maroon);color:#fff;position:relative;}
  #book::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 20%, rgba(201,162,75,.18), transparent 55%);}
  .book-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;position:relative;z-index:1;align-items:start;}
  .book-grid .section-head{text-align:left;margin:0 0 22px;}
  .book-grid .section-head h2{color:#fff;}
  .book-copy p{color:#e7d9c5;line-height:1.85;margin-bottom:20px;}
  .book-list{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-direction:column;gap:14px;}
  .book-list li{display:flex;gap:12px;align-items:flex-start;color:#f1e4cf;font-size:.92rem;}
  .book-list li::before{content:'✦';color:var(--gold-soft);}
  form.card{background:#fdf9f1;color:var(--ink);padding:42px;border-radius:6px;box-shadow:0 30px 60px -20px rgba(0,0,0,.5);}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
  .field{display:flex;flex-direction:column;gap:6px;}
  .field.full{grid-column:1 / -1;}
  label{font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6b5d52;}
  input,select,textarea{
    border:1px solid #d9cba9;background:#fff;padding:12px 14px;font-family:'Manrope';font-size:.92rem;border-radius:3px;color:var(--ink);
  }
  input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);border-color:var(--gold);}
  textarea{resize:vertical;min-height:90px;}
  .submit-btn{background:var(--maroon);color:#fff;border:0;padding:15px 0;width:100%;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;border-radius:3px;cursor:pointer;transition:.3s;}
  .submit-btn:hover{background:var(--maroon-deep);}
  .form-msg{margin-top:14px;font-size:.85rem;display:none;color:var(--maroon);font-weight:600;}

  /* CONTACT / FOOTER */
  #contact{background:var(--ink);color:#ece3d4;padding-bottom:0;}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px;padding-bottom:70px;border-bottom:1px solid rgba(255,255,255,.1);}
  .contact-grid h3{color:#fff;font-size:1.3rem;margin-bottom:16px;}
  .contact-grid p, .contact-grid a{color:#bfb2a0;font-size:.92rem;line-height:1.8;}
  .contact-grid .foot-logo{font-family:'Cormorant Garamond',serif;font-size:1.7rem;color:#fff;margin-bottom:14px;}
  .social-row{display:flex;gap:14px;margin-top:18px;}
  .social-row a{width:36px;height:36px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;}
  .social-row a:hover{border-color:var(--gold);color:var(--gold-soft);}
  .map-embed{width:100%;height:220px;border:0;filter:grayscale(.3) sepia(.15);border-radius:4px;}
  .bottom-bar{display:flex;justify-content:space-between;align-items:center;padding:24px 0;font-size:.78rem;color:#8a7d6c;flex-wrap:wrap;gap:10px;}

  @media (max-width: 900px){
    .nav-links,.nav-cta{display:none;}
    .burger{display:block;}
    .about-grid,.book-grid{grid-template-columns:1fr;gap:40px;}
    .about-photos{height:340px;margin-bottom:10px;}
    .gal-grid{grid-template-columns:repeat(2,1fr);}
    .gal-big{grid-column:span 2;grid-row:span 1;}
    .gal-grid.masonry{column-count:2;}
    .contact-grid{grid-template-columns:1fr;gap:36px;}
    .form-row{grid-template-columns:1fr;}
    section{padding:80px 6%;}
  }
  .mobile-menu{position:fixed;inset:0;background:var(--maroon-deep);z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;transform:translateY(-100%);transition:transform .4s ease;}
  .mobile-menu.open{transform:translateY(0);}
  .mobile-menu a{color:#fff;font-size:1.3rem;font-family:'Cormorant Garamond',serif;}
  .mobile-menu .lb-close-m{position:absolute;top:24px;right:30px;color:#fff;font-size:2rem;cursor:pointer;}

  [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .8s ease, transform .8s ease;}
  [data-reveal].in{opacity:1;transform:none;}
/* ---- Sub-page header banner ---- */
.page-banner{
  position:relative;height:46vh;min-height:340px;display:flex;align-items:center;justify-content:center;
  text-align:center;color:#fff;overflow:hidden;
}
.page-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.page-banner::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,10,8,.55),rgba(20,10,8,.78));}
.page-banner-content{position:relative;z-index:2;}
.page-banner .eyebrow{color:var(--gold-soft);}
.page-banner h1{font-size:clamp(2.2rem,5vw,3.6rem);margin:12px 0 14px;}
.breadcrumb{font-size:.82rem;color:#e9dcc6;letter-spacing:.04em;}
.breadcrumb a{color:var(--gold-soft);}
.breadcrumb span{margin:0 6px;color:#bfae93;}

/* ---- Generic content blocks reused across pages ---- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.lead{font-size:1.1rem;color:#43352d;line-height:1.9;}
.checklist{list-style:none;margin:24px 0;padding:0;display:flex;flex-direction:column;gap:14px;}
.checklist li{display:flex;gap:12px;align-items:flex-start;color:#3a2d25;font-size:.97rem;}
.checklist li::before{content:'✓';color:var(--maroon);font-weight:700;border:1px solid var(--gold);border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:.75rem;flex:none;}

.cta-band{background:var(--maroon);color:#fff;text-align:center;padding:80px 6%;}
.cta-band h2{color:#fff;font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:18px;}
.cta-band p{color:#e7d9c5;max-width:520px;margin:0 auto 30px;}

.contact-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-bottom:60px;}
.info-card{background:#fff;border:1px solid #e8dcc6;border-radius:6px;padding:32px 28px;text-align:center;}
.info-card .ic{width:42px;height:42px;margin:0 auto 16px;color:var(--maroon);}
.info-card h3{font-size:1.1rem;margin-bottom:8px;}
.info-card p,.info-card a{color:#6b5d52;font-size:.92rem;line-height:1.7;}

@media (max-width: 900px){
  .split{grid-template-columns:1fr;gap:36px;}
  .contact-info-grid{grid-template-columns:1fr;}
}
.nav-links a.active-link{color:var(--gold-soft);}
.nav-links a.active-link::after{width:100%;}
