/**
 * Home — maqueta pixel-perfect desde home-aicom.pdf (artboard 1280px)
 */

.aicom-page--home,
.aicom-page--features {
    --home-pad: clamp(24px, 7.8125vw, 100px);
    --home-container: 1080px;
    --home-header-h: 106px;
    --home-section-h: calc(100dvh - var(--home-header-h));
    scroll-padding-top: var(--home-header-h);
    --home-dark: #141414;
    --home-ink: #1a1a1a;
    --home-muted: rgba(26, 26, 26, 0.72);
    --home-brand: #C5001B;
    --home-brand-2: #b91515;
    --home-orange: #f2994a;
    --home-surface: #ececec;
    --home-input-bg: #f3f3f3;
    --home-radius-card: 20px;
    --home-radius-pill: 999px;
    --home-radius-btn: 8px;
    --home-radius-cta: 999px;
    --home-shadow-card: 0 16px 40px rgba(26, 26, 26, 0.08);
    --home-gradient-btn: linear-gradient(90deg, #f2994a 0%, #d11b1b 50%, #8f0000 100%);
    --home-gradient-highlight: linear-gradient(90deg, #f2994a 0%, #d11b1b 55%, #8f0000 100%);
}

.aicom-page--home .aicom-container,
.aicom-page--features .aicom-container {
    width: min(var(--home-container), calc(100% - var(--home-pad) * 2));
    margin-inline: auto;
    box-sizing: border-box;
}

.aicom-page--home .aicom-br-desktop {
    display: none;
}

/* —— Loading splash —— */
.aicom-loader {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--home-dark);
    overflow: hidden;
}

.aicom-loader__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
}

.aicom-loader__logo {
    display: block;
    height: 56px;
    width: auto;
}

.aicom-loader__bar {
    width: 128px;
    height: 3px;
    border-radius: var(--home-radius-pill);
    background: rgba(255, 255, 255, 0.12);
    overflow: hidden;
}

.aicom-loader__bar-fill {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    background: var(--home-gradient-btn);
    transform: scaleX(0);
    transform-origin: left center;
}

@media (prefers-reduced-motion: no-preference) {
    .aicom-loader__logo {
        animation: aicom-loader-logo-pulse 1.4s ease-in-out infinite;
    }

    .aicom-loader__bar-fill {
        animation: aicom-loader-bar-fill 2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    }

    .aicom-loader.aicom-loader--exit {
        animation: aicom-loader-exit 0.65s cubic-bezier(0.4, 0, 0.2, 1) forwards;
        pointer-events: none;
    }

    .aicom-loader.aicom-loader--exit .aicom-loader__inner {
        animation: aicom-loader-inner-exit 0.55s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    }
}

@keyframes aicom-loader-logo-pulse {
    0%,
    100% {
        opacity: 0.86;
        transform: scale(1);
    }

    50% {
        opacity: 1;
        transform: scale(1.04);
    }
}

@keyframes aicom-loader-bar-fill {
    from {
        transform: scaleX(0);
    }

    to {
        transform: scaleX(1);
    }
}

@keyframes aicom-loader-inner-exit {
    from {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }

    to {
        opacity: 0;
        transform: translate3d(0, -18px, 0) scale(0.96);
    }
}

@keyframes aicom-loader-exit {
    from {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }

    to {
        opacity: 0;
        transform: translate3d(0, -100%, 0);
    }
}

body.aicom-is-loading {
    overflow: hidden;
}

body.aicom-is-loading .aicom-site-header,
body.aicom-is-loading .aicom-main,
body.aicom-is-loading .aicom-footer {
    visibility: hidden;
}

.aicom-page--home:not(.aicom-is-loaded) .aicom-site-header,
.aicom-page--home:not(.aicom-is-loaded) .aicom-hero__content,
.aicom-page--home:not(.aicom-is-loaded) .aicom-hero__figura,
.aicom-page--home:not(.aicom-is-loaded) .aicom-hero__visual,
.aicom-page--home:not(.aicom-is-loaded) .aicom-hero__mockup {
    opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
    .aicom-loader {
        display: none;
    }

    body.aicom-is-loading {
        overflow: auto;
    }

    body.aicom-is-loading .aicom-site-header,
    body.aicom-is-loading .aicom-main,
    body.aicom-is-loading .aicom-footer {
        visibility: visible;
    }

    .aicom-page--home:not(.aicom-is-loaded) .aicom-site-header,
    .aicom-page--home:not(.aicom-is-loaded) .aicom-hero__content,
    .aicom-page--home:not(.aicom-is-loaded) .aicom-hero__figura,
    .aicom-page--home:not(.aicom-is-loaded) .aicom-hero__visual,
    .aicom-page--home:not(.aicom-is-loaded) .aicom-hero__mockup {
        opacity: 1;
    }
}

/* —— Header (home + funcionalidades) —— */
.aicom-page--landing .aicom-header__inner {
    min-height: 72px;
    padding-block: 0.65rem;
}

.aicom-page--landing .aicom-header .aicom-brand {
    gap: 0.75rem;
}

.aicom-page--landing .aicom-header .aicom-brand__logo {
    height: 48px;
    width: auto;
}

.aicom-page--landing .aicom-header .aicom-brand__divider {
    width: 1px;
    height: 28px;
    background: var(--home-brand);
    flex-shrink: 0;
}

.aicom-page--landing .aicom-header .aicom-brand__suffix {
    font-size: 18px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.72);
}

.aicom-page--landing .aicom-header .aicom-nav__list {
    gap: 0.5rem 2rem;
}

.aicom-page--landing .aicom-header .aicom-nav__link:not(.aicom-nav__link--login) {
    font-size: 18px;
    font-weight: 600;
    color: #fff;
    transition: color 0.5s ease;
}

.aicom-page--landing .aicom-header .aicom-nav__link:not(.aicom-nav__link--login):hover,
.aicom-page--landing .aicom-header .aicom-nav__link:not(.aicom-nav__link--login).is-active {
    color: var(--home-brand);
}

.aicom-page--landing .aicom-header .aicom-nav__link--login {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0.4rem 1.25rem;
    font-size: 18px;
    font-weight: 700;
    color: var(--home-brand);
    background: transparent;
    border: 1.5px solid var(--home-brand);
    border-radius: var(--home-radius-cta);
    line-height: 1.2;
    transition: background 0.5s ease, color 0.5s ease, border-color 0.5s ease;
}

.aicom-page--landing .aicom-header .aicom-nav__link--login:hover {
    color: #fff;
    background: rgba(209, 27, 27, 0.12);
}

.aicom-page--landing .aicom-header .aicom-btn--brand.aicom-btn--sm {
    background: var(--home-brand);
    border: 1.5px solid var(--home-brand);
    border-radius: var(--home-radius-cta);
    box-shadow: 0 6px 18px rgba(209, 27, 27, 0.14);
    font-size: 18px;
    font-weight: 700;
    padding: 0.4rem 1.25rem;
    min-height: 40px;
    transition:
        transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.9s cubic-bezier(0.22, 1, 0.36, 1),
        background-color 0.55s ease,
        border-color 0.55s ease,
        color 0.4s ease;
}

.aicom-page--landing .aicom-header .aicom-btn--brand.aicom-btn--sm:hover {
    background: var(--home-brand-2);
    border-color: var(--home-brand-2);
    box-shadow: 0 8px 22px rgba(209, 27, 27, 0.2);
}

/* Secciones ancla del menú: altura mínima = viewport visible bajo el header sticky */
.aicom-page--home .aicom-landing-anchor {
    scroll-margin-top: var(--home-header-h);
    min-height: var(--home-section-h);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

.aicom-page--home .aicom-landing-anchor > .aicom-container {
    width: min(var(--home-container), calc(100% - var(--home-pad) * 2));
    flex: 1 0 auto;
    margin-block: auto;
}

.aicom-page--home .aicom-pricing.aicom-landing-anchor {
    position: relative;
}

.aicom-page--home .aicom-pricing.aicom-landing-anchor > .aicom-container {
    position: relative;
    z-index: 1;
}

@media (prefers-reduced-motion: no-preference) {
    .aicom-page--home {
        scroll-behavior: smooth;
    }
}

/* —— Hero (PDF: título 60px / 2 líneas, lead 24px / 4 líneas, CTA 30px) —— */
.aicom-page--home .aicom-hero {
    position: relative;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: var(--home-section-h);
    padding: clamp(16px, 2vw, 24px) 0;
    background: #fff;
    overflow: visible;
}

@media (prefers-reduced-motion: no-preference) {
    .aicom-page--home.aicom-is-loaded .aicom-hero__content {
        animation: aicom-hero-enter-left 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.08s both;
    }

    .aicom-page--home.aicom-is-loaded .aicom-hero__figura {
        animation: aicom-hero-enter-figura 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.12s both;
    }

    .aicom-page--home.aicom-is-loaded .aicom-hero__visual {
        animation: aicom-hero-enter-right 0.95s cubic-bezier(0.22, 1, 0.36, 1) 0.22s both;
    }

    .aicom-page--home.aicom-is-loaded .aicom-hero__mockup {
        animation: aicom-hero-enter-mockup 1s cubic-bezier(0.22, 1, 0.36, 1) 0.38s both;
    }

    .aicom-page--home.aicom-is-loaded .aicom-header {
        animation: aicom-header-enter 0.72s cubic-bezier(0.22, 1, 0.36, 1) 0.04s both;
    }
}

@keyframes aicom-hero-enter-left {
    from {
        opacity: 0;
        transform: translate3d(-32px, 28px, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes aicom-hero-enter-right {
    from {
        opacity: 0;
        transform: translate3d(40px, 24px, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes aicom-hero-enter-figura {
    from {
        opacity: 0;
        transform: translate(50%, -46%) scale(0.9);
    }

    to {
        opacity: 1;
        transform: translate(50%, -50%) scale(1);
    }
}

@keyframes aicom-hero-enter-mockup {
    from {
        opacity: 0;
        filter: drop-shadow(0 8px 20px rgba(0, 0, 0, 0.08));
    }

    to {
        opacity: 1;
        filter: drop-shadow(0 22px 44px rgba(0, 0, 0, 0.18));
    }
}

@keyframes aicom-header-enter {
    from {
        opacity: 0;
        transform: translate3d(0, -12px, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.aicom-page--home .aicom-hero__grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 500px) minmax(0, 1fr);
    gap: 16px 24px;
    align-items: center;
}

.aicom-page--home .aicom-hero__content {
    grid-column: 1;
    grid-row: 1;
    position: relative;
    z-index: 2;
    max-width: 500px;
}

.aicom-page--home .aicom-hero__visual {
    grid-column: 2;
    grid-row: 1;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: clamp(320px, 42vw, 480px);
    overflow: visible;
}

.aicom-page--home .aicom-hero__scene {
    position: relative;
    width: min(100%, 600px);
    height: min(52vw, 500px);
    margin-right: clamp(-40px, -6vw, -90px);
    perspective: 1200px;
}

.aicom-page--home .aicom-hero__title {
    margin: 0 0 34px;
    font-size: clamp(38px, 4.6875vw, 50px);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.03em;
    color: var(--home-ink);
}

.aicom-page--home .aicom-hero__title-line {
    display: block;
}

.aicom-page--home .aicom-hero__title-line.aicom-italic {
    font-style: italic;
}

.aicom-page--home .aicom-hero__title-line + .aicom-hero__title-line {
    margin-top: 0.17em;
}

.aicom-page--home .aicom-hero__lead {
    margin: 0 0 40px;
    font-size: clamp(17px, 1.875vw, 24px);
    font-weight: 500;
    line-height: 1.25;
    color: var(--home-muted);
    max-width: 460px;
}

.aicom-page--home .aicom-hero .aicom-btn--hero {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 0;
    padding: 0.85rem 2.5rem;
    min-height: 58px;
    font-size: clamp(20px, 2.34vw, 30px);
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
    border: none;
    border-radius: var(--home-radius-cta);
    background: var(--home-gradient-btn);
    background-size: 200% 100%;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.1),
        0 10px 26px rgba(209, 27, 27, 0.18);
}

.aicom-page--home .aicom-hero .aicom-btn--hero:hover {
    color: #fff;
}

.aicom-page--home .aicom-hero__figura {
    grid-column: 2;
    grid-row: 1;
    position: absolute;
    right: -50%;
    top: 50%;
    transform: translate(50%, -50%);
    width: min(58vw, 720px);
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
    z-index: 0;
    pointer-events: none;
    justify-self: end;
    align-self: center;
    max-width: 1400px;
}

.aicom-page--home .aicom-hero__mockup {
    position: absolute;
    left: 0%;
    top: 50%;
    --mockup-tx: 0px;
    --mockup-ty: 0px;
    --mockup-rx: 0deg;
    --mockup-ry: 0deg;
    transform: translateY(-50%) translate3d(var(--mockup-tx), var(--mockup-ty), 0)
        rotateX(var(--mockup-rx)) rotateY(var(--mockup-ry));
    transform-origin: center center;
    width: 100%;
    height: auto;
    z-index: 1;
    display: block;
    filter: drop-shadow(0 22px 44px rgba(0, 0, 0, 0.18));
    will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
    .aicom-page--home .aicom-hero__content,
    .aicom-page--home .aicom-hero__figura,
    .aicom-page--home .aicom-hero__visual,
    .aicom-page--home .aicom-hero__mockup {
        animation: none !important;
    }

    .aicom-page--home .aicom-hero__mockup {
        will-change: auto;
    }
}

/* —— Scroll reveal (unified .aicom-reveal) —— */
@media (prefers-reduced-motion: no-preference) {
    html.aicom-reveal-ready .aicom-public .aicom-reveal:not(.is-visible) {
        opacity: 0;
    }

    html.aicom-reveal-ready .aicom-public .aicom-reveal[data-reveal="fade-up"]:not(.is-visible),
    html.aicom-reveal-ready .aicom-public .aicom-reveal:not([data-reveal]):not(.is-visible) {
        transform: translate3d(0, 32px, 0);
    }

    html.aicom-reveal-ready .aicom-public .aicom-reveal[data-reveal="fade"]:not(.is-visible) {
        transform: none;
    }

    html.aicom-reveal-ready .aicom-public .aicom-reveal[data-reveal="slide-left"]:not(.is-visible) {
        transform: translate3d(-40px, 18px, 0);
    }

    html.aicom-reveal-ready .aicom-public .aicom-reveal[data-reveal="slide-right"]:not(.is-visible) {
        transform: translate3d(40px, 18px, 0);
    }

    html.aicom-reveal-ready .aicom-public .aicom-reveal[data-reveal="rise-scale"]:not(.is-visible) {
        transform: translate3d(0, 28px, 0) scale(0.965);
    }

    html.aicom-reveal-ready .aicom-public .aicom-reveal[data-reveal="pop"]:not(.is-visible) {
        transform: scale(0.86);
    }

    html.aicom-reveal-ready .aicom-public .aicom-reveal[data-reveal="mask-up"]:not(.is-visible) {
        clip-path: inset(100% 0 0 0);
        transform: none;
    }

    .aicom-public .aicom-reveal.is-visible {
        animation-duration: 0.85s;
        animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
        animation-fill-mode: both;
        animation-delay: calc(var(--reveal-delay, 0) * 1ms);
    }

    .aicom-public .aicom-reveal[data-reveal="fade-up"].is-visible,
    .aicom-public .aicom-reveal:not([data-reveal]).is-visible {
        animation-name: aicom-reveal-fade-up;
    }

    .aicom-public .aicom-reveal[data-reveal="fade"].is-visible {
        animation-name: aicom-reveal-fade;
        animation-duration: 0.75s;
    }

    .aicom-public .aicom-reveal[data-reveal="slide-left"].is-visible {
        animation-name: aicom-reveal-slide-left;
    }

    .aicom-public .aicom-reveal[data-reveal="slide-right"].is-visible {
        animation-name: aicom-reveal-slide-right;
    }

    .aicom-public .aicom-reveal[data-reveal="rise-scale"].is-visible {
        animation-name: aicom-reveal-rise-scale;
        animation-duration: 0.92s;
    }

    .aicom-public .aicom-reveal[data-reveal="pop"].is-visible {
        animation-name: aicom-reveal-pop;
        animation-duration: 0.72s;
        animation-timing-function: cubic-bezier(0.34, 1.4, 0.64, 1);
    }

    .aicom-public .aicom-reveal[data-reveal="mask-up"].is-visible {
        animation-name: aicom-reveal-mask-up;
        animation-duration: 0.9s;
    }

    .aicom-showcase--landing .aicom-showcase-card.is-visible .aicom-showcase-card__chip {
        animation: aicom-showcase-chip-pop 0.65s cubic-bezier(0.34, 1.4, 0.64, 1) 0.38s both;
    }

    .aicom-page--home .aicom-how-card.is-visible img {
        animation: aicom-how-icon-in 0.78s cubic-bezier(0.22, 1, 0.36, 1) 0.18s both;
    }

    .aicom-page--home .aicom-pricing-card.is-visible .aicom-pricing-card__amount {
        animation: aicom-pricing-amount-in 0.82s cubic-bezier(0.22, 1, 0.36, 1) 0.12s both;
    }

    .aicom-page--home .aicom-pricing-card.is-visible .aicom-pricing-card__features li {
        animation: aicom-reveal-fade-up 0.72s cubic-bezier(0.22, 1, 0.36, 1) both;
    }

    .aicom-page--home .aicom-pricing-card.is-visible .aicom-pricing-card__features li:nth-child(1) {
        animation-delay: 0.24s;
    }

    .aicom-page--home .aicom-pricing-card.is-visible .aicom-pricing-card__features li:nth-child(2) {
        animation-delay: 0.31s;
    }

    .aicom-page--home .aicom-pricing-card.is-visible .aicom-pricing-card__features li:nth-child(3) {
        animation-delay: 0.38s;
    }

    .aicom-page--home .aicom-pricing-card.is-visible .aicom-pricing-card__features li:nth-child(4) {
        animation-delay: 0.45s;
    }

    .aicom-page--home .aicom-pricing-card.is-visible .aicom-pricing-card__features li:nth-child(5) {
        animation-delay: 0.52s;
    }

    .aicom-page--home .aicom-pricing-card.is-visible .aicom-pricing-card__cta {
        animation: aicom-reveal-fade-up 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.58s both;
    }

    html.aicom-reveal-ready .aicom-page--home .aicom-pricing-card:not(.is-visible) .aicom-pricing-card__amount,
    html.aicom-reveal-ready .aicom-page--home .aicom-pricing-card:not(.is-visible) .aicom-pricing-card__features li,
    html.aicom-reveal-ready .aicom-page--home .aicom-pricing-card:not(.is-visible) .aicom-pricing-card__cta {
        opacity: 0;
    }

    html.aicom-reveal-ready .aicom-page--home .aicom-how-card:not(.is-visible) img {
        opacity: 0;
    }

    html.aicom-reveal-ready .aicom-showcase--landing .aicom-showcase-card:not(.is-visible) .aicom-showcase-card__chip {
        opacity: 0;
        transform: translateY(50%) scale(0.86);
    }
}

@media (prefers-reduced-motion: reduce) {
    html.aicom-reveal-ready .aicom-public .aicom-reveal:not(.is-visible) {
        opacity: 1 !important;
        transform: none !important;
        clip-path: none !important;
    }

    html.aicom-reveal-ready .aicom-page--home .aicom-pricing-card:not(.is-visible) .aicom-pricing-card__amount,
    html.aicom-reveal-ready .aicom-page--home .aicom-pricing-card:not(.is-visible) .aicom-pricing-card__features li,
    html.aicom-reveal-ready .aicom-page--home .aicom-pricing-card:not(.is-visible) .aicom-pricing-card__cta,
    html.aicom-reveal-ready .aicom-page--home .aicom-how-card:not(.is-visible) img,
    html.aicom-reveal-ready .aicom-showcase--landing .aicom-showcase-card:not(.is-visible) .aicom-showcase-card__chip {
        opacity: 1 !important;
        transform: translateY(50%) !important;
    }
}

@keyframes aicom-reveal-fade-up {
    from {
        opacity: 0;
        transform: translate3d(0, 32px, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes aicom-reveal-fade {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes aicom-reveal-slide-left {
    from {
        opacity: 0;
        transform: translate3d(-40px, 18px, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes aicom-reveal-slide-right {
    from {
        opacity: 0;
        transform: translate3d(40px, 18px, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes aicom-reveal-rise-scale {
    from {
        opacity: 0;
        transform: translate3d(0, 28px, 0) scale(0.965);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@keyframes aicom-reveal-pop {
    from {
        opacity: 0;
        transform: scale(0.86);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes aicom-showcase-chip-pop {
    from {
        opacity: 0;
        transform: translateY(50%) scale(0.86);
    }

    to {
        opacity: 1;
        transform: translateY(50%) scale(1);
    }
}

@keyframes aicom-reveal-mask-up {
    from {
        clip-path: inset(100% 0 0 0);
        opacity: 0;
    }

    to {
        clip-path: inset(0 0 0 0);
        opacity: 1;
    }
}

@keyframes aicom-how-icon-in {
    from {
        opacity: 0;
        transform: translate3d(0, 14px, 0) scale(0.9);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@keyframes aicom-pricing-amount-in {
    from {
        opacity: 0;
        transform: translate3d(0, 12px, 0) scale(0.94);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@keyframes aicom-nav-item-in {
    from {
        opacity: 0;
        transform: translate3d(0, 10px, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes aicom-nav-panel-in {
    from {
        opacity: 0;
        transform: translate3d(0, -10px, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes aicom-nav-line-draw {
    from {
        transform: scaleX(0);
    }

    to {
        transform: scaleX(1);
    }
}

@keyframes aicom-nav-backdrop-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/* —— Showcase (PDF artboard: card 346px, gap 25px, img 308×253, chip 86×45) —— */
.aicom-showcase--landing .aicom-container-showcase {
    display: flex;
    align-items: center;
}
        
.aicom-showcase--landing {
    --showcase-card-w: 346px;
    --showcase-gap: 25px;
    --showcase-img-inset: 21px;
    --showcase-body-inset: 28px;
    --showcase-body-overlap: 118px;
    --showcase-title-lh: 24px;
    --showcase-body-lh: 20px;
    padding: 40px 0 64px;
    background: var(--home-surface);
}

.aicom-showcase--landing .aicom-showcase__grid {
    display: grid;
    gap: var(--showcase-gap);
    align-items: start;
}

.aicom-page--home .aicom-showcase--landing .aicom-showcase__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-items: center;
}

.aicom-showcase--landing .aicom-showcase-card {
    position: relative;
    display: block;
    width: min(100%, var(--showcase-card-w));
    max-width: var(--showcase-card-w);
    margin: 0 auto 10px;
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    min-height: 0;
    overflow: visible;
}

.aicom-showcase--landing .aicom-showcase-card__stack {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: visible;
}

.aicom-showcase--landing .aicom-showcase-card__media {
    position: relative;
    z-index: 0;
    overflow: hidden;
    margin: 0 var(--showcase-img-inset);
    border-radius: 20px;
    background: #e4e4e4;
    aspect-ratio: 308 / 253;
}

.aicom-showcase--landing .aicom-showcase-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transform: scale(1);
    transform-origin: center center;
}

@media (prefers-reduced-motion: no-preference) {
    html.aicom-reveal-ready .aicom-showcase--landing .aicom-showcase-card:not(.is-visible) .aicom-showcase-card__media img {
        transform: scale(0.94);
    }

    .aicom-showcase--landing .aicom-showcase-card.is-visible .aicom-showcase-card__media img {
        animation: aicom-showcase-img-zoom 1.15s cubic-bezier(0.22, 1, 0.36, 1) 0.08s both;
    }
}

@keyframes aicom-showcase-img-zoom {
    from {
        transform: scale(0.94);
    }

    to {
        transform: scale(1);
    }
}

.aicom-showcase--landing .aicom-showcase-card__body {
    position: relative;
    z-index: 1;
    width: calc(100% - var(--showcase-body-inset) * 2);
    margin: calc(-1 * var(--showcase-body-overlap)) auto 0;
    padding: 22px 32px 54px 32px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 14px 36px rgba(26, 26, 26, 0.09);
    overflow: visible;
}

.aicom-showcase--landing .aicom-showcase-card__title {
    margin: 0 0 14px;
    font-size: 24px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.02em;
    color: var(--home-ink);
    text-align: left;
}

.aicom-showcase--landing .aicom-showcase-card__title span {
    color: #e0061f;
    white-space: normal;
}

.aicom-showcase--landing .aicom-showcase-card__text {
    margin: 0;
    width: 100%;
    max-width: none;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.35;
    color: rgba(26, 26, 26, 0.88);
    text-align: left;
}

.aicom-showcase--landing .aicom-showcase-card__chip {
    position: absolute;
    right: 26px;
    bottom: 0;
    transform: translateY(50%);
    width: 86px;
    height: 45px;
    flex-shrink: 0;
    border-radius: var(--home-radius-btn);
    background: url("../aicom-web/cards-deco.png") center / 100% 100% no-repeat;
    pointer-events: none;
}

/* —— Platform —— */
.aicom-page--home .aicom-platform {
    padding: 115px 0 100px;
    background: #fff;
    text-align: center;
    min-height: auto;
}

.aicom-page--home .aicom-platform__inner {
    max-width: 920px;
    margin-inline: auto;
    text-align: center;
}

.aicom-page--home .aicom-platform__title {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0;
    padding: 0;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--home-ink);
}

.aicom-page--home .aicom-platform__title-accent {
    display: inline-block;
    margin: 0 0 10px;
    padding: 4px 20px 8px;
    font-size: 36px;
    font-weight: 800;
    line-height: 46px;
    color: #fff;
    border-radius: 8px;
    background: var(--home-gradient-highlight);
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

.aicom-page--home .aicom-platform__title-plain {
    display: block;
    font-size: 36px;
    font-weight: 800;
    line-height: 46px;
    color: var(--home-ink);
}

.aicom-page--home .aicom-platform__lead {
    margin: 35px auto 0;
    max-width: 42em;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.45;
    color: rgba(26, 26, 26, 0.92);
    text-align: center;
}

.aicom-page--home .aicom-platform__lead strong {
    font-weight: 800;
    color: var(--home-ink);
}

/* —— Cómo funciona —— */
.aicom-page--home .aicom-how {
    --how-card-gap: 24px;
    padding: 80px 0 96px;
    background: #f4f4f4;
    overflow: hidden;
    text-align: left;
}

.aicom-page--home .aicom-how__wrap {
    position: relative;
}

.aicom-page--home .aicom-how__wrap::before {
    content: "";
    position: absolute;
    top: -24px;
    right: -80px;
    width: min(62vw, 680px);
    height: 100vh;
    background: url("../aicom-web/funcionamiento-fondo.png") left top / cover no-repeat;
    pointer-events: none;
    z-index: 0;
}

.aicom-page--home .aicom-how__header {
    position: relative;
    z-index: 1;
    max-width: 720px;
    margin: 0 0 48px;
    text-align: left;
}

.aicom-page--home .aicom-how__heading {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px 14px;
    margin: 0;
    padding: 0;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.aicom-page--home .aicom-how__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 0;
    padding: 6px 10px 6px 0px;
    font-size: clamp(36px, 5vw, 52px);
    font-weight: 800;
    line-height: 1;
    color: #fff;
    background: var(--home-brand);
    border-radius: 8px;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

.aicom-page--home .aicom-how__title {
    display: block;
    margin: 0;
    font-size: clamp(36px, 5vw, 52px);
    font-weight: 800;
    line-height: 1.05;
    color: var(--home-ink);
}

.aicom-page--home .aicom-how__lead {
    margin: 20px 0 0;
    max-width: 38em;
    font-size: clamp(17px, 2vw, 20px);
    font-weight: 500;
    line-height: 1.55;
    color: var(--home-muted);
}

.aicom-page--home .aicom-how__cards {
    position: relative;
    z-index: 1;
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--how-card-gap);
    width: 100%;
}


.aicom-page--home .aicom-how-card {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) minmax(220px, 300px);
    grid-template-areas: "num body icon";
    gap: 28px 32px;
    align-items: flex-start;
    box-sizing: border-box;
    width: 100%;
    height: 32vh;
    margin: 0;
    padding: 36px 40px;
    background: #fff;
    border: 1px solid rgba(26, 26, 26, 0.07);
    border-radius: 20px;
    box-shadow: 0 12px 32px rgba(26, 26, 26, 0.07);
    transition: box-shadow 0.2s ease;
    position: relative;
}

.aicom-page--home .aicom-how-card img {
    position: absolute;
    top: 0;
    right: 0;
    width: auto;
    height: 100%;
  
}

@media (hover: hover) {
    .aicom-page--home .aicom-how-card:hover {
        box-shadow: 0 18px 40px rgba(26, 26, 26, 0.11);
    }
}

.aicom-page--home .aicom-how-card__num {
    grid-area: num;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    border-radius: 18px;
    font-size: 34px;
    font-weight: 800;
    line-height: 1;
    flex-shrink: 0;
}

.aicom-page--home .aicom-how-card--1 .aicom-how-card__num {
    color: var(--home-orange);
}

.aicom-page--home .aicom-how-card--2 .aicom-how-card__num {
    color: var(--home-brand);
}

.aicom-page--home .aicom-how-card--3 .aicom-how-card__num {
    color: #8f0000;
}

.aicom-page--home .aicom-how-card__body {
    grid-area: body;
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
    text-align: left;
}

.aicom-page--home .aicom-how-card__title {
    margin: 0;
    font-size: clamp(24px, 2.6vw, 34px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--home-ink);
}

.aicom-page--home .aicom-how-card__text {
    margin: 0;
    max-width: none;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.65;
    color: rgba(26, 26, 26, 0.78);
}

.aicom-page--home .aicom-how-card__icon {
    grid-area: icon;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    width: 100%;
    min-height: 168px;
    padding: 8px 12px;
    flex-shrink: 0;
}

.aicom-page--home .aicom-how-card__icon img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 168px;
    object-fit: contain;
}

/* —— Pricing (PDF: label 60px, card 558×398, precio 72/60/30) —— */
.aicom-page--home .aicom-pricing {
    position: relative;
    padding: 56px 0 64px;
    overflow: hidden;
    color: #fff;
}

.aicom-page--home .aicom-pricing.aicom-landing-anchor {
    min-height: clamp(480px, 68vh, 620px);
}

.aicom-page--home .aicom-pricing__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-color: #8f0000;
    background-image: url("../aicom-web/pricing-bg.png");
    background-position: center;
    background-size: cover;
}

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .aicom-page--home .aicom-pricing__bg {
        background-image: url("../aicom-web/pricing-bg.png");
    }
}

.aicom-page--home .aicom-pricing__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) min(558px, 52%);
    gap: 40px 48px;
    align-items: center;
}

.aicom-page--home .aicom-pricing__label {
    margin: 0 0 18px;
    font-size: 60px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.03em;
    color: #fff;
    text-transform: none;
    opacity: 1;
}

.aicom-page--home .aicom-pricing__title {
    margin: 0 0 20px;
    font-size: 24px;
    font-style: italic;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: -0.01em;
    color: #fff;
}

.aicom-page--home .aicom-pricing__text {
    margin: 0;
    max-width: 420px;
    font-size: 18px;
    font-weight: 400;
    line-height: 25px;
    color: #fff;
    opacity: 1;
}

.aicom-page--home .aicom-pricing-card {
    box-sizing: border-box;
    width: 100%;
    max-width: 558px;
    margin-left: auto;
    padding: 32px 36px 36px;
    background: transparent;
    border: 2px solid #fff;
    border-radius: 20px;
    backdrop-filter: none;
}

.aicom-page--home .aicom-pricing-card__amount {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0 6px;
    margin: 0 0 28px;
    line-height: 1;
}

.aicom-page--home .aicom-pricing-card__value {
    font-size: 72px;
    font-weight: 800;
    letter-spacing: -0.04em;
    color: #fff;
}

.aicom-page--home .aicom-pricing-card__currency {
    font-size: 60px;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #fff;
}

.aicom-page--home .aicom-pricing-card__period {
    font-size: 30px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #fff;
}

.aicom-page--home .aicom-pricing-card__features {
    list-style: none;
    margin: 0 0 32px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.aicom-page--home .aicom-pricing-card__features li {
    position: relative;
    padding-left: 24px;
    font-size: 18px;
    font-weight: 400;
    line-height: 20px;
    color: #fff;
}

.aicom-page--home .aicom-pricing-card__features li::before {
    content: "•";
    position: absolute;
    left: 0;
    top: 0;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
}

.aicom-page--home .aicom-pricing-card__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 466px;
    min-height: 69px;
    margin: 0;
    padding: 12px 28px;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.15;
    color: var(--home-ink);
    background: #fff;
    border: none;
    border-radius: var(--home-radius-cta);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.65),
        0 8px 22px rgba(0, 0, 0, 0.08);
}

.aicom-page--home .aicom-pricing-card__cta:hover {
    color: var(--home-ink);
}

/* —— Botones landing (hover fino y llamativo) —— */
.aicom-page--home .aicom-hero .aicom-btn--hero,
.aicom-page--home .aicom-contact__submit, .aicom-page--features .aicom-contact__submit, 
.aicom-page--home .aicom-pricing-card__cta,
.aicom-page--landing .aicom-header .aicom-btn--brand.aicom-btn--sm {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    transition:
        transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.9s cubic-bezier(0.22, 1, 0.36, 1),
        background 0.55s ease,
        background-color 0.55s ease,
        background-position 0.8s ease,
        border-color 0.55s ease,
        color 0.45s ease;
}

.aicom-page--home .aicom-hero .aicom-btn--hero::before,
.aicom-page--home .aicom-contact__submit::before, .aicom-page--features .aicom-contact__submit::before, 
.aicom-page--home .aicom-pricing-card__cta::before,
.aicom-page--landing .aicom-header .aicom-btn--brand.aicom-btn--sm::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(
        110deg,
        transparent 42%,
        rgba(255, 255, 255, 0.22) 50%,
        transparent 58%
    );
    transform: translateX(-120%);
    opacity: 0;
    transition:
        transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.35s ease;
    pointer-events: none;
    z-index: 1;
}

.aicom-page--home .aicom-pricing-card__cta::before {
    background: linear-gradient(
        110deg,
        transparent 42%,
        rgba(209, 27, 27, 0.07) 50%,
        transparent 58%
    );
}

.aicom-page--home .aicom-hero .aicom-btn--hero:hover,
.aicom-page--home .aicom-contact__submit:hover, .aicom-page--features .aicom-contact__submit:hover, 
.aicom-page--home .aicom-pricing-card__cta:hover,
.aicom-page--landing .aicom-header .aicom-btn--brand.aicom-btn--sm:hover {
    transform: translateY(-2px);
}

.aicom-page--home .aicom-hero .aicom-btn--hero:hover,
.aicom-page--home .aicom-contact__submit:hover, .aicom-page--features .aicom-contact__submit:hover {
    background-position: 100% 50%;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.16),
        0 14px 30px rgba(209, 27, 27, 0.22);
}

.aicom-page--home .aicom-pricing-card__cta:hover {
    background: #fff;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 1),
        0 12px 28px rgba(0, 0, 0, 0.11);
}

.aicom-page--home .aicom-hero .aicom-btn--hero:hover::before,
.aicom-page--home .aicom-contact__submit:hover::before, .aicom-page--features .aicom-contact__submit:hover::before, 
.aicom-page--home .aicom-pricing-card__cta:hover::before,
.aicom-page--landing .aicom-header .aicom-btn--brand.aicom-btn--sm:hover::before {
    opacity: 1;
    transform: translateX(120%);
}

.aicom-page--home .aicom-hero .aicom-btn--hero:active,
.aicom-page--home .aicom-contact__submit:active, .aicom-page--features .aicom-contact__submit:active, 
.aicom-page--home .aicom-pricing-card__cta:active,
.aicom-page--landing .aicom-header .aicom-btn--brand.aicom-btn--sm:active {
    transform: translateY(0);
    transition-duration: 0.15s;
}

.aicom-page--home .aicom-hero .aicom-btn--hero:focus-visible,
.aicom-page--home .aicom-contact__submit:focus-visible, .aicom-page--features .aicom-contact__submit:focus-visible, 
.aicom-page--home .aicom-pricing-card__cta:focus-visible,
.aicom-page--landing .aicom-header .aicom-btn--brand.aicom-btn--sm:focus-visible {
    outline: 2px solid rgba(242, 153, 74, 0.45);
    outline-offset: 3px;
}

@media (prefers-reduced-motion: no-preference) {
    .aicom-page--home .aicom-hero .aicom-btn--hero,
.aicom-page--home .aicom-contact__submit, .aicom-page--features .aicom-contact__submit {
        animation: aicom-btn-gradient-drift 7s ease-in-out infinite;
    }

    .aicom-page--home .aicom-hero .aicom-btn--hero:hover,
    .aicom-page--home .aicom-hero .aicom-btn--hero:focus-visible,
.aicom-page--home .aicom-contact__submit:hover, .aicom-page--features .aicom-contact__submit:hover, 
.aicom-page--home .aicom-contact__submit:focus-visible, .aicom-page--features .aicom-contact__submit:focus-visible {
        animation-play-state: paused;
    }
}

@keyframes aicom-btn-gradient-drift {
    0%,
    100% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .aicom-page--home .aicom-hero .aicom-btn--hero,
.aicom-page--home .aicom-contact__submit, .aicom-page--features .aicom-contact__submit, 
    .aicom-page--home .aicom-pricing-card__cta,
    .aicom-page--landing .aicom-header .aicom-btn--brand.aicom-btn--sm {
        animation: none !important;
    }

    .aicom-page--home .aicom-hero .aicom-btn--hero:hover,
.aicom-page--home .aicom-contact__submit:hover, .aicom-page--features .aicom-contact__submit:hover, 
    .aicom-page--home .aicom-pricing-card__cta:hover,
    .aicom-page--landing .aicom-header .aicom-btn--brand.aicom-btn--sm:hover {
        transform: none;
        filter: none;
    }

    .aicom-page--home .aicom-hero .aicom-btn--hero::before,
.aicom-page--home .aicom-contact__submit::before, .aicom-page--features .aicom-contact__submit::before, 
    .aicom-page--home .aicom-pricing-card__cta::before,
    .aicom-page--landing .aicom-header .aicom-btn--brand.aicom-btn--sm::before {
        display: none;
    }
}

/* —— Contact —— */
.aicom-page--home .aicom-contact, .aicom-page--features .aicom-contact {
    padding: clamp(2.5rem, 5vw, 4rem) 0 clamp(2.25rem, 4.5vw, 3.5rem);
    background: #fff;
}

.aicom-page--home .aicom-contact__inner, .aicom-page--features .aicom-contact__inner {
    max-width: var(--home-container);
}

.aicom-page--home .aicom-contact-banner__title, .aicom-page--features .aicom-contact-banner__title {
    color: var(--home-brand);
    font-size: clamp(2.75rem, 5.5vw, 3.75rem);
}

.aicom-page--home .aicom-contact-banner__lead, .aicom-page--features .aicom-contact-banner__lead {
    color: var(--home-ink);
    font-size: clamp(1.125rem, 2.2vw, 1.5rem);
    font-weight: 400;
}

.aicom-page--home .aicom-contact-banner__btn, .aicom-page--features .aicom-contact-banner__btn {
    font-size: clamp(1.05rem, 1.8vw, 1.25rem);
    min-height: 58px;
    min-width: 220px;
}

.aicom-page--home .aicom-contact-banner__btn--outline, .aicom-page--features .aicom-contact-banner__btn--outline {
    border-color: var(--home-brand);
    color: var(--home-brand);
}

.aicom-page--home .aicom-contact-banner__btn--outline:hover, .aicom-page--features .aicom-contact-banner__btn--outline:hover {
    background: rgba(197, 0, 27, 0.05);
    border-color: var(--home-brand);
    color: var(--home-brand);
}

.aicom-page--home .aicom-contact-banner__btn--solid, .aicom-page--features .aicom-contact-banner__btn--solid {
    background: var(--home-brand);
    border-color: var(--home-brand);
}

.aicom-page--home .aicom-contact-banner__btn--solid:hover, .aicom-page--features .aicom-contact-banner__btn--solid:hover {
    background: var(--home-brand-2);
    border-color: var(--home-brand-2);
}

.aicom-page--home .aicom-contact__form-label, .aicom-page--features .aicom-contact__form-label {
    font-size: 0.82rem;
    margin-bottom: 24px;
}

.aicom-page--home .aicom-contact__title, .aicom-page--features .aicom-contact__title {
    margin: 0 0 36px;
    font-size: 30px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--home-ink);
}

.aicom-page--home .aicom-contact__alert, .aicom-page--features .aicom-contact__alert {
    max-width: 100%;
    margin-bottom: 20px;
}

.aicom-page--home .aicom-contact__fields, .aicom-page--features .aicom-contact__fields {
    display: grid;
    grid-template-columns: minmax(0, 519fr) minmax(0, 529fr);
    column-gap: 30px;
    row-gap: 18px;
    margin-bottom: 0;
    align-items: stretch;
    max-width: 1078px;
}

.aicom-page--home .aicom-contact__stack, .aicom-page--features .aicom-contact__stack {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.aicom-page--home .aicom-contact__message-wrap, .aicom-page--features .aicom-contact__message-wrap {
    display: flex;
    min-height: 0;
}

.aicom-page--home .aicom-contact .aicom-input, .aicom-page--features .aicom-contact .aicom-input {
    box-sizing: border-box;
    width: 100%;
    height: 75px;
    min-height: 75px;
    padding: 0 28px;
    font-size: 22px;
    font-weight: 400;
    line-height: 1.3;
    color: var(--home-ink);
    background: #fff;
    border: 1.5px solid var(--home-brand);
    border-radius: var(--home-radius-btn);
}

.aicom-page--home .aicom-contact .aicom-input::placeholder, .aicom-page--features .aicom-contact .aicom-input::placeholder {
    color: rgba(26, 26, 26, 0.45);
    font-weight: 400;
}

.aicom-page--home .aicom-contact .aicom-input:focus, .aicom-page--features .aicom-contact .aicom-input:focus {
    outline: none;
    border-color: var(--home-brand-2);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(209, 27, 27, 0.12);
}

.aicom-page--home .aicom-contact .aicom-input--area, .aicom-page--features .aicom-contact .aicom-input--area {
    flex: 1;
    width: 100%;
    height: 100%;
    min-height: 351px;
    padding: 24px 28px;
    resize: vertical;
    border-radius: var(--home-radius-btn);
}

.aicom-page--home .aicom-contact__submit, .aicom-page--features .aicom-contact__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    max-width: none;
    min-height: 52px;
    margin: 48px 0 0;
    padding: 10px 56px;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
    border: none;
    border-radius: var(--home-radius-cta);
    background: var(--home-gradient-btn);
    background-size: 200% 100%;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.1),
        0 10px 26px rgba(209, 27, 27, 0.18);
}

.aicom-page--home .aicom-contact__submit:hover, .aicom-page--features .aicom-contact__submit:hover {
    color: #fff;
    background: var(--home-gradient-btn);
}

/* —— Footer —— */
.aicom-page--home .aicom-footer,
.aicom-page--features .aicom-footer {
    background: var(--home-dark, #141414);
}

.aicom-page--home .aicom-footer__copy,
.aicom-page--features .aicom-footer__copy {
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.82);
}

/* —— Responsive —— */
@media (min-width: 992px) {
    .aicom-page--home .aicom-br-desktop {
        display: inline;
    }
}

@media (max-width: 1199px) {
    .aicom-page--home .aicom-showcase--landing .aicom-showcase__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .aicom-page--home .aicom-showcase--landing .aicom-showcase-card:last-child {
        grid-column: 1 / -1;
        justify-self: center;
        width: min(100%, 400px);
    }

    .aicom-page--home .aicom-pricing__grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 480px);
        gap: 32px;
    }
}

@media (max-width: 991px) {
    .aicom-page--home,
    .aicom-page--features {
        --home-pad: clamp(16px, 5vw, 24px);
    }

    .aicom-page--landing .aicom-header {
        position: relative;
    }

    .aicom-page--landing .aicom-header__inner {
        min-height: 72px;
        padding-block: 0.65rem;
        box-sizing: border-box;
    }

    .aicom-page--landing .aicom-header .aicom-brand__logo {
        height: 36px;
    }

    .aicom-page--landing .aicom-header .aicom-container,
    .aicom-page--landing .aicom-header__inner {
        position: static !important;
    }

    .aicom-page--landing .aicom-nav.navbar-collapse {
        position: absolute;
        top: 100%;
        left: calc(50% - 50vw) !important;
        right: auto !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box;
        background: var(--home-dark);
        padding: 0.35rem max(var(--home-pad), env(safe-area-inset-right)) 1.25rem max(var(--home-pad), env(safe-area-inset-left));
        max-height: calc(100dvh - var(--home-nav-top, var(--home-header-h)) - env(safe-area-inset-top, 0px));
        border-top: none;
        box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
        z-index: 51;
    }

    .aicom-page--landing .aicom-nav.navbar-collapse:not(.show):not(.collapsing):not(.aicom-nav--opening) {
        display: none !important;
        left: calc(50% - 50vw);
        right: auto;
        width: 100vw;
        max-width: 100vw;
        height: 0 !important;
        min-height: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        overflow: hidden !important;
    }

    .aicom-page--landing .aicom-header--dark .aicom-nav.navbar-collapse {
        border-top: none;
    }

    .aicom-page--landing .aicom-nav.navbar-collapse:not(.show):not(.collapsing):not(.aicom-nav--opening)::before {
        display: none;
    }

    .aicom-page--landing .aicom-nav.aicom-nav--opening.navbar-collapse,
    .aicom-page--landing .aicom-nav.navbar-collapse.collapsing,
    .aicom-page--landing .aicom-nav.navbar-collapse.show {
        position: absolute;
        top: 100%;
        left: calc(50% - 50vw) !important;
        right: auto !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin: 0 !important;
        animation: none;
        opacity: 1;
        transform: none;
        overflow: visible;
        box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
    }

    .aicom-page--landing .aicom-nav.aicom-nav--opening .aicom-nav__list > li,
    .aicom-page--landing .aicom-nav.aicom-nav--open .aicom-nav__list > li:not(.is-visible) {
        opacity: 1;
        transform: none;
    }

    .aicom-page--landing .aicom-nav.aicom-nav--open .aicom-nav__list > li.is-visible {
        animation: none;
    }

    .aicom-page--landing .aicom-nav__list {
        width: 100%;
        gap: 0.2rem;
        padding: 0.15rem 0 0;
    }

    .aicom-page--landing.aicom-nav-open::before {
        content: "";
        position: fixed;
        inset: 0;
        top: var(--home-nav-top, var(--home-header-h));
        z-index: 48;
        background: rgba(0, 0, 0, 0.42);
        pointer-events: none;
        animation: aicom-nav-backdrop-in 0.38s ease both;
    }

    @media (prefers-reduced-motion: reduce) {
        .aicom-page--landing .aicom-nav.navbar-collapse.collapsing {
            transition: none;
        }

        .aicom-page--landing .aicom-nav.aicom-nav--opening.navbar-collapse {
            opacity: 1;
            transform: none;
        }

        .aicom-page--landing .aicom-nav.navbar-collapse.show {
            animation: none;
        }

        .aicom-page--landing .aicom-nav.aicom-nav--opening .aicom-nav__list > li,
        .aicom-page--landing .aicom-nav.aicom-nav--open .aicom-nav__list > li:not(.is-visible) {
            opacity: 1;
            transform: none;
        }

        .aicom-page--landing .aicom-nav.aicom-nav--open .aicom-nav__list > li.is-visible {
            animation: none;
        }

        .aicom-page--landing .aicom-nav.navbar-collapse.show::before,
        .aicom-page--landing .aicom-nav.aicom-nav--open .aicom-nav__list > li:has(.aicom-nav__link--login).is-visible::after {
            animation: none;
            transform: scaleX(1);
        }

        .aicom-page--landing.aicom-nav-open::before {
            animation: none;
            opacity: 1;
        }
    }

    .aicom-page--landing .aicom-nav__link:not(.aicom-nav__link--login) {
        min-height: 48px;
        padding: 0.7rem 0.25rem;
        justify-content: flex-start;
        text-align: left;
    }

    .aicom-page--landing .aicom-nav__list > li:has(.aicom-nav__link--login) {
        position: relative;
        border-top: none;
        margin-top: 0.35rem;
        padding-top: 0.75rem;
    }

    .aicom-page--landing .aicom-nav__list > li:has(.aicom-nav__link--login)::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background: rgba(255, 255, 255, 0.12);
        transform: scaleX(0);
        transform-origin: left center;
        pointer-events: none;
    }

    .aicom-page--landing .aicom-nav.aicom-nav--open .aicom-nav__list > li:has(.aicom-nav__link--login).is-visible::after {
        animation: aicom-nav-line-draw 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
    }

    .aicom-page--landing .aicom-nav__link--login,
    .aicom-page--landing .aicom-nav__list .aicom-btn.aicom-btn--sm {
        width: 100%;
        min-height: 52px;
        padding: 0.875rem 1.25rem;
        justify-content: center;
        text-align: center;
        font-size: 18px;
        font-weight: 700;
    }

    .aicom-page--landing .aicom-nav__link--login {
        border-radius: var(--home-radius-cta);
    }

    .aicom-page--landing .aicom-nav__list .aicom-btn.aicom-btn--sm {
        border-radius: var(--home-radius-cta);
    }

    .aicom-page--landing .aicom-nav__link--login {
        color: var(--home-brand);
        background: transparent;
        border: 1.5px solid var(--home-brand);
        transition: background 0.5s ease, color 0.5s ease, border-color 0.5s ease;
    }

    .aicom-page--landing .aicom-nav__link--login:hover {
        color: #fff;
        background: rgba(209, 27, 27, 0.12);
        border-color: var(--home-brand);
    }

    .aicom-page--landing .aicom-nav__list .aicom-btn.aicom-btn--brand.aicom-btn--sm {
        background: var(--home-brand);
        border: 1.5px solid var(--home-brand);
        box-shadow: 0 6px 18px rgba(209, 27, 27, 0.14);
    }

    .aicom-page--landing .aicom-nav__list .aicom-btn.aicom-btn--brand.aicom-btn--sm:hover {
        background: var(--home-brand-2);
        border-color: var(--home-brand-2);
        box-shadow: 0 8px 22px rgba(209, 27, 27, 0.2);
    }

    .aicom-page--home .aicom-footer,
    .aicom-page--features .aicom-footer {
        padding: 1.25rem 0 1.4rem;
    }

    .aicom-page--home .aicom-footer__shell,
    .aicom-page--features .aicom-footer__shell {
        gap: 1rem;
    }

    .aicom-page--home .aicom-footer__top,
    .aicom-page--features .aicom-footer__top {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 0.75rem;
    }

    .aicom-page--home .aicom-footer__copy,
    .aicom-page--features .aicom-footer__copy {
        flex: none;
        font-size: 0.72rem;
        line-height: 1.4;
        text-align: center;
        white-space: normal;
    }

    .aicom-page--home .aicom-footer__copy-tagline,
    .aicom-page--features .aicom-footer__copy-tagline {
        display: none;
    }

    .aicom-page--home .aicom-footer__social,
    .aicom-page--features .aicom-footer__social {
        justify-content: center;
        margin-left: 0;
        gap: 0.65rem;
    }

    .aicom-page--home .aicom-footer__social-label,
    .aicom-page--features .aicom-footer__social-label {
        font-size: 0.75rem;
    }

    .aicom-page--home .aicom-footer__bottom,
    .aicom-page--features .aicom-footer__bottom {
        flex-direction: column;
        align-items: center;
        gap: 0.85rem;
    }

    .aicom-page--home .aicom-footer__divider,
    .aicom-page--features .aicom-footer__divider {
        display: none;
    }

    .aicom-page--home .aicom-footer__family,
    .aicom-page--features .aicom-footer__family {
        flex-wrap: nowrap;
        gap: 0.65rem 0.8rem;
        justify-content: center;
        width: 100%;
    }

    .aicom-page--home .aicom-footer__family-logo,
    .aicom-page--features .aicom-footer__family-logo {
        height: 17px;
    }

    .aicom-page--home .aicom-footer__family-logo--legira,
    .aicom-page--features .aicom-footer__family-logo--legira {
        height: 16px;
    }

    .aicom-page--home .aicom-hero {
        overflow: hidden;
        overflow-x: clip;
        min-height: var(--home-section-h);
        padding-top: 66px;
        padding-bottom: clamp(1.25rem, 4vw, 2rem);
    }

    .aicom-page--home .aicom-hero__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .aicom-page--home .aicom-hero__visual {
        grid-column: 1;
        grid-row: 1;
        justify-content: center;
        min-height: clamp(170px, 38vw, 250px);
        margin-bottom: 1.25rem;
        padding-top: clamp(0.5rem, 2vw, 1rem);
    }

    .aicom-page--home .aicom-hero__figura {
        display: block;
        grid-column: 1;
        grid-row: 1;
        right: 0;
        top: 10%;
        transform: translate(50%, -62%);
        width: min(92vw, 480px);
    }

    .aicom-page--home .aicom-hero__scene {
        margin-right: 0;
        width: min(100%, 480px);
        height: clamp(170px, 38vw, 250px);
    }

    .aicom-page--home .aicom-hero__mockup {
        left: 0;
        width: 100%;
        --mockup-tx: 0px;
        --mockup-ty: 0px;
        --mockup-rx: 0deg;
        --mockup-ry: 0deg;
        transform: translateY(-50%);
        will-change: auto;
    }

    .aicom-page--home .aicom-hero__content {
        grid-column: 1;
        grid-row: 2;
        max-width: none;
    }

    .aicom-page--home .aicom-hero__lead br,
    .aicom-page--home .aicom-platform__lead br,
    .aicom-page--home .aicom-pricing__title br {
        display: none;
    }

    .aicom-page--home .aicom-showcase--landing {
        --showcase-body-overlap: 72px;
        --showcase-img-inset: 12px;
        overflow-x: clip;
    }

    .aicom-page--home .aicom-showcase--landing .aicom-showcase__grid {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        max-width: min(100%, 380px);
        margin-inline: auto;
        gap: 32px;
    }

    .aicom-page--home .aicom-pricing__grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .aicom-page--home .aicom-showcase--landing .aicom-showcase-card:last-child {
        grid-column: auto;
        width: 100%;
        max-width: 100%;
        justify-self: stretch;
    }

    .aicom-page--home .aicom-showcase--landing .aicom-showcase-card {
        width: 100%;
        max-width: 100%;
        margin: 0;
        justify-self: stretch;
    }

    .aicom-page--home .aicom-showcase--landing .aicom-showcase-card__stack {
        width: 100%;
        align-items: stretch;
    }

    .aicom-page--home .aicom-showcase--landing .aicom-showcase-card__media {
        width: calc(100% - var(--showcase-img-inset) * 2);
        margin-inline: auto;
    }

    .aicom-page--home .aicom-showcase--landing .aicom-showcase-card__body {
        width: calc(100% - var(--showcase-img-inset) * 2);
        margin-inline: auto;
        padding: 20px 20px 44px;
        box-sizing: border-box;
    }

    .aicom-page--home .aicom-showcase--landing .aicom-showcase-card__text {
        max-width: none;
        padding-right: 0;
    }

    .aicom-page--home .aicom-showcase--landing .aicom-showcase-card__chip {
        right: 12px;
    }

    .aicom-page--home .aicom-pricing-card {
        margin-left: 0;
        max-width: none;
    }

    .aicom-page--home .aicom-how {
        padding: 64px 0 72px;
    }

    .aicom-page--home .aicom-how__header {
        margin-bottom: 36px;
    }

    .aicom-page--home .aicom-how__lead {
        font-size: 17px;
    }

    .aicom-page--home .aicom-how-card {
        grid-template-columns: 64px minmax(0, 1fr);
        grid-template-areas: "num body";
        gap: 20px 24px;
        padding: 28px 24px;
    }

    .aicom-page--home .aicom-how-card__num {
        width: 64px;
        height: 64px;
        font-size: 30px;
        border-radius: 16px;
    }

    .aicom-page--home .aicom-how-card__body {
        gap: 12px;
    }

    .aicom-page--home .aicom-how-card__title {
        font-size: clamp(22px, 3.5vw, 28px);
    }

    .aicom-page--home .aicom-how-card__text {
        font-size: 17px;
        line-height: 1.6;
    }

    .aicom-page--home .aicom-how-card__icon {
        display: none;
    }

    .aicom-page--home .aicom-platform {
        padding: 80px 0 72px;
    }

    .aicom-page--home .aicom-platform__title-accent,
    .aicom-page--home .aicom-platform__title-plain {
        font-size: clamp(28px, 5.5vw, 36px);
        line-height: 1.28;
    }

    .aicom-page--home .aicom-platform__lead {
        margin-top: 28px;
        font-size: clamp(18px, 3.5vw, 24px);
        line-height: 1.35;
    }

.aicom-page--home .aicom-contact, .aicom-page--features .aicom-contact {
        padding: clamp(2rem, 6vw, 2.75rem) 0 clamp(1.75rem, 5vw, 2.5rem);
    }

    .aicom-page--features .aicom-contact {
        padding-top: clamp(2.75rem, 8vw, 3.5rem);
        margin-top: 0.5rem;
        border-top: 1px solid rgba(26, 26, 26, 0.08);
    }

    .aicom-page--home .aicom-contact-banner__actions, .aicom-page--features .aicom-contact-banner__actions {
        flex-direction: column;
        width: min(100%, 280px);
        margin-inline: auto;
    }

    .aicom-page--home .aicom-contact-banner__btn, .aicom-page--features .aicom-contact-banner__btn {
        width: 100%;
        min-height: 48px;
        min-width: 0;
        padding: 0.65rem 1rem;
        font-size: 1rem;
    }

.aicom-page--home .aicom-contact__fields, .aicom-page--features .aicom-contact__fields {
        grid-template-columns: 1fr;
        gap: 18px;
    }

.aicom-page--home .aicom-contact .aicom-input, .aicom-page--features .aicom-contact .aicom-input {
        height: auto;
        min-height: 52px;
        padding: 14px 20px;
        font-size: 16px;
    }

.aicom-page--home .aicom-contact .aicom-input--area, .aicom-page--features .aicom-contact .aicom-input--area {
        min-height: 200px;
        padding-top: 16px;
        padding-bottom: 16px;
    }
}

@media (max-width: 575px) {
    .aicom-page--home {
        --home-pad: clamp(16px, 5vw, 24px);
    }

    .aicom-page--landing .aicom-header .aicom-brand__suffix {
        font-size: 0.95rem;
    }

    .aicom-page--home .aicom-hero {
        min-height: var(--home-section-h);
        padding-top: 66px;
        padding-bottom: clamp(16px, 4vw, 24px);
    }

    .aicom-page--home .aicom-hero__title {
        margin-bottom: 24px;
    }

    .aicom-page--home .aicom-hero__lead {
        margin-bottom: 28px;
    }

    .aicom-page--home .aicom-hero .aicom-btn--hero {
        width: 100%;
        max-width: 100%;
    }

    .aicom-showcase--landing .aicom-showcase-card__title {
        font-size: 22px;
        line-height: 1.3;
    }

    .aicom-showcase--landing .aicom-showcase-card__text {
        font-size: 16px;
        line-height: 1.45;
    }

    .aicom-showcase--landing .aicom-showcase-card__chip {
        right: 12px;
        bottom: 0;
    }

    .aicom-page--home .aicom-platform {
        padding: 64px 0 56px;
    }

    .aicom-page--home .aicom-platform__title-accent {
        padding: 4px 14px 8px;
    }

    .aicom-page--home .aicom-how {
        padding: 48px 0 56px;
        --how-card-gap: 20px;
    }

    .aicom-page--home .aicom-how__header {
        margin-bottom: 28px;
    }

    .aicom-page--home .aicom-how__lead {
        margin-top: 16px;
        font-size: 16px;
    }

    .aicom-page--home .aicom-how-card {
        grid-template-columns: 56px minmax(0, 1fr);
        grid-template-areas: "num body";
        gap: 16px 18px;
        padding: 24px 20px;
    }

    .aicom-page--home .aicom-how-card__num {
        width: 56px;
        height: 56px;
        font-size: 28px;
        border-radius: 14px;
    }

    .aicom-page--home .aicom-how-card__body {
        gap: 12px;
    }

    .aicom-page--home .aicom-pricing {
        padding: 56px 0 64px;
    }

    .aicom-page--home .aicom-pricing__label {
        font-size: clamp(40px, 10vw, 60px);
    }

    .aicom-page--home .aicom-pricing__title {
        font-size: 20px;
    }

    .aicom-page--home .aicom-pricing-card {
        padding: 24px 20px 28px;
    }

    .aicom-page--home .aicom-pricing-card__value {
        font-size: clamp(48px, 12vw, 72px);
    }

    .aicom-page--home .aicom-pricing-card__currency {
        font-size: clamp(40px, 10vw, 60px);
    }

    .aicom-page--home .aicom-pricing-card__period {
        font-size: clamp(22px, 5vw, 30px);
    }

    .aicom-page--home .aicom-pricing-card__cta {
        font-size: clamp(20px, 5vw, 30px);
        min-height: 56px;
    }

.aicom-page--home .aicom-contact__title, .aicom-page--features .aicom-contact__title {
        font-size: clamp(24px, 6vw, 30px);
        margin-bottom: 24px;
    }

.aicom-page--home .aicom-contact .aicom-input--area, .aicom-page--features .aicom-contact .aicom-input--area {
        min-height: 180px;
    }

.aicom-page--home .aicom-contact__submit, .aicom-page--features .aicom-contact__submit {
        width: 100%;
        max-width: none;
        font-size: clamp(22px, 5vw, 30px);
    }

    .aicom-page--home .aicom-how-card img {
        display: none;
    }
}
