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

html{
  scroll-behavior:smooth;
}

body{

  font-family:'Poppins',sans-serif;

  background:#050505;

  color:#fff;

  overflow-x:hidden;

}

a{
  text-decoration:none;
  color:inherit;
}

ul{
  list-style:none;
}

:root{

  --bg:#050505;

  --wine:#7a0019;
  --wine-light:#b3002d;

  --gold:#d4af37;

}
/* =========================
   GLOBAL H1 STYLE
========================= */

h1{

  position:relative;

  font-size:56px;

  line-height:1.04;

  font-family:
  'Playfair Display',serif;

  font-weight:600;

  letter-spacing:-1px;

  margin-bottom:26px;

  background:
  linear-gradient(
  180deg,
  #ffffff 0%,
  #f5d97d 135%
  );

  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;

  text-shadow:
  0 10px 34px rgba(212,175,55,.10);

}

/* =========================
   TABLET
========================= */

@media(max-width:992px){

  h1{

    font-size:46px;

    line-height:1.08;

  }

}

/* =========================
   MOBILE
========================= */

@media(max-width:576px){

  h1{

    font-size:36px;

    line-height:1.12;

    letter-spacing:-.5px;

    margin-bottom:18px;

  }

}
/* =========================
   GLOBAL H2 STYLE
========================= */

h2{

  position:relative;

  font-size:40px;

  line-height:1.12;

  font-family:
  'Playfair Display',serif;

  font-weight:600;

  letter-spacing:-.6px;

  margin-bottom:24px;

  background:
  linear-gradient(
  180deg,
  #ffffff 0%,
  #f3d57a 140%
  );

  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;

  text-shadow:
  0 6px 24px rgba(212,175,55,.08);

}

/* =========================
   TABLET
========================= */

@media(max-width:992px){

  h2{

    font-size:38px;

    line-height:1.14;

  }

}

/* =========================
   MOBILE
========================= */

@media(max-width:576px){

  h2{

    font-size:30px;

    line-height:1.18;

    letter-spacing:-.4px;

    margin-bottom:18px;

  }

}
/* =========================
   GLOBAL H3 STYLE
========================= */

h3{

  position:relative;

  font-size:28px;

  line-height:1.18;

  font-family:
  'Playfair Display',serif;

  font-weight:600;

  letter-spacing:-.4px;

  margin-bottom:16px;

  color:#fff;

  text-shadow:
  0 4px 18px rgba(212,175,55,.06);

}

/* =========================
   TABLET
========================= */

@media(max-width:992px){

  h3{

    font-size:24px;

    line-height:1.2;

  }

}

/* =========================
   MOBILE
========================= */

@media(max-width:576px){

  h3{

    font-size:22px;

    line-height:1.24;

    letter-spacing:-.2px;

    margin-bottom:14px;

  }

}
/* =========================
   HEADER
========================= */

.site-header{

  position:fixed;

  top:0;
  left:0;

  width:100%;

  z-index:9999;

  padding:18px 40px;

  transition:.4s ease;

}

.site-header.header-active{

  background:
  rgba(0,0,0,.72);

  backdrop-filter:blur(16px);

  border-bottom:
  1px solid rgba(255,255,255,.05);

}

/* =========================
   CONTAINER
========================= */

.header-container{

  max-width:1400px;

  margin:auto;

  display:flex;
  align-items:center;
  justify-content:space-between;

}

/* =========================
   LOGO
========================= */

.site-logo{
  line-height:1;
  position:relative;
  z-index:10000;
}

.site-logo h2{

  font-family:
  'Playfair Display',serif;

  font-size:32px;

  letter-spacing:2px;

  color:var(--gold);

}

.site-logo span{

  display:block;

  margin-top:6px;

  font-size:11px;

  letter-spacing:4px;

}

/* =========================
   NAV MENU
========================= */

.nav-menu{

  display:flex;
  align-items:center;

  gap:38px;

}

.nav-menu li{
  position:relative;
}

.nav-menu li a{

  display:flex;
  align-items:center;

  gap:8px;

  color:#fff;

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

  transition:.3s ease;

}

.nav-menu li a:hover{
  color:var(--gold);
}

/* =========================
   DROPDOWN ICON
========================= */

.dropdown-icon{

  font-size:9px;

  transition:.3s ease;

}

.dropdown-item:hover
.dropdown-icon{

  transform:translateY(2px);

}

/* =========================
   DROPDOWN MENU
========================= */

.dropdown-menu{

  position:absolute;

  top:145%;
  left:0;

  min-width:250px;

  background:
  linear-gradient(
  135deg,
  rgba(18,18,18,.96),
  rgba(28,0,8,.96)
  );

  backdrop-filter:blur(18px);

  border:
  1px solid rgba(255,255,255,.06);

  border-radius:22px;

  padding:14px 0;

  opacity:0;
  visibility:hidden;

  transform:
  translateY(12px);

  transition:.35s ease;

  box-shadow:
  0 15px 40px rgba(0,0,0,.45);

}

.dropdown-item:hover
.dropdown-menu{

  opacity:1;
  visibility:visible;

  transform:
  translateY(0);

}

.dropdown-menu a{

  display:block;

  padding:14px 24px;

  color:#ddd;

  font-size:14px;

  transition:.3s ease;

}

.dropdown-menu a:hover{

  color:var(--gold);

  background:
  rgba(255,255,255,.03);

  padding-left:32px;

}

/* =========================
   ACTION BUTTONS
========================= */

.desktop-actions,
.mobile-actions{

  display:flex;
  align-items:center;

  gap:14px;

}

.mobile-actions{
  display:none;
}

.action-btn{

  width:48px;
  height:48px;

  border-radius:50%;

  display:flex;
  align-items:center;
  justify-content:center;

  background:
  linear-gradient(
  135deg,
  rgba(255,255,255,.06),
  rgba(255,255,255,.02)
  );

  border:
  1px solid rgba(255,255,255,.08);

  backdrop-filter:blur(10px);

  transition:.35s ease;

}

.action-btn i{

  color:#fff;

  font-size:18px;

}

.action-btn:hover{

  transform:translateY(-4px);

  border-color:
  rgba(212,175,55,.35);

  box-shadow:
  0 12px 28px rgba(179,0,45,.28);

}

.action-btn:hover i{
  color:var(--gold);
}

/* =========================
   MENU TOGGLE
========================= */

.menu-toggle{

  display:none;

  width:46px;
  height:46px;

  border-radius:14px;

  background:
  linear-gradient(
  135deg,
  rgba(255,255,255,.06),
  rgba(255,255,255,.02)
  );

  border:
  1px solid rgba(255,255,255,.08);

  align-items:center;
  justify-content:center;

  cursor:pointer;

  position:relative;
  z-index:10000;

}

.menu-toggle i{

  color:#fff;

  font-size:20px;

}

/* =========================
   MOBILE CLOSE
========================= */

.mobile-close{
  display:none;
}

/* =========================
   HEADER BANNER
========================= */

.header-banner{

  position:relative;

  width:100%;
  height:100vh;

  overflow:hidden;

}

/* BANNER IMAGE */

.banner-image{

  position:absolute;

  inset:0;

  background-size:cover;
  background-position:center;

}

/* DESKTOP */

.desktop-banner{

  background-image:
  url('../images/banner-desktop.webp');

}

/* MOBILE */

.mobile-banner{
  display:none;

  background-image:
  url('../images/banner-mobile.webp');

}

/* OVERLAY */

.banner-overlay{

  position:absolute;

  inset:0;

  background:

  linear-gradient(
  to top,
  rgba(0,0,0,.88),
  rgba(0,0,0,.25)
  ),

  linear-gradient(
  135deg,
  rgba(122,0,25,.18),
  transparent 50%
  );

  z-index:1;

}

/* CONTENT */

.banner-content{

  position:relative;

  z-index:2;

  width:100%;
  max-width:1400px;

  height:100%;

  margin:auto;

  padding:0 80px;

  display:flex;
  flex-direction:column;
  justify-content:center;

}

.banner-subtitle{

  width:max-content;

  padding:10px 18px;

  border-radius:40px;

  background:
  rgba(255,255,255,.06);

  border:
  1px solid rgba(255,255,255,.08);

  backdrop-filter:blur(10px);

  color:var(--gold);

  font-size:14px;

  margin-bottom:24px;

}

.banner-content h1{

  max-width:700px;

  font-size:56px;

  line-height:1.1;

  font-family:
  'Playfair Display',serif;

}

.banner-content p{

  max-width:580px;

  margin-top:26px;

  color:#d0d0d0;

  font-size:17px;

  line-height:1.8;

}

/* BUTTONS */

.banner-buttons{

  display:flex;
  align-items:center;

  gap:18px;

  margin-top:38px;

}

.primary-btn,
.secondary-btn{

  height:56px;

  padding:0 34px;

  border-radius:50px;

  display:flex;
  align-items:center;
  justify-content:center;

  font-size:15px;

  transition:.35s ease;

}

.primary-btn{

  background:
  linear-gradient(
  135deg,
  #7a0019,
  #b3002d
  );

  box-shadow:
  0 10px 30px rgba(179,0,45,.28);

}

.secondary-btn{

  background:
  rgba(255,255,255,.06);

  border:
  1px solid rgba(255,255,255,.08);

  backdrop-filter:blur(10px);

}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:992px){

  .site-header{
    padding:16px 20px;
  }

  .desktop-actions{
    display:none;
  }

  .menu-toggle{
    display:flex;
  }

  /* MOBILE MENU */

  .nav-menu{

    position:fixed;

    top:0;
    right:-100%;

    width:320px;
    height:100vh;

    background:
    linear-gradient(
    135deg,
    rgba(10,10,10,.98),
    rgba(22,0,8,.98)
    );

    backdrop-filter:blur(18px);

    flex-direction:column;

    align-items:flex-start;

    gap:28px;

    padding:
    100px 30px 40px;

    transition:.45s ease;

    z-index:99999;

    overflow-y:auto;

  }

  .nav-menu.active{
    right:0;
  }

  .nav-menu li{
    width:100%;
  }

  .nav-menu li a{

    width:100%;

    justify-content:space-between;

    font-size:17px;

  }

  /* MOBILE CLOSE */

  .mobile-close{

    position:absolute;

    top:22px;
    right:22px;

    width:44px;
    height:44px;

    border-radius:14px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
    rgba(255,255,255,.06);

    border:
    1px solid rgba(255,255,255,.08);

    cursor:pointer;

  }

  .mobile-close i{

    color:#fff;

    font-size:20px;

  }

  /* MOBILE DROPDOWN */

  .dropdown-menu{

    position:static;

    opacity:1;
    visibility:visible;

    transform:none;

    display:none;

    min-width:100%;

    margin-top:16px;

    background:
    rgba(255,255,255,.03);

    border-radius:18px;

    padding:10px 0;

    box-shadow:none;

  }

  .dropdown-item.active
  .dropdown-menu{

    display:block;

  }

  .dropdown-item.active
  .dropdown-icon{

    transform:rotate(180deg);

  }

  .mobile-actions{

    display:flex;

    margin-top:10px;

  }

  /* MOBILE BANNER */

  .desktop-banner{
    display:none;
  }

  .mobile-banner{
    display:block;
  }

  .banner-content{

    align-items:center;

    text-align:center;

    padding:0 24px;

  }

  .banner-content h1{

    font-size:42px;

  }

  .banner-content p{

    font-size:15px;

    margin-top:18px;

  }

  .banner-buttons{

    flex-direction:column;

    width:100%;

    margin-top:28px;

  }

  .primary-btn,
  .secondary-btn{

    width:100%;
    max-width:260px;

    height:52px;

  }

}
/* =========================
   PREMIUM CONTENT SECTION
========================= */

.luxury-section{

  position:relative;

  padding:120px 20px;

  overflow:hidden;

  background:

  radial-gradient(
  circle at top left,
  rgba(122,0,25,.22),
  transparent 30%
  ),

  radial-gradient(
  circle at bottom right,
  rgba(179,0,45,.12),
  transparent 30%
  ),

  linear-gradient(
  135deg,
  #050505 0%,
  #120008 45%,
  #050505 100%
  );

}

/* =========================
   CONTAINER
========================= */

.luxury-container{

  max-width:1400px;

  margin:auto;

  display:grid;

  grid-template-columns:
  1.1fr .9fr;

  gap:70px;

  align-items:center;

}

/* =========================
   LEFT CONTENT
========================= */

.section-tag{

  display:inline-block;

  padding:10px 18px;

  border-radius:40px;

  background:
  rgba(255,255,255,.06);

  border:
  1px solid rgba(255,255,255,.08);

  backdrop-filter:blur(12px);

  color:var(--gold);

  font-size:14px;
  font-weight:500;

  letter-spacing:1px;

  margin-bottom:26px;

}

.luxury-content h1{

  font-size:58px;

  line-height:1.15;

  font-family:
  'Playfair Display',serif;

  color:#fff;

  margin-bottom:28px;

}

.luxury-content p{

  max-width:650px;

  color:#d0d0d0;

  font-size:16px;

  line-height:1.9;

}

/* =========================
   FEATURES
========================= */

.luxury-features{

  display:grid;

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

  gap:18px;

  margin-top:36px;

}

.feature-item{

  display:flex;
  align-items:center;

  gap:12px;

  color:#fff;

  font-size:15px;

}

.feature-item i{

  color:var(--gold);

  font-size:14px;

}

/* =========================
   BUTTON
========================= */

.luxury-btn{

  display:inline-flex;

  align-items:center;
  justify-content:center;

  height:56px;

  padding:0 34px;

  border-radius:50px;

  margin-top:42px;

  background:
  linear-gradient(
  135deg,
  #7a0019,
  #b3002d
  );

  color:#fff;

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

  transition:.35s ease;

  box-shadow:
  0 12px 30px rgba(179,0,45,.28);

}

.luxury-btn:hover{

  transform:translateY(-4px);

  box-shadow:
  0 16px 40px rgba(179,0,45,.38);

}

/* =========================
   RIGHT IMAGE
========================= */

.luxury-image-wrapper{

  position:relative;

}

.luxury-image{

  position:relative;

  overflow:hidden;

  border-radius:34px;

  background:#111;

}

/* IMAGE */

.luxury-image img{

  width:100%;

  display:block;

  transition:1s ease;

}

/* OVERLAY */

.luxury-image::after{

  content:"";

  position:absolute;

  inset:0;

  background:
  linear-gradient(
  to top,
  rgba(0,0,0,.7),
  transparent 50%
  );

}

/* HOVER */

.luxury-image:hover img{

  transform:scale(1.06);

}

/* =========================
   IMAGE BADGE
========================= */

.image-badge{

  position:absolute;

  left:25px;
  bottom:25px;

  z-index:5;

  padding:16px 20px;

  border-radius:22px;

  background:
  rgba(255,255,255,.08);

  border:
  1px solid rgba(255,255,255,.08);

  backdrop-filter:blur(14px);

}

.image-badge span{

  display:block;

  color:#d4d4d4;

  font-size:13px;

  margin-bottom:6px;

}

.image-badge strong{

  color:#fff;

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

}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:992px){

  .luxury-section{

    padding:80px 20px;

  }

  .luxury-container{

    grid-template-columns:1fr;

    gap:50px;

  }

  .luxury-content{

    text-align:center;

  }

  .section-tag{
    margin:auto auto 22px;
  }

  .luxury-content h1{

    font-size:38px;

  }

  .luxury-content p{

    max-width:100%;

    font-size:15px;

    line-height:1.8;

  }

  .luxury-features{

    grid-template-columns:1fr;

    gap:16px;

    margin-top:28px;

  }

  .feature-item{

    justify-content:center;

  }

  .luxury-btn{

    margin-top:34px;

  }

  .luxury-image{

    border-radius:28px;

  }

  .image-badge{

    left:18px;
    bottom:18px;

    padding:14px 18px;

  }

}
/* =========================
   PREMIUM CATEGORIES
========================= */

.premium-categories{

  position:relative;

  padding:120px 20px;

  overflow:hidden;

  background:

  radial-gradient(
  circle at top right,
  rgba(179,0,45,.14),
  transparent 28%
  ),

  radial-gradient(
  circle at bottom left,
  rgba(122,0,25,.18),
  transparent 30%
  ),

  linear-gradient(
  135deg,
  #080808 0%,
  #170009 45%,
  #090909 100%
  );

}

/* =========================
   CONTAINER
========================= */

.categories-container{

  max-width:1400px;

  margin:auto;

}

/* =========================
   SECTION HEADING
========================= */

.section-heading{

  text-align:center;

  max-width:760px;

  margin:0 auto 70px;

}

.section-tag{

  display:inline-block;

  padding:10px 18px;

  border-radius:40px;

  background:
  rgba(255,255,255,.06);

  border:
  1px solid rgba(255,255,255,.08);

  backdrop-filter:blur(12px);

  color:var(--gold);

  font-size:14px;
  font-weight:500;

  letter-spacing:1px;

  margin-bottom:24px;

}

.section-heading h2{

  font-size:40px;

  line-height:1.15;

  font-family:
  'Playfair Display',serif;

  color:#fff;

  margin-bottom:24px;

}

.section-heading p{

  color:#d0d0d0;

  font-size:16px;

  line-height:1.8;

}

/* =========================
   PREMIUM CATEGORIES
========================= */

.premium-categories{

  position:relative;

  padding:90px 20px;

  overflow:hidden;

  background:

  radial-gradient(
  circle at top right,
  rgba(179,0,45,.14),
  transparent 28%
  ),

  radial-gradient(
  circle at bottom left,
  rgba(122,0,25,.18),
  transparent 30%
  ),

  linear-gradient(
  135deg,
  #080808 0%,
  #170009 45%,
  #090909 100%
  );

}

/* =========================
   CONTAINER
========================= */

.categories-container{

  max-width:1200px;

  margin:auto;

}

/* =========================
   SECTION HEADING
========================= */

.section-heading{

  text-align:center;

  max-width:760px;

  margin:0 auto 55px;

}

.section-tag{

  display:inline-block;

  padding:10px 18px;

  border-radius:40px;

  background:
  rgba(255,255,255,.06);

  border:
  1px solid rgba(255,255,255,.08);

  backdrop-filter:blur(12px);

  color:var(--gold);

  font-size:13px;
  font-weight:500;

  letter-spacing:1px;

  margin-bottom:22px;

}

.section-heading h2{

  font-size:50px;

  line-height:1.15;

  font-family:
  'Playfair Display',serif;

  color:#fff;

  margin-bottom:22px;

}

.section-heading p{

  color:#d0d0d0;

  font-size:15px;

  line-height:1.8;

}

/* =========================
   GRID
========================= */

.categories-grid{

  display:grid;

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

  gap:24px;

}

/* =========================
   CARD
========================= */

.category-card{

  position:relative;

  overflow:hidden;

  border-radius:28px;

  height:420px;

  background:#111;

  transition:.45s ease;

}

/* =========================
   IMAGE
========================= */

.category-image{

  width:100%;
  height:100%;

}

.category-image img{

  width:100%;
  height:100%;

  object-fit:cover;

  display:block;

  transition:1s ease;

}

/* =========================
   OVERLAY
========================= */

.category-overlay{

  position:absolute;

  inset:0;

  background:

  linear-gradient(
  to top,
  rgba(0,0,0,.92),
  rgba(0,0,0,.28),
  transparent
  );

}

/* =========================
   CONTENT
========================= */

.category-content{

  position:absolute;

  left:24px;
  bottom:22px;

  z-index:5;

}

.category-content h3{

  color:#fff;

  font-size:24px;

  line-height:1.2;

  font-family:
  'Playfair Display',serif;

  margin-bottom:8px;

}

.category-content span{

  color:#d4d4d4;

  font-size:14px;

  line-height:1.6;

}

/* =========================
   HOVER
========================= */

.category-card:hover{

  transform:translateY(-8px);

  box-shadow:
  0 20px 45px rgba(179,0,45,.18);

}

.category-card:hover img{

  transform:scale(1.08);

}

/* =========================
   LARGE TABLET
========================= */

@media(max-width:1100px){

  .categories-grid{

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

  }

  .category-card{

    height:390px;

  }

}

/* =========================
   TABLET & MOBILE
========================= */

@media(max-width:992px){

  .premium-categories{

    padding:75px 20px;

  }

  .section-heading{

    margin-bottom:45px;

  }

  .section-heading h2{

    font-size:38px;

  }

  .section-heading p{

    font-size:14px;

    line-height:1.8;

  }

  .categories-grid{

    grid-template-columns:1fr;

    gap:22px;

  }

  .category-card{

    height:360px;

    border-radius:24px;

  }

  .category-content{

    left:20px;
    bottom:20px;

  }

  .category-content h3{

    font-size:22px;

  }

  .category-content span{

    font-size:13px;

  }

}

/* =========================
   SMALL MOBILE
========================= */

@media(max-width:576px){

  .premium-categories{

    padding:65px 16px;

  }

  .section-tag{

    font-size:12px;

    padding:9px 16px;

  }

  .section-heading h2{

    font-size:32px;

  }

  .section-heading p{

    font-size:13px;

  }

  .category-card{

    height:320px;

    border-radius:22px;

  }

  .category-content{

    left:18px;
    bottom:18px;

  }

  .category-content h3{

    font-size:20px;

  }

  .category-content span{

    font-size:12px;

  }

}
/* =========================
   ELEGANT EXPERIENCE SECTION
========================= */

.experience-section{

  position:relative;

  padding:95px 20px;

  overflow:hidden;

  background:

  radial-gradient(
  circle at top left,
  rgba(122,0,25,.14),
  transparent 28%
  ),

  radial-gradient(
  circle at bottom right,
  rgba(179,0,45,.12),
  transparent 30%
  ),

  linear-gradient(
  135deg,
  #090909 0%,
  #160009 48%,
  #080808 100%
  );

}

/* =========================
   CONTAINER
========================= */

.experience-container{

  max-width:1200px;

  margin:auto;

  display:grid;

  grid-template-columns:
  1.1fr .9fr;

  gap:60px;

  align-items:center;

}

/* =========================
   LEFT CONTENT
========================= */

.experience-tag{

  display:inline-block;

  padding:10px 18px;

  border-radius:40px;

  background:
  rgba(255,255,255,.06);

  border:
  1px solid rgba(255,255,255,.08);

  backdrop-filter:blur(12px);

  color:var(--gold);

  font-size:13px;
  font-weight:500;

  letter-spacing:1px;

  margin-bottom:24px;

}

.experience-content h2{

  font-size:52px;

  line-height:1.15;

  font-family:
  'Playfair Display',serif;

  color:#fff;

  margin-bottom:28px;

}

/* PARAGRAPHS */

.experience-content p{

  color:#d0d0d0;

  font-size:15px;

  line-height:1.9;

  margin-bottom:18px;

}

/* =========================
   FEATURES
========================= */

.experience-features{

  display:grid;

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

  gap:16px;

  margin-top:34px;

}

.experience-feature{

  display:flex;
  align-items:center;

  gap:12px;

  color:#fff;

  font-size:14px;

}

.experience-feature i{

  color:var(--gold);

  font-size:13px;

}

/* =========================
   BUTTON
========================= */

.experience-btn{

  display:inline-flex;

  align-items:center;
  justify-content:center;

  height:54px;

  padding:0 34px;

  border-radius:50px;

  margin-top:40px;

  background:
  linear-gradient(
  135deg,
  #7a0019,
  #b3002d
  );

  color:#fff;

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

  transition:.35s ease;

  box-shadow:
  0 12px 28px rgba(179,0,45,.28);

}

.experience-btn:hover{

  transform:translateY(-4px);

  box-shadow:
  0 16px 40px rgba(179,0,45,.38);

}

/* =========================
   IMAGE
========================= */

.experience-image-wrapper{

  position:relative;

}

.experience-image{

  position:relative;

  overflow:hidden;

  border-radius:30px;

  background:#111;

}

.experience-image img{

  width:100%;

  height:100%;

  object-fit:cover;

  display:block;

  transition:1s ease;

}

/* OVERLAY */

.experience-image::after{

  content:"";

  position:absolute;

  inset:0;

  background:
  linear-gradient(
  to top,
  rgba(0,0,0,.72),
  transparent 50%
  );

}

/* HOVER */

.experience-image:hover img{

  transform:scale(1.06);

}

/* =========================
   BADGE
========================= */

.experience-badge{

  position:absolute;

  left:22px;
  bottom:22px;

  z-index:5;

  padding:15px 18px;

  border-radius:20px;

  background:
  rgba(255,255,255,.08);

  border:
  1px solid rgba(255,255,255,.08);

  backdrop-filter:blur(14px);

}

.experience-badge span{

  display:block;

  color:#d4d4d4;

  font-size:12px;

  margin-bottom:5px;

}

.experience-badge strong{

  color:#fff;

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

}

/* =========================
   LARGE TABLET
========================= */

@media(max-width:1100px){

  .experience-content h2{

    font-size:44px;

  }

}

/* =========================
   TABLET & MOBILE
========================= */

@media(max-width:992px){

  .experience-section{

    padding:75px 20px;

  }

  .experience-container{

    grid-template-columns:1fr;

    gap:50px;

  }

  /* CONTENT */

  .experience-content{

    text-align:center;

  }

  .experience-tag{

    margin:auto auto 22px;

  }

  .experience-content h2{

    font-size:38px;

    margin-bottom:24px;

  }

  .experience-content p{

    font-size:14px;

    line-height:1.85;

    margin-bottom:16px;

  }

  /* FEATURES */

  .experience-features{

    grid-template-columns:1fr;

    gap:14px;

    margin-top:28px;

  }

  .experience-feature{

    justify-content:center;

  }

  /* BUTTON */

  .experience-btn{

    margin-top:32px;

    width:100%;
    max-width:260px;

    height:52px;

  }

  /* IMAGE */

  .experience-image{

    border-radius:24px;

  }

  .experience-image img{

    min-height:420px;

  }

  /* BADGE */

  .experience-badge{

    left:18px;
    bottom:18px;

    padding:14px 16px;

  }

}

/* =========================
   SMALL MOBILE
========================= */

@media(max-width:576px){

  .experience-section{

    padding:65px 16px;

  }

  .experience-tag{

    font-size:12px;

    padding:9px 16px;

  }

  .experience-content h2{

    font-size:32px;

  }

  .experience-content p{

    font-size:13px;

  }

  .experience-image{

    border-radius:22px;

  }

  .experience-image img{

    min-height:360px;

  }

  .experience-badge{

    left:14px;
    bottom:14px;

    padding:12px 14px;

  }

  .experience-badge strong{

    font-size:14px;

  }

}
/* =========================
   WHY CHOOSE US
========================= */

.why-choose-section{

  position:relative;

  padding:90px 20px;

  overflow:hidden;

  background:

  radial-gradient(
  circle at top left,
  rgba(122,0,25,.15),
  transparent 28%
  ),

  radial-gradient(
  circle at bottom right,
  rgba(179,0,45,.10),
  transparent 30%
  ),

  linear-gradient(
  135deg,
  #0a0a0a 0%,
  #180009 48%,
  #090909 100%
  );

}

/* =========================
   CONTAINER
========================= */

.why-choose-container{

  max-width:1200px;

  margin:auto;

}

/* =========================
   SECTION HEADER
========================= */

.why-choose-heading{

  text-align:center;

  max-width:760px;

  margin:0 auto 55px;

}

.why-tag{

  display:inline-block;

  padding:10px 18px;

  border-radius:40px;

  background:
  rgba(255,255,255,.06);

  border:
  1px solid rgba(255,255,255,.08);

  backdrop-filter:blur(12px);

  color:var(--gold);

  font-size:13px;
  font-weight:500;

  letter-spacing:1px;

  margin-bottom:22px;

}

.why-choose-heading h2{

  font-size:50px;

  line-height:1.15;

  font-family:
  'Playfair Display',serif;

  color:#fff;

  margin-bottom:22px;

}

.why-choose-heading p{

  color:#d0d0d0;

  font-size:15px;

  line-height:1.8;

}

/* =========================
   GRID
========================= */

.why-grid{

  display:grid;

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

  gap:24px;

}

/* =========================
   CARD
========================= */

.why-card{

  position:relative;

  padding:34px 28px;

  border-radius:28px;

  background:
  linear-gradient(
  135deg,
  rgba(255,255,255,.06),
  rgba(255,255,255,.02)
  );

  border:
  1px solid rgba(255,255,255,.06);

  backdrop-filter:blur(14px);

  transition:.4s ease;

  overflow:hidden;

}

/* GLOW */

.why-card::before{

  content:"";

  position:absolute;

  width:120px;
  height:120px;

  background:
  rgba(179,0,45,.12);

  border-radius:50%;

  top:-40px;
  right:-40px;

  filter:blur(40px);

}

/* HOVER */

.why-card:hover{

  transform:translateY(-8px);

  border-color:
  rgba(212,175,55,.18);

  box-shadow:
  0 20px 45px rgba(179,0,45,.14);

}

/* =========================
   ICON
========================= */

.why-icon{

  width:62px;
  height:62px;

  border-radius:20px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:
  linear-gradient(
  135deg,
  rgba(122,0,25,.45),
  rgba(179,0,45,.28)
  );

  border:
  1px solid rgba(255,255,255,.08);

  margin-bottom:26px;

}

.why-icon i{

  color:var(--gold);

  font-size:22px;

}

/* =========================
   CONTENT
========================= */

.why-card h3{

  color:#fff;

  font-size:24px;

  line-height:1.25;

  font-family:
  'Playfair Display',serif;

  margin-bottom:16px;

}

.why-card p{

  color:#d0d0d0;

  font-size:14px;

  line-height:1.8;

}

/* =========================
   LARGE TABLET
========================= */

@media(max-width:1100px){

  .why-grid{

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

  }

}

/* =========================
   TABLET & MOBILE
========================= */

@media(max-width:992px){

  .why-choose-section{

    padding:75px 20px;

  }

  .why-choose-heading{

    margin-bottom:45px;

  }

  .why-choose-heading h2{

    font-size:38px;

  }

  .why-choose-heading p{

    font-size:14px;

  }

  .why-grid{

    gap:20px;

  }

  .why-card{

    padding:30px 24px;

    border-radius:24px;

  }

  .why-card h3{

    font-size:22px;

  }

}

/* =========================
   SMALL MOBILE
========================= */

@media(max-width:576px){

  .why-choose-section{

    padding:65px 16px;

  }

  .why-tag{

    font-size:12px;

    padding:9px 16px;

  }

  .why-choose-heading h2{

    font-size:32px;

  }

  .why-choose-heading p{

    font-size:13px;

  }

  .why-grid{

    grid-template-columns:1fr;

  }

  .why-card{

    padding:28px 22px;

    border-radius:22px;

  }

  .why-card h3{

    font-size:20px;

  }

  .why-card p{

    font-size:13px;

  }

}
/* =========================
   PREMIUM LIFESTYLE SECTION
========================= */

.lifestyle-section{

  position:relative;

  padding:95px 20px;

  overflow:hidden;

  background:

  radial-gradient(
  circle at top right,
  rgba(179,0,45,.14),
  transparent 30%
  ),

  radial-gradient(
  circle at bottom left,
  rgba(122,0,25,.12),
  transparent 28%
  ),

  linear-gradient(
  135deg,
  #090909 0%,
  #190009 48%,
  #080808 100%
  );

}

/* =========================
   CONTAINER
========================= */

.lifestyle-container{

  max-width:1200px;

  margin:auto;

  display:grid;

  grid-template-columns:
  1.1fr .9fr;

  gap:60px;

  align-items:center;

}

/* =========================
   LEFT CONTENT
========================= */

.lifestyle-tag{

  display:inline-block;

  padding:10px 18px;

  border-radius:40px;

  background:
  rgba(255,255,255,.06);

  border:
  1px solid rgba(255,255,255,.08);

  backdrop-filter:blur(12px);

  color:var(--gold);

  font-size:13px;
  font-weight:500;

  letter-spacing:1px;

  margin-bottom:24px;

}

.lifestyle-content h2{

  font-size:52px;

  line-height:1.15;

  font-family:
  'Playfair Display',serif;

  color:#fff;

  margin-bottom:28px;

}

/* PARAGRAPHS */

.lifestyle-content p{

  color:#d0d0d0;

  font-size:15px;

  line-height:1.9;

  margin-bottom:18px;

}

/* =========================
   FEATURES
========================= */

.lifestyle-features{

  display:grid;

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

  gap:16px;

  margin-top:34px;

}

.lifestyle-feature{

  display:flex;
  align-items:center;

  gap:12px;

  color:#fff;

  font-size:14px;

}

.lifestyle-feature i{

  color:var(--gold);

  font-size:13px;

}

/* =========================
   BUTTON
========================= */

.lifestyle-btn{

  display:inline-flex;

  align-items:center;
  justify-content:center;

  height:54px;

  padding:0 34px;

  border-radius:50px;

  margin-top:40px;

  background:
  linear-gradient(
  135deg,
  #7a0019,
  #b3002d
  );

  color:#fff;

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

  transition:.35s ease;

  box-shadow:
  0 12px 28px rgba(179,0,45,.28);

}

.lifestyle-btn:hover{

  transform:translateY(-4px);

  box-shadow:
  0 16px 40px rgba(179,0,45,.38);

}

/* =========================
   IMAGE
========================= */

.lifestyle-image-wrapper{

  position:relative;

}

.lifestyle-image{

  position:relative;

  overflow:hidden;

  border-radius:30px;

  background:#111;

}

.lifestyle-image img{

  width:100%;

  height:100%;

  object-fit:cover;

  display:block;

  transition:1s ease;

}

/* OVERLAY */

.lifestyle-image::after{

  content:"";

  position:absolute;

  inset:0;

  background:
  linear-gradient(
  to top,
  rgba(0,0,0,.72),
  transparent 50%
  );

}

/* HOVER */

.lifestyle-image:hover img{

  transform:scale(1.06);

}

/* =========================
   BADGE
========================= */

.lifestyle-badge{

  position:absolute;

  left:22px;
  bottom:22px;

  z-index:5;

  padding:15px 18px;

  border-radius:20px;

  background:
  rgba(255,255,255,.08);

  border:
  1px solid rgba(255,255,255,.08);

  backdrop-filter:blur(14px);

}

.lifestyle-badge span{

  display:block;

  color:#d4d4d4;

  font-size:12px;

  margin-bottom:5px;

}

.lifestyle-badge strong{

  color:#fff;

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

}

/* =========================
   LARGE TABLET
========================= */

@media(max-width:1100px){

  .lifestyle-content h2{

    font-size:44px;

  }

}

/* =========================
   TABLET & MOBILE
========================= */

@media(max-width:992px){

  .lifestyle-section{

    padding:75px 20px;

  }

  .lifestyle-container{

    grid-template-columns:1fr;

    gap:50px;

  }

  /* CONTENT */

  .lifestyle-content{

    text-align:center;

  }

  .lifestyle-tag{

    margin:auto auto 22px;

  }

  .lifestyle-content h2{

    font-size:38px;

    margin-bottom:24px;

  }

  .lifestyle-content p{

    font-size:14px;

    line-height:1.85;

    margin-bottom:16px;

  }

  /* FEATURES */

  .lifestyle-features{

    grid-template-columns:1fr;

    gap:14px;

    margin-top:28px;

  }

  .lifestyle-feature{

    justify-content:center;

  }

  /* BUTTON */

  .lifestyle-btn{

    margin-top:32px;

    width:100%;
    max-width:260px;

    height:52px;

  }

  /* IMAGE */

  .lifestyle-image{

    border-radius:24px;

  }

  .lifestyle-image img{

    min-height:420px;

  }

  /* BADGE */

  .lifestyle-badge{

    left:18px;
    bottom:18px;

    padding:14px 16px;

  }

}

/* =========================
   SMALL MOBILE
========================= */

@media(max-width:576px){

  .lifestyle-section{

    padding:65px 16px;

  }

  .lifestyle-tag{

    font-size:12px;

    padding:9px 16px;

  }

  .lifestyle-content h2{

    font-size:32px;

  }

  .lifestyle-content p{

    font-size:13px;

  }

  .lifestyle-image{

    border-radius:22px;

  }

  .lifestyle-image img{

    min-height:360px;

  }

  .lifestyle-badge{

    left:14px;
    bottom:14px;

    padding:12px 14px;

  }

  .lifestyle-badge strong{

    font-size:14px;

  }

}
/* =========================
   PREMIUM PROFILES
========================= */

.profiles-section{

  position:relative;

  padding:95px 20px;

  overflow:hidden;

  background:

  radial-gradient(
  circle at top left,
  rgba(122,0,25,.16),
  transparent 30%
  ),

  radial-gradient(
  circle at bottom right,
  rgba(179,0,45,.10),
  transparent 28%
  ),

  linear-gradient(
  135deg,
  #080808 0%,
  #170009 48%,
  #070707 100%
  );

}

/* =========================
   CONTAINER
========================= */

.profiles-container{

  max-width:1200px;

  margin:auto;

}

/* =========================
   HEADING
========================= */

.profiles-heading{

  text-align:center;

  max-width:760px;

  margin:0 auto 55px;

}

.profiles-tag{

  display:inline-block;

  padding:10px 18px;

  border-radius:40px;

  background:
  rgba(255,255,255,.06);

  border:
  1px solid rgba(255,255,255,.08);

  backdrop-filter:blur(12px);

  color:var(--gold);

  font-size:13px;
  font-weight:500;

  letter-spacing:1px;

  margin-bottom:22px;

}

.profiles-heading h2{

  font-size:50px;

  line-height:1.15;

  font-family:
  'Playfair Display',serif;

  color:#fff;

  margin-bottom:22px;

}

.profiles-heading p{

  color:#d0d0d0;

  font-size:15px;

  line-height:1.8;

}

/* =========================
   GRID
========================= */

.profiles-grid{

  display:grid;

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

  gap:24px;

}

/* =========================
   CARD
========================= */

.profile-card{

  position:relative;

  overflow:hidden;

  border-radius:28px;

  height:420px;

  background:#111;

  transition:.45s ease;

}

/* IMAGE */

.profile-image{

  width:100%;
  height:100%;

}

.profile-image img{

  width:100%;
  height:100%;

  object-fit:cover;

  display:block;

  transition:1s ease;

}

/* OVERLAY */

.profile-overlay{

  position:absolute;

  inset:0;

  background:

  linear-gradient(
  to top,
  rgba(0,0,0,.92),
  rgba(0,0,0,.25),
  transparent
  );

}

/* CONTENT */

.profile-content{

  position:absolute;

  left:24px;
  bottom:22px;

  z-index:5;

}

.profile-content h3{

  color:#fff;

  font-size:26px;

  line-height:1.2;

  font-family:
  'Playfair Display',serif;

  margin-bottom:8px;

}

.profile-content span{

  color:#d4d4d4;

  font-size:14px;

  line-height:1.6;

}

/* HOVER */

.profile-card:hover{

  transform:translateY(-8px);

  box-shadow:
  0 20px 45px rgba(179,0,45,.18);

}

.profile-card:hover img{

  transform:scale(1.08);

}

/* =========================
   BUTTON
========================= */

.profiles-button-wrap{

  display:flex;
  justify-content:center;

  margin-top:50px;

}

.profiles-btn{

  display:inline-flex;

  align-items:center;
  justify-content:center;

  height:54px;

  padding:0 34px;

  border-radius:50px;

  background:
  linear-gradient(
  135deg,
  #7a0019,
  #b3002d
  );

  color:#fff;

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

  transition:.35s ease;

  box-shadow:
  0 12px 28px rgba(179,0,45,.28);

}

.profiles-btn:hover{

  transform:translateY(-4px);

  box-shadow:
  0 16px 40px rgba(179,0,45,.38);

}

/* =========================
   LARGE TABLET
========================= */

@media(max-width:1100px){

  .profiles-grid{

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

  }

}

/* =========================
   TABLET & MOBILE
========================= */

@media(max-width:992px){

  .profiles-section{

    padding:75px 20px;

  }

  .profiles-heading{

    margin-bottom:45px;

  }

  .profiles-heading h2{

    font-size:38px;

  }

  .profiles-heading p{

    font-size:14px;

  }

  .profiles-grid{

    gap:22px;

  }

  .profile-card{

    height:360px;

    border-radius:24px;

  }

  .profile-content{

    left:20px;
    bottom:20px;

  }

  .profile-content h3{

    font-size:22px;

  }

  .profile-content span{

    font-size:13px;

  }

}

/* =========================
   SMALL MOBILE
========================= */

@media(max-width:576px){

  .profiles-section{

    padding:65px 16px;

  }

  .profiles-tag{

    font-size:12px;

    padding:9px 16px;

  }

  .profiles-heading h2{

    font-size:32px;

  }

  .profiles-heading p{

    font-size:13px;

  }

  .profiles-grid{

    grid-template-columns:1fr;

  }

  .profile-card{

    height:320px;

    border-radius:22px;

  }

  .profile-content{

    left:18px;
    bottom:18px;

  }

  .profile-content h3{

    font-size:20px;

  }

  .profile-content span{

    font-size:12px;

  }

}
/* =========================
   EDITORIAL CONTENT SECTION
========================= */

.editorial-section{

  position:relative;

  padding:90px 20px;

  overflow:hidden;

  background:

  radial-gradient(
  circle at top,
  rgba(122,0,25,.14),
  transparent 30%
  ),

  linear-gradient(
  135deg,
  #090909 0%,
  #150008 48%,
  #080808 100%
  );

}

/* =========================
   CONTAINER
========================= */

.editorial-container{

  max-width:900px;

  margin:auto;

  text-align:center;

}

/* =========================
   TAG
========================= */

.editorial-tag{

  display:inline-block;

  padding:10px 18px;

  border-radius:40px;

  background:
  rgba(255,255,255,.06);

  border:
  1px solid rgba(255,255,255,.08);

  backdrop-filter:blur(12px);

  color:var(--gold);

  font-size:13px;
  font-weight:500;

  letter-spacing:1px;

  margin-bottom:24px;

}

/* =========================
   HEADING
========================= */

.editorial-container h2{

  font-size:50px;

  line-height:1.15;

  font-family:
  'Playfair Display',serif;

  color:#fff;

  margin-bottom:34px;

}

/* =========================
   CONTENT
========================= */

.editorial-content p{

  color:#d0d0d0;

  font-size:15px;

  line-height:1.95;

  margin-bottom:22px;

}

.editorial-content p:last-child{
  margin-bottom:0;
}

/* =========================
   TABLET
========================= */

@media(max-width:992px){

  .editorial-section{

    padding:75px 20px;

  }

  .editorial-container h2{

    font-size:38px;

    margin-bottom:28px;

  }

  .editorial-content p{

    font-size:14px;

    line-height:1.9;

    margin-bottom:18px;

  }

}

/* =========================
   MOBILE
========================= */

@media(max-width:576px){

  .editorial-section{

    padding:65px 16px;

  }

  .editorial-tag{

    font-size:12px;

    padding:9px 16px;

  }

  .editorial-container h2{

    font-size:32px;

  }

  .editorial-content p{

    font-size:13px;

    line-height:1.85;

  }

}
/* =========================
   BOOKING PROCESS SECTION
========================= */

.booking-section{

  position:relative;

  padding:95px 20px;

  overflow:hidden;

  background:

  radial-gradient(
  circle at top right,
  rgba(179,0,45,.14),
  transparent 30%
  ),

  radial-gradient(
  circle at bottom left,
  rgba(122,0,25,.12),
  transparent 28%
  ),

  linear-gradient(
  135deg,
  #090909 0%,
  #140008 48%,
  #080808 100%
  );

}

/* =========================
   CONTAINER
========================= */

.booking-container{

  max-width:1200px;

  margin:auto;

}

/* =========================
   HEADING
========================= */

.booking-heading{

  text-align:center;

  max-width:760px;

  margin:0 auto 55px;

}

.booking-tag{

  display:inline-block;

  padding:10px 18px;

  border-radius:40px;

  background:
  rgba(255,255,255,.06);

  border:
  1px solid rgba(255,255,255,.08);

  backdrop-filter:blur(12px);

  color:var(--gold);

  font-size:13px;
  font-weight:500;

  letter-spacing:1px;

  margin-bottom:22px;

}

.booking-heading h2{

  font-size:50px;

  line-height:1.15;

  font-family:
  'Playfair Display',serif;

  color:#fff;

  margin-bottom:22px;

}

.booking-heading p{

  color:#d0d0d0;

  font-size:15px;

  line-height:1.8;

}

/* =========================
   GRID
========================= */

.booking-grid{

  display:grid;

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

  gap:24px;

}

/* =========================
   CARD
========================= */

.booking-card{

  position:relative;

  padding:36px 28px;

  border-radius:28px;

  overflow:hidden;

  background:
  linear-gradient(
  135deg,
  rgba(255,255,255,.06),
  rgba(255,255,255,.02)
  );

  border:
  1px solid rgba(255,255,255,.06);

  backdrop-filter:blur(14px);

  transition:.4s ease;

}

/* NUMBER */

.booking-number{

  position:absolute;

  top:20px;
  right:24px;

  font-size:52px;
  font-weight:700;

  color:
  rgba(255,255,255,.05);

  line-height:1;

}

/* HOVER */

.booking-card:hover{

  transform:translateY(-8px);

  border-color:
  rgba(212,175,55,.18);

  box-shadow:
  0 20px 45px rgba(179,0,45,.14);

}

/* =========================
   ICON
========================= */

.booking-icon{

  width:64px;
  height:64px;

  border-radius:20px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:
  linear-gradient(
  135deg,
  rgba(122,0,25,.45),
  rgba(179,0,45,.28)
  );

  border:
  1px solid rgba(255,255,255,.08);

  margin-bottom:28px;

}

.booking-icon i{

  color:var(--gold);

  font-size:22px;

}

/* =========================
   CONTENT
========================= */

.booking-card h3{

  color:#fff;

  font-size:24px;

  line-height:1.25;

  font-family:
  'Playfair Display',serif;

  margin-bottom:16px;

}

.booking-card p{

  color:#d0d0d0;

  font-size:14px;

  line-height:1.8;

}

/* =========================
   LARGE TABLET
========================= */

@media(max-width:1100px){

  .booking-grid{

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

  }

}

/* =========================
   TABLET & MOBILE
========================= */

@media(max-width:992px){

  .booking-section{

    padding:75px 20px;

  }

  .booking-heading{

    margin-bottom:45px;

  }

  .booking-heading h2{

    font-size:38px;

  }

  .booking-heading p{

    font-size:14px;

  }

  .booking-grid{

    gap:20px;

  }

  .booking-card{

    padding:32px 24px;

    border-radius:24px;

  }

  .booking-card h3{

    font-size:22px;

  }

}

/* =========================
   SMALL MOBILE
========================= */

@media(max-width:576px){

  .booking-section{

    padding:65px 16px;

  }

  .booking-tag{

    font-size:12px;

    padding:9px 16px;

  }

  .booking-heading h2{

    font-size:32px;

  }

  .booking-heading p{

    font-size:13px;

  }

  .booking-grid{

    grid-template-columns:1fr;

  }

  .booking-card{

    padding:28px 22px;

    border-radius:22px;

  }

  .booking-card h3{

    font-size:20px;

  }

  .booking-card p{

    font-size:13px;

  }

  .booking-number{

    font-size:42px;

  }

}
/* =========================
   SIGNATURE SECTION
========================= */

.signature-section{

  position:relative;

  padding:95px 20px;

  overflow:hidden;

  background:

  radial-gradient(
  circle at top left,
  rgba(122,0,25,.14),
  transparent 28%
  ),

  radial-gradient(
  circle at bottom right,
  rgba(179,0,45,.10),
  transparent 30%
  ),

  linear-gradient(
  135deg,
  #090909 0%,
  #180009 48%,
  #080808 100%
  );

}

/* =========================
   CONTAINER
========================= */

.signature-container{

  max-width:1200px;

  margin:auto;

  display:grid;

  grid-template-columns:
  .9fr 1.1fr;

  gap:60px;

  align-items:center;

}

/* =========================
   IMAGE
========================= */

.signature-image-wrapper{

  position:relative;

}

.signature-image{

  position:relative;

  overflow:hidden;

  border-radius:30px;

  background:#111;

}

.signature-image img{

  width:100%;
  height:100%;

  object-fit:cover;

  display:block;

  transition:1s ease;

}

/* OVERLAY */

.signature-image::after{

  content:"";

  position:absolute;

  inset:0;

  background:
  linear-gradient(
  to top,
  rgba(0,0,0,.72),
  transparent 50%
  );

}

/* HOVER */

.signature-image:hover img{

  transform:scale(1.06);

}

/* =========================
   BADGE
========================= */

.signature-badge{

  position:absolute;

  left:22px;
  bottom:22px;

  z-index:5;

  padding:15px 18px;

  border-radius:20px;

  background:
  rgba(255,255,255,.08);

  border:
  1px solid rgba(255,255,255,.08);

  backdrop-filter:blur(14px);

}

.signature-badge span{

  display:block;

  color:#d4d4d4;

  font-size:12px;

  margin-bottom:5px;

}

.signature-badge strong{

  color:#fff;

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

}

/* =========================
   CONTENT
========================= */

.signature-tag{

  display:inline-block;

  padding:10px 18px;

  border-radius:40px;

  background:
  rgba(255,255,255,.06);

  border:
  1px solid rgba(255,255,255,.08);

  backdrop-filter:blur(12px);

  color:var(--gold);

  font-size:13px;
  font-weight:500;

  letter-spacing:1px;

  margin-bottom:24px;

}

.signature-content h2{

  font-size:52px;

  line-height:1.15;

  font-family:
  'Playfair Display',serif;

  color:#fff;

  margin-bottom:28px;

}

/* PARAGRAPHS */

.signature-content p{

  color:#d0d0d0;

  font-size:15px;

  line-height:1.9;

  margin-bottom:18px;

}

/* =========================
   FEATURES
========================= */

.signature-features{

  display:grid;

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

  gap:16px;

  margin-top:34px;

}

.signature-feature{

  display:flex;
  align-items:center;

  gap:12px;

  color:#fff;

  font-size:14px;

}

.signature-feature i{

  color:var(--gold);

  font-size:13px;

}

/* =========================
   BUTTON
========================= */

.signature-btn{

  display:inline-flex;

  align-items:center;
  justify-content:center;

  height:54px;

  padding:0 34px;

  border-radius:50px;

  margin-top:40px;

  background:
  linear-gradient(
  135deg,
  #7a0019,
  #b3002d
  );

  color:#fff;

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

  transition:.35s ease;

  box-shadow:
  0 12px 28px rgba(179,0,45,.28);

}

.signature-btn:hover{

  transform:translateY(-4px);

  box-shadow:
  0 16px 40px rgba(179,0,45,.38);

}

/* =========================
   LARGE TABLET
========================= */

@media(max-width:1100px){

  .signature-content h2{

    font-size:44px;

  }

}

/* =========================
   TABLET & MOBILE
========================= */

@media(max-width:992px){

  .signature-section{

    padding:75px 20px;

  }

  .signature-container{

    grid-template-columns:1fr;

    gap:50px;

  }

  /* CONTENT */

  .signature-content{

    text-align:center;

  }

  .signature-tag{

    margin:auto auto 22px;

  }

  .signature-content h2{

    font-size:38px;

    margin-bottom:24px;

  }

  .signature-content p{

    font-size:14px;

    line-height:1.85;

    margin-bottom:16px;

  }

  /* FEATURES */

  .signature-features{

    grid-template-columns:1fr;

    gap:14px;

    margin-top:28px;

  }

  .signature-feature{

    justify-content:center;

  }

  /* BUTTON */

  .signature-btn{

    margin-top:32px;

    width:100%;
    max-width:260px;

    height:52px;

  }

  /* IMAGE */

  .signature-image{

    border-radius:24px;

  }

  .signature-image img{

    min-height:420px;

  }

  /* BADGE */

  .signature-badge{

    left:18px;
    bottom:18px;

    padding:14px 16px;

  }

}

/* =========================
   SMALL MOBILE
========================= */

@media(max-width:576px){

  .signature-section{

    padding:65px 16px;

  }

  .signature-tag{

    font-size:12px;

    padding:9px 16px;

  }

  .signature-content h2{

    font-size:32px;

  }

  .signature-content p{

    font-size:13px;

  }

  .signature-image{

    border-radius:22px;

  }

  .signature-image img{

    min-height:360px;

  }

  .signature-badge{

    left:14px;
    bottom:14px;

    padding:12px 14px;

  }

  .signature-badge strong{

    font-size:14px;

  }

}
/* =========================
   LOCATIONS SECTION
========================= */

.locations-section{

  position:relative;

  padding:90px 20px;

  overflow:hidden;

  background:

  radial-gradient(
  circle at top right,
  rgba(179,0,45,.12),
  transparent 30%
  ),

  radial-gradient(
  circle at bottom left,
  rgba(122,0,25,.10),
  transparent 28%
  ),

  linear-gradient(
  135deg,
  #090909 0%,
  #150008 48%,
  #080808 100%
  );

}

/* =========================
   CONTAINER
========================= */

.locations-container{

  max-width:1200px;

  margin:auto;

}

/* =========================
   HEADING
========================= */

.locations-heading{

  text-align:center;

  max-width:760px;

  margin:0 auto 55px;

}

.locations-tag{

  display:inline-block;

  padding:10px 18px;

  border-radius:40px;

  background:
  rgba(255,255,255,.06);

  border:
  1px solid rgba(255,255,255,.08);

  backdrop-filter:blur(12px);

  color:var(--gold);

  font-size:13px;
  font-weight:500;

  letter-spacing:1px;

  margin-bottom:22px;

}

.locations-heading h2{

  font-size:50px;

  line-height:1.15;

  font-family:
  'Playfair Display',serif;

  color:#fff;

  margin-bottom:22px;

}

.locations-heading p{

  color:#d0d0d0;

  font-size:15px;

  line-height:1.8;

}

/* =========================
   GRID
========================= */

.locations-grid{

  display:grid;

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

  gap:22px;

}

/* =========================
   CARD
========================= */

.location-card{

  position:relative;

  display:flex;

  align-items:center;
  justify-content:space-between;

  gap:20px;

  padding:30px 26px;

  border-radius:26px;

  overflow:hidden;

  background:
  linear-gradient(
  135deg,
  rgba(255,255,255,.06),
  rgba(255,255,255,.02)
  );

  border:
  1px solid rgba(255,255,255,.06);

  backdrop-filter:blur(14px);

  transition:.4s ease;

}

/* GLOW */

.location-card::before{

  content:"";

  position:absolute;

  width:120px;
  height:120px;

  background:
  rgba(179,0,45,.10);

  border-radius:50%;

  top:-40px;
  right:-40px;

  filter:blur(40px);

}

/* HOVER */

.location-card:hover{

  transform:translateY(-6px);

  border-color:
  rgba(212,175,55,.18);

  box-shadow:
  0 18px 40px rgba(179,0,45,.14);

}

/* =========================
   CONTENT
========================= */

.location-content h3{

  color:#fff;

  font-size:24px;

  line-height:1.2;

  font-family:
  'Playfair Display',serif;

  margin-bottom:10px;

}

.location-content p{

  color:#d0d0d0;

  font-size:14px;

  line-height:1.7;

}

/* =========================
   ARROW
========================= */

.location-arrow{

  flex-shrink:0;

  width:52px;
  height:52px;

  border-radius:16px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:
  linear-gradient(
  135deg,
  rgba(122,0,25,.45),
  rgba(179,0,45,.25)
  );

  border:
  1px solid rgba(255,255,255,.08);

}

.location-arrow i{

  color:var(--gold);

  font-size:16px;

}

/* =========================
   LARGE TABLET
========================= */

@media(max-width:1100px){

  .locations-grid{

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

  }

}

/* =========================
   TABLET & MOBILE
========================= */

@media(max-width:992px){

  .locations-section{

    padding:75px 20px;

  }

  .locations-heading{

    margin-bottom:45px;

  }

  .locations-heading h2{

    font-size:38px;

  }

  .locations-heading p{

    font-size:14px;

  }

  .locations-grid{

    gap:20px;

  }

  .location-card{

    padding:28px 22px;

    border-radius:22px;

  }

  .location-content h3{

    font-size:22px;

  }

}

/* =========================
   SMALL MOBILE
========================= */

@media(max-width:576px){

  .locations-section{

    padding:65px 16px;

  }

  .locations-tag{

    font-size:12px;

    padding:9px 16px;

  }

  .locations-heading h2{

    font-size:32px;

  }

  .locations-heading p{

    font-size:13px;

  }

  .locations-grid{

    grid-template-columns:1fr;

  }

  .location-card{

    padding:24px 20px;

    border-radius:20px;

  }

  .location-content h3{

    font-size:20px;

  }

  .location-content p{

    font-size:13px;

  }

  .location-arrow{

    width:46px;
    height:46px;

    border-radius:14px;

  }

}
/* =========================
   FAQ SECTION
========================= */

.faq-section{

  position:relative;

  padding:90px 20px;

  overflow:hidden;

  background:

  radial-gradient(
  circle at top left,
  rgba(122,0,25,.12),
  transparent 28%
  ),

  radial-gradient(
  circle at bottom right,
  rgba(179,0,45,.10),
  transparent 30%
  ),

  linear-gradient(
  135deg,
  #090909 0%,
  #140008 48%,
  #080808 100%
  );

}

/* =========================
   CONTAINER
========================= */

.faq-container{

  max-width:1000px;

  margin:auto;

}

/* =========================
   HEADING
========================= */

.faq-heading{

  text-align:center;

  max-width:760px;

  margin:0 auto 55px;

}

.faq-tag{

  display:inline-block;

  padding:10px 18px;

  border-radius:40px;

  background:
  rgba(255,255,255,.06);

  border:
  1px solid rgba(255,255,255,.08);

  backdrop-filter:blur(12px);

  color:var(--gold);

  font-size:13px;
  font-weight:500;

  letter-spacing:1px;

  margin-bottom:22px;

}

.faq-heading h2{

  font-size:50px;

  line-height:1.15;

  font-family:
  'Playfair Display',serif;

  color:#fff;

  margin-bottom:22px;

}

.faq-heading p{

  color:#d0d0d0;

  font-size:15px;

  line-height:1.8;

}

/* =========================
   FAQ LIST
========================= */

.faq-list{

  display:flex;

  flex-direction:column;

  gap:18px;

}

/* =========================
   FAQ ITEM
========================= */

.faq-item{

  border-radius:24px;

  overflow:hidden;

  background:
  linear-gradient(
  135deg,
  rgba(255,255,255,.06),
  rgba(255,255,255,.02)
  );

  border:
  1px solid rgba(255,255,255,.06);

  backdrop-filter:blur(14px);

  transition:.35s ease;

}

.faq-item.active{

  border-color:
  rgba(212,175,55,.18);

}

/* =========================
   QUESTION
========================= */

.faq-question{

  width:100%;

  display:flex;

  align-items:center;
  justify-content:space-between;

  gap:20px;

  padding:26px 28px;

  background:none;

  border:none;

  cursor:pointer;

  text-align:left;

}

.faq-question span{

  color:#fff;

  font-size:20px;

  line-height:1.5;

  font-family:
  'Playfair Display',serif;

}

.faq-question i{

  color:var(--gold);

  font-size:16px;

  transition:.35s ease;

}

.faq-item.active .faq-question i{

  transform:rotate(45deg);

}

/* =========================
   ANSWER
========================= */

.faq-answer{

  max-height:0;

  overflow:hidden;

  transition:max-height .4s ease;

}

.faq-item.active .faq-answer{

  max-height:300px;

}

.faq-answer p{

  padding:
  0 28px 28px;

  color:#d0d0d0;

  font-size:14px;

  line-height:1.9;

}

/* =========================
   TABLET
========================= */

@media(max-width:992px){

  .faq-section{

    padding:75px 20px;

  }

  .faq-heading{

    margin-bottom:45px;

  }

  .faq-heading h2{

    font-size:38px;

  }

  .faq-heading p{

    font-size:14px;

  }

  .faq-question{

    padding:24px 24px;

  }

  .faq-question span{

    font-size:18px;

  }

  .faq-answer p{

    padding:
    0 24px 24px;

  }

}

/* =========================
   MOBILE
========================= */

@media(max-width:576px){

  .faq-section{

    padding:65px 16px;

  }

  .faq-tag{

    font-size:12px;

    padding:9px 16px;

  }

  .faq-heading h2{

    font-size:32px;

  }

  .faq-heading p{

    font-size:13px;

  }

  .faq-item{

    border-radius:20px;

  }

  .faq-question{

    padding:22px 20px;

  }

  .faq-question span{

    font-size:17px;

    line-height:1.45;

  }

  .faq-answer p{

    padding:
    0 20px 22px;

    font-size:13px;

  }

}
/* =========================
   FOOTER SECTION
========================= */

.footer-section{

  position:relative;

  overflow:hidden;

  background:

  radial-gradient(
  circle at top left,
  rgba(122,0,25,.16),
  transparent 28%
  ),

  radial-gradient(
  circle at bottom right,
  rgba(179,0,45,.10),
  transparent 30%
  ),

  linear-gradient(
  135deg,
  #070707 0%,
  #120007 48%,
  #060606 100%
  );

}

/* =========================
   TOP CTA
========================= */

.footer-cta{

  max-width:1200px;

  margin:auto;

  padding:
  70px 20px 60px;

  display:flex;

  align-items:center;
  justify-content:space-between;

  gap:40px;

  border-bottom:
  1px solid rgba(255,255,255,.06);

}

.footer-cta-content{

  max-width:650px;

}

.footer-cta-content h2{

  color:#fff;

  font-size:52px;

  line-height:1.15;

  font-family:
  'Playfair Display',serif;

  margin-bottom:22px;

}

.footer-cta-content p{

  color:#d0d0d0;

  font-size:15px;

  line-height:1.9;

}

/* BUTTON */

.footer-cta-btn{

  display:inline-flex;

  align-items:center;
  justify-content:center;

  height:56px;

  padding:0 36px;

  border-radius:50px;

  background:
  linear-gradient(
  135deg,
  #7a0019,
  #b3002d
  );

  color:#fff;

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

  white-space:nowrap;

  transition:.35s ease;

  box-shadow:
  0 12px 28px rgba(179,0,45,.28);

}

.footer-cta-btn:hover{

  transform:translateY(-4px);

  box-shadow:
  0 16px 40px rgba(179,0,45,.38);

}

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

.footer-container{

  max-width:1200px;

  margin:auto;

  padding:70px 20px;

  display:grid;

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

  gap:40px;

}

/* =========================
   COLUMN
========================= */

.footer-column h4{

  position:relative;

  display:inline-block;

  font-family:
  'Playfair Display',serif;

  font-size:20px;

  font-weight:600;

  line-height:1.2;

  letter-spacing:.5px;

  color:#f3e7d0;

  margin-bottom:30px;

  padding-bottom:14px;

}

/* PREMIUM UNDERLINE */

.footer-column h4::after{

  content:"";

  position:absolute;

  left:0;
  bottom:0;

  width:42px;
  height:2px;

  border-radius:20px;

  background:
  linear-gradient(
  90deg,
  #d4af37,
  rgba(212,175,55,.15)
  );

}

/* LOGO */

.footer-logo{

  color:#fff;

  font-size:30px;

  line-height:1.2;

  font-family:
  'Playfair Display',serif;

  font-weight:600;

  letter-spacing:.5px;

  margin-bottom:24px;

}

/* ABOUT */

.footer-about{

  color:#d0d0d0;

  font-size:14px;

  line-height:1.9;

}

/* =========================
   LINKS
========================= */

.footer-links{

  display:flex;

  flex-direction:column;

  gap:16px;

}

.footer-links a{

  color:#d0d0d0;

  font-size:14px;

  transition:.3s ease;

}

.footer-links a:hover{

  color:var(--gold);

  padding-left:6px;

}

/* =========================
   CONTACT
========================= */

.footer-contact{

  display:flex;

  flex-direction:column;

  gap:18px;

}

.footer-contact li{

  display:flex;

  align-items:flex-start;

  gap:14px;

  color:#d0d0d0;

  font-size:14px;

  line-height:1.7;

}

.footer-contact i{

  color:var(--gold);

  font-size:15px;

  margin-top:3px;

}

.footer-contact a,
.footer-contact span{

  color:#d0d0d0;

  transition:.3s ease;

}

.footer-contact a:hover{

  color:var(--gold);

}

/* =========================
   BOTTOM BAR
========================= */

.footer-bottom{

  border-top:
  1px solid rgba(255,255,255,.06);

  padding:24px 20px;

  max-width:1200px;

  margin:auto;

  display:flex;

  align-items:center;
  justify-content:space-between;

  gap:20px;

}

.footer-bottom p{

  color:#bdbdbd;

  font-size:13px;

}

.footer-bottom-links{

  display:flex;

  align-items:center;

  gap:24px;

}

.footer-bottom-links a{

  color:#bdbdbd;

  font-size:13px;

  transition:.3s ease;

}

.footer-bottom-links a:hover{

  color:var(--gold);

}

/* =========================
   TABLET
========================= */

@media(max-width:992px){

  .footer-cta{

    flex-direction:column;

    align-items:flex-start;

    padding:
    60px 20px 50px;

  }

  .footer-cta-content h2{

    font-size:40px;

  }

  .footer-container{

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

    gap:40px;

    padding:60px 20px;

  }

  .footer-bottom{

    flex-direction:column;

    text-align:center;

  }

}

/* =========================
   MOBILE
========================= */

@media(max-width:576px){

  .footer-cta{

    padding:
    50px 16px 40px;

  }

  .footer-cta-content h2{

    font-size:32px;

  }

  .footer-cta-content p{

    font-size:13px;

  }

  .footer-cta-btn{

    width:100%;

    height:52px;

  }

  .footer-container{

    grid-template-columns:1fr;

    gap:34px;

    padding:50px 16px;

  }

  .footer-logo{

    font-size:28px;

  }

  .footer-column h4{

    font-size:22px;

  }

  .footer-about,
  .footer-links a,
  .footer-contact li{

    font-size:13px;

  }

  .footer-bottom{

    padding:20px 16px;

  }

  .footer-bottom-links{

    gap:18px;

    flex-wrap:wrap;

    justify-content:center;

  }

}
/* =========================
   FLOATING CONTACT
========================= */

.floating-contact{

  position:fixed;

  right:18px;
  bottom:18px;

  z-index:9999;

  display:flex;

  flex-direction:column;

  gap:14px;

}

/* =========================
   BUTTON
========================= */

.floating-contact-btn{

  position:relative;

  width:60px;
  height:60px;

  border-radius:50%;

  display:flex;

  align-items:center;
  justify-content:center;

  overflow:hidden;

  color:#fff;

  backdrop-filter:blur(14px);

  border:
  1px solid rgba(255,255,255,.08);

  box-shadow:
  0 14px 35px rgba(0,0,0,.35);

  transition:.35s ease;

}

/* ICON */

.floating-contact-btn i{

  font-size:22px;

  flex-shrink:0;

}

/* TEXT HIDE DESKTOP */

.floating-contact-btn span{

  display:none;

}

/* CALL */

.call-btn{

  background:
  linear-gradient(
  135deg,
  #7a0019,
  #b3002d
  );

}

/* WHATSAPP */

.whatsapp-btn{

  background:
  linear-gradient(
  135deg,
  #0f9d58,
  #25d366
  );

}

/* HOVER */

.floating-contact-btn:hover{

  transform:
  translateY(-5px)
  scale(1.05);

}

/* =========================
   MOBILE STYLE
========================= */

@media(max-width:576px){

  .floating-contact{

    left:50%;

    right:auto;

    bottom:14px;

    transform:
    translateX(-50%);

    flex-direction:row;

    width:calc(100% - 28px);

    gap:12px;

  }

  /* BUTTON */

  .floating-contact-btn{

    width:50%;

    height:54px;

    border-radius:18px;

    justify-content:center;

    gap:10px;

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

  }

  /* SHOW TEXT */

  .floating-contact-btn span{

    display:block;

    letter-spacing:.3px;

  }

  /* ICON */

  .floating-contact-btn i{

    font-size:18px;

  }

}