/* RESET */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* BODY */
body {
  font-family: 'Inter', sans-serif;
  color: #222;
}
html, body {
  overflow-x: hidden;
}

/* HEADER */
.header {
  position: fixed;
  width: 100%;
  top: 0;
  padding:18px 48px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: rgba(13,44,74,0.7);
  backdrop-filter: blur(8px);
  z-index: 1000;
}


.logo img {
  height: auto;
}

/* ================= NAV ================= */
.nav {
  display: flex;
  gap: 20px;
  align-items: center;
}

.nav a:hover {
  color: #2EC4C7;
  transition: 0.2s ease;
}

.nav a,
.dropdown-header {
  color: #fff;
  text-decoration: none;
  font-size:15px;
  font-weight:500;
}

/* ================= DROPDOWN ================= */
.dropdown {
  position: relative;
}

/* MENU BOX */
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  min-width: 200px;
  border-radius: 6px;
  padding: 8px 0;
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: all 0.25s ease;
  box-shadow: 0 12px 30px rgba(0,0,0,0.15);
  z-index: 999;
}

/* SHOW ON HOVER (DESKTOP) */
.dropdown:hover .dropdown-menu {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* ITEM */
.dropdown-menu a {
  display: block;
  padding: 12px 18px;
  color: #333;
  text-decoration: none;
  font-size: 0.9rem;
  transition: 0.2s;
}

/* HOVER EFFECT */
.dropdown-menu a:hover {
  background: #38c0d9;
  color: #fff;
}

/* MOBILE FIX */
@media(max-width:768px){

  .header{

    padding:14px 18px;

    min-height:72px;
  }

  .logo img{

    height:34px;
  }

  .btn-book{

    padding:10px 14px;

    font-size:13px;

    line-height:1.3;

    border-radius:14px;

    display:flex;

    align-items:center;

    justify-content:center;
  }

  .menu-toggle{

    font-size:28px;

    display:flex;

    align-items:center;

    justify-content:center;

    line-height:1;
  }
	
	.dropdown-menu {
    position: static;
    background: transparent;
    box-shadow: none;
    transform: none;
    opacity: 1;
    pointer-events: auto;
    display: none;
    padding-left: 10px;
  }

  .dropdown.open .dropdown-menu {
    display: block;
  }

  .dropdown-menu a {
    color: #fff;
    padding: 10px 0;
  }

}

/* BUTTON */
.btn-book {
  background: #38c0d9;
  padding: 10px 18px;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}

/* =========================================
   HERO SECTION
========================================= */

.hero {
  min-height: 100vh;
  min-height: 100dvh;

  display: flex;
  align-items: center;

  padding: 0 40px;
  padding-top: 80px;

  position: relative;
  overflow: hidden;

  color: #fff;
}

/* IMAGE */
.hero img,
.hero picture {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;

  z-index: -2;
}

/* OVERLAY */
.hero::after {
  content: "";

  position: absolute;
  inset: 0;

 background: linear-gradient(
    to right,
    rgba(10, 30, 45, 0.68),
    rgba(10, 30, 45, 0.40),
    rgba(10, 30, 45, 0.18)
  );

  z-index: -1;
}

/* CONTENT */
.hero-content {
  max-width: 680px;

  display: flex;
  flex-direction: column;

  gap: 18px;

  padding: 0 20px;

  z-index: 2;
}

/* TAG */
.hero-tag {
  font-size: 12px;

  letter-spacing: 3px;

  text-transform: uppercase;

  opacity: 0.85;
}

/* TITLE */
.hero h1 {
  font-family: 'Playfair Display', serif;

  font-size: 3rem;

  line-height: 1.15;

  font-weight: 600;

  margin: 0;
}

/* SUBTEXT */
.hero-sub {
  font-size: 1.08rem;

  line-height: 1.8;

  opacity: 0.92;

  max-width: 580px;

  color: rgba(255,255,255,0.92);
}

/* HERO TRUST */
.hero-trust{

  display:flex;

  flex-wrap:wrap;

  gap:12px;

  margin-top:10px;
}

.trust-pill{

  background:rgba(255,255,255,0.14);

  border:1px solid rgba(255,255,255,0.20);

  box-shadow:0 8px 20px rgba(0,0,0,0.12);

  backdrop-filter:blur(14px);
  padding:10px 14px;

  border-radius:999px;

  font-size:13px;

  color:#fff;
}

/* MICRO TEXT */
.hero-micro {
  font-size: 13px;

  opacity: 0.75;

  color: rgba(255,255,255,0.75);
}

/* BUTTON GROUP */
.hero-cta {
  display: flex;

  gap: 14px;

  margin-top: 6px;

  flex-wrap: wrap;
}

./* =========================================
   HERO BUTTONS
========================================= */

.hero-cta{
  display:flex;
  gap:16px;
  margin-top:10px;
  flex-wrap:wrap;
}

/* BOTH BUTTONS */
.btn-primary,
.btn-secondary{

  min-width:220px;

  padding:16px 30px;

  border-radius:999px;

  font-size:15px;
  font-weight:600;

  text-align:center;
  text-decoration: none;
  transition:all 0.35s ease;

  position:relative;

  overflow:hidden;

  backdrop-filter:blur(8px);

  -webkit-backdrop-filter:blur(8px);
}

/* PRIMARY BUTTON */
.btn-primary{

  background:linear-gradient(
    135deg,
    #2EC4C7,
    #1F5FAF
  );

  color:#fff;

  border:none;

  box-shadow:
    0 10px 25px rgba(0,0,0,0.18),
    inset 0 1px 0 rgba(255,255,255,0.15);
}

/* PRIMARY HOVER */
.btn-primary:hover{

  transform:translateY(-3px);

  box-shadow:
    0 18px 35px rgba(0,0,0,0.28);

  filter:brightness(1.05);
}

/* SECONDARY BUTTON */
.btn-secondary{

  background:rgba(255,255,255,0.10);

  border:1px solid rgba(255,255,255,0.35);

  color:#fff;

  box-shadow:
    0 8px 20px rgba(0,0,0,0.12);
}

/* SECONDARY HOVER */
.btn-secondary:hover{

  background:rgba(255,255,255,0.18);

  border-color:rgba(255,255,255,0.55);

  transform:translateY(-3px);

  box-shadow:
    0 15px 30px rgba(0,0,0,0.20);
}

/* subtle glow */
.btn-primary::before,
.btn-secondary::before{

  content:"";

  position:absolute;

  top:0;
  left:-120%;

  width:100%;
  height:100%;

  background:linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,0.18),
    transparent
  );

  transition:0.6s;
}

/* hover shine */
.btn-primary:hover::before,
.btn-secondary:hover::before{
  left:120%;
}

.mobile-short{
  display:none;
}

.mobile-hero-title{
  display:none;
  animation:fadeUp 1s ease forwards;
  animation-delay:0.4s;
  opacity:0;
}

/* MOBILE */
@media(max-width:768px){

  .hero-cta{
    width:100%;
    flex-direction:column;
    gap:12px;
  }
	
  .hero{
    min-height:88vh;
  }
	
  .hero-scroll{
    display:none;
  }
	
  .hero-trust{
    display:none;
  }
	
  .hero-sub{
    display:none;
  }
	
  .hero img{

    animation-duration:24s;
  }

  .mobile-short{
    display:block;
  }
	
  .hero h1:not(.mobile-hero-title){
  display:none;
}

.mobile-hero-title{

  display:block;

  font-size:42px;

  line-height:1.15;

  margin-bottom:18px;

  opacity:1;
}
	
   .btn-secondary{
    display:none;
  }

  .btn-primary {

    width:100%;

    min-width:unset;

    padding:17px 24px;

    font-size:15px;
  }
	
  .hero-micro{

    margin-top:18px;

    font-size:12px;

    line-height:1.6;
  }


}

/* SCROLL CUE */
.hero-scroll {
  position: absolute;

  bottom: 30px;
  left: 50%;

  transform: translateX(-50%);

  font-size: 12px;

  letter-spacing: 2px;

  text-transform: uppercase;

  color: rgba(255,255,255,0.7);

  z-index: 2;
}

/* MOBILE */
@media (max-width: 768px) {


  .hero-content {
    align-items: center;

    text-align: center;

    gap: 14px;
  }

  .hero h1 {
    font-size: 2.2rem;

    line-height: 1.2;
  }

  .hero-sub {
    font-size: 1rem;
  }

  .hero-cta {
    flex-direction: column;

    width: 100%;
  }

  .btn-primary,
  .btn-secondary {
    width: 100%;

    text-align: center;
  }

  .hero-scroll {
    bottom: 20px;

    font-size: 11px;
  }

}

/* =========================================
   QUICK TRUST STRIP
========================================= */

.trust-strip{

  background:#ffffff;

  padding:26px 20px;

  border-bottom:1px solid rgba(0,0,0,0.05);
}

.trust-container{

  max-width:1200px;

  margin:auto;

  display:grid;

  grid-template-columns:repeat(4,1fr);

  gap:18px;
}

/* ITEM */
.trust-item{

  display:flex;

  align-items:center;

  justify-content:center;

  gap:12px;

  background:#f8fafb;

  border:1px solid rgba(0,0,0,0.04);

  border-radius:18px;

  padding:18px 20px;

  transition:0.3s ease;
}

/* HOVER */
.trust-item:hover{

  transform:translateY(-3px);

  box-shadow:0 10px 25px rgba(0,0,0,0.06);
}

/* ICON */
.trust-icon{

  font-size:20px;

  flex-shrink:0;
}

/* TEXT */
.trust-item span:last-child{

  font-size:14px;

  font-weight:500;

  color:#374151;

  line-height:1.5;
}

/* MOBILE */
@media(max-width:768px){

  .trust-container{

    grid-template-columns:1fr 1fr;
  }

  .trust-item{

    justify-content:flex-start;

    padding:16px;
  }

}


/* =========================================
   WHY PEOPLE STAY HERE
========================================= */

.why-stay{

  padding:100px 20px;

  background:#ffffff;
}

.why-container{

  max-width:1200px;

  margin:auto;

  display:grid;

  grid-template-columns:1fr 1fr;

  gap:70px;

  align-items:center;
}

/* IMAGE */
.why-image{

  position:relative;
}

.why-image img{

  width:100%;

  height:680px;

  object-fit:cover;

  border-radius:28px;

  display:block;

  box-shadow:0 20px 50px rgba(0,0,0,0.10);
}

/* CONTENT */
.why-content{

  display:flex;

  flex-direction:column;

  gap:24px;
}

/* TAG */
.why-tag{

  font-size:12px;

  letter-spacing:3px;

  text-transform:uppercase;

  color:var(--primary);

  font-weight:600;
}

/* TITLE */
.why-content h2{

  font-size:40px;

  line-height:1.2;

  color:#111827;

  font-family:'Playfair Display', serif;
}

/* INTRO */
.why-intro{

  font-size:16px;

  line-height:1.9;

  color:#6b7280;

  max-width:540px;
}

/* ITEM */
.why-item{

  padding-bottom:24px;

  border-bottom:1px solid rgba(0,0,0,0.06);
}

/* ITEM TITLE */
.why-item h3{

  font-size:20px;

  margin-bottom:10px;

  color:#111827;
}

/* ITEM TEXT */
.why-item p{

  font-size:15px;

  line-height:1.8;

  color:#6b7280;
}

/* MOBILE */
@media(max-width:992px){

  .why-container{

    grid-template-columns:1fr;

    gap:40px;
  }

  .why-image img{

    height:500px;
  }

}

@media(max-width:768px){

  .why-stay{

    padding:80px 20px;
  }

  .why-content h2{

    font-size:32px;
  }

  .why-image img{

    height:420px;

    border-radius:22px;
  }

  .why-item h3{

    font-size:20px;
  }

}

/* =========================================
   ROOMS SECTION
========================================= */

.rooms{

  padding:110px 20px;

  background:#f8fafb;
}

/* HEAD */
.rooms-head{

  text-align:center;

  max-width:760px;

  margin:0 auto 70px;
}

/* TAG */
.rooms-tag{

  font-size:12px;

  letter-spacing:3px;

  text-transform:uppercase;

  color:var(--primary);

  font-weight:600;

  margin-bottom:18px;
}

/* TITLE */
.rooms-head h2{

  font-size:40px;

  line-height:1.2;

  margin-bottom:20px;

  color:#111827;

  font-family:'Playfair Display', serif;
}

/* INTRO */
.rooms-intro{

  font-size:16px;

  line-height:1.9;

  color:#6b7280;
}

/* GRID */
.rooms-grid{

  display:grid;

  grid-template-columns:repeat(2,1fr);

  gap:28px;
}

/* CARD */
.room-card{

  background:#fff;

  border-radius:28px;

  overflow:hidden;

  transition:0.35s ease;

  position:relative;

  box-shadow:0 12px 35px rgba(0,0,0,0.06);
}

/* FEATURED */
.featured-room{

  transform:translateY(-10px);

  box-shadow:0 20px 45px rgba(0,0,0,0.10);
}

/* HOVER */
.room-card:hover{

  transform:translateY(-8px);

  box-shadow:0 25px 55px rgba(0,0,0,0.12);
}

/* IMAGE */
.room-image{

  overflow:hidden;

  height:280px;
}

.room-image img{

  width:100%;
  height:100%;

  object-fit:cover;

  transition:0.5s ease;
}

.room-card:hover img{

  transform:scale(1.06);
}

/* CONTENT */
.room-content{

  padding:28px;
}

/* TOP */
.room-top{

  display:flex;

  justify-content:space-between;

  gap:15px;

  margin-bottom:18px;
}

/* TITLE */
.room-top h3{

  font-size:24px;

  margin-bottom:6px;

  color:#111827;
}

/* BEST FOR */
.room-best-for{

  font-size:13px;

  color:var(--primary);

  font-weight:600;

  letter-spacing:0.3px;
}

/* SIZE */
.room-size{

  font-size:13px;

  background:#f3f4f6;

  padding:8px 12px;

  border-radius:999px;

  color:#4b5563;

  height:fit-content;
}

/* DESCRIPTION */
.room-description{

  font-size:16px;

  line-height:1.8;

  color:#6b7280;

  margin-bottom:24px;
}

/* FEATURES */
.room-features{

  display:flex;

  flex-wrap:wrap;

  gap:10px;

  margin-bottom:28px;
}

.room-features span{

  background:#f8fafb;

  border:1px solid rgba(0,0,0,0.05);

  padding:10px 14px;

  border-radius:999px;

  font-size:13px;

  color:#374151;
}

/* ACTIONS */
.room-actions{

  display:flex;

  flex-direction:column;

  gap:12px;
}

/* =========================================
   ROOM BUTTONS
========================================= */

.room-actions{

  display:flex;

  flex-direction:column;

  gap:14px;

  margin-top:auto;
}

/* PRIMARY BUTTON */
.room-primary-btn{

  display:flex;

  align-items:center;
  position:relative;
  overflow:hidden;
  justify-content:center;

  width:100%;

  padding:17px 24px;

  border-radius:999px;

  background:linear-gradient(
    135deg,
    #1F5FAF,
    #2EC4C7
  );

  color:#fff;

  font-size:15px;

  font-weight:600;

  letter-spacing:0.2px;
  text-decoration: none;
  box-shadow:
    0 12px 30px rgba(31,95,175,0.25),
    inset 0 1px 0 rgba(255,255,255,0.15);

  transition:all 0.35s ease;
}

/* HOVER */
.room-primary-btn:hover{

  transform:translateY(-3px);

  box-shadow:
    0 18px 40px rgba(31,95,175,0.35);

  filter:brightness(1.04);
}

/* SECONDARY BUTTON */
.room-secondary-btn{

  display:flex;

  align-items:center;

  justify-content:center;

  width:100%;

  padding:16px 24px;

  border-radius:999px;

  background:#ffffff;

  border:1px solid rgba(0,0,0,0.08);

  color:#374151;

  font-size:15px;

  font-weight:500;

  transition:all 0.3s ease;
  text-decoration: none;
  box-shadow:
    0 8px 20px rgba(0,0,0,0.04);
}

/* HOVER */
.room-secondary-btn:hover{

  background:#f8fafb;

  transform:translateY(-2px);

  box-shadow:
    0 14px 28px rgba(0,0,0,0.08);
}

.room-primary-btn::before{

  content:"";

  position:absolute;

  top:0;
  left:-120%;

  width:100%;
  height:100%;

  background:linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,0.18),
    transparent
  );

  transition:0.6s;
}

.room-primary-btn:hover::before{
  left:120%;
}

/* BADGE */
.room-badge{

  position:absolute;

  top:18px;
  left:18px;

  z-index:5;

  background:#fff;

  color:#111827;

  padding:10px 16px;

  border-radius:999px;

  font-size:12px;

  font-weight:600;

  box-shadow:0 8px 20px rgba(0,0,0,0.10);
}

/* TABLET */
@media(max-width:1100px){

  .rooms-grid{

    grid-template-columns:1fr;
  }

  .featured-room{

    transform:none;
  }

}

/* MOBILE */
@media(max-width:768px){

  .rooms{

    padding:90px 20px;
  }

  .rooms-head{

    margin-bottom:50px;
  }

  .rooms-head h2{

    font-size:34px;
  }

  .rooms-intro{

    font-size:16px;
  }

  .room-image{

    height:240px;
  }

  .room-content{

    padding:24px;
  }

  .room-top{

    flex-direction:column;

    gap:10px;
  }

  .room-top h3{

    font-size:24px;
  }

}

/* BOOKING */
.booking {
  padding: 80px 8%;
  text-align: center;
}

/* MOBILE */
.menu-toggle {
  display: none;
  color: #fff;
  font-size: 24px;
  cursor: pointer;
}

@media(max-width:768px){

  .menu-toggle {
    display: block;
  }

  .nav {
    position: absolute;
    top: 70px;
    right: 0;
    background: #0d2c4a;
    flex-direction: column;
    width: 100%;
    display: none;
    padding: 20px;
  }

  .nav.active {
    display: flex;
  }

  .dropdown-menu {
    position: static;
    box-shadow: none;
    background: transparent;
  }

  .dropdown-menu a {
    color: #fff;
  }

  .room-grid {
    grid-template-columns: 1fr;
  }

  .trust-grid {
    grid-template-columns: 1fr 1fr;
  }

  .hero h1 {
    font-size: 2.2rem;
  }
}
/* MOBILE ACCORDION MENU */
@media(max-width:768px){

  .nav a,
  .dropdown-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1px solid rgba(255,255,255,0.15);
    color: #fff;
    font-size: 1rem;
  }

  .dropdown-header {
    cursor: pointer;
  }

  .arrow {
    transition: 0.3s ease;
  }

  .dropdown-menu {
    display: none;
    flex-direction: column;
    padding-left: 15px;
  }

  .dropdown-menu a {
    padding: 12px 0;
    font-size: 0.95rem;
    color: #cfefff;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }

  /* OPEN STATE */
  .dropdown.open .dropdown-menu {
    display: flex;
  }

  .dropdown.open .arrow {
    transform: rotate(180deg);
  }

}

/* HERO IMAGE (SEDIKIT DEPTH BIAR HIDUP) */
.hero img{

  width:100%;
  height:100%;

  object-fit:cover;

  transform:scale(1);
  filter:saturate(1.03);

  animation:heroZoom 18s ease-in-out infinite alternate;

  will-change:transform;
}

/* ANIMASI TEXT (FADE UP - PREMIUM FEEL) */
@keyframes heroZoom{

  0%{

    transform:
      scale(1)
      translateX(0)
      translateY(0);
  }

  100%{

    transform:
      scale(1.08)
      translateX(-1%)
      translateY(-1%);
  }

}

/* DELAY BIAR LEBIH NATURAL */
.hero-tag {
  animation: fadeUp 1s ease forwards;
  animation-delay: 0.2s;
  opacity: 0;
}

.hero h1 {
  animation: fadeUp 1s ease forwards;
  animation-delay: 0.4s;
  opacity: 0;
}

.hero-sub {
  animation: fadeUp 1s ease forwards;
  animation-delay: 0.6s;
  opacity: 0;
}

.hero-cta {
  animation: fadeUp 1s ease forwards;
  animation-delay: 0.8s;
  opacity: 0;
}

/* KEYFRAME */
@keyframes fadeUp {
  from {
    transform: translateY(25px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/* =========================================
   SIMPLE BOOKING CTA
========================================= */

.booking-simple{

  padding:80px 20px;

  background:#ffffff;

  text-align:center;

  border-bottom:1px solid rgba(0,0,0,0.05);
}

/* CONTAINER FEEL */
.booking-simple{

  display:flex;

  flex-direction:column;

  align-items:center;

  justify-content:center;
}

/* TITLE */
.booking-simple h2{

  font-size:40px;

  line-height:1.2;

  margin-bottom:18px;

  color:#111827;

  font-family:'Playfair Display', serif;

  max-width:700px;
}

/* TEXT */
.booking-simple p{

  font-size:16px;

  line-height:1.9;

  color:#6b7280;

  max-width:620px;

  margin-bottom:35px;
}

/* BUTTON */
.booking-simple a{

  display:inline-flex;

  align-items:center;

  justify-content:center;

  padding:18px 36px;

  border-radius:999px;

  background:linear-gradient(
    135deg,
    #1F5FAF,
    #2EC4C7
  );

  color:#fff;

  font-size:15px;

  font-weight:600;

  text-decoration:none;

  box-shadow:
    0 15px 35px rgba(31,95,175,0.22);

  transition:all 0.35s ease;
}

/* HOVER */
.booking-simple a:hover{

  transform:translateY(-3px);

  box-shadow:
    0 22px 45px rgba(31,95,175,0.30);

  filter:brightness(1.04);
}

/* MOBILE */
@media(max-width:768px){

  .booking-simple{

    padding:70px 20px;
  }

  .booking-simple h2{

    font-size:32px;
  }

  .booking-simple p{

    font-size:16px;
  }

  .booking-simple a{

    width:100%;
  }

}


/* =========================================
   EXPERIENCE SECTION
========================================= */

.experience{

  padding:120px 20px;

  background:#ffffff;
}

/* HEAD */
.experience-head{

  text-align:center;

  max-width:760px;

  margin:0 auto 90px;
}

/* TAG */
.experience-tag{

  font-size:12px;

  letter-spacing:3px;

  text-transform:uppercase;

  color:var(--primary);

  font-weight:600;

  margin-bottom:18px;
}

/* TITLE */
.experience-head h2{

  font-size:40px;

  line-height:1.2;

  margin-bottom:22px;

  color:#111827;

  font-family:'Playfair Display', serif;
}

/* INTRO */
.experience-intro{

  font-size:16px;

  line-height:1.9;

  color:#6b7280;
}

/* ROW */
.experience-row{

  display:grid;

  grid-template-columns:1fr 1fr;

  gap:70px;

  align-items:flex-start;

  margin-bottom:90px;
}

/* REVERSE */
.experience-row.reverse{

  direction:rtl;
}

.experience-row.reverse .experience-content{

  direction:ltr;
}

/* IMAGE */
.experience-image{

  overflow:hidden;

  border-radius:30px;

  position:relative;
}

.experience-image img{

  width:100%;

  height:420px;

  object-fit:cover;

  display:block;

  transition:0.5s ease;
}

/* HOVER */
.experience-row:hover img{

  transform:scale(1.04);
}

/* CONTENT */
.experience-content{

  max-width:520px;
}

/* SMALL TAG */
.experience-small-tag{

  font-size:12px;

  letter-spacing:3px;

  text-transform:uppercase;

  color:var(--primary);

  font-weight:600;

  margin-bottom:18px;
}

/* TITLE */
.experience-content h3{

  font-size:34px;

  line-height:1.2;

  margin-bottom:22px;

  color:#111827;

  font-family:'Playfair Display', serif;
}

/* TEXT */
.experience-content p{

  font-size:16px;

  line-height:1.9;

  color:#6b7280;
}

/* MOBILE */
@media(max-width:992px){

  .experience-row{

    grid-template-columns:1fr;

    gap:40px;
  }

  .experience-row.reverse{

    direction:ltr;
  }

  .experience-content{

    max-width:100%;
  }

}

@media(max-width:768px){

  .experience{

    padding:90px 20px;
  }

  .experience-head{

    margin-bottom:60px;
  }

  .experience-head h2{

    font-size:36px;
  }

  .experience-content h3{

    font-size:30px;
  }

  .experience-image img{

    height:420px;
  }

  .experience-row{

    margin-bottom:70px;
  }

}

/* =========================================
   LOCATION SECTION
========================================= */

.location-section{

  padding:120px 20px;

  background:#fff;
}

.location-container{

  max-width:1200px;

  margin:auto;

  display:grid;

  grid-template-columns:1fr 1fr;

  gap:70px;

  align-items:center;
}

/* CONTENT */
.location-content{

  max-width:540px;
}

/* TAG */
.location-tag{

  font-size:12px;

  letter-spacing:3px;

  text-transform:uppercase;

  color:var(--primary);

  font-weight:600;

  margin-bottom:18px;
}

/* TITLE */
.location-content h2{

  font-size:40px;

  line-height:1.2;

  margin-bottom:22px;

  color:#111827;

  font-family:'Playfair Display', serif;
}

/* INTRO */
.location-intro{

  font-size:16px;

  line-height:1.9;

  color:#6b7280;

  margin-bottom:40px;
}

/* LIST */
.location-list{

  display:flex;

  flex-direction:column;

  gap:28px;

  margin-bottom:40px;
}

/* ITEM */
.location-item{

  display:flex;

  gap:18px;

  align-items:flex-start;
}

/* ICON */
.location-icon{

  width:52px;
  height:52px;

  min-width:52px;

  border-radius:16px;

  background:#ffffff;

  display:flex;

  align-items:center;

  justify-content:center;

  font-size:20px;

  box-shadow:0 10px 25px rgba(0,0,0,0.15);
}

/* ITEM TITLE */
.location-item h3{

  font-size:20px;

  margin-bottom:6px;

  color:#111827;
}

/* ITEM TEXT */
.location-item p{

  font-size:15px;

  line-height:1.8;

  color:#6b7280;
}

/* LOCATION BUTTON */
.location-btn{

  display:inline-flex;

  align-items:center;

  justify-content:center;

  padding:18px 34px;

  border-radius:999px;

  background:#0f3d63;

  color:#ffffff;

  font-weight:600;

  font-size:15px;

  text-decoration:none;

  box-shadow:
    0 14px 30px rgba(15,61,99,0.22);

  transition:all 0.35s ease;
}

/* HOVER */
.location-btn:hover{

  background:#14507f;

  transform:translateY(-3px);

  box-shadow:
    0 20px 40px rgba(15,61,99,0.30);
}

/* IMAGE */
.location-image{
  position:relative;
  overflow:hidden;
  border-radius:30px;
}

.location-image::after{

  content:"";

  position:absolute;
  inset:0;

  background:linear-gradient(
    to bottom,
    rgba(0,0,0,0.05),
    rgba(0,0,0,0.18)
  );
}

.location-image img{

  width:100%;

  height:720px;

  object-fit:cover;

  border-radius:30px;

  display:block;

  box-shadow:0 20px 50px rgba(0,0,0,0.10);
}

/* FLOATING CARD */
.location-floating-card{

  position:absolute;

  bottom:30px;
  left:30px;

  background:rgba(255,255,255,0.92);

  backdrop-filter:blur(10px);

  border-radius:22px;

  padding:18px 22px;

  display:flex;

  align-items:center;

  gap:14px;

  box-shadow:0 15px 35px rgba(0,0,0,0.12);
}

.location-floating-card span{

  font-size:26px;
}

.location-floating-card strong{

  display:block;

  font-size:16px;

  color:#111827;
}

.location-floating-card p{

  font-size:13px;

  color:#6b7280;
}

/* TABLET */
@media(max-width:992px){

  .location-container{

    grid-template-columns:1fr;

    gap:50px;
  }

  .location-content{

    max-width:100%;
  }

}

/* MOBILE */
@media(max-width:768px){

  .location-section{

    padding:90px 20px;
  }

  .location-content h2{

    font-size:34px;
  }

  .location-intro{

    font-size:16px;
  }

  .location-item h3{

    font-size:20px;
  }

  .location-image img{

    height:460px;
  }

  .location-floating-card{

    left:20px;
    right:20px;

    bottom:20px;
  }

}

/* =========================================
   REVIEWS SECTION
========================================= */

.reviews{

  padding:120px 20px;

  background:#f8fafb;
}

/* HEAD */
.reviews-head{

  text-align:center;

  max-width:760px;

  margin:0 auto 70px;
}

/* TAG */
.reviews-tag{

  font-size:12px;

  letter-spacing:3px;

  text-transform:uppercase;

  color:var(--primary);

  font-weight:600;

  margin-bottom:18px;
}

/* TITLE */
.reviews-head h2{

  font-size:40px;

  line-height:1.2;

  margin-bottom:20px;

  color:#111827;

  font-family:'Playfair Display', serif;
}

/* INTRO */
.reviews-intro{

  font-size:16px;

  line-height:1.9;

  color:#6b7280;
}

/* LAYOUT */
.reviews-layout{

  display:grid;

  grid-template-columns:1.2fr 0.8fr;

  gap:28px;

  align-items:stretch;
}

/* FEATURED REVIEW */
.featured-review{

  background:#f8fafb;

  border-radius:34px;

  padding:50px;

  display:flex;

  flex-direction:column;

  justify-content:space-between;

  box-shadow:0 15px 40px rgba(0,0,0,0.06);
}

/* REVIEW META */
.review-meta{

  display:flex;

  flex-direction:column;

  gap:10px;
}

/* VERIFIED BADGE */
.verified-review{

  display:inline-flex;

  align-items:center;

  gap:8px;

  width:fit-content;

  padding:8px 14px;

  border-radius:999px;

  background:#ecfdf5;

  border:1px solid #bbf7d0;

  color:#166534;

  font-size:13px;

  font-weight:600;
}

/* SMALL REVIEW FOOTER */
.small-review-footer{

  display:flex;

  flex-direction:column;

  gap:10px;
}

/* BADGE */
.small-review-badge{

  display:inline-flex;

  align-items:center;

  width:fit-content;

  padding:7px 12px;

  border-radius:999px;

  background:#eff6ff;

  border:1px solid #bfdbfe;

  color:#1d4ed8;

  font-size:12px;

  font-weight:600;
}

/* GOOGLE MINI */
.google-rating-mini{

  font-size:14px;

  color:#6b7280;
}

/* STARS */
.review-stars{

  font-size:20px;

  color:#fbbf24;

  margin-bottom:28px;
}

/* FEATURED TEXT */
.featured-review-text{

  font-size:28px;

  line-height:1.5;

  color:#111827;

  margin-bottom:36px;

  font-family:'Playfair Display', serif;
}

/* AUTHOR */
.featured-review-author{

  font-size:15px;

  font-weight:600;

  color:#374151;

  margin-bottom:36px;
}

/* BOTTOM */
.featured-review-bottom{

  display:flex;

  align-items:center;

  justify-content:space-between;

  gap:20px;

  flex-wrap:wrap;
}

/* MINI RATING */
.google-rating-mini{

  font-size:14px;

  color:#6b7280;
}

/* LINK */
.review-link{

  color:var(--primary);

  font-weight:600;

  transition:0.3s ease;
}

.review-link:hover{

  opacity:0.8;
}

/* SMALL REVIEWS */
.small-reviews{

  display:flex;

  flex-direction:column;

  gap:24px;
}

/* CARD */
.small-review-card{

  background:#ffffff;

  border:1px solid rgba(0,0,0,0.06);

  border-radius:28px;

  padding:36px;

  box-shadow:0 10px 25px rgba(0,0,0,0.04);

  transition:0.3s ease;
}

/* HOVER */
.small-review-card:hover{

  transform:translateY(-4px);

  box-shadow:0 18px 35px rgba(0,0,0,0.08);
}

/* SMALL STAR */
.review-stars.small{

  font-size:16px;

  margin-bottom:20px;
}

/* TEXT */
.small-review-card p{

  font-size:16px;

  line-height:1.8;

  color:#4b5563;

  margin-bottom:24px;
}

/* AUTHOR */
.small-review-card span{

  font-size:14px;

  font-weight:600;

  color:#111827;
}

/* TABLET */
@media(max-width:992px){

  .reviews-layout{

    grid-template-columns:1fr;
  }

}

/* MOBILE */
@media(max-width:768px){

  .reviews{

    padding:90px 20px;
  }

  .reviews-head{

    margin-bottom:50px;
  }

  .reviews-head h2{

    font-size:34px;
  }

  .featured-review{

    padding:34px;
  }

  .featured-review-text{

    font-size:20px;
  }

  .small-review-card{

    padding:28px;
  }

}

/* =========================================
   FINAL CTA
========================================= */

.final-cta{

  position:relative;

  min-height:720px;

  display:flex;

  align-items:center;

  justify-content:center;

  overflow:hidden;

  padding:80px 20px;

  color:#fff;
  	
}

/* IMAGE */
.final-cta-image{

  position:absolute;

  inset:0;

  z-index:-2;
}

.final-cta-image img{

  width:100%;

  height:100%;

  object-fit:cover;

  display:block;
}

/* OVERLAY */
.final-cta-overlay{

  position:absolute;

  inset:0;

  background:linear-gradient(
    to bottom,
    rgba(10,20,30,0.45),
    rgba(10,20,30,0.65)
  );

  z-index:-1;
}

/* CONTENT */
.final-cta-content{

  max-width:760px;

  text-align:center;

  display:flex;

  flex-direction:column;

  align-items:center;
}

/* TAG */
.final-cta-tag{

  font-size:12px;

  letter-spacing:3px;

  text-transform:uppercase;

  margin-bottom:20px;

  opacity:0.85;
}

/* TITLE */
.final-cta-content h2{

  font-size:52px;

  line-height:1.1;

  margin-bottom:26px;

  font-family:'Playfair Display', serif;
}

/* TEXT */
.final-cta-text{

  font-size:18px;

  line-height:1.9;

  color:rgba(255,255,255,0.88);

  margin-bottom:40px;

  max-width:620px;
}

/* BUTTON */
.final-cta-btn{

  display:inline-flex;

  align-items:center;

  justify-content:center;

  padding:18px 38px;

  border-radius:999px;

  background:linear-gradient(
    135deg,
    #1F5FAF,
    #2EC4C7
  );

  color:#fff;

  font-size:16px;

  font-weight:600;
  text-decoration: none;
  box-shadow:
    0 18px 40px rgba(0,0,0,0.22);

  transition:0.35s ease;
}

/* HOVER */
.final-cta-btn:hover{

  transform:translateY(-3px);

  box-shadow:
    0 24px 50px rgba(0,0,0,0.28);

  filter:brightness(1.04);
}

/* NOTE */
.final-cta-note{

  margin-top:28px;

  font-size:14px;

  color:rgba(255,255,255,0.72);

  letter-spacing:0.2px;
}

/* MOBILE */
@media(max-width:768px){

  .final-cta{

    min-height:620px;

    padding:70px 20px;
  }

  .final-cta-content h2{

    font-size:40px;

    line-height:1.2;
  }

  .final-cta-text{

    font-size:16px;
  }

  .final-cta-btn{

    width:100%;
  }

}

/* =========================================
   FAQ
========================================= */
.faq-section{
  padding:100px 20px;
  background:#f8fafb;
}

.faq-container{
  max-width:900px;
  margin:auto;
}

.faq-tag{
  font-size:12px;
  letter-spacing:3px;
  text-transform:uppercase;
  margin-bottom:16px;
  color:#1F5FAF;
  font-weight:600;
}

.faq-container h2{
  font-size:40px;
  margin-bottom:50px;
  font-family:'Playfair Display', serif;
}

.faq-item{
  padding:28px 0;
  border-bottom:1px solid rgba(0,0,0,0.08);
}

.faq-item h3{
  font-size:20px;
  margin-bottom:12px;
  color:#111827;
}

.faq-item p{
  line-height:1.9;
  color:#6b7280;
}

/* =========================================
   FOOTER
========================================= */

.footer {
  background: linear-gradient( to bottom,#0f1720, #081018);
  color: #fff;
  padding: 70px 8% 30px;
}

.footer-trust{

  display:inline-flex;

  align-items:center;

  margin-top:20px;

  padding:12px 18px;

  border-radius:999px;

  background:linear-gradient(
    135deg,
    rgba(255,255,255,0.08),
    rgba(255,255,255,0.03)
  );

  border:1px solid rgba(255,255,255,0.10);

  color:#f3f4f6;

  font-size:13px;

  font-weight:500;

  box-shadow:
    0 10px 25px rgba(0,0,0,0.18);

  backdrop-filter:blur(10px);
}

.footer-contact p{

  width:fit-content;

  padding:10px 14px;

  border-radius:14px;

  background:rgba(255,255,255,0.04);

  border:1px solid rgba(255,255,255,0.06);

  backdrop-filter:blur(8px);
}

/* GRID */
.footer-container {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 40px;
}

/* COLUMN */
.footer-col h3,
.footer-col h4 {
  margin-bottom: 12px;
}

.footer-col p {
  font-size: 14px;
  line-height: 1.6;
  opacity: 0.8;
}

.footer-col a {
  display: block;
  color: #cfefff;
  text-decoration: none;
  margin-bottom: 8px;
  font-size: 14px;
  transition: 0.2s;
}

.footer-col a:hover {
  color: #2EC4C7;
}

/* BOTTOM */
.footer-bottom {
  margin-top: 40px;
  margin-bottom: 80px;	
  text-align: center;
  font-size: 13px;
  opacity: 0.7;
}

/* MOBILE */
@media(max-width:768px){

  .footer-container {
    grid-template-columns: 1fr;
    text-align: center;
  }

}



.booking-note{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:6px;
  margin-top: 15px;
}

html {
  scroll-behavior: smooth;
}

.footer-disclaimer{

  max-width:900px;

  margin:40px auto 0;

  text-align:center;

  font-size:12px;

  line-height:1.8;

  color:rgba(255,255,255,0.55);
}

.mobile-sticky-book{

  position:fixed;

  bottom:0;
  left:0;

  width:100%;

  padding:14px 20px;

  background:#ffffff;

  box-shadow:0 -5px 25px rgba(0,0,0,0.08);

  z-index:999;
}

.mobile-sticky-book a{

  display:flex;

  align-items:center;

  justify-content:center;

  background:linear-gradient(
    135deg,
    #1F5FAF,
    #2EC4C7
  );

  color:#fff;

  font-weight:600;

  border-radius:999px;

  padding:16px;

  text-decoration:none;
}

@media(min-width:769px){

  .mobile-sticky-book{
    display:none;
  }

}


