/*
Theme Name: NOVURA V33
Theme URI: https://www.novura.pe/
Author: NOVURA
Description: Tema corporativo NOVURA V33. Banner continuo y páginas de producto alineadas.
Version: 33.0.0
*/

:root{--graphite:#2D3A46;--bronze:#A6845F;--ink:#2D3A46;--paper:#f6f6f4;--line:#d8d6d1;--white:#fff;--font:'Futura Std Medium','Futura','Century Gothic','Manrope',Arial,sans-serif}*{box-sizing:border-box}html{
    scroll-behavior:auto !important;
}html:focus-within{
    scroll-behavior:auto !important;
}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-weight:500;letter-spacing:.01em}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(1240px,calc(100% - 72px));margin:auto}.progress{position:fixed;z-index:1000;top:0;left:0;width:0;height:3px;background:var(--bronze)}.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;transition:.3s;background:#fff;color:var(--graphite);box-shadow:0 8px 28px rgba(45,58,70,.08)}.site-header.scrolled{background:#fff;color:var(--graphite);box-shadow:0 10px 35px rgba(45,58,70,.12)}.nav-wrap{height:94px;display:flex;align-items:center;gap:32px;width:min(1240px,calc(100% - 72px));margin:auto}.brand{display:flex;align-items:center;min-width:170px}.brand img{width:168px;height:auto;object-fit:contain}.nav{display:flex;align-items:center;margin-left:auto}.nav .menu{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0}.nav .menu li{list-style:none;margin:0;padding:0}.nav a{font-size:12px;letter-spacing:.14em;font-weight:700;color:var(--graphite);opacity:.95;position:relative;padding:10px 0;display:block}.nav a:after{content:'';position:absolute;left:0;bottom:3px;width:0;height:2px;background:var(--bronze);transition:.25s}.nav a:hover:after,.nav a.active:after{width:100%}.nav-cta{border:1px solid rgba(45,58,70,.35);color:var(--graphite);padding:12px 17px;font-size:12px;letter-spacing:.08em}.nav-cta span{margin-left:8px}.menu-btn{display:none;background:none;border:0}.menu-btn span{display:block;width:25px;height:2px;background:var(--graphite);margin:5px}.hero{min-height:100vh;position:relative;background:var(--graphite);overflow:hidden;color:#fff}.hero-bg{position:absolute;inset:0;background:url('assets/hero.jpeg') center/cover no-repeat;opacity:1}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(45,58,70,.96) 0%,rgba(45,58,70,.78) 42%,rgba(45,58,70,.25) 100%)}
    .hero-inner{
  position:relative;
  z-index:2;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-top:112px
}
    .hero-kicker{font-size:12px;letter-spacing:.2em;font-weight:700;color:#ddd9e8}

.hero-kicker span{
    display:inline-block;
    width:10px;
    height:1px;
    background:var(--bronze);
    vertical-align:middle;
}

.hero-kicker span:first-child{
    margin-right:12px;
}

.hero-kicker span:last-child{
    margin-left:12px;
}
    .hero h1{font-size:clamp(48px,6vw,88px);line-height:.98;letter-spacing:-.035em;font-weight:500;max-width:900px;margin:25px 0}.hero h1 em,.projects-heading em,.contact h2 em{color:var(--bronze);font-style:normal}.hero-lead{font-size:19px;line-height:1.6;max-width:650px;color:#e7e5ea}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:22px}.btn{display:inline-flex;align-items:center;gap:14px;padding:15px 21px;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.btn-accent{background:var(--bronze);color:#fff}.text-link{font-size:12px;letter-spacing:.08em}.hero-meta{position:absolute;z-index:2;right:36px;bottom:36px;display:flex;gap:32px;font-size:10px;letter-spacing:.15em}.hero-scroll{position:absolute;z-index:2;bottom:30px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:8px;align-items:center;font-size:9px;letter-spacing:.2em}.hero-scroll i{height:42px;width:1px;background:var(--bronze)}.marquee{overflow:hidden;background:var(--bronze);color:#fff;padding:15px 0}.marquee-track{display:flex;gap:28px;width:max-content;animation:marquee 24s linear infinite;font-size:11px;letter-spacing:.18em;font-weight:700}@keyframes marquee{to{transform:translateX(-40%)}}.section{padding:110px 0;}.section-top{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;margin-bottom:65px}.label,.section-note{font-size:10px;letter-spacing:.16em;font-weight:700}.rule{height:1px;background:var(--line)}.section-note{color:#787681}.about{background:#fff}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}
    .about h2,.heading-row h2{font-size:clamp(34px,4vw,56px);line-height:1.03;letter-spacing:-.03em;font-weight:500;margin:0}
    .about h2 span,.heading-row h2 span{color:var(--bronze)}.about-copy{font-size:16px;line-height:1.75;color:#5c5965}.about-copy .lead{font-size:20px;line-height:1.55;color:var(--ink)}.philosophy-head{margin-top:82px}.philosophy-head .section-top{margin-bottom:28px}.philosophy-head h2{font-size:clamp(32px,3.5vw,50px);line-height:1.05;letter-spacing:-.03em;font-weight:500;margin:0}.philosophy-head h2 span{color:var(--bronze)}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:85px;border-top:1px solid var(--line)}

/* =====================================================
   05 / ALIADOS — ENCABEZADO
   ===================================================== */

.heading-row{
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) minmax(320px, 600px) !important;
    gap:80px !important;
    align-items:end !important;
    margin-bottom:70px !important;
}

#aliada .heading-row h2{
    min-width:0 !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
}

#aliada .heading-row h2 span{
    color:var(--bronze) !important;
    -webkit-text-fill-color:var(--bronze) !important;
}

#aliada .partner-intro{
    color:#ffffff !important;
    font-size:22px !important;
    line-height:1.55 !important;
    max-width:420px !important;
}

#aliada .partner-intro p{
    color:#ffffff !important;
    font-size:22px !important;
    line-height:1.55 !important;
    margin:0 !important;
}

.heading-row h2 span{
    color:var(--bronze) !important;
}

.heading-row .partner-intro{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    color:#ffffff !important;
    font-size:16px !important;
    line-height:1.65 !important;
    max-width:420px !important;
}

.heading-row .partner-intro p{
    display:block !important;
    margin:0 !important;
    color:#ffffff !important;
}

.principles article{
    padding:27px 22px 27px 0;
    border-bottom:1px solid var(--line);
    display:flex;
    gap:18px;
    min-height:145px;
    align-items:center;
}

/* Centrar visualmente el contenido sin modificar
   el ancho de las líneas divisorias */
.principles article > .principle-icon,
.principles article > div{
    position:relative;
    left:60px;
}

.principles{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0;
    margin-top:85px;
    border-top:1px solid var(--line);
}

.principle-icon{width:68px;height:76px;border:0;color:var(--graphite);display:grid;place-items:center;flex:none;background:transparent}.principles h3,.advantage-grid h3{font-size:15px;letter-spacing:.12em;margin:2px 0 12px}.principles p,.advantage-grid p{font-size:14px;line-height:1.6;color:#686572;margin:0}.partner-section{background:var(--graphite);color:#fff;padding:110px 0}.partner-title{display:flex;align-items:end;justify-content:space-between;gap:30px}.partner-title h2{font-size:clamp(32px,4vw,58px);font-weight:500;margin:0;letter-spacing:-.03em}.light-label{color:#dcd9e5}.partner-logo{margin:38px 0 50px;display:flex;justify-content:center}.partner-logo img{width:min(260px,45vw);max-height:105px;object-fit:contain}.partner-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:65px;align-items:start}.factory-gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px}.factory-gallery figure{margin:0;overflow:hidden}.factory-gallery img{width:100%;height:300px;object-fit:cover;transition:.5s}.factory-gallery figure:first-child img{height:300px}
.factory-gallery img{
    transform:scale(var(--foto-zoom, 1));
    transition:transform .5s;
}

.factory-gallery figure:hover img{
    transform:scale(calc(var(--foto-zoom, 1) * 1.04));
}
.partner-copy{font-size:16px;line-height:1.7;color:#d9d6df}

.stat-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:22px;
    margin:38px 0;
    position:relative;
    padding-top:18px;
}

.stat-grid::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:1px;
    background:rgba(255,255,255,.2);
}

.stat-grid div{
    border-top:0;
    padding-top:0;
}

.stat-grid strong{display:block;color:var(--bronze);font-size:34px;font-weight:500;line-height:1;white-space:nowrap}.stat-grid span{display:block;font-size:15px;line-height:1.45;margin-top:10px;color:#e4e1e8}.partner-copy small{font-size:12px;line-height:1.6;color:#a9a5b3}.solutions,.products,.process{background:var(--paper)}.heading-row{display:grid;grid-template-columns:1fr .8fr;gap:90px;align-items:end;margin-bottom:60px}.heading-row p{font-size:16px;line-height:1.7;color:#686572;margin:0}.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.solution-card{background:#fff}.card-image{height:360px;position:relative;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover;transition:.6s}.solution-card:hover .card-image img{transform:scale(1.05)}.number{position:absolute;top:18px;left:18px;background:var(--bronze);color:#fff;padding:7px 9px;font-size:10px}.card-body{display:flex;justify-content:space-between;gap:18px;padding:26px}.card-body h3{font-size:24px;line-height:1.08;font-weight:500;margin:0 0 14px}.card-body p{font-size:14px;line-height:1.55;color:#696673;margin:0}.arrow{font-size:22px;color:var(--bronze)}
.product-showcase{display:grid;gap:22px}


/* NOVURA V33 — Ajuste de posición al navegar a productos */
[id^="producto-"] {
    scroll-margin-top: 120px;
}


.product-card{
    display:grid;
    grid-template-columns:1fr 1fr;
    background:#fff;
}

.product-card.reverse .product-image{order:2}.product-card.reverse .product-info{order:1}
.product-image{
    min-height:470px;
    position:relative;
    overflow:hidden;
}
.product-image img{width:100%;height:100%;object-fit:cover}.product-index{position:absolute;left:20px;top:20px;background:var(--graphite);color:#fff;padding:8px 11px;font-size:10px}.product-info{padding:55px 58px}.product-tag{font-size:10px;letter-spacing:.15em;color:var(--bronze);font-weight:700}.product-info h3{font-size:42px;font-weight:500;margin:15px 0 20px}.product-info p,.product-info li{font-size:15px;line-height:1.7;color:#65626e}.product-info ul{padding-left:20px}.product-link{display:inline-flex;margin-top:15px;color:var(--bronze);font-size:12px;letter-spacing:.08em;font-weight:700}.advantages{padding:110px 0;background:var(--graphite);color:#fff}.advantages .rule{background:rgba(255,255,255,.2)}.advantages .section-note{color:#aaa6b6}.advantages-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:90px;align-items:end;margin-bottom:65px}.advantages-intro h2{font-size:clamp(34px,4vw,60px);line-height:1.03;font-weight:500;letter-spacing:-.03em;margin:0}.advantages-intro em{color:inherit}.advantages-intro p{color:#d3d0da;line-height:1.7;font-size:16px;margin:0}.advantage-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.18)}.advantage-grid article{padding:28px 24px 30px 0;border-bottom:1px solid rgba(255,255,255,.18);display:flex;gap:18px}.advantage-grid p{color:#bdb9c5}.adv-icon{width:43px;height:43px;border:1px solid var(--bronze);color:var(--bronze);display:grid;place-items:center;font-size:20px;flex:none}.advantage-grid h3{color:#fff}.process-diagram{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:24px;padding-top:32px}.process-line{position:absolute;left:6%;right:6%;top:61px;height:1px;background:var(--bronze)}.step{position:relative}.step span{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--paper);border:1px solid var(--bronze);color:var(--bronze);font-size:12px;font-weight:700;position:relative;z-index:1;margin-bottom:25px}.step h3{font-size:14px;letter-spacing:.12em;margin:0 0 12px}.step p{font-size:13px;line-height:1.55;color:#696673;margin:0}.projects{padding:110px 0;background:var(--graphite);color:#fff}.projects .section-note{color:#aaa6b6}.projects .rule{background:rgba(255,255,255,.2)}.projects-heading{display:grid;grid-template-columns:1fr .7fr;gap:90px;align-items:end;margin-bottom:60px}.projects-heading h2{font-size:clamp(38px,5vw,72px);line-height:.98;font-weight:500;margin:0}.projects-heading p{font-size:15px;line-height:1.7;color:#d3d0da}.gallery{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:15px}.gallery figure{margin:0;min-height:290px;position:relative;overflow:hidden}.gallery figure.wide{grid-column:span 2}.gallery figure.tall{min-height:595px}.gallery img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:.5s}.gallery figure:hover img{transform:scale(1.04)}.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px;background:linear-gradient(transparent,rgba(0,0,0,.75));font-size:12px;letter-spacing:.08em}.gallery figcaption span{color:var(--bronze);margin-right:10px}.contact{position:relative;background:var(--graphite);color:#fff;padding:120px 0}.contact-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(45,58,70,.97),rgba(45,58,70,.86)),url('assets/contact.jpg') center/cover}.contact-grid{position:relative;display:grid;grid-template-columns:1fr .7fr;gap:90px;align-items:center}.contact h2{font-size:clamp(42px,5vw,72px);line-height:.98;font-weight:500;letter-spacing:-.03em;margin:18px 0}.contact p{font-size:17px;line-height:1.7;color:#d5d2db;max-width:600px}.contact-panel{border:1px solid rgba(255,255,255,.2);padding:36px;display:flex;flex-direction:column;align-items:flex-start;gap:14px;background:rgba(45,58,70,.65);backdrop-filter:blur(8px)}.panel-label{font-size:10px;letter-spacing:.16em;color:var(--bronze);margin-bottom:8px}.contact-panel a:not(.btn){font-size:17px}.contact-panel .btn{margin-top:15px}footer{background:var(--graphite);color:#fff;padding:28px 0;border-top:1px solid rgba(255,255,255,.12)}.footer-grid{display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center}.footer-grid .brand img{width:145px}.footer-grid p{font-size:11px;color:#d9dde1;margin:0}.footer-grid p:last-child{text-align:right}@media(max-width:1050px){.nav{gap:14px}.nav a{font-size:10px}.nav-cta{display:none}.about-grid,.partner-grid,.heading-row,.advantages-intro,.projects-heading,.contact-grid{grid-template-columns:1fr;gap:35px}.principles,.advantage-grid{grid-template-columns:1fr 1fr}.solution-grid{grid-template-columns:1fr}.card-image{height:430px}.product-card{grid-template-columns:1fr}.product-card.reverse .product-image,.product-card.reverse .product-info{order:initial}.process-diagram{grid-template-columns:1fr;gap:32px;padding-left:75px}.process-line{left:29px;top:55px;bottom:55px;width:1px;height:auto}.step span{position:absolute;left:-75px;top:0}.gallery{grid-template-columns:1fr 1fr}.gallery figure.wide{grid-column:span 2}.gallery figure.tall{min-height:290px}.gallery figure{min-height:300px}}@media(max-width:720px){.container{width:min(100% - 38px,1240px)}.nav-wrap{height:78px;width:calc(100% - 38px)}.brand img{width:145px}.nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:18px 22px}.nav.open{display:block}.nav .menu{flex-direction:column;align-items:flex-start;gap:5px}.nav .menu li,.nav .menu a{width:100%}.nav a{font-size:12px;width:100%;padding:13px 0}.menu-btn{display:block;margin-left:auto}.hero h1{font-size:47px}.hero-lead{font-size:16px}.hero-meta{display:none}.section,.advantages,.projects,.partner-section,.contact{padding:78px 0}.section-top{grid-template-columns:auto 1fr;gap:12px;margin-bottom:45px}.section-note{display:none}.philosophy-head{margin-top:65px}.philosophy-head .section-top{margin-bottom:24px}.philosophy-head h2{font-size:32px}.principles,.advantage-grid{grid-template-columns:1fr}.principle-icon{width:64px;height:64px}.principle-icon img{width:54px;height:54px}.partner-title{display:block}.partner-logo{justify-content:flex-start}.factory-gallery{grid-template-columns:1fr}.factory-gallery img,.factory-gallery figure:first-child img{height:260px}.product-info{padding:35px 26px}.product-info h3{font-size:34px}.gallery{grid-template-columns:1fr}.gallery figure.wide{grid-column:auto}.gallery figure.tall{min-height:300px}.footer-grid{grid-template-columns:1fr}.footer-grid p:last-child{text-align:left}.hero-actions{flex-direction:column;align-items:flex-start;gap:18px}.hero-kicker{font-size:9px}.process-diagram{padding-left:62px}}

.principle-icon img{width:58px;height:58px;object-fit:contain;max-width:100%;max-height:100%}.adv-icon img{width:40px;height:40px;object-fit:contain;max-width:none}.principle-icon{overflow:visible}.adv-icon{overflow:hidden}.adv-icon img{width:40px;height:40px}

/* Continuous process arrows: each stage points to the next one. */
.process-diagram .step:not(:last-child)::after{content:'';position:absolute;top:56px;right:-16px;width:10px;height:10px;border-top:2px solid var(--bronze);border-right:2px solid var(--bronze);transform:rotate(45deg);z-index:3;background:var(--paper)}
@media(max-width:1050px){.process-diagram .step:not(:last-child)::after{display:none}}

/* WordPress administrable content */
.novura-admin-note{font-size:.75rem;opacity:.7}
.wp-block{max-width:none}
.novura-editable-badge{display:none}

/* Admin media picker visual helpers are inline; frontend remains unchanged. */

/* ===== NOVURA v8 refinements ===== */
.site-header{height:96px}
.nav-wrap{height:96px;align-items:center}
.brand{align-items:center;height:100%}
.brand img{display:block;max-height:58px;width:168px}
.nav,.nav .menu,.nav-cta{align-self:center}
.hero-kicker{font-size:15px;letter-spacing:.16em}
.marquee{width:100%;max-width:none;display:block}
.marquee-track{min-width:max-content}
.partner-section .section-top{margin-bottom:42px}
.partner-title{display:block}
.partner-title h2{margin:0}
.partner-copy small{font-size:15px;line-height:1.7;color:#d9d6df;display:block}
.product-tag{font-size:13px;letter-spacing:.13em}
.product-link{background:var(--bronze);color:#fff;padding:13px 18px;font-size:13px;letter-spacing:.07em;align-items:center}
.product-link span{margin-left:5px}
.application-icons{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;margin:0 0 48px;padding:22px 10px;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.application-icon{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:9px;text-align:center}
.application-icon img{width:56px;height:56px;object-fit:contain}
.application-icon span{font-size:11px;letter-spacing:.08em;font-weight:700;color:#fff}
.process-puzzle{width:100%;margin-top:15px;display:flex;justify-content:center}
.process-puzzle img{width:100%;max-width:1200px;height:auto;object-fit:contain}
.contact-item{display:flex!important;align-items:center;gap:12px}
.contact-icon{width:26px;height:26px;border:1px solid var(--bronze);color:var(--bronze);display:inline-grid;place-items:center;font-size:13px;flex:none}
.contact-panel .btn{border:0;cursor:pointer;font-family:inherit}
.contact> .container .contact-grid{}
.contact p{font-size:19px;line-height:1.7}
.footer-grid p{font-size:14px}
.advisor-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:24px}
.advisor-modal.open{display:flex}
.advisor-backdrop{position:absolute;inset:0;background:rgba(20,27,33,.72);backdrop-filter:blur(5px)}
.advisor-dialog{position:relative;z-index:1;width:min(760px,100%);max-height:90vh;overflow:auto;background:#fff;color:var(--ink);padding:42px;box-shadow:0 25px 80px rgba(0,0,0,.3)}
.advisor-dialog h2{font-size:clamp(30px,4vw,48px);font-weight:500;line-height:1.05;margin:14px 0}
.advisor-dialog>p{font-size:16px;color:#666;line-height:1.6;margin:0 0 28px}
.advisor-close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:32px;line-height:1;color:var(--graphite);cursor:pointer}
.advisor-form{display:grid;gap:18px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.advisor-form label{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--graphite);display:grid;gap:7px}
.advisor-form input,.advisor-form textarea{font:inherit;font-weight:500;letter-spacing:0;border:1px solid #d1d1ce;background:#fff;padding:13px 14px;color:var(--ink);width:100%;resize:vertical}
.advisor-form textarea{min-height:130px}
.advisor-form input:focus,.advisor-form textarea:focus{outline:1px solid var(--bronze);border-color:var(--bronze)}
.advisor-success{padding:14px 16px;background:#eef5ee;color:#315b39;font-size:14px;margin-bottom:6px}
@media(max-width:1050px){
 .application-icons{grid-template-columns:repeat(4,1fr)}
 .application-icon img{width:52px;height:52px}
}
@media(max-width:720px){
 .site-header{height:78px}.nav-wrap{height:78px}
 .brand img{width:145px;max-height:50px}
 .hero-kicker{font-size:11px;letter-spacing:.12em}
 .application-icons{grid-template-columns:repeat(2,1fr);gap:18px 10px;margin-bottom:35px}
 .application-icon img{width:48px;height:48px}
 .application-icon span{font-size:10px}
 .product-tag{font-size:12px}
 .product-link{font-size:12px}
 .process-puzzle{margin-top:0;overflow:hidden}
 .process-puzzle img{width:150%;max-width:none;margin-left:-25%}
 .form-grid{grid-template-columns:1fr}
 .advisor-dialog{padding:34px 22px}
 .contact p{font-size:17px}
}


/* v9 refinements: application icon alignment and clean sector presentation */
.application-icons{grid-template-columns:repeat(8,minmax(0,1fr));gap:0;padding-left:0;padding-right:0;align-items:start}
.application-icon{min-width:0;align-items:center;justify-content:flex-start;text-align:center}
.application-icon img{width:64px;height:64px;object-fit:contain;margin:0 auto}
.application-icon span{font-size:12px;line-height:1.2;white-space:nowrap}
.projects-heading{grid-template-columns:1fr;}
@media(max-width:1050px){.application-icons{grid-template-columns:repeat(4,1fr);row-gap:28px}.projects-heading{grid-template-columns:1fr}}
@media(max-width:720px){.application-icons{grid-template-columns:repeat(2,1fr);gap:20px 10px}.application-icon img{width:56px;height:56px}.application-icon span{font-size:11px}}

/* ===== NOVURA v10: navegación y jerarquía final ===== */
html{scroll-padding-top:100px}
section[id]{scroll-margin-top:108px}

/* Menú principal con desplegables */
.nav .menu>li{position:relative}
.nav .menu>li.has-submenu>a{padding-right:18px}
.nav .menu>li.has-submenu>a:before{content:'⌄';position:absolute;right:0;top:9px;font-size:11px;color:var(--bronze);transition:transform .2s}
.nav .menu>li.has-submenu:hover>a:before{transform:rotate(180deg)}
.nav .sub-menu{position:absolute;top:calc(100% + 14px);left:50%;transform:translate(-50%,8px);min-width:265px;margin:0;padding:10px 0;background:#fff;border-top:2px solid var(--bronze);box-shadow:0 18px 45px rgba(32,32,51,.16);list-style:none;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,transform .2s,visibility .2s;z-index:300}
.nav .has-submenu:hover>.sub-menu,.nav .has-submenu:focus-within>.sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
/* Cerrar desplegable después de seleccionar una opción */
.nav.menu-closing .has-submenu:hover > .sub-menu,
.nav.menu-closing .has-submenu:focus-within > .sub-menu {
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translate(-50%,8px)!important;
}
.nav .sub-menu li{margin:0!important;padding:0!important}
.nav .sub-menu a{display:block!important;padding:12px 18px!important;font-size:11px!important;letter-spacing:.08em!important;line-height:1.3;color:var(--graphite)!important;white-space:normal}
.nav .sub-menu a:after{display:none}
.nav .sub-menu a:hover{background:#f4f2ee;color:var(--bronze)!important}
.nav .menu>li>a{white-space:nowrap}

/* Aplicaciones: iconografía de alta resolución y separación uniforme */
.application-icons{grid-template-columns:repeat(8,minmax(0,1fr));column-gap:0;row-gap:0;padding-left:0;padding-right:0}
.application-icon{width:100%;display:flex;align-items:center;justify-content:flex-start}
.application-icon img{width:68px;height:68px;margin:0 auto;object-fit:contain}
.application-icon span{font-size:12px;line-height:1.25}

/* Ventajas: sin recuadro y con mayor presencia visual */
.advantage-grid article{align-items:flex-start}
.adv-icon{width:62px;height:62px;border:0;background:transparent;padding:0;display:grid;place-items:center}
.adv-icon img{width:62px;height:62px;object-fit:contain}
.advantage-grid h3{margin-top:3px}

/* Proceso aprobado: esquema puzzle en alta resolución */
.process-puzzle{margin-top:24px}
.process-puzzle img{width:100%;max-width:1240px;height:auto;display:block}
@media(max-width:1050px){
 .nav-wrap{gap:18px}
 .nav .menu{gap:16px}
 .application-icons{grid-template-columns:repeat(4,1fr);row-gap:28px}
}
@media(max-width:720px){
 .nav-wrap{width:calc(100% - 32px)}
 .nav{position:absolute;top:78px;left:0;right:0;background:#fff;padding:14px 16px 22px;box-shadow:0 18px 35px rgba(32,32,51,.12);display:none}
 .nav.open{display:block}
 .nav .menu{display:block}
 .nav .menu>li{border-bottom:1px solid #eceae5}
 .nav .menu>li>a{padding:13px 4px!important}
 .nav .menu>li.has-submenu>a:before{right:5px}
 .nav .sub-menu{position:static;transform:none!important;min-width:0;width:100%;box-shadow:none;border-top:1px solid #e5e1d9;border-bottom:0;opacity:1;visibility:visible;pointer-events:auto;display:none;padding:4px 0 7px}
 .nav .has-submenu.submenu-open>.sub-menu{display:block}
 .nav .sub-menu a{padding:10px 18px!important;font-size:10px!important}
 .application-icons{grid-template-columns:repeat(2,1fr);gap:22px 10px}
 .application-icon img{width:58px;height:58px}
 .adv-icon,.adv-icon img{width:58px;height:58px}
 .process-puzzle{overflow:hidden;margin-top:8px}
 .process-puzzle img{width:155%;max-width:none;margin-left:-27.5%}
}


/* ===== NOVURA v11 FINAL ===== */
/* Full-width principles banner: background always spans the viewport and the content loops without appearing to start in the middle. */
.marquee{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow:hidden;position:relative}
.marquee-track{display:flex;width:max-content;min-width:200%;gap:0;animation:novura-marquee 28s linear infinite;will-change:transform}
.marquee-group{display:flex;align-items:center;gap:28px;flex:none;padding-right:28px}
@keyframes novura-marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

/* Desktop: parent items remain normal links; the dropdown has a hover bridge so it can be reached and clicked reliably. */
@media(min-width:721px){
 .nav .menu>li.has-submenu{position:relative}
 .nav .menu>li.has-submenu::after{content:'';position:absolute;left:-8px;right:-8px;top:100%;height:18px}
 .nav .sub-menu{top:calc(100% + 8px)}
 .nav .menu>li.has-submenu>a{cursor:pointer;pointer-events:auto}
 .nav .sub-menu{z-index:9999}
}

/* Advantage icons: exact thin icon artwork, transparent background, exact NOVURA bronze, high-resolution raster. */
.advantage-grid .adv-icon{width:72px;height:72px;border:0;background:transparent;padding:0;display:grid;place-items:center;flex:none}
.advantage-grid .adv-icon img{width:72px;height:72px;object-fit:contain;display:block}
.advantage-grid article{gap:20px}

/* Approved process graphic, cache-busted filename. */
.process-puzzle{width:100%;display:flex;justify-content:center;margin-top:24px}
.process-puzzle img{width:100%;max-width:1240px;height:auto;display:block}

@media(max-width:720px){
 .advantage-grid .adv-icon,.advantage-grid .adv-icon img{width:62px;height:62px}
 .process-puzzle{overflow:hidden;margin-top:8px}
 .process-puzzle img{width:155%;max-width:none;margin-left:-27.5%}
}

/* ===== NOVURA v12 final refinements ===== */
/* The hero and principles banner form the first viewport together. */
.hero{min-height:calc(100vh - 48px)}

.hero-inner{
  min-height:calc(100vh - 48px);
  padding-top:94px;
  padding-bottom:34px;
}

.marquee{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:13px 0;overflow:hidden}
.marquee-track{min-width:200%;width:max-content;transform:translate3d(0,0,0)}
.marquee-group{min-width:50vw}

/* Navigation targets begin directly below the fixed header. */
html{scroll-padding-top:94px}
section[id]{scroll-margin-top:94px}

/* About: readable right column + requested project-team image. */
.about-copy p{font-size:20px;line-height:1.65}
.about-copy .lead{font-size:20px;line-height:1.6}
.about-copy strong{font-weight:800;color:var(--ink)}
.about-photo{margin:58px 0 0;overflow:hidden;background:#e9e7e3}
.about-photo img{width:100%;height:440px;object-fit:cover;object-position:center 48%}

/* Philosophy icons: exact NOVURA bronze, thin strokes. */
.principle-icon img{width:58px;height:58px;object-fit:contain}

/* Advantage icons: exact thin source artwork, no frame, smaller visual weight. */
.advantage-grid .adv-icon,.advantage-grid .adv-icon img{width:56px;height:56px}
.advantage-grid article{gap:18px}

/* Process: use the approved five-step sequence image. */
.process{background:#fff}
.process-puzzle{margin-top:34px;overflow:visible}
.process-puzzle img{width:100%;max-width:1240px;margin:0 auto;display:block}

/* Solution cards: project navigation sits below each description. */
.solution-project-link{margin-top:20px;padding:0;font-size:13px;color:var(--bronze);display:inline-flex}
.solution-project-link:hover{color:var(--graphite)}

/* Application icons: smaller and crisp. */
.application-icons{gap:0}
.application-icon img{width:52px;height:52px}
.application-icon span{font-size:12px}

/* Contact: reproduce the approved logo + bronze circular contact icons. */
.contact-panel{padding:36px 40px;gap:16px}
.contact-panel-logo{width:245px;max-width:100%;height:auto;object-fit:contain;margin:0 0 8px}
.contact-item{font-size:19px!important;gap:16px!important}
.contact-icon{width:46px;height:46px;border-radius:50%;background:var(--bronze);border:0;color:#fff;display:inline-grid;place-items:center}
.contact-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.contact-panel .btn{margin-top:12px}


/* Dedicated project pages. */
.project-page{padding:150px 0 110px;background:var(--paper);min-height:100vh}
.project-page-heading{display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:end;margin-bottom:65px}
.project-page-heading h1{font-size:clamp(44px,5vw,72px);line-height:.98;font-weight:500;margin:0;letter-spacing:-.03em}
.project-page-heading p{font-size:18px;line-height:1.7;color:var(--graphite);margin:0}
.project-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.project-item{background:#fff}
.project-item img{width:100%;height:360px;object-fit:cover}
.project-item>div{padding:26px 28px 30px}
.project-item h2{font-size:24px;margin:0 0 10px;font-weight:500}
.project-copy{font-size:15px;line-height:1.7;color:var(--graphite)}
.project-empty{grid-column:1/-1;padding:80px 30px;background:#fff;text-align:center}
.project-empty h2{font-size:34px;margin:0 0 10px}
.project-empty p{font-size:16px;color:var(--graphite)}

/* Desktop hash navigation: align target exactly beneath header instead of leaving previous background visible. */
@media(min-width:721px){
  .nav a[href*="#"]{scroll-margin-top:94px}
}
@media(max-width:1050px){
 .about-photo img{height:360px}
 .project-page-heading{grid-template-columns:1fr;gap:28px}
 .project-gallery{grid-template-columns:1fr}
}
@media(max-width:720px){
 .hero{min-height:calc(100svh - 46px)}
 .hero-inner{min-height:calc(100svh - 46px);padding-top:78px;padding-bottom:28px}
 .marquee{padding:11px 0}
 .about-copy p,.about-copy .lead{font-size:17px}
 .about-photo{margin-top:40px}
 .about-photo img{height:260px}
 .principle-icon img{width:50px;height:50px}
 .advantage-grid .adv-icon,.advantage-grid .adv-icon img{width:50px;height:50px}
 .application-icon img{width:46px;height:46px}
 .application-icon span{font-size:10px}
 .process-puzzle{margin-top:20px;overflow:hidden}
 .process-puzzle img{width:100%;max-width:none;margin:0}
 .contact-panel{padding:30px 24px}
 .contact-panel-logo{width:210px}
 .contact-item{font-size:16px!important}
 .contact-icon{width:42px;height:42px}
 .project-page{padding:120px 0 75px}
 .project-page-heading h1{font-size:42px}
 .project-item img{height:260px}
}


/* ===== NOVURA v13: final requested refinements ===== */
/* Principles banner: first content enters from the right, then loops continuously. */
.marquee{position:relative;width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow:hidden}
.marquee-track{display:flex;align-items:center;width:max-content;min-width:0;gap:0;animation:novura-marquee-right 30s linear infinite;will-change:transform}
.marquee-spacer{width:100vw;flex:none}
.marquee-group{display:flex;align-items:center;gap:28px;flex:none;padding-right:28px}
@keyframes novura-marquee-right{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-100vw - (100% - 100vw)/3),0,0)}}

/* Header navigation targets: the section label sits approximately 0.5 cm below the fixed header. */
html{scroll-padding-top:0}
section[id]{scroll-margin-top:4px}
#filosofia{scroll-margin-top:113px}
@media(max-width:720px){
 html{scroll-padding-top:0}
 section[id]{scroll-margin-top:0}
 #filosofia{scroll-margin-top:97px}
}

/* Solutions dropdown and project buttons. */
.solution-project-link{margin-top:20px!important;padding:13px 18px!important;background:var(--bronze)!important;color:#fff!important;font-size:13px!important;line-height:1.2!important;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.solution-project-link span{color:#fff!important;margin-left:5px}
.solution-project-link:hover{background:var(--graphite)!important;color:#fff!important}

/* Dedicated solution pages: three-photo full-width presentation with two editable WordPress slots. */
.solution-detail{background:var(--paper);padding:114px 0 90px;min-height:calc(100vh - 94px)}
.solution-detail .section-top{margin-bottom:48px}
.solution-detail-heading{margin-bottom:42px}
.solution-detail-heading .product-tag{font-size:13px;letter-spacing:.15em}
.solution-detail-heading h1{font-size:clamp(46px,6vw,82px);line-height:.98;font-weight:500;letter-spacing:-.035em;margin:14px 0 0}
.solution-detail-gallery{width:100vw;margin-left:calc(50% - 50vw);display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.solution-detail-photo{margin:0;min-height:420px;background:#e9e7e3;overflow:hidden;position:relative}
.solution-detail-photo.has-image img{width:100%;height:100%;min-height:420px;object-fit:cover;display:block}
.solution-photo-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed rgba(166,132,95,.65);background:#f1efeb;color:var(--graphite);text-align:center;padding:25px}
.solution-photo-placeholder span{font-size:42px;line-height:1;color:var(--bronze);font-weight:300;margin-bottom:12px}
.solution-photo-placeholder strong{font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.solution-photo-placeholder small{font-size:12px;color:#777;margin-top:8px}
.solution-detail-content{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center;padding-top:42px}
.solution-detail-description{max-width:1000px}
.solution-detail-description p{font-size:20px;line-height:1.7;color:#5f5c67;margin:0}
.solution-detail-projects{white-space:nowrap;min-height:44px}

@media(max-width:1050px){
 .solution-detail{padding-top:104px}
 .solution-detail-gallery{grid-template-columns:1fr 1fr}
 .solution-detail-photo:last-child{grid-column:1/-1}
 .solution-detail-photo,.solution-detail-photo.has-image img{min-height:360px}
}
@media(max-width:720px){
 .solution-detail{padding:96px 0 70px;min-height:calc(100svh - 78px)}
 .solution-detail .section-top{margin-bottom:34px}
 .solution-detail-heading{margin-bottom:28px}
 .solution-detail-heading h1{font-size:42px}
 .solution-detail-gallery{grid-template-columns:1fr;gap:10px}
 .solution-detail-photo:last-child{grid-column:auto}
 .solution-detail-photo,.solution-detail-photo.has-image img{min-height:270px}
 .solution-detail-content{grid-template-columns:1fr;gap:25px;padding-top:30px}
 .solution-detail-description p{font-size:17px;line-height:1.65}
 .solution-detail-projects{justify-self:start}
 .marquee-track{animation-duration:24s}
}

/* ===== NOVURA v14 — exact requested corrections ===== */
/* Banner: continuous sequence, entering from the right. */
.marquee-track{animation:novura-marquee-v14 34s linear infinite}
.marquee-spacer{width:100vw;flex:none}
@keyframes novura-marquee-v14{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-100vw - (100% - 100vw)/3),0,0)}}
.marquee-group{gap:30px;padding-right:30px}

/* Navigation: target the section label directly below the fixed header. */
html{scroll-padding-top:0}
section[id]{scroll-margin-top:0}
.about-title{margin-bottom:42px}
.about .section-top{margin-bottom:65px}
.about-grid-photo{grid-template-columns:1.08fr .92fr;gap:65px;align-items:center}
.about-grid-photo .about-photo{margin:0;background:#e9e7e3}
.about-grid-photo .about-photo img{width:100%;height:420px;object-fit:cover;object-position:center center}
.about-copy p,.about-copy .lead{font-size:20px;line-height:1.65}
.about-copy strong{font-weight:800;color:var(--ink)}

/* Philosophy / advantages icon treatment. */
.principle-icon img{width:62px;height:62px;object-fit:contain}
.advantage-grid .adv-icon{width:82px;height:82px;border:0;background:transparent;padding:0}
.advantage-grid .adv-icon img{width:82px;height:82px;object-fit:contain;display:block}

/* Approved process graphic: high-resolution source, responsive without cropping. */
.process-puzzle{margin-top:30px;overflow:visible}
.process-puzzle img{width:100%;max-width:1240px;height:auto;display:block;margin:0 auto}



/* Products: no bronze duplicate labels and no photo numbering. */
.products .product-tag,.products .product-index{display:none!important}
.products .product-info h3{margin-top:0}

/* Applications: captions contain only the sector name. */
.gallery figcaption span{display:none!important}
.gallery figcaption{padding:18px;font-size:13px;letter-spacing:.08em}

	
/* Consistent section entry: JS aligns .section-top at header + 0.5 cm. */
@media(max-width:720px){
 .about-grid-photo{grid-template-columns:1fr;gap:30px}
 .about-grid-photo .about-photo img{height:280px}
 .about-title{margin-bottom:30px}
 .about-copy p,.about-copy .lead{font-size:17px;line-height:1.65}
 .principle-icon img{width:56px;height:56px}
 .advantage-grid .adv-icon,.advantage-grid .adv-icon img{width:68px;height:68px}
 .solution-scroll-list{gap:58px}
 .solution-scroll-head{grid-template-columns:1fr;gap:20px;align-items:start}
 .solution-scroll-copy h3{font-size:29px}
 .solution-scroll-copy p{font-size:17px}
 .solution-scroll-gallery{grid-template-columns:1fr;gap:10px}
 .solution-scroll-photo{aspect-ratio:16/10}
 .solution-project-link{justify-self:start}
}

/* First viewport: hero plus full-width principles banner remain visible together. */
@media(min-width:721px){
 .hero{min-height:calc(100vh - 142px)}
 .hero-inner{min-height:calc(100vh - 142px);padding-top:94px;padding-bottom:28px}
 .marquee{min-height:48px;display:flex;align-items:center}
}
@media(max-width:720px){
 .hero{min-height:calc(100svh - 122px)}
 .hero-inner{min-height:calc(100svh - 122px);padding-top:78px;padding-bottom:22px}
 .marquee{min-height:44px;display:flex;align-items:center}
}

/* ===== NOVURA v15 — latest requested corrections ===== */
/* Section labels/titles are visually consistent with section 02. */
.section-top .label{font-size:11px;line-height:1.2}

/* Sector 03: compact one-screen composition; logo sits beside the large title. */
.partner-section{padding:62px 0 58px;min-height:calc(100vh - 94px);display:flex;align-items:center}
.partner-section .section-top{margin-bottom:28px}
.partner-title{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);
    align-items:center;
    gap:45px;
    margin-bottom:30px
}
.partner-logo{
    margin:0;
    justify-content:flex-start;
    width:100%;
}

.partner-logo img{
    margin-left:0;
}

.partner-title h2{
    font-size:24px;
    line-height:1.2;
    margin:0;
}
.partner-logo{margin:0;justify-content:flex-start}
.partner-logo img{width:min(330px,100%);max-height:82px}
.partner-grid{grid-template-columns:1.15fr .85fr;gap:48px;align-items:start}
.factory-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.factory-gallery figure{margin:0 0 20px 0;overflow:hidden;height:205px}
.factory-gallery img{width:100%;height:100%;object-fit:cover}
.partner-copy p{font-size:17px;line-height:1.55;margin:0 0 22px}
.stat-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:8px}
.stat-grid div{padding:15px 8px;border-top:1px solid rgba(255,255,255,.18)}
.stat-grid strong{font-size:28px}
.stat-grid span{font-size:10px}

/* Advantage artwork: preserve the original thin high-resolution line art and recolor it exactly to NOVURA bronze. */
.advantage-grid .adv-icon,.advantage-grid .adv-icon img{width:74px;height:74px}
.advantage-grid .adv-icon img{filter:none;object-fit:contain}

/* One solution per viewport-sized block while scrolling the main page. */
.solution-scroll-list{gap:0}
.solution-scroll-item{min-height:calc(100vh - 115px);display:flex;flex-direction:column;justify-content:flex-start;padding:48px 0;;border-top:1px solid var(--line);scroll-margin-top:98px}
.solution-scroll-item:first-child{border-top:0}
.solution-scroll-head{margin-bottom:26px}
.solution-scroll-copy h3{font-size:clamp(30px,3.2vw,42px)}
.solution-scroll-gallery{flex:0 0 auto}
.solution-scroll-photo{aspect-ratio:16/9}

/* Project pages: graphite canvas, bronze solution title, one large horizontal photo per project. */
.project-page{background:var(--graphite);color:#fff;padding:38px 0 90px;min-height:100vh}
.project-page .project-section-top{margin-bottom:28px}
.project-page .project-section-top .rule{background:rgba(255,255,255,.28)}
.project-page .project-section-top .section-note{color:rgba(255,255,255,.65)}
.project-page-heading{display:block;margin:0 0 38px}
.project-page-heading h1{font-size:clamp(34px,3.5vw,54px);line-height:1.05;font-weight:500;color:var(--bronze);margin:0;letter-spacing:.02em}
.project-gallery{display:grid;grid-template-columns:1fr;gap:32px}
.project-item{background:transparent}
.project-photo-frame{width:100%;height:min(62vh,620px);min-height:360px;border:18px solid var(--graphite);outline:1px solid rgba(166,132,95,.35);background:#1f2a33;display:flex;align-items:center;justify-content:center;overflow:hidden}
.project-photo-frame img{width:100%;height:100%;object-fit:contain;display:block}
.project-photo-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;background:#24313b}
.project-photo-placeholder span{font-size:54px;color:var(--bronze);font-weight:300;line-height:1;margin-bottom:15px}
.project-photo-placeholder strong{font-size:15px;letter-spacing:.08em;text-transform:uppercase}
.project-photo-placeholder small{margin-top:9px;color:rgba(255,255,255,.62);font-size:12px}
.project-empty{background:transparent;min-height:60vh}
.project-empty .project-photo-placeholder{border:1px dashed rgba(166,132,95,.55)}

@media(max-width:1050px){
 .partner-section{padding:55px 0;min-height:auto}
 .partner-title{grid-template-columns:1fr;gap:20px}
 .partner-logo{justify-content:flex-start}
 .partner-grid{grid-template-columns:1fr;gap:28px}
 .factory-gallery figure{height:220px}
 .solution-scroll-item{min-height:auto;padding:65px 0}
 .project-photo-frame{height:52vh;min-height:300px;border-width:12px}
}
@media(max-width:720px){
 .section-top .label{font-size:10px}
 .partner-section{padding:50px 0}
 .partner-title h2{font-size:32px !important}
 .partner-logo img{width:270px;max-height:75px}
 .factory-gallery{grid-template-columns:1fr}
 .factory-gallery figure{height:210px}
 .partner-copy p{font-size:17px}
 .stat-grid strong{font-size:24px}
 .advantage-grid .adv-icon,.advantage-grid .adv-icon img{width:68px;height:68px}
 .solution-scroll-item{padding:52px 0}
 .solution-scroll-gallery{grid-template-columns:1fr;gap:10px}
 .solution-scroll-photo{aspect-ratio:16/10}
 .project-page{padding:28px 0 65px}
 .project-page-heading h1{font-size:34px}
 .project-photo-frame{height:42vh;min-height:240px;border-width:8px}
}

/* ===== NOVURA v16 — final requested corrections ===== */
/* First viewport: header + hero + banner exactly fill the first screen. */
@media(min-width:721px){
  .hero{height:calc(100vh - 94px - 48px);min-height:0}
  .hero-inner{height:100%;min-height:0}
  .marquee{height:48px;min-height:48px}
}
@media(max-width:720px){
  .hero{height:calc(100svh - 78px - 44px);min-height:0}
  .hero-inner{height:100%;min-height:0}
  .marquee{height:44px;min-height:44px}
}
/* Advantages: keep the requested size but use the thin high-resolution artwork. */
.advantage-grid .adv-icon,.advantage-grid .adv-icon img{width:74px;height:74px}
.advantage-grid .adv-icon img{object-fit:contain}
/* =========================================================
   NOVURA V33
   PRODUCTOS INDIVIDUALES
   MISMA ESTRUCTURA VISUAL DE LAS TARJETAS DE SECTOR 07
   ========================================================= */

.product-detail-page{
    min-height:auto;
    padding:24px 0 80px;
    background:var(--paper);
}


/* =========================================================
   ENCABEZADO
   ========================================================= */

.product-detail-page .section-top{
    margin-bottom:38px;
}


/* =========================================================
   TARJETA COMPLETA
   IMAGEN + INFORMACIÓN
   ========================================================= */

.product-detail-grid{
    width:100%;
    min-height:0;

    display:grid;
    grid-template-columns:1fr 1fr;

    gap:0;

    align-items:stretch;

    background:#FFFFFF;

    overflow:hidden;
}


/* =========================================================
   IMAGEN
   ========================================================= */

.product-detail-image{
    width:100%;
    height:574px;

    min-height:574px;
    max-height:574px;

    margin:0;
    padding:0;

    background:#FFFFFF;

    display:block;

    overflow:hidden;

    position:relative;

    box-sizing:border-box;
}


/*
   La imagen ocupa exactamente toda
   la mitad izquierda de la tarjeta.
*/

.product-detail-image img{
    display:block;

    width:100%;
    height:100%;

    min-width:100%;
    min-height:100%;

    max-width:none;
    max-height:none;

    margin:0;
    padding:0;

    object-fit:fill;
    object-position:center center;

    transform:none;
}


/* =========================================================
   INFORMACIÓN
   ========================================================= */

.product-detail-copy{
    width:100%;
    height:574px;

    margin:0;
    padding:50px 55px;

    background:#FFFFFF;

    box-sizing:border-box;

    display:flex;
    flex-direction:column;

    justify-content:center;
}


/* =========================================================
   TÍTULO
   ========================================================= */

.product-detail-copy h1{
    font-size:56px;
    line-height:1.03;

    font-weight:500;

    letter-spacing:-.03em;

    color:#2D3A46;

    margin:0 0 25px;
}


/* =========================================================
   DESCRIPCIÓN
   ========================================================= */

.product-detail-lead{
    font-size:24px;
    line-height:1.42;

    color:#2D3A46;

    margin:0 0 25px;

    max-width:680px;
}


/* =========================================================
   CARACTERÍSTICAS
   ========================================================= */

.product-detail-copy ul{
    margin:0 0 28px;

    padding-left:22px;

    color:#2D3A46;

    font-size:17px;

    line-height:1.5;
}

.product-detail-copy li{
    margin-bottom:7px;
}


/* =========================================================
   BOTONES
   ========================================================= */

.product-detail-copy .btn{
    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;
}

.product-detail-actions{
    display:flex;

    align-items:center;

    gap:14px;

    flex-wrap:nowrap;
}


/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:1050px){

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

        gap:0;
    }

    .product-detail-image{
        height:520px;
        min-height:520px;
        max-height:520px;
    }

    .product-detail-copy{
        height:520px;

        padding:40px;
    }

    .product-detail-copy h1{
        font-size:48px;
    }

    .product-detail-lead{
        font-size:21px;
    }
}


/* =========================================================
   CELULAR
   ========================================================= */

@media(max-width:720px){

    .product-detail-page{
        padding:18px 0 55px;
    }


    /*
       Una sola tarjeta blanca
       en columna.
    */

    .product-detail-grid{
        width:100%;

        display:flex;

        flex-direction:column;

        gap:0;

        background:#FFFFFF;

        overflow:hidden;
    }


    /* IMAGEN */

    .product-detail-image{
        width:100%;

        height:auto;

        min-height:0;
        max-height:none;

        background:#FFFFFF;

        overflow:hidden;

        position:relative;
    }

    .product-detail-image img{
        width:100%;

        height:auto;

        min-width:0;
        min-height:0;

        max-width:100%;
        max-height:none;

        display:block;

        object-fit:initial;
    }


    /* INFORMACIÓN */

    .product-detail-copy{
        width:100%;

        height:auto;

        padding:35px 25px;

        background:#FFFFFF;

        display:block;

        box-sizing:border-box;
    }


    /* TÍTULO */

    .product-detail-copy h1{
        font-size:42px;

        line-height:1.05;

        margin:0 0 22px;
    }


    /* DESCRIPCIÓN */

    .product-detail-lead{
        font-size:20px;

        line-height:1.45;

        margin:0 0 24px;
    }


    /* CARACTERÍSTICAS */

    .product-detail-copy ul{
        font-size:16px;

        line-height:1.5;
    }


    /* BOTONES */

    .product-detail-actions{
        display:flex;

        flex-wrap:wrap;

        gap:12px;
    }
}

/* ===== NOVURA v17 — requested corrections ===== */
/* All dark typography uses the official NOVURA graphite instead of near-black. */
:root{--ink:#2D3A46}
.about-copy,.about-copy p,.about-copy .lead,
.heading-row p,.card-body p,.product-info p,.product-info li,
.step p,.solution-scroll-copy p,.solution-detail-description p,
.product-detail-lead,.product-detail-copy ul,
.advisor-dialog>p,.advisor-form input,.advisor-form textarea{color:var(--graphite)!important}
.about-copy strong{color:var(--graphite)!important}

/* First viewport: fixed header overlays the hero; hero + banner end exactly at the bottom of the first screen. */
@media(min-width:721px){
  .hero{height:calc(100vh - 48px);min-height:0}
  .hero-inner{height:100%;min-height:0}
  .marquee{height:48px;min-height:48px}
}
@media(max-width:720px){
  .hero{height:calc(100svh - 44px);min-height:0}
  .hero-inner{height:100%;min-height:0}
  .marquee{height:44px;min-height:44px}
}

/* Banner: the sequence enters from the right and repeats seamlessly. */
.marquee-spacer{display:none!important}
.marquee-track{display:flex;width:max-content;min-width:0;gap:0;animation:novura-marquee-v17 34s linear infinite;will-change:transform}
.marquee-group{display:flex;align-items:center;gap:30px;flex:none;padding-right:30px;white-space:nowrap}
@keyframes novura-marquee-v17{
  from{transform:translate3d(100vw,0,0)}
  to{transform:translate3d(calc(100vw - 50%),0,0)}
}

/* Advantage icons: same visual size, but the high-resolution artwork is deliberately thinner. */
.advantage-grid .adv-icon,.advantage-grid .adv-icon img{width:74px;height:74px}
.advantage-grid .adv-icon img{object-fit:contain}

/* Dedicated product pages are independent destinations and never share the next product's content. */
.product-detail-page{min-height:calc(100vh - 94px);padding-top:18px}
.product-detail-grid{min-height:calc(100vh - 94px - 70px)}
.product-detail-copy h1{color:var(--bronze)}

@media(max-width:720px){
 .product-detail-page{min-height:calc(100svh - 78px);padding-top:14px}
 .product-detail-grid{min-height:auto}
}


/* ===== NOVURA v18 — definitive corrections ===== */
:root{--ink:#2D3A46}
/* First viewport: header is fixed/overlaying, so hero + banner fill the visible viewport. */
@media(min-width:721px){
  .hero{height:calc(100vh + 12px);min-height:0}
  .hero-inner{height:100%;min-height:0;padding-top:104px;padding-bottom:20px}
  .marquee{height:48px;min-height:48px}
}
/* Continuous banner loop: the sequence enters from the right and repeats without a gap. */
.marquee-track{width:max-content;min-width:0;animation:novura-marquee-v18 32s linear infinite;will-change:transform}
.marquee-group{flex:none;white-space:nowrap}
@keyframes novura-marquee-v18{
  from{transform:translate3d(100vw,0,0)}
  to{transform:translate3d(calc(100vw - 25%),0,0)}
}
/* Official NOVURA graphite replaces the near-black used by earlier versions. */
body{color:var(--graphite)}
.about h2,.heading-row h2,.philosophy-head h2,.partner-title h2,.advantages-intro h2,.projects-heading h2,.contact h2,.product-info h3,.product-detail-copy h1,.step h3,.principles h3,.advantage-grid h3,.section-top .label,.section-top .section-note{color:var(--graphite)}
.hero h1,.contact h2,.advantages-intro h2,.partner-title h2{color:#fff}
.about-copy,.about-copy p,.about-copy .lead,.heading-row p,.card-body p,.product-info p,.product-info li,.step p,.solution-scroll-copy p,.solution-detail-description p,.product-detail-lead,.product-detail-copy ul,.project-page-heading p,.project-copy{color:var(--graphite)!important}
.about-copy strong{color:var(--graphite)!important}
/* Product destinations: force the three WordPress pages to use their dedicated templates. */
.product-detail-page{padding-top:18px;min-height:calc(100vh - 94px)}
.product-detail-grid{min-height:calc(100vh - 94px - 70px)}
@media(max-width:720px){
  .hero{height:calc(100svh - 44px);min-height:0}
  .hero-inner{height:100%;min-height:0;padding-top:78px;padding-bottom:18px}
  .marquee{height:44px;min-height:44px}
  .product-detail-page{min-height:calc(100svh - 78px);padding-top:14px}
}

/* ===== NOVURA v19 — verified final fixes ===== */
/* Public first viewport: fixed header + hero + principles banner. */
@media (min-width:721px){
  .hero{
    height:calc(100vh - 76px)!important;
    min-height:0!important;
    max-height:calc(100vh - 76px)!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  .hero-inner{
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  .marquee{
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
    width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
}
@media (max-width:720px){
  .hero{
    height:calc(100svh - 44px)!important;
    min-height:0!important;
    max-height:calc(100svh - 44px)!important;
    overflow:hidden!important;
  }
  .hero-inner{
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
  }
  .marquee{
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding:0!important;
  }
}
/* Seamless continuous banner: four identical groups, one group-length per loop. */
.marquee-track{
  display:flex!important;
  width:max-content!important;
  min-width:0!important;
  animation:novura-marquee-v19 32s linear infinite!important;
  will-change:transform;
}
.marquee-group{
  display:flex!important;
  flex:none!important;
  white-space:nowrap!important;
  align-items:center!important;
  gap:30px!important;
  padding-right:30px!important;
}
@keyframes novura-marquee-v19{
  from{transform:translate3d(100vw,0,0)}
  to{transform:translate3d(calc(100vw - 25%),0,0)}
}
/* Official graphite for every dark text token. */
:root{--ink:#2D3A46}
body{color:var(--graphite)}
/* Dedicated product pages: one product only, one independent destination. */
.product-detail-page{
  min-height:calc(100vh - 94px)!important;
  height:calc(100vh - 94px)!important;
  overflow:hidden;
}
@media(max-width:720px){
  .product-detail-page{
    min-height:calc(100svh - 78px)!important;
    height:auto!important;
    overflow:visible;
  }
}

/* v19 typography normalization */
body, body * { --novura-text:#2D3A46; }
.product-detail-copy ul,.project-page-heading p,.project-copy,.project-empty p,.solution-scroll-copy p{color:var(--graphite)!important}

/* ===== NOVURA v20 — final visual and routing corrections ===== */
/* Banner: slightly faster while retaining the continuous right-to-left loop. */
.marquee-track{animation-duration:10s!important}

/* Dark section headers: sector descriptions are white and use the same 1px rule. */
.partner-section .section-top .section-note,
.advantages .section-top .section-note,
.projects .section-top .section-note{color:#fff!important}
.partner-section .section-top .rule,
.advantages .section-top .rule,
.projects .section-top .rule{height:1px!important}

/* Sector 04 icons: slightly stronger strokes via a very subtle duplicate-render effect. */
.advantage-grid .adv-icon img{
  filter:drop-shadow(0 0 0 rgba(166,132,95,.55));
}

/* Sector 08 heading: first line visible in white; highlighted phrase remains bronze. */
.projects .projects-heading h2{color:#fff!important}
.projects .projects-heading h2 em{color:var(--bronze)!important}

/* Product pages: ensure their content is isolated to one full-screen destination. */
.product-detail-page{background:var(--paper)}


/* ===== NOVURA v21 — requested corrections ===== */
/* Dark section labels: make the sector description labels clearly visible in white. */
.partner-section .section-top .label,
.advantages .section-top .label,
.projects .section-top .label{color:#fff!important}
/* Keep the separator line thickness consistent with the other sector headers. */
.partner-section .section-top .rule,
.advantages .section-top .rule,
.projects .section-top .rule{height:1px!important}

/* ===== NOVURA v22 — banner speed and sector 03 line precision ===== */
/* Banner: faster than v21 for a clearly quicker word cadence. */
.marquee-track{animation-duration:10s!important}
/* Sector 03 separator: force exactly the same 1px thickness as the other section rules. */
.partner-section .section-top .rule{height:1px!important;min-height:1px!important;max-height:1px!important;border:0!important;box-shadow:none!important}


/* ===== NOVURA v28 — banner: CSS-only seamless marquee =====
   Four identical groups are rendered consecutively. The animation moves
   exactly one quarter of the track (one complete group) per cycle. Because
   the next group is identical, the loop point is visually continuous.
   No JavaScript measurement or transform reset is used. */
.marquee{
  overflow:hidden!important;
  position:relative!important;
  width:100%!important;
}
.marquee-track{
  display:flex!important;
  align-items:center!important;
  gap:0!important;
  width:max-content!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  transform:translate3d(0,0,0)!important;
  animation:novura-marquee-v28 8s linear infinite!important;
  will-change:transform;
}
.marquee-group{
  display:flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
  gap:30px!important;
  padding:0 30px 0 0!important;
  margin:0!important;
  white-space:nowrap!important;
}
@keyframes novura-marquee-v28{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-25%,0,0)}
}
@media(prefers-reduced-motion:reduce){
  .marquee-track{animation:none!important;transform:none!important}
}


/* ===== NOVURA V29 — SINGLE SOURCE CONTINUOUS BANNER =====
   The banner is intentionally controlled only by script.js.
   All previous CSS marquee animations are disabled here. */
.marquee{overflow:hidden!important;position:relative!important;width:100%!important;}
.marquee-track{
  display:flex!important;
  align-items:center!important;
  width:max-content!important;
  min-width:0!important;
  gap:0!important;
  margin:0!important;
  padding:0!important;
  animation:none!important;
  transform:translate3d(0,0,0)!important;
  will-change:transform;
}
.marquee-group{
  display:flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
  width:max-content!important;
  min-width:max-content!important;
  gap:30px!important;
  padding:0 30px 0 0!important;
  margin:0!important;
  white-space:nowrap!important;
}
.marquee-group + .marquee-group{margin-left:0!important;}
@media(prefers-reduced-motion:reduce){
  .marquee-track{animation:none!important;}
}

/* ===== NOVURA V30 — FINAL MARQUEE OVERRIDE =====
/* One and only one active transform source: the JS-updated custom property. */
.marquee{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  overflow:hidden!important;
  position:relative!important;
}
.marquee-track{
  display:flex!important;
  align-items:center!important;
  width:max-content!important;
  min-width:0!important;
  gap:0!important;
  margin:0!important;
  padding:0!important;
  animation:none!important;
  transform:translate3d(var(--novura-marquee-x, 100vw), 0, 0)!important;
  will-change:transform;
}
.marquee-group{
  display:flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
  width:max-content!important;
  min-width:max-content!important;
  gap:30px!important;
  padding:0 30px 0 0!important;
  margin:0!important;
  white-space:nowrap!important;
}
@media(prefers-reduced-motion:reduce){
  .marquee-track{transform:translate3d(0,0,0)!important;animation:none!important}
}


/* ===== NOVURA V31 — FINAL REQUESTED CORRECTIONS ===== */
/* Slower banner while preserving the seamless JS-controlled movement. */
.marquee-track{animation:none!important}
/* Product titles: all three product pages use the same top alignment. */
.product-detail-grid{align-items:start!important}
.product-detail-copy{align-self:start!important;padding-top:58px!important}
@media(max-width:1050px){
  .product-detail-copy{padding-top:0!important}
}

/* ===== NOVURA v33 — viewport overflow + product technical sheets ===== */
html, body{
  max-width:100%;
  overflow-x:hidden!important;
}
.marquee{
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
.product-detail-actions{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:6px;
}
.product-detail-actions .btn{
  margin-top:0!important;
}
.product-detail-actions .btn-tech{
  background:#2D3A46;
  color:#fff;
  border:1px solid #2D3A46;
}
.product-detail-actions .btn-tech:hover{
  background:#25313b;
  color:#fff;
}
@media(max-width:720px){
  .product-detail-actions{gap:10px}
}
/* v33 final horizontal-overflow cleanup for full-width galleries */
.solution-detail-gallery{width:100%!important;margin-left:0!important;margin-right:0!important;}

/* =========================================================
   NOVURA V33 — ENCABEZADO COMPACTO
   SOLO ESCRITORIO
   ========================================================= */

@media (min-width: 721px) {

    .site-header {
        height: 72px !important;
    }

    .nav-wrap {
        height: 72px !important;
    }

}

/* =========================================================
   DESPLAZAMIENTO DEL MENÚ — +22 PX
   ========================================================= */

section[id] {
    scroll-margin-top: 130px !important;
}

/* =========================================================
   07 / PRODUCTOS
   ALTURA UNIFORME DE LAS TARJETAS
   ========================================================= */

@media (min-width: 1051px) {

    #productos .product-showcase .product-card {
        height: 604px !important;
        min-height: 604px !important;
        box-sizing: border-box !important;
    }

}

/* =========================================================
 * 05 / NUESTRO PROCESO DE TRABAJO
 * TEXTOS EDITABLES
 * ========================================================= */

.process-editable {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.process-editable .process-base-image {
    display: block;
    width: 100%;
    height: auto;
}


/* =========================================================
 * CAPA PARA REEMPLAZAR LOS TEXTOS DE LA IMAGEN
 * ========================================================= */

.process-editable .process-editable-text {
    position: absolute;
    left: 0;
    right: 0;
    top: 45%;
    bottom: 0;
    width: 100%;
    z-index: 10;

    /*
     * Color del fondo original del bloque de la imagen.
     * NO usar blanco.
     */
    background: #F5F4F2;
}


/* =========================================================
 * LOS 5 BLOQUES DE TEXTO
 * ========================================================= */

.process-editable .process-item {
    position: absolute;
    top: 8%;
    width: 18%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;

    text-align: center;
}


/* =========================================================
 * POSICIÓN DE CADA BLOQUE
 * ========================================================= */

.process-editable .process-item-1 {
    left: 0%;
}

.process-editable .process-item-2 {
    left: 20%;
}

.process-editable .process-item-3 {
    left: 40%;
}

.process-editable .process-item-4 {
    left: 60%;
}

.process-editable .process-item-5 {
    left: 80%;
}


/* =========================================================
 * TÍTULOS
 * ========================================================= */

.process-editable .process-name {
    display: block;
    width: 100%;

    margin: 0 0 8px;
    padding: 0;

    color: #2D3A46;

    font-size: clamp(16px, 1.45vw, 21px);
    font-weight: 600;
    line-height: 1.15;

    text-align: center;
}


/* =========================================================
 * DESCRIPCIONES
 * ========================================================= */

.process-editable .process-description {
    display: block;

    width: 100%;
    max-width: 210px;

    margin: 0 auto;
    padding: 0;

    color: #737783;

    font-size: clamp(12px, 1.05vw, 16px);
    line-height: 1.45;

    text-align: center;
}

.process-editable .process-description p {
    margin: 0 0 6px;
    padding: 0;
}

.process-editable .process-description p:last-child {
    margin-bottom: 0;
}


/* =========================================================
 * TABLET
 * ========================================================= */

@media (max-width: 900px) {

    .process-editable .process-name {
        font-size: 15px;
    }

    .process-editable .process-description {
        font-size: 11px;
        line-height: 1.35;
        max-width: 150px;
    }
}


/* =========================================================
 * CELULAR
 * ========================================================= */

@media (max-width: 600px) {

    .process-editable .process-name {
        font-size: 11px;
        margin-bottom: 4px;
    }

    .process-editable .process-description {
        font-size: 8px;
        line-height: 1.3;
        max-width: 95px;
    }
}

/* =========================================================
   APLICACIONES — ICONOS CENTRADOS + LÍNEAS COMPLETAS
   ========================================================= */

.application-icons{
    position:relative !important;

    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    align-items:flex-start !important;

    width:fit-content !important;
    max-width:100% !important;

    margin-left:auto !important;
    margin-right:auto !important;

    padding-left:0 !important;
    padding-right:0 !important;

    border-top:none !important;
    border-bottom:none !important;

    column-gap:45px !important;
    row-gap:28px !important;

    box-sizing:border-box !important;
}

/* Línea superior */
.application-icons::before{
    content:"" !important;
    position:absolute !important;

    top:0 !important;
    left:50% !important;
    transform:translateX(-50%) !important;

    width:1240px !important;
    max-width:none !important;

    height:1px !important;

    background:rgba(255,255,255,.16) !important;

    pointer-events:none !important;
}

/* Línea inferior */
.application-icons::after{
    content:"" !important;
    position:absolute !important;

    bottom:0 !important;
    left:50% !important;
    transform:translateX(-50%) !important;

    width:1240px !important;
    max-width:none !important;

    height:1px !important;

    background:rgba(255,255,255,.16) !important;

    pointer-events:none !important;
}

.application-icon{
    width:90px !important;
    min-width:90px !important;
    flex:0 0 90px !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;

    text-align:center !important;
    gap:9px !important;
    margin:0 !important;
}

.application-icon img{
    width:52px !important;
    height:52px !important;

    flex:none !important;
    object-fit:contain !important;
    margin:0 auto !important;
}

.application-icon span{
    width:100% !important;

    font-size:12px !important;
    line-height:1.25 !important;

    white-space:nowrap !important;
    text-align:center !important;
}

@media(max-width:1050px){

    .application-icons{
        column-gap:28px !important;
    }

}

@media(max-width:720px){

    .application-icons{
        width:100% !important;
        display:grid !important;
        grid-template-columns:repeat(2,1fr) !important;
        column-gap:10px !important;
        row-gap:22px !important;
    }

    .application-icon{
        width:100% !important;
        min-width:0 !important;
        flex:none !important;
    }

    .application-icon img{
        width:58px !important;
        height:58px !important;
    }

    .application-icon span{
        font-size:11px !important;
    }

}

/* =========================================================
   CONTACTO — TÍTULO FORZADO EN DOS LÍNEAS
   ========================================================= */

.contact-title-forced span{
    display:block !important;
}

/* =========================================================
   CONTACTO — CENTRADO VERTICAL + AJUSTE HACIA ARRIBA
   ========================================================= */

@media (min-width:1051px){

    .contact .contact-grid{
        align-items:center !important;
        transform:translateY(-50px) !important;
    }

    .contact .contact-grid > div:first-child,
    .contact .contact-grid > .contact-panel{
        align-self:center !important;
        margin-top:0 !important;
        margin-bottom:0 !important;
        transform:none !important;
    }

}

/* Mover ligeramente la tercera cifra hacia la derecha */
@media (min-width:1051px){
    .stat-grid > div:nth-child(3){
        transform:translateX(25px);
    }
}

/* Eliminar definitivamente las líneas individuales de las cifras */
@media (min-width:1051px){
    .stat-grid > div{
        border-top:none !important;
    }
}

/* Ajuste específico del encabezado de la sección 02 */
#filosofia .section-top{
    margin-bottom:28px;
}


/* 05 — CENTRAR GRÁFICA DENTRO DEL RECUADRO */
.process-editable{
  background:#F5F4F2;
}

.process-editable > img{
  transform:translateY(40px);
}

/* 06 — REDUCIR ESPACIO ANTES DE LA PRIMERA SOLUCIÓN */
#soluciones .solution-scroll-item:first-child{
  padding-top:0;
}

#soluciones .solution-scroll-item:first-child{
  transform:none;
}

@media (min-width:1051px){
  #soluciones .solution-scroll-item:nth-child(2){
    margin-top:-50px;
  }
}

/* ESPACIO ENTRE 06 Y 07 */
#soluciones{
  padding-bottom:0 !important;
}
#productos{
  padding-top:0 !important;
}


/* =========================================================
   NOVURA — AJUSTES FINALES DE ENCABEZADOS 01–08
   ========================================================= */

/* 04 — VENTAJAS COMPETITIVAS */
.advantages .section-top{
  margin-bottom:6px;
}

/* 05 — NUESTRO PROCESO DE TRABAJO */
.process .section-top{
  margin-bottom:28px;
}

/* 06 — SOLUCIONES */
#soluciones .section-top{
  margin-bottom:28px;
}

/* 07 — PRODUCTOS */
#productos .section-top{
  margin-bottom:32px;
}

/* 08 — APLICACIONES */
#aplicaciones .section-top{
  margin-bottom:32px;
}

.hero-actions .btn-accent{
    text-transform:none !important;
}


.advisor-dialog .btn-accent{
    text-transform:none !important;
}

#openAdvisor{
    text-transform:none !important;
}



/* =====================================================
   CORRECCIÓN FINAL — GALERÍA DE SOLUCIONES
   Escritorio: 3 fotografías por solución
   ===================================================== */

@media (min-width: 721px) {

    #soluciones .solution-scroll-gallery {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 14px !important;
        width: 100% !important;
        margin: 0 !important;
    }

    #soluciones .solution-scroll-photo {
        display: block !important;
        width: 100% !important;
        height: 360px !important;
        min-height: 0 !important;
        max-height: 360px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        aspect-ratio: auto !important;
        position: relative !important;
        box-sizing: border-box !important;
    }

    #soluciones .solution-scroll-photo img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        object-fit: cover !important;
    }

    #soluciones .solution-photo-placeholder {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }
}

@media (min-width: 721px) {

    #soluciones .solution-scroll-photo,
    #soluciones .solution-scroll-photo.has-image,
    #soluciones .solution-scroll-photo.placeholder {
        height: 420px !important;
        min-height: 420px !important;
        max-height: 420px !important;
        aspect-ratio: auto !important;
    }

    #soluciones .solution-scroll-photo img {
        width: 100% !important;
        height: 420px !important;
        min-height: 420px !important;
        max-height: 420px !important;
        object-fit: cover !important;
    }

}

/* =========================================================
   NOVURA V33 — BLOQUEO DEL HOVER DESPUÉS DE SELECCIONAR
   ========================================================= */

@media (min-width:721px){

    .nav .menu > li.has-submenu.novura-force-close > .sub-menu{
        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;
        transform:translateY(-8px) !important;
    }

}



/* NOVURA V33 — bajar únicamente la línea superior del HERO */
@media (min-width: 721px) {
  .hero-kicker {
    position: relative;
    top: 18px !important;
    margin-top: 0 !important;
  }

  .hero h1,
  .hero-lead,
  .hero-actions {
    position: relative;
    top: -18px;
  }
}


/* Separación entre tarjetas de aliados */
.partner-card{
    margin-bottom:80px;
}

.partner-card:last-child{
    margin-bottom:0;
}

.partner-copy small{
    font-size:19px;
    line-height:1.55;
}

.partner-description-spacer{
    height:20px;
}

.partner-section .section-top .rule{
    height:1px!important;
    min-height:0!important;
    max-height:none!important;
    border:0!important;
    background:rgba(255,255,255,.18)!important;
    box-shadow:none!important;
    transform:none!important;
}

/* =====================================================
   SOLUCIONES — ZOOM AL PASAR EL MOUSE
   ===================================================== */

#soluciones .solution-scroll-photo img {
    transform: scale(var(--foto-zoom, 1)) !important;
    transform-origin: center center !important;
    transition: transform .5s ease !important;
}

#soluciones .solution-scroll-photo:hover img {
    transform: scale(calc(var(--foto-zoom, 1) * 1.04)) !important;
}

/* 05 / ALIADOS — ampliar texto introductorio */
#aliada .heading-row .partner-intro{
    width:100% !important;
    max-width:none !important;
}

#aliada .heading-row .partner-intro p{
    width:100% !important;
    max-width:none !important;
}


/* NOVURA V33 — Proceso vertical exclusivo para móviles */

/* Ocultar la versión vertical fuera de móviles */
.process-mobile-vertical {
    display: none;
}

@media (max-width: 600px) {

    /* Ocultar la figura horizontal original en móviles */
    #proceso .process-puzzle.process-editable {
        display: none !important;
    }

    /* Mostrar la secuencia vertical */
    #proceso .process-mobile-vertical {
        display: block !important;
        width: 100%;
        box-sizing: border-box;
        padding: 24px 18px;
        background: #F5F4F2;
        text-align: center;
    }

    /* Cada etapa */
    #proceso .process-mobile-step {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        margin: 0 auto;
        padding: 0;
        box-sizing: border-box;
    }

    /* Círculos e iconos completos */
    
#proceso .process-mobile-icon {
    display: block;
    width: 160px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
    margin: 0 auto 12px;
}

    /* Títulos */
    #proceso .process-mobile-step h3 {
        margin: 0 0 8px;
        padding: 0;
        color: #2D3A46;
        font-size: 18px;
        font-weight: 600;
        line-height: 1.2;
        text-align: center;
    }

    /* Descripciones */
    #proceso .process-mobile-description {
        max-width: 320px;
        margin: 0 auto;
        color: #737783;
        font-size: 15px;
        line-height: 1.45;
        text-align: center;
        overflow-wrap: break-word;
    }

    /* Flechas descendentes */
    #proceso .process-mobile-arrow {
        margin: 14px 0 20px;
        color: #A6845F;
        font-size: 30px;
        line-height: 1;
    }

}

/* NOVURA V33 — Sección 05: orden del encabezado en móviles */
@media screen and (max-width: 600px) {

    #aliada.partner-section .container > .heading-row {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        text-align: left !important;
        gap: 24px !important;
        margin-bottom: 40px !important;
    }

    
#aliada.partner-section .container > .heading-row h2 {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    font-size: 34px !important;
    line-height: 1.12 !important;
    text-align: left !important;
}


    #aliada.partner-section .container > .heading-row .partner-intro {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        font-size: 21px !important;
        line-height: 1.55 !important;
        text-align: left !important;
    }

    #aliada.partner-section .container > .heading-row .partner-intro p {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        font-size: 21px !important;
        line-height: 1.55 !important;
        text-align: left !important;
    }

}


/* NOVURA V33 — Sección 05: tamaño del nombre del aliado en móviles */
@media screen and (max-width: 600px) {

    #aliada .partner-card .partner-title h2 {
        font-size: 32px !important;
        line-height: 1.2 !important;
    }

}


/* NOVURA V33 — Sección 05: descripción del aliado en móviles */
@media screen and (max-width: 600px) {

    #aliada .partner-card .partner-copy .partner-description p {
        font-size: 19px !important;
    }

}


/* NOVURA V33 — Sección 05: eliminar línea superior de estadísticas en móviles */
@media screen and (max-width: 600px) {
    #aliada .partner-card .stat-grid::before {
        display: none !important;
    }
}


/* NOVURA V33 — Sección 01: párrafos de Nosotros en móviles */
@media screen and (max-width: 600px) {

    #nosotros .about-copy p,
    #nosotros .about-copy p.lead {
        font-size: 19px !important;
    }

}


/* NOVURA V33 — Sección 03: separación del encabezado en móviles */
@media screen and (max-width: 600px) {

    #ventajas .advantages-intro h2 {
        margin-top: 18px !important;
    }

}

/* NOVURA V33 — Proyectos: ancho completo de tarjetas en móviles */
@media screen and (max-width: 700px) {
    .project-gallery {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .project-gallery > .project-item {
        grid-column: 1 / -1 !important;
        justify-self: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .project-gallery .project-photo-frame {
        width: 100% !important;
        max-width: 100% !important;
    }

    .project-gallery .project-photo-frame img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
    }
}

/* =========================================================
   NOVURA V33 — SECCIÓN 07 / PRODUCTOS
   AJUSTE DEL ENCABEZADO EN MÓVIL
   ========================================================= */

@media screen and (max-width: 700px) {

    #productos .heading-row {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 24px !important;
        margin-bottom: 40px !important;
    }

    #productos .heading-row h2 {
        width: 100% !important;
        margin: 0 !important;
    }

    #productos .heading-row > div {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

}

/* =========================================================
   NOVURA V33 — SECCIÓN 08 / APLICACIONES
   ENCABEZADO COMPLETO EN MÓVIL
   ========================================================= */

@media screen and (max-width: 700px) {

    #aplicaciones .projects-heading h2 {
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

}

/* =========================================================
   NOVURA V33 — SECCIÓN 03 / VENTAJAS
   MOVER SOLO ICONOS Y TEXTOS EN MÓVIL
   ========================================================= */

@media screen and (max-width: 700px) {

    #ventajas .advantage-grid article > .adv-icon,
    #ventajas .advantage-grid article > div:not(.adv-icon) {
        transform: translateX(50px) !important;
    }

}

/* =========================================================
   NOVURA V33 — SECCIÓN 04 / PROCESO
   TAMAÑO DE TEXTOS EN MÓVIL
   ========================================================= */

@media screen and (max-width: 600px) {

    #proceso .process-mobile-step h3 {
        font-size: 20px !important;
    }

    #proceso .process-mobile-description {
        font-size: 18px !important;
    }

}

/* =====================================================
   05 / ALIADOS — TIPOGRAFÍA DESKTOP
   ===================================================== */
@media screen and (min-width: 721px) {

    #aliada .heading-row h2 {
        font-size: 56px !important;
    }

    #aliada .partner-card .partner-title h2 {
        font-size: 42px !important;
    }

}

/* NOVURA V33 — ajuste final del HERO en escritorio */
@media (min-width: 721px) {
  .hero {
    height: calc(100vh - 48px) !important;
    min-height: 0 !important;
    max-height: calc(100vh - 48px) !important;
  }

  .hero-inner {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
  }

  .marquee {
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
  }
}


/* NOVURA V33 — PRODUCTOS: imágenes casi cuadradas en móviles */
@media screen and (max-width: 720px) {

    #productos .product-image {
        aspect-ratio: 1 / 1 !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: hidden;
    }

    #productos .product-image img {
        display: block;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

}



