/* ================= RESET ================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
}
html, body{
  overflow-x:hidden;
  max-width:100%;
}
html{
scroll-behavior:smooth;
}

body{
font-family:Arial, sans-serif;
background:#fff;
color:#25333c;
line-height:1.7;
overflow-x:hidden;
}

body.menu-open{
overflow:hidden;
}
/* =============================
   PAGE TRANSITIONS
============================= */
.logo-transition,
.gallery-popup{
  height:100%;
}
/* ==========================

/* smooth page load */
body{
  opacity: 1;
  transition: opacity 0.6s ease;
}
/* ================= CONTAINER ================= */

.container{
width:90%;
max-width:1200px;
margin:auto;
}

/* ================= HEADER ================= */

header{
position:fixed;
width:100%;
background:rgba(37, 51, 60, 0.85);
backdrop-filter:blur(10px);
z-index:1000;
transition:0.4s;
}

header.scrolled{
background:rgba(37, 51, 60, 0.7);
}

.header{
display:flex;
justify-content:space-between;
align-items:center;
padding:20px 0;
}

.logo-img{
height:75px;
}

/* ================= NAVIGATION ================= */

.nav{
display:flex;
list-style:none;
gap:40px;
}

.nav a{
color:#fff;
text-decoration:none;
font-weight:500;
letter-spacing:1px;
transition:0.3s;
}

.nav a:hover{
color:#d4af37;
}

/* ================= LANGUAGE SWITCH ================= */

.lang-switcher{
display:flex;
gap:8px;
align-items:center;
}

.lang-switcher button{
background:none;
border:none;
color:#fff;
cursor:pointer;
font-size:14px;
letter-spacing:1px;
opacity:0.7;
transition:0.3s;
}

.lang-switcher button:hover{
opacity:1;
color:#d4af37;
}

.lang-switcher button.active{
opacity:1;
color:#d4af37;
}

.lang-fade{
opacity:0;
transition:opacity .35s ease;
}
/* ================= HAMBURGER ================= */

/* ================= HAMBURGER ================= */

.hamburger{
width:30px;
height:22px;
display:none;
flex-direction:column;
justify-content:space-between;
cursor:pointer;
z-index:2000;
position:fixed;
top:25px;
right:20px;
}

.hamburger span{
display:block;
height:3px;
width:100%;
background:#fff;
border-radius:3px;
transition:0.3s ease;
transform-origin:center;
}

/* ACTIVE STATE */

.hamburger.active span:nth-child(1){
transform:rotate(45deg) translateY(9px);
}

.hamburger.active span:nth-child(2){
opacity:0;
}

.hamburger.active span:nth-child(3){
transform:rotate(-45deg) translateY(-9px);
}


/* ================= HERO ================= */

.hero-banner{
position:relative;
  min-height:100svh;
  min-height:100vh;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
overflow:hidden;
}

.hero-video{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
object-fit:cover;
z-index:-2;
}

.hero-overlay{
position:absolute;
inset:0;
background:rgba(0,0,0,0.55);
z-index:-1;
}

.hero-content{
color:#fff;
max-width:800px;
padding:20px;
}

.hero-content h1{
font-size:58px;
color:#d4af37;
margin-bottom:25px;
line-height:1.2;
}

.hero-content p{
font-size:20px;
max-width:600px;
margin:0 auto 35px;
}

.hero-btn{
padding:14px 36px;
background:#d4af37;
color:#000;
text-decoration:none;
border-radius:40px;
font-weight:600;
transition:0.3s;
}

.hero-btn:hover{
background:#fff;
}

/* ================= ABOUT ================= */

.about-section{
padding:140px 0;
}

.about-container{
display:grid;
grid-template-columns:1.1fr 0.9fr;
gap:60px;
align-items:center;
}

.about-text{
max-width:550px;
}

.about-text h2{
font-size:42px;
margin-bottom:20px;
color:#d4af37;
}

.about-text p{
margin-bottom:30px;
}

.about-image{
display:flex;
justify-content:flex-end;
}

.about-image img{
width:85%;
border-radius:18px;
box-shadow:0 20px 60px rgba(0,0,0,0.25);
}

/* ================= DARK SECTION ================= */

.dark{
background:#25333c;
color:#fff;
padding:140px 0;
}

.flex{
display:flex;
align-items:center;
gap:60px;
}

.flex div{
max-width:550px;
}

.flex h2{
font-size:40px;
margin-bottom:20px;
color:#d4af37;
}

.flex p{
margin-bottom:30px;
}

.flex img{
width:45%;
border-radius:18px;
box-shadow:0 20px 60px rgba(0,0,0,0.4);
}

/* ================= BUTTONS ================= */

.section-btn{
display:inline-block;
padding:14px 36px;
border:2px solid #d4af37;
color:#d4af37;
text-decoration:none;
border-radius:40px;
font-weight:600;
transition:0.4s;
}

.section-btn:hover{
background:#d4af37;
color:#25333c;
transform:translateY(-4px);
box-shadow:0 10px 25px rgba(212,175,55,0.4);
}

.btn{
display:inline-block;
margin:10px;
padding:14px 30px;
border:1px solid #25333c;
text-decoration:none;
color:#25333c;
transition:0.3s;
}

.btn:hover{
background:#25333c;
color:#d4af37;
}

/* ================= CONTACT ================= */

.contact{
text-align:center;
padding:140px 20px;
}

.contact h2{
font-size:40px;
margin-bottom:20px;
color:#d4af37;
}

.luxury-text{
max-width:600px;
margin:0 auto 40px;
}

/* ================= FOOTER ================= */

footer{
background:#000;
color:#fff;
text-align:center;
padding:25px;
}

/* ================= TABLET ================= */

@media(max-width:992px){

.about-container{
grid-template-columns:1fr;
text-align:center;
}

.about-text{
margin:auto;
}

.about-image{
justify-content:center;
margin-top:40px;
}

.about-image img{
width:100%;
max-width:500px;
}

.flex{
flex-direction:column;
text-align:center;
}

.flex div{
max-width:600px;
margin:auto;
}

.flex img{
width:100%;
max-width:500px;
margin-top:40px;
}

}

/* ================= MOBILE FULLSCREEN NAV ================= */

@media(max-width:768px){

/* Make hamburger fixed so it's never behind */
.hamburger{
display:flex;
position:fixed;
top:25px;
right:20px;
z-index:2000; /* higher than nav */
}

/* Hamburger animation */
.hamburger.active span:nth-child(1){
transform:rotate(45deg) translate(6px, 6px);
}

.hamburger.active span:nth-child(2){
opacity:0;
}

.hamburger.active span:nth-child(3){
transform:rotate(-45deg) translate(7px, -7px);
}

/* FULLSCREEN MENU */
.nav{
position:fixed;
top:0;
left:0;
width:100%;
height:100vh;
background:rgba(37, 51, 60, 0.85);
backdrop-filter:blur(12px);
flex-direction:column;
justify-content:center;
align-items:center;
gap:40px;
transform:translateY(-100%);
transition:0.5s ease;
z-index:1500; /* lower than hamburger */
}

.nav.active{
transform:translateY(0);
}

.nav a{
font-size:24px;
color:#fff;
}

.hero-content h1{
font-size:34px;
}

.hero-content p{
font-size:16px;
}

.about-section,
.dark,
.contact{
padding:100px 20px;
}

}

/*---about.html---*/

/* ================= PAGE BANNER ================= */

/* ================= PAGE BANNER ================= */

.page-banner{
position:relative;
min-height:70svh;
  min-height:70vh;
overflow:hidden;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
color:#fff;
}

.banner-img{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:url("../images/about1.jpg") center/cover no-repeat;
z-index:-2;
transform:scale(1.1); /* start zoomed for luxury look */
will-change:transform;
}

.page-overlay{
position:absolute;
inset:0;
background:rgba(0,0,0,0.55);
z-index:-1;
}

.page-content{
position:relative;
z-index:2;
}

.page-content h1{
font-size:52px;
color:#d4af37;
}

/* MOBILE */

@media(max-width:768px){

.page-banner{
height:50vh;
}

.page-content h1{
font-size:34px;
}

}

/* ================= APARTMENT INFO ================= */

.apartment-info{
margin-top:20px;
display:grid;
grid-template-columns:repeat(2, 1fr);
gap:10px 25px;
font-size:15px;
}

.apartment-info div{
padding:8px 0;
border-bottom:1px solid rgba(212,175,55,0.3);
}

/* MOBILE */

@media(max-width:768px){

.apartment-info{
grid-template-columns:1fr;
}

}



/* ================= MOBILE MENU LOGO ================= */

.mobile-logo{
display:none;
position:fixed;
top:20px;
left:50%;
transform:translateX(-50%);
z-index:1900;
}

.mobile-logo img{
height:70px;
transition:0.4s ease;
}

body.menu-open .mobile-logo img{
transform:scale(1.05);
}


/* Show only on mobile when menu is open */
@media(max-width:768px){

.mobile-logo{
display:block;
opacity:0;
pointer-events:none;
transition:0.4s;
}

.nav.active + .mobile-logo,
body.menu-open .mobile-logo{
opacity:1;
pointer-events:auto;
}

}


/* ================= CONTACT INFO ================= */

.contact-info{
margin-top:20px;
display:grid;
grid-template-columns:repeat(2, 1fr);
gap:20px;
}

.contact-info div{
padding:15px;
border:1px solid rgba(212,175,55,0.3);
border-radius:10px;
transition:0.3s;
}

.contact-info div:hover{
border-color:#d4af37;
transform:translateY(-3px);
}

.contact-info a{
color:#25333c;
text-decoration:none;
}

/* ================= MAP ================= */

.map-wrapper{
width:50%;
}

.map-wrapper iframe{
width:100%;
height:350px;
border:none;
border-radius:18px;
box-shadow:0 20px 60px rgba(0,0,0,0.4);
}

/* MOBILE */

@media(max-width:768px){

.contact-info{
grid-template-columns:1fr;
}

.map-wrapper{
width:100%;
margin-bottom:30px;
}

}

/* ================= GALLERY ================= */

.gallery-section{
padding:120px 0;
}

/* ===== GALLERY GRID ===== */

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:20px;
}


.gallery-item{
  position:relative;
  overflow:hidden;
  cursor:pointer;
}

.gallery-item img{
  width:100%;
  height:260px;
  object-fit:cover;
  transition:transform .6s ease;
}

.gallery-item:hover img{
  transform:scale(1.1);
}

/* Mobile height */
@media(max-width:768px){
  .gallery-item img{
    height:160px;
  }
}

/* ===== GALLERY POPUP ===== */

.gallery-popup{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.96);
  backdrop-filter:blur(10px);
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  visibility:hidden;
  transition:.5s ease;
  z-index:9999;
}

.gallery-popup.active{
  opacity:1;
  visibility:visible;
}

/* Content */
.gallery-content{
  position:relative;
  width:90%;
  max-width:1100px;
  transform:scale(.9);
  transition:.5s ease;
}

.gallery-popup.active .gallery-content{
  transform:scale(1);
}

/* Image */
.gallery-image{
  width:100%;
  height:70vh;
  object-fit:cover;
  border-radius:6px;
}

/* Close */
.gallery-close{
  position:absolute;
  top:-45px;
  right:0;
  font-size:42px;
  color:#fff;
  cursor:pointer;
}

/* Navigation */
.gallery-nav span{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  font-size:40px;
  color:#fff;
  cursor:pointer;
  padding:12px;
  transition:.3s;
}

.gallery-nav span:hover{
  color:#d4af37;
}

.gallery-prev{ left:-70px; }
.gallery-next{ right:-70px; }

/* ===== MOBILE ===== */

@media(max-width:768px){

  .gallery-image{
    height:55vh;
  }

  .gallery-prev{ left:5px; }
  .gallery-next{ right:5px; }

  .gallery-nav span{
    font-size:28px;
    background:rgba(0,0,0,0.5);
    border-radius:50%;
  }

}

/* ================= LIGHTBOX ================= */

.lightbox{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.95);
display:flex;
justify-content:center;
align-items:center;
opacity:0;
visibility:hidden;
transition:0.4s;
z-index:3000;
}

.lightbox.active{
opacity:1;
visibility:visible;
}

.lightbox-img{
max-width:90%;
max-height:80%;
border-radius:12px;
}

.lightbox-close{
position:absolute;
top:30px;
right:40px;
font-size:40px;
color:#fff;
cursor:pointer;
}

/* ================= RESPONSIVE ================= */

/* Tablet */
@media(max-width:1024px){
  .gallery-grid{
    grid-template-columns:repeat(3, 1fr);
  }
}

/* Mobile */
@media(max-width:768px){
  .gallery-grid{
    grid-template-columns:repeat(2, 1fr);
    gap:12px;
  }
}

/* ===== Luxury Logo Page Transition ===== */



/* Main container */
.logo-transition{
  position:fixed;
  inset:0;
  z-index:9999;
  pointer-events:none;
  overflow:hidden;
}

/* Black curtain */
.logo-curtain{
  position:absolute;
  inset:0;
  background:#25333c;
  transform:scaleY(1);
  transform-origin:top;
  transition:transform 1.2s cubic-bezier(0.77,0,0.175,1);
}

/* Center logo */
.logo-center{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:1;
  transition:opacity .5s ease;
}

.logo-center img{
  width:200px;
  transform:scale(.9);
  animation:logoPulse 2.5s ease infinite;
}

/* Subtle cinematic pulse */
@keyframes logoPulse{
  0%{ transform:scale(.9); opacity:.8; }
  50%{ transform:scale(1); opacity:1; }
  100%{ transform:scale(.9); opacity:.8; }
}

/* Page loaded */
.page-loaded .logo-curtain{
  transform:scaleY(0);
}

.page-loaded .logo-center{
  opacity:0;
}

/* ========================================
   CINEMATIC SWIPER GALLERY POPUP
======================================== */

/* Popup container */
.gallery-popup{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.96);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  opacity:0;
  visibility:hidden;
  z-index:9999;
  transition:opacity .5s ease;
}

/* Content */
.gallery-content{
  position:relative;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:40px;
  opacity:0;
  transform:scale(.92);
}

/* Swiper */
.gallery-swiper{
  width:100%;
  max-width:1200px;
  height:75vh;
  overflow:hidden;
}

/* Slide */
.swiper-slide{
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Image */
.gallery-swiper img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:8px;
  transform:scale(1.08);
  transition:transform 1.2s cubic-bezier(.77,0,.175,1);
}

/* When popup active */
.gallery-popup.active .gallery-swiper img{
  transform:scale(1);
}

/* Close button */
.gallery-close{
  position:absolute;
  top:30px;
  right:40px;
  font-size:40px;
  color:#fff;
  cursor:pointer;
  z-index:10;
  transition:.3s;
}

.gallery-close:hover{
  color:#d4af37;
}

/* Overlay click */
.gallery-overlay{
  position:absolute;
  inset:0;
}

/* Navigation arrows */
.swiper-button-prev,
.swiper-button-next{
  color:#fff;
  transition:.3s;
}

.swiper-button-prev:hover,
.swiper-button-next:hover{
  color:#d4af37;
}

/* Pagination */
.swiper-pagination-bullet{
  background:#fff;
  opacity:.6;
}

.swiper-pagination-bullet-active{
  background:#d4af37;
  opacity:1;
}

/* ===== TABLET ===== */
@media(max-width:1024px){

  .gallery-swiper{
    height:65vh;
  }

}

/* ===== MOBILE ===== */
@media(max-width:768px){

  .gallery-content{
    padding:20px;
  }

  .gallery-swiper{
    height:55vh;
  }

  .gallery-close{
    top:20px;
    right:20px;
    font-size:34px;
  }

  /* Mobile arrows inside */
  .swiper-button-prev,
  .swiper-button-next{
    background:rgba(0,0,0,0.45);
    border-radius:50%;
    width:40px;
    height:40px;
  }

  .swiper-button-prev::after,
  .swiper-button-next::after{
    font-size:18px;
  }

}

/* ===== SMALL MOBILE ===== */
@media(max-width:500px){

  .gallery-swiper{
    height:50vh;
  }

}

.popup {
  position: fixed;
  inset: 0;
  display: none;
  background: rgba(0,0,0,0.92);
  backdrop-filter: blur(10px);
  z-index: 9999;
}

.popup.active {
  display: flex;
  justify-content: center;
  align-items: center;
}

.popup-content {
  width: 90%;
  max-width: 1000px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 10000;
}

.popup-swiper {
  width: 100%;
  height: 70vh; /* Apple cinematic feel */
}

.popup-swiper .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
}

.popup-swiper img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain; /* keeps proportions */
}

.popup-close {
  position: absolute;
  top: -50px;
  right: 0;
  font-size: 34px;
  color: white;
  cursor: pointer;
  z-index: 10001; /* IMPORTANT */
}

@media (max-width: 768px) {
  .popup-swiper {
    height: 60vh;
  }
}

@supports (-webkit-touch-callout: none) {

  body{
    min-height:100svh;
  }

}
/* ===== CONTACT SOCIAL CLEAN ===== */

/* ===== CONTACT SOCIAL GLASS STYLE ===== */

/* ===== CONTACT SOCIAL CLEAN PREMIUM ===== */

/* ===== CONTACT SOCIAL – BUTTON STYLE HOVER ===== */

.contact-social{
  margin-top:90px;
  text-align:center;
}

.social-divider{
  width:80px;
  height:3px;
  margin:0 auto 35px auto;
  position:relative;
}

.social-divider::before,
.social-divider::after{
  content:"";
  position:absolute;
  left:0;
  width:100%;
  height:1px;
  background:#c6a46c;
}

.social-divider::before{
  top:0;
  opacity:0.7;
}

.social-divider::after{
  bottom:0;
  opacity:0.4;
}

.social-title{
  font-family:'Playfair Display', serif;
  font-size:24px;
  margin-bottom:30px;
  color:#c6a46c;
  letter-spacing:1px;
  position:relative;
  display:inline-block;
  padding-top:18px;
}



.social-icons{
  display:flex;
  justify-content:center;
  gap:40px;
}

/* ICON STYLE */

.social-icon{
  width:70px;
  height:70px;
  border-radius:50%;
  border:1px solid #c6a46c;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
  transition:color .4s ease;
  z-index:1;
}

.social-icon svg{
  width:26px;
  height:26px;
  fill:#c6a46c;
  transition:fill .4s ease;
  position:relative;
  z-index:2;
}

/* GOLD SLIDE FILL (like buttons) */

.social-icon::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:0%;
  height:100%;
  background:#25333c;
  transition:width .4s ease;
  z-index:0;
}

.social-icon:hover::before{
  width:100%;
}

.social-icon:hover svg{
  fill:#d4af37;
}

/* Responsive */

@media(max-width:768px){
  .social-icons{
    gap:25px;
  }

  .social-icon{
    width:60px;
    height:60px;
  }

  .social-icon svg{
    width:22px;
    height:22px;
  }
}

/* ===== HERO BUTTON ===== */

.hero-contact-btn{
  display:inline-block;
  padding:14px 36px;
  background:#d4af37;
  color:#000;
  text-decoration:none;
  border-radius:40px;
  font-weight:600;
  letter-spacing:1px;
  transition:all .35s ease;
  border:2px solid #d4af37;
  
}



/* Hover Effect */
.hero-contact-btn:hover{
  background:transparent;
  color:#d4af37;
  transform:translateY(-4px);
  box-shadow:0 10px 25px rgba(212,175,55,0.4);
}

/* ================= GOLD LUXURY POPUP ================= */

.popup-overlay{
  position:fixed;
  inset:0;
  background:#25333c;
  display:flex;
  justify-content:center;
  align-items:center;
  opacity:0;
  visibility:hidden;
  transition:0.5s ease;
  z-index:9999;
}

.popup-box{
  background:#25333c;
  padding:60px 45px;
  border-radius:20px;
  width:90%;
  max-width:440px;
  text-align:center;
  transform:scale(0.9);
  transition:0.4s ease;
  position:relative;
  border:1px solid rgba(212,175,55,0.3);
  box-shadow:0 0 40px rgba(212,175,55,0.15);
}

.popup-title{
  color:#d4af37;
  font-size:26px;
  margin-bottom:35px;
  letter-spacing:2px;
  text-transform:uppercase;
}

.popup-links{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.popup-links a{
  text-decoration:none;
  padding:14px 20px;
  border:1px solid rgba(212,175,55,0.4);
  border-radius:30px;
  color:#fff;
  font-weight:500;
  transition:0.3s ease;
  letter-spacing:1px;
}

.popup-links a:hover{
  background:#d4af37;
  color:#111;
  transform:translateY(-3px);
  box-shadow:0 10px 20px rgba(212,175,55,0.3);
}

/* CLOSE BUTTON */
.close-popup{
  position:absolute;
  top:15px;
  right:22px;
  font-size:28px;
  color:#d4af37;
  cursor:pointer;
  transition:0.3s;
}

.close-popup:hover{
  transform:rotate(90deg);
}

/* OPEN STATE */
#contact-popup:checked ~ .popup-overlay{
  opacity:1;
  visibility:visible;
}

#contact-popup:checked ~ .popup-overlay .popup-box{
  transform:scale(1);
}

/* MOBILE */
@media(max-width:768px){
  .popup-box{
    padding:40px 25px;
  }

  .popup-title{
    font-size:22px;
  }
}

/* ===== WELCOME SECTION ===== */

.welcome-section{
  position:relative;
  padding:140px 20px;
  background:#25333c;
  
 
  
}

.welcome-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:#25333c;
}

.welcome-inner{
  position:relative;
  z-index:2;
  text-align:center;
  max-width:850px;
  margin:0 auto;
  color:#fff;
}

.welcome-line{
  display:block;
  width:60px;
  height:1px;
  margin:0 auto 30px auto;
  background:linear-gradient(to right, transparent, #c6a46c, transparent);
}

.welcome-title{
  font-family:'Playfair Display', serif;
  font-size:44px;
  color:#d4af37;
  margin-bottom:30px;
  line-height:1.3;
  letter-spacing:1px;
}

.welcome-text{
  font-size:19px;
  line-height:1.9;
  color:#fff;
}



/* ===== RESPONSIVE ===== */

@media(max-width:992px){
  .welcome-title{
    font-size:34px;
  }

  .welcome-text{
    font-size:17px;
  }
}

@media(max-width:576px){
  .welcome-section{
    padding:100px 20px;
  }

  .welcome-title{
    font-size:28px;
  }
}