@media (max-width: 1024px) {
    .product-intro-grid,
    .product-visual-grid,
    .product-benefits-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .capabilities-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .header-inner {
        position: relative;
        min-height: auto;
        padding: 18px 0;
        display: grid;
        grid-template-columns: 1fr auto;
        align-items: center;
        gap: 16px;
    }

    .logo {
        justify-self: start;
    }

    .menu-toggle {
        display: inline-flex;
        justify-self: end;
    }

    .main-nav {
        display: none;
        grid-column: 1 / -1;
        width: 100%;
        flex-direction: column;
        align-items: center;
        gap: 18px;
        padding-top: 12px;
    }

    .main-nav.is-open {
        display: flex;
    }

    .main-nav a {
        margin: 0;
    }

    .main-nav .btn-primary {
        width: 100%;
        max-width: 240px;
        padding: 12px 18px;
    }

    .page-hero {
        padding: 80px 0 56px;
    }

    .content-block {
        padding: 72px 0;
    }

    .page-hero h1 {
        font-size: 36px;
    }

    .page-hero p {
        font-size: 17px;
    }

    .section-title {
        font-size: 30px;
    }

    .capabilities-grid {
        grid-template-columns: 1fr;
    }

    .page-cta-box {
        padding: 42px 22px;
    }

    .page-cta-box h2 {
        font-size: 30px;
        line-height: 1.08;
        max-width: 16ch;
    }

    .page-cta-box p {
        max-width: 34ch;
        line-height: 1.68;
    }

    .hero{
  padding:110px 0 70px;
  }

  .hero-content{
    flex-direction:column;
    text-align:center;
    gap:38px;
  }

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

  .hero-text h1{
    font-size:40px;
    max-width:100%;
  }

  .hero-text p{
    font-size:17px;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
  }

  .hero-image{
    width:100%;
  }

  .features{
    padding:70px 0 80px;
  }

  .features h2{
    font-size:32px;
    margin-bottom:36px;
  }

  .features-grid{
    grid-template-columns:1fr;
  }

  .architecture-content{
    flex-direction:column;
    text-align:center;
  }

  .architecture-text{
    max-width:100%;
  }

  .product-content{
    flex-direction:column;
    text-align:center;
  }

  .product-text{
    max-width:100%;
  }

  .process-content{
    flex-direction:column;
    text-align:center;
  }

  .process-text{
    max-width:100%;
  }

  .final-cta h2{
    font-size:34px;
  }

  .final-cta p{
    font-size:17px;
  }

  .final-cta-container h2{
    font-size:30px;
    line-height:1.08;
    max-width:16ch;
  }

  .final-cta-container p{
    max-width:34ch;
    line-height:1.68;
  }

  .footer-content{
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:28px;
  }

  .footer-brand{
    align-items:center;
    max-width:100%;
  }

  .footer-brand-link{
    justify-content:center;
  }

  .footer-brand-image{
    height:38px;
  }

  .footer-brand::after{
    margin:0 auto;
  }

  .footer-nav{
    justify-content:center;
    gap:16px 20px;
  }
    .site-header {
        background: rgba(255, 255, 255, 0.88);
    }

    .main-nav {
        background: rgba(255, 255, 255, 0.90);
        backdrop-filter: saturate(180%) blur(16px);
        -webkit-backdrop-filter: saturate(180%) blur(16px);
        border: 1px solid rgba(148, 163, 184, 0.18);
        border-radius: 20px;
        padding: 18px 16px 20px;
        box-shadow: 0 18px 40px rgba(15,23,42,0.08);
    }

    .main-nav a:not(.btn-primary) {
        width: 100%;
        text-align: center;
        padding: 6px 0;
    }
    body.menu-open {
        overflow: hidden;
    }
    .page-hero h1 {
        font-size: 38px;
        line-height: 1.04;
        max-width: 12ch;
    }

    .page-hero p {
        font-size: 17px;
        line-height: 1.76;
    }

    .section-title {
        font-size: 31px;
        max-width: 100%;
    }

    .section-text {
        max-width: 100%;
        line-height: 1.76;
    }

    .section-heading-centered {
        margin-bottom: 42px;
    }

    .form-helper-text {
        margin-top: -4px;
    }
}

@media (max-width: 480px) {
    .header-inner {
        gap: 14px;
    }

    .main-nav {
        gap: 12px;
    }

    .main-nav a {
        font-size: 15px;
    }

    .main-nav .btn-primary {
        width: 100%;
        max-width: 220px;
    }
}

@media (max-width: 1024px) {
    .architecture-overview-grid,
    .architecture-principles-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .architecture-modules-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .architecture-modules-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1024px) {
    .applications-overview-grid,
    .applications-processes-grid,
    .applications-results-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .applications-cases-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .applications-cases-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1024px) {
    .demo-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .demo-form-wrapper,
    .demo-info-card,
    .product-intro-card,
    .product-benefits-list,
    .architecture-principles-list,
    .applications-overview-card,
    .applications-results-list {
        padding: 24px;
    }

    .page-cta-box {
        padding: 40px 22px;
    }

    .demo-submit {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 1024px) {
    .product-states .capabilities-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }
}

@media (max-width: 768px) {
    .product-states .capabilities-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .product-states .capability-card {
        padding: 24px 20px;
    }

    .product-states .capability-card h3 {
        font-size: 22px;
        line-height: 1.16;
        margin-bottom: 12px;
    }

    .product-states .capability-card p {
        font-size: 15px;
        line-height: 1.62;
    }

    .product-flow + .product-states {
        padding-top: 72px;
    }
}

@media (max-width: 768px) {
    .home-video-section,
    .demo-video-section {
        padding: 72px 0;
    }

    .video-section-header {
        margin-bottom: 26px;
    }

    .video-section-header h2 {
        font-size: 32px;
        line-height: 1.08;
    }

    .video-section-header p {
        font-size: 16px;
        line-height: 1.68;
        max-width: 34ch;
    }

    .video-shell {
        padding: 12px;
        border-radius: 22px;
    }

    .video-embed {
        border-radius: 16px;
    }

    .video-section-cta {
        margin-top: 22px;
    }
}

@media (max-width: 1024px){
  .trust-grid{
    grid-template-columns:1fr;
    gap:24px;
  }
}

@media (max-width: 768px){
  .trust-section{
    padding:90px 0;
  }

  .trust-header{
    margin-bottom:42px;
  }

  .trust-header h2{
    font-size:34px;
  }

  .trust-header p{
    font-size:17px;
  }
}

@media (max-width: 1024px){
  .hero-content{
    gap:30px;
  }

  .hero-text h1{
    font-size:48px;
    max-width:12ch;
  }

  .features-grid{
    grid-template-columns:repeat(2, 1fr);
  }
}

@media (max-width: 768px){
  .hero-image::before{
    width: 105%;
    height: 105%;
    filter: blur(42px);
  }
}

@media (max-width: 480px) {
    .container {
        padding: 0 18px;
    }

    .page-cta-box h2,
    .final-cta h2,
    .trust-header h2 {
        word-break: balance;
    }
}
@media (max-width: 480px){
  .final-cta-container h2{
    font-size:26px;
    line-height:1.1;
    max-width:15ch;
  }

  .final-cta-container p{
    max-width:30ch;
    margin-bottom:24px;
  }
}



@media (max-width: 480px) {
    .capability-card,
    .architecture-module-card,
    .application-case-card,
    .feature-card,
    .trust-card {
        padding: 24px 20px;
    }

    .page-hero h1 {
        max-width: 100%;
        font-size: 34px;
    }

    .page-cta-box h2 {
        font-size: 26px;
        line-height: 1.1;
        max-width: 15ch;
    }

    .page-cta-box p {
        max-width: 30ch;
        margin-bottom: 24px;
    }
}

@media (max-width: 768px) {
    .image-overlay-card {
        left: 12px;
        right: 12px;
        bottom: 12px;
        padding: 10px 12px 10px;
        border-radius: 12px;
        background: linear-gradient(180deg, rgba(255,255,255,0.40) 0%, rgba(248,251,255,0.50) 100%);
    }

    .image-overlay-kicker {
        font-size: 9px;
        margin-bottom: 5px;
    }

    .image-overlay-title {
        font-size: 15px;
        margin-bottom: 4px;
        max-width: 100%;
    }

    .image-overlay-text {
        font-size: 11.5px;
        line-height: 1.42;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .image-overlay-card {
        left: 12px;
        right: 12px;
        bottom: 12px;
        max-width: 250px;
        padding: 13px 14px 12px;
    }

    .image-overlay-title {
        font-size: 17px;
    }

    .image-overlay-text {
        font-size: 12.5px;
    }
}

@media (max-width: 768px) {
    .label-access,
    .label-search {
        display: none;
    }

    .architecture-label {
        font-size: 9px;
        padding: 4px 7px;
    }

    .label-classification {
        top: 24%;
        left: 29%;
    }

    .label-workflows {
        top: 24%;
        left: 72%;
    }

    .label-audit {
        top: 80%;
        left: 26%;
    }

    .label-integrations {
        top: 80%;
        left: 76%;
    }
}

@media (max-width: 768px) {
    .flow-label {
        font-size: 9px;
        padding: 4px 7px;
    }

    .flow-label-ingreso {
        top: 52%;
        left: 17%;
    }

    .flow-label-clasificacion {
        top: 25%;
        left: 50%;
    }

    .flow-label-validacion {
        top: 52%;
        left: 77%;
    }

    .flow-label-seguimiento {
        top: 83%;
        left: 51%;
    }
}

@media (max-width: 768px) {
    .product-image .image-overlay-card,
    .product-visual-image .image-overlay-card {
        left: 10px;
        right: 10px;
        bottom: 10px;
        max-width: none;
        padding: 7px 9px 7px;
        border-radius: 11px;
        background: linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(248,251,255,0.26) 100%);
        border: 1px solid rgba(255,255,255,0.14);
        box-shadow: 0 3px 10px rgba(15, 23, 42, 0.03);
        backdrop-filter: blur(1.5px);
        -webkit-backdrop-filter: blur(1.5px);
    }

    .product-image .image-overlay-kicker,
    .product-visual-image .image-overlay-kicker {
        margin-bottom: 2px;
        font-size: 7px;
    }

    .product-image .image-overlay-kicker::before,
    .product-visual-image .image-overlay-kicker::before {
        width: 4px;
        height: 4px;
    }

    .product-image .image-overlay-title,
    .product-visual-image .image-overlay-title {
        font-size: 11px;
        margin-bottom: 1px;
        line-height: 1.05;
    }

    .product-image .image-overlay-text,
    .product-visual-image .image-overlay-text {
        font-size: 9px;
        line-height: 1.22;
    }
}

@media (max-width: 768px) {
    .product-image .image-overlay-card,
    .product-visual-image .image-overlay-card {
        text-align: left;
    }

    .product-image .image-overlay-kicker,
    .product-visual-image .image-overlay-kicker {
        display: inline-flex;
        justify-content: flex-start;
        width: auto;
        text-align: left;
    }

    .product-image .image-overlay-title,
    .product-visual-image .image-overlay-title,
    .product-image .image-overlay-text,
    .product-visual-image .image-overlay-text {
        text-align: left;
    }
}