:root{
    --crimson: #6B0F1A;
    --crimson-dark: #3D0810;
    --blush: #E8B4B8;
    --choc: #2E1B12;
    --cream: #FFF3E8;
    --cream-soft: #FFF9F3;
    --white: #FFFFFF;
    --shadow: 0 18px 40px rgba(46,27,18,0.18);
  }
  *{ margin:0; padding:0; box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  .brand-logo img{ height: 44px; width:auto; display:block; }
  body{ font-family:'Nunito Sans', sans-serif; color:var(--choc); background:var(--cream-soft); line-height:1.65; }
  h1,h2,h3,h4{ font-family:'Fraunces', serif; font-weight:500; font-optical-sizing:auto; }
  a{ text-decoration:none; color:inherit; }
  img{ max-width:100%; display:block; }
  .container{ max-width:1180px; margin:0 auto; padding:0 28px; }
  .eyebrow{ font-size:0.75rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--blush); font-weight:600; margin-bottom:10px; display:block; }
  .btn{ display:inline-block; padding:14px 32px; font-weight:600; font-size:0.9rem; border-radius:30px; transition:.3s; }
  .btn-primary{ background:var(--crimson); color:var(--white); }
  .btn-primary:hover{ background:var(--crimson-dark); }
  .btn-outline{ border:1px solid var(--white); color:var(--white); }
  .btn-outline:hover{ background:rgba(255,255,255,0.12); }

  /* Header */
  header{ position:fixed; top:0; left:0; right:0; z-index:100; background:var(--cream-soft); box-shadow:0 4px 18px rgba(43,27,20,0.1); padding:16px 0; }
  .nav-wrap{ display:flex; align-items:center; justify-content:space-between; }
  .brand{ font-family:'Fraunces',serif; font-size:1.4rem; color:var(--crimson); font-style:italic; }
  .brand span{ color:var(--blush); }
  nav ul{ list-style:none; display:flex; gap:28px; align-items:center; }
  nav a{ font-size:0.9rem; font-weight:500; color:var(--choc); }
  .nav-cta{ background:var(--crimson); color:var(--white) !important; padding:10px 22px; border-radius:2px; font-weight:600; font-size:0.85rem; }

  /* Hero */
  .hero{ height:100vh; min-height:600px; margin-top:0; display:flex; align-items:center; position:sticky; top:0; z-index:1; overflow:hidden;
    background:linear-gradient(155deg, var(--crimson-dark) 0%, var(--crimson) 55%, #7A1A28 100%); }
  .hero-content{ position:relative; z-index:2; color:var(--white); max-width:640px; padding-top:70px; }
  .hero-content h1{ font-size:clamp(2.4rem,5vw,4rem); margin-bottom:20px; }
  .hero-content h1 em{ font-style:normal; color:var(--blush); }
  .hero-content p{ font-size:1.05rem; color:rgba(255,255,255,0.85); max-width:500px; margin-bottom:32px; }
  .btn-row{ display:flex; gap:16px; flex-wrap:wrap; }

  /* Quick feature strip (mydigimenu-style icon row) */
  .quick-features{ background:var(--white); padding:0; position:sticky; top:0; z-index:2; }
  .quick-features .container{ display:grid; grid-template-columns:repeat(4,1fr); }
  .qf-item{ padding:26px 20px; text-align:center; border-right:1px solid rgba(43,27,20,0.08); }
  .qf-item:last-child{ border-right:none; }
  .qf-item .num{ color:var(--blush); font-family:'Fraunces',serif; font-size:1rem; margin-bottom:6px; }
  .qf-item h4{ font-size:0.95rem; color:var(--crimson); }
  .qf-item p{ font-size:0.78rem; color:#6b5d52; margin-top:4px; }

  /* Alternating feature blocks */
  .feature{ padding:90px 0; min-height:100vh; display:flex; align-items:center; position:sticky; top:0; background:var(--cream-soft); }
  #about{ z-index:3; }
  #rooms{ z-index:4; background:var(--white); }
  #super-deluxe{ z-index:5; }
  #deluxe{ z-index:6; }
  .feature-wrap{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
  .feature.reverse .feature-wrap{ direction:rtl; }
  .feature.reverse .feature-wrap > *{ direction:ltr; }
  .feature-visual{ height:380px; border-radius:2px; overflow:hidden; box-shadow:var(--shadow);
    background:linear-gradient(160deg, var(--blush), var(--crimson) 65%, var(--crimson-dark)); position:relative; }
  .feature-visual .cap{ position:absolute; left:20px; bottom:20px; background:rgba(43,27,20,0.85); color:var(--white); padding:8px 16px; font-family:'Fraunces',serif; font-size:0.95rem; }
  .feature-text .eyebrow{ color:var(--crimson); }
  .feature-text h2{ font-size:clamp(1.8rem,3vw,2.4rem); color:var(--crimson); margin-bottom:16px; }
  .feature-text p{ color:#5a4d43; margin-bottom:22px; }
  .feature-text ul{ list-style:none; margin-bottom:24px; }
  .feature-text li{ padding:8px 0 8px 20px; position:relative; font-size:0.92rem; color:#5a4d43; }
  .feature-text li::before{ content:'—'; position:absolute; left:0; color:var(--blush); }

  .feature-alt{ background:var(--white); }

  /**Other Facilities**/
  .facilities{ padding:90px; min-height:100vh; display:flex; align-items:center; background:var(--white); position:sticky; top:0; z-index:7; }
  .facilities-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:30px; }
  .facility-card{ text-align:center }
  .facility-visual{ height:320px; border-radius:2px; overflow:hidden; box-shadow:var(--shadow); position:relative; 
  background:linear-gradient(160deg, var(--blush), var(--crimson) 65%, var(--crimson-dark)); margin-bottom:18px; }
  .facility-visual .cap { position:absolute; left:20px; bottom:20px; background: rgba(43,27,20,0.85); color:var(--white); padding:8px 16px; font-family:'Fraunces', serif; font-size:0.95rem; }
  .facility-card h3 { font-size:1.3rem; color: var(--crimson); margin-bottom:8px; }
  .facility-card p { font-size:0.9rem; color:#5a4d43; }

  /* Amenities icon grid */
  .amenities{ padding:90px 0; min-height:100vh; display:flex; align-items:center; background:var(--crimson-dark); color:var(--cream); position:sticky; top:0; z-index:8; }
  .amenities .section-head{ text-align:center; margin-bottom:50px; }
  .amenities h2{ color:var(--white); font-size:clamp(1.8rem,3vw,2.4rem); }
  .amenities .eyebrow{ color:var(--blush); }
  .amenity-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:20px; text-align:center; }
  .amenity-item{ padding:20px 10px; }
  .amenity-icon{ width:40px; height:40px; margin:0 auto 12px; border:1.5px solid var(--blush); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--blush); font-size:1.1rem; }
  .amenity-item span{ font-size:0.82rem; color:rgba(247,237,226,0.85); }

  /* Trust badges */
  .trust{ padding:50px 0; background:var(--cream); text-align:center; position:sticky; top:0; z-index:9; }
  .trust p{ font-size:0.85rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--crimson); margin-bottom:20px; font-weight:600; }
  .trust-badges{ display:flex; justify-content:center; gap:40px; flex-wrap:wrap; }
  .trust-badge{ font-family:'Fraunces',serif; font-size:1.2rem; color:var(--choc); opacity:0.7; }

  /* Testimonials */
  .testimonials{ padding:90px 0; min-height:100vh; display:flex; align-items:center; background:var(--white); position:sticky; top:0; z-index:10; }
  .testimonials .section-head{ text-align:center; margin-bottom:50px; }
  .testimonials h2{ color:var(--crimson); font-size:clamp(1.8rem,3vw,2.4rem); }
  .testi-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
  .testi-card{ background:var(--cream-soft); border:1px solid rgba(139,30,46,0.1); padding:28px 24px; border-radius:4px; }
  .testi-card p{ font-size:0.92rem; color:#5a4d43; margin-bottom:16px; font-style:italic; }
  .testi-card strong{ color:var(--crimson); font-size:0.88rem; }

  /* Attractions */
  .attractions{ padding:90px 0; min-height:100vh; display:flex; align-items:center; background:var(--cream); position:sticky; top:0; z-index:11; }
  .attractions .section-head{ text-align:center; margin-bottom:50px; }
  .attractions h2{ color:var(--crimson); font-size:clamp(1.8rem,3vw,2.4rem); }
  .attr-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .attr-card{ background:var(--white); border-radius:2px; overflow:hidden; box-shadow:0 8px 20px rgba(43,27,20,0.08); }
  .attr-visual{ height:140px; background:linear-gradient(150deg, var(--blush), var(--crimson) 130%); }
  .attr-card h4{ padding:14px 16px; font-size:1rem; color:var(--choc); }

  /* CTA banner */
  .cta-banner{ background:linear-gradient(155deg, var(--crimson-dark), var(--crimson)); padding:70px 0; text-align:center; color:var(--white); position:sticky; top:0; z-index:12; }
  .cta-banner h2{ font-size:clamp(1.8rem,3vw,2.4rem); margin-bottom:20px; }
  .cta-banner p{ color:rgba(255,255,255,0.8); margin-bottom:28px; }

  /* Footer */
  footer{ background:var(--choc); color:var(--cream); padding:70px 0 30px; position:sticky; top:0; z-index:13; }
  .footer-wrap{ display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:50px; margin-bottom:50px; }
  .footer-wrap h4{ color:var(--blush); font-size:1rem; margin-bottom:16px; }
  .footer-wrap p, .footer-wrap a{ display:block; font-size:0.9rem; color:rgba(247,237,226,0.78); margin-bottom:10px; }
  .footer-bottom{ border-top:1px solid rgba(247,237,226,0.15); padding-top:22px; text-align:center; font-size:0.8rem; color:rgba(247,237,226,0.5); }

  .whatsapp-float{ position:fixed; bottom:24px; right:24px; width:56px; height:56px; background:#25D366; border-radius:50%;
    display:flex; align-items:center; justify-content:center; box-shadow:0 8px 20px rgba(0,0,0,0.25); z-index:999; }
    .social-float { position:fixed; right:24px; width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 20px rgba(0,0,0,0.25);
    z-index:999; transition:transform .25s ease; }
    .social-float:hover {transform: scale(1.08); }
    .facebook-float { bottom:90px; background:#1877F2; }
    .instagram-float { bottom:156px; background: radial-gradient(circle at 30% 107%, #fdf497 0%,  #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);}

    .gallery-page{ padding: 140px 0 80px ; background: var(--cream-soft); }
    .gallery-page-h1 { font-size:2.4rem; color:var(--crimson); margin-bottom:30px; }
    .gallery-filter{ display:flex; gap:12px; margin-bottom:36px; flex-wrap:wrap; }
    .filter-btn{ padding: 10px 22px; border:1px solid var(--crimson); background:none;
    color:var(--crimson); font-size: 0.85rem; font-weight:600; letter-spacing:0.02rem;
  border-radius:20px; cursor:pointer; transition: .25s ease; margin: 0 0 15px 0; }
  .filter-btn:hover{ background:rgba(107,15,26,0.08);}
  .filter-btn:active {background:var(--crimson); color:var(--white); }
  .gallery-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; }
  .gallery-item{ position:relative; overflow:hidden; border-radius:4px; }
  .gallery-item img{ width:100%; aspect-ratio:4/3; object-fit:cover; display:block; transition:transform .3s ease; }
  .gallery-item:hover img{ transform:scale(1.08);}
  .gallery-caption{ position:absolute; bottom:0; right:0; padding:10px 14px;
  background:linear-gradient(180deg, transparent, rgba(46,27,18,0.85));
color:var(--cream); font-size:0.8rem; font-weight:600; }
header.scroled{ background:var(--cream-soft) }


  @media (max-width:960px){
    .feature-wrap{ grid-template-columns:1fr; direction:ltr !important; }
    .amenity-grid{ grid-template-columns:repeat(3,1fr); }
    .testi-grid, .attr-grid{ grid-template-columns:1fr 1fr; }
    .footer-wrap{ grid-template-columns:1fr; }
    .quick-features .container{ grid-template-columns:1fr 1fr; }
    nav ul{ display:none; }
  }
  @media (max-width:600px){
    .testi-grid, .attr-grid{ grid-template-columns:1fr; }
    .amenity-grid{ grid-template-columns:repeat(2,1fr); }
  }
  @media (max-width:700px){
    .facilities-grid { grid-template-columns: 1fr;
    .gallery-grid{ grid-template-columns: repeate(2, 1fr);} }
  }
  @media (max-width:560px){
    .social-float{ width:50px; height:50px; right:18px; }
    .facebook-float{ bottom:80px; }
    .instagram-float{ bottom:140px; }
  }
