@font-face{
    font-family:'Poppins';
    src:url('fonts/poppins-300.woff2') format('woff2');
    font-style:normal;
    font-weight:300;
    font-display:swap;
}

@font-face{
    font-family:'Poppins';
    src:url('fonts/poppins-400.woff2') format('woff2');
    font-style:normal;
    font-weight:400;
    font-display:swap;
}

@font-face{
    font-family:'Poppins';
    src:url('fonts/poppins-600.woff2') format('woff2');
    font-style:normal;
    font-weight:600;
    font-display:swap;
}

@font-face{
    font-family:'Poppins';
    src:url('fonts/poppins-700.woff2') format('woff2');
    font-style:normal;
    font-weight:700;
    font-display:swap;
}

/* ===== RESET ===== */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Poppins',sans-serif;
    background:#edf5fc;
    color:#172b45;
    line-height:1.6;
    overflow-x:hidden;
}

a{
    text-decoration:none;
    color:inherit;
}

/* ===== HEADER ===== */

.hero-header{
    background:#edf5fc;
    text-align:center;
    padding:20px 0;
    position:relative;
    z-index:3000; /* 🔴 esto evita que se vea el menú detrás */
}

.logo{
    width:100%;
    max-width:700px;
    height:auto;
    display:block;
    margin:0 auto;
}

/* ===== NAV DESKTOP ===== */
.nav-links{
    display:flex;
    justify-content:center;
    gap:40px;
    margin-top:20px;
}

.nav-links a{
    font-weight:600;
    font-size:16px;
    transition:.3s;
}

.nav-links a:hover{
    color:#215f91;
}

.nav-links a[aria-current="page"]{
    color:#172b45;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
    outline:3px solid #7ee0ff;
    outline-offset:3px;
}

/* ===== BOTÓN HAMBURGUESA ===== */
.menu-toggle{
    display:none;
    position:absolute;
    left:10px;
    top:50%;
    transform:translateY(-50%);
    width:46px;
    height:46px;
    background:#e5f5ff;
    border-radius:50%;
    justify-content:center;
    align-items:center;
    flex-direction:column;
    gap:5px;
    box-shadow:0 4px 12px rgba(0,0,0,.35); /* sombra suave, sin aro gris */
    border:none; /* 🔥 elimina borde gris */
    z-index:3001;
}



.menu-toggle span{
    width:24px;
    height:3px;
    background:#fff;
    border-radius:3px;
}

/* ===== SLIDER ===== */
.slider{
    position:relative;
    width:100%;
    height:auto;
    aspect-ratio:16 / 9;
    overflow:hidden;
    margin-top:20px;
    border:1px solid #d5e2ee;
    border-radius:28px;
    max-width:1280px;
    margin-left:auto;
    margin-right:auto;
    box-shadow:
        0 30px 70px rgba(0,0,0,.38),
        0 0 0 1px rgba(255,255,255,0.04) inset;
}

.futuristic-slider{
    background:#edf5fc;
}

.slider-backdrop{
    position:absolute;
    inset:0;
    background:transparent;
    z-index:1;
}

.slider-backdrop::before{
    content:none;
}

.slider-backdrop::after{
    content:none;
}

.slide{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    transform:scale(1.03);
    transition:opacity .9s ease, transform 1.2s ease, visibility .9s ease;
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
    background-color:#edf5fc;
}

.slide.active{
    opacity:1;
    visibility:visible;
    transform:scale(1);
}

.slide-overlay{
    position:absolute;
    inset:0;
    background:none;
}

.slide-grid{
    position:relative;
    z-index:2;
    height:100%;
    display:grid;
    grid-template-columns:minmax(0, 1.3fr) minmax(280px, .7fr);
    align-items:center;
    gap:32px;
    padding:70px 72px 88px;
}

.apple-grid{
    grid-template-columns:minmax(0, 1fr) minmax(260px, 360px);
    gap:40px;
}

.hero-panel{
    max-width:760px;
    padding:26px 26px 24px;
    border:1px solid #d5e2ee;
    border-radius:24px;
    background:#edf5fc;
    backdrop-filter:none;
    box-shadow:0 20px 50px rgba(0,0,0,.24);
}

.apple-panel{
    max-width:560px;
    padding:22px 22px 22px 0;
    background:#edf5fc;
    border:1px solid #d5e2ee;
    box-shadow:0 20px 44px rgba(0,0,0,.18);
    border-radius:32px;
}

.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:14px;
    padding:7px 12px;
    border:1px solid #d5e2ee;
    border-radius:999px;
    background:#edf5fc;
    color:#172b45;
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    box-shadow:0 10px 24px rgba(0,0,0,.14);
}

.hero-panel{
    position:relative;
}

.hero-panel h1,
.hero-panel h2{
    font-size:36px;
    line-height:1.12;
    margin-bottom:12px;
}

.hero-panel p{
    margin:0;
    max-width:460px;
    font-size:15px;
    line-height:1.4;
    color:#215f91;
}

.apple-panel h1,
.apple-panel h2{
    font-size:44px;
    line-height:1.05;
    letter-spacing:-0.03em;
    max-width:560px;
    text-shadow:none;
}

.apple-panel p{
    max-width:420px;
    font-size:16px;
    line-height:1.4;
    color:#215f91;
}

.hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:20px;
}

.btn-secondary{
    background:#edf5fc;
    color:#172b45;
    border:1px solid #d5e2ee;
    box-shadow:0 12px 30px rgba(0,0,0,.14);
}

.btn-secondary:hover{
    background:#edf5fc;
    color:#172b45;
}

.info-panel{
    display:flex;
    flex-direction:column;
    gap:16px;
    justify-self:end;
    width:min(100%, 320px);
}

.info-chip,
.metric-card,
.info-copy{
    border:1px solid #d5e2ee;
    border-radius:20px;
    background:#e5f5ff;
    backdrop-filter:blur(10px);
    box-shadow:0 14px 36px rgba(0,0,0,.2);
}

.info-chip{
    padding:14px 18px;
    font-weight:600;
    color:#172b45;
}

.metric-card{
    padding:20px;
}

.metric-card span{
    display:block;
    margin-bottom:8px;
    color:#172b45;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.metric-card strong,
.info-copy strong{
    display:block;
    font-size:19px;
    line-height:1.3;
}

.info-copy{
    padding:22px;
}

.apple-orbit,
.apple-metrics,
.apple-light-column{
    position:relative;
    width:100%;
    min-height:340px;
    display:flex;
    align-items:center;
    justify-content:center;
    justify-self:end;
}

.apple-orbit{
    border-radius:36px;
    background:#e5f5ff;
    box-shadow:
        0 24px 50px rgba(0,0,0,.22),
        0 1px 0 rgba(255,255,255,0.08) inset;
}

.orbital-ring{
    position:absolute;
    border-radius:50%;
    border:1px solid #d5e2ee;
    box-shadow:0 0 0 1px rgba(255,255,255,0.04) inset;
}

.ring-one{
    width:300px;
    height:300px;
}

.ring-two{
    width:220px;
    height:220px;
    border-color:#d5e2ee;
}

.orbital-core{
    width:120px;
    height:120px;
    border-radius:50%;
    background:#e5f5ff;
    filter:blur(0.2px);
    box-shadow:
        0 20px 48px rgba(3,9,20,.28),
        0 0 0 12px rgba(255,255,255,0.03);
}

.floating-chip{
    position:absolute;
    padding:10px 16px;
    border-radius:999px;
    background:#edf5fc;
    border:1px solid #d5e2ee;
    color:#172b45;
    font-weight:600;
    letter-spacing:.01em;
    box-shadow:0 16px 32px rgba(0,0,0,.16);
}

.chip-one{
    top:30px;
    right:30px;
}

.chip-two{
    bottom:62px;
    left:18px;
}

.chip-three{
    bottom:26px;
    right:54px;
}

.apple-metrics,
.apple-light-column{
    flex-direction:column;
    gap:18px;
    align-items:stretch;
    justify-content:center;
}

.apple-metric-card,
.light-card{
    padding:24px;
    border-radius:24px;
    background:#e5f5ff;
    border:1px solid #d5e2ee;
    box-shadow:
        0 20px 40px rgba(0,0,0,.18),
        0 1px 0 rgba(255,255,255,0.06) inset;
}

.apple-metric-card span,
.light-card span{
    display:block;
    margin-bottom:10px;
    color:#172b45;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.apple-metric-card strong,
.light-card strong{
    display:block;
    font-size:24px;
    line-height:1.2;
    color:#172b45;
}

.info-copy p{
    margin:12px 0 0;
    color:#215f91;
}

.slider-controls{
    position:absolute;
    left:72px;
    right:72px;
    bottom:28px;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.slider-pagination{
    display:flex;
    gap:10px;
}

.slider-dot,
.slider-arrow{
    border:none;
    cursor:pointer;
}

.slider-dot{
    position:relative;
    width:44px;
    height:44px;
    border-radius:50%;
    background:transparent;
}

.slider-dot::before{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:13px;
    height:13px;
    transform:translate(-50%, -50%);
    border-radius:50%;
    background:#edf5fc;
    box-shadow:0 0 0 1px rgba(255,255,255,0.12);
    transition:transform .25s ease, background .25s ease;
}

.slider-dot.active::before{
    background:#f1f5fb;
    transform:translate(-50%, -50%) scale(1.15);
}

.slider-arrow{
    width:52px;
    height:52px;
    border-radius:50%;
    background:#edf5fc;
    color:#172b45;
    font-size:32px;
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #d5e2ee;
    transition:transform .2s ease, background .2s ease;
}

.slider-arrow:hover{
    background:#edf5fc;
    transform:translateY(-2px);
}

@keyframes slide{
    0%{transform:translateX(0)}
    30%{transform:translateX(0)}
    35%{transform:translateX(-100%)}
    65%{transform:translateX(-100%)}
    70%{transform:translateX(-200%)}
    100%{transform:translateX(-200%)}
}

/* ===== SECTION ===== */
.section{
    padding:80px 10%;
    text-align:center;
}

.section h2{
    font-size:32px;
    margin-bottom:20px;
    color:#215f91;
}

.section p{
    max-width:800px;
    margin:0 auto 40px auto;
    opacity:.9;
}

/* ===== BUTTON ===== */
.btn{
    display:inline-block;
    padding:12px 28px;
    background:#b0eeff;
    color:#000;
    border-radius:30px;
    font-weight:600;
    transition:.3s;
    box-shadow:0 8px 20px rgba(0,180,255,.4);
}

.btn:hover{
    background:#b0eeff;
    transform:translateY(-3px);
}

/* ===== SERVICES GRID ===== */
.services{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
    gap:30px;
    max-width:1100px;
    margin:40px auto;
    padding:0 20px;
    justify-content:center;   /* 🔥 centra las cards */
    justify-items:center;

}

.service-card{
    background:#edf5fc;
    padding:35px;
    border-radius:16px;
    transition:.3s;
    border:1px solid #d5e2ee;
    box-shadow:0 15px 40px rgba(0,0,0,.4);
}

.service-card:hover{
    transform:translateY(-8px);
    border-color:#00B4FF;
}

.trust-strip{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:16px;
    padding:24px 20px 10px;
}

.home-intro{
    max-width:980px;
    margin:54px auto 16px;
    padding:0 24px;
    text-align:center;
}

.home-intro h1{
    margin:10px auto 16px;
    font-size:46px;
    line-height:1.12;
}

.home-intro > p{
    max-width:820px;
    margin:0 auto;
    color:#215f91;
    font-size:18px;
}

.home-intro-actions{
    justify-content:center;
    margin-top:24px;
}

.trust-item{
    background:#edf5fc;
    border:1px solid #d5e2ee;
    border-radius:999px;
    padding:10px 18px;
    font-weight:600;
    font-size:14px;
}

.corporate-section,
.process-section,
.value-section,
.cta-section{
    max-width:1280px;
    margin:0 auto;
}

.section-heading{
    max-width:860px;
    margin:0 auto 44px;
}

.section-kicker{
    display:inline-block;
    margin-bottom:14px;
    padding:8px 14px;
    border-radius:999px;
    background:#edf5fc;
    border:1px solid #d5e2ee;
    color:#172b45;
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.corporate-grid{
    display:grid;
    grid-template-columns:1.15fr .85fr .85fr;
    gap:24px;
    align-items:stretch;
}

.executive-card{
    padding:30px;
    border-radius:24px;
    background:#e5f5ff;
    border:1px solid #d5e2ee;
    box-shadow:0 20px 50px rgba(0,0,0,.22);
    text-align:left;
}

.highlight-card{
    background:#e5f5ff;
}

.card-label{
    display:inline-block;
    margin-bottom:14px;
    color:#172b45;
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.executive-card h3{
    font-size:28px;
    line-height:1.2;
    margin-bottom:16px;
}

.executive-card p{
    margin:0;
    color:#215f91;
}

.executive-list{
    list-style:none;
    margin-top:20px;
    display:grid;
    gap:12px;
}

.executive-list li{
    padding:12px 14px;
    border-radius:14px;
    background:#edf5fc;
    border:1px solid #d5e2ee;
}

.process-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:20px;
}

.process-card{
    padding:28px 24px;
    border-radius:22px;
    text-align:left;
    background:#e5f5ff;
    border:1px solid #d5e2ee;
    box-shadow:0 16px 40px rgba(0,0,0,.18);
}

.process-step{
    display:inline-flex;
    width:48px;
    height:48px;
    border-radius:14px;
    align-items:center;
    justify-content:center;
    margin-bottom:18px;
    background:#e5f5ff;
    color:#215f91;
    font-weight:700;
    font-size:18px;
}

.process-card h3{
    margin-bottom:12px;
    font-size:22px;
    line-height:1.25;
}

.process-card p{
    margin:0;
    color:#215f91;
}

.value-panel,
.cta-panel{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:28px;
    align-items:center;
    padding:36px;
    border-radius:28px;
    background:#e5f5ff;
    border:1px solid #d5e2ee;
    box-shadow:0 24px 55px rgba(0,0,0,.24);
    text-align:left;
}

.value-copy h2,
.cta-panel h2{
    font-size:38px;
    line-height:1.18;
    margin-bottom:16px;
}

.value-copy p,
.cta-panel p{
    margin:0;
    max-width:680px;
    color:#215f91;
}

.value-metrics{
    display:grid;
    gap:16px;
}

.value-metric{
    padding:18px 20px;
    border-radius:18px;
    background:#edf5fc;
    border:1px solid #d5e2ee;
}

.value-metric strong{
    display:block;
    margin-bottom:6px;
    font-size:20px;
}

.value-metric span{
    color:#215f91;
}

.cta-panel{
    grid-template-columns:1fr;
}

.cta-actions{
    margin-top:24px;
}

.social-section{
    max-width:1280px;
    margin:0 auto;
    padding:40px 20px 0;
    text-align:center;
}

.social-section h3{
    margin-bottom:18px;
    font-size:24px;
}

.social-icons{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:18px;
}

.social-icons a{
    width:64px;
    height:64px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#edf5fc;
    border:1px solid #d5e2ee;
    transition:transform .25s ease, border-color .25s ease, background .25s ease;
}

.social-icons a:hover{
    transform:translateY(-4px);
    border-color:rgba(0,180,255,0.45);
    background:#edf5fc;
}

.social-icons img{
    max-width:30px;
    max-height:30px;
}

.services-hero{
    max-width:1280px;
    margin:28px auto 0;
    padding:0 20px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:28px;
    align-items:center;
}

.services-hero-copy,
.services-hero-visual{
    padding:30px;
    border-radius:28px;
    background:#e5f5ff;
    border:1px solid #d5e2ee;
    box-shadow:0 24px 55px rgba(0,0,0,.24);
}

.services-hero-copy{
    text-align:left;
}

.services-hero-copy h1{
    font-size:48px;
    line-height:1.12;
    margin-bottom:18px;
}

.services-hero-copy p{
    margin:0;
    max-width:640px;
    color:#215f91;
}

.services-hero-visual img{
    width:100%;
    height:auto;
    display:block;
    border-radius:22px;
    border:1px solid #d5e2ee;
}

.contact-hero-shell{
    margin-bottom:10px;
}

.contact-highlight-list{
    display:grid;
    gap:12px;
    margin-top:24px;
}

.contact-highlight-item{
    padding:14px 16px;
    border-radius:16px;
    background:#edf5fc;
    border:1px solid #d5e2ee;
    color:#215f91;
    font-weight:600;
}

.service-showcase-grid{
    display:grid;
    gap:26px;
}

.service-showcase-card{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(320px, 420px);
    gap:24px;
    align-items:center;
    padding:28px;
    border-radius:28px;
    background:#e5f5ff;
    border:1px solid #d5e2ee;
    box-shadow:0 24px 55px rgba(0,0,0,.24);
    text-align:left;
}

.service-showcase-copy p{
    margin:0 0 18px;
    color:#215f91;
}

.service-showcase-copy h3{
    font-size:34px;
    line-height:1.18;
    margin-bottom:16px;
}

.service-gallery{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.service-gallery img{
    width:100%;
    height:100%;
    min-height:260px;
    object-fit:cover;
    display:block;
    border-radius:20px;
    border:1px solid #d5e2ee;
    box-shadow:0 16px 34px rgba(0,0,0,.22);
    transition:transform .25s ease, border-color .25s ease;
}

.service-gallery img:hover{
    transform:translateY(-4px);
    border-color:rgba(0,180,255,0.35);
}

.featured-article-card{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(320px, 420px);
    gap:24px;
    align-items:center;
    padding:30px;
    border-radius:28px;
    background:#e5f5ff;
    border:1px solid #d5e2ee;
    box-shadow:0 24px 55px rgba(0,0,0,.24);
    text-align:left;
}

.featured-article-copy h3{
    font-size:38px;
    line-height:1.14;
    margin-bottom:14px;
}

.featured-article-copy p{
    margin:0 0 18px;
    color:#215f91;
}

.featured-article-visual img{
    width:100%;
    display:block;
    border-radius:22px;
    border:1px solid #d5e2ee;
    box-shadow:0 16px 34px rgba(0,0,0,.22);
}

.blog-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:22px;
}

.blog-card{
    padding:28px;
    border-radius:24px;
    background:#e5f5ff;
    border:1px solid #d5e2ee;
    box-shadow:0 20px 50px rgba(0,0,0,.22);
    text-align:left;
}

.blog-card h3{
    font-size:28px;
    line-height:1.2;
    margin-bottom:14px;
}

.blog-card p{
    margin:0 0 18px;
    color:#215f91;
}

.contact-section{
    max-width:1280px;
    margin:0 auto;
}

.contact-layout{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(320px, 420px);
    gap:26px;
    align-items:start;
}

.contact-form-panel,
.contact-info-panel{
    padding:30px;
    border-radius:28px;
    background:#e5f5ff;
    border:1px solid #d5e2ee;
    box-shadow:0 24px 55px rgba(0,0,0,.24);
}

.contact-panel-head{
    margin-bottom:22px;
    text-align:left;
}

.contact-panel-head h2{
    font-size:36px;
    line-height:1.16;
    margin-bottom:12px;
    color:#215f91;
}

.contact-panel-head p{
    margin:0;
    color:#215f91;
}

.contact-info-panel{
    display:grid;
    gap:18px;
}

.contact-side-card{
    padding:22px;
    border-radius:20px;
    background:#edf5fc;
    border:1px solid #d5e2ee;
    text-align:left;
}

.contact-side-card h3{
    margin:0 0 12px;
    font-size:24px;
    line-height:1.25;
}

.contact-side-card p{
    margin:0;
    color:#215f91;
}

/* ===== PROYECTOS ===== */
.project-hero{
    max-width:1280px;
    margin:28px auto 0;
    padding:44px;
    display:grid;
    grid-template-columns:minmax(0, .82fr) minmax(520px, 1.18fr);
    gap:42px;
    align-items:center;
    border:1px solid #d5e2ee;
    border-radius:30px;
    background:#e5f5ff;
    box-shadow:0 30px 70px rgba(0,0,0,.32);
}

.project-hero-copy h1{
    margin:12px 0 18px;
    font-size:48px;
    line-height:1.08;
}

.project-hero-copy,
.project-hero-media,
.home-project-copy,
.home-project-visual{
    min-width:0;
}

.project-hero-copy p{
    margin-bottom:26px;
    color:#215f91;
    font-size:17px;
}

.project-hero-media img{
    width:100%;
    height:auto;
    display:block;
    border-radius:22px;
    border:1px solid #d5e2ee;
    box-shadow:0 22px 45px rgba(0,0,0,.32);
}

.project-case{
    max-width:1280px;
    margin:0 auto;
}

.project-case-heading{
    display:grid;
    grid-template-columns:150px minmax(0, 1fr);
    gap:30px;
    align-items:center;
    margin-bottom:34px;
}

.project-case-heading > img{
    width:150px;
    height:150px;
    object-fit:contain;
    border-radius:26px;
    background:#fff;
}

.project-case-heading h2,
.project-features-section h2{
    margin:8px 0 12px;
    font-size:38px;
    line-height:1.15;
}

.project-case-heading p{
    max-width:850px;
    color:#215f91;
}

.project-summary-grid,
.project-features-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:22px;
}

.project-summary-card,
.project-features-grid article{
    padding:28px;
    border-radius:24px;
    border:1px solid #d5e2ee;
    background:#e5f5ff;
    box-shadow:0 18px 42px rgba(0,0,0,.2);
}

.project-summary-card > span{
    color:#172b45;
    font-size:12px;
    font-weight:700;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.project-summary-card h3{
    margin:10px 0 12px;
    font-size:24px;
    line-height:1.25;
}

.project-summary-card p,
.project-features-grid p{
    color:#215f91;
}

.project-showcase,
.project-features-section{
    max-width:1280px;
    margin:0 auto;
}

.project-device-grid{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 280px;
    gap:28px;
    align-items:start;
}

.project-screen{
    padding:16px;
    border-radius:26px;
    background:#edf5fc;
    border:1px solid #d5e2ee;
    box-shadow:0 24px 56px rgba(0,0,0,.3);
}

.project-screen img{
    display:block;
    width:100%;
    height:auto;
    border-radius:15px;
}

.project-screen figcaption{
    padding:14px 4px 2px;
    color:#215f91;
    font-size:13px;
}

.project-features-grid article strong{
    display:block;
    margin-bottom:9px;
    color:#172b45;
    font-size:19px;
}

.project-split-summary{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:20px;
    margin-top:34px;
}

.project-split-summary a{
    display:flex;
    flex-direction:column;
    gap:5px;
    padding:24px;
    border-radius:22px;
    background:#e5f5ff;
    border:1px solid #d5e2ee;
    transition:transform .25s ease, border-color .25s ease;
}

.project-split-summary a:hover{
    transform:translateY(-3px);
    border-color:rgba(102,209,255,.45);
}

.project-split-summary span{
    color:#172b45;
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.project-split-summary strong{
    font-size:24px;
}

.project-split-summary small{
    color:#215f91;
    font-size:14px;
}

.project-deliverable{
    max-width:1280px;
    margin:0 auto;
    scroll-margin-top:24px;
}

.project-deliverable-heading{
    display:grid;
    grid-template-columns:72px minmax(0, 1fr);
    gap:24px;
    align-items:start;
    margin-bottom:34px;
}

.project-index{
    display:flex;
    width:72px;
    height:72px;
    align-items:center;
    justify-content:center;
    border-radius:20px;
    background:#edf5fc;
    border:1px solid rgba(102,209,255,.24);
    color:#172b45;
    font-weight:700;
}

.project-deliverable-heading h2{
    margin:0 0 12px;
    font-size:42px;
    line-height:1.12;
}

.project-deliverable-heading p{
    max-width:850px;
    color:#215f91;
}

.project-summary-grid-two{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    margin-bottom:48px;
}

.project-gallery-heading{
    margin-top:18px;
}

.project-gallery-heading h3{
    margin-bottom:12px;
    font-size:34px;
    line-height:1.18;
}

.project-app{
    border-top:1px solid rgba(255,255,255,.08);
}

.project-app-dashboard{
    margin-bottom:24px;
}

.project-screen a{
    display:block;
}

.project-app-gallery{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:20px;
    margin-bottom:48px;
}

.project-app-gallery .project-screen{
    padding:12px;
}

.project-app-gallery img{
    width:100%;
    aspect-ratio:1.54 / 1;
    object-fit:cover;
    object-position:top;
}

.home-project-app-card{
    grid-template-columns:minmax(0, .9fr) minmax(440px, 1.1fr);
}

.home-project-app-visual{
    width:100%;
    max-width:none;
}

.home-project-app-visual img{
    max-height:none;
    aspect-ratio:1.54 / 1;
    object-fit:cover;
    object-position:top;
}

.home-project-section{
    max-width:1280px;
    margin:0 auto;
}

.home-project-card{
    display:grid;
    grid-template-columns:minmax(0, .9fr) minmax(440px, 1.1fr);
    gap:36px;
    align-items:center;
    padding:38px;
    border:1px solid #d5e2ee;
    border-radius:28px;
    background:#e5f5ff;
    box-shadow:0 24px 56px rgba(0,0,0,.28);
}

.home-project-copy h2{
    margin:10px 0 14px;
    font-size:38px;
    line-height:1.16;
}

.home-project-copy > p{
    color:#215f91;
}

.home-project-copy .executive-list{
    margin:18px 0 24px;
}

.home-project-visual img{
    width:100%;
    height:auto;
    display:block;
    border-radius:20px;
    border:1px solid #d5e2ee;
    box-shadow:0 20px 42px rgba(0,0,0,.3);
    transition:transform .25s ease;
}

.home-project-visual:hover img{
    transform:translateY(-4px);
}

/* ===== FOOTER ===== */
footer{
    background:#edf5fc;
    padding:40px 20px 24px;
    margin-top:80px;
    font-size:.9em;
}

.footer-grid{
    max-width:1280px;
    margin:0 auto 24px;
    display:flex;
    flex-wrap:wrap;
    gap:32px;
    justify-content:space-between;
    align-items:flex-start;
}

.footer-col{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.footer-col strong{
    font-size:16px;
    color:#172b45;
}

.footer-nav{
    display:flex;
    flex-wrap:wrap;
    gap:10px 20px;
}

.footer-nav a,
.footer-legal a,
.cookie-settings{
    color:#215f91;
    font-size:14px;
    transition:color .2s;
}

.cookie-settings{
    padding:0;
    border:0;
    background:transparent;
    font-family:inherit;
    text-align:right;
    cursor:pointer;
}

.footer-nav a:hover,
.footer-legal a:hover,
.cookie-settings:hover{
    color:#215f91;
}

.footer-legal{
    display:flex;
    flex-direction:column;
    gap:10px;
    text-align:right;
}

.footer-copy{
    max-width:1280px;
    margin:0 auto;
    text-align:center;
    opacity:.6;
    border-top:1px solid rgba(255,255,255,.07);
    padding-top:20px;
}

/* ===== VISUALLY HIDDEN (SEO / accesibilidad) ===== */
.visually-hidden{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}

/* ===== WHATSAPP ===== */
.whatsapp{
    position:fixed;
    bottom:25px;
    right:25px;
    background:#25D366;
    width:56px;
    height:56px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    box-shadow:0 10px 25px rgba(0,0,0,.4);
    z-index:999;
    overflow:hidden;
}

.whatsapp img{
    width:32px;
    height:32px;
}



/* ===== COOKIE BANNER ===== */
.cookie-banner{
    position:fixed;
    bottom:0;
    left:0;
    width:100%;
    background:#edf5fc;
    padding:20px;
    display:none;
    justify-content:center;
    z-index:2000;
    box-shadow:0 -5px 20px rgba(0,0,0,.5);
}

.cookie-content{
    max-width:1100px;
    width:100%;
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:center;
    gap:20px;
}

.cookie-content a{
    color:#172b45;
    text-decoration:underline;
    text-underline-offset:3px;
}

.cookie-buttons{
    display:flex;
    gap:15px;
}

.btn-cookie{
    padding:10px 20px;
    border:none;
    border-radius:25px;
    cursor:pointer;
    font-weight:600;
}

.accept{
    background:#b0eeff;
    color:#000;
}

.reject{
    background:#edf5fc;
    color:#172b45;
}

/* ===== RESPONSIVE ===== */
@media(max-width:900px){

    .logo{
        max-width:90%;
    }

    .home-intro{
        margin-top:38px;
    }

    .home-intro h1{
        font-size:34px;
    }

    .home-intro > p{
        font-size:16px;
    }

    .menu-toggle{
        display:flex;
    }

    .nav-links{
        position:absolute;
        top:100%;
        left:0;
        width:100%;
        background:#edf5fc;
        flex-direction:column;
        align-items:center;
        gap:18px;
        padding:20px 0;
        display:none;
        z-index:2999;
    }

    .nav-links.active{
        display:flex;
    }

    /* SLIDER MOBILE */
    .slider{
        height:auto;
        min-height:0;
        aspect-ratio:16 / 9;
        border-radius:22px;
    }

    /* background-size:cover ya aplicado en desktop */

    .slide-grid{
        grid-template-columns:1fr;
        padding:32px 20px 90px;
        gap:20px;
    }

    .hero-panel{
        padding:24px 20px;
    }

    .hero-panel h1,
    .hero-panel h2{
        font-size:32px;
    }

    .apple-panel{
        padding:8px 0 0;
    }

    .apple-panel h1,
    .apple-panel h2{
        font-size:40px;
        line-height:1.08;
    }

    .apple-panel p{
        font-size:16px;
    }

    /* GRID MOBILE */
    .services{
        grid-template-columns:1fr;
    }

    .corporate-grid,
    .process-grid,
    .value-panel,
    .services-hero,
    .service-showcase-card,
    .contact-layout,
    .featured-article-card,
    .project-hero,
    .project-summary-grid,
    .project-features-grid,
    .home-project-card{
        grid-template-columns:1fr;
    }

    .project-hero{
        margin:18px 16px 0;
        padding:26px 20px;
        overflow:hidden;
    }

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

    .project-case-heading{
        grid-template-columns:90px minmax(0, 1fr);
        gap:18px;
    }

    .project-case-heading > img{
        width:90px;
        height:90px;
        border-radius:18px;
    }

    .project-case-heading h2,
    .project-features-section h2{
        font-size:29px;
    }

    .project-device-grid{
        grid-template-columns:minmax(0, 1fr) 180px;
        gap:14px;
    }

    .home-project-card{
        padding:26px 20px;
    }

    .home-project-copy h2{
        font-size:30px;
    }

    .container{
        grid-template-columns:1fr;
        padding:30px 20px;
    }

    .section{
        padding:60px 20px;
    }

    .whatsapp{
        width:55px;
        height:55px;
    }

    .executive-card,
    .process-card,
    .value-panel,
    .cta-panel,
    .services-hero-copy,
    .services-hero-visual,
    .service-showcase-card,
    .contact-form-panel,
    .contact-info-panel{
        padding:24px 20px;
    }

    .executive-card h3{
        font-size:24px;
    }

    .value-copy h2,
    .cta-panel h2,
    .services-hero-copy h1,
    .contact-panel-head h2{
        font-size:30px;
    }

    .service-showcase-copy h3{
        font-size:28px;
    }

    .service-gallery{
        grid-template-columns:1fr;
    }

    .service-gallery img{
        min-height:220px;
    }

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

    .featured-article-copy h3,
    .blog-card h3{
        font-size:28px;
    }

    .contact-side-card{
        padding:20px;
    }

    .social-icons a{
        width:56px;
        height:56px;
        border-radius:16px;
    }

    .hero-panel p{
        font-size:15px;
    }

    .info-panel{
        width:100%;
        justify-self:stretch;
    }

    .apple-orbit,
    .apple-metrics,
    .apple-light-column{
        min-height:auto;
    }

    .ring-one{
        width:230px;
        height:230px;
    }

    .ring-two{
        width:170px;
        height:170px;
    }

    .orbital-core{
        width:92px;
        height:92px;
    }

    .slider-controls{
        left:20px;
        right:20px;
        bottom:22px;
    }

    .slider-arrow{
        width:46px;
        height:46px;
        font-size:28px;
    }

}

@media(max-width:560px){
    .project-case-heading,
    .project-device-grid{
        grid-template-columns:1fr;
    }

    .project-screen-mobile{
        max-width:260px;
        margin:0 auto;
    }
}

/* ===== LANDING PUBLICIDAD · SOLUCIONES PARA NEGOCIOS ===== */
.business-landing{
    --business-bg:#06152f;
    --business-panel:#0b2349;
    --business-card:#fff;
    --business-text:#10213b;
    --business-muted:#607089;
    --business-blue:#00aef0;
    --business-green:#42dfa0;
    background:#f4f8fc;
    color:var(--business-text);
}

.business-header{
    min-height:84px;
    padding:12px clamp(20px,5vw,72px);
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    background:var(--business-bg);
    border-bottom:1px solid rgba(255,255,255,.1);
}

.business-header img{
    display:block;
    width:min(420px,48vw);
    height:auto;
}

.business-header-cta,
.business-primary-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:14px 22px;
    border-radius:999px;
    background:#e5f5ff;
    color:#215f91;
    font-weight:700;
    box-shadow:0 12px 30px rgba(0,174,240,.24);
    transition:transform .2s ease,box-shadow .2s ease;
}

.business-header-cta:hover,
.business-primary-cta:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 36px rgba(0,174,240,.34);
}

.business-hero{
    padding:clamp(64px,8vw,112px) clamp(20px,6vw,88px);
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);
    align-items:center;
    gap:clamp(42px,7vw,96px);
    color:#172b45;
    background:#e5f5ff;
}

.business-eyebrow,
.business-heading>span,
.business-case-copy>span,
.business-small-project>span,
.business-lead-intro>span{
    display:block;
    margin-bottom:14px;
    color:var(--business-blue);
    font-size:13px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.business-hero h1{
    max-width:760px;
    margin-bottom:22px;
    font-size:clamp(39px,5vw,68px);
    line-height:1.06;
    letter-spacing:-.045em;
}

.business-hero-copy>p{
    max-width:710px;
    color:#215f91;
    font-size:clamp(18px,2vw,23px);
    line-height:1.6;
}

.business-hero-copy .business-hero-detail{
    margin-top:12px;
    color:#215f91;
    font-size:16px;
}

.business-primary-cta{
    margin-top:30px;
    padding:17px 28px;
    font-size:16px;
}

.business-trust-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:11px 20px;
    margin-top:32px;
    list-style:none;
}

.business-trust-list li{
    color:#215f91;
    font-size:14px;
}

.business-trust-list li::before{
    content:'✓';
    margin-right:9px;
    color:var(--business-green);
    font-weight:700;
}

.business-hero-visual{
    position:relative;
    padding:8px 0 42px;
}

.business-browser{
    overflow:hidden;
    border:1px solid #d5e2ee;
    border-radius:19px;
    background:#fff;
    box-shadow:0 36px 75px rgba(0,0,0,.42);
    transform:rotate(1.2deg);
}

.business-browser-bar{
    display:flex;
    align-items:center;
    gap:7px;
    padding:11px 14px;
    background:#e9eef5;
}

.business-browser-bar i{
    width:9px;
    height:9px;
    border-radius:50%;
    background:#ff6868;
}
.business-browser-bar i:nth-child(2){background:#f8c555}
.business-browser-bar i:nth-child(3){background:#49c77a}
.business-browser-bar span{margin-left:7px;color:#215f91;font-size:11px}
.business-browser img{display:block;width:100%;height:auto}

.business-result-card{
    position:absolute;
    right:-20px;
    bottom:0;
    width:min(320px,80%);
    padding:18px 20px;
    display:flex;
    flex-direction:column;
    border:1px solid #d5e2ee;
    border-radius:15px;
    background:#edf5fc;
    box-shadow:0 18px 40px rgba(0,0,0,.34);
}
.business-result-card strong{color:#172b45;font-size:17px}
.business-result-card span{margin-top:4px;color:#215f91;font-size:12px}

.business-section{
    max-width:1240px;
    margin:0 auto;
    padding:clamp(70px,8vw,112px) 24px;
}

.business-heading{
    max-width:760px;
    margin:0 auto 46px;
    text-align:center;
}
.business-heading h2,
.business-case-copy h2,
.business-small-project h2,
.business-lead-intro h2{
    margin-bottom:16px;
    color:var(--business-text);
    font-size:clamp(31px,4vw,48px);
    line-height:1.12;
    letter-spacing:-.03em;
}
.business-heading p,
.business-case-copy p,
.business-small-project p,
.business-lead-intro p{
    color:var(--business-muted);
    font-size:17px;
}

.business-problems{max-width:1160px}
.business-quotes{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.business-quotes blockquote{
    min-height:150px;
    padding:27px;
    display:flex;
    align-items:center;
    border:1px solid #dbe6f1;
    border-radius:18px;
    background:#fff;
    color:#215f91;
    font-size:16px;
    font-style:normal;
    box-shadow:0 12px 34px rgba(24,52,91,.07);
}

.business-services{
    max-width:none;
    padding-left:max(24px,calc((100vw - 1192px)/2));
    padding-right:max(24px,calc((100vw - 1192px)/2));
    background:#eaf2f9;
}
.business-service-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
}
.business-service-grid article{
    padding:30px;
    border:1px solid #d8e5f0;
    border-radius:19px;
    background:#fff;
    box-shadow:0 12px 30px rgba(24,52,91,.06);
}
.business-service-grid b{display:block;margin-bottom:18px;font-size:30px}
.business-service-grid h3{margin-bottom:9px;color:var(--business-text);font-size:19px}
.business-service-grid p{color:var(--business-muted);font-size:14px}

.business-case{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    align-items:center;
    gap:clamp(42px,7vw,90px);
}
.business-case-media{
    padding:10px;
    border-radius:22px;
    background:#dbe7f1;
    box-shadow:0 24px 55px rgba(18,48,83,.14);
}
.business-case-media img{display:block;width:100%;height:auto;border-radius:14px}
.business-case-copy ul{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 18px;
    margin:24px 0;
    list-style:none;
}
.business-case-copy li{color:#215f91;font-size:14px}
.business-case-copy li::before{content:'✓';margin-right:8px;color:#00a96f;font-weight:700}
.business-case-copy a,
.business-small-project a{
    display:inline-flex;
    gap:8px;
    color:#215f91;
    font-weight:700;
}

.business-small-project{
    max-width:1080px;
    margin:0 auto clamp(70px,9vw,125px);
    padding:clamp(42px,6vw,70px);
    border-radius:28px;
    text-align:center;
    background:#e5f5ff;
    box-shadow:0 30px 70px rgba(6,21,47,.2);
}
.business-small-project>span{color:var(--business-green)}
.business-small-project h2{color:#172b45}
.business-small-project p{max-width:760px;margin:0 auto 24px;color:#215f91}
.business-small-project a{color:#172b45}

.business-lead-section{
    max-width:none;
    padding-left:max(24px,calc((100vw - 1192px)/2));
    padding-right:max(24px,calc((100vw - 1192px)/2));
    display:grid;
    grid-template-columns:.72fr 1.28fr;
    align-items:start;
    gap:clamp(38px,7vw,86px);
    background:#eaf2f9;
}
.business-lead-intro{position:sticky;top:30px;padding-top:24px}
.business-contact-direct{
    margin-top:30px;
    padding:22px;
    display:flex;
    flex-direction:column;
    gap:9px;
    border:1px solid #d5e3ef;
    border-radius:16px;
    background:#fff;
}
.business-contact-direct strong{margin-bottom:4px;color:var(--business-text)}
.business-contact-direct a{color:#215f91;font-weight:600}

.business-form-card{
    padding:clamp(24px,4vw,44px);
    border:1px solid #d4e2ee;
    border-radius:23px;
    background:#fff;
    box-shadow:0 24px 62px rgba(24,52,91,.12);
}
.business-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.business-form-card label,
.business-form-card legend{
    color:#215f91;
    font-size:13px;
    font-weight:600;
}
.business-form-card label small{color:#215f91;font-weight:400}
.business-form-card input[type="text"],
.business-form-card input[type="email"],
.business-form-card input[type="tel"],
.business-form-card textarea{
    width:100%;
    margin-top:7px;
    padding:13px 14px;
    border:1px solid #c9d8e6;
    border-radius:10px;
    outline:none;
    background:#f9fbfd;
    color:#215f91;
    font:inherit;
}
.business-form-card textarea{min-height:145px;resize:vertical}
.business-form-card input:focus,
.business-form-card textarea:focus{border-color:#00aef0;box-shadow:0 0 0 3px rgba(0,174,240,.12)}
.business-form-card fieldset{margin:28px 0 0;padding:0;border:0}
.business-form-card legend{margin-bottom:11px}
.business-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.business-options label{position:relative;cursor:pointer}
.business-options input{position:absolute;opacity:0;pointer-events:none}
.business-options span{
    min-height:48px;
    padding:11px 13px;
    display:flex;
    align-items:center;
    border:1px solid #d2deea;
    border-radius:10px;
    background:#f9fbfd;
    color:#215f91;
    font-size:12px;
    font-weight:500;
    transition:.2s ease;
}
.business-options input:checked+span{border-color:#00aef0;background:#eaf9ff;color:#215f91;box-shadow:0 0 0 2px rgba(0,174,240,.1)}
.business-options input:focus-visible+span{outline:3px solid #7ee0ff;outline-offset:2px}
.business-message{display:block;margin-top:26px}
.business-budget-options{grid-template-columns:repeat(3,minmax(0,1fr))}
.business-privacy{margin-top:24px;display:flex;align-items:flex-start;gap:9px}
.business-privacy input{width:18px;height:18px;flex:0 0 auto;accent-color:#00aef0}
.business-privacy a{color:#215f91;text-decoration:underline}
.business-submit{margin-top:22px!important;padding:16px 24px!important;background:#e5f5ff;color:#215f91!important;font-weight:700!important}
.business-data-note{margin-top:13px;color:#215f91;font-size:12px;text-align:center}
.business-form-success,.business-form-error{margin-bottom:22px;padding:15px 17px;border-radius:11px;font-weight:600}
.business-form-success{background:#dbfaec;color:#08764f}
.business-form-error{background:#ffe5e5;color:#a31f2c}

.business-footer{
    padding:38px max(24px,6vw);
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:16px 30px;
    background:var(--business-bg);
    color:#215f91;
}
.business-footer img{width:min(330px,65vw);height:auto}
.business-footer div{display:flex;flex-wrap:wrap;gap:17px}
.business-footer a,.business-footer button{color:#215f91}
.business-footer p{grid-column:1/-1;font-size:12px}

@media(max-width:980px){
    .business-hero{grid-template-columns:1fr;padding-top:70px}
    .business-hero-visual{max-width:760px}
    .business-quotes,.business-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .business-case{grid-template-columns:1fr}
    .business-case-media{order:2}
    .business-lead-section{grid-template-columns:1fr}
    .business-lead-intro{position:static}
}

@media(max-width:650px){
    .business-header{min-height:70px;padding:10px 16px}
    .business-header img{width:210px}
    .business-header-cta{padding:10px 13px;font-size:11px}
    .business-hero{padding:55px 20px 70px}
    .business-hero h1{font-size:38px}
    .business-trust-list,.business-quotes,.business-service-grid,.business-form-grid,.business-options,.business-budget-options{grid-template-columns:1fr}
    .business-result-card{right:-5px}
    .business-section{padding:68px 18px}
    .business-quotes blockquote{min-height:auto}
    .business-small-project{margin:0 18px 70px;padding:38px 22px;border-radius:21px}
    .business-case-copy ul{grid-template-columns:1fr}
    .business-lead-section{padding:68px 18px}
    .business-form-card{padding:22px 17px}
    .business-footer{grid-template-columns:1fr}
}
/* ===== ARTÍCULOS DE BLOG ===== */
.article-layout{
    max-width:860px;
    margin:0 auto;
    padding:60px 20px 80px;
    text-align:left;
}

.article-layout h1{
    font-size:38px;
    line-height:1.18;
    margin-bottom:10px;
    color:#172b45;
}

.article-layout .article-meta{
    color:#215f91;
    font-size:13px;
    margin-bottom:40px;
    display:block;
}

.article-layout h2{
    font-size:22px;
    color:#215f91;
    margin:36px 0 14px;
}

.article-layout p{
    color:#215f91;
    line-height:1.8;
    margin-bottom:16px;
    max-width:100%;
}

.article-layout ul{
    padding-left:20px;
    margin-bottom:16px;
}

.article-layout li{
    color:#215f91;
    line-height:1.75;
    margin-bottom:8px;
}

.article-layout .article-cta{
    margin-top:48px;
    padding-top:32px;
    border-top:1px solid rgba(255,255,255,.08);
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:20px;
}

.article-layout .article-cta p{
    margin:0;
    color:#215f91;
}

/* ===== FORMULARIO CONTACTO ===== */

.form-group{
    display:flex;
    flex-direction:column;
    margin-bottom:20px;
    text-align:left;
}

.form-group label{
    margin-bottom:6px;
    font-weight:500;
    font-size:14px;
}

.form-group input,
.form-group textarea{
    width:100%;
    padding:12px 14px;
    border-radius:8px;
    border:none;
    outline:none;
    background:#edf5fc;
    color:#172b45;
    font-family:'Poppins',sans-serif;
    font-size:14px;
}

.form-group textarea{
    min-height:120px;
    resize:vertical;
}

.hp-field{
    position:absolute;
    left:-9999px;
    width:1px;
    height:1px;
    overflow:hidden;
}

.form-note{
    margin-top:5px;
    font-size:14px;
    opacity:.8;
    text-align:left;
}

.privacy-check{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin:16px 0 4px;
    color:#215f91;
    font-size:14px;
    text-align:left;
}

.privacy-check input{
    width:20px;
    height:20px;
    flex:0 0 auto;
    margin-top:1px;
    accent-color:#00B4FF;
}

.privacy-check a{
    color:#172b45;
    text-decoration:underline;
}

/* Botón del formulario */
form button{
    width:100%;
    margin-top:10px;
    padding:14px;
    border:none;
    border-radius:30px;
    background:#b0eeff;
    color:#000;
    font-weight:600;
    font-size:15px;
    cursor:pointer;
    transition:.3s;
    box-shadow:0 8px 20px rgba(0,180,255,.4);
}

form button:hover{
    background:#b0eeff;
    transform:translateY(-2px);
}

/* Mensajes de éxito o error */
.success-message{
    background:#b0eeff;
    color:#000;
    padding:15px;
    border-radius:10px;
    margin-bottom:20px;
    font-weight:500;
}
@media(max-width:900px){
.contact-info{
    text-align:center;
    margin-top:20px;
    }

.footer-legal{
    text-align:left;
    }
}
.input-icon{
    position:relative;
}

.input-icon i{
    position:absolute;
    left:14px;
    top:50%;
    transform:translateY(-50%);
    color:#215f91;
    font-size:14px;
}

.input-icon input,
.input-icon textarea{
    padding-left:40px;
}
.form-group input:focus,
.form-group textarea:focus{
    box-shadow:0 0 0 2px #00B4FF;
    background:#edf5fc;
}
.input-error{
    box-shadow:0 0 0 2px #ff4d4d !important;
}

.input-valid{
    box-shadow:0 0 0 2px #00ff88 !important;
}
form button:active{
    transform:scale(0.98);
}

@media (prefers-reduced-motion: reduce){
    *,
    *::before,
    *::after{
        scroll-behavior:auto !important;
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
    }
}
.mission-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
    gap:30px;
    max-width:800px;
    margin:40px auto;   /* 🔥 centra el bloque completo */
    justify-content:center;

}
.contact-info{
    text-align:center;
}

.contact-info p{
    text-align:center;
}

/* SOLO SERVICIOS - centrar último card cuando queda solo */
.servicios-grid{
    justify-items:center;
}

.servicios-grid .service-card{
    max-width:350px;
}

/* ===== REDISEÑO COMERCIAL 2026 ===== */
.hero-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:36px;
    padding:14px max(24px, calc((100vw - 1280px) / 2));
    border-bottom:1px solid rgba(255,255,255,.07);
}

.logo{
    width:290px;
    max-width:34vw;
    margin:0;
}

.nav-links{
    gap:24px;
    margin-top:0;
}

.nav-links a{
    font-size:14px;
}

.home-hero-modern{
    position:relative;
    max-width:1280px;
    margin:36px auto 0;
    padding:56px;
    display:grid;
    grid-template-columns:minmax(0, .86fr) minmax(500px, 1.14fr);
    gap:54px;
    align-items:center;
    overflow:hidden;
    border:1px solid #d5e2ee;
    border-radius:32px;
    background:#e5f5ff;
    box-shadow:0 30px 70px rgba(0,0,0,.28);
}

.home-hero-modern::before{
    content:"";
    position:absolute;
    width:280px;
    height:280px;
    left:-160px;
    bottom:-180px;
    border-radius:50%;
    background:#edf5fc;
    filter:blur(20px);
}

.home-hero-copy,
.home-hero-case{
    position:relative;
    z-index:1;
    min-width:0;
}

.home-hero-copy h1{
    max-width:680px;
    margin:8px 0 20px;
    font-size:clamp(42px, 4.4vw, 64px);
    line-height:1.04;
    letter-spacing:-.045em;
}

.home-hero-copy > p{
    max-width:650px;
    color:#215f91;
    font-size:18px;
}

.home-hero-copy .hero-actions{
    margin-top:28px;
}

.home-proof-list{
    list-style:none;
    display:flex;
    flex-wrap:wrap;
    gap:10px 18px;
    margin-top:28px;
    color:#215f91;
    font-size:13px;
}

.home-proof-list li::before{
    content:"✓";
    margin-right:8px;
    color:#172b45;
    font-weight:700;
}

.home-hero-case{
    display:block;
    padding:12px;
    border-radius:24px;
    background:#edf5fc;
    border:1px solid #d5e2ee;
    box-shadow:0 24px 55px rgba(0,0,0,.35);
    transition:transform .25s ease, border-color .25s ease;
}

.home-hero-case:hover{
    transform:translateY(-4px);
    border-color:rgba(102,209,255,.5);
}

.browser-frame{
    overflow:hidden;
    border-radius:15px;
    background:#fff;
}

.browser-toolbar{
    min-height:36px;
    display:flex;
    align-items:center;
    gap:7px;
    padding:0 12px;
    background:#e9eef5;
    color:#215f91;
}

.browser-toolbar span{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#b0eeff;
}

.browser-toolbar b{
    margin-left:8px;
    font-size:10px;
    font-weight:600;
}

.browser-frame img{
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:1.42 / 1;
    object-fit:cover;
    object-position:top;
}

.hero-case-caption{
    display:flex;
    flex-direction:column;
    gap:3px;
    padding:16px 8px 7px;
}

.hero-case-caption span{
    color:#172b45;
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.hero-case-caption strong{
    font-size:15px;
}

.home-services-modern{
    max-width:1280px;
    margin:0 auto;
}

.home-services-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:22px;
}

.home-service-card{
    display:flex;
    flex-direction:column;
    min-height:330px;
    padding:30px;
    border-radius:24px;
    background:#e5f5ff;
    border:1px solid #d5e2ee;
    box-shadow:0 18px 44px rgba(0,0,0,.19);
}

.service-number{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    margin-bottom:28px;
    border-radius:14px;
    background:#edf5fc;
    border:1px solid rgba(102,209,255,.24);
    color:#172b45;
    font-size:14px;
    font-weight:700;
}

.home-service-card h3{
    margin-bottom:14px;
    font-size:26px;
    line-height:1.2;
}

.home-service-card p{
    margin:0 0 22px;
    color:#215f91;
}

.home-service-card a{
    margin-top:auto;
    color:#172b45;
    font-weight:600;
    font-size:14px;
}

.home-project-card{
    grid-template-columns:minmax(0, 1fr) minmax(260px, .55fr);
    padding:46px;
}

.home-project-visual{
    width:min(100%, 340px);
    justify-self:center;
}

.home-project-visual img{
    max-height:510px;
    object-fit:cover;
    object-position:top;
}

.services-outcomes h2{
    margin:0 0 24px;
    font-size:34px;
    line-height:1.15;
}

.services-outcomes ul{
    list-style:none;
    display:grid;
    gap:12px;
}

.services-outcomes li{
    display:grid;
    grid-template-columns:42px 1fr;
    gap:14px;
    align-items:center;
    padding:15px;
    border-radius:16px;
    background:#edf5fc;
    border:1px solid #d5e2ee;
}

.services-outcomes li span{
    color:#172b45;
    font-size:12px;
    font-weight:700;
}

.services-outcomes li strong{
    font-size:14px;
    line-height:1.4;
}

.service-showcase-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    align-items:stretch;
}

.service-showcase-card{
    grid-template-columns:1fr;
    align-items:start;
    scroll-margin-top:24px;
}

.service-showcase-copy{
    display:flex;
    flex-direction:column;
    height:100%;
}

.service-showcase-copy .service-number{
    margin-bottom:18px;
}

.service-showcase-copy .card-label{
    margin-bottom:10px;
}

.service-showcase-copy .btn{
    align-self:flex-start;
    margin-top:auto;
}

.featured-article-card.no-visual{
    grid-template-columns:1fr;
    max-width:900px;
    margin:0 auto;
}

@media(max-width:1100px){
    .hero-header{
        gap:20px;
    }

    .nav-links{
        gap:16px;
    }

    .nav-links a{
        font-size:13px;
    }

    .home-hero-modern{
        margin-inline:20px;
        padding:42px;
        grid-template-columns:minmax(0, .9fr) minmax(420px, 1.1fr);
        gap:36px;
    }
}

@media(max-width:900px){
    .hero-header{
        display:block;
        padding:14px 20px;
        text-align:center;
    }

    .logo{
        width:min(270px, 76vw);
        max-width:none;
        margin:0 auto;
    }

    .nav-links{
        gap:18px;
        margin-top:0;
    }

    .home-hero-modern{
        grid-template-columns:1fr;
        margin:20px 16px 0;
        padding:36px 28px;
        gap:36px;
    }

    .home-hero-copy h1{
        font-size:clamp(38px, 9vw, 52px);
    }

    .home-services-grid,
    .service-showcase-grid{
        grid-template-columns:1fr;
    }

    .home-service-card{
        min-height:0;
    }

    .home-project-card{
        grid-template-columns:1fr;
        padding:30px 24px;
    }

    .home-project-visual{
        width:min(100%, 320px);
    }
}

@media(max-width:560px){
    .home-hero-modern{
        padding:28px 20px;
        border-radius:24px;
    }

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

    .home-hero-copy > p{
        font-size:16px;
    }

    .home-proof-list{
        display:grid;
    }

    .browser-toolbar b{
        max-width:150px;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    .home-services-modern{
        padding-top:52px;
    }

    .home-service-card,
    .service-showcase-card{
        padding:24px 20px;
    }
}

/* Ajustes finales de las dos entregas SegurEnergy */
.home-project-card.home-project-app-card{
    grid-template-columns:minmax(0, .9fr) minmax(440px, 1.1fr);
}

.home-project-app-visual{
    width:100%;
    max-width:none;
}

@media(max-width:900px){
    .project-split-summary,
    .project-app-gallery{
        grid-template-columns:1fr;
    }

    .project-deliverable-heading{
        grid-template-columns:58px minmax(0, 1fr);
        gap:18px;
    }

    .project-index{
        width:58px;
        height:58px;
        border-radius:17px;
    }

    .project-deliverable-heading h2{
        font-size:32px;
    }

    .home-project-card.home-project-app-card{
        grid-template-columns:1fr;
    }
}

@media(max-width:560px){
    .project-deliverable-heading{
        grid-template-columns:1fr;
    }

    .project-deliverable-heading h2{
        font-size:29px;
    }

    .project-app-gallery{
        gap:16px;
    }
}

/* C.MTech — Azul suave aprobado, septiembre 2026. */
:root{--cm-paper:#f8fbfe;--cm-ink:#172b45;--cm-muted:#53657b;--cm-sky:#b0eeff;--cm-accent:#215f91}
body{background:var(--cm-paper);color:var(--cm-ink)}
.hero-header{background:var(--cm-paper);padding:22px max(24px,calc((100vw - 1280px)/2));border-bottom:1px solid #d5e2ee;box-shadow:none;gap:30px}
.logo{width:240px;max-width:240px;border-radius:8px;filter:none;height:auto;margin:0}
.nav-links a{color:var(--cm-ink);font-size:13px}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--cm-accent)}
.nav-links a:last-child{border:1px solid #7c9ab5;padding:10px 18px;border-radius:100px}
.menu-toggle{background:#172b45;box-shadow:none}.menu-toggle span{background:white}
.services-hero,.project-hero{background:transparent;box-shadow:none}
.services-hero-copy h1,.project-hero-copy h1{color:var(--cm-ink);letter-spacing:-.045em;line-height:1.12}
.section h2,.section-heading h2{color:var(--cm-ink);letter-spacing:-.035em}
.section-kicker,.card-label{color:var(--cm-accent)}
.services-hero-visual,.services-outcomes,.cta-panel,.value-panel{background:var(--cm-sky);box-shadow:none;border:1px solid #b9dfef}
.service-showcase-card,.process-card,.contact-form-panel,.contact-info-panel,.contact-side-card,.project-summary-card,.blog-card{background:#fff;border:1px solid #d5e2ee;box-shadow:0 12px 35px #173b640a}
.btn,.business-primary-cta,.business-header-cta,.business-submit,form button{background:#172b45!important;color:#fff!important;box-shadow:none!important;border-radius:6px}
.btn:hover,.business-primary-cta:hover,.business-header-cta:hover,.business-submit:hover,form button:hover{background:#215f91!important}
.btn-secondary{background:transparent!important;color:#172b45!important;border:1px solid #9fbace}.btn-secondary:hover{color:white!important}
.form-group input,.form-group textarea{background:#fff;color:#172b45;border:1px solid #bdcfdf}
.form-group input::placeholder,.form-group textarea::placeholder{color:#63778b;opacity:1}
.form-group input:focus,.form-group textarea:focus{outline:3px solid #b0eeff;outline-offset:2px}
.business-landing{--business-bg:#f8fbfe;--business-panel:#e5f5ff;--business-blue:#215f91;--business-green:#215f91;background:#f8fbfe}
.business-header{background:#f8fbfe;border-color:#d5e2ee}.business-header img{width:min(240px,48vw);border-radius:8px}
.business-hero{background:linear-gradient(120deg,#f8fbfe 25%,#e4f7ff 100%);color:#172b45}
.business-browser{box-shadow:0 22px 50px #173b641c}.business-result-card{background:#b0eeff;box-shadow:0 10px 30px #173b6414}
.business-result-card strong{color:#172b45}.business-result-card span{color:#415c74}
.business-small-project{background:#b0eeff;color:#172b45}.business-footer{background:#f8fbfe;border-top:1px solid #d5e2ee;color:#53657b}
.business-footer img{width:210px;border-radius:8px}.business-footer a,.business-footer button{color:#215f91}
footer{background:#f8fbfe;color:#172b45;border-top:1px solid #d5e2ee}
footer a,footer .cookie-settings{color:#53657b}.footer-logo{display:block;width:210px;height:auto;border-radius:8px;margin-bottom:20px}
.article-layout h1,.legal-content h1,.legal-content h2{color:#172b45}.legal-content :is(p,li,td,th,.legal-date){color:#53657b}
.legal-content th{background:#e5f5ff}.legal-content :is(th,td,h2){border-color:#d5e2ee}
.business-options input:checked+span{background:#b0eeff;color:#172b45;border-color:#215f91}
@media(max-width:900px){.hero-header{padding:18px 20px}.logo{width:190px;max-width:calc(100% - 75px)}.nav-links{background:#f8fbfe;border-bottom:1px solid #d5e2ee;box-shadow:0 15px 25px #173b6414}.nav-links a{color:#172b45}.nav-links a:last-child{margin-bottom:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.cookie-banner{position:fixed;bottom:0;left:0;width:100%;background:#fff;padding:20px;display:none;justify-content:center;z-index:4000;box-shadow:0 -5px 24px #173b641c;border-top:1px solid #d5e2ee;color:#172b45}
.cookie-content{max-width:1100px;width:100%;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;font-size:13px}
.cookie-content p{margin:0;max-width:720px}.cookie-content a{color:#215f91;text-decoration:underline}.cookie-buttons{display:flex;flex-wrap:wrap;gap:12px}
.btn-cookie{padding:11px 20px;border:1px solid #809bb3;border-radius:5px;cursor:pointer;font:inherit;font-size:13px;background:#fff;color:#172b45}
.btn-cookie.accept{background:#172b45;color:#fff}.btn-cookie.reject{background:#fff;color:#172b45}.cookie-settings{background:transparent;border:0;cursor:pointer;font:inherit;text-decoration:underline;color:#215f91}
@media(max-width:600px){.cookie-banner{padding:16px}.cookie-buttons{width:100%}.btn-cookie{flex:1}}
.services-hero-copy{box-shadow:none;background:transparent;border-color:transparent}
.legal-content{min-width:0;overflow-wrap:anywhere}.legal-content table{display:block;max-width:100%;overflow-x:auto}.legal-content th,.legal-content td{min-width:95px}
