
/* RESET */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:'Inter',sans-serif;
}

body{
  background:#000;
   font-family:'Inter',sans-serif;
}

/* HERO */

.hero{
  position:relative;
  height:100vh;
  overflow:hidden;
  color:#fff;
}

/* VIDEO */

.hero-video{
  position:absolute;
  width:100%;
  height:100%;
  object-fit:cover;
  top:0;
  left:0;
}

/* OVERLAY */

.hero-overlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.45);
  z-index:1;
}

/* NAVBAR */

.hero-nav{
  position:absolute;
  top:30px;
  left:40px;
  right:40px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  z-index:3;
}

/* LOGO */

.logo img{
  width:170px;
  height:60px;
}

/* MENU BUTTON */

.menu-toggle{
  display:flex;
  align-items:center;
  gap:12px;
  cursor:pointer;
}

.menu-toggle span{
  font-size:14px;
  letter-spacing:2px;
}

.hamburger span{
  display:block;
  width:24px;
  height:2px;
  background:#fff;
  margin:4px 0;
}

/* HERO CONTENT */

.hero-content{
  position:absolute;
  left:60px;
  /* bottom:120px; */
  bottom: 200px;
  max-width:800px;
  z-index:2;
}

.hero-content h1{
  font-size:72px;
  line-height:1.1;
  font-weight:500;
  margin-bottom:30px;
}

/* BUTTON */

.hero-btn{
  display:inline-block;
  padding:14px 26px;
  background:#fff;
  color:#000;
  text-decoration:none;
  font-size:14px;
  border-radius:40px;
  transition:.3s;
}

.hero-btn:hover{
  background:#7ed1c6;
}

/* ============================= */
/* PREMIUM FULLSCREEN MENU */
/* ============================= */
/* ============================= */
/* PREMIUM FULLSCREEN MENU */
/* ============================= */

.fullscreen-menu{
  position:fixed;
  inset:0;
  background:#0e1413;
  display:flex;
  transform:translateY(-100%);
  transition:.7s cubic-bezier(.77,0,.18,1);
  z-index:9999;
}

.fullscreen-menu.show{
  transform:translateY(0);
}

/* CLOSE BUTTON */

.close-menu{
  position:absolute;
  top:40px;
  right:60px;
  font-size:32px;
  color:#fff;
  cursor:pointer;
  transition:.3s;
}

.close-menu:hover{
  color:#7ed1c6;
  transform:rotate(90deg);
}

/* LAYOUT */

.menu-layout{
  display:grid;
  grid-template-columns: 1fr 1.2fr 1fr;
  width:100%;
  height:100%;
}

/* LEFT CONTENT */

.menu-left{
  padding:100px 60px;
  color:#aaa;
}

.menu-left h3{
  color:#fff;
  margin-bottom:14px;
  font-size:22px;
}

.menu-left p{
  font-size:14px;
  line-height:1.7;
  margin-bottom:25px;
}

/* MAP */

.menu-map iframe{
  width:100%;
  height:200px;
  border:0;
  border-radius:12px;
}

/* CENTER MENU */

.menu-center{
  display:flex;
  align-items:center;
  justify-content:center;
}

.menu-links{
  list-style:none;
  text-align:center;
}

.menu-links li{
  font-size:70px;
  margin:20px 0;
  font-weight:600;
  color:#fff;
  cursor:pointer;
  transition:.35s;
  position:relative;
}

/* HOVER ANIMATION */

.menu-links li:hover{
  color:#7ed1c6;
  transform:translateY(-3px);
}

/* UNDERLINE ANIMATION */

.menu-links li::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-8px;
  width:0;
  height:2px;
  background:#7ed1c6;
  transition:.4s;
  transform:translateX(-50%);
}

.menu-links li:hover::after{
  width:60%;
}

/* ARROW */

.menu-links li .arrow{
  font-size:22px;
  margin-left:12px;
  transition:.4s;
}

.menu-links li .arrow.rotate{
  transform:rotate(180deg);
}

/* DROPDOWN */

.dropdown{
  display:none;
  margin-top:12px;
  animation:fadeDown .4s ease;
}

@keyframes fadeDown{
  from{opacity:0; transform:translateY(-10px);}
  to{opacity:1; transform:translateY(0);}
}

.dropdown li{
  font-size:22px;
  color:#bbb;
  margin:8px 0;
}

.dropdown li:hover{
  color:#7ed1c6;
}

.show-dropdown{
  display:block;
}

/* RIGHT CONTENT */

.menu-right{
  padding:100px 60px;
  text-align:right;
}

.menu-right h4{
  color:#7ed1c6;
  margin-bottom:12px;
}

.menu-right p{
  font-size:14px;
  color:#aaa;
  margin-bottom:12px;
}

/* SOCIAL */

.menu-social{
  display:flex;
  gap:14px;
  justify-content:flex-end;
  margin-top:20px;
}

.menu-social a{
  width:44px;
  height:44px;
  border-radius:50%;
  background:rgba(255,255,255,0.08);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  transition:.3s;
}

.menu-social a:hover{
  background:#7ed1c6;
  color:#000;
  transform:translateY(-4px);
}
/* ============================= */
/* TABLET VIEW */
/* ============================= */

@media(max-width:1200px){

  .menu-layout{
    grid-template-columns: 1fr;
    overflow-y:auto;
  }

  .menu-left,
  .menu-right{
    padding:60px 40px;
    text-align:center;
  }

  .menu-right{
    text-align:center;
  }

  .menu-social{
    justify-content:center;
  }

  .menu-center{
    order:-1;
    padding-top:120px;
  }

  .menu-links li{
    font-size:54px;
  }

  .menu-map iframe{
    height:220px;
  }
}

/* ============================= */
/* MOBILE VIEW */
/* ============================= */

@media(max-width:768px){

  .close-menu{
    top:20px;
    right:20px;
    font-size:26px;
  }

  .menu-layout{
    display:flex;
    flex-direction:column;
    height:auto;
  }

  /* CENTER MENU FIRST */

  .menu-center{
    order:-1;
    padding:100px 20px 40px;
  }

  .menu-links li{
    font-size:34px;
    margin:14px 0;
  }

  /* LEFT CONTENT */

  .menu-left{
    padding:30px 20px;
    text-align:center;
  }

  .menu-left h3{
    font-size:20px;
  }

  .menu-left p{
    font-size:13px;
  }

  .menu-map iframe{
    height:180px;
  }

  /* RIGHT CONTENT */

  .menu-right{
    padding:30px 20px 60px;
    text-align:center;
  }

  .menu-right h4{
    font-size:16px;
  }

  .menu-right p{
    font-size:13px;
  }

  .menu-social{
    justify-content:center;
  }

}

/* ============================= */
/* SMALL MOBILE */
/* ============================= */

@media(max-width:480px){

  .menu-links li{
    font-size:28px;
  }

  .menu-links li .arrow{
    font-size:18px;
  }

  .dropdown li{
    font-size:18px;
  }

  .menu-map iframe{
    height:160px;
  }

}

/* ============================= */
/* NEW CINEMATIC HERO TITLE */
/* ============================= */

.hero-title-cinematic{
  font-size:82px;
  line-height:1.05;
  font-weight:600;
  letter-spacing:-1px;
  max-width:900px;
}

/* GRADIENT TEXT */

.hero-title-cinematic span{
  display:block;
  background:linear-gradient(90deg,#7ed1c6,#ffffff,#7ed1c6);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  font-weight:700;
}

/* subtle glow depth */

.hero-title-cinematic span{
  text-shadow:0 0 30px rgba(126,209,198,0.25);
}

/* luxury spacing */

.hero-title-cinematic::after{
  content:"";
  display:block;
  width:90px;
  height:2px;
  background:#7ed1c6;
  margin-top:28px;
}

/* MOBILE */

@media(max-width:900px){

  .hero-title-cinematic{
    font-size:40px;
  }

}

/* ============================= */
/* 📱 MOBILE OPTIMIZATION */
/* ============================= */

@media(max-width:900px){

  /* NAVBAR */

  .hero-nav{
    top:20px;
    left:20px;
    right:20px;
  }

  .logo img{
    width:140px;
    height:auto;
  }

  /* HERO TEXT */

  .hero-content{
    left:20px;
    right:20px;
    /* bottom:100px; */
    bottom: 200px;
  }

  .hero-content h1{
    font-size:34px;
    line-height:1.2;
  }

  .hero-btn{
    padding:12px 22px;
    font-size:13px;
  }

  /* MENU MOBILE STRUCTURE */

  .fullscreen-menu{
    flex-direction:column;
    overflow-y:auto;
  }

  .menu-left{
    width:100%;
    padding:30px 20px;
    gap:20px;
  }

  .menu-logo{
    width:150px;
  }

  .menu-tagline{
    font-size:15px;
  }

  .menu-contact p{
    font-size:13px;
  }

  .menu-right{
    width:100%;
    padding:40px 20px 60px;
    align-items:flex-start;
  }

  .close-menu{
    top:20px;
    right:20px;
    font-size:32px;
  }

  /* MOBILE MENU LINKS */

  .menu-links li{
    font-size:30px;
    margin:18px 0;
  }

  .dropdown li{
    font-size:18px;
    margin:8px 0;
  }

}

/* EXTRA SMALL DEVICES */

@media(max-width:480px){

  .hero-content h1{
    font-size:28px;
  }

  .menu-links li{
    font-size:26px;
  }

}
/*  */
/* ============================= */
/* AUTO PROJECT CAROUSEL */
/* ============================= */

.bottom-project-slider{
  position:absolute;
  /* bottom:25px; */
  bottom: -70px;
  left:50%;
  transform:translateX(-50%);
  width:100%;
  max-width:1200px;
  z-index:4;
  display:flex;
  align-items:center;
}

/* VIEWPORT */

.project-viewport{
  overflow:hidden;
  width:100%;
}

/* TRACK */

.project-track{
  display:flex;
  gap:24px;
  transition:transform .6s ease;
}

/* CARD */

.project-card{
  min-width:280px;
  height:180px;
  border-radius:18px;
  overflow:hidden;
  position:relative;
  flex-shrink:0;
}

.project-card img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* INFO */

.project-info{
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  padding:14px;
  background:linear-gradient(to top, rgba(0,0,0,0.7), transparent);
}

.project-info h4{
  font-size:16px;
}

.project-info span{
  font-size:12px;
  color:#7ed1c6;
}

/* BUTTONS */

.slider-btn{
  width:46px;
  height:46px;
  border-radius:50%;
  background:rgba(255,255,255,0.15);
  backdrop-filter:blur(10px);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  margin:0 10px;
}

/* TABLET */

@media(max-width:1024px){

  .project-card{
    min-width:240px;
    height:160px;
  }

}

/* MOBILE */

@media(max-width:768px){

  .bottom-project-slider{
    /* bottom:18px; */
    /* bottom: -70px; */
    bottom: 30px;
    padding:0 10px;
  }

  .project-card{
    min-width:200px;
    height:130px;
  }

  .slider-btn{
    width:38px;
    height:38px;
  }

}
/* // */
.hero-banner-image{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
  opacity:0;
  transition:opacity .6s ease;
}

.hero-banner-image.active{
  opacity:1;
}
.project-card{
  cursor: pointer;
}
/*  */
/* ======================
   STICKY SOCIAL BAR
====================== */

.social-sticky{
  position:fixed;
  top:50%;
  left:0;
  transform:translateY(-50%);
  display:flex;
  flex-direction:column;
  z-index:9999;
}
.social-sticky a{
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 14px;
  background:#0e1413;
  color:#7ed1c6;
  border-right:1px solid rgba(255,255,255,0.08);
  transition:.4s;
  text-decoration:none;
  font-size:18px;
  overflow:hidden;
}

.social-sticky a span{
  opacity:0;
  white-space:nowrap;
  font-size:13px;
  letter-spacing:.5px;
  transition:.4s;
}

.social-sticky a:hover{
  width:150px;
  background:#7ed1c6;
  color:#0e1413;
  box-shadow:0 12px 25px rgba(0,0,0,0.35);
  border-top-right-radius:30px;
  border-bottom-right-radius:30px;
}

.social-sticky a:hover span{
  opacity:1;
}
/* SHOW TWITTER AS DEFAULT HOVER (ACTIVE STATE) */
.social-sticky a.active{
  width:150px;
  background:#7ed1c6;
  color:#0e1413;
  box-shadow:0 12px 25px rgba(0,0,0,0.35);
  border-top-right-radius:30px;
  border-bottom-right-radius:30px;
}

.social-sticky a.active span{
  opacity:1;
}
.menu-social a{
    text-decoration: none;
}
/* REMOVE ACTIVE MODE IN MOBILE */
@media(max-width:768px){

  .social-sticky a.active{
    width:48px;                 /* default icon size */
    background:#0e1413;
    color:#7ed1c6;
    box-shadow:none;
    border-radius:0;
  }

  .social-sticky a.active span{
    opacity:0;                  /* hide text */
  }

  /* SOCIAL ICONS BELOW NAVBAR */
  .social-sticky{
    z-index:5000;
  }
}
/* about us */
.studio-section{
  background:#efefef;
  padding:90px 0 20px;
}

/* TEXT AREA */

.studio-wrapper{
  max-width:1150px;
  margin:auto;
  display:grid;
  /* grid-template-columns: 55% 45%; */
  gap:40px;
  padding:0 20px;
}

.studio-text h2{
  font-size:30px;
  font-weight:800;
  line-height:1.35;
  margin-bottom:20px;
  color:#111;
}

.studio-text p{
  color:#666;
  font-size:14px;
  line-height:1.7;
  margin-bottom:25px;
}

.contact-btn{
  background:#000;
  color:#fff;
  border:none;
  padding:11px 20px;
  font-size:12px;
  letter-spacing:1px;
  cursor:pointer;
}


/* FEATURES */

.studio-features-wrap{
  max-width:1150px;
  margin:0px auto 0;
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap:35px;
  padding:0 20px;
}

/* stagger alignment */

.studio-features-wrap .studio-feature:nth-child(1){
  margin-left:200px;
}

.studio-features-wrap .studio-feature:nth-child(2){
  margin-right:80px;
}

.studio-features-wrap .studio-feature:nth-child(3){
  margin-left:0;
}

.studio-features-wrap .studio-feature:nth-child(4){
  margin-right:160px;
}


/* CARD STYLE */

.studio-feature{
  background:#f7f7f7;
  padding:30px;
  position:relative;
  min-height:170px;
}

.studio-feature h4{
  font-size:14px;
  font-weight:700;
  margin-bottom:10px;
  color:#111;
}

.studio-feature p{
  font-size:13px;
  color:#777;
  line-height:1.6;
}


/* CHECK ICON */

.studio-check{
  position:absolute;
  top:-18px;
  right:-18px;
  width:42px;
  height:42px;
  background:#000;
  color:#fff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
}
@media(max-width:900px){

  .studio-wrapper{
    grid-template-columns:1fr;
  }

  .studio-features-wrap{
    grid-template-columns:1fr;
  }

  .studio-feature{
    margin:0 !important;
  }

  .studio-text h2{
    font-size:18px;
  }

}
/* ===============================
   SCROLL REVEAL ANIMATION
================================ */

/* hidden state */

.reveal{
  opacity:0;
  transform:translateY(70px);
  transition:all 0.9s cubic-bezier(.17,.67,.38,1);
}

/* when visible */

.reveal.active{
  opacity:1;
  transform:translateY(0);
}

/* stagger animation for cards */

.studio-feature.reveal:nth-child(1){
  transition-delay:0.1s;
}

.studio-feature.reveal:nth-child(2){
  transition-delay:0.25s;
}

.studio-feature.reveal:nth-child(3){
  transition-delay:0.4s;
}

.studio-feature.reveal:nth-child(4){
  transition-delay:0.55s;
}

/* typing animation */
.about-title-wrap{
  width:100%;
  text-align:left;
  margin-bottom:40px;
}

.about-typing{
  font-size:72px;
  font-weight:900;
  letter-spacing:2px;
  color:#111;
  line-height:1.1;
}

.cursor{
  animation:blink 1s infinite;
  margin-left:6px;
}

@keyframes blink{
  0%,100%{opacity:1;}
  50%{opacity:0;}
}

@media(max-width:900px){
  .about-typing{
    font-size:42px;
  }
}
/* facade */
/* ================================
   FACADE PREMIUM SECTION
================================ */

.facade-section{
  background:#efefef;
  /* padding:100px 0; */
  padding: 0;
  position:relative;
  overflow:hidden;
}

/* subtle background texture */

.facade-section::before{
  content:"";
  position:absolute;
  left:-120px;
  top:0;
  width:420px;
  height:100%;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,0.03));
  transform:skewX(-15deg);
}

/* layout */

.facade-container{
  max-width:1200px;
  margin:auto;
  display:grid;
  grid-template-columns: 55% 45%;
  gap:60px;
  align-items:center;
  padding:0 20px;
}

/* image */

.facade-image img{
  width:100%;
  border-radius:12px;
  box-shadow:0 30px 60px rgba(0,0,0,0.15);
}

/* content */

.facade-title{
  font-size:44px;
  font-weight:800;
  letter-spacing:4px;
  line-height:1.3;
  color:#111;
  margin-bottom:25px;
}

.facade-desc{
  font-size:15px;
  color:#666;
  line-height:1.8;
  margin-bottom:40px;
}

/* stats */

.facade-stats{
  display:flex;
  gap:60px;
  margin-bottom:40px;
}

.stat h3{
  font-size:46px;
  color:#111;
  margin-bottom:8px;
}

.stat span{
  display:block;
  width:60px;
  height:3px;
  background:#7ed1c6;
  margin-bottom:10px;
}

.stat p{
  font-size:13px;
  color:#777;
}

/* button */

/* PREMIUM CTA BUTTON */

.facade-btn{
  position:relative;
  display:inline-block;
  padding:14px 28px;
  color:#0e1413;
  text-decoration:none;
  font-size:13px;
  letter-spacing:1.5px;
  border-radius:40px;
  overflow:hidden;
  border:1px solid #0e1413;
  background:transparent;
  transition:.4s ease;
}

/* sliding background layer */

.facade-btn::before{
  content:"";
  position:absolute;
  inset:0;
  background:#7ed1c6;
  transform:translateX(-100%);
  transition:transform .5s cubic-bezier(.77,0,.18,1);
  z-index:-1;
}

/* text */

.facade-btn span{
  position:relative;
  z-index:2;
}

/* hover animation */

.facade-btn:hover::before{
  transform:translateX(0);
}

.facade-btn:hover{
  color:#000;
  border-color:#7ed1c6;
}

/* text move effect */

.facade-btn:hover span{
  letter-spacing:2px;
}

/* glow edge */

.facade-btn:hover{
  box-shadow:0 8px 25px rgba(126,209,198,.35);
}

/* ================================
   TABLET
================================ */

@media(max-width:1024px){

  .facade-container{
    grid-template-columns:1fr;
  }

  .facade-title{
    font-size:32px;
  }

  .facade-stats{
    justify-content:space-between;
  }

}

/* ================================
   MOBILE
================================ */
@media(max-width:768px){

  .facade-btn{
    display:block;
    width:100%;
    text-align:center;
    margin-top:30px;
  }

}

@media(max-width:768px){

  .facade-section{
    /* padding:70px 0; */
    padding: 0;
  }
.studio-section {
    padding: 90px 0 0px;
}
  .facade-title{
    font-size:26px;
    letter-spacing:2px;
  }

  .facade-desc{
    font-size:14px;
  }

  .facade-stats{
    flex-direction:column;
    justify-content: center;
    text-align: center;
    gap:24px;
  }
  .stat span{
    display:block;
    width:0;
    height:3px;
    background:#7ed1c6;
    margin:0 auto 10px;
    transition:width .6s ease;
}

.facade-content.animate .stat span{
    width:60px;
}


  .stat h3{
    font-size:34px;
  }

}
/* IMAGE WRAP */

.facade-image-wrap{
  position:relative;
  padding:40px;
}

/* soft gradient shape */

.facade-bg-shape{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:linear-gradient(135deg,#7ed1c6 0%, transparent 60%);
  opacity:.18;
  border-radius:20px;
  transform:scale(1.1);
}

/* architectural line pattern */

.facade-bg-lines{
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(0,0,0,0.05) 1px, transparent 1px),
                   linear-gradient(90deg, rgba(0,0,0,0.05) 1px, transparent 1px);
  background-size:40px 40px;
  opacity:.35;
  border-radius:20px;
}

/* actual image */
/* ============================
   NEW PREMIUM IMAGE BACKGROUND
   (ARCHITECTURAL STYLE)
============================ */

.facade-image-wrap{
  position:relative;
  padding:60px 40px;
}

/* floating white panel */

.facade-image-wrap::before{
  content:"";
  position:absolute;
  width:85%;
  height:85%;
  background:#ffffff;
  top:0;
  left:0;
  border-radius:18px;
  box-shadow:0 30px 60px rgba(0,0,0,0.08);
  z-index:0;
}

/* offset dark panel */

.facade-image-wrap::after{
  content:"";
  position:absolute;
  width:85%;
  height:85%;
  background:#0e1413;
  bottom:0;
  right:0;
  border-radius:18px;
  z-index:0;
}

/* image layer */

.facade-image{
  position:relative;
  z-index:2;
}

.facade-image img{
  width:100%;
  border-radius:14px;
  box-shadow:0 40px 80px rgba(0,0,0,0.18);
  transition:.5s ease;
}

/* hover depth */

.facade-image img:hover{
  transform:translateY(-8px) scale(1.02);
}
/*  */
/* =========================
   BIG TITLE SECTION
========================= */

.big-title-section{
  background:#efefef;
  padding:120px 0 60px;
  position:relative;
}

.big-title-container{
  max-width:1300px;
  margin:auto;
  padding:0 40px;
}

.big-title{
  font-size:85px;
  font-weight:600;
  line-height:1.05;
  letter-spacing:-2px;
  color:#0e1413;
}

/* second line styling */

.big-title span{
  display:block;
  font-weight:400;
}

/* bottom divider line */

.big-title-line{
  height:1px;
  background:#dcdcdc;
  margin-top:80px;
}
@media(max-width:1024px){
  .big-title{
    font-size:72px;
  }
}

@media(max-width:768px){
  .big-title{
    font-size:42px;
    line-height:1.2;
  }

  .big-title-section{
    padding:80px 0 40px;
  }
}
.big-title{
  opacity:0;
  transform:translateY(80px);
  transition:all 1.1s cubic-bezier(.16,1,.3,1);
}

.big-title.animate{
  opacity:1;
  transform:translateY(0);
}
.feature-section{
  background:#efefef;
  padding:80px 0;
}

.feature-wrapper{
  max-width:1200px;
  margin:auto;
  padding:0 30px;
  display:grid;
  grid-template-columns: repeat(3,1fr);
  gap:30px;
}

/* CARD */
/* CARD */

.feature-card{
  padding:45px 35px;
  border-radius:14px;
  border-top-right-radius:150px;
  box-shadow:0 10px 40px rgba(0,0,0,0.08);
  position:relative;
  overflow:hidden;
  background:#ffffff10;
  backdrop-filter:blur(6px);

  animation:cardFloat 6s ease-in-out infinite;
}

/* floating motion */

@keyframes cardFloat{
  0%{ transform:translateY(0); }
  50%{ transform:translateY(-12px); }
  100%{ transform:translateY(0); }
}

/* curved animated border */

.feature-card::before{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:160px;
  height:160px;
  border-top:2px solid #000;
  border-right:2px solid #000;
  border-top-right-radius:150px;
  pointer-events:none;
}

/* glowing accent moving inside card */

.feature-card::after{
  content:"";
  position:absolute;
  inset:-40%;
  background:radial-gradient(circle at center, rgba(126,209,198,0.25), transparent 60%);
  animation:glowMove 8s linear infinite;
}

/* glow animation */

@keyframes glowMove{
  0%{ transform:translate(-20%,-20%); }
  50%{ transform:translate(20%,20%); }
  100%{ transform:translate(-20%,-20%); }
}

/* ICON */

.feature-icon{
  width:56px;
  height:56px;
  background:rgb(126,209,198);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:22px;
  margin-bottom:20px;

  animation:iconPulse 3s ease-in-out infinite;
}

/* icon pulse */

@keyframes iconPulse{
  0%{ transform:scale(1); }
  50%{ transform:scale(1.12); }
  100%{ transform:scale(1); }
}

/* TITLE */

.feature-card h3{
  font-size:18px;
  font-weight:700;
  color:#1f2a33;
  margin-bottom:12px;
}

/* TEXT */

.feature-card p{
  font-size:14px;
  line-height:1.7;
  color:#7a8793;
}
.center-text-section{
  /* padding:120px 20px; */
  background:#efefef;
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
}

.center-text-wrapper{
  max-width:800px;
  position:relative;
}

/* Paragraph Styling */

.center-text-wrapper p{
  font-size:22px;
  line-height:1.9;
  color:#2c2c2c;
  font-weight:500;
  letter-spacing:.3px;
  position:relative;
  animation:fadeUp 1.2s ease forwards;
  opacity:0;
}

/* Accent Line Below */

.center-text-wrapper p::after{
  content:"";
  display:block;
  width:80px;
  height:4px;
  background:rgb(126,209,198);
  margin:30px auto 0;
  border-radius:4px;
}

/* Fade Animation */

@keyframes fadeUp{
  from{
    transform:translateY(30px);
    opacity:0;
  }
  to{
    transform:translateY(0);
    opacity:1;
  }
}
/* RESPONSIVE */

@media(max-width:900px){
  .feature-wrapper{
    grid-template-columns:1fr;
  }
}
/* flip */
/* SECTION */

.flip-accent-section{
  background:#efefef;
  /* padding:120px 0; */
  padding: 0;
}
/* hidden state */

.reveal{
  opacity:0;
  transform:translateY(60px);
  transition:all 1s cubic-bezier(.2,.65,.3,1);
}

/* visible state */

.reveal.active{
  opacity:1;
  transform:translateY(0);
}
/* TITLE */

/* .accent-title{
  font-size:72px;
  text-align:end;
  margin-bottom:80px;
  color:#111;
    line-height: 1.1;
    letter-spacing: 2px;
     font-weight: 900;
} */
/* PREMIUM SECTION TITLE */

.accent-title{
  font-size:72px;
  text-align:end;
  margin-bottom:90px;
  color:#111;
  line-height:1.05;
  letter-spacing:2px;
  font-weight:900;
  position:relative;
  display:flex;
  justify-content: right;
}

/* accent highlight word */

.accent-title span{
  color:#7ed1c6;
  position:relative;
}

/* underline accent line */

.accent-title::after{
  content:"";
  position:absolute;
  bottom:-18px;
  right:0;
  width:120px;
  height:3px;
  background:#7ed1c6;
}

/* architectural top line */

.accent-title::before{
  content:"";
  position:absolute;
  top:-18px;
  right:0;
  width:40px;
  height:2px;
  background:#7ed1c6;
}

/* subtle shadow depth */

.accent-title{
  text-shadow:0 10px 25px rgba(0,0,0,0.08);
}

/* GRID */

.accent-grid{
  max-width:1200px;
  margin:auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:50px;
  padding:0 20px;
}

/* CARD */

.accent-card{
  perspective:1400px;
  cursor: pointer;
}

/* INNER */

.accent-inner{
  position:relative;
  height:320px;
  transform-style:preserve-3d;
  transition:transform 1s cubic-bezier(.2,.8,.2,1);
}

/* FLIP */

.accent-card:hover .accent-inner{
  transform:rotateY(180deg);
}

/* FRONT + BACK */

.accent-front,
.accent-back{
  position:absolute;
  inset:0;
  border-radius:18px;
  overflow:hidden;
  backface-visibility:hidden;
  box-shadow:0 25px 60px rgba(0,0,0,.12);
}

/* FRONT IMAGE */

.accent-front img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .8s ease;
}

.accent-card:hover .accent-front img{
  transform:scale(1.08);
}

/* BACK */

.accent-back{
  background:#0e1413;
  color:#fff;
  transform:rotateY(180deg);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:40px;
  text-align:center;
}

/* ICON */

.flip-icon{
  width:70px;
  height:70px;
  border:1.5px solid #7ed1c6;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
  position:relative;
}

.flip-icon::before{
  content:"";
  position:absolute;
  inset:6px;
  border:1px solid rgba(126,209,198,.35);
  border-radius:10px;
}

.flip-icon svg{
  width:28px;
  height:28px;
}

/* HOVER ICON */

.accent-card:hover .flip-icon{
  box-shadow:0 0 18px rgba(126,209,198,.35);
}

/* TITLE */

.accent-back h3{
  color:#7ed1c6;
  font-size:22px;
  margin-bottom:12px;
}

/* TEXT */

.accent-back p{
  font-size:14px;
  line-height:1.7;
}

/* ARCHITECTURAL FRAME LINES */

.accent-front::before{
  content:"";
  position:absolute;
  top:18px;
  left:18px;
  width:60px;
  height:2px;
  background:#7ed1c6;
}

.accent-front::after{
  content:"";
  position:absolute;
  top:18px;
  left:18px;
  width:2px;
  height:60px;
  background:#7ed1c6;
}

.accent-inner::before{
  content:"";
  position:absolute;
  bottom:18px;
  right:18px;
  width:60px;
  height:2px;
  background:#7ed1c6;
  z-index:3;
}

.accent-inner::after{
  content:"";
  position:absolute;
  bottom:18px;
  right:18px;
  width:2px;
  height:60px;
  background:#7ed1c6;
  z-index:3;
}
.accent-card:hover .accent-inner{
  transform:rotateY(180deg);
}

.accent-card:hover .accent-front img{
  transform:scale(1.08);
}

.accent-card:hover .flip-icon{
  box-shadow:0 0 18px rgba(126,209,198,.35);
}
/* hidden before scroll */

.accent-card{
  opacity:0;
  transform:translateY(60px);
  transition:all 0.8s cubic-bezier(.2,.65,.3,1);
}

/* visible when scrolled */

.accent-card.show{
  opacity:1;
  transform:translateY(0);
}
/* RESPONSIVE */

@media(max-width:900px){

  .accent-title{
    font-size:42px;
  }

  .accent-grid{
    grid-template-columns:1fr;
  }

  .accent-inner{
    height:260px;
  }

}

/* our projects */
.marquee-section{
  background:#efefef;
  padding:60px 0;
  overflow:hidden;
}

/* marquee container */

.marquee{
  width:100%;
  overflow:hidden;
  position:relative;
  margin-bottom:30px;
}

/* moving track */

.marquee-track{
  display:flex;
  gap:30px;
  width:max-content;
}

/* images */

.marquee img{
  height:220px;
  width:320px;
  object-fit:cover;
  border-radius:16px;
  /* box-shadow:0 20px 50px rgba(0,0,0,.15); */
}

/* LEFT → RIGHT animation */

.marquee-left .marquee-track{
  animation: marqueeLeft 25s linear infinite;
}

@keyframes marqueeLeft{
  from{ transform:translateX(-50%); }
  to{ transform:translateX(0); }
}

/* RIGHT → LEFT animation */

.marquee-right .marquee-track{
  animation: marqueeRight 25s linear infinite;
}

@keyframes marqueeRight{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
/* TITLE WRAPPER */

.section-title-left{
  max-width:1200px;
  /* margin:auto; */
  /* padding:0 20px; */
  margin-bottom:80px;

  display:flex;
  justify-content:flex-start;
}
.section-title-left span{
  color:#7ed1c6;
  position:relative;
}
/* TITLE */

.section-heading{
  font-size:72px;
  color:#111;
  line-height:1.1;
  letter-spacing:2px;
  font-weight:900;
  position:relative;
  text-align:left;
}

/* underline accent */

.section-heading::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-14px;
  width:120px;
  height:3px;
  background:#7ed1c6;
}

/* top accent line */

.section-heading::before{
  content:"";
  position:absolute;
  left:0;
  top:-14px;
  width:40px;
  height:2px;
  background:#7ed1c6;
}

/* RESPONSIVE */

@media(max-width:900px){
  .section-heading{
    font-size:42px;
  }
}
/* ourprojects */
.blog-section{
  background:#efefef;;
  padding: 100px 0;
}

/* TITLE */

.blog-title{
  text-align:center;
  margin-bottom:60px;
}

.blog-title h2{
  font-size:34px;
  color:#fff;
  font-weight:800;
}

.blog-title .line{
  display:block;
  width:70px;
  height:3px;
  background:#7ed1c6;
  margin:12px auto 0;
}

/* CONTAINER */

.blog-container{
  max-width:1150px;
  margin:auto;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:40px;
  padding:0 20px;
  align-items:center;
}

/* CARD BASE */

.blog-card{
  background:#1f3834;
  border-radius:6px;
  overflow:hidden;
  transition:.4s ease;
  box-shadow:0 12px 35px rgba(0,0,0,0.35);
}

/* IMAGE */

.blog-image{
  position:relative;
  overflow:hidden;
}

.blog-image img{
  width:100%;
  height:230px;
  object-fit:cover;
  display:block;
  transition:.5s ease;
}

/* CONTENT */

.blog-content{
  padding:25px;
  text-align:center;
}

.blog-content h3{
  color:#fff;
  font-size:18px;
  margin-bottom:10px;
}

.blog-content p{
  color:#cfe7e3;
  font-size:14px;
  margin-bottom:14px;
}

.blog-content .date{
  display:block;
  font-size:12px;
  color:#7ed1c6;
  margin-bottom:18px;
}

/* BUTTON */

.read-btn{
  display:inline-block;
  padding:10px 20px;
  background:#7ed1c6;
  color:#0e1413;
  text-decoration:none;
  font-size:12px;
  font-weight:600;
  letter-spacing:1px;
  border-radius:4px;
  transition:.35s;
}

.read-btn:hover{
  background:#ffffff;
  color:#0e1413;
}

/* ===============================
   ACTIVE MIDDLE CARD
================================ */

.blog-card.active{
  background:linear-gradient(145deg,#1f3834,#274d47);
  transform:scale(1.08);
  box-shadow:0 20px 60px rgba(0,0,0,0.6);
  border:1px solid rgba(126,209,198,0.25);
}

/* ACTIVE IMAGE COLOR + EFFECT */

.blog-card.active .blog-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    rgba(31,56,52,0.75),
    rgba(126,209,198,0.35)
  );
}

.blog-card.active .blog-image img{
  transform:scale(1.06);
  filter:brightness(1.1) contrast(1.15) saturate(1.2);
}

/* ACTIVE TEXT */

.blog-card.active h3{
  color:#ffffff;
}

.blog-card.active p{
  color:#e6fbf7;
}

.blog-card.active .date{
  color:#7ed1c6;
}

/* HOVER */

.blog-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 55px rgba(0,0,0,0.5);
}

.blog-card:hover .blog-image img{
  transform:scale(1.05);
}

.blog-card.active:hover{
  transform:scale(1.1) translateY(-6px);
}
.read-btn{
  display:inline-block;
  padding:12px 34px;
  background:#000;
  color:#fff;
  font-size:12px;
  letter-spacing:1px;
  text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease;
  will-change:transform;
}

.read-btn:hover{
  box-shadow:0 14px 30px rgba(0,0,0,0.4);
}


/* shine animation */

.read-btn::before{
  content:"";
  position:absolute;
  top:0;
  left:-60%;
  width:50%;
  height:100%;
  background:linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,0.4),
    transparent
  );
  transform:skewX(-25deg);
}

/* activate shine */

.read-btn:hover::before{
  animation:btnShine .8s ease forwards;
}
@keyframes btnShine{
  from{ left:-60%; }
  to{ left:130%; }
}
/* MOBILE */

@media(max-width:900px){

  .blog-container{
    grid-template-columns:1fr;
  }

  .blog-card.active{
    transform:none;
  }

}

/* hidden before scroll */

.blog-card{
  opacity:0;
  transform:translateY(60px);
  transition:all .8s cubic-bezier(.2,.65,.3,1);
}

/* visible on scroll */

.blog-card.show{
  opacity:1;
  transform:translateY(0);
}
/* our specialization */
.specialization-hero{
  background:#070b12;
  padding:140px 0;
  overflow:hidden;
}

/* WRAPPER */

.specialization-wrapper{
  max-width:1300px;
  margin:auto;
  padding:0 40px;
  display:grid;
  grid-template-columns: 60% 40%;
  align-items:center;
}

/* LEFT TITLE */

.specialization-left h1{
  font-size:72px;
  line-height:1.05;
  font-weight:800;
  color:#e9edf1;
  letter-spacing:-1px;
}

/* RIGHT CONTENT */

/* .specialization-right{
  padding-left:40px;
} */

.specialization-right p{
  font-size:18px;
  line-height:1.9;
  color:#aab3bd;
  margin-bottom:35px;
  max-width:460px;
}

/* BUTTON */

.specialization-btn{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:#ffffff;
  text-decoration:none;
  font-weight:600;
  font-size:17px;
  position:relative;
}

.specialization-btn span{
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid #7ed1c6;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  transition:.3s;
}

/* hover */

.specialization-btn:hover span{
  background:#7ed1c6;
  transform:translateX(4px);
}

/* RESPONSIVE */

@media(max-width:1000px){

  /* .specialization-wrapper{
    grid-template-columns:1fr;
    gap:40px;
  } */

  .specialization-left h1{
    font-size:54px;
  }

  .specialization-right{
    padding-left:0;
  }
}
/* ============================= */
/* MOBILE VIEW (Small Screens)  */
/* ============================= */

@media (max-width: 768px){

  .specialization-hero{
    padding:80px 0;
  }
.sticky-wrapper{
  padding: 0 !important;
}
.sticky-right{
  padding: 20px;
}
.sticky-left{
  padding: 20px;
}
    .accent-title {
      font-size: 30px;
    }
  .specialization-wrapper{
    grid-template-columns: 1fr;   /* Stack vertically */
    padding:0 20px;
    text-align:left;
  }

  .specialization-left h1{
    font-size:32px;   /* Reduce big 96px heading */
    line-height:1.2;
    letter-spacing:-0.5px;
    margin-bottom:25px;
  }

  .specialization-right{
    padding-left:0;   /* Remove side spacing */
  }

  .specialization-right p{
    font-size:16px;
    line-height:1.7;
    margin-bottom:25px;
    max-width:100%;
  }

  .specialization-btn{
    font-size:16px;
  }

  .specialization-btn span{
    width:32px;
    height:32px;
    font-size:13px;
  }
}
/* initial hidden state */

.specialization-left,
.specialization-right{
  opacity:0;
  transition:all 1s cubic-bezier(.2,.65,.3,1);
}

/* left title comes from right */

.specialization-left{
  transform:translateX(120px);
}

/* right content comes from left */

.specialization-right{
  transform:translateX(-120px);
}

/* visible when scrolled */

.specialization-left.show,
.specialization-right.show{
  opacity:1;
  transform:translateX(0);
}
/* body{
  background:#070b12;
  font-family:'Inter',sans-serif;
  color:#fff;
} */

/* SECTION */

/* WRAPPER */

.sticky-wrapper{
  max-width:1320px;
  margin:auto;
  padding:0 40px;
  display:grid;
  grid-template-columns:48% 52%;
  gap:80px;
  align-items:flex-start;
}

/* LEFT SIDE */

.sticky-left{
  position:sticky;
  top:140px;
  color: white;
}

.sticky-left h2{
  font-size:72px;
  font-weight:800;
  line-height:1.05;
  margin-bottom:25px;
}

.sticky-left p{
  font-size:18px;
  color:#aab3bd;
  line-height:1.9;
  max-width:420px;
  margin-bottom:40px;
}

/* BUTTON */

.sticky-btn{
  display:inline-flex;
  align-items:center;
  gap:14px;
  color:#fff;
  text-decoration:none;
  font-weight:600;
}

.sticky-btn span{
  width:40px;
  height:40px;
  border-radius:50%;
  border:1px solid #7ed1c6;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:.3s;
}

.sticky-btn:hover span{
  background:#7ed1c6;
  transform:translateX(5px);
}

/* RIGHT SIDE */

.sticky-right{
  display:flex;
  flex-direction:column;
  gap:90px;
}

/* CARD */

.card{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  background:linear-gradient(180deg,#0c1118,#0a0f15);
  border:1px solid rgba(255,255,255,0.08);
  transition:.4s;
  color: wheat;
}

.card:hover{
  border-color:#7ed1c6;
  transform:translateY(-8px);
}

/* glow hover */

.card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent,rgba(111,124,255,0.12),transparent);
  opacity:0;
  transition:.4s;
}

.card:hover::after{
  opacity:1;
}

/* INNER BLOCK */

.card-inner{
  display:block;
}

/* IMAGE */

/* IMAGE WRAPPER */

.card-img{
  position:relative;
  width:80%;
  height:260px;
  overflow:hidden;
  display:flex;
  align-items:center;
}

/* decorative background on RIGHT */

.card-img::before{
  content:"";
  position:absolute;
  right:0;
  top:0;
  width:55%;
  height:100%;
  background:linear-gradient(
    135deg,
    rgba(126,209,198,0.15),
    rgba(0,0,0,0)
  );
  z-index:1;
}

/* soft glow on right */

.card-img::after{
  content:"";
  position:absolute;
  right:-20%;
  top:-20%;
  width:80%;
  height:140%;
  background:radial-gradient(circle, rgba(126,209,198,0.18), transparent 70%);
  z-index:0;
}

/* IMAGE placement */

.card-img img{
  position:relative;
  width:70%;
  height:100%;
  object-fit:cover;
  z-index:2;
  transition:.6s;
  border-radius:0 12px 12px 0;
}

/* hover zoom */

.card:hover .card-img img{
  transform:scale(1.06);
}
/* CONTENT */

.card-content{
  padding:40px;
}

.number{
  display:block;
  font-size:13px;
  color:#7ed1c6;
  margin-bottom:15px;
  letter-spacing:2px;
}

.card-content h3{
  font-size:30px;
  margin-bottom:18px;
}

.card-content p{
  color:#9aa2a8;
  line-height:1.8;
}

/* RESPONSIVE */

@media(max-width:1000px){

  .sticky-wrapper{
    grid-template-columns:1fr;
  }

  .sticky-left{
    position:relative;
    top:0;
  }

  .sticky-left h2{
    font-size:46px;
  }

  .card-img{
    height:200px;
  }
}
/* testimonial title */
.testimonial-title-section{
  padding:0px 20px 60px;
  /* background:#ffffff; */
  text-align:center;
}

.testimonial-title-wrap{
  max-width:800px;
  margin:auto;
}

/* TITLE */

.testimonial-title-wrap h2{
  font-size:72px;
  font-weight:800;
  color:#1f2a33;
  letter-spacing:-0.5px;
  margin-bottom:18px;
  position:relative;
  animation:fadeUp 0.9s ease forwards;
  opacity:0;
}

/* ACCENT LINE */

.title-line{
  display:block;
  width:90px;
  height:4px;
  background:rgb(126,209,198);
  margin:0 auto;
  border-radius:4px;
  animation:lineGrow 1.2s ease forwards;
}

/* ANIMATIONS */

@keyframes fadeUp{
  from{
    transform:translateY(20px);
    opacity:0;
  }
  to{
    transform:translateY(0);
    opacity:1;
  }
}

@keyframes lineGrow{
  from{
    width:0;
  }
  to{
    width:90px;
  }
}
@media(max-width:768px){

  /* .testimonial-title-section{
    padding:70px 16px 40px;
  } */

  .testimonial-title-wrap h2{
    font-size:32px;
    line-height:1.2;
    letter-spacing:-0.3px;
    margin-bottom:14px;
  }

  .title-line{
    width:60px;
    height:3px;
  }
}
@media(max-width:480px){

  .testimonial-title-wrap h2{
    font-size:26px;
  }

  .title-line{
    width:50px;
  }
}
.marquee-section{
  position:relative;
  background-image: url("../images/tm_background_buildings.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding:120px 0;
  z-index:1;
}

/* Dark overlay */

.marquee-section::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(132, 130, 130, 0.6); 
  z-index:-1;
}
/* .big-title-section{
    background-image: url(../images/tm_background_buildings.jpg);
} */