:root{
    --navy:#123E6F;
    --navy-900:#071B31;
    --navy-950:#04111F;
    --navy-soft:#0B2948;
    --cyan:#00B8D9;
    --blue:#0976E8;
    --blue-2:#0C5CCB;
    --graphite:#1E1E1E;
    --gray:#B7B280;
    --white:#FFFFFF;

    --bg:#F5F8FC;
    --text:#102239;
    --muted:#64758A;
    --line:rgba(18,62,111,.12);
    --line-dark:rgba(255,255,255,.10);

    --container:1240px;
    --radius:24px;
    --radius-sm:16px;
    --shadow:0 28px 80px rgba(3,16,29,.16);

    --ease:cubic-bezier(.2,.8,.2,1);
}

*{box-sizing:border-box}

html{
    scroll-behavior:smooth;
    scroll-padding-top:92px;
}

body{
    margin:0;
    color:var(--text);
    background:var(--bg);
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    -webkit-font-smoothing:antialiased;
}

body.menu-open{overflow:hidden}

img{max-width:100%;display:block}

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

button,input,textarea,select{font:inherit}

::selection{
    color:#fff;
    background:var(--blue);
}

.container{
    width:min(calc(100% - 44px),var(--container));
    margin-inline:auto;
}

.skip-link{
    position:fixed;
    left:16px;
    top:-60px;
    z-index:999;
    padding:10px 14px;
    border-radius:10px;
    color:#fff;
    background:#000;
}
.skip-link:focus{top:16px}


/* HEADER */

.site-header{
    position:fixed;
    inset:0 0 auto 0;
    z-index:100;
    border-bottom:1px solid transparent;
    transition:background .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease);
}

.site-header.scrolled{
    background:rgba(4,17,31,.90);
    border-color:var(--line-dark);
    box-shadow:0 12px 40px rgba(0,0,0,.14);
    backdrop-filter:blur(18px);
}

.header-inner{
    min-height:92px;
    display:flex;
    align-items:center;
    gap:32px;
}

.brand{
    display:flex;
    align-items:center;
    min-width:max-content;
}

.brand-symbol{
    width:47px;
    height:47px;
    object-fit:contain;
}

.brand-divider{
    width:1px;
    height:31px;
    margin:0 14px;
    background:rgba(255,255,255,.16);
}

.brand-copy{
    display:flex;
    flex-direction:column;
    color:#fff;
    line-height:1;
}

.brand-copy strong{
    font-size:15px;
    letter-spacing:.08em;
}

.brand-copy strong span{
    color:var(--cyan);
}

.brand-copy small{
    margin-top:7px;
    color:#63DDF2;
    font-size:8px;
    font-weight:750;
    letter-spacing:.16em;
}

.main-nav{
    margin-left:auto;
    display:flex;
    align-items:center;
    gap:30px;
}

.main-nav a{
    position:relative;
    padding:34px 0 31px;
    color:#BFCBDA;
    font-size:13px;
    font-weight:700;
    transition:color .2s var(--ease);
}

.main-nav a:hover,
.main-nav a.active{color:#fff}

.main-nav a::after{
    content:"";
    position:absolute;
    left:50%;
    right:50%;
    bottom:24px;
    height:2px;
    border-radius:9px;
    background:linear-gradient(90deg,var(--blue),var(--cyan));
    transition:left .25s var(--ease),right .25s var(--ease);
}

.main-nav a:hover::after,
.main-nav a.active::after{
    left:0;
    right:0;
}

.header-cta{
    min-width:120px;
}

.menu-toggle{
    display:none;
    margin-left:auto;
    width:44px;
    height:44px;
    padding:10px;
    border:1px solid var(--line-dark);
    border-radius:13px;
    background:rgba(255,255,255,.05);
}

.menu-toggle span{
    display:block;
    width:100%;
    height:2px;
    margin:5px 0;
    border-radius:5px;
    background:#fff;
    transition:transform .25s var(--ease),opacity .25s var(--ease);
}


/* BUTTONS */

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:46px;
    padding:0 20px;
    border:1px solid transparent;
    border-radius:13px;
    font-size:13px;
    font-weight:800;
    transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease);
}

.btn:hover{transform:translateY(-2px)}

.btn-primary{
    color:#fff;
    background:linear-gradient(135deg,var(--blue-2),var(--blue) 55%,var(--cyan));
    box-shadow:0 15px 34px rgba(9,118,232,.25);
}

.btn-secondary{
    color:#EAF2FA;
    border-color:rgba(255,255,255,.16);
    background:rgba(255,255,255,.055);
}

.btn-light{
    color:#071B31;
    background:#fff;
    box-shadow:0 14px 32px rgba(0,0,0,.12);
}

.btn-large{
    min-height:56px;
    padding-inline:26px;
    border-radius:15px;
}


/* HERO */

.hero{
    position:relative;
    min-height:100vh;
    padding:155px 0 104px;
    overflow:hidden;
    color:#fff;
    background:
        radial-gradient(circle at 78% 26%,rgba(0,184,217,.16),transparent 28%),
        radial-gradient(circle at 88% 78%,rgba(9,118,232,.15),transparent 30%),
        linear-gradient(125deg,var(--navy-950) 0%,#071D35 48%,#0C3159 100%);
}

.hero::before{
    content:"";
    position:absolute;
    inset:0;
    opacity:.12;
    pointer-events:none;
    background-image:
        linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
    background-size:58px 58px;
    mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.55) 48%,transparent 92%);
}

.hero::after{
    content:"";
    position:absolute;
    top:-12%;
    right:-10%;
    width:650px;
    height:650px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:50%;
}

.hero-orbit{
    position:absolute;
    border-radius:50%;
    border:1px solid rgba(0,184,217,.12);
    pointer-events:none;
}

.orbit-one{width:480px;height:480px;right:8%;top:19%}
.orbit-two{width:320px;height:320px;right:14%;top:27%}

.hero-grid{
    position:relative;
    z-index:3;
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr);
    align-items:center;
    gap:72px;
}

.eyebrow{
    display:flex;
    align-items:center;
    gap:11px;
    margin-bottom:24px;
    color:#62DCF1;
    font-size:11px;
    font-weight:850;
    letter-spacing:.16em;
}

.eyebrow-dot{
    width:9px;
    height:9px;
    border-radius:50%;
    background:var(--cyan);
    box-shadow:0 0 0 7px rgba(0,184,217,.10);
}

.hero h1{
    max-width:760px;
    margin:0 0 28px;
    font-size:clamp(58px,6.3vw,92px);
    line-height:.98;
    letter-spacing:-.055em;
}

.hero h1 span{
    display:block;
    color:transparent;
    background:linear-gradient(90deg,#fff 0%,#9BEAFA 22%,#17C5EA 54%,#0878EB 100%);
    -webkit-background-clip:text;
    background-clip:text;
}

.hero-description{
    max-width:660px;
    margin:0 0 34px;
    color:#C7D5E4;
    font-size:18px;
    line-height:1.72;
}

.hero-actions{
    display:flex;
    gap:12px;
    margin-bottom:49px;
}

.hero-proof{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    max-width:690px;
    padding-top:24px;
    border-top:1px solid rgba(255,255,255,.11);
}

.hero-proof div{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:13px;
    align-items:start;
    padding-right:22px;
}

.hero-proof strong{
    color:var(--cyan);
    font-size:11px;
    letter-spacing:.1em;
}

.hero-proof span{
    color:#9FB1C5;
    font-size:11px;
    line-height:1.55;
}

.hero-visual{
    position:relative;
    perspective:1100px;
}

.ecosystem-card{
    position:relative;
    overflow:hidden;
    padding:23px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:30px;
    background:
        radial-gradient(circle at 92% 0%,rgba(0,184,217,.12),transparent 28%),
        linear-gradient(150deg,rgba(255,255,255,.10),rgba(255,255,255,.035));
    box-shadow:var(--shadow);
    backdrop-filter:blur(15px);
    transform:rotateY(-3deg) rotateX(1deg);
}

.ecosystem-card::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(110deg,transparent 0 42%,rgba(255,255,255,.05) 50%,transparent 58% 100%);
    transform:translateX(-100%);
    animation:sheen 8s ease-in-out infinite;
}

@keyframes sheen{
    0%,68%{transform:translateX(-110%)}
    82%,100%{transform:translateX(110%)}
}

.card-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:2px 2px 18px;
    border-bottom:1px solid rgba(255,255,255,.10);
}

.card-status{
    display:flex;
    align-items:center;
    gap:8px;
    color:#D4E0ED;
    font-size:10px;
    font-weight:800;
    letter-spacing:.12em;
}

.card-status span{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#36D49B;
    box-shadow:0 0 0 6px rgba(54,212,155,.08);
}

.card-head small{
    color:#92A5B9;
    font-size:10px;
}

.card-brand{
    display:grid;
    grid-template-columns:78px 1fr;
    gap:21px;
    align-items:center;
    padding:27px 3px 25px;
}

.card-logo-wrap{
    display:grid;
    place-items:center;
    width:78px;
    height:78px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:22px;
    background:#fff;
    box-shadow:0 18px 40px rgba(0,0,0,.16);
}

.card-logo-wrap img{
    width:58px;
    height:auto;
}

.card-brand span{
    color:#55D7F0;
    font-size:9px;
    font-weight:850;
    letter-spacing:.16em;
}

.card-brand h2{
    margin:5px 0 0;
    font-size:31px;
    line-height:1.03;
    letter-spacing:-.035em;
}

.ecosystem-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:11px;
}

.ecosystem-item{
    position:relative;
    min-height:150px;
    padding:17px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    background:rgba(3,14,26,.30);
    transition:transform .25s var(--ease),background .25s var(--ease),border-color .25s var(--ease);
}

.ecosystem-item:hover{
    transform:translateY(-4px);
    border-color:rgba(0,184,217,.28);
    background:rgba(3,14,26,.48);
}

.item-number{
    display:block;
    margin-bottom:19px;
    color:#46D5EE;
    font-size:9px;
    font-weight:850;
}

.item-icon{
    position:absolute;
    top:15px;
    right:15px;
    color:#75DFF2;
    font-size:18px;
}

.ecosystem-item strong{
    display:block;
    margin-bottom:7px;
    color:#F4F8FC;
    font-size:14px;
}

.ecosystem-item small{
    color:#8FA3B7;
    font-size:10px;
    line-height:1.55;
}

.card-foot{
    display:flex;
    align-items:center;
    gap:13px;
    margin-top:18px;
    padding:14px 2px 0;
    color:#91A5B9;
    font-size:9px;
}

.card-foot strong{
    color:#5DD9F0;
    font-size:8px;
    letter-spacing:.12em;
}

.card-line{
    flex:1;
    height:1px;
    background:rgba(255,255,255,.10);
}

.floating-chip{
    position:absolute;
    z-index:4;
    padding:10px 14px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    color:#fff;
    background:rgba(6,27,49,.86);
    box-shadow:0 15px 35px rgba(0,0,0,.18);
    backdrop-filter:blur(10px);
    font-size:10px;
    font-weight:750;
}

.chip-one{right:-24px;top:30%}
.chip-two{left:-25px;bottom:15%}

.scroll-cue{
    position:absolute;
    z-index:5;
    left:50%;
    bottom:24px;
    display:flex;
    align-items:center;
    gap:10px;
    color:#7F94AA;
    font-size:8px;
    font-weight:800;
    letter-spacing:.15em;
    transform:translateX(-50%);
}

.scroll-cue span{
    width:1px;
    height:30px;
    background:linear-gradient(var(--cyan),transparent);
}


/* TRUST */

.trust-strip{
    border-bottom:1px solid var(--line);
    background:#fff;
}

.trust-grid{
    min-height:86px;
    display:grid;
    grid-template-columns:1.1fr repeat(4,1fr);
    align-items:center;
}

.trust-grid > *{
    padding:0 22px;
    border-right:1px solid var(--line);
}

.trust-grid > *:first-child{padding-left:0}
.trust-grid > *:last-child{border-right:none}

.trust-grid p{
    color:var(--navy);
    font-size:10px;
    font-weight:850;
    letter-spacing:.15em;
}

.trust-grid span{
    color:#7D8B9C;
    font-size:12px;
}


/* SECTIONS */

.section{
    padding:118px 0;
}

.section-heading{
    display:grid;
    grid-template-columns:1fr minmax(300px,.55fr);
    gap:80px;
    align-items:end;
    margin-bottom:52px;
}

.section-heading h2,
.method h2,
.about h2{
    margin:8px 0 0;
    font-size:clamp(42px,4.5vw,66px);
    line-height:1.04;
    letter-spacing:-.045em;
}

.section-heading h2 em,
.method h2 em,
.about h2 em{
    color:var(--blue);
    font-style:normal;
}

.section-heading p{
    margin:0;
    color:var(--muted);
    font-size:15px;
    line-height:1.75;
}

.section-kicker{
    color:var(--blue);
    font-size:10px;
    font-weight:900;
    letter-spacing:.16em;
}


/* SOLUTIONS */

.solutions{
    background:#F5F8FC;
}

.solutions-grid{
    display:grid;
    grid-template-columns:1.15fr .925fr .925fr;
    gap:16px;
}

.solution-card{
    position:relative;
    min-height:390px;
    padding:28px;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:25px;
    background:#fff;
    box-shadow:0 16px 42px rgba(18,62,111,.06);
    transition:transform .25s var(--ease),box-shadow .25s var(--ease);
}

.solution-card:hover{
    transform:translateY(-6px);
    box-shadow:0 28px 60px rgba(18,62,111,.10);
}

.solution-card.featured{
    color:#fff;
    border-color:transparent;
    background:
        radial-gradient(circle at 90% 0%,rgba(0,184,217,.25),transparent 30%),
        linear-gradient(145deg,var(--navy-900),var(--navy));
}

.card-index{
    color:#9FB2C6;
    font-size:10px;
    font-weight:850;
    letter-spacing:.12em;
}

.featured .card-index{color:#6ECFE1}

.solution-icon{
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    margin:56px 0 25px;
    border-radius:18px;
    color:var(--blue);
    background:#EEF5FF;
    font-size:13px;
    font-weight:900;
}

.featured .solution-icon{
    color:#fff;
    background:rgba(255,255,255,.10);
}

.solution-card h3{
    max-width:360px;
    margin:0 0 15px;
    font-size:26px;
    letter-spacing:-.03em;
}

.solution-card p{
    margin:0;
    color:#6D7D8F;
    font-size:14px;
    line-height:1.7;
}

.featured p{color:#BFD0E0}

.solution-card ul{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:23px 0 0;
    padding:0;
    list-style:none;
}

.solution-card li{
    padding:7px 10px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:999px;
    color:#AFC2D5;
    font-size:9px;
}

.card-arrow{
    position:absolute;
    right:25px;
    bottom:24px;
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border:1px solid var(--line);
    border-radius:50%;
    color:var(--blue);
}

.featured .card-arrow{
    color:#fff;
    border-color:rgba(255,255,255,.15);
}


/* PRODUCTS */

.products{
    color:#fff;
    background:var(--navy-950);
}

.products-heading h2 em{color:#4AD3ED}
.products-heading p{color:#96A9BC}

.products-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 280px;
    gap:16px;
}

.product-feature{
    display:grid;
    grid-template-columns:.88fr 1.12fr;
    min-height:525px;
    overflow:hidden;
    border:1px solid var(--line-dark);
    border-radius:28px;
    background:
        radial-gradient(circle at 90% 20%,rgba(0,184,217,.09),transparent 25%),
        linear-gradient(145deg,#081D34,#0A2747);
}

.product-feature-content{
    padding:42px;
}

.product-meta{
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:62px;
    color:#A6B7C7;
    font-size:9px;
    font-weight:800;
    letter-spacing:.13em;
}

.status-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#2DD89B;
    box-shadow:0 0 0 6px rgba(45,216,155,.07);
}

.product-category{
    color:#52D7EF;
    font-size:9px;
    font-weight:850;
    letter-spacing:.15em;
}

.product-feature h3{
    margin:7px 0 15px;
    font-size:52px;
    letter-spacing:-.05em;
}

.product-feature p{
    max-width:470px;
    margin:0;
    color:#B7C7D7;
    font-size:14px;
    line-height:1.75;
}

.product-tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:28px 0 34px;
}

.product-tags span{
    padding:8px 10px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:999px;
    color:#9FB5CA;
    font-size:9px;
}

.text-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#67DDF3;
    font-size:12px;
    font-weight:800;
}

.product-screen{
    align-self:end;
    margin:44px -80px -56px 10px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.13);
    border-radius:24px 0 0 0;
    background:#EEF3FA;
    box-shadow:-20px 25px 60px rgba(0,0,0,.26);
    transform:rotate(-2deg);
}

.screen-top{
    height:48px;
    display:flex;
    align-items:center;
    gap:7px;
    padding:0 18px;
    color:#183957;
    background:#fff;
    border-bottom:1px solid #DCE6F0;
}

.screen-top span{
    width:8px;height:8px;border-radius:50%;background:#CBD7E3;
}

.screen-top strong{
    margin-left:auto;
    font-size:10px;
}

.screen-body{
    min-height:395px;
    display:grid;
    grid-template-columns:82px 1fr;
}

.screen-body aside{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:18px;
    padding:24px 16px;
    color:#fff;
    background:#0B2C4E;
}

.screen-body aside b{
    display:grid;
    place-items:center;
    width:36px;height:36px;
    border-radius:11px;
    background:linear-gradient(135deg,var(--blue),var(--cyan));
}

.screen-body aside span{
    width:40px;height:7px;border-radius:8px;background:rgba(255,255,255,.14);
}

.screen-content{
    padding:37px;
    color:#17324B;
}

.screen-content small{
    color:#7B8EA1;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.1em;
}

.screen-content > strong{
    display:block;
    margin-top:8px;
    font-size:28px;
}

.screen-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin:32px 0 14px;
}

.screen-stats span{
    height:78px;
    border-radius:13px;
    background:#fff;
    box-shadow:0 8px 20px rgba(17,45,72,.08);
}

.screen-chart{
    height:150px;
    border-radius:15px;
    background:
        linear-gradient(180deg,rgba(9,118,232,.12),transparent),
        repeating-linear-gradient(0deg,#fff 0 29px,#DCE6EF 30px);
}

.future-products{
    display:grid;
    gap:16px;
}

.future-products article{
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    min-height:254px;
    padding:25px;
    border:1px solid var(--line-dark);
    border-radius:25px;
    background:linear-gradient(145deg,#071A2E,#0B2847);
}

.future-products span{
    margin-bottom:auto;
    color:#53D8EF;
    font-size:8px;
    font-weight:850;
    letter-spacing:.15em;
}

.future-products strong{
    margin-bottom:8px;
    font-size:18px;
}

.future-products small{
    color:#8DA2B6;
    line-height:1.55;
}


/* METHOD */

.method{
    color:#fff;
    background:linear-gradient(120deg,var(--navy),#0A2D50);
}

.method-grid{
    display:grid;
    grid-template-columns:.72fr 1.28fr;
    gap:95px;
}

.method-intro p{
    max-width:420px;
    margin:24px 0 0;
    color:#B8C8D7;
    font-size:14px;
    line-height:1.75;
}

.method .section-kicker{color:#5CD9F0}
.method h2 em{color:#75E1F4}

.method-steps{
    border-top:1px solid rgba(255,255,255,.12);
}

.method-steps article{
    display:grid;
    grid-template-columns:66px 1fr;
    gap:15px;
    padding:26px 0;
    border-bottom:1px solid rgba(255,255,255,.12);
}

.method-steps > article > span{
    color:#50D3ED;
    font-size:10px;
    font-weight:850;
}

.method-steps strong{
    display:block;
    margin-bottom:6px;
    font-size:19px;
}

.method-steps p{
    margin:0;
    color:#A4B6C8;
    font-size:12px;
    line-height:1.65;
}


/* ABOUT */

.about{
    background:#fff;
}

.about-grid{
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:95px;
    align-items:center;
}

.about-visual{
    position:relative;
    min-height:560px;
    overflow:hidden;
    border-radius:30px;
    background:
        radial-gradient(circle at 75% 25%,rgba(0,184,217,.21),transparent 28%),
        linear-gradient(145deg,var(--navy-950),var(--navy));
}

.about-mark{
    position:absolute;
    top:50%;
    left:50%;
    display:grid;
    place-items:center;
    width:230px;
    height:230px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:50%;
    background:rgba(255,255,255,.95);
    box-shadow:0 24px 70px rgba(0,0,0,.18);
    transform:translate(-50%,-50%);
}

.about-mark img{width:160px}

.about-stat{
    position:absolute;
    padding:16px 18px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:17px;
    color:#fff;
    background:rgba(5,24,43,.68);
    backdrop-filter:blur(10px);
}

.about-stat strong{
    display:block;
    color:#55D9F0;
    font-size:22px;
}

.about-stat span{
    color:#AFC1D2;
    font-size:10px;
    line-height:1.45;
}

.stat-a{left:25px;bottom:25px}
.stat-b{right:25px;top:25px}

.about-content > p{
    margin:25px 0 34px;
    color:var(--muted);
    font-size:15px;
    line-height:1.8;
}

.values-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.values-grid div{
    min-height:130px;
    padding:18px;
    border:1px solid var(--line);
    border-radius:17px;
    background:#F8FAFD;
}

.values-grid span{
    color:var(--blue);
    font-size:9px;
    font-weight:850;
}

.values-grid strong{
    display:block;
    margin:16px 0 5px;
    font-size:15px;
}

.values-grid small{
    color:#7A8998;
    font-size:10px;
    line-height:1.55;
}


/* CTA */

.cta-section{
    padding:0 0 90px;
    background:#fff;
}

.cta-card{
    display:grid;
    grid-template-columns:1fr auto;
    gap:60px;
    align-items:center;
    padding:52px;
    border-radius:30px;
    color:#fff;
    background:
        radial-gradient(circle at 90% 10%,rgba(0,184,217,.25),transparent 30%),
        linear-gradient(135deg,var(--navy-950),var(--navy));
    box-shadow:var(--shadow);
}

.cta-card .section-kicker{color:#5DDCF2}

.cta-card h2{
    max-width:760px;
    margin:8px 0 0;
    font-size:clamp(34px,4vw,54px);
    line-height:1.06;
    letter-spacing:-.04em;
}

.cta-actions{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:11px;
}

.cta-actions span{
    color:#9FB2C4;
    font-size:9px;
}


/* FOOTER */

.site-footer{
    color:#D4DFEA;
    background:#030D18;
}

.footer-main{
    display:grid;
    grid-template-columns:1fr auto;
    gap:70px;
    padding:62px 0 44px;
}

.footer-brand{
    display:flex;
    align-items:center;
    gap:15px;
}

.footer-brand img{width:58px}

.footer-brand div{
    display:flex;
    flex-direction:column;
}

.footer-brand strong{
    color:#fff;
    font-size:14px;
    letter-spacing:.08em;
}

.footer-brand span{
    margin-top:5px;
    color:#5EDBF1;
    font-size:8px;
    text-transform:uppercase;
    letter-spacing:.14em;
}

.footer-nav{
    display:grid;
    grid-template-columns:repeat(2,160px);
    gap:40px;
}

.footer-nav div{
    display:flex;
    flex-direction:column;
    gap:9px;
}

.footer-nav strong{
    margin-bottom:7px;
    color:#fff;
    font-size:11px;
}

.footer-nav a{
    color:#8397AB;
    font-size:10px;
}

.footer-nav a:hover{color:#fff}

.footer-bottom{
    min-height:72px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-top:1px solid rgba(255,255,255,.08);
    color:#677C90;
    font-size:9px;
}


/* REVEAL */

.reveal{
    opacity:0;
    transform:translateY(18px);
    transition:opacity .75s var(--ease),transform .75s var(--ease);
}

.reveal.visible{
    opacity:1;
    transform:none;
}


/* RESPONSIVE */

@media (max-width:1100px){

    .main-nav{gap:19px}
    .header-cta{display:none}

    .hero-grid{
        grid-template-columns:1fr;
        gap:62px;
    }

    .hero-content{max-width:790px}
    .hero-visual{max-width:720px}

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

    .solution-card.featured{
        grid-column:1/-1;
        min-height:330px;
    }

    .products-layout{
        grid-template-columns:1fr;
    }

    .future-products{
        grid-template-columns:1fr 1fr;
    }

    .future-products article{
        min-height:210px;
    }

    .method-grid,
    .about-grid{
        grid-template-columns:1fr;
        gap:55px;
    }

    .about-visual{max-width:720px}
}


@media (max-width:820px){

    .container{
        width:min(calc(100% - 30px),var(--container));
    }

    .header-inner{min-height:76px}

    .brand-symbol{
        width:42px;height:42px;
    }

    .brand-copy small{display:none}

    .main-nav{
        position:fixed;
        top:76px;
        left:15px;
        right:15px;
        margin:0;
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:0;
        padding:13px;
        border:1px solid rgba(255,255,255,.10);
        border-radius:18px;
        background:#061728;
        box-shadow:var(--shadow);
        opacity:0;
        visibility:hidden;
        transform:translateY(-10px);
        transition:all .25s var(--ease);
    }

    .main-nav.open{
        opacity:1;
        visibility:visible;
        transform:none;
    }

    .main-nav a{
        padding:13px;
        border-radius:10px;
    }

    .main-nav a::after{display:none}

    .menu-toggle{display:block}

    .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
    .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
    .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

    .hero{
        min-height:auto;
        padding:125px 0 85px;
    }

    .hero h1{
        font-size:clamp(50px,14vw,72px);
    }

    .hero-description{
        font-size:16px;
    }

    .hero-proof{
        grid-template-columns:1fr;
        gap:18px;
    }

    .hero-proof div{
        grid-template-columns:32px 1fr;
    }

    .ecosystem-card{transform:none}
    .floating-chip{display:none}
    .scroll-cue{display:none}

    .trust-grid{
        grid-template-columns:1fr 1fr;
        padding:14px 0;
    }

    .trust-grid > *{
        min-height:46px;
        display:flex;
        align-items:center;
        padding:0 12px;
        border-right:0;
        border-bottom:1px solid var(--line);
    }

    .trust-grid p{grid-column:1/-1}

    .section{
        padding:85px 0;
    }

    .section-heading{
        grid-template-columns:1fr;
        gap:20px;
        margin-bottom:35px;
    }

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

    .solution-card.featured{
        grid-column:auto;
    }

    .product-feature{
        grid-template-columns:1fr;
    }

    .product-screen{
        margin:0 -35px -50px 30px;
    }

    .future-products{
        grid-template-columns:1fr;
    }

    .cta-card{
        grid-template-columns:1fr;
        padding:35px;
    }

    .footer-main{
        grid-template-columns:1fr;
    }

    .footer-bottom{
        flex-direction:column;
        align-items:flex-start;
        justify-content:center;
        gap:6px;
    }
}


@media (max-width:560px){

    .brand-divider,
    .brand-copy{display:none}

    .hero-actions{
        flex-direction:column;
    }

    .hero-actions .btn{width:100%}

    .ecosystem-card{padding:17px}

    .card-brand{
        grid-template-columns:60px 1fr;
        gap:14px;
    }

    .card-logo-wrap{
        width:60px;height:60px;border-radius:17px;
    }

    .card-logo-wrap img{width:44px}
    .card-brand h2{font-size:25px}

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

    .ecosystem-item{
        min-height:125px;
    }

    .section-heading h2,
    .method h2,
    .about h2{
        font-size:40px;
    }

    .solution-card{
        min-height:330px;
        padding:23px;
    }

    .product-feature-content{
        padding:28px;
    }

    .product-feature h3{font-size:44px}

    .product-screen{
        margin:0 -55px -55px 18px;
    }

    .screen-body{
        grid-template-columns:58px 1fr;
    }

    .screen-content{
        padding:25px 20px;
    }

    .screen-content > strong{font-size:23px}

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

    .about-visual{
        min-height:450px;
    }

    .about-mark{
        width:180px;height:180px;
    }

    .about-mark img{width:125px}

    .cta-card{
        padding:30px 24px;
    }

    .cta-card h2{font-size:35px}

    .cta-actions .btn{
        width:100%;
        padding-inline:12px;
        font-size:11px;
    }

    .footer-nav{
        grid-template-columns:1fr 1fr;
        gap:20px;
    }
}


/* Reduced motion */
@media (prefers-reduced-motion:reduce){
    *,
    *::before,
    *::after{
        scroll-behavior:auto!important;
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
        transition-duration:.01ms!important;
    }

    .reveal{
        opacity:1;
        transform:none;
    }
}


/* =========================================================
   V0.03 — BLINDAJE DE IDENTIDAD / HEADER
   Evita que imágenes de marca puedan expandir el encabezado.
   ========================================================= */

.site-header{
    height:auto;
    min-height:0;
}

.header-inner{
    height:82px;
    min-height:82px;
    max-height:82px;
    overflow:visible;
}

.brand{
    height:58px;
    max-height:58px;
    overflow:hidden;
    flex:0 0 auto;
}

.brand-symbol{
    display:block !important;
    flex:0 0 47px;
    width:47px !important;
    min-width:47px !important;
    max-width:47px !important;
    height:47px !important;
    min-height:47px !important;
    max-height:47px !important;
    object-fit:contain !important;
    object-position:center !important;
}

.brand-copy{
    max-height:44px;
    overflow:hidden;
}

.card-logo-wrap{
    overflow:hidden;
}

.card-logo-wrap img{
    display:block !important;
    width:58px !important;
    max-width:58px !important;
    height:58px !important;
    max-height:58px !important;
    object-fit:contain !important;
}

.about-mark{
    overflow:hidden;
}

.about-mark img{
    display:block !important;
    width:160px !important;
    max-width:160px !important;
    height:160px !important;
    max-height:160px !important;
    object-fit:contain !important;
}

.footer-brand{
    min-height:58px;
}

.footer-brand img{
    display:block !important;
    flex:0 0 58px;
    width:58px !important;
    max-width:58px !important;
    height:58px !important;
    max-height:58px !important;
    object-fit:contain !important;
}

.hero{
    padding-top:138px;
}

@media (max-width:820px){
    .header-inner{
        height:72px;
        min-height:72px;
        max-height:72px;
    }

    .brand{
        height:52px;
        max-height:52px;
    }

    .brand-symbol{
        flex-basis:42px;
        width:42px !important;
        min-width:42px !important;
        max-width:42px !important;
        height:42px !important;
        min-height:42px !important;
        max-height:42px !important;
    }

    .main-nav{
        top:72px;
    }

    .hero{
        padding-top:116px;
    }
}


/* =========================================================
   V0.04 — SOLUCIONES
   Sección premium, editorial y escalable.
   ========================================================= */

.solutions{
    position:relative;
    overflow:hidden;
    padding:128px 0;
    background:
        radial-gradient(circle at 8% 20%,rgba(9,118,232,.065),transparent 26%),
        linear-gradient(180deg,#F7FAFD 0%,#F1F6FB 100%);
}

.solutions::before{
    content:"";
    position:absolute;
    top:0;
    left:50%;
    width:1px;
    height:80px;
    background:linear-gradient(var(--blue),transparent);
    opacity:.35;
}

.solutions-intro{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(300px,.58fr);
    gap:95px;
    align-items:end;
    margin-bottom:54px;
}

.solutions-intro h2{
    max-width:800px;
    margin:9px 0 0;
    color:#0B2139;
    font-size:clamp(44px,5vw,70px);
    line-height:1.02;
    letter-spacing:-.05em;
}

.solutions-intro h2 em{
    display:block;
    color:var(--blue);
    font-style:normal;
}

.solutions-intro-right p{
    margin:0 0 22px;
    color:#68798C;
    font-size:15px;
    line-height:1.8;
}

.solutions-inline-link{
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:var(--navy);
    font-size:11px;
    font-weight:850;
    letter-spacing:.03em;
}

.solutions-inline-link span{
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border:1px solid rgba(18,62,111,.15);
    border-radius:50%;
    color:var(--blue);
    transition:transform .2s var(--ease),background .2s var(--ease),color .2s var(--ease);
}

.solutions-inline-link:hover span{
    color:#fff;
    background:var(--blue);
    transform:translate(2px,-2px);
}

.solutions-showcase{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.solution-panel{
    position:relative;
    min-height:465px;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    padding:27px;
    border:1px solid rgba(18,62,111,.11);
    border-radius:27px;
    background:
        radial-gradient(circle at 95% 8%,rgba(9,118,232,.06),transparent 28%),
        #FFFFFF;
    box-shadow:0 18px 52px rgba(15,44,73,.055);
    transition:
        transform .28s var(--ease),
        box-shadow .28s var(--ease),
        border-color .28s var(--ease);
}

.solution-panel:hover{
    transform:translateY(-7px);
    border-color:rgba(9,118,232,.22);
    box-shadow:0 28px 70px rgba(15,44,73,.095);
}

.solution-panel-primary{
    color:#fff;
    border-color:transparent;
    background:
        radial-gradient(circle at 92% 7%,rgba(0,184,217,.26),transparent 32%),
        linear-gradient(145deg,#06182A 0%,#0A3157 100%);
    box-shadow:0 25px 70px rgba(3,21,39,.17);
}

.solution-panel-ai{
    background:
        radial-gradient(circle at 100% 0%,rgba(0,184,217,.10),transparent 30%),
        linear-gradient(150deg,#FFFFFF,#F4FAFD);
}

.solution-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding-bottom:21px;
    border-bottom:1px solid rgba(18,62,111,.10);
}

.solution-panel-primary .solution-panel-head{
    border-color:rgba(255,255,255,.10);
}

.solution-panel-number{
    color:#91A3B5;
    font-size:9px;
    font-weight:900;
    letter-spacing:.12em;
}

.solution-panel-primary .solution-panel-number{
    color:#57D7EE;
}

.solution-panel-label{
    color:#708397;
    font-size:9px;
    font-weight:900;
    letter-spacing:.16em;
}

.solution-panel-primary .solution-panel-label{
    color:#72DFF2;
}

.solution-panel-body{
    flex:1;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:24px;
    align-items:end;
    padding:36px 0 28px;
}

.solution-symbol{
    display:grid;
    place-items:center;
    width:60px;
    height:60px;
    margin-bottom:28px;
    border:1px solid rgba(9,118,232,.13);
    border-radius:19px;
    color:var(--blue);
    background:#EFF6FF;
    font-size:12px;
    font-weight:950;
    letter-spacing:.02em;
}

.solution-panel-primary .solution-symbol{
    color:#fff;
    border-color:rgba(255,255,255,.11);
    background:rgba(255,255,255,.085);
}

.solution-panel h3{
    max-width:470px;
    margin:0 0 15px;
    color:#112840;
    font-size:30px;
    line-height:1.08;
    letter-spacing:-.035em;
}

.solution-panel-primary h3{
    color:#fff;
}

.solution-panel p{
    max-width:500px;
    margin:0;
    color:#6E7F90;
    font-size:13px;
    line-height:1.75;
}

.solution-panel-primary p{
    color:#B9CBDC;
}

.solution-capabilities{
    align-self:end;
    min-width:150px;
    display:flex;
    flex-direction:column;
    gap:7px;
}

.solution-capabilities span{
    padding:8px 11px;
    border:1px solid rgba(18,62,111,.09);
    border-radius:999px;
    color:#718396;
    background:#F7FAFD;
    font-size:9px;
    font-weight:700;
    white-space:nowrap;
}

.solution-panel-primary .solution-capabilities span{
    color:#AFC6D9;
    border-color:rgba(255,255,255,.09);
    background:rgba(255,255,255,.045);
}

.solution-panel-foot{
    display:flex;
    align-items:center;
    gap:18px;
    min-height:55px;
    padding-top:18px;
    border-top:1px solid rgba(18,62,111,.10);
}

.solution-panel-primary .solution-panel-foot{
    border-color:rgba(255,255,255,.10);
}

.solution-panel-foot > span:first-child{
    flex:1;
    color:#8B9AAA;
    font-size:10px;
    line-height:1.45;
}

.solution-panel-primary .solution-panel-foot > span:first-child{
    color:#91A9BD;
}

.solution-panel-arrow{
    display:grid;
    place-items:center;
    flex:0 0 38px;
    width:38px;
    height:38px;
    border:1px solid rgba(18,62,111,.12);
    border-radius:50%;
    color:var(--blue);
    font-size:13px;
    transition:transform .22s var(--ease),background .22s var(--ease),color .22s var(--ease);
}

.solution-panel:hover .solution-panel-arrow{
    color:#fff;
    background:var(--blue);
    transform:translate(2px,-2px);
}

.solution-panel-primary .solution-panel-arrow{
    color:#fff;
    border-color:rgba(255,255,255,.12);
}

.solution-panel-primary:hover .solution-panel-arrow{
    color:#071B31;
    background:#68DDF2;
}

.solutions-principles{
    display:grid;
    grid-template-columns:1.15fr repeat(3,1fr);
    margin-top:18px;
    overflow:hidden;
    border:1px solid rgba(18,62,111,.10);
    border-radius:22px;
    background:#fff;
    box-shadow:0 14px 40px rgba(15,44,73,.045);
}

.solutions-principles > *{
    min-height:130px;
    padding:24px;
    border-right:1px solid rgba(18,62,111,.09);
}

.solutions-principles > *:last-child{
    border-right:none;
}

.solutions-principles-title{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    color:#fff;
    background:linear-gradient(145deg,var(--navy-900),var(--navy));
}

.solutions-principles-title span{
    color:#5CD9F0;
    font-size:8px;
    font-weight:900;
    letter-spacing:.17em;
}

.solutions-principles-title strong{
    max-width:280px;
    font-size:18px;
    line-height:1.3;
}

.principle-item{
    display:grid;
    grid-template-columns:32px 1fr;
    gap:12px;
    align-items:start;
}

.principle-item > span{
    color:var(--blue);
    font-size:9px;
    font-weight:900;
}

.principle-item strong{
    display:block;
    margin-bottom:7px;
    color:#152B42;
    font-size:14px;
}

.principle-item small{
    color:#7A8A9A;
    font-size:10px;
    line-height:1.55;
}

@media (max-width:980px){

    .solutions-intro{
        grid-template-columns:1fr;
        gap:24px;
    }

    .solutions-showcase{
        grid-template-columns:1fr;
    }

    .solution-panel{
        min-height:420px;
    }

    .solutions-principles{
        grid-template-columns:1fr 1fr;
    }

    .solutions-principles > *{
        border-bottom:1px solid rgba(18,62,111,.09);
    }

    .solutions-principles > *:nth-child(2){
        border-right:none;
    }
}

@media (max-width:620px){

    .solutions{
        padding:88px 0;
    }

    .solutions-intro h2{
        font-size:42px;
    }

    .solution-panel{
        min-height:auto;
        padding:22px;
    }

    .solution-panel-body{
        grid-template-columns:1fr;
        padding:29px 0 24px;
    }

    .solution-capabilities{
        width:100%;
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .solution-capabilities span{
        text-align:center;
        white-space:normal;
    }

    .solutions-principles{
        grid-template-columns:1fr;
    }

    .solutions-principles > *{
        border-right:none;
    }
}


/* =========================================================
   V0.05 — ESTRUCTURA CORPORATIVA MULTIPÁGINA
   ========================================================= */

.inner-page main{
    padding-top:82px;
}

.inner-hero{
    padding:110px 0 86px;
}

.inner-hero-light{
    background:
        radial-gradient(circle at 85% 20%,rgba(9,118,232,.07),transparent 25%),
        #F7FAFD;
}

.inner-hero-dark{
    color:#fff;
    background:
        radial-gradient(circle at 85% 20%,rgba(0,184,217,.12),transparent 27%),
        linear-gradient(140deg,#04111F,#0A2948);
}

.inner-hero-grid{
    display:grid;
    grid-template-columns:1.1fr .55fr;
    gap:90px;
    align-items:end;
}

.inner-hero h1{
    max-width:800px;
    margin:10px 0 0;
    font-size:clamp(48px,5.5vw,76px);
    line-height:1.02;
    letter-spacing:-.05em;
}

.inner-hero h1 em{
    display:block;
    color:var(--blue);
    font-style:normal;
}

.inner-hero-dark h1 em{
    color:#57D8F0;
}

.inner-hero-copy p{
    margin:0 0 22px;
    color:#6A7B8D;
    font-size:15px;
    line-height:1.8;
}

.inner-hero-dark .inner-hero-copy p{
    color:#A9BDCF;
}

.text-link-dark{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--navy);
    font-size:11px;
    font-weight:850;
}

.solutions-page{
    padding-top:80px;
}

.page-band{
    padding-top:0;
    background:#F1F6FB;
}

.products-page{
    background:#F5F8FC;
}

.product-detail-card{
    display:grid;
    grid-template-columns:.88fr 1.12fr;
    min-height:560px;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:30px;
    background:#fff;
    box-shadow:0 24px 70px rgba(18,62,111,.08);
}

.product-detail-copy{
    padding:48px;
}

.product-detail-copy h2{
    margin:8px 0 16px;
    font-size:58px;
    line-height:1;
    letter-spacing:-.05em;
}

.product-detail-copy > p{
    margin:0;
    color:#68798B;
    font-size:15px;
    line-height:1.8;
}

.product-actions{
    display:flex;
    gap:10px;
    margin-top:28px;
}

.btn-secondary-on-light{
    color:var(--navy);
    border-color:rgba(18,62,111,.16);
    background:#F5F8FC;
}

.product-detail-visual{
    display:flex;
    align-items:flex-end;
    overflow:hidden;
    background:
        radial-gradient(circle at 80% 20%,rgba(0,184,217,.13),transparent 28%),
        linear-gradient(145deg,#071B31,#0B3156);
}

.product-screen-static{
    width:110%;
    margin:55px -80px -45px 40px;
    transform:rotate(-2deg);
}

.catalog-heading{
    margin:80px 0 28px;
}

.catalog-heading h2{
    margin:8px 0 0;
    font-size:42px;
    letter-spacing:-.04em;
}

.future-catalog{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:15px;
}

.future-catalog article{
    min-height:220px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:26px;
    border:1px solid var(--line);
    border-radius:22px;
    background:#fff;
}

.future-catalog span{
    margin-bottom:auto;
    color:var(--blue);
    font-size:9px;
    font-weight:900;
}

.future-catalog strong{
    margin-bottom:8px;
    font-size:18px;
}

.future-catalog small{
    color:#768697;
    line-height:1.6;
}

.product-hero{
    padding:150px 0 100px;
    color:#fff;
    background:
        radial-gradient(circle at 82% 20%,rgba(0,184,217,.16),transparent 27%),
        linear-gradient(135deg,#04111F,#0A2B4C);
}

.product-hero-grid{
    display:grid;
    grid-template-columns:1fr .8fr;
    gap:80px;
    align-items:center;
}

.product-badge{
    color:#5EDCF2;
    font-size:10px;
    font-weight:900;
    letter-spacing:.16em;
}

.product-hero h1{
    margin:10px 0 20px;
    font-size:clamp(68px,8vw,110px);
    line-height:.95;
    letter-spacing:-.06em;
}

.product-hero p{
    max-width:670px;
    margin:0 0 30px;
    color:#BED0E0;
    font-size:17px;
    line-height:1.75;
}

.product-logo-stage{
    min-height:420px;
    display:grid;
    place-items:center;
    align-content:center;
    border:1px solid rgba(255,255,255,.10);
    border-radius:30px;
    background:rgba(255,255,255,.05);
    box-shadow:var(--shadow);
}

.product-logo-core{
    display:grid;
    place-items:center;
    width:180px;
    height:180px;
    border-radius:42px;
    color:#fff;
    background:linear-gradient(135deg,var(--blue),var(--cyan));
    font-size:42px;
    font-weight:950;
    letter-spacing:-.04em;
}

.product-logo-stage span{
    margin-top:24px;
    color:#86DFF0;
    font-size:9px;
    font-weight:900;
    letter-spacing:.15em;
}

.product-value{
    background:#fff;
}

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

.value-grid article{
    min-height:210px;
    padding:25px;
    border:1px solid var(--line);
    border-radius:21px;
    background:#F8FAFD;
}

.value-grid span{
    color:var(--blue);
    font-size:9px;
    font-weight:900;
}

.value-grid strong{
    display:block;
    margin:50px 0 8px;
    font-size:17px;
}

.value-grid small{
    color:#7A8A9A;
    line-height:1.6;
}

.company-story{
    background:#fff;
}

.contact-page-hero{
    padding:150px 0 100px;
    color:#fff;
    background:
        radial-gradient(circle at 90% 10%,rgba(0,184,217,.20),transparent 30%),
        linear-gradient(135deg,#04111F,#0B3156);
}

.contact-page-grid{
    display:grid;
    grid-template-columns:1fr .62fr;
    gap:80px;
    align-items:end;
}

.contact-page-hero h1{
    max-width:800px;
    margin:10px 0 20px;
    font-size:clamp(52px,6vw,82px);
    line-height:1.02;
    letter-spacing:-.05em;
}

.contact-page-hero h1 em{
    display:block;
    color:#5ADCF2;
    font-style:normal;
}

.contact-page-hero p{
    max-width:650px;
    color:#B9CADB;
    font-size:16px;
    line-height:1.75;
}

.contact-direct{
    padding:28px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:22px;
    background:rgba(255,255,255,.06);
}

.contact-direct > span{
    display:block;
    margin-bottom:18px;
    color:#5EDCF2;
    font-size:9px;
    font-weight:900;
    letter-spacing:.15em;
}

.contact-direct a{
    display:block;
    margin-bottom:10px;
    font-size:18px;
    font-weight:800;
}

.contact-direct small{
    color:#95AABD;
}

.contact-options{
    background:#F5F8FC;
}

.contact-options-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:15px;
}

.contact-options-grid article{
    min-height:250px;
    padding:26px;
    border:1px solid var(--line);
    border-radius:22px;
    background:#fff;
}

.contact-options-grid span{
    color:var(--blue);
    font-size:9px;
    font-weight:900;
}

.contact-options-grid strong{
    display:block;
    margin:72px 0 10px;
    font-size:20px;
}

.contact-options-grid p{
    margin:0;
    color:#768697;
    font-size:13px;
    line-height:1.7;
}

.contact-coming{
    margin-top:18px;
    padding:45px;
    border-radius:26px;
    color:#fff;
    background:linear-gradient(145deg,var(--navy-900),var(--navy));
}

.contact-coming .section-kicker{
    color:#63DDF2;
}

.contact-coming h2{
    max-width:780px;
    margin:8px 0 12px;
    font-size:40px;
    letter-spacing:-.04em;
}

.contact-coming p{
    max-width:680px;
    color:#B8C9D9;
    line-height:1.7;
}

.contact-coming .btn{
    margin-top:16px;
}

@media (max-width:980px){
    .inner-hero-grid,
    .product-hero-grid,
    .contact-page-grid{
        grid-template-columns:1fr;
        gap:35px;
    }

    .product-detail-card{
        grid-template-columns:1fr;
    }

    .product-detail-visual{
        min-height:420px;
    }

    .future-catalog,
    .contact-options-grid{
        grid-template-columns:1fr 1fr;
    }

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

@media (max-width:620px){
    .inner-page main{
        padding-top:72px;
    }

    .inner-hero{
        padding:80px 0 65px;
    }

    .inner-hero h1{
        font-size:42px;
    }

    .product-detail-copy{
        padding:28px;
    }

    .product-detail-copy h2{
        font-size:46px;
    }

    .product-actions{
        flex-direction:column;
    }

    .future-catalog,
    .contact-options-grid,
    .value-grid{
        grid-template-columns:1fr;
    }

    .product-hero{
        padding:110px 0 75px;
    }

    .product-logo-stage{
        min-height:320px;
    }

    .contact-page-hero{
        padding:110px 0 75px;
    }

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

    .contact-coming{
        padding:30px 24px;
    }

    .contact-coming h2{
        font-size:34px;
    }
}


/* V0.06 — PRODUCTOS + EDUNOTAS */

.product-catalog{
    background:radial-gradient(circle at 85% 10%,rgba(9,118,232,.055),transparent 28%),#F5F8FC;
}
.catalog-intro,.future-products-head,.edu-screenshots-head{
    display:grid;grid-template-columns:1fr minmax(300px,.55fr);gap:85px;align-items:end;
}
.catalog-intro{margin-bottom:42px}
.catalog-intro h2,.future-products-head h2{
    margin:8px 0 0;font-size:clamp(38px,4vw,58px);line-height:1.05;letter-spacing:-.045em;
}
.catalog-intro p,.future-products-head p,.edu-screenshots-head p{
    margin:0;color:#6D7D8F;font-size:14px;line-height:1.75;
}
.catalog-product-card{
    display:grid;grid-template-columns:.88fr 1.12fr;min-height:610px;overflow:hidden;
    border:1px solid rgba(18,62,111,.10);border-radius:30px;background:#fff;
    box-shadow:0 26px 80px rgba(18,62,111,.085);
}
.catalog-product-copy{padding:48px}
.catalog-product-category{margin-top:66px;color:var(--blue);font-size:9px;font-weight:900;letter-spacing:.16em}
.catalog-product-copy h2{margin:8px 0 18px;color:#10253B;font-size:66px;line-height:.96;letter-spacing:-.055em}
.catalog-product-lead{max-width:550px;margin:0;color:#697A8C;font-size:15px;line-height:1.8}
.catalog-product-features{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 34px}
.catalog-product-features span{
    padding:8px 11px;border:1px solid rgba(18,62,111,.10);border-radius:999px;color:#718294;
    background:#F7FAFD;font-size:9px;font-weight:700;
}
.catalog-product-actions{display:flex;gap:10px;flex-wrap:wrap}
.catalog-product-visual{
    position:relative;min-height:610px;overflow:hidden;display:flex;align-items:flex-end;
    background:radial-gradient(circle at 83% 20%,rgba(0,184,217,.19),transparent 28%),linear-gradient(145deg,#06182A,#0B3157);
}
.edu-device{width:100%;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:24px 24px 0 0;background:#EEF4FA;box-shadow:-20px 30px 70px rgba(0,0,0,.25)}
.catalog-product-visual .edu-device{width:112%;margin:60px -95px -48px 55px;transform:rotate(-2deg)}
.edu-device-top{height:48px;display:flex;align-items:center;gap:7px;padding:0 18px;border-bottom:1px solid #D9E4EE;color:#1C3A55;background:#fff}
.edu-device-top>span{width:8px;height:8px;border-radius:50%;background:#C6D4E1}
.edu-device-top strong{margin-left:auto;font-size:10px}
.edu-device-body{min-height:440px;display:grid;grid-template-columns:82px 1fr}
.edu-sidebar{display:flex;flex-direction:column;align-items:center;gap:19px;padding:23px 15px;background:#0A2948}
.edu-mini-brand{display:grid;place-items:center;width:38px;height:38px;margin-bottom:5px;border-radius:11px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--cyan));font-size:12px;font-weight:950}
.edu-sidebar i{width:41px;height:7px;border-radius:999px;background:rgba(255,255,255,.13)}
.edu-content{padding:34px;color:#16334E}
.edu-content-head{display:flex;align-items:center;justify-content:space-between}
.edu-content-head small{display:block;margin-bottom:7px;color:#8193A5;font-size:9px;text-transform:uppercase;letter-spacing:.10em}
.edu-content-head strong{display:block;font-size:27px;letter-spacing:-.035em}
.edu-avatar{width:34px;height:34px;border-radius:50%;background:#DFE8F1}
.edu-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:27px 0 15px}
.edu-kpis>div{min-height:85px;padding:15px;border-radius:14px;background:#fff;box-shadow:0 8px 20px rgba(18,62,111,.065)}
.edu-kpis span{display:block;width:28px;height:7px;margin-bottom:17px;border-radius:8px;background:#B9C7D5}
.edu-kpis b{display:block;width:62%;height:16px;border-radius:8px;background:#E6EDF4}
.edu-dashboard-grid{display:grid;grid-template-columns:1.5fr .7fr;gap:12px}
.edu-chart-card,.edu-list-card{min-height:165px;border-radius:15px;background:#fff;box-shadow:0 8px 20px rgba(18,62,111,.055)}
.edu-chart-card{background:linear-gradient(180deg,rgba(9,118,232,.10),transparent),repeating-linear-gradient(0deg,#fff 0 31px,#E2EAF2 32px)}
.edu-list-card{display:flex;flex-direction:column;gap:12px;padding:18px}
.edu-list-card span{height:10px;border-radius:7px;background:#E6EDF4}
.catalog-floating-note{
    position:absolute;z-index:4;min-width:150px;padding:13px 15px;border:1px solid rgba(255,255,255,.12);
    border-radius:15px;color:#fff;background:rgba(4,18,32,.76);box-shadow:0 18px 40px rgba(0,0,0,.18);backdrop-filter:blur(10px)
}
.catalog-floating-note strong,.catalog-floating-note span{display:block}
.catalog-floating-note strong{margin-bottom:3px;font-size:11px}
.catalog-floating-note span{color:#98AEC1;font-size:9px}
.note-a{top:58px;right:30px}.note-b{left:28px;bottom:30px}
.future-products-head{margin:90px 0 32px}
.future-products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.future-product-card{
    min-height:330px;display:flex;flex-direction:column;padding:27px;border:1px solid rgba(18,62,111,.10);
    border-radius:23px;background:#fff;transition:transform .25s var(--ease),box-shadow .25s var(--ease)
}
.future-product-card:hover{transform:translateY(-5px);box-shadow:0 22px 55px rgba(18,62,111,.08)}
.future-index{color:var(--blue);font-size:9px;font-weight:900}
.future-icon{display:grid;place-items:center;width:60px;height:60px;margin:54px 0 25px;border-radius:18px;color:var(--blue);background:#EEF5FF;font-size:12px;font-weight:950}
.future-product-card strong{margin-bottom:9px;font-size:20px}
.future-product-card p{margin:0;color:#728294;font-size:12px;line-height:1.65}
.future-product-card small{margin-top:auto;padding-top:28px;color:#9BA8B5;font-size:8px;font-weight:850;letter-spacing:.14em}
.product-catalog-cta{padding:0 0 95px;background:#F5F8FC}
.catalog-cta-card{
    display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center;padding:48px;border-radius:28px;color:#fff;
    background:radial-gradient(circle at 90% 15%,rgba(0,184,217,.22),transparent 30%),linear-gradient(140deg,#06182A,#0B3157)
}
.catalog-cta-card .section-kicker{color:#5EDBF1}
.catalog-cta-card h2{max-width:760px;margin:8px 0 0;font-size:39px;line-height:1.08;letter-spacing:-.04em}

/* EduNotas */
.edunotas-product-page main{padding-top:0}
.edunotas-hero{
    min-height:100vh;padding:155px 0 95px;overflow:hidden;color:#fff;
    background:radial-gradient(circle at 82% 25%,rgba(0,184,217,.16),transparent 27%),radial-gradient(circle at 93% 75%,rgba(9,118,232,.15),transparent 28%),linear-gradient(128deg,#04111F 0%,#071D35 52%,#0A3157 100%)
}
.edunotas-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,.95fr);gap:74px;align-items:center}
.edunotas-hero-copy h1{margin:13px 0 24px;font-size:clamp(76px,8vw,112px);line-height:.88;letter-spacing:-.065em}
.edunotas-hero-copy h1 span{display:block;margin-top:25px;color:#62DAF0;font-size:clamp(35px,3.4vw,50px);line-height:1.04;letter-spacing:-.04em}
.edunotas-hero-copy>p{max-width:680px;margin:0;color:#C2D1E0;font-size:17px;line-height:1.78}
.edunotas-hero-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:48px;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:17px;background:rgba(255,255,255,.08)}
.edunotas-hero-trust div{padding:18px;background:rgba(4,17,31,.55)}
.edunotas-hero-trust strong{display:block;margin-bottom:5px;font-size:11px}
.edunotas-hero-trust span{color:#91A6BA;font-size:9px;line-height:1.5}
.edunotas-hero-visual{position:relative;perspective:1200px}
.edu-device-large{transform:rotateY(-3deg) rotateX(1deg)}
.edu-hero-chip{position:absolute;z-index:5;padding:13px 15px;border:1px solid rgba(255,255,255,.12);border-radius:16px;color:#fff;background:rgba(5,22,39,.78);backdrop-filter:blur(11px);box-shadow:0 18px 40px rgba(0,0,0,.20)}
.edu-hero-chip strong,.edu-hero-chip span{display:block}.edu-hero-chip strong{margin-bottom:4px;font-size:10px}.edu-hero-chip span{color:#94A9BD;font-size:8px}
.chip-academic{right:-20px;top:22%}.chip-teacher{left:-28px;bottom:14%}
.edu-problem{background:#fff}
.edu-value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.edu-value-grid article{min-height:240px;padding:25px;border:1px solid var(--line);border-radius:21px;background:#F8FAFD}
.edu-value-grid span{color:var(--blue);font-size:9px;font-weight:900}.edu-value-grid strong{display:block;margin:64px 0 9px;color:#173048;font-size:17px}.edu-value-grid p{margin:0;color:#758697;font-size:11px;line-height:1.65}
.edu-audience{color:#fff;background:radial-gradient(circle at 15% 20%,rgba(0,184,217,.13),transparent 26%),linear-gradient(130deg,#06182A,#0A3157)}
.edu-audience-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:90px;align-items:start}
.edu-audience-intro .section-kicker{color:#5EDBF1}.edu-audience-intro h2{margin:8px 0 22px;font-size:clamp(44px,4.6vw,64px);line-height:1.04;letter-spacing:-.045em}.edu-audience-intro h2 em{display:block;color:#6FE0F3;font-style:normal}.edu-audience-intro p{max-width:420px;margin:0;color:#B4C6D7;font-size:14px;line-height:1.75}
.edu-audience-list{border-top:1px solid rgba(255,255,255,.12)}.edu-audience-list article{display:grid;grid-template-columns:70px 1fr;gap:15px;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.12)}.edu-audience-list>article>span{color:#5DD9F0;font-size:9px;font-weight:900}.edu-audience-list strong{display:block;margin-bottom:7px;font-size:18px}.edu-audience-list p{margin:0;color:#9EB3C7;font-size:11px;line-height:1.65}
.edu-modules{background:#F5F8FC}.edu-modules-heading h2 em{color:var(--blue)}
.edu-modules-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.edu-module-card{position:relative;min-height:310px;display:flex;flex-direction:column;padding:24px;border:1px solid rgba(18,62,111,.10);border-radius:22px;background:#fff}
.edu-module-card.featured{color:#fff;border-color:transparent;background:radial-gradient(circle at 90% 0%,rgba(0,184,217,.21),transparent 30%),linear-gradient(145deg,#071A2E,#0A3157)}
.module-number{color:#91A0AF;font-size:8px;font-weight:900}.featured .module-number{color:#5ED9EF}
.module-icon{display:grid;place-items:center;width:52px;height:52px;margin:50px 0 22px;border-radius:16px;color:var(--blue);background:#EEF5FF;font-size:10px;font-weight:950}.featured .module-icon{color:#fff;background:rgba(255,255,255,.09)}
.edu-module-card h3{margin:0 0 9px;font-size:18px;letter-spacing:-.025em}.edu-module-card p{margin:0;color:#748596;font-size:11px;line-height:1.65}.featured p{color:#AFC2D5}
.edu-foundation{background:#fff}.edu-foundation-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:90px}
.edu-foundation-copy h2{margin:8px 0 22px;font-size:clamp(44px,4.5vw,62px);line-height:1.04;letter-spacing:-.045em}.edu-foundation-copy h2 em{display:block;color:var(--blue);font-style:normal}.edu-foundation-copy p{max-width:430px;color:#6F8091;font-size:14px;line-height:1.75}
.edu-foundation-points{border-top:1px solid var(--line)}.edu-foundation-points article{display:grid;grid-template-columns:70px 1fr;gap:15px;padding:25px 0;border-bottom:1px solid var(--line)}.edu-foundation-points>article>span{color:var(--blue);font-size:9px;font-weight:900}.edu-foundation-points strong{display:block;margin-bottom:7px;font-size:17px}.edu-foundation-points p{margin:0;color:#718294;font-size:11px;line-height:1.65}
.edu-screenshots{padding:115px 0;color:#fff;background:#04111F}.edu-screenshots-head{margin-bottom:38px}.edu-screenshots-head .section-kicker{color:#5EDBF1}.edu-screenshots-head h2{max-width:800px;margin:8px 0 0;font-size:48px;line-height:1.05;letter-spacing:-.04em}.edu-screenshots-head p{color:#94A9BD}
.edu-screenshot-placeholder{padding:28px;border:1px solid rgba(255,255,255,.10);border-radius:27px;background:rgba(255,255,255,.04)}
.placeholder-browser{overflow:hidden;border-radius:18px;background:#EDF3F9}.placeholder-bar{height:48px;display:flex;align-items:center;gap:7px;padding:0 18px;background:#fff}.placeholder-bar span{width:8px;height:8px;border-radius:50%;background:#C9D5E0}
.placeholder-content{min-height:360px;display:grid;grid-template-columns:90px 1fr}.placeholder-sidebar{background:#0A2948}.placeholder-main{display:grid;grid-template-columns:1.3fr .7fr;gap:15px;padding:35px}.placeholder-main span{border-radius:15px;background:#fff;box-shadow:0 8px 20px rgba(18,62,111,.06)}.placeholder-main span:first-child{grid-column:1/-1;height:90px}
.edu-screenshot-placeholder>span{display:block;margin-top:18px;color:#6D8498;font-size:8px;font-weight:850;text-align:center;letter-spacing:.14em}
.edu-final-cta{padding:0 0 95px;background:#04111F}.edu-final-card{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center;padding:50px;border-radius:28px;color:#fff;background:radial-gradient(circle at 90% 10%,rgba(0,184,217,.24),transparent 30%),linear-gradient(135deg,#082443,#0B3157)}.edu-final-card .section-kicker{color:#64DDF2}.edu-final-card h2{max-width:760px;margin:8px 0 0;font-size:42px;line-height:1.08;letter-spacing:-.04em}.edu-final-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.edu-final-link{display:inline-flex;align-items:center;gap:8px;color:#75DFF2;font-size:10px;font-weight:850}

@media(max-width:1050px){
    .catalog-product-card,.edunotas-hero-grid{grid-template-columns:1fr}
    .catalog-product-visual{min-height:500px}
    .future-products-grid{grid-template-columns:1fr 1fr}
    .edu-value-grid,.edu-modules-grid{grid-template-columns:1fr 1fr}
    .edu-audience-grid,.edu-foundation-grid{grid-template-columns:1fr;gap:45px}
}
@media(max-width:820px){
    .catalog-intro,.future-products-head,.edu-screenshots-head{grid-template-columns:1fr;gap:22px}
    .catalog-cta-card,.edu-final-card{grid-template-columns:1fr}
    .edunotas-hero{min-height:auto;padding:125px 0 85px}
    .edu-device-large{transform:none}.edu-hero-chip{display:none}
}
@media(max-width:620px){
    .catalog-product-copy{padding:28px}.catalog-product-category{margin-top:42px}.catalog-product-copy h2{font-size:50px}
    .catalog-product-actions{flex-direction:column}.catalog-product-actions .btn{width:100%}
    .future-products-grid,.edu-value-grid,.edu-modules-grid{grid-template-columns:1fr}
    .catalog-product-visual{min-height:420px}.catalog-product-visual .edu-device{width:125%;margin:50px -100px -50px 20px}
    .edu-device-body{grid-template-columns:58px 1fr;min-height:360px}.edu-sidebar{padding-inline:10px}.edu-sidebar i{width:30px}
    .edu-content{padding:24px 18px}.edu-content-head strong{font-size:21px}.edu-dashboard-grid{grid-template-columns:1fr}.edu-list-card{display:none}
    .edunotas-hero-copy h1{font-size:68px}.edunotas-hero-copy h1 span{font-size:33px}.edunotas-hero-trust{grid-template-columns:1fr}
    .edu-audience-intro h2,.edu-foundation-copy h2{font-size:40px}
    .edu-screenshots{padding:85px 0}.edu-screenshots-head h2{font-size:38px}
    .placeholder-content{grid-template-columns:55px 1fr;min-height:290px}.placeholder-main{padding:22px;grid-template-columns:1fr}.placeholder-main span:nth-child(3){display:none}
    .edu-final-card{padding:32px 24px}.edu-final-card h2{font-size:34px}
}


/* =========================================================
   V0.07 — CONTACTO FUNCIONAL + PULIDO DE PRODUCTO
   ========================================================= */

.product-breadcrumb{
    position:relative;
    z-index:3;
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:34px;
    color:#8398AC;
    font-size:10px;
}

.product-breadcrumb a{
    color:#69DAF0;
    font-weight:800;
}

.product-breadcrumb strong{
    color:#DCE7F1;
}

.product-subnav{
    position:sticky;
    top:82px;
    z-index:70;
    border-bottom:1px solid var(--line);
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(16px);
}

.product-subnav .container{
    min-height:58px;
    display:flex;
    align-items:center;
    gap:26px;
    overflow-x:auto;
}

.product-subnav a{
    flex:0 0 auto;
    color:#66798D;
    font-size:10px;
    font-weight:800;
}

.product-subnav a:hover{
    color:var(--blue);
}


/* CONTACT FORM */

.contact-form-section{
    background:#F5F8FC;
}

.contact-form-layout{
    display:grid;
    grid-template-columns:.65fr 1.35fr;
    gap:70px;
    align-items:start;
}

.contact-form-intro{
    position:sticky;
    top:125px;
}

.contact-form-intro h2{
    max-width:500px;
    margin:8px 0 18px;
    font-size:44px;
    line-height:1.06;
    letter-spacing:-.04em;
}

.contact-form-intro > p{
    max-width:470px;
    margin:0;
    color:#6F8091;
    font-size:14px;
    line-height:1.75;
}

.contact-form-points{
    margin-top:32px;
    border-top:1px solid var(--line);
}

.contact-form-points div{
    display:grid;
    grid-template-columns:34px 1fr;
    gap:12px;
    padding:17px 0;
    border-bottom:1px solid var(--line);
}

.contact-form-points span{
    color:var(--blue);
    font-size:9px;
    font-weight:900;
}

.contact-form-points strong{
    font-size:13px;
}

.contact-form-card{
    padding:34px;
    border:1px solid rgba(18,62,111,.10);
    border-radius:26px;
    background:#fff;
    box-shadow:0 24px 65px rgba(18,62,111,.07);
}

.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.form-field{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.form-field-full{
    grid-column:1/-1;
}

.form-field > span{
    color:#2E4257;
    font-size:10px;
    font-weight:800;
}

.form-field input,
.form-field select,
.form-field textarea{
    width:100%;
    border:1px solid rgba(18,62,111,.14);
    border-radius:13px;
    outline:none;
    color:#17324B;
    background:#FBFCFE;
    transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease);
}

.form-field input,
.form-field select{
    min-height:49px;
    padding:0 14px;
}

.form-field textarea{
    min-height:165px;
    padding:14px;
    resize:vertical;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus{
    border-color:rgba(9,118,232,.55);
    background:#fff;
    box-shadow:0 0 0 4px rgba(9,118,232,.08);
}

.form-field input::placeholder,
.form-field textarea::placeholder{
    color:#A5B2BF;
}

.form-submit-row{
    display:flex;
    align-items:center;
    gap:18px;
    margin-top:22px;
}

.form-submit-row small{
    max-width:330px;
    color:#8998A7;
    font-size:9px;
    line-height:1.55;
}

.form-alert{
    margin-bottom:22px;
    padding:15px 17px;
    border-radius:14px;
}

.form-alert strong,
.form-alert span{
    display:block;
}

.form-alert strong{
    margin-bottom:4px;
    font-size:12px;
}

.form-alert span,
.form-alert li{
    font-size:10px;
    line-height:1.55;
}

.form-alert ul{
    margin:7px 0 0;
    padding-left:18px;
}

.form-alert-success{
    color:#175D46;
    border:1px solid rgba(43,155,113,.20);
    background:#ECF9F3;
}

.form-alert-error{
    color:#7E3030;
    border:1px solid rgba(190,67,67,.18);
    background:#FFF2F2;
}

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

@media (max-width:900px){
    .contact-form-layout{
        grid-template-columns:1fr;
        gap:35px;
    }

    .contact-form-intro{
        position:static;
    }
}

@media (max-width:620px){
    .product-subnav{
        top:72px;
    }

    .product-subnav .container{
        gap:18px;
    }

    .contact-form-card{
        padding:23px;
    }

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

    .form-field-full{
        grid-column:auto;
    }

    .form-submit-row{
        flex-direction:column;
        align-items:stretch;
    }

    .form-submit-row .btn{
        width:100%;
    }
}


/* =========================================================
   V0.09 — EDUNOTAS: VISTAS REALES DEL PRODUCTO
   ========================================================= */

.edu-real-gallery{
    display:grid;
    grid-template-columns:1.25fr .75fr;
    gap:16px;
}

.edu-shot{
    margin:0;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.10);
    border-radius:25px;
    background:rgba(255,255,255,.04);
}

.edu-shot-featured{
    grid-row:span 2;
}

.edu-shot-button{
    position:relative;
    width:100%;
    height:100%;
    min-height:270px;
    display:block;
    padding:0;
    overflow:hidden;
    border:0;
    cursor:zoom-in;
    background:#071522;
}

.edu-shot-featured .edu-shot-button{
    min-height:560px;
}

.edu-shot-button img{
    width:100%;
    height:100%;
    min-height:inherit;
    object-fit:cover;
    object-position:top center;
    transition:transform .55s var(--ease),filter .4s var(--ease);
}

.edu-shot-button:hover img{
    transform:scale(1.025);
    filter:brightness(.78);
}

.edu-shot-overlay{
    position:absolute;
    inset:auto 0 0 0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    padding:60px 24px 23px;
    color:#fff;
    text-align:left;
    background:linear-gradient(transparent,rgba(2,10,18,.92));
    opacity:.92;
}

.edu-shot-overlay small{
    margin-bottom:7px;
    color:#65DDF2;
    font-size:8px;
    font-weight:900;
    letter-spacing:.15em;
}

.edu-shot-overlay strong{
    font-size:18px;
    letter-spacing:-.02em;
}

.edu-shot-overlay em{
    margin-top:5px;
    color:#A7BACB;
    font-size:9px;
    font-style:normal;
}

.edu-shot figcaption{
    display:grid;
    grid-template-columns:34px 1fr;
    gap:12px;
    padding:18px 20px;
    border-top:1px solid rgba(255,255,255,.08);
}

.edu-shot figcaption > span{
    color:#56D8EF;
    font-size:8px;
    font-weight:900;
}

.edu-shot figcaption strong{
    display:block;
    margin-bottom:4px;
    color:#E9F1F8;
    font-size:11px;
}

.edu-shot figcaption small{
    color:#71879B;
    font-size:9px;
}

.edu-gallery-note{
    display:flex;
    align-items:flex-start;
    gap:30px;
    margin-top:18px;
    padding:20px 23px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:17px;
    background:rgba(255,255,255,.035);
}

.edu-gallery-note span{
    flex:0 0 auto;
    color:#5EDBF1;
    font-size:8px;
    font-weight:900;
    letter-spacing:.15em;
}

.edu-gallery-note p{
    max-width:760px;
    margin:0;
    color:#8095A9;
    font-size:9px;
    line-height:1.65;
}

/* Lightbox */
.edu-lightbox{
    position:fixed;
    inset:0;
    z-index:9999;
    display:grid;
    place-items:center;
    padding:34px;
    visibility:hidden;
    opacity:0;
    background:rgba(1,8,14,.93);
    backdrop-filter:blur(12px);
    transition:opacity .22s var(--ease),visibility .22s var(--ease);
}

.edu-lightbox.open{
    visibility:visible;
    opacity:1;
}

.edu-lightbox-stage{
    width:min(94vw,1600px);
    max-height:88vh;
    overflow:auto;
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    background:#06111C;
    box-shadow:0 30px 100px rgba(0,0,0,.45);
}

.edu-lightbox-stage img{
    width:100%;
    height:auto;
    display:block;
}

.edu-lightbox-close{
    position:fixed;
    top:20px;
    right:24px;
    z-index:10000;
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:50%;
    color:#fff;
    background:rgba(255,255,255,.08);
    font-size:25px;
    cursor:pointer;
}

body.lightbox-open{
    overflow:hidden;
}

@media(max-width:900px){
    .edu-real-gallery{
        grid-template-columns:1fr;
    }

    .edu-shot-featured{
        grid-row:auto;
    }

    .edu-shot-featured .edu-shot-button,
    .edu-shot-button{
        min-height:380px;
    }
}

@media(max-width:620px){
    .edu-shot-featured .edu-shot-button,
    .edu-shot-button{
        min-height:245px;
    }

    .edu-shot-overlay{
        padding:45px 17px 17px;
    }

    .edu-shot-overlay strong{
        font-size:15px;
    }

    .edu-gallery-note{
        flex-direction:column;
        gap:8px;
    }

    .edu-lightbox{
        padding:12px;
    }

    .edu-lightbox-stage{
        width:100%;
        max-height:82vh;
    }
}


/* =========================================================
   V0.10 — BASE LEGAL + SEO TÉCNICO
   ========================================================= */

.footer-legal-links{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:18px;
    padding-top:18px;
    padding-bottom:24px;
    border-top:1px solid rgba(255,255,255,.08);
}

.footer-legal-links a{
    color:#7E93A7;
    font-size:9px;
    font-weight:750;
}

.footer-legal-links a:hover{
    color:#62DAF0;
}

.legal-hero{
    padding:165px 0 70px;
    color:#fff;
    background:
        radial-gradient(circle at 85% 20%,rgba(0,184,217,.14),transparent 28%),
        linear-gradient(135deg,#04111F,#0A3157);
}

.legal-hero .section-kicker{
    color:#63DDF2;
}

.legal-hero h1{
    margin:9px 0 14px;
    font-size:clamp(48px,6vw,78px);
    line-height:1;
    letter-spacing:-.05em;
}

.legal-hero p{
    margin:0;
    color:#91A7BB;
    font-size:10px;
}

.legal-content{
    padding:85px 0 110px;
    background:#F6F8FB;
}

.legal-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 285px;
    gap:65px;
    align-items:start;
}

.legal-article{
    padding:42px;
    border:1px solid rgba(18,62,111,.09);
    border-radius:24px;
    background:#fff;
    box-shadow:0 22px 60px rgba(18,62,111,.055);
}

.legal-article > p:first-child{
    margin-top:0;
    color:#536A7F;
    font-size:15px;
    line-height:1.8;
}

.legal-article h2{
    margin:38px 0 10px;
    color:#17324B;
    font-size:20px;
    letter-spacing:-.025em;
}

.legal-article p{
    color:#6E8091;
    font-size:12px;
    line-height:1.8;
}

.legal-article a,
.legal-aside a{
    color:var(--blue);
    font-weight:800;
}

.legal-aside{
    position:sticky;
    top:125px;
    padding:25px;
    border:1px solid rgba(18,62,111,.09);
    border-radius:20px;
    background:#fff;
}

.legal-aside strong{
    display:block;
    margin-bottom:8px;
    color:#18334D;
    font-size:15px;
}

.legal-aside p{
    margin:0 0 14px;
    color:#758697;
    font-size:10px;
    line-height:1.65;
}

.legal-aside a{
    font-size:10px;
    word-break:break-word;
}

@media(max-width:800px){
    .legal-layout{
        grid-template-columns:1fr;
        gap:25px;
    }

    .legal-aside{
        position:static;
    }
}

@media(max-width:620px){
    .legal-hero{
        padding:130px 0 55px;
    }

    .legal-content{
        padding:55px 0 75px;
    }

    .legal-article{
        padding:25px 21px;
    }
}


/* =========================================================
   V0.11 — ACCESIBILIDAD + PULIDO TÉCNICO
   ========================================================= */

:focus-visible{
    outline:3px solid rgba(30,150,255,.78);
    outline-offset:3px;
}

.main-nav a:focus-visible,
.btn:focus-visible,
.menu-toggle:focus-visible,
.edu-shot-button:focus-visible,
.edu-lightbox-close:focus-visible{
    border-radius:10px;
}

.skip-link{
    position:fixed;
    top:10px;
    left:10px;
    z-index:20000;
    padding:10px 14px;
    border-radius:10px;
    color:#06182A;
    background:#FFFFFF;
    font-size:11px;
    font-weight:900;
    transform:translateY(-160%);
    transition:transform .18s ease;
    box-shadow:0 10px 30px rgba(0,0,0,.18);
}

.skip-link:focus{
    transform:translateY(0);
}

[aria-current="page"]{
    text-decoration-thickness:2px;
    text-underline-offset:7px;
}

@media (prefers-reduced-motion: reduce){
    *,
    *::before,
    *::after{
        scroll-behavior:auto !important;
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
    }

    .reveal{
        opacity:1 !important;
        transform:none !important;
    }
}


/* =========================================================
   V0.12 — PÁGINAS DE ERROR
   ========================================================= */

.error-section{
    min-height:calc(100vh - 82px);
    display:grid;
    align-items:center;
    padding:145px 0 85px;
    overflow:hidden;
    color:#fff;
    background:
        radial-gradient(circle at 80% 25%,rgba(0,184,217,.15),transparent 28%),
        linear-gradient(135deg,#04111F,#0A3157);
}

.error-grid{
    display:grid;
    grid-template-columns:1fr .8fr;
    gap:80px;
    align-items:center;
}

.error-code{
    display:block;
    margin-bottom:12px;
    color:rgba(255,255,255,.10);
    font-size:clamp(90px,12vw,170px);
    font-weight:950;
    line-height:.8;
    letter-spacing:-.07em;
}

.error-copy .section-kicker{
    color:#62DCF1;
}

.error-copy h1{
    max-width:760px;
    margin:10px 0 22px;
    font-size:clamp(48px,5.7vw,78px);
    line-height:1.02;
    letter-spacing:-.05em;
}

.error-copy h1 em{
    display:block;
    color:#65DDF2;
    font-style:normal;
}

.error-copy p{
    max-width:620px;
    margin:0;
    color:#B8C9DA;
    font-size:15px;
    line-height:1.75;
}

.error-actions{
    display:flex;
    gap:11px;
    margin-top:32px;
}

.error-actions .btn-secondary-on-light{
    color:#EAF2FA;
    border-color:rgba(255,255,255,.14);
    background:rgba(255,255,255,.055);
}

.error-visual{
    position:relative;
    min-height:430px;
    display:grid;
    place-items:center;
}

.error-mark{
    position:relative;
    z-index:3;
    display:grid;
    place-items:center;
    width:220px;
    height:220px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:50%;
    background:rgba(255,255,255,.95);
    box-shadow:0 30px 80px rgba(0,0,0,.24);
}

.error-mark img{
    width:150px;
    height:150px;
    object-fit:contain;
}

.error-orbit{
    position:absolute;
    border:1px solid rgba(101,221,242,.15);
    border-radius:50%;
}

.error-orbit.orbit-a{
    width:360px;
    height:360px;
}

.error-orbit.orbit-b{
    width:480px;
    height:480px;
}

@media(max-width:850px){
    .error-grid{
        grid-template-columns:1fr;
        gap:35px;
    }

    .error-visual{
        display:none;
    }
}

@media(max-width:620px){
    .error-section{
        min-height:auto;
        padding:125px 0 75px;
    }

    .error-actions{
        flex-direction:column;
    }

    .error-actions .btn{
        width:100%;
    }
}
