 * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
      font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    }

    body {
      background: #262657;
      color: #fff;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      align-items: center;
      
    }

    /* Navbar */
    header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 30px 10%;
      position: absolute;
      width: 100%;
      z-index: 10;
    }

    .logo {
      font-size: 24px;
      font-weight: 800;
      letter-spacing: 2px;
      background: linear-gradient(45deg, #1d1616, #ff4b2b);
      background-clip: text;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

    nav a {
      color: #a0a5c0;
      text-decoration: none;
      margin-left: 30px;
      font-weight: 500;
      transition: color 0.3s;
    }

    nav a:hover {
      color: #fff;
    }

    a {
      cursor: pointer;
    }
    .title-section {
      text-align: center;
      margin-bottom: 0%;
      max-width: 600px;
    }

    .title-section h1 {
      font-size: 3rem;
      margin-bottom: 15px;
      background: linear-gradient(45deg, #fe1100, #fe4f4f);
      background-clip: text;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

    .title-section p {
      color: #707590;
      font-size: 1.1rem;
    }

    main{
      margin-bottom: 130px;
    }
    /* 3D Hero Section Container */
    .hero {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100vw;
      height: 100vh;
      position: relative;
      margin-top: 90px;
      
      max-width: 1200px;
    }


    .hero-text {
      max-width: 50%;
      margin-top: 70px;
    }

    .hero-text h1 {
      font-size: 4rem;
      line-height: 1.1;
      margin-bottom: 20px;
    }

    .hero-text p {
      color: #a0a5c0;
      font-size: 1.1rem;
      margin-bottom: 20px;
      line-height: 1.6;
    }

    .cta-btn {
      display: inline-block;
      padding: 6px 10px;
      background: linear-gradient(45deg, #0c040615, #08020123);
      color: #421212;
      text-decoration: none;
      font-weight: 600;
      border-radius: 50px;
      box-shadow: 0 10px 20px rgba(255, 65, 108, 0.3);
      transition: transform 0.3s, box-shadow 0.3s;
      margin-bottom: 20px;
    }

    .cta-btn:hover {
      transform: translateY(-3px);
      box-shadow: 0 15px 30px rgba(255, 65, 108, 0.5);
    }

    /* 3D CSS Setup */
    .hero-visual {
      position: relative;
      width: 100%;
      height: 450px;
      perspective: 1000px; /* Establishes depth perception */
    }

   

    .layer-text h3 {
      font-size: 2.5rem;
      font-weight: 800;
      text-shadow: 0 5px 15px rgba(0,0,0,0.5);
      letter-spacing: 1px;
    }

    .ring {
      width: 70px;
      height: 70px;
      border: 8px dashed rgba(255, 255, 255, 0.116);
      border-radius: 50%;
      margin-bottom: 20px;
      animation: spin 25s linear infinite;
    }

    @keyframes spin {
      100% { transform: rotate(360deg); }
    }

    /* Responsive Design */
    @media (max-width: 1200px) {
      .hero {
        flex-direction: column;
        padding-top: 30px;
        text-align: center;
        justify-content: center;
      }
      .hero-text {
        max-width: 100%;
        margin-bottom: 40px;
      }
      .hero-visual {
        width: 80%;
        height: 350px;
      }
      h2 {
        font-size: small;
      }
    }
    /* CSS Grid Configuration */
    .grid-container {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: 5px;
      width: 100%;
      max-width: 1200px;
      margin-top: 200px;
    }

    /* 3D Perspective Context for Each Grid Cell */
    .card-perspective-box {
      height: 400px;
      perspective: 1200px; /* Individual viewing depth distance */
    }

    /* The Moving Element */
    .card-3d {
      width: 100%;
      height: 100%;
      position: relative;
      transform-style: preserve-3d;
      transform: rotateX(0deg) rotateY(0deg);
      transition: transform 0.15s cubic-bezier(0.25, 0.46, 0.45, 0.94);
      will-change: transform;
    }

    /* Base Styling for Layers inside Cards */
    .layer {
      position: absolute;
      inset: 0;
      border-radius: 20px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      padding: 30px;
      pointer-events: none; /* Crucial: stops children from breaking tracking */
    }

    /* Background sheet layer */
    .layer-bg {
      background: linear-gradient(135deg, rgba(255, 65, 109, 0.075) 0%, rgba(255, 75, 43, 0.068) 100%);
      border: 1px solid rgba(255, 255, 255, 0.226);
      transform: translateZ(60px) scale(0.9);
      box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4);
      transition: background 0.3s, border 0.3s;
      z-index: 4;

    pointer-events: none;
    }

    /* Pop out accent graphics layer */
    .layer-graphic {
      transform: translateZ(50px) scale(0.85);
      transition: transform 0.3s ease;
    }

    /* Pop out typography layer */
    .layer-text {
      transform: translateZ(90px);
      text-align: center;
      justify-content: flex-end; /* Pushes content down slightly */
      pointer-events: all;
      color: #ad1313a0;
    }

    /* Interactive Hover Upgrades */
    .card-perspective-box:hover .layer-bg {
      background: rgba(255, 255, 255, 0.04);
      border-color: rgba(255, 255, 255, 0.15);
      box-shadow: 0 25px 50px rgba(0, 0, 0, 0.6);
    }

    .card-image-layer {
    position: absolute;
    inset: 0;

    border-radius: 20px;

    overflow: hidden;

    transform: translateZ(30px) scale(0.9);

    z-index: 2;

    /* Allows horizontal swiping */
    touch-action: pan-y;

    cursor: grab;
}

.card-image-layer:active {
    cursor: grabbing;
}


/* Image container */

.card-image-layer .hero__slides {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    overflow: hidden;
}


/* Individual images */

.card-image-layer .hero__slide {

    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    background-image: var(--img);

    background-size: cover;
    background-position: center;

    opacity: 0;

    transform: translateX(100%);

    transition:
        transform 500ms ease,
        opacity 500ms ease;

    animation: none;

    pointer-events: none;
}


/* Currently visible image */

.card-image-layer .hero__slide.is-active {

    opacity: 1;

    transform: translateX(0);

}


/* Image moving OUT to the left */

.card-image-layer .hero__slide.slide-left {

    opacity: 0;

    transform: translateX(-100%);

}


/* Image moving OUT to the right */

.card-image-layer .hero__slide.slide-right {

    opacity: 0;

    transform: translateX(100%);

}


/* Next image entering from right */

.card-image-layer .hero__slide.enter-right {

    opacity: 1;

    transform: translateX(0);

}


/* Previous image entering from left */

.card-image-layer .hero__slide.enter-left {

    opacity: 1;

    transform: translateX(0);

}

.layer-graphic {
    transform: translateZ(70px) scale(0.85);
    z-index: 5;
}

.layer-text {
    transform: translateZ(90px);
    z-index: 6;
}
    /* Visual Accent Elements per Card Category */
    .icon-sphere {
      width: 100px;
      height: 100px;
      border-radius: 50%;
      background: radial-gradient(circle at 30% 30%, #00f1fe15, #4facfe0e);
      box-shadow: 0 10px 30px rgba(0, 241, 254, 0.116);
      margin-bottom: 40px;
    }

    .icon-torus {
      width: 90px;
      height: 90px;
      border-radius: 50%;
      border: 20px solid #ff416d10;
      box-shadow: 0 10px 30px rgba(255, 65, 109, 0.021);
      margin-bottom: 40px;
    }

    .icon-pyramid {
      width: 0;
      height: 0;
      border-left: 50px solid transparent;
      border-right: 50px solid transparent;
      border-bottom: 90px solid #f9d52317;
      filter: drop-shadow(0 10px 20px rgba(249, 213, 35, 0.123));
      margin-bottom: 40px;
    }

    .layer-text h3 {
      font-size: 1.8rem;
      font-weight: 700;
      margin-bottom: 10px;
      letter-spacing: 0.5px;
    }

    .layer-text p {
      color: #c8cad6;
      font-size: 0.95rem;
      line-height: 1.5;
    }

    .card-perspective-box {
   height: 580px;
      perspective: 1200px;
  /* Stops standard mobile long-press menus from opening when touching the cards */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  
  /* Tells mobile browsers to render graphics using the phone's GPU */
  will-change: transform;
}

.button-group {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-bottom: 20px;
 margin-top: 5px;
  --cols:2;
  grid-template-columns: repeat(var(--cols), minmax(0,1fr));
  
}
.button-group a {
      padding: 6px 10px;
      background: linear-gradient(45deg, #0c040615, #08020123);
      color: #e4d9d9;
      text-decoration: none;
      font-weight: 600;
      border-radius: 50px;
      box-shadow: 0 10px 20px rgba(255, 65, 108, 0.3);
      transition: transform 0.3s, box-shadow 0.3s;
      margin-bottom: 20px;
    }
    .button-group:hover {
      transform: translateY(-3px);
      box-shadow: 0 15px 30px rgba(255, 65, 108, 0.5);
    }
@media (min-width: 10px){ .button-group a{ --cols: 2; } }
@media (min-width: 20px){ .button-group a{ --cols: 2; } }
