/*
Theme Name: My  Theme
Theme URI: https://techcoagency.cgpedu.com/mytheme
Author: Techcoagency
Author URI: https://techcoagency.cgpedu.com
Description: A custom theme built from scratch.
Version: 1.0
License: GNU General Public License v2 or later
License URI: [http://www.gnu.org/licenses/gpl-2.0.html](http://www.gnu.org/licenses/gpl-2.0.html)
Text Domain: my-custom-theme
*/
    :root {
      --bg-main: #000000;
      --bg-dark: #050507;
      --bg-card: #07060a;
      --accent: #f7b733;
      --accent-soft: #ffd778;
      --accent-dark: #f29200;
      --text-main: #ffffff;
      --text-muted: #bcbcbc;
      --nav-height: 70px;
      --radius-lg: 24px;
      --radius-md: 18px;
      --shadow-hero: 0 40px 80px rgba(0,0,0,0.9);
      --shadow-card: 0 28px 60px rgba(0,0,0,0.85);
      --border-soft: rgba(255,255,255,0.08);
      --glass-bg: rgba(255,255,255,0.04);   /* core translucent tint */
      --glass-accent: rgba(255,255,255,0.06);
      --glass-border: rgba(255,255,255,0.12);
      --glass-shadow: rgba(2,6,23,0.6);
      --glass-highlight: rgba(255,255,255,0.08);
    }

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


    /* --- CUSTOM CURSOR --- */
body {
  cursor: none; /* Hide default cursor */
}

.cursor-dot {
  width: 8px;
  height: 8px;
  background-color: #CB9635; /* Your Gold Accent */
  position: fixed;
  top: 0; left: 0;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  z-index: 9999;
  pointer-events: none;
}

.cursor-outline {
  width: 40px;
  height: 40px;
  border: 1px solid rgba(203, 150, 53, 0.5); /* Semi-transparent gold */
  position: fixed;
  top: 0; left: 0;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  z-index: 9998;
  pointer-events: none;
  transition: width 0.2s, height 0.2s, background-color 0.2s;
}

/* Hover State (Expands) */
body.hovering .cursor-outline {
  width: 60px;
  height: 60px;
  background-color: rgba(203, 150, 53, 0.1);
  border-color: transparent;
  backdrop-filter: blur(2px);
}

    html, body {
      font-family:"Poppins",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      background:var(--bg-main);
      color:var(--text-main);
      scroll-behavior:smooth;
    }

    img {max-width:100%;display:block;}
    a {text-decoration:none;color:inherit;}

    .container {
      width: min(1200px, 100%);
      margin: 0 auto;
      padding: 0 24px;
    }

    section {
      position:relative;
      z-index:1;
    }

    .section-title {
      text-align:center;
      letter-spacing:0.14em;
      text-transform:uppercase;
      font-weight:500;
      font-size:30px;
      margin-bottom:32px;
      margin-top:32px;
    }

  /* NAVBAR */
    header {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 9999;
        width: 100%;
        display: flex;
        justify-content: center; /* center the navbar */
        margin-top: 20px;
        
    }
        
    .nav-inner {
        width: 80%;
        background: rgba(255,255,255,0.06);

        border-radius: 999px;                          /* fully curved edges */
        border: 1px solid rgba(255,255,255,0.15);

        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 14px 70px;
        gap: 20px;

        box-shadow: 0 10px 30px rgba(0,0,0,0.35);
        overflow: hidden;                              /* keeps image inside curve */
        position: relative;
         /* glass blur (works on modern browsers) */
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);

        /* subtle border */
        border: 1px solid rgba(255,255,255,0.08);

        position: relative;
        overflow: visible;
        transition: padding 220ms ease, transform 260ms ease, box-shadow 220ms ease;
        box-shadow: 0 6px 18px rgba(0,0,0,0.35);
        }

        /* content above overlay */
        .nav-inner > * { position: relative; z-index: 2; }



    /* LEFT LOGO */
    .nav-left .nav-logo-box {
        width: 100px;
        height: 70px;
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        }

    .nav-logo-box img {
      height:100%;
      width:100%;
      object-fit: cover;
    }

    .nav-menu {
      display:flex;
      align-items:center;
      gap:32px;
      font-size:16px;
    }

    .nav-menu a {
      padding-top:3px;
      padding-bottom:3px;
      position:relative;
      text-decoration: none;
      color: #fff;
      transition: 0.2s;
    }

    .nav-menu a::after {
      content:"";
      position:absolute;
      left:0;right:0;bottom:-2px;
      height:2px;
      background:transparent;
      transition:background .2s;
    }

    .nav-menu a:hover::after {
      background:#CB9635
    }
    .nav-menu a:hover{
        color:#CB9635;
    }

    .nav-right {
      display:flex;
      align-items:center;
      gap:14px;
    }

    .btn-nav-primary {
      border:none;
      padding:8px 18px;
      border-radius:999px;
      
      background:#CB9635;
      font-size:13px;
      letter-spacing:0.08em;
      text-transform:uppercase;
      font-weight:600;
      color:#ffffff;
      cursor:pointer;
    }

    .nav-icon {
      width:30px;
      height:30px;
      border-radius:999px;
      background:#CB9635;
      display:flex;
      align-items:center;
      justify-content:center;
      font-size:11px;
      color:#ffffff;
    }

    /* RIGHT + BOTTOM GLOW
   Use an ::after radial gradient to create a soft glow on the bottom-right area.
   Another subtle right-side shadow via box-shadow for depth.
*/
        .nav-inner::after {
        content: "";
        position: absolute;
        right: -40px;
        bottom: -36px;
        width: 220px;
        height: 220px;
        pointer-events: none;
        background: radial-gradient(circle at 60% 40%,
            rgba(255, 200, 80, 0.28),
            rgba(255, 200, 80, 0.12) 30%,
            rgba(255, 200, 80, 0.06) 45%,
            rgba(255,200,80,0.00) 70%);
        filter: blur(14px);
        z-index: 1;
        transition: opacity 220ms ease, transform 260ms ease;
        opacity: 1;
        }

        /* SCROLL SHADOW: when the page scrolls a little we increase shadow and lift the nav */
        header.scrolled .nav-inner {
        transform: translateY(-4px);
        box-shadow: 0 18px 48px rgba(0,0,0,0.48);
        }

        /* shrink-on-scroll: reduce padding, shrink logo & button */
        header.shrink .nav-inner {
        padding: 10px 18px;
        }

        /* shrink logo & text */
        header.shrink .nav-logo-box {
        width: 55px;
        height: 55px;
        transform: translateY(-2px);
        }
        header.shrink .nav-logo-box img { transform: scale(0.98); }

        header.shrink .btn-nav-primary {
        padding: 8px 14px;
        font-size: 14px;
        }

        /* Slightly reduce glow when shrunk */
        header.shrink .nav-inner::after { transform: translateY(6px) scale(0.9); opacity: 0.92; }

        /* when page is scrolled very little (tiny), show a subtle compact shadow quickly */
        header.scrolled.shrink .nav-inner {
        transform: translateY(-6px);
        }

        /* small-screen responsiveness */
        @media (max-width: 1000px) {
        .nav-inner { width: 92%; padding: 12px 16px; }
        .nav-logo-box { width:56px; height:56px;}
        }
        @media (max-width: 640px) {
        .nav-inner { width: 96%; padding: 10px 12px; }
        .nav-logo-box { width:48px; height:48px;}
        .nav-menu { display: none; } /* hide center menu on tight widths if you use toggle */
        }

        /* Respect reduced-motion preference */
        @media (prefers-reduced-motion: reduce) {
        .nav-inner, .nav-logo-box, .btn-nav-primary, .nav-inner::after { transition: none !important; transform: none !important; }
        }

    .nav-toggle {
      display:none;
      width:22px;
      flex-direction:column;
      justify-content:space-between;
      height:16px;
      cursor:pointer;
    }

    .nav-toggle span {
      height:2px;
      width:100%;
      background:#fff;
    }

  @media (max-width:900px){
  nav {
    position: relative;
  }

  .nav-menu {
    position: fixed;
    top: calc(var(--nav-height) + 12px);
    inset-inline: 0;              /* left + right = 0 */
    margin-inline: auto;          /* CENTER */

    width: 80%;
    max-width: 360px;

    background: #000;
    border-radius: 18px;

    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 22px 20px;

    transform: translateY(-20px); /* animation ONLY */
    opacity: 0;
    pointer-events: none;

    transition: transform .25s ease, opacity .25s ease;
    z-index: 9999;
  }


  .nav-menu.open {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }

  .nav-toggle {
    display: flex;
  }

  .nav-right {
    display: none;
  }


    .nav-menu-cta {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,0.12);

    display: flex;
    flex-direction: column;
    gap: 14px;
    align-items: center;
  }

  .nav-menu-cta .btn-nav-primary {
    width: 100%;
    text-align: center;
  }

  .nav-cta-icons {
    display: flex;
    gap: 12px;
  }
/* Show CTA only inside hamburger on mobile */
.nav-menu.open .nav-menu-cta {
  display: flex;
}


}

    /* HERO */
    #hero {
        position: relative;
        width: 100%;

        /* Desktop height */
        height: 700px;

        display: flex;
        align-items: center;
        justify-content: center;
     }
    /*font od all heading*/
    h1 {
      font-family: "Candal", sans-serif;
      font-weight: 300;
      font-style: normal;
      }

    .hero-bg {
      position:absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      inset:0;
      z-index:-2;
    }

    .hero-bg img {
      width:100%;
      height:100%;          /* IMPORTANT: makes image fill entire area */
      object-fit:bottom;
      display: block;
    }

   

    .hero-inner {
        position: relative;
        z-index: 2;
        text-align: center;
        padding: 32px;
    }

    .hero-heading {  
        color: var(--text-color);
        line-height: 1.05;
        font-weight: 800;
        font-size: clamp(28px, 6vw, 72px);
        letter-spacing: -0.02em;
        margin-bottom: 20px;
    }

    .hero-cta {
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:10px 28px;
      border-radius:999px;
      background:#CB9635;
      border:none;
      color:#ffffff;
      font-size:14px;
      font-weight:600;
      box-shadow:0 5px 10px rgba(0, 0, 0, 0.415);
      cursor:pointer;
    }

    .hero-cta:hover{
        transform: translateY(-3px);
        }

    @media (max-width:768px){
      .hero-inner{padding:90px 0 80px;}
      .hero-heading{font-size:32px;padding:0 10px;}
    }

    /* ABOUT */
    #about {
      background:#000;
      padding:40px 0 0px;
      overflow:hidden;
    }

    .about-bg-tube {
      position:absolute;
      inset:auto;
      top:0;
      left:0;
      right:0;
      margin:auto;
      width:100%;
      height:100%;
      background:url("image\ 27.png") top /cover no-repeat;
      opacity:.35;
      pointer-events:none;
      z-index:-1;
    }

    .about-card {
       position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;

        padding: 28px;
        border-radius: 14px;

        /* layered translucent background */
        background: linear-gradient(
          180deg,
          rgba(255,255,255,0.02) 0%,
          rgba(255,255,255,0.01) 60%
        ), var(--glass-bg);

        /* classic glass blur + saturation */
        backdrop-filter: blur(10px) saturate(1.12);
        -webkit-backdrop-filter: blur(10px) saturate(1.12);

        /* soft border + shadow for depth */
        border: 1px solid var(--glass-border);
        box-shadow: 0 10px 30px var(--glass-shadow);

        overflow: hidden; /* keep pseudo highlights inside */
    }

    .about-text-main {
      font-size:13px;
      color:var(--text-muted);
      line-height:1.7;
      margin-bottom:26px;
    }

    .about-meta-row {
      display:flex;
      gap:12px;
      max-width:360px;
    }

    .about-meta-box {
      flex:1;
      background:#ffffff;
      border-radius:14px;
      padding:14px 10px 10px;
      text-align:center;
      color:#333;
      font-size:11px;
    }

    .about-meta-number {
      font-size:22px;
      font-weight:700;
      color:#f6a400;
      margin-bottom:2px;
    }

    .about-photo-wrap {
      border-radius:18px;
      overflow:hidden;
      box-shadow:0 26px 50px rgba(0,0,0,0.95);
    }

    .about-photo-wrap img {
      width:600px;
      height:100%;
      object-fit:cover;
    }

    @media (max-width:900px){
      .about-card {
        grid-template-columns:1fr;
        padding:26px 22px 28px;
      }
      .about-meta-row{max-width:none;}
    }

    /* CLIENTS */ 
    #clients {
      background:#000;
      padding:20px 0 80px;
      overflow:hidden;
    }

    .clients-card {
      background:rgba(4,4,4,0.98);
      border-radius:var(--radius-lg);
      border:1px solid rgba(155,140,255,0.4);
      padding:24px 40px;
      box-shadow:var(--shadow-card);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:24px;
      flex-wrap:wrap;
    }


    .client-logo img {
      height:35px;
      width:auto;
      object-fit:contain;
    }

    @media (max-width:768px){
      .clients-card {
        justify-content:center;
      }
    }


    /* SERVICES */
   /* --- SERVICES SECTION --- */
#services {
  background: #000;
  padding: 20px 0 100px;
  position: relative;
  overflow: hidden;
  font-family: 'Poppins', sans-serif;
}

.services-bg-tube {
  position: absolute;
  inset: 0;
  background: url("https://techcoagency.com/wp-content/uploads/2026/02/home-services-back-1-scaled.webp") center/cover no-repeat;
  opacity: 0.4;
  pointer-events: none;
  z-index: 0;
}

.container {
  position: relative;
  z-index: 1;
  width: min(1200px, 92%);
  margin: 0 auto;
}

.section-title {
  text-align:center;
  letter-spacing:0.14em;
  text-transform:uppercase;
  font-weight:500;
  font-size:30px;
  margin-bottom:32px;
  margin-top:32px;
}

/* --- MAIN CARD --- */
.services-card {
  background: rgba(10, 10, 10, 0.9);
  border-radius: 24px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 40px;
  display: grid;
  grid-template-columns: 0.8fr 1.2fr; /* Graphic | Content */
  gap: 40px;
  align-items: center;
  box-shadow: 0 20px 50px rgba(0,0,0,0.5);
  backdrop-filter: blur(10px);
}

/* Left Graphic */
.services-left-graphic img {
  width: 100%;
  height: auto;
  border-radius: 16px;
  /* Optional: Float animation */
  animation: floatGraphic 4s ease-in-out infinite;
}
@keyframes floatGraphic {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

/* --- TABS SYSTEM --- */
.services-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 30px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
  padding-bottom: 20px;
}

.services-tab-btn {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #aaa;
  padding: 10px 24px;
  border-radius: 50px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Hover State */
.services-tab-btn:hover {
  border-color: #f4af37;
  color: #fff;
}

/* Active State (The Gold Glow) */
.services-tab-btn.active {
  background: #f4af37;
  color: #000;
  border-color: #f4af37;
  box-shadow: 0 0 15px rgba(244, 175, 55, 0.4); /* Gold Glow */
  transform: translateY(-2px);
}

/* --- CONTENT LISTS --- */
.services-content-wrapper {
  min-height: 250px; /* Prevents jumping when switching tabs */
  position: relative;
}

.cgp-service-content {
  display: none; /* Hidden by default */
  animation: fadeInList 0.5s ease forwards;
}

.cgp-service-content.active {
  display: block; /* Show when active */
}

@keyframes fadeInList {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* List Styling */
.cgp-service-content ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr; /* 2 Columns */
  gap: 15px 30px;
}

.cgp-service-content li {
  color: #e0e0e0;
  font-size: 16px;
  padding: 10px 15px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.03);
  transition: 0.3s;
  display: flex;
  align-items: center;
}

/* List Item Hover Effect */
.cgp-service-content li:hover {
  background: rgba(244, 175, 55, 0.1); /* Gold tint */
  color: #f4af37;
  transform: translateX(5px); /* Slide right */
  box-shadow: inset 2px 0 0 #f4af37; /* Left border glow */
}

.cgp-service-content li::before {
  content: "▹";
  color: #f4af37;
  margin-right: 10px;
  font-size: 18px;
}

/* Responsive */
@media (max-width: 900px) {
  .services-card {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .services-tabs {
    justify-content: center;
  }
  .cgp-service-content ul {
    grid-template-columns: 1fr; /* Stack list on mobile */
    text-align: left;
  }
  .services-left-graphic {
    max-width: 300px;
    margin: 0 auto;
  }
}


/* --- SECTION WRAPPER --- */
.tech-stack-section {
  background-color: #050507;
  color: #fff;
  padding:60px 0 60px;
  overflow: hidden;
  position: relative;
}

.tech-container {
max-width: 1200px;
margin: 0 auto;
  padding: 0 25px;
}

/* --- HEADER --- */
.tech-header {
  margin-bottom: 60px;
}
.tech-subtitle {
  color: #a0a0a0;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: block;
  margin-bottom: 10px;
}
.tech-title {
  font-size: 56px;
  font-weight: 300; /* Thin look like image */
  margin-bottom: 20px;
  line-height: 1.1;
}
.tech-desc {
  color: #cccccc;
  max-width: 800px;
  font-size: 16px;
  line-height: 1.6;
}

/* --- GRID LAYOUT --- */
.tech-content-wrapper {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr; /* Left side wider */
  gap: 50px;
  align-items: start;
}

/* --- LEFT SIDE: CARDS GRID --- */
.tech-grid-left {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3 Columns like the screenshot */
  gap: 24px;
}

.tech-card {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  padding: 30px;
  transition: all 0.3s ease;
  min-height: 280px; /* Uniform height */
  

}

.tech-card:hover {
  background: rgba(255, 255, 255, 0.04);
  border-color: #a855f7; /* Purple Glow on Hover */
  box-shadow: 0 10px 40px rgba(168, 85, 247, 0.1);
  transform: translateY(-5px);
}

.tech-card h3 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 20px;
  color: #fff;
}

.tech-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.tech-card ul li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #888; /* Muted text color */
  font-size: 14px;
  margin-bottom: 12px;
  transition: color 0.2s;
}

.tech-card ul li:hover {
  color: #fff;
}

.tech-card ul li img {
  opacity: 0.7;
}

/* --- RIGHT SIDE: FLOATING ICONS --- */
.tech-visual-right {
  position: relative;
  height: 100%;
  min-height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tech-cloud-container {
  position: relative;
  width: 100%;
  height: 500px;
}

/* Purple Glow Behind Icons */
.tech-cloud-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(168, 85, 247, 0.2) 0%, rgba(0,0,0,0) 70%);
  z-index: 0;
  filter: blur(40px);
}

/* Floating Icons Styling */
.float-icon {
  position: absolute;
  width: 50px; /* Default size */
  height: 50px;
  object-fit: contain;
  filter: grayscale(100%) brightness(1.5); /* Make them look white/grey initially */
  transition: all 0.3s;
  animation: floatAnim 6s ease-in-out infinite;
  z-index: 1;
}

.float-icon:hover {
  filter: grayscale(0%); /* Color on hover */
  transform: scale(1.2);
  z-index: 10;
}

/* Positioning the Icons manually to create a "Cloud" shape */
.i-1  { top: 10%; left: 40%; width: 60px; animation-delay: 0s; }
.i-2  { top: 20%; left: 70%; width: 50px; animation-delay: 1s; }
.i-3  { top: 40%; left: 80%; width: 45px; animation-delay: 2s; }
.i-4  { top: 60%; left: 60%; width: 55px; animation-delay: 1.5s; }
.i-5  { top: 50%; left: 20%; width: 65px; animation-delay: 0.5s; }
.i-6  { top: 30%; left: 10%; width: 50px; animation-delay: 2.5s; }
.i-7  { top: 70%; left: 30%; width: 40px; animation-delay: 1s; }
.i-8  { top: 15%; left: 25%; width: 45px; animation-delay: 3s; }
.i-9  { top: 80%; left: 50%; width: 55px; animation-delay: 0.2s; }
.i-10 { top: 45%; left: 50%; width: 70px; animation-delay: 1.2s; }

/* Animation Keyframes */
@keyframes floatAnim {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-20px); }
}

/* --- RESPONSIVE --- */
@media (max-width: 1024px) {
  .tech-grid-left {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 900px) {
  .tech-content-wrapper {
    grid-template-columns: 1fr;
  }
  .tech-visual-right {
    display: none; /* Hide floating icons on mobile to save space, or reduce size */
  }
  .tech-grid-left {
    grid-template-columns: 1fr; /* Stack cards */
  }
  .tech-title {
    font-size: 36px;
  }
}


    /* TESTIMONIALS */
    #testimonials {
      background:#000;
      position:relative;
      overflow:hidden;
    }

   
    .testimonials-row {
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:16px;
    }

    .testimonial-card {
      background:rgba(5,5,9,0.98);
      border-radius:18px;
      border:1px solid rgba(129,117,255,0.6);
      padding:14px 14px 18px;
      font-size:11px;
      color:#ddd;
      box-shadow:var(--shadow-card);
    }

    .testimonial-stars {
      color:#ffc857;
      margin-bottom:8px;
      font-size:16px;
    }

    .testimonial-text {
      min-height:70px;
      margin-bottom:30px;
      font-size:16px;
    }

    .testimonial-name {
      font-weight:600;
      font-size:14px;
    }

    .testimonial-company {
      font-size:14px;
      color:#a7a7a7;
    }

    @media (max-width:1100px){
      .testimonials-row{grid-template-columns:repeat(2,minmax(0,1fr));}
    }
    @media (max-width:640px){
      .testimonials-row{grid-template-columns:1fr;}
    }

    /* OUR WORK */
    #work {
      background:#000;
      position:relative;
    }

    .work-bg-tube {
      position:absolute;
      inset:0;
      background:url("img/tube-work.png") center/cover no-repeat;
      opacity:.9;
      pointer-events:none;
      z-index:-1;
    }



    /* BLOGS */
    #blogs {
      background:#ffffff;
      color:#000;
      padding:70px 0 70px;
    }

    #blogs .section-title {
      color:#000;
      margin-bottom:26px;
      text-align:left;
    }

    .blogs-row {
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:26px;
    }

    .blog-card {
      background:#fff;
      border-radius:22px;
      overflow:hidden;
      box-shadow:0 22px 50px rgba(0,0,0,0.18);
      position:relative;
    }

    .blog-img img {
      width:100%;
      height:240px;
      object-fit:cover;
    }

    .blog-overlay-label {
      position:absolute;
      left:30px;
      bottom:30px;
      background:rgba(255,255,255,0.96);
      padding:10px 16px;
      border-radius:16px;
      font-size:13px;
      box-shadow:0 12px 26px rgba(0,0,0,0.3);
    }

    @media (max-width:900px){
      .blogs-row{grid-template-columns:1fr;}
    }

    /* TRANSFORMATION */
   /* --- LAYOUT GRID --- */
.cgp-faq-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: center;
  font-family: 'Poppins', sans-serif;
}

/* --- LEFT SIDE TEXT --- */
.cgp-faq-title {
  font-size: 42px;
  font-weight: 800;
  color: #fff;
  line-height: 1.2;
  margin-bottom: 20px;
}
.cgp-reveal-text {
  display: block;
}
.cgp-faq-desc {
  font-size: 14px;
  color: #aaa;
  line-height: 1.8;
  max-width: 480px;
}

/* --- RIGHT SIDE CARD (The Visuals) --- */
.cgp-faq-card-wrapper {
  border-radius: 28px;
  padding: 30px;
  /* The Purple/Pink Gradient */
  background: radial-gradient(circle at top, #f46f9f 0%, #531b52 40%, #05010b 90%);
  box-shadow: 0 30px 60px rgba(0,0,0,0.8);
  border: 1px solid rgba(255,255,255,0.2);
  color: #fff;
  position: relative;
  
  /* FLOATING ANIMATION (Replaces the broken 3D tilt) */
  animation: cgpFloat 6s ease-in-out infinite;
}

@keyframes cgpFloat {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-20px); }
  100% { transform: translateY(0px); }
}

/* Inner Container */
.cgp-faq-card-inner {
  background: rgba(10, 5, 30, 0.4);
  border-radius: 18px;
  padding: 10px 20px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.15);
}

/* --- FAQ ITEM STRUCTURE --- */
.cgp-faq-item {
  border-bottom: 1px solid rgba(255,255,255,0.2);
}
.cgp-faq-item:last-child {
  border-bottom: none;
}

/* --- CLICKABLE HEADER --- */
.cgp-faq-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 0;
  cursor: pointer;
  user-select: none; /* Prevents text selection */
  transition: all 0.3s ease;
}

.cgp-faq-header:hover .cgp-question {
  color: #fff;
  text-shadow: 0 0 8px rgba(244, 111, 159, 0.6);
}

.cgp-question {
  font-size: 14px;
  font-weight: 500;
  color: #ddd;
  transition: color 0.3s;
}

.cgp-toggle {
  font-size: 20px;
  font-weight: 300;
  color: #f46f9f;
  transition: transform 0.3s ease;
}

/* --- ACTIVE STATE (When Opened) --- */
.cgp-faq-item.cgp-active .cgp-toggle {
  transform: rotate(45deg); /* Rotates + to x */
  color: #fff;
}
.cgp-faq-item.cgp-active .cgp-question {
  color: #fff;
}

/* --- ANSWER BOX (Hidden by default) --- */
.cgp-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.cgp-answer-content {
  padding-bottom: 20px;
  font-size: 13px;
  color: #bbb;
  line-height: 1.6;
}

/* --- RESPONSIVE --- */
@media (max-width: 900px) {
  .cgp-faq-grid { grid-template-columns: 1fr; }
  .cgp-faq-title { font-size: 32px; }
}
    /* INQUIRY */
    #inquiry {
      background:linear-gradient(180deg,#420437 0,#0a000d 100%);
      padding:70px 0 60px;
    }

    .inquiry-card {
      background:radial-gradient(circle at 0 0,rgba(255,255,255,0.04) 0,transparent 60%), #110013;
      border-radius:26px;
      border:1px solid rgba(255,255,255,0.35);
      padding:32px 40px 30px;
      box-shadow:0 26px 60px rgba(0,0,0,0.95);
      display:grid;
      grid-template-columns:1.1fr 1.4fr;
      gap:40px;
      color:#fff;
    }

    .inquiry-left-title {
      font-size:32px;
      font-weight:700;
      margin-bottom:10px;
    }

    .inquiry-left-text {
      font-size:13px;
      color:rgba(230,230,241,0.9);
      margin-bottom:24px;
      max-width:300px;
    }

    .inquiry-left-contact {
      font-size:13px;
      line-height:1.9;
    }

    .inquiry-form {
      font-size:12px;
    }

    .inquiry-row {
      display:flex;
      gap:24px;
      margin-bottom:18px;
    }

    .inquiry-field {
      flex:1;
    }

    .inquiry-label {
      display:block;
      margin-bottom:4px;
      color:rgba(220,220,235,0.9);
    }

    .inquiry-input,
    .inquiry-textarea {
      width:100%;
      border:none;
      border-bottom:1px solid rgba(255,255,255,0.6);
      background:transparent;
      padding:4px 0 6px;
      color:#fff;
      outline:none;
      font-family:inherit;
      font-size:12px;
    }

    .inquiry-textarea {
      margin-top:6px;
      resize:none;
    }

    .inquiry-submit-wrap {
      margin-top:22px;
    }

    .btn-submit {
      border:none;
      padding:10px 40px;
      border-radius:999px;
      font-size:13px;
      font-weight:600;
      background:linear-gradient(135deg,#ffd86b,#f7b733);
      color:#3a1901;
      cursor:pointer;
      box-shadow:0 16px 35px rgba(0,0,0,0.9);
    }

    @media (max-width:900px){
      .inquiry-card{
        grid-template-columns:1fr;
        padding:28px 22px 26px;
      }
    }

    /* FOOTER */
    footer {
      background:#000;
      color:#e6e6e6;
      padding:26px 0 26px;
      font-size:12px;
    }

    .footer-grid {
      display:grid;
      grid-template-columns:1.4fr 1.1fr 1.1fr;
      gap:30px;
      margin-bottom:18px;
    }

    .footer-heading {
      font-weight:600;
      margin-bottom:8px;
    }

    .footer-muted {
      color:#aaaaaa;
      font-size:11px;
      margin-top:4px;
    }

    .footer-newsletter {
      margin-top:6px;
      display:flex;
      gap:8px;
      align-items:center;
    }

    .footer-input {
      padding:6px 10px;
      border-radius:16px;
      border:1px solid rgba(255,255,255,0.35);
      background:transparent;
      color:#fff;
      font-size:11px;
      outline:none;
    }

    .footer-btn {
      padding:6px 12px;
      border-radius:16px;
      border:none;
      font-size:11px;
      background:#ffffff;
      color:#000;
      cursor:pointer;
    }

    .footer-bottom {
      display:flex;
      justify-content:space-between;
      align-items:center;
      flex-wrap:wrap;
      gap:10px;
      border-top:1px solid rgba(255,255,255,0.16);
      padding-top:10px;
      margin-top:8px;
      font-size:11px;
      color:#b7b7b7;
    }

    .footer-links {
      display:flex;
      gap:12px;
    }

    @media (max-width:900px){
      .footer-grid{grid-template-columns:1fr;}
    }




/* --- PREMIUM ANIMATION STYLES --- */

/* 1. Masked Text Reveal (The "Digital Gravity" Title Effect) */
.reveal-text-mask {
  overflow: hidden; /* This hides the text while it's "down" */
  display: block;
}

.reveal-text-inner {
  display: block;
  transform: translateY(110%); /* Start pushed down/hidden */
  opacity: 0;
  transition: transform 1.2s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 1.2s ease;
  will-change: transform;
}

.reveal-text-mask.active .reveal-text-inner {
  transform: translateY(0);
  opacity: 1;
}

/* 2. Image Reveal (Zoom Out Effect) */
.reveal-img-box {
  overflow: hidden;
  border-radius: inherit;
}

.reveal-img-box img {
  transform: scale(1.3); /* Start zoomed in */
  transition: transform 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform;
}

.reveal-img-box.active img {
  transform: scale(1); /* Zoom to normal */
}

/* 3. Staggered Card Fade Up */
.fade-up {
  opacity: 0;
  transform: translateY(60px);
  transition: all 0.8s ease-out;
}

.fade-up.active {
  opacity: 1;
  transform: translateY(0);
}

/* Delays for cards appearing one by one */
.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }
.delay-4 { transition-delay: 0.4s; }

/* 4. Smooth Parallax Class */
.parallax-item {
  will-change: transform;
  /* We will control transform via JS */
}



/* --- NEW ADVANCED PARALLAX STYLES --- */

/* 1. Horizontal Scroll Section Wrapper */
.horizontal-section {
  position: relative;
  width: 100%;
  height: 400vh; /* Make it very tall so we have room to scroll sideways */
  background: #000;
}

.sticky-wrapper {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
  display: flex;
  align-items: center;
}

.horizontal-track {
  display: flex;
  gap: 50px;
  padding-left: 10vw; /* Start slightly indented */
  width: max-content; /* Allows content to stretch infinitely to the right */
  will-change: transform;
}

/* 2. Velocity Skew Class */
.skew-on-scroll {
  transition: transform 0.1s ease-out; /* Quick snap back */
  will-change: transform;
}

/* 3. Mouse Move Parallax Layer */
.mouse-parallax {
  position: absolute;
  will-change: transform;
  pointer-events: none; /* Let clicks pass through */
}

/* 4. A "Noise" Overlay for Texture (Premium Feel) */
.noise-overlay {
  position: fixed;
  top: 0; left: 0; width: 100%; height: 100%;
  background: url('https://grainy-gradients.vercel.app/noise.svg');
  opacity: 0.05;
  pointer-events: none;
  z-index: 9999;
}


/* --- SPOTLIGHT SERVICES --- */
.services-card {
  /* Override your old grid to simple column if needed, or keep split */
  display: grid;
  grid-template-columns: 1fr 1.5fr; /* Give more space to cards */
}

.services-right-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.service-spotlight-card {
  position: relative;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 16px;
  overflow: hidden;
  cursor: pointer;
  /* Define default mouse position variables */
  --mouse-x: 50%;
  --mouse-y: 50%;
}

/* The Glowing Border Effect */
.service-spotlight-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: radial-gradient(
    600px circle at var(--mouse-x) var(--mouse-y), 
    rgba(255, 255, 255, 0.15), 
    transparent 40%
  );
  z-index: 1;
  opacity: 0; /* Hidden by default, shown on hover */
  transition: opacity 0.5s;
}

.service-spotlight-card:hover::before {
  opacity: 1;
}

/* The Content */
.spotlight-content {
  position: relative;
  z-index: 2;
  padding: 24px;
  background: rgba(10, 10, 10, 0.95); /* Inner dark bg */
  margin: 1px; /* 1px margin reveals the ::before gradient acting as a border */
  border-radius: 15px;
  height: calc(100% - 2px);
  transition: transform 0.3s;
}

.service-spotlight-card:hover .spotlight-content {
  transform: translateY(-2px);
}

.spotlight-content h3 {
  font-size: 16px;
  color: #fff;
  margin-bottom: 8px;
}

.spotlight-content p {
  font-size: 12px;
  color: #aaa;
  line-height: 1.5;
}

/* Responsive */
@media (max-width: 768px) {
  .services-right-grid { grid-template-columns: 1fr; }
}

/* --- CLIENTS MARQUEE STYLES --- */
#clients {
  padding: 60px 0;
  background: #000;
  overflow: hidden; /* Essential */
}

.client-marquee {
  position: relative;
  width: 100%;
  padding: 40px 0;
  border-top: 1px solid rgba(255,255,255,0.08);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.02); /* Very subtle tint */
}

/* Reuse the track animation from before, but smoother for logos */
.marque-track {
  display: flex;
  gap: 0; /* Gap handled by margin on images */
  width: max-content;
  animation: marquee-scroll 30s linear infinite; /* Slower speed for logos */
}

.marque-content {
  display: flex;
  align-items: center;
}

/* Logo Styling */
.client-logo-img {
  height: 50px; /* Uniform height */
  width: auto;  /* Maintain aspect ratio */
  margin: 0 60px; /* Space between logos */
  
  /* The "Premium" Effect: Grayscale & Dimmed by default */
  filter: grayscale(100%) brightness(0.7);
  opacity: 0.6;
  transition: all 0.4s ease;
  cursor: pointer;
}

/* Hover Effects */
.client-marquee:hover .marque-track {
  animation-play-state: paused; /* Pause scrolling on mouse over */
}

.client-logo-img:hover {
  filter: grayscale(0%) brightness(1); /* Full color & bright */
  opacity: 1;
  transform: scale(1.1); /* Slight pop */
}

/* Keyframes (Same as before) */
@keyframes marquee-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* Mobile Tweaks */
@media (max-width: 768px) {
  .client-logo-img {
    height: 35px;
    margin: 0 30px;
  }
}


/* --- TRANSFORMATION: 3D HOLOGRAPHIC & DECODER --- */

/* 1. Setup 3D Space */
#transformation .transform-grid {
  perspective: 1000px; /* Essential for 3D tilt */
}

/* 2. The 3D Card */
.transform-right-card {
  /* Keep your existing gradient but add transition */
  transition: transform 0.1s ease-out, box-shadow 0.3s ease;
  transform-style: preserve-3d; /* Allows inner elements to float */
  will-change: transform;
}

/* The inner content floats "above" the card */
.transform-right-card-inner {
  transform: translateZ(40px); /* Pushes content forward */
  background: rgba(6, 0, 30, 0.6); /* Slightly darker for contrast */
  backdrop-filter: blur(5px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  pointer-events: none; /* Let clicks pass to the parent */
}

/* 3. List Item Interaction ("Magnetic Slide") */
.transform-line {
  position: relative;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  cursor: pointer;
  pointer-events: auto; /* Re-enable clicks */
  padding: 10px 15px; /* Add breathing room */
  border-radius: 8px;
}

/* Hover Effect for List Items */
.transform-line:hover {
  background: rgba(255, 255, 255, 0.1);
  transform: translateX(15px) scale(1.02); /* Slides right & grows */
  border-bottom: 1px solid transparent; /* Hide bottom border */
  box-shadow: -5px 5px 15px rgba(0,0,0,0.3);
}

.transform-line:hover span:first-child {
  color: #f7b733; /* Gold color on hover */
  text-shadow: 0 0 8px rgba(247, 183, 51, 0.6);
}

/* 4. Decoder Text Cursor (The blinking block) */
.decode-text {
  font-family: 'Courier New', monospace; /* Monospace looks techy */
  position: relative;
  display: inline-block;
}



/* --- ENHANCED INQUIRY ANIMATIONS (Same Structure) --- */

/* 1. Animate the Main Card Entrance */
.inquiry-card {
  /* Keep your existing styles, but add these for animation */
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
  /* Add a subtle glass backdrop without changing layout */
  backdrop-filter: blur(10px); 
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.inquiry-card.animate-in {
  opacity: 1;
  transform: translateY(0);
  box-shadow: 0 30px 60px rgba(0,0,0,0.6); /* Deeper shadow on arrival */
}

/* 2. Input Fields: The "Center Expand" Effect */
.inquiry-field {
  position: relative;
  overflow: hidden; /* Needed for the line animation */
}

/* Create a new animated line with ::after on the field container */
.inquiry-field::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: #CB9635; /* Gold Accent */
  transform: scaleX(0); /* Hidden by default */
  transform-origin: center;
  transition: transform 0.4s ease;
}

/* Trigger animation when the input inside is focused */
.inquiry-field:focus-within::after {
  transform: scaleX(1); /* Expand to full width */
}

/* Style the input itself to be cleaner */
.inquiry-input, .inquiry-textarea {
  transition: all 0.3s ease;
  background: rgba(255, 255, 255, 0.02); /* Slight tint */
}

.inquiry-input:focus, .inquiry-textarea:focus {
  background: rgba(255, 255, 255, 0.05); /* Light up on focus */
  transform: translateY(-2px); /* Slight lift */
}

/* 3. Label Interaction */
.inquiry-label {
  transition: 0.3s ease;
}
.inquiry-field:focus-within .inquiry-label {
  color: #CB9635; /* Label turns gold */
  text-shadow: 0 0 8px rgba(203, 150, 53, 0.4);
}

/* 4. Left Side Contact Info Hover */
.inquiry-left-contact {
  position: relative;
  padding-left: 15px;
  border-left: 2px solid transparent;
  transition: 0.3s ease;
}

.inquiry-left-contact:hover {
  border-left-color: #CB9635; /* Gold bar appears on hover */
  padding-left: 25px; /* Slide right */
  color: #fff;
}

/* 5. Submit Button "Sheen" Sweep */
.btn-submit {
  position: relative;
  overflow: hidden; /* Hide the sheen outside */
  transition: transform 0.3s, box-shadow 0.3s;
  z-index: 1;
}

.btn-submit::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg, 
    transparent, 
    rgba(255, 255, 255, 0.6), 
    transparent
  );
  transform: skewX(-20deg);
  transition: 0.5s;
  z-index: -1;
}

.btn-submit:hover {
  transform: scale(1.05); /* Grow slightly */
  box-shadow: 0 0 20px rgba(203, 150, 53, 0.6); /* Gold Glow */
}

.btn-submit:hover::before {
  left: 150%; /* Sweep the shine across */
  transition: 0.6s ease-in-out;
}


/* --- POWERFUL FOOTER ANIMATION --- */

/* 1. Setup the 3D Stage */
footer {
  perspective: 1000px; /* Essential for 3D depth */
  background: #000;
  position: relative;
  overflow: hidden;
  /* Dynamic spotlight background using CSS variables */
  background: radial-gradient(
    600px circle at var(--mouse-x, 50%) var(--mouse-y, 50%), 
    rgba(30, 30, 30, 1), 
    transparent 40%
  ), #000;
}

/* 2. The "Trapdoor" Entrance (Swing Down) */
.footer-grid > div {
  opacity: 0;
  transform-origin: top center; /* Swing from top */
  transform: rotateX(-90deg); /* Start hidden flat against ceiling */
  transition: transform 1.2s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.5s;
}

/* Triggered state */
footer.active-3d .footer-grid > div {
  opacity: 1;
  transform: rotateX(0deg); /* Swing down to normal */
}

/* Stagger the swings for heavy impact */
footer.active-3d .footer-grid > div:nth-child(1) { transition-delay: 0s; }
footer.active-3d .footer-grid > div:nth-child(2) { transition-delay: 0.2s; }
footer.active-3d .footer-grid > div:nth-child(3) { transition-delay: 0.4s; }

/* 3. The "RGB Glitch" Text Hover */
.footer-grid > div:first-child div:not(.footer-heading) {
  position: relative;
  transition: 0.2s;
  cursor: pointer;
}
/*
.footer-grid > div:first-child div:not(.footer-heading):hover {
  color: #fff;
  text-shadow: 
    2px 0 rgba(255,0,0,0.5), 
    -2px 0 rgba(0,255,255,0.5); /* Red/Blue separation */
  animation: glitch-skew 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both infinite;
}
*/
@keyframes glitch-skew {
  0% { transform: translate(0); }
  20% { transform: translate(-2px, 2px); }
  40% { transform: translate(-2px, -2px); }
  60% { transform: translate(2px, 2px); }
  80% { transform: translate(2px, -2px); }
  100% { transform: translate(0); }
}

/* 4. "High Voltage" Input Field */
.footer-input {
  border: 1px solid #333;
  background: #000;
  transition: all 0.3s ease;
}

.footer-input:focus {
  border-color: #fff;
  background: #000;
  box-shadow: 
    0 0 10px #CB9635, 
    0 0 20px #CB9635, 
    0 0 40px #CB9635; /* Intense glow */
  transform: scale(1.05);
}

/* 5. The "Shockwave" Button */
.footer-btn {
  position: relative;
  z-index: 1;
  overflow: hidden;
  transition: 0.3s;
}

.footer-btn:hover {
  background: #fff;
  color: #000;
  box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.2); /* Ripple ring */
  transform: translateY(-3px);
}




/* --- ABOUT REVEAL SECTION (Video Style) --- */
.about-reveal-section {
  position: relative;
  background: #050507; /* Match your dark theme */
  color: #fff;
  z-index: 2;
}

/* 1. The Cover Screen (Sticky) */
.about-cover-sticky {
  height: 100vh; /* Full screen */
  display: flex;
  align-items: center;
  justify-content: center;
  position: sticky;
  top: 0;
  z-index: 1; /* Behind the content */
  overflow: hidden;
  background: #050507; /* Ensure background hides previous sections */
}

.about-cover-text {
  font-family: 'Poppins', sans-serif;
  font-size: 8vw; /* Massive responsive text */
  font-weight: 800;
  color: rgba(255, 255, 255, 0.05); /* Subtle look */
  line-height: 1;
  display: flex;
  user-select: none;
  flex-wrap: wrap; 
  justify-content: center;
  
}

/* --- STYLE 1: "TECHCO" (White Outline) --- */
.word-techco .reveal-char {
  /* This creates the hollow look */
  color: transparent; 
  -webkit-text-stroke: 2px #fff; /* White outline width */
  opacity: 0.3; /* Subtle transparency */
}

/* --- STYLE 2: "Agency" (Solid Gold) --- */
.word-agency .reveal-char {
  /* The extracted gold color */
  color: #eeb748; 
  opacity: 0.8; /* Make it more visible than the background */
}

/* Spacer */
.spacer {
  width: 3vw;
}



/* 2. The Content Layer (Slides over) */
.about-content-scroll {
  position: relative;
  z-index: 2; /* Sits on top of the sticky cover */
  padding-bottom: 100px;
  background: transparent; /* Transparent so we see the cover initially? No, needs bg */
  background: linear-gradient(to bottom, transparent 0%, #050507 20%); /* Fade in effect */
  margin-top: -30vh; /* Pull content up slightly to overlap nicely */
}

.about-big-headline-wrap {
  padding: 100px 0 80px;
  text-align: center;
}

.about-big-headline {
  font-size: 80px;
  line-height: 1.1;
  font-weight: 700;
  margin-bottom: 20px;
}

.italic-text {
  font-family: 'Candal', sans-serif; /* Or serif font */
  font-style: italic;
  font-weight: 400;
}

/* Mobile Tweaks */
@media (max-width: 768px) {
  .about-cover-text { font-size: 13vw; flex-direction: column; text-align: center; }
  .about-big-headline { font-size: 42px; }
  .spacer {
    display: block;
    width: 100%; 
    height: 0; 
  }
  .word-techco, .word-agency {
    margin-bottom: 10px; /* Add space between stacked words */
  }
}

/* --- CLUSTER GRID REUSED STYLES --- */
.about-cluster-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.about-desc {
  font-size: 16px;
  color: #aaa;
  line-height: 1.8;
  margin-bottom: 30px;
}


/* --- SERVICES HERO STYLES (cgp-services-) --- */

.cgp-services-hero-section {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 120px 0 80px; 
  overflow: hidden;
  font-family: 'Poppins', sans-serif;
}

/* Background Layers */
.cgp-services-bg {
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
  z-index: 0;
}
.cgp-services-bg img {
  width: 100%; height: 100%; object-fit: cover;
}

.cgp-services-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.85) 100%);
  z-index: 1;
}

/* Container */
.cgp-services-container {
  position: relative;
  z-index: 2;
  width: min(1200px, 92%);
  margin: 0 auto;
}

.cgp-services-split {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 60px;
  align-items: center;
}

/* --- SERVICES TYPOGRAPHY --- */
.cgp-services-title {
  color: #ffffff;
  font-weight: 800;
  line-height: 1.05;
  font-size: clamp(40px, 5vw, 70px);
  margin-bottom: 25px;
}

.cgp-services-desc {
  font-size: 16px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.85);
  max-width: 520px;
}


/* --- SERVICES GLASS FORM --- */
.cgp-services-glass-card {
  background: rgba(15, 15, 15, 0.7);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 24px;
  padding: 40px 35px;
  box-shadow: 0 25px 60px rgba(0,0,0,0.6);
}

.cgp-services-form-heading {
  color: #fff;
  font-size: 26px;
  margin-bottom: 32px;
  font-weight: 600;
  text-align: center;
}

/* Form Layout */
.cgp-services-form-row {
  display: flex;
  gap: 20px;
  margin-bottom: 24px;
}

.cgp-services-input-wrap {
  position: relative;
  width: 100%;
}
.cgp-services-full-width {
  margin-bottom: 35px;
}

/* Input Styling */
.cgp-services-input {
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  padding: 10px 0;
  font-size: 15px;
  color: #fff;
  outline: none;
  border-radius: 0;
  transition: border-color 0.3s;
}

.cgp-services-input:focus {
  border-bottom-color: #CB9635;
}

/* Floating Label */
.cgp-services-label {
  position: absolute;
  left: 0;
  top: 10px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  pointer-events: none;
  transition: 0.3s ease;
}

/* Label Animation Logic */
.cgp-services-input:focus ~ .cgp-services-label,
.cgp-services-input:not(:placeholder-shown) ~ .cgp-services-label {
  top: -12px;
  font-size: 12px;
  color: #CB9635;
}

/* Submit Button */
.cgp-services-btn {
  width: 100%;
  padding: 16px;
  background: #CB9635;
  color: #000;
  border: none;
  border-radius: 50px;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
}

.cgp-services-btn:hover {
  background: #f0bd5d;
  box-shadow: 0 8px 20px rgba(203, 150, 53, 0.35);
  transform: translateY(-2px);
}

/* --- RESPONSIVE BREAKPOINTS --- */
@media (max-width: 991px) {
  .cgp-services-split {
    grid-template-columns: 1fr;
    gap: 50px;
  }
  .cgp-services-text-col {
    text-align: left;
  }
  .cgp-services-glass-card {
    max-width: 600px;
    margin: 0 auto;
    padding: 30px 25px;
  }
}

@media (max-width: 480px) {
  .cgp-services-hero-section {
    padding-top: 100px;
  }
  .cgp-services-title {
    font-size: 40px;
  }
  .cgp-services-form-row {
    flex-direction: column;
    gap: 15px;
    margin-bottom: 15px;
  }
}


/* --- HOW WE RULE SECTION STYLES (cgp-hwr-) --- */

.cgp-hwr-section {
  background-color: #000; /* Deep black background */
  padding: 80px 0 120px;
  position: relative;
  overflow: hidden;
  font-family: 'Poppins', sans-serif;
}

.cgp-hwr-container {
  width: min(1200px, 92%);
  margin: 0 auto;
  text-align: center;
}

/* Typography */
.cgp-hwr-title {
  color: #fff;
  font-size: clamp(36px, 5vw, 56px);
  font-weight: 800;
  text-transform: lowercase; /* Matches image "how we rule" */
  letter-spacing: 2px;
  margin-bottom: 60px;
}

/* Grid Layout */
.cgp-hwr-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4 columns */
  gap: 30px;
}

/* Card Styling */
.cgp-hwr-card {
  /* The Purple Gradient Background */
  background: linear-gradient(180deg, #4a0e4e 0%, #1a051a 100%);
  border: 1px solid rgba(255, 255, 255, 0.15); /* Subtle border */
  border-radius: 16px;
  padding: 40px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 280px; /* Ensure uniform height */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
}

/* Hover Effect (Glow) */
.cgp-hwr-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(74, 14, 78, 0.6); /* Purple glow */
  border-color: rgba(255, 255, 255, 0.4);
}

/* Number Styling */
.cgp-hwr-number {
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 30px;
}

/* Text Styling */
.cgp-hwr-text {
  font-size: 14px;
  line-height: 1.6;
  color: #e0e0e0;
  max-width: 200px; /* Keeps text concise */
  margin: 0 auto;
}

/* --- RESPONSIVE BREAKPOINTS --- */

/* Tablet (2x2 Grid) */
@media (max-width: 992px) {
  .cgp-hwr-grid {
    grid-template-columns: repeat(2, 1fr);
    max-width: 700px;
    margin: 0 auto; /* Center the grid */
  }
}

/* Mobile (1 Column Stack) */
@media (max-width: 550px) {
  .cgp-hwr-grid {
    grid-template-columns: 1fr;
  }
  .cgp-hwr-card {
    min-height: auto;
    padding: 30px 20px;
  }
}

/* --- EXPERTISE MARQUEE STYLES (cgp-tech-) --- */

.cgp-tech-section {
  background-color: #000;
  padding: 80px 0 100px;
  font-family: 'Poppins', sans-serif;
  text-align: center;
  overflow: hidden; /* Prevent horizontal scrollbars */
}

.cgp-tech-container {
  width: 100%; /* Changed to 100% to allow full width flow */
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Typography */
.cgp-tech-header {
  margin-bottom: 60px;
}
.cgp-tech-title {
  color: #fff;
  font-size: clamp(32px, 5vw, 48px);
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 5px;
  line-height: 1;
}
.cgp-tech-subtitle {
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.5px;
}

/* --- MARQUEE WINDOW --- */
.cgp-tech-marquee-window {
  position: relative;
  width: 100%;
  overflow: hidden; /* Hide anything outside this box */
  
  /* Optional: Fade effect on left/right edges */
  mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}

/* --- THE MOVING TRACK --- */
.cgp-tech-track {
  display: flex;
  gap: 80px; /* Space between items */
  width: max-content; /* Ensure width fits all items in one line */
  
  /* The Infinite Loop Animation */
  animation: cgpTechScroll 30s linear infinite;
}

/* Pause on hover for better UX */
.cgp-tech-track:hover {
  animation-play-state: paused;
}

/* --- ITEMS --- */
.cgp-tech-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  flex-shrink: 0; /* Prevent items from squishing */
  width: 120px; /* Fixed width for consistency */
}

.cgp-tech-icon-box {
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
}

.cgp-tech-item:hover .cgp-tech-icon-box {
  transform: scale(1.1); /* Zoom effect on hover */
}

.cgp-tech-img {
  width: 100%;
  height: auto;
  object-fit: contain;
  
}

.cgp-tech-name {
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  opacity: 0.9;
}

/* --- ANIMATION KEYFRAMES --- */
@keyframes cgpTechScroll {
  0% {
    transform: translateX(0);
  }
  100% {
    /* Move left by exactly 50% (the length of one full set) */
    transform: translateX(-50%);
  }
}

/* --- RESPONSIVE ADJUSTMENTS --- */
@media (max-width: 768px) {
  .cgp-tech-track {
    gap: 50px; /* Smaller gap on mobile */
    animation-duration: 20s; /* Faster scroll on mobile */
  }
  .cgp-tech-icon-box {
    width: 60px;
    height: 60px;
  }
}
/* --- WEB SECTION (Transparent & Single BG) --- */
/* --- WEB SECTION (Fixed Readability & Spacing) --- */

.cgp-web-section {
  position: relative;
  /* Main Background Image Setup */
  background-color: #000;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 100px 0;
  overflow: hidden;
  font-family: 'Poppins', sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Container */
.cgp-web-container {
  width: min(1200px, 94%);
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

/* --- THE MAIN CARD --- */
.cgp-web-card {
  /* 1. Background for Readability (Semi-transparent Black) */
  background: rgba(0, 0, 0, 0.85); 
  
  /* 2. Glassmorphism Blur (Optional, makes it look premium) */
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  /* 3. Border for definition */
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 30px;

  /* 4. Proper Spacing (Margins/Padding) inside the card */
  padding: 60px 50px; 
  
  /* Grid Layout */
  display: grid;
  grid-template-columns: 1.2fr 1.2fr 0.8fr; 
  gap: 60px; /* Space between columns */
  align-items: center;
  
  box-shadow: 5px 5px 15px 5px ;
}

/* Text Styles */
.cgp-web-title {
  color: #fff;
  font-size: 56px;
  font-weight: 900;
  text-transform: uppercase;
  margin-bottom: 25px;
  letter-spacing: 1px;
  line-height: 1;
}

.cgp-web-desc {
  color: #ddd; /* Slightly brighter for better contrast */
  font-size: 15px;
  line-height: 1.7;
  text-align: left;
  margin-bottom: 0;
}

/* Image Wrapper */
.cgp-web-img-wrapper {
  width: 100%;
  height: 350px; /* Slightly taller */
  border-radius: 24px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 15px 40px rgba(0,0,0,0.5);
}

.cgp-web-main-img {
  width: 100%;
  height: 100%;
  object-fit: cover; 
}

/* Stats */
.cgp-web-stats-col {
  display: flex;
  flex-direction: column;
  gap: 50px;
  padding-left: 20px; /* Separation from image */
}

.cgp-web-stat-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.cgp-web-number {
  font-size: 48px;
  font-weight: 800;
  color: #D4A045; /* Gold */
  margin-bottom: 8px;
  line-height: 1;
}

.cgp-web-label {
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  opacity: 0.9;
}

/* --- RESPONSIVE --- */
@media (max-width: 1100px) {
  .cgp-web-card {
    padding: 50px 30px;
    gap: 40px;
  }
}

@media (max-width: 992px) {
  .cgp-web-card {
    grid-template-columns: 1fr; /* Stack vertically */
    text-align: center;
    padding: 50px 30px;
  }
  
  .cgp-web-desc {
    text-align: center;
    margin: 0 auto;
    max-width: 700px;
  }

  .cgp-web-stats-col {
    flex-direction: row;
    justify-content: center;
    padding-left: 0;
    gap: 60px;
  }
  
  .cgp-web-stat-item {
    align-items: center;
  }
}

@media (max-width: 600px) {
  .cgp-web-stats-col {
    flex-direction: column;
    gap: 40px;
  }
  .cgp-web-title {
    font-size: 42px;
  }
  .cgp-web-img-wrapper {
    height: 250px;
  }
}


/* --- BULB SECTION STYLES (cgp-bulb-) --- */

.cgp-bulb-wrapper {
  background-color: #000; /* Deep black background */
  padding: 100px 0;
  position: relative;
  overflow: hidden;
  font-family: 'Poppins', sans-serif;
  min-height: 600px; /* Ensure enough height for the spread */
  display: flex;
  align-items: center;
  justify-content: center;
}

.cgp-bulb-container {
  position: relative;
  width: 800px; /* Fixed width area for consistent positioning */
  height: 600px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* --- Central Image --- */
.cgp-bulb-center {
  position: relative;
  z-index: 2;
  width: 400px; /* Adjust based on your actual bulb image size */
  height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cgp-bulb-img {
  width: 100%;
  height: auto;
  object-fit: contain;
  position: relative;
  z-index: 2;
}

/* Optional Glow behind the bulb */
.cgp-bulb-glow-effect {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 120%;
  height: 120%;
  background: radial-gradient(circle, rgba(203,150,53,0.2) 0%, transparent 90%);
  filter: blur(40px);
  z-index: 1;
  box-shadow: 5px 5px 15px 5px #ab0db6;
}

/* --- Floating Labels --- */
.cgp-bulb-label {
  position: absolute;
  background: linear-gradient(90deg, #4a0e4e 0%, #1a051a 100%); /* Purple Gradient */
  padding: 12px 30px;
  border-radius: 50px; /* Pill shape */
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 10px 20px rgba(0,0,0,0.5);
  white-space: nowrap;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  z-index: 3;
  cursor: pointer;
}

.cgp-bulb-label span {
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}

/* Hover Effect */
.cgp-bulb-label:hover {
  transform: scale(1.05);
  box-shadow: 0 0 15px rgba(138, 43, 226, 0.6); /* Purple glow */
  border-color: rgba(255, 255, 255, 0.5);
}

/* --- Precise Positioning --- */
/* Adjust 'top', 'left', 'right' percentages to match the image exactness */

.cgp-pos-top-left {
  top: 15%;
  left: 10%;
}

.cgp-pos-top-right {
  top: 10%;
  right: 5%;
}

.cgp-pos-mid-left {
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
}

.cgp-pos-mid-right {
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
}

.cgp-pos-bot-left {
  bottom: 10%;
  left: 10%;
}

.cgp-pos-bot-right {
  bottom: 10%;
  right: 10%;
}

/* --- RESPONSIVE --- */
@media (max-width: 900px) {
  .cgp-bulb-container {
    width: 100%;
    height: auto;
    flex-direction: column;
    gap: 20px;
    padding: 40px 20px;
  }
  
  /* Reset absolute positioning for mobile stack */
  .cgp-bulb-label {
    position: relative;
    top: auto !important; left: auto !important; right: auto !important; bottom: auto !important;
    transform: none !important;
    width: 80%;
    text-align: center;
  }

  .cgp-bulb-center {
    margin: 40px 0;
    width: 200px;
    height: 200px;
  }
}

/* --- 1. ANIMATION KEYFRAMES (Unique: cgp-bulb-) --- */

/* Gentle Floating for Center Image */
@keyframes cgpBulbFloat {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-20px); }
}

/* Pulsing for the Glow */
@keyframes cgpBulbPulse {
  0%, 100% { opacity: 0.6; transform: translate(-50%, -50%) scale(1); }
  50% { opacity: 1; transform: translate(-50%, -50%) scale(1.1); }
}

/* --- 2. APPLIED ANIMATIONS --- */

/* Center Image Floating */
.cgp-bulb-center img {
  /* This runs continuously */
  animation: cgpBulbFloat 4s ease-in-out infinite;
  will-change: transform;
}

/* Glow Pulsing */
.cgp-bulb-glow-effect {
  /* Overrides existing transform, so we include translate(-50%, -50%) in keyframe */
  animation: cgpBulbPulse 3s infinite;
}

/* --- 3. SCROLL REVEAL STATES (Hidden by default) --- */

/* Initial State: Center Image */
.cgp-bulb-center {
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Bouncy spring effect */
}

/* Initial State: Labels */
.cgp-bulb-label {
  opacity: 0;
  transform: scale(0); /* Start tiny */
  transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.3s;
}

/* --- 4. ACTIVE STATES (Triggered by JS) --- */
.cgp-bulb-wrapper.cgp-active .cgp-bulb-center {
  opacity: 1;
  transform: scale(1);
}

.cgp-bulb-wrapper.cgp-active .cgp-bulb-label {
  opacity: 1;
  transform: scale(1);
}

/* --- 5. STAGGERED DELAYS (So they pop in one by one) --- */
/* Center first */
.cgp-bulb-wrapper.cgp-active .cgp-bulb-center { transition-delay: 0s; }

/* Then labels in clockwise order */
.cgp-bulb-wrapper.cgp-active .cgp-pos-top-right { transition-delay: 0.2s; }
.cgp-bulb-wrapper.cgp-active .cgp-pos-mid-right { transition-delay: 0.3s; }
.cgp-bulb-wrapper.cgp-active .cgp-pos-bot-right { transition-delay: 0.4s; }
.cgp-bulb-wrapper.cgp-active .cgp-pos-bot-left  { transition-delay: 0.5s; }
.cgp-bulb-wrapper.cgp-active .cgp-pos-mid-left  { transition-delay: 0.6s; }
.cgp-bulb-wrapper.cgp-active .cgp-pos-top-left  { transition-delay: 0.7s; }

/* --- 6. INTERACTIVE LINE (Optional Connecting Beam) --- */
/* Adds a subtle line connecting label to center on hover */
.cgp-bulb-label::after {
  content: '';
  position: absolute;
  width: 0%;
  height: 1px;
  background: rgba(203, 150, 53, 0.8); /* Gold line */
  top: 50%;
  transition: width 0.3s ease;
  z-index: -1;
  pointer-events: none;
}

/* Right side labels line goes Left */
.cgp-pos-top-right::after, .cgp-pos-mid-right::after, .cgp-pos-bot-right::after {
  right: 100%;
}
/* Left side labels line goes Right */
.cgp-pos-top-left::after, .cgp-pos-mid-left::after, .cgp-pos-bot-left::after {
  left: 100%;
}

/* Trigger line on hover */
.cgp-bulb-label:hover::after {
  width: 100px; /* Shoots a line towards center */
}


/* --- 1. CORE LAYOUT & TYPOGRAPHY --- */
.cgp-services-hero-section {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 170px 0 80px;
  overflow: hidden;
  font-family: 'Poppins', sans-serif;
  color: #fff;
}

/* Background Parallax Setup */
.cgp-services-bg {
  position: absolute;
  top: -5%; left: -5%; 
  width: 110%; height: 110%; /* Larger for movement */
  z-index: 0;
  transition: transform 0.1s linear; /* Smooth mouse movement */
}
.cgp-services-bg img {
  width: 100%; height: 100%; object-fit: cover;
}

.cgp-services-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.4) 100%);
  z-index: 1;
}

.cgp-services-container {
  position: relative;
  z-index: 2;
  width: min(1200px, 92%);
  margin: 0 auto;
}

.cgp-services-split {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 60px;
  align-items: center;
}

/* --- 2. TEXT REVEAL ANIMATIONS (The "Agency" Look) --- */

/* The Mask: Hides the text until it slides up */
.cgp-reveal-mask {
  display: block;
  overflow: hidden; /* Critical for the effect */
  margin-bottom: 5px;
}

/* The Inner Text: Starts down and invisible */
.cgp-reveal-inner {
  display: block;
  transform: translateY(110%); /* Pushed down out of view */
  opacity: 0;
  transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 1s ease;
}

/* The Trigger: When this class is added via JS, text slides up */
.cgp-loaded .cgp-reveal-inner {
  transform: translateY(0);
  opacity: 1;
}

/* Staggered Delays for Lines */
.cgp-services-title .cgp-reveal-mask:nth-child(1) .cgp-reveal-inner { transition-delay: 0.1s; }
.cgp-services-title .cgp-reveal-mask:nth-child(2) .cgp-reveal-inner { transition-delay: 0.25s; }
.cgp-services-desc.cgp-reveal-inner { transition-delay: 0.4s; }

.cgp-services-title {
  font-size: clamp(40px, 5vw, 75px);
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: 30px;
}
.cgp-services-desc {
  font-size: 16px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.85);
  max-width: 500px;
}

/* --- 3. GLASS FORM STYLING & ANIMATION --- */

.cgp-services-form-col {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1s ease, transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-delay: 0.6s; /* Appear after text */
}

/* Trigger for Form */
.cgp-loaded .cgp-services-form-col {
  opacity: 1;
  transform: translateY(0);
}

.cgp-services-glass-card {
  background: rgba(255, 255, 255, 0.05); /* Very subtle glass */
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 24px;
  padding: 40px 35px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}

.cgp-services-form-heading {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 30px;
  text-align: center;
}

/* Inputs */
.cgp-services-form-row {
  display: flex;
  gap: 20px;
  margin-bottom: 25px;
}
.cgp-services-input-wrap {
  position: relative;
  width: 100%;
}
.cgp-services-full-width {
  margin-bottom: 35px;
}

.cgp-services-input {
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  padding: 12px 0;
  font-size: 15px;
  color: #fff;
  outline: none;
  transition: border-color 0.3s;
}

.cgp-services-input:focus {
  border-bottom-color: #CB9635; /* Gold focus */
}

/* Floating Labels */
.cgp-services-label {
  position: absolute;
  left: 0;
  top: 12px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  pointer-events: none;
  transition: 0.3s ease;
}

.cgp-services-input:focus ~ .cgp-services-label,
.cgp-services-input:not(:placeholder-shown) ~ .cgp-services-label {
  top: -10px;
  font-size: 11px;
  color: #CB9635;
}

/* Interactive Button */
.cgp-services-btn {
  width: 100%;
  padding: 16px;
  background: #CB9635;
  color: #000;
  border: none;
  border-radius: 50px;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.cgp-services-btn:hover {
  background: #fff; /* Switch to white on hover */
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.3);
}

/* Responsive */
@media (max-width: 991px) {
  .cgp-services-split { grid-template-columns: 1fr; gap: 50px; }
  .cgp-services-text-col { text-align: center; }
  .cgp-services-desc { margin: 0 auto; }
}
@media (max-width: 480px) {
  .cgp-services-form-row { flex-direction: column; gap: 10px; }
}

/* --- PROJECTS SECTION STYLES (cgp-proj-) --- */

.cgp-proj-section {
  position: relative;
  /* Fixed attachment creates a simple parallax effect on scroll */
  background-attachment: fixed; 
  background-size: cover;
  background-position: center;
  padding: 120px 0;
  font-family: 'Poppins', sans-serif;
  overflow: hidden;
}

.cgp-proj-overlay {
  position: absolute;
  inset: 0;
  /* Dark overlay to make projects pop */
  background: rgba(0, 0, 0, 0.75); 
  z-index: 1;
}

.cgp-proj-container {
  position: relative;
  z-index: 2;
  width: min(1200px, 92%);
  margin: 0 auto;
}

/* --- Header --- */
.cgp-proj-header {
  text-align: center;
  margin-bottom: 70px;
}
.cgp-proj-title {
  color: #fff;
  font-size: clamp(36px, 5vw, 56px);
  font-weight: 800;
  margin-bottom: 10px;
}
.cgp-proj-subtitle {
  color: #CB9635; /* Gold accent */
  font-size: 18px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
}

/* --- 3D Grid Layout --- */
.cgp-proj-grid {
  display: grid;
  /* 2 columns by default */
  grid-template-columns: repeat(2, 1fr); 
  gap: 40px;
}

/* --- THE 3D CARD SETUP --- */

/* 1. The Wrapper (Defines 3D space) */
.cgp-proj-card-wrap {
  position: relative;
  transform-style: preserve-3d; /* Crucial for 3D children */
  perspective: 1000px; /* Depth perception */
  cursor: pointer;
}

/* 2. The Card Itself (Glassmorphism) */
.cgp-proj-card {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.05); /* Subtle glass */
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  /* Smooth return animation when mouse leaves */
  transition: transform 0.1s ease; 
  
  /* IMPORTANT: Allows content to pop out in 3D */
  transform-style: preserve-3d; 
  box-shadow: 0 20px 40px rgba(0,0,0,0.4);
}

/* Image Area */
.cgp-proj-img-box {
  height: 280px;
  position: relative;
  overflow: hidden;
  /* Pushes image slightly back in Z-space */
  transform: translateZ(0px); 
}

.cgp-proj-img, 
.cgp-proj-video {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Ensures video fills the box without stretching */
  transition: transform 0.5s ease;
  display: block;
}

/* Hover Zoom on Image */
.cgp-proj-card-wrap:hover .cgp-proj-img,
.cgp-proj-card-wrap:hover .cgp-proj-video {
  transform: scale(1.1);
}

.cgp-proj-overlay-hover {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, transparent 100%);
  opacity: 0.6;
  transition: 0.3s;
  pointer-events: none;
}
.cgp-proj-card-wrap:hover .cgp-proj-overlay-hover {
  opacity: 0.9;
}

/* Content Area (Text) */
.cgp-proj-content {
  padding: 25px 30px;
  position: relative;
  /* THE 3D POP: Pushes text forward towards the user */
  transform: translateZ(50px); 
}

.cgp-proj-cat {
  display: block;
  color: #CB9635; /* Gold */
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  margin-bottom: 8px;
}

.cgp-proj-name {
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  margin: 0;
}

/* --- RESPONSIVE --- */
@media (max-width: 900px) {
  .cgp-proj-grid {
    grid-template-columns: 1fr; /* Stack to 1 column on tablet/mobile */
    max-width: 500px;
    margin: 0 auto;
  }
  .cgp-proj-img-box {
    height: 240px;
  }
}

/* --- SCROLL ANIMATION STYLES --- */

/* 1. Initial State (Hidden & Pushed Down) */
.cgp-scroll-anim {
  opacity: 0;
  transform: translateY(60px); /* Pushes element down */
  transition: opacity 0.8s ease-out, transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
  will-change: opacity, transform;
}

/* 2. Visible State (Triggered by JS) */
.cgp-scroll-anim.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* 3. Staggered Delays for Grid Items (Waterfall Effect) */
/* This makes the 2nd card wait, then the 3rd, etc. */
.cgp-proj-grid .cgp-scroll-anim:nth-child(1) { transition-delay: 0.1s; }
.cgp-proj-grid .cgp-scroll-anim:nth-child(2) { transition-delay: 0.2s; }
.cgp-proj-grid .cgp-scroll-anim:nth-child(3) { transition-delay: 0.3s; }
.cgp-proj-grid .cgp-scroll-anim:nth-child(4) { transition-delay: 0.4s; }


/* =========================================
   MOBILE RESPONSIVENESS PATCH
   Add this to the very bottom of style.css
   ========================================= */

@media (max-width: 991px) {
    /* 1. Header & Nav Fixes */
    header {
        margin-top: 10px; /* Reduce top gap */
    }
    
    .nav-inner {
        width: 95%; 
        padding: 12px 20px; /* Reduce massive side padding */
    }

    /* 2. Hero Section Adjustments */
    #hero {
        height: auto;
        min-height: 85vh; /* Allow content to dictate height */
        padding-top: 120px; /* Space for fixed header */
        padding-bottom: 60px;
    }

    .hero-heading {
        font-size: 36px; /* Smaller font for mobile */
        line-height: 1.2;
    }

    /* 3. About Section Stacking */
    .about-card {
        flex-direction: column-reverse; /* Stack text on top of image */
        gap: 40px;
        padding: 24px;
    }

    .about-photo-wrap {
        width: 100%;
        height: 300px; /* Fixed height for image on mobile */
    }

    .about-meta-row {
        justify-content: center; /* Center stats */
        width: 100%;
    }

    /* 4. Services Hero (Glass Form) */
    .cgp-services-split {
        grid-template-columns: 1fr; /* Stack text and form */
        gap: 40px;
    }

    .services-card{
      display: flex;
  flex-direction: column;
    }
 
    .cgp-services-text-col {
        text-align: center;
        padding: 0 10px;
    }

    .cgp-services-title {
        font-size: 42px;
    }

    .cgp-services-desc {
        margin: 0 auto;
    }

    .cgp-services-form-col {
        width: 100%;
    }

    /* 5. Web Feature Card (The big glass card) */
    .cgp-web-card {
        grid-template-columns: 1fr; /* Force single column */
        display: flex;
        flex-direction: column;
        padding: 40px 24px;
        gap: 40px;
        height: auto;
    }

    .cgp-web-title {
        font-size: 36px;
        text-align: center;
    }

    .cgp-web-desc {
        text-align: center;
    }

    .cgp-web-img-wrapper {
        height: 250px; /* Smaller image height */
    }

    .cgp-web-stats-col {
        flex-direction: row; /* Keep stats side-by-side if possible */
        justify-content: center;
        padding-left: 0;
        width: 100%;
        gap: 20px;
        flex-wrap: wrap;
    }

    /* 6. Transformation Section */
    .transform-grid {
        grid-template-columns: 1fr; /* Stack columns */
    }
    
    .transform-left-title {
        font-size: 32px;
        text-align: center;
    }
    
    .transform-left-text {
        text-align: center;
        margin: 0 auto 40px auto;
    }

    /* 7. Inquiry Form */
    .inquiry-card {
        grid-template-columns: 1fr;
        padding: 30px 20px;
        gap: 40px;
    }

    .inquiry-left-title, .inquiry-left-text, .inquiry-left-contact {
        text-align: center;
    }
    
    .inquiry-left-contact {
        padding-left: 0;
        border-left: none;
    }

    .inquiry-row {
        flex-direction: column; /* Stack inputs vertically */
        gap: 15px;
    }

    .inquiry-submit-wrap {
        text-align: left;
    }

    /* 8. Footer */
    .footer-grid {
        grid-template-columns: 1fr; /* Stack footer columns */
        gap: 40px;
        text-align: center;
    }

    .footer-newsletter {
        justify-content: center;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 15px;
    }
}

/* Extra Small Devices (Phones under 480px) */
@media (max-width: 480px) {
    .cgp-hwr-grid {
        grid-template-columns: 1fr; /* How We Rule becomes 1 column */
    }

    .cgp-web-title {
        font-size: 28px;
    }

    .cgp-web-stats-col {
        flex-direction: column; /* Stack stats vertically on tiny screens */
    }
    
    /* Fix horizontal scroll section to scroll vertically on mobile */
    .horizontal-section {
        height: auto;
    }
    
    .sticky-wrapper {
        position: relative;
        height: auto;
        display: block;
    }
    
    .horizontal-track {
        display: flex;
        flex-direction: column;
        width: 100%;
        padding: 20px;
        gap: 30px;
        transform: none !important; /* Disable JS scroll transform */
    }
    
    .work-item, .work-intro {
        min-width: 100% !important;
        width: 100% !important;
    }
}

* --- DARK CHROME CONTACT SECTION --- */

.cgp-contact-section {
  position: relative;
  background-color: #000;
  padding: 100px 0;
  overflow: hidden;
  font-family: 'Poppins', sans-serif;
  color: #fff;
}

/* 1. Animated Fluid Background Logic */
.cgp-contact-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.cgp-liquid-img {
  position: absolute;
  /* Make it larger than screen to allow movement without edges showing */
  inset: -10%; 
  width: 120%;
  height: 120%;
  background-size: cover;
  background-position: center;
  opacity: 0.5;
  /* Slow breathing movement animation */
  animation: liquidMove 20s infinite alternate cubic-bezier(0.4, 0, 0.2, 1);
}

.cgp-contact-overlay {
  position: absolute;
  inset: 0;
  /* Dark gradient to ensure text readability on left and right */
  background: radial-gradient(circle at 70% 50%, rgba(0,0,0,0.4) 0%, #000000 90%);
}

@keyframes liquidMove {
  0% { transform: scale(1) translate(0, 0); filter: hue-rotate(0deg); }
  100% { transform: scale(1.1) translate(-20px, -10px); filter: hue-rotate(10deg); }
}

/* 2. Layout Grid */
.cgp-contact-split {
  display: grid;
  grid-template-columns: 1fr 1.2fr; /* Info takes less space than form */
  gap: 80px;
  align-items: center;
  position: relative;
  z-index: 2;
}

/* 3. Left Side: Typography & Info */
.cgp-info-block {
  margin-bottom: 35px;
}

.cgp-info-label {
  font-size: 16px;
  font-weight: 700; /* Bold headings */
  color: #fff;
  margin-bottom: 8px;
  letter-spacing: 0.5px;
}

.cgp-info-text, .cgp-info-link {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.7); /* Muted grey text */
  font-weight: 400;
  transition: 0.3s;
}

.cgp-info-link:hover {
  color: #CB9635; /* Gold Accent on hover */
  padding-left: 5px;
}

/* Social Icons (Circles) */
.cgp-social-icons {
  display: flex;
  gap: 15px;
  margin-top: 15px;
}

.cgp-social-btn {
  width: 45px;
  height: 45px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 18px;
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.cgp-social-btn:hover {
  background: #fff;
  color: #000;
  transform: translateY(-5px) scale(1.1);
  box-shadow: 0 0 20px rgba(255, 255, 255, 0.4);
}

.cgp-copyright {
  margin-top: 60px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
  font-weight: 500;
}



/* Responsive */
@media (max-width: 991px) {
  .cgp-contact-split {
    grid-template-columns: 1fr;
    gap: 50px;
  }
  
  .cgp-contact-info {
    text-align: center;
  }
  
  .cgp-social-icons {
    justify-content: center;
  }
  
  .cgp-services-glass-card {
    padding: 35px 25px;
  }
}

/* Force Icon Visibility */
.cgp-social-btn i {
    font-family: "Font Awesome 6 Brands", sans-serif; /* Ensures font loads */
    font-style: normal;
    color: inherit; /* Takes the white color from parent */
    font-size: 18px;
    display: inline-block;
}



/* --- ABOUT US PAGE STYLES (Fixed) --- */

.cgp-about-hero-section {
    background-color: #000;
    padding: 120px 0 160px;
    color: #fff;
    font-family: 'Poppins', sans-serif;
    position: relative;
    overflow: hidden;
    min-height: 100vh;
    display: flex;
    align-items: center;
}

.cgp-about-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    opacity: 0.5;
    pointer-events: none;
}
.cgp-smoke-img { width: 100%; height: 100%; object-fit: cover; }

.cgp-about-split {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 0.9fr 1.3fr; /* Text | Gallery */
    gap: 60px;
    align-items: center;
}

/* Typography */
.cgp-about-title {
    font-size: clamp(40px, 5vw, 64px);
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 30px;
    color: #fff;
}

.cgp-about-desc {
    font-size: 15px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.75);
    max-width: 480px;
}

/* --- THE GALLERY LAYOUT (Fixed Columns) --- */
.cgp-about-grid-col {
    perspective: 1000px; /* 3D Space */
    padding: 20px;
}

.cgp-about-gallery-wrapper {
    display: flex;
    gap: 20px; /* Space between columns */
    justify-content: center;
    
    /* THE TILT: Rotates the whole group */
    transform: rotate(-12deg) scale(0.9) translateX(20px);
    transform-origin: center center;
    transition: transform 0.5s ease;
}

/* Straighten on hover for better visibility */
.cgp-about-gallery-wrapper:hover {
    transform: rotate(-5deg) scale(0.95);
}

/* --- COLUMNS --- */
.cgp-gallery-col {
    display: flex;
    flex-direction: column;
    gap: 20px; /* Space between images in same column */
    width: 33%; /* Equal width columns */
}

/* Staggering the Columns (To match design) */
.col-2 {
    margin-top: -60px; /* Push Middle Column UP */
}
.col-3 {
    margin-top: 30px; /* Push Right Column DOWN */
}

/* --- IMAGE FRAMES --- */
.cgp-frame {
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    background: #2a2a2a; /* Fallback color */
    border: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 20px 40px rgba(0,0,0,0.6);
    transition: transform 0.3s ease;
}

.cgp-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: grayscale(100%); /* B&W effect like design */
    transition: 0.4s;
}

/* Hover Effects */
.cgp-frame:hover {
    transform: scale(1.03);
    z-index: 5;
    border-color: rgba(255, 255, 255, 0.5);
    box-shadow: 0 30px 60px rgba(0,0,0,0.8);
}
.cgp-frame:hover img {
    filter: grayscale(0%); /* Color on hover */
}

/* --- FRAME SIZES (Aspect Ratios) --- */
.frame-landscape {
    aspect-ratio: 4/3; /* Standard rectangle */
}
.frame-portrait {
    aspect-ratio: 3/4; /* Tall rectangle */
}
.frame-portrait-tall {
    aspect-ratio: 9/16; /* Very tall rectangle */
}

/* --- RESPONSIVE --- */
@media (max-width: 991px) {
    .cgp-about-split {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 50px;
    }
    .cgp-about-desc { margin: 0 auto; }
    
    .cgp-about-gallery-wrapper {
        transform: rotate(0deg) scale(1) translateX(0); /* Remove tilt */
        max-width: 600px;
        margin: 0 auto;
    }
    
    /* Remove vertical shifts on tablet */
    .col-2, .col-3 { margin-top: 0; }
}

@media (max-width: 600px) {
    /* Stack columns on mobile */
    .cgp-about-gallery-wrapper {
        flex-wrap: wrap; 
    }
    .cgp-gallery-col {
        width: 48%; /* 2 columns */
    }
    .col-3 {
        width: 100%; /* Last column full width */
        flex-direction: row;
    }
}

/* --- THE GALLERY LAYOUT (Straight Version) --- */
.cgp-about-grid-col {
    padding: 20px;
}

.cgp-about-gallery-wrapper {
    display: flex;
    gap: 20px; /* Space between columns */
    justify-content: center;
    
    /* REMOVED: transform: rotate(...) */
    /* This makes it stand straight */
    transform: none; 
}

/* --- COLUMNS --- */
.cgp-gallery-col {
    display: flex;
    flex-direction: column;
    gap: 20px; /* Space between images in same column */
    width: 32%; /* Equal width columns */
}

/* Staggering (Keeps the masonry look but straight) */
.col-2 {
    margin-top: -50px; /* Push Middle Column UP */
}
.col-3 {
    margin-top: 40px; /* Push Right Column DOWN */
}

/* --- IMAGE FRAMES --- */
.cgp-frame {
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    background: #2a2a2a;
    border: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 15px 30px rgba(0,0,0,0.5);
    transition: transform 0.3s ease;
}

.cgp-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: grayscale(100%);
    transition: 0.4s;
}

/* Hover Effects */
.cgp-frame:hover {
    transform: translateY(-5px); /* Simple lift on hover */
    z-index: 5;
    border-color: rgba(255, 255, 255, 0.5);
    box-shadow: 0 25px 50px rgba(0,0,0,0.7);
}
.cgp-frame:hover img {
    filter: grayscale(0%);
}

/* --- FRAME SIZES --- */
.frame-landscape { aspect-ratio: 4/3; }
.frame-portrait { aspect-ratio: 3/4; }
.frame-portrait-tall { aspect-ratio: 9/16; }

/* --- RESPONSIVE --- */
@media (max-width: 991px) {
    .cgp-about-split {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 50px;
    }
    
    .cgp-about-gallery-wrapper {
        max-width: 600px;
        margin: 0 auto;
    }
    
    /* Remove the vertical shifts on tablets so they align nicely */
    .col-2, .col-3 { margin-top: 0; }
}

@media (max-width: 600px) {
    .cgp-about-gallery-wrapper {
        flex-wrap: wrap; 
    }
    .cgp-gallery-col {
        width: 48%; /* 2 columns on mobile */
    }
    .col-3 {
        width: 100%; /* Last column full width */
        flex-direction: row;
    }
}

/* --- 1. DEFINE THE ENTRANCE ANIMATION --- */
@keyframes cgpOneByOne {
    0% {
        opacity: 0;
        transform: translateY(50px) scale(0.9); /* Start lower and smaller */
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1); /* End in place */
    }
}

/* --- 2. APPLY TO ALL FRAMES --- */
.cgp-frame {
    opacity: 0; /* Hidden by default */
    /* Run animation once, keep final state (forwards) */
    animation: cgpOneByOne 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

/* --- 3. THE "ONE BY ONE" SEQUENCE (Staggered Delays) --- */

/* 1st Image: Left Column, Top */
.col-1 .cgp-frame:nth-child(1) { 
    animation-delay: 0.2s; 
}

/* 2nd Image: Middle Column, Top */
.col-2 .cgp-frame:nth-child(1) { 
    animation-delay: 0.4s; 
}

/* 3rd Image: Right Column, Top */
.col-3 .cgp-frame:nth-child(1) { 
    animation-delay: 0.6s; 
}

/* 4th Image: Left Column, Bottom */
.col-1 .cgp-frame:nth-child(2) { 
    animation-delay: 0.8s; 
}

/* 5th Image: Middle Column, Bottom */
.col-2 .cgp-frame:nth-child(2) { 
    animation-delay: 1.0s; 
}

/* 6th Image: Right Column, Bottom */
.col-3 .cgp-frame:nth-child(2) { 
    animation-delay: 1.2s; 
}

/* Optional: Continuous Floating for the Image Inside */
.cgp-frame img {
    animation: cgpFloat 6s ease-in-out infinite;
}

@keyframes cgpFloat {
    0%, 100% { transform: scale(1.1) translateY(0); } /* Zoomed in slightly so edges don't show */
    50% { transform: scale(1.1) translateY(-10px); }
}


/* --- VIDEO SECTION STYLES --- */

.cgp-video-section {
    background-color: #000;
    padding: 100px 0;
    position: relative;
    overflow: hidden;
}

/* 1. The Wrapper (Frame) */
.cgp-video-wrapper {
    position: relative;
    width: 100%;
    max-width: 1000px; /* Adjust size as needed */
    margin: 0 auto;
    border-radius: 24px;
    overflow: hidden; /* Crops video corners */
    background: #000;
    
    /* Premium Shadow */
    box-shadow: 0 30px 80px rgba(0,0,0,0.8);
    border: 1px solid rgba(255, 255, 255, 0.1);

    /* Entrance Animation */
    opacity: 0;
    animation: cgpVideoReveal 1.2s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

/* 2. The Video */
.cgp-main-video {
    width: 100%;
    height: auto;
    display: block;
    transform: scale(1.01); /* Prevents tiny gaps on edges */
    opacity: 0.9; /* Slight cinematic dim */
    transition: opacity 0.5s;
}

/* Brighten video on hover */
.cgp-video-wrapper:hover .cgp-main-video {
    opacity: 1;
}

/* 3. The Glowing Border Animation */
.cgp-video-border {
    position: absolute;
    inset: 0;
    border-radius: 24px;
    padding: 2px; /* Thickness of the animated border */
    background: linear-gradient(90deg, transparent, rgba(203, 150, 53, 0.5), transparent);
    -webkit-mask: 
       linear-gradient(#fff 0 0) content-box, 
       linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    
    /* Animation */
    background-size: 200% 100%;
    animation: borderShine 4s linear infinite;
}

/* --- ANIMATION KEYFRAMES --- */

/* Entrance Reveal */
@keyframes cgpVideoReveal {
    0% {
        opacity: 0;
        transform: translateY(60px) scale(0.95);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Moving Shine on Border */
@keyframes borderShine {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Responsive */
@media (max-width: 768px) {
    .cgp-video-section {
        padding: 60px 20px;
    }
    .cgp-video-wrapper {
        border-radius: 16px;
    }
}

/* --- SECTION CONTAINER --- */
.cgp-approach-section {
  background-color: #050507; /* Matches your dark theme */
  color: #fff;
  padding: 100px 0;
  font-family: 'Poppins', sans-serif;
  overflow: hidden; /* Prevents glow from spilling over */
}

.cgp-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* --- GRID LAYOUT --- */
.cgp-approach-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr; /* Text takes slightly more space */
  gap: 60px;
  align-items: center;
}

/* --- TYPOGRAPHY --- */
.cgp-subtitle {
  display: block;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 2px;
  color: #CB9635; /* Gold Accent */
  margin-bottom: 16px;
  text-transform: uppercase;
}

.cgp-title {
  font-size: 48px;
  line-height: 1.1;
  font-weight: 700;
  margin-bottom: 30px;
  background: linear-gradient(to right, #fff, #aaa);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.cgp-description p {
  font-size: 16px;
  line-height: 1.8;
  color: #a0a0a0;
  margin-bottom: 24px;
}

.cgp-lead {
  font-size: 20px;
  font-weight: 500;
  color: #fff !important; /* Brighter white for first sentence */
}

.highlight {
  color: #CB9635;
  font-style: italic;
}

/* --- CTA BUTTON --- */
.cgp-btn-arrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  text-decoration: none;
  font-weight: 600;
  color: #fff;
  font-size: 16px;
  transition: color 0.3s;
}

.cgp-btn-arrow span {
  transition: transform 0.3s ease;
}

.cgp-btn-arrow:hover {
  color: #CB9635;
}
.cgp-btn-arrow:hover span {
  transform: translateX(6px);
}

/* --- RIGHT SIDE VISUALS --- */
.cgp-approach-visual {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* 1. Background Glow */
.cgp-glow-circle {
  position: absolute;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(203, 150, 53, 0.15) 0%, rgba(0,0,0,0) 70%);
  border-radius: 50%;
  z-index: 0;
  animation: pulseGlow 4s ease-in-out infinite alternate;
}

/* 2. The Icon Box & Animation */
.cgp-icon-box img {
  width: 100%;
  max-width: 280px; /* Adjust based on your icon size */
  height: auto;
  position: relative;
  z-index: 1;
  filter: drop-shadow(0 10px 20px rgba(0,0,0,0.5));
  
  /* The Floating Animation */
  animation: floatIcon 6s ease-in-out infinite;
}

/* --- ANIMATION KEYFRAMES --- */
@keyframes floatIcon {
  0% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-20px) rotate(2deg); }
  100% { transform: translateY(0px) rotate(0deg); }
}

@keyframes pulseGlow {
  0% { opacity: 0.5; transform: scale(0.8); }
  100% { opacity: 1; transform: scale(1.1); }
}

/* --- SCROLL REVEAL UTILITIES --- */
.reveal-on-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s cubic-bezier(0.5, 0, 0, 1);
}

.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }

/* --- RESPONSIVE --- */
@media (max-width: 900px) {
  .cgp-approach-grid {
    grid-template-columns: 1fr;
    text-align: center;
  }
  
  /* 1. Move the Icon/Visual to the Top */
  .cgp-approach-visual {
    order: -1; /* This magic number pulls it to the very start */
    margin-bottom: 40px; /* Add space between icon and text */
    margin-top: 0;
  }
  .cgp-title {
    font-size: 36px;
  }
  .cgp-lead {
    font-size: 18px;
  }
}

/* --- SECTION LAYOUT --- */
.cgp-glow-visual-section {
  background-color: black; /* Dark Background */
  padding: 100px 0; /* More vertical breathing room */
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden; 
  min-height: 80vh; /* Ensures the section feels substantial/full */
}

.cgp-glow-wrapper {
  position: relative;
  
  /* CHANGED: Make it big and responsive */
  width: 90%; 
  max-width: 1400px; /* Cap it so it doesn't get too crazy on 4k screens */
  height: auto;      /* Let the height adjust naturally */
  
  display: flex;
  justify-content: center;
  align-items: center;
}

/* --- 1. THE GLOW EFFECT --- */
.cgp-glow-effect {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  
  /* CHANGED: Adjusted for a wide landscape image */
  width: 70%; 
  height: 60%; 
  
  background: radial-gradient(circle, rgba(203, 150, 53, 0.25) 0%, rgba(0,0,0,0) 70%);
  border-radius: 50%;
  z-index: 0; 
  
  /* Pulse Animation */
  animation: glowPulse 5s ease-in-out infinite alternate;
}

/* --- 2. THE IMAGE STYLE --- */
.cgp-floating-img {
  /* CHANGED: Ensure it fills the wrapper */
  width: 100%;
  height: auto;
  display: block; /* Removes weird spacing at bottom */
  
  position: relative;
  z-index: 1;
  object-fit: contain;
  filter: drop-shadow(0 20px 40px rgba(0,0,0,0.6)); /* Stronger shadow for depth */
  
  /* Float Animation */
  animation: imgFloat 7s ease-in-out infinite;
}

/* --- ANIMATIONS --- */
@keyframes glowPulse {
  0% { opacity: 0.4; transform: translate(-50%, -50%) scale(0.9); }
  100% { opacity: 0.8; transform: translate(-50%, -50%) scale(1.1); }
}

@keyframes imgFloat {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-15px); } 
  100% { transform: translateY(0px); }
}

/* Mobile Tweak: Reduce padding on small screens */
@media (max-width: 768px) {
  .cgp-glow-visual-section {
    padding: 60px 0;
    min-height: auto;
  }
}