@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Source+Serif+4:opsz,wght@8..60,500;8..60,600&display=swap');
:root{--ink:#071827;--navy:#061b31;--blue:#0759a7;--cyan:#13a7d9;--mist:#edf4f8;--line:#d6e0e6;--muted:#61707d}*{box-sizing:border-box}body{font-family:Manrope,sans-serif;color:var(--ink);background:#fff}.navbar{background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(7,24,39,.09);min-height:78px}.navbar-brand img{width:46px;height:46px;object-fit:contain}.navbar-brand span{line-height:1}.navbar-brand b{display:block;font-size:1rem;letter-spacing:.04em}.navbar-brand small{display:block;font-size:.52rem;letter-spacing:.1em;margin-top:7px;color:#526270}.nav-link{font-size:.82rem;font-weight:600;color:#243745!important;padding:.75rem .7rem!important}.nav-link:hover{color:#0068b5!important}.hero{min-height:92vh;padding:150px 0 80px;background:linear-gradient(120deg,#f9fbfc 0%,#fff 45%,#edf7fc 100%);position:relative;overflow:hidden}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(rgba(6,40,68,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(6,40,68,.035) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to right,transparent,black)}.hero .container{position:relative;z-index:2}.eyebrow{font-size:.72rem;letter-spacing:.18em;font-weight:700;color:#0876bc;text-transform:uppercase}.display-title{font-family:'Source Serif 4',serif;font-size:clamp(3.3rem,6.7vw,7rem);line-height:.91;letter-spacing:-.055em;margin:28px 0}.display-title em{font-style:normal;color:#0876bc}.leadx{font-size:1.08rem;line-height:1.8;color:#4d5d68;max-width:700px}.hero-art{position:relative}.hero-art img{width:100%;max-height:690px;object-fit:contain;filter:drop-shadow(0 25px 45px rgba(0,70,130,.13))}.rule-label{display:flex;align-items:center;gap:18px;margin:20px 0;color:#52616d;font-size:.75rem;letter-spacing:.1em}.rule-label:before{content:'';height:1px;width:70px;background:#0b6eae}.btn-institutional{border-radius:0;padding:14px 22px;font-size:.82rem;font-weight:700;letter-spacing:.04em}.section{padding:100px 0}.section-dark{background:#061b31;color:#fff}.section-soft{background:#f3f7f9}.section-title{font-family:'Source Serif 4',serif;font-size:clamp(2.4rem,4vw,4.3rem);line-height:1.03;letter-spacing:-.035em}.section-copy{color:#65747f;line-height:1.8}.section-dark .section-copy{color:#afbdc8}.research-row{border-top:1px solid var(--line);padding:30px 0;display:grid;grid-template-columns:80px 1fr 1fr 40px;gap:25px;align-items:center}.research-row:last-child{border-bottom:1px solid var(--line)}.research-row .num{font-family:'Source Serif 4',serif;font-size:1.7rem;color:#8aa0ae}.research-row h3{font-size:1.35rem;margin:0}.research-row p{margin:0;color:#667682}.research-row i{font-size:1.3rem}.statement{padding:100px 0;background:linear-gradient(120deg,#041525,#082d4b);color:#fff;position:relative;overflow:hidden}.statement:after{content:'AI';position:absolute;right:-2vw;bottom:-12vw;font-family:'Source Serif 4';font-size:34vw;color:rgba(255,255,255,.025)}.metric{border-left:1px solid rgba(255,255,255,.2);padding-left:25px}.metric b{display:block;font-family:'Source Serif 4';font-size:2rem}.editorial{border-top:1px solid var(--line);padding-top:25px}.editorial .tag{font-size:.68rem;letter-spacing:.14em;color:#0876bc;font-weight:700}.page-head{padding:160px 0 75px;background:#f4f8fa;border-bottom:1px solid var(--line)}.page-head h1{font-family:'Source Serif 4';font-size:clamp(3rem,6vw,6rem);letter-spacing:-.045em}.content-block{padding:80px 0}.content-block h2{font-family:'Source Serif 4';font-size:2.3rem}.content-block p{line-height:1.85;color:#5f6f7a}footer{background:#04121f;color:#c6d1d9}footer h6{font-size:.72rem;letter-spacing:.14em;color:#fff}.foot-brand{font-family:'Source Serif 4';font-size:2rem;color:#fff}.footline{border-top:1px solid #20313f;font-size:.75rem;color:#81919e}@media(max-width:991px){.hero{padding-top:120px}.hero-art{margin-top:50px}.research-row{grid-template-columns:50px 1fr}.research-row p{grid-column:2}.navbar-brand small{display:none}}

/* =========================================================
   SMITEIMYT — Refinamiento editorial + imágenes 3D
   ========================================================= */

/* Párrafos editoriales justificados */
main p,
section p,
article p,
.page-content p,
.editorial-copy p,
.lead-copy p,
.about-copy p,
.research-copy p {
    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
    -webkit-hyphens: auto;
}

/* En móvil evitamos huecos excesivos producidos por la justificación */
@media (max-width: 575.98px) {
    main p,
    section p,
    article p,
    .page-content p,
    .editorial-copy p,
    .lead-copy p,
    .about-copy p,
    .research-copy p {
        text-align: left;
        hyphens: none;
    }
}

/* Tratamiento premium para imágenes de contenido */
main img:not(.brand-logo):not(.logo):not(.favicon-preview),
section img:not(.brand-logo):not(.logo),
article img:not(.brand-logo):not(.logo) {
    border-radius: 26px;
}

/* Contenedor reutilizable para imágenes con profundidad */
.media-3d,
.image-3d,
.hero-visual,
.editorial-image,
.research-image,
.feature-image {
    position: relative;
    isolation: isolate;
    border-radius: 30px;
    perspective: 1400px;
}

.media-3d::before,
.image-3d::before,
.hero-visual::before,
.editorial-image::before,
.research-image::before,
.feature-image::before {
    content: "";
    position: absolute;
    inset: 10% -3% -5% 8%;
    z-index: -1;
    border-radius: 34px;
    background: radial-gradient(circle at 50% 35%,
        rgba(39, 151, 255, .24),
        rgba(4, 38, 78, .10) 45%,
        transparent 72%);
    filter: blur(22px);
    transform: translateZ(-40px);
}

.media-3d img,
.image-3d img,
.hero-visual img,
.editorial-image img,
.research-image img,
.feature-image img {
    display: block;
    width: 100%;
    border-radius: 30px;
    transform: perspective(1400px) rotateY(-3deg) rotateX(1.2deg) translateZ(0);
    transform-origin: center;
    box-shadow:
        0 34px 70px rgba(0, 22, 52, .22),
        0 12px 30px rgba(0, 72, 145, .14),
        inset 0 0 0 1px rgba(255,255,255,.30);
    transition:
        transform .55s cubic-bezier(.2,.75,.25,1),
        box-shadow .55s ease,
        filter .55s ease;
    will-change: transform;
}

.media-3d:hover img,
.image-3d:hover img,
.hero-visual:hover img,
.editorial-image:hover img,
.research-image:hover img,
.feature-image:hover img {
    transform: perspective(1400px) rotateY(0deg) rotateX(0deg) translateY(-8px) scale(1.015);
    box-shadow:
        0 46px 90px rgba(0, 22, 52, .28),
        0 18px 42px rgba(0, 112, 220, .18),
        inset 0 0 0 1px rgba(255,255,255,.45);
}

/* Si una imagen no está dentro de los contenedores anteriores,
   conserva esquinas redondeadas y una sombra editorial sutil. */
main img:not(.brand-logo):not(.logo),
section img:not(.brand-logo):not(.logo) {
    box-shadow: 0 20px 48px rgba(5, 31, 63, .12);
}

/* Accesibilidad: elimina movimiento si el sistema lo solicita */
@media (prefers-reduced-motion: reduce) {
    .media-3d img,
    .image-3d img,
    .hero-visual img,
    .editorial-image img,
    .research-image img,
    .feature-image img {
        transition: none;
        transform: none;
    }
}

/* V2: justificación forzada y 3D interactivo */
main p,.hero p,.page-head p,.section p,.content-block p,.statement p,.editorial p,
.research-row p,p.leadx,p.section-copy,p.fs-5{
 text-align:justify!important;text-justify:inter-word!important;
 hyphens:auto;-webkit-hyphens:auto;
}
.image-3d{--rx:0deg;--ry:0deg;--lift:0px;position:relative;perspective:1200px;
 transform-style:preserve-3d;border-radius:34px;overflow:visible}
.image-3d:after{content:"";position:absolute;inset:8% 5% -8% 5%;border-radius:34px;
 background:radial-gradient(circle at center,rgba(13,126,214,.34),rgba(8,64,112,.13) 48%,transparent 72%);
 filter:blur(28px);z-index:-1;opacity:.75;transition:.35s ease}
.image-3d img{display:block;width:100%;border-radius:32px!important;
 transform:perspective(1200px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(var(--lift)) translateZ(22px)!important;
 transform-style:preserve-3d;backface-visibility:hidden;
 box-shadow:0 35px 80px rgba(4,27,54,.25),0 15px 35px rgba(0,91,170,.18),0 0 0 1px rgba(255,255,255,.55) inset!important;
 transition:transform .10s ease-out,box-shadow .3s ease,filter .3s ease!important}
.image-3d:hover img{box-shadow:0 52px 110px rgba(4,27,54,.34),0 24px 54px rgba(0,122,220,.28)!important;
 filter:saturate(1.08) contrast(1.03)}
.image-3d:hover:after{opacity:1;transform:translateY(12px) scale(1.05)}
