/* ==========================================================================
   Page Specific & Reusable Components
   ========================================================================== */

/* Hero Section */
.hero {
    padding: 6rem 0 8rem;
    position: relative;
    overflow: hidden;
    height: 120vh;
    /* Removed the radial gradient to show the video behind */
}

/* Hero Centered Variant */
.hero-centered {
    height: 600px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

/* Video Background Styles */
.hero-video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: 0;
    transform: translateX(-50%) translateY(-50%);
    object-fit: cover;
}

/* Hero Overlay Scrim - Removed for 100% video visibility */
.hero-overlay-scrim {
    display: none;
}

/* ==========================================================================
   TASKFORCE Redesign Specifics
   ========================================================================== */

/* Navbar Adjustments */
.navbar-transparent {
    background: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    position: absolute;
    /* Float over hero */
    width: 100%;
}

.taskforce-logo {
    font-size: 1.8rem;
    font-weight: 900;
    font-style: italic;
    letter-spacing: -1px;
    text-transform: uppercase;
}

.text-white {
    color: #ffffff !important;
}

.text-red {
    color: #e62020 !important;
}

.text-uppercase {
    text-transform: uppercase;
}

.taskforce-nav .nav-link {
    color: #ffffff;
    font-weight: 600;
    font-size: 0.9rem;
    letter-spacing: 0.5px;
}

.taskforce-nav .nav-link:hover {
    color: #e62020;
}

.text-emerald {
    color: #f9d253;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

.text-emerald {
    color: #f9d253;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

/* Hero Section Taskforce Container Override */
.hero-taskforce .container {
    max-width: 1600px;
    /* Pushes content even further left on ultra-wide screens */
}

/* Hero Section */
.hero-taskforce {
    position: relative;
    padding: 0;
    height: calc(100vh - 72px);
    /* Fit exactly in viewport, accounting for navbar */
    min-height: 550px;
    display: flex;
    align-items: center;
    background-color: #010408;
    /* Fallback */
    overflow: hidden;
}

.hero-dark-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #010408 0%, rgba(1, 4, 8, 0.85) 35%, transparent 60%);
    z-index: 1;
}

.hero-content-wrapper {
    position: relative;
    z-index: 10;
    padding: 0;
    /* Let flexbox center it vertically */
    max-width: 900px;
}

.hero-title-italic {
    font-size: clamp(3rem, 6vw, 5rem);
    font-weight: 900;
    font-style: italic;
    line-height: 1.05;
    letter-spacing: -2px;
    color: #ffffff;
    margin-bottom: 2rem;
    text-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
}

.dot-cyan {
    color: #00d2ff;
}

.hero-subtitle-box {
    margin-bottom: 3rem;
    max-width: 500px;
    color: #ffffff;
    font-size: 1.1rem;
    line-height: 1.6;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.hero-actions-slanted {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
}

/* Slanted Buttons (Transformed to Glass Buttons) */
.btn-slanted {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.9rem 2rem;
    font-weight: 600;
    font-size: 1.05rem;
    text-transform: uppercase;
    color: #ffffff !important;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
    
    background: rgba(255, 255, 255, 0.25) !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    border-radius: 50px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

.btn-slanted.btn-lg {
    padding: 1.2rem 3rem;
    font-size: 1.25rem;
}

.btn-slanted:hover {
    background: rgba(255, 255, 255, 0.3) !important;
    border-color: rgba(255, 255, 255, 0.6) !important;
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.2) !important;
    transform: translateY(-2px);
}


.btn-slanted.btn-outline:hover {
    background: rgba(255, 255, 255, 0.3) !important;
}

/* Fix z-index for mobile menu toggle */
.navbar-transparent .mobile-menu-toggle {
    z-index: 101;
}


.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.7);
    /* Light overlay for readability */
    z-index: 1;
}

.z-10 {
    z-index: 10;
}

.position-relative {
    position: relative;
}

/* Entrance Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in-up {
    opacity: 0;
    /* starts hidden */
    animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.animation-delay-100 {
    animation-delay: 100ms;
}

.animation-delay-200 {
    animation-delay: 300ms;
}

.animation-delay-300 {
    animation-delay: 500ms;
}

/* Scroll Reveal Utility Classes */
.reveal-up,
.reveal-left,
.reveal-right,
.reveal-scale {
    opacity: 0;
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    transition-delay: var(--delay, 0ms);
}

.reveal-up {
    transform: translateY(40px);
}

.reveal-left {
    transform: translateX(-40px);
}

.reveal-right {
    transform: translateX(40px);
}

.reveal-scale {
    transform: scale(0.9);
}

.revealed {
    opacity: 1;
    transform: translate(0) scale(1);
}


.hero-container {
    max-width: 800px;
}

.hero-title {
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.03em;
    margin-bottom: 1.5rem;
    background: linear-gradient(135deg, var(--clr-neutral-900) 0%, var(--clr-neutral-700) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.hero-subtitle {
    font-size: 1.25rem;
    color: var(--clr-neutral-600);
    margin-bottom: 3rem;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.hero-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

/* Step Cards (How it Works) */
#how-it-works {
    background-color: var(--clr-brand-50);
    position: relative;
    overflow: hidden;
    color: var(--clr-neutral-900);
}

.steps-flow-container {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 3rem 0;
}

@media (max-width: 768px) {
    .steps-flow-container {
        flex-direction: column;
        align-items: center;
        gap: 2rem;
    }
}

.step-card-modern {
    background: var(--clr-neutral-50);
    padding: 2.5rem 1.5rem;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
    border: 1px solid var(--clr-neutral-200);
    transition: transform var(--transition-normal), box-shadow var(--transition-normal);
    position: relative;
    z-index: 1;
    flex: 1;
    min-width: 250px;
    max-width: 320px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.step-card-modern:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-lg);
    border-color: var(--clr-brand-300);
}

.step-number-badge {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 36px;
    height: 36px;
    background: var(--clr-brand-500);
    color: white;
    font-weight: 700;
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    box-shadow: var(--shadow-sm);
    border: 3px solid var(--clr-brand-50);
}

.step-card-modern .step-icon {
    width: 64px;
    height: 64px;
    margin: 1.5rem auto 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--clr-brand-500);
    background: var(--clr-brand-50);
    border-radius: var(--radius-lg);
    transition: transform var(--transition-normal), background var(--transition-normal);
}

.step-card-modern:hover .step-icon {
    transform: scale(1.1);
    background: var(--clr-brand-100);
}

.step-card-modern .step-icon i {
    width: 32px;
    height: 32px;
}

.step-card-modern .step-title {
    font-size: 1.4rem;
    margin-bottom: 0.75rem;
    font-weight: 600;
    color: var(--clr-neutral-900);
}

.step-card-modern .step-desc {
    font-size: 1rem;
    color: var(--clr-neutral-700);
    line-height: 1.5;
    margin: 0;
}

/* Connectors */
.step-connector {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--clr-brand-300);
}

.step-connector i {
    width: 24px;
    height: 24px;
}

@media (max-width: 768px) {
    .step-connector i {
        transform: rotate(90deg);
    }
}

/* Why Use Us Section */
.benefit-list {
    list-style: none;
    margin-top: 2rem;
}

.benefit-list li {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
    font-size: 1.125rem;
}

.benefit-list i {
    color: var(--clr-accent-500);
    flex-shrink: 0;
    margin-top: 0.25rem;
}

/* Graphic Mockup (CSS Art for aesthetics) */
.mockup-window {
    background-color: #ffffff;
    border-radius: var(--radius-lg);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    border: 1px solid var(--clr-neutral-200);
    overflow: hidden;
    transform: rotate(2deg);
    transition: transform var(--transition-normal);
}

.mockup-window:hover {
    transform: rotate(0);
}

.mockup-header {
    background-color: var(--clr-neutral-100);
    padding: 0.75rem 1rem;
    display: flex;
    gap: 0.5rem;
    border-bottom: 1px solid var(--clr-neutral-200);
}

.dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
}

.dot.red {
    background-color: #ff5f56;
}

.dot.yellow {
    background-color: #ffbd2e;
}

.dot.green {
    background-color: #27c93f;
}

.mockup-body {
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    background-color: #fafafa;
}

.mock-line {
    background-color: var(--clr-neutral-200);
    height: 1.5rem;
    border-radius: var(--radius-sm);
}

.mock-line.short {
    width: 40%;
}

.mock-line.medium {
    width: 70%;
}

.mock-line.long {
    width: 100%;
}

.mock-button {
    background-color: var(--clr-brand-100);
    height: 2.5rem;
    width: 8rem;
    border-radius: var(--radius-md);
    margin-top: 1rem;
}

/* ==========================================================================
   Dashboard Related
   ========================================================================== */
.dashboard-page {
    background-color: var(--clr-neutral-50);
}

.dashboard-main {
    padding-top: 130px;
    padding-bottom: 4rem;
}

.flow-container {
    padding-top: 130px !important;
}

.dashboard-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
    flex-wrap: wrap;
    gap: 1rem;
}

.page-title {
    font-size: 2rem;
    color: var(--clr-neutral-900);
    margin-bottom: 0;
}

/* User Greeting in Nav */
.user-greeting {
    font-weight: 600;
    color: var(--clr-neutral-800);
    margin-right: 1rem;
}

/* Base Card class */
.card {
    background: #ffffff;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--clr-neutral-200);
    padding: 1.5rem;
}

.p-0 {
    padding: 0 !important;
}

.mb-4 {
    margin-bottom: 2rem;
}

.overflow-hidden {
    overflow: hidden;
}

/* Grid 4 override */
.grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

/* Summary Cards */
.summary-card {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    padding: 1.5rem;
}

.card-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.card-icon i {
    width: 24px;
    height: 24px;
}

.summary-card.draft .card-icon {
    background-color: var(--clr-neutral-100);
    color: var(--clr-neutral-600);
}

.summary-card.submitted .card-icon {
    background-color: var(--clr-brand-100);
    color: var(--clr-brand-600);
}

.summary-card.in-review .card-icon {
    background-color: #fef3c7;
    color: #d97706;
}

.summary-card.completed .card-icon {
    background-color: #d1fae5;
    color: var(--clr-accent-600);
}

.card-content {
    display: flex;
    flex-direction: column;
}

.card-label {
    font-size: 0.875rem;
    color: var(--clr-neutral-500);
    font-weight: 500;
}

.card-value {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--clr-neutral-900);
    line-height: 1.2;
}

/* Toolbar */
.dashboard-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--clr-neutral-200);
}

.toolbar-search {
    display: flex;
    align-items: center;
    flex: 1;
    position: relative;
    padding: 0 1rem;
}

.search-icon {
    color: var(--clr-neutral-400);
    margin-right: 0.5rem;
    width: 20px;
    height: 20px;
}

.search-input {
    width: 100%;
    border: none;
    padding: 1rem 0;
    font-size: 1rem;
    background: transparent;
}

.search-input:focus {
    outline: none;
}

.toolbar-filters {
    padding: 0.5rem 1rem;
    border-left: 1px solid var(--clr-neutral-200);
}

/* Data Tables */
.data-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}

.data-table th,
.data-table td {
    padding: 1rem 1.5rem;
    border-bottom: 1px solid var(--clr-neutral-200);
    vertical-align: middle;
}

.data-table th {
    background-color: var(--clr-neutral-50);
    font-weight: 600;
    color: var(--clr-neutral-600);
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.data-table tbody tr {
    transition: background-color var(--transition-fast);
}

.data-table tbody tr:hover {
    background-color: var(--clr-neutral-50);
}

.data-table tbody tr:last-child td {
    border-bottom: none;
}

.task-id {
    font-family: monospace;
    font-size: 1rem;
    color: var(--clr-neutral-900);
    font-weight: 500;
}

.text-right {
    text-align: right;
}

/* Status Badges */
.status-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 500;
}

.status-draft {
    background-color: var(--clr-neutral-100);
    color: var(--clr-neutral-700);
}

.status-submitted {
    background-color: var(--clr-brand-100);
    color: var(--clr-brand-700);
}

.status-in-review {
    background-color: #fef3c7;
    color: #b45309;
}

.status-completed {
    background-color: #d1fae5;
    color: var(--clr-accent-600);
}

/* ==========================================================================
   Features Section
   ========================================================================== */
.features-section {
    background-color: #020617;
    background-image: radial-gradient(circle at center, rgba(0, 150, 255, 0.1), transparent 70%);
    position: relative;
    overflow: hidden;
    color: #ffffff;
}

.features-section .section-header {
    text-align: center;
    margin-bottom: 3.5rem;
    position: relative;
    z-index: 2;
}

.features-section .section-title {
    color: #ffffff;
    font-size: 2.5rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    letter-spacing: 0.02em;
}

.title-divider {
    width: 200px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    margin: 0 auto 1.5rem;
}

.features-section .section-subtitle {
    font-size: 1.125rem;
    color: rgba(255, 255, 255, 0.7);
    max-width: 600px;
    margin: 0 auto;
}

.features-grid {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(3, 1fr);
    position: relative;
    z-index: 2;
}

.feature-card {
    background: rgba(255, 255, 255, 0.03);
    border-radius: var(--radius-md);
    padding: 2rem 1.5rem;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4), inset 0 0 10px rgba(0, 150, 255, 0.05);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    overflow: hidden;
    min-height: 240px;
}

.feature-card-content {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    min-height: 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.feature-card:hover {
    transform: translateY(-8px);
    border-color: rgba(0, 212, 255, 0.6);
    box-shadow: 0 15px 50px 0 rgba(0, 0, 0, 0.9), inset 0 0 40px rgba(0, 212, 255, 0.3);
}

.feature-card:hover .animated-flame-border {
    width: 150%;
    height: 150%;
    opacity: 1;
    animation: flame-pulse 2s infinite ease-in-out;
}

/* Feature Content Animation (Matches How It Works) */
.feature-top {
    transition: transform var(--transition-normal);
    text-align: center;
    margin-bottom: 0.5rem;
}

.feature-bottom {
    transition: transform var(--transition-normal);
}

.feature-hidden {
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transform: scaleY(0.5);
    transform-origin: center;
    transition: opacity var(--transition-normal), max-height var(--transition-normal), transform var(--transition-normal), margin var(--transition-normal);
    width: 100%;
    text-align: center;
}

.feature-card:hover .feature-top {
    transform: translateY(-5px);
}

.feature-card:hover .feature-bottom {
    transform: translateY(5px);
}

.feature-card:hover .feature-hidden {
    opacity: 1;
    max-height: 150px;
    transform: scaleY(1);
    margin: 1rem 0;
}

.feature-card-divider {
    width: 60%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
    margin: 1.5rem auto 0;
}

.feature-icon {
    width: 90px;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #e0f8ff;
    filter: drop-shadow(0 0 10px rgba(0, 212, 255, 0.6));
    transition: filter var(--transition-fast), transform var(--transition-normal);
    margin: 0 auto;
}

.feature-card:hover .feature-icon {
    filter: drop-shadow(0 0 30px rgba(255, 255, 255, 1)) drop-shadow(0 0 15px rgba(0, 212, 255, 0.8));
    transform: scale(1.1);
}

.feature-icon svg {
    width: 100%;
    height: 100%;
}

.feature-title {
    font-size: 1.5rem;
    font-weight: 500;
    color: #ffffff;
    margin-bottom: 0;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

.feature-desc {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.5;
    margin-bottom: 0;
    margin-top: 1rem;
    text-shadow: 0 1px 5px rgba(0, 0, 0, 0.8);
}

/* ==========================================================================
   Dashboard Preview Section
   ========================================================================== */
.dashboard-preview-section {
    background-color: #010512;
    background-image: radial-gradient(circle at 70% 50%, rgba(0, 100, 255, 0.15), transparent 60%);
    position: relative;
    overflow: hidden;
    color: #ffffff;
    padding: 6rem 0;
}

.dashboard-preview-section::before {
    content: '';
    position: absolute;
    top: 50%;
    right: -10%;
    width: 60%;
    height: 100%;
    background: radial-gradient(ellipse, rgba(0, 150, 255, 0.05) 0%, transparent 60%);
    transform: translateY(-50%) rotate(-15deg);
    border-radius: 50%;
    pointer-events: none;
}

.preview-grid {
    gap: 4rem;
}

.preview-content .section-title {
    color: #e0f2fe;
    font-size: 3rem;
    font-weight: 500;
    line-height: 1.2;
    margin-bottom: 1.5rem;
    letter-spacing: -0.01em;
}

.preview-content .section-subtitle {
    font-size: 1.125rem;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.6;
    margin-bottom: 3rem;
}

/* Benefit List Styling for Preview */
.preview-benefits {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-bottom: 3rem;
}

.preview-benefits li {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 0;
}

.benefit-icon-wrapper {
    width: 40px;
    height: 40px;
    border-radius: var(--radius-sm);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.02));
    border: 1px solid rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #bae6fd;
    box-shadow: inset 0 0 10px rgba(0, 150, 255, 0.2);
}

.benefit-icon-wrapper svg {
    width: 20px;
    height: 20px;
}

.benefit-text {
    font-size: 1.125rem;
    font-weight: 500;
    color: #ffffff;
}

.glow-button {
    background: rgba(255, 255, 255, 0.25) !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    color: #ffffff !important;
    padding: 0.9rem 2rem !important;
    border-radius: 50px !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
    font-weight: 600;
    letter-spacing: 0.02em;
    position: relative;
    transition: all 0.3s ease;
}

.glow-button:hover {
    background: rgba(255, 255, 255, 0.3) !important;
    border-color: rgba(255, 255, 255, 0.6) !important;
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.2) !important;
    transform: translateY(-2px);
    color: #ffffff !important;
}

.glow-button::after {
    display: none !important;
}

.mt-4 {
    margin-top: 1rem;
}

/* Dashboard Mockup Visulization */
.dashboard-mockup {
    position: relative;
    width: 100%;
    perspective: 1200px;
    transform-style: preserve-3d;
}

.mockup-bg-rings {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 140%;
    height: 140%;
    transform: translate(-50%, -50%) rotate(10deg);
    border-radius: 50%;
    border: 1px solid rgba(0, 150, 255, 0.1);
    box-shadow:
        inset 0 0 50px rgba(0, 150, 255, 0.05),
        0 0 30px rgba(0, 150, 255, 0.1);
    background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.1) 0%, transparent 10%),
        radial-gradient(circle at bottom left, rgba(0, 150, 255, 0.1) 0%, transparent 20%);
    pointer-events: none;
    z-index: 0;
}

.mockup-bg-rings::before {
    content: '';
    position: absolute;
    top: 10%;
    left: 10%;
    right: 10%;
    bottom: 10%;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.mockup-glass-panel {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.01) 100%);
    border-radius: var(--radius-md);
    padding: 1.5rem;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.8), inset 0 0 0 1px rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    /* Apply 3D rotation similar to the reference image */
    transform: rotateY(-15deg) rotateX(5deg) scale(1.05);
    transform-origin: center right;
    position: relative;
    z-index: 1;
    border-top: 1px solid rgba(255, 255, 255, 0.4);
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.mockup-glass-panel::after {
    /* Glowing edge effect at bottom */
    content: '';
    position: absolute;
    bottom: -1px;
    left: 5%;
    width: 90%;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(0, 212, 255, 0.8), transparent);
    box-shadow: 0 0 15px 2px rgba(0, 212, 255, 0.5);
}

/* Tab details on the right side of panel */
.mockup-glass-panel::before {
    content: '';
    position: absolute;
    top: 40%;
    right: -10px;
    width: 10px;
    height: 40px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-left: none;
    border-radius: 0 4px 4px 0;
    backdrop-filter: blur(10px);
}

/* Stats Row */
.mockup-stats-row {
    display: flex;
    gap: 1rem;
    margin-bottom: 1rem;
}

.mockup-stat-box {
    flex: 1;
    border-radius: var(--radius-sm);
    padding: 1rem 1.5rem;
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
    position: relative;
}

.mockup-stat-box.in-progress {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.8) 0%, rgba(217, 119, 6, 0.8) 100%);
    box-shadow: inset 0 2px 10px rgba(255, 255, 255, 0.3), 0 5px 15px rgba(217, 119, 6, 0.2);
}

.mockup-stat-box.completed {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.8) 0%, rgba(5, 150, 105, 0.8) 100%);
    box-shadow: inset 0 2px 10px rgba(255, 255, 255, 0.3), 0 5px 15px rgba(16, 185, 129, 0.2);
    flex: 1.5;
    /* Slightly wider */
}

.stat-number {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1;
    color: #ffffff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.stat-label {
    font-size: 1rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.9);
}

.stat-glow-dot {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 6px;
    height: 6px;
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 0 10px 3px rgba(255, 255, 255, 0.8);
}

/* Bottom Row Layout */
.mockup-bottom-row {
    display: flex;
    gap: 1rem;
}

/* Task List Styling */
.mockup-task-list {
    flex: 2;
    background: rgba(0, 0, 0, 0.2);
    border-radius: var(--radius-sm);
    border: 1px solid rgba(255, 255, 255, 0.1);
    overflow: hidden;
}

.mockup-task-item {
    display: flex;
    align-items: center;
    padding: 0.875rem 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.02) 50%, transparent);
}

.mockup-task-item.active {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.05), rgba(0, 150, 255, 0.1) 50%, transparent);
    border-left: 2px solid #60a5fa;
}

.task-icon {
    width: 8px;
    height: 12px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 2px;
    margin-right: 1rem;
}

.task-name {
    flex: 1;
    font-size: 0.85rem;
    color: #e2e8f0;
}

.task-badge {
    padding: 0.25rem 0.75rem;
    border-radius: var(--radius-sm);
    font-size: 0.7rem;
    font-weight: 500;
    margin-right: 1rem;
    box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.task-badge.review {
    background: linear-gradient(to bottom, #f59e0b, #d97706);
}

.task-badge.draft {
    background: linear-gradient(to bottom, #3b82f6, #2563eb);
}

.task-badge.progress {
    background: linear-gradient(to bottom, #ef4444, #dc2626);
}

.task-badge.completed-badge {
    background: linear-gradient(to bottom, #10b981, #059669);
}

.task-caret {
    width: 6px;
    height: 6px;
    border-right: 1px solid rgba(255, 255, 255, 0.5);
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    transform: rotate(45deg);
}

/* Side Widgets Styling */
.mockup-side-widgets {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.mockup-deadline {
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--radius-sm);
    padding: 1rem;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.mockup-deadline::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);
}

.deadline-label {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.6);
    margin-bottom: 0.5rem;
}

.deadline-time {
    display: flex;
    flex-direction: column;
    color: #ffffff;
}

.deadline-time .day {
    font-weight: 600;
    font-size: 0.9rem;
}

.deadline-time .time {
    font-size: 0.8rem;
    opacity: 0.8;
}

.mockup-chart-box {
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--radius-sm);
    padding: 1.5rem 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 1;
    position: relative;
}

.mockup-chart-box::after {
    /* Blue light reflection inside chart box */
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at top right, rgba(0, 150, 255, 0.1), transparent 70%);
    pointer-events: none;
}

.pie-chart {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: conic-gradient(#60a5fa 0% 40%,
            #2563eb 40% 65%,
            #9333ea 65% 85%,
            #e11d48 85% 100%);
    position: relative;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5), inset 0 0 10px rgba(255, 255, 255, 0.2);
}

.pie-chart::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 30px;
    height: 30px;
    background: #0f172a;
    /* Center hole color */
    border-radius: 50%;
    box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.5);
}

.mockup-calendar-strip {
    display: flex;
    justify-content: space-between;
    padding: 0.5rem 1rem;
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--radius-sm);
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.6);
}

.mockup-calendar-strip span.active {
    color: #ffffff;
    font-weight: 700;
}

/* ==========================================================================
   Benefits Section
   ========================================================================== */
.benefits-section {
    background-color: #020617;
    background-image:
        linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, #010512 100%),
        radial-gradient(ellipse at center, rgba(0, 150, 255, 0.1), transparent 70%);
    position: relative;
    overflow: hidden;
    color: #ffffff;
    padding: 6rem 0;
}

/* Background Sweeping Light Curves */
.benefits-section::before,
.benefits-section::after {
    content: '';
    position: absolute;
    width: 150%;
    height: 100%;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}

.benefits-section::before {
    top: -50%;
    left: -25%;
    background: radial-gradient(ellipse, rgba(0, 150, 255, 0.05) 0%, transparent 50%);
    transform: rotate(15deg);
    border-bottom: 1px solid rgba(0, 212, 255, 0.2);
    box-shadow: 0 10px 30px rgba(0, 212, 255, 0.1);
}

.benefits-section::after {
    bottom: -50%;
    right: -25%;
    background: radial-gradient(ellipse, rgba(0, 150, 255, 0.05) 0%, transparent 50%);
    transform: rotate(-15deg);
    border-top: 1px solid rgba(0, 212, 255, 0.2);
}

.benefits-section .section-header {
    text-align: center;
    margin-bottom: 4rem;
    position: relative;
    z-index: 2;
}

.benefits-section .section-title {
    color: #ffffff;
    font-size: 2.5rem;
    font-weight: 500;
    margin-bottom: 0.75rem;
    letter-spacing: 0.01em;
}

.benefits-section .section-subtitle {
    font-size: 1.125rem;
    color: rgba(255, 255, 255, 0.7);
    max-width: 600px;
    margin: 0 auto;
}

.benefits-grid {
    position: relative;
    z-index: 2;
}

.benefit-card {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.02) 100%);
    border-radius: var(--radius-sm);
    /* Slightly sharper corners */
    padding: 2.5rem 1.5rem;
    box-shadow: 0 15px 35px 0 rgba(0, 0, 0, 0.6), inset 0 0 20px rgba(0, 150, 255, 0.05);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-top: 1px solid rgba(255, 255, 255, 0.5);
    /* Strong top highlight */
    border-left: 1px solid rgba(255, 255, 255, 0.3);
    /* Strong left highlight */
    transition: transform var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.benefit-card::before {
    /* Inner ambient glow */
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: radial-gradient(ellipse at bottom, rgba(0, 150, 255, 0.2), transparent 70%);
    pointer-events: none;
    opacity: 0.5;
    transition: opacity var(--transition-normal);
}

.benefit-card:hover {
    transform: translateY(-5px) scale(1.02);
    border-color: rgba(0, 212, 255, 0.6);
    box-shadow: 0 20px 40px 0 rgba(0, 0, 0, 0.8), inset 0 0 30px rgba(0, 212, 255, 0.15);
}

.benefit-card:hover::before {
    opacity: 1;
}

.benefit-title {
    font-size: 1.5rem;
    font-weight: 500;
    color: #ffffff;
    margin-bottom: 2rem;
    position: relative;
    z-index: 1;
}

.benefit-icon {
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #e0f8ff;
    filter: drop-shadow(0 0 15px rgba(0, 212, 255, 0.7));
    transition: filter var(--transition-fast), transform var(--transition-normal);
    position: relative;
    z-index: 1;
    margin-bottom: 1.5rem;
}

.benefit-icon::after {
    /* Glowing orb behind icon */
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    height: 80%;
    background: radial-gradient(circle, rgba(0, 150, 255, 0.4), transparent 70%);
    z-index: -1;
    border-radius: 50%;
    filter: blur(8px);
}

.benefit-card:hover .benefit-icon {
    filter: drop-shadow(0 0 25px rgba(0, 212, 255, 1));
    transform: scale(1.1);
}

.benefit-icon svg {
    width: 100%;
    height: 100%;
}

.benefit-divider {
    width: 80%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    margin: 0 auto 1.5rem;
}

.benefit-desc {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.95rem;
    line-height: 1.5;
    position: relative;
    z-index: 1;
    margin-bottom: 0;
}

/* ==========================================================================
   Statistics Section
   ========================================================================== */
.stats-section {
    background-color: var(--clr-neutral-900);
    background-image: linear-gradient(135deg, var(--clr-neutral-900) 0%, var(--clr-brand-700) 100%);
    color: #ffffff;
}

.stats-section .section-header {
    margin-bottom: 4rem;
}

.stats-grid {
    gap: 2rem;
}

.stat-block {
    padding: 1.5rem;
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    transition: transform var(--transition-normal);
}

.stat-block:hover {
    transform: translateY(-5px);
    background: rgba(255, 255, 255, 0.1);
}

.stat-number {
    font-size: clamp(2rem, 4vw, 2.5rem);
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 0.5rem;
    line-height: 1.2;
}

.stat-label {
    font-size: 1rem;
    color: var(--clr-brand-100);
    font-weight: 500;
}

/* ==========================================================================
   Testimonials Section
   ========================================================================== */
.testimonials-section {
    background-color: #050B14;
    background-image: radial-gradient(circle at 50% 50%, #112240 0%, #050B14 70%);
    padding: 6rem 0;
    position: relative;
    overflow: hidden;
}

/* Add some particles/stars effect via pseudo elements */
.testimonials-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image:
        radial-gradient(2px 2px at 20px 30px, #ffffff, rgba(0, 0, 0, 0)),
        radial-gradient(2px 2px at 140px 70px, rgba(255, 255, 255, 0.8), rgba(0, 0, 0, 0)),
        radial-gradient(3px 3px at 90px 140px, rgba(255, 200, 100, 0.9), rgba(0, 0, 0, 0)),
        radial-gradient(2px 2px at 250px 90px, #a3c2ff, rgba(0, 0, 0, 0));
    background-repeat: repeat;
    background-size: 300px 300px;
    opacity: 0.4;
    pointer-events: none;
}

.testimonials-section .section-header {
    text-align: center;
    margin-bottom: 6rem;
}

.testimonial-title {
    color: #ffffff;
    font-size: 2.5rem;
    font-weight: 500;
    font-family: 'Times New Roman', Times, serif;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    margin-bottom: 0;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
}

.testimonial-title::before,
.testimonial-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg, transparent, #dcb365, transparent);
    box-shadow: 0 0 8px #dcb365;
}

.testimonials-carousel-wrapper {
    position: relative;
    width: 100%;
}

.testimonial-group {
    display: none;
    animation: fadeScaleIn 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.testimonial-group.active {
    display: block;
}

@keyframes fadeScaleIn {
    0% {
        opacity: 0;
        transform: translateY(20px) scale(0.95);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.testimonials-grid {
    gap: 2rem;
    padding-top: 2rem;
    margin-bottom: 3rem;
}

.testimonial-card {
    background: rgba(10, 20, 40, 0.4);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: 1rem;
    padding: 4.5rem 2rem 2.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    text-align: center;
    border: 1px solid rgba(100, 200, 255, 0.4);
    box-shadow: 0 0 20px rgba(60, 130, 250, 0.3), inset 0 0 15px rgba(60, 130, 250, 0.2);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.testimonial-card.glow-gold {
    border-color: rgba(220, 179, 101, 0.5);
    box-shadow: 0 0 20px rgba(220, 179, 101, 0.25), inset 0 0 15px rgba(220, 179, 101, 0.15);
}

.testimonial-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 0 30px rgba(60, 130, 250, 0.5), inset 0 0 20px rgba(60, 130, 250, 0.3);
}

.testimonial-card.glow-gold:hover {
    box-shadow: 0 0 30px rgba(220, 179, 101, 0.4), inset 0 0 20px rgba(220, 179, 101, 0.25);
}

.author-avatar {
    width: 85px;
    height: 85px;
    border-radius: 50%;
    position: absolute;
    top: -42px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #050B14;
    overflow: hidden;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid rgba(100, 200, 255, 0.8);
    box-shadow: 0 0 15px rgba(60, 130, 250, 0.6), inset 0 0 10px rgba(60, 130, 250, 0.4);
}

.testimonial-card.glow-gold .author-avatar {
    border-color: rgba(220, 179, 101, 0.8);
    box-shadow: 0 0 15px rgba(220, 179, 101, 0.6), inset 0 0 10px rgba(220, 179, 101, 0.4);
}

.author-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.testimonial-content {
    margin-bottom: 1.5rem;
    flex-grow: 1;
}

.testimonial-text {
    font-size: 0.95rem;
    color: #e2e8f0;
    line-height: 1.7;
    font-weight: 300;
}

.testimonial-author {
    margin-bottom: 1rem;
}

.author-name {
    font-size: 1.1rem;
    font-weight: 600;
    color: #dcb365;
    font-family: 'Times New Roman', Times, serif;
    letter-spacing: 0.05em;
}

.testimonial-stars {
    display: flex;
    justify-content: center;
    gap: 0.3rem;
}

.star-icon {
    width: 20px;
    height: 20px;
    color: #dcb365;
    filter: drop-shadow(0 0 4px rgba(220, 179, 101, 0.6));
}

.testimonial-pagination {
    display: flex;
    justify-content: center;
    gap: 0.8rem;
    position: relative;
    z-index: 10;
}

.testimonial-pagination .dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.3);
    display: inline-block;
    cursor: pointer;
    transition: all var(--transition-fast);
    box-shadow: 0 0 5px rgba(255, 255, 255, 0.1);
}

.testimonial-pagination .dot.active {
    background-color: #ffffff;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.8);
    transform: scale(1.3);
}

.testimonial-pagination .dot:hover:not(.active) {
    background-color: rgba(255, 255, 255, 0.6);
}

/* ==========================================================================
   FAQ Section
   ========================================================================== */
.faq-section {
    position: relative;
    z-index: 1;
}

.faq-section .section-subtitle {
    color: #cbd5e1;
    max-width: 600px;
    margin: 0 auto;
    font-size: 1.1rem;
    font-weight: 300;
}

.faq-accordion-container {
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    position: relative;
    z-index: 2;
}

.faq-item {
    background: rgba(10, 20, 40, 0.4);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(100, 200, 255, 0.3);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 0 15px rgba(60, 130, 250, 0.1), inset 0 0 10px rgba(60, 130, 250, 0.05);
    transition: all 0.4s ease;
}

.faq-item.active {
    background: rgba(15, 30, 60, 0.8);
    border-color: rgba(100, 200, 255, 0.9);
    box-shadow:
        0 0 25px rgba(60, 130, 250, 0.6),
        0 0 50px rgba(220, 179, 101, 0.3),
        inset 0 0 20px rgba(100, 200, 255, 0.4);
    transform: scale(1.02);
    z-index: 10;
}

.faq-question {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem 1.75rem;
    background: none;
    border: none;
    text-align: left;
    font-size: 1.15rem;
    font-weight: 400;
    color: #ffffff;
    cursor: pointer;
    transition: background-color var(--transition-fast);
}

.faq-question:hover {
    background: rgba(255, 255, 255, 0.05);
}

.faq-icon {
    color: #dcb365;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), color 0.4s ease, filter 0.4s ease;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    filter: drop-shadow(0 0 4px rgba(220, 179, 101, 0.6));
}

.faq-item.active .faq-icon {
    transform: rotate(90deg);
    /* points right initially, rotates down on active */
    color: #ffffff;
    filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.8));
}

/* Accordion animation using grid */
.faq-answer {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.faq-item.active .faq-answer {
    grid-template-rows: 1fr;
    border-top: 1px solid rgba(100, 200, 255, 0.1);
}

.faq-answer-inner {
    overflow: hidden;
}

.faq-answer-inner p {
    padding: 0 1.75rem 1.5rem 1.75rem;
    color: #cbd5e1;
    font-size: 1rem;
    line-height: 1.7;
    font-weight: 300;
    margin: 0;
}

/* =========================================================================
   DIAMOND TIMELINE FEATURES SECTION 
   ========================================================================= */

.diamond-timeline {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2rem 0 6rem 0;
    width: 100%;
    position: relative;
    max-width: 800px;
    margin: 0 auto;
}

.diamond-card {
    width: 260px;
    height: 260px;
    background-image: linear-gradient(rgba(3, 8, 18, 0.6), rgba(9, 27, 53, 0.8)), url('../images/city_skyline_blur.png');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    background-color: #030812;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.6), inset 0 0 0 1px rgba(255, 255, 255, 0.03);
    z-index: 1;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease, z-index 0s;
}

.diamond-card:hover {
    z-index: 10;
    transform: scale(1.05) !important;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.8), inset 0 0 0 1.5px rgba(220, 179, 101, 0.4);
}



/* Math for exact tiling: Width=260 => Diagonal=368. */
.diamond-card.left {
    transform: translateX(-100px) rotate(45deg);
}

.diamond-card.right {
    transform: translateX(100px) rotate(45deg);
    margin-top: -60px;
}

.diamond-card.left:not(:first-child) {
    margin-top: -60px;
}

/* On hover we applied scale, but it overrides the transform. We must preserve translation and rotation! */
.diamond-card.left:hover {
    transform: translateX(-100px) rotate(45deg) scale(1.03) !important;
}

.diamond-card.right:hover {
    transform: translateX(100px) rotate(45deg) scale(1.03) !important;
}

/* Inner content must be unrotated */
.diamond-content {
    transform: rotate(-45deg);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 320px;
    /* Allow text to break bounding box bounds visually inward */
    height: 320px;
    pointer-events: none;
    /* Let card handle hover */
}

.diamond-title {
    color: #dcb365;
    font-family: 'Times New Roman', Times, serif;
    font-size: 1.75rem;
    font-weight: 500;
    line-height: 1.15;
    margin-bottom: 0.6rem;
    text-align: center;
    letter-spacing: 0.02em;
}

.diamond-text {
    color: #cbd5e1;
    font-size: 0.95rem;
    line-height: 1.35;
    margin-bottom: 1.25rem;
    padding: 0 1.5rem;
    font-family: var(--font-primary);
}

.diamond-icon-small {
    width: 14px;
    height: 14px;
    background: linear-gradient(135deg, #427ab3, #1f426d);
    transform: rotate(45deg);
    box-shadow: 0 0 10px rgba(66, 122, 179, 0.4);
}

@media (max-width: 768px) {

    /* Scale down the diamond card physical dimensions to fit zig-zag on mobile */
    .diamond-card {
        width: 200px !important;
        height: 200px !important;
    }

    .diamond-content {
        width: 260px !important;
        height: 260px !important;
    }

    .diamond-title {
        font-size: 1.3rem !important;
        margin-bottom: 0.4rem !important;
    }

    .diamond-text {
        font-size: 0.85rem !important;
        padding: 0 1rem !important;
        margin-bottom: 0.8rem !important;
    }

    /* Maintain zig-zag layout with smaller translations */
    .diamond-card.left {
        transform: translateX(-45px) rotate(45deg) !important;
    }

    .diamond-card.right {
        transform: translateX(45px) rotate(45deg) !important;
        margin-top: 40px !important;
    }

    .diamond-card.left:not(:first-child) {
        margin-top: 40px !important;
    }

    .diamond-card.left:first-child {
        margin-top: 0 !important;
    }

    /* Hover states for mobile */
    .diamond-card.left:hover {
        transform: translateX(-45px) rotate(45deg) scale(1.05) !important;
    }

    .diamond-card.right:hover {
        transform: translateX(45px) rotate(45deg) scale(1.05) !important;
    }
}

/* ==========================================================================
   Centered Light Hero Section
   ========================================================================== */
.hero-centered {
    position: relative;
    padding: 0;
    height: calc(100vh - 72px);
    min-height: 550px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-color: #f8fafc;
    overflow: hidden;
}

.hero-overlay-scrim {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at center, rgba(74, 87, 89, 0.3) 0%, rgba(74, 87, 89, 0.6) 100%);
    z-index: 1;
}

.hero-content-center {
    position: relative;
    z-index: 10;
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.hero-title-elegant {
    font-size: clamp(3rem, 6vw, 4.5rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.1;
    color: #ffffff;
    margin-bottom: 1.5rem;
    text-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}

.hero-title-elegant .text-emerald {
    color: #f9d253;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

.hero-title-elegant .dot-gold {
    color: #FCD34D;
}

.hero-subtitle-elegant {
    font-size: 1.25rem;
    color: rgba(255, 255, 255, 0.95);
    margin-bottom: 2.5rem;
    line-height: 1.6;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
    max-width: 650px;
}

.hero-actions-center {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.hero-actions-center .btn-elegant {
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.15) !important;
    color: #111 !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.7) !important;
    transition: transform 0.22s ease, box-shadow 0.2s ease, background 0.25s ease;
    text-shadow: 0 2px 4px rgba(0,0,0,0.2);
    border-radius: 38px;
    font-weight: 800;
}

.hero-actions-center .btn-elegant.btn-elegant-primary,
.hero-actions-center .btn-elegant.btn-elegant-outline {
    background: #ffffff !important;
    border-color: rgba(0, 0, 0, 0.18) !important;
    color: #111 !important;
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.75) !important;
}

.hero-actions-center .btn-elegant:hover,
.hero-actions-center .btn-elegant.btn-elegant-primary:hover,
.hero-actions-center .btn-elegant.btn-elegant-outline:hover {
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 16px 30px rgba(0, 0, 0, 0.32), inset 0 1px 1px rgba(255, 255, 255, 0.6);
    transform: translateY(-2px);
}

.hero-actions-center .btn-elegant:active,
.hero-actions-center .btn-elegant.btn-elegant-primary:active,
.hero-actions-center .btn-elegant.btn-elegant-outline:active {
    transform: translateY(2px) scale(0.98);
    box-shadow: inset 0 2px 10px rgba(0,0,0,0.25), 0 6px 14px rgba(0,0,0,0.2);
}

.hero-actions-center .btn-elegant:hover {
    background: linear-gradient(145deg, rgba(41, 50, 70, 0.56), rgba(71, 84, 110, 0.56));
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.45), inset 0 0 0 1px rgba(255, 255, 255, 0.12);
    transform: translateY(-2px);
}

.hero-actions-center .btn-elegant.btn-elegant-primary:hover {
    background: linear-gradient(145deg, rgba(39, 150, 104, 1), rgba(16, 185, 129, 1));
    box-shadow: 0 16px 36px rgba(8, 112, 76, 0.45), inset 0 0 0 1px rgba(255, 255, 255, 0.26);
}

.hero-actions-center .btn-elegant:active {
    transform: translateY(2px) scale(0.98);
    box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.3), 0 6px 14px rgba(0,0,0,0.25);
}

.hero-actions-center .btn-elegant.btn-elegant-primary:active {
    transform: translateY(2px) scale(0.98);
    background: linear-gradient(145deg, rgba(16, 185, 129, 0.95), rgba(41, 206, 144, 0.95));
    box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.4), 0 6px 14px rgba(0, 0, 0, 0.28);
}

.hero-actions-center .btn-elegant.btn-elegant-primary {
    background: rgba(16, 185, 129, 0.95);
    border-color: rgba(16, 185, 129, 0.95);
    color: #ffffff;
    box-shadow: 0 10px 30px rgba(15,150,110,0.35);
}

.hero-actions-center .btn-elegant:hover {
    background: rgba(255, 255, 255, 0.28);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.3);
    transform: translateY(-2px);
}

.hero-actions-center .btn-elegant.btn-elegant-primary:hover {
    background: rgba(16, 185, 129, 1);
    box-shadow: 0 14px 34px rgba(15,150,110,0.45);
}

.hero-actions-center .btn-elegant:active {
    transform: translateY(2px) scale(0.98);
    box-shadow: inset 0 2px 6px rgba(0,0,0,0.2), 0 6px 16px rgba(0,0,0,0.25);
}

.hero-actions-center .btn-elegant.btn-elegant-primary:active {
    transform: translateY(2px) scale(0.98);
    background: rgba(16, 185, 129, 0.9);
    box-shadow: inset 0 2px 6px rgba(0,0,0,0.25), 0 6px 16px rgba(8, 96, 72, 0.35);
}


/* Elegant Buttons (Now using Glassmorphic Style) */
.btn-elegant {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.9rem 2rem;
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-radius: 50px !important;
    transition: all 0.3s ease;
    text-decoration: none;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.25) !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    color: #fff !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
}

.btn-elegant:hover,
.btn-elegant-primary:hover,
.btn-elegant-outline:hover {
    background: rgba(255, 255, 255, 0.3) !important;
    border-color: rgba(255, 255, 255, 0.6) !important;
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.2) !important;
    color: #fff !important;
    transform: translateY(-2px);
}

.btn-elegant-primary {
    background: rgba(255, 255, 255, 0.25) !important;
}

.btn-elegant-outline {
    background: transparent !important;
    box-shadow: none !important;
}

/* ==========================================================================
   Curtain Opening Animation
   ========================================================================== */
.curtain-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 99999;
    pointer-events: none;
    display: flex;
    overflow: hidden;
    background-color: transparent;
}

.curtain-panel {
    width: 50%;
    height: 100%;
    background: linear-gradient(135deg, #7F1D1D 0%, #991B1B 100%);
    position: relative;
    /* Smooth ease-in-out easing for theatrical feel */
    transition: transform 1.8s cubic-bezier(0.65, 0, 0.35, 1);
    pointer-events: auto;
    /* Block interactions on panels while closing */
}

.curtain-left {
    transform-origin: left;
    border-right: 2px solid #FCD34D;
    box-shadow: 10px 0 30px rgba(0, 0, 0, 0.6);
}

.curtain-right {
    transform-origin: right;
    border-left: 2px solid #FCD34D;
    box-shadow: -10px 0 30px rgba(0, 0, 0, 0.6);
}

.curtain-overlay.curtain-open .curtain-left {
    transform: translateX(-100%);
}

.curtain-overlay.curtain-open .curtain-right {
    transform: translateX(100%);
}

.curtain-overlay.curtain-hidden {
    display: none !important;
}

/* Optional Hero Content Animation */
.hero-reveal-active .hero-content-wrapper {
    animation: heroContentReveal 2.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes heroContentReveal {
    0% {
        opacity: 0;
        transform: scale(0.95);
    }

    40% {
        opacity: 0;
        transform: scale(0.95);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}
 / *   M o d e r n   F e a t u r e s   G r i d   * / 
 . f e a t u r e s - g r i d - m o d e r n   { 
         d i s p l a y :   g r i d ; 
         g r i d - t e m p l a t e - c o l u m n s :   r e p e a t ( 3 ,   1 f r ) ; 
         g a p :   2 r e m ; 
         w i d t h :   1 0 0 % ; 
         m a x - w i d t h :   1 2 0 0 p x ; 
 } 
 @ m e d i a   ( m a x - w i d t h :   9 0 0 p x )   { 
         . f e a t u r e s - g r i d - m o d e r n   {   g r i d - t e m p l a t e - c o l u m n s :   r e p e a t ( 2 ,   1 f r ) ;   } 
 } 
 @ m e d i a   ( m a x - w i d t h :   6 0 0 p x )   { 
         . f e a t u r e s - g r i d - m o d e r n   {   g r i d - t e m p l a t e - c o l u m n s :   1 f r ;   } 
 } 
 
 . f e a t u r e - c a r d - m o d e r n   { 
         b a c k g r o u n d :   v a r ( - - c l r - n e u t r a l - 5 0 ) ; 
         p a d d i n g :   2 . 5 r e m   2 r e m ; 
         b o r d e r - r a d i u s :   v a r ( - - r a d i u s - l g ) ; 
         b o x - s h a d o w :   v a r ( - - s h a d o w - m d ) ; 
         b o r d e r :   1 p x   s o l i d   v a r ( - - c l r - n e u t r a l - 2 0 0 ) ; 
         t r a n s i t i o n :   t r a n s f o r m   v a r ( - - t r a n s i t i o n - n o r m a l ) ,   b o x - s h a d o w   v a r ( - - t r a n s i t i o n - n o r m a l ) ; 
         d i s p l a y :   f l e x ; 
         f l e x - d i r e c t i o n :   c o l u m n ; 
         a l i g n - i t e m s :   f l e x - s t a r t ; 
 } 
 
 . f e a t u r e - c a r d - m o d e r n : h o v e r   { 
         t r a n s f o r m :   t r a n s l a t e Y ( - 5 p x ) ; 
         b o x - s h a d o w :   v a r ( - - s h a d o w - l g ) ; 
         b o r d e r - c o l o r :   v a r ( - - c l r - b r a n d - 3 0 0 ) ; 
 } 
 
 . f e a t u r e - i c o n - w r a p p e r   { 
         b a c k g r o u n d :   v a r ( - - c l r - b r a n d - 5 0 ) ; 
         c o l o r :   v a r ( - - c l r - b r a n d - 5 0 0 ) ; 
         w i d t h :   5 6 p x ; 
         h e i g h t :   5 6 p x ; 
         b o r d e r - r a d i u s :   v a r ( - - r a d i u s - m d ) ; 
         d i s p l a y :   f l e x ; 
         a l i g n - i t e m s :   c e n t e r ; 
         j u s t i f y - c o n t e n t :   c e n t e r ; 
         m a r g i n - b o t t o m :   1 . 5 r e m ; 
         t r a n s i t i o n :   b a c k g r o u n d   v a r ( - - t r a n s i t i o n - n o r m a l ) ; 
 } 
 
 . f e a t u r e - c a r d - m o d e r n : h o v e r   . f e a t u r e - i c o n - w r a p p e r   { 
         b a c k g r o u n d :   v a r ( - - c l r - b r a n d - 1 0 0 ) ; 
 } 
 
 . f e a t u r e - i c o n - w r a p p e r   i   {   w i d t h :   2 8 p x ;   h e i g h t :   2 8 p x ;   } 
 
 . f e a t u r e - t i t l e   { 
         f o n t - s i z e :   1 . 2 5 r e m ; 
         f o n t - w e i g h t :   7 0 0 ; 
         c o l o r :   v a r ( - - c l r - n e u t r a l - 9 0 0 ) ; 
         m a r g i n - b o t t o m :   0 . 7 5 r e m ; 
 } 
 
 . f e a t u r e - t e x t   { 
         f o n t - s i z e :   1 r e m ; 
         c o l o r :   v a r ( - - c l r - n e u t r a l - 7 0 0 ) ; 
         l i n e - h e i g h t :   1 . 6 ; 
         m a r g i n :   0 ; 
 } 
 
 
 