:root {
    --enfa-cyan: #13c6cf;
    --enfa-cyan-dark: #00a9b5;
    --enfa-purple: #7040ee;
    --enfa-navy: #07153d;
    --enfa-text: #1b2948;
    --enfa-muted: #6c7891;
    --enfa-bg: #f6fbff;
    --enfa-border: #e3edf5;
    --enfa-gradient: linear-gradient(
        105deg,
        #16c6ce 0%,
        #397eea 52%,
        #7440ef 100%
    );
}
* {
    box-sizing: border-box;
}
html {
    scroll-behavior: auto;
}
.enfa-public {
    margin: 0;
    background: #fff;
    color: var(--enfa-text);
    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}
.enfa-site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: #fff;
    border-bottom: 1px solid rgba(222, 235, 245, 0.8);
}
.enfa-nav-wrap {
    max-width: 1480px;
    margin: auto;
    min-height: 78px;
    padding: 0 28px;
    display: flex;
    align-items: center;
    gap: 28px;
}
.enfa-brand img {
    display: block;
    width: 94px;
    height: 48px;
    object-fit: contain;
}
.enfa-public-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 25px;
    flex: 1;
}
.enfa-public-nav > a,
.enfa-nav-dropdown-toggle {
    border: 0;
    background: none;
    color: #293752;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    padding: 12px 0;
    cursor: pointer;
}
.enfa-public-nav > a:hover,
.enfa-nav-dropdown-toggle:hover {
    color: var(--enfa-cyan-dark);
}
.enfa-nav-dropdown {
    position: relative;
}
.enfa-nav-dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: -18px;
    width: 210px;
    background: #fff;
    border: 1px solid var(--enfa-border);
    border-radius: 16px;
    padding: 8px;
    box-shadow: 0 20px 45px rgba(25, 52, 91, 0.13);
}
.enfa-nav-dropdown:hover .enfa-nav-dropdown-menu,
.enfa-nav-dropdown.is-open .enfa-nav-dropdown-menu {
    display: grid;
}
.enfa-nav-dropdown-menu a {
    padding: 10px 12px;
    border-radius: 10px;
    color: #35425c;
    text-decoration: none;
    font-size: 13px;
    font-weight: 650;
}
.enfa-nav-dropdown-menu a:hover {
    background: #effcfd;
    color: #00a8b2;
}
.enfa-nav-actions {
    display: flex;
    align-items: center;
    gap: 14px;
}
.enfa-lang {
    display: flex;
    gap: 5px;
    font-size: 12px;
}
.enfa-lang a {
    color: #8a94a8;
    font-weight: 800;
    text-decoration: none;
}
.enfa-lang a.active {
    color: var(--enfa-navy);
}
.enfa-nav-cta,
.enfa-btn.primary {
    background: var(--enfa-gradient);
    color: #fff !important;
}
.enfa-nav-cta {
    padding: 11px 18px;
    border-radius: 14px;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 8px 20px rgba(69, 91, 232, 0.18);
}
.enfa-menu-toggle {
    display: none;
    background: none;
    border: 0;
    padding: 8px;
}
.enfa-menu-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: #17213b;
    margin: 5px;
}
.enfa-hero {
    max-width: 1480px;
    margin: 0 auto;
    min-height: 650px;
    padding: 70px 42px 45px;
    display: grid;
    grid-template-columns: 0.92fr 1.08fr;
    align-items: center;
    gap: 55px;
    background: radial-gradient(circle at 15% 10%, #effdff 0, transparent 42%);
}
.enfa-hero-copy {
    max-width: 650px;
}
.enfa-eyebrow,
.enfa-section-head > span,
.enfa-cta-card > div > span {
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.12em;
    color: var(--enfa-cyan-dark);
}
.enfa-hero h1 {
    font-size: clamp(52px, 6vw, 92px);
    line-height: 0.92;
    margin: 15px 0 22px;
    font-weight: 900;
    color: #08133e;
    letter-spacing: -0.055em;
}
.enfa-hero h1 span {
    background: var(--enfa-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.enfa-hero h2 {
    font-size: clamp(24px, 2.2vw, 38px);
    line-height: 1.12;
    margin: 0 0 18px;
    color: #101b45;
}
.enfa-hero p {
    font-size: 17px;
    line-height: 1.7;
    color: var(--enfa-muted);
    max-width: 590px;
}
.enfa-hero-actions {
    display: flex;
    gap: 12px;
    margin-top: 28px;
}
.enfa-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 22px;
    border-radius: 14px;
    font-weight: 800;
    font-size: 13px;
    text-decoration: none !important;
}
.enfa-btn.secondary {
    border: 1px solid #dbe6f1;
    background: #fff;
    color: #273654;
}
.enfa-btn.light {
    background: #fff;
    color: #17224a;
}
.enfa-hero-visual {
    position: relative;
    min-height: 510px;
    border-radius: 34px;
    overflow: hidden;
    background: linear-gradient(145deg, #e7fbfd, #f0eaff);
    box-shadow: 0 30px 70px rgba(32, 69, 112, 0.14);
}
.enfa-hero-visual > img {
    width: 100%;
    height: 100%;
    min-height: 510px;
    object-fit: cover;
}
.enfa-hero-placeholder {
    height: 510px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #e8fdff, #efe9ff);
}
.enfa-hero-placeholder img {
    width: 240px;
}
.enfa-hero-placeholder span {
    font-size: 20px;
    font-weight: 800;
    color: #27345c;
}
.enfa-float-card {
    position: absolute;
    right: 24px;
    top: 28px;
    background: rgba(255, 255, 255, 0.95);
    padding: 14px 18px;
    border-radius: 16px;
    box-shadow: 0 14px 35px rgba(20, 47, 88, 0.13);
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 13px;
    font-weight: 800;
}
.enfa-float-card strong {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 10px;
    background: #dffafb;
    color: #00a7b0;
}
.enfa-section {
    max-width: 1480px;
    margin: 0 auto;
    padding: 78px 42px;
}
.enfa-section-head {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 38px;
}
.enfa-section-head h2,
.enfa-download h2 {
    font-size: clamp(30px, 3.5vw, 48px);
    line-height: 1.08;
    color: #0a1743;
    margin: 10px 0;
}
.enfa-section-head p {
    color: var(--enfa-muted);
    font-size: 16px;
}
.enfa-card-grid {
    display: grid;
    gap: 18px;
}
.enfa-card-grid.four {
    grid-template-columns: repeat(4, 1fr);
}
.enfa-card-grid.three {
    grid-template-columns: repeat(3, 1fr);
}
.enfa-feature-card,
.enfa-profile-card {
    border: 1px solid var(--enfa-border);
    border-radius: 22px;
    background: #fff;
    padding: 28px;
    box-shadow: 0 12px 35px rgba(35, 67, 105, 0.06);
}
.enfa-feature-icon {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    background: linear-gradient(145deg, #e6fcfd, #eee9ff);
    display: grid;
    place-items: center;
    color: #08aeba;
}
.enfa-feature-icon svg {
    width: 28px;
    height: 28px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.enfa-feature-card h3,
.enfa-profile-card h3 {
    font-size: 18px;
    margin: 20px 0 9px;
    color: #101c47;
}
.enfa-feature-card p,
.enfa-profile-card p {
    font-size: 14px;
    line-height: 1.6;
    color: var(--enfa-muted);
    margin: 0;
}
.enfa-split-cta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    padding-top: 20px;
}
.enfa-cta-card {
    min-height: 330px;
    border-radius: 28px;
    padding: 42px;
    display: flex;
    align-items: flex-end;
    color: #fff;
    overflow: hidden;
    position: relative;
}
.enfa-cta-card:after {
    content: "";
    position: absolute;
    width: 250px;
    height: 250px;
    border-radius: 50%;
    right: -40px;
    top: -50px;
    background: rgba(255, 255, 255, 0.12);
}
.enfa-cta-card > div {
    position: relative;
    z-index: 1;
    max-width: 470px;
}
.enfa-cta-card > div > span {
    color: #fff;
}
.enfa-cta-card h2 {
    font-size: 38px;
    margin: 7px 0;
}
.enfa-cta-card p {
    font-size: 15px;
    line-height: 1.6;
    opacity: 0.92;
}
.enfa-cta-card.driver {
    background: linear-gradient(120deg, #06b9c8, #168cd8);
}
.enfa-cta-card.franchise {
    background: linear-gradient(120deg, #4c75eb, #7842ed);
}
.enfa-download {
    display: grid;
    grid-template-columns: 1fr 0.75fr;
    gap: 60px;
    align-items: center;
    background: linear-gradient(115deg, #f5feff, #f7f3ff);
    border-radius: 32px;
    margin-top: 60px;
    margin-bottom: 60px;
}
.enfa-download p {
    font-size: 16px;
    color: var(--enfa-muted);
    max-width: 620px;
}
.enfa-store-actions {
    display: flex;
    gap: 12px;
    margin-top: 24px;
}
.enfa-store-actions a {
    background: #080b12;
    color: #fff;
    padding: 13px 20px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 800;
}
.enfa-phone-stage {
    display: flex;
    justify-content: center;
}
.enfa-phone {
    width: 230px;
    height: 410px;
    border: 10px solid #10172e;
    border-radius: 38px;
    background: linear-gradient(155deg, #e6fcff, #e8e0ff);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    box-shadow: 0 25px 55px rgba(30, 54, 100, 0.2);
    transform: rotate(5deg);
}
.enfa-phone img {
    width: 145px;
}
.enfa-phone span {
    font-weight: 800;
    color: #17214a;
}
.enfa-preregister-preview {
    padding-top: 30px;
    padding-bottom: 100px;
}
.enfa-profile-card {
    position: relative;
}
.enfa-coming {
    display: inline-block;
    margin-top: 20px;
    padding: 8px 12px;
    border-radius: 999px;
    background: #effafb;
    color: #009ba6;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.enfa-footer {
    background: #071633;
    color: #dce6f5;
    padding: 58px max(28px, calc((100vw - 1396px) / 2)) 22px;
}
.enfa-footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 45px;
}
.enfa-footer-brand img {
    width: 115px;
    max-height: 62px;
    object-fit: contain;
}
.enfa-footer p {
    color: #91a2bd;
    font-size: 13px;
}
.enfa-footer h3 {
    font-size: 13px;
    color: #fff;
    margin-bottom: 18px;
}
.enfa-footer-grid > div:not(:first-child) {
    display: flex;
    flex-direction: column;
}
.enfa-footer a {
    color: #aebbd0;
    text-decoration: none;
    font-size: 12px;
    margin: 5px 0;
}
.enfa-footer a:hover {
    color: #35d0d8;
}
.enfa-footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    margin-top: 40px;
    padding-top: 20px;
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: #8294b0;
}
.enfa-footer-lang {
    display: flex;
    gap: 8px;
}
.enfa-footer-lang a {
    margin: 0;
    color: #fff;
}
@media (max-width: 1150px) {
    .enfa-public-nav {
        gap: 14px;
    }
    .enfa-public-nav > a,
    .enfa-nav-dropdown-toggle {
        font-size: 12px;
    }
    .enfa-nav-cta {
        display: none;
    }
    .enfa-card-grid.four {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 900px) {
    .enfa-menu-toggle {
        display: block;
        margin-left: auto;
    }
    .enfa-nav-actions {
        order: 2;
    }
    .enfa-public-nav {
        display: none;
        position: absolute;
        top: 78px;
        left: 16px;
        right: 16px;
        background: #fff;
        border: 1px solid var(--enfa-border);
        border-radius: 20px;
        padding: 16px;
        box-shadow: 0 20px 50px rgba(30, 57, 90, 0.14);
        align-items: stretch;
        flex-direction: column;
        gap: 0;
    }
    .enfa-public-nav.is-open {
        display: flex;
    }
    .enfa-public-nav > a,
    .enfa-nav-dropdown-toggle {
        text-align: left;
        padding: 12px;
    }
    .enfa-nav-dropdown-menu {
        position: static;
        box-shadow: none;
        border: 0;
        background: #f7fbfe;
        width: 100%;
    }
    .enfa-hero {
        grid-template-columns: 1fr;
        padding-top: 45px;
    }
    .enfa-hero-visual {
        min-height: 390px;
    }
    .enfa-hero-visual > img,
    .enfa-hero-placeholder {
        min-height: 390px;
        height: 390px;
    }
    .enfa-split-cta,
    .enfa-download {
        grid-template-columns: 1fr;
    }
    .enfa-card-grid.three {
        grid-template-columns: 1fr;
    }
    .enfa-footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 600px) {
    .enfa-nav-wrap {
        padding: 0 16px;
    }
    .enfa-lang {
        display: none;
    }
    .enfa-hero,
    .enfa-section {
        padding-left: 20px;
        padding-right: 20px;
    }
    .enfa-hero h1 {
        font-size: 52px;
    }
    .enfa-hero-actions,
    .enfa-store-actions {
        flex-direction: column;
    }
    .enfa-card-grid.four {
        grid-template-columns: 1fr;
    }
    .enfa-split-cta {
        padding-top: 10px;
    }
    .enfa-cta-card {
        padding: 28px;
        min-height: 280px;
    }
    .enfa-download {
        margin: 25px 14px;
        padding: 40px 24px;
    }
    .enfa-footer {
        padding: 45px 24px 20px;
    }
    .enfa-footer-grid {
        grid-template-columns: 1fr;
    }
    .enfa-footer-bottom {
        flex-direction: column;
        gap: 10px;
    }
}

/* FA01 FIX1 — performance + visual polish */
.enfa-site-header {
    box-shadow: 0 5px 20px rgba(24, 53, 88, 0.045);
}
.enfa-hero-visual > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
}
.enfa-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(5, 18, 52, 0.08),
        rgba(5, 18, 52, 0.02) 45%,
        rgba(5, 18, 52, 0.42)
    );
    pointer-events: none;
}
.enfa-hero-brand {
    position: absolute;
    left: 28px;
    bottom: 26px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 10px 15px;
    border-radius: 15px;
    background: rgba(6, 20, 54, 0.76);
    color: #fff;
}
.enfa-hero-brand img {
    width: 94px;
    height: auto;
    object-fit: contain;
}
.enfa-hero-brand small {
    font-size: 12px;
    font-weight: 750;
}
.enfa-mini-icon {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 10px;
    background: #dffafb;
    color: #00a7b0;
}
.enfa-mini-icon svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.3;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.enfa-feature-card {
    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease,
        border-color 0.18s ease;
}
.enfa-feature-card:hover {
    transform: translateY(-4px);
    border-color: #cceff1;
    box-shadow: 0 18px 40px rgba(35, 67, 105, 0.09);
}
.enfa-cta-card {
    isolation: isolate;
}
.enfa-cta-card .enfa-cta-content {
    position: relative;
    z-index: 2;
    max-width: 470px;
}
.enfa-cta-photo {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.enfa-cta-pattern {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(255, 255, 255, 0.22),
            transparent 24%
        ),
        linear-gradient(120deg, #4c75eb, #7842ed);
    z-index: 0;
}
.enfa-cta-card:after {
    z-index: 1;
}
.enfa-phone {
    transform: none;
    position: relative;
    overflow: hidden;
}
.enfa-phone-notch {
    position: absolute;
    top: 10px;
    width: 78px;
    height: 18px;
    border-radius: 0 0 12px 12px;
    background: #10172e;
}
.enfa-phone-route {
    display: flex;
    align-items: center;
    margin-top: 32px;
}
.enfa-phone-route i {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #13c6cf;
}
.enfa-phone-route b {
    width: 70px;
    height: 2px;
    background: linear-gradient(90deg, #13c6cf, #7040ee);
}
.enfa-phone-route i:last-child {
    background: #7040ee;
}
@media (prefers-reduced-motion: reduce) {
    * {
        scroll-behavior: auto !important;
        transition: none !important;
        animation: none !important;
    }
}
@media (max-width: 900px) {
    .enfa-hero-visual > img {
        height: 100%;
    }
    .enfa-hero-brand {
        left: 18px;
        bottom: 18px;
    }
    .enfa-hero-brand small {
        display: none;
    }
}

/* FA01 FIX2 — referencia visual aprobada, movilidad privada, sin taxi */
.enfa-nav-wrap {
    min-height: 72px;
}
.enfa-brand img {
    width: 86px;
}
.enfa-public-nav {
    gap: 22px;
}
.enfa-nav-cta,
.enfa-btn.primary {
    background: var(--enfa-gradient);
    color: #fff;
    box-shadow: 0 10px 25px rgba(89, 75, 226, 0.18);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}
.enfa-nav-cta:hover,
.enfa-btn.primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(89, 75, 226, 0.24);
}
.enfa-hero {
    min-height: 610px;
    padding-top: 48px;
    padding-bottom: 28px;
    grid-template-columns: 0.88fr 1.12fr;
}
.enfa-hero h1 {
    font-size: clamp(58px, 6.2vw, 96px);
}
.enfa-hero-visual {
    min-height: 520px;
    border-radius: 30px;
    background: #effcff;
}
.enfa-hero-visual > img {
    object-fit: cover;
}
.enfa-hero-overlay {
    background: linear-gradient(90deg, transparent 55%, rgba(14, 24, 63, 0.08));
}
.enfa-hero-brand {
    display: none;
}
.enfa-float-card {
    animation: enfaFloat 4.5s ease-in-out infinite;
}
.enfa-hero-copy {
    animation: enfaReveal 0.65s ease-out both;
}
.enfa-hero-visual {
    animation: enfaReveal 0.8s 0.08s ease-out both;
}
@keyframes enfaReveal {
    from {
        opacity: 0;
        transform: translateY(18px);
    }
    to {
        opacity: 1;
        transform: none;
    }
}
@keyframes enfaFloat {
    0%,
    100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-7px);
    }
}
.enfa-benefits {
    padding-top: 34px;
}
.enfa-card-grid.four {
    gap: 0;
    border: 1px solid var(--enfa-border);
    border-radius: 26px;
    box-shadow: 0 16px 44px rgba(34, 65, 104, 0.07);
    overflow: hidden;
}
.enfa-card-grid.four .enfa-feature-card {
    border: 0;
    border-right: 1px solid var(--enfa-border);
    border-radius: 0;
    box-shadow: none;
    text-align: center;
}
.enfa-card-grid.four .enfa-feature-card:last-child {
    border-right: 0;
}
.enfa-card-grid.four .enfa-feature-icon {
    margin: auto;
}
.enfa-card-grid.four .enfa-feature-card:hover {
    transform: none;
    background: #fbfeff;
}
.enfa-how {
    padding-top: 42px;
}
.enfa-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
}
.enfa-steps article {
    position: relative;
    text-align: center;
    padding: 12px 26px 26px;
}
.enfa-steps article:not(:last-child):after {
    content: "";
    position: absolute;
    right: 0;
    top: 38px;
    width: 1px;
    height: 110px;
    background: #e2eaf3;
}
.enfa-steps b {
    position: absolute;
    left: 20px;
    top: 16px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #eef0ff;
    color: #6744e8;
}
.enfa-steps .enfa-feature-icon {
    margin: 0 auto 16px;
}
.enfa-steps h3 {
    margin: 0 0 7px;
    color: #0b1740;
}
.enfa-steps p {
    margin: 0;
    color: var(--enfa-muted);
    font-size: 13px;
    line-height: 1.55;
}
.enfa-split-cta {
    padding-top: 22px;
}
.enfa-cta-card {
    min-height: 360px;
    padding: 38px;
}
.enfa-cta-photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}
.enfa-cta-card.driver:before,
.enfa-cta-card.franchise:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(3, 48, 76, 0.82) 0%,
        rgba(3, 77, 104, 0.45) 48%,
        rgba(3, 77, 104, 0.05) 100%
    );
    z-index: 1;
}
.enfa-cta-card.franchise:before {
    background: linear-gradient(
        90deg,
        rgba(48, 42, 145, 0.88),
        rgba(90, 56, 207, 0.45) 55%,
        rgba(90, 56, 207, 0.08)
    );
}
.enfa-cta-pattern {
    background: none;
}
.enfa-cta-card .enfa-cta-content {
    max-width: 52%;
}
.enfa-cta-card h2 {
    font-size: 40px;
}
.enfa-cta-card p {
    font-size: 14px;
}
.enfa-areas {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    align-items: center;
    gap: 55px;
    background: #fbfdff;
    border: 1px solid var(--enfa-border);
    border-radius: 30px;
    margin-top: 45px;
}
.enfa-area-copy h2 {
    font-size: 42px;
    line-height: 1.05;
    color: #0a1743;
    margin: 10px 0 15px;
}
.enfa-area-copy p {
    color: var(--enfa-muted);
    line-height: 1.65;
    margin-bottom: 24px;
}
.enfa-map-visual {
    position: relative;
    min-height: 300px;
    border-radius: 24px;
    background: linear-gradient(145deg, #f0f5fa, #edfaff);
    display: grid;
    place-items: center;
    overflow: hidden;
}
.enfa-map-visual svg {
    width: 84%;
    fill: #d6e1eb;
    stroke: #c1d0dd;
    stroke-width: 2;
}
.enfa-map-visual .pin {
    position: absolute;
    width: 18px;
    height: 18px;
    border: 5px solid #fff;
    border-radius: 50%;
    background: #12c6cf;
    box-shadow: 0 5px 16px rgba(25, 80, 110, 0.25);
    z-index: 2;
}
.enfa-map-visual .p1 {
    left: 44%;
    top: 34%;
}
.enfa-map-visual .p2 {
    left: 56%;
    top: 48%;
    background: #7040ee;
}
.enfa-map-visual .p3 {
    left: 64%;
    top: 58%;
}
.enfa-map-visual .p4 {
    left: 36%;
    top: 57%;
    background: #397eea;
}
.enfa-area-legend {
    position: absolute;
    bottom: 18px;
    left: 20px;
    background: #fff;
    padding: 10px 14px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 800;
    color: #42506b;
    box-shadow: 0 8px 24px rgba(33, 62, 97, 0.09);
}
.enfa-area-legend i {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #12c6cf;
    margin-right: 6px;
}
.enfa-download {
    margin-top: 28px;
}
.enfa-preregister-preview {
    background: linear-gradient(180deg, #fff, #f5fcff);
    max-width: none;
    padding-left: max(42px, calc((100vw - 1396px) / 2));
    padding-right: max(42px, calc((100vw - 1396px) / 2));
}
.enfa-profile-card {
    overflow: hidden;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}
.enfa-profile-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 46px rgba(35, 67, 105, 0.11);
}
@media (max-width: 900px) {
    .enfa-steps {
        grid-template-columns: 1fr 1fr;
    }
    .enfa-steps article:nth-child(2):after {
        display: none;
    }
    .enfa-areas {
        grid-template-columns: 1fr;
    }
    .enfa-cta-card .enfa-cta-content {
        max-width: 70%;
    }
}
@media (max-width: 600px) {
    .enfa-steps {
        grid-template-columns: 1fr;
    }
    .enfa-steps article:after {
        display: none;
    }
    .enfa-cta-card .enfa-cta-content {
        max-width: 88%;
    }
    .enfa-area-copy h2 {
        font-size: 34px;
    }
}

/* FA02 — Home comercial completa */
.enfa-hero-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}
.enfa-trust-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    border: 1px solid #e1eaf3;
    border-radius: 999px;
    background: #fff;
    color: #53617b;
    font-size: 11px;
    font-weight: 800;
}
.enfa-trust-pill i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #14c6cf;
    box-shadow: 0 0 0 4px #e3fbfc;
}
.enfa-home-band {
    max-width: 1480px;
    margin: 0 auto;
    padding: 12px 42px 42px;
}
.enfa-home-band-inner {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 24px;
    border-radius: 28px;
    background: #08183e;
    color: #fff;
    padding: 38px 42px;
    overflow: hidden;
    position: relative;
}
.enfa-home-band-inner:after {
    content: "";
    position: absolute;
    width: 330px;
    height: 330px;
    border-radius: 50%;
    right: -80px;
    top: -170px;
    background: linear-gradient(
        145deg,
        rgba(19, 198, 207, 0.45),
        rgba(112, 64, 238, 0.4)
    );
}
.enfa-home-band h2 {
    font-size: 34px;
    margin: 0 0 10px;
}
.enfa-home-band p {
    margin: 0;
    color: #b8c8df;
    line-height: 1.65;
}
.enfa-home-band-points {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    position: relative;
    z-index: 1;
}
.enfa-home-band-points span {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 13px;
    font-weight: 800;
}
.enfa-home-band-points i {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 8px;
    background: #17325d;
    color: #4ee0e6;
    font-style: normal;
}
.enfa-safety-showcase {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 38px;
    align-items: center;
}
.enfa-safety-visual {
    min-height: 390px;
    border-radius: 28px;
    background: linear-gradient(145deg, #e9fcfd, #eee9ff);
    position: relative;
    overflow: hidden;
    padding: 36px;
}
.enfa-safety-visual:before {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: #19c7d0;
    right: -80px;
    bottom: -110px;
    opacity: 0.16;
}
.enfa-safety-phone {
    width: 210px;
    height: 330px;
    margin: auto;
    border: 9px solid #101a3c;
    border-radius: 34px;
    background: #fff;
    box-shadow: 0 24px 55px rgba(28, 54, 94, 0.18);
    padding: 26px 16px;
    position: relative;
    z-index: 2;
}
.enfa-safety-phone img {
    display: block;
    width: 92px;
    margin: 8px auto 28px;
}
.enfa-safety-screen-row {
    height: 46px;
    border-radius: 12px;
    background: #f1f7fb;
    margin: 10px 0;
    display: flex;
    align-items: center;
    padding: 0 12px;
    color: #4d5b76;
    font-size: 11px;
    font-weight: 800;
}
.enfa-safety-screen-row:before {
    content: "";
    width: 22px;
    height: 22px;
    border-radius: 8px;
    background: linear-gradient(145deg, #17c7d0, #7242ef);
    margin-right: 9px;
}
.enfa-safety-copy h2 {
    font-size: clamp(32px, 3.4vw, 48px);
    line-height: 1.08;
    color: #0a1743;
    margin: 10px 0 18px;
}
.enfa-safety-copy > p {
    color: var(--enfa-muted);
    line-height: 1.7;
}
.enfa-check-list {
    display: grid;
    gap: 13px;
    margin: 24px 0;
}
.enfa-check-list div {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}
.enfa-check-list b {
    display: grid;
    place-items: center;
    min-width: 26px;
    height: 26px;
    border-radius: 9px;
    background: #e5fbfc;
    color: #00a9b5;
}
.enfa-check-list strong {
    display: block;
    color: #132048;
    font-size: 14px;
}
.enfa-check-list span {
    display: block;
    color: #78849a;
    font-size: 12px;
    margin-top: 3px;
    line-height: 1.5;
}
.enfa-community {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}
.enfa-community article {
    padding: 28px;
    border-radius: 24px;
    border: 1px solid var(--enfa-border);
    background: #fff;
}
.enfa-community .num {
    font-size: 34px;
    font-weight: 950;
    letter-spacing: -0.04em;
    background: var(--enfa-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.enfa-community h3 {
    margin: 8px 0;
    color: #101c47;
}
.enfa-community p {
    margin: 0;
    color: var(--enfa-muted);
    font-size: 13px;
    line-height: 1.6;
}
.enfa-final-cta {
    max-width: 1396px;
    margin: 10px auto 70px;
    padding: 48px;
    border-radius: 30px;
    background: linear-gradient(110deg, #0abcc7, #437be7 55%, #7340ed);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    position: relative;
    overflow: hidden;
}
.enfa-final-cta:after {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    border: 50px solid rgba(255, 255, 255, 0.09);
    border-radius: 50%;
    right: -80px;
    top: -90px;
}
.enfa-final-cta h2 {
    font-size: 38px;
    line-height: 1.08;
    margin: 0 0 10px;
    position: relative;
    z-index: 1;
}
.enfa-final-cta p {
    margin: 0;
    opacity: 0.9;
    position: relative;
    z-index: 1;
}
.enfa-final-cta .enfa-btn {
    position: relative;
    z-index: 2;
    white-space: nowrap;
}
.enfa-home-section-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #00aab5;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.1em;
}
.enfa-home-section-label:before {
    content: "";
    width: 24px;
    height: 3px;
    border-radius: 3px;
    background: linear-gradient(90deg, #13c6cf, #7040ee);
}
@media (max-width: 900px) {
    .enfa-home-band-inner,
    .enfa-safety-showcase {
        grid-template-columns: 1fr;
    }
    .enfa-community {
        grid-template-columns: 1fr;
    }
    .enfa-final-cta {
        margin-left: 20px;
        margin-right: 20px;
        flex-direction: column;
        align-items: flex-start;
    }
    .enfa-home-band {
        padding-left: 20px;
        padding-right: 20px;
    }
}
@media (max-width: 600px) {
    .enfa-home-band-points {
        grid-template-columns: 1fr;
    }
    .enfa-home-band-inner {
        padding: 30px 24px;
    }
    .enfa-safety-visual {
        min-height: 350px;
        padding: 20px;
    }
    .enfa-final-cta {
        padding: 34px 26px;
    }
    .enfa-final-cta h2 {
        font-size: 31px;
    }
}
/* FA03 — Servicios + Áreas de servicio */
.enfa-page-hero {
    max-width: 1440px;
    margin: 0 auto;
    padding: 64px 6%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(380px, 0.9fr);
    align-items: center;
    gap: 52px;
    min-height: 590px;
}
.enfa-page-hero-copy h1 {
    font-size: clamp(2.7rem, 5vw, 5rem);
    line-height: 0.98;
    margin: 14px 0 22px;
    color: #07144d;
    letter-spacing: -0.045em;
}
.enfa-page-hero-copy p {
    font-size: 1.08rem;
    line-height: 1.75;
    color: #52607c;
    max-width: 690px;
}
.enfa-page-hero-art {
    min-height: 420px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 34px;
    background: linear-gradient(145deg, #e8fcff, #f2edff);
    overflow: hidden;
}
.enfa-page-hero-art img {
    width: 100%;
    height: 100%;
    max-height: 500px;
    object-fit: contain;
}
.enfa-section {
    max-width: 1320px;
    margin: 0 auto;
    padding: 72px 5%;
}
.enfa-section-heading {
    max-width: 790px;
    margin: 0 auto 38px;
    text-align: center;
}
.enfa-section-heading h2 {
    font-size: clamp(2rem, 3.5vw, 3.2rem);
    line-height: 1.05;
    color: #07144d;
    margin: 10px 0 14px;
}
.enfa-section-heading p {
    color: #66728c;
    line-height: 1.7;
}
.enfa-service-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}
.enfa-service-cards article,
.enfa-location-card,
.enfa-coverage-legend > div {
    background: #fff;
    border: 1px solid #e5edf6;
    border-radius: 24px;
    padding: 26px;
    box-shadow: 0 16px 42px rgba(22, 42, 83, 0.07);
}
.enfa-service-cards h3,
.enfa-location-card h3,
.enfa-coverage-legend h3 {
    color: #07144d;
    margin: 14px 0 9px;
}
.enfa-service-cards p,
.enfa-location-card p,
.enfa-coverage-legend p {
    color: #66728c;
    line-height: 1.6;
    margin: 0;
}
.enfa-line-icon,
.enfa-location-pin {
    width: 48px;
    height: 48px;
    border-radius: 15px;
    display: grid;
    place-items: center;
    font-size: 1.4rem;
    background: linear-gradient(135deg, #14c7cf, #7444f4);
    color: #fff;
    box-shadow: 0 10px 24px rgba(76, 93, 236, 0.18);
}
.enfa-split-feature {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 54px;
    align-items: center;
}
.enfa-split-visual {
    background: linear-gradient(145deg, #eafcff, #f3efff);
    border-radius: 30px;
    overflow: hidden;
    min-height: 410px;
}
.enfa-split-visual img {
    width: 100%;
    height: 100%;
    max-height: 480px;
    object-fit: contain;
}
.enfa-split-copy h2 {
    font-size: clamp(2rem, 3.5vw, 3.4rem);
    color: #07144d;
    line-height: 1.05;
    margin: 12px 0 18px;
}
.enfa-split-copy p {
    color: #66728c;
    line-height: 1.75;
    margin-bottom: 26px;
}
.enfa-service-cta {
    margin-top: 30px;
    margin-bottom: 72px;
    border-radius: 30px;
    background: linear-gradient(115deg, #08bdc9, #326ee9 55%, #7540f4);
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    padding: 44px 50px;
}
.enfa-service-cta h2 {
    font-size: clamp(1.9rem, 3vw, 3rem);
    margin: 7px 0;
}
.enfa-service-cta p {
    margin: 0;
    opacity: 0.9;
}
.enfa-service-cta .enfa-eyebrow {
    color: #fff;
}
.enfa-service-cta .enfa-btn {
    background: #fff;
    color: #162063;
    white-space: nowrap;
}
.enfa-location-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}
.enfa-location-card {
    display: flex;
    gap: 18px;
    align-items: flex-start;
}
.enfa-status {
    display: inline-flex;
    padding: 7px 11px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 800;
}
.enfa-status.available {
    background: #ddf8e7;
    color: #18713a;
}
.enfa-status.upcoming {
    background: #fff0d1;
    color: #986100;
}
.enfa-status.prereg {
    background: #ece6ff;
    color: #6237d4;
}
.enfa-empty-coverage {
    max-width: 900px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #e3eaf4;
    border-radius: 30px;
    padding: 42px;
    display: flex;
    gap: 28px;
    align-items: center;
    box-shadow: 0 20px 50px rgba(22, 42, 83, 0.08);
}
.enfa-empty-map {
    flex: 0 0 100px;
    height: 100px;
    border-radius: 28px;
    display: grid;
    place-items: center;
    font-size: 2.5rem;
    color: #fff;
    background: linear-gradient(135deg, #11c7cf, #7144f4);
}
.enfa-empty-coverage h3 {
    font-size: 1.7rem;
    color: #07144d;
    margin: 12px 0 8px;
}
.enfa-empty-coverage p {
    color: #66728c;
    line-height: 1.6;
}
.enfa-coverage-legend {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    padding-top: 10px;
}
@media (max-width: 980px) {
    .enfa-page-hero,
    .enfa-split-feature {
        grid-template-columns: 1fr;
    }
    .enfa-page-hero {
        padding-top: 42px;
    }
    .enfa-service-cards {
        grid-template-columns: repeat(2, 1fr);
    }
    .enfa-location-grid,
    .enfa-coverage-legend {
        grid-template-columns: 1fr 1fr;
    }
    .enfa-service-cta {
        align-items: flex-start;
        flex-direction: column;
    }
}
@media (max-width: 640px) {
    .enfa-page-hero {
        padding: 36px 20px;
        gap: 28px;
        min-height: 0;
    }
    .enfa-page-hero-art {
        min-height: 280px;
    }
    .enfa-section {
        padding: 52px 20px;
    }
    .enfa-service-cards,
    .enfa-location-grid,
    .enfa-coverage-legend {
        grid-template-columns: 1fr;
    }
    .enfa-empty-coverage {
        padding: 28px;
        align-items: flex-start;
        flex-direction: column;
    }
    .enfa-service-cta {
        margin: 20px 20px 52px;
        padding: 30px 24px;
    }
}
/* FA04 — Conduce con enfá! */
.enfa-driver-hero,
.enfa-inner-hero {
    max-width: 1480px;
    margin: auto;
    padding: 72px 42px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 58px;
    align-items: center;
    background: radial-gradient(circle at 10% 10%, #edfdff, transparent 42%);
}
.enfa-driver-hero-copy h1,
.enfa-inner-hero h1 {
    font-size: clamp(44px, 5.2vw, 76px);
    line-height: 0.98;
    letter-spacing: -0.045em;
    color: #08133e;
    margin: 14px 0 22px;
}
.enfa-driver-hero-copy h1 span,
.enfa-inner-hero h1 span {
    background: var(--enfa-gradient);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}
.enfa-driver-hero-copy > p,
.enfa-inner-hero p {
    font-size: 17px;
    line-height: 1.75;
    color: var(--enfa-muted);
    max-width: 650px;
}
.enfa-driver-hero-media,
.enfa-inner-hero-art {
    position: relative;
    border-radius: 32px;
    overflow: hidden;
    min-height: 470px;
    background: linear-gradient(145deg, #dffcff, #eee8ff);
    box-shadow: 0 28px 65px rgba(24, 59, 101, 0.13);
}
.enfa-driver-hero-media img,
.enfa-inner-hero-art img {
    width: 100%;
    height: 100%;
    min-height: 470px;
    object-fit: cover;
}
.enfa-media-badge {
    position: absolute;
    left: 24px;
    bottom: 24px;
    padding: 13px 17px;
    background: rgba(255, 255, 255, 0.94);
    border-radius: 14px;
    font-size: 12px;
    font-weight: 850;
    color: #12214b;
    box-shadow: 0 12px 30px rgba(16, 48, 82, 0.13);
}
.enfa-driver-metrics {
    display: flex;
    gap: 22px;
    margin-top: 34px;
}
.enfa-driver-metrics span {
    display: grid;
    gap: 3px;
    font-size: 11px;
    font-weight: 700;
    color: #66748d;
}
.enfa-driver-metrics strong {
    font-size: 19px;
    color: #10b8c3;
}
.enfa-driver-path {
    max-width: 1396px;
    margin: 10px auto 75px;
    padding: 45px;
    border-radius: 30px;
    background: #081735;
    color: #fff;
    display: grid;
    grid-template-columns: 0.75fr 1.25fr;
    gap: 50px;
}
.enfa-driver-path > div > span,
.enfa-safety-panel span {
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.13em;
    color: #42d7de;
}
.enfa-driver-path h2 {
    font-size: 34px;
    margin: 10px 0;
}
.enfa-driver-path-links {
    display: grid;
    gap: 10px;
}
.enfa-driver-path-links a {
    display: grid;
    grid-template-columns: 45px 1fr auto;
    align-items: center;
    padding: 16px 18px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 15px;
    color: #fff;
    text-decoration: none;
    font-weight: 800;
}
.enfa-driver-path-links a:hover {
    background: rgba(255, 255, 255, 0.07);
}
.enfa-driver-path-links b {
    color: #3ed8df;
}
.enfa-inner-hero.compact {
    padding-bottom: 35px;
}
.enfa-requirements-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}
.enfa-requirements-grid article {
    padding: 30px;
    border: 1px solid var(--enfa-border);
    border-radius: 22px;
    background: #fff;
}
.enfa-requirements-grid b {
    color: #09adb8;
    font-size: 13px;
}
.enfa-requirements-grid h3 {
    font-size: 21px;
    color: #101c47;
}
.enfa-requirements-grid p {
    color: var(--enfa-muted);
    line-height: 1.65;
}
.enfa-note {
    margin-top: 20px;
    padding: 20px 24px;
    border-radius: 16px;
    background: #f1fbfc;
    color: #52617a;
    font-size: 13px;
}
.enfa-process {
    max-width: 980px;
    margin: auto;
    display: grid;
    gap: 14px;
}
.enfa-process article {
    display: grid;
    grid-template-columns: 68px 1fr;
    gap: 22px;
    padding: 24px;
    border: 1px solid var(--enfa-border);
    border-radius: 20px;
    background: #fff;
    align-items: center;
}
.enfa-process article > b {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: linear-gradient(145deg, #dffbfc, #eee8ff);
    color: #08aeba;
    font-size: 20px;
}
.enfa-process h3 {
    margin: 0 0 7px;
    color: #101c47;
}
.enfa-process p {
    margin: 0;
    color: var(--enfa-muted);
    line-height: 1.6;
}
.enfa-safety-orbit {
    width: 330px;
    height: 330px;
    margin: auto;
    border-radius: 50%;
    background: linear-gradient(145deg, #dffcff, #ede8ff);
    display: grid;
    place-items: center;
    align-content: center;
    gap: 18px;
    box-shadow: inset 0 0 0 30px rgba(255, 255, 255, 0.55);
}
.enfa-safety-orbit .shield {
    width: 100px;
    height: 100px;
    border-radius: 30px;
    background: var(--enfa-gradient);
    color: #fff;
    display: grid;
    place-items: center;
    font-size: 44px;
    font-weight: 900;
    box-shadow: 0 20px 45px rgba(70, 82, 226, 0.24);
}
.enfa-safety-orbit span {
    font-weight: 900;
    color: #13204a;
}
.enfa-safety-panel {
    margin-top: 35px;
    padding: 38px;
    border-radius: 26px;
    background: linear-gradient(110deg, #071735, #102653);
    color: #fff;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}
.enfa-safety-panel h2 {
    font-size: 31px;
    margin: 8px 0;
}
.enfa-safety-panel p {
    line-height: 1.75;
    color: #b8c6db;
}
.enfa-final-cta {
    max-width: 1396px;
    margin: 0 auto 65px;
    padding: 38px 44px;
    border-radius: 28px;
    background: var(--enfa-gradient);
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}
.enfa-final-cta h2 {
    font-size: 32px;
    margin: 0 0 7px;
}
.enfa-final-cta p {
    margin: 0;
    opacity: 0.9;
}
.enfa-site-header {
    top: 0 !important;
}
.enfa-footer + .enfa-site-header {
    display: none !important;
}
@media (max-width: 900px) {
    .enfa-driver-hero,
    .enfa-inner-hero {
        grid-template-columns: 1fr;
        padding: 45px 24px;
    }
    .enfa-driver-path,
    .enfa-safety-panel {
        grid-template-columns: 1fr;
    }
    .enfa-requirements-grid {
        grid-template-columns: 1fr;
    }
    .enfa-final-cta {
        margin: 0 20px 45px;
        align-items: flex-start;
        flex-direction: column;
    }
    .enfa-driver-metrics {
        flex-wrap: wrap;
    }
}
/* FA05 — Descarga + Contacto */
.enfa-download-hero,
.enfa-contact-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.75fr);
    gap: 56px;
    align-items: center;
    max-width: 1240px;
    margin: 0 auto;
    padding: 92px 28px 70px;
    min-height: 520px;
}
.enfa-page-hero-copy h1 {
    font-size: clamp(42px, 5vw, 72px);
    line-height: 0.98;
    letter-spacing: -0.045em;
    margin: 14px 0 22px;
    color: #07173c;
}
.enfa-page-hero-copy p {
    font-size: 18px;
    line-height: 1.7;
    color: #61708e;
    max-width: 690px;
}
.enfa-phone-stage {
    position: relative;
    min-height: 390px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(
        circle at 50% 50%,
        rgba(19, 198, 207, 0.22),
        transparent 58%
    );
}
.enfa-phone {
    width: 210px;
    height: 390px;
    border: 10px solid #10182d;
    border-radius: 38px;
    background: linear-gradient(155deg, #fff 5%, #e7fbff 58%, #eee8ff);
    box-shadow: 0 28px 60px rgba(14, 35, 76, 0.18);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 22px;
    position: relative;
    z-index: 2;
    transform: rotate(-5deg);
}
.enfa-phone img {
    width: 118px;
}
.enfa-phone span {
    font-weight: 800;
    color: #17234b;
}
.enfa-phone-back {
    position: absolute;
    transform: translate(90px, 8px) rotate(8deg);
    z-index: 1;
    background: linear-gradient(145deg, #14c7cf, #7040f3);
    color: white;
}
.enfa-map-pin {
    font-size: 48px;
    color: #fff;
}
.enfa-app-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    max-width: 1120px;
    margin: 42px auto 0;
}
.enfa-app-card {
    background: #fff;
    border: 1px solid #e4edf7;
    border-radius: 28px;
    padding: 34px;
    display: grid;
    grid-template-columns: 70px 1fr;
    gap: 22px;
    box-shadow: 0 18px 45px rgba(25, 54, 98, 0.08);
}
.enfa-app-icon {
    width: 64px;
    height: 64px;
    border-radius: 20px;
    background: linear-gradient(135deg, #c8fbff, #ece4ff);
    display: grid;
    place-items: center;
    font-size: 28px;
}
.enfa-app-type {
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.12em;
    color: #11aeb9;
}
.enfa-app-card h3 {
    font-size: 26px;
    margin: 6px 0 8px;
    color: #0b1a43;
}
.enfa-app-card p {
    color: #687694;
    line-height: 1.6;
}
.enfa-store-actions-lg {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}
.enfa-store-disabled {
    display: inline-flex;
    align-items: center;
    padding: 12px 16px;
    border-radius: 12px;
    background: #eef3f8;
    color: #8290a8;
    font-weight: 700;
    font-size: 13px;
}
.enfa-trust-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    max-width: 1120px;
    margin: auto;
}
.enfa-trust-grid article {
    background: #fff;
    border-radius: 22px;
    padding: 28px;
    border: 1px solid #e8eef7;
}
.enfa-trust-grid article > span {
    color: #6d40f2;
    font-weight: 900;
}
.enfa-trust-grid h3 {
    color: #0c1c46;
    margin: 12px 0 8px;
}
.enfa-trust-grid p {
    color: #6b7893;
    line-height: 1.6;
}
.enfa-gradient-cta {
    max-width: 1180px;
    margin: auto;
    border-radius: 30px;
    padding: 42px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    color: #fff;
    background: linear-gradient(110deg, #13c4cc, #4f75eb 58%, #733cf2);
    overflow: hidden;
}
.enfa-gradient-cta h2 {
    font-size: clamp(28px, 3vw, 44px);
    margin: 8px 0;
}
.enfa-gradient-cta p {
    margin: 0;
    opacity: 0.9;
}
.enfa-contact-visual {
    display: flex;
    justify-content: center;
}
.enfa-contact-orb {
    width: 360px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: linear-gradient(145deg, #dffcff, #f0e9ff);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow:
        inset 0 0 0 20px rgba(255, 255, 255, 0.55),
        0 30px 70px rgba(31, 71, 113, 0.12);
}
.enfa-contact-orb img {
    width: 150px;
    margin-bottom: 20px;
}
.enfa-contact-orb strong {
    font-size: 24px;
    color: #10204a;
}
.enfa-contact-orb span {
    color: #6d7891;
    margin-top: 5px;
}
.enfa-contact-layout {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    gap: 50px;
    max-width: 1120px;
    margin: auto;
    align-items: start;
}
.enfa-contact-info h2 {
    font-size: clamp(32px, 4vw, 52px);
    line-height: 1.05;
    color: #0b1a43;
    margin: 10px 0 18px;
}
.enfa-contact-info > p {
    color: #697791;
    line-height: 1.7;
}
.enfa-contact-points {
    display: grid;
    gap: 14px;
    margin-top: 30px;
}
.enfa-contact-points > div {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 16px;
    border: 1px solid #e5edf7;
    border-radius: 18px;
    background: #fff;
}
.enfa-contact-points b {
    width: 34px;
    height: 34px;
    border-radius: 11px;
    display: grid;
    place-items: center;
    background: #e5fbfc;
    color: #0aa7b2;
}
.enfa-contact-points span {
    display: grid;
    gap: 3px;
}
.enfa-contact-points strong {
    color: #12214a;
}
.enfa-contact-points small {
    color: #73809a;
}
.enfa-contact-form-card {
    background: #fff;
    border: 1px solid #e3ecf6;
    border-radius: 28px;
    padding: 30px;
    box-shadow: 0 20px 55px rgba(19, 52, 94, 0.09);
}
.enfa-contact-form {
    display: grid;
    gap: 18px;
}
.enfa-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.enfa-contact-form label {
    display: grid;
    gap: 7px;
    color: #17264d;
    font-size: 13px;
    font-weight: 800;
}
.enfa-contact-form input,
.enfa-contact-form select,
.enfa-contact-form textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #d9e4f0;
    border-radius: 13px;
    padding: 13px 14px;
    background: #f9fbfd;
    color: #14224a;
    font: inherit;
    outline: none;
    transition:
        border-color 0.18s,
        box-shadow 0.18s;
}
.enfa-contact-form input:focus,
.enfa-contact-form select:focus,
.enfa-contact-form textarea:focus {
    border-color: #20bdcb;
    box-shadow: 0 0 0 4px rgba(32, 189, 203, 0.11);
}
.enfa-contact-form label small {
    color: #d34155;
}
.enfa-honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
.enfa-alert {
    border-radius: 14px;
    padding: 13px 16px;
    margin-bottom: 18px;
    font-size: 14px;
    font-weight: 700;
}
.enfa-alert-success {
    background: #e8fbf2;
    color: #16764c;
}
.enfa-alert-warning {
    background: #fff5dc;
    color: #966200;
}
.enfa-alert-error {
    background: #fff0f2;
    color: #b52c42;
}
.enfa-btn-wide {
    width: 100%;
    justify-content: center;
    border: 0;
    cursor: pointer;
}
@media (max-width: 850px) {
    .enfa-download-hero,
    .enfa-contact-hero,
    .enfa-contact-layout {
        grid-template-columns: 1fr;
    }
    .enfa-phone-stage {
        min-height: 330px;
    }
    .enfa-app-grid,
    .enfa-trust-grid {
        grid-template-columns: 1fr;
    }
    .enfa-gradient-cta {
        align-items: flex-start;
        flex-direction: column;
    }
    .enfa-contact-visual {
        display: none;
    }
}
@media (max-width: 560px) {
    .enfa-download-hero,
    .enfa-contact-hero {
        padding: 58px 20px 40px;
    }
    .enfa-form-grid {
        grid-template-columns: 1fr;
    }
    .enfa-app-card {
        grid-template-columns: 1fr;
        padding: 24px;
    }
    .enfa-contact-form-card {
        padding: 22px;
    }
    .enfa-gradient-cta {
        padding: 28px;
    }
}
/* FA07 — Legal, cumplimiento y eliminación de cuenta */
.enfa-legal-hero {
    max-width: 1240px;
    margin: auto;
    padding: 82px 28px 48px;
    display: grid;
    grid-template-columns: 1.15fr 0.55fr;
    gap: 50px;
    align-items: center;
}
.enfa-legal-hero h1,
.enfa-delete-hero h1 {
    font-size: clamp(42px, 5vw, 68px);
    line-height: 1;
    letter-spacing: -0.045em;
    color: #07173d;
    margin: 13px 0 20px;
}
.enfa-legal-hero p,
.enfa-delete-hero > div > p {
    font-size: 17px;
    line-height: 1.7;
    color: #66748e;
    max-width: 720px;
}
.enfa-legal-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}
.enfa-legal-meta span {
    padding: 9px 12px;
    border: 1px solid #dcebf2;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    color: #52627d;
    background: #fff;
}
.enfa-legal-mark {
    min-height: 240px;
    border-radius: 30px;
    background: linear-gradient(145deg, #e5fdff, #eee8ff);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px;
    box-shadow: 0 24px 55px rgba(28, 61, 102, 0.09);
}
.enfa-legal-mark img {
    width: 150px;
}
.enfa-legal-mark span {
    font-weight: 850;
    color: #172550;
}
.enfa-legal-shell {
    max-width: 1240px;
    margin: 0 auto 90px;
    padding: 0 28px;
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}
.enfa-legal-nav {
    position: sticky;
    top: 105px;
    display: grid;
    gap: 5px;
    padding: 20px;
    border: 1px solid #e2ebf4;
    border-radius: 20px;
    background: #fff;
}
.enfa-legal-nav strong {
    font-size: 12px;
    letter-spacing: 0.1em;
    color: #08aab5;
    margin: 0 10px 8px;
    text-transform: uppercase;
}
.enfa-legal-nav a {
    padding: 12px 13px;
    border-radius: 11px;
    text-decoration: none;
    color: #5b6983;
    font-size: 13px;
    font-weight: 750;
}
.enfa-legal-nav a:hover,
.enfa-legal-nav a.active {
    background: linear-gradient(100deg, #e7fbfc, #f0ebff);
    color: #13224b;
}
.enfa-legal-document {
    border: 1px solid #e2ebf4;
    border-radius: 26px;
    background: #fff;
    padding: clamp(28px, 5vw, 58px);
    box-shadow: 0 20px 55px rgba(22, 54, 94, 0.07);
}
.enfa-cms-legal-content {
    font-size: 15px;
    line-height: 1.8;
    color: #44536e;
}
.enfa-cms-legal-content h1,
.enfa-cms-legal-content h2,
.enfa-cms-legal-content h3,
.enfa-cms-legal-content h4 {
    color: #0d1d48;
    line-height: 1.2;
    margin-top: 1.8em;
}
.enfa-cms-legal-content h1 {
    font-size: 32px;
}
.enfa-cms-legal-content h2 {
    font-size: 25px;
}
.enfa-cms-legal-content h3 {
    font-size: 20px;
}
.enfa-cms-legal-content a {
    color: #0baab5;
    font-weight: 750;
}
.enfa-cms-legal-content table {
    width: 100%;
    border-collapse: collapse;
    display: block;
    overflow-x: auto;
}
.enfa-cms-legal-content th,
.enfa-cms-legal-content td {
    padding: 10px;
    border: 1px solid #e1e9f2;
}
.enfa-legal-empty {
    padding: 50px;
    text-align: center;
    background: #f7fbfd;
    border-radius: 18px;
    color: #68758d;
}
.enfa-delete-hero {
    max-width: 1240px;
    margin: auto;
    padding: 76px 28px 45px;
    display: grid;
    grid-template-columns: 1.1fr 0.7fr;
    gap: 55px;
    align-items: center;
}
.enfa-delete-notice {
    margin-top: 24px;
    padding: 15px 17px;
    border-radius: 14px;
    background: #effbfd;
    border: 1px solid #d7f0f2;
    color: #426078;
    font-size: 13px;
    font-weight: 700;
}
.enfa-delete-visual {
    min-height: 320px;
    border-radius: 30px;
    background: linear-gradient(145deg, #dcfbfd, #eee8ff);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px;
    box-shadow: 0 25px 60px rgba(27, 61, 104, 0.1);
}
.enfa-delete-visual img {
    width: 135px;
}
.enfa-delete-visual strong {
    color: #13214b;
}
.enfa-delete-shield {
    width: 70px;
    height: 70px;
    border-radius: 22px;
    background: var(--enfa-gradient);
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 30px;
    font-weight: 900;
    box-shadow: 0 15px 35px rgba(67, 84, 224, 0.22);
}
.enfa-delete-layout {
    max-width: 1240px;
    margin: 0 auto 90px;
    padding: 0 28px;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
    gap: 28px;
    align-items: start;
}
.enfa-delete-form-card {
    border: 1px solid #e2ebf4;
    border-radius: 28px;
    background: #fff;
    padding: 34px;
    box-shadow: 0 20px 55px rgba(22, 54, 94, 0.07);
}
.enfa-form-heading {
    display: flex;
    gap: 15px;
    margin-bottom: 26px;
}
.enfa-form-heading > span {
    width: 42px;
    height: 42px;
    border-radius: 13px;
    background: linear-gradient(145deg, #dffbfc, #eee8ff);
    display: grid;
    place-items: center;
    color: #0ba9b4;
    font-weight: 900;
    flex: 0 0 auto;
}
.enfa-form-heading h2 {
    margin: 0;
    color: #0b1a44;
    font-size: 25px;
}
.enfa-form-heading p {
    margin: 6px 0 0;
    color: #6d7991;
    font-size: 13px;
    line-height: 1.6;
}
.enfa-delete-form {
    display: grid;
    gap: 17px;
}
.enfa-delete-form label {
    display: grid;
    gap: 7px;
    color: #17264d;
    font-size: 13px;
    font-weight: 800;
}
.enfa-delete-form input,
.enfa-delete-form select,
.enfa-delete-form textarea {
    width: 100%;
    border: 1px solid #d8e4ef;
    border-radius: 13px;
    padding: 13px 14px;
    background: #f9fbfd;
    color: #14224a;
    font: inherit;
    outline: none;
}
.enfa-delete-form input:focus,
.enfa-delete-form select:focus,
.enfa-delete-form textarea:focus {
    border-color: #20bdcb;
    box-shadow: 0 0 0 4px rgba(32, 189, 203, 0.1);
}
.enfa-consent {
    grid-template-columns: 20px 1fr !important;
    align-items: start !important;
    padding: 15px;
    border: 1px solid #dfe8f2;
    border-radius: 14px;
    background: #f8fbfd;
    font-weight: 650 !important;
    line-height: 1.5;
}
.enfa-consent input {
    width: 18px !important;
    height: 18px;
    margin: 2px 0 0;
    padding: 0;
}
.enfa-delete-aside {
    display: grid;
    gap: 14px;
}
.enfa-delete-aside article {
    padding: 23px;
    border: 1px solid #e2ebf4;
    border-radius: 20px;
    background: #fff;
}
.enfa-delete-aside article > b {
    color: #08aab5;
    font-size: 12px;
}
.enfa-delete-aside h3 {
    margin: 8px 0;
    color: #11204a;
}
.enfa-delete-aside p {
    color: #69768e;
    font-size: 13px;
    line-height: 1.65;
}
.enfa-delete-aside small {
    color: #7b879c;
    line-height: 1.5;
}
.enfa-delete-contact {
    background: linear-gradient(145deg, #071735, #102654) !important;
    color: #fff;
}
.enfa-delete-contact h3 {
    color: #fff;
}
.enfa-delete-contact a {
    display: block;
    color: #59e0e5;
    text-decoration: none;
    font-weight: 800;
    margin: 8px 0;
}
.enfa-delete-contact small {
    color: #bdc9da;
}
.enfa-delete-form .enfa-btn {
    border: 0;
    cursor: pointer;
}
@media (max-width: 900px) {
    .enfa-legal-hero,
    .enfa-delete-hero,
    .enfa-delete-layout {
        grid-template-columns: 1fr;
    }
    .enfa-legal-shell {
        grid-template-columns: 1fr;
    }
    .enfa-legal-nav {
        position: static;
        grid-template-columns: repeat(2, 1fr);
    }
    .enfa-legal-nav strong {
        grid-column: 1/-1;
    }
    .enfa-delete-visual {
        min-height: 240px;
    }
}
@media (max-width: 560px) {
    .enfa-legal-hero,
    .enfa-delete-hero {
        padding: 55px 20px 35px;
    }
    .enfa-legal-shell,
    .enfa-delete-layout {
        padding: 0 20px;
    }
    .enfa-legal-nav {
        grid-template-columns: 1fr;
    }
    .enfa-legal-document,
    .enfa-delete-form-card {
        padding: 22px;
    }
    .enfa-legal-meta {
        display: grid;
    }
    .enfa-form-grid {
        grid-template-columns: 1fr;
    }
}

/* FA07 FIX1 — Pre-registro público */
.enfa-prereg-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 24px;
}
.enfa-prereg-tabs a {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-height: 92px;
    justify-content: center;
    padding: 16px 18px;
    text-align: left;
    border: 1px solid #dce8f1;
    border-radius: 18px;
    font-weight: 800;
    color: #10204b;
    background: #fff;
    box-shadow: 0 10px 28px rgba(24, 48, 83, 0.05);
    transition: 0.2s ease;
}
.enfa-prereg-tabs a:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(24, 48, 83, 0.09);
}
.enfa-prereg-tabs a strong {
    font-size: 15px;
}
.enfa-prereg-tabs a small {
    font-size: 11px;
    line-height: 1.35;
    font-weight: 600;
    color: #71809a;
}
.enfa-prereg-tabs a.active {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(100deg, #10c7ca, #7040f4);
    box-shadow: 0 12px 30px rgba(80, 76, 230, 0.2);
}
.enfa-prereg-tabs a.active small {
    color: rgba(255, 255, 255, 0.88);
}
.enfa-prereg-form {
    background: #fff;
    border: 1px solid #e1ebf3;
    border-radius: 24px;
    padding: 30px;
    box-shadow: 0 18px 50px rgba(24, 48, 83, 0.08);
}
.enfa-form-heading {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: end;
    margin-bottom: 22px;
}
.enfa-form-heading span {
    font-size: 11px;
    font-weight: 900;
    color: #00aeb8;
    letter-spacing: 0.12em;
}
.enfa-form-heading h2 {
    margin: 4px 0 0;
    color: #101c47;
}
.enfa-form-heading p {
    margin: 0;
    color: #74819a;
    font-size: 12px;
}
.enfa-form-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.enfa-form-grid label {
    font-size: 12px;
    font-weight: 800;
    color: #1b2b52;
}
.enfa-form-grid input,
.enfa-form-grid select,
.enfa-form-grid textarea {
    display: block;
    width: 100%;
    margin-top: 7px;
    border: 1px solid #dbe7f0;
    border-radius: 12px;
    padding: 12px 13px;
    background: #fafdff;
    color: #17213f;
    outline: 0;
}
.enfa-form-grid input:focus,
.enfa-form-grid select:focus,
.enfa-form-grid textarea:focus {
    border-color: #18bec9;
    box-shadow: 0 0 0 3px rgba(24, 190, 201, 0.1);
}
.enfa-form-grid .wide {
    grid-column: 1/-1;
}
.enfa-consent {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin: 22px 0;
    font-size: 12px;
    color: #52617e;
}
.enfa-consent input {
    margin-top: 3px;
}
.enfa-submit {
    min-width: 260px;
}
.enfa-hp {
    position: absolute !important;
    left: -9999px !important;
}
.enfa-form-alert {
    background: #fff3f3;
    border: 1px solid #ffd4d4;
    border-radius: 14px;
    padding: 14px 18px;
    margin-bottom: 18px;
    color: #9b2525;
}
.enfa-success-card {
    max-width: 760px;
    margin: 60px auto;
    text-align: center;
    background: #fff;
    border: 1px solid #e1ebf3;
    border-radius: 28px;
    padding: 48px;
    box-shadow: 0 22px 60px rgba(25, 48, 83, 0.09);
}
.enfa-success-icon {
    width: 70px;
    height: 70px;
    border-radius: 22px;
    margin: 0 auto 18px;
    display: grid;
    place-items: center;
    font-size: 34px;
    color: #fff;
    background: linear-gradient(135deg, #10c7ca, #7040f4);
}
.enfa-folio {
    display: inline-block;
    margin: 20px 0;
    padding: 13px 20px;
    border-radius: 12px;
    background: #eefafb;
    color: #087f89;
    font-weight: 900;
    letter-spacing: 0.08em;
}
@media (max-width: 900px) {
    .enfa-form-grid {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 620px) {
    .enfa-prereg-tabs,
    .enfa-form-grid {
        grid-template-columns: 1fr;
    }
    .enfa-prereg-form {
        padding: 18px;
    }
    .enfa-form-heading {
        display: block;
    }
    .enfa-form-heading p {
        margin-top: 8px;
    }
    .enfa-submit {
        width: 100%;
        min-width: 0;
    }
}
/* FA08 — enfá! Local public directory */
.enfa-local-hero {
    background: linear-gradient(135deg, #f4ffff 0%, #fbf8ff 100%);
}
.enfa-local-hero-mark {
    min-height: 270px;
    border-radius: 34px;
    background: linear-gradient(135deg, #11c7cf, #7958e8);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    box-shadow: 0 24px 70px rgba(72, 75, 150, 0.18);
}
.enfa-local-hero-mark span {
    font-size: 54px;
    font-weight: 900;
    letter-spacing: -3px;
}
.enfa-local-hero-mark strong {
    font-size: 34px;
}
.enfa-local-hero-mark small {
    margin-top: 12px;
    font-size: 15px;
}
.enfa-local-filters {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr auto;
    gap: 14px;
    align-items: end;
    margin: 28px 0 34px;
    padding: 20px;
    border: 1px solid #e8edf3;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(31, 44, 71, 0.06);
}
.enfa-local-filters label span {
    display: block;
    font-size: 12px;
    font-weight: 800;
    color: #667085;
    margin: 0 0 7px;
}
.enfa-local-filters input,
.enfa-local-filters select {
    width: 100%;
    min-height: 48px;
    border: 1px solid #dce3ea;
    border-radius: 12px;
    padding: 0 13px;
    background: #fff;
    color: #172033;
}
.enfa-local-clear {
    grid-column: 1/-1;
    font-size: 13px;
    color: #6855d9;
}
.enfa-local-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}
.enfa-local-card {
    overflow: hidden;
    border: 1px solid #e9edf2;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 14px 40px rgba(28, 43, 69, 0.07);
    transition: 0.22s ease;
}
.enfa-local-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 48px rgba(28, 43, 69, 0.11);
}
.enfa-local-logo {
    height: 170px;
    background: #f6fafb;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.enfa-local-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 24px;
}
.enfa-local-logo > span {
    width: 76px;
    height: 76px;
    border-radius: 22px;
    background: linear-gradient(135deg, #16c7cf, #7758e7);
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 34px;
    font-weight: 900;
}
.enfa-local-logo b {
    position: absolute;
    right: 14px;
    top: 14px;
    background: #fff;
    color: #684fd6;
    border-radius: 999px;
    padding: 7px 10px;
    font-size: 11px;
}
.enfa-local-card-body {
    padding: 22px;
}
.enfa-local-card-body h3 {
    margin: 5px 0 6px;
    font-size: 21px;
}
.enfa-local-card-body p {
    color: #667085;
    line-height: 1.6;
}
.enfa-local-category {
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #12aeb6;
}
.enfa-local-place {
    font-size: 13px;
}
.enfa-local-offer {
    display: inline-block;
    margin: 5px 0 13px;
    padding: 7px 10px;
    border-radius: 10px;
    background: #f2efff;
    color: #664bd0;
    font-size: 12px;
    font-weight: 800;
}
.enfa-local-card-body > a {
    font-weight: 800;
    color: #624ad0;
}
.enfa-local-empty {
    padding: 45px;
    text-align: center;
    border: 1px dashed #cad5df;
    border-radius: 24px;
    background: #fbfdfd;
}
.enfa-local-pagination {
    margin-top: 28px;
}
.enfa-local-detail {
    padding-top: 56px;
}
.enfa-local-back {
    display: inline-block;
    margin-bottom: 24px;
    color: #6250c9;
    font-weight: 800;
}
.enfa-local-detail-grid {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 42px;
    align-items: center;
}
.enfa-local-detail-brand {
    min-height: 280px;
    border-radius: 28px;
    background: #f5fafb;
    display: grid;
    place-items: center;
    border: 1px solid #e6edf1;
}
.enfa-local-detail-brand img {
    max-width: 82%;
    max-height: 210px;
}
.enfa-local-detail-brand span {
    width: 100px;
    height: 100px;
    border-radius: 28px;
    background: linear-gradient(135deg, #13c6cf, #7759e6);
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 44px;
    font-weight: 900;
}
.enfa-local-detail h1 {
    font-size: clamp(34px, 5vw, 58px);
    margin: 8px 0;
}
.enfa-local-featured {
    display: inline-block;
    padding: 7px 11px;
    background: #f2efff;
    color: #664bd0;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}
.enfa-local-lead {
    font-size: 17px;
    line-height: 1.75;
    color: #566174;
}
.enfa-local-meta {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    color: #667085;
}
.enfa-local-offers,
.enfa-local-branches {
    margin-top: 48px;
}
.enfa-local-offer-grid,
.enfa-local-branch-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.enfa-local-offer-grid article,
.enfa-local-branch-grid article {
    padding: 22px;
    border: 1px solid #e6ebf0;
    border-radius: 20px;
    background: #fff;
}
.enfa-local-offer-grid article > span {
    color: #13aeb7;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}
.enfa-local-branch-grid article {
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.enfa-local-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 34px;
}
@media (max-width: 980px) {
    .enfa-local-filters {
        grid-template-columns: 1fr 1fr;
    }
    .enfa-local-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .enfa-local-detail-grid {
        grid-template-columns: 1fr;
    }
    .enfa-local-offer-grid,
    .enfa-local-branch-grid {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 640px) {
    .enfa-local-filters,
    .enfa-local-grid,
    .enfa-local-offer-grid,
    .enfa-local-branch-grid {
        grid-template-columns: 1fr;
    }
    .enfa-local-hero-mark {
        min-height: 210px;
    }
    .enfa-local-detail {
        padding-top: 34px;
    }
}
/* FA09 — Franquicias / expansión territorial */
.enfa-franchise-hero {
    background: linear-gradient(135deg, #f4ffff 0%, #fbf8ff 100%);
}
.enfa-franchise-note {
    display: block;
    margin-top: 16px;
    color: #71809a;
    line-height: 1.5;
}
.enfa-franchise-visual {
    min-height: 340px;
    display: grid;
    place-items: center;
}
.enfa-franchise-orbit {
    width: min(360px, 85vw);
    aspect-ratio: 1;
    border-radius: 50%;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: radial-gradient(
        circle,
        #fff 0 29%,
        #ecfbfc 30% 49%,
        #f0ebff 50% 67%,
        transparent 68%
    );
    border: 1px solid #e4edf4;
}
.enfa-franchise-orbit:before,
.enfa-franchise-orbit:after {
    content: "";
    position: absolute;
    border: 1px dashed rgba(103, 80, 219, 0.35);
    border-radius: 50%;
    inset: 15%;
}
.enfa-franchise-orbit:after {
    inset: 31%;
    border-color: rgba(11, 178, 187, 0.45);
}
.enfa-franchise-orbit strong {
    font-size: 48px;
    color: #10204b;
    z-index: 2;
}
.enfa-franchise-orbit > span {
    color: #6352cc;
    font-weight: 800;
    z-index: 2;
}
.enfa-franchise-orbit i {
    position: absolute;
    width: 18px;
    height: 18px;
    border: 5px solid #fff;
    border-radius: 50%;
    background: #12c3ca;
    box-shadow: 0 5px 18px rgba(28, 64, 95, 0.18);
}
.enfa-franchise-orbit i:nth-of-type(1) {
    top: 14%;
    right: 24%;
}
.enfa-franchise-orbit i:nth-of-type(2) {
    bottom: 22%;
    left: 13%;
    background: #7355e4;
}
.enfa-franchise-orbit i:nth-of-type(3) {
    right: 7%;
    bottom: 35%;
}
.enfa-franchise-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.enfa-franchise-grid article {
    padding: 28px;
    border: 1px solid #e4ebf2;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 14px 40px rgba(28, 43, 69, 0.06);
}
.enfa-franchise-grid b {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 13px;
    background: linear-gradient(135deg, #e1fbfc, #eee9ff);
    color: #6551d0;
}
.enfa-franchise-grid h3 {
    margin: 18px 0 8px;
    color: #11204a;
}
.enfa-franchise-grid p {
    margin: 0;
    color: #68758c;
    line-height: 1.65;
}
.enfa-franchise-process {
    background: #f8fbfd;
    border-radius: 34px;
}
.enfa-franchise-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.enfa-franchise-steps > div {
    padding: 22px;
    border-radius: 20px;
    background: #fff;
    border: 1px solid #e4ebf2;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.enfa-franchise-steps span {
    width: 34px;
    height: 34px;
    border-radius: 11px;
    background: #10204b;
    color: #fff;
    display: grid;
    place-items: center;
    font-weight: 900;
}
.enfa-franchise-steps strong {
    color: #15234a;
}
.enfa-franchise-steps small {
    color: #6e7a91;
    line-height: 1.55;
}
.enfa-territory-public-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}
.enfa-territory-public-grid article {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 20px;
    border: 1px solid #e3eaf1;
    border-radius: 18px;
    background: #fff;
}
.enfa-territory-public-grid article > span {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: #e7fafb;
    color: #0ba8b1;
    font-size: 19px;
}
.enfa-territory-public-grid article div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.enfa-territory-public-grid strong {
    color: #15234a;
}
.enfa-territory-public-grid small {
    color: #738098;
}
.enfa-territory-public-grid em {
    font-style: normal;
    font-size: 11px;
    font-weight: 800;
    color: #0a9aa4;
}
.enfa-franchise-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 38px;
    border-radius: 28px;
    background: linear-gradient(120deg, #e8fcfd, #f0ecff);
}
.enfa-franchise-cta h2 {
    margin: 7px 0;
    color: #10204b;
}
.enfa-franchise-cta p {
    max-width: 720px;
    margin: 0;
    color: #63718a;
    line-height: 1.65;
}
@media (max-width: 900px) {
    .enfa-franchise-grid,
    .enfa-territory-public-grid {
        grid-template-columns: 1fr 1fr;
    }
    .enfa-franchise-steps {
        grid-template-columns: 1fr 1fr;
    }
    .enfa-franchise-cta {
        align-items: flex-start;
        flex-direction: column;
    }
}
@media (max-width: 620px) {
    .enfa-franchise-grid,
    .enfa-territory-public-grid,
    .enfa-franchise-steps {
        grid-template-columns: 1fr;
    }
    .enfa-franchise-visual {
        min-height: 280px;
    }
    .enfa-franchise-cta {
        padding: 26px;
    }
}
/* ===== enfá! HOME PRO — reference-faithful visual layer ===== */
.hp {
    --navy: #071b4a;
    --cyan: #05d8ef;
    --violet: #7c2cff;
    --ink: #071842;
    --muted: #66718d;
    font-family:
        Inter,
        system-ui,
        -apple-system,
        Segoe UI,
        sans-serif;
    color: var(--ink);
    overflow: hidden;
    background: #fff;
}
.hp * {
    box-sizing: border-box;
}
.hp-wrap {
    width: min(1180px, calc(100% - 48px));
    margin: auto;
}
.hp h1,
.hp h2,
.hp h3,
.hp p {
    margin-top: 0;
}
.hp h2 {
    font-weight: 900;
    letter-spacing: -0.04em;
}
.hp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 28px;
    border-radius: 999px;
    font-weight: 800;
    text-decoration: none;
    transition: 0.3s ease;
    box-shadow: 0 12px 28px #09245c18;
}
.hp-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 38px #09245c28;
}
.hp-btn.cyan {
    background: linear-gradient(135deg, #08d9ee, #0fc8e8);
    color: #06204d;
}
.hp-btn.violet {
    background: linear-gradient(135deg, #371184, #7628e8);
    color: #fff;
}
.hp-btn.grad {
    background: linear-gradient(100deg, #0dd8ed 5%, #8429ff 100%);
    color: #fff;
}
.hp-btn.outline {
    border: 2px solid #7b35e7;
    color: #6521c8;
    background: #fff;
}
.hp-kicker {
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    color: #7750db;
    margin-bottom: 20px;
}
.hp-hero {
    position: relative;
    background:
        radial-gradient(circle at 76% 14%, #e9e2ff 0, transparent 34%),
        linear-gradient(180deg, #fff 0, #fff 90%, #f7fbff 100%);
    padding: 48px 0 0;
}
.hp-hero-grid {
    display: grid;
    grid-template-columns: 0.78fr 1.22fr;
    min-height: 550px;
    align-items: center;
}
.hp-hero-copy {
    position: relative;
    z-index: 5;
    padding: 40px 0 65px;
}
.hp-hero h1 {
    font-size: clamp(54px, 6.2vw, 92px);
    line-height: 0.88;
    letter-spacing: -0.065em;
    margin-bottom: 26px;
    font-weight: 950;
}
.hp-hero h1 span,
.hp-more h2 span,
.hp-ecosystem h2 span,
.hp-local h2 span,
.hp-download-pro h2 span,
.hp-coverage h2 span {
    background: linear-gradient(100deg, #08bedf, #6e2cf3);
    -webkit-background-clip: text;
    color: transparent;
}
.hp-hero-copy > p {
    font-size: 20px;
    line-height: 1.45;
    font-weight: 650;
    max-width: 560px;
}
.hp-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin: 26px 0;
}
.hp-social {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 13px;
    max-width: 340px;
}
.hp-faces {
    display: flex;
}
.hp-faces i {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 3px solid #fff;
    margin-left: -9px;
    background: linear-gradient(145deg, #d2f9ff, #e8d8ff);
    box-shadow: 0 5px 15px #10245a24;
}
.hp-faces i:first-child {
    margin-left: 0;
}
.hp-hero-art {
    height: 550px;
    position: relative;
    align-self: end;
}
.hp-hero-art > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 0 0 0 52px;
    filter: saturate(1.08) contrast(1.02);
}
.hp-hero-art:after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, #fff 0, transparent 25%),
        linear-gradient(0deg, #fff 0, transparent 16%);
    pointer-events: none;
}
.hp-phone {
    position: absolute;
    right: 4%;
    top: 4%;
    z-index: 3;
    width: 240px;
    height: 470px;
    background: #07162d;
    border: 7px solid #111827;
    border-radius: 38px;
    padding: 28px 16px 18px;
    color: #fff;
    transform: rotate(5deg);
    box-shadow: 0 28px 55px #00122d66;
    animation: phoneFloat 6s ease-in-out infinite;
}
.hp-phone-top {
    text-align: center;
}
.hp-phone-top img {
    height: 38px;
    max-width: 100px;
    object-fit: contain;
}
.hp-phone > small {
    display: block;
    margin: 18px 0 8px;
    color: #dbe7ff;
}
.hp-search {
    background: #fff;
    color: #71809c;
    border-radius: 12px;
    padding: 12px;
    font-size: 11px;
}
.hp-map {
    height: 170px;
    margin: 14px 0;
    background:
        radial-gradient(circle at 30% 40%, #153f69 0 2px, transparent 3px),
        linear-gradient(145deg, #0a223e, #08182d);
    border-radius: 15px;
    position: relative;
}
.hp-map:before {
    content: "";
    position: absolute;
    left: 34%;
    top: 25%;
    width: 43%;
    height: 48%;
    border: 3px solid #00d7ed;
    border-left-color: #8b34ff;
    border-radius: 45% 55% 30% 60%;
    transform: rotate(-12deg);
}
.hp-map b,
.hp-map i {
    position: absolute;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #8b34ff;
    left: 30%;
    top: 20%;
}
.hp-map i {
    background: #00d7ed;
    left: auto;
    right: 20%;
    top: auto;
    bottom: 20%;
}
.hp-phone-nav {
    display: flex;
    justify-content: space-around;
    text-align: center;
    color: #09d6eb;
}
.hp-phone-nav span {
    display: grid;
    gap: 3px;
}
.hp-phone-nav small {
    font-size: 8px;
    color: #c6d3e8;
}
.hp-trustbar {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding: 22px 0 30px;
}
.hp-trustbar > div {
    display: flex;
    align-items: center;
    gap: 12px;
}
.hp-trustbar b {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #dffcff;
    color: #0d61c4;
    font-size: 25px;
}
.hp-trustbar span {
    display: grid;
}
.hp-trustbar strong {
    font-size: 14px;
}
.hp-trustbar small {
    color: var(--muted);
}
.hp-section {
    padding: 72px 0;
}
.hp-two {
    display: grid;
    grid-template-columns: 0.82fr 1.18fr;
    gap: 64px;
    align-items: center;
}
.hp-more h2 {
    font-size: 48px;
    line-height: 0.95;
    max-width: 460px;
}
.hp-more p {
    font-size: 17px;
    line-height: 1.55;
    color: #53617f;
    max-width: 510px;
}
.hp-actor-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}
.actor {
    height: 145px;
    border-radius: 13px;
    overflow: hidden;
    position: relative;
    padding: 94px 13px 10px;
    color: #071842;
    background-image:
        linear-gradient(0deg, #fff 0 36%, transparent 60%),
        url("../images/enfa-home-pro/actors-grid.jpg");
    background-size: 300% 200%;
    box-shadow: 0 7px 18px #132a5a14;
}
.actor b,
.actor small {
    display: block;
    position: relative;
    z-index: 2;
}
.actor b {
    font-size: 13px;
}
.actor small {
    font-size: 9px;
}
.a1 {
    background-position: 0 0;
}
.a2 {
    background-position: 50% 0;
}
.a3 {
    background-position: 100% 0;
}
.a4 {
    background-position: 0 100%;
}
.a5 {
    background-position: 50% 100%;
}
.a6 {
    background-position: 100% 100%;
}
.hp-ecosystem {
    padding: 35px 0 50px;
    background:
        radial-gradient(circle at 50% 100%, #d9fbff, transparent 45%),
        linear-gradient(#fff, #f8fcff);
    border-bottom: 10px solid #071c48;
    border-radius: 0 0 50% 6%/0 0 10% 3%;
}
.hp-center-title {
    text-align: center;
}
.hp-center-title > small {
    font-weight: 900;
    letter-spacing: 0.12em;
    color: #10cbe2;
}
.hp-center-title h2 {
    font-size: 38px;
    margin: 7px 0;
}
.hp-center-title p {
    color: #66718d;
}
.hp-orbit {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    align-items: center;
    gap: 18px;
    margin-top: 28px;
    position: relative;
}
.hp-orbit:before {
    content: "";
    position: absolute;
    left: 7%;
    right: 7%;
    top: 44%;
    height: 3px;
    background: linear-gradient(
        90deg,
        transparent,
        #17d4e8 10%,
        #7a36f2 50%,
        #17d4e8 90%,
        transparent
    );
    z-index: 0;
}
.orb {
    position: relative;
    z-index: 1;
    text-align: center;
    display: grid;
    justify-items: center;
    gap: 8px;
}
.orb i,
.orb.brand {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background: #fff;
    border: 5px solid #e8faff;
    display: grid;
    place-items: center;
    font-style: normal;
    font-size: 40px;
    box-shadow: 0 10px 25px #0a7caa20;
}
.orb.brand {
    width: 118px;
    height: 118px;
    border: 8px solid #e9f9ff;
}
.orb.brand img {
    width: 82px;
}
.orb b {
    font-size: 12px;
}
.hp-safety {
    background: #041a3c;
    color: #fff;
    padding: 0;
}
.hp-safety-grid {
    min-height: 230px;
    display: grid;
    grid-template-columns: 220px 1fr 1.1fr;
    gap: 30px;
    align-items: center;
}
.hp-safety-photo {
    height: 230px;
    overflow: hidden;
    align-self: stretch;
}
.hp-safety-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.hp-safety h2 {
    font-size: 34px;
    margin-bottom: 8px;
}
.hp-safety p {
    color: #d0d9e8;
    line-height: 1.5;
}
.hp-safety-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}
.hp-safety-cards article {
    min-height: 130px;
    background: #082553;
    border-radius: 18px;
    padding: 22px 10px;
    text-align: center;
    display: grid;
    place-items: center;
    gap: 8px;
}
.hp-safety-cards i {
    font-style: normal;
    font-size: 31px;
    color: #11d4ec;
}
.hp-safety-cards b {
    font-size: 12px;
}
.hp-local {
    padding: 0;
}
.hp-local-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    align-items: stretch;
    min-height: 300px;
}
.hp-local-grid > div:first-child {
    padding: 52px 30px 52px 0;
}
.hp-local h2 {
    font-size: 38px;
    margin-bottom: 8px;
}
.hp-local p {
    color: #66718d;
}
.hp-mini-features {
    display: flex;
    gap: 28px;
    margin: 25px 0;
}
.hp-mini-features span {
    display: grid;
    text-align: center;
    color: #0861c8;
    font-size: 22px;
}
.hp-mini-features b {
    font-size: 10px;
    color: #10214d;
    margin-top: 7px;
}
.hp-local-photo {
    position: relative;
    overflow: hidden;
}
.hp-local-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.deal {
    position: absolute;
    right: 20px;
    top: 50%;
    background: #fff;
    border-radius: 12px;
    padding: 12px 18px;
    box-shadow: 0 12px 30px #001c4c35;
    display: grid;
    color: #10214d;
}
.deal small {
    color: #53617f;
}
.hp-how {
    background: #fff;
    padding: 0;
}
.hp-how-grid {
    display: grid;
    grid-template-columns: 1.45fr 0.55fr;
    min-height: 280px;
}
.hp-how-grid > div:first-child {
    padding: 40px 30px 38px 0;
}
.hp-how h2 {
    font-size: 38px;
    margin-bottom: 3px;
}
.hp-how h3 {
    font-size: 17px;
    color: #34456b;
}
.hp-steps {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    margin-top: 32px;
}
.hp-steps span {
    display: grid;
    justify-items: center;
    text-align: center;
    gap: 7px;
}
.hp-steps i {
    font-style: normal;
    font-weight: 900;
    color: #1676d8;
}
.hp-steps b {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: #dffcff;
    color: #194bb5;
    font-size: 24px;
}
.hp-steps small {
    font-weight: 800;
    font-size: 10px;
}
.hp-how-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.hp-download-pro {
    padding: 35px 0;
    background:
        radial-gradient(circle at 20% 20%, #dffbff, transparent 35%),
        radial-gradient(circle at 80% 80%, #f1e2ff, transparent 40%), #fff;
}
.hp-download-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    align-items: center;
}
.hp-app-photo {
    position: relative;
}
.hp-app-photo img {
    width: 90%;
    max-height: 270px;
    object-fit: cover;
    border-radius: 28px;
}
.app-labels {
    display: flex;
    gap: 70px;
    margin: -30px 0 0 45px;
    position: relative;
}
.app-labels b {
    background: #fff;
    padding: 12px 22px;
    border-radius: 10px;
    box-shadow: 0 8px 22px #11295b22;
}
.hp-download-pro h2 {
    font-size: 48px;
    margin-bottom: 4px;
}
.hp-download-pro p {
    font-size: 18px;
}
.hp-qr {
    display: inline-grid;
    place-items: center;
    width: 95px;
    height: 95px;
    background: repeating-conic-gradient(#111 0 25%, #fff 0 50%) 0/14px 14px;
    font-size: 0;
    margin-right: 18px;
    vertical-align: middle;
}
.hp-store {
    display: inline-grid;
    gap: 8px;
    vertical-align: middle;
}
.hp-store a {
    background: #050505;
    color: #fff;
    text-decoration: none;
    border-radius: 7px;
    padding: 10px 18px;
}
.hp-coverage {
    padding: 24px 0 12px;
}
.hp-coverage-card {
    min-height: 220px;
    border-radius: 24px;
    background: #062452;
    color: #fff;
    display: grid;
    grid-template-columns: 1.1fr 0.9fr 190px;
    gap: 20px;
    align-items: center;
    padding: 24px 28px;
    box-shadow: 0 18px 40px #061c4b2c;
}
.hp-coverage h2 {
    font-size: 30px;
    margin-bottom: 5px;
}
.hp-coverage p {
    color: #d5e0f1;
}
.hp-city-search {
    background: #fff;
    color: #7b849a;
    border-radius: 999px;
    padding: 12px 18px;
    margin: 18px 0 12px;
    max-width: 380px;
}
.hp-legend {
    display: flex;
    gap: 18px;
    font-size: 10px;
}
.hp-legend span:first-child {
    color: #12d9e9;
}
.hp-legend span:nth-child(2) {
    color: #2d7ef6;
}
.hp-legend span:nth-child(3) {
    color: #9a4dff;
}
.hp-coverage-card > img {
    width: 100%;
    height: 170px;
    object-fit: cover;
    border-radius: 14px;
}
.hp-coverage aside {
    background: #fff;
    color: #10214d;
    border-radius: 14px;
    padding: 16px;
    display: grid;
    gap: 4px;
}
.hp-coverage aside > b {
    font-size: 17px;
}
.hp-coverage aside > small {
    color: #0ebed6;
}
.hp-coverage aside strong,
.hp-coverage aside em {
    font-size: 9px;
    font-style: normal;
}
.hp-final {
    position: relative;
    min-height: 200px;
    display: grid;
    place-items: center;
    overflow: hidden;
}
.hp-final > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(1.15);
}
.hp-final:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(#ffffffbb, #ffffffa6);
}
.hp-final-content {
    position: relative;
    z-index: 2;
    text-align: center;
}
.hp-final h2 {
    font-size: 34px;
    margin-bottom: 3px;
}
.hp-final p {
    font-weight: 600;
}
.hp-final .hp-actions {
    justify-content: center;
    margin-bottom: 0;
}
.reveal {
    opacity: 0;
    transform: translateY(24px);
    transition:
        opacity 0.75s ease,
        transform 0.75s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.reveal.in {
    opacity: 1;
    transform: none;
}
@keyframes phoneFloat {
    0%,
    100% {
        transform: rotate(5deg) translateY(0);
    }
    50% {
        transform: rotate(4deg) translateY(-12px);
    }
}
@media (max-width: 900px) {
    .hp-wrap {
        width: min(100% - 30px, 700px);
    }
    .hp-hero-grid,
    .hp-two,
    .hp-local-grid,
    .hp-how-grid,
    .hp-download-grid {
        grid-template-columns: 1fr;
    }
    .hp-hero-copy {
        padding-bottom: 25px;
    }
    .hp-hero-art {
        height: 480px;
    }
    .hp-trustbar {
        grid-template-columns: 1fr 1fr;
    }
    .hp-actor-grid {
        margin-top: 15px;
    }
    .hp-orbit {
        grid-template-columns: repeat(4, 1fr);
    }
    .hp-orbit:before {
        display: none;
    }
    .hp-safety-grid {
        grid-template-columns: 180px 1fr;
    }
    .hp-safety-cards {
        grid-column: 1/-1;
        padding-bottom: 25px;
    }
    .hp-local-grid > div:first-child {
        padding-right: 0;
    }
    .hp-local-photo {
        height: 280px;
    }
    .hp-how-photo {
        height: 280px;
    }
    .hp-coverage-card {
        grid-template-columns: 1fr 1fr;
    }
    .hp-coverage aside {
        grid-column: 1/-1;
    }
    .hp-mini-features {
        flex-wrap: wrap;
    }
}
@media (max-width: 600px) {
    .hp h2 {
        font-size: 34px;
    }
    .hp-hero {
        padding-top: 15px;
    }
    .hp-hero h1 {
        font-size: 56px;
    }
    .hp-hero-art {
        height: 430px;
        margin: 0 -15px;
    }
    .hp-phone {
        width: 190px;
        height: 390px;
        right: 4%;
        top: 5%;
        border-radius: 30px;
    }
    .hp-map {
        height: 125px;
    }
    .hp-trustbar,
    .hp-actor-grid,
    .hp-safety-cards,
    .hp-coverage-card {
        grid-template-columns: 1fr 1fr;
    }
    .hp-orbit {
        grid-template-columns: repeat(2, 1fr);
    }
    .orb.brand {
        grid-column: 1/-1;
        grid-row: 1;
    }
    .hp-safety-grid {
        grid-template-columns: 1fr;
    }
    .hp-safety-photo {
        height: 240px;
    }
    .hp-steps {
        grid-template-columns: repeat(3, 1fr);
    }
    .hp-coverage-card > img {
        grid-column: 1/-1;
    }
    .hp-coverage aside {
        grid-column: 1/-1;
    }
    .hp-actions .hp-btn {
        width: 100%;
    }
    .hp-mini-features {
        gap: 18px;
    }
    .hp-download-pro h2 {
        font-size: 40px;
    }
    .hp-final {
        min-height: 340px;
        padding: 40px 15px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
    .hp-phone {
        animation: none;
    }
    .hp-btn {
        transition: none;
    }
}

/* ========================================================================== */
/* HOME PRO 02 — integración profesional de estructura visual FA09            */
/* ========================================================================== */
body.enfa-public {
    background: #fff;
    color: #07143f;
}
.enfa-site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(9, 33, 79, 0.06);
}
.enfa-nav-wrap {
    max-width: 1360px;
    margin: auto;
    min-height: 76px;
    padding: 0 28px;
}
.enfa-brand img {
    height: 44px;
    width: auto;
}
.enfa-public-nav {
    gap: 22px;
}
.enfa-public-nav > a,
.enfa-nav-dropdown-toggle {
    font-size: 12px;
    font-weight: 800;
    color: #14234e;
}
.enfa-nav-cta {
    border-radius: 999px !important;
    background: linear-gradient(100deg, #0ed8df, #7b38f2) !important;
    box-shadow: 0 10px 28px rgba(63, 97, 236, 0.25);
}
.hp {
    --ink: #07143f;
    --muted: #60708d;
    --cyan: #08cedb;
    --violet: #7536f1;
    --navy: #031b3e;
    overflow: hidden;
}
.hp .hp-wrap {
    width: min(1320px, calc(100% - 72px));
    margin: auto;
}
.hp h1,
.hp h2,
.hp h3,
.hp p {
    letter-spacing: -0.02em;
}
.hp h2 {
    font-weight: 900;
}
.hp .grad,
.hp h2 span {
    background: linear-gradient(95deg, #00cbd9 10%, #236de9 58%, #8a2ff1);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.hp-hero {
    position: relative;
    isolation: isolate;
    background:
        linear-gradient(
            90deg,
            #fff 0%,
            rgba(255, 255, 255, 0.98) 35%,
            rgba(255, 255, 255, 0.65) 52%,
            rgba(255, 255, 255, 0.05) 75%
        ),
        linear-gradient(180deg, #eefcff 0, #fff 78%);
}
.hp-hero:after {
    content: "";
    position: absolute;
    z-index: -1;
    left: 42%;
    right: -12%;
    bottom: 0;
    height: 46%;
    background: radial-gradient(
        ellipse at center,
        rgba(0, 214, 231, 0.28),
        transparent 65%
    );
}
.hp-hero-grid {
    min-height: 610px;
    grid-template-columns: 0.78fr 1.22fr;
    gap: 12px;
}
.hp-hero-copy {
    padding: 56px 0 34px;
    position: relative;
    z-index: 5;
}
.hp-kicker {
    font-size: 10px;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    font-weight: 900;
    color: #6c48df;
}
.hp-hero h1 {
    font-size: clamp(58px, 5.3vw, 82px);
    line-height: 0.91;
    letter-spacing: -0.058em;
    margin: 18px 0 18px;
    max-width: 650px;
}
.hp-hero-copy > p {
    font-size: 16px;
    line-height: 1.55;
    max-width: 460px;
    font-weight: 600;
    color: #415171;
}
.hp-actions {
    gap: 13px;
    margin: 26px 0 25px;
}
.hp-btn {
    min-height: 52px;
    padding: 0 24px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    box-shadow: 0 11px 24px rgba(20, 46, 97, 0.12);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        filter 0.25s ease;
}
.hp-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 34px rgba(20, 46, 97, 0.2);
    filter: saturate(1.08);
}
.hp-proof {
    gap: 12px;
}
.hp-proof .faces {
    display: flex;
}
.hp-proof .faces i {
    width: 34px;
    height: 34px;
    border: 3px solid #fff;
    border-radius: 50%;
    margin-left: -8px;
    background-image: url("../images/enfa-home-pro/actors-grid.jpg");
    background-size: 300% 200%;
    box-shadow: 0 3px 9px #10295c24;
}
.hp-proof .faces i:first-child {
    margin-left: 0;
    background-position: 0 0;
}
.hp-proof .faces i:nth-child(2) {
    background-position: 50% 0;
}
.hp-proof .faces i:nth-child(3) {
    background-position: 100% 0;
}
.hp-proof .faces i:nth-child(4) {
    background-position: 0 100%;
}
.hp-proof strong {
    font-size: 11px;
    line-height: 1.25;
}
.hp-hero-art {
    height: 610px;
    overflow: visible;
    position: relative;
}
.hp-hero-art > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 0 0 0 90px;
    filter: saturate(1.08) contrast(1.02);
    mask-image: linear-gradient(90deg, transparent 0, #000 18%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 18%);
}
.hp-phone {
    width: 255px;
    height: 510px;
    right: 8%;
    top: 42px;
    border: 10px solid #08142d;
    border-radius: 42px;
    padding: 26px 16px 17px;
    box-shadow:
        0 35px 70px rgba(1, 19, 51, 0.38),
        inset 0 0 0 1px rgba(255, 255, 255, 0.13);
    transform: rotate(5deg);
    background: linear-gradient(160deg, #061b35, #031226);
    z-index: 5;
}
.hp-phone:before {
    content: "";
    position: absolute;
    left: 50%;
    top: 8px;
    transform: translateX(-50%);
    width: 70px;
    height: 16px;
    background: #020916;
    border-radius: 12px;
}
.hp-phone-top img {
    height: 43px;
}
.hp-search {
    margin-top: 4px;
}
.hp-map {
    height: 210px;
}
.hp-phone-nav {
    margin-top: 5px;
}
.hp-hero-art:after {
    content: "enfá!";
    position: absolute;
    z-index: 4;
    left: 23%;
    bottom: 58px;
    width: 240px;
    height: 75px;
    border-radius: 45% 55% 38% 42%;
    background: linear-gradient(165deg, #061c40, #123b67);
    color: #0ed7e5;
    font-size: 27px;
    font-weight: 900;
    display: grid;
    place-items: center;
    box-shadow: 0 24px 38px rgba(4, 21, 57, 0.3);
    transform: skewX(-8deg) rotate(-2deg);
    border-bottom: 7px solid #0e1124;
}
.hp-trustbar {
    padding: 20px 0 28px;
    border-bottom: 1px solid #edf1f7;
}
.hp-trustbar > div {
    justify-content: center;
}
.hp-trustbar b {
    width: 48px;
    height: 48px;
    background: linear-gradient(145deg, #e3fdff, #e9f0ff);
    box-shadow: inset 0 0 0 1px #d8f4f8;
}
.hp-trustbar strong {
    font-size: 12px;
}
.hp-trustbar small {
    font-size: 10px;
}
.hp-section {
    padding: 64px 0;
}
.hp-two {
    grid-template-columns: 0.78fr 1.22fr;
    gap: 56px;
}
.hp-more h2 {
    font-size: 50px;
    letter-spacing: -0.05em;
}
.hp-more p {
    font-size: 15px;
}
.hp-actor-grid {
    gap: 10px;
}
.actor {
    height: 154px;
    border-radius: 12px;
    padding: 101px 12px 10px;
    background-size: 300% 200%;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}
.actor:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(11, 38, 82, 0.15);
}
.actor b {
    font-size: 12px;
}
.actor small {
    font-size: 9px;
    color: #50607d;
}
.hp-ecosystem {
    padding: 30px 0 56px;
    background:
        radial-gradient(
            ellipse at 50% 95%,
            rgba(8, 209, 224, 0.16),
            transparent 56%
        ),
        #fff;
    border-bottom: 0;
    border-radius: 0;
    position: relative;
}
.hp-ecosystem:after {
    content: "";
    position: absolute;
    left: -5%;
    right: -5%;
    bottom: -38px;
    height: 72px;
    border-radius: 50% 50% 0 0;
    background: #031b3e;
    z-index: 0;
}
.hp-center-title h2 {
    font-size: 39px;
    letter-spacing: -0.045em;
}
.hp-orbit {
    gap: 12px;
    margin-top: 32px;
}
.hp-orbit:before {
    height: 2px;
    background: linear-gradient(
        90deg,
        transparent,
        #0bd7e6 8%,
        #0bd7e6 43%,
        #7b38f2 51%,
        #0bd7e6 90%,
        transparent
    );
    box-shadow: 0 0 18px rgba(10, 211, 229, 0.35);
}
.orb i {
    overflow: hidden;
    font-size: 0;
    background-image: url("../images/enfa-home-pro/actors-grid.jpg");
    background-size: 300% 200%;
    width: 94px;
    height: 94px;
}
.orb:nth-child(1) i {
    background-position: 0 0;
}
.orb:nth-child(2) i {
    background-position: 50% 0;
}
.orb:nth-child(3) i {
    background-position: 100% 0;
}
.orb:nth-child(5) i {
    background-position: 50% 100%;
}
.orb:nth-child(6) i {
    background-position: 0 100%;
}
.orb:nth-child(7) i {
    background-position: 100% 100%;
}
.orb.brand {
    width: 120px;
    height: 120px;
    box-shadow: 0 14px 32px rgba(15, 104, 164, 0.17);
}
.hp-safety {
    padding-top: 38px;
    background: #031b3e;
}
.hp-safety-grid {
    min-height: 265px;
    grid-template-columns: 260px 0.9fr 1.1fr;
    gap: 34px;
}
.hp-safety-photo {
    height: 265px;
    border-radius: 0 28px 0 0;
}
.hp-safety h2 {
    font-size: 36px;
}
.hp-safety p {
    font-size: 13px;
}
.hp-safety-cards {
    gap: 12px;
}
.hp-safety-cards article {
    min-height: 142px;
    border: 1px solid rgba(43, 131, 206, 0.13);
    background: linear-gradient(180deg, #082a5c, #06224d);
    transition:
        transform 0.25s ease,
        background 0.25s ease;
}
.hp-safety-cards article:hover {
    transform: translateY(-5px);
    background: #0a316a;
}
.hp-safety-cards i {
    width: 50px;
    height: 50px;
    border-radius: 15px;
    background: rgba(5, 215, 231, 0.09);
    display: grid;
    place-items: center;
}
.hp-local-grid {
    min-height: 330px;
}
.hp-local-grid > div:first-child {
    padding: 58px 36px 54px 0;
}
.hp-local h2 {
    font-size: 40px;
}
.hp-local-photo {
    border-radius: 0 0 0 26px;
}
.deal {
    right: 22px;
    top: 45%;
    padding: 13px 17px;
}
.hp-mini-features span {
    min-width: 64px;
}
.hp-mini-features span:first-letter {
    font-size: 0;
}
.hp-mini-features b {
    font-size: 9px;
}
.hp-how-grid {
    min-height: 320px;
}
.hp-how-grid > div:first-child {
    padding: 48px 34px 45px 0;
}
.hp-how h2 {
    font-size: 40px;
}
.hp-how-photo {
    overflow: hidden;
    border-radius: 26px 0 0 26px;
}
.hp-how-photo img {
    transition: transform 0.8s ease;
}
.hp-how:hover .hp-how-photo img {
    transform: scale(1.035);
}
.hp-steps {
    gap: 11px;
}
.hp-steps b {
    width: 56px;
    height: 56px;
}
.hp-steps small {
    line-height: 1.25;
}
.hp-download-pro {
    padding: 45px 0 52px;
}
.hp-app-photo img {
    width: 92%;
    height: 290px;
    object-fit: cover;
    object-position: center;
    border-radius: 28px;
    box-shadow: 0 22px 55px rgba(17, 43, 90, 0.13);
}
.hp-download-pro h2 {
    font-size: 50px;
}
.hp-store a {
    min-width: 155px;
    text-align: center;
}
.hp-coverage {
    padding: 24px 0 20px;
}
.hp-coverage-card {
    min-height: 245px;
    border-radius: 26px;
    padding: 27px 30px;
    background: linear-gradient(105deg, #031b3e, #06356c);
    box-shadow: 0 24px 54px rgba(5, 29, 69, 0.25);
}
.hp-coverage-card > img {
    height: 190px;
}
.hp-coverage aside {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.16);
}
.hp-final {
    min-height: 225px;
}
.hp-final:after {
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.78),
        rgba(255, 255, 255, 0.9)
    );
}
.hp-final h2 {
    font-size: 36px;
}
.hp-final .hp-btn {
    min-width: 175px;
}
.enfa-footer {
    background: #02142f !important;
    padding-top: 50px !important;
}
.enfa-footer-grid {
    max-width: 1320px !important;
}
.enfa-footer-brand img {
    max-width: 110px;
}
.enfa-footer h3 {
    font-size: 12px !important;
}
.enfa-footer a,
.enfa-footer p,
.enfa-footer-bottom {
    font-size: 10px !important;
}
.reveal {
    transform: translateY(28px) scale(0.992);
    transition:
        opacity 0.72s ease,
        transform 0.8s cubic-bezier(0.16, 0.8, 0.24, 1);
}
.reveal.in {
    transform: none;
}
.actor:nth-child(2),
.hp-safety-cards article:nth-child(2) {
    transition-delay: 0.04s;
}
.actor:nth-child(3),
.hp-safety-cards article:nth-child(3) {
    transition-delay: 0.08s;
}
.actor:nth-child(4),
.hp-safety-cards article:nth-child(4) {
    transition-delay: 0.12s;
}
@media (max-width: 1100px) {
    .enfa-public-nav {
        gap: 12px;
    }
    .enfa-public-nav > a,
    .enfa-nav-dropdown-toggle {
        font-size: 10px;
    }
    .hp .hp-wrap {
        width: min(100% - 42px, 1050px);
    }
    .hp-hero-grid {
        grid-template-columns: 0.9fr 1.1fr;
    }
    .hp-phone {
        right: 2%;
    }
    .hp-safety-grid {
        grid-template-columns: 220px 1fr;
    }
    .hp-safety-cards {
        grid-column: 1/-1;
        padding-bottom: 28px;
    }
}
@media (max-width: 900px) {
    .hp-hero-grid {
        grid-template-columns: 1fr;
        min-height: auto;
    }
    .hp-hero-copy {
        padding-top: 42px;
    }
    .hp-hero-art {
        height: 520px;
        margin: 0 -21px;
    }
    .hp-hero-art > img {
        border-radius: 0;
        mask-image: linear-gradient(180deg, transparent 0, #000 15%);
        -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 15%);
    }
    .hp-phone {
        right: 10%;
        top: 30px;
    }
    .hp-hero-art:after {
        left: 20%;
        bottom: 40px;
    }
    .hp-two {
        grid-template-columns: 1fr;
    }
    .hp-actor-grid {
        margin-top: 20px;
    }
    .hp-local-grid,
    .hp-how-grid,
    .hp-download-grid {
        grid-template-columns: 1fr;
    }
    .hp-local-grid > div:first-child,
    .hp-how-grid > div:first-child {
        padding-right: 0;
    }
    .hp-local-photo,
    .hp-how-photo {
        height: 310px;
        border-radius: 24px;
    }
    .hp-app-photo {
        margin-bottom: 35px;
    }
}
@media (max-width: 600px) {
    .hp .hp-wrap {
        width: calc(100% - 30px);
    }
    .hp-hero h1 {
        font-size: 52px;
    }
    .hp-hero-copy > p {
        font-size: 14px;
    }
    .hp-hero-art {
        height: 440px;
    }
    .hp-phone {
        width: 185px;
        height: 375px;
        right: 2%;
        top: 28px;
        border-width: 7px;
    }
    .hp-phone:before {
        width: 52px;
        height: 12px;
    }
    .hp-map {
        height: 125px;
    }
    .hp-hero-art:after {
        width: 175px;
        height: 56px;
        left: 8%;
        bottom: 40px;
        font-size: 20px;
    }
    .hp-trustbar {
        grid-template-columns: 1fr 1fr;
    }
    .hp-trustbar > div {
        justify-content: flex-start;
    }
    .hp-more h2,
    .hp-center-title h2,
    .hp-local h2,
    .hp-how h2,
    .hp-download-pro h2 {
        font-size: 34px;
    }
    .hp-actor-grid {
        grid-template-columns: 1fr 1fr;
    }
    .actor {
        height: 140px;
        padding-top: 90px;
    }
    .hp-orbit {
        grid-template-columns: repeat(2, 1fr);
    }
    .hp-safety-grid {
        grid-template-columns: 1fr;
    }
    .hp-safety-photo {
        height: 245px;
        border-radius: 24px;
    }
    .hp-safety-cards {
        grid-template-columns: 1fr 1fr;
    }
    .hp-mini-features {
        justify-content: space-between;
    }
    .hp-steps {
        grid-template-columns: repeat(2, 1fr);
    }
    .hp-app-photo img {
        width: 100%;
        height: 230px;
    }
    .app-labels {
        gap: 10px;
        margin: -25px 10px 0;
    }
    .app-labels b {
        padding: 10px;
        font-size: 11px;
    }
    .hp-coverage-card {
        grid-template-columns: 1fr;
    }
    .hp-coverage-card > img,
    .hp-coverage aside {
        grid-column: 1;
    }
    .hp-final {
        min-height: 390px;
    }
    .hp-final-content {
        padding: 38px 0;
    }
    .hp-final h2 {
        font-size: 31px;
    }
}

/* === HERO REFERENCE 01 · header + hero + trustbar only === */
.enfa-ref-header {
    position: relative;
    top: auto;
    background: rgba(255, 255, 255, 0.97);
    border: 0;
    box-shadow: 0 1px 0 rgba(20, 38, 88, 0.05);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.enfa-ref-nav {
    width: min(1660px, calc(100% - 72px));
    max-width: none;
    min-height: 88px;
    padding: 0;
    gap: 54px;
}
.enfa-ref-nav .enfa-brand {
    display: flex;
    align-items: center;
    align-self: stretch;
}
.enfa-ref-nav .enfa-brand img {
    width: 160px;
    height: 72px;
    object-fit: contain;
}
.enfa-ref-nav .enfa-public-nav {
    justify-content: flex-start;
    gap: 38px;
}
.enfa-ref-nav .enfa-public-nav > a,
.enfa-ref-nav .enfa-nav-dropdown-toggle {
    position: relative;
    color: #07184c;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: -0.02em;
    padding: 32px 0;
}
.enfa-ref-nav .enfa-public-nav > a.is-active:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 21px;
    height: 3px;
    border-radius: 4px;
    background: #12d6e5;
}
.enfa-ref-nav .enfa-nav-dropdown-toggle span {
    font-size: 17px;
    margin-left: 4px;
}
.enfa-ref-nav .enfa-nav-actions {
    gap: 24px;
    margin-left: auto;
}
.enfa-lang-pill {
    height: 54px;
    min-width: 128px;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(17, 38, 84, 0.06);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #08194b;
    font-weight: 900;
}
.enfa-lang-pill svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: #07184c;
    stroke-width: 1.8;
}
.enfa-lang-pill a {
    color: #07184c;
    text-decoration: none;
    font-size: 16px;
}
.enfa-lang-pill span {
    font-size: 16px;
}
.enfa-ref-nav .enfa-nav-cta {
    min-width: 230px;
    height: 54px;
    padding: 0 28px;
    border-radius: 29px;
    background: linear-gradient(100deg, #04d8e8 0%, #10bce9 38%, #7130f4 100%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    color: #fff !important;
    font-size: 16px;
    font-weight: 900;
    box-shadow: 0 12px 30px rgba(80, 68, 225, 0.18);
}
.enfa-ref-nav .download-icon {
    font-size: 24px;
    line-height: 1;
    transform: translateY(-1px);
}
.hp-hero-reference {
    padding: 0;
    background: #fff;
    overflow: hidden;
}
.hp-hero-stage {
    height: 590px;
    position: relative;
    isolation: isolate;
    background:
        linear-gradient(
            90deg,
            #fff 0%,
            #fff 25%,
            rgba(255, 255, 255, 0.95) 35%,
            rgba(255, 255, 255, 0.58) 47%,
            rgba(255, 255, 255, 0.03) 67%
        ),
        linear-gradient(180deg, #edf5ff, #f9f4ff);
}
.hp-hero-bg {
    position: absolute;
    inset: 0;
    z-index: -3;
    background: url("../images/enfa-home-pro/hero-city.jpg") center/cover
        no-repeat;
    filter: saturate(1.2) contrast(1.03);
}
.hp-hero-bg:after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.98) 0 24%,
            rgba(255, 255, 255, 0.85) 35%,
            rgba(255, 255, 255, 0.1) 65%
        ),
        linear-gradient(0deg, rgba(244, 250, 255, 0.92), transparent 28%);
}
.hp-hero-art-reference {
    position: absolute;
    z-index: -1;
    right: -2px;
    top: 0;
    width: 69%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
}
.hp-hero-art-reference:before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            #fff 0%,
            rgba(255, 255, 255, 0.75) 8%,
            rgba(255, 255, 255, 0.18) 20%,
            transparent 36%
        ),
        linear-gradient(0deg, rgba(244, 250, 255, 0.78), transparent 18%);
}
.hp-hero-art-reference img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    filter: saturate(1.08) contrast(1.02);
    transform: scale(1.01);
}
.hp-hero-reference-content {
    height: 100%;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 4;
}
.hp-hero-reference-copy {
    width: 540px;
    padding: 0 0 3px !important;
}
.hp-hero-reference .hp-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: 0 7px 18px rgba(28, 58, 108, 0.08);
    font-size: 13px;
    letter-spacing: 0.025em;
    color: #263d79;
    margin: 0 0 22px;
    font-weight: 800;
    backdrop-filter: blur(8px);
}
.hp-hero-reference h1 {
    font-size: clamp(62px, 5.25vw, 88px);
    line-height: 0.94;
    letter-spacing: -0.062em;
    margin: 0 0 14px;
    max-width: 540px;
    color: #07194e;
    font-weight: 950;
}
.hp-hero-reference h1 span {
    background: linear-gradient(
        100deg,
        #08cddd 0%,
        #11bce4 34%,
        #236fe9 63%,
        #7a31ef 100%
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.hp-hero-reference-copy > p {
    max-width: 510px;
    margin: 0;
    color: #101d4a;
    font-size: 18px;
    line-height: 1.32;
    font-weight: 650;
    letter-spacing: -0.018em;
}
.hp-hero-reference .hp-actions {
    margin: 22px 0 0;
    gap: 18px;
    flex-wrap: nowrap;
}
.hp-hero-reference .hp-btn {
    height: 64px;
    min-width: 268px;
    padding: 0 30px;
    border-radius: 34px;
    font-size: 17px;
    font-weight: 900;
    box-shadow: 0 15px 32px rgba(31, 58, 128, 0.13);
}
.hp-hero-reference .hp-btn.cyan {
    background: linear-gradient(100deg, #05d7e6 0%, #10c5e8 48%, #7730f5 100%);
    color: #fff;
}
.hp-hero-reference .hp-btn.hero-outline {
    min-width: 252px;
    background: rgba(255, 255, 255, 0.82);
    border: 2px solid #7d3af0;
    color: #091a4c;
    box-shadow: 0 12px 28px rgba(42, 57, 111, 0.08);
    backdrop-filter: blur(8px);
}
.hp-hero-reference .hp-btn.hero-outline span {
    font-size: 25px;
    color: #162a66;
    margin-left: 10px;
}
.hp-hero-reference .btn-ico {
    font-size: 26px;
    margin-right: 10px;
    line-height: 1;
}
.hp-trustbar-wrap {
    background: linear-gradient(180deg, #f7fbff 0%, #fff 100%);
    border-top: 1px solid rgba(226, 238, 248, 0.8);
}
.hp-hero-reference .hp-trustbar {
    height: 135px;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 42px;
    align-items: center;
    border: 0;
}
.hp-hero-reference .hp-trustbar > div {
    display: flex;
    justify-content: flex-start;
    gap: 16px;
    align-items: center;
}
.hp-hero-reference .trust-icon {
    width: 62px;
    height: 62px;
    min-width: 62px;
    border-radius: 50%;
    background: linear-gradient(145deg, #e1fdff, #eef1ff);
    display: grid;
    place-items: center;
    box-shadow: inset 0 0 0 1px rgba(7, 207, 225, 0.09);
}
.hp-hero-reference .trust-icon svg {
    width: 31px;
    height: 31px;
    fill: none;
    stroke: #1454bd;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.hp-hero-reference .hp-trustbar span {
    display: grid;
    gap: 2px;
}
.hp-hero-reference .hp-trustbar strong {
    font-size: 16px;
    line-height: 1.1;
    color: #0b1c50;
    font-weight: 900;
}
.hp-hero-reference .hp-trustbar small {
    font-size: 12px;
    line-height: 1.25;
    color: #415273;
}
@media (max-width: 1450px) {
    .enfa-ref-nav {
        width: min(1380px, calc(100% - 48px));
        gap: 32px;
    }
    .enfa-ref-nav .enfa-public-nav {
        gap: 25px;
    }
    .enfa-ref-nav .enfa-public-nav > a,
    .enfa-ref-nav .enfa-nav-dropdown-toggle {
        font-size: 14px;
    }
    .enfa-ref-nav .enfa-brand img {
        width: 138px;
    }
    .enfa-lang-pill {
        min-width: 105px;
    }
    .enfa-ref-nav .enfa-nav-cta {
        min-width: 195px;
    }
    .hp-hero-art-reference {
        width: 70%;
    }
    .hp-hero-reference-copy {
        width: 500px;
    }
    .hp-hero-reference h1 {
        font-size: 72px;
    }
    .hp-hero-reference .hp-btn {
        min-width: 230px;
        height: 58px;
        font-size: 15px;
    }
}
@media (max-width: 1100px) {
    .enfa-ref-nav {
        min-height: 78px;
    }
    .enfa-ref-nav .enfa-brand img {
        width: 120px;
    }
    .enfa-ref-nav .enfa-public-nav {
        gap: 16px;
    }
    .enfa-ref-nav .enfa-public-nav > a,
    .enfa-ref-nav .enfa-nav-dropdown-toggle {
        font-size: 12px;
        padding: 27px 0;
    }
    .enfa-lang-pill {
        min-width: 92px;
        height: 48px;
    }
    .enfa-ref-nav .enfa-nav-cta {
        min-width: 168px;
        height: 48px;
        font-size: 13px;
        padding: 0 18px;
    }
    .hp-hero-stage {
        height: 540px;
    }
    .hp-hero-art-reference {
        width: 72%;
        right: -8%;
    }
    .hp-hero-reference-copy {
        width: 430px;
    }
    .hp-hero-reference h1 {
        font-size: 64px;
    }
    .hp-hero-reference-copy > p {
        font-size: 16px;
    }
    .hp-hero-reference .hp-btn {
        min-width: 195px;
        height: 54px;
        padding: 0 22px;
        font-size: 14px;
    }
    .hp-hero-reference .hp-trustbar {
        gap: 20px;
    }
    .hp-hero-reference .trust-icon {
        width: 54px;
        height: 54px;
        min-width: 54px;
    }
    .hp-hero-reference .hp-trustbar strong {
        font-size: 14px;
    }
}
@media (max-width: 900px) {
    .enfa-ref-nav {
        width: calc(100% - 34px);
        min-height: 76px;
    }
    .enfa-ref-nav .enfa-brand img {
        width: 118px;
        height: 62px;
    }
    .enfa-ref-nav .enfa-menu-toggle {
        display: block;
        margin-left: auto;
    }
    .enfa-ref-nav .enfa-nav-actions {
        margin-left: 0;
    }
    .enfa-ref-nav .enfa-nav-cta {
        display: none;
    }
    .enfa-ref-nav .enfa-lang-pill {
        min-width: 82px;
        height: 44px;
    }
    .enfa-ref-nav .enfa-lang-pill svg {
        width: 19px;
    }
    .enfa-ref-nav .enfa-public-nav {
        top: 70px;
        left: 17px;
        right: 17px;
        gap: 0;
        padding: 14px;
    }
    .enfa-ref-nav .enfa-public-nav > a,
    .enfa-ref-nav .enfa-nav-dropdown-toggle {
        font-size: 14px;
        padding: 12px;
    }
    .enfa-ref-nav .enfa-public-nav > a.is-active:after {
        display: none;
    }
    .hp-hero-stage {
        height: auto;
        min-height: 800px;
        background: #fff;
    }
    .hp-hero-reference-content {
        height: auto;
        min-height: 390px;
        align-items: flex-start;
    }
    .hp-hero-reference-copy {
        width: 100%;
        max-width: 600px;
        padding-top: 42px !important;
    }
    .hp-hero-reference .hp-kicker {
        font-size: 11px;
        margin-bottom: 16px;
    }
    .hp-hero-reference h1 {
        font-size: clamp(54px, 11vw, 74px);
        max-width: 550px;
    }
    .hp-hero-reference-copy > p {
        max-width: 480px;
    }
    .hp-hero-art-reference {
        top: auto;
        bottom: 0;
        right: -12%;
        width: 112%;
        height: 465px;
    }
    .hp-hero-art-reference:before {
        background:
            linear-gradient(
                180deg,
                #fff 0%,
                rgba(255, 255, 255, 0.28) 18%,
                transparent 38%
            ),
            linear-gradient(90deg, rgba(255, 255, 255, 0.55), transparent 25%);
    }
    .hp-hero-art-reference img {
        object-position: center top;
    }
    .hp-hero-reference .hp-actions {
        max-width: 520px;
    }
    .hp-hero-reference .hp-btn {
        min-width: 0;
        flex: 1;
    }
    .hp-hero-reference .hp-trustbar {
        height: auto;
        padding: 25px 0;
        grid-template-columns: 1fr 1fr;
        gap: 22px 30px;
    }
}
@media (max-width: 600px) {
    .enfa-ref-nav {
        width: calc(100% - 28px);
    }
    .enfa-ref-nav .enfa-brand img {
        width: 105px;
    }
    .enfa-ref-nav .enfa-lang-pill {
        min-width: 70px;
        padding: 0 10px;
        gap: 6px;
    }
    .enfa-ref-nav .enfa-lang-pill a {
        font-size: 13px;
    }
    .hp-hero-stage {
        min-height: 735px;
    }
    .hp-hero-reference-copy {
        padding-top: 28px !important;
    }
    .hp-hero-reference .hp-kicker {
        font-size: 9px;
        padding: 0 10px;
        min-height: 30px;
    }
    .hp-hero-reference h1 {
        font-size: 50px;
        line-height: 0.94;
        margin-bottom: 13px;
    }
    .hp-hero-reference-copy > p {
        font-size: 14px;
        max-width: 330px;
    }
    .hp-hero-reference .hp-actions {
        flex-direction: column;
        gap: 10px;
        width: 245px;
        margin-top: 18px;
    }
    .hp-hero-reference .hp-btn {
        width: 245px;
        min-height: 50px;
        height: 50px;
        font-size: 13px;
    }
    .hp-hero-art-reference {
        right: -31%;
        width: 145%;
        height: 390px;
    }
    .hp-hero-reference .hp-trustbar {
        grid-template-columns: 1fr;
        padding: 24px 0;
        gap: 18px;
    }
    .hp-hero-reference .trust-icon {
        width: 50px;
        height: 50px;
        min-width: 50px;
    }
    .hp-hero-reference .hp-trustbar strong {
        font-size: 14px;
    }
    .hp-hero-reference .hp-trustbar small {
        font-size: 11px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .hp-hero-art-reference img,
    .hp-hero-reference .hp-btn {
        transition: none !important;
        animation: none !important;
    }
}

/* FA09 HERO RESPONSIVE ART — desktop/tablet/mobile compositions */
.hp-hero-art-reference {
    display: block;
}
.hp-hero-art-reference img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}
@media (min-width: 901px) {
    .hp-hero-art-reference img {
        object-position: center top;
    }
}
@media (min-width: 601px) and (max-width: 900px) {
    .hp-hero-stage {
        min-height: 850px;
    }
    .hp-hero-reference-content {
        min-height: 405px;
    }
    .hp-hero-art-reference {
        right: 0;
        bottom: 0;
        width: 100%;
        height: 500px;
    }
    .hp-hero-art-reference img {
        object-position: center center;
    }
}
@media (max-width: 600px) {
    .hp-hero-stage {
        min-height: 900px;
        display: flex;
        flex-direction: column;
    }
    .hp-hero-reference-content {
        min-height: 455px;
        position: relative;
        z-index: 5;
    }
    .hp-hero-reference-copy {
        max-width: none;
    }
    .hp-hero-art-reference {
        position: absolute;
        left: 0;
        right: 0 !important;
        bottom: 0;
        width: 100% !important;
        height: 470px;
    }
    .hp-hero-art-reference:before {
        background: linear-gradient(
            180deg,
            #fff 0%,
            rgba(255, 255, 255, 0.78) 7%,
            rgba(255, 255, 255, 0.15) 23%,
            transparent 40%
        );
    }
    .hp-hero-art-reference img {
        object-position: center 44%;
    }
    .hp-hero-reference h1 {
        font-size: clamp(46px, 13vw, 58px);
        max-width: 390px;
    }
    .hp-hero-reference-copy > p {
        max-width: 360px;
    }
    .hp-hero-reference .hp-actions {
        width: min(100%, 360px);
    }
    .hp-hero-reference .hp-btn {
        width: 100%;
    }
}

/* === HERO MOTION / RESPONSIVE CARDS · FIX 02 === */
.hp-hero-video {
    position: absolute;
    inset: 0 0 0 auto;
    width: 70%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: -2;
    pointer-events: none;
    filter: saturate(1.08) contrast(1.03);
}
.hp-hero-video:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #fff, transparent);
}
.hp-hero-art-reference.has-video {
    opacity: 0;
    transition: opacity 0.45s ease;
}
.hp-hero-stage:after {
    content: "";
    position: absolute;
    z-index: 1;
    left: 34%;
    right: 0;
    bottom: -24px;
    height: 105px;
    background: radial-gradient(
        ellipse at center,
        rgba(4, 223, 235, 0.32),
        rgba(100, 55, 255, 0.16) 42%,
        transparent 72%
    );
    filter: blur(18px);
    pointer-events: none;
    animation: heroGlow 6s ease-in-out infinite alternate;
}
.hp-hero-reference-copy {
    animation: heroCopyIn 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}
.hp-hero-art-reference:not(.has-video) img {
    animation: heroKenBurns 14s ease-in-out infinite alternate;
}
.hp-glow-btn {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease,
        filter 0.28s ease !important;
}
.hp-glow-btn:after {
    content: "";
    position: absolute;
    top: -65%;
    left: -45%;
    width: 30%;
    height: 230%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.78),
        transparent
    );
    transform: rotate(22deg) translateX(-220%);
    transition: transform 0.72s cubic-bezier(0.2, 0.7, 0.2, 1);
    pointer-events: none;
}
.hp-glow-btn:hover {
    transform: translateY(-3px) scale(1.015);
    box-shadow:
        0 16px 38px rgba(75, 62, 240, 0.27),
        0 0 30px rgba(9, 213, 228, 0.24) !important;
    filter: saturate(1.1);
}
.hp-glow-btn:hover:after {
    transform: rotate(22deg) translateX(620%);
}
.hp-hero-reference .trust-icon {
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        background 0.3s ease;
}
.hp-hero-reference .hp-trustbar > div {
    transition:
        transform 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}
.hp-hero-reference .hp-trustbar > div:hover {
    transform: translateY(-4px);
}
.hp-hero-reference .hp-trustbar > div:hover .trust-icon {
    transform: scale(1.06) rotate(-3deg);
    box-shadow: 0 10px 26px rgba(19, 198, 207, 0.18);
}
@keyframes heroGlow {
    from {
        transform: translateX(-3%) scale(0.96);
        opacity: 0.62;
    }
    to {
        transform: translateX(3%) scale(1.05);
        opacity: 1;
    }
}
@keyframes heroCopyIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: none;
    }
}
@keyframes heroKenBurns {
    from {
        transform: scale(1.01) translate3d(0, 0, 0);
    }
    to {
        transform: scale(1.045) translate3d(-0.8%, 0.3%, 0);
    }
}

@media (max-width: 900px) {
    .hp-hero-video {
        display: none;
    }
    .hp-hero-art-reference.has-video {
        opacity: 1;
    }
    .hp-hero-stage:after {
        left: 0;
        bottom: 0;
        height: 75px;
    }
    .hp-hero-reference .hp-trustbar {
        padding: 16px 0 26px;
        gap: 12px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .hp-hero-reference .hp-trustbar > div {
        min-height: 112px;
        padding: 16px 14px;
        border: 1px solid rgba(32, 111, 233, 0.1);
        border-radius: 22px;
        background: linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.96),
            rgba(239, 251, 255, 0.9)
        );
        box-shadow: 0 10px 28px rgba(28, 58, 108, 0.07);
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }
    .hp-hero-reference .trust-icon {
        width: 46px;
        height: 46px;
        min-width: 46px;
    }
    .hp-hero-reference .trust-icon svg {
        width: 24px;
        height: 24px;
    }
    .hp-hero-reference .hp-trustbar strong {
        font-size: 14px;
    }
    .hp-hero-reference .hp-trustbar small {
        font-size: 11px;
        line-height: 1.3;
    }
}
@media (max-width: 600px) {
    .enfa-site-header {
        position: sticky;
        top: 0;
        background: rgba(255, 255, 255, 0.92);
        backdrop-filter: blur(18px);
        box-shadow: 0 5px 22px rgba(16, 35, 78, 0.07);
    }
    .hp-hero-stage {
        min-height: 760px;
        display: flex;
        flex-direction: column;
    }
    .hp-hero-reference-content {
        min-height: 350px;
        z-index: 5;
    }
    .hp-hero-reference-copy {
        padding-top: 24px !important;
    }
    .hp-hero-reference h1 {
        font-size: clamp(44px, 12.6vw, 56px);
        line-height: 0.92;
        letter-spacing: -0.055em;
        max-width: 355px;
    }
    .hp-hero-reference-copy > p {
        font-size: 14px;
        line-height: 1.42;
        max-width: 345px;
        font-weight: 600;
    }
    .hp-hero-reference .hp-actions {
        width: 100%;
        max-width: 360px;
        display: grid;
        grid-template-columns: 1fr;
        gap: 11px;
    }
    .hp-hero-reference .hp-btn {
        width: 100%;
        height: 54px;
        border-radius: 28px;
    }
    .hp-hero-art-reference {
        right: 0 !important;
        left: 0;
        bottom: 0;
        width: 100% !important;
        height: 405px;
        border-radius: 26px 26px 0 0;
        overflow: hidden;
    }
    .hp-hero-art-reference:before {
        background:
            linear-gradient(
                180deg,
                #fff 0,
                rgba(255, 255, 255, 0.65) 9%,
                transparent 28%
            ),
            linear-gradient(0deg, rgba(5, 16, 48, 0.08), transparent 25%);
    }
    .hp-hero-art-reference img {
        object-fit: cover;
        object-position: center 16%;
        transform: none !important;
        animation: none !important;
    }
    .hp-hero-reference .hp-trustbar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        padding: 14px 0 24px;
    }
    .hp-hero-reference .hp-trustbar > div {
        min-height: 120px;
        padding: 14px 12px;
        border-radius: 20px;
    }
    .hp-hero-reference .trust-icon {
        width: 43px;
        height: 43px;
        min-width: 43px;
    }
}
@media (max-width: 360px) {
    .hp-hero-reference .hp-trustbar {
        grid-template-columns: 1fr;
    }
    .hp-hero-reference .hp-trustbar > div {
        min-height: 96px;
        flex-direction: row;
        align-items: center;
    }
}
@media (prefers-reduced-motion: reduce) {
    .hp-hero-stage:after,
    .hp-hero-reference-copy,
    .hp-hero-art-reference img {
        animation: none !important;
    }
    .hp-glow-btn,
    .hp-hero-reference .hp-trustbar > div,
    .hp-hero-reference .trust-icon {
        transition: none !important;
    }
    .hp-hero-video {
        display: none;
    }
    .hp-hero-art-reference.has-video {
        opacity: 1;
    }
}

/* === HERO FULL-BLEED VIDEO 03 === */
body.enfa-public {
    --hero-header-h: 92px;
}
.enfa-site-header.enfa-ref-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1200;
    background: rgba(255, 255, 255, 0.64);
    border-bottom: 1px solid rgba(255, 255, 255, 0.42);
    box-shadow: none;
    backdrop-filter: blur(18px) saturate(145%);
    -webkit-backdrop-filter: blur(18px) saturate(145%);
    transition:
        background 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;
}
.enfa-site-header.enfa-ref-header.is-scrolled {
    position: fixed;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 12px 42px rgba(8, 29, 74, 0.1);
    border-bottom-color: rgba(18, 56, 110, 0.08);
}
.enfa-ref-nav .enfa-public-nav > a,
.enfa-ref-nav .enfa-nav-dropdown-toggle {
    color: #10245f;
    font-weight: 760;
    text-shadow: 0 1px 12px rgba(255, 255, 255, 0.42);
}
.enfa-ref-nav .enfa-public-nav > a.is-active,
.enfa-ref-nav .enfa-public-nav > a:hover,
.enfa-ref-nav .enfa-nav-dropdown-toggle:hover {
    color: #05afc4;
}
.enfa-lang-pill {
    background: rgba(255, 255, 255, 0.72) !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    box-shadow: 0 10px 30px rgba(18, 47, 91, 0.08) !important;
    backdrop-filter: blur(12px);
}
.enfa-ref-nav .enfa-nav-cta {
    position: relative;
    overflow: hidden;
    background: linear-gradient(
        110deg,
        #08d5dc 0%,
        #18b9ed 35%,
        #6553f5 70%,
        #8a32f4 100%
    ) !important;
    background-size: 180% 100% !important;
    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease,
        background-position 0.5s ease !important;
}
.enfa-ref-nav .enfa-nav-cta:after {
    content: "";
    position: absolute;
    top: -70%;
    left: -42%;
    width: 26%;
    height: 240%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.82),
        transparent
    );
    transform: rotate(22deg) translateX(-240%);
    transition: transform 0.7s ease;
}
.enfa-ref-nav .enfa-nav-cta:hover {
    transform: translateY(-2px);
    background-position: 100% 0 !important;
    box-shadow:
        0 14px 35px rgba(91, 65, 244, 0.28),
        0 0 28px rgba(8, 213, 220, 0.24) !important;
}
.enfa-ref-nav .enfa-nav-cta:hover:after {
    transform: rotate(22deg) translateX(650%);
}

.hp-hero-fullbleed {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 760px;
    padding: 0;
    background: #dff7fb;
}
.hp-hero-media {
    position: absolute;
    inset: 0;
    z-index: -3;
    overflow: hidden;
    background: #dff7fb;
}
.hp-hero-video,
.hp-hero-media .hp-hero-art-reference {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    opacity: 1;
    pointer-events: none;
}
.hp-hero-video {
    display: block !important;
    object-fit: cover;
    object-position: center center;
    filter: saturate(1.05) contrast(1.02);
    z-index: 1;
}
.hp-hero-media .hp-hero-art-reference {
    z-index: 0;
}
.hp-hero-media .hp-hero-art-reference.has-video {
    opacity: 0 !important;
}
.hp-hero-media .hp-hero-art-reference img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    animation: none !important;
    transform: none !important;
}
.hp-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.97) 0%,
            rgba(255, 255, 255, 0.92) 20%,
            rgba(255, 255, 255, 0.7) 34%,
            rgba(255, 255, 255, 0.28) 50%,
            rgba(8, 26, 67, 0.06) 70%,
            rgba(8, 24, 64, 0.17) 100%
        ),
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.06),
            rgba(4, 22, 59, 0.08)
        );
    pointer-events: none;
}
.hp-hero-fullbleed .hp-hero-stage {
    position: relative;
    z-index: 3;
    height: auto;
    min-height: 650px;
    background: transparent !important;
    padding-top: var(--hero-header-h);
}
.hp-hero-fullbleed .hp-hero-reference-content {
    height: auto;
    min-height: 560px;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 4;
}
.hp-hero-fullbleed .hp-hero-reference-copy {
    width: min(610px, 46vw);
    padding-top: 12px !important;
    animation: heroCopyIn 0.75s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}
.hp-hero-fullbleed .hp-kicker {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    padding: 9px 15px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.74);
    border: 1px solid rgba(255, 255, 255, 0.78);
    box-shadow: 0 10px 30px rgba(17, 50, 100, 0.08);
    backdrop-filter: blur(12px);
    color: #25417c;
    font-weight: 800;
    letter-spacing: 0.02em;
}
.hp-hero-fullbleed h1 {
    font-size: clamp(66px, 5.35vw, 102px);
    line-height: 0.87;
    letter-spacing: -0.064em;
    font-weight: 820;
    color: #09235f;
    text-shadow: 0 2px 22px rgba(255, 255, 255, 0.22);
    margin: 20px 0 18px;
}
.hp-hero-fullbleed h1 span {
    background: linear-gradient(
        102deg,
        #05c9d4 2%,
        #13bde5 35%,
        #477cf3 61%,
        #8244ff 91%
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.hp-hero-fullbleed .hp-hero-reference-copy > p {
    max-width: 510px;
    margin: 0;
    color: #173164;
    font-size: 18px;
    line-height: 1.5;
    font-weight: 570;
    text-shadow: 0 1px 12px rgba(255, 255, 255, 0.38);
}
.hp-hero-fullbleed .hp-actions {
    margin-top: 26px;
    gap: 15px;
}
.hp-hero-fullbleed .hp-btn {
    height: 60px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 800;
    box-shadow: 0 12px 30px rgba(31, 65, 120, 0.1);
}
.hp-hero-fullbleed .hp-btn.hero-outline {
    background: rgba(255, 255, 255, 0.78) !important;
    border: 2px solid rgba(105, 66, 239, 0.78) !important;
    backdrop-filter: blur(12px);
    color: #10245f !important;
}
.hp-hero-fullbleed .hp-btn.cyan {
    background: linear-gradient(
        110deg,
        #08d3da,
        #18b9ed 42%,
        #7445f3 100%
    ) !important;
    background-size: 180% 100% !important;
}
.hp-hero-fullbleed .hp-btn:hover {
    background-position: 100% 0 !important;
}

.hp-hero-fullbleed .hp-trustbar-wrap {
    position: relative;
    z-index: 5;
    background: transparent;
    padding: 0 0 24px;
    margin-top: -4px;
}
.hp-hero-fullbleed .hp-trustbar {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.68);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(20px) saturate(135%);
    -webkit-backdrop-filter: blur(20px) saturate(135%);
    box-shadow: 0 22px 60px rgba(7, 32, 79, 0.14);
}
.hp-hero-fullbleed .hp-trustbar > div {
    min-width: 0;
    padding: 12px 14px;
    border-radius: 20px;
    background: transparent;
    border: 1px solid transparent;
    transition:
        transform 0.28s ease,
        background 0.28s ease,
        border-color 0.28s ease,
        box-shadow 0.28s ease;
}
.hp-hero-fullbleed .hp-trustbar > div:hover {
    background: rgba(255, 255, 255, 0.66);
    border-color: rgba(21, 199, 210, 0.14);
    box-shadow: 0 10px 30px rgba(14, 61, 116, 0.08);
}
.hp-hero-fullbleed .trust-icon {
    background: linear-gradient(
        145deg,
        rgba(224, 253, 255, 0.96),
        rgba(235, 235, 255, 0.96)
    );
    border: 1px solid rgba(17, 195, 211, 0.16);
}
.hp-hero-fullbleed .hp-trustbar strong {
    color: #0c255f;
    font-weight: 800;
}
.hp-hero-fullbleed .hp-trustbar small {
    color: #52678f;
}

@media (max-width: 1100px) {
    body.enfa-public {
        --hero-header-h: 78px;
    }
    .hp-hero-fullbleed {
        min-height: 760px;
    }
    .hp-hero-fullbleed .hp-hero-stage {
        min-height: 610px;
    }
    .hp-hero-fullbleed .hp-hero-reference-content {
        min-height: 520px;
    }
    .hp-hero-fullbleed .hp-hero-reference-copy {
        width: min(540px, 54vw);
    }
    .hp-hero-fullbleed h1 {
        font-size: clamp(58px, 7vw, 76px);
    }
    .hp-hero-overlay {
        background: linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.96),
            rgba(255, 255, 255, 0.83) 31%,
            rgba(255, 255, 255, 0.34) 57%,
            rgba(7, 25, 66, 0.13)
        );
    }
}
@media (max-width: 900px) {
    body.enfa-public {
        --hero-header-h: 76px;
    }
    .enfa-site-header.enfa-ref-header {
        background: rgba(255, 255, 255, 0.7);
        backdrop-filter: blur(20px) saturate(150%);
    }
    .enfa-ref-nav .enfa-public-nav {
        background: rgba(255, 255, 255, 0.96) !important;
        backdrop-filter: blur(18px);
        border-color: rgba(22, 64, 122, 0.08) !important;
    }
    .hp-hero-fullbleed {
        min-height: 820px;
    }
    .hp-hero-fullbleed .hp-hero-stage {
        min-height: 650px;
        padding-top: var(--hero-header-h);
    }
    .hp-hero-fullbleed .hp-hero-reference-content {
        min-height: 560px;
        align-items: flex-start;
        padding-top: 56px;
    }
    .hp-hero-fullbleed .hp-hero-reference-copy {
        width: 100%;
        max-width: 590px;
        padding-top: 0 !important;
    }
    .hp-hero-fullbleed h1 {
        font-size: clamp(54px, 10.5vw, 76px);
        max-width: 560px;
    }
    .hp-hero-fullbleed .hp-hero-reference-copy > p {
        max-width: 470px;
    }
    .hp-hero-video {
        object-position: 62% center !important;
    }
    .hp-hero-overlay {
        background: linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.91) 0%,
            rgba(255, 255, 255, 0.78) 28%,
            rgba(255, 255, 255, 0.45) 49%,
            rgba(6, 25, 65, 0.18) 72%,
            rgba(6, 22, 58, 0.36) 100%
        );
    }
    .hp-hero-fullbleed .hp-trustbar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        padding: 12px;
        border-radius: 24px;
    }
    .hp-hero-fullbleed .hp-trustbar > div {
        min-height: 106px;
        background: rgba(255, 255, 255, 0.42);
        border-color: rgba(255, 255, 255, 0.42);
    }
}
@media (max-width: 600px) {
    body.enfa-public {
        --hero-header-h: 76px;
    }
    .enfa-site-header.enfa-ref-header {
        background: rgba(255, 255, 255, 0.74);
        border-bottom-color: rgba(255, 255, 255, 0.55);
    }
    .enfa-site-header.enfa-ref-header.is-scrolled {
        background: rgba(255, 255, 255, 0.95);
    }
    .hp-hero-fullbleed {
        min-height: 900px;
    }
    .hp-hero-fullbleed .hp-hero-stage {
        min-height: 690px;
    }
    .hp-hero-fullbleed .hp-hero-reference-content {
        min-height: 610px;
        padding-top: 48px;
        align-items: flex-start;
    }
    .hp-hero-fullbleed .hp-kicker {
        font-size: 8.5px;
        padding: 8px 10px;
        white-space: nowrap;
    }
    .hp-hero-fullbleed h1 {
        font-size: clamp(48px, 13vw, 61px);
        line-height: 0.9;
        letter-spacing: -0.06em;
        max-width: 370px;
        margin: 18px 0 15px;
    }
    .hp-hero-fullbleed .hp-hero-reference-copy > p {
        font-size: 14px;
        line-height: 1.48;
        max-width: 340px;
        color: #18366d;
    }
    .hp-hero-fullbleed .hp-actions {
        width: min(100%, 355px);
        display: grid;
        grid-template-columns: 1fr;
        gap: 11px;
        margin-top: 21px;
    }
    .hp-hero-fullbleed .hp-btn {
        width: 100%;
        height: 55px;
        font-size: 14px;
    }
    .hp-hero-video {
        display: block !important;
        object-position: 66% center !important;
        filter: saturate(1.04) contrast(1.02);
    }
    .hp-hero-media .hp-hero-art-reference.has-video {
        opacity: 0 !important;
    }
    .hp-hero-overlay {
        background: linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.94) 0%,
            rgba(255, 255, 255, 0.84) 29%,
            rgba(255, 255, 255, 0.5) 50%,
            rgba(7, 26, 67, 0.22) 70%,
            rgba(5, 20, 55, 0.48) 100%
        );
    }
    .hp-hero-fullbleed .hp-trustbar-wrap {
        padding: 0 12px 18px;
    }
    .hp-hero-fullbleed .hp-trustbar {
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        padding: 9px;
        border-radius: 22px;
        background: rgba(255, 255, 255, 0.82);
    }
    .hp-hero-fullbleed .hp-trustbar > div {
        min-height: 112px;
        padding: 13px 11px;
        border-radius: 17px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        background: rgba(255, 255, 255, 0.46);
    }
    .hp-hero-fullbleed .trust-icon {
        width: 42px;
        height: 42px;
        min-width: 42px;
    }
    .hp-hero-fullbleed .hp-trustbar strong {
        font-size: 13px;
        line-height: 1.1;
    }
    .hp-hero-fullbleed .hp-trustbar small {
        font-size: 10.5px;
        line-height: 1.25;
    }
}
@media (max-width: 360px) {
    .hp-hero-fullbleed .hp-trustbar {
        grid-template-columns: 1fr;
    }
    .hp-hero-fullbleed {
        min-height: 1080px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .hp-hero-video {
        display: none !important;
    }
    .hp-hero-media .hp-hero-art-reference.has-video {
        opacity: 1 !important;
    }
    .hp-hero-fullbleed .hp-hero-reference-copy {
        animation: none !important;
    }
}

/* FA09 HOME — PREMIUM ECOSYSTEM SECTION */
.hp-more-premium {
    position: relative;
    padding: 76px 0 78px;
    background:
        radial-gradient(
            circle at 29% 50%,
            rgba(12, 211, 226, 0.075),
            transparent 24%
        ),
        radial-gradient(
            circle at 96% 86%,
            rgba(125, 63, 255, 0.08),
            transparent 20%
        ),
        #fff;
    overflow: hidden;
}
.hp-more-premium:before {
    content: "";
    position: absolute;
    left: 20%;
    top: 18%;
    width: 330px;
    height: 330px;
    border-radius: 50%;
    background: rgba(216, 249, 252, 0.34);
    filter: blur(1px);
    z-index: 0;
}
.hp-more-layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(390px, 0.82fr) minmax(680px, 1.58fr);
    gap: 72px;
    align-items: center;
}
.hp-more-copy {
    max-width: 600px;
}
.hp-more-eyebrow {
    margin-bottom: 34px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.32em;
    color: #27bfe2;
    text-transform: uppercase;
}
.hp-more-copy h2 {
    margin: 0 0 28px;
    font-size: clamp(54px, 4.45vw, 82px);
    line-height: 0.88;
    letter-spacing: -0.058em;
    color: #071d58;
    font-weight: 900;
}
.hp-more-copy h2 span {
    background: linear-gradient(
        95deg,
        #08cbd8 3%,
        #18bde8 32%,
        #3978f4 61%,
        #7c21ff 96%
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.hp-more-copy p {
    max-width: 590px;
    margin: 0 0 36px;
    color: #142b62;
    font-size: clamp(17px, 1.25vw, 22px);
    line-height: 1.55;
    font-weight: 500;
}
.hp-more-cta {
    position: relative;
    isolation: isolate;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 26px;
    min-width: 380px;
    min-height: 76px;
    padding: 0 34px 0 42px;
    border-radius: 999px;
    color: #fff;
    text-decoration: none;
    font-size: 20px;
    font-weight: 800;
    background: linear-gradient(
        100deg,
        #08d5d9,
        #13bde9 38%,
        #5b54f8 70%,
        #7617ff
    );
    box-shadow: 0 18px 38px rgba(52, 81, 228, 0.2);
    overflow: hidden;
    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease;
}
.hp-more-cta:before {
    content: "";
    position: absolute;
    inset: -50%;
    z-index: -1;
    background: linear-gradient(
        115deg,
        transparent 36%,
        rgba(255, 255, 255, 0.5) 48%,
        transparent 60%
    );
    transform: translateX(-65%);
    transition: transform 0.7s ease;
}
.hp-more-cta:hover {
    transform: translateY(-3px);
    box-shadow:
        0 20px 46px rgba(66, 74, 240, 0.32),
        0 0 28px rgba(14, 211, 221, 0.2);
}
.hp-more-cta:hover:before {
    transform: translateX(65%);
}
.hp-more-cta b {
    font-size: 31px;
    line-height: 1;
    font-weight: 400;
}
.hp-actor-grid-premium {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px 18px;
}
.actor-card {
    display: block;
    min-width: 0;
    border-radius: 22px;
    background: #fff;
    text-decoration: none;
    color: #071d58;
    overflow: hidden;
    box-shadow: 0 12px 32px rgba(11, 38, 92, 0.09);
    border: 1px solid rgba(223, 234, 247, 0.75);
    transition:
        transform 0.32s cubic-bezier(0.2, 0.8, 0.2, 1),
        box-shadow 0.32s ease;
}
.actor-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 44px rgba(11, 38, 92, 0.16);
}
.actor-card__photo {
    height: 178px;
    overflow: hidden;
    background: #edf5fa;
}
.actor-card__photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition:
        transform 0.65s cubic-bezier(0.2, 0.8, 0.2, 1),
        filter 0.35s ease;
}
.actor-card:hover .actor-card__photo img {
    transform: scale(1.045);
    filter: saturate(1.07);
}
.actor-card__body {
    position: relative;
    min-height: 82px;
    padding: 14px 58px 12px 92px;
    display: flex;
    align-items: center;
    background: linear-gradient(180deg, #fff, #fbfdff);
}
.actor-card__icon {
    position: absolute;
    left: 16px;
    top: -25px;
    width: 66px;
    height: 66px;
    border-radius: 22px;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, #fff, #eefcff);
    color: #10bee3;
    box-shadow: 0 10px 24px rgba(12, 84, 143, 0.13);
    border: 1px solid rgba(215, 244, 249, 0.95);
}
.actor-card--driver .actor-card__icon,
.actor-card--fleet .actor-card__icon,
.actor-card--partner .actor-card__icon {
    color: #722cff;
    background: linear-gradient(145deg, #fff, #f5efff);
}
.actor-card__icon svg {
    width: 34px;
    height: 34px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.actor-card__text {
    display: grid;
    gap: 2px;
    min-width: 0;
}
.actor-card__text strong {
    font-size: 19px;
    line-height: 1.05;
    font-weight: 900;
    letter-spacing: -0.025em;
    color: #071d58;
}
.actor-card__text small {
    font-size: 13px;
    line-height: 1.2;
    color: #536997;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.actor-card__arrow {
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 43px;
    height: 43px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 23px;
    font-weight: 700;
    color: #0fc6e2;
    background: linear-gradient(145deg, #e6fbff, #d9f7ff);
    border: 1px solid #c9f1f8;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}
.actor-card--driver .actor-card__arrow,
.actor-card--fleet .actor-card__arrow,
.actor-card--partner .actor-card__arrow {
    color: #702cff;
    background: linear-gradient(145deg, #f7f1ff, #eee5ff);
    border-color: #e4d7ff;
}
.actor-card:hover .actor-card__arrow {
    transform: translate(3px, -50%);
    box-shadow: 0 7px 18px rgba(54, 97, 219, 0.16);
}
@media (max-width: 1180px) {
    .hp-more-layout {
        grid-template-columns: 0.8fr 1.2fr;
        gap: 38px;
    }
    .actor-card__photo {
        height: 145px;
    }
    .actor-card__body {
        padding-left: 70px;
    }
    .actor-card__icon {
        width: 54px;
        height: 54px;
        border-radius: 18px;
        left: 10px;
        top: -20px;
    }
    .actor-card__icon svg {
        width: 28px;
        height: 28px;
    }
    .actor-card__text strong {
        font-size: 16px;
    }
    .actor-card__text small {
        font-size: 11px;
    }
    .hp-more-cta {
        min-width: 320px;
    }
}
@media (max-width: 900px) {
    .hp-more-premium {
        padding: 58px 0;
    }
    .hp-more-layout {
        grid-template-columns: 1fr;
        gap: 42px;
    }
    .hp-more-copy {
        max-width: 680px;
    }
    .hp-more-copy h2 {
        font-size: clamp(52px, 9vw, 76px);
    }
    .hp-more-copy p {
        max-width: 680px;
    }
    .hp-actor-grid-premium {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .actor-card__photo {
        height: 190px;
    }
}
@media (max-width: 560px) {
    .hp-more-premium {
        padding: 46px 0 54px;
    }
    .hp-more-eyebrow {
        font-size: 10px;
        letter-spacing: 0.22em;
        margin-bottom: 22px;
    }
    .hp-more-copy h2 {
        font-size: clamp(45px, 13.5vw, 62px);
        margin-bottom: 22px;
    }
    .hp-more-copy p {
        font-size: 16px;
        line-height: 1.55;
        margin-bottom: 28px;
    }
    .hp-more-cta {
        width: 100%;
        min-width: 0;
        min-height: 62px;
        padding: 0 24px;
        font-size: 16px;
    }
    .hp-actor-grid-premium {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .actor-card {
        display: grid;
        grid-template-columns: 42% 58%;
        min-height: 142px;
    }
    .actor-card__photo {
        height: 100%;
        min-height: 142px;
    }
    .actor-card__body {
        min-height: 142px;
        padding: 20px 46px 18px 62px;
    }
    .actor-card__icon {
        width: 48px;
        height: 48px;
        left: -16px;
        top: 50%;
        transform: translateY(-50%);
        border-radius: 16px;
    }
    .actor-card__text strong {
        font-size: 17px;
    }
    .actor-card__text small {
        font-size: 11px;
        white-space: normal;
    }
    .actor-card__arrow {
        width: 36px;
        height: 36px;
        right: 10px;
    }
    .actor-card:hover {
        transform: none;
    }
    .actor-card:hover .actor-card__arrow {
        transform: translate(2px, -50%);
    }
}
@media (prefers-reduced-motion: reduce) {
    .actor-card,
    .actor-card__photo img,
    .actor-card__arrow,
    .hp-more-cta {
        transition: none !important;
    }
}

/* FA09 ecosystem exact visual refinement */
.hp-ecosystem {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 34px 0 88px;
    background: linear-gradient(180deg, #fff 0%, #fbfdff 62%, #f5fbff 100%);
    border: 0;
    border-radius: 0;
    min-height: 510px;
}
.hp-ecosystem:after {
    display: none;
}
.ecosystem-inner {
    position: relative;
    z-index: 3;
    width: min(1780px, calc(100% - 72px));
}
.ecosystem-heading small {
    display: block;
    font-size: 15px;
    letter-spacing: 0.3em;
    font-weight: 900;
    background: linear-gradient(90deg, #04cfdc, #1e9ef4 45%, #7936ff);
    -webkit-background-clip: text;
    color: transparent;
}
.ecosystem-heading h2 {
    font-size: clamp(38px, 3.25vw, 62px);
    line-height: 1.02;
    margin: 16px 0 12px;
    color: #071b4a;
    letter-spacing: -0.055em;
}
.ecosystem-heading h2 span {
    background: linear-gradient(90deg, #11bfe5, #2e8ff5 48%, #7435ff);
    -webkit-background-clip: text;
    color: transparent;
}
.ecosystem-heading > p {
    font-size: clamp(16px, 1.15vw, 22px);
    font-weight: 600;
    color: #53658e;
    margin: 0;
}
.ecosystem-skyline {
    position: absolute;
    inset: 0 0 60px;
    z-index: 0;
    opacity: 0.13;
    background:
        linear-gradient(
            180deg,
            transparent 24%,
            rgba(26, 184, 224, 0.12) 72%,
            transparent 100%
        ),
        url("../images/enfa-home-pro/coverage.jpg") center 36% / cover no-repeat;
    filter: saturate(0.7) brightness(1.3);
    mask-image: linear-gradient(
        180deg,
        transparent 0,
        #000 38%,
        #000 78%,
        transparent 100%
    );
}
.ecosystem-network {
    position: relative;
    display: grid;
    grid-template-columns:
        repeat(3, minmax(130px, 1fr)) minmax(180px, 1.22fr)
        repeat(3, minmax(130px, 1fr));
    gap: 18px;
    align-items: end;
    margin-top: 42px;
    padding: 22px 0 6px;
}
.ecosystem-arcs {
    position: absolute;
    z-index: 0;
    left: 1%;
    right: 1%;
    top: -16px;
    width: 98%;
    height: 215px;
    overflow: visible;
    pointer-events: none;
}
.eco-arc {
    fill: none;
    stroke: url(#ecoLine);
    stroke-width: 2.1;
    stroke-linecap: round;
    opacity: 0.88;
    stroke-dasharray: 7 5;
    filter: drop-shadow(0 0 5px rgba(17, 208, 230, 0.22));
    animation: ecoDash 11s linear infinite;
}
.eco-arc.b,
.eco-arc.d {
    stroke-width: 7;
    stroke-dasharray: none;
    opacity: 0.19;
}
.eco-dots circle {
    fill: #09d3e5;
    filter: drop-shadow(0 0 7px #0bd8e8);
    animation: ecoPulse 2.4s ease-in-out infinite alternate;
}
.ecosystem-node {
    position: relative;
    z-index: 2;
    text-align: center;
    min-width: 0;
}
.ecosystem-photo {
    width: clamp(128px, 10.8vw, 205px);
    aspect-ratio: 1;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto 15px;
    border: 2px solid transparent;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(145deg, #0bd9e6, #7138ff) border-box;
    box-shadow:
        0 15px 35px rgba(16, 77, 139, 0.16),
        0 0 0 8px rgba(255, 255, 255, 0.72);
    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;
}
.ecosystem-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: scale(1.04);
    transition: transform 0.5s ease;
}
.ecosystem-node:hover .ecosystem-photo {
    transform: translateY(-7px);
    box-shadow:
        0 22px 46px rgba(20, 86, 156, 0.23),
        0 0 0 8px rgba(227, 251, 255, 0.8);
}
.ecosystem-node:hover .ecosystem-photo img {
    transform: scale(1.1);
}
.ecosystem-node h3 {
    font-size: clamp(17px, 1.25vw, 24px);
    line-height: 1;
    margin: 0 0 7px;
    color: #071b4a;
    font-weight: 900;
    letter-spacing: -0.025em;
}
.ecosystem-node > p {
    font-size: clamp(12px, 0.92vw, 17px);
    line-height: 1.2;
    color: #52658f;
    margin: 0;
    font-weight: 600;
    white-space: nowrap;
}
.ecosystem-brand {
    align-self: center;
    margin-bottom: 31px;
}
.ecosystem-brand-ring {
    width: clamp(168px, 14vw, 260px);
    aspect-ratio: 1;
    border-radius: 50%;
    margin: auto;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, 0.82);
    border: 13px solid rgba(255, 255, 255, 0.92);
    box-shadow:
        0 0 0 2px rgba(33, 193, 230, 0.1),
        0 22px 60px rgba(13, 135, 190, 0.19),
        inset 0 0 42px rgba(17, 213, 231, 0.1);
    backdrop-filter: blur(10px);
    animation: ecoBrandFloat 5.5s ease-in-out infinite;
}
.ecosystem-brand-ring img {
    width: 82%;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 8px 16px rgba(29, 95, 176, 0.13));
}
.ecosystem-bottom-wave {
    position: absolute;
    z-index: 1;
    left: -4%;
    right: -4%;
    bottom: -58px;
    height: 118px;
    background: #03204a;
    border-radius: 50% 50% 0 0/35% 35% 0 0;
    box-shadow:
        0 -7px 0 #06cbe7,
        0 -10px 28px rgba(38, 89, 255, 0.48);
}
.ecosystem-bottom-wave:after {
    content: "";
    position: absolute;
    inset: -5px 18% auto;
    height: 4px;
    background: linear-gradient(
        90deg,
        transparent,
        #00e5ee 28%,
        #733bff 70%,
        transparent
    );
    filter: blur(1px);
    box-shadow: 0 0 14px #28bdf7;
}
@keyframes ecoDash {
    to {
        stroke-dashoffset: -180;
    }
}
@keyframes ecoPulse {
    to {
        opacity: 0.35;
        transform: scale(0.7);
        transform-origin: center;
    }
}
@keyframes ecoBrandFloat {
    50% {
        transform: translateY(-7px);
    }
}
@media (max-width: 1180px) {
    .ecosystem-inner {
        width: min(1080px, calc(100% - 40px));
    }
    .ecosystem-network {
        grid-template-columns: repeat(3, 1fr);
        gap: 28px 18px;
        padding-top: 12px;
    }
    .ecosystem-brand {
        grid-column: 2;
        grid-row: 2;
        margin: 0;
    }
    .ecosystem-node:nth-child(5) {
        grid-column: 1;
        grid-row: 3;
    }
    .ecosystem-node:nth-child(6) {
        grid-column: 2;
        grid-row: 3;
    }
    .ecosystem-node:nth-child(7) {
        grid-column: 3;
        grid-row: 3;
    }
    .ecosystem-arcs {
        display: none;
    }
    .ecosystem-photo {
        width: 150px;
    }
    .ecosystem-node > p {
        white-space: normal;
    }
    .ecosystem-brand-ring {
        width: 180px;
    }
    .hp-ecosystem {
        padding-bottom: 105px;
    }
}
@media (max-width: 680px) {
    .hp-ecosystem {
        padding: 38px 0 90px;
        min-height: 0;
    }
    .ecosystem-inner {
        width: calc(100% - 30px);
    }
    .ecosystem-heading small {
        font-size: 10px;
        letter-spacing: 0.22em;
    }
    .ecosystem-heading h2 {
        font-size: 34px;
        margin: 10px 0 9px;
    }
    .ecosystem-heading > p {
        font-size: 14px;
        line-height: 1.45;
        padding: 0 10px;
    }
    .ecosystem-network {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 26px 14px;
        margin-top: 28px;
    }
    .ecosystem-node,
    .ecosystem-node:nth-child(n) {
        grid-column: auto;
        grid-row: auto;
    }
    .ecosystem-brand {
        grid-column: 1/-1 !important;
        grid-row: 3 !important;
        order: 0;
    }
    .ecosystem-node:nth-child(1) {
        grid-column: 1;
        grid-row: 1;
    }
    .ecosystem-node:nth-child(2) {
        grid-column: 2;
        grid-row: 1;
    }
    .ecosystem-node:nth-child(3) {
        grid-column: 1;
        grid-row: 2;
    }
    .ecosystem-node:nth-child(5) {
        grid-column: 2;
        grid-row: 2;
    }
    .ecosystem-node:nth-child(6) {
        grid-column: 1;
        grid-row: 4;
    }
    .ecosystem-node:nth-child(7) {
        grid-column: 2;
        grid-row: 4;
    }
    .ecosystem-photo {
        width: min(38vw, 148px);
        margin-bottom: 11px;
    }
    .ecosystem-node h3 {
        font-size: 16px;
    }
    .ecosystem-node > p {
        font-size: 11px;
        line-height: 1.25;
    }
    .ecosystem-brand {
        margin: 0;
    }
    .ecosystem-brand-ring {
        width: 150px;
        border-width: 9px;
    }
    .ecosystem-bottom-wave {
        bottom: -42px;
        height: 78px;
    }
    .ecosystem-skyline {
        opacity: 0.08;
    }
}
@media (prefers-reduced-motion: reduce) {
    .eco-arc,
    .eco-dots circle,
    .ecosystem-brand-ring {
        animation: none !important;
    }
}

/* === FA09 SECURITY PREMIUM — reference matched section === */
.hp-safety.hp-safety-premium {
    position: relative;
    isolation: isolate;
    min-height: 620px;
    padding: 72px 0 78px;
    overflow: hidden;
    background: #03142f;
    color: #fff;
}
.hp-safety-premium .hp-safety-bg {
    position: absolute;
    inset: 0;
    z-index: -4;
    background:
        linear-gradient(
            90deg,
            rgba(1, 12, 34, 0.1) 0%,
            rgba(2, 16, 43, 0.88) 34%,
            rgba(2, 17, 47, 0.78) 64%,
            rgba(1, 12, 35, 0.48) 100%
        ),
        url("../images/enfa-home-pro/safety-city-night.webp") right 10%
            center/72% 100% no-repeat,
        #03142f;
    filter: saturate(1.14);
}
.hp-safety-premium:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -3;
    background:
        radial-gradient(
            circle at 57% 34%,
            rgba(0, 216, 239, 0.12),
            transparent 22%
        ),
        radial-gradient(
            circle at 88% 68%,
            rgba(125, 42, 255, 0.17),
            transparent 26%
        ),
        linear-gradient(180deg, rgba(0, 9, 28, 0.12), rgba(0, 10, 30, 0.35));
    pointer-events: none;
}
.hp-safety-inner {
    width: min(100%, 2048px);
    min-height: 470px;
    margin: auto;
    display: grid;
    grid-template-columns: minmax(330px, 27%) minmax(400px, 27%) minmax(
            760px,
            46%
        );
    align-items: center;
    position: relative;
    z-index: 2;
}
.hp-safety-premium .hp-safety-photo {
    height: 530px;
    align-self: center;
    border-radius: 0 42% 42% 0/0 50% 50% 0;
    overflow: hidden;
    box-shadow: 38px 0 80px rgba(0, 0, 0, 0.28);
    position: relative;
}
.hp-safety-premium .hp-safety-photo:after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, transparent 55%, #03142f 100%),
        linear-gradient(0deg, rgba(3, 20, 47, 0.42), transparent 35%);
    pointer-events: none;
}
.hp-safety-premium .hp-safety-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 46% center;
    transform: scale(1.02);
    transition: transform 8s ease;
}
.hp-safety-premium.in .hp-safety-photo img {
    transform: scale(1.065);
}
.hp-safety-copy {
    padding: 18px 38px 18px 26px;
    align-self: center;
}
.hp-safety-kicker {
    font-size: 16px;
    line-height: 1;
    font-weight: 850;
    letter-spacing: 0.34em;
    background: linear-gradient(90deg, #09d9e9, #8b35ff);
    -webkit-background-clip: text;
    color: transparent;
    margin-bottom: 20px;
}
.hp-safety-premium .hp-safety-copy h2 {
    font-size: clamp(48px, 4vw, 76px);
    line-height: 0.98;
    letter-spacing: -0.055em;
    margin: 0 0 22px;
    font-weight: 900;
    color: #fff;
    max-width: 570px;
}
.hp-safety-premium .hp-safety-copy h2 span {
    display: block;
    background: linear-gradient(100deg, #03d9e7 0%, #13aaf1 42%, #8a2cff 100%);
    -webkit-background-clip: text;
    color: transparent;
}
.hp-safety-premium .hp-safety-copy p {
    max-width: 560px;
    color: #eef5ff;
    font-size: clamp(17px, 1.2vw, 23px);
    line-height: 1.45;
    font-weight: 500;
    margin-bottom: 26px;
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.25);
}
.hp-safety-cta {
    min-width: 440px;
    min-height: 78px !important;
    justify-content: space-between !important;
    padding: 0 36px !important;
    font-size: 21px !important;
    background: linear-gradient(
        100deg,
        #08d9e8 0%,
        #16b9ef 40%,
        #852cff 100%
    ) !important;
    color: #fff !important;
    box-shadow:
        0 16px 38px rgba(22, 126, 255, 0.24),
        0 0 30px rgba(92, 49, 255, 0.14) !important;
    position: relative;
    overflow: hidden;
}
.hp-safety-cta:before {
    content: "";
    position: absolute;
    inset: -50% auto -50% -35%;
    width: 24%;
    transform: skewX(-22deg);
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.72),
        transparent
    );
    transition: left 0.65s ease;
}
.hp-safety-cta:hover:before {
    left: 120%;
}
.hp-safety-cta b {
    font-size: 30px;
    font-weight: 400;
}
.hp-safety-cta:hover {
    transform: translateY(-4px) scale(1.012);
    box-shadow:
        0 22px 48px rgba(11, 205, 233, 0.25),
        0 0 36px rgba(130, 44, 255, 0.25) !important;
}
.hp-safety-premium .hp-safety-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    gap: 18px;
    padding: 0 28px 0 8px;
}
.hp-safety-premium .hp-safety-cards article {
    min-height: 315px;
    padding: 32px 18px 28px;
    border-radius: 26px;
    background: linear-gradient(
        180deg,
        rgba(7, 38, 82, 0.74),
        rgba(3, 23, 55, 0.78)
    );
    border: 1.5px solid rgba(14, 188, 245, 0.62);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.04),
        0 18px 42px rgba(0, 0, 0, 0.18);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    transition:
        transform 0.32s cubic-bezier(0.2, 0.8, 0.2, 1),
        border-color 0.32s ease,
        box-shadow 0.32s ease,
        background 0.32s ease;
    backdrop-filter: blur(8px);
}
.hp-safety-premium .hp-safety-cards article:nth-child(even) {
    border-color: rgba(112, 53, 255, 0.58);
}
.hp-safety-premium .hp-safety-cards article:hover {
    transform: translateY(-10px);
    background: linear-gradient(
        180deg,
        rgba(8, 48, 102, 0.88),
        rgba(4, 28, 68, 0.92)
    );
    border-color: #10d6ec;
    box-shadow:
        0 24px 54px rgba(0, 0, 0, 0.26),
        0 0 24px rgba(10, 211, 237, 0.12);
}
.hp-safety-premium .hp-safe-icon {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    margin: 0 0 26px;
    background: radial-gradient(
        circle at 38% 30%,
        rgba(18, 227, 244, 0.25),
        rgba(3, 74, 142, 0.42) 55%,
        rgba(3, 36, 78, 0.55)
    );
    box-shadow:
        inset 0 0 0 1px rgba(20, 219, 239, 0.12),
        0 12px 26px rgba(0, 0, 0, 0.18);
    color: #08dded;
}
.hp-safety-premium article:nth-child(even) .hp-safe-icon {
    color: #9b36ff;
    background: radial-gradient(
        circle at 38% 30%,
        rgba(154, 52, 255, 0.3),
        rgba(57, 24, 124, 0.48) 55%,
        rgba(15, 29, 74, 0.62)
    );
}
.hp-safety-premium .hp-safe-icon svg {
    width: 58px;
    height: 58px;
    fill: none;
    stroke: currentColor;
    stroke-width: 5;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 0 8px currentColor);
}
.hp-safety-premium .hp-safety-cards b {
    font-size: 21px;
    line-height: 1.06;
    max-width: 155px;
    margin: auto 0 14px;
    color: #fff;
    font-weight: 850;
    letter-spacing: -0.025em;
}
.hp-safety-premium .hp-safety-cards small {
    font-size: 16px;
    line-height: 1.25;
    color: #d6deef;
    max-width: 145px;
    min-height: 40px;
}
.hp-safety-curve {
    position: absolute;
    left: -3%;
    width: 106%;
    z-index: 4;
    pointer-events: none;
}
.hp-safety-curve-top {
    top: -72px;
    height: 116px;
    background: #fff;
    border-radius: 0 0 50% 50%/0 0 80% 80%;
    box-shadow:
        0 8px 0 #0bd7ed,
        0 12px 34px rgba(35, 68, 255, 0.36);
}
.hp-safety-curve-bottom {
    bottom: -88px;
    height: 132px;
    background: #fff;
    border-radius: 50% 50% 0 0/78% 78% 0 0;
    box-shadow:
        0 -8px 0 #0bd7ed,
        0 -11px 0 #7735ff,
        0 -20px 38px rgba(31, 97, 255, 0.3);
}
@media (max-width: 1500px) {
    .hp-safety-inner {
        grid-template-columns: 27% 31% 42%;
    }
    .hp-safety-premium .hp-safety-cards {
        gap: 12px;
        padding-right: 18px;
    }
    .hp-safety-premium .hp-safety-cards article {
        min-height: 280px;
        padding: 26px 12px;
    }
    .hp-safety-premium .hp-safe-icon {
        width: 82px;
        height: 82px;
        margin-bottom: 20px;
    }
    .hp-safety-premium .hp-safe-icon svg {
        width: 48px;
        height: 48px;
    }
    .hp-safety-premium .hp-safety-cards b {
        font-size: 17px;
    }
    .hp-safety-premium .hp-safety-cards small {
        font-size: 13px;
    }
    .hp-safety-cta {
        min-width: 0;
        width: 100%;
    }
}
@media (max-width: 1100px) {
    .hp-safety.hp-safety-premium {
        padding: 80px 0 95px;
    }
    .hp-safety-inner {
        width: min(100% - 38px, 980px);
        grid-template-columns: 0.85fr 1.15fr;
    }
    .hp-safety-premium .hp-safety-photo {
        height: 430px;
        border-radius: 28px;
    }
    .hp-safety-copy {
        padding: 20px 0 20px 34px;
    }
    .hp-safety-premium .hp-safety-cards {
        grid-column: 1/-1;
        grid-template-columns: repeat(4, 1fr);
        padding: 26px 0 0;
    }
    .hp-safety-premium .hp-safety-cards article {
        min-height: 230px;
    }
    .hp-safety-premium .hp-safety-bg {
        background-size: cover;
        background-position: center;
    }
}
@media (max-width: 760px) {
    .hp-safety.hp-safety-premium {
        min-height: auto;
        padding: 72px 0 90px;
    }
    .hp-safety-inner {
        width: calc(100% - 30px);
        grid-template-columns: 1fr;
    }
    .hp-safety-premium .hp-safety-photo {
        height: 330px;
        border-radius: 28px;
        margin-bottom: 8px;
    }
    .hp-safety-premium .hp-safety-photo:after {
        background: linear-gradient(0deg, #03142f 0%, transparent 48%);
    }
    .hp-safety-copy {
        padding: 20px 5px 10px;
        text-align: left;
    }
    .hp-safety-kicker {
        font-size: 12px;
        letter-spacing: 0.27em;
        margin-bottom: 14px;
    }
    .hp-safety-premium .hp-safety-copy h2 {
        font-size: clamp(45px, 14vw, 62px);
        margin-bottom: 16px;
    }
    .hp-safety-premium .hp-safety-copy p {
        font-size: 16px;
        line-height: 1.5;
    }
    .hp-safety-cta {
        width: 100%;
        min-height: 64px !important;
        font-size: 16px !important;
        padding: 0 24px !important;
    }
    .hp-safety-premium .hp-safety-cards {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
        padding-top: 24px;
    }
    .hp-safety-premium .hp-safety-cards article {
        min-height: 220px;
        border-radius: 22px;
        padding: 24px 10px 20px;
    }
    .hp-safety-premium .hp-safe-icon {
        width: 76px;
        height: 76px;
        margin-bottom: 16px;
    }
    .hp-safety-premium .hp-safe-icon svg {
        width: 44px;
        height: 44px;
    }
    .hp-safety-premium .hp-safety-cards b {
        font-size: 16px;
        margin-bottom: 8px;
    }
    .hp-safety-premium .hp-safety-cards small {
        font-size: 12px;
    }
    .hp-safety-curve-top {
        top: -52px;
        height: 78px;
    }
    .hp-safety-curve-bottom {
        bottom: -60px;
        height: 92px;
    }
}

/* === FA09 LOCAL + HOW PREMIUM — reference matched === */
/* Ecosystem and safety are intentionally fused: no white top cutout. */
.hp-safety-premium .hp-safety-curve-top {
    display: none !important;
}
.hp-safety.hp-safety-premium {
    margin-top: -1px;
    padding-top: 54px;
}

.hp-local-premium {
    position: relative;
    overflow: hidden;
    background: #fff;
    padding: 0;
    border: 0;
}
.hp-local-shell {
    width: 100%;
    min-height: 410px;
    display: grid;
    grid-template-columns: 51% 49%;
    position: relative;
}
.hp-local-copy {
    padding: 28px 3.7vw 22px 5.2vw;
    align-self: center;
    position: relative;
    z-index: 2;
    background: linear-gradient(
        90deg,
        #fff 0%,
        #fff 80%,
        rgba(255, 255, 255, 0.86) 92%,
        transparent 100%
    );
}
.hp-local-kicker {
    font-size: 14px;
    letter-spacing: 0.34em;
    font-weight: 900;
    background: linear-gradient(90deg, #08cbdc, #9b61ff);
    -webkit-background-clip: text;
    color: transparent;
    margin-bottom: 16px;
}
.hp-local-premium h2 {
    font-size: clamp(38px, 3.5vw, 64px);
    line-height: 1.02;
    letter-spacing: -0.05em;
    margin: 0 0 13px;
    color: #071b50;
    font-weight: 900;
    white-space: nowrap;
}
.hp-local-premium h2 span {
    color: #0ac8df;
}
.hp-local-premium h2 strong {
    font-weight: 900;
    background: linear-gradient(90deg, #17a9ee, #7835ff);
    -webkit-background-clip: text;
    color: transparent;
}
.hp-local-premium .hp-local-copy > p {
    font-size: clamp(16px, 1.25vw, 23px);
    line-height: 1.35;
    color: #17306c;
    margin: 0 0 18px;
    max-width: 880px;
    font-weight: 550;
}
.hp-local-features {
    display: grid;
    grid-template-columns: repeat(5, minmax(110px, 1fr));
    gap: 12px;
    margin: 4px 0 18px;
    max-width: 920px;
}
.hp-local-feature {
    min-height: 125px;
    padding: 14px 8px 10px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 10px 30px rgba(19, 57, 110, 0.07);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}
.hp-local-feature:hover {
    transform: translateY(-5px);
    box-shadow: 0 17px 38px rgba(23, 74, 142, 0.13);
}
.hp-local-feature-icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    margin-bottom: 6px;
    color: #08c6e2;
}
.hp-local-feature:nth-child(even) .hp-local-feature-icon {
    color: #7137ff;
}
.hp-local-feature-icon svg {
    width: 46px;
    height: 46px;
    fill: none;
    stroke: currentColor;
    stroke-width: 3.3;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 5px 8px rgba(51, 79, 220, 0.14));
}
.hp-local-feature b {
    font-size: 15px;
    line-height: 1.1;
    color: #071b50;
    font-weight: 900;
}
.hp-local-feature small {
    font-size: 11px;
    line-height: 1.2;
    color: #52658f;
    margin-top: 4px;
}
.hp-local-cta {
    width: min(340px, 100%);
    min-height: 55px !important;
    justify-content: space-between !important;
    padding: 0 28px !important;
    background: linear-gradient(
        100deg,
        #08d8e6,
        #14b4ed 45%,
        #7b2fff
    ) !important;
    color: #fff !important;
    box-shadow: 0 15px 34px rgba(70, 66, 235, 0.18) !important;
    font-size: 17px !important;
    position: relative;
    overflow: hidden;
}
.hp-local-cta:before {
    content: "";
    position: absolute;
    inset: -50% auto -50% -30%;
    width: 20%;
    transform: skewX(-22deg);
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.72),
        transparent
    );
    transition: left 0.65s ease;
}
.hp-local-cta:hover:before {
    left: 120%;
}
.hp-local-cta:hover {
    transform: translateY(-3px);
    box-shadow:
        0 20px 42px rgba(62, 73, 239, 0.28),
        0 0 24px rgba(12, 207, 225, 0.2) !important;
}
.hp-local-cta b {
    font-size: 27px;
    font-weight: 400;
}
.hp-local-visual {
    position: relative;
    overflow: hidden;
    min-height: 410px;
}
.hp-local-visual:before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    background: linear-gradient(
        90deg,
        #fff 0%,
        rgba(255, 255, 255, 0.12) 16%,
        transparent 34%
    );
    pointer-events: none;
}
.hp-local-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 8s ease;
}
.hp-local-premium.in .hp-local-visual img {
    transform: scale(1.045);
}
.hp-local-deal {
    position: absolute;
    z-index: 3;
    right: 7%;
    top: 28%;
    width: 370px;
    min-height: 122px;
    padding: 14px 52px 14px 14px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 18px 42px rgba(10, 28, 65, 0.2);
    display: grid;
    grid-template-columns: 96px 1fr;
    gap: 16px;
    align-items: center;
    color: #0a2056;
}
.hp-local-deal-thumb {
    height: 90px;
    border-radius: 12px;
    background: url("../images/enfa-home-pro/local-city-premium.webp") 78%
        55%/300% auto no-repeat;
}
.hp-local-deal div {
    display: grid;
    gap: 2px;
}
.hp-local-deal b {
    font-size: 20px;
}
.hp-local-deal strong {
    font-size: 18px;
}
.hp-local-deal small {
    font-size: 14px;
    color: #50638e;
}
.hp-local-deal i {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #e8faff;
    color: #1997ec;
    font-style: normal;
    font-size: 20px;
}
.hp-local-pin {
    position: absolute;
    z-index: 3;
    right: 17%;
    bottom: 15%;
    width: 58px;
    height: 74px;
    filter: drop-shadow(0 8px 12px rgba(0, 161, 220, 0.25));
}
.hp-local-pin:before {
    content: "";
    position: absolute;
    width: 48px;
    height: 48px;
    border-radius: 50% 50% 50% 0;
    background: #08d8e9;
    transform: rotate(-45deg);
    left: 5px;
    top: 0;
}
.hp-local-pin span {
    position: absolute;
    z-index: 2;
    left: 23px;
    top: 16px;
    width: 13px;
    height: 13px;
    border: 5px solid #4b39ed;
    border-radius: 50%;
}

.hp-how-premium {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #f7fcff 0%, #fff 52%, #f4f7ff 100%);
    padding: 0;
}
.hp-how-premium:before {
    content: "";
    position: absolute;
    inset: auto auto -42% -8%;
    width: 55%;
    height: 88%;
    background: linear-gradient(
        135deg,
        rgba(14, 218, 232, 0.1),
        rgba(112, 53, 255, 0.07)
    );
    transform: skewX(-18deg) rotate(-4deg);
    border-radius: 40%;
}
.hp-how-shell {
    min-height: 330px;
    display: grid;
    grid-template-columns: 74% 26%;
    position: relative;
    z-index: 2;
}
.hp-how-main {
    padding: 42px 1.5vw 36px 5.2vw;
    display: grid;
    grid-template-columns: 25% 75%;
    align-items: start;
}
.hp-how-heading {
    padding-top: 6px;
}
.hp-how-heading h2 {
    font-size: clamp(38px, 3.15vw, 60px);
    line-height: 1;
    letter-spacing: -0.055em;
    margin: 0 0 10px;
    color: #071b50;
    font-weight: 900;
}
.hp-how-heading h2 span {
    background: linear-gradient(90deg, #10c5e1, #2987f2 52%, #8136ff);
    -webkit-background-clip: text;
    color: transparent;
}
.hp-how-heading p {
    font-size: clamp(16px, 1.2vw, 22px);
    color: #263d78;
    margin: 0;
    font-weight: 600;
}
.hp-how-steps {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    position: relative;
}
.hp-how-steps:before {
    content: "";
    position: absolute;
    left: 8%;
    right: 8%;
    top: 48px;
    height: 3px;
    background: linear-gradient(90deg, #d7f5fa, #c5e7f8, #e0dcff);
    border-radius: 4px;
}
.hp-how-step {
    position: relative;
    z-index: 2;
    text-align: left;
    padding: 0 10px;
}
.hp-how-step-icon {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    margin: 0 auto 15px;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, #dffbff, #eef1ff);
    color: #1459dc;
    box-shadow: inset 0 0 0 1px rgba(11, 200, 227, 0.08);
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}
.hp-how-step:hover .hp-how-step-icon {
    transform: translateY(-5px);
    box-shadow:
        0 14px 30px rgba(25, 103, 205, 0.12),
        inset 0 0 0 1px rgba(11, 200, 227, 0.16);
}
.hp-how-step-icon svg {
    width: 50px;
    height: 50px;
    fill: none;
    stroke: currentColor;
    stroke-width: 3.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.hp-how-step i {
    position: absolute;
    left: 12%;
    top: 77px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #08cee2, #7435ff);
    color: #fff;
    font-style: normal;
    font-size: 13px;
    font-weight: 900;
    box-shadow: 0 5px 12px rgba(66, 73, 230, 0.22);
}
.hp-how-step b {
    display: block;
    font-size: 15px;
    line-height: 1.18;
    color: #071b50;
    font-weight: 900;
    margin-bottom: 5px;
}
.hp-how-step small {
    display: block;
    font-size: 12px;
    line-height: 1.3;
    color: #52658f;
    max-width: 155px;
}
.hp-how-visual {
    position: relative;
    min-height: 330px;
    overflow: hidden;
}
.hp-how-visual:before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    background: linear-gradient(
        90deg,
        #fff 0%,
        rgba(255, 255, 255, 0.1) 20%,
        transparent 40%
    );
    pointer-events: none;
}
.hp-how-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 55% center;
    display: block;
    transition: transform 8s ease;
}
.hp-how-premium.in .hp-how-visual img {
    transform: scale(1.045);
}
@media (max-width: 1200px) {
    .hp-local-shell {
        grid-template-columns: 58% 42%;
    }
    .hp-local-copy {
        padding-left: 35px;
    }
    .hp-local-premium h2 {
        white-space: normal;
    }
    .hp-local-features {
        grid-template-columns: repeat(5, 1fr);
        gap: 7px;
    }
    .hp-local-feature {
        padding-left: 4px;
        padding-right: 4px;
    }
    .hp-local-deal {
        width: 300px;
        right: 4%;
        grid-template-columns: 75px 1fr;
    }
    .hp-local-deal-thumb {
        height: 74px;
    }
    .hp-how-shell {
        grid-template-columns: 70% 30%;
    }
    .hp-how-main {
        padding-left: 35px;
        grid-template-columns: 1fr;
    }
    .hp-how-heading {
        margin-bottom: 28px;
    }
    .hp-how-steps:before {
        top: 40px;
    }
    .hp-how-step-icon {
        width: 80px;
        height: 80px;
    }
    .hp-how-step i {
        top: 63px;
    }
    .hp-how-step b {
        font-size: 13px;
    }
    .hp-how-step small {
        font-size: 10px;
    }
}
@media (max-width: 850px) {
    .hp-local-shell {
        grid-template-columns: 1fr;
    }
    .hp-local-copy {
        padding: 44px 24px 30px;
    }
    .hp-local-visual {
        min-height: 360px;
    }
    .hp-local-visual:before {
        background: linear-gradient(
            180deg,
            #fff 0%,
            rgba(255, 255, 255, 0.05) 24%,
            transparent 40%
        );
    }
    .hp-local-features {
        grid-template-columns: repeat(3, 1fr);
    }
    .hp-local-feature:nth-child(4),
    .hp-local-feature:nth-child(5) {
        transform: none;
    }
    .hp-local-deal {
        top: 24px;
        right: 18px;
    }
    .hp-how-shell {
        grid-template-columns: 1fr;
    }
    .hp-how-main {
        padding: 40px 24px 26px;
    }
    .hp-how-steps {
        grid-template-columns: repeat(5, minmax(130px, 1fr));
        overflow-x: auto;
        padding: 0 0 12px;
        scroll-snap-type: x proximity;
    }
    .hp-how-step {
        scroll-snap-align: start;
    }
    .hp-how-visual {
        min-height: 350px;
    }
    .hp-how-visual:before {
        background: linear-gradient(180deg, #fff, transparent 25%);
    }
}
@media (max-width: 560px) {
    .hp-local-kicker {
        font-size: 10px;
        letter-spacing: 0.24em;
    }
    .hp-local-premium h2 {
        font-size: 39px;
    }
    .hp-local-premium .hp-local-copy > p {
        font-size: 15px;
    }
    .hp-local-features {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
    .hp-local-feature {
        min-height: 116px;
    }
    .hp-local-feature:last-child {
        grid-column: 1/-1;
    }
    .hp-local-cta {
        width: 100%;
    }
    .hp-local-visual {
        min-height: 300px;
    }
    .hp-local-deal {
        width: 260px;
        min-height: 96px;
        grid-template-columns: 58px 1fr;
        padding: 10px 40px 10px 10px;
    }
    .hp-local-deal-thumb {
        height: 58px;
    }
    .hp-local-deal b {
        font-size: 15px;
    }
    .hp-local-deal strong {
        font-size: 14px;
    }
    .hp-local-deal small {
        font-size: 11px;
    }
    .hp-local-pin {
        right: 14%;
        bottom: 12%;
        transform: scale(0.78);
    }
    .hp-how-main {
        padding: 34px 20px 22px;
    }
    .hp-how-heading h2 {
        font-size: 42px;
    }
    .hp-how-heading p {
        font-size: 16px;
    }
    .hp-how-steps {
        margin-right: -20px;
    }
    .hp-how-step-icon {
        width: 72px;
        height: 72px;
    }
    .hp-how-step-icon svg {
        width: 38px;
        height: 38px;
    }
    .hp-how-step i {
        top: 56px;
    }
    .hp-how-visual {
        min-height: 300px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .hp-local-visual img,
    .hp-how-visual img,
    .hp-local-feature,
    .hp-how-step-icon,
    .hp-local-cta {
        transition: none !important;
    }
}
/* FA09 FIX — ajustes visuales señalados 2026-10-07 */
/* Transición limpia Seguridad → Local: sin banda/curva intermedia */
.hp-safety-premium .hp-safety-curve-bottom {
    display: none !important;
}
.hp-local-premium {
    margin-top: 0 !important;
}

/* La unión entre copy y fotografía deja de verse como un corte vertical */
.hp-local-copy {
    background: linear-gradient(
        90deg,
        #fff 0%,
        #fff 72%,
        rgba(255, 255, 255, 0.96) 82%,
        rgba(255, 255, 255, 0.72) 91%,
        rgba(255, 255, 255, 0) 100%
    ) !important;
    padding-right: 5.2vw !important;
}
.hp-local-visual {
    margin-left: -5.5vw;
    min-height: 390px !important;
}
.hp-local-visual:before {
    background: linear-gradient(
        90deg,
        #fff 0%,
        rgba(255, 255, 255, 0.78) 7%,
        rgba(255, 255, 255, 0.2) 17%,
        transparent 29%
    ) !important;
}
.hp-local-visual img {
    object-position: center 38% !important;
}

/* El asset ya contiene oferta + pin: no se superponen componentes duplicados */
.hp-local-deal,
.hp-local-pin {
    display: none !important;
}

/* Cómo funciona: más aire para el título y separación real de los pasos */
.hp-how-main {
    grid-template-columns: 29% 71% !important;
    column-gap: 24px !important;
}
.hp-how-heading {
    padding-right: 18px !important;
}
.hp-how-heading h2 {
    font-size: clamp(38px, 2.8vw, 54px) !important;
    line-height: 0.96 !important;
    white-space: nowrap !important;
}
.hp-how-steps {
    padding-left: 8px !important;
}
.hp-how-step {
    padding-left: 14px !important;
    padding-right: 8px !important;
}

/* CTA "Conoce nuestros servicios": texto e icono siempre blancos, incluido hover/focus */
.hp-more-cta,
.hp-more-cta:link,
.hp-more-cta:visited,
.hp-more-cta:hover,
.hp-more-cta:focus,
.hp-more-cta:active,
.hp-more-cta span,
.hp-more-cta b,
.hp-more-cta:hover span,
.hp-more-cta:hover b,
.hp-more-cta:focus span,
.hp-more-cta:focus b {
    color: #fff !important;
    text-decoration: none !important;
}

@media (max-width: 1200px) {
    .hp-local-copy {
        padding-right: 42px !important;
    }
    .hp-local-visual {
        margin-left: -35px;
    }
    .hp-how-main {
        grid-template-columns: 1fr !important;
        column-gap: 0 !important;
    }
    .hp-how-heading h2 {
        white-space: normal !important;
    }
}
@media (max-width: 850px) {
    .hp-local-copy {
        background: #fff !important;
        padding-right: 24px !important;
    }
    .hp-local-visual {
        margin-left: 0;
        min-height: 330px !important;
    }
    .hp-local-visual:before {
        background: linear-gradient(
            180deg,
            #fff 0%,
            rgba(255, 255, 255, 0.08) 18%,
            transparent 34%
        ) !important;
    }
    .hp-local-visual img {
        object-position: center 35% !important;
    }
    .hp-how-heading {
        padding-right: 0 !important;
    }
}
@media (max-width: 560px) {
    .hp-how-heading h2 {
        font-size: 40px !important;
        white-space: normal !important;
    }
}

/* FA09 DOWNLOAD + COVERAGE PREMIUM 2026-10-07 */
.hp-download-premium {
    position: relative;
    overflow: hidden;
    padding: 48px 0 34px;
    background: linear-gradient(110deg, #fff 0%, #f9feff 46%, #fff 100%);
    isolation: isolate;
}
.hp-download-premium:before,
.hp-download-premium:after {
    content: "";
    position: absolute;
    border-radius: 50%;
    filter: blur(1px);
    pointer-events: none;
    z-index: -2;
}
.hp-download-premium:before {
    width: 700px;
    height: 260px;
    left: -130px;
    bottom: -120px;
    background: radial-gradient(ellipse, #1ce4ef40, transparent 65%);
}
.hp-download-premium:after {
    width: 760px;
    height: 300px;
    right: -160px;
    bottom: -145px;
    background: radial-gradient(ellipse, #8a38ff30, transparent 65%);
}
.hp-download-wave {
    position: absolute;
    left: -5%;
    right: -5%;
    height: 155px;
    bottom: -72px;
    border-radius: 50%;
    border-top: 20px solid transparent;
    pointer-events: none;
    z-index: -1;
}
.hp-download-wave--one {
    transform: rotate(2deg);
    box-shadow: 0 -18px 45px #04d9e733;
    background: linear-gradient(100deg, #09dbe522, #fff0 44%, #8039ff25);
}
.hp-download-wave--two {
    bottom: -100px;
    transform: rotate(-3deg);
    background: linear-gradient(100deg, #00d9e620, #fff0 55%, #7b2cff20);
}
.hp-download-premium-grid {
    display: grid;
    grid-template-columns: 1.12fr 0.88fr;
    gap: 76px;
    align-items: center;
    min-height: 360px;
}
.hp-download-phones {
    position: relative;
    align-self: end;
}
.hp-download-phones img {
    display: block;
    width: 100%;
    max-width: 730px;
    height: 350px;
    object-fit: cover;
    object-position: left top;
    mix-blend-mode: multiply;
    filter: saturate(1.08) contrast(1.02);
    transform: translateY(28px);
}
.hp-download-copy {
    padding: 10px 0 22px;
}
.hp-download-copy h2 {
    font-size: clamp(48px, 4.2vw, 68px);
    line-height: 0.94;
    letter-spacing: -0.055em;
    margin: 0 0 10px;
    color: #071b4a;
}
.hp-download-copy h2 span {
    background: linear-gradient(100deg, #04d5df 5%, #1c9af3 50%, #7e2fff 95%);
    -webkit-background-clip: text;
    color: transparent;
}
.hp-download-copy > p {
    font-size: clamp(20px, 1.7vw, 28px);
    color: #102454;
    margin-bottom: 25px;
}
.hp-download-actions {
    display: flex;
    align-items: center;
    gap: 28px;
}
.hp-download-qr {
    width: 150px;
    height: 150px;
    padding: 10px;
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 15px 40px #08255d1c;
}
.hp-download-qr img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.hp-download-badges {
    display: grid;
    gap: 14px;
}
.hp-store-badge {
    min-width: 245px;
    height: 72px;
    border-radius: 13px;
    background: #030303;
    color: #fff !important;
    text-decoration: none !important;
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 8px 18px;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    box-shadow: 0 10px 24px #071b4a22;
    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease,
        filter 0.28s ease;
}
.hp-store-badge:before {
    content: "";
    position: absolute;
    top: -80%;
    left: -45%;
    width: 34%;
    height: 250%;
    background: linear-gradient(90deg, transparent, #ffffffaa, transparent);
    transform: rotate(24deg) translateX(-240%);
    transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
    z-index: -1;
}
.hp-store-badge:hover,
.hp-store-badge:focus-visible {
    transform: translateY(-4px) scale(1.025);
    box-shadow:
        0 16px 36px #0dd8ed42,
        0 0 28px #7835ff32;
    filter: brightness(1.13);
    color: #fff !important;
}
.hp-store-badge:hover:before,
.hp-store-badge:focus-visible:before {
    transform: rotate(24deg) translateX(620%);
}
.hp-store-badge span:last-child {
    display: grid;
    line-height: 1;
}
.hp-store-badge small {
    font-size: 11px;
    color: #fff;
}
.hp-store-badge b {
    font-size: 24px;
    letter-spacing: -0.03em;
}
.hp-store-icon {
    font-size: 32px;
}
.hp-play-icon {
    font-size: 28px;
    color: #fff;
}
.hp-coverage-premium {
    position: relative;
    min-height: 330px;
    overflow: hidden;
    background: #031d4a;
    color: #fff;
    border-radius: 38px 38px 0 0;
    isolation: isolate;
}
.hp-coverage-premium-bg {
    position: absolute;
    inset: 0;
    z-index: -3;
}
.hp-coverage-premium-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 58%;
    filter: saturate(1.45) contrast(1.1) brightness(0.8);
    transform: scale(1.04);
}
.hp-coverage-shade {
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(
            90deg,
            rgba(2, 20, 55, 0.98) 0%,
            rgba(3, 31, 73, 0.92) 30%,
            rgba(4, 30, 72, 0.38) 61%,
            rgba(2, 18, 50, 0.72) 100%
        ),
        linear-gradient(0deg, rgba(2, 15, 45, 0.36), transparent 50%);
}
.hp-coverage-premium-grid {
    min-height: 330px;
    display: grid;
    grid-template-columns: 1.12fr 0.85fr 280px;
    gap: 28px;
    align-items: center;
    padding-top: 28px;
    padding-bottom: 28px;
}
.hp-coverage-copy h2 {
    font-size: clamp(32px, 3vw, 48px);
    line-height: 1.02;
    margin: 0 0 8px;
    color: #fff;
    letter-spacing: -0.045em;
}
.hp-coverage-copy h2 span {
    background: linear-gradient(100deg, #08dce7, #17a7f2, #8130ff);
    -webkit-background-clip: text;
    color: transparent;
}
.hp-coverage-copy p {
    font-size: 18px;
    color: #eef7ff;
    margin-bottom: 20px;
}
.hp-city-search {
    max-width: 510px;
    min-height: 58px;
    margin: 0 0 18px;
    padding: 0 20px;
    border-radius: 999px;
    background: #fff;
    color: #7d8aa7;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 12px 30px #00133340;
}
.hp-city-search b {
    margin-left: auto;
    color: #173b80;
}
.hp-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    color: #fff;
    font-size: 14px;
}
.hp-legend span {
    display: flex;
    align-items: center;
    gap: 9px;
}
.hp-legend i {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #08dce7;
    box-shadow: 0 0 18px #08dce788;
}
.hp-legend span:nth-child(2) i {
    background: #2c6cff;
    box-shadow: 0 0 18px #2c6cff88;
}
.hp-legend span:nth-child(3) i {
    background: #8738ff;
    box-shadow: 0 0 18px #8738ff88;
}
.hp-mexico-map {
    display: grid;
    place-items: center;
    filter: drop-shadow(0 18px 30px #00133255);
}
.hp-mexico-map svg {
    width: 100%;
    max-width: 390px;
    overflow: visible;
}
.hp-map-pins circle {
    fill: #fff;
    stroke: #08e0ee;
    stroke-width: 0.8;
    animation: hpMapPulse 2.2s ease-in-out infinite;
}
.hp-map-pins circle:nth-child(2) {
    animation-delay: 0.35s;
}
.hp-map-pins circle:nth-child(3) {
    animation-delay: 0.7s;
}
.hp-map-pins circle:nth-child(4) {
    animation-delay: 1.05s;
}
.hp-city-card {
    background: rgba(255, 255, 255, 0.96);
    color: #0b2255;
    border-radius: 22px;
    padding: 22px;
    display: grid;
    gap: 8px;
    box-shadow: 0 20px 50px #0013334d;
    backdrop-filter: blur(12px);
}
.hp-city-card > b {
    font-size: 25px;
}
.hp-city-card > small {
    justify-self: start;
    background: #caffef;
    color: #008e77;
    padding: 4px 9px;
    border-radius: 7px;
    font-weight: 800;
}
.hp-city-card strong {
    font-size: 14px;
    margin-top: 5px;
}
.hp-city-card em {
    font-size: 13px;
    font-style: normal;
}
.hp-city-download {
    margin-top: 10px;
    min-height: 48px;
    border-radius: 12px;
    background: linear-gradient(100deg, #08dce7, #7534ff);
    color: #fff !important;
    text-decoration: none !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    font-weight: 850;
    position: relative;
    overflow: hidden;
    transition: 0.3s ease;
    box-shadow: 0 12px 24px #343cff2d;
}
.hp-city-download:before {
    content: "";
    position: absolute;
    inset: -2px;
    background: linear-gradient(
        105deg,
        transparent 20%,
        #ffffffaa 48%,
        transparent 72%
    );
    transform: translateX(-130%);
    transition: transform 0.65s ease;
}
.hp-city-download:hover,
.hp-city-download:focus-visible {
    color: #fff !important;
    transform: translateY(-3px) scale(1.02);
    box-shadow:
        0 16px 34px #08dce74f,
        0 0 26px #7b35ff3d;
}
.hp-city-download:hover:before,
.hp-city-download:focus-visible:before {
    transform: translateX(130%);
}
.hp-photo-credit {
    position: absolute;
    right: 12px;
    bottom: 6px;
    font-size: 8px;
    color: #ffffff66;
}
@keyframes hpMapPulse {
    0%,
    100% {
        r: 1.4;
        opacity: 0.8;
    }
    50% {
        r: 2.4;
        opacity: 1;
    }
}
@media (max-width: 980px) {
    .hp-download-premium-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .hp-download-phones img {
        margin: auto;
        transform: none;
        height: auto;
    }
    .hp-download-copy {
        text-align: center;
    }
    .hp-download-actions {
        justify-content: center;
    }
    .hp-coverage-premium-grid {
        grid-template-columns: 1fr 1fr;
    }
    .hp-coverage-copy {
        grid-column: 1/-1;
        text-align: center;
    }
    .hp-city-search {
        margin-left: auto;
        margin-right: auto;
    }
    .hp-legend {
        justify-content: center;
    }
    .hp-city-card {
        align-self: center;
    }
    .hp-coverage-premium {
        border-radius: 28px 28px 0 0;
    }
}
@media (max-width: 620px) {
    .hp-download-premium {
        padding-top: 28px;
    }
    .hp-download-premium-grid {
        gap: 20px;
    }
    .hp-download-phones {
        margin: 0 -15px;
    }
    .hp-download-phones img {
        height: 255px;
        object-fit: cover;
        object-position: 25% top;
    }
    .hp-download-copy h2 {
        font-size: 44px;
    }
    .hp-download-copy > p {
        font-size: 18px;
    }
    .hp-download-actions {
        flex-direction: column;
        gap: 16px;
    }
    .hp-download-qr {
        width: 130px;
        height: 130px;
    }
    .hp-download-badges {
        width: 100%;
    }
    .hp-store-badge {
        width: min(100%, 310px);
        margin: auto;
    }
    .hp-coverage-premium-grid {
        grid-template-columns: 1fr;
        gap: 18px;
        padding-top: 36px;
        padding-bottom: 36px;
    }
    .hp-coverage-copy,
    .hp-mexico-map,
    .hp-city-card {
        grid-column: 1;
    }
    .hp-coverage-copy h2 {
        font-size: 34px;
    }
    .hp-city-search {
        min-height: 54px;
    }
    .hp-legend {
        gap: 13px;
        font-size: 11px;
    }
    .hp-mexico-map svg {
        max-width: 330px;
    }
    .hp-city-card {
        width: min(100%, 330px);
        justify-self: center;
    }
    .hp-photo-credit {
        display: none;
    }
}
@media (prefers-reduced-motion: reduce) {
    .hp-store-badge,
    .hp-city-download,
    .hp-map-pins circle {
        animation: none !important;
        transition: none !important;
    }
}

/* FA09 final CTA + premium footer */
.hp-final {
    min-height: 390px !important;
    align-items: start !important;
    padding: 42px 24px 86px !important;
    background: #dff7ff;
}
.hp-final > img {
    filter: saturate(1.22) contrast(1.02) brightness(1.04) !important;
    object-position: center 56% !important;
}
.hp-final:after {
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.2) 0%,
        rgba(255, 255, 255, 0.03) 54%,
        rgba(2, 20, 47, 0.12) 100%
    ) !important;
}
.hp-final:before {
    content: "";
    position: absolute;
    z-index: 2;
    left: -4%;
    right: -4%;
    bottom: -42px;
    height: 100px;
    background: #02142f;
    border-radius: 50% 50% 0 0/34% 34% 0 0;
    box-shadow:
        0 -6px 0 #08d9ee,
        0 -10px 28px rgba(22, 211, 239, 0.55);
}
.hp-final-content {
    width: min(1280px, 100%);
    padding-top: 0 !important;
}
.hp-final h2 {
    font-size: clamp(42px, 4.5vw, 72px) !important;
    line-height: 0.98;
    margin: 0 0 7px !important;
    color: #06194b;
    text-shadow: 0 2px 16px rgba(255, 255, 255, 0.42);
}
.hp-final h2::first-letter {
    letter-spacing: -0.04em;
}
.hp-final p {
    font-size: clamp(17px, 1.6vw, 25px);
    color: #10255a;
    margin-bottom: 26px;
}
.hp-final .hp-actions {
    gap: 18px !important;
}
.hp-final .hp-btn {
    position: relative;
    overflow: hidden;
    min-width: 300px !important;
    height: 68px;
    border-radius: 999px !important;
    font-size: 17px !important;
    color: #fff !important;
    box-shadow: 0 12px 32px rgba(17, 44, 119, 0.22);
    isolation: isolate;
}
.hp-final .hp-btn.cyan {
    background: linear-gradient(
        100deg,
        #0ad9e7,
        #128ce9 62%,
        #4f59f0
    ) !important;
}
.hp-final .hp-btn.violet {
    background: linear-gradient(100deg, #6f22ed, #4710b7) !important;
}
.hp-final .hp-btn.outline {
    background: rgba(255, 255, 255, 0.94) !important;
    color: #6826df !important;
    border: 2px solid #8a3eff !important;
}
.hp-final .hp-btn:before,
.enfa-shine:before {
    content: "";
    position: absolute;
    inset: -45% auto -45% -45%;
    width: 35%;
    transform: skewX(-24deg);
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.88),
        transparent
    );
    transition: left 0.62s ease;
    z-index: -1;
}
.hp-final .hp-btn:hover:before,
.hp-final .hp-btn:focus:before,
.enfa-shine:hover:before,
.enfa-shine:focus:before {
    left: 120%;
}
.hp-final .hp-btn:hover,
.hp-final .hp-btn:focus {
    transform: translateY(-4px) scale(1.025);
    filter: brightness(1.12) saturate(1.12);
    box-shadow:
        0 0 20px rgba(29, 220, 245, 0.58),
        0 18px 42px rgba(63, 47, 213, 0.28);
}
.hp-final .hp-btn.outline:hover {
    color: #fff !important;
    background: linear-gradient(100deg, #13d7e6, #7b2cff) !important;
    border-color: transparent !important;
}
.enfa-footer.enfa-footer-premium {
    position: relative;
    background:
        radial-gradient(
            circle at 82% 45%,
            rgba(20, 103, 187, 0.16),
            transparent 25%
        ),
        linear-gradient(180deg, #02142f 0%, #031b3d 68%, #02142f 100%) !important;
    padding: 58px max(38px, calc((100vw - 1840px) / 2)) 24px !important;
    overflow: hidden;
}
.enfa-footer-premium:after {
    content: "";
    position: absolute;
    left: -5%;
    right: -5%;
    bottom: 62px;
    height: 34px;
    background: linear-gradient(
        90deg,
        transparent,
        #13d9ee 28%,
        #7635ff 68%,
        transparent
    );
    filter: blur(12px);
    opacity: 0.28;
    transform: skewY(-2deg);
    pointer-events: none;
}
.enfa-footer-premium .enfa-footer-grid {
    position: relative;
    z-index: 2;
    max-width: 1840px !important;
    margin: auto;
    display: grid !important;
    grid-template-columns: 1.35fr 0.72fr 0.72fr 0.78fr 0.72fr 0.9fr 1.75fr !important;
    gap: 30px !important;
    align-items: start;
}
.enfa-footer-premium .enfa-footer-brand {
    padding-right: 24px;
}
.enfa-footer-premium .enfa-footer-brand img {
    width: 165px !important;
    max-width: none !important;
    max-height: 92px !important;
}
.enfa-footer-premium .enfa-footer-brand h2 {
    font-size: 25px;
    margin: 4px 0 4px;
    color: #fff;
}
.enfa-footer-premium .enfa-footer-brand p {
    font-size: 15px !important;
    line-height: 1.35;
    color: #d1def0 !important;
    max-width: 320px;
    margin: 0;
}
.enfa-footer-premium h3 {
    font-size: 16px !important;
    margin: 10px 0 15px !important;
    color: #fff;
}
.enfa-footer-premium .enfa-footer-grid > div:not(:first-child) {
    border-left: 1px solid rgba(109, 159, 219, 0.28);
    padding-left: 26px;
    min-height: 145px;
}
.enfa-footer-premium a {
    font-size: 14px !important;
    color: #d4def0 !important;
    margin: 6px 0 !important;
    transition: 0.25s ease;
}
.enfa-footer-premium a:hover {
    color: #19d9ed !important;
    transform: translateX(3px);
}
.enfa-socials {
    display: flex;
    gap: 12px;
    margin-top: 14px;
}
.enfa-socials a {
    width: 44px;
    height: 44px;
    margin: 0 !important;
    border: 1.5px solid #6248e9;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 800;
    transition: 0.3s ease !important;
}
.enfa-socials a:hover {
    transform: translateY(-4px) scale(1.08) !important;
    border-color: #11d8eb;
    box-shadow: 0 0 18px rgba(18, 216, 235, 0.42);
}
.enfa-footer-download h2 {
    font-size: 26px;
    color: #fff;
    margin: 7px 0 3px;
}
.enfa-footer-download h2 span {
    background: linear-gradient(100deg, #0adbe7, #8a2cff);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.enfa-footer-download > p {
    font-size: 15px !important;
    color: #d7e1f1 !important;
    margin: 0 0 15px;
}
.enfa-footer-download-row {
    display: flex;
    align-items: center;
    gap: 14px;
}
.enfa-footer-stores {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    flex: 1;
}
.enfa-footer-stores a {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: #02050a;
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 9px;
    padding: 10px 12px !important;
    margin: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 50px;
    color: #fff !important;
    font-size: 16px !important;
}
.enfa-footer-stores a span {
    font-size: 13px;
    font-weight: 750;
}
.enfa-footer-stores a:hover {
    transform: translateY(-3px) scale(1.025) !important;
    filter: brightness(1.18);
    box-shadow:
        0 0 20px rgba(21, 218, 237, 0.46),
        0 10px 24px rgba(83, 43, 220, 0.3);
}
.enfa-footer-qr {
    position: relative;
    display: grid;
    justify-items: center;
}
.enfa-footer-qr img {
    width: 112px;
    height: 112px;
    background: #fff;
    border-radius: 11px;
    padding: 5px;
}
.enfa-footer-qr small {
    position: absolute;
    bottom: 100%;
    right: -10px;
    width: 110px;
    color: #15d9eb;
    font-size: 11px;
    font-weight: 800;
    transform: rotate(-5deg);
    text-align: center;
}
.enfa-footer-bottom {
    position: relative;
    z-index: 2;
    max-width: 1840px;
    margin: 38px auto 0 !important;
    padding-top: 18px !important;
    border-top: 1px solid rgba(44, 145, 235, 0.5) !important;
    display: grid !important;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 28px;
    font-size: 12px !important;
    color: #c9d5e8 !important;
}
.enfa-footer-bottom nav {
    display: flex;
    gap: 22px;
}
.enfa-footer-bottom nav a {
    margin: 0 !important;
    font-size: 12px !important;
}
.enfa-footer-lang {
    align-items: center;
    font-size: 15px;
}
@media (max-width: 1250px) {
    .enfa-footer-premium .enfa-footer-grid {
        grid-template-columns: 1.4fr repeat(3, 1fr) !important;
    }
    .enfa-footer-premium .enfa-footer-download {
        grid-column: 1/-1;
        border-left: 0 !important;
        padding-left: 0 !important;
    }
    .enfa-footer-download-row {
        max-width: 520px;
    }
    .hp-final .hp-btn {
        min-width: 240px !important;
    }
}
@media (max-width: 700px) {
    .hp-final {
        min-height: 560px !important;
        padding: 48px 20px 105px !important;
    }
    .hp-final > img {
        object-position: 58% center !important;
    }
    .hp-final h2 {
        font-size: 44px !important;
    }
    .hp-final p {
        font-size: 16px;
    }
    .hp-final .hp-actions {
        display: grid;
        width: 100%;
        gap: 12px !important;
    }
    .hp-final .hp-btn {
        width: 100% !important;
        min-width: 0 !important;
        height: 58px;
    }
    .enfa-footer.enfa-footer-premium {
        padding: 45px 24px 22px !important;
    }
    .enfa-footer-premium .enfa-footer-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 28px 18px !important;
    }
    .enfa-footer-premium .enfa-footer-brand,
    .enfa-footer-premium .enfa-footer-download {
        grid-column: 1/-1;
    }
    .enfa-footer-premium .enfa-footer-grid > div:not(:first-child) {
        border-left: 0;
        padding-left: 0;
        min-height: 0;
    }
    .enfa-footer-premium .enfa-footer-brand img {
        width: 135px !important;
    }
    .enfa-footer-download-row {
        display: grid;
    }
    .enfa-footer-stores {
        grid-template-columns: 1fr;
    }
    .enfa-footer-qr {
        justify-self: start;
        margin-top: 8px;
    }
    .enfa-footer-bottom {
        grid-template-columns: 1fr !important;
        gap: 13px !important;
    }
    .enfa-footer-bottom nav {
        flex-wrap: wrap;
        gap: 12px 18px;
    }
}
/* FA09 footer fidelity FIX */
.hp-final {
    height: 382px !important;
    min-height: 382px !important;
    padding: 0 !important;
    display: block !important;
    overflow: hidden !important;
    background: #dff7ff !important;
}
.hp-final > img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
    filter: none !important;
    opacity: 1 !important;
}
.hp-final:after {
    background: transparent !important;
}
.hp-final:before {
    z-index: 3 !important;
    left: -3% !important;
    right: -3% !important;
    bottom: -34px !important;
    height: 86px !important;
    border-radius: 50% 50% 0 0/45% 45% 0 0 !important;
    background: #02142f !important;
    box-shadow:
        0 -5px 0 #0eddf1,
        0 -8px 22px rgba(20, 211, 239, 0.48) !important;
}
.hp-final-content {
    position: relative !important;
    z-index: 4 !important;
    width: min(1180px, 92%) !important;
    margin: 0 auto !important;
    padding: 34px 0 0 !important;
    text-align: center !important;
}
.hp-final h2 {
    font-size: clamp(40px, 3.9vw, 66px) !important;
    line-height: 1 !important;
    margin: 0 0 7px !important;
    color: #06194b !important;
    letter-spacing: -0.045em !important;
}
.hp-final h2 {
    background: linear-gradient(90deg, #06194b 0 43%, #12cce1 55%, #7929f5 78%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent !important;
}
.hp-final p {
    font-size: clamp(18px, 1.45vw, 25px) !important;
    line-height: 1.2 !important;
    margin: 0 0 26px !important;
    color: #10245c !important;
}
.hp-final .hp-actions {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 24px !important;
    margin: 0 !important;
}
.hp-final .hp-btn {
    height: 78px !important;
    min-width: 325px !important;
    padding: 0 34px !important;
    border-radius: 999px !important;
    font-size: 20px !important;
    font-weight: 850 !important;
    letter-spacing: -0.02em !important;
    box-shadow: 0 12px 28px rgba(28, 51, 145, 0.24) !important;
}
.hp-final .hp-btn.outline {
    min-width: 420px !important;
}
.enfa-footer.enfa-footer-premium {
    margin-top: 0 !important;
    padding: 34px max(56px, calc((100vw - 1820px) / 2)) 20px !important;
    background:
        radial-gradient(
            circle at 78% 20%,
            rgba(19, 110, 204, 0.18),
            transparent 24%
        ),
        linear-gradient(180deg, #02142f 0%, #031a3b 76%, #02142f 100%) !important;
}
.enfa-footer-premium .enfa-footer-grid {
    max-width: 1820px !important;
    grid-template-columns: 1.48fr 0.76fr 0.76fr 0.82fr 0.72fr 0.9fr 1.72fr !important;
    gap: 22px !important;
}
.enfa-footer-premium .enfa-footer-brand {
    padding-right: 26px !important;
}
.enfa-footer-premium .enfa-footer-brand img {
    width: 170px !important;
    height: 74px !important;
    object-fit: contain !important;
    object-position: left center !important;
}
.enfa-footer-premium .enfa-footer-brand h2 {
    font-size: 25px !important;
    line-height: 1.1 !important;
    margin: 2px 0 7px !important;
}
.enfa-footer-premium .enfa-footer-brand p {
    font-size: 14px !important;
    line-height: 1.35 !important;
    max-width: 325px !important;
}
.enfa-footer-premium h3 {
    font-size: 15px !important;
    margin: 8px 0 12px !important;
}
.enfa-footer-premium a {
    font-size: 13px !important;
    line-height: 1.25 !important;
    margin: 7px 0 !important;
}
.enfa-footer-premium .enfa-footer-grid > div:not(:first-child) {
    padding-left: 24px !important;
    min-height: 138px !important;
}
.enfa-socials {
    gap: 12px !important;
    margin-top: 13px !important;
}
.enfa-socials a {
    width: 42px !important;
    height: 42px !important;
    font-size: 17px !important;
}
.enfa-footer-download h2 {
    font-size: 25px !important;
    margin: 5px 0 2px !important;
}
.enfa-footer-download > p {
    font-size: 14px !important;
    margin-bottom: 12px !important;
}
.enfa-footer-download-row {
    gap: 14px !important;
}
.enfa-footer-stores {
    gap: 7px !important;
}
.enfa-footer-stores a {
    height: 48px !important;
    min-height: 48px !important;
    padding: 7px 10px !important;
}
.enfa-footer-qr img {
    width: 126px !important;
    height: 126px !important;
    border-radius: 10px !important;
}
.enfa-footer-qr small {
    right: -12px !important;
    width: 118px !important;
    font-size: 12px !important;
}
.enfa-footer-bottom {
    max-width: 1820px !important;
    margin: 25px auto 0 !important;
    padding-top: 15px !important;
    min-height: 42px !important;
    font-size: 12px !important;
}
.enfa-footer-bottom nav {
    gap: 24px !important;
}
@media (max-width: 1250px) {
    .hp-final {
        height: auto !important;
        min-height: 430px !important;
    }
    .hp-final .hp-btn {
        min-width: 240px !important;
    }
    .hp-final .hp-btn.outline {
        min-width: 300px !important;
    }
    .enfa-footer-premium .enfa-footer-grid {
        grid-template-columns: 1.35fr repeat(3, 1fr) !important;
    }
}
@media (max-width: 700px) {
    .hp-final {
        min-height: 600px !important;
    }
    .hp-final > img {
        object-position: 50% top !important;
    }
    .hp-final-content {
        padding-top: 42px !important;
    }
    .hp-final h2 {
        font-size: 42px !important;
    }
    .hp-final .hp-actions {
        display: grid !important;
        gap: 12px !important;
    }
    .hp-final .hp-btn,
    .hp-final .hp-btn.outline {
        width: 100% !important;
        min-width: 0 !important;
        height: 60px !important;
        font-size: 16px !important;
    }
}

/* FA09 PREMIUM PUBLIC NAVIGATION 2026-10-07 */
.enfa-site-header.enfa-nav-premium {
    position: sticky;
    top: 0;
    z-index: 1400;
    background: transparent !important;
    border: 0 !important;
    padding: 18px 24px 8px;
    transition:
        padding 0.25s ease,
        filter 0.25s ease;
}
.enfa-nav-premium .enfa-nav-wrap {
    max-width: 1640px;
    min-height: 92px;
    padding: 0 28px 0 34px;
    gap: 24px;
    border: 1px solid rgba(211, 229, 246, 0.92);
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 55px rgba(16, 50, 102, 0.12);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    transition:
        min-height 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}
.enfa-nav-premium.is-scrolled {
    padding-top: 8px;
}
.enfa-nav-premium.is-scrolled .enfa-nav-wrap {
    min-height: 74px;
    background: rgba(255, 255, 255, 0.975);
    box-shadow: 0 14px 38px rgba(9, 37, 88, 0.16);
}
.enfa-nav-premium .enfa-brand {
    width: 185px;
    display: grid;
    justify-items: start;
    text-decoration: none;
    flex: 0 0 auto;
}
.enfa-nav-premium .enfa-brand img {
    width: 150px;
    height: 62px;
    object-fit: contain;
    object-position: left center;
}
.enfa-nav-premium .enfa-brand span {
    margin-top: -10px;
    margin-left: 12px;
    font-size: 15px;
    font-weight: 900;
    font-style: italic;
    color: #07194a;
    letter-spacing: -0.02em;
}
.enfa-nav-premium .enfa-public-nav {
    gap: 8px;
    justify-content: center;
    min-width: 0;
}
.enfa-nav-premium .enfa-public-nav > a,
.enfa-nav-premium .enfa-nav-dropdown-toggle {
    position: relative;
    display: flex;
    align-items: center;
    gap: 6px;
    height: 52px;
    padding: 0 15px;
    border-radius: 13px;
    color: #07194a;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: -0.015em;
    transition:
        color 0.2s ease,
        background 0.2s ease,
        transform 0.2s ease;
}
.enfa-nav-premium .enfa-public-nav > a:after,
.enfa-nav-premium .enfa-nav-dropdown-toggle:after {
    content: "";
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 3px;
    height: 3px;
    border-radius: 3px;
    background: linear-gradient(90deg, #08d9e7, #6d39ff);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.22s ease;
}
.enfa-nav-premium .enfa-public-nav > a:hover,
.enfa-nav-premium .enfa-nav-dropdown-toggle:hover,
.enfa-nav-premium .enfa-nav-dropdown.is-open > .enfa-nav-dropdown-toggle {
    color: #0aabc4;
    background: linear-gradient(
        180deg,
        rgba(12, 217, 232, 0.08),
        rgba(106, 55, 255, 0.035)
    );
    transform: translateY(-1px);
}
.enfa-nav-premium .enfa-public-nav > a:hover:after,
.enfa-nav-premium .enfa-nav-dropdown-toggle:hover:after,
.enfa-nav-premium .enfa-public-nav > a.is-active:after,
.enfa-nav-premium
    .enfa-nav-dropdown.is-current
    > .enfa-nav-dropdown-toggle:after {
    transform: scaleX(1);
}
.enfa-nav-premium .enfa-public-nav > a.is-active,
.enfa-nav-premium .enfa-nav-dropdown.is-current > .enfa-nav-dropdown-toggle {
    color: #00b9ce;
}
.enfa-nav-premium .enfa-nav-dropdown-toggle > span {
    font-size: 16px;
    line-height: 1;
    transition: transform 0.2s ease;
}
.enfa-nav-premium
    .enfa-nav-dropdown.is-open
    > .enfa-nav-dropdown-toggle
    > span {
    transform: rotate(180deg);
}
.enfa-nav-premium .enfa-nav-dropdown-menu.enfa-nav-panel {
    display: grid;
    visibility: hidden;
    opacity: 0;
    transform: translateY(10px) scale(0.985);
    pointer-events: none;
    top: calc(100% + 12px);
    left: 50%;
    width: 310px;
    padding: 15px;
    border: 1px solid rgba(209, 229, 244, 0.95);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.985);
    box-shadow: 0 26px 65px rgba(7, 35, 79, 0.19);
    backdrop-filter: blur(18px);
    transition:
        opacity 0.2s ease,
        transform 0.2s ease,
        visibility 0.2s ease;
}
.enfa-nav-premium .enfa-nav-dropdown:nth-of-type(2) .enfa-nav-panel,
.enfa-nav-premium .enfa-nav-dropdown:nth-of-type(3) .enfa-nav-panel {
    transform: translate(-50%, 10px) scale(0.985);
}
.enfa-nav-premium .enfa-nav-dropdown:nth-of-type(2):hover .enfa-nav-panel,
.enfa-nav-premium .enfa-nav-dropdown:nth-of-type(3):hover .enfa-nav-panel,
.enfa-nav-premium .enfa-nav-dropdown:nth-of-type(2).is-open .enfa-nav-panel,
.enfa-nav-premium .enfa-nav-dropdown:nth-of-type(3).is-open .enfa-nav-panel {
    transform: translate(-50%, 0) scale(1);
}
.enfa-nav-premium .enfa-nav-dropdown:hover > .enfa-nav-panel,
.enfa-nav-premium .enfa-nav-dropdown.is-open > .enfa-nav-panel {
    visibility: visible;
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}
.enfa-nav-panel-head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 9px 13px;
    margin-bottom: 5px;
    border-bottom: 1px solid #e8f0f7;
}
.enfa-nav-panel-head > b {
    width: 44px;
    height: 44px;
    border-radius: 13px;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, #dffcff, #eee8ff);
    font-size: 20px;
}
.enfa-nav-panel-head span {
    display: grid;
}
.enfa-nav-panel-head strong {
    font-size: 15px;
    color: #07194a;
}
.enfa-nav-panel-head small {
    font-size: 12px;
    color: #71809b;
    margin-top: 2px;
}
.enfa-nav-premium .enfa-nav-panel > a {
    display: grid;
    grid-template-columns: 28px 1fr 16px;
    align-items: center;
    gap: 9px;
    min-height: 43px;
    padding: 8px 10px !important;
    margin: 1px 0 !important;
    border-radius: 11px;
    color: #122453 !important;
    font-size: 13px !important;
    font-weight: 720;
    text-decoration: none;
}
.enfa-nav-premium .enfa-nav-panel > a > b {
    font-size: 16px;
    color: #0cbdd0;
    text-align: center;
}
.enfa-nav-premium .enfa-nav-panel > a > i {
    font-style: normal;
    font-size: 22px;
    color: #7080a0;
    transition: transform 0.2s ease;
}
.enfa-nav-premium .enfa-nav-panel > a:hover {
    background: linear-gradient(90deg, #e9fcff, #f4efff);
    color: #0b86b4 !important;
    transform: none !important;
}
.enfa-nav-premium .enfa-nav-panel > a:hover i {
    transform: translateX(3px);
    color: #6d36f4;
}
.enfa-nav-premium .enfa-nav-actions {
    gap: 12px;
    flex: 0 0 auto;
    padding-left: 18px;
    border-left: 1px solid #dce8f3;
}
.enfa-lang-dropdown {
    position: relative;
}
.enfa-nav-premium .enfa-lang-pill {
    height: 52px;
    min-width: 92px;
    padding: 0 14px;
    border: 0;
    border-radius: 999px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #07194a;
    box-shadow: 0 7px 20px rgba(23, 54, 100, 0.08);
    cursor: pointer;
    transition: 0.22s ease;
}
.enfa-nav-premium .enfa-lang-pill svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
}
.enfa-nav-premium .enfa-lang-pill strong {
    font-size: 13px;
}
.enfa-nav-premium .enfa-lang-pill:hover,
.enfa-lang-dropdown.is-open .enfa-lang-pill {
    color: #00aebe;
    box-shadow: 0 9px 25px rgba(10, 195, 215, 0.18);
    transform: translateY(-1px);
}
.enfa-lang-menu {
    position: absolute;
    right: 0;
    top: calc(100% + 10px);
    width: 180px;
    padding: 8px;
    background: #fff;
    border: 1px solid #dce9f4;
    border-radius: 16px;
    box-shadow: 0 22px 55px rgba(8, 36, 82, 0.18);
    visibility: hidden;
    opacity: 0;
    transform: translateY(8px);
    pointer-events: none;
    transition: 0.2s ease;
}
.enfa-lang-dropdown.is-open .enfa-lang-menu {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.enfa-lang-menu a {
    display: grid;
    grid-template-columns: 34px 1fr 18px;
    align-items: center;
    gap: 7px;
    padding: 10px;
    border-radius: 10px;
    text-decoration: none;
    color: #14264f;
}
.enfa-lang-menu a:hover {
    background: #effcff;
    color: #00a9bd;
}
.enfa-lang-menu a.is-selected {
    background: linear-gradient(90deg, #e8fcff, #f4efff);
}
.enfa-lang-menu a span {
    font-size: 11px;
    font-weight: 900;
    color: #657493;
}
.enfa-lang-menu a b {
    font-size: 13px;
}
.enfa-lang-menu a i {
    font-style: normal;
    color: #6539ed;
    font-weight: 900;
}
.enfa-nav-premium .enfa-nav-cta {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    min-width: 185px;
    height: 54px;
    padding: 0 24px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 850;
    background: linear-gradient(100deg, #08d4df, #2298f3 50%, #8427f6);
    box-shadow: 0 10px 25px rgba(55, 81, 228, 0.22);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        filter 0.25s ease;
}
.enfa-nav-premium .enfa-nav-cta:before {
    content: "";
    position: absolute;
    top: -80%;
    left: -35%;
    width: 28%;
    height: 260%;
    background: linear-gradient(90deg, transparent, #fff9, transparent);
    transform: rotate(22deg) translateX(-260%);
    transition: transform 0.7s ease;
    z-index: -1;
}
.enfa-nav-premium .enfa-nav-cta:hover {
    transform: translateY(-3px) scale(1.025);
    filter: brightness(1.08);
    box-shadow:
        0 0 23px rgba(9, 218, 231, 0.45),
        0 15px 35px rgba(103, 42, 242, 0.28);
}
.enfa-nav-premium .enfa-nav-cta:hover:before {
    transform: rotate(22deg) translateX(650%);
}
.enfa-nav-premium .download-icon {
    font-size: 21px;
    font-weight: 900;
}
@media (max-width: 1350px) {
    .enfa-nav-premium .enfa-nav-wrap {
        padding: 0 20px;
    }
    .enfa-nav-premium .enfa-brand {
        width: 145px;
    }
    .enfa-nav-premium .enfa-brand img {
        width: 125px;
    }
    .enfa-nav-premium .enfa-brand span {
        font-size: 12px;
    }
    .enfa-nav-premium .enfa-public-nav > a,
    .enfa-nav-premium .enfa-nav-dropdown-toggle {
        padding: 0 9px;
        font-size: 12.5px;
    }
    .enfa-nav-premium .enfa-nav-cta {
        min-width: 155px;
        padding: 0 17px;
    }
    .enfa-nav-premium .enfa-nav-actions {
        padding-left: 10px;
    }
}
@media (max-width: 1050px) {
    .enfa-site-header.enfa-nav-premium {
        padding: 10px 12px 5px;
    }
    .enfa-nav-premium .enfa-nav-wrap {
        min-height: 74px;
        border-radius: 19px;
    }
    .enfa-nav-premium .enfa-brand {
        width: auto;
        margin-right: auto;
    }
    .enfa-nav-premium .enfa-brand img {
        width: 112px;
        height: 52px;
    }
    .enfa-nav-premium .enfa-brand span {
        display: none;
    }
    .enfa-nav-premium .enfa-menu-toggle {
        display: block;
        order: 3;
    }
    .enfa-nav-premium .enfa-nav-actions {
        order: 2;
        border-left: 0;
        padding-left: 0;
    }
    .enfa-nav-premium .enfa-public-nav {
        position: absolute;
        left: 12px;
        right: 12px;
        top: calc(100% + 5px);
        display: none;
        align-items: stretch;
        padding: 13px;
        background: #fff;
        border: 1px solid #dce9f4;
        border-radius: 19px;
        box-shadow: 0 22px 50px rgba(8, 36, 82, 0.18);
        max-height: calc(100vh - 110px);
        overflow: auto;
    }
    .enfa-nav-premium .enfa-public-nav.is-open {
        display: grid;
    }
    .enfa-nav-premium .enfa-public-nav > a,
    .enfa-nav-premium .enfa-nav-dropdown-toggle {
        width: 100%;
        justify-content: space-between;
        height: 46px;
        padding: 0 13px;
    }
    .enfa-nav-premium .enfa-nav-dropdown-menu.enfa-nav-panel {
        position: static;
        width: 100%;
        display: none !important;
        visibility: visible;
        opacity: 1;
        transform: none !important;
        box-shadow: none;
        border-radius: 13px;
        margin: 2px 0 8px;
        background: #f8fbff;
    }
    .enfa-nav-premium .enfa-nav-dropdown.is-open > .enfa-nav-panel {
        display: grid !important;
    }
    .enfa-nav-premium .enfa-nav-dropdown:hover > .enfa-nav-panel {
        display: none !important;
    }
    .enfa-nav-premium .enfa-nav-dropdown.is-open:hover > .enfa-nav-panel {
        display: grid !important;
    }
}
@media (max-width: 620px) {
    .enfa-nav-premium .enfa-nav-wrap {
        padding: 0 13px;
        gap: 8px;
    }
    .enfa-nav-premium .enfa-brand img {
        width: 96px;
    }
    .enfa-nav-premium .enfa-lang-pill {
        min-width: 70px;
        height: 46px;
        padding: 0 10px;
    }
    .enfa-nav-premium .enfa-nav-cta {
        min-width: 48px;
        width: 48px;
        height: 48px;
        padding: 0;
        border-radius: 50%;
        font-size: 0;
    }
    .enfa-nav-premium .enfa-nav-cta .download-icon {
        font-size: 22px;
    }
    .enfa-lang-menu {
        right: -55px;
    }
    .enfa-nav-premium .enfa-menu-toggle {
        padding: 5px;
    }
}

/* ================================================================
   enfá! NAV GLASS REBUILD 2026-10-07
   Hero runs behind header. Active state uses color/fill, never a line.
   ================================================================ */
body.enfa-public {
    --enfa-nav-h: 118px;
}
.enfa-site-header.enfa-ref-header.enfa-nav-premium {
    position: absolute !important;
    inset: 0 0 auto 0 !important;
    z-index: 5000 !important;
    padding: 22px clamp(18px, 4vw, 74px) 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
.enfa-nav-premium .enfa-nav-wrap {
    width: min(1660px, 100%) !important;
    max-width: 1660px !important;
    min-height: 96px !important;
    margin: 0 auto !important;
    padding: 0 30px !important;
    gap: 18px !important;
    border: 1px solid rgba(255, 255, 255, 0.72) !important;
    border-radius: 25px !important;
    background: linear-gradient(
        105deg,
        rgba(255, 255, 255, 0.92),
        rgba(247, 252, 255, 0.86)
    ) !important;
    box-shadow:
        0 18px 50px rgba(4, 38, 96, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(20px) saturate(155%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(155%) !important;
}
.enfa-nav-premium .enfa-brand {
    min-width: 190px !important;
    gap: 8px !important;
}
.enfa-nav-premium .enfa-brand img {
    width: 148px !important;
    height: 66px !important;
}
.enfa-nav-premium .enfa-brand span {
    display: block !important;
    margin-top: -7px !important;
    color: #081b53 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    font-style: italic !important;
    text-align: center !important;
}
.enfa-nav-premium .enfa-public-nav {
    gap: 7px !important;
    justify-content: center !important;
    overflow: visible !important;
}
.enfa-nav-premium .enfa-public-nav > a,
.enfa-nav-premium .enfa-nav-dropdown-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 0 13px !important;
    border: 1px solid transparent !important;
    border-radius: 13px !important;
    background: transparent !important;
    color: #0a1d52 !important;
    font-size: 14px !important;
    font-weight: 780 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    text-shadow: none !important;
    transition:
        color 0.2s ease,
        background 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease !important;
}
/* Kill every legacy underline / strike active decoration */
.enfa-nav-premium .enfa-public-nav > a:before,
.enfa-nav-premium .enfa-public-nav > a:after,
.enfa-nav-premium .enfa-nav-dropdown-toggle:before,
.enfa-nav-premium .enfa-nav-dropdown-toggle:after {
    content: none !important;
    display: none !important;
}
.enfa-nav-premium .enfa-public-nav > a:hover,
.enfa-nav-premium .enfa-nav-dropdown-toggle:hover {
    color: #0b68c9 !important;
    background: rgba(232, 249, 255, 0.88) !important;
    border-color: rgba(18, 200, 222, 0.16) !important;
    transform: translateY(-1px) !important;
}
.enfa-nav-premium .enfa-public-nav > a.is-active,
.enfa-nav-premium .enfa-nav-dropdown.is-current > .enfa-nav-dropdown-toggle {
    color: #006fc6 !important;
    background: linear-gradient(
        135deg,
        rgba(207, 250, 255, 0.96),
        rgba(232, 231, 255, 0.94)
    ) !important;
    border-color: rgba(20, 194, 221, 0.28) !important;
    box-shadow:
        0 7px 18px rgba(16, 148, 210, 0.1),
        inset 0 0 0 1px rgba(255, 255, 255, 0.65) !important;
}
.enfa-nav-premium .enfa-nav-dropdown.is-open > .enfa-nav-dropdown-toggle {
    color: #fff !important;
    background: linear-gradient(
        105deg,
        #09cbd9,
        #268eea 52%,
        #7040ef
    ) !important;
    border-color: transparent !important;
    box-shadow: 0 9px 22px rgba(57, 91, 224, 0.22) !important;
}
.enfa-nav-premium .enfa-nav-dropdown-toggle > span {
    font-size: 15px !important;
    margin-left: 7px !important;
    transition: transform 0.2s ease !important;
}
.enfa-nav-premium
    .enfa-nav-dropdown.is-open
    > .enfa-nav-dropdown-toggle
    > span {
    transform: rotate(180deg) !important;
}
.enfa-nav-premium .enfa-nav-dropdown {
    position: relative !important;
}
.enfa-nav-premium .enfa-nav-dropdown-menu.enfa-nav-panel {
    position: absolute !important;
    display: grid !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    top: calc(100% + 13px) !important;
    left: 50% !important;
    width: 300px !important;
    padding: 12px !important;
    border: 1px solid rgba(207, 226, 243, 0.92) !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, 0.985) !important;
    box-shadow: 0 24px 60px rgba(5, 34, 79, 0.2) !important;
    transform: translate(-50%, -8px) scale(0.985) !important;
    transform-origin: top center !important;
    transition:
        opacity 0.18s ease,
        transform 0.18s ease,
        visibility 0.18s !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    z-index: 5100 !important;
}
.enfa-nav-premium .enfa-nav-dropdown.is-open > .enfa-nav-panel {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translate(-50%, 0) scale(1) !important;
}
.enfa-nav-premium .enfa-nav-panel-head {
    padding: 9px 10px 13px !important;
    margin-bottom: 4px !important;
    border-bottom: 1px solid #edf3f9 !important;
}
.enfa-nav-premium .enfa-nav-dropdown-menu a {
    min-height: 48px !important;
    padding: 9px 11px !important;
    border-radius: 12px !important;
    color: #142657 !important;
    transition:
        background 0.18s ease,
        color 0.18s ease,
        transform 0.18s ease !important;
}
.enfa-nav-premium .enfa-nav-dropdown-menu a:hover {
    background: linear-gradient(90deg, #eafcff, #f1edff) !important;
    color: #087ac9 !important;
    transform: translateX(3px) !important;
}
.enfa-nav-premium .enfa-nav-actions {
    gap: 10px !important;
    margin-left: auto !important;
    padding-left: 12px !important;
    border-left: 1px solid rgba(19, 57, 111, 0.12) !important;
}
.enfa-nav-premium .enfa-lang-pill {
    height: 48px !important;
    min-width: 96px !important;
    border: 1px solid rgba(12, 43, 91, 0.08) !important;
    background: rgba(255, 255, 255, 0.74) !important;
    color: #0a1d52 !important;
    box-shadow: 0 5px 15px rgba(12, 44, 91, 0.06) !important;
}
.enfa-nav-premium .enfa-lang-dropdown.is-open .enfa-lang-pill {
    background: #edfaff !important;
    color: #057bc4 !important;
    border-color: rgba(10, 192, 215, 0.25) !important;
}
.enfa-nav-premium .enfa-lang-menu {
    top: calc(100% + 12px) !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 45px rgba(5, 34, 79, 0.18) !important;
}
.enfa-nav-premium .enfa-nav-cta {
    height: 52px !important;
    min-width: 194px !important;
    border-radius: 27px !important;
    font-size: 14px !important;
}
/* The home hero begins at y=0 and is visible behind the floating menu. */
.enfa-public main {
    margin-top: 0 !important;
}
.enfa-public .hp-hero:first-child,
.enfa-public .hp-hero-reference:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
.enfa-public .hp-hero-stage {
    padding-top: 0 !important;
}

@media (min-width: 1051px) {
    .enfa-site-header.enfa-ref-header.enfa-nav-premium.is-scrolled {
        position: fixed !important;
        padding-top: 10px !important;
    }
    .enfa-nav-premium.is-scrolled .enfa-nav-wrap {
        min-height: 78px !important;
        background: rgba(255, 255, 255, 0.96) !important;
    }
    .enfa-nav-premium.is-scrolled .enfa-brand img {
        height: 55px !important;
    }
}
@media (max-width: 1320px) and (min-width: 1051px) {
    .enfa-nav-premium .enfa-nav-wrap {
        padding: 0 20px !important;
        gap: 10px !important;
    }
    .enfa-nav-premium .enfa-brand {
        min-width: 145px !important;
    }
    .enfa-nav-premium .enfa-brand img {
        width: 125px !important;
    }
    .enfa-nav-premium .enfa-public-nav {
        gap: 3px !important;
    }
    .enfa-nav-premium .enfa-public-nav > a,
    .enfa-nav-premium .enfa-nav-dropdown-toggle {
        font-size: 12px !important;
        padding: 0 9px !important;
    }
    .enfa-nav-premium .enfa-nav-cta {
        min-width: 165px !important;
        padding: 0 18px !important;
    }
    .enfa-nav-premium .enfa-lang-pill {
        min-width: 80px !important;
    }
}
@media (max-width: 1050px) {
    body.enfa-public {
        --enfa-nav-h: 90px;
    }
    .enfa-site-header.enfa-ref-header.enfa-nav-premium {
        padding: 12px !important;
    }
    .enfa-nav-premium .enfa-nav-wrap {
        min-height: 70px !important;
        padding: 0 15px !important;
        border-radius: 20px !important;
    }
    .enfa-nav-premium .enfa-brand {
        min-width: 0 !important;
        margin-right: auto !important;
    }
    .enfa-nav-premium .enfa-brand img {
        width: 108px !important;
        height: 52px !important;
    }
    .enfa-nav-premium .enfa-brand span {
        display: none !important;
    }
    .enfa-nav-premium .enfa-nav-actions {
        border-left: 0 !important;
        padding-left: 0 !important;
    }
    .enfa-nav-premium .enfa-public-nav {
        position: absolute !important;
        left: 12px !important;
        right: 12px !important;
        top: calc(100% + 7px) !important;
        display: none !important;
        padding: 12px !important;
        background: rgba(255, 255, 255, 0.985) !important;
        border: 1px solid #dce9f4 !important;
        border-radius: 19px !important;
        box-shadow: 0 22px 50px rgba(8, 36, 82, 0.2) !important;
        max-height: calc(100vh - 105px) !important;
        overflow: auto !important;
    }
    .enfa-nav-premium .enfa-public-nav.is-open {
        display: grid !important;
    }
    .enfa-nav-premium .enfa-public-nav > a,
    .enfa-nav-premium .enfa-nav-dropdown-toggle {
        width: 100% !important;
        justify-content: space-between !important;
        height: 46px !important;
        padding: 0 13px !important;
    }
    .enfa-nav-premium .enfa-nav-dropdown-menu.enfa-nav-panel {
        position: static !important;
        width: 100% !important;
        display: none !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: none !important;
        box-shadow: none !important;
        border-radius: 13px !important;
        margin: 3px 0 9px !important;
        background: #f7fbff !important;
    }
    .enfa-nav-premium .enfa-nav-dropdown.is-open > .enfa-nav-panel {
        display: grid !important;
    }
    .enfa-nav-premium .enfa-nav-dropdown.is-open > .enfa-nav-dropdown-toggle {
        color: #fff !important;
    }
    .enfa-nav-premium .enfa-nav-cta {
        display: none !important;
    }
}
@media (max-width: 620px) {
    .enfa-nav-premium .enfa-lang-pill {
        min-width: 70px !important;
        width: 70px !important;
        padding: 0 9px !important;
    }
    .enfa-nav-premium .enfa-nav-wrap {
        gap: 7px !important;
    }
    .enfa-nav-premium .enfa-brand img {
        width: 98px !important;
    }
}

/* ================================================================
   ENFA HOME NAV + HERO FINAL FIX 2026-10-07
   Main labels navigate; chevrons exclusively control submenus.
   ================================================================ */
.enfa-nav-premium .enfa-nav-dropdown {
    display: flex !important;
    align-items: center !important;
    position: relative !important;
}
.enfa-nav-premium .enfa-nav-section {
    display: flex !important;
    align-items: center !important;
    height: 44px !important;
    border: 1px solid transparent !important;
    border-radius: 13px !important;
    overflow: hidden !important;
    transition: 0.2s ease !important;
}
.enfa-nav-premium .enfa-nav-section-link {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
    padding: 0 5px 0 13px !important;
    color: #0a1d52 !important;
    font-size: 14px !important;
    font-weight: 780 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}
.enfa-nav-premium .enfa-nav-dropdown-toggle {
    display: grid !important;
    place-items: center !important;
    width: 28px !important;
    min-width: 28px !important;
    height: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #0a1d52 !important;
    cursor: pointer !important;
}
.enfa-nav-premium .enfa-nav-dropdown-toggle > span {
    margin: 0 !important;
    font-size: 15px !important;
}
.enfa-nav-premium .enfa-nav-dropdown:hover > .enfa-nav-panel {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
.enfa-nav-premium .enfa-nav-dropdown.is-open > .enfa-nav-panel,
.enfa-nav-premium .enfa-nav-dropdown.is-open:hover > .enfa-nav-panel {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translate(-50%, 0) scale(1) !important;
}
.enfa-nav-premium .enfa-nav-dropdown:hover .enfa-nav-section {
    background: rgba(232, 249, 255, 0.88) !important;
    border-color: rgba(18, 200, 222, 0.16) !important;
}
.enfa-nav-premium .enfa-nav-dropdown:hover .enfa-nav-section-link,
.enfa-nav-premium .enfa-nav-dropdown:hover .enfa-nav-dropdown-toggle {
    color: #0b68c9 !important;
}
.enfa-nav-premium .enfa-nav-dropdown.is-current .enfa-nav-section {
    background: linear-gradient(
        135deg,
        rgba(207, 250, 255, 0.96),
        rgba(232, 231, 255, 0.94)
    ) !important;
    border-color: rgba(20, 194, 221, 0.28) !important;
    box-shadow: 0 7px 18px rgba(16, 148, 210, 0.1) !important;
}
.enfa-nav-premium .enfa-nav-dropdown.is-current .enfa-nav-section-link,
.enfa-nav-premium .enfa-nav-dropdown.is-current .enfa-nav-dropdown-toggle {
    color: #006fc6 !important;
}
.enfa-nav-premium .enfa-nav-dropdown.is-open .enfa-nav-section {
    background: linear-gradient(
        105deg,
        #09cbd9,
        #268eea 52%,
        #7040ef
    ) !important;
    border-color: transparent !important;
    box-shadow: 0 9px 22px rgba(57, 91, 224, 0.22) !important;
}
.enfa-nav-premium .enfa-nav-dropdown.is-open .enfa-nav-section-link,
.enfa-nav-premium .enfa-nav-dropdown.is-open .enfa-nav-dropdown-toggle {
    color: #fff !important;
}
.enfa-nav-premium .enfa-nav-section:before,
.enfa-nav-premium .enfa-nav-section:after,
.enfa-nav-premium .enfa-nav-section-link:before,
.enfa-nav-premium .enfa-nav-section-link:after {
    content: none !important;
    display: none !important;
}

/* Hero remains behind glass header, but readable content begins below it. */
body.enfa-public {
    --hero-safe-top: 142px !important;
}
.enfa-public .hp-hero-fullbleed .hp-hero-stage {
    padding-top: var(--hero-safe-top) !important;
    min-height: 682px !important;
}
.enfa-public .hp-hero-fullbleed .hp-hero-reference-content {
    min-height: 515px !important;
    align-items: center !important;
}
.enfa-public .hp-hero-fullbleed .hp-hero-reference-copy {
    padding-top: 0 !important;
    padding-bottom: 30px !important;
}

/* Premium benefits ribbon matching supplied reference. */
.hp-hero-fullbleed .hp-trustbar-wrap {
    padding: 0 0 34px !important;
    margin-top: -14px !important;
}
.hp-hero-fullbleed .hp-trustbar {
    position: relative !important;
    overflow: hidden !important;
    min-height: 154px !important;
    padding: 25px 34px !important;
    gap: 0 !important;
    border: 2px solid rgba(133, 218, 255, 0.42) !important;
    border-radius: 30px !important;
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.95),
        rgba(247, 252, 255, 0.9)
    ) !important;
    box-shadow:
        0 20px 50px rgba(13, 54, 104, 0.15),
        0 0 26px rgba(23, 210, 232, 0.1) !important;
}
.hp-hero-fullbleed .hp-trustbar:before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: -2% !important;
    right: -2% !important;
    bottom: -27px !important;
    height: 78px !important;
    background:
        radial-gradient(
            90% 80px at 20% 0,
            transparent 53%,
            rgba(5, 208, 224, 0.82) 54%,
            rgba(5, 208, 224, 0.15) 61%,
            transparent 63%
        ),
        radial-gradient(
            100% 82px at 77% 0,
            transparent 53%,
            rgba(112, 57, 247, 0.58) 54%,
            rgba(112, 57, 247, 0.1) 62%,
            transparent 64%
        ) !important;
    opacity: 0.95 !important;
    pointer-events: none !important;
}
.hp-hero-fullbleed .hp-trustbar:after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: auto 0 0 !important;
    height: 5px !important;
    background: linear-gradient(
        90deg,
        #0ad5df,
        transparent 42%,
        transparent 60%,
        #7638f6
    ) !important;
    opacity: 0.8 !important;
}
.hp-hero-fullbleed .hp-trustbar > div {
    position: relative !important;
    z-index: 2 !important;
    min-height: 100px !important;
    padding: 10px 28px !important;
    display: flex !important;
    align-items: center !important;
    gap: 22px !important;
    border-radius: 0 !important;
    background: transparent !important;
    border: 0 !important;
}
.hp-hero-fullbleed .hp-trustbar > div + div:before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 18px !important;
    bottom: 18px !important;
    width: 1px !important;
    background: linear-gradient(
        transparent,
        #a9bdd5 18%,
        #a9bdd5 82%,
        transparent
    ) !important;
}
.hp-hero-fullbleed .trust-icon {
    width: 76px !important;
    height: 76px !important;
    min-width: 76px !important;
    border-radius: 50% !important;
    background: radial-gradient(
        circle at 32% 28%,
        #fff 0 12%,
        #e7fbff 45%,
        #e8e8ff 100%
    ) !important;
    border: 2px solid rgba(30, 202, 224, 0.38) !important;
    box-shadow:
        0 0 0 8px rgba(225, 249, 255, 0.52),
        0 8px 22px rgba(30, 96, 181, 0.13),
        inset 0 0 18px rgba(255, 255, 255, 0.9) !important;
}
.hp-hero-fullbleed .trust-icon svg {
    width: 39px !important;
    height: 39px !important;
    stroke-width: 1.8 !important;
    filter: drop-shadow(0 3px 4px rgba(44, 72, 220, 0.16)) !important;
}
.hp-hero-fullbleed .hp-trustbar span {
    display: grid !important;
    gap: 5px !important;
}
.hp-hero-fullbleed .hp-trustbar strong {
    font-size: 21px !important;
    line-height: 1.05 !important;
    font-weight: 900 !important;
    letter-spacing: -0.035em !important;
    color: #081d55 !important;
}
.hp-hero-fullbleed .hp-trustbar small {
    font-size: 15px !important;
    line-height: 1.25 !important;
    color: #53678f !important;
}
.hp-hero-fullbleed .hp-trustbar > div:hover {
    transform: translateY(-3px) !important;
    background: transparent !important;
    box-shadow: none !important;
}
.hp-hero-fullbleed .hp-trustbar > div:hover .trust-icon {
    transform: scale(1.05) !important;
    box-shadow:
        0 0 0 9px rgba(225, 249, 255, 0.6),
        0 0 28px rgba(23, 205, 230, 0.24) !important;
}

@media (max-width: 1320px) and (min-width: 1051px) {
    .enfa-nav-premium .enfa-nav-section-link {
        font-size: 12px !important;
        padding-left: 9px !important;
    }
    .enfa-nav-premium .enfa-nav-dropdown-toggle {
        width: 23px !important;
        min-width: 23px !important;
    }
    .hp-hero-fullbleed .hp-trustbar > div {
        padding: 8px 18px !important;
        gap: 15px !important;
    }
    .hp-hero-fullbleed .trust-icon {
        width: 65px !important;
        height: 65px !important;
        min-width: 65px !important;
    }
    .hp-hero-fullbleed .hp-trustbar strong {
        font-size: 18px !important;
    }
    .hp-hero-fullbleed .hp-trustbar small {
        font-size: 13px !important;
    }
}
@media (max-width: 1050px) {
    body.enfa-public {
        --hero-safe-top: 105px !important;
    }
    .enfa-nav-premium .enfa-nav-dropdown {
        display: block !important;
    }
    .enfa-nav-premium .enfa-nav-section {
        width: 100% !important;
        height: 46px !important;
    }
    .enfa-nav-premium .enfa-nav-section-link {
        flex: 1 !important;
        padding-left: 13px !important;
        font-size: 13px !important;
    }
    .enfa-nav-premium .enfa-nav-dropdown-toggle {
        width: 46px !important;
        min-width: 46px !important;
    }
    .enfa-nav-premium .enfa-nav-dropdown.is-open > .enfa-nav-panel,
    .enfa-nav-premium .enfa-nav-dropdown.is-open:hover > .enfa-nav-panel {
        transform: none !important;
    }
    .hp-hero-fullbleed .hp-trustbar {
        grid-template-columns: 1fr 1fr !important;
        padding: 18px !important;
    }
    .hp-hero-fullbleed .hp-trustbar > div + div:before {
        display: none !important;
    }
    .hp-hero-fullbleed .hp-trustbar > div {
        border-radius: 20px !important;
        padding: 14px !important;
    }
    .hp-hero-fullbleed .trust-icon {
        width: 58px !important;
        height: 58px !important;
        min-width: 58px !important;
    }
    .hp-hero-fullbleed .hp-trustbar strong {
        font-size: 16px !important;
    }
    .hp-hero-fullbleed .hp-trustbar small {
        font-size: 12px !important;
    }
}
@media (max-width: 600px) {
    body.enfa-public {
        --hero-safe-top: 92px !important;
    }
    .enfa-public .hp-hero-fullbleed .hp-hero-reference-content {
        padding-top: 35px !important;
    }
    .hp-hero-fullbleed .hp-trustbar {
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
    }
    .hp-hero-fullbleed .hp-trustbar > div {
        min-height: 82px !important;
        flex-direction: row !important;
    }
    .hp-hero-fullbleed .trust-icon {
        width: 54px !important;
        height: 54px !important;
        min-width: 54px !important;
    }
    .hp-hero-fullbleed .hp-trustbar:before {
        opacity: 0.55 !important;
    }
}

/* === ENFA FRONT BUTTON SYSTEM + FINAL NAV 2026-10-07 === */
.enfa-public-nav > a,
.enfa-nav-section {
    border-radius: 12px !important;
}
.enfa-public-nav > a.is-active,
.enfa-nav-dropdown.is-current > .enfa-nav-section {
    background: linear-gradient(
        135deg,
        rgba(14, 215, 228, 0.13),
        rgba(111, 49, 242, 0.1)
    ) !important;
    box-shadow: inset 0 0 0 1px rgba(22, 190, 224, 0.24) !important;
}
.enfa-public-nav > a.is-active {
    color: #0878c9 !important;
}

/* Rectangular, rounded — never pill-shaped */
.enfa-public .hp-btn,
.enfa-public .hp-more-cta,
.enfa-public .hp-safety-cta,
.enfa-public .hp-local-cta,
.enfa-public .enfa-btn,
.enfa-public .enfa-nav-cta,
.enfa-public .hp-city-download {
    border-radius: 16px !important;
    min-height: 54px;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transition:
        transform 0.24s ease,
        box-shadow 0.24s ease,
        filter 0.24s ease,
        border-color 0.24s ease !important;
}
.enfa-public .hp-btn:after,
.enfa-public .hp-more-cta:after,
.enfa-public .hp-safety-cta:after,
.enfa-public .hp-local-cta:after,
.enfa-public .enfa-btn:after,
.enfa-public .enfa-nav-cta:after,
.enfa-public .hp-city-download:after,
.enfa-public .hp-store-badge:after,
.enfa-public .enfa-footer-stores a:after {
    content: "";
    position: absolute;
    top: -70%;
    bottom: -70%;
    left: -42%;
    width: 30%;
    transform: skewX(-22deg);
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.86),
        transparent
    );
    transition: left 0.58s ease;
    pointer-events: none;
    z-index: 1;
}
.enfa-public .hp-btn:hover:after,
.enfa-public .hp-more-cta:hover:after,
.enfa-public .hp-safety-cta:hover:after,
.enfa-public .hp-local-cta:hover:after,
.enfa-public .enfa-btn:hover:after,
.enfa-public .enfa-nav-cta:hover:after,
.enfa-public .hp-city-download:hover:after,
.enfa-public .hp-store-badge:hover:after,
.enfa-public .enfa-footer-stores a:hover:after {
    left: 120%;
}
.enfa-public .hp-btn:hover,
.enfa-public .hp-more-cta:hover,
.enfa-public .hp-safety-cta:hover,
.enfa-public .hp-local-cta:hover,
.enfa-public .enfa-btn:hover,
.enfa-public .enfa-nav-cta:hover,
.enfa-public .hp-city-download:hover {
    transform: translateY(-3px) !important;
    filter: brightness(1.08) saturate(1.08);
    box-shadow:
        0 14px 30px rgba(27, 99, 211, 0.22),
        0 0 22px rgba(21, 214, 231, 0.25) !important;
}
.enfa-public .hp-final .hp-btn,
.enfa-public .hp-final .hp-btn.outline {
    border-radius: 18px !important;
}

/* Premium app-store badges inspired by supplied reference */
.enfa-public .hp-store-badge,
.enfa-public .enfa-footer-stores a,
.enfa-public .enfa-store-actions a,
.enfa-public .enfa-store-actions-lg a {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border-radius: 15px !important;
    background: linear-gradient(
        145deg,
        #07162e 5%,
        #030713 62%,
        #090520 100%
    ) !important;
    border: 1.5px solid rgba(42, 220, 245, 0.85) !important;
    color: #fff !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.2),
        0 0 0 2px rgba(95, 46, 242, 0.22),
        0 10px 25px rgba(16, 80, 183, 0.2) !important;
    transition:
        transform 0.24s ease,
        box-shadow 0.24s ease,
        filter 0.24s ease !important;
}
.enfa-public .hp-store-badge:before,
.enfa-public .enfa-footer-stores a:before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 2px;
    background: linear-gradient(115deg, #05e3ec, #2189ff 48%, #8a2cff);
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}
.enfa-public .hp-store-badge:hover,
.enfa-public .enfa-footer-stores a:hover,
.enfa-public .enfa-store-actions a:hover,
.enfa-public .enfa-store-actions-lg a:hover {
    transform: translateY(-4px) scale(1.025) !important;
    filter: brightness(1.14);
    box-shadow:
        0 0 18px rgba(8, 222, 239, 0.58),
        0 0 30px rgba(119, 44, 255, 0.35),
        0 16px 32px rgba(9, 30, 78, 0.28) !important;
}
.enfa-public .hp-store-badge {
    min-height: 76px !important;
    padding: 11px 20px !important;
}
.enfa-public .hp-store-badge b {
    font-size: 23px !important;
}
.enfa-public .hp-store-badge small {
    font-size: 10px !important;
    letter-spacing: 0.04em;
}
.enfa-public .enfa-footer-stores a {
    min-height: 54px !important;
    height: 54px !important;
}
@media (max-width: 700px) {
    .enfa-public .hp-btn,
    .enfa-public .enfa-btn,
    .enfa-public .hp-more-cta,
    .enfa-public .hp-safety-cta,
    .enfa-public .hp-local-cta {
        border-radius: 14px !important;
    }
    .enfa-public .hp-final .hp-btn {
        border-radius: 15px !important;
    }
}

/* === ENFA APP DOWNLOAD BADGES / QR REMOVAL 2026-10-07 === */
.enfa-public .hp-download-actions {
    display: block !important;
}
.enfa-public .hp-download-badges {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
    width: min(100%, 650px) !important;
}
.enfa-public .hp-store-badge {
    width: 100% !important;
    min-width: 0 !important;
    height: 112px !important;
    min-height: 112px !important;
    padding: 14px 24px !important;
    gap: 20px !important;
    border-radius: 24px !important;
    background:
        radial-gradient(
            circle at 18% 10%,
            rgba(29, 113, 177, 0.24),
            transparent 34%
        ),
        linear-gradient(145deg, #0a1d38 0%, #030713 52%, #08051b 100%) !important;
    border: 2px solid #08dff0 !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.25),
        inset 0 -10px 30px rgba(31, 14, 92, 0.35),
        0 0 0 3px rgba(81, 48, 247, 0.28),
        0 9px 20px rgba(0, 33, 92, 0.22),
        0 0 22px rgba(10, 216, 239, 0.25) !important;
}
.enfa-public .hp-store-badge:before {
    padding: 3px !important;
    background: linear-gradient(
        110deg,
        #08e7ef 0%,
        #238cff 45%,
        #8a2cff 100%
    ) !important;
}
.enfa-public .hp-store-badge:after {
    z-index: 4 !important;
}
.enfa-public .hp-store-logo {
    width: 72px;
    height: 72px;
    flex: 0 0 72px;
    display: grid;
    place-items: center;
    position: relative;
    z-index: 2;
}
.enfa-public .hp-store-logo--apple {
    font-family: Arial, sans-serif;
    font-size: 62px;
    line-height: 1;
    color: #fff;
    text-shadow: 0 0 16px rgba(124, 204, 255, 0.48);
}
.enfa-public .hp-store-logo--play i {
    display: block;
    width: 0;
    height: 0;
    border-top: 31px solid transparent;
    border-bottom: 31px solid transparent;
    border-left: 49px solid #fff;
    filter: drop-shadow(0 0 8px rgba(55, 202, 255, 0.65));
    transform: translateX(5px);
}
.enfa-public .hp-store-rule {
    width: 3px;
    height: 66px;
    flex: 0 0 3px;
    border-radius: 4px;
    background: linear-gradient(#0ae2f0, #247dff 48%, #8d2cff);
    box-shadow: 0 0 11px #258eff;
}
.enfa-public .hp-store-copy {
    display: grid !important;
    gap: 2px !important;
    line-height: 1 !important;
    position: relative;
    z-index: 2;
    white-space: nowrap;
}
.enfa-public .hp-store-copy small {
    font-size: 15px !important;
    letter-spacing: 0.18em !important;
    font-weight: 500 !important;
    color: #fff !important;
}
.enfa-public .hp-store-copy b {
    font-size: 35px !important;
    letter-spacing: -0.04em !important;
    color: #fff !important;
    font-weight: 850 !important;
}
.enfa-public .hp-store-badge:hover {
    transform: translateY(-5px) scale(1.025) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.28),
        0 0 0 3px rgba(116, 45, 255, 0.38),
        0 0 28px rgba(5, 225, 241, 0.72),
        0 0 46px rgba(117, 43, 255, 0.38),
        0 18px 35px rgba(5, 31, 89, 0.3) !important;
}

.enfa-public .enfa-footer-download-row {
    display: block !important;
}
.enfa-public .enfa-footer-stores {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    width: 100% !important;
}
.enfa-public .enfa-footer-stores a.enfa-store-mini {
    height: 66px !important;
    min-height: 66px !important;
    border-radius: 15px !important;
    justify-content: flex-start !important;
    padding: 8px 13px !important;
    gap: 10px !important;
    background: linear-gradient(
        145deg,
        #081a33,
        #02050c 62%,
        #09051c
    ) !important;
    border: 1.5px solid #0ddded !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.18),
        0 0 0 2px rgba(111, 45, 244, 0.22),
        0 0 15px rgba(9, 213, 235, 0.16) !important;
}
.enfa-public .enfa-store-mini > b {
    font-size: 33px !important;
    line-height: 1;
    color: #fff;
    min-width: 32px;
    text-align: center;
}
.enfa-public .enfa-store-mini > span {
    display: grid;
    line-height: 1.02;
}
.enfa-public .enfa-store-mini small {
    font-size: 7px !important;
    letter-spacing: 0.08em;
    color: #fff !important;
    margin: 0 !important;
}
.enfa-public .enfa-store-mini strong {
    font-size: 15px !important;
    color: #fff !important;
    white-space: nowrap;
}
.enfa-public .enfa-play-mark {
    width: 0;
    height: 0;
    min-width: 0 !important;
    border-top: 13px solid transparent;
    border-bottom: 13px solid transparent;
    border-left: 20px solid #fff;
    filter: drop-shadow(0 0 5px rgba(35, 199, 255, 0.7));
    margin: 0 5px;
}
.enfa-public .enfa-footer-stores a.enfa-store-mini:hover {
    transform: translateY(-4px) scale(1.025) !important;
    box-shadow:
        0 0 20px rgba(8, 222, 239, 0.65),
        0 0 30px rgba(119, 44, 255, 0.32),
        0 12px 25px rgba(0, 0, 0, 0.24) !important;
}
.enfa-public .hp-download-qr,
.enfa-public .enfa-footer-qr {
    display: none !important;
}
@media (max-width: 900px) {
    .enfa-public .hp-download-badges {
        grid-template-columns: 1fr !important;
        max-width: 390px !important;
    }
    .enfa-public .hp-store-badge {
        height: 98px !important;
        min-height: 98px !important;
    }
    .enfa-public .hp-store-copy b {
        font-size: 31px !important;
    }
    .enfa-public .hp-store-copy small {
        font-size: 12px !important;
    }
}
@media (max-width: 520px) {
    .enfa-public .hp-store-badge {
        height: 88px !important;
        min-height: 88px !important;
        padding: 10px 15px !important;
        gap: 13px !important;
        border-radius: 18px !important;
    }
    .enfa-public .hp-store-logo {
        width: 54px;
        height: 54px;
        flex-basis: 54px;
    }
    .enfa-public .hp-store-logo--apple {
        font-size: 48px;
    }
    .enfa-public .hp-store-logo--play i {
        border-top-width: 23px;
        border-bottom-width: 23px;
        border-left-width: 37px;
    }
    .enfa-public .hp-store-rule {
        height: 50px;
    }
    .enfa-public .hp-store-copy b {
        font-size: 26px !important;
    }
    .enfa-public .hp-store-copy small {
        font-size: 9px !important;
    }
    .enfa-public .enfa-footer-stores {
        grid-template-columns: 1fr !important;
        max-width: 310px;
    }
}

/* === ENFA APP BADGES V2 — light premium reference 2026-10-07 === */
.enfa-public .hp-download-badges {
    grid-template-columns: repeat(2, minmax(290px, 1fr)) !important;
    gap: 24px !important;
    width: min(100%, 760px) !important;
}
.enfa-public .hp-store-badge {
    height: 118px !important;
    min-height: 118px !important;
    padding: 12px 18px !important;
    gap: 16px !important;
    border-radius: 26px !important;
    background: linear-gradient(
        145deg,
        rgba(255, 255, 255, 0.98),
        rgba(245, 252, 255, 0.97) 52%,
        rgba(249, 244, 255, 0.98)
    ) !important;
    border: 2px solid transparent !important;
    color: #07163e !important;
    box-shadow:
        0 16px 34px rgba(38, 99, 183, 0.18),
        0 0 0 2px rgba(19, 210, 237, 0.35),
        0 0 25px rgba(98, 52, 245, 0.2),
        inset 0 1px 0 #fff !important;
    overflow: hidden !important;
}
.enfa-public .hp-store-badge:before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: inherit !important;
    padding: 2px !important;
    background: linear-gradient(
        115deg,
        #05dfea,
        #278cf7 48%,
        #8b31f7
    ) !important;
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0) !important;
    -webkit-mask-composite: xor !important;
    mask-composite: exclude !important;
    pointer-events: none !important;
    z-index: 5 !important;
}
.enfa-public .hp-store-badge:after {
    content: "" !important;
    position: absolute !important;
    top: -60% !important;
    left: -38% !important;
    width: 25% !important;
    height: 230% !important;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.95),
        transparent
    ) !important;
    transform: rotate(18deg) !important;
    transition: left 0.72s cubic-bezier(0.2, 0.7, 0.2, 1) !important;
    z-index: 4 !important;
    pointer-events: none !important;
}
.enfa-public .hp-store-badge:hover:after,
.enfa-public .hp-store-badge:focus-visible:after {
    left: 125% !important;
}
.enfa-public .hp-store-badge:hover,
.enfa-public .hp-store-badge:focus-visible {
    transform: translateY(-5px) scale(1.018) !important;
    filter: none !important;
    box-shadow:
        0 20px 42px rgba(26, 91, 186, 0.24),
        0 0 20px rgba(5, 222, 238, 0.72),
        0 0 38px rgba(127, 43, 247, 0.38),
        inset 0 1px 0 #fff !important;
    color: #07163e !important;
}
.enfa-public .hp-store-logo {
    width: 82px !important;
    height: 82px !important;
    flex: 0 0 82px !important;
    border-radius: 22px !important;
    display: grid !important;
    place-items: center !important;
    background: linear-gradient(
        145deg,
        #0bdde8 0%,
        #278af5 50%,
        #812cf5 100%
    ) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.55),
        0 8px 20px rgba(51, 92, 210, 0.24),
        0 0 14px rgba(27, 209, 239, 0.28) !important;
    overflow: hidden !important;
}
.enfa-public .hp-store-logo--apple {
    font-size: 0 !important;
    color: transparent !important;
    text-shadow: none !important;
}
.enfa-public .hp-store-logo--apple:before {
    content: "";
    width: 48px;
    height: 56px;
    background: #fff;
    display: block;
    clip-path: path(
        "M38.7 29.8c-.1-7.1 5.8-10.6 6.1-10.8-3.4-4.9-8.6-5.6-10.4-5.7-4.4-.5-8.6 2.6-10.8 2.6-2.2 0-5.6-2.5-9.2-2.4-4.7.1-9.1 2.8-11.5 7-4.9 8.5-1.3 21 3.5 27.9 2.3 3.4 5.1 7.1 8.8 6.9 3.5-.1 4.9-2.3 9.1-2.3 4.3 0 5.5 2.3 9.2 2.2 3.8-.1 6.3-3.4 8.6-6.8 2.7-3.9 3.8-7.7 3.8-7.9-.1 0-7.2-2.8-7.2-10.7zM31.5 8.7c1.9-2.3 3.2-5.5 2.8-8.7-2.7.1-6 1.8-8 4.1-1.8 2-3.3 5.3-2.9 8.4 3 .2 6.1-1.5 8.1-3.8z"
    );
}
.enfa-public .hp-store-logo--play {
    background: linear-gradient(
        145deg,
        #071932,
        #071328 70%,
        #17103d
    ) !important;
    border: 1px solid rgba(42, 184, 255, 0.75) !important;
}
.enfa-public .hp-store-logo--play i {
    width: 52px !important;
    height: 52px !important;
    border: 0 !important;
    transform: none !important;
    filter: drop-shadow(0 4px 7px rgba(0, 0, 0, 0.18)) !important;
    background: conic-gradient(
        from 220deg at 30% 50%,
        #16c7f3 0 25%,
        #21d566 0 49%,
        #ffd337 0 72%,
        #ff3f4e 0 100%
    ) !important;
    clip-path: polygon(10% 4%, 92% 50%, 10% 96%) !important;
}
.enfa-public .hp-store-rule {
    display: none !important;
}
.enfa-public .hp-store-copy {
    min-width: 0 !important;
    flex: 1 !important;
    gap: 5px !important;
    color: #07163e !important;
}
.enfa-public .hp-store-copy small {
    font-size: 13px !important;
    letter-spacing: 0.2em !important;
    font-weight: 650 !important;
    color: #25365d !important;
    white-space: nowrap !important;
}
.enfa-public .hp-store-copy b {
    font-size: 32px !important;
    line-height: 1 !important;
    letter-spacing: -0.045em !important;
    color: #06143a !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}
.enfa-public .hp-store-copy:after {
    content: "›";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font: 700 38px/1 Arial;
    color: #4527dc;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(80, 110, 226, 0.2);
    box-shadow: 0 5px 15px rgba(60, 85, 190, 0.13);
}
.enfa-public .hp-store-copy {
    padding-right: 48px !important;
}

.enfa-public .enfa-footer-stores {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}
.enfa-public .enfa-footer-stores a.enfa-store-mini {
    height: 70px !important;
    min-height: 70px !important;
    padding: 8px 12px !important;
    border-radius: 16px !important;
    background: linear-gradient(
        145deg,
        #fafdff,
        #f4fbff 52%,
        #f9f5ff
    ) !important;
    border: 1.5px solid #18d8ec !important;
    color: #07163e !important;
    box-shadow:
        0 0 0 2px rgba(115, 48, 246, 0.18),
        0 7px 18px rgba(12, 67, 145, 0.16) !important;
    overflow: hidden !important;
}
.enfa-public .enfa-footer-stores a.enfa-store-mini:after {
    z-index: 4 !important;
}
.enfa-public .enfa-footer-stores a.enfa-store-mini:hover {
    filter: none !important;
    box-shadow:
        0 0 18px rgba(8, 222, 239, 0.7),
        0 0 30px rgba(119, 44, 255, 0.34),
        0 12px 25px rgba(0, 0, 0, 0.18) !important;
}
.enfa-public .enfa-store-mini > b:not(.enfa-play-mark) {
    width: 46px;
    height: 46px;
    min-width: 46px !important;
    border-radius: 12px;
    background: linear-gradient(145deg, #0bdde8, #278af5 50%, #812cf5);
    font-size: 0 !important;
    position: relative;
}
.enfa-public .enfa-store-mini > b:not(.enfa-play-mark):after {
    content: "";
    position: absolute;
    inset: 8px;
    background: #fff;
    clip-path: path(
        "M38.7 29.8c-.1-7.1 5.8-10.6 6.1-10.8-3.4-4.9-8.6-5.6-10.4-5.7-4.4-.5-8.6 2.6-10.8 2.6-2.2 0-5.6-2.5-9.2-2.4-4.7.1-9.1 2.8-11.5 7-4.9 8.5-1.3 21 3.5 27.9 2.3 3.4 5.1 7.1 8.8 6.9 3.5-.1 4.9-2.3 9.1-2.3 4.3 0 5.5 2.3 9.2 2.2 3.8-.1 6.3-3.4 8.6-6.8 2.7-3.9 3.8-7.7 3.8-7.9-.1 0-7.2-2.8-7.2-10.7zM31.5 8.7c1.9-2.3 3.2-5.5 2.8-8.7-2.7.1-6 1.8-8 4.1-1.8 2-3.3 5.3-2.9 8.4 3 .2 6.1-1.5 8.1-3.8z"
    );
}
.enfa-public .enfa-play-mark {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    border: 1px solid rgba(42, 184, 255, 0.65) !important;
    border-radius: 12px !important;
    background: #07152e !important;
    position: relative !important;
    margin: 0 !important;
    filter: none !important;
}
.enfa-public .enfa-play-mark:after {
    content: "";
    position: absolute;
    inset: 9px;
    background: conic-gradient(
        from 220deg at 30% 50%,
        #16c7f3 0 25%,
        #21d566 0 49%,
        #ffd337 0 72%,
        #ff3f4e 0 100%
    );
    clip-path: polygon(10% 4%, 92% 50%, 10% 96%);
}
.enfa-public .enfa-store-mini small {
    color: #314163 !important;
    font-size: 7px !important;
    letter-spacing: 0.12em !important;
}
.enfa-public .enfa-store-mini strong {
    color: #07163e !important;
    font-size: 15px !important;
    font-weight: 850 !important;
}
@media (max-width: 1100px) {
    .enfa-public .hp-download-badges {
        grid-template-columns: 1fr !important;
        max-width: 410px !important;
    }
}
@media (max-width: 520px) {
    .enfa-public .hp-store-badge {
        height: 94px !important;
        min-height: 94px !important;
        padding: 10px 12px !important;
        border-radius: 20px !important;
        gap: 12px !important;
    }
    .enfa-public .hp-store-logo {
        width: 62px !important;
        height: 62px !important;
        flex-basis: 62px !important;
        border-radius: 17px !important;
    }
    .enfa-public .hp-store-logo--apple:before {
        transform: scale(0.78);
    }
    .enfa-public .hp-store-logo--play i {
        width: 40px !important;
        height: 40px !important;
    }
    .enfa-public .hp-store-copy {
        padding-right: 36px !important;
    }
    .enfa-public .hp-store-copy small {
        font-size: 9px !important;
    }
    .enfa-public .hp-store-copy b {
        font-size: 25px !important;
    }
    .enfa-public .hp-store-copy:after {
        width: 32px;
        height: 32px;
        font-size: 28px;
    }
}

/* === ENFA FINE TUNE: STORE ICON SCALE + LOCAL CITY CONTRAST 2026-10-07 === */
.enfa-public .hp-store-badge {
    padding: 12px 16px !important;
    gap: 14px !important;
}
.enfa-public .hp-store-logo {
    width: 64px !important;
    height: 64px !important;
    flex: 0 0 64px !important;
    border-radius: 18px !important;
}
.enfa-public .hp-store-logo--apple:before {
    width: 38px !important;
    height: 45px !important;
}
.enfa-public .hp-store-logo--play i {
    width: 40px !important;
    height: 40px !important;
}
.enfa-public .hp-store-copy {
    padding-right: 38px !important;
    gap: 4px !important;
}
.enfa-public .hp-store-copy small {
    font-size: 11px !important;
    letter-spacing: 0.18em !important;
}
.enfa-public .hp-store-copy b {
    font-size: 28px !important;
    letter-spacing: -0.035em !important;
}
.enfa-public .hp-store-copy:after {
    right: 0 !important;
    width: 32px !important;
    height: 32px !important;
    font-size: 28px !important;
    border-color: rgba(78, 85, 214, 0.18) !important;
    color: #5030dd !important;
}

.enfa-public .enfa-store-mini > b:not(.enfa-play-mark),
.enfa-public .enfa-play-mark {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    border-radius: 10px !important;
}
.enfa-public .enfa-store-mini > b:not(.enfa-play-mark):after {
    inset: 7px !important;
}
.enfa-public .enfa-play-mark:after {
    inset: 8px !important;
}
.enfa-public .enfa-footer-stores a.enfa-store-mini {
    height: 60px !important;
    min-height: 60px !important;
    padding: 7px 10px !important;
    gap: 8px !important;
}
.enfa-public .enfa-store-mini small {
    font-size: 6.5px !important;
    letter-spacing: 0.1em !important;
}
.enfa-public .enfa-store-mini strong {
    font-size: 14px !important;
}

/* The previous pale gradient disappeared over the Local photo. Keep brand gradient, but with usable contrast. */
.enfa-public #hp-local-title strong {
    color: #176eea !important;
    background: linear-gradient(
        100deg,
        #0a8fe8 0%,
        #3f69f1 48%,
        #7134e8 100%
    ) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    filter: drop-shadow(0 1px 0 rgba(255, 255, 255, 0.8))
        drop-shadow(0 2px 5px rgba(15, 54, 128, 0.1)) !important;
}
@media (max-width: 520px) {
    .enfa-public .hp-store-logo {
        width: 54px !important;
        height: 54px !important;
        flex-basis: 54px !important;
        border-radius: 15px !important;
    }
    .enfa-public .hp-store-logo--apple:before {
        width: 32px !important;
        height: 38px !important;
        transform: none !important;
    }
    .enfa-public .hp-store-logo--play i {
        width: 34px !important;
        height: 34px !important;
    }
    .enfa-public .hp-store-copy b {
        font-size: 23px !important;
    }
    .enfa-public .hp-store-copy small {
        font-size: 8px !important;
    }
}

/* === ENFA FIX V4 2026-10-07: vector store marks + responsive sizing + local city contrast === */
.enfa-public #hp-local-title strong {
    background: linear-gradient(
        100deg,
        #1267e8 0%,
        #3d61f0 45%,
        #7130e8 100%
    ) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    text-shadow: none !important;
}
.enfa-public .hp-download-badges {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    width: min(100%, 620px) !important;
}
.enfa-public .hp-store-badge {
    height: 92px !important;
    min-height: 92px !important;
    padding: 10px 14px !important;
    gap: 13px !important;
    border-radius: 20px !important;
}
.enfa-public .hp-store-logo {
    width: 62px !important;
    height: 62px !important;
    flex: 0 0 62px !important;
    border-radius: 16px !important;
    padding: 10px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}
.enfa-public .hp-store-logo img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
}
.enfa-public .hp-store-logo--apple:before,
.enfa-public .hp-store-logo--play i {
    display: none !important;
    content: none !important;
}
.enfa-public .hp-store-logo--play {
    padding: 9px !important;
}
.enfa-public .hp-store-copy {
    padding-right: 34px !important;
    gap: 3px !important;
    position: relative !important;
}
.enfa-public .hp-store-copy small {
    font-size: 9px !important;
    letter-spacing: 0.17em !important;
    line-height: 1.1 !important;
}
.enfa-public .hp-store-copy b {
    font-size: 25px !important;
    line-height: 1 !important;
    letter-spacing: -0.04em !important;
}
.enfa-public .hp-store-copy:after {
    width: 29px !important;
    height: 29px !important;
    font-size: 25px !important;
    right: 0 !important;
}
.enfa-public .enfa-footer-stores {
    gap: 10px !important;
}
.enfa-public .enfa-footer-stores a.enfa-store-mini {
    height: 58px !important;
    min-height: 58px !important;
    padding: 7px 10px !important;
    gap: 8px !important;
    border-radius: 14px !important;
}
.enfa-public .enfa-store-mini-icon {
    display: grid !important;
    place-items: center !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    flex: 0 0 38px !important;
    border-radius: 10px !important;
    padding: 6px !important;
    box-sizing: border-box !important;
    position: relative !important;
    border: 0 !important;
    margin: 0 !important;
    background: linear-gradient(
        145deg,
        #0bdde8,
        #278af5 50%,
        #812cf5
    ) !important;
}
.enfa-public .enfa-store-mini-icon--play {
    background: #07152e !important;
    border: 1px solid rgba(42, 184, 255, 0.65) !important;
}
.enfa-public .enfa-store-mini-icon img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
}
.enfa-public .enfa-store-mini-icon:before,
.enfa-public .enfa-store-mini-icon:after {
    display: none !important;
    content: none !important;
}
.enfa-public .enfa-store-mini small {
    font-size: 6.5px !important;
    letter-spacing: 0.09em !important;
    line-height: 1.05 !important;
}
.enfa-public .enfa-store-mini strong {
    font-size: 13px !important;
    line-height: 1.05 !important;
}
@media (max-width: 1100px) {
    .enfa-public .hp-download-badges {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        max-width: 620px !important;
    }
}
@media (max-width: 760px) {
    .enfa-public .hp-download-badges {
        grid-template-columns: 1fr !important;
        max-width: 330px !important;
    }
    .enfa-public .hp-store-badge {
        height: 84px !important;
        min-height: 84px !important;
    }
    .enfa-public .hp-store-logo {
        width: 56px !important;
        height: 56px !important;
        flex-basis: 56px !important;
    }
    .enfa-public .hp-store-copy b {
        font-size: 23px !important;
    }
}
@media (max-width: 520px) {
    .enfa-public .hp-store-badge {
        height: 78px !important;
        min-height: 78px !important;
        padding: 8px 11px !important;
        border-radius: 17px !important;
    }
    .enfa-public .hp-store-logo {
        width: 50px !important;
        height: 50px !important;
        flex-basis: 50px !important;
        border-radius: 13px !important;
        padding: 8px !important;
    }
    .enfa-public .hp-store-copy small {
        font-size: 7.5px !important;
    }
    .enfa-public .hp-store-copy b {
        font-size: 20px !important;
    }
    .enfa-public .hp-store-copy:after {
        width: 25px !important;
        height: 25px !important;
        font-size: 22px !important;
    }
    .enfa-public .enfa-footer-stores {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        max-width: 100% !important;
    }
    .enfa-public .enfa-footer-stores a.enfa-store-mini {
        height: 54px !important;
        min-height: 54px !important;
        padding: 6px 8px !important;
    }
    .enfa-public .enfa-store-mini-icon {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        flex-basis: 34px !important;
        padding: 5px !important;
    }
    .enfa-public .enfa-store-mini strong {
        font-size: 12px !important;
    }
}

/* === ENFA SERVICES V2 + AUTONOMY BAND 2026-10-07 === */
.enfa-public .hp-autonomy-band {
    position: relative;
    padding: 0 0 18px;
    background: linear-gradient(180deg, rgba(250, 253, 255, 0.35), #fff);
    overflow: hidden;
}
.enfa-public .hp-autonomy-band .hp-wrap {
    min-height: 92px;
    display: flex;
    align-items: center;
    gap: 20px;
    padding-top: 12px;
    padding-bottom: 12px;
    border-top: 1px solid rgba(13, 197, 220, 0.15);
    border-bottom: 1px solid rgba(91, 62, 238, 0.11);
}
.enfa-public .hp-autonomy-mark {
    font:
        900 62px/1 Georgia,
        serif;
    background: linear-gradient(135deg, #0dcbd9, #6839f5);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    opacity: 0.95;
    transform: translateY(-4px);
}
.enfa-public .hp-autonomy-band p {
    margin: 0;
    max-width: 1040px;
    color: #132e67;
    font-size: clamp(17px, 1.25vw, 22px);
    line-height: 1.45;
    font-weight: 600;
    letter-spacing: -0.015em;
}
.enfa-public .hp-autonomy-band p strong {
    color: #0b2359;
    font-weight: 850;
}
.enfa-public .hp-autonomy-line {
    height: 3px;
    flex: 1;
    min-width: 60px;
    border-radius: 99px;
    background: linear-gradient(90deg, #11cbd8, #347ff2, #6e35f4);
    box-shadow: 0 0 18px rgba(42, 126, 242, 0.25);
}
.enfa-services-v2 {
    --navy: #09235b;
    --muted: #61739b;
    --cyan: #0bcbd8;
    --blue: #267cf1;
    --violet: #7337f5;
    background: #fff;
    color: var(--navy);
    overflow: hidden;
}
.enfa-services-v2 .sv-shell {
    width: min(1420px, calc(100% - 72px));
    margin-inline: auto;
}
.enfa-services-v2 .sv-hero {
    position: relative;
    padding: 70px 0 28px;
    background: linear-gradient(180deg, #fff 0%, #fbfdff 76%, #f4fbff 100%);
}
.enfa-services-v2 .sv-hero-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(
            circle at 70% 34%,
            rgba(7, 211, 226, 0.12),
            transparent 24%
        ),
        radial-gradient(
            circle at 91% 48%,
            rgba(116, 55, 245, 0.12),
            transparent 24%
        );
}
.enfa-services-v2 .sv-hero-grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(480px, 0.88fr) minmax(560px, 1.12fr);
    min-height: 430px;
    align-items: center;
}
.enfa-services-v2 .sv-hero-copy {
    position: relative;
    z-index: 3;
    padding: 18px 10px 52px 0;
}
.enfa-services-v2 .sv-eyebrow {
    display: block;
    margin-bottom: 14px;
    color: #0abbd0;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.28em;
}
.enfa-services-v2 .sv-hero h1 {
    margin: 0;
    max-width: 700px;
    color: #071f58;
    font-size: clamp(48px, 4.2vw, 76px);
    line-height: 0.94;
    letter-spacing: -0.055em;
    font-weight: 900;
}
.enfa-services-v2 .sv-hero h1 span {
    background: linear-gradient(100deg, #0ccbd7, #2785f1 55%, #7336f4);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.enfa-services-v2 .sv-hero blockquote {
    position: relative;
    margin: 22px 0 12px;
    padding-left: 18px;
    max-width: 720px;
    color: #173a79;
    font-size: clamp(18px, 1.4vw, 23px);
    line-height: 1.38;
    font-weight: 700;
    font-style: normal;
}
.enfa-services-v2 .sv-hero blockquote:before {
    content: "“";
    position: absolute;
    left: 0;
    top: -6px;
    color: #563cf1;
    font-size: 34px;
    font-weight: 900;
}
.enfa-services-v2 .sv-hero-copy > p {
    max-width: 700px;
    margin: 0;
    color: #61739b;
    font-size: 18px;
    line-height: 1.55;
    font-weight: 500;
}
.enfa-services-v2 .sv-actions {
    display: flex;
    gap: 18px;
    margin-top: 24px;
    flex-wrap: wrap;
}
.enfa-services-v2 .sv-btn {
    min-width: 265px;
    height: 58px;
    padding: 0 22px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    text-decoration: none !important;
    font-size: 16px;
    font-weight: 850;
    position: relative;
    overflow: hidden;
    transition: 0.28s ease;
}
.enfa-services-v2 .sv-btn b {
    font-size: 29px;
    line-height: 1;
    margin-left: auto;
}
.enfa-services-v2 .sv-btn-icon {
    font-size: 20px;
}
.enfa-services-v2 .sv-btn-primary {
    color: #fff !important;
    background: linear-gradient(110deg, #09ccd6, #2681f2 55%, #7636f5);
    box-shadow: 0 14px 30px rgba(46, 112, 236, 0.23);
}
.enfa-services-v2 .sv-btn-secondary {
    color: #0b2865 !important;
    background: rgba(255, 255, 255, 0.9);
    border: 1.5px solid #536cc6;
}
.enfa-services-v2 .sv-btn:after {
    content: "";
    position: absolute;
    inset: -40% auto -40% -45%;
    width: 30%;
    transform: skewX(-20deg);
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.72),
        transparent
    );
    transition: left 0.55s ease;
}
.enfa-services-v2 .sv-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 34px rgba(45, 109, 236, 0.27);
}
.enfa-services-v2 .sv-btn:hover:after {
    left: 125%;
}
.enfa-services-v2 .sv-hero-visual {
    position: absolute;
    right: max(-3vw, -45px);
    top: -70px;
    width: 62%;
    height: 520px;
    overflow: hidden;
    z-index: 1;
    mask-image: linear-gradient(90deg, transparent 0%, #000 23%, #000 100%);
    -webkit-mask-image: linear-gradient(
        90deg,
        transparent 0%,
        #000 23%,
        #000 100%
    );
}
.enfa-services-v2 .sv-hero-visual:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.92) 0%,
        rgba(255, 255, 255, 0.18) 28%,
        transparent 50%
    );
}
.enfa-services-v2 .sv-hero-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 53% center;
    filter: saturate(1.04) brightness(1.06);
}
.enfa-services-v2 .sv-service-cards {
    position: relative;
    z-index: 5;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-top: -20px;
}
.enfa-services-v2 .sv-card {
    min-height: 250px;
    padding: 22px 28px 18px;
    text-align: center;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(36, 104, 221, 0.09);
    border-radius: 24px;
    box-shadow: 0 18px 42px rgba(27, 61, 118, 0.09);
    backdrop-filter: blur(12px);
    transition: 0.3s ease;
}
.enfa-services-v2 .sv-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 22px 50px rgba(38, 102, 218, 0.15);
}
.enfa-services-v2 .sv-card-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 10px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: radial-gradient(
        circle,
        #fff 34%,
        rgba(13, 203, 216, 0.13) 35%,
        rgba(115, 55, 245, 0.1)
    );
    box-shadow: 0 9px 22px rgba(52, 104, 224, 0.13);
}
.enfa-services-v2 .sv-card-icon svg {
    width: 39px;
    height: 39px;
    fill: none;
    stroke: url(#none);
    stroke: #146fe4;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.enfa-services-v2 .sv-card:nth-child(even) .sv-card-icon svg {
    stroke: #6637f3;
}
.enfa-services-v2 .sv-card h3 {
    margin: 4px 0 7px;
    color: #081f59;
    font-size: 20px;
    line-height: 1.08;
    font-weight: 900;
}
.enfa-services-v2 .sv-card p {
    margin: 0 auto;
    color: #7181a6;
    font-size: 14px;
    line-height: 1.38;
    max-width: 260px;
}
.enfa-services-v2 .sv-card > a {
    width: 38px;
    height: 38px;
    margin: 14px auto 0;
    display: grid;
    place-items: center;
    border: 1px solid #b8c9ff;
    border-radius: 50%;
    color: #234bea;
    text-decoration: none !important;
    font-size: 21px;
    background: #fff;
    box-shadow: 0 5px 12px rgba(75, 66, 238, 0.13);
    transition: 0.25s;
}
.enfa-services-v2 .sv-card > a:hover {
    transform: translateX(3px);
    color: #fff;
    background: linear-gradient(135deg, #0ccbd8, #6738f4);
}
.enfa-services-v2 .sv-coverage {
    padding: 0 0 72px;
    background: #f8fcff;
}
.enfa-services-v2 .sv-coverage-inner {
    min-height: 148px;
    border-radius: 24px;
    padding: 28px 32px 26px 38px;
    display: grid;
    grid-template-columns: 1.25fr 0.75fr auto;
    align-items: center;
    gap: 20px;
    color: #fff;
    background: linear-gradient(
        105deg,
        #0bcbd5 0%,
        #087fe8 42%,
        #253bdc 67%,
        #8131ef 100%
    );
    box-shadow: 0 18px 42px rgba(38, 81, 211, 0.18);
    overflow: hidden;
    position: relative;
}
.enfa-services-v2 .sv-coverage small {
    font-size: 11px;
    letter-spacing: 0.18em;
    font-weight: 900;
}
.enfa-services-v2 .sv-coverage h2 {
    font-size: 35px;
    line-height: 1.04;
    margin: 8px 0 4px;
    color: #fff;
    font-weight: 900;
    letter-spacing: -0.035em;
}
.enfa-services-v2 .sv-coverage p {
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 16px;
}
.enfa-services-v2 .sv-route-art {
    height: 100px;
    position: relative;
    opacity: 0.78;
}
.enfa-services-v2 .sv-route-art i {
    position: absolute;
    width: 150px;
    height: 65px;
    left: 25px;
    top: 20px;
    border: 3px solid rgba(255, 255, 255, 0.55);
    border-color: transparent transparent rgba(255, 255, 255, 0.65)
        rgba(255, 255, 255, 0.65);
    border-radius: 50%;
    transform: rotate(-12deg);
}
.enfa-services-v2 .sv-route-art span,
.enfa-services-v2 .sv-route-art b {
    position: absolute;
    font-size: 42px;
    text-shadow: 0 5px 18px rgba(0, 0, 0, 0.18);
}
.enfa-services-v2 .sv-route-art span {
    left: 10px;
    top: 3px;
    color: #67fff3;
}
.enfa-services-v2 .sv-route-art b {
    right: 12px;
    bottom: 3px;
    color: #f2baff;
}
.enfa-services-v2 .sv-coverage-btn {
    min-width: 250px;
    height: 60px;
    padding: 0 22px;
    border-radius: 30px;
    background: #fff;
    color: #1430a5 !important;
    text-decoration: none !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-weight: 850;
    box-shadow: 0 12px 30px rgba(17, 26, 120, 0.18);
    transition: 0.25s;
}
.enfa-services-v2 .sv-coverage-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 34px rgba(17, 26, 120, 0.25);
}
@media (max-width: 1100px) {
    .enfa-services-v2 .sv-shell {
        width: min(100% - 40px, 1000px);
    }
    .enfa-services-v2 .sv-hero-grid {
        grid-template-columns: 1fr;
        min-height: 650px;
    }
    .enfa-services-v2 .sv-hero-copy {
        max-width: 680px;
    }
    .enfa-services-v2 .sv-hero-visual {
        top: 250px;
        right: -80px;
        width: 82%;
        height: 410px;
        opacity: 0.78;
    }
    .enfa-services-v2 .sv-service-cards {
        grid-template-columns: repeat(2, 1fr);
    }
    .enfa-services-v2 .sv-coverage-inner {
        grid-template-columns: 1fr auto;
    }
    .enfa-services-v2 .sv-route-art {
        display: none;
    }
}
@media (max-width: 680px) {
    .enfa-public .hp-autonomy-band .hp-wrap {
        gap: 12px;
        min-height: 80px;
    }
    .enfa-public .hp-autonomy-mark {
        font-size: 45px;
    }
    .enfa-public .hp-autonomy-line {
        display: none;
    }
    .enfa-public .hp-autonomy-band p {
        font-size: 15px;
    }
    .enfa-services-v2 .sv-shell {
        width: calc(100% - 28px);
    }
    .enfa-services-v2 .sv-hero {
        padding-top: 38px;
    }
    .enfa-services-v2 .sv-hero-grid {
        min-height: auto;
        padding-bottom: 255px;
    }
    .enfa-services-v2 .sv-hero h1 {
        font-size: 43px;
    }
    .enfa-services-v2 .sv-hero blockquote {
        font-size: 17px;
    }
    .enfa-services-v2 .sv-hero-copy > p {
        font-size: 16px;
    }
    .enfa-services-v2 .sv-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
    .enfa-services-v2 .sv-btn {
        min-width: 0;
        width: 100%;
    }
    .enfa-services-v2 .sv-hero-visual {
        top: auto;
        bottom: 0;
        right: -65px;
        width: 115%;
        height: 290px;
        opacity: 0.72;
    }
    .enfa-services-v2 .sv-service-cards {
        grid-template-columns: 1fr;
        margin-top: 0;
    }
    .enfa-services-v2 .sv-card {
        min-height: 220px;
    }
    .enfa-services-v2 .sv-coverage {
        padding-top: 22px;
    }
    .enfa-services-v2 .sv-coverage-inner {
        grid-template-columns: 1fr;
        padding: 26px 22px;
    }
    .enfa-services-v2 .sv-coverage h2 {
        font-size: 29px;
    }
    .enfa-services-v2 .sv-coverage-btn {
        width: 100%;
        min-width: 0;
    }
}

/* === ENFA SERVICES V2.1 — HERO SAFE AREA BELOW FLOATING NAV 2026-10-07 === */
.enfa-services-v2 .sv-hero {
    padding-top: 128px;
}
.enfa-services-v2 .sv-hero-grid {
    align-items: start;
    min-height: 500px;
}
.enfa-services-v2 .sv-hero-copy {
    padding-top: 24px;
    padding-bottom: 46px;
}
.enfa-services-v2 .sv-eyebrow {
    margin-bottom: 16px;
}
.enfa-services-v2 .sv-hero-visual {
    top: -128px;
    height: 620px;
}
@media (max-width: 1100px) {
    .enfa-services-v2 .sv-hero {
        padding-top: 112px;
    }
    .enfa-services-v2 .sv-hero-grid {
        min-height: 710px;
    }
    .enfa-services-v2 .sv-hero-copy {
        padding-top: 18px;
    }
    .enfa-services-v2 .sv-hero-visual {
        top: 290px;
        height: 430px;
    }
}
@media (max-width: 680px) {
    .enfa-services-v2 .sv-hero {
        padding-top: 96px;
    }
    .enfa-services-v2 .sv-hero-grid {
        min-height: auto;
        padding-bottom: 275px;
    }
    .enfa-services-v2 .sv-hero-copy {
        padding-top: 10px;
        padding-bottom: 30px;
    }
    .enfa-services-v2 .sv-hero-visual {
        top: auto;
        bottom: 0;
        height: 300px;
    }
}

/* === ENFA SERVICE AREAS V2 2026-10-07 === */
.enfa-areas-v2 {
    background: #f9fcff;
    color: #071f58;
    overflow: hidden;
}
.enfa-areas-v2 .sa-shell {
    width: min(1420px, calc(100% - 72px));
    margin-inline: auto;
}
.enfa-areas-v2 .sa-hero {
    position: relative;
    padding: 132px 0 22px;
    background: linear-gradient(180deg, #fff 0%, #f9fdff 72%, #effaff 100%);
}
.enfa-areas-v2 .sa-hero-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(
            circle at 76% 24%,
            rgba(8, 201, 220, 0.12),
            transparent 24%
        ),
        radial-gradient(
            circle at 94% 45%,
            rgba(111, 54, 245, 0.12),
            transparent 25%
        );
}
.enfa-areas-v2 .sa-hero-grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(480px, 0.9fr) minmax(600px, 1.1fr);
    min-height: 390px;
    align-items: center;
}
.enfa-areas-v2 .sa-copy {
    position: relative;
    z-index: 4;
    padding: 0 0 30px;
}
.enfa-areas-v2 .sa-eyebrow {
    display: block;
    margin-bottom: 16px;
    color: #128fef;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.29em;
}
.enfa-areas-v2 .sa-eyebrow::first-letter {
    color: #0bcbd5;
}
.enfa-areas-v2 .sa-copy h1 {
    margin: 0;
    max-width: 690px;
    color: #071f58;
    font-size: clamp(50px, 4.3vw, 76px);
    line-height: 0.96;
    letter-spacing: -0.055em;
    font-weight: 950;
}
.enfa-areas-v2 .sa-copy h1 span {
    background: linear-gradient(100deg, #0acbd8 0%, #2788ef 52%, #7739f4 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.enfa-areas-v2 .sa-copy > p {
    max-width: 670px;
    margin: 22px 0 0;
    color: #6c7fa7;
    font-size: 18px;
    line-height: 1.5;
    font-weight: 500;
}
.enfa-areas-v2 .sa-actions {
    display: flex;
    gap: 16px;
    margin-top: 24px;
    flex-wrap: wrap;
}
.enfa-areas-v2 .sa-btn {
    height: 58px;
    min-width: 260px;
    padding: 0 20px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    gap: 13px;
    text-decoration: none !important;
    font-size: 16px;
    font-weight: 850;
    position: relative;
    overflow: hidden;
    transition: 0.28s ease;
}
.enfa-areas-v2 .sa-btn b {
    font-size: 28px;
    line-height: 1;
    margin-left: auto;
}
.enfa-areas-v2 .sa-primary {
    color: #fff !important;
    background: linear-gradient(110deg, #09cbd6, #2683ef 55%, #7838f5);
    box-shadow: 0 14px 30px rgba(46, 112, 236, 0.22);
}
.enfa-areas-v2 .sa-secondary {
    color: #0b2865 !important;
    background: rgba(255, 255, 255, 0.92);
    border: 1.5px solid #536cc6;
}
.enfa-areas-v2 .sa-btn:after {
    content: "";
    position: absolute;
    inset: -45% auto -45% -45%;
    width: 28%;
    transform: skewX(-20deg);
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.8),
        transparent
    );
    transition: left 0.55s ease;
}
.enfa-areas-v2 .sa-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 17px 34px rgba(45, 109, 236, 0.27);
}
.enfa-areas-v2 .sa-btn:hover:after {
    left: 125%;
}
.enfa-areas-v2 .sa-visual {
    position: absolute;
    z-index: 1;
    right: max(-3vw, -50px);
    top: -132px;
    width: 63%;
    height: 530px;
    overflow: hidden;
    mask-image: linear-gradient(90deg, transparent 0%, #000 20%, #000 100%);
    -webkit-mask-image: linear-gradient(
        90deg,
        transparent 0%,
        #000 20%,
        #000 100%
    );
}
.enfa-areas-v2 .sa-visual:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        #fff 0%,
        rgba(255, 255, 255, 0.34) 24%,
        transparent 48%
    );
}
.enfa-areas-v2 .sa-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(1.08) brightness(1.07);
}
.enfa-areas-v2 .sa-map-pin {
    position: absolute;
    z-index: 2;
    color: #6337f4;
    font-size: 34px;
    text-shadow: 0 7px 16px rgba(55, 54, 225, 0.3);
}
.enfa-areas-v2 .sa-map-pin.p1 {
    top: 115px;
    left: 47%;
}
.enfa-areas-v2 .sa-map-pin.p2 {
    top: 170px;
    left: 63%;
    color: #0bcbd7;
}
.enfa-areas-v2 .sa-map-pin.p3 {
    top: 92px;
    right: 8%;
    font-size: 52px;
}
.enfa-areas-v2 .sa-location-grid {
    position: relative;
    z-index: 6;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-top: -6px;
}
.enfa-areas-v2 .sa-location-card {
    min-height: 130px;
    padding: 16px;
    display: grid;
    grid-template-columns: 100px 1fr 42px;
    align-items: center;
    gap: 14px;
    border: 1px solid rgba(42, 102, 207, 0.1);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 15px 36px rgba(32, 65, 121, 0.08);
    backdrop-filter: blur(12px);
    transition: 0.28s ease;
}
.enfa-areas-v2 .sa-location-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 42px rgba(42, 99, 210, 0.14);
}
.enfa-areas-v2 .sa-city-thumb {
    width: 100px;
    height: 96px;
    border-radius: 20px;
    display: grid;
    place-items: center;
    background: radial-gradient(
        circle at 50% 38%,
        #fff 0 24%,
        #dff7ff 25% 55%,
        #c9eaff 56% 100%
    );
    overflow: hidden;
}
.enfa-areas-v2 .sa-city-thumb span {
    font-size: 42px;
    color: #1589ec;
}
.enfa-areas-v2 .sa-city-thumb.prereg span {
    color: #6d38f3;
}
.enfa-areas-v2 .sa-city-info {
    min-width: 0;
}
.enfa-areas-v2 .sa-status {
    display: inline-flex;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 850;
    line-height: 1;
}
.enfa-areas-v2 .sa-status.available {
    color: #15843c;
    background: #dff9e8;
}
.enfa-areas-v2 .sa-status.upcoming {
    color: #ad6a00;
    background: #fff0c9;
}
.enfa-areas-v2 .sa-status.prereg {
    color: #6230e4;
    background: #eee6ff;
}
.enfa-areas-v2 .sa-city-info h3 {
    margin: 9px 0 3px;
    color: #071f58;
    font-size: 18px;
    font-weight: 900;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.enfa-areas-v2 .sa-city-info p {
    margin: 0;
    color: #7585a9;
    font-size: 13px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.enfa-areas-v2 .sa-city-arrow {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid #d5ddff;
    border-radius: 50%;
    background: #fff;
    color: #2946ed !important;
    text-decoration: none !important;
    font-size: 27px;
    box-shadow: 0 6px 15px rgba(62, 70, 220, 0.12);
}
.enfa-areas-v2 .sa-expansion {
    padding: 18px 0 72px;
    background: linear-gradient(180deg, #effaff, #fff);
}
.enfa-areas-v2 .sa-expansion-inner {
    min-height: 145px;
    padding: 25px 32px 24px 38px;
    display: grid;
    grid-template-columns: 1.25fr 0.65fr auto;
    align-items: center;
    gap: 20px;
    border-radius: 24px;
    color: #fff;
    background: linear-gradient(
        105deg,
        #08cbd5 0%,
        #087fe8 41%,
        #283bdc 66%,
        #8432ef 100%
    );
    box-shadow: 0 18px 42px rgba(38, 81, 211, 0.18);
    overflow: hidden;
    position: relative;
}
.enfa-areas-v2 .sa-expansion small {
    font-size: 11px;
    letter-spacing: 0.2em;
    font-weight: 900;
}
.enfa-areas-v2 .sa-expansion h2 {
    margin: 7px 0 3px;
    color: #fff;
    font-size: 35px;
    line-height: 1.04;
    font-weight: 900;
    letter-spacing: -0.035em;
}
.enfa-areas-v2 .sa-expansion p {
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 16px;
}
.enfa-areas-v2 .sa-expansion-art {
    height: 95px;
    position: relative;
    opacity: 0.8;
}
.enfa-areas-v2 .sa-expansion-art i {
    position: absolute;
    width: 170px;
    height: 62px;
    left: 0;
    top: 25px;
    border: 3px solid rgba(255, 255, 255, 0.55);
    border-color: transparent transparent rgba(255, 255, 255, 0.65)
        rgba(255, 255, 255, 0.65);
    border-radius: 50%;
    transform: rotate(-10deg);
}
.enfa-areas-v2 .sa-expansion-art span,
.enfa-areas-v2 .sa-expansion-art b {
    position: absolute;
    font-size: 40px;
}
.enfa-areas-v2 .sa-expansion-art span {
    left: 5px;
    top: 0;
    color: #66fff4;
}
.enfa-areas-v2 .sa-expansion-art b {
    right: 8px;
    bottom: 0;
    color: #e9b4ff;
}
.enfa-areas-v2 .sa-expansion-btn {
    min-width: 245px;
    height: 60px;
    padding: 0 22px;
    border-radius: 18px;
    background: #fff;
    color: #1731a5 !important;
    text-decoration: none !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    font-weight: 850;
    box-shadow: 0 12px 30px rgba(17, 26, 120, 0.18);
    transition: 0.25s;
}
.enfa-areas-v2 .sa-expansion-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 34px rgba(17, 26, 120, 0.25);
}
@media (max-width: 1100px) {
    .enfa-areas-v2 .sa-shell {
        width: min(100% - 40px, 1000px);
    }
    .enfa-areas-v2 .sa-hero {
        padding-top: 112px;
    }
    .enfa-areas-v2 .sa-hero-grid {
        grid-template-columns: 1fr;
        min-height: 650px;
    }
    .enfa-areas-v2 .sa-copy {
        max-width: 680px;
    }
    .enfa-areas-v2 .sa-visual {
        top: 230px;
        right: -90px;
        width: 84%;
        height: 430px;
        opacity: 0.78;
    }
    .enfa-areas-v2 .sa-location-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .enfa-areas-v2 .sa-expansion-inner {
        grid-template-columns: 1fr auto;
    }
    .enfa-areas-v2 .sa-expansion-art {
        display: none;
    }
}
@media (max-width: 680px) {
    .enfa-areas-v2 .sa-shell {
        width: calc(100% - 28px);
    }
    .enfa-areas-v2 .sa-hero {
        padding-top: 96px;
    }
    .enfa-areas-v2 .sa-hero-grid {
        min-height: auto;
        padding-bottom: 270px;
    }
    .enfa-areas-v2 .sa-copy h1 {
        font-size: 43px;
    }
    .enfa-areas-v2 .sa-copy > p {
        font-size: 16px;
    }
    .enfa-areas-v2 .sa-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
    .enfa-areas-v2 .sa-btn {
        width: 100%;
        min-width: 0;
    }
    .enfa-areas-v2 .sa-visual {
        top: auto;
        bottom: 0;
        right: -65px;
        width: 120%;
        height: 300px;
        opacity: 0.72;
    }
    .enfa-areas-v2 .sa-location-grid {
        grid-template-columns: 1fr;
        margin-top: 0;
    }
    .enfa-areas-v2 .sa-location-card {
        grid-template-columns: 82px 1fr 38px;
        min-height: 112px;
    }
    .enfa-areas-v2 .sa-city-thumb {
        width: 82px;
        height: 78px;
    }
    .enfa-areas-v2 .sa-expansion {
        padding-top: 20px;
    }
    .enfa-areas-v2 .sa-expansion-inner {
        grid-template-columns: 1fr;
        padding: 26px 22px;
    }
    .enfa-areas-v2 .sa-expansion h2 {
        font-size: 29px;
    }
    .enfa-areas-v2 .sa-expansion-btn {
        width: 100%;
        min-width: 0;
    }
}

/* === ENFA FRANCHISES PREMIUM 2026-10-07 === */
.frx-page {
    background: #fff;
    color: #09245d;
    overflow: hidden;
}
.frx-wrap {
    width: min(1450px, calc(100% - 64px));
    margin-inline: auto;
}
.frx-hero {
    position: relative;
    min-height: 565px;
    margin-top: -118px;
    padding-top: 118px;
    background: linear-gradient(
        90deg,
        #fff 0%,
        #fff 30%,
        rgba(255, 255, 255, 0.88) 39%,
        rgba(255, 255, 255, 0.12) 63%,
        rgba(255, 255, 255, 0) 100%
    );
    isolation: isolate;
}
.frx-hero-art {
    position: absolute;
    z-index: -2;
    inset: 0 0 0 36%;
    background: url("../images/enfa-franchise-pro/franchise-hero.webp")
        center/cover no-repeat;
}
.frx-hero:after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            #fff 0 31%,
            rgba(255, 255, 255, 0.96) 37%,
            rgba(255, 255, 255, 0.58) 47%,
            transparent 65%
        ),
        linear-gradient(0deg, #fff 0, transparent 19%);
}
.frx-hero-inner {
    padding-top: 76px;
}
.frx-copy {
    width: min(600px, 45%);
}
.frx-eyebrow,
.frx-process-title > span,
.frx-cta > div > span {
    display: block;
    font-size: 13px;
    letter-spacing: 0.34em;
    font-weight: 900;
    color: #10b9d2;
}
.frx-copy h1 {
    margin: 12px 0 16px;
    font-size: clamp(54px, 5.1vw, 78px);
    line-height: 0.88;
    letter-spacing: -0.055em;
    color: #071d58;
}
.frx-copy h1 span {
    background: linear-gradient(90deg, #0ec6d4 5%, #268cf2 52%, #7a34ff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.frx-copy > p {
    max-width: 560px;
    margin: 0;
    color: #667a9c;
    font-size: 17px;
    line-height: 1.48;
}
.frx-actions {
    display: flex;
    gap: 14px;
    margin-top: 22px;
}
.frx-btn {
    min-height: 62px;
    border-radius: 20px;
    padding: 0 22px;
    display: flex;
    align-items: center;
    gap: 13px;
    text-decoration: none !important;
    font-weight: 900;
    box-shadow: 0 12px 28px rgba(37, 80, 150, 0.1);
    overflow: hidden;
    position: relative;
}
.frx-btn:after,
.frx-cta > a:after {
    content: "";
    position: absolute;
    top: -60%;
    left: -45%;
    width: 30%;
    height: 220%;
    transform: rotate(24deg);
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.75),
        transparent
    );
    transition: left 0.65s ease;
}
.frx-btn:hover:after,
.frx-cta > a:hover:after {
    left: 125%;
}
.frx-primary {
    color: #fff !important;
    background: linear-gradient(110deg, #10c9cf, #258af2 55%, #7938ff);
}
.frx-secondary {
    color: #09245d !important;
    border: 1.5px solid #3459a8;
    background: rgba(255, 255, 255, 0.92);
}
.frx-btn i {
    font-style: normal;
    font-size: 23px;
}
.frx-btn b {
    margin-left: auto;
    font-size: 21px;
}
.frx-note {
    display: block;
    margin-top: 12px;
    color: #6f7e99;
    font-size: 11px;
}
.frx-pillars {
    position: relative;
    margin-top: -10px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    z-index: 3;
}
.frx-pillars article {
    min-height: 165px;
    display: grid;
    grid-template-columns: 72px 1fr;
    grid-template-rows: auto 1fr;
    gap: 0 18px;
    padding: 22px 26px;
    border: 1px solid #e2e9f3;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 16px 42px rgba(25, 57, 104, 0.08);
}
.frx-icon {
    grid-row: 1/3;
    width: 64px;
    height: 64px;
    border-radius: 17px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #08ced0, #256ff2 58%, #7238ff);
    color: #fff;
    font-size: 30px;
    box-shadow: 0 10px 24px rgba(44, 109, 229, 0.22);
}
.frx-num {
    position: absolute;
    display: none;
}
.frx-pillars h3 {
    margin: 16px 0 5px;
    font-size: 20px;
    color: #09245d;
}
.frx-pillars p {
    margin: 0;
    color: #6d7e9e;
    line-height: 1.45;
}
.frx-process {
    margin-top: 16px;
    padding: 22px 34px;
    border: 1px solid #dce7f2;
    border-radius: 24px;
    background: linear-gradient(105deg, #f1fcff, #fff 47%, #f6f3ff);
    display: grid;
    grid-template-columns: 300px 1fr;
    align-items: center;
    gap: 28px;
}
.frx-process-title span {
    font-size: 11px;
}
.frx-process-title h2 {
    font-size: 28px;
    line-height: 1.1;
    margin: 10px 0 0;
    color: #09245d;
}
.frx-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.frx-steps > div {
    position: relative;
    padding-top: 52px;
}
.frx-steps > div:not(:last-child):after {
    content: "";
    position: absolute;
    top: 22px;
    left: 48px;
    right: -18px;
    border-top: 2px dotted #b8d8ed;
}
.frx-steps i {
    position: absolute;
    top: 0;
    left: 0;
    width: 44px;
    height: 44px;
    border: 2px solid #d6d8ff;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #fff;
    color: #643dff;
    font-style: normal;
    font-size: 20px;
    box-shadow: 0 6px 14px rgba(74, 63, 190, 0.08);
}
.frx-steps strong {
    display: block;
    color: #09245d;
    font-size: 15px;
}
.frx-steps p {
    margin: 5px 0 0;
    color: #71809b;
    font-size: 13px;
    line-height: 1.4;
}
.frx-territories {
    margin-top: 18px;
    padding: 28px;
    border-radius: 24px;
    background: #f7fbff;
}
.frx-territories h2 {
    margin: 6px 0 16px;
}
.frx-territory-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}
.frx-territory-grid article {
    display: flex;
    gap: 12px;
    padding: 14px;
    border: 1px solid #dfe9f2;
    border-radius: 15px;
    background: #fff;
}
.frx-territory-grid b {
    color: #19bdd2;
}
.frx-territory-grid div {
    display: flex;
    flex-direction: column;
}
.frx-territory-grid small {
    color: #74829a;
}
.frx-cta {
    position: relative;
    margin-top: 12px;
    margin-bottom: 38px;
    min-height: 124px;
    padding: 22px 28px 22px 34px;
    border-radius: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    overflow: hidden;
    color: #fff;
    background: linear-gradient(110deg, #0cc6ce, #137ee9 51%, #8137f5);
}
.frx-cta:before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(
            circle at 67% 100%,
            rgba(255, 255, 255, 0.2),
            transparent 30%
        ),
        linear-gradient(165deg, transparent 55%, rgba(0, 16, 93, 0.14));
}
.frx-cta > div,
.frx-cta > a {
    position: relative;
    z-index: 1;
}
.frx-cta > div > span {
    color: #fff;
    font-size: 10px;
}
.frx-cta h2 {
    margin: 6px 0 2px;
    font-size: 32px;
    letter-spacing: -0.025em;
}
.frx-cta p {
    margin: 0;
    font-size: 13px;
}
.frx-cta > a {
    min-width: 280px;
    padding: 18px 24px;
    border-radius: 18px;
    background: #fff;
    color: #14245d;
    text-decoration: none;
    font-weight: 900;
    text-align: center;
    overflow: hidden;
    box-shadow: 0 10px 24px rgba(30, 20, 120, 0.15);
}
.frx-cta > a b {
    float: right;
}
.frx-btn:hover,
.frx-cta > a:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 34px rgba(36, 84, 170, 0.2);
}
@media (max-width: 1050px) {
    .frx-wrap {
        width: min(94%, 1450px);
    }
    .frx-hero {
        min-height: 610px;
    }
    .frx-hero-art {
        left: 40%;
        background-position: 45% center;
    }
    .frx-copy {
        width: 52%;
    }
    .frx-copy h1 {
        font-size: 58px;
    }
    .frx-pillars {
        grid-template-columns: 1fr;
    }
    .frx-pillars article {
        min-height: 130px;
    }
    .frx-process {
        grid-template-columns: 1fr;
    }
    .frx-territory-grid {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 760px) {
    .frx-hero {
        margin-top: -92px;
        padding-top: 92px;
        min-height: auto;
        padding-bottom: 250px;
    }
    .frx-hero-art {
        left: 0;
        top: auto;
        height: 300px;
        background-position: 58% center;
    }
    .frx-hero:after {
        background: linear-gradient(
            #fff 0 58%,
            rgba(255, 255, 255, 0.95) 68%,
            rgba(255, 255, 255, 0.08) 100%
        );
    }
    .frx-hero-inner {
        padding-top: 48px;
    }
    .frx-copy {
        width: 100%;
    }
    .frx-copy h1 {
        font-size: 48px;
    }
    .frx-copy > p {
        font-size: 15px;
    }
    .frx-actions {
        flex-direction: column;
    }
    .frx-btn {
        width: 100%;
    }
    .frx-pillars {
        margin-top: 0;
    }
    .frx-steps {
        grid-template-columns: 1fr 1fr;
    }
    .frx-steps > div:after {
        display: none;
    }
    .frx-cta {
        align-items: flex-start;
        flex-direction: column;
    }
    .frx-cta > a {
        width: 100%;
        min-width: 0;
    }
    .frx-territory-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 480px) {
    .frx-wrap {
        width: calc(100% - 30px);
    }
    .frx-copy h1 {
        font-size: 42px;
    }
    .frx-eyebrow {
        font-size: 10px;
    }
    .frx-pillars article {
        grid-template-columns: 58px 1fr;
        padding: 18px;
    }
    .frx-icon {
        width: 52px;
        height: 52px;
    }
    .frx-pillars h3 {
        margin-top: 8px;
        font-size: 18px;
    }
    .frx-process {
        padding: 22px;
    }
    .frx-steps {
        grid-template-columns: 1fr;
    }
    .frx-cta h2 {
        font-size: 26px;
    }
}

/* ============================================================
   ENFA! — FRANQUICIAS PREMIUM
   2026-10-07
   - Hero detrás del menú
   - Contenido siempre debajo del menú
   - Aviso legal con respiración visual
   - Responsive desktop / tablet / mobile
   ============================================================ */

.frx-page {
    background: #fff;
    color: #09245d;
    overflow: hidden;
}

.frx-wrap {
    width: min(1450px, calc(100% - 64px));
    margin-inline: auto;
}

/* ============================================================
   HERO
   ============================================================ */

.frx-hero {
    position: relative;

    /*
     * El fondo del hero puede subir detrás del menú.
     * El contenido se compensa posteriormente mediante
     * .frx-hero-inner.
     */
    min-height: 565px;
    margin-top: -118px;
    padding-top: 118px;

    background: linear-gradient(
        90deg,
        #fff 0%,
        #fff 30%,
        rgba(255, 255, 255, 0.88) 39%,
        rgba(255, 255, 255, 0.12) 63%,
        rgba(255, 255, 255, 0) 100%
    );

    isolation: isolate;
}

/* Imagen de fondo */

.frx-hero-art {
    position: absolute;
    z-index: -2;

    inset: 0 0 0 36%;

    background: url("../images/enfa-franchise-pro/franchise-hero.webp") center /
        cover no-repeat;
}

/* Degradado para garantizar lectura */

.frx-hero::after {
    content: "";

    position: absolute;
    z-index: -1;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            #fff 0 31%,
            rgba(255, 255, 255, 0.96) 37%,
            rgba(255, 255, 255, 0.58) 47%,
            transparent 65%
        ),
        linear-gradient(0deg, #fff 0, transparent 19%);
}

/*
 * ZONA SEGURA DEL CONTENIDO
 *
 * IMPORTANTE:
 * El fondo sigue detrás del header,
 * pero ningún texto comienza detrás del menú.
 */

.frx-hero-inner {
    position: relative;
    z-index: 2;

    padding-top: 142px;
}

/* ============================================================
   HERO COPY
   ============================================================ */

.frx-copy {
    position: relative;
    z-index: 5;

    width: min(600px, 45%);
}

/* Eyebrow */

.frx-eyebrow,
.frx-process-title > span,
.frx-cta > div > span {
    display: block;

    font-size: 13px;
    letter-spacing: 0.34em;
    font-weight: 900;

    color: #10b9d2;
}

/* Título */

.frx-copy h1 {
    margin: 12px 0 16px;

    font-size: clamp(54px, 5.1vw, 78px);
    line-height: 0.88;

    letter-spacing: -0.055em;

    color: #071d58;
}

.frx-copy h1 span {
    background: linear-gradient(90deg, #0ec6d4 5%, #268cf2 52%, #7a34ff 100%);

    -webkit-background-clip: text;
    background-clip: text;

    color: transparent;
}

/* Descripción */

.frx-copy > p {
    max-width: 560px;

    margin: 0;

    color: #667a9c;

    font-size: 17px;
    line-height: 1.48;
}

/* ============================================================
   BOTONES HERO
   ============================================================ */

.frx-actions {
    display: flex;
    gap: 14px;

    margin-top: 22px;
}

.frx-btn {
    position: relative;

    min-height: 62px;

    padding: 0 22px;

    border-radius: 20px;

    display: flex;
    align-items: center;

    gap: 13px;

    text-decoration: none !important;

    font-weight: 900;

    overflow: hidden;

    box-shadow: 0 12px 28px rgba(37, 80, 150, 0.1);

    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease;
}

/* Efecto de brillo */

.frx-btn::after,
.frx-cta > a::after {
    content: "";

    position: absolute;

    top: -60%;
    left: -45%;

    width: 30%;
    height: 220%;

    transform: rotate(24deg);

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.75),
        transparent
    );

    transition: left 0.65s ease;
}

.frx-btn:hover::after,
.frx-cta > a:hover::after {
    left: 125%;
}

/* Primario */

.frx-primary {
    color: #fff !important;

    background: linear-gradient(110deg, #10c9cf, #258af2 55%, #7938ff);
}

/* Secundario */

.frx-secondary {
    color: #09245d !important;

    border: 1.5px solid #3459a8;

    background: rgba(255, 255, 255, 0.92);
}

/* Iconos */

.frx-btn i {
    font-style: normal;
    font-size: 23px;
}

.frx-btn b {
    margin-left: auto;

    font-size: 21px;
}

/* Hover */

.frx-btn:hover,
.frx-cta > a:hover {
    transform: translateY(-2px);

    box-shadow: 0 14px 34px rgba(36, 84, 170, 0.2);
}

/* ============================================================
   AVISO PRE-REGISTRO
   ============================================================ */

/*
 * Antes:
 * margin-top: 12px;
 *
 * Ahora el aviso tiene una zona visual propia para que
 * no quede pegado a los botones ni a las tarjetas.
 */

.frx-note {
    display: block;

    max-width: 590px;

    margin-top: 18px;
    margin-bottom: 34px;

    padding-left: 2px;

    color: #6f7e99;

    font-size: 12px;
    line-height: 1.55;
    font-weight: 500;
}

/* ============================================================
   PILARES
   ============================================================ */

.frx-pillars {
    position: relative;
    z-index: 3;

    /*
     * IMPORTANTE:
     * Se elimina el anterior margin-top:-10px.
     * Ese valor hacía que las tarjetas invadieran
     * visualmente el espacio del aviso.
     */

    margin-top: 16px;

    display: grid;
    grid-template-columns: repeat(3, 1fr);

    gap: 16px;
}

.frx-pillars article {
    min-height: 165px;

    display: grid;

    grid-template-columns: 72px 1fr;
    grid-template-rows: auto 1fr;

    gap: 0 18px;

    padding: 22px 26px;

    border: 1px solid #e2e9f3;
    border-radius: 22px;

    background: rgba(255, 255, 255, 0.95);

    box-shadow: 0 16px 42px rgba(25, 57, 104, 0.08);
}

/* Icono */

.frx-icon {
    grid-row: 1 / 3;

    width: 64px;
    height: 64px;

    border-radius: 17px;

    display: grid;
    place-items: center;

    background: linear-gradient(135deg, #08ced0, #256ff2 58%, #7238ff);

    color: #fff;

    font-size: 30px;

    box-shadow: 0 10px 24px rgba(44, 109, 229, 0.22);
}

.frx-num {
    position: absolute;

    display: none;
}

/* Textos */

.frx-pillars h3 {
    margin: 16px 0 5px;

    font-size: 20px;

    color: #09245d;
}

.frx-pillars p {
    margin: 0;

    color: #6d7e9e;

    line-height: 1.45;
}

/* ============================================================
   PROCESO
   ============================================================ */

.frx-process {
    margin-top: 16px;

    padding: 22px 34px;

    border: 1px solid #dce7f2;
    border-radius: 24px;

    background: linear-gradient(105deg, #f1fcff, #fff 47%, #f6f3ff);

    display: grid;

    grid-template-columns: 300px 1fr;

    align-items: center;

    gap: 28px;
}

.frx-process-title span {
    font-size: 11px;
}

.frx-process-title h2 {
    margin: 10px 0 0;

    font-size: 28px;
    line-height: 1.1;

    color: #09245d;
}

/* Pasos */

.frx-steps {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 24px;
}

.frx-steps > div {
    position: relative;

    padding-top: 52px;
}

.frx-steps > div:not(:last-child)::after {
    content: "";

    position: absolute;

    top: 22px;
    left: 48px;
    right: -18px;

    border-top: 2px dotted #b8d8ed;
}

.frx-steps i {
    position: absolute;

    top: 0;
    left: 0;

    width: 44px;
    height: 44px;

    border: 2px solid #d6d8ff;
    border-radius: 50%;

    display: grid;
    place-items: center;

    background: #fff;

    color: #643dff;

    font-style: normal;
    font-size: 20px;

    box-shadow: 0 6px 14px rgba(74, 63, 190, 0.08);
}

.frx-steps strong {
    display: block;

    color: #09245d;

    font-size: 15px;
}

.frx-steps p {
    margin: 5px 0 0;

    color: #71809b;

    font-size: 13px;
    line-height: 1.4;
}

/* ============================================================
   TERRITORIOS
   ============================================================ */

.frx-territories {
    margin-top: 18px;

    padding: 28px;

    border-radius: 24px;

    background: #f7fbff;
}

.frx-territories h2 {
    margin: 6px 0 16px;
}

.frx-territory-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 12px;
}

.frx-territory-grid article {
    display: flex;

    gap: 12px;

    padding: 14px;

    border: 1px solid #dfe9f2;
    border-radius: 15px;

    background: #fff;
}

.frx-territory-grid b {
    color: #19bdd2;
}

.frx-territory-grid div {
    display: flex;
    flex-direction: column;
}

.frx-territory-grid small {
    color: #74829a;
}

/* ============================================================
   CTA FINAL
   ============================================================ */

.frx-cta {
    position: relative;

    margin-top: 12px;
    margin-bottom: 38px;

    min-height: 124px;

    padding: 22px 28px 22px 34px;

    border-radius: 22px;

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 28px;

    overflow: hidden;

    color: #fff;

    background: linear-gradient(110deg, #0cc6ce, #137ee9 51%, #8137f5);
}

.frx-cta::before {
    content: "";

    position: absolute;

    inset: 0;

    background:
        radial-gradient(
            circle at 67% 100%,
            rgba(255, 255, 255, 0.2),
            transparent 30%
        ),
        linear-gradient(165deg, transparent 55%, rgba(0, 16, 93, 0.14));
}

.frx-cta > div,
.frx-cta > a {
    position: relative;

    z-index: 1;
}

.frx-cta > div > span {
    color: #fff;

    font-size: 10px;
}

.frx-cta h2 {
    margin: 6px 0 2px;

    font-size: 32px;

    letter-spacing: -0.025em;
}

.frx-cta p {
    margin: 0;

    font-size: 13px;
}

/* Botón CTA */

.frx-cta > a {
    position: relative;

    min-width: 280px;

    padding: 18px 24px;

    border-radius: 18px;

    background: #fff;

    color: #14245d;

    text-decoration: none;

    font-weight: 900;

    text-align: center;

    overflow: hidden;

    box-shadow: 0 10px 24px rgba(30, 20, 120, 0.15);

    transition:
        transform 0.22s ease,
        box-shadow 0.22s ease;
}

.frx-cta > a b {
    float: right;
}

/* ============================================================
   TABLET / LAPTOP
   ============================================================ */

@media (max-width: 1050px) {
    .frx-wrap {
        width: min(94%, 1450px);
    }

    .frx-hero {
        min-height: 610px;
    }

    .frx-hero-art {
        left: 40%;

        background-position: 45% center;
    }

    /*
     * Conservamos espacio seguro debajo del menú.
     */

    .frx-hero-inner {
        padding-top: 132px;
    }

    .frx-copy {
        width: 52%;
    }

    .frx-copy h1 {
        font-size: 58px;
    }

    /* Aviso */

    .frx-note {
        margin-top: 17px;
        margin-bottom: 30px;

        font-size: 12px;
    }

    /* Pilares */

    .frx-pillars {
        margin-top: 14px;

        grid-template-columns: 1fr;
    }

    .frx-pillars article {
        min-height: 130px;
    }

    /* Proceso */

    .frx-process {
        grid-template-columns: 1fr;
    }

    /* Territorios */

    .frx-territory-grid {
        grid-template-columns: 1fr 1fr;
    }
}

/* ============================================================
   MÓVIL / TABLET VERTICAL
   ============================================================ */

@media (max-width: 760px) {
    .frx-hero {
        margin-top: -92px;

        padding-top: 92px;
        padding-bottom: 250px;

        min-height: auto;
    }

    /* Imagen sigue siendo full hero */

    .frx-hero-art {
        left: 0;
        top: auto;

        height: 300px;

        background-position: 58% center;
    }

    /* Fade para separar contenido de fotografía */

    .frx-hero::after {
        background: linear-gradient(
            #fff 0 58%,
            rgba(255, 255, 255, 0.95) 68%,
            rgba(255, 255, 255, 0.08) 100%
        );
    }

    /*
     * Zona segura móvil.
     * El texto NO invade el header.
     */

    .frx-hero-inner {
        padding-top: 112px;
    }

    .frx-copy {
        width: 100%;
    }

    .frx-copy h1 {
        font-size: 48px;
    }

    .frx-copy > p {
        font-size: 15px;
    }

    /* Botones */

    .frx-actions {
        flex-direction: column;
    }

    .frx-btn {
        width: 100%;
    }

    /* Aviso */

    .frx-note {
        max-width: 100%;

        margin-top: 16px;
        margin-bottom: 26px;

        padding: 0 3px;

        font-size: 11.5px;
        line-height: 1.55;
    }

    /* Tarjetas */

    .frx-pillars {
        margin-top: 12px;
    }

    /* Pasos */

    .frx-steps {
        grid-template-columns: 1fr 1fr;
    }

    .frx-steps > div::after {
        display: none;
    }

    /* CTA */

    .frx-cta {
        align-items: flex-start;

        flex-direction: column;
    }

    .frx-cta > a {
        width: 100%;

        min-width: 0;
    }

    /* Territorios */

    .frx-territory-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   MÓVIL PEQUEÑO
   ============================================================ */

@media (max-width: 480px) {
    .frx-wrap {
        width: calc(100% - 30px);
    }

    .frx-copy h1 {
        font-size: 42px;
    }

    .frx-eyebrow {
        font-size: 10px;
    }

    /* Aviso legal */

    .frx-note {
        margin-top: 15px;
        margin-bottom: 24px;

        font-size: 11px;
        line-height: 1.5;
    }

    /* Pilares */

    .frx-pillars {
        margin-top: 10px;
    }

    .frx-pillars article {
        grid-template-columns: 58px 1fr;

        padding: 18px;
    }

    .frx-icon {
        width: 52px;
        height: 52px;
    }

    .frx-pillars h3 {
        margin-top: 8px;

        font-size: 18px;
    }

    /* Proceso */

    .frx-process {
        padding: 22px;
    }

    .frx-steps {
        grid-template-columns: 1fr;
    }

    /* CTA */

    .frx-cta h2 {
        font-size: 26px;
    }
}

/* ============================================================
   ACCESIBILIDAD
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
    .frx-btn,
    .frx-cta > a,
    .frx-btn::after,
    .frx-cta > a::after {
        transition: none !important;
    }
}

/* === ENFA LOCAL / COMERCIOS ALIADOS — PREMIUM 2026-10-07 === */
.local-pro-page {
    background: #fff;
    color: #07144d;
    overflow: hidden;
}
.local-pro-hero {
    position: relative;
    min-height: 860px;
    margin-top: -118px;
    padding-top: 118px;
    background: #eefaff;
}
.local-pro-visual {
    position: absolute;
    inset: 0 0 0 38%;
    background: url("../images/enfa-local-hero-reference.webp") center/cover
        no-repeat;
    z-index: 0;
}
.local-pro-wash {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            90deg,
            #fff 0%,
            rgba(255, 255, 255, 0.98) 32%,
            rgba(255, 255, 255, 0.76) 47%,
            rgba(255, 255, 255, 0.08) 68%,
            rgba(255, 255, 255, 0) 100%
        ),
        linear-gradient(
            0deg,
            rgba(255, 255, 255, 0.18),
            rgba(255, 255, 255, 0) 55%
        );
    z-index: 1;
}
.local-pro-inner {
    position: relative;
    z-index: 2;
    width: min(1640px, calc(100% - 9vw));
    margin: 0 auto;
    padding: 78px 0 54px;
}
.local-pro-copy {
    width: min(590px, 43%);
}
.local-pro-eyebrow {
    display: block;
    color: #08aebe;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.34em;
    margin-bottom: 18px;
}
.local-pro-copy h1 {
    font-size: clamp(3.4rem, 5vw, 5.6rem);
    line-height: 0.88;
    letter-spacing: -0.055em;
    margin: 0 0 20px;
    font-weight: 900;
    color: #07144d;
}
.local-pro-copy h1 span {
    background: linear-gradient(100deg, #00bfd1 0%, #168fea 46%, #783cff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.local-pro-copy p {
    max-width: 570px;
    margin: 0;
    color: #566783;
    font-size: 20px;
    line-height: 1.52;
}
.local-pro-filters {
    width: min(820px, 62%);
    display: grid;
    grid-template-columns: 1.55fr 1.05fr 1.08fr auto;
    gap: 14px;
    align-items: end;
    margin-top: 34px;
    padding: 18px;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.95);
    border-radius: 22px;
    box-shadow: 0 18px 48px rgba(14, 50, 95, 0.16);
    backdrop-filter: blur(16px);
}
.local-pro-filters label > span {
    display: block;
    margin: 0 0 7px;
    font-size: 11px;
    font-weight: 900;
    color: #42516c;
}
.local-pro-filters input,
.local-pro-filters select {
    width: 100%;
    height: 48px;
    border: 1px solid #d6e0eb;
    border-radius: 11px;
    background: #fff;
    color: #30405e;
    padding: 0 14px;
    font-weight: 600;
    outline: none;
}
.local-input-wrap {
    position: relative;
}
.local-input-wrap i {
    position: absolute;
    left: 14px;
    top: 12px;
    font-style: normal;
    color: #50647f;
    font-size: 20px;
}
.local-input-wrap input {
    padding-left: 39px;
}
.local-pro-submit {
    height: 48px;
    border: 0;
    border-radius: 11px;
    padding: 0 24px;
    color: #fff;
    font-weight: 900;
    background: linear-gradient(110deg, #05c7d2, #258eea 55%, #773cff);
    box-shadow: 0 10px 24px rgba(73, 71, 224, 0.25);
    cursor: pointer;
    transition: 0.25s;
}
.local-pro-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 32px rgba(28, 184, 228, 0.35);
}
.local-pro-clear {
    grid-column: 1/-1;
    color: #6249d8;
    font-size: 12px;
    font-weight: 800;
}
.local-pro-featured-grid {
    width: min(660px, 51%);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 20px;
}
.local-pro-card {
    overflow: hidden;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.9);
    border-radius: 22px;
    box-shadow: 0 18px 44px rgba(21, 45, 84, 0.16);
    transition: 0.25s;
}
.local-pro-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 54px rgba(21, 45, 84, 0.2);
}
.local-pro-card-media {
    display: block;
    height: 118px;
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #dff9ff, #f0eaff);
}
.local-pro-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.local-pro-placeholder {
    height: 100%;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #dffbff, #eee8ff);
}
.local-pro-placeholder span {
    width: 70px;
    height: 70px;
    border-radius: 20px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #04c7d2, #7540f8);
    color: #fff;
    font-size: 32px;
    font-weight: 900;
}
.local-pro-card-media b {
    position: absolute;
    right: 10px;
    top: 10px;
    padding: 6px 9px;
    border-radius: 999px;
    background: #fff;
    color: #6846df;
    font-size: 10px;
}
.local-pro-card-body {
    padding: 15px 17px 16px;
}
.local-pro-category {
    color: #06aeb9;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.local-pro-card h3 {
    margin: 5px 0 4px;
    font-size: 19px;
    color: #07144d;
}
.local-pro-place {
    margin: 0 0 10px;
    color: #697b98;
    font-size: 13px;
}
.local-pro-benefit {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 11px;
    background: #f1edff;
    color: #623cdb;
    font-size: 12px;
    font-weight: 900;
}
.local-pro-benefit i {
    font-style: normal;
    font-size: 18px;
}
.local-pro-empty {
    width: min(660px, 51%);
    margin-top: 20px;
    padding: 24px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 18px 44px rgba(21, 45, 84, 0.12);
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.local-pro-empty span {
    color: #687994;
}
.local-pro-cta {
    position: absolute;
    right: 0;
    bottom: 56px;
    width: min(760px, 52%);
    min-height: 142px;
    border-radius: 26px;
    padding: 28px 32px 28px 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    color: #fff;
    background: linear-gradient(110deg, #08c4c9 0%, #168fe9 52%, #7a32ef 100%);
    box-shadow: 0 22px 55px rgba(49, 91, 211, 0.24);
    overflow: hidden;
}
.local-pro-cta:before {
    content: "";
    position: absolute;
    inset: -80% 45% -80% -20%;
    background: linear-gradient(
        110deg,
        transparent,
        rgba(255, 255, 255, 0.22),
        transparent
    );
    transform: rotate(16deg);
}
.local-pro-cta > div,
.local-pro-cta > a {
    position: relative;
    z-index: 1;
}
.local-pro-cta h2 {
    margin: 0 0 6px;
    font-size: 28px;
    color: #fff;
}
.local-pro-cta p {
    margin: 0;
    max-width: 460px;
    font-size: 16px;
    line-height: 1.45;
    color: #fff;
}
.local-pro-cta > a {
    flex: 0 0 auto;
    min-width: 190px;
    padding: 17px 20px;
    border-radius: 16px;
    background: #fff;
    color: #25137f;
    font-weight: 900;
    text-align: center;
    box-shadow: 0 12px 28px rgba(20, 22, 84, 0.18);
    transition: 0.25s;
}
.local-pro-cta > a:hover {
    transform: translateY(-2px);
    box-shadow:
        0 0 0 3px rgba(255, 255, 255, 0.28),
        0 16px 34px rgba(28, 32, 100, 0.24);
}
.local-pro-cta > a span {
    margin-left: 12px;
}
.local-pro-more {
    width: min(1420px, 90vw);
    margin: 54px auto 24px;
}
.local-pro-more-head span {
    color: #08aebe;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.25em;
}
.local-pro-more-head h2 {
    margin: 8px 0 24px;
    font-size: 34px;
}
.local-pro-more-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}
.local-pro-mini-card {
    display: grid;
    grid-template-columns: 72px 1fr 44px;
    gap: 16px;
    align-items: center;
    padding: 15px;
    border: 1px solid #e7edf5;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(20, 45, 84, 0.07);
}
.local-pro-mini-logo {
    width: 72px;
    height: 72px;
    border-radius: 16px;
    overflow: hidden;
    background: #eff9fc;
    display: grid;
    place-items: center;
}
.local-pro-mini-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.local-pro-mini-logo span {
    font-size: 26px;
    font-weight: 900;
    color: #5b43dd;
}
.local-pro-mini-card small {
    color: #08aebe;
    font-weight: 900;
}
.local-pro-mini-card h3 {
    margin: 3px 0;
    font-size: 17px;
}
.local-pro-mini-card p {
    margin: 0;
    color: #72809a;
    font-size: 12px;
}
.local-pro-mini-card > a {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #f2efff;
    color: #623de0;
    font-weight: 900;
}
.local-pro-pagination {
    width: min(1420px, 90vw);
    margin: 20px auto 48px;
}
@media (max-width: 1180px) {
    .local-pro-hero {
        margin-top: -104px;
        padding-top: 104px;
    }
    .local-pro-inner {
        padding-top: 70px;
    }
    .local-pro-copy {
        width: 52%;
    }
    .local-pro-filters {
        width: 78%;
        grid-template-columns: 1.4fr 1fr 1fr auto;
    }
    .local-pro-featured-grid {
        width: 62%;
    }
    .local-pro-cta {
        width: 58%;
        bottom: 38px;
    }
    .local-pro-more-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 900px) {
    .local-pro-hero {
        margin-top: -92px;
        padding-top: 92px;
        min-height: auto;
        padding-bottom: 36px;
    }
    .local-pro-visual {
        inset: 0 0 auto 0;
        height: 520px;
        background-position: 62% center;
    }
    .local-pro-wash {
        background: linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.5),
            #fff 55%,
            #fff
        );
    }
    .local-pro-inner {
        width: min(90vw, 760px);
        padding-top: 110px;
    }
    .local-pro-copy {
        width: 100%;
        padding-top: 320px;
    }
    .local-pro-copy p {
        max-width: 100%;
    }
    .local-pro-filters {
        width: 100%;
        grid-template-columns: 1fr 1fr;
        margin-top: 26px;
    }
    .local-pro-submit {
        width: 100%;
    }
    .local-pro-featured-grid,
    .local-pro-empty {
        width: 100%;
    }
    .local-pro-cta {
        position: relative;
        right: auto;
        bottom: auto;
        width: 100%;
        margin-top: 22px;
    }
    .local-pro-more-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 620px) {
    .local-pro-hero {
        margin-top: -82px;
        padding-top: 82px;
    }
    .local-pro-inner {
        padding-top: 96px;
    }
    .local-pro-visual {
        height: 390px;
        background-position: 64% center;
    }
    .local-pro-copy {
        padding-top: 245px;
    }
    .local-pro-copy h1 {
        font-size: 3.35rem;
    }
    .local-pro-copy p {
        font-size: 16px;
    }
    .local-pro-filters {
        grid-template-columns: 1fr;
        padding: 14px;
    }
    .local-pro-featured-grid {
        grid-template-columns: 1fr;
    }
    .local-pro-card-media {
        height: 145px;
    }
    .local-pro-cta {
        padding: 24px;
        display: block;
    }
    .local-pro-cta h2 {
        font-size: 24px;
    }
    .local-pro-cta > a {
        display: block;
        margin-top: 18px;
        min-width: 0;
    }
    .local-pro-more {
        width: 90vw;
    }
    .local-pro-mini-card {
        grid-template-columns: 58px 1fr 38px;
    }
    .local-pro-mini-logo {
        width: 58px;
        height: 58px;
    }
}

/* === ENFA LOCAL DIRECTORY V2 · 16 MERCHANTS + ALIGNED ACTIONS 2026-10-07 === */
.local-pro-v2 .local-pro-hero {
    min-height: 720px;
}
.local-pro-v2 .local-pro-inner {
    padding-top: 92px;
    padding-bottom: 58px;
}
.local-pro-v2 .local-pro-copy {
    width: min(600px, 43%);
}
.local-pro-action-row {
    display: grid;
    grid-template-columns: minmax(680px, 1.18fr) minmax(480px, 0.82fr);
    gap: 22px;
    align-items: stretch;
    margin-top: 34px;
}
.local-pro-v2 .local-pro-filters {
    width: 100%;
    margin: 0;
    grid-template-columns: 1.5fr 1fr 1.08fr auto;
    align-items: end;
    align-content: center;
    min-height: 132px;
    padding: 20px;
}
.local-pro-submit-wrap {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.local-pro-submit-wrap > span {
    display: block;
    margin: 0 0 7px;
    font-size: 11px;
    line-height: 13px;
}
.local-pro-v2 .local-pro-submit {
    height: 48px;
    min-width: 112px;
}
.local-pro-v2 .local-pro-cta {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    min-height: 132px;
    margin: 0;
    padding: 24px 26px;
    align-self: stretch;
    border-radius: 22px;
}
.local-pro-v2 .local-pro-cta h2 {
    font-size: 25px;
}
.local-pro-v2 .local-pro-cta p {
    font-size: 14px;
}
.local-pro-v2 .local-pro-cta > a {
    min-width: 164px;
    padding: 15px 18px;
}
.local-directory {
    position: relative;
    z-index: 3;
    width: min(1480px, 90vw);
    margin: 0 auto;
    padding: 54px 0 64px;
    background: #fff;
}
.local-directory-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 24px;
    margin-bottom: 25px;
}
.local-directory-head span {
    color: #08aebe;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.25em;
}
.local-directory-head h2 {
    margin: 7px 0 0;
    font-size: clamp(30px, 3vw, 44px);
    letter-spacing: -0.035em;
    color: #07144d;
}
.local-directory-head p {
    margin: 0 0 5px;
    color: #71809a;
    font-size: 14px;
}
.local-directory-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}
.local-directory-card {
    overflow: hidden;
    border: 1px solid #e5edf5;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(19, 47, 88, 0.08);
    transition: 0.25s;
}
.local-directory-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 48px rgba(19, 47, 88, 0.14);
}
.local-directory-media {
    position: relative;
    display: block;
    height: 170px;
    overflow: hidden;
    background: linear-gradient(135deg, #e1faff, #f0eaff);
}
.local-directory-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.local-directory-media b {
    position: absolute;
    right: 12px;
    top: 12px;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: #6541dc;
    font-size: 10px;
    font-weight: 900;
}
.local-directory-body {
    padding: 17px 18px 18px;
}
.local-directory-body > span {
    color: #08aebe;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}
.local-directory-body h3 {
    margin: 6px 0 5px;
    font-size: 19px;
    color: #07144d;
}
.local-directory-body p {
    margin: 0 0 13px;
    color: #74829b;
    font-size: 13px;
}
.local-directory-body > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 13px;
    border-radius: 12px;
    background: #f2eeff;
    color: #603bdd;
    font-size: 12px;
}
.local-directory-body > a i {
    font-style: normal;
    font-size: 18px;
}
.local-directory-empty {
    padding: 34px;
    border: 1px solid #e7edf5;
    border-radius: 22px;
    background: #f8fbff;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.local-directory-empty span {
    color: #71809a;
}
.local-pro-v2 .local-pro-pagination {
    width: 100%;
    margin: 32px 0 0;
}
@media (max-width: 1250px) {
    .local-pro-action-row {
        grid-template-columns: 1fr;
    }
    .local-pro-v2 .local-pro-filters {
        width: min(900px, 100%);
    }
    .local-pro-v2 .local-pro-cta {
        width: min(900px, 100%);
    }
    .local-directory-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 900px) {
    .local-pro-v2 .local-pro-inner {
        padding-top: 110px;
    }
    .local-pro-action-row {
        margin-top: 26px;
    }
    .local-pro-v2 .local-pro-filters {
        grid-template-columns: 1fr 1fr;
        min-height: 0;
    }
    .local-pro-submit-wrap > span {
        display: none;
    }
    .local-pro-v2 .local-pro-cta {
        display: flex;
    }
    .local-directory {
        padding-top: 40px;
    }
    .local-directory-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 620px) {
    .local-pro-v2 .local-pro-inner {
        padding-top: 96px;
    }
    .local-pro-v2 .local-pro-filters {
        grid-template-columns: 1fr;
    }
    .local-pro-v2 .local-pro-submit {
        width: 100%;
    }
    .local-pro-v2 .local-pro-cta {
        display: block;
    }
    .local-directory-head {
        display: block;
    }
    .local-directory-head p {
        margin-top: 8px;
    }
    .local-directory-grid {
        grid-template-columns: 1fr;
    }
    .local-directory-media {
        height: 190px;
    }
}

/* === ENFA CONTACT PRO 2026-10-07 === */
.contact-pro-page {
    background: #fff;
    color: #071a50;
    overflow: hidden;
}
.contact-pro-hero {
    position: relative;
    min-height: 590px;
    margin-top: -118px;
    padding-top: 118px;
    background: #eaf8ff;
}
.contact-pro-photo {
    position: absolute;
    inset: 0;
    background: url("../images/enfa-home-pro/contact-form.webp") center 42% /
        cover no-repeat;
    z-index: 0;
}
.contact-pro-wash {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.98) 0%,
            rgba(255, 255, 255, 0.94) 29%,
            rgba(255, 255, 255, 0.55) 47%,
            rgba(255, 255, 255, 0.04) 68%
        ),
        linear-gradient(0deg, rgba(255, 255, 255, 0.08), transparent 50%);
}
.contact-pro-hero-inner {
    position: relative;
    z-index: 2;
    width: min(1510px, 90vw);
    margin: auto;
    padding: 88px 0 70px;
}
.contact-pro-copy {
    width: min(560px, 42%);
}
.contact-pro-eyebrow {
    display: block;
    color: #06aebf;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.3em;
    margin-bottom: 20px;
}
.contact-pro-copy h1,
.contact-pro-info h2 {
    margin: 0;
    color: #071a50;
    font-weight: 900;
    letter-spacing: -0.045em;
}
.contact-pro-copy h1 {
    font-size: clamp(3.5rem, 5vw, 5.5rem);
    line-height: 0.94;
}
.contact-pro-copy h1 span,
.contact-pro-info h2 span,
.contact-pro-bottom h2 span {
    background: linear-gradient(100deg, #05bed1, #238ee9 55%, #7438f5);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.contact-pro-copy p {
    margin: 24px 0 0;
    max-width: 510px;
    font-size: 19px;
    line-height: 1.5;
    color: #536581;
}
.contact-pro-main {
    width: min(1510px, 92vw);
    margin: 0 auto;
    padding: 58px 0 68px;
}
.contact-pro-layout {
    display: grid;
    grid-template-columns: 0.9fr 1.05fr;
    gap: 70px;
    align-items: start;
}
.contact-pro-info {
    padding: 10px 0;
}
.contact-pro-info h2 {
    font-size: clamp(2.8rem, 4vw, 4.6rem);
    line-height: 0.98;
}
.contact-pro-info > p {
    max-width: 560px;
    color: #61708d;
    font-size: 17px;
    line-height: 1.5;
    margin: 24px 0 28px;
}
.contact-pro-points {
    display: grid;
    gap: 14px;
}
.contact-pro-points a {
    display: grid;
    grid-template-columns: 56px 38px 1fr 24px;
    gap: 12px;
    align-items: center;
    min-height: 88px;
    padding: 14px 18px;
    border: 1px solid #dfe8f2;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(20, 56, 104, 0.05);
    transition: 0.25s;
}
.contact-pro-points a:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 36px rgba(33, 89, 150, 0.12);
}
.contact-pro-points i {
    width: 54px;
    height: 54px;
    border-radius: 17px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #06c7d2, #188ce9 55%, #7738f3);
    color: #fff;
    font-style: normal;
    font-size: 24px;
    box-shadow: 0 8px 22px rgba(31, 128, 225, 0.24);
}
.contact-pro-points b {
    align-self: start;
    margin-top: 5px;
    padding: 6px 7px;
    border-radius: 9px;
    background: #e8faff;
    color: #08a9c2;
    font-size: 13px;
}
.contact-pro-points span {
    display: grid;
    gap: 4px;
}
.contact-pro-points strong {
    font-size: 16px;
    color: #071a50;
}
.contact-pro-points small {
    font-size: 13px;
    color: #71809a;
}
.contact-pro-points em {
    font-style: normal;
    color: #6737ef;
    font-size: 28px;
    font-weight: 800;
}
.contact-pro-form-card {
    padding: 30px;
    border: 1px solid #dce7f1;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 22px 60px rgba(20, 55, 104, 0.1);
}
.contact-pro-form {
    display: grid;
    gap: 19px;
}
.contact-pro-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.contact-pro-form label {
    display: grid;
    gap: 8px;
    color: #071a50;
    font-size: 13px;
    font-weight: 800;
}
.contact-pro-form input,
.contact-pro-form select,
.contact-pro-form textarea {
    width: 100%;
    border: 1px solid #d4e0ed;
    border-radius: 12px;
    background: #fff;
    color: #21385d;
    padding: 0 16px;
    outline: none;
    transition: 0.2s;
}
.contact-pro-form input,
.contact-pro-form select {
    height: 50px;
}
.contact-pro-form textarea {
    padding-top: 14px;
    resize: vertical;
    min-height: 130px;
}
.contact-pro-form input:focus,
.contact-pro-form select:focus,
.contact-pro-form textarea:focus {
    border-color: #1ab8d2;
    box-shadow: 0 0 0 3px rgba(21, 184, 215, 0.1);
}
.contact-pro-form label small {
    color: #c43a4a;
}
.contact-pro-submit {
    height: 56px;
    border: 0;
    border-radius: 14px;
    color: #fff;
    font-weight: 900;
    font-size: 16px;
    cursor: pointer;
    background: linear-gradient(105deg, #06c6d1, #228fe8 52%, #7435f3);
    box-shadow: 0 14px 30px rgba(49, 92, 215, 0.23);
    position: relative;
    overflow: hidden;
    transition: 0.25s;
}
.contact-pro-submit:after {
    content: "";
    position: absolute;
    inset: -100% auto -100% -35%;
    width: 28%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.6),
        transparent
    );
    transform: rotate(18deg);
    transition: 0.55s;
}
.contact-pro-submit:hover {
    transform: translateY(-2px);
    box-shadow:
        0 0 0 3px rgba(31, 201, 223, 0.15),
        0 18px 38px rgba(80, 61, 231, 0.28);
}
.contact-pro-submit:hover:after {
    left: 115%;
}
.contact-pro-bottom {
    margin-top: 60px;
    min-height: 300px;
    border: 1px solid #dce8f1;
    border-radius: 26px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    background: linear-gradient(105deg, #f7feff 0%, #f4fbff 52%, #eaf7ff 52%);
    box-shadow: 0 16px 48px rgba(20, 55, 104, 0.07);
}
.contact-pro-bottom > div:first-child {
    padding: 45px 52px;
}
.contact-pro-bottom h2 {
    margin: 0;
    font-size: 38px;
    line-height: 1.05;
    color: #071a50;
}
.contact-pro-bottom p {
    color: #61708d;
    font-size: 16px;
    max-width: 540px;
}
.contact-pro-actions {
    display: flex;
    gap: 14px;
    margin-top: 28px;
}
.contact-pro-actions a {
    padding: 15px 22px;
    border: 1px solid #7041f0;
    border-radius: 14px;
    color: #271a8d;
    font-weight: 900;
    background: #fff;
}
.contact-pro-actions a.primary {
    border: 0;
    color: #fff;
    background: linear-gradient(105deg, #05c6d1, #268be9, #7040f1);
    box-shadow: 0 10px 25px rgba(49, 92, 215, 0.18);
}
.contact-pro-phone {
    background: url("../images/enfa-home-pro/how-phone-premium.webp")
        center/cover no-repeat;
    min-height: 300px;
}
@media (max-width: 1000px) {
    .contact-pro-hero {
        margin-top: -104px;
        padding-top: 104px;
        min-height: 560px;
    }
    .contact-pro-hero-inner {
        padding-top: 76px;
    }
    .contact-pro-copy {
        width: 55%;
    }
    .contact-pro-layout {
        grid-template-columns: 1fr;
        gap: 38px;
    }
    .contact-pro-bottom {
        grid-template-columns: 1fr;
    }
    .contact-pro-phone {
        min-height: 280px;
    }
    .contact-pro-main {
        width: min(92vw, 760px);
    }
}
@media (max-width: 700px) {
    .contact-pro-hero {
        margin-top: -92px;
        padding-top: 92px;
        min-height: 690px;
    }
    .contact-pro-photo {
        background-position: 62% center;
    }
    .contact-pro-wash {
        background: linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.98) 0%,
            rgba(255, 255, 255, 0.91) 48%,
            rgba(255, 255, 255, 0.2) 72%,
            transparent
        );
    }
    .contact-pro-hero-inner {
        padding-top: 66px;
    }
    .contact-pro-copy {
        width: 100%;
    }
    .contact-pro-copy h1 {
        font-size: 3.2rem;
    }
    .contact-pro-copy p {
        font-size: 16px;
        max-width: 92%;
    }
    .contact-pro-main {
        padding-top: 40px;
    }
    .contact-pro-grid {
        grid-template-columns: 1fr;
    }
    .contact-pro-form-card {
        padding: 20px;
    }
    .contact-pro-points a {
        grid-template-columns: 50px 34px 1fr 18px;
        padding: 12px;
    }
    .contact-pro-bottom > div:first-child {
        padding: 32px 24px;
    }
    .contact-pro-bottom h2 {
        font-size: 31px;
    }
    .contact-pro-actions {
        flex-direction: column;
    }
    .contact-pro-actions a {
        text-align: center;
    }
}

/* === CONTACTO V1.1 · CTA hover shine 2026-10-07 === */
.contact-pro-actions a {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease,
        border-color 0.28s ease,
        color 0.28s ease,
        background 0.28s ease;
    box-shadow: 0 8px 22px rgba(52, 76, 145, 0.08);
}
.contact-pro-actions a::after {
    content: "";
    position: absolute;
    z-index: 2;
    top: -80%;
    bottom: -80%;
    left: -45%;
    width: 30%;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.82),
        transparent
    );
    transform: rotate(18deg);
    filter: blur(0.3px);
    transition: left 0.62s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.contact-pro-actions a:hover,
.contact-pro-actions a:focus-visible {
    transform: translateY(-3px);
    border-color: #16c6df;
    box-shadow:
        0 0 0 3px rgba(19, 198, 221, 0.13),
        0 0 24px rgba(31, 190, 232, 0.23),
        0 16px 34px rgba(94, 55, 239, 0.18);
}
.contact-pro-actions a:hover::after,
.contact-pro-actions a:focus-visible::after {
    left: 120%;
}
.contact-pro-actions a.primary:hover,
.contact-pro-actions a.primary:focus-visible {
    box-shadow:
        0 0 0 3px rgba(17, 208, 224, 0.16),
        0 0 27px rgba(11, 203, 222, 0.34),
        0 18px 38px rgba(105, 55, 242, 0.3);
}
@media (prefers-reduced-motion: reduce) {
    .contact-pro-actions a,
    .contact-pro-actions a::after {
        transition: none;
    }
    .contact-pro-actions a:hover,
    .contact-pro-actions a:focus-visible {
        transform: none;
    }
}

/* === ENFA CONTACT PHONE COUNTRY SELECTOR 2026-10-07 === */
.contact-phone-control {
    display: grid;
    grid-template-columns: 118px minmax(0, 1fr);
    height: 50px;
    border: 1px solid #d4e0ed;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
    transition:
        border-color 0.2s,
        box-shadow 0.2s;
}
.contact-phone-control:focus-within {
    border-color: #1ab8d2;
    box-shadow: 0 0 0 3px rgba(21, 184, 215, 0.1);
}
.contact-pro-form .contact-phone-control select,
.contact-pro-form .contact-phone-control input {
    width: 100%;
    height: 48px;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #fff;
    color: #21385d;
    outline: 0;
}
.contact-pro-form .contact-phone-control select {
    padding: 0 30px 0 12px;
    border-right: 1px solid #e2eaf3 !important;
    font-weight: 700;
    cursor: pointer;
}
.contact-pro-form .contact-phone-control input {
    padding: 0 14px;
}
@media (max-width: 420px) {
    .contact-phone-control {
        grid-template-columns: 105px minmax(0, 1fr);
    }
    .contact-pro-form .contact-phone-control select {
        padding-left: 9px;
        font-size: 12px;
    }
    .contact-pro-form .contact-phone-control input {
        padding: 0 10px;
    }
}

/* === ENFA PRE-REGISTRO PREMIUM 2026-10-07 === */
.prereg-pro-page {
    background: #fff;
    color: #071f58;
    overflow: hidden;
}
.prereg-pro-hero {
    position: relative;
    min-height: 570px;
    margin-top: -118px;
    padding-top: 118px;
    display: flex;
    align-items: center;
    background: #eefaff;
    isolation: isolate;
}
.prereg-pro-photo {
    position: absolute;
    inset: 0;
    background: url("../images/enfa-home-pro/contact-form.webp") center 54% /
        cover no-repeat;
    z-index: -3;
}
.prereg-pro-wash {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.99) 0%,
        rgba(255, 255, 255, 0.96) 25%,
        rgba(255, 255, 255, 0.62) 44%,
        rgba(255, 255, 255, 0.04) 69%
    );
    z-index: -2;
}
.prereg-pro-hero:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 88px;
    background: linear-gradient(180deg, transparent, #fff);
    z-index: -1;
}
.prereg-pro-hero-copy {
    width: min(1460px, calc(100% - 80px));
    margin: 0 auto;
    padding: 96px 0 72px;
    position: relative;
    z-index: 2;
}
.prereg-kicker,
.prereg-pro-heading > div > span,
.prereg-download-band > div > span {
    display: block;
    font-size: 13px;
    letter-spacing: 0.24em;
    font-weight: 900;
    color: #06bcd0;
    margin-bottom: 18px;
}
.prereg-pro-hero-copy h1 {
    max-width: 680px;
    margin: 0;
    font-size: clamp(52px, 5vw, 82px);
    line-height: 0.94;
    letter-spacing: -0.055em;
    font-weight: 950;
    color: #061d58;
}
.prereg-pro-hero-copy h1 span {
    display: block;
    background: linear-gradient(90deg, #08bfd2, #298df4 48%, #7b32ff);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.prereg-pro-hero-copy p {
    max-width: 650px;
    margin: 24px 0 0;
    font-size: 19px;
    line-height: 1.55;
    color: #53698f;
}
.prereg-pro-body {
    width: min(1460px, calc(100% - 72px));
    margin: -18px auto 70px;
    position: relative;
    z-index: 4;
}
.prereg-pro-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-bottom: 28px;
}
.prereg-pro-tabs a {
    min-height: 112px;
    border: 1px solid #dbe8f7;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 14px 40px rgba(30, 78, 137, 0.08);
    display: grid;
    grid-template-columns: 64px 1fr 36px;
    gap: 16px;
    align-items: center;
    padding: 18px 22px;
    text-decoration: none;
    color: #071f58;
    transition: 0.28s ease;
    overflow: hidden;
    position: relative;
}
.prereg-pro-tabs a i {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    font-style: normal;
    font-size: 30px;
    background: #eff9ff;
    color: #1679e8;
}
.prereg-pro-tabs a strong {
    display: block;
    font-size: 17px;
    margin-bottom: 6px;
}
.prereg-pro-tabs a small {
    display: block;
    font-size: 13px;
    line-height: 1.45;
    color: #64789b;
}
.prereg-pro-tabs a b {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #f2f6fb;
    color: #30547d;
    font-size: 24px;
}
.prereg-pro-tabs a:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 42px rgba(35, 100, 190, 0.15);
}
.prereg-pro-tabs a.active {
    background: linear-gradient(115deg, #0bc7d0, #3b86f6 58%, #7638f7);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 18px 42px rgba(74, 76, 240, 0.22);
}
.prereg-pro-tabs a.active i {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}
.prereg-pro-tabs a.active small {
    color: #fff;
}
.prereg-pro-tabs a.active b {
    background: #fff;
    color: #663cf3;
}
.prereg-pro-form {
    border: 1px solid #dbe8f5;
    border-radius: 28px;
    padding: 38px 44px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 18px 55px rgba(20, 67, 125, 0.08);
}
.prereg-pro-heading {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-end;
    margin-bottom: 30px;
}
.prereg-pro-heading > div > span {
    margin-bottom: 8px;
    font-size: 11px;
}
.prereg-pro-heading h2 {
    font-size: 32px;
    margin: 0;
    letter-spacing: -0.03em;
}
.prereg-pro-heading p {
    margin: 0;
    color: #6a7d9f;
    font-size: 13px;
}
.prereg-pro-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px 24px;
}
.prereg-pro-grid label > span {
    display: block;
    font-size: 13px;
    font-weight: 850;
    margin: 0 0 9px;
    color: #071f58;
}
.prereg-pro-grid label > span small {
    font-weight: 500;
    color: #7182a1;
}
.prereg-control {
    height: 58px;
    border: 1px solid #cbdced;
    border-radius: 13px;
    display: flex;
    align-items: center;
    background: #fff;
    overflow: hidden;
    transition: 0.2s;
}
.prereg-control:focus-within,
.prereg-phone-pair:focus-within {
    border-color: #36a9f5;
    box-shadow: 0 0 0 4px rgba(26, 184, 234, 0.09);
}
.prereg-control i {
    width: 48px;
    text-align: center;
    font-style: normal;
    color: #48658f;
    font-size: 18px;
}
.prereg-control input,
.prereg-control select {
    height: 100%;
    min-width: 0;
    flex: 1;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 14px 0 0 !important;
    color: #263d66;
    font-size: 14px;
}
.prereg-phone-pair {
    height: 58px;
    border: 1px solid #cbdced;
    border-radius: 13px;
    display: grid;
    grid-template-columns: 132px 1fr;
    overflow: hidden;
    background: #fff;
    transition: 0.2s;
}
.prereg-phone-pair select,
.prereg-phone-pair input {
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    min-width: 0;
    padding: 0 12px !important;
    font-size: 13px;
    color: #263d66;
}
.prereg-phone-pair select {
    border-right: 1px solid #e1eaf4 !important;
}
.prereg-pro-grid .wide {
    grid-column: 1/-1;
}
.prereg-pro-grid textarea {
    width: 100%;
    border: 1px solid #cbdced;
    border-radius: 13px;
    padding: 15px;
    min-height: 110px;
    resize: vertical;
    outline: 0;
}
.prereg-consent {
    display: flex;
    gap: 13px;
    align-items: flex-start;
    margin: 30px 0 22px;
    color: #53698f;
    font-size: 13px;
}
.prereg-consent input {
    width: 19px;
    height: 19px;
    accent-color: #6542f5;
}
.prereg-consent a {
    color: #6738f3;
    font-weight: 800;
}
.prereg-submit,
.prereg-download-btn {
    position: relative;
    overflow: hidden;
    border: 0;
    text-decoration: none;
    background: linear-gradient(110deg, #09c8d1, #368bf4 55%, #7435f5);
    color: #fff;
    font-weight: 900;
    box-shadow: 0 12px 28px rgba(63, 95, 235, 0.22);
    transition: 0.28s ease;
}
.prereg-submit {
    min-width: 340px;
    height: 58px;
    border-radius: 14px;
    padding: 0 20px 0 28px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    font-size: 15px;
}
.prereg-submit b {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #fff;
    color: #6542f5;
    font-size: 23px;
}
.prereg-submit:before,
.prereg-download-btn:before {
    content: "";
    position: absolute;
    top: -60%;
    left: -40%;
    width: 28%;
    height: 220%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.8),
        transparent
    );
    transform: rotate(22deg);
    transition: left 0.65s ease;
}
.prereg-submit:hover:before,
.prereg-download-btn:hover:before {
    left: 120%;
}
.prereg-submit:hover,
.prereg-download-btn:hover {
    transform: translateY(-3px);
    box-shadow:
        0 16px 34px rgba(31, 194, 228, 0.28),
        0 12px 28px rgba(111, 54, 247, 0.24);
}
.prereg-download-band {
    margin-top: 30px;
    min-height: 290px;
    border-radius: 28px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    background: linear-gradient(110deg, #f1fcff, #fff 55%, #eef5ff);
    border: 1px solid #dcebf6;
    position: relative;
}
.prereg-download-band > div:first-child {
    padding: 42px 48px;
    z-index: 2;
}
.prereg-download-band h2 {
    font-size: 42px;
    letter-spacing: -0.04em;
    margin: 0 0 10px;
}
.prereg-download-band h2::first-letter {
    color: inherit;
}
.prereg-download-band p {
    font-size: 16px;
    color: #586e94;
    max-width: 560px;
    line-height: 1.55;
}
.prereg-download-btn {
    display: inline-flex;
    margin-top: 18px;
    border-radius: 13px;
    padding: 16px 24px;
}
.prereg-download-art {
    position: relative;
    min-height: 290px;
    background: url("../images/enfa-howdriving-new/city-register.webp")
        center/cover no-repeat;
}
.prereg-download-art:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        #fff 0%,
        rgba(255, 255, 255, 0.2) 30%,
        transparent 70%
    );
}
.prereg-download-art img {
    position: absolute;
    height: 108%;
    max-width: 72%;
    object-fit: contain;
    left: 16%;
    bottom: -7%;
    filter: drop-shadow(0 20px 24px rgba(0, 30, 80, 0.2));
}
@media (max-width: 1000px) {
    .prereg-pro-hero {
        min-height: 520px;
    }
    .prereg-pro-hero-copy {
        width: calc(100% - 48px);
        padding-top: 86px;
    }
    .prereg-pro-body {
        width: calc(100% - 40px);
    }
    .prereg-pro-tabs {
        grid-template-columns: 1fr;
    }
    .prereg-pro-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .prereg-download-band {
        grid-template-columns: 1fr;
    }
    .prereg-download-art {
        min-height: 250px;
    }
    .prereg-pro-wash {
        background: linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.98),
            rgba(255, 255, 255, 0.84) 58%,
            rgba(255, 255, 255, 0.2)
        );
    }
}
@media (max-width: 680px) {
    .prereg-pro-hero {
        margin-top: -92px;
        padding-top: 92px;
        min-height: 540px;
        background: #fff;
    }
    .prereg-pro-photo {
        background-position: 68% center;
    }
    .prereg-pro-wash {
        background: linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.97) 0%,
            rgba(255, 255, 255, 0.92) 52%,
            rgba(255, 255, 255, 0.3)
        );
    }
    .prereg-pro-hero-copy {
        width: calc(100% - 32px);
        padding: 100px 0 54px;
    }
    .prereg-pro-hero-copy h1 {
        font-size: 47px;
    }
    .prereg-pro-hero-copy p {
        font-size: 16px;
    }
    .prereg-pro-body {
        width: calc(100% - 24px);
        margin-top: -8px;
    }
    .prereg-pro-tabs a {
        grid-template-columns: 52px 1fr 32px;
        padding: 14px;
        min-height: 96px;
    }
    .prereg-pro-tabs a i {
        width: 48px;
        height: 48px;
    }
    .prereg-pro-form {
        padding: 26px 18px;
        border-radius: 22px;
    }
    .prereg-pro-heading {
        display: block;
    }
    .prereg-pro-heading p {
        margin-top: 10px;
    }
    .prereg-pro-grid {
        grid-template-columns: 1fr;
    }
    .prereg-pro-grid .wide {
        grid-column: auto;
    }
    .prereg-phone-pair {
        grid-template-columns: 120px 1fr;
    }
    .prereg-submit {
        width: 100%;
        min-width: 0;
    }
    .prereg-download-band > div:first-child {
        padding: 30px 24px;
    }
    .prereg-download-band h2 {
        font-size: 34px;
    }
}

/* === ENFA PREREG SINGLE-PAGE TABS + WHATSAPP ONLY 2026-10-07 === */
.prereg-pro-tabs button {
    appearance: none;
    -webkit-appearance: none;
    font: inherit;
    text-align: left;
    cursor: pointer;
    width: 100%;
    min-height: 112px;
    border: 1px solid #dbe8f7;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 14px 40px rgba(30, 78, 137, 0.08);
    display: grid;
    grid-template-columns: 64px 1fr 36px;
    gap: 16px;
    align-items: center;
    padding: 18px 22px;
    color: #071f58;
    transition: 0.28s ease;
    overflow: hidden;
    position: relative;
}
.prereg-pro-tabs button i {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    font-style: normal;
    font-size: 30px;
    background: #eff9ff;
    color: #1679e8;
}
.prereg-pro-tabs button strong {
    display: block;
    font-size: 17px;
    margin-bottom: 6px;
}
.prereg-pro-tabs button small {
    display: block;
    font-size: 13px;
    line-height: 1.45;
    color: #64789b;
}
.prereg-pro-tabs button b {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #f2f6fb;
    color: #30547d;
    font-size: 24px;
}
.prereg-pro-tabs button:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 42px rgba(35, 100, 190, 0.15);
}
.prereg-pro-tabs button.active {
    background: linear-gradient(115deg, #0bc7d0, #3b86f6 58%, #7638f7);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 18px 42px rgba(74, 76, 240, 0.22);
}
.prereg-pro-tabs button.active i {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}
.prereg-pro-tabs button.active small {
    color: #fff;
}
.prereg-pro-tabs button.active b {
    background: #fff;
    color: #663cf3;
}
.prereg-profile-fields {
    display: contents;
}
.prereg-profile-fields[hidden] {
    display: none !important;
}
.prereg-phone-pair {
    grid-template-columns: minmax(128px, 145px) 1fr;
}
.prereg-phone-pair select {
    font-weight: 700;
}
.prereg-phone-pair input {
    font-size: 14px;
}
@media (max-width: 680px) {
    .prereg-pro-tabs button {
        grid-template-columns: 52px 1fr 32px;
        padding: 14px;
        min-height: 96px;
    }
    .prereg-pro-tabs button i {
        width: 48px;
        height: 48px;
    }
    .prereg-phone-pair {
        grid-template-columns: 118px 1fr;
    }
}

/* PREREG FIX: brillo en pestañas y contraste correcto de descarga */
.enfa-public .prereg-pro-tabs button::after {
    content: "";
    position: absolute;
    top: -80%;
    bottom: -80%;
    left: -48%;
    width: 28%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.78),
        transparent
    );
    transform: skewX(-23deg);
    transition: left 0.65s ease;
    pointer-events: none;
    z-index: 2;
}
.enfa-public .prereg-pro-tabs button:hover::after,
.enfa-public .prereg-pro-tabs button:focus-visible::after {
    left: 125%;
}
.enfa-public .prereg-pro-tabs button:hover,
.enfa-public .prereg-pro-tabs button:focus-visible {
    transform: translateY(-4px);
    box-shadow:
        0 16px 36px rgba(0, 185, 221, 0.18),
        0 0 23px rgba(115, 57, 247, 0.22);
    border-color: #87cffa;
}
.enfa-public .prereg-pro-tabs button.active:hover {
    box-shadow:
        0 18px 42px rgba(73, 72, 235, 0.3),
        0 0 24px rgba(17, 209, 225, 0.25);
    border-color: transparent;
}
.enfa-public .prereg-download-btn,
.enfa-public .prereg-download-btn:link,
.enfa-public .prereg-download-btn:visited,
.enfa-public .prereg-download-btn:hover,
.enfa-public .prereg-download-btn:focus-visible,
.enfa-public .enfa-nav-cta:hover,
.enfa-public .enfa-nav-cta:focus-visible {
    color: #fff !important;
    text-decoration: none !important;
}
.enfa-public .prereg-download-btn b,
.enfa-public .prereg-download-btn:hover b,
.enfa-public .enfa-nav-cta:hover i,
.enfa-public .enfa-nav-cta:hover span {
    color: inherit !important;
}
@media (prefers-reduced-motion: reduce) {
    .enfa-public .prereg-pro-tabs button::after {
        transition: none;
    }
    .enfa-public .prereg-pro-tabs button:hover {
        transform: none;
    }
}

/* FA11 · Account deletion premium layout · 2026-10-08 */
.enfa-delete-hero-premium {
    max-width: none !important;
    min-height: 570px;
    margin: 0 !important;
    padding: 170px max(6%, calc((100vw - 1360px) / 2)) 65px !important;
    display: flex !important;
    align-items: center;
    position: relative;
    isolation: isolate;
    background:
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.99) 0%,
            rgba(255, 255, 255, 0.93) 31%,
            rgba(255, 255, 255, 0.3) 57%,
            rgba(255, 255, 255, 0) 83%
        ),
        url("../images/enfa-home-pro/contact-form.webp") center center/cover
            no-repeat;
}
.enfa-delete-hero-content {
    position: relative;
    z-index: 1;
    max-width: 590px;
}
.enfa-delete-hero-premium h1 {
    font-size: clamp(42px, 5.4vw, 76px);
    line-height: 1.02;
    letter-spacing: -0.055em;
    color: #091c4d;
    font-weight: 900;
    margin: 20px 0;
}
.enfa-delete-hero-premium p {
    font-size: clamp(16px, 1.4vw, 20px);
    line-height: 1.6;
    color: #516586;
    max-width: 500px;
}
.enfa-delete-hero-premium .enfa-delete-notice {
    max-width: 490px;
    background: rgba(237, 250, 255, 0.88);
    border-color: #c9eafa;
    backdrop-filter: blur(10px);
    color: #0d285a;
}
.enfa-delete-layout {
    max-width: 1390px !important;
    grid-template-columns: minmax(0, 1.85fr) minmax(285px, 0.85fr) !important;
    gap: 22px !important;
    padding: 34px 26px 58px !important;
    align-items: start;
}
.enfa-delete-form-card,
.enfa-delete-aside article {
    border: 1px solid #dceafa !important;
    border-radius: 24px !important;
    background: #fff !important;
    box-shadow: 0 16px 42px rgba(16, 49, 92, 0.06) !important;
}
.enfa-delete-form-card {
    padding: 32px !important;
}
.enfa-delete-aside {
    display: grid;
    gap: 14px;
}
.enfa-delete-aside article {
    padding: 25px !important;
}
.enfa-delete-aside article:nth-child(2) {
    background: linear-gradient(130deg, #fff, #f5edff) !important;
}
.enfa-delete-aside article:nth-child(3) {
    background: linear-gradient(130deg, #fff, #ebfcff) !important;
}
.enfa-delete-aside .enfa-delete-contact {
    background: linear-gradient(130deg, #081d46, #102d66) !important;
    color: white !important;
}
.enfa-delete-contact h3,
.enfa-delete-contact a,
.enfa-delete-contact small {
    color: white !important;
}
.enfa-delete-form .enfa-btn {
    position: relative;
    overflow: hidden;
    border-radius: 14px !important;
    background: linear-gradient(105deg, #03cbd0, #2e8bf6, #7033ff) !important;
    color: white !important;
    transition:
        transform 0.25s,
        box-shadow 0.25s;
}
.enfa-delete-form .enfa-btn:after {
    content: "";
    position: absolute;
    inset: -50%;
    width: 45%;
    transform: translateX(-240%) rotate(25deg);
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.65),
        transparent
    );
    transition: transform 0.65s;
    pointer-events: none;
}
.enfa-delete-form .enfa-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 32px rgba(54, 100, 238, 0.35);
    color: white !important;
}
.enfa-delete-form .enfa-btn:hover:after {
    transform: translateX(580%) rotate(25deg);
}
.enfa-delete-bottom {
    max-width: 1390px;
    margin: 0 auto 75px;
    min-height: 270px;
    border-radius: 25px;
    overflow: hidden;
    display: flex;
    align-items: center;
    background:
        linear-gradient(
            90deg,
            rgba(242, 252, 255, 0.98) 0%,
            rgba(245, 250, 255, 0.92) 47%,
            rgba(255, 255, 255, 0.06) 77%
        ),
        url("../images/enfa-home-pro/download-phones-premium.webp") right
            center/auto 100% no-repeat,
        #f4fbff;
}
.enfa-delete-bottom-content {
    padding: 35px 55px;
    max-width: 650px;
}
.enfa-delete-bottom h2 {
    font-size: clamp(30px, 3.4vw, 48px);
    line-height: 1.12;
    color: #0c2050;
    margin: 12px 0;
}
.enfa-delete-bottom p {
    color: #516586;
}
.enfa-delete-bottom-link {
    display: inline-flex;
    margin-top: 12px;
    padding: 12px 20px;
    border-radius: 12px;
    background: linear-gradient(110deg, #00cbd0, #7137ff);
    color: #fff !important;
    font-weight: 800;
    transition:
        transform 0.25s,
        box-shadow 0.25s;
}
.enfa-delete-bottom-link:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px #4388e955;
}
@media (max-width: 900px) {
    .enfa-delete-hero-premium {
        padding: 155px 6% 65px !important;
        min-height: 540px;
        background-position: 60% center;
    }
    .enfa-delete-layout {
        grid-template-columns: 1fr !important;
    }
    .enfa-delete-aside {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .enfa-delete-bottom {
        margin: 0 20px 45px;
    }
}
@media (max-width: 600px) {
    .enfa-delete-hero-premium {
        min-height: 560px;
        padding: 145px 22px 50px !important;
        align-items: flex-start;
        background:
            linear-gradient(
                180deg,
                rgba(255, 255, 255, 0.97),
                rgba(255, 255, 255, 0.88) 51%,
                rgba(255, 255, 255, 0.25)
            ),
            url("../images/enfa-home-pro/contact-form.webp") 65% center/cover
                no-repeat;
    }
    .enfa-delete-hero-premium h1 {
        font-size: 44px;
    }
    .enfa-delete-layout {
        padding: 22px 16px 35px !important;
    }
    .enfa-delete-form-card {
        padding: 22px !important;
    }
    .enfa-delete-aside {
        grid-template-columns: 1fr;
    }
    .enfa-delete-bottom {
        background:
            linear-gradient(90deg, #f3fbffdb, #f3fbffdc),
            url("../images/enfa-home-pro/download-phones-premium.webp")
                center/cover no-repeat;
    }
    .enfa-delete-bottom-content {
        padding: 30px 22px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .enfa-delete-form .enfa-btn,
    .enfa-delete-bottom-link {
        transition: none;
    }
    .enfa-delete-form .enfa-btn:after {
        display: none;
    }
}

/* Driverpage premium isolated design — 2026-10-08 */
.enfa-drive-premium {
    --edp-ink: #091e4b;
    --edp-cyan: #00cbd9;
    --edp-violet: #7539ff;
    color: var(--edp-ink);
    background: #fff;
    overflow: hidden;
    font-family: inherit;
}
.edp-hero {
    min-height: 620px;
    position: relative;
    isolation: isolate;
}
.edp-hero-bg {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(
            90deg,
            #fff 0%,
            rgba(255, 255, 255, 0.97) 23%,
            rgba(255, 255, 255, 0.72) 43%,
            rgba(255, 255, 255, 0.06) 76%
        ),
        url("../images/enfa-home-pro/hero-city.jpg") center center/cover
            no-repeat;
}
.edp-hero-inner {
    max-width: 1420px;
    margin: auto;
    padding: clamp(170px, 15vw, 215px) 5.5% 48px;
}
.edp-hero-copy {
    max-width: 480px;
}
.edp-eyebrow {
    display: block;
    font-size: 12px;
    letter-spacing: 0.2em;
    font-weight: 900;
    color: #00b8d0;
    margin-bottom: 17px;
}
.edp-hero h1 {
    font-size: clamp(48px, 5.6vw, 84px);
    line-height: 0.99;
    letter-spacing: -0.055em;
    margin: 0 0 22px;
    font-weight: 900;
}
.edp-hero h1 em {
    font-style: normal;
    background: linear-gradient(100deg, #00d4d6, #3979fc, #7932ff);
    color: transparent;
    background-clip: text;
}
.edp-hero-copy > p {
    font-size: 17px;
    line-height: 1.6;
    color: #526584;
    max-width: 435px;
}
.edp-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 23px;
}
.edp-button {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: inline-flex;
    gap: 18px;
    align-items: center;
    justify-content: space-between;
    padding: 15px 20px;
    min-height: 49px;
    border-radius: 15px;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 800;
    transition:
        transform 0.25s,
        box-shadow 0.25s,
        color 0.25s;
}
.edp-button:after {
    content: "";
    position: absolute;
    inset: -70% auto -70% -75%;
    width: 45%;
    background: linear-gradient(
        100deg,
        transparent,
        rgba(255, 255, 255, 0.7),
        transparent
    );
    transform: skewX(-25deg);
    transition: left 0.65s;
    pointer-events: none;
}
.edp-button:hover:after {
    left: 140%;
}
.edp-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 27px rgba(43, 110, 241, 0.24);
}
.edp-primary {
    color: #fff !important;
    background: linear-gradient(110deg, #00cdd3, #397ff8, #7831ff);
}
.edp-outline {
    color: #0c2254 !important;
    background: #fff;
    border: 1px solid #b8cbe7;
}
.edp-light {
    background: #fff;
    color: #0b2054 !important;
}
.edp-metrics {
    display: flex;
    gap: 20px;
    margin-top: 40px;
}
.edp-metrics > div {
    padding-right: 18px;
    border-right: 1px solid #b8e8f7;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.edp-metrics > div:last-child {
    border: 0;
}
.edp-metrics strong {
    font-size: 20px;
    color: #02bcd6;
}
.edp-metrics span {
    font-size: 12px;
    color: #3e5278;
}
.edp-benefits,
.edp-path,
.edp-last {
    max-width: 1320px;
    margin: 0 auto;
}
.edp-benefits {
    padding: 62px 28px 28px;
}
.edp-section-head {
    text-align: center;
    max-width: 670px;
    margin: 0 auto 30px;
}
.edp-section-head h2 {
    font-size: clamp(29px, 3.3vw, 43px);
    line-height: 1.13;
    letter-spacing: -0.035em;
    margin: 0 0 12px;
}
.edp-section-head p {
    font-size: 16px;
    color: #667899;
    line-height: 1.6;
}
.edp-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}
.edp-card {
    border: 1px solid #e0eaf8;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 25px rgba(11, 37, 93, 0.06);
    position: relative;
    background: white;
}
.edp-card-photo {
    height: 195px;
    background-size: cover;
    background-position: center;
}
.edp-photo-one {
    background-image: url("../images/enfa-home-pro/ecosystem-cards/drivers.webp");
}
.edp-photo-two {
    background-image: url("../images/enfa-home-pro/hero-desktop.webp");
}
.edp-photo-three {
    background-image: url("../images/enfa-home-pro/contact-form.webp");
}
.edp-icon {
    position: absolute;
    top: 166px;
    left: 22px;
    width: 60px;
    height: 60px;
    display: grid;
    place-items: center;
    background: white;
    border-radius: 18px;
    box-shadow: 0 7px 22px #a9c2df66;
    font-size: 29px;
    color: #00bcd8;
}
.edp-card-body {
    padding: 43px 22px 26px;
}
.edp-card-body h3 {
    font-size: 20px;
    margin: 0 0 8px;
}
.edp-card-body p {
    color: #617493;
    font-size: 15px;
    line-height: 1.55;
    margin: 0;
}
.edp-path {
    margin-top: 24px;
    background: linear-gradient(125deg, #071a3b, #09295b);
    color: white;
    border-radius: 20px;
    padding: 36px 42px;
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 35px;
}
.edp-path h2 {
    font-size: clamp(26px, 3vw, 38px);
    line-height: 1.16;
    margin: 0;
}
.edp-path nav {
    display: grid;
    gap: 8px;
}
.edp-path nav a {
    display: flex;
    align-items: center;
    gap: 20px;
    color: white !important;
    text-decoration: none;
    padding: 12px 17px;
    border: 1px solid #ffffff33;
    border-radius: 12px;
    font-weight: 700;
    transition: background 0.2s;
}
.edp-path nav a:hover {
    background: #ffffff20;
}
.edp-path nav b {
    color: #00d8e8;
}
.edp-path nav span {
    margin-left: auto;
}
.edp-last {
    margin-top: 25px;
    margin-bottom: 55px;
    min-height: 260px;
    padding: 40px 46px;
    display: flex;
    align-items: center;
    border-radius: 21px;
    background:
        linear-gradient(
            90deg,
            #00c4d5 0%,
            #4773fa 44%,
            rgba(49, 70, 169, 0.12) 75%
        ),
        url("../images/enfa-home-pro/cta-city.jpg") center/cover no-repeat;
    color: #fff;
}
.edp-last > div {
    max-width: 520px;
}
.edp-last .edp-eyebrow {
    color: #e7ffff;
}
.edp-last h2 {
    font-size: clamp(27px, 3vw, 40px);
    line-height: 1.13;
    margin: 0 0 12px;
}
.edp-last p {
    font-size: 15px;
    line-height: 1.6;
}
.edp-last .edp-button {
    margin-top: 10px;
}
@media (max-width: 900px) {
    .edp-hero-inner {
        padding-top: 170px;
    }
    .edp-hero-bg {
        background-position: 60% center;
    }
    .edp-cards {
        gap: 12px;
    }
    .edp-path {
        margin-left: 20px;
        margin-right: 20px;
    }
    .edp-last {
        margin-left: 20px;
        margin-right: 20px;
    }
}
@media (max-width: 680px) {
    .edp-hero {
        min-height: 620px;
    }
    .edp-hero-inner {
        padding: 150px 22px 35px;
    }
    .edp-hero-bg {
        background:
            linear-gradient(90deg, #fffffff7, #ffffffc9 75%, #ffffff77),
            url("../images/enfa-home-pro/hero-city.jpg") 63% center/cover
                no-repeat;
    }
    .edp-hero-copy {
        max-width: 100%;
    }
    .edp-hero h1 {
        font-size: clamp(45px, 12vw, 64px);
    }
    .edp-metrics {
        gap: 10px;
    }
    .edp-metrics > div {
        padding-right: 8px;
    }
    .edp-metrics span {
        font-size: 10px;
    }
    .edp-benefits {
        padding: 45px 18px 18px;
    }
    .edp-cards {
        grid-template-columns: 1fr;
        gap: 18px;
    }
    .edp-card-photo {
        height: 210px;
    }
    .edp-icon {
        top: 180px;
    }
    .edp-path {
        display: block;
        padding: 28px 22px;
    }
    .edp-path nav {
        margin-top: 25px;
    }
    .edp-last {
        padding: 32px 24px;
        background:
            linear-gradient(90deg, #00bccaee, #5b45f1d9),
            url("../images/enfa-home-pro/cta-city.jpg") center/cover no-repeat;
    }
    .edp-actions {
        gap: 9px;
    }
    .edp-button {
        font-size: 12px;
        padding: 13px 15px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .edp-button,
    .edp-button:after {
        transition: none !important;
    }
}
/* HOWDRIVING V2 - isolated public page */
.enfa-how-v2 {
    font-family: inherit;
    color: #091c50;
    background: #fff;
    overflow: hidden;
}
.enfa-how-v2 * {
    box-sizing: border-box;
}
.eh-container {
    width: min(1200px, calc(100% - 72px));
    margin-inline: auto;
}
.eh-hero {
    min-height: 455px;
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    padding: 160px 0 52px;
}
.eh-hero-bg {
    position: absolute;
    inset: 0;
    z-index: -2;
    background: url("/images/enfa-home-pro/ecosystem-cards/passengers.webp")
        center 40% / cover no-repeat;
}
.eh-hero:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(
        90deg,
        #fff 0%,
        #fff 31%,
        rgba(255, 255, 255, 0.95) 40%,
        rgba(255, 255, 255, 0.25) 68%,
        transparent 100%
    );
}
.eh-hero-content {
    position: relative;
}
.eh-kicker {
    display: block;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: 2px;
    color: #00b7d3;
    margin-bottom: 13px;
}
.eh-hero h1 {
    font-size: clamp(42px, 5vw, 72px);
    letter-spacing: -0.055em;
    line-height: 1.04;
    font-weight: 850;
    margin: 0 0 18px;
    max-width: 620px;
    color: #091c50;
}
.eh-hero-content > p {
    max-width: 465px;
    color: #65769b;
    font-size: 17px;
    line-height: 1.55;
    margin: 0;
}
.eh-benefits {
    display: flex;
    gap: 20px;
    max-width: 650px;
    margin-top: 32px;
}
.eh-benefits span {
    display: flex;
    align-items: center;
    gap: 9px;
    max-width: 195px;
    font-size: 12px;
    color: #4c6289;
    line-height: 1.4;
}
.eh-benefits i {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border: 1px solid #bdebf7;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #05bdd5;
    font-size: 18px;
    background: #f2fcff;
}
.eh-steps {
    padding: 34px 0 65px;
}
.eh-heading {
    text-align: center;
    margin: 0 auto 30px;
}
.eh-heading h2 {
    font-size: clamp(28px, 3.3vw, 43px);
    letter-spacing: -0.04em;
    line-height: 1.14;
    margin: 0 0 8px;
    font-weight: 850;
}
.eh-heading p {
    color: #6a7a9d;
    margin: 0;
    font-size: 16px;
}
.eh-timeline {
    position: relative;
}
.eh-timeline:before {
    content: "";
    position: absolute;
    top: 45px;
    bottom: 55px;
    left: 50%;
    border-left: 2px dashed #b9e9fa;
}
.eh-step {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 66px minmax(0, 1fr);
    gap: 20px;
    align-items: center;
    margin-bottom: 22px;
}
.eh-photo {
    height: 190px;
    border-radius: 15px;
    overflow: hidden;
    background: #eaf7ff;
}
.eh-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.eh-number {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    justify-self: center;
    background: #e4f8fd;
    color: #04b5d4;
    font-size: 21px;
    font-weight: 850;
    z-index: 1;
}
.eh-step-card {
    min-height: 155px;
    border: 1px solid #dce8f7;
    border-radius: 18px;
    background: #fff;
    padding: 22px;
    display: flex;
    gap: 22px;
    align-items: center;
    box-shadow: 0 12px 32px rgba(9, 28, 80, 0.025);
}
.eh-step-icon {
    width: 76px;
    height: 76px;
    border-radius: 19px;
    background: linear-gradient(135deg, #e6fbff, #f0efff);
    display: grid;
    place-items: center;
    flex-shrink: 0;
    color: #2979ff;
    font-size: 32px;
}
.eh-step-card h3 {
    font-size: 19px;
    font-weight: 800;
    margin: 0 0 10px;
    color: #0a1d50;
}
.eh-step-card p {
    font-size: 14px;
    line-height: 1.5;
    color: #7180a1;
    margin: 0;
}
.eh-step:nth-child(even) .eh-photo {
    grid-column: 3;
    grid-row: 1;
}
.eh-step:nth-child(even) .eh-step-card {
    grid-column: 1;
    grid-row: 1;
}
.eh-step:nth-child(even) .eh-number {
    grid-column: 2;
    grid-row: 1;
}
.eh-cta {
    display: flex;
    align-items: center;
    gap: 24px;
    border-radius: 18px;
    padding: 26px 32px;
    background: linear-gradient(105deg, #02cdd1, #288df1 55%, #7932ff);
    color: #fff;
    margin-top: 26px;
}
.eh-cta-icon {
    font-size: 43px;
}
.eh-cta h2 {
    color: #fff;
    margin: 0 0 5px;
    font-size: 23px;
}
.eh-cta p {
    color: #fff;
    margin: 0;
    font-size: 14px;
}
.eh-cta-button {
    margin-left: auto;
    flex-shrink: 0;
    display: flex;
    gap: 17px;
    align-items: center;
    justify-content: center;
    padding: 16px 25px;
    background: #fff;
    border-radius: 13px;
    color: #0b1d52 !important;
    text-decoration: none;
    font-weight: 800;
    position: relative;
    overflow: hidden;
    transition:
        transform 0.2s,
        box-shadow 0.2s;
}
.eh-cta-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 9px 26px #051b5460;
    color: #0b1d52 !important;
}
.eh-cta-button:after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-130%) skewX(-25deg);
    background: linear-gradient(90deg, transparent, #ffffffb0, transparent);
    transition: transform 0.5s;
}
.eh-cta-button:hover:after {
    transform: translateX(140%) skewX(-25deg);
}
@media (max-width: 800px) {
    .eh-container {
        width: min(100% - 36px, 640px);
    }
    .eh-hero {
        min-height: 560px;
        padding: 135px 0 40px;
        align-items: flex-start;
    }
    .eh-hero:before {
        background: linear-gradient(
            90deg,
            #fffffffa 0%,
            #ffffffed 58%,
            #ffffff60 100%
        );
    }
    .eh-hero-bg {
        background-position: 65% center;
    }
    .eh-benefits {
        flex-wrap: wrap;
        gap: 12px;
    }
    .eh-step {
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 12px;
    }
    .eh-timeline:before {
        left: 23px;
    }
    .eh-number {
        grid-column: 1;
        grid-row: 1;
        width: 44px;
        height: 44px;
        font-size: 17px;
    }
    .eh-photo,
    .eh-step:nth-child(even) .eh-photo {
        grid-column: 2;
        grid-row: 1;
        height: 170px;
    }
    .eh-step-card,
    .eh-step:nth-child(even) .eh-step-card {
        grid-column: 2;
        grid-row: 2;
    }
    .eh-step:nth-child(even) .eh-number {
        grid-column: 1;
        grid-row: 1;
    }
    .eh-step-card {
        padding: 17px;
        min-height: 0;
    }
    .eh-step-icon {
        width: 54px;
        height: 54px;
        font-size: 24px;
    }
    .eh-cta {
        flex-wrap: wrap;
        padding: 22px;
    }
    .eh-cta-button {
        margin-left: 0;
        width: 100%;
    }
}
@media (max-width: 460px) {
    .eh-hero h1 {
        font-size: 41px;
    }
    .eh-benefits span {
        max-width: 100%;
        width: 100%;
    }
    .eh-hero {
        min-height: 625px;
    }
    .eh-step-card {
        gap: 12px;
    }
    .eh-step-card h3 {
        font-size: 16px;
    }
    .eh-step-card p {
        font-size: 13px;
    }
    .eh-cta h2 {
        font-size: 20px;
    }
}

/* Howdriving: dedicated generated imagery and font-independent vector icons */
.enfa-how-v2 .eh-hero-bg {
    background-image: url("/images/enfa-howdriving-new/preregister.webp");
    background-position: 75% center;
}
.enfa-how-v2 .eh-step-icon svg {
    width: 36px;
    height: 36px;
    display: block;
    stroke: #2878ff;
}
.enfa-how-v2 .eh-benefits svg {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    padding: 9px;
    border: 1px solid #bdebf7;
    border-radius: 50%;
    background: #f2fcff;
    color: #05bdd5;
}
.enfa-how-v2 .eh-cta-icon svg {
    width: 45px;
    height: 45px;
    stroke: #fff;
}
@media (max-width: 800px) {
    .enfa-how-v2 .eh-step-icon svg {
        width: 27px;
        height: 27px;
    }
    .enfa-how-v2 .eh-hero-bg {
        background-position: 72% center;
    }
}
/* ENFA SAFETY 2026 - isolated public page */
.esafe {
    color: #0b2051;
    background: #fff;
    font-family: inherit;
}
.esafe * {
    box-sizing: border-box;
}
.esafe-wrap {
    max-width: 1450px;
    margin: 0 auto;
    padding-left: clamp(22px, 4vw, 65px);
    padding-right: clamp(22px, 4vw, 65px);
}
.esafe-kicker {
    font-size: 12px;
    font-weight: 850;
    letter-spacing: 0.18em;
    color: #02bcd3;
}
.esafe-hero {
    min-height: 540px;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: linear-gradient(90deg, #fff 0%, #fff 32%, #f0f9ff 68%, #e7f8ff);
}
.esafe-hero-art {
    position: absolute;
    z-index: -2;
    inset: 0 0 0 35%;
    background: url("/images/enfa-safety-2026/hero.webp") center 42% / cover
        no-repeat;
}
.esafe-hero:after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(
        90deg,
        #fff 0%,
        #fff 24%,
        rgba(255, 255, 255, 0.95) 34%,
        rgba(255, 255, 255, 0.28) 60%,
        transparent 84%
    );
    pointer-events: none;
}
.esafe-hero-inner {
    padding-top: clamp(160px, 12vw, 205px);
    padding-bottom: 32px;
}
.esafe-copy {
    max-width: 535px;
}
.esafe h1 {
    font-size: clamp(39px, 4vw, 66px);
    line-height: 1.07;
    letter-spacing: -0.045em;
    font-weight: 850;
    margin: 15px 0;
}
.esafe p {
    color: #65789e;
    line-height: 1.6;
}
.esafe-metrics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-top: 25px;
}
.esafe-metrics > div {
    font-size: 12px;
    line-height: 1.35;
}
.esafe-symbol {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 43px;
    height: 43px;
    border: 1px solid #9be9fa;
    border-radius: 50%;
    background: #effbff;
    color: #047bea;
    font-style: normal;
    font-size: 23px;
    margin-bottom: 9px;
}
.esafe-features {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 13px;
    padding-top: 22px;
    padding-bottom: 18px;
}
.esafe-features article {
    border: 1px solid #e0eaf5;
    border-radius: 17px;
    padding: 25px;
    box-shadow: 0 10px 26px rgba(21, 61, 119, 0.035);
}
.esafe-feature-icon {
    display: grid;
    place-items: center;
    width: 45px;
    height: 45px;
    border-radius: 13px;
    background: linear-gradient(140deg, #d8fcfd, #e9e5ff);
    color: #1687f5;
    font-size: 24px;
}
.esafe h3 {
    font-size: 18px;
    margin: 17px 0 7px;
    font-weight: 800;
}
.esafe-features p {
    font-size: 14px;
    margin: 0;
}
.esafe-audiences {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}
.esafe-audience {
    min-height: 425px;
    position: relative;
    border-radius: 19px;
    overflow: hidden;
    background: #edfaff;
}
.esafe-audience.passenger {
    background: #f8f1ff;
}
.esafe-audience-photo {
    position: absolute;
    right: 0;
    top: 0;
    width: 56%;
    height: 54%;
    background: url("/images/enfa-safety-2026/driver.webp") center/cover
        no-repeat;
    mask-image: linear-gradient(90deg, transparent, #000 35%);
}
.esafe-audience.passenger .esafe-audience-photo {
    background-image: url("/images/enfa-safety-2026/passenger.webp");
}
.esafe-audience-content {
    position: relative;
    padding: 27px;
    max-width: 100%;
}
.esafe-audience h2 {
    font-size: clamp(26px, 2.5vw, 36px);
    max-width: 52%;
    line-height: 1.12;
    margin: 13px 0;
}
.esafe-audience p {
    max-width: 48%;
    font-size: 14px;
}
.esafe-audience ul {
    list-style: none;
    margin: 25px 0 0;
    padding: 0;
    display: grid;
    gap: 12px;
    font-size: 14px;
}
.esafe-audience li {
    max-width: 95%;
}
.esafe-tracking {
    display: grid;
    grid-template-columns: 38% 1fr;
    gap: 34px;
    align-items: center;
    padding-top: 22px;
    padding-bottom: 20px;
}
.esafe-tracking-img {
    height: 205px;
    border-radius: 15px;
    overflow: hidden;
}
.esafe-tracking-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.esafe-tracking h2 {
    font-size: 31px;
    margin: 10px 0;
}
.esafe-tracking-points {
    display: flex;
    flex-wrap: wrap;
    gap: 19px;
    color: #174275;
    font-size: 13px;
    margin-top: 18px;
}
.esafe-responsibility {
    display: grid;
    grid-template-columns: 1.1fr 1.1fr 175px;
    gap: 24px;
    align-items: center;
    background: #071f48;
    color: white;
    border-radius: 20px;
    padding-top: 23px;
    padding-bottom: 23px;
}
.esafe-responsibility h2 {
    font-size: 25px;
    line-height: 1.2;
    margin: 9px 0;
}
.esafe-responsibility p {
    color: #d2e2fa;
    font-size: 14px;
}
.esafe-responsibility img {
    width: 100%;
    height: 105px;
    object-fit: cover;
    border-radius: 12px;
}
.esafe-cta {
    margin-top: 14px;
    margin-bottom: 28px;
    min-height: 115px;
    border-radius: 18px;
    background: linear-gradient(105deg, #05c9cc, #278bf3 55%, #7931ff);
    color: white;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding-top: 24px;
    padding-bottom: 24px;
}
.esafe-cta h2 {
    font-size: 24px;
    margin: 0 0 6px;
}
.esafe-cta p {
    color: white;
    margin: 0;
}
.esafe-cta a {
    display: inline-flex;
    gap: 25px;
    align-items: center;
    background: white;
    color: #071b50 !important;
    padding: 17px 25px;
    border-radius: 14px;
    text-decoration: none;
    font-weight: 800;
    white-space: nowrap;
    position: relative;
    overflow: hidden;
    transition:
        transform 0.2s,
        box-shadow 0.2s;
}
.esafe-cta a:after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-130%) skewX(-25deg);
    background: linear-gradient(
        90deg,
        transparent,
        rgba(39, 174, 255, 0.35),
        transparent
    );
    transition: transform 0.6s;
}
.esafe-cta a:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px #061d4a44;
}
.esafe-cta a:hover:after {
    transform: translateX(130%) skewX(-25deg);
}
@media (max-width: 900px) {
    .esafe-hero-art {
        left: 20%;
    }
    .esafe-features {
        grid-template-columns: repeat(2, 1fr);
    }
    .esafe-audiences {
        grid-template-columns: 1fr;
    }
    .esafe-responsibility {
        grid-template-columns: 1fr 1fr;
    }
    .esafe-responsibility img {
        display: none;
    }
}
@media (max-width: 600px) {
    .esafe-hero {
        min-height: 620px;
    }
    .esafe-hero-art {
        inset: 0 0 35% 0;
        background-position: center;
    }
    .esafe-hero:after {
        background: linear-gradient(
            0deg,
            #fff 0%,
            rgba(255, 255, 255, 0.97) 35%,
            rgba(255, 255, 255, 0.35) 85%
        );
    }
    .esafe-hero-inner {
        padding-top: 300px;
    }
    .esafe-copy {
        max-width: 100%;
    }
    .esafe h1 {
        font-size: 37px;
    }
    .esafe-metrics {
        grid-template-columns: repeat(2, 1fr);
    }
    .esafe-features {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
    .esafe-features article {
        padding: 15px;
    }
    .esafe-features h3 {
        font-size: 15px;
    }
    .esafe-audience-photo {
        opacity: 0.55;
    }
    .esafe-audience h2,
    .esafe-audience p {
        max-width: 65%;
    }
    .esafe-tracking {
        grid-template-columns: 1fr;
    }
    .esafe-responsibility {
        grid-template-columns: 1fr;
    }
    .esafe-cta {
        display: block;
    }
    .esafe-cta a {
        margin-top: 18px;
    }
}

/* enfá! unified legal center: smooth document navigation */
.enfa-legal-v3 {
    background: linear-gradient(180deg, #f7fcff 0%, #fff 42%);
    padding-bottom: 60px;
}
.enfa-legal-v3 .enfa-legal-hero-v3 {
    padding-top: clamp(155px, 13vw, 210px);
    padding-bottom: 45px;
    min-height: 420px;
}
.enfa-legal-v3 .enfa-legal-hero-copy {
    position: relative;
    z-index: 1;
}
.enfa-legal-v3 .enfa-legal-shell-v3 {
    grid-template-columns: 240px minmax(0, 1fr);
    margin-bottom: 28px;
}
.enfa-legal-v3 .enfa-legal-sidebar {
    min-width: 0;
}
.enfa-legal-v3 .enfa-legal-nav {
    top: 110px;
}
.enfa-legal-v3 .enfa-legal-nav a {
    transition:
        background 0.24s,
        color 0.24s,
        transform 0.24s;
}
.enfa-legal-v3 .enfa-legal-nav a:hover {
    transform: translateX(3px);
}
.enfa-legal-v3 .enfa-legal-document {
    min-height: 360px;
    transition:
        opacity 0.23s ease,
        transform 0.23s ease;
}
.enfa-legal-v3.enfa-legal-switching .enfa-legal-document {
    opacity: 0.4;
    transform: translateY(5px);
}
.enfa-legal-v3 .enfa-legal-help {
    margin-top: 14px;
    border: 1px solid #dceaf5;
    border-radius: 22px;
    padding: 22px;
    background: #fff;
    color: #142552;
}
.enfa-legal-v3 .enfa-legal-help > span {
    font-size: 35px;
    color: #02bcca;
}
.enfa-legal-v3 .enfa-legal-help h3 {
    font-size: 18px;
    margin: 9px 0;
}
.enfa-legal-v3 .enfa-legal-help p {
    font-size: 13px;
    line-height: 1.6;
    color: #667796;
}
.enfa-legal-v3 .enfa-legal-help a {
    display: inline-block;
    margin-top: 12px;
    border: 1px solid #b5d8f7;
    border-radius: 13px;
    padding: 12px 16px;
    font-weight: 750;
    text-decoration: none;
}
.enfa-legal-v3 .enfa-legal-cta {
    max-width: 1184px;
    margin: 20px auto 0;
    padding: 25px 32px;
    border-radius: 22px;
    background: linear-gradient(105deg, #04c8d2, #2577f2 55%, #7834fa);
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 22px;
}
.enfa-legal-v3 .enfa-legal-cta h2 {
    font-size: clamp(20px, 2vw, 28px);
    margin: 0 0 8px;
    color: #fff;
}
.enfa-legal-v3 .enfa-legal-cta p {
    margin: 0;
    max-width: 650px;
    color: #fff;
}
.enfa-legal-v3 .enfa-legal-cta a {
    background: #fff;
    color: #112554;
    padding: 15px 20px;
    border-radius: 13px;
    white-space: nowrap;
    text-decoration: none;
    font-weight: 800;
}
@media (max-width: 780px) {
    .enfa-legal-v3 .enfa-legal-hero-v3 {
        padding-top: 150px;
    }
    .enfa-legal-v3 .enfa-legal-shell-v3 {
        grid-template-columns: 1fr;
    }
    .enfa-legal-v3 .enfa-legal-nav {
        position: static;
    }
    .enfa-legal-v3 .enfa-legal-cta {
        margin: 20px 18px;
        flex-direction: column;
        align-items: flex-start;
    }
    .enfa-legal-v3 .enfa-legal-cta a {
        white-space: normal;
    }
}
@media (prefers-reduced-motion: reduce) {
    .enfa-legal-v3 .enfa-legal-document,
    .enfa-legal-v3 .enfa-legal-nav a {
        transition: none;
    }
}

/* LEGAL HERO PHOTOGRAPHIC 2026-10-08 — dedicated generated image */
.enfa-legal-v3 .enfa-legal-hero-v3 {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 510px;
    padding-top: clamp(165px, 12vw, 205px);
    padding-bottom: 78px;
    background: #e9f8ff;
}
.enfa-legal-v3 .enfa-legal-hero-v3::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background: url("/images/enfa-legal-2026/hero-legal.webp") 76% 40% / cover
        no-repeat;
}
.enfa-legal-v3 .enfa-legal-hero-v3::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(
        90deg,
        #fff 0%,
        rgba(255, 255, 255, 0.98) 23%,
        rgba(255, 255, 255, 0.91) 37%,
        rgba(255, 255, 255, 0.35) 59%,
        transparent 82%
    );
    pointer-events: none;
}
.enfa-legal-v3 .enfa-legal-hero-copy {
    max-width: 570px;
}
.enfa-legal-v3 .enfa-legal-hero-v3 h1 {
    font-size: clamp(42px, 5vw, 72px);
    font-weight: 850;
    line-height: 1.05;
    letter-spacing: -0.045em;
    color: #0a2054;
}
.enfa-legal-v3 .enfa-legal-hero-v3 p {
    max-width: 490px;
    font-size: clamp(15px, 1.3vw, 18px);
    line-height: 1.6;
}
.enfa-legal-v3 .enfa-legal-mark {
    display: none !important;
}
.enfa-legal-v3 .enfa-legal-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}
.enfa-legal-v3 .enfa-legal-meta span {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    min-height: 47px;
    padding: 12px 20px;
    border: 1px solid #b8e7f5;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.91);
    box-shadow: 0 7px 24px rgba(15, 78, 145, 0.08);
    color: #10275a;
    font-weight: 750;
    transition:
        transform 0.24s,
        box-shadow 0.24s,
        border-color 0.24s;
}
.enfa-legal-v3 .enfa-legal-meta span:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(18, 150, 225, 0.2);
    border-color: #00c7dd;
}
.enfa-legal-v3 .enfa-legal-nav a,
.enfa-legal-v3 .enfa-legal-help a,
.enfa-legal-v3 .enfa-legal-cta a {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transition:
        transform 0.25s,
        box-shadow 0.25s,
        color 0.25s,
        background 0.25s;
}
.enfa-legal-v3 .enfa-legal-nav a::after,
.enfa-legal-v3 .enfa-legal-help a::after,
.enfa-legal-v3 .enfa-legal-cta a::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    transform: translateX(-150%) skewX(-24deg);
    background: linear-gradient(
        90deg,
        transparent,
        rgba(0, 208, 244, 0.2),
        rgba(255, 255, 255, 0.86),
        rgba(114, 60, 255, 0.18),
        transparent
    );
    transition: transform 0.65s ease;
    pointer-events: none;
}
.enfa-legal-v3 .enfa-legal-nav a:hover::after,
.enfa-legal-v3 .enfa-legal-help a:hover::after,
.enfa-legal-v3 .enfa-legal-cta a:hover::after {
    transform: translateX(150%) skewX(-24deg);
}
.enfa-legal-v3 .enfa-legal-help a:hover,
.enfa-legal-v3 .enfa-legal-cta a:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 26px rgba(43, 91, 215, 0.2);
    color: #0b2355 !important;
}
.enfa-legal-v3 .enfa-legal-nav a:hover {
    box-shadow: 0 6px 18px rgba(52, 116, 210, 0.1);
}
@media (max-width: 780px) {
    .enfa-legal-v3 .enfa-legal-hero-v3 {
        min-height: 520px;
        padding-top: 145px;
        padding-bottom: 45px;
    }
    .enfa-legal-v3 .enfa-legal-hero-v3::before {
        background-position: 65% center;
    }
    .enfa-legal-v3 .enfa-legal-hero-v3::after {
        background: linear-gradient(
            90deg,
            #fffffff5 0%,
            #ffffffdf 55%,
            #ffffff5e 100%
        );
    }
    .enfa-legal-v3 .enfa-legal-hero-copy {
        max-width: 95%;
    }
}
@media (max-width: 480px) {
    .enfa-legal-v3 .enfa-legal-hero-v3 {
        min-height: 590px;
    }
    .enfa-legal-v3 .enfa-legal-hero-v3::before {
        background-position: 70% center;
    }
    .enfa-legal-v3 .enfa-legal-hero-v3::after {
        background: linear-gradient(
            180deg,
            #ffffffed 0%,
            #ffffffec 56%,
            #ffffff77 100%
        );
    }
    .enfa-legal-v3 .enfa-legal-meta span {
        font-size: 12px;
        padding: 10px 13px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .enfa-legal-v3 .enfa-legal-meta span,
    .enfa-legal-v3 .enfa-legal-nav a::after,
    .enfa-legal-v3 .enfa-legal-help a::after,
    .enfa-legal-v3 .enfa-legal-cta a::after {
        transition: none;
    }
}
