/* PAGES 13-17 — All new section variants */
*{margin:0;padding:0;box-sizing:border-box}
:root{--black:#0A1525;--g900:#0F1E35;--g800:#081425;--g700:#1A3050;--g600:#2A4570;--g500:#4A6890;--g400:#7090B0;--g300:#A0B8D0;--g200:#C8D8E8;--g100:#E0ECF5;--g50:#F0F6FC;--white:#fff;--brand:#3A7BC8;--brand-hover:#2E62A0;--brand-light:#E3F0FC;--brand-accent:#E8A020}
html{scroll-behavior:smooth}
body{font-family:'Sora',sans-serif;color:var(--g700);line-height:1.6;background:var(--white);font-size:16px;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Sora',sans-serif;color:var(--g900);font-weight:700;line-height:1.15}
img{display:block;max-width:100%}
.wrap{max-width:1200px;margin:0 auto;padding:0 2rem}
.ey{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--brand);margin-bottom:.75rem}
.sec-hd{text-align:center;max-width:640px;margin:0 auto 3.5rem}
.sec-hd h2{font-size:2.25rem;margin-bottom:1rem;letter-spacing:-.5px}
.sec-hd p{color:var(--g500);line-height:1.7}

/* Header — Sticky Compact */
header{position:fixed;top:0;left:0;right:0;background:#fafafa;z-index:1000;border-bottom:1px solid #eaeaea;transition:box-shadow .3s}
header.scrolled{box-shadow:0 1px 8px rgba(0,0,0,.04)}
.hdr-wrap{max-width:1200px;margin:0 auto;padding:.5rem 2rem;display:flex;justify-content:space-between;align-items:center}
.logo{text-decoration:none;display:flex;align-items:center;font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:3px;color:var(--g900)}
.logo-img{height:52px;width:auto;object-fit:contain}
.logo-img-ftr{height:40px;width:auto;object-fit:contain;filter:brightness(0) invert(1)}
nav{display:flex;gap:1.75rem;align-items:center}
nav a{text-decoration:none;color:var(--g600);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:1.5px;transition:color .2s}
nav a:hover{color:var(--black)}
.btn-hdr{background:var(--brand);color:var(--white)!important;padding:.45rem 1rem;border-radius:50px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;transition:background .2s}
.btn-hdr:hover{background:var(--brand-hover)}
.menu-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}
.menu-toggle span{width:22px;height:2px;background:var(--g800)}

/* Buttons */
.btn-w{display:inline-flex;padding:1rem 2rem;background:var(--white);color:var(--brand);font-weight:600;border-radius:8px;text-decoration:none;font-size:.95rem;transition:all .3s;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.btn-w:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.12)}
.btn-ghost{display:inline-flex;padding:1rem 2rem;background:transparent;color:var(--white);border:2px solid rgba(255,255,255,.3);font-weight:600;border-radius:8px;text-decoration:none;font-size:.95rem;transition:all .3s}
.btn-ghost:hover{border-color:rgba(255,255,255,.7)}
.btn-blk-pill{display:inline-flex;padding:.9rem 2rem;background:var(--brand);color:var(--white);font-weight:600;border-radius:50px;text-decoration:none;font-size:.95rem;transition:all .3s}
.btn-blk-pill:hover{background:var(--brand-hover);transform:translateY(-2px)}
.hro-btns{display:flex;gap:1rem;flex-wrap:wrap}

/* ========= PAGE 13 ========= */
/* Hero: Gradient text */
.hro-grad{background:linear-gradient(135deg,#081425 0%,#0F1E35 50%,#0A1525 100%);min-height:100vh;display:flex;align-items:center;padding:6rem 2rem}
.hro-grad-inner{max-width:800px;margin:0 auto;text-align:center}
.hro-grad h1{font-size:clamp(3rem,8vw,5.5rem);color:var(--white);letter-spacing:-2px;margin-bottom:1.5rem;line-height:1;background:linear-gradient(180deg,#fff 0%,#666 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hro-grad p{font-size:1.15rem;color:var(--g400);max-width:550px;margin:0 auto 2.5rem;line-height:1.7}

/* About: Mosaic */
.abt-mosaic{padding:6rem 2rem;border-bottom:1px solid var(--g200)}
.abt-mosaic-g{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.abt-mosaic-txt h2{font-size:2.25rem;margin-bottom:1rem}
.abt-mosaic-txt p{color:var(--g600);line-height:1.8}
.abt-mosaic-imgs{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.abt-mosaic-imgs img{border-radius:18px;object-fit:cover;height:200px;width:100%}
.mos-1{grid-row:span 2;height:100%!important}

/* MVV: Tabs */
.mvv-tabs{padding:6rem 2rem;background:var(--g50)}
.tabs-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.tab-block{padding:2.5rem;border:1px solid var(--g200);border-top:4px solid var(--brand);background:var(--white);transition:transform .3s,box-shadow .3s}
.tab-block:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.06)}
.tab-top{font-size:.7rem;text-transform:uppercase;letter-spacing:2px;color:var(--g500);font-weight:600;margin-bottom:1rem}
.tab-block p{font-size:.9rem;color:var(--g600);line-height:1.65}

/* Beneficios: Circle icons */
.bnf-circles{padding:6rem 2rem;background:var(--white);border-bottom:1px solid var(--g200)}
.circles-g{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.circle-card{text-align:center;padding:2rem 1.5rem;transition:transform .3s}
.circle-card:hover{transform:translateY(-4px)}
.circle-ic{width:64px;height:64px;border:2px solid var(--brand);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;transition:all .3s}
.circle-ic svg{width:28px;height:28px;color:var(--brand)}
.circle-card:hover .circle-ic{background:var(--brand)}
.circle-card:hover .circle-ic svg{color:var(--white)}
.circle-card h3{font-size:1rem;margin-bottom:.5rem}
.circle-card p{font-size:.88rem;color:var(--g600);line-height:1.6}

/* Servicios: Wide rows */
.srv-wide{padding:6rem 2rem;background:var(--g50)}
.wide-rows{display:flex;flex-direction:column;gap:4rem}
.wide-row{display:grid;grid-template-columns:1.3fr 1fr;gap:3rem;align-items:center}
.wide-row-rev{grid-template-columns:1fr 1.3fr}
.wide-row-rev .wide-img{order:2}
.wide-row-rev .wide-txt{order:1}
.wide-img img{width:100%;height:320px;object-fit:cover;border-radius:22px;transition:transform .6s}
.wide-img:hover img{transform:scale(1.03)}
.wide-txt h3{font-size:1.5rem;margin-bottom:.75rem}
.wide-txt p{color:var(--g600);line-height:1.75}

/* Sectores: Dark cards */
.sct-dkcards{padding:6rem 2rem;background:#0F1E35}
.dkcards-g{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.dkcard{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:2.5rem 2rem;transition:all .3s}
.dkcard:hover{background:rgba(255,255,255,.07);transform:translateY(-4px)}
.dkcard-ic{width:48px;height:48px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}
.dkcard-ic svg{width:28px;height:28px;color:var(--g300)}
.dkcard h3{color:var(--white);font-size:1.05rem;margin-bottom:.5rem}
.dkcard p{color:var(--g400);font-size:.9rem;line-height:1.6}

/* Cifras: Two-tone */
.cif-twotone{display:grid;grid-template-columns:1fr 2fr}
.twotone-dark{background:#0F1E35;padding:4rem 3rem;display:flex;flex-direction:column;justify-content:center}
.twotone-light{background:var(--g50);padding:4rem 3rem;display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;align-content:center}
.tt-num{text-align:center;padding:1.5rem}
.tt-num strong{display:block;font-size:2.75rem;font-weight:800;color:var(--black);line-height:1;margin-bottom:.35rem}
.tt-num span{font-size:.78rem;color:var(--g500);text-transform:uppercase;letter-spacing:.5px}

/* CTA: Underlined */
.cta-uline{padding:5rem 2rem;background:var(--white);border-bottom:1px solid var(--g200)}
.cta-uline h2{font-size:2.25rem;margin-bottom:1rem}
.cta-uline p{color:var(--g500);margin-bottom:2rem;font-size:1.05rem}
.uline-link{font-size:1.2rem;font-weight:600;color:var(--black);text-decoration:none;border-bottom:2px solid var(--black);padding-bottom:4px;transition:border-color .3s}
.uline-link:hover{border-color:var(--g400)}

/* Contacto: Stacked */
.cnt-stacked{padding:6rem 2rem;background:var(--g50)}
.stacked-items{max-width:700px;margin:0 auto;display:flex;flex-direction:column;gap:2rem}
.stacked-row{display:flex;gap:1.5rem;align-items:flex-start;padding:1.5rem;background:var(--white);border:1px solid var(--g200);border-radius:18px;transition:transform .3s}
.stacked-row:hover{transform:translateX(6px)}
.stacked-ic{width:44px;height:44px;background:var(--g100);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.stacked-ic svg{width:20px;height:20px;color:var(--g700)}
.stacked-row strong{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:2px;color:var(--g400);margin-bottom:.25rem}
.stacked-row p,.stacked-row a{font-size:.95rem;color:var(--g700);line-height:1.5;text-decoration:none}

/* Footer: Thick top */
.ftr-thicktop{border-top:4px solid var(--brand);padding:3rem 2rem 1.5rem;background:#0A1525;color:var(--white)}
.ftr-thicktop-inner{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:2rem}
.ftr-thicktop-inner p{color:var(--g500);font-size:.88rem;margin-top:.5rem}
.ftr-links{display:flex;gap:2rem}
.ftr-links a{color:var(--g500);text-decoration:none;font-size:.9rem;transition:color .2s}
.ftr-links a:hover{color:var(--white)}
.ftr-copy{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.1);padding-top:1.5rem}
.ftr-copy p{font-size:.8rem;color:var(--g400);margin:0}
.ftr-copy a{font-size:.8rem;color:var(--g400);text-decoration:none}

/* ========= PAGE 14 ========= */
/* Hero: Boxed */
.hro-boxed{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:6rem 2rem}
.hro-boxed-bg{position:absolute;inset:0;z-index:0}
.hro-boxed-bg img{width:100%;height:100%;object-fit:cover}
.hro-boxed-bg::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.6)}
.hro-boxed-card{position:relative;z-index:1;background:rgba(0,0,0,.7);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:28px;padding:4rem;max-width:700px;text-align:center}
.hro-boxed-card h1{color:var(--white);font-size:3rem;margin-bottom:1rem;letter-spacing:-.5px}
.hro-boxed-card p{color:var(--g400);margin-bottom:2rem;font-size:1.05rem}

/* About: Quote */
.abt-quote{padding:7rem 2rem;background:var(--white);border-bottom:1px solid var(--g200)}
.abt-quote-inner{max-width:800px;margin:0 auto;text-align:center}
.abt-quote-inner h2{font-size:2.5rem;margin-bottom:2rem}
.abt-quote-inner blockquote{font-size:1.3rem;font-style:italic;color:var(--g600);line-height:1.8;padding:2rem 0;border-top:2px solid var(--g200);border-bottom:2px solid var(--g200);margin-bottom:3rem}
.abt-quote-stats{display:flex;gap:4rem;justify-content:center}
.abt-quote-stats div{text-align:center}
.abt-quote-stats strong{display:block;font-size:2rem;font-weight:800;color:var(--black)}
.abt-quote-stats span{font-size:.75rem;color:var(--g500);text-transform:uppercase;letter-spacing:1px}

/* MVV: Border columns */
.mvv-brdcol{padding:6rem 2rem;background:var(--g50)}
.brdcol-g{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.brdcol-item{padding:2rem;border-left:4px solid var(--black);background:var(--white);transition:box-shadow .3s}
.brdcol-item:hover{box-shadow:0 8px 25px rgba(0,0,0,.06)}
.brdcol-item h3{font-size:1.1rem;margin-bottom:.75rem}
.brdcol-item p{font-size:.9rem;color:var(--g600);line-height:1.65}

/* Beneficios: Timeline */
.bnf-timeline{padding:6rem 2rem;background:var(--white);border-bottom:1px solid var(--g200)}
.tl-list{max-width:700px;margin:0 auto;position:relative;padding-left:2rem}
.tl-list::before{content:'';position:absolute;left:7px;top:0;bottom:0;width:2px;background:var(--g200)}
.tl-item{display:flex;gap:1.5rem;margin-bottom:2rem;position:relative}
.tl-dot{width:16px;height:16px;border-radius:50%;background:var(--black);border:3px solid var(--white);flex-shrink:0;position:relative;z-index:1;margin-top:3px}
.tl-content h3{font-size:1rem;margin-bottom:.35rem}
.tl-content p{font-size:.9rem;color:var(--g600);line-height:1.6}

/* Servicios: Icon detail */
.srv-icondet{padding:6rem 2rem;background:var(--g50)}
.icondet-list{display:flex;flex-direction:column;gap:2rem;max-width:900px;margin:0 auto}
.icondet-row{display:grid;grid-template-columns:60px 1fr 200px;gap:2rem;align-items:center;padding:2rem;background:var(--white);border:1px solid var(--g200);border-radius:22px;transition:box-shadow .3s}
.icondet-row:hover{box-shadow:0 10px 30px rgba(0,0,0,.05)}
.icondet-ic{width:48px;height:48px;background:var(--g100);border-radius:18px;display:flex;align-items:center;justify-content:center}
.icondet-ic svg{width:24px;height:24px;color:var(--g700)}
.icondet-txt h3{font-size:1.1rem;margin-bottom:.35rem}
.icondet-txt p{font-size:.9rem;color:var(--g600);line-height:1.6}
.icondet-img{width:200px;height:140px;object-fit:cover;border-radius:8px}

/* Sectores: Vertical timeline */
.sct-vtimeline{padding:6rem 2rem;background:var(--white);border-bottom:1px solid var(--g200)}
.vtl-list{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:2.5rem}
.vtl-item{display:flex;gap:2rem;align-items:flex-start}
.vtl-marker{width:50px;height:50px;background:var(--black);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.vtl-marker span{color:var(--white);font-weight:700;font-size:.9rem}
.vtl-item h3{font-size:1.15rem;margin-bottom:.35rem}
.vtl-item p{font-size:.9rem;color:var(--g600);line-height:1.6}

/* Cifras: Highlight bar */
.cif-hlbar{padding:5rem 2rem;background:var(--g50);border-bottom:1px solid var(--g200)}
.hlbar-inner{display:flex;justify-content:center;gap:4rem;flex-wrap:wrap}
.hlbar-item{text-align:center}
.hlbar-item strong{display:block;font-size:3rem;font-weight:800;color:var(--black);margin-bottom:.5rem}
.hlbar-line{width:40px;height:3px;background:var(--black);margin:0 auto .75rem}
.hlbar-item span{font-size:.78rem;color:var(--g500);text-transform:uppercase;letter-spacing:.5px}

/* CTA: Gradient */
.cta-gradbg{background:linear-gradient(135deg,#3A7BC8 0%,#2E62A0 100%);padding:5rem 2rem}
.cta-gradbg h2{color:var(--white);font-size:2.25rem;margin-bottom:1rem}
.cta-gradbg p{color:rgba(255,255,255,.8);margin-bottom:2rem;font-size:1.05rem}

/* Contacto: Map panel */
.cnt-mappanel{padding:0}
.mappanel-g{display:grid;grid-template-columns:1fr 1fr}
.mappanel-info{padding:5rem 4rem}
.mappanel-info h2{font-size:2rem;margin-bottom:1.5rem}
.mappanel-items{display:flex;flex-direction:column;gap:2rem;margin-top:2rem}
.mappanel-items>div{display:flex;gap:1rem;align-items:flex-start}
.mp-ic{width:40px;height:40px;background:var(--g100);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.mp-ic svg{width:18px;height:18px;color:var(--g700)}
.mappanel-items strong{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:2px;color:var(--g400);margin-bottom:.25rem}
.mappanel-items p,.mappanel-items a{font-size:.95rem;color:var(--g700);line-height:1.5;text-decoration:none}
.mappanel-map{background:var(--g100);min-height:400px}

/* Footer: Gradient dark */
.ftr-graddark{background:linear-gradient(180deg,#0F1E35,#0A1525);padding:3rem 2rem 2rem}
.ftr-graddark-inner{display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center}
.ftr-graddark-inner .ftr-links{margin:0}
.ftr-graddark-inner .ftr-links a{color:var(--g500)}
.ftr-graddark-inner .ftr-links a:hover{color:var(--white)}
.ftr-copy-txt{font-size:.8rem;color:var(--g500);margin:0}

/* ========= PAGE 15 ========= */
/* Hero: Stacked */
.hro-stacked{padding:10rem 2rem 6rem;background:linear-gradient(135deg,#081425 0%,#0F1E35 50%,#0A1525 100%);border-bottom:1px solid var(--g200)}
.hro-stacked .ey{color:#E8A020}
.hro-stacked h1{font-size:clamp(3.5rem,10vw,7rem);letter-spacing:-3px;line-height:.95;margin-bottom:3rem;max-width:700px;color:var(--white)}
.hro-stacked-btm{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;max-width:700px}
.hro-stacked-btm p{color:rgba(255,255,255,0.8);max-width:350px;line-height:1.7}

/* About Section Refined */
.abt-3col{padding:8rem 2rem;background:var(--white);border-bottom:1px solid var(--g200)}
.abt-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.abt-text p.lead{font-size:1.35rem;color:var(--black);font-weight:500;margin-bottom:1.5rem;line-height:1.6}
.abt-text p{color:var(--g600);line-height:1.8;font-size:1.05rem;margin-bottom:1.5rem}
.abt-stats{display:flex;gap:3rem;margin-top:3rem;padding-top:3rem;border-top:1px solid var(--g200)}
.stat-item{display:flex;flex-direction:column;gap:0.5rem}
.stat-item strong{font-size:2.5rem;font-weight:800;color:var(--brand);line-height:1}
.stat-item span{font-size:0.85rem;color:var(--g500);text-transform:uppercase;letter-spacing:1px;font-weight:600}
.abt-visual{position:relative}
.abt-img{width:100%;height:600px;object-fit:cover;border-radius:28px;box-shadow:0 20px 40px rgba(0,0,0,0.08)}
.abt-badge{position:absolute;bottom:-2rem;left:-2rem;background:var(--brand);color:var(--white);padding:1.5rem 2rem;border-radius:22px;display:flex;align-items:center;gap:1rem;box-shadow:0 10px 20px rgba(74, 128, 192, 0.25)}
.abt-badge svg{width:24px;height:24px;color:var(--white)}
.abt-badge span{font-weight:600;font-size:1rem;letter-spacing:0.5px}

@media (max-width: 992px) {
    .abt-grid{grid-template-columns:1fr;gap:3rem}
    .abt-img{height:400px}
    .abt-badge{bottom:1rem;left:1rem;padding:1rem 1.5rem}
    .abt-stats{flex-direction:column;gap:1.5rem}
}

/* MVV: Full-stack blocks */
.mvv-fullstack{padding:0}
.fstack-block{padding:0}
.fstack-dark{background:#0F1E35;color:var(--white)}
.fstack-light{background:var(--g50)}
.fstack-inner{padding:4rem 2rem;max-width:800px}
.fstack-inner p{font-size:1.15rem;line-height:1.8;color:var(--g600)}
.fstack-dark .fstack-inner p{color:var(--g300)}

/* Beneficios: Tiles */
.bnf-tiles{padding:6rem 2rem;background:var(--white);border-bottom:1px solid var(--g200)}
.tiles-g{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.tile{background:var(--g50);border:1px solid var(--g200);border-radius:22px;padding:2.5rem 1.5rem;text-align:center;transition:all .3s;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center}
.tile:hover{background:#3A7BC8;border-color:#3A7BC8}
.tile:hover h3{color:var(--white)}
.tile:hover p{color:var(--g400)}
.tile:hover .tile-ic svg{color:var(--white)}
.tile-ic{margin-bottom:1rem}
.tile-ic svg{width:32px;height:32px;color:#3A7BC8;transition:color .3s}
.tile h3{font-size:.95rem;margin-bottom:.5rem;transition:color .3s}
.tile p{font-size:.82rem;color:var(--g600);line-height:1.5;transition:color .3s}

/* Servicios: Masonry */
.srv-masonry{padding:6rem 2rem;background:var(--g50)}
.masonry-g{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.mas-card{position:relative;border-radius:22px;overflow:hidden;height:280px}
.mas-tall{grid-row:span 2;height:100%}
.mas-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.mas-card:hover img{transform:scale(1.05)}
.mas-overlay{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;background:linear-gradient(transparent,rgba(0,0,0,.8))}
.mas-overlay h3{color:var(--white);font-size:1.1rem}

/* Sectores: Badges */
.sct-badges{padding:6rem 2rem;background:var(--white);border-bottom:1px solid var(--g200)}
.badges-g{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.badge-item{padding:2.5rem 2rem;border-radius:22px;border:1px solid var(--g200);transition:all .3s}
.badge-item:hover{border-color:var(--brand);box-shadow:0 8px 25px rgba(74, 128, 192, 0.15)}
.badge-ic{width:48px;height:48px;background:var(--g100);border-radius:18px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;transition:background .3s;color:var(--brand)}
.badge-item:hover .badge-ic{background:var(--brand)}
.badge-item:hover .badge-ic svg{color:var(--white)}
.badge-ic svg{width:24px;height:24px;color:var(--g700);transition:color .3s}
.badge-item h3{font-size:1.05rem;margin-bottom:.5rem}
.badge-item p{font-size:.9rem;color:var(--g600);line-height:1.6}

/* Cifras: Bordered grid */
.cif-brdgrid{padding:5rem 2rem;background:var(--g50);border-bottom:1px solid var(--g200)}
.brdgrid-g{display:grid;grid-template-columns:repeat(4,1fr);gap:0;max-width:900px;margin:0 auto}
.brdgrid-item{text-align:center;padding:2.5rem 1.5rem;border:1px solid var(--g200)}
.brdgrid-item strong{display:block;font-size:2.5rem;font-weight:800;color:var(--brand);margin-bottom:.35rem}
.brdgrid-item span{font-size:.78rem;color:var(--g500);text-transform:uppercase;letter-spacing:.5px}

/* CTA: Dual tone */
.cta-dualtone{display:grid;grid-template-columns:1fr 1fr}
.dual-left{background:linear-gradient(135deg,#3A7BC8 0%,#2E62A0 100%);padding:4rem 3rem;display:flex;align-items:center}
.dual-left h2{color:var(--white);font-size:2.25rem;letter-spacing:-.5px}
.dual-right{background:var(--g50);padding:4rem 3rem;display:flex;flex-direction:column;justify-content:center}
.dual-right p{color:var(--g600);margin-bottom:2rem;font-size:1.05rem}

/* Contacto: Bare */
.cnt-bare{padding:6rem 2rem;background:var(--white);border-bottom:1px solid var(--g200)}
.cnt-bare h2{margin-bottom:2rem}
.bare-info{max-width:500px;margin:0 auto}
.bare-info p,.bare-info a{display:block;font-size:1.1rem;color:var(--g600);line-height:1.7;margin-bottom:.75rem;text-decoration:none}

/* Footer: Two split */
.ftr-twosplit{background:#0A1525;padding:3rem 2rem 2rem;color:var(--white)}
.ftr-twosplit-inner{display:flex;justify-content:space-between;align-items:flex-start}
.ftr-twosplit-inner .logo-img-ftr{opacity:1}
.ftr-twosplit-right{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}
.ftr-twosplit-right a{color:var(--g400);text-decoration:none;font-size:.9rem;transition:color .2s}
.ftr-twosplit-right a:hover{color:var(--white)}
.ftr-twosplit-right p{color:var(--g500);font-size:.8rem;margin-top:1rem}

/* ========= PAGE 16 ========= */
/* Hero: Asymmetric */
.hro-asymm{padding:8rem 2rem 4rem;background:var(--g50);min-height:90vh;display:flex;align-items:center}
.hro-asymm-inner{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.asymm-txt h1{font-size:3.25rem;letter-spacing:-1px;margin-bottom:1.5rem}
.asymm-txt p{color:var(--g600);margin-bottom:2rem;line-height:1.7}
.asymm-deco img{width:100%;height:550px;object-fit:cover;border-radius:28px}

/* About: Dark split */
.abt-dksplit{display:grid;grid-template-columns:1fr 1.5fr}
.dksplit-dk{background:#0F1E35;padding:5rem 4rem;display:flex;flex-direction:column;justify-content:center}
.dksplit-lt{padding:5rem 4rem;background:var(--white)}
.dksplit-lt p{color:var(--g600);line-height:1.8;font-size:1.05rem;margin-bottom:2rem}
.dksplit-stats{display:flex;gap:3rem}
.dksplit-stats div{text-align:center}
.dksplit-stats strong{display:block;font-size:2rem;font-weight:800;color:var(--black)}
.dksplit-stats span{font-size:.75rem;color:var(--g500);text-transform:uppercase}

/* MVV: Icon row */
.mvv-iconrow{padding:6rem 2rem;background:var(--g50)}
.iconrow-g{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.iconrow-item{text-align:center;padding:2.5rem 2rem;background:var(--white);border:1px solid var(--g200);border-radius:22px;transition:all .3s}
.iconrow-item:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.06)}
.ir-ic{width:56px;height:56px;background:var(--black);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}
.ir-ic svg{width:24px;height:24px;color:var(--white)}
.iconrow-item h3{font-size:1.1rem;margin-bottom:.5rem}
.iconrow-item p{font-size:.9rem;color:var(--g600);line-height:1.6}

/* Beneficios: Underline cards */
.bnf-uline{padding:6rem 2rem;background:var(--white);border-bottom:1px solid var(--g200)}
.uline-g{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.uline-card{padding:2rem;transition:transform .3s}
.uline-card:hover{transform:translateY(-3px)}
.uline-card strong{font-size:2rem;font-weight:800;color:var(--g200);display:block;margin-bottom:.5rem}
.uline-card:hover strong{color:var(--black)}
.uline-card h3{font-size:1rem;margin-bottom:.5rem}
.uline-bar{width:30px;height:2px;background:var(--black);margin-bottom:.75rem}
.uline-card p{font-size:.88rem;color:var(--g600);line-height:1.6}

/* Servicios: Detail list */
.srv-detlist{padding:6rem 2rem;background:var(--g50)}
.detlist{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:0}
.det-item{display:flex;gap:2rem;padding:2.5rem 0;border-bottom:1px solid var(--g200);align-items:flex-start}
.det-item:last-child{border-bottom:none}
.det-num{font-size:3rem;font-weight:800;color:var(--g200);line-height:1;min-width:60px;transition:color .3s}
.det-item:hover .det-num{color:var(--black)}
.det-item h3{font-size:1.25rem;margin-bottom:.5rem}
.det-item p{font-size:.95rem;color:var(--g600);line-height:1.7}

/* Sectores: Image grid */
.sct-imggrid{padding:6rem 2rem;background:var(--white);border-bottom:1px solid var(--g200)}
.imggrid-g{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.imggrid-card{border-radius:22px;overflow:hidden;border:1px solid var(--g200);transition:transform .3s,box-shadow .3s}
.imggrid-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.06)}
.imggrid-card img{width:100%;height:200px;object-fit:cover}
.imggrid-card h3{padding:1.25rem 1.25rem .25rem;font-size:1rem}
.imggrid-card p{padding:0 1.25rem 1.25rem;font-size:.88rem;color:var(--g600);line-height:1.5}

/* Cifras: Counter row */
.cif-counter{padding:5rem 2rem;background:var(--g50);border-bottom:1px solid var(--g200)}
.counter-row{display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap}
.counter-item{text-align:center;padding:2rem 3rem}
.counter-item strong{display:block;font-size:3.5rem;font-weight:800;color:var(--black);line-height:1;margin-bottom:.35rem}
.counter-item span{font-size:.78rem;color:var(--g500);text-transform:uppercase;letter-spacing:.5px}
.counter-sep{width:1px;height:60px;background:var(--g200)}

/* CTA: Black box */
.cta-blkbox{padding:4rem 2rem;background:var(--white)}
.blkbox{background:linear-gradient(135deg,#3A7BC8 0%,#2E62A0 100%);border-radius:20px;padding:4rem 3rem;text-align:center;color:var(--white)}
.blkbox h2{color:var(--white);font-size:2rem;margin-bottom:.75rem}
.blkbox p{color:rgba(255,255,255,.75);margin-bottom:2rem;font-size:1.05rem}

/* Contacto: Two-panel */
.cnt-twopanel{padding:6rem 2rem;background:var(--g50)}
.twopanel-g{display:grid;grid-template-columns:1fr 1fr;gap:4rem;max-width:1000px;margin:0 auto}
.twopanel-left h2{font-size:2rem;margin-bottom:1rem}
.twopanel-left p{color:var(--g600);line-height:1.7}
.twopanel-right{display:flex;flex-direction:column;gap:2rem}
.tp-row{display:flex;gap:1rem;align-items:flex-start}
.tp-ic{width:40px;height:40px;background:var(--white);border:1px solid var(--g200);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tp-ic svg{width:18px;height:18px;color:var(--g700)}
.tp-row strong{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:2px;color:var(--g400);margin-bottom:.25rem}
.tp-row p,.tp-row a{font-size:.95rem;color:var(--g700);line-height:1.5;text-decoration:none}

/* ========= PAGE 17 ========= */
/* Hero: Cinematic */
.hro-cine{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:6rem 2rem}
.hro-cine-bg{position:absolute;inset:0;z-index:0}
.hro-cine-bg img{width:100%;height:100%;object-fit:cover}
.hro-cine-bg::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.7)}
.hro-cine-inner{position:relative;z-index:1;max-width:700px}
.hro-cine h1{font-size:clamp(3rem,8vw,5rem);color:var(--white);letter-spacing:-1.5px;margin-bottom:1.5rem}
.hro-cine p{font-size:1.15rem;color:var(--g400);margin-bottom:2.5rem}

/* About: Number focused */
.abt-numfocus{padding:6rem 2rem;background:var(--white);border-bottom:1px solid var(--g200)}
.numfocus-top{max-width:700px;margin:0 auto 3rem;text-align:center}
.numfocus-top h2{font-size:2.5rem;margin-bottom:1rem}
.numfocus-top p{color:var(--g600);line-height:1.8}
.numfocus-nums{display:flex;justify-content:center;gap:6rem;flex-wrap:wrap}
.nf-item{text-align:center}
.nf-item strong{display:block;font-size:4rem;font-weight:800;color:var(--black);line-height:1;margin-bottom:.25rem}
.nf-item span{font-size:.78rem;color:var(--g500);text-transform:uppercase;letter-spacing:1px}

/* MVV: Vertical blocks */
.mvv-vblocks{padding:6rem 2rem;background:var(--g50)}
.vblocks-g{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:900px;margin:0 auto}
.vblock{padding:2rem;background:var(--white);border-radius:22px;border:1px solid var(--g200);transition:transform .3s,box-shadow .3s}
.vblock:hover{transform:translateY(-4px);box-shadow:0 10px 25px rgba(0,0,0,.05)}
.vblock-line{width:30px;height:3px;background:var(--black);margin-bottom:1.25rem}
.vblock h3{font-size:1.1rem;margin-bottom:.75rem}
.vblock p{font-size:.9rem;color:var(--g600);line-height:1.65}

/* Beneficios: Expandable rows */
.bnf-expand{padding:6rem 2rem;background:var(--white);border-bottom:1px solid var(--g200)}
.expand-list{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}
.expand-row{padding:2rem;border:1px solid var(--g200);border-radius:18px;transition:all .3s}
.expand-row:hover{border-color:var(--black);box-shadow:0 4px 15px rgba(0,0,0,.05)}
.expand-head{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}
.expand-ic{width:40px;height:40px;background:var(--g100);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .3s}
.expand-row:hover .expand-ic{background:var(--black)}
.expand-row:hover .expand-ic svg{color:var(--white)}
.expand-ic svg{width:20px;height:20px;color:var(--g700);transition:color .3s}
.expand-head h3{font-size:1rem}
.expand-row p{font-size:.9rem;color:var(--g600);line-height:1.6;padding-left:56px}

/* Servicios: Horizontal scroll cards */
.srv-hscroll{padding:6rem 0 4rem;background:var(--g50)}
.hscroll-track{display:flex;gap:1.5rem;overflow-x:auto;padding:0 2rem 2rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.hscroll-track::-webkit-scrollbar{height:4px}
.hscroll-track::-webkit-scrollbar-thumb{background:var(--g300);border-radius:4px}
.hscroll-card{min-width:300px;background:var(--white);border-radius:22px;overflow:hidden;border:1px solid var(--g200);scroll-snap-align:start;flex-shrink:0;transition:transform .3s}
.hscroll-card:hover{transform:translateY(-4px)}
.hscroll-card img{width:100%;height:200px;object-fit:cover}
.hscroll-card h3{padding:1rem 1rem .25rem;font-size:1rem}
.hscroll-card p{padding:0 1rem 1rem;font-size:.88rem;color:var(--g600);line-height:1.5}

/* Sectores: Dark minimal list */
.sct-dkmin{padding:6rem 2rem;background:#0F1E35}
.dkmin-list{max-width:700px;margin:0 auto}
.dkmin-item{display:flex;gap:2rem;padding:2rem 0;border-bottom:1px solid rgba(255,255,255,.08);align-items:flex-start}
.dkmin-item:last-child{border-bottom:none}
.dkmin-item span{font-size:2rem;font-weight:800;color:rgba(255,255,255,.15);min-width:50px}
.dkmin-item:hover span{color:var(--white)}
.dkmin-item h3{color:var(--white);font-size:1.1rem;margin-bottom:.35rem}
.dkmin-item p{color:var(--g400);font-size:.9rem;line-height:1.6}

/* Cifras: Compact inline */
.cif-compact{background:#081425;padding:3.5rem 2rem}
.compact-row{display:flex;justify-content:center;gap:4rem;flex-wrap:wrap}
.compact-item{text-align:center}
.compact-item strong{display:block;font-size:2.5rem;font-weight:800;color:var(--white);line-height:1;margin-bottom:.25rem}
.compact-item span{font-size:.7rem;color:var(--g500);text-transform:uppercase;letter-spacing:1px}

/* CTA: Inverted */
.cta-inverted{padding:5rem 2rem;background:var(--g50);border-bottom:1px solid var(--g200)}
.cta-inverted h2{font-size:2.25rem;margin-bottom:1rem}
.cta-inverted p{color:var(--g500);margin-bottom:2rem;font-size:1.05rem}

/* Contacto: Full dark centered */
.cnt-fulldark{padding:6rem 2rem;background:#0F1E35}
.cnt-fulldark h2{margin-bottom:2.5rem}
.fulldark-items{max-width:500px;margin:0 auto;display:flex;flex-direction:column;gap:2rem}
.fulldark-items>div{display:flex;gap:1.5rem;align-items:flex-start;text-align:left}
.fd-ic{width:44px;height:44px;background:rgba(255,255,255,.06);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.fd-ic svg{width:20px;height:20px;color:var(--g300)}
.fulldark-items p,.fulldark-items a{color:var(--g300);font-size:.95rem;line-height:1.5;text-decoration:none}

/* ========= RESPONSIVE ALL ========= */
@media(max-width:1024px){
    .hro-grad h1{font-size:3.5rem}
    .abt-mosaic-g,.abt-dksplit,.hro-asymm-inner,.cif-twotone,.cta-dualtone,.mappanel-g,.twopanel-g{grid-template-columns:1fr}
    .abt-mosaic-imgs{grid-template-columns:1fr 1fr}.mos-1{grid-row:auto;height:200px!important}
    .tabs-row,.brdcol-g,.circles-g,.dkcards-g,.badges-g,.iconrow-g,.uline-g,.tiles-g,.vblocks-g,.brdgrid-g,.imggrid-g{grid-template-columns:1fr 1fr}
    .wide-row,.wide-row-rev{grid-template-columns:1fr}
    .wide-row-rev .wide-img,.wide-row-rev .wide-txt{order:unset}
    .icondet-row{grid-template-columns:1fr}
    .icondet-img{display:none}
    .counter-row{gap:0}
    .counter-sep{display:none}
    .asymm-deco img{height:400px}
    .hlbar-inner{gap:2rem}
}
@media(max-width:768px){
    .menu-toggle{display:flex}
    nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--white);flex-direction:column;padding:1rem;border-top:1px solid var(--g200);box-shadow:0 10px 30px rgba(0,0,0,.1)}
    nav.active{display:flex}
    nav a{padding:.875rem 0;border-bottom:1px solid var(--g100)}
    .btn-hdr{width:100%;text-align:center;justify-content:center;margin-top:.5rem}
    .hdr-wrap{position:relative}
    .hro-stacked h1{font-size:3rem}
    .hro-stacked-btm{flex-direction:column}
    .hro-boxed-card{padding:2.5rem 1.5rem}
    .hro-boxed-card h1{font-size:2rem}
    .col3-g{grid-template-columns:1fr}
    .tabs-row,.brdcol-g,.circles-g,.dkcards-g,.badges-g,.iconrow-g,.uline-g,.tiles-g,.vblocks-g,.brdgrid-g,.imggrid-g{grid-template-columns:1fr}
    .hro-btns,.cta-btns{flex-direction:column}
    .btn-w,.btn-ghost,.btn-blk-pill{width:100%;justify-content:center;text-align:center}
    .ftr-thicktop-inner,.ftr-twosplit-inner{flex-direction:column;gap:1.5rem;text-align:center}
    .ftr-links{flex-direction:column;gap:.75rem;align-items:center}
    .ftr-twosplit-right{align-items:center}
    .ftr-copy{flex-direction:column;gap:.5rem;text-align:center}
    .abt-quote-stats{flex-direction:column;gap:1.5rem}
    .numfocus-nums{flex-direction:column;gap:2rem}
    .dksplit-stats{flex-direction:column;gap:1rem}
    .blkbox{padding:3rem 1.5rem;border-radius:22px}
    .compact-row{gap:2rem}
    .hscroll-card{min-width:260px}
    .mappanel-info{padding:3rem 2rem}
}
