html {
    scroll-padding-top: 100px
}

.unified-wrap {
    max-width: 1280px;
    margin: auto
}

.unified-section {
    padding: 100px 24px
}

.unified-tint {
    background: #ffffff04;
    border-block: 1px solid #ffffff10
}

.unified-columns {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 64px;
    align-items: center
}

.unified-hero {
    padding: 145px 24px 70px
}

.unified-hero h1 {
    font-size: clamp(2.3rem, 3.8vw, 3.7rem);
    line-height: 1.04;
    letter-spacing: -.05em;
    font-weight: 600;
    margin-top: 25px
}

.unified-hero h1 span,
.unified-heading h2 span,
#ailab h2 span {
    color: #8ea7b7
}

.unified-lead {
    font-size: 1.15rem;
    line-height: 1.8;
    color: #cbd5e1;
    margin-top: 26px
}

.unified-actions {
    display: flex;
    gap: 24px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 32px
}

.unified-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    background: #00e5ff;
    color: #070b12;
    border-radius: 30px;
    padding: 15px 24px;
    font-size: 15px;
    font-weight: 600;
    white-space: nowrap
}

.unified-button:hover {
    background: #8ff4ff
}

.unified-link {
    font-size: 15px;
    color: #d5e3ea
}

.unified-caption {
    color: #94a3b8;
    font-size: 12px;
    line-height: 1.7;
    margin-top: 28px
}

.unified-hero-image img {
    width: 100%;
    height: 440px;
    object-fit: cover;
    object-position: 77%;
    border-radius: 24px
}

.unified-hero-image figcaption,
.unified-cluster figcaption {
    font-size: 12px;
    letter-spacing: .1em;
    color: #94a3b8;
    padding-top: 14px
}

.unified-principles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    padding: 32px 24px 55px
}

.unified-principles>div {
    border-left: 1px solid #00e5ff45;
    padding-left: 20px
}

.unified-principles p {
    margin-top: 8px;
    color: #cbd5e1
}

.unified-heading {
    display: flex;
    justify-content: space-between;
    gap: 45px;
    align-items: end;
    margin: 22px 0 46px
}

.unified-heading h2,
#ailab h2 {
    font-size: clamp(2.3rem, 3.8vw, 3.6rem);
    line-height: 1.12;
    letter-spacing: -.04em;
    font-weight: 600
}

.unified-heading>p {
    max-width: 450px;
    color: #94a3b8;
    line-height: 1.8
}

.unified-services {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-left: 1px solid #ffffff15;
    border-top: 1px solid #ffffff15
}

.unified-service {
    padding: 32px;
    display: flex;
    flex-direction: column;
    border-right: 1px solid #ffffff15;
    border-bottom: 1px solid #ffffff15;
    background: #070b12
}

.unified-service .eyebrow {
    font-size: 10px;
    min-height: 30px
}

.unified-service h3 {
    font-size: 24px;
    line-height: 1.25;
    font-weight: 600;
    margin: 24px 0 18px
}

.unified-service>p,
.unified-body {
    font-size: 16px;
    line-height: 1.8;
    color: #94a3b8
}

.unified-deliver {
    margin-top: auto;
    padding-top: 26px
}

.unified-deliver>span {
    display: block;
    border-top: 1px solid #ffffff15;
    padding-top: 20px;
    font-size: 10px;
    letter-spacing: .12em;
    color: #67e8f9
}

.unified-deliver p {
    font-size: 14px;
    line-height: 1.7;
    color: #cbd5e1;
    margin-top: 9px
}

.unified-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    list-style: none;
    gap: 30px;
    padding: 0
}

.unified-steps li {
    border-top: 1px solid #00e5ff40;
    padding-top: 20px
}

.unified-steps h3 {
    font-size: 24px;
    margin: 22px 0 16px
}

.unified-steps p {
    color: #94a3b8;
    line-height: 1.8
}

.unified-lab-logo {
    width: 300px;
    height: auto;
    margin-bottom: 30px
}

#ailab h2 {
    margin-top: 22px
}

.unified-body {
    margin-top: 20px
}

.unified-specs {
    display: flex;
    gap: 45px;
    margin-top: 30px
}

.unified-specs>div {
    border-left: 1px solid #00e5ff45;
    padding-left: 18px
}

.unified-specs strong {
    display: block;
    font-size: 32px;
    color: #67e8f9
}

.unified-specs span {
    display: block;
    font-size: 12px;
    color: #94a3b8
}

.unified-cluster img {
    width: 100%;
    height: auto;
    border-radius: 20px
}

.unified-case {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 45px;
    border: 1px solid #00e5ff30;
    border-radius: 20px;
    padding: 36px;
    margin-top: 60px;
    background: #00e5ff06
}

.unified-case h3 {
    font-size: 27px;
    line-height: 1.3;
    margin: 14px 0
}

.unified-case p:not(.eyebrow) {
    max-width: 750px;
    color: #94a3b8;
    line-height: 1.8
}

.unified-button:focus-visible,
.unified-link:focus-visible {
    outline: 2px solid white;
    outline-offset: 5px
}

@media(max-width:1050px) {
    .unified-columns {
        gap: 32px
    }

    .unified-services {
        grid-template-columns: repeat(2, 1fr)
    }

    .unified-case {
        display: block
    }

    .unified-case .unified-button {
        margin-top: 25px
    }

    .unified-hero-image img {
        height: 420px
    }
}

@media(max-width:760px) {
    .unified-section {
        padding: 65px 24px
    }

    .unified-columns,
    .unified-services,
    .unified-principles {
        grid-template-columns: 1fr
    }

    .unified-hero {
        padding-top: 120px
    }

    .unified-hero-image img {
        height: 320px
    }

    .unified-heading {
        display: block
    }

    .unified-heading>p {
        margin-top: 22px
    }

    .unified-steps {
        grid-template-columns: 1fr 1fr
    }

    .unified-service {
        padding: 26px
    }

    .unified-lab-logo {
        width: 245px
    }

    .unified-case {
        padding: 25px
    }

    .unified-principles {
        gap: 24px
    }
}

@media(max-width:420px) {
    .unified-steps {
        grid-template-columns: 1fr
    }

    .unified-button {
        white-space: normal
    }
}

/* Compensar el padding interno al navegar a una sección; el header ya reserva 100px. */
.unified-section[id] {
    scroll-margin-top: -100px
}

#diferenciadores {
    scroll-margin-top: -32px
}

#productos,
#equipo,
#contacto {
    scroll-margin-top: -112px
}

@media(min-width:1024px) {

    #productos,
    #equipo,
    #contacto {
        scroll-margin-top: -144px
    }
}

@media(max-width:760px) {
    .unified-section[id] {
        scroll-margin-top: -65px
    }
}

/* Perfil del fundador: fotografía contenida e identidad destacada. */
.founder-profile {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 64px;
    align-items: start;
    margin: 40px auto 0;
    max-width: 1100px
}

.founder-profile figure {
    margin: 0;
    width: 260px
}

.founder-profile figure img {
    display: block;
    width: 260px;
    height: 300px;
    object-fit: cover;
    object-position: top;
    border-radius: 18px;
    border: 1px solid #ffffff20
}

.founder-profile figcaption {
    font-size: 13px;
    line-height: 1.8;
    color: #cbd5e1;
    margin-top: 18px;
    padding-left: 14px;
    border-left: 2px solid #00e5ff
}

.founder-profile figcaption span {
    font-size: 11px;
    color: #8296a7
}

.founder-copy {
    min-width: 0
}

.founder-identity {
    border-bottom: 1px solid #ffffff18;
    padding-bottom: 26px;
    margin-bottom: 26px
}

.founder-profile .founder-role {
    font-size: 11px;
    letter-spacing: .16em;
    text-transform: uppercase;
    font-weight: 600;
    color: #67e8f9;
    margin: 0 0 12px
}

.founder-profile h2 {
    font-size: clamp(2.5rem, 4vw, 1.7rem);
    line-height: 1.04;
    letter-spacing: -.045em;
    font-weight: 650;
    color: #f8fafc;
    margin: 0 0 16px
}

.founder-profile .founder-specialty {
    font-size: 18px;
    line-height: 1.45;
    color: #b9cbd8;
    margin: 0
}

.founder-profile h3 {
    font-size: 22px;
    line-height: 1.4;
    letter-spacing: -.02em;
    color: #e2e8f0;
    margin: 0 0 18px;
    font-weight: 500
}

.founder-profile p {
    font-size: 15px;
    line-height: 1.85;
    color: #94a3b8;
    margin-bottom: 18px
}

.founder-profile p.founder-intro {
    font-size: 17px;
    color: #cbd5e1
}

.founder-focus {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 30px 0
}

.founder-focus>div {
    border-top: 1px solid #00e5ff50;
    padding-top: 14px
}

.founder-focus strong {
    display: block;
    font-size: 13px;
    line-height: 1.5;
    color: #67e8f9
}

.founder-focus span {
    display: block;
    font-size: 13px;
    color: #94a3b8;
    line-height: 1.7;
    margin-top: 8px
}

.founder-profile .unified-link {
    display: inline-flex;
    align-items: center;
    padding: 11px 18px;
    border: 1px solid #ffffff25;
    border-radius: 25px;
    font-size: 13px
}

.founder-profile .unified-link:hover {
    border-color: #00e5ff;
    color: #67e8f9
}

@media(max-width:1000px) {
    .founder-profile {
        grid-template-columns: 220px minmax(0, 1fr);
        gap: 35px
    }

    .founder-profile figure,
    .founder-profile figure img {
        width: 220px
    }

    .founder-profile figure img {
        height: 260px
    }

    .founder-focus {
        grid-template-columns: 1fr
    }
}

@media(max-width:760px) {
    .founder-profile {
        grid-template-columns: 1fr;
        gap: 30px;
        margin-top: 28px
    }

    .founder-profile figure,
    .founder-profile figure img {
        width: 190px
    }

    .founder-profile figure img {
        height: 215px
    }

    .founder-profile h2 {
        font-size: 1.7rem
    }

    .founder-profile .founder-specialty {
        font-size: 17px
    }

    .founder-profile h3 {
        font-size: 20px
    }
}
/* September 2026: four service areas, preserving the existing visual system. */
.service-map { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:28px; }
.service-map a { padding:10px 18px; border:1px solid #ffffff25; border-radius:24px; color:#cbd5e1; font-size:14px; }
.service-map a:hover { border-color:#00e5ff; color:#67e8f9; }
.unified-service[id] { scroll-margin-top:100px; min-width:0; }
.unified-service.flagship { box-shadow:inset 3px 0 #00e5ff; }
.service-detail { border-top:1px solid #ffffff20; margin-top:24px; padding-top:18px; font-size:14px; color:#94a3b8; }
.service-detail summary { cursor:pointer; color:#d5e3ea; padding:6px 0; }
.service-detail p { margin-top:16px; }
.architecture-flow { padding:16px; border-left:2px solid #00e5ff60; background:#ffffff05; color:#cbd5e1; line-height:2; overflow-wrap:anywhere; }
.service-cta { margin-top:24px; }
.capabilities { border-top:1px solid #ffffff20; padding-top:36px; }
.capabilities h3,.innovation-track h3,.partner-models h3 { font-size:24px; line-height:1.3; margin:16px 0; }
.capabilities>p,.innovation-track>p:not(.eyebrow),.partner-models p { color:#94a3b8; }
.capabilities dl { margin-top:26px; }
.capabilities dl>div { display:grid; grid-template-columns:1fr 1.6fr; gap:24px; border-bottom:1px solid #ffffff15; padding:18px 0; }
.capabilities dt { color:#cbd5e1; font-weight:600; }
.capabilities dd { color:#94a3b8; font-size:15px; }
.partner-models { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.partner-models article { border-top:1px solid #00e5ff60; padding-top:24px; }
.innovation-track { margin-top:36px; padding-top:28px; border-top:1px solid #ffffff20; max-width:850px; }
.innovation-track .unified-link { display:inline-block; margin-top:18px; }
#diferenciadores { scroll-margin-top:-100px; }
a:focus-visible,summary:focus-visible,button:focus-visible { outline:2px solid #67e8f9; outline-offset:5px; }
@media(max-width:760px) {
 .partner-models,.capabilities dl>div { grid-template-columns:1fr; }
 .capabilities dl>div { gap:8px; }
 #diferenciadores { scroll-margin-top:-65px; }
 .unified-specs { gap:24px; flex-wrap:wrap; }
 .service-map { gap:8px; }
 .service-map a { padding:8px 12px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
