*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  background:#f5f1eb;
  color:#3f3d42;
  font-family:'Inter', sans-serif;
  overflow-x:hidden;
}

h1,h2,h3{
  font-family:'Cormorant Garamond', serif;
  font-weight:600;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  background:
    radial-gradient(circle at 15% 10%, rgba(249,115,22,0.04), transparent 25%),
    radial-gradient(circle at 85% 70%, rgba(63,61,66,0.04), transparent 30%);
  pointer-events:none;
  z-index:9999;
}

/* SCROLL PROGRESS */

.scroll-progress{
  position:fixed;
  top:0;
  left:0;
  height:3px;
  width:0%;
  background:#e96f23;
  z-index:999999;
}

/* LOADER */

.loader{
  position:fixed;
  inset:0;
  background:#f5f1eb;
  z-index:99999;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  transition:0.8s ease;
}

.loader img{
  width:220px;
  animation:loaderZoom 1.4s ease infinite alternate;
}

.loader p{
  margin-top:18px;
  color:#e96f23;
  font-size:11px;
  font-weight:800;
  letter-spacing:4px;
  text-transform:uppercase;
}

.loader.hide{
  opacity:0;
  visibility:hidden;
}

@keyframes loaderZoom{
  from{
    transform:scale(0.95);
    opacity:0.65;
  }
  to{
    transform:scale(1.05);
    opacity:1;
  }
}

/* WHATSAPP */

.whatsapp-btn{
  position:fixed;
  right:26px;
  bottom:26px;
  z-index:9999;
  text-decoration:none;
  padding:15px 22px;
  border-radius:999px;
  background:#25D366;
  color:white;
  font-size:13px;
  font-weight:800;
  box-shadow:0 18px 40px rgba(37,211,102,0.25);
}

/* NAVBAR */

.navbar{
  position:fixed;
  top:24px;
  left:50%;
  transform:translateX(-50%);
  width:94%;
  height:84px;
  z-index:1000;
  padding:0 28px;
  display:grid;
  grid-template-columns:190px 1fr 210px;
  align-items:center;
  border-radius:28px;
  background:rgba(255,255,255,0.58);
  border:1px solid rgba(255,255,255,0.75);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  box-shadow:0 20px 50px rgba(0,0,0,0.08);
  transition:0.35s ease;
}

.brand img{
  height:70px;
  max-width:180px;
  object-fit:contain;
  display:block;
}

.nav-links{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:24px;
}

.nav-links a{
  color:#5b5960;
  text-decoration:none;
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:1.5px;
  font-weight:600;
  transition:0.35s;
  white-space:nowrap;
}

.nav-links a:hover,
.nav-links a.active{
  color:#e96f23;
}

.nav-btn{
  justify-self:end;
  padding:15px 24px;
  border-radius:999px;
  background:#e96f23;
  color:#fff;
  text-decoration:none;
  font-size:11px;
  font-weight:800;
  letter-spacing:1.4px;
  text-transform:uppercase;
  box-shadow:0 14px 30px rgba(249,115,22,0.22);
  transition:0.35s;
  white-space:nowrap;
}

.nav-btn:hover{
  transform:translateY(-4px);
}

/* HERO */

.hero{
  min-height:100vh;
  position:relative;
  overflow:hidden;
  background:url("assets/hero-bg.jpg") center right / cover no-repeat;
}

.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:1;
  filter:brightness(90%) saturate(90%);
}

.hero-bg{
  position:absolute;
  inset:0;
  background:url("assets/hero-bg.jpg") center right / cover no-repeat;
  z-index:0;
}

.hero-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(90deg, rgba(245,241,235,0.97), rgba(245,241,235,0.82), rgba(245,241,235,0.20)),
    radial-gradient(circle at 85% 25%, rgba(249,115,22,0.18), transparent 28%);
}

.hero-content{
  position:relative;
  z-index:3;
  padding:230px 7% 120px;
  max-width:760px;
}

.eyebrow{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:24px;
}

.eyebrow span{
  width:70px;
  height:2px;
  background:#e96f23;
}

.eyebrow p,
.label{
  color:#e96f23;
  text-transform:uppercase;
  letter-spacing:4px;
  font-size:11px;
  font-weight:800;
}

.hero h1{
  font-size:clamp(56px,7vw,100px);
  line-height:0.92;
  letter-spacing:-2px;
  margin-bottom:28px;
}

.hero-text{
  max-width:580px;
  color:#5b5960;
  font-size:17px;
  line-height:1.85;
}

.hero-buttons{
  margin-top:36px;
  display:flex;
  gap:18px;
}

.hero-tags{
  margin-top:28px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.hero-tags span{
  padding:10px 16px;
  border-radius:999px;
  background:rgba(255,255,255,0.55);
  border:1px solid rgba(63,61,66,0.10);
  color:#3f3d42;
  font-size:11px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
}

/* HERO STAGGER */

.hero-anim{
  opacity:0;
  transform:translateY(30px);
  animation:heroFade 1s ease forwards;
}

.hero-anim:nth-child(1){ animation-delay:0.2s; }
.hero-anim:nth-child(2){ animation-delay:0.4s; }
.hero-anim:nth-child(3){ animation-delay:0.6s; }
.hero-anim:nth-child(4){ animation-delay:0.8s; }
.hero-anim:nth-child(5){ animation-delay:1s; }

@keyframes heroFade{
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* BUTTONS */

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  padding:16px 30px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:1.5px;
  text-transform:uppercase;
  transition:0.35s;
}

.btn span{
  margin-left:10px;
}

.btn.primary{
  background:#e96f23;
  color:#fff;
  box-shadow:0 14px 30px rgba(249,115,22,0.20);
}

.btn.secondary{
  background:rgba(255,255,255,0.62);
  color:#3f3d42;
  border:1px solid rgba(63,61,66,0.12);
  backdrop-filter:blur(14px);
}

.btn:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 40px rgba(249,115,22,0.18);
}

/* STATS */

.stats-section{
  width:88%;
  margin:55px auto 0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  padding:26px;
  border-radius:34px;
  background:rgba(255,255,255,0.70);
  border:1px solid rgba(255,255,255,0.75);
  backdrop-filter:blur(22px);
  box-shadow:0 25px 60px rgba(0,0,0,0.08);
}

.stat-card{
  padding:32px;
  border-radius:28px;
  background:rgba(255,255,255,0.78);
  transition:0.35s;
}

.stat-card:hover{
  transform:translateY(-8px);
}

.stat-card h2{
  font-size:38px;
}

.stat-card p{
  margin-top:8px;
  color:#e96f23;
  font-size:12px;
  font-weight:800;
  letter-spacing:1.5px;
  text-transform:uppercase;
}

/* COMMON */

.about-section,
.services-section,
.projects-section,
.developers-section,
.nri-section,
.insights-section,
.contact-section{
  padding:130px 7%;
}

.about-section,
.projects-section,
.nri-section,
.contact-section{
  background:#f5f1eb;
}

.services-section,
.developers-section,
.insights-section,
.footer{
  background:#fffaf3;
}

.section-head{
  margin-bottom:60px;
}

.section-head h2,
.about-left h2,
.developers-head h2,
.nri-card h2,
.contact-box h2{
  margin-top:22px;
  max-width:780px;
  font-size:50px;
  line-height:1.12;
}

.about-section{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
}

.about-right p,
.nri-card p,
.contact-left p{
  color:#5b5960;
  font-size:17px;
  line-height:1.9;
  margin-bottom:24px;
}

.text-link{
  color:#e96f23;
  font-weight:800;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:1px;
  font-size:12px;
}

/* SERVICES */

.services-grid,
.projects-grid,
.insights-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}

.service-card,
.insight-card{
  padding:44px;
  min-height:340px;
  border-radius:34px;
  background:rgba(255,255,255,0.72);
  border:1px solid rgba(255,255,255,0.78);
  box-shadow:0 20px 50px rgba(0,0,0,0.05);
  transition:0.4s;
}

.service-card:hover,
.insight-card:hover{
  transform:translateY(-10px);
  box-shadow:0 25px 60px rgba(249,115,22,0.10);
}

.service-icon{
  width:54px;
  height:54px;
  border-radius:50%;
  background:#e96f23;
  color:white;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  margin-bottom:22px;
}

.service-card h3,
.insight-card h3{
  font-size:32px;
  margin:22px 0;
}

.service-card p,
.insight-card p{
  color:#5b5960;
  line-height:1.8;
}

.service-card a,
.insight-card a{
  display:inline-block;
  margin-top:28px;
  color:#e96f23;
  text-decoration:none;
  font-weight:800;
  font-size:12px;
  letter-spacing:1.4px;
  text-transform:uppercase;
}

/* PROJECTS */

.project-card{
  position:relative;
  height:540px;
  border-radius:36px;
  overflow:hidden;
  box-shadow:0 25px 60px rgba(0,0,0,0.10);
  transform-style:preserve-3d;
  transition:0.2s ease;
}

.project-card::before{
  content:"View Case Study →";
  position:absolute;
  top:28px;
  right:28px;
  z-index:3;
  padding:12px 18px;
  border-radius:999px;
  background:rgba(255,255,255,0.85);
  color:#3f3d42;
  font-size:11px;
  font-weight:800;
  letter-spacing:1px;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(-10px);
  transition:0.35s ease;
}

.project-card:hover::before{
  opacity:1;
  transform:translateY(0);
}

.project-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:0.8s;
}

.project-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, transparent, rgba(0,0,0,0.85)),
    radial-gradient(circle at bottom left, rgba(249,115,22,0.22), transparent 45%);
}

.project-card:hover img{
  transform:scale(1.08);
}

.project-content{
  position:absolute;
  left:34px;
  right:34px;
  bottom:36px;
  z-index:2;
  transform:translateZ(30px);
}

.project-content span{
  color:#f7c98b;
  font-size:11px;
  letter-spacing:3px;
  text-transform:uppercase;
}

.project-content h3{
  color:#fff;
  font-size:35px;
  margin:14px 0;
}

.project-content p{
  color:rgba(255,255,255,0.78);
  line-height:1.8;
}

/* DEVELOPERS */

.developers-section{
  overflow:hidden;
}

.developers-head{
  text-align:center;
  margin-bottom:55px;
}

.developers-head h2{
  margin-left:auto;
  margin-right:auto;
}

.developers-head p{
  max-width:620px;
  margin:18px auto 0;
  color:#5b5960;
  line-height:1.7;
}

.logo-marquee{
  overflow:hidden;
  position:relative;
  width:100%;
  padding:10px 0;
}

.logo-track{
  display:flex;
  width:max-content;
  gap:24px;
  animation:marquee 35s linear infinite;
}

.logo-track:hover{
  animation-play-state:paused;
}

.developer-logo{
  min-width:240px;
  height:140px;
  border-radius:30px;
  background:rgba(255,255,255,0.78);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  box-shadow:0 18px 40px rgba(0,0,0,0.05);
  padding:24px;
}

.developer-logo img{
  max-width:130px;
  max-height:58px;
  object-fit:contain;
  margin-bottom:12px;
}

.developer-logo p{
  color:#3f3d42;
  font-size:14px;
  font-weight:800;
  text-align:center;
  white-space:nowrap;
}

@keyframes marquee{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

/* NRI */

.nri-card{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  padding:80px;
  border-radius:42px;
  background:
    radial-gradient(circle at top right, rgba(249,115,22,0.14), transparent 35%),
    rgba(255,255,255,0.72);
  box-shadow:0 25px 65px rgba(0,0,0,0.06);
}

.nri-locations{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:24px 0;
}

.nri-locations span{
  padding:9px 14px;
  border-radius:999px;
  background:rgba(249,115,22,0.10);
  color:#e96f23;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:1px;
}

.nri-card ul{
  margin:24px 0 34px;
  padding-left:18px;
}

.nri-card li{
  margin-bottom:14px;
  color:#5b5960;
}

/* CONTACT FORM */

.contact-box{
  display:grid;
  grid-template-columns:0.9fr 1.1fr;
  gap:60px;
  text-align:left;
  padding:85px;
  border-radius:42px;
  background:rgba(255,255,255,0.72);
  box-shadow:0 25px 65px rgba(0,0,0,0.06);
}

.contact-left h2{
  font-size:48px;
  line-height:1.12;
  margin:24px 0;
}

.contact-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;
  padding:17px 18px;
  border-radius:18px;
  border:1px solid rgba(63,61,66,0.10);
  background:rgba(255,255,255,0.72);
  font-family:'Inter', sans-serif;
  color:#3f3d42;
  outline:none;
}

.contact-form textarea{
  grid-column:1 / -1;
  min-height:130px;
  resize:none;
}

.contact-form button{
  grid-column:1 / -1;
  padding:18px 30px;
  border:none;
  border-radius:999px;
  background:#e96f23;
  color:white;
  font-weight:800;
  letter-spacing:1.4px;
  text-transform:uppercase;
  cursor:pointer;
  transition:0.35s;
}

.contact-form button:hover{
  transform:translateY(-4px);
}

/* FOOTER */

.footer{
  padding:70px 7% 35px;
  text-align:center;
}

.footer img{
  height:76px;
  margin-bottom:22px;
}

.footer p{
  color:#5b5960;
  margin-bottom:26px;
}

.footer-links{
  display:flex;
  justify-content:center;
  gap:28px;
  margin-bottom:30px;
  flex-wrap:wrap;
}

.footer-links a{
  color:#3f3d42;
  text-decoration:none;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:1.5px;
}

.footer small{
  color:#777;
}

/* REVEAL ANIMATION */

.reveal{
  opacity:0;
  transform:translateY(55px);
  transition:1s ease;
}

.reveal.active{
  opacity:1;
  transform:translateY(0);
}

/* STAGGER CARDS */

.services-grid .reveal:nth-child(1),
.projects-grid .reveal:nth-child(1),
.insights-grid .reveal:nth-child(1){
  transition-delay:0.1s;
}

.services-grid .reveal:nth-child(2),
.projects-grid .reveal:nth-child(2),
.insights-grid .reveal:nth-child(2){
  transition-delay:0.2s;
}

.services-grid .reveal:nth-child(3),
.projects-grid .reveal:nth-child(3),
.insights-grid .reveal:nth-child(3){
  transition-delay:0.3s;
}

/* RESPONSIVE */

@media(max-width:1100px){
  .navbar{
    grid-template-columns:160px 1fr 185px;
  }

  .nav-links{
    gap:16px;
  }

  .nav-links a{
    font-size:10px;
    letter-spacing:1px;
  }
}

@media(max-width:992px){
  .nav-links{
    display:none;
  }

  .navbar{
    grid-template-columns:1fr auto;
  }

  .stats-section,
  .services-grid,
  .projects-grid,
  .insights-grid{
    grid-template-columns:1fr 1fr;
  }

  .about-section,
  .nri-card,
  .contact-box{
    grid-template-columns:1fr;
  }

  .contact-form{
    grid-template-columns:1fr;
  }
}

@media(max-width:600px){
  .navbar{
    height:72px;
    padding:0 18px;
  }

  .brand img{
    height:52px;
  }

  .nav-btn{
    padding:12px 18px;
    font-size:10px;
  }

  .hero-content{
    padding-top:170px;
  }

  .hero h1{
    font-size:44px;
  }

  .hero-buttons,
  .contact-buttons{
    flex-direction:column;
  }

  .stats-section,
  .services-grid,
  .projects-grid,
  .insights-grid{
    grid-template-columns:1fr;
  }

  .about-section,
  .services-section,
  .projects-section,
  .developers-section,
  .nri-section,
  .insights-section,
  .contact-section{
    padding:80px 6%;
  }

  .section-head h2,
  .about-left h2,
  .developers-head h2,
  .nri-card h2,
  .contact-left h2{
    font-size:34px;
  }

  .project-card{
    height:420px;
  }

  .nri-card,
  .contact-box{
    padding:44px 24px;
  }

  .loader img{
    width:170px;
  }

  .loader p{
    font-size:9px;
    letter-spacing:2px;
  }
}
/* =========================
   NRI SECTION
========================= */

.nri-section{
  padding:110px 7%;
}

/* CARD */

.nri-card{
  position:relative;
  overflow:hidden;

  border-radius:42px;

  padding:70px;

  background:#f7f2eb;

  box-shadow:0 25px 65px rgba(0,0,0,0.06);
}

/* VIDEO */

.nri-bg-video{
  position:absolute;
  inset:0;

  width:100%;
  height:100%;

  object-fit:cover;

  opacity:0.58;

  z-index:0;
}

/* OVERLAY */

.nri-overlay{
  position:absolute;
  inset:0;

  z-index:1;

  background:
  linear-gradient(
    90deg,
    rgba(247,242,235,0.82) 0%,
    rgba(247,242,235,0.65) 35%,
    rgba(247,242,235,0.35) 60%,
    rgba(247,242,235,0.15) 100%
  );
}

/* CONTENT */

.nri-inner{
  position:relative;
  z-index:2;

  max-width:1080px;
}

/* LABEL */

.nri-inner .label{
  display:inline-block;

  color:#e96f23;

  font-size:11px;
  font-weight:800;

  letter-spacing:4px;
  text-transform:uppercase;

  margin-bottom:18px;
}

/* HEADING */

.nri-inner h2{
  margin-bottom:22px;

  font-size:68px;
  line-height:0.98;
  letter-spacing:-2px;

  max-width:900px;

  color:#2f2a32;
}

/* TEXT */

.nri-inner p{
  max-width:1180px;

  color:#4f4c55;

  font-size:17px;
  line-height:1.8;

  margin-bottom:30px;
}

/* LOCATION TAGS */

.nri-locations{
  display:flex;
  flex-wrap:wrap;

  gap:12px;

  margin-bottom:34px;
}

.nri-locations span{
  padding:10px 16px;

  border-radius:999px;

  background:rgba(255,255,255,0.58);

  backdrop-filter:blur(10px);

  color:#e96f23;

  font-size:10px;
  font-weight:800;

  letter-spacing:1.2px;
  text-transform:uppercase;
}

/* LIST */

.nri-inner ul{
  margin-bottom:38px;
  padding-left:20px;
}

.nri-inner li{
  margin-bottom:16px;

  color:#4f4c55;

  font-size:16px;
  line-height:1.6;
}

/* BUTTON */

.nri-inner .btn{
  margin-top:4px;
}

/* MOBILE */

@media(max-width:992px){

  .nri-card{
    padding:50px 32px;
  }

  .nri-bg-video{
    opacity:0.28;
  }

  .nri-inner h2{
    font-size:50px;
    max-width:100%;
  }

}

@media(max-width:600px){

  .nri-section{
    padding:80px 6%;
  }

  .nri-card{
    padding:42px 24px;
    border-radius:30px;
  }

  .nri-inner h2{
    font-size:40px;
    line-height:1.02;
  }

  .nri-inner p,
  .nri-inner li{
    font-size:15px;
  }

  .nri-locations{
    gap:8px;
  }

  .nri-locations span{
    font-size:9px;
    padding:8px 12px;
  }

}
/* =========================
   CONTACT SECTION
========================= */

.contact-section{
  padding:120px 7%;
}

/* BOX */

.contact-box{
  position:relative;

  overflow:hidden;

  display:grid;
  grid-template-columns:0.9fr 1fr;

  gap:80px;

  align-items:center;

  padding:70px;

  border-radius:42px;

  background:#f7f2eb;

  box-shadow:0 25px 65px rgba(0,0,0,0.06);
}

/* VIDEO */

.contact-bg-video{
  position:absolute;
  inset:0;

  width:100%;
  height:100%;

  object-fit:cover;

  opacity:0.62;

  z-index:0;

  transform:scale(1.02);
}

/* OVERLAY */

.contact-overlay{
  position:absolute;
  inset:0;

  background:
  linear-gradient(
    90deg,
    rgba(247,242,235,0.72) 0%,
    rgba(247,242,235,0.52) 35%,
    rgba(247,242,235,0.28) 70%,
    rgba(247,242,235,0.16) 100%
  );

  z-index:1;
}

/* CONTENT */

.contact-left,
.contact-form{
  position:relative;
  z-index:2;
}

/* LEFT */

.contact-left .label{
  display:inline-block;

  color:#e96f23;

  font-size:11px;
  font-weight:800;

  letter-spacing:4px;
  text-transform:uppercase;

  margin-bottom:22px;
}

.contact-left h2{
  font-size:68px;
  line-height:0.96;
  letter-spacing:-2px;

  max-width:520px;

  margin-bottom:28px;

  color:#2f2a32;
}

.contact-left p{
  max-width:460px;

  color:#5b5960;

  font-size:18px;
  line-height:1.8;
}

/* FORM */

.contact-form{
  display:grid;
  grid-template-columns:1fr 1fr;

  gap:22px;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;

  border:none;
  outline:none;

  padding:22px 24px;

  border-radius:24px;

  background:rgba(255,255,255,0.72);

  backdrop-filter:blur(14px);

  font-size:16px;
  color:#2f2a32;

  box-shadow:
  inset 0 0 0 1px rgba(255,255,255,0.45),
  0 10px 30px rgba(0,0,0,0.04);

  transition:0.35s ease;
}

/* FOCUS */

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  background:white;

  transform:translateY(-2px);

  box-shadow:
  0 18px 40px rgba(233,111,35,0.10);
}

/* TEXTAREA */

.contact-form textarea{
  grid-column:span 2;

  min-height:170px;

  resize:none;
}

/* BUTTON */

.contact-form button{
  grid-column:span 2;

  border:none;

  height:72px;

  border-radius:999px;

  background:#e96f23;

  color:white;

  font-size:15px;
  font-weight:800;

  letter-spacing:2px;
  text-transform:uppercase;

  cursor:pointer;

  transition:0.4s ease;

  box-shadow:0 20px 45px rgba(233,111,35,0.25);
}

.contact-form button:hover{
  transform:translateY(-4px);

  box-shadow:0 28px 60px rgba(233,111,35,0.32);
}

/* THANK YOU POPUP */

.thankyou-popup{
  position:fixed;
  inset:0;

  background:rgba(0,0,0,0.45);

  backdrop-filter:blur(10px);

  z-index:999999;

  display:none;

  align-items:center;
  justify-content:center;
}

.thankyou-popup.show{
  display:flex;
}

.thankyou-card{
  width:90%;
  max-width:460px;

  padding:50px;

  text-align:center;

  border-radius:34px;

  background:#fffaf3;

  animation:popup 0.5s ease;

  box-shadow:0 30px 80px rgba(0,0,0,0.18);
}

.checkmark{
  width:82px;
  height:82px;

  margin:0 auto 24px;

  border-radius:50%;

  background:#e96f23;

  color:white;

  font-size:42px;
  font-weight:700;

  display:flex;
  align-items:center;
  justify-content:center;
}

.thankyou-card h2{
  font-size:46px;

  margin-bottom:12px;
}

.thankyou-card p{
  color:#5b5960;

  font-size:17px;
  line-height:1.7;

  margin-bottom:28px;
}

.thankyou-card button{
  border:none;

  padding:16px 28px;

  border-radius:999px;

  background:#e96f23;

  color:white;

  font-weight:800;

  cursor:pointer;
}

/* POPUP ANIMATION */

@keyframes popup{

  from{
    opacity:0;
    transform:scale(0.88) translateY(20px);
  }

  to{
    opacity:1;
    transform:scale(1) translateY(0);
  }

}

/* MOBILE */

@media(max-width:992px){

  .contact-box{
    grid-template-columns:1fr;

    gap:50px;

    padding:50px 32px;
  }

  .contact-left h2{
    font-size:52px;
    max-width:100%;
  }

}

@media(max-width:600px){

  .contact-section{
    padding:80px 6%;
  }

  .contact-box{
    padding:40px 24px;

    border-radius:30px;
  }

  .contact-left h2{
    font-size:40px;
    line-height:1.02;
  }

  .contact-left p{
    font-size:16px;
  }

  .contact-form{
    grid-template-columns:1fr;
  }

  .contact-form textarea,
  .contact-form button{
    grid-column:span 1;
  }

}
.footer{
  padding:80px 7% 30px;
  background:#fffaf3;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1.2fr;
  gap:50px;
  margin-bottom:50px;
}

.footer-brand img{
  height:80px;
  margin-bottom:20px;
}

.footer p{
  color:#5b5960;
  line-height:1.7;
  margin-bottom:12px;
}

.footer h4{
  font-size:20px;
  margin-bottom:22px;
  color:#3f3d42;
}

.footer a{
  display:block;
  color:#5b5960;
  text-decoration:none;
  margin-bottom:12px;
  font-size:14px;
  transition:0.3s;
}

.footer a:hover{
  color:#e96f23;
  transform:translateX(4px);
}

.social-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}

.social-links a{
  padding:10px 14px;
  border-radius:999px;
  background:#f5f1eb;
  color:#3f3d42;
  font-size:12px;
  font-weight:700;
  margin-bottom:0;
}

.footer-bottom{
  padding-top:28px;
  border-top:1px solid rgba(63,61,66,0.10);
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#5b5960;
}

.footer-bottom span{
  color:#e96f23;
  font-weight:800;
  letter-spacing:1.5px;
  text-transform:uppercase;
  font-size:12px;
}

@media(max-width:900px){
  .footer-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:600px){
  .footer-grid{
    grid-template-columns:1fr;
  }

  .footer-bottom{
    flex-direction:column;
    gap:12px;
    text-align:center;
  }
}
/* =========================
   FOOTER
========================= */

.footer{
  padding:90px 7% 30px;

  background:#fffaf3;

  border-top:1px solid rgba(0,0,0,0.05);
}

/* TOP */

.footer-top{
  display:grid;

  grid-template-columns:
  1.15fr
  0.8fr
  0.9fr
  0.9fr;

  gap:70px;

  align-items:start;
}
/* BRAND */

.footer-brand{
  max-width:420px;

  display:flex;
  flex-direction:column;

  align-items:flex-start;
}

.footer-brand img{
  width:240px;

  margin-bottom:26px;
}

.footer-brand p{
  color:#5b5960;

  line-height:1.8;

  font-size:16px;

  margin-bottom:28px;
}

/* SOCIAL */

.footer-social{
  display:flex;
  flex-wrap:wrap;

  gap:12px;
}

.footer-social a{
  padding:12px 18px;

  border-radius:999px;

  background:#f5f1eb;

  color:#3f3d42;

  text-decoration:none;

  font-size:12px;
  font-weight:800;

  letter-spacing:1px;

  transition:0.35s ease;
}

.footer-social a:hover{
  background:#e96f23;
  color:white;

  transform:translateY(-3px);
}

/* RIGHT SIDE */

.footer-links-wrap{
  flex:1;

  display:grid;
  grid-template-columns:repeat(3,1fr);

  gap:50px;
}

/* COLUMN */

.footer-column h4{
  font-size:22px;

  margin-bottom:24px;

  color:#2f2a32;
}

.footer-column a{
  position:relative;

  display:inline-block;

  margin-bottom:18px;

  color:#5b5960;

  text-decoration:none;

  font-size:17px;

  transition:0.35s ease;
}

.footer-column a:hover{
  color:#e96f23;

  transform:translateX(4px);
}

.footer-column p{
  margin-bottom:22px;

  color:#5b5960;

  line-height:1.7;

  font-size:17px;
}

/* BOTTOM */

.footer-bottom{
  padding-top:28px;

  border-top:1px solid rgba(0,0,0,0.06);

  display:flex;
  justify-content:space-between;
  align-items:center;

  gap:20px;
}

.footer-bottom small{
  color:#777;
}

.footer-bottom span{
  color:#e96f23;

  font-size:12px;
  font-weight:800;

  letter-spacing:2px;
  text-transform:uppercase;
}

/* MOBILE */

@media(max-width:992px){

  .footer-top{
    flex-direction:column;

    gap:60px;
  }

  .footer-links-wrap{
    grid-template-columns:1fr 1fr;
  }

}

@media(max-width:600px){

  .footer{
    padding:70px 6% 24px;
  }

  .footer-brand img{
    height:70px;
  }

  .footer-links-wrap{
    grid-template-columns:1fr;

    gap:40px;
  }

  .footer-bottom{
    flex-direction:column;

    text-align:center;
  }

  .footer-social{
    gap:10px;
  }

  .footer-social a{
    font-size:11px;
    padding:10px 14px;
  }

}
background:
linear-gradient(
180deg,
#f8f4ee 0%,
#f3ede5 100%
);
.footer-social a:hover{
  transform:translateY(-5px);
  background:#e96f23;
  color:white;
  box-shadow:0 18px 40px rgba(233,111,35,0.25);
}
/* =========================
   FOOTER
========================= */

.footer{
  position:relative;

  padding:110px 7% 34px;

  background:
  linear-gradient(
  180deg,
  #f8f4ee 0%,
  #f3ede5 100%
  );

  overflow:hidden;

  border-top:1px solid rgba(0,0,0,0.04);
}

/* TOP LINE */

.footer::before{
  content:"";

  position:absolute;

  top:0;
  left:0;

  width:100%;
  height:1px;

  background:
  linear-gradient(
  90deg,
  transparent,
  rgba(233,111,35,0.6),
  transparent
  );
}

/* TOP */

.footer-top{
  display:grid;

  grid-template-columns:
  1.2fr
  0.9fr
  0.9fr
  0.9fr;

  gap:80px;

  align-items:flex-start;

  margin-bottom:70px;
}

/* BRAND */

.footer-brand{
  max-width:420px;
}

.footer-brand img{
  width:240px;

  margin-bottom:20px;
}

/* TAGLINE */

.footer-tagline{
  display:block;

  margin-bottom:26px;

  color:#e96f23;

  font-size:11px;
  font-weight:800;

  letter-spacing:4px;
  text-transform:uppercase;

  line-height:1.7;
}

.footer-brand p{
  color:#5b5960;

  line-height:1.9;

  font-size:18px;

  margin-bottom:34px;

  max-width:340px;
}

/* SOCIAL */

.footer-social{
  display:flex;

  flex-wrap:wrap;

  gap:14px;
}

.footer-social a{
  padding:13px 18px;

  border-radius:999px;

  background:rgba(255,255,255,0.55);

  backdrop-filter:blur(12px);

  color:#2f2a32;

  text-decoration:none;

  font-size:12px;
  font-weight:800;

  letter-spacing:1px;

  transition:0.35s ease;

  box-shadow:
  0 10px 24px rgba(0,0,0,0.04);
}

.footer-social a:hover{
  background:#e96f23;

  color:white;

  transform:
  translateY(-4px);

  box-shadow:
  0 18px 40px rgba(233,111,35,0.25);
}

/* COLUMN */

.footer-column{
  display:flex;
  flex-direction:column;

  align-items:flex-start;
}

.footer-column a{
  position:relative;

  display:block;

  width:max-content;

  margin-bottom:16px;

  color:#5b5960;

  text-decoration:none;

  font-size:16px;

  transition:0.35s ease;
}

/* HOVER UNDERLINE */

.footer-column a::after{
  content:"";

  position:absolute;

  left:0;
  bottom:-5px;

  width:0%;

  height:1px;

  background:#e96f23;

  transition:0.35s ease;
}

.footer-column a:hover{
  color:#e96f23;

  transform:translateX(4px);
}

.footer-column a:hover::after{
  width:100%;
}

/* CONTACT */

.footer-column p{
  margin-bottom:18px;

  color:#5b5960;

  line-height:1.8;

  font-size:16px;
}

/* NEWSLETTER */

.footer-newsletter{
  position:relative;

  margin-bottom:55px;

  padding:46px;

  border-radius:36px;

  background:
  rgba(255,255,255,0.46);

  backdrop-filter:blur(16px);

  box-shadow:
  0 18px 50px rgba(0,0,0,0.04);

  text-align:center;
}

.footer-newsletter h3{
  font-size:38px;

  line-height:1.2;

  margin-bottom:26px;

  color:#2f2a32;
}

/* NEWSLETTER BOX */

.newsletter-box{
  display:flex;

  gap:16px;

  justify-content:center;

  max-width:700px;

  margin:0 auto;
}

.newsletter-box input{
  flex:1;

  height:66px;

  border:none;
  outline:none;

  padding:0 26px;

  border-radius:999px;

  background:white;

  font-size:15px;

  box-shadow:
  0 10px 30px rgba(0,0,0,0.04);
}

.newsletter-box button{
  border:none;

  padding:0 34px;

  border-radius:999px;

  background:#e96f23;

  color:white;

  font-size:14px;
  font-weight:800;

  letter-spacing:1px;
  text-transform:uppercase;

  cursor:pointer;

  transition:0.35s ease;

  box-shadow:
  0 18px 40px rgba(233,111,35,0.25);
}

.newsletter-box button:hover{
  transform:translateY(-3px);
}

/* BOTTOM */

.footer-bottom{
  padding-top:28px;

  border-top:
  1px solid rgba(0,0,0,0.06);

  display:flex;

  justify-content:space-between;

  align-items:center;

  gap:20px;
}

.footer-bottom small{
  color:#6f6b67;

  font-size:14px;
}

.footer-bottom span{
  color:#e96f23;

  font-size:12px;
  font-weight:800;

  letter-spacing:2px;
  text-transform:uppercase;
}

/* MOBILE */

@media(max-width:1100px){

  .footer-top{
    grid-template-columns:
    1fr 1fr;

    gap:60px;
  }

}

@media(max-width:768px){

  .footer{
    padding:80px 6% 24px;
  }

  .footer-top{
    grid-template-columns:1fr;

    gap:50px;
  }

  .footer-brand{
    max-width:100%;
  }

  .footer-brand img{
    width:200px;
  }

  .footer-column h4{
  font-size:22px;

  margin-bottom:28px;

  color:#2f2a32;
}

  .footer-newsletter{
    padding:34px 24px;
  }

  .footer-newsletter h3{
    font-size:28px;
  }

  .newsletter-box{
    flex-direction:column;
  }

  .newsletter-box input,
  .newsletter-box button{
    width:100%;
    height:60px;
  }

  .footer-bottom{
    flex-direction:column;

    text-align:center;
  }

}
.footer-column:nth-child(2){
  padding-left:20px;
}

.footer-column:nth-child(3){
  padding-left:10px;
}
@media(max-width:768px){

  .footer-top{
    grid-template-columns:1fr;

    gap:50px;
  }

  .footer-brand{
    align-items:center;
    text-align:center;
  }

  .footer-brand p{
    max-width:100%;
  }

  .footer-social{
    justify-content:center;
  }

}
/* NEWSLETTER POPUP */

.newsletter-popup{
  position:fixed;

  inset:0;

  background:rgba(0,0,0,0.45);

  backdrop-filter:blur(10px);

  z-index:999999;

  display:none;

  align-items:center;
  justify-content:center;
}

.newsletter-popup.show{
  display:flex;
}

.newsletter-popup-card{
  width:90%;
  max-width:480px;

  padding:54px 40px;

  border-radius:34px;

  background:#fffaf3;

  text-align:center;

  animation:newsletterPop 0.5s ease;

  box-shadow:
  0 30px 80px rgba(0,0,0,0.18);
}

.newsletter-check{
  width:84px;
  height:84px;

  margin:0 auto 24px;

  border-radius:50%;

  background:#e96f23;

  color:white;

  font-size:42px;
  font-weight:700;

  display:flex;
  align-items:center;
  justify-content:center;
}

.newsletter-popup-card h2{
  font-size:44px;

  line-height:1.1;

  margin-bottom:16px;

  color:#2f2a32;
}

.newsletter-popup-card p{
  color:#5b5960;

  line-height:1.8;

  margin-bottom:30px;

  font-size:16px;
}

.newsletter-popup-card button{
  border:none;

  height:60px;

  padding:0 30px;

  border-radius:999px;

  background:#e96f23;

  color:white;

  font-size:14px;
  font-weight:800;

  letter-spacing:1px;
  text-transform:uppercase;

  cursor:pointer;

  transition:0.35s ease;
}

.newsletter-popup-card button:hover{
  transform:translateY(-3px);
}

/* ANIMATION */

@keyframes newsletterPop{

  from{
    opacity:0;
    transform:scale(0.88) translateY(20px);
  }

  to{
    opacity:1;
    transform:scale(1) translateY(0);
  }

}
/* NEWSLETTER POPUP */

.newsletter-popup{
  position:fixed;
  inset:0;

  width:100%;
  height:100%;

  background:rgba(0,0,0,0.45);

  backdrop-filter:blur(10px);

  z-index:999999;

  display:flex;

  align-items:center;
  justify-content:center;

  opacity:0;
  visibility:hidden;

  transition:0.4s ease;
}

.newsletter-popup.show{
  opacity:1;
  visibility:visible;
}

.newsletter-popup-card{
  width:90%;
  max-width:460px;

  padding:52px 40px;

  border-radius:34px;

  background:#fffaf3;

  text-align:center;

  transform:translateY(20px) scale(0.92);

  transition:0.45s ease;
}

.newsletter-popup.show .newsletter-popup-card{
  transform:translateY(0) scale(1);
}

.newsletter-check{
  width:82px;
  height:82px;

  margin:0 auto 24px;

  border-radius:50%;

  background:#e96f23;

  color:white;

  font-size:42px;
  font-weight:700;

  display:flex;
  align-items:center;
  justify-content:center;
}

.newsletter-popup-card h2{
  font-size:46px;

  margin-bottom:16px;

  color:#2f2a32;
}

.newsletter-popup-card p{
  color:#5b5960;

  line-height:1.8;

  margin-bottom:30px;
}

.newsletter-popup-card button{
  border:none;

  height:58px;

  padding:0 28px;

  border-radius:999px;

  background:#e96f23;

  color:white;

  font-weight:800;

  cursor:pointer;
}
/* =========================
   NEWSLETTER
========================= */

.footer-newsletter{
  position:relative;

  margin-bottom:55px;

  padding:46px;

  border-radius:36px;

  background:
  rgba(255,255,255,0.46);

  backdrop-filter:blur(16px);

  box-shadow:
  0 18px 50px rgba(0,0,0,0.04);

  text-align:center;
}

.footer-newsletter h3{
  font-size:38px;

  line-height:1.2;

  margin-bottom:26px;

  color:#2f2a32;
}

/* FORM */

.newsletter-box{
  display:flex;

  gap:16px;

  justify-content:center;

  max-width:700px;

  margin:0 auto;
}

.newsletter-box input{
  flex:1;

  height:66px;

  border:none;
  outline:none;

  padding:0 26px;

  border-radius:999px;

  background:white;

  font-size:15px;

  box-shadow:
  0 10px 30px rgba(0,0,0,0.04);
}

.newsletter-box button{
  border:none;

  padding:0 34px;

  border-radius:999px;

  background:#e96f23;

  color:white;

  font-size:14px;
  font-weight:800;

  letter-spacing:1px;
  text-transform:uppercase;

  cursor:pointer;

  transition:0.35s ease;

  box-shadow:
  0 18px 40px rgba(233,111,35,0.25);
}

.newsletter-box button:hover{
  transform:translateY(-3px);
}

/* =========================
   POPUP
========================= */

.newsletter-popup{
  position:fixed;

  inset:0;

  width:100%;
  height:100%;

  background:rgba(0,0,0,0.45);

  backdrop-filter:blur(10px);

  z-index:999999;

  display:flex;

  align-items:center;
  justify-content:center;

  opacity:0;
  visibility:hidden;

  transition:0.4s ease;
}

.newsletter-popup.show{
  opacity:1;
  visibility:visible;
}

.newsletter-popup-card{
  width:90%;
  max-width:460px;

  padding:52px 40px;

  border-radius:34px;

  background:#fffaf3;

  text-align:center;

  transform:translateY(20px) scale(0.92);

  transition:0.45s ease;

  box-shadow:
  0 30px 80px rgba(0,0,0,0.18);
}

.newsletter-popup.show .newsletter-popup-card{
  transform:translateY(0) scale(1);
}

/* CHECK */

.newsletter-check{
  width:82px;
  height:82px;

  margin:0 auto 24px;

  border-radius:50%;

  background:#e96f23;

  color:white;

  font-size:42px;
  font-weight:700;

  display:flex;
  align-items:center;
  justify-content:center;
}

/* TEXT */

.newsletter-popup-card h2{
  font-size:46px;

  margin-bottom:16px;

  color:#2f2a32;
}

.newsletter-popup-card p{
  color:#5b5960;

  line-height:1.8;

  margin-bottom:30px;
}

/* BUTTON */

.newsletter-popup-card button{
  border:none;

  height:58px;

  padding:0 28px;

  border-radius:999px;

  background:#e96f23;

  color:white;

  font-weight:800;

  cursor:pointer;
}

/* MOBILE */

@media(max-width:768px){

  .footer-newsletter{
    padding:34px 24px;
  }

  .footer-newsletter h3{
    font-size:28px;
  }

  .newsletter-box{
    flex-direction:column;
  }

  .newsletter-box input,
  .newsletter-box button{
    width:100%;
    height:60px;
  }

}
/* FOOTER LOGO */

.footer-brand img{

  width:auto;

  height:72px;

  object-fit:contain;

  display:block;

  margin-bottom:28px;

}
.footer-brand{
  display:flex;
  flex-direction:column;

  align-items:flex-start;
}
/* FOOTER BRAND */

.footer-brand{

  display:flex;
  flex-direction:column;

  align-items:center;

  text-align:center;
}

/* LOGO */

.footer-brand img{

  width:auto;

  height:88px;

  object-fit:contain;

  display:block;

  margin:0 auto 30px;

}