     :root {
            --plot-accent: #3f6ac9;      /* blue accent */
            --plot-accent-soft: rgba(37,99,235,0.12);
            --plot-bg: linear-gradient(145deg, #f8fafc, #eef2f6);
            --plot-width: 1100px;       /* inner content max width */
            --plot-blue: #3f6ac9;
            --plot-charcoal: #111827;
            --plot-muted: #6b7280;
            --plot-bg: #f7f9fb;
            --plot-border: #e5e7eb;

        }

         /* Hero Section Base */
         /* .hero-section {
            position: relative;
            overflow: hidden;
            padding-top: 2rem;
            padding-bottom: 4rem;
            background-image: url('../bg-primary.jpg');
            height: 60vh;
            display: flex;
            align-items: center;

        }
        .hero-section::before {
            content: "";
            position: absolute;
            inset: 0;
            pointer-events: none;
            background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" ><filter id="noise" x="0" y="0" width="100%" height="100%"><feTurbulence type="fractalNoise" baseFrequency="0.15" numOctaves="2" stitchTiles="stitch" /></filter><rect width="100%" height="100%" filter="url(%23noise)" opacity="0.03" /></svg>');
            opacity: 0.15;
            z-index: 1;
        }  */

       .hero-section {
            position: relative;
            overflow: hidden;
            min-height: 62vh;

            display: flex;
            align-items: center;
            justify-content: center;

            padding: clamp(3rem, 6vw, 6rem) 2rem;

            /* Soft editorial background */
            background:
                radial-gradient(
                    900px 500px at 50% -20%,
                    rgba(79, 172, 254, 0.18),
                    transparent 70%
                ),
                linear-gradient(
                    180deg,
                    #f9fcff 0%,
                    #f3f9ff 45%,
                    #edf6ff 100%
                );
        }

        /* Ambient light wash */
        .hero-section::before {
            content: "";
            position: absolute;
            inset: 0;

            background:
                linear-gradient(
                    120deg,
                    rgba(255,255,255,0.55),
                    rgba(255,255,255,0.15),
                    rgba(255,255,255,0.45)
                );

            opacity: 0.6;
            pointer-events: none;
        }

        /* Subtle grain for premium texture */
        .hero-section::after {
            content: "";
            position: absolute;
            inset: 0;

            background-image:
                url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");

            pointer-events: none;
            opacity: 0.4;
        }

        /* Keep content pristine */
        .hero-section > * {
            position: relative;
            z-index: 1;
            text-align: center;
        }



        /* @media (min-width: 360px) and (max-width: 740px) {
            .hero-section {
                padding-top: 12rem;
                padding-bottom: 12rem;
                height: 70vh;

            }
        }
        @media (min-width: 768px) {
            .hero-section {
                padding-bottom: 6rem;
            }
        }
        @media (min-width: 640px) {
            .hero-section {
                padding-top: 1rem;
                padding-bottom: 6rem;
            }
        } */

        @media (max-width: 1200px) {
            .hero-section {
                display: flex;
                align-items: center;      /* vertical center */
                justify-content: center;  /* horizontal center */

                padding: 4rem 1.5rem;
                max-height: 100vh;
                text-align: center;
            }
        }

        @media (min-width: 1024px) { /* lg:py-32 */
            .hero-section {
                padding-top: 8rem;
                padding-bottom: 8rem;
                height: 100vh;
            }
        }

        .hero-container {
            max-width: 1280px; /* approximates Tailwind's container */
            margin-left: auto;
            margin-right: auto;
            padding-left: 1rem; /* px-4 */
            padding-right: 1rem; /* px-4 */
        }

        .hero-content-wrapper {
            display: flex;
            flex-direction: column; /* flex-col */
            align-items: center;
            justify-content: space-between;
            gap: 3rem; /* gap-12 */
        }
        @media (min-width: 1024px) { /* lg:flex-row */
            .hero-content-wrapper {
                flex-direction: row;
            }
        }

        /* Left Column - Text Content */
        .hero-left-column {
            width: 100%; /* w-full */
            color: #2D3748; /* text-gray-800 */
            text-align: center;
        }
        .hero-left-column h1 {
            color: #002d6b;
        }
        @media (min-width: 1024px) { /* lg:w-1/2 lg:text-left */
            .hero-left-column {
                width: 50%;
                text-align: left;
            }
        }

        .hero-headline {
            font-size: 2rem; /* Reduced from 2.25rem (text-4xl) */
            font-weight: 800; /* font-extrabold */
            line-height: 1.25; /* leading-tight */
            margin-bottom: 1.5rem; /* mb-6 */
        }
        @media (min-width: 768px) { /* md:text-5xl */
            .hero-headline {
                font-size: 2.75rem; /* Reduced from 3rem */
            }
        }
        @media (min-width: 1024px) { /* lg:text-6xl */
            .hero-headline {
                font-size: 3.25rem; /* Reduced from 3.75rem */
            }
        }

        .hero-highlight-text {
            color: #3f6ac9; /* text-blue-600 */
        }

        .hero-description {
            font-size: 1rem; /* Reduced from 1.125rem (text-lg) */
            opacity: 0.9; /* opacity-90 */
            margin-bottom: 2rem; /* mb-8 */
            max-width: 36rem; /* max-w-xl */
            margin-left: auto; /* mx-auto */
            margin-right: auto; /* mx-auto */
        }
        @media (min-width: 768px) { /* md:text-xl */
            .hero-description {
                font-size: 1.125rem; /* Reduced from 1.25rem */
            }
        }
        @media (min-width: 1024px) { /* lg:mx-0 */
            .hero-description {
                margin-left: 0;
                margin-right: 0;
            }
        }

        .hero-buttons-container {
            display: flex;
            flex-direction: column; /* flex-col */
            align-items: center;
            justify-content: center; /* justify-center */
            gap: 1rem; /* gap-4 */
        }
        @media (min-width: 640px) { /* sm:flex-row */
            .hero-buttons-container {
                flex-direction: row;
            }
        }
        @media (min-width: 1024px) { /* lg:justify-start */
            .hero-buttons-container {
                justify-content: flex-start;
            }
        }

        .hero-button-primary {
            background-color: #3f6ac9; /* bg-blue-600 */
            color: #FFFFFF; /* text-white */
            font-weight: 700; /* font-bold */
            padding: 0.75rem 2rem; /* py-3 px-8 */
            border-radius: 9999px; /* rounded-full */
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); /* shadow-lg */
            transition-property: all; /* transition-all */
            transition-duration: 300ms; /* duration-300 */
            transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); /* transform */
            transform: scale(1);
        }
        .hero-button-primary:hover {
            background-color: #1D4ED8; /* hover:bg-blue-700 */
            transform: scale(1.05); /* hover:scale-105 */
        }

        .hero-button-secondary {
            border-width: 2px; /* border-2 */
            border-color: #3f6ac9; /* border-blue-600 */
            color: #3f6ac9; /* text-blue-600 */
            font-weight: 700; /* font-bold */
            padding: 0.75rem 2rem; /* py-3 px-8 */
            border-radius: 9999px; /* rounded-full */
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); /* shadow-lg */
            transition-property: all; /* transition-all */
            transition-duration: 300ms; /* duration-300 */
            transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); /* transform */
            transform: scale(1);
        }
        .hero-button-secondary:hover {
            background-color: #3f6ac9; /* hover:bg-blue-600 */
            color: #FFFFFF; /* hover:text-white */
            transform: scale(1.05); /* hover:scale-105 */
        }

        .hero-button-icon {
            margin-right: 0.5rem; /* mr-2 */
        }

        /* Right Column - Image Showcase */
        .hero-right-column {
            width: 100%; /* w-full */
            display: none; /* hidden */
            justify-content: center;
            margin-top: 3rem; /* mt-12 */
        }
        @media (min-width: 1024px) { /* lg:w-1/2 lg:flex lg:justify-end lg:mt-0 */
            .hero-right-column {
                width: 50%;
                display: flex;
                justify-content: flex-end;
                margin-top: 0;
            }
        }

        .hero-image-container {
            position: relative;
            width: 100%; /* w-full */
            max-width: 32rem; /* max-w-lg */
            /* image-hover-effect */
            transform: rotate(3deg);
            transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94); /* Smooth cubic bezier */
        }
        .hero-image-container:hover {
            transform: rotate(0deg); /* image-hover-effect:hover */
        }
        @media (min-width: 1024px) { /* lg:max-w-none */
            .hero-image-container {
                max-width: none;
            }
        }

        .hero-image {
            width: 80%; /* w-full */
            height: auto; /* h-auto */
            border-radius: 0.75rem; /* rounded-xl */
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); /* shadow-2xl */
            border-width: 4px; /* border-4 */
            border-color: #FFFFFF; /* border-white */
            object-fit: cover; /* object-cover */
            margin-left: 100px;
        }

        /* Additional styles for button focus rings, if needed (retained from previous) */
        .btn-focus-ring:focus {
            box-shadow: 0 0 0 0.25rem rgba(0, 86, 179, 0.4); /* Blue focus ring for accessibility */
        }

       /* Orbit container */
.orbit-container {
    position: absolute;
    top: 55%;
    left: 55%;
    width: 0;  /* no size needed, acts as rotation center */
    height: 0;
    pointer-events: none;
    z-index: 1;

    animation: spin 12s linear infinite;
}

/* Spins the whole container */
@keyframes spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

/* Wrapper sets the angle */
.orbit-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    transform-origin: 0 0;
}

/* Actual icon styles */
.orbit-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: white;
    color: #3f6ac9;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
     box-shadow: 0 0 10px rgba(255,255,255,0.3);
      /* position: absolute;
  top: 50%;
  left: 50%;
  width: 36px;
  height: 36px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  background: rgba(255,255,255,0.15);
  border-radius: 50%;
  backdrop-filter: blur(3px);
  box-shadow: 0 0 10px rgba(255,255,255,0.3);
  transform: translate(-50%, -50%);
  animation: pulse 4s ease-in-out infinite; */

    animation: pulseOrbit 12s ease-in-out infinite;
}

/* Collapse to center + explode outward */
@keyframes pulseOrbit {
    0%, 20%   { transform: translateX(200px); }
    40%       { transform: translateX(0px); }
    50%       { transform: translateX(0px); }
    70%, 100% { transform: translateX(200px); }
}





#templates {
    padding: 100px 0;
    background: #f7f9ff; /* Adjusted background for a nicer gradient effect */
    overflow: hidden;
}

#templates .carousel-header {
    text-align: center;
    margin-bottom: 30px;
}

#templates .carousel-header h2 {
    font-weight: bold;
    font-size: 2rem;
    color: #002d6b;
}

#templates .carousel-header p {
    color: #777;
    font-size: 1rem;
}

/* Carousel track */
.carousel-track-container {
    /* Critical changes for auto-sliding */
    display: flex;
    gap: 20px;
    overflow-x: hidden; /* Prevent manual scroll */
    white-space: nowrap; /* Keep all slides on one line */
    width: fit-content; /* Container width expands to fit all slides */

    /* Apply CSS animation */
    animation: slide 60s linear infinite; /* Adjust time for speed (60s is slow) */

    position: relative;
    padding: 20px 0;
}

/* Pause animation on hover */
.carousel-track-container:hover {
    animation-play-state: paused;
}

/* Keyframes for the infinite slide effect */
@keyframes slide {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* Gradient edges (Adjusted background to match new section background) */
.carousel-track-container::before,
.carousel-track-container::after {
    content: "";
    position: absolute; /* Changed to absolute to float over the track */
    top: 0;
    height: 100%;
    width: 60px;
    z-index: 2;
    pointer-events: none;
}
.carousel-track-container::before {
    left: 0;
    background: linear-gradient(to right, #f7f9ff, transparent);
}
.carousel-track-container::after {
    right: 0;
    background: linear-gradient(to left, #f7f9ff, transparent);
}


/* Template slides */
.template-slide {
    flex: 0 0 auto;
    width: 210px;
    height: 300px;
    border-radius: 2px;
    overflow: hidden;
    background: white;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    display: flex;                /* Center image properly */
    align-items: center;
    justify-content: center;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

/* The image stays 300×300, fully visible, contained, not cropped */
.template-slide img {
    width: 450px;
    height: 300px;
    object-fit: contain;          /* Prevents cropping */
    display: block;
}


/* Active slide logic must now be handled by JS on hover/click or removed */
/* Removed the .active class styling since there is no center slide logic anymore */
.template-slide:hover { /* Use hover for a visual effect */
    transform: scale(1.05); /* Slightly less dramatic scale */
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
    z-index: 3;
}

/* Removed all range slider and signifier styles */



        /* ===== Features Section ===== */
        .plot-features-section {
            position: relative; /* Needed for ::before positioning */
            padding: 5rem 1rem;
            z-index: 1; /* Keeps content above ::before */
            color: #fff; /* Example: text stays visible on dark background */
        }

        .plot-features-section::before {
            content: "";
            position: absolute;
            inset: 0;
            background:
                linear-gradient(#3f6ac9, rgba(29, 59, 102, 0.8)),
                url('../bg3.jpg') center/cover no-repeat;
            z-index: -1;
        }


        .plot-features-container {
            max-width: 1200px;
            margin: 0 auto;
            }

        .plot-features-header {
        text-align: center;
        margin-bottom: 3rem;
        }

        .plot-features-header h2 {
        font-size: 2.2rem;
        font-weight: 700;
        color: white;
        margin-bottom: 0.75rem;
        }

        .plot-features-header p {
        font-size: 1rem;
        color: white;
        }

        .plot-features-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 2rem;
        }

        .plot-feature-card {
            /* background: rgba(255, 255, 255, 0.7); */
            background-color:white;
            backdrop-filter: blur(10px);
            border-radius: 2.5rem 0 2.5rem 0; /* Top-left & bottom-right rounded */
            padding: 2rem;
            text-align: center;
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.06);
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
            }

            .plot-feature-card::before {
                content: "";
                position: absolute;
                left: 0;
                top: 0;
                bottom: 0;
                width: 10px;
                background: linear-gradient(180deg, var(--plot-accent), #00d4ff);
                transform: skewX(-18deg) translateX(-4px);
                border-top-left-radius: 2rem;
                border-bottom-left-radius: 2rem;
                box-shadow: 0 6px 20px rgba(37,99,235,0.12);
            }

            .plot-feature-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 12px 35px rgba(0, 0, 0, 0.12);
            }

            .plot-feature-card:hover::before {
            opacity: 1;
            }

            .plot-feature-icon {
            width: 70px;
            height: 70px;
            border-radius: 50%;
            background: linear-gradient(135deg, #007bff, #00d4ff);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.6rem;
            color: #fff;
            margin: 0 auto 1.2rem;
            box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
            transition: all 0.3s ease;
            }

            .plot-feature-card:hover .plot-feature-icon {
            transform: scale(1.1) rotate(5deg);
            }

            .plot-feature-card h5 {
            font-size: 1.1rem;
            font-weight: 600;
            color: #111827;
            margin-bottom: 0.6rem;
            }

            .plot-feature-card p {
            font-size: 0.95rem;
            color: #6b7280;
            line-height: 1.5;
            }


/* Background styling with gradient + subtle noise */
    #how-it-works {
      font-family: 'Inter', sans-serif;
      padding: 5rem 1rem;
      background: linear-gradient(145deg, #f8fafc, #eef2f6);
      position: relative;
      overflow: hidden;
    }
    #how-it-works::before {
      content: "";
      position: absolute;
      top: 0; left: 0;
      width: 100%; height: 100%;
      background-image: url('https://www.transparenttextures.com/patterns/noise.png');
      opacity: 0.05;
    }
    #how-it-works::after {
      content: "";
      position: absolute;
      top: -20%; left: -20%;
      width: 200%; height: 200%;
      background: radial-gradient(circle at 20% 20%, rgba(0,123,255,0.07), transparent 50%);
      z-index: 0;
    }

    .how-it-works-container {
      max-width: 72rem;
      margin: auto;
      position: relative;
      z-index: 1;
    }

    .how-it-works-header {
      text-align: center;
      margin-bottom: 4rem;
    }
    .how-it-works-header h2 {
      font-size: clamp(2rem, 5vw, 3rem);
      font-weight: 800;
      color: #111827;
    }
    .how-it-works-header p {
      font-size: clamp(1rem, 2vw, 1.25rem);
      color: #4b5563;
      margin-top: 0.75rem;
    }

    /* Steps layout */
    #how-it-works-steps {
      display: flex;
      flex-direction: column;
      gap: 7rem;
    }

    .how-it-works-step {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 2rem;
    }
    .how-it-works-step.reverse {
      flex-direction: column-reverse;
    }
    @media (min-width: 768px) {
      .how-it-works-step {
        flex-direction: row;
        gap: 4rem;
      }
      .how-it-works-step.reverse {
        flex-direction: row-reverse;
      }
    }

    .how-it-works-step-content {
      flex: 1;
      text-align: center;
    }
    @media (min-width: 768px) {
      .how-it-works-step-content {
        text-align: left;
      }
      .how-it-works-step.reverse .how-it-works-step-content {
        text-align: right;
      }
    }
    .how-it-works-step-content h3 {
      font-size: clamp(1.5rem, 3vw, 1.875rem);
      font-weight: 700;
      color: #111827;
      margin-bottom: 0.75rem;
    }
    .how-it-works-step-content p {
      font-size: 1.125rem;
      color: #374151;
      line-height: 1.625;
    }

    /* Modern angled step cards with number badge */
    .step-card {
      background: white;
      padding: 1rem;
      border-radius: 2rem 0 2rem 0;
      box-shadow: 0 15px 35px rgba(0,0,0,0.08);
      position: relative;
      overflow: hidden;
      max-width: 26rem;
      transition: transform 0.3s ease, box-shadow 0.3s ease;
      border: 2px solid rgba(0,123,255,0.05);
    }
    .step-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 25px 50px rgba(0,0,0,0.15);
      border-color: rgba(0,123,255,0.15);
    }
    .step-card img {
      width: 100%;
      border-radius: 1rem;
    }
    .step-number {
      position: absolute;
      top: -5px;
      left: -5px;
      background: linear-gradient(135deg, #007bff, #00d4ff);
      color: white;
      font-size: 1.5rem;
      font-weight: bold;
      width: 45px;
      height: 45px;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      box-shadow: 0 4px 15px rgba(0,123,255,0.4);
    }

    /* Animation reveal */
    .reveal-left, .reveal-right {
      opacity: 0;
      transform: translateY(30px);
      transition: all 0.8s ease;
    }
    .reveal-left.active, .reveal-right.active {
      opacity: 1;
      transform: translateY(0);
    }


    .step-connector {
        display: none;
        }
        @media (min-width: 768px) {
        .step-connector {
            display: block;
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            z-index: 0;
        }
        }



        /* ===== Live Counter Section ===== */
    /* ===== Counter Section ===== */


.plot-number-counter-section {
  position: relative; /* important so ::before layers correctly */
  display: flex;
  justify-content: center;
  padding: 3rem 1rem;
  background-color: #1d3b66; /* fallback if image fails */
  overflow: hidden;
}

.plot-number-counter-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(29, 59, 102, 0.8), rgba(29, 59, 102, 0.8)), /* dark tint overlay */
    url('../19312.jpg') center/cover no-repeat;
  z-index: 0;
}


.plot-number-counter-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #f8f8f8;
  padding: 2rem;
  border-radius: 2.5rem 0 2.5rem 0;
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
  position: relative;
  overflow: hidden;
}

/* Background noise texture */
.plot-number-counter-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg width='160' height='160' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23cccccc' fill-opacity='0.06'%3E%3Ccircle cx='2' cy='2' r='2'/%3E%3C/g%3E%3C/svg%3E");
  z-index: 0;
}

/* Decorative shapes */
.plot-number-counter-card::after {
  content: "";
  position: absolute;
  top: -30px;
  right: -30px;
  width: 120px;
  height: 120px;
  background: rgba(0, 132, 255, 0.1);
  border-radius: 50%;
  z-index: 0;
}

.plot-number-left,
.plot-number-right {
  position: relative;
  z-index: 1;
}

.plot-number-display {
  display: flex;
  justify-content: center;
  gap: 0.4rem;
  margin-bottom: 1rem;
}

.plot-digit {
  background: #1d3b66;
  width: 50px;
  height: 70px;
  overflow: hidden;
  border-radius: 0.3rem;
  position: relative;
}

.plot-digit-inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transition: transform 0.4s ease-in-out;
}

.plot-digit-inner span {
  display: block;
  height: 70px;
  line-height: 70px;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  color: #fff;
}

.plot-number-text {
  font-size: 1.5rem;
  max-width: 350px;
  margin: 0 auto;
  line-height: 1.4;
  color: #0a2342;
  font-weight: 600;
  text-align: center;
}

/* Desktop layout */
@media (min-width: 768px) {
  .plot-number-counter-card {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: 2rem 3rem;
  }

  .plot-number-left {
    margin-right: 2rem;
  }

  .plot-number-text {
    text-align: left;
  }
}





  /* Section: full width gradient background with subtle noise */
  .plot-faq-section {
    width: 100%;
    background: var(--plot-bg);
    position: relative;
    padding: 3.5rem 1rem;
    box-sizing: border-box;
    overflow: visible;
  }
  /* subtle SVG dot/noise overlay (very light) */
  .plot-faq-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cg fill='%23999' fill-opacity='0.03'%3E%3Ccircle cx='2' cy='2' r='2'/%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
    z-index: 0;
  }

  /* inner centered container */
  .plot-faq-inner {
    max-width: var(--plot-width);
    margin: 0 auto;
    position: relative;
    z-index: 2;
  }



  .plot-faq-header {
    text-align: center;
    margin-bottom: 2rem;
  }
  .plot-faq-header h2 {
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
    font-size: clamp(1.6rem, 2.6vw, 2.25rem);
    font-weight: 800;
    color: #002d6b;
    margin: 0;
  }
  .plot-faq-sub {
    color: #475569;
    margin-top: 0.5rem;
    font-size: 1rem;
  }

  /* Accordion container */
  .plot-faq-accordion {
    display: grid;
    gap: 1rem;
  }

  /* FAQ item: wrapper provides active state */
  .plot-faq-item {
    position: relative;
  }

  /* THE QUESTION (card-like button with very visible edge) */
  .plot-faq-question {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    text-align: left;
    cursor: pointer;
    border: none;
    background: #ffffff;
    padding: 1.25rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-radius: 2rem 0 2rem 0;            /* angled/rounded top-left & bottom-right */
    box-shadow: 0 10px 28px rgba(12, 22, 40, 0.06);
    position: relative;
    z-index: 2;
    transition: transform 0.28s ease, box-shadow 0.28s ease;
    font-weight: 600;
    color: #0f1724;
    font-size: 1rem;
    overflow: visible;
  }

  /* left ribbon / visible edge (angled using skew) */
  .plot-faq-question::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 10px;
    background: linear-gradient(180deg, var(--plot-accent), #00d4ff);
    transform: skewX(-18deg) translateX(-4px);
    border-top-left-radius: 2rem;
    border-bottom-left-radius: 2rem;
    box-shadow: 0 6px 20px rgba(37,99,235,0.12);
  }

  /* subtle right corner notch to emphasize shape */
  .plot-faq-question::after {
    content: "";
    position: absolute;
    right: -20px;
    top: 50%;
    transform: translateY(-50%) rotate(18deg);
    width: 40px;
    height: 40px;
    background: radial-gradient(circle at 30% 30%, rgba(0,0,0,0.04), transparent 40%);
    border-radius: 8px;
    opacity: 0.15;
    pointer-events: none;
  }

  .plot-faq-question .plot-faq-question-title {
    display: block;
    flex: 1;
    padding-left: 0.75rem; /* offset from the left ribbon */
  }

  .plot-faq-question .plot-faq-question-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: transparent;
    color: var(--plot-accent);
    transition: transform 0.28s ease;
    flex-shrink: 0;
  }

  /* answer container (hidden by default) */
  .plot-faq-answer {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.45s cubic-bezier(.2,.9,.25,1), padding 0.25s ease;
    background: linear-gradient(180deg, rgba(255,255,255,0.9), rgba(255,255,255,0.95));
    border-radius: 0 0 1.25rem 0;
    box-shadow: 0 6px 18px rgba(12, 22, 40, 0.04);
    margin-top: -6px; /* visually tuck under the question card */
    padding: 0 1.25rem; /* padding-top will be animated via active state */
    z-index: 1;
  }

  .plot-faq-answer p {
    margin: 1rem 0;
    color: #334155;
    line-height: 1.6;
  }

  /* ACTIVE state (open) - control via JS by toggling .active on .plot-faq-item */
  .plot-faq-item.active .plot-faq-question {
    transform: translateY(-6px);
    box-shadow: 0 22px 42px rgba(12, 22, 40, 0.10);
  }
  .plot-faq-item.active .plot-faq-question::before {
    box-shadow: 0 10px 30px rgba(37,99,235,0.16);
    width: 12px;
  }

  .plot-faq-item.active .plot-faq-question .plot-faq-question-icon {
    transform: rotate(180deg);
    color: #0f1724;
  }

  .plot-faq-item.active .plot-faq-answer {
    padding-top: 1rem;
    padding-bottom: 1.15rem;
    /* max-height will be set dynamically by JS to the content height */
  }

  /* small screens: slightly smaller radii and font sizes */
  @media (max-width: 768px) {
    .plot-faq-inner { padding: 0 1rem; }
    .plot-faq-question { padding: 1rem; border-radius: 1.2rem; font-size: 0.98rem; }
    .plot-faq-question::before { width: 8px; transform: skewX(-18deg) translateX(-3px); }
    .plot-faq-answer { border-radius: 0 0 1rem 0; margin-top: -5px; }
    .plot-faq-header h2 { font-size: 1.5rem; }
  }

  /* wide screens: split two-column layout for FAQ items */
  @media (min-width: 920px) {
    .plot-faq-accordion {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.25rem;
    }
  }




  /* featured style */
  /* ============ SECTION ============ */
/* =========================================
   SECTION STYLE (Background & Padding)
   ========================================= */
/* =========================================
   SECTION WITH NEW BACKGROUND
   ========================================= */
/* ===========================================
   Plotresume — Interactive Features (No Image)
   Dark Blue Gradient + Floating Circles
   (Drop-in replacement for your current bg)
   =========================================== */

.plot-interactive-features {
    position: relative;
    padding: 5.5rem 1.5rem;
    height: auto;
    overflow: hidden;

    /* Deep navy base + subtle depth */
    background:
        radial-gradient(1200px 700px at 20% 15%, rgba(78, 131, 255, 0.22), rgba(0,0,0,0) 60%),
        radial-gradient(900px 600px at 85% 25%, rgba(90, 214, 255, 0.14), rgba(0,0,0,0) 55%),
        radial-gradient(1000px 800px at 45% 90%, rgba(156, 92, 255, 0.13), rgba(0,0,0,0) 60%),
        linear-gradient(180deg, #071a3a 0%, #06122a 60%, #040b1a 100%);
}

/* Subtle texture overlay (no images) */
.plot-interactive-features::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.55;
    background:
        radial-gradient(1px 1px at 20% 30%, rgba(255,255,255,0.20) 0 1px, transparent 2px),
        radial-gradient(1px 1px at 60% 70%, rgba(255,255,255,0.16) 0 1px, transparent 2px),
        radial-gradient(1px 1px at 75% 20%, rgba(255,255,255,0.14) 0 1px, transparent 2px),
        radial-gradient(1px 1px at 35% 85%, rgba(255,255,255,0.10) 0 1px, transparent 2px),
        radial-gradient(1px 1px at 90% 55%, rgba(255,255,255,0.12) 0 1px, transparent 2px);
    mix-blend-mode: soft-light;
}

/* Floating circles layer */
.plot-interactive-features::after {
    content: "";
    position: absolute;
    inset: -120px;
    pointer-events: none;
    background:
        /* Top-left cluster */
        radial-gradient(circle 220px at 12% 18%, rgba(105, 160, 255, 0.18) 0 60%, rgba(105,160,255,0) 61%),
        radial-gradient(circle 90px  at 22% 12%, rgba(90, 214, 255, 0.16) 0 60%, rgba(90,214,255,0) 61%),
        radial-gradient(circle 140px at 26% 28%, rgba(170, 120, 255, 0.14) 0 60%, rgba(170,120,255,0) 61%),

        /* Mid-right cluster */
        radial-gradient(circle 260px at 88% 22%, rgba(90, 214, 255, 0.14) 0 60%, rgba(90,214,255,0) 61%),
        radial-gradient(circle 120px at 78% 34%, rgba(105, 160, 255, 0.16) 0 60%, rgba(105,160,255,0) 61%),
        radial-gradient(circle 85px  at 92% 40%, rgba(170, 120, 255, 0.12) 0 60%, rgba(170,120,255,0) 61%),

        /* Bottom-left cluster */
        radial-gradient(circle 320px at 18% 88%, rgba(170, 120, 255, 0.12) 0 58%, rgba(170,120,255,0) 59%),
        radial-gradient(circle 140px at 30% 78%, rgba(90, 214, 255, 0.12) 0 58%, rgba(90,214,255,0) 59%),

        /* Bottom-right cluster */
        radial-gradient(circle 300px at 88% 86%, rgba(105, 160, 255, 0.12) 0 58%, rgba(105,160,255,0) 59%),
        radial-gradient(circle 120px at 76% 92%, rgba(90, 214, 255, 0.10) 0 58%, rgba(90,214,255,0) 59%);

    filter: blur(0px);
    opacity: 0.95;
    animation: plot-bg-float 18s ease-in-out infinite;
    transform: translate3d(0,0,0);
}

/* Keep your content above the decorations */
.plot-interactive-features > * {
    position: relative;
    z-index: 1;
}

/* Optional: improve text contrast if needed */
.plot-interactive-features .plot-section-header h2,
.plot-interactive-features .plot-section-header p {
    color: rgba(255, 255, 255, 0.92);
}

/* Gentle drifting for the circles */
@keyframes plot-bg-float {
    0%   { transform: translate3d(0px, 0px, 0); }
    50%  { transform: translate3d(-18px, 14px, 0); }
    100% { transform: translate3d(0px, 0px, 0); }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    .plot-interactive-features::after {
        animation: none;
    }
}


/* ---------- SECTION HEADER ---------- */
.plot-section-header {
    text-align: center;
    margin-bottom: 3.5rem;
    color: #fff;
}

.plot-section-header h2 {
    font-weight: 700;
    font-size: 2rem;
    color: #ffffff;
    margin-bottom: .5rem;
}

.plot-section-header p {
    color: #e7ecf7;
    font-size: 1rem;
    max-width: 600px;
    margin: 0 auto;
}


/* =========================================
   LAYOUT
   ========================================= */
.plot-align-container {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    position: relative;
}


/* =========================================
   LADY IMAGE (unchanged)
   ========================================= */
.plot-lady-card {
    background: rgba(255,255,255,0.25);
    border: 1px solid rgba(255,255,255,0.35);
    backdrop-filter: blur(6px);
    padding: 1.6rem;
    border-radius: 20px;
    box-shadow: 0 20px 55px rgba(0,0,0,0.25);
}

.plot-lady-image {
    width: 100%;
    max-width: 420px;
    display: block;
}


/* =========================================
   NEW CARD WRAPPER
   ========================================= */
.plot-cards-wrapper {
    position: absolute;
    top: 8%;
    display: flex;
    flex-direction: column;
    gap: 18px;
    z-index: 5;
}


/* =========================================
   MODERN INTERACTIVE CARDS
   ========================================= */
.plot-feature-card {
    width: 480px;
    padding: 1.1rem 1.4rem 1.1rem 2.6rem;

    background: rgba(255, 255, 255, 0.22);
    backdrop-filter: blur(18px);
    border: 1px solid rgba(255,255,255,0.28);

    border-radius: 14px;

    display: flex;
    flex-direction: column;
    gap: 3px;

    box-shadow:
        0 12px 28px rgba(0, 0, 0, 0.15),
        inset 0 0 0 0 rgba(255,255,255,0.4);

    opacity: 0;
    transform: translateX(80px); /* start further right */
    transition: opacity .8s ease, transform .8s ease;
}

.plot-feature-card.is-visible {
    opacity: 1;
    transform: translateX(0);
}

/* Slight hover lift */
.plot-feature-card:hover {
    transform: translateX(0) translateY(-4px);
    box-shadow: 0 18px 36px rgba(0,0,0,.25);
}


/* =========================================
   SOFT GLOW DOT
   ========================================= */
.plot-feature-card::before {
    content: "";
    position: absolute;
    top: 1rem;
    left: .95rem;
    width: 12px;
    height: 12px;
    border-radius: 50%;

    background: #fff;
    box-shadow:
        0 0 6px rgba(255,255,255,0.9),
        0 0 12px rgba(63,106,201,0.3);
}


/* =========================================
   TEXT STYLING
   ========================================= */
.plot-card-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: -0.01em;
}

.plot-card-desc {
    font-size: .92rem;
    color: #eef1f7;
    line-height: 1.35;
    opacity: .95;
}


/* =========================================
   ANIMATION WHEN ENTERING VIEW
   ========================================= */
.plot-feature-card.is-visible {
    opacity: 1;
    transform: translateX(0);
}


/* =========================================
   TABLET RESPONSIVE
   ========================================= */
@media (max-width: 992px) {

    .plot-align-container {
        flex-direction: column;
        align-items: center;
    }

    .plot-cards-wrapper {
        position: relative;
        top: 1.5rem;
        left: 0 !important;
        align-items: center;
    }

    .plot-feature-card {
        width: 90%;
        max-width: 500px;
    }
}


/* =========================================
   MOBILE RESPONSIVE — NEW LOOK
   ========================================= */
@media (max-width: 768px) {

    .plot-lady-card {
        max-width: 290px;
        margin: 0 auto;
    }

    .plot-cards-wrapper {
        position: relative;
        top: -1rem;
        align-items: center;
        gap: 16px;
    }

    .plot-feature-card {
        width: 100%;
        max-width: 330px;
        padding: 1rem 1.2rem 1rem 2.5rem;
    }

    .plot-feature-card::before {
        width: 10px;
        height: 10px;
        left: .8rem;
    }

    .plot-card-title {
        font-size: 1rem;
    }
}


