@font-face {
  font-family: 'GonyaSemiBold';
  src: url('gonya/Gonya-SemiBold-Exfont11c6.otf') format('opentype');
  font-weight: 600 !important;
  font-style: normal;
}

:root{
    --bg:#f9f3ef;
    --ink:#0c0c0c;
    --peach:#e8d9c2;
    --cyan:#471818;
    --violet:#471818;
    --magenta:#471818;
    --pink:#4718185b;
  }

  *{ margin:0; padding:0; box-sizing:border-box; }

  html,body{
    /* background:var(--bg); */
    color:var(--ink);
    font-family: 'Rules-Regular', 'Rules', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    overflow-x:hidden;
    width:100%;
  }
  
  h1.headline,
.shaping-heading,
.pillar-title,
.service-heading,
.brand-logo,
h1.framework-headline,
.mock-logo .brandname,
.mock-app h4,
.panel-text h2,
.testimonial-title,
.card-logo,
.partners-title,
.logo-text,
.cards-section-title,
.rec-card-title,
.faq-main-title,
.footer-giant-email,
.work-title,
.intro-title,
.work-headline {
  font-family: 'GonyaSemiBold', sans-serif !important; /* Yahan se space hata diya gaya hai */
}

  ::selection{ background:var(--ink); color:var(--bg); }

  /* ---------- COMMON CONTAINER FLUID FOR ALL SECTIONS ---------- */
  .container-fluid {
    width: 100%;
    padding-left: clamp(20px, 4vw, 48px);
    padding-right: clamp(20px, 4vw, 48px);
  }

  /* ---------- FIXED COMMON GRADIENT MESH FOR BODY ---------- */
    .bg-video {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      object-fit: cover; /* Video puri screen par bina stretch hue fit hoti hai */
      z-index: -1;       /* Sabhi content ke peeche background me rakhne ke liye */
      pointer-events: none; /* Video par kisi type ke clicks block karne ke liye */
    }

  .stage{
    position:relative;
    width:100%;
    min-height:100vh;
    overflow:hidden;
    display:flex;
    flex-direction:column;
  }

  /* ---------- NAVBAR ---------- */
  
nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px clamp(20px, 4vw, 48px);
  background: rgba(239, 238, 232, 0);
  transition: background 0.3s ease, backdrop-filter 0.3s ease;
}

/* Dark Mode Nav Styles */
nav.dark-mode {
  color: #ffffff;
}

/* 1. Logo Image ko White karne ke liye CSS Filter */
nav.dark-mode .logo img {
  filter: brightness(0) invert(1);
  transition: filter 0.3s ease;
}

/* 2. "Hire us" Button aur uska SVG Arrow Icon White karne ke liye */
nav.dark-mode .hire {
  color: #ffffff;
  border-color: #ffffff; /* Agar button par border lagaya ho */
  background-color: transparent; /* Need ke according adjust karein */
  transition: color 0.3s ease, border-color 0.3s ease;
}

nav.dark-mode .hire svg {
  stroke: #ffffff;
  transition: stroke 0.3s ease;
}

/* 3. Hamburger Menu Button (3 Spans/Lines) ko White karne ke liye */
nav.dark-mode .menu-btn span {
  background-color: #ffffff;
  transition: background-color 0.3s ease;
}

/* nav.scrolled {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  background: rgba(239, 238, 232, 0.7);
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
} */

.brand { display: flex; align-items: center; gap: 14px; }
.logo img { height: 60px; text-align: center; }
.nav-right { display: flex; align-items: center; gap: 14px; }

.hire {
  display: inline-flex; align-items: center; gap: 8px;
  background: #0c0c0c; color: #f9f3ef; border: none;
  padding: 12px 20px 12px 22px; border-radius: 999px;
  font-family: inherit; font-size: 14px; font-weight: 600; cursor: pointer;
  transition: transform .35s cubic-bezier(.2,.8,.2,1), background .3s;
}
.hire:hover { transform: translateY(-2px); background: #222; }

.menu-btn {
  width: 44px; height: 44px; border-radius: 50%;
  border: 1.5px solid #0c0c0c; background: transparent;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; flex-direction: column; gap: 5px;
  transition: transform 0.3s ease;
}
.menu-btn span { display: block; width: 16px; height: 1.5px; background: #0c0c0c; }
.menu-btn:hover { transform: scale(1.05); }

/* ---------- POPUP NAVIGATION MODAL ---------- */
.nav-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 999;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
}
.nav-modal-backdrop.open {
  opacity: 1;
  pointer-events: auto;
}

.nav-modal-card {
  position: fixed;
  top: 24px;
  right: clamp(20px, 4vw, 48px);
  width: clamp(280px, 24vw, 360px);
  background: #ffffff;
  border-radius: 36px;
  padding: 36px 32px 32px 36px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
  z-index: 1000;
  transform: scale(0.85) translateY(-20px);
  opacity: 0;
  pointer-events: none;
  transform-origin: top right;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
}

.nav-modal-backdrop.open .nav-modal-card {
  transform: scale(1) translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.nav-close-btn {
  position: absolute;
  top: 28px;
  right: 28px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1.5px solid #111111;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 20px;
  color: #111111;
  transition: transform 0.3s ease, background 0.3s ease;
}
.nav-close-btn:hover {
  transform: scale(1.08);
  background: #f4f4f4;
}

.nav-links-list {
  list-style: none;
  padding: 0;
  margin: 20px 0 32px 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.nav-links-list a {
  font-size: clamp(22px, 2.2vw, 28px);
  font-weight: 600;
  color: #111111;
  text-decoration: none;
  letter-spacing: -0.02em;
  transition: color 0.25s ease, transform 0.25s ease;
  display: inline-block;
}

.nav-links-list a:hover {
  color: #666666;
  transform: translateX(4px);
}

.start-project-btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 12px 24px;
  border: 1.5px solid #111111;
  border-radius: 999px;
  background: transparent;
  color: #111111;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.start-project-btn:hover {
  background: #111111;
  color: #ffffff;
  transform: translateY(-2px);
}

@media (max-width: 768px) {
  .nav-modal-card { width: calc(100vw - 40px); right: 20px; }
}

  /* ---------- headline ---------- */
  .hero-main{
    position:relative;
    z-index:3;
    flex:1;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }

  h1.headline {
  font-family: 'Gonya Semi Bold', sans-serif;    
  text-transform: lowercase;
  line-height: 0.90; 
  font-size: clamp(4.5rem, 20vw, 24vh);
  margin-left: 5vh;   
  margin-top: 6vh; 
}

.line {
  display: block;
  line-height: 0.90; 
  margin-bottom: 0;
  padding-bottom: 0;
  position: relative;
  overflow: visible; /* Crop hone se bachane ke liye */
}

.line1 {
  z-index: 1;
}

.line2 {
  z-index: 2;
  text-align: center;
  margin-left: 20vh;
}

.line3 {
  z-index: 3; /* Line 3 ko sabse upar rakha taaki 'g' ka descender background me na dape */
}

/* Reveal Animation Adjustment */
.line .reveal {
  display: inline-block;
  /* Top aur bottom padding add ki hai taaki 'i' dot aur 'g' tail clip na ho */
  padding-top: 0.1em;
  padding-bottom: 0.25em;
  margin-top: -0.1em;
  margin-bottom: -0.25em;
  
  /* Safe Clip Path values */
  clip-path: inset(-10% -10% 110% -10%);
  transform: translateY(6%);
  animation: wipeIn 1.05s cubic-bezier(.22, .85, .15, 1) forwards;
}

@keyframes wipeIn {
  to {
    clip-path: inset(-10% -10% -20% -10%);
    transform: translateY(0%);
  }
}
  .line1 .reveal{ animation-delay:.15s; }
  .line2 .reveal{ animation-delay:.42s; }
  .line3 .reveal{ animation-delay:.68s; }

  @keyframes wipeIn{
    to{
      clip-path:inset(0 0 0% 0);
      transform:translateY(0);
    }
  }

  .o-orb {
  position: relative;
  display: inline-block;
  width: .86em;
  height: .62em;
  border-radius: 35%;
  overflow: hidden;
  vertical-align: -0.03em;
  margin: 0 .02em;
  background: #000;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .15);
  opacity: 0;
  transform: scale(.4);
  animation: orbPop .7s cubic-bezier(.2, 1.4, .4, 1) forwards;
  animation-delay: 1.3s;
}

@keyframes orbPop {
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* Naya video styling - video ko orb me perfectly fill karne ke liye */
.o-orb video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

  /* ---------- footer row: badges + copy ---------- */
  .footer-row{
    position:relative;
    z-index:4;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    flex-wrap:wrap;
    margin-top:6vh;
  }

  .badges{
    display:flex;
    align-items:center;
    gap:28px;
    flex-wrap:wrap;
    opacity:0;
    animation:fadeUp .8s ease forwards;
    animation-delay:1.55s;
  }
  .badges .badge{
    display:flex;
    align-items:center;
    gap:8px;
    color:#3a3a3a;
    font-size:12px;
    font-weight:600;
    letter-spacing:.02em;
    white-space:nowrap;
  }
  .badges .badge .dot{
    width:26px; height:26px;
    border-radius:50%;
    background:var(--ink);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:8px;
    font-weight:800;
    flex-shrink:0;
  }

  .description{
    max-width: 300px;
    font-size: clamp(1rem, 2vw, 1.2rem);
    color:#000;
    opacity:0;
    animation:fadeUp .8s ease forwards;
    animation-delay:1.7s;
    float: right;
    position: absolute;
    bottom: 0px;
    right: 50px;
  }
  .description b{ font-weight:700; }

  @keyframes fadeUp{
    from{ opacity:0; transform:translateY(14px); }
    to{ opacity:1; transform:translateY(0); }
  }

  @media (max-width:760px){
    .footer-row{ flex-direction:column; align-items:flex-start; }
    .description{ max-width:100%; position: relative; bottom: auto; right: auto; }
    .badges{ gap:18px; }
  }

  @media (prefers-reduced-motion: reduce){
    .blob{ animation:none !important; }
    .line .reveal{ animation-duration:.01s !important; }
    .orb-slide{ transition:none !important; }
  }

  /* ---------- section 2: shaping brands ---------- */
  .shaping{
    position:relative;
    overflow:hidden;
    margin-top:50px;
  }

  .shaping-inner{
    position:relative;
    z-index:2;
  }

  .shaping-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:40px;
    flex-wrap:wrap;
    margin-bottom:clamp(50px,7vw,90px);
  }

  .shaping-heading{    
    font-family:'Gonya Semi Bold', sans-serif;   
    line-height:1.14;
    letter-spacing:-.01em;
    font-size:clamp(30px, 4.6vw, 54px);
    max-width:13.5ch;
    opacity:0;
    transform:translateY(24px);
    transition:opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1);
  }

  .shaping-copy{
    max-width:340px;
    font-size:15.5px;
    line-height:1.5;
    color:#2a2a2a;
    padding-top:8px;
    opacity:0;
    transform:translateY(24px);
    transition:opacity .9s cubic-bezier(.2,.7,.2,1) .15s, transform .9s cubic-bezier(.2,.7,.2,1) .15s;
  }

  .shaping.in-view .shaping-heading,
  .shaping.in-view .shaping-copy{
    opacity:1;
    transform:translateY(0);
  }

  .pillars{
    display:flex;
    align-items:stretch;
    gap:0;
  }

  .x-sep{
    display:flex;
    align-items:center;
    justify-content:center;
    width:clamp(36px,4vw,64px);
    flex-shrink:0;
    font-size:50px;
    color:#1a1a1a;
    opacity:0;
    transition:opacity .6s ease;
  }
  .shaping.in-view .x-sep{ opacity:1; transition-delay:.55s; }

  .pillar{
    flex:1;
    min-width:0;
    background:linear-gradient(155deg, rgba(255,255,255,.55), rgba(255,255,255,.18));
    border:1px solid rgba(255,255,255,.5);
    border-radius:8px 46px 8px 8px;
    padding:28px 26px 30px;
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    display:flex;
    flex-direction:column;
    gap:34px;
    opacity:0;
    transform:translateY(30px);
    transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1);
  }
  .shaping.in-view .pillar{ opacity:1; transform:translateY(0); }
  .shaping.in-view .pillar:nth-child(1){ transition-delay:.3s; }
  .shaping.in-view .pillar:nth-child(3){ transition-delay:.45s; }
  .shaping.in-view .pillar:nth-child(5){ transition-delay:.6s; }

  .pillar-num{
    font-size:13px;
    font-weight:600;
    letter-spacing:.02em;
    color:#3a3a3a;
  }

  .pillar-title{
    font-family:'Gonya Semi Bold', sans-serif;    
    font-size:clamp(24px,2.6vw,34px);
    line-height:1.08;
    letter-spacing:-.01em;
    padding-bottom:30px;
  }

  .pillar-desc{
    font-size:14px;
    line-height:1.45;
    color:#3a3a3a;
  }

  @media (max-width:820px){
    .pillars{ flex-direction:column; gap:18px; }
    .x-sep{ display:none; }
    .pillar{ border-radius:8px 32px 8px 8px; }
  }

  /* Pinned Section Clean Layout */
  .services-pinned-section {
    width: 100%;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    position: relative;
    overflow: hidden;
    padding-top: clamp(40px, 6vh, 80px);
    padding-bottom: 40px;
  }

  /* Heading Container */
  .intro-slide {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #0c0c0c;
    z-index: 1;
    opacity: 1;
    margin-bottom: clamp(24px, 4vh, 48px);
    will-change: transform, opacity;
  }

  .intro-title {
    font-size: clamp(40px, 9.5vw, 150px);    
    line-height: 0.9;      
    font-family: 'Gonya Semi Bold', sans-serif;
  }

  .intro-arrow {
    font-size: clamp(36px, 6vw, 100px);
    font-weight: 300;
    color: #0c0c0c;
  }

  /* Cards Wrapper */
  .cards-stack-wrapper {
    position: relative;
    width: 100%;
    height: 65vh;
    min-height: 480px;
    z-index: 2;
    margin-top: 0;
    will-change: transform;
  }

  /* Service Cards */
  .service-card {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #ffffff;
    border-radius: 36px;
    padding: clamp(25px, 3.5vw, 50px) clamp(20px, 4vw, 65px);
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: clamp(20px, 2.5vw, 40px);
    align-items: center;
    box-shadow: 0 -15px 40px rgba(0, 0, 0, 0.12);
    will-change: transform, opacity, scale;
  }

  #card1 {
    transform: translateY(0%);
    opacity: 1;
    z-index: 2;
  }

  #card2 {
    transform: translateY(100vh);
    z-index: 3;
  }

  #card3 {
    transform: translateY(100vh);
    z-index: 4;
  }

  .content-left {
    display: flex;
    flex-direction: column;
    gap: clamp(14px, 1.8vw, 26px);
  }

  .service-heading {
    font-family: 'Gonya Semi Bold', sans-serif;
    font-size: clamp(28px, 4vw, 68px);    
    color: #111111;
    line-height: 1.02;
    letter-spacing: -1.5px;
  }

  .tags-container {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
  }

  .tag-pill {
    padding: 7px 18px;
    background: #f1f2f4;
    border-radius: 20px;
    font-size: clamp(12px, 0.95vw, 15px);
    color: #555555;
    font-weight: 500;
  }

  .service-desc {
    font-size: clamp(14px, 1.1vw, 18px);
    color: #555555;
    line-height: 1.5;
    max-width: 90%;
  }

  .find-more-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 24px;
    border: 1px solid #111111;
    border-radius: 30px;
    color: #111111;
    text-decoration: none;
    font-size: clamp(13px, 1vw, 16px);
    font-weight: 600;
    width: fit-content;
    transition: all 0.3s ease;
  }

  .find-more-btn:hover {
    background: #111111;
    color: #ffffff;
  }

  .visual-right {
    position: relative;
    width: 100%;
    height: 100%;
    background: #121214;
    border-radius: 28px;
    border-top-right-radius: 110px;
    overflow: hidden;
  }

  .mini-card {
    position: absolute;
    width: clamp(85px, 7.5vw, 130px);
    height: clamp(85px, 7.5vw, 130px);
    border-radius: 20px;
    background: #1e1e24;
    border: 1px solid rgba(255, 255, 255, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 600;
    font-size: clamp(12px, 1vw, 15px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
  }

  .card-1 { top: 15%; left: 18%; background: #ffffff; color: #000; }
  .card-2 { top: 35%; left: 35%; background: #111; border: 1px solid rgba(255,255,255,0.2); }
  .card-3 { top: 10%; left: 55%; background: #22c55e; color: #000; }
  .card-4 { top: 48%; left: 60%; background: #3b82f6; }
  .card-5 { top: 62%; left: 22%; background: linear-gradient(135deg, #a855f7, #ec4899); }
  .card-6 { top: 68%; left: 50%; background: #e2e8f0; color: #000; }

  /* ---------- SECTION 4: UPDATED FULL-WIDTH BLACK STAGGER SLIDER ---------- */
  .slider-section {
    width: 100%;
    height: 600px;
    position: relative;
    box-sizing: border-box;
    margin-bottom:60vh;
  }

  .cards-wrapper {
    position: relative;
    width: 90%;
    height: 100%;
    margin: auto 18vh;
  }

  .card-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #080808;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 28px;
    border-top-right-radius: 90px;
    padding: clamp(30px, 4vw, 50px) clamp(30px, 5vw, 65px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: -15px 0 30px rgba(0, 0, 0, 0.8);
    overflow: hidden;
    transform-origin: left center;
    opacity: 0;
    will-change: transform, opacity;
  }

  .gradient-bg {
    position: absolute;
    top: 0;
    right: 0;
    width: 65%;
    height: 100%;
    background: radial-gradient(circle at 70% 50%, rgba(138, 43, 226, 0.35), rgba(0, 212, 255, 0.2), transparent 70%);
    pointer-events: none;
    z-index: 1;
  }

  .brand-logo {
    font-family: 'Gonya Semi Bold', sans-serif;
    font-size: 18px;    
    letter-spacing: 1.5px;
    display: flex;
    align-items: center;
    gap: 8px;
    z-index: 2;
    color: #ffffff;
  }

  .card-main-body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 2;
  }
  .card-main-body img
  {
    width:100%;
  }

  .hero-stat {
    font-size: clamp(40px, 6vw, 90px);
    font-weight: 700;
    background: linear-gradient(135deg, #a78bfa, #818cf8, #38bdf8);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1;
    margin-bottom: 12px;
  }

  .stat-desc {
    font-size: clamp(16px, 1.3vw, 22px);
    color: #d1d5db;
    font-weight: 400;
    max-width: 420px;
  }

  .mockups-container {
    display: flex;
    gap: 16px;
    align-items: center;
  }

  .phone-mock {
    width: clamp(110px, 10vw, 150px);
    height: clamp(210px, 18vw, 280px);
    background: #121212;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
  }

  .phone-mock img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .phone-mock.offset {
    transform: translateY(-20px);
  }

  .view-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 24px;
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 30px;
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s ease;
    width: fit-content;
    z-index: 2;
  }

  .view-btn:hover {
    background: #ffffff;
    color: #000000;
  }

  .next-arrow-btn {
    position: absolute;
    bottom: 40px;
    right: 40px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.05);
    color: #ffffff;
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 100;
    backdrop-filter: blur(5px);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }
    #nextBtn
    {
        position:absolute;
        bottom:-170px;
    }
  .next-arrow-btn:hover {
    background: #ffffff;
    color: #000000;
    transform: scale(1.08);
  }

  .next-arrow-btn.hide-btn {
    opacity: 0;
    visibility: hidden;
    transform: scale(0.5);
    pointer-events: none;
  }

  /* ==========================================================
     ADDED FROM OUR.HTML: FRAMEWORK SLIDER & DARK SECTIONS
     ================================================---------- */
  .framework-stage{
    position:relative;
    min-height:100vh;
    padding:60px clamp(20px,5vw,72px) 100px;
    overflow:hidden;
    color: #111111;
  }

  .wash {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    opacity: 1;
    transition: opacity 0.75s ease;
  }

  h1.framework-headline{
    position:relative;
    z-index:2;
    font-family: 'Gonya Semi Bold', sans-serif;
    font-size:clamp(32px,7vw,96px);
    line-height:1.02;    
    letter-spacing:-.02em;
    max-width:1400px;
    margin:18px 0 34px;
    color: #111111;
    text-transform: none;
  }
  .framework-headline .char{display:inline-block;will-change:transform,opacity;}

  .tabs{
    position:relative;
    z-index:2;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:44px;
  }
  .tab{
    border:1px solid rgba(0,0,0,.15);
    background:rgba(0,0,0,.04);
    backdrop-filter:blur(6px);
    color:#111111;
    padding:11px 20px;
    border-radius:999px;
    font-size:14.5px;
    font-weight:500;
    cursor:pointer;
    white-space:nowrap;
    transition:background .3s ease,color .3s ease,border-color .3s ease,transform .25s ease;
  }
  .tab:hover{transform:translateY(-1px);border-color:rgba(0,0,0,.35);}
  .tab.active{background:#111111;color:#ffffff;border-color:#111111;}

  .panel-wrap{
    position:relative;
    z-index:2;
    margin-bottom: 40px;
  }

  .nav-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:56px;height:56px;
    border-radius:50%;
    border:1.4px solid rgba(0,0,0,.25);
    background:transparent;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    z-index:3;
    transition:border-color .3s ease,background .3s ease;
  }
  .nav-arrow:hover{border-color:rgba(0,0,0,.75);background:rgba(0,0,0,.05);}
  .nav-arrow.prev{left:-56px;}
  .nav-arrow.next{right:-56px;}
  .nav-arrow svg{width:17px;height:17px;pointer-events:none; stroke: #111111;}
  @media (max-width:980px){
    .nav-arrow.prev{left:4px;}
    .nav-arrow.next{right:4px;}
  }
  .nav-arrow.disabled{
    opacity:.3;
    cursor:not-allowed;
    pointer-events:none;
  }

  .panel-mask{
    border-radius:40px;
    overflow:hidden;
    box-shadow:0 30px 80px -30px rgba(0,0,0,.15);
  }
  .panel{
    display:flex;
    align-items:stretch;
    background:#111111;
    min-height:560px;
    will-change:transform;
  }
  @media (max-width:860px){
    .panel{flex-direction:column;}
    .panel-text{margin-left:0 !important;border-radius:0 !important;padding:40px 32px !important;}
  }

  .panel-visual{
    position:relative;
    background:#1c1a17;
    overflow:hidden;
    min-height:420px;
    flex:1 1 58%;
    min-width:0;
  }

  .mock-logo{
    position:absolute;
    top:0;left:0;
    width:39%;
    height:44%;
    background:linear-gradient(135deg,#8a3ffc,#c084fc);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:14px;
  }
  .mock-logo .wave{display:flex;gap:5px;align-items:center;}
  .mock-logo .wave span{
    display:block;width:6px;background:#0c0c0c;border-radius:3px;
  }
  .mock-logo .brandname{
    font-family: 'Gonya Semi Bold', sans-serif;
    color:#0c0c0c;font-size:20px;letter-spacing:.02em;
  }

  .mock-app{
    position:absolute;
    top:0;right:0;
    width:61%;
    height:63%;
    background:#161616;
    padding:22px;
    color:#fff;
  }
  .mock-app h4{font-family: 'Gonya Semi Bold', sans-serif; font-size:15px;margin-bottom:4px;}
  .mock-app p{font-size:11.5px;color:#9a9a9a;margin-bottom:14px;}
  .mock-chip{
    position:absolute;
    background:#8a3ffc;
    border-radius:14px;
    color:#fff;
    font-size:11px;
    font-weight:600;
    padding:10px 12px;
    display:flex;flex-direction:column;gap:2px;
  }
  .mock-chip small{opacity:.75;font-weight:500;font-size:9.5px;}
  .mock-chip.c1{top:64px;left:20px;background:#7c3aed;}
  .mock-chip.c2{top:110px;right:18px;background:#d946ef;}
  .mock-chip.c3{bottom:16px;right:60px;background:#22c55e;}

  .sticky-note{
    position:absolute;
    left:7%;
    bottom:5%;
    width:54%;
    background:#f6d465;
    color:#111;
    border-radius:6px;
    padding:22px 24px;
    font-size:17px;
    line-height:1.42;
    font-weight:500;
    box-shadow:0 18px 36px -18px rgba(0,0,0,.5);
    transform:rotate(-.6deg);
  }

  .mock-footer{
    position:absolute;
    left:0;bottom:0;
    width:40%;
    background:#2b261d;
    padding:16px 18px;
    font-size:10px;
    color:#ccc;
  }
  .mock-footer .row{display:flex;gap:6px;margin-bottom:10px;}
  .mock-footer input{
    flex:1;border:1px solid #4a4132;border-radius:6px;padding:6px 8px;font-size:10px;background:#1a1712;color:#fff;
  }
  .mock-footer .btn{background:#e8503a;color:#fff;border-radius:6px;padding:6px 10px;font-size:10px;font-weight:600;}

  .mock-video{
    position:absolute;
    right:0;bottom:0;
    width:31%;height:26%;
    background:#111;
    overflow:hidden;
    border-top-left-radius:70px;
  }
  .mock-video .frame{
    position:absolute;inset:0;
    background:linear-gradient(120deg,#1a1a1a,#2b2b2b,#141414,#232323);
    background-size:300% 300%;
    animation:videoShift 6s ease-in-out infinite;
  }
  @keyframes videoShift{
    0%{background-position:0% 50%;}
    50%{background-position:100% 50%;}
    100%{background-position:0% 50%;}
  }
  .mock-video .scanline{
    position:absolute;inset:0;
    background:repeating-linear-gradient(180deg,rgba(255,255,255,.04) 0px,rgba(255,255,255,.04) 1px,transparent 1px,transparent 3px);
    mix-blend-mode:overlay;
  }
  .mock-video .video-caption{
    position:absolute;
    left:12px;bottom:12px;
    color:#fff;font-size:13px;font-weight:600;
    line-height:1.2;
    text-shadow:0 2px 8px rgba(0,0,0,.8);
    pointer-events:none;
  }
  .mock-video .play-btn{
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%,-50%);
    width:34px;height:34px;
    border-radius:50%;
    background:rgba(255,255,255,.18);
    border:1px solid rgba(255,255,255,.5);
    display:flex;align-items:center;justify-content:center;
    backdrop-filter:blur(2px);
  }
  .mock-video .play-btn svg{width:12px;height:12px;margin-left:2px;}
  .mock-video .rec-dot{
    position:absolute;
    top:10px;right:10px;
    width:7px;height:7px;
    border-radius:50%;
    background:#ff4d4d;
  }

  .panel-text{
    position:relative;
    z-index:2;
    flex:0 0 44%;
    margin-left:-110px;
    background:#161616;
    border-top-left-radius:230px;
    border-bottom-left-radius:0;
    padding:56px 60px 56px 158px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .panel-text h2{
    font-family: 'Gonya Semi Bold', sans-serif;
    font-size:clamp(24px,3.4vw,42px);    
    line-height:1.12;
    margin-bottom:22px;
    color:#fff;
  }
  .panel-text p{
    font-size:16px;
    line-height:1.65;
    color:#aaa;
    max-width:46ch;
  }

  .dots{
    display:flex;
    gap:8px;
    justify-content:center;
    margin-top:28px;
    position:relative;
    z-index:2;
  }
  .dot{
    width:7px;height:7px;border-radius:50%;
    background:rgba(0,0,0,.25);
    cursor:pointer;
    transition:background .3s ease,transform .3s ease;
  }
  .dot.active{background:#111111;transform:scale(1.3);}

  /* Pure Black Background Container for Testimonials, Partners, Recognition & FAQ */
  .dark-sections-container {
    background-color: #000000;
    color: #ffffff;    
    position: relative;
    z-index: 2;
  }
  .dark-section-pd
  {
    padding: 60px clamp(20px,5vw,72px) 100px;
  }

  /* Testimonial Section */
  .testimonial-section {
    display: flex;
    flex-direction: column;
    gap: 40px;
    align-items: flex-start;
    justify-content: space-between;
    padding: 40px 0 80px;
    width: 100%;
  }

  @media (min-width: 900px) {
    .testimonial-section {
      flex-direction: row;
      align-items: center;
    }
  }

  .testimonial-title {
    font-size: clamp(32px, 20vw, 70px);    
    line-height: 1.05;
    letter-spacing: -0.02em;    
    color: #ffffff;
    opacity: 0;
    transform: translateY(40px);
    font-family: 'Gonya Semi Bold', sans-serif;
  }

  .testi-cards-wrapper {
    position: relative;
    width: 100%;
    max-width: 480px;
    height: 480px;
    opacity: 0;
    transform: translateY(40px);
  }

  .testi-card {
    position: absolute;
    top: 0;
    right:150px;
    width: 100%;
    height: 100%;
    border-radius: 24px;
    border-top-right-radius: 90px;
    padding: 40px;
    color: #ffffff;
    /* display: flex; */
    flex-direction: column;
    justify-content: space-between;
    box-shadow: -8px 0px 30px rgba(0, 0, 0, 0.6);
    cursor: pointer;
    user-select: none;
    transform-origin: center right;
  }

  .testi-card:nth-child(1) { background-color: #1a2e26; border: 1px solid rgba(255,255,255,0.08); }
  .testi-card:nth-child(2) { background-color: #2e1a26; border: 1px solid rgba(255,255,255,0.08); }
  .testi-card:nth-child(3) { background-color: #222222; border: 1px solid rgba(255,255,255,0.08); }
  .testi-card:nth-child(4) { background-color: #26241a; border: 1px solid rgba(255,255,255,0.08); }
  .testi-card:nth-child(5) { background-color: #1a252e; border: 1px solid rgba(255,255,255,0.08); }

  .card-logo { font-family: 'Gonya Semi Bold', sans-serif; font-size: 1.8rem; letter-spacing: -0.03em; }
  .card-quote { font-size: 0.95rem; line-height: 1.5; font-weight: 400; color: #e0e0e0; margin: 40px 0; }
  .card-footer { display: flex; justify-content: space-between; align-items: flex-end;position:absolute;bottom:50px; }
  .author-name { font-weight: 600; font-size: 1.2rem; }
  .author-title { font-size: 1rem;
    color: #c3c3c3;
    margin-top: 2px;}

  .btn-project {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 20px;
    border: 1px solid rgba(255,255,255,0.4);
    background: transparent;
    color: #fff;
    font-size: 0.85rem;
    font-weight: 500;
    margin-top: 15px;
    transition: all 0.3s ease;
  }
  .btn-project:hover { background: #fff; color: #000; }

  .stack-nav-btn {
    position: absolute;
    bottom: 24px;
    right: 24px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.4);
    background: transparent;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 100;
    transition: transform 0.2s ease, opacity 0.3s ease, background 0.3s ease;
  }
  .stack-nav-btn:hover:not(:disabled) { background: rgba(255, 255, 255, 0.15); transform: scale(1.08); }
  .stack-nav-btn:disabled { opacity: 0.2; cursor: not-allowed; }

  /* Partners Section */
  .partners-wrapper { position: relative;  width: 100%; }
  .partners-header-wrapper { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 60px; }
  .partners-work-wrapper { display: flex; justify-content: space-between; align-items: flex-start; }
  .partners-title { font-family:'Gonya Semi Bold', sans-serif; font-size: clamp(2.5rem, 7vw, 7.5rem);  line-height: 0.95; letter-spacing: -0.03em; text-transform: uppercase; color: #ffffff; }
  .title-line { display: block; overflow: hidden; }
  .title-word { display: inline-block; transform: translateY(100%); opacity: 0; }
  .title-line:nth-child(2) { padding-left: 1.5ch; }

  .arrow-btn { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; color: #ffffff; opacity: 0; transform: translateY(30px); }
  .arrow-btn svg { width: clamp(40px, 5vw, 64px); height: clamp(40px, 5vw, 64px); }

  .brand-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 50px 30px; align-items: center; margin-bottom: 100px; }
  @media (min-width: 600px) { .brand-grid { grid-template-columns: repeat(3, 1fr); } }
  @media (min-width: 992px) { .brand-grid { grid-template-columns: repeat(5, 1fr); gap: 60px 40px; } }

  .brand-item { display: flex; align-items: center; justify-content: center; height: 80px; opacity: 0; transform: translateY(40px); }
  .brand-item svg, .brand-item img { max-width: 100%; max-height: 100%; object-fit: contain; filter: brightness(0) invert(1); }
  .logo-text { font-family: 'Gonya Semi Bold', sans-serif; font-weight: 700; font-size: 1.25rem; letter-spacing: -0.02em; color: #fff; text-align: center; line-height: 1.1; }
  .logo-text span { display: block; font-size: 0.75rem; font-weight: 400; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.8; }

  /* Cards Grid */
  .cards-section-title { font-family: 'Gonya Semi Bold', sans-serif; font-size: clamp(28px, 5vw, 48px);  letter-spacing: -0.02em; margin-bottom: 30px; color: #ffffff; opacity: 0; transform: translateY(30px); }
  .rec-cards-container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; width: 100%; margin-bottom: 100px; }
  .rec-card { background-color: #161616; color: #ffffff; border-top-left-radius: 20px; border-top-right-radius: 120px; border-bottom-left-radius: 20px; border-bottom-right-radius: 20px; overflow: hidden; display: flex; flex-direction: column; opacity: 0; transform: translateY(40px); box-shadow: 0 10px 30px rgba(0,0,0,0.4); border: 1px solid rgba(255,255,255,0.06); }
  .rec-card-header { height: 250px; position: relative; display: flex; align-items: center; justify-content: center; padding: 20px; border-top-right-radius: 120px; }
  .rec-card-1 .rec-card-header { background: linear-gradient(135deg, #3b2054 0%, #522142 50%, #1e3552 100%); }
  .rec-card-2 .rec-card-header { background: #1f1f1f; padding: 0; overflow: hidden; border-top-right-radius: 120px; }
  .rec-card-2 .rec-card-header img { width: 100%; height: 100%; object-fit: cover; opacity: 0.85; }
  .rec-card-3 .rec-card-header { background: linear-gradient(135deg, #382552 0%, #542544 50%, #1e454a 100%); }

  .badges-row { display: flex; gap: 10px; align-items: center; justify-content: center; }
  .clutch-badge { background: #1e1e1e; color: #ffffff; padding: 14px 8px; border-radius: 12px; font-size: 9px; font-weight: 700; text-align: center; box-shadow: 0 8px 20px rgba(0,0,0,0.4); width: 82px; text-transform: uppercase; line-height: 1.3; border: 1px solid rgba(255,255,255,0.1); }
  .clutch-badge.dark { background: #0f172a; border-color: rgba(255,255,255,0.15); }
  .clutch-badge .sub-text { font-size: 7px; font-weight: 500; color: #94a3b8; display: block; margin-top: 2px; }
  .gptw-badge { position: absolute; left: 20px; bottom: 20px; background: #dc2626; color: white; padding: 10px 12px; border-radius: 6px; font-size: 9px; font-weight: 800; line-height: 1.15; box-shadow: 0 4px 12px rgba(0,0,0,0.5); }

  .rec-card-body { padding: 28px 28px 36px 28px; display: flex; flex-direction: column; flex-grow: 1; justify-content: space-between; }
  .rec-card-category { font-size: 11px; font-weight: 600; letter-spacing: 0.8px; color: #88888f; margin-bottom: 12px; text-transform: uppercase; }
  .rec-card-title { font-family: 'Gonya Semi Bold', sans-serif; font-size: 19px;line-height: 1.35; color: #ffffff; }

  /* FAQ SECTION STYLES */
  .faq-section {
    padding: 60px 0;
    width: 100%;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
  }
  .faq-main-title {
    font-family: 'Gonya Semi Bold', sans-serif;
    font-size: clamp(32px, 6vw, 72px);
    font-weight: 500;
    letter-spacing: -0.03em;
    color: #ffffff;
    margin-bottom: 50px;
  }
  .faq-list {
    display: flex;
    flex-direction: column;
  }
  .faq-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    padding: 28px 0;
    cursor: pointer;
  }
  .faq-question-row {
    display: flex;
    align-items: center;
    gap: 24px;
    font-size: clamp(16px, 2.2vw, 28px);
    font-weight: 400;
    color: #ffffff;
    line-height: 1.3;
    transition: color 0.2s ease;
  }
  .faq-question-row:hover {
    color: #b0b0b0;
  }
  .faq-icon {
    font-size: 28px;
    font-weight: 300;
    width: 32px;
    text-align: center;
    flex-shrink: 0;
    line-height: 1;
    transition: transform 0.3s ease;
  }
  .faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.4s ease;
    font-size: clamp(15px, 1.2vw, 18px);
    line-height: 1.6;
    color: #a0a0a0;
    padding-left: 56px;
  }
  .faq-item.active .faq-answer {
    max-height: 200px;
    padding-top: 16px;
  }
  .faq-item.active .faq-icon {
    transform: rotate(90deg);
  }

  @media (max-width: 960px) { .rec-cards-container { grid-template-columns: 1fr; } }

  @media (max-width: 992px) {
    .service-card { grid-template-columns: 1fr; height: auto; }
    .cards-stack-wrapper { height: 85vh; }
    .service-heading { font-size: 34px; }
    .intro-title { font-size: 48px; }
    .visual-right { height: 200px; }
  }

  @media (max-width: 768px) {
    .slider-section { height: 550px; }
    .card-main-body { flex-direction: column; align-items: flex-start; gap: 20px; }
    .hero-stat { font-size: 48px; }
    .mockups-container { display: none; }
    .next-arrow-btn { bottom: 20px; right: 20px; }
  }

  /* ---------- FOOTER MAIN CONTAINER ---------- */
  .kota-footer {
    position: relative;
    width: 100%;
    background-color: #000000;
    color: #ffffff;
    padding: clamp(40px, 6vw, 80px) clamp(20px, 4vw, 48px) clamp(30px, 4vw, 50px);
    overflow: hidden;
    z-index: 1;
  }

  /* Ambient Gradient Light Mesh at Bottom Right */
  .kota-footer::after {
    content: '';
    position: absolute;
    bottom: -100px;
    right: -100px;
    width: 450px;
    height: 450px;
    background: radial-gradient(circle, rgba(0, 183, 255, 0.25) 0%, rgba(138, 43, 226, 0.2) 40%, transparent 70%);
    filter: blur(60px);
    pointer-events: none;
    z-index: 0;
  }

  .footer-inner {
    position: relative;
    z-index: 2;    
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: clamp(32px, 5vw, 60px);
  }

  /* ---------- ROW 1: LOGO & GIANT EMAIL ---------- */
  .footer-top-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
  }

  .kota-brand-box {
    border: 2px solid #ffffff;
    padding: 6px 10px;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 0.85;
    font-weight: 800;
    font-size: 16px;
    letter-spacing: 2px;
    user-select: none;
  }
  .kota-brand-box span {
    display: block;
  }

  .footer-giant-email {
    font-family: 'Gonya Semi Bold', sans-serif;
    font-size: clamp(32px, 4vw, 96px);    
    letter-spacing: -0.03em;
    color: #ffffff;
    text-decoration: none;
    line-height: 0.95;
    transition: opacity 0.3s ease;
  }
  .footer-giant-email:hover {
    opacity: 0.8;
  }

  /* ---------- ROW 2: SOCIALS & AGENCY BADGES ---------- */
  .footer-mid-row-1 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    flex-wrap: wrap;
  }

  .social-links-wrap {
    display: flex;
    align-items: center;
    gap: clamp(16px, 2.5vw, 36px);
    flex-wrap: wrap;
  }

  .social-link {
    color: #ffffff;
    text-decoration: none;
    font-size: clamp(15px, 1.2vw, 18px);
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: color 0.3s ease;
  }
  .social-link:hover {
    color: #8a8a8e;
  }

  .agency-badges-wrap {
    display: flex;
    align-items: center;
    gap: clamp(16px, 2vw, 32px);
    flex-wrap: wrap;
    opacity: 0.9;
  }

  .badge-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.5px;
    color: #ffffff;
  }

  .badge-dan {
    display: flex;
    align-items: center;
    gap: 6px;
  }
  .dan-circle {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: conic-gradient(from 0deg, #ff0055, #7a00ff, #00d4ff, #ff0055);
    display: inline-block;
  }
  .dan-text {
    line-height: 1.1;
    font-size: 9px;
    text-transform: uppercase;
  }

  .badge-clutch {
    font-size: 16px;
    font-weight: 800;
    letter-spacing: -0.5px;
  }
  .badge-clutch span {
    display: block;
    font-size: 7px;
    font-weight: 500;
    color: #a0a0a0;
  }

  .badge-awwwards {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1px;
  }
  .badge-awwwards span {
    display: block;
    font-size: 7px;
    font-weight: 500;
    color: #a0a0a0;
  }

  /* ---------- ROW 3: NAV LINKS & NEWSLETTER BUTTON ---------- */
  .footer-mid-row-2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
  }

  .secondary-nav-links {
    display: flex;
    align-items: center;
    gap: clamp(16px, 2vw, 32px);
    flex-wrap: wrap;
  }

  .secondary-nav-links a {
    color: #ffffff;
    text-decoration: none;
    font-size: clamp(14px, 1.1vw, 16px);
    font-weight: 500;
    transition: color 0.3s ease;
  }
  .secondary-nav-links a:hover {
    color: #8a8a8e;
  }

  .newsletter-pill-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 28px;
    border: 1.5px solid rgba(255, 255, 255, 0.6);
    border-radius: 999px;
    color: #ffffff;
    text-decoration: none;
    font-size: clamp(13px, 1vw, 15px);
    font-weight: 500;
    background: transparent;
    transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  }
  .newsletter-pill-btn:hover {
    background: #ffffff;
    color: #000000;
    border-color: #ffffff;
  }

  /* ---------- ROW 4: SECTORS PILLS & COPYRIGHT ---------- */
  .footer-bottom-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    padding-top: 20px;
  }

  .sectors-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
  }

  .sectors-title {
    font-size: 14px;
    font-weight: 600;
    color: #ffffff;
    margin-right: 4px;
  }

  .sector-pill {
    display: inline-flex;
    align-items: center;
    padding: 8px 20px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 999px;
    color: #ffffff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 400;
    background: rgba(255, 255, 255, 0.03);
    transition: border-color 0.3s ease, background 0.3s ease;
  }
  .sector-pill:hover {
    border-color: rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.08);
  }

  .bottom-right-meta {
    display: flex;
    align-items: center;
    gap: 24px;
  }

  .copyright-text {
    font-size: 14px;
    font-weight: 500;
    color: #a0a0a0;
  }

  .cyber-badge {
    width: 65px;
    height: 65px;
    border-radius: 50%;
    background: linear-gradient(135deg, #0099ff, #0044cc);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #ffffff;
    font-size: 7px;
    font-weight: 700;
    text-transform: uppercase;
    box-shadow: 0 4px 15px rgba(0, 102, 255, 0.4);
    line-height: 1.1;
  }
  .cyber-badge i {
    font-size: 12px;
    margin-bottom: 2px;
  }

  /* Responsive Fixes */
  @media (max-width: 992px) {
    .footer-top-row {
      flex-direction: column;
      gap: 16px;
    }
    .footer-bottom-row {
      flex-direction: column;
      align-items: flex-start;
    }
    .bottom-right-meta {
      width: 100%;
      justify-content: space-between;
    }
  }


  /* ---------- OUR WORK SECTION CONTAINER ---------- */


  /* ---------- HEADER LAYOUT ---------- */
  .work-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 30px;
    flex-wrap: wrap;
  }

  .work-title {
    font-family: 'Gonya Semi Bold', sans-serif;
    font-size: clamp(40px, 8vw, 110px);    
    line-height: 0.88;
    letter-spacing: -0.03em;
    text-transform: uppercase;
  }

  .work-intro {
    max-width: 440px;
    padding-top: 8px;
  }

  .work-headline {
    font-family: 'Gonya Semi Bold', sans-serif;
    font-size: clamp(24px, 3.2vw, 46px);    
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: #ffffff;
    margin-bottom: 12px;
  }

  .work-subtext {
    font-size: 14px;
    color: #8a8a8e;
    font-weight: 400;
  }

  /* ---------- PROJECTS GRID ---------- */
  .work-section
  {
    margin-bottom:12vh;
  }
  .projects-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    width: 100%;
    margin-bottom:15vh;
  }
   .view-work-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 24px;
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 30px;
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    transition: all 0.3s ease;
    width: fit-content;
    z-index: 2;
  }

  .view-btn:hover {
    background: #ffffff;
    color: #000000;
  }

  /* Hero Card takes full width */
  .project-card.featured-card {
    grid-column: span 2;
  }

  /* CARD CONTAINER & STYLES */
  .project-card {
    position: relative;
    background-color: #080808;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    cursor: pointer;
    transition: border-color 0.4s ease, transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  }

  .project-card:hover {
    border-color: rgba(255, 255, 255, 0.4);
    transform: translateY(-6px);
  }

  /* CARD TOP HEADER BAR */
  .card-top-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    background-color: #000000;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.02em;
  }

  .project-name {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #ffffff;
  }

  .project-name i {
    font-size: 14px;
    color: #a78bfa;
  }

  .project-year {
    color: #8a8a8e;
  }

  /* CARD VISUAL PREVIEW AREA */
  .card-visual {
    position: relative;
    width: 100%;
    overflow: hidden;
  }

  .featured-card .card-visual {
    height: clamp(320px, 42vw, 560px);
  }

  /* .project-card:not(.featured-card) .card-visual {
    height: clamp(260px, 30vw, 380px);
  } */

  .card-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
  }

  .project-card:hover .card-visual img {
    transform: scale(1.04);
  }

  /* CSS ART PREVIEW CUSTOM STYLES (Fallbacks matching screenshot) */
  /* Featured UPP Visual */
  .upp-visual-art {
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 50% 30%, #1a103c 0%, #050512 70%);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Copper Visual */
  .copper-visual-art {
    width: 100%;
    height: 100%;
    background-color: #f1ad93;
    color: #0c0c0c;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 38px;
    font-weight: 700;
    letter-spacing: -1px;
  }

  /* Sucher Visual */
  .sucher-visual-art {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #a5f3fc 0%, #fef08a 50%, #fed7aa 100%);
    color: #0c0c0c;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 600;
  }

  /* ---------- RESPONSIVE MEDIA QUERIES ---------- */
  @media (max-width: 820px) {
    .projects-grid {
      grid-template-columns: 1fr;
    }
    .project-card.featured-card {
      grid-column: span 1;
    }
    .work-header {
      flex-direction: column;
    }
  }

        .hs-showreel-wrapper {
            position: relative;
            width: 100%;                   
            color: #ffffff;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;         
            box-sizing: border-box;
            background-color: #000;
            padding-bottom:10vh;
        }

        .hs-showreel-wrapper * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;            
        }

        /* Ambient Glow Background */
        .hs-ambient-wrapper {
            position: absolute;
            inset: 0;
            pointer-events: none;
            z-index: 0;            
        }

        .hs-ambient-glow {
            position: absolute;
            inset: 0;           
        }

        /* Main Section */
        .hs-main-hero {
            position: relative;
            z-index: 10;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            width: 100%;                        
        }

        /* Center Pill Video Container */
        .hs-pill-container {
            position: relative;
            width: 90%;
            max-width: 650px;
            aspect-ratio: 16 / 10;
            border-radius: 9999px;
            overflow: hidden;
            border: 1px solid rgba(255, 255, 255, 0.25);
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.8), 0 0 50px rgba(192, 38, 211, 0.25);
            cursor: pointer;
            transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
        }

        .hs-pill-container:hover {
            transform: scale(1.02);
        }

        .hs-hero-video {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transform: scale(1.05);
            transition: transform 0.7s ease, filter 0.5s ease;
            filter: brightness(0.9);
        }

        .hs-pill-container:hover .hs-hero-video {
            transform: scale(1);
            filter: brightness(1.05);
        }

        /* ========================================================
           Dark Overlay CSS for Text Visibility & Depth
        ======================================================== */
        .hs-video-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(
                180deg, 
                rgba(0, 0, 0, 0.55) 0%, 
                rgba(0, 0, 0, 0.3) 50%, 
                rgba(0, 0, 0, 0.65) 100%
            );
            pointer-events: none;
            z-index: 2;
        }

        /* Watch Now Button Wrapper */
        .hs-watch-btn-wrapper {
            position: absolute;
            bottom: 1.75rem;
            left: 50%;
            transform: translateX(-50%);
            z-index: 30;
        }

        /* Hover Animation Button Effect */
        .hs-watch-btn {
            position: relative;
            display: inline-flex;
            align-items: center;
            gap: 0.6rem;
            background: rgba(255, 255, 255, 0.15);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            border: 1px solid rgba(255, 255, 255, 0.35);
            padding: 0.6rem 1.4rem;
            border-radius: 9999px;
            color: #ffffff;
            font-size: 0.875rem;
            font-weight: 600;
            letter-spacing: 0.02em;
            cursor: pointer;
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            outline: none;
            overflow: hidden;
        }

        .hs-watch-btn-text {
            position: relative;
            z-index: 2;
            transition: color 0.3s ease;
        }

        .hs-arrow-circle {
            position: relative;
            z-index: 2;
            width: 1.8rem;
            height: 1.8rem;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.2);
            border: 1px solid rgba(255, 255, 255, 0.4);
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
            margin-right: -0.4rem;
        }

        .hs-arrow-icon {
            width: 0.9rem;
            height: 0.9rem;
            fill: none;
            stroke: currentColor;
            stroke-width: 2.2;
            stroke-linecap: round;
            stroke-linejoin: round;
            transition: transform 0.3s ease;
        }

        /* Hover Behavior: Button background morphs to circle around arrow */
        .hs-watch-btn:hover {
            background: transparent;
            border-color: transparent;
            padding-right: 1rem;
        }

        .hs-watch-btn:hover .hs-arrow-circle {
            background: #ffffff;
            color: #000000;
            border-color: #ffffff;
            transform: scale(1.2);
            box-shadow: 0 0 20px rgba(255, 255, 255, 0.6);
        }

        .hs-watch-btn:hover .hs-arrow-icon {
            transform: translateX(1px);
        }

        /* Marquee Animation & Styling */
        .hs-marquee-wrapper {
            position: absolute;
            inset: 0;
            top: 50%;
            transform: translateY(-50%);
            pointer-events: none;
            z-index: 20;
            overflow: hidden;
            /* mix-blend-mode REMOVED so text stays solid white */
            user-select: none;
            display: flex;
            align-items: center;
        }

        @keyframes hs-marquee-anim {
            0% { transform: translateX(0%); }
            100% { transform: translateX(-50%); }
        }

        .hs-marquee-track {
            display: flex;
            width: max-content;
            white-space: nowrap;
            animation: hs-marquee-anim 22s linear infinite;
        }

        .hs-marquee-block {
            display: flex;
            align-items: center;
        }

        .hs-marquee-text {
            font-size: clamp(3.5rem, 8.5vw, 9.5rem);
            line-height: 0.95;
            letter-spacing: -0.03em;            
            color: #ffffff;
            /* Added shadow for sharp contrast over bright backgrounds */
            text-shadow: 0 4px 20px rgba(0, 0, 0, 0.6);
        }

        .hs-logo-inline {
            border: 3px solid #ffffff;
            display: inline-flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 0.15em 0.3em;
            line-height: 0.85;
            font-weight: 900;
            font-size: 0.38em;
            margin: 0 0.3em;
            transform: translateY(-0.08em);
            color: #ffffff;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
        }

        /* Lightbox Video Popup Modal */
        .hs-modal-backdrop {
            position: fixed;
            inset: 0;
            z-index: 100;
            background: rgba(0, 0, 0, 0.92);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 1.5rem;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.3s ease;
        }

        .hs-modal-backdrop.hs-active {
            opacity: 1;
            pointer-events: auto;
        }

        .hs-modal-box {
            position: relative;
            width: 100%;
            max-width: 1000px;
            aspect-ratio: 16 / 9;
            background: #000000;
            border-radius: 1.25rem;
            overflow: hidden;
            border: 1px solid rgba(255, 255, 255, 0.2);
            box-shadow: 0 25px 60px rgba(0, 0, 0, 0.9), 0 0 50px rgba(192, 38, 211, 0.3);
            transform: scale(0.95);
            transition: transform 0.3s ease;
        }

        .hs-modal-backdrop.hs-active .hs-modal-box {
            transform: scale(1);
        }

        .hs-modal-video {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .hs-close-modal-btn {
            position: absolute;
            top: 1rem;
            right: 1rem;
            z-index: 110;
            width: 2.5rem;
            height: 2.5rem;
            border-radius: 50%;
            background: rgba(0, 0, 0, 0.6);
            border: 1px solid rgba(255, 255, 255, 0.3);
            color: #ffffff;
            font-size: 1.1rem;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        .hs-close-modal-btn:hover {
            background: #ffffff;
            color: #000000;
        }

        @media (max-width: 640px) {
            .hs-pill-container {
                aspect-ratio: 16 / 11;
            }
        }