.hero-tech-grid {
    background-size:50px 50px;
    background-image:linear-gradient(to right,rgba(246,193,46,0.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(246,193,46,0.05) 1px,transparent 1px);
}

.abstract-shape { filter:blur(80px); opacity:0.4; }

.hero-evolution-section {
    position:relative;
    overflow:hidden;
    background-image:radial-gradient(circle at center,#025043,#001F1A);
    background-color:var(--color-blue-dark);
    color:var(--white);
    padding-top:45px;
    padding-bottom:64px;
}

@media (min-width:1024px) {
    .hero-evolution-section {
        padding-top:102px;
        padding-bottom:128px;
    }
}

.hero-evolution-grid { position:absolute; inset:0; opacity:0.2; }
.hero-evolution-blob-left { position:absolute; top:-77px; left:-77px; width:307px; height:307px; background-color:var(--color-primary); border-radius:7999px; }
.hero-evolution-bottom-gradient { position:absolute; left:0; bottom:0; width:100%; height:102px; background-image:linear-gradient(to top,var(--color-blue-dark),transparent); }
.hero-evolution-inner { position:relative; z-index:10; }
.hero-evolution-layout { display:flex; flex-direction:column; gap:32px; align-items:center; }

@media (min-width:1024px) {
    .hero-evolution-layout { flex-direction:row; gap:26px; }
}

.hero-evolution-text { width:100%; }

@media (min-width:1024px) {
    .hero-evolution-text { width:50%; }
}

.hero-badge {
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:rgba(255,255,255,0.1);
    backdrop-filter:blur(24px);
    -webkit-backdrop-filter:blur(24px);
    padding:6px 16px;
    border-radius:7999px;
    font-size:var(--text-xxs-size);
    font-weight:var(--weight-eyebrow);
    text-transform:uppercase;
    letter-spacing: normal;
    color:var(--color-primary);
    border:1px solid rgba(255,255,255,0.1);
    margin-bottom:24px;
}

.hero-badge-pulse { position:relative; display:flex; width:6px; height:6px; }
.hero-badge-pulse-inner { position:absolute; inset:0; border-radius:7999px; background-color:var(--color-primary); opacity:0.75; animation:ping 1500ms cubic-bezier(0,0,0.2,1) infinite; }
.hero-badge-dot { position:relative; border-radius:7999px; width:6px; height:6px; background-color:var(--color-primary); }
.hero-badge-label { white-space:nowrap; }

.hero-evolution-title {
    font-size:var(--text-5xl-size);
    line-height:var(--text-5xl-line);
    font-weight:var(--font-black);
    letter-spacing: normal;
    margin-bottom:26px;
}

@media (min-width:1024px) {
    .hero-evolution-title { font-size:var(--text-8xl-size); }
}

.hero-evolution-gradient-text {
    display:inline-block;
    background:linear-gradient(to bottom right,var(--color-primary),var(--yellow-200),var(--white));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.hero-evolution-subtitle {
    color:var(--blue-100);
    font-size:var(--text-lg-size);
    line-height:var(--text-lg-line);
    max-width:100%;
    opacity:0.8;
    font-weight:var(--font-light);
    margin-bottom:32px;
}

@media (min-width:1024px) {
    .hero-evolution-subtitle { font-size:var(--text-xl-size); line-height:var(--text-xl-line); }
}

.hero-evolution-actions { display:flex; flex-direction:column; gap:16px; }

@media (min-width:640px) {
    .hero-evolution-actions { flex-direction:row; }
}

.hero-evolution-cta-primary {
    background-color:var(--color-primary);
    color:var(--blue-900);
    font-weight:var(--weight-button);
    letter-spacing: normal;
    text-transform:uppercase;
    padding:12px 24px;
    font-size:var(--text-xs-size);
    border-radius:12px;
    box-shadow:0 0 40px rgba(246,193,46,0.2);
    text-align:center;
}

.hero-evolution-cta-primary:hover { background-color:var(--yellow-400); transform:translateY(-4px); }

.hero-evolution-cta-secondary {
    background-color:rgba(255,255,255,0.05);
    border-radius:12px;
    border:1px solid rgba(255,255,255,0.2);
    color:var(--white);
    font-weight:var(--weight-button);
    letter-spacing: normal;
    text-transform:uppercase;
    padding:12px 24px;
    font-size:var(--text-xs-size);
    backdrop-filter:blur(12px);
    text-align:center;
}

.hero-evolution-cta-secondary:hover { background-color:rgba(255,255,255,0.1); }

.hero-evolution-visual { width:100%; min-height:304px; display:flex; align-items:center; justify-content:center; }

@media (min-width:1024px) {
    .hero-evolution-visual { width:50%; }
}

.hero-evolution-visual-wrapper { position:relative; width:100%; max-width:410px; aspect-ratio:1/1; }
.hero-evolution-visual-glow { position:absolute; inset:0; background-image:linear-gradient(to bottom right,rgba(246,193,46,0.1),rgba(16,185,129,0.08),transparent); border-radius:7999px; filter:blur(64px); opacity:0.5; }
.hero-evolution-network { width:100%; height:100%; }
.hero-evolution-floating-card { position:absolute; top:63%; right:33%; padding:13px; background-color:rgba(15,23,42,0.3); backdrop-filter:blur(24px); border-radius:10px; border:1px solid rgba(255,255,255,0.1); box-shadow:0 0 40px rgba(15,23,42,0.8); transform:rotate(3deg); z-index:20; animation:float 5s ease-in-out infinite; }
.hero-floating-icon { color:var(--color-primary); margin-bottom:6px; }
.hero-floating-label { font-size:var(--text-xs-size); font-weight:var(--weight-label); text-transform:uppercase; letter-spacing: normal; color:var(--blue-100); }
.hero-floating-bar { width:77px; height:3px; background-color:rgba(255,255,255,0.1); margin-top:6px; border-radius:7999px; overflow:hidden; }
.hero-floating-bar-fill { width:66.666%; height:100%; background-color:var(--color-primary); }

.hero-evolution-image-wrap { width:100%; height:100%; }
.hero-evolution-image { width:100%; height:100%; object-fit:cover; border-radius:20px; }

@media (max-width: 1023.98px) {
    .hero-evolution-section .abstract-shape { filter:blur(42px); }
    .hero-evolution-visual-glow { filter:blur(36px); opacity:0.42; }
    .hero-evolution-floating-card {
        backdrop-filter:blur(12px);
        -webkit-backdrop-filter:blur(12px);
        animation:none;
    }
    .hero-badge {
        backdrop-filter:blur(12px);
        -webkit-backdrop-filter:blur(12px);
    }
    .hero-evolution-cta-secondary {
        backdrop-filter:blur(8px);
        -webkit-backdrop-filter:blur(8px);
    }
}

@keyframes ping { 0% { transform:scale(1); opacity:.75; } 75%,100% { transform:scale(2); opacity:0; } }
@keyframes pulse { 0%,100% { opacity:1; } 50% { opacity:.5; } }
@keyframes float { 0%,100% { transform:rotate(3deg) translate3d(0,0,0); } 50% { transform:rotate(3deg) translate3d(0,-8px,0); } }
.animate-pulse { animation:pulse 2000ms cubic-bezier(0.4,0,0.6,1) infinite; }

/* Final premium CTA override for hero evolution */
.hero-evolution-cta-primary,
.hero-evolution-cta-secondary {
    position: relative;
    isolation: isolate;
    transition:
        transform 240ms cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 240ms cubic-bezier(0.22, 1, 0.36, 1),
        background-color 240ms ease,
        border-color 240ms ease,
        color 240ms ease;
}

.hero-evolution-cta-primary::after,
.hero-evolution-cta-secondary::after {
    content: none !important;
}

.hero-evolution-cta-primary::before {
    content: "";
    position: absolute;
    inset: -10px;
    border-radius: 18px;
    background: radial-gradient(circle at 50% 50%, rgba(246,193,46,0.30) 0%, rgba(246,193,46,0.12) 38%, rgba(246,193,46,0.00) 72%);
    filter: blur(18px);
    opacity: 0;
    transform: scale(0.94);
    transition: opacity 240ms ease, transform 240ms cubic-bezier(0.22, 1, 0.36, 1);
    pointer-events: none;
    z-index: -1;
}

.hero-evolution-cta-primary {
    box-shadow: 0 8px 20px rgba(246,193,46,0.16), inset 0 1px 0 rgba(255,255,255,0.22);
}

.hero-evolution-cta-primary:hover {
    transform: translateY(-2px);
    background-color: var(--yellow-400);
    color: var(--color-blue-dark);
    box-shadow: 0 16px 30px rgba(246,193,46,0.24), 0 6px 14px rgba(0,0,0,0.08), inset 0 1px 0 rgba(255,255,255,0.28);
}

.hero-evolution-cta-primary:hover::before {
    opacity: 1;
    transform: scale(1);
}

.hero-evolution-cta-secondary {
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
}

.hero-evolution-cta-secondary::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0.00) 100%);
    opacity: 0;
    transition: opacity 240ms ease;
    pointer-events: none;
    z-index: 0;
}

.hero-evolution-cta-secondary:hover {
    transform: translateY(-2px);
    background-color: rgba(255,255,255,0.10);
    border-color: rgba(255,255,255,0.34);
    color: var(--white);
    box-shadow: 0 12px 24px rgba(0,0,0,0.16), inset 0 1px 0 rgba(255,255,255,0.14);
}

.hero-evolution-cta-secondary:hover::before {
    opacity: 1;
}
