/* ===================================================================
   CDTEL — estilos del theme. Tokens del Template Kit.
   =================================================================== */
:root{
  --navy:#0E2A47; --blue:#005599; --orange:#FFA812; --green:#47A025; --gray:#596570;
  /* Tonos AA para TEXTO PEQUEÑO sobre blanco (contraste >=4.5:1); los botones y barras usan los de marca */
  --green-dark:#337616; --orange-dark:#A96500;
  --paper:#FFFFFF; --paper-2:#F5F7FA; --paper-3:#EDF1F6; --line:#DCE3EC;
  --navy-700:#16365A; --navy-900:#0A1F36; --blue-soft:#E1EEF8;
  --font-display:'Roboto Mono',ui-monospace,monospace;
  --font-body:'Nunito Sans',system-ui,sans-serif;
  --r-sm:8px; --r:12px; --r-lg:16px; --r-pill:999px;
  --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:64px; --s9:96px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);color:var(--navy);background:var(--paper-2);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.mono{font-family:var(--font-display)}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue);text-decoration:none}
.wrap{max-width:1160px;margin:0 auto;padding:0 var(--s5)}

/* ===== Header ===== */
/* Transparente y superpuesto al hero en TODO el sitio (sin fijación al top).
   Al scrollear reaparece como barra compacta navy (.is-fixed, la pone main.js). */
.site-header{position:absolute;left:0;right:0;top:0;background:linear-gradient(rgba(10,31,54,.5),rgba(10,31,54,0));color:#fff;z-index:100}
.site-header.is-fixed{position:fixed;background:var(--navy);box-shadow:0 12px 30px -18px rgba(0,0,0,.55);animation:hdrDown .3s var(--ease) both}
.site-header.is-fixed .site-header__inner{min-height:54px}
.site-header.is-fixed .site-header__brand img{max-height:34px}
@keyframes hdrDown{from{transform:translateY(-100%)}to{transform:none}}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:var(--s5)}
.site-header__brand img{max-height:46px;width:auto}
.site-header__name{color:#fff;font-family:var(--font-display);font-weight:700;letter-spacing:2px;font-size:20px}
.site-nav__menu{list-style:none;display:flex;gap:var(--s5);margin:0;padding:0;flex-wrap:wrap}
.site-nav__menu a{color:#C7D4E4;font-family:var(--font-display);font-size:14px;text-transform:uppercase;letter-spacing:.04em;padding:6px 0;transition:color .2s var(--ease)}
.site-nav__menu a:hover,.site-nav__menu .current-menu-item a{color:#fff}
.nav-toggle{display:none;background:none;border:0;color:#fff;cursor:pointer;padding:6px;line-height:0}
.nav-toggle svg{width:28px;height:28px}
/* Off-canvas (menú móvil) */
.offcanvas{position:fixed;inset:0;z-index:9998}
.offcanvas[hidden]{display:none}
.offcanvas__overlay{position:absolute;inset:0;background:rgba(10,31,54,.55);opacity:0;transition:opacity .3s var(--ease)}
.offcanvas.is-open .offcanvas__overlay{opacity:1}
.offcanvas__panel{position:absolute;top:0;right:0;height:100%;width:min(330px,86vw);background:var(--navy);padding:var(--s7) var(--s5);overflow-y:auto;transform:translateX(100%);transition:transform .3s var(--ease);box-shadow:-20px 0 60px -20px rgba(0,0,0,.5)}
.offcanvas.is-open .offcanvas__panel{transform:translateX(0)}
.offcanvas__close{position:absolute;top:14px;right:14px;background:none;border:0;color:#9FB2C8;cursor:pointer;padding:6px;line-height:0}
.offcanvas__close svg{width:24px;height:24px}
.offcanvas__close:hover{color:#fff}
.offcanvas__menu{list-style:none;padding:0;margin:var(--s5) 0 0;display:flex;flex-direction:column}
.offcanvas__menu a{display:block;color:#C7D4E4;font-family:var(--font-display);font-size:16px;text-transform:uppercase;letter-spacing:.04em;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.offcanvas__menu a:hover,.offcanvas__menu .current-menu-item a{color:#fff}
@media(prefers-reduced-motion:reduce){.offcanvas__panel,.offcanvas__overlay{transition:none}}

/* ===== Botones ===== */
.btn{font-family:var(--font-display);font-weight:500;font-size:14px;letter-spacing:.02em;border:0;border-radius:var(--r-sm);padding:13px 22px;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:transform .15s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}
.btn:active{transform:translateY(1px) scale(.99)}
.btn-primary{background:var(--orange);color:#3a2600}
.btn-primary:hover{background:#ffb733;box-shadow:0 8px 22px -8px rgba(255,168,18,.6)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-700)}
.btn-ghost-light{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.28)}
.btn-ghost-light:hover{border-color:rgba(255,255,255,.65);background:rgba(255,255,255,.06)}
.btn-green{background:var(--green);color:#fff}
.btn-green:hover{background:#3f8e21;box-shadow:0 8px 22px -8px rgba(71,160,37,.55)}
.btn-blue{background:var(--blue);color:#fff}
.btn-blue:hover{background:#0068ba;box-shadow:0 8px 22px -8px rgba(0,85,153,.55)}
.btn .ico-circle{width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.13);display:flex;align-items:center;justify-content:center;transition:transform .2s var(--ease)}
.btn:hover .ico-circle{transform:translateX(3px)}
.btn .ico-circle svg{width:13px;height:13px}

/* ===== Hero de la portada (único, centrado; fondo = imagen destacada) ===== */
.hero{background:linear-gradient(135deg,var(--navy-900) 5%,var(--navy) 58%,#0d3a63 130%);color:#fff;padding:100px 0;position:relative;overflow:hidden}
.hero--solo{background-size:cover;background-position:center;background-repeat:no-repeat;text-align:center;padding:236px 0 140px}
.hero-lead{font-family:var(--font-body);font-weight:400;font-size:clamp(20px,2.5vw,30px);line-height:1.7;color:#E6EEF7;max-width:66ch;margin:0 auto var(--s6)}
.hero-lead strong{color:#fff}

/* ===== Secciones ===== */
/* ===== Mini-hero de páginas internas ===== */
.page-hero{background:linear-gradient(135deg,var(--navy-900) 8%,var(--navy) 65%,#0d3a63);color:#fff;padding:calc(var(--s8) + 108px) 0 calc(var(--s8) + 24px);position:relative;overflow:hidden}
.page-hero__dot{position:absolute;inset:0;opacity:.07;background-image:radial-gradient(#bcd3ea 1.2px,transparent 1.2px);background-size:26px 26px}
.page-hero .wrap{position:relative}
.page-hero h1{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:clamp(28px,4vw,42px);line-height:1.1;margin:0;display:flex;gap:var(--s4);align-items:stretch}
.page-hero h1 .gbar{width:5px;background:var(--green);border-radius:2px;flex:none;min-height:32px}
.page-hero p{color:#9CB0C6;margin:var(--s3) 0 0;font-size:17px;max-width:60ch}
/* Variantes: imagen de fondo (editable por página) y titular centrado tipo statement */
.page-hero--img{background-size:cover;background-position:center;background-repeat:no-repeat;padding:calc(var(--s8) + 124px) 0 calc(var(--s8) + 40px)}
.page-hero--img p{color:#DCE6F1}
.page-hero--center{text-align:center}
.page-hero--center h1{display:block;font-weight:500;font-size:clamp(21px,2.6vw,32px);line-height:1.5;letter-spacing:.02em;max-width:56ch;margin:0 auto}
.page-hero--center h1 strong{font-weight:700}
.page-hero--center p{margin-left:auto;margin-right:auto}

.block{padding:var(--s8) 0;border-bottom:1px solid var(--line)}
.block--navy{background:var(--navy);color:#fff;border-bottom:0}
.block--white{background:var(--paper)}
.block--navy .sec-title h1,.block--navy .sec-title h2{color:#fff}
.block--navy .feature-list li{color:#DBE4EF}
.block--navy .lead-2{color:#A9BACE}
.block--navy .card{background:var(--navy-700);border-color:rgba(255,255,255,.1)}
/* Eyebrow (frase pequeña sobre un título) — base global; el hero tiene la suya */
.ey{font-family:var(--font-display);font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--green-dark);margin:0 0 var(--s4)}
/* Acento por página: en Obras por Impuestos las rayitas y resaltes van en NARANJA */
.accent-orange .sec-title .gbar{background:var(--orange)}
.accent-orange .ey,.accent-orange .ey--dark{color:var(--orange-dark)}
.accent-orange .obra__cat{color:var(--orange-dark)}
.sec-title{display:flex;align-items:center;gap:var(--s4);margin:0 0 var(--s6)}
.sec-title .gbar{width:5px;flex:none;align-self:stretch;background:var(--green);border-radius:2px;min-height:34px}
.sec-title h1,.sec-title h2{font-size:clamp(22px,4.5vw,30px);font-weight:700;margin:0;text-transform:uppercase;line-height:1.15}
.sec-title--light h2{color:#fff}

/* ===== Cards ===== */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s5)}
.cards--3{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.cards--3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cards--3{grid-template-columns:1fr}}
.cards--2{grid-template-columns:repeat(2,1fr)}
@media(max-width:760px){.cards--2{grid-template-columns:1fr}}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s5);display:flex;flex-direction:column;transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease)}
.card:hover{transform:translateY(-4px);box-shadow:0 22px 46px -26px rgba(14,42,71,.5);border-color:#C6D2E0}
.card__media{border-radius:var(--r);overflow:hidden;margin:calc(-1*var(--s5)) calc(-1*var(--s5)) var(--s4)}
.card__media img{width:100%;height:180px;object-fit:cover}
.card h3{font-size:18px;margin:0 0 var(--s2);font-weight:700;text-transform:uppercase;letter-spacing:.01em}
.card h3 a{color:var(--navy)}
.card p{font-size:14px;color:var(--gray);margin:0}
.proj{background:var(--navy-900);color:#fff;border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);padding:var(--s5);overflow:hidden;display:flex;flex-direction:column}
.proj__media{margin:calc(-1*var(--s5)) calc(-1*var(--s5)) var(--s5)}
.proj__media img{width:100%;height:270px;object-fit:cover;display:block}
.proj-filters{display:flex;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s6)}
.proj-filter{font-family:var(--font-display);font-size:13px;text-transform:uppercase;letter-spacing:.04em;padding:9px 18px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--paper);color:var(--gray);cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}
.proj-filter:hover{border-color:var(--navy);color:var(--navy)}
.proj-filter.is-active{background:var(--navy);color:#fff;border-color:var(--navy)}
#proj-grid{transition:opacity .2s var(--ease)}
.proj h3{font-size:20px;margin:6px 0 var(--s2);text-transform:uppercase}
.proj p{font-size:14px;color:#A9BACE;margin:0}
.proj .ptag{font-family:var(--font-display);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange)}
.proj .pmeta{font-family:var(--font-display);font-size:13px;color:#7BD04F;font-weight:500;margin-top:var(--s3)}
.proj .metrics{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);margin-top:var(--s4);border-top:1px solid rgba(255,255,255,.1);padding-top:var(--s4)}
.proj .metric{display:flex;flex-direction:column}
.proj .metric .v{font-family:var(--font-display);font-weight:700;font-size:20px;color:#fff;line-height:1.1}
.proj .metric .k{font-size:11.5px;color:#A9BACE;margin-top:3px}
.proj__video{display:inline-flex;align-items:center;gap:8px;margin-top:var(--s4);font-family:var(--font-display);font-size:13px;color:#7BD04F}
.proj__video svg{width:18px;height:18px}
.proj__video:hover{color:#9be06f}
/* Pilar desplegable (details/summary) */
.pilar{margin-bottom:var(--s4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);overflow:hidden;scroll-margin-top:88px}
.pilar summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s5);transition:background .2s var(--ease)}
.pilar summary::-webkit-details-marker{display:none}
.pilar summary:hover{background:var(--paper-2)}
.pilar__name{font-family:var(--font-display);font-weight:700;font-size:19px;text-transform:uppercase;display:flex;align-items:center;gap:var(--s3);color:var(--navy)}
.pilar__name svg{color:var(--green);flex:none}
.pilar__name small{font-weight:400;color:var(--gray);font-size:14px}
.pilar__toggle{font-family:var(--font-display);font-size:13px;color:var(--blue);display:flex;align-items:center;gap:8px;flex:none}
.pilar__toggle svg{width:16px;height:16px;transition:transform .3s var(--ease)}
.pilar[open] .pilar__toggle svg{transform:rotate(180deg)}
.pilar__toggle .less{display:none}
.pilar[open] .pilar__toggle .more{display:none}
.pilar[open] .pilar__toggle .less{display:inline}
.pilar__body{padding:0 var(--s5) var(--s5)}
/* Card de solución: icono, incluye, partners */
.card .cico{width:52px;height:52px;border-radius:var(--r);background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;margin-bottom:var(--s4)}
.card .incl{list-style:none;padding:0;margin:var(--s3) 0}
.card .incl li{font-size:13px;display:flex;align-items:flex-start;gap:8px;padding:3px 0;color:var(--navy)}
.card .incl svg{width:16px;height:16px;color:var(--green);flex:none;margin-top:2px}
.card .partners{font-family:var(--font-display);font-size:11px;color:var(--gray);letter-spacing:.04em;border-top:1px solid var(--line);padding-top:var(--s3);margin-top:auto}
.card .partners a{color:var(--blue);text-decoration:none}
.card .partners a:hover{text-decoration:underline}

/* ===== Páginas ===== */
/* 404 — vive dentro de una banda navy (.page-hero) */
.error-404{text-align:center;max-width:560px;margin:0 auto;padding:var(--s7) 0}
.error-404__num{font-family:var(--font-display);font-weight:700;font-size:clamp(80px,16vw,150px);line-height:1;color:#fff;letter-spacing:-2px}
.error-404__num span{color:var(--green)}
.error-404 h1{font-family:var(--font-display);text-transform:uppercase;font-size:26px;color:#fff;margin:var(--s4) 0 var(--s3)}
.error-404 p{color:#B9C7D8;margin:0 0 var(--s5);max-width:none}
.error-404 .btn{margin:0 auto}

/* ===== Footer ===== */
.site-footer{background:linear-gradient(120deg,var(--navy-900) -10%,var(--navy) 45%,var(--blue) 135%);color:#C7D4E4;border-top:1px solid rgba(255,255,255,.12)}
.site-footer__grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:var(--s6);padding-top:var(--s8);padding-bottom:var(--s7)}
.site-footer__col h4,.site-footer__t{font-family:var(--font-display);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff;margin:0 0 var(--s4)}
.site-footer__col p{margin:0 0 var(--s2);font-size:14px}
.site-footer__col a{color:#C7D4E4}
.site-footer__col a:hover{color:#fff}
.site-footer__tag{font-family:var(--font-display);font-size:11px;letter-spacing:.18em;color:#7BD04F;text-transform:uppercase;margin-top:var(--s3)}
.site-footer__name{font-family:var(--font-display);font-weight:700;letter-spacing:2px;color:#fff;font-size:20px}
.site-footer__col .custom-logo{max-width:200px;width:auto;height:auto;display:block}
.site-footer__social{display:flex;gap:var(--s4)}
.site-footer__social a{display:inline-flex;color:#9FB2C8;transition:color .2s var(--ease)}
.site-footer__social a:hover{color:#fff}
.site-footer__bar{border-top:1px solid rgba(255,255,255,.1);padding:var(--s4) 0;font-size:12.5px;color:#7C93AD}
.site-footer__barin{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s3)}
.site-footer__bar a{color:#9FB2C8;text-decoration:none}
.site-footer__bar a:hover{color:#fff;text-decoration:underline}

/* ===== Placeholder de imagen ===== */
.img-ph{background:var(--paper-3);border:1px dashed #c2cedd;border-radius:var(--r);display:flex;align-items:center;justify-content:center;color:#9aa8bb;font-family:var(--font-display);font-size:11px;letter-spacing:.12em;text-transform:uppercase;width:100%}
.img-ph::before{content:"\25A3";margin-right:8px;font-size:18px}

/* ===== Layout de página interna ===== */
.split2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s7);align-items:center}
.mv{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5);max-width:720px;margin:0 auto}
.mv .card h3{color:var(--green)}
.mv-ico{width:54px;height:54px;border-radius:50%;background:var(--blue-soft);color:var(--green);display:flex;align-items:center;justify-content:center;margin-bottom:var(--s4)}
.mv-ico svg{width:28px;height:28px}
/* Misión/Visión — cards centradas con borde de color (verde/naranja) */
.mv-card{text-align:center;align-items:center;border-width:2.5px}
.mv-card h3{color:var(--blue)}
.mv-card .mv-ico{margin-left:auto;margin-right:auto}
.mv-card--green{border-color:var(--green)}
.mv-card--green .mv-ico{background:#E7F3DD;color:var(--green)}
.mv-card--orange{border-color:var(--orange)}
.mv-card--orange .mv-ico{background:#FFF1D6;color:var(--orange)}
/* Columnas de texto separadas por líneas verticales (experiencia, enfoque de home) */
.cols-lines{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.cols-lines>*{margin:0;padding:var(--s2) var(--s5);text-align:center;font-size:15px;line-height:1.55;border-left:2px solid var(--line);color:var(--gray)}
.cols-lines>*:first-child{border-left:0}
.cols-lines strong{color:var(--navy)}
.block--navy .sec-sub{color:rgba(255,255,255,.72)}
.block--navy .cols-lines>*{border-color:var(--green);color:#DBE4EF}
.block--navy .cols-lines strong{color:#fff}
/* En páginas con acento naranja (OxI), las divisorias van naranjas */
.accent-orange .cols-lines>*{border-color:var(--orange)}
@media(max-width:860px){.cols-lines{grid-template-columns:1fr 1fr}.cols-lines>*{border-left:0;padding:var(--s3) var(--s4)}}
@media(max-width:560px){.cols-lines{grid-template-columns:1fr}}
.sec-sub{color:var(--gray);margin:calc(-1 * var(--s4)) 0 var(--s6)}
.sec-sub strong{color:var(--navy)}
/* Lista simple de bullets (beneficios OxI) */
.plain-list{margin:0;padding-left:1.2em;display:grid;gap:var(--s2);color:#33485f;font-size:15.5px;line-height:1.6}
.plain-list li::marker{color:var(--navy)}
/* Párrafos sobre banda navy */
.navy-copy{color:#C9D6E4;font-size:15.5px;line-height:1.7}
.navy-copy p{margin:0 0 var(--s4)}
.navy-copy p:last-child{margin-bottom:0}
.navy-copy strong{color:#fff}
.feature-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--s3)}
.feature-list li{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.feature-list svg{width:20px;height:20px;color:var(--green);flex:none;margin-top:2px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--s5)}
.step{background:var(--paper);border:2.5px solid var(--green);border-radius:var(--r-lg);padding:var(--s5);text-align:center}
.step .num{font-family:var(--font-display);font-weight:700;font-size:19px;width:58px;height:58px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin:0 auto var(--s3);background:#E7F3DD;color:var(--green)}
.step h4{margin:0;font-size:14px;text-transform:uppercase;line-height:1.45}
.step p{font-size:13px;color:var(--gray);margin:var(--s2) 0 0}
/* Todos los pasos en verde (03/08, pedido del cliente; antes gris → azul → verde
   → naranja por nth-child). Al ir en la regla base vale para cualquier número de pasos. */
.lead-2{font-size:21px;color:var(--navy);line-height:1.5;margin:0 0 var(--s5)}
.lead-2 p{margin:0 0 var(--s4)}
.lead-2 p:first-child{font-size:21px;color:var(--navy);line-height:1.5}
.lead-2 p:not(:first-child){font-size:16px;color:var(--gray);line-height:1.7}
.lead-2 p:last-child{margin-bottom:0}
.contact-split{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--s6);align-items:stretch}
.contact-panel{background:var(--navy);color:#fff;border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column}
.contact-panel__media{aspect-ratio:16/10;position:relative}
.contact-panel__media img{width:100%;height:100%;object-fit:cover;display:block}
.contact-panel__media .img-ph{height:100%;border-radius:0;border:0;background:var(--navy-700);color:#7d93ac}
.contact-panel__body{padding:var(--s6);display:flex;flex-direction:column;gap:var(--s4);flex:1}
.contact-panel__body h2{font-size:19px;text-transform:uppercase;margin:0}
.contact-item{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:#C7D4E4;line-height:1.5}
.contact-item svg{width:20px;height:20px;color:#7BD04F;flex:none;margin-top:2px}
.contact-item a{color:#C7D4E4}
.contact-item a:hover{color:#fff}
.contact-panel__social{display:flex;gap:var(--s4);margin-top:auto;padding-top:var(--s4);border-top:1px solid rgba(255,255,255,.1)}
.contact-panel__social a{color:#9FB2C8;display:inline-flex;transition:color .2s var(--ease)}
.contact-panel__social a:hover{color:#fff}
.contact-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s6)}
.form-notice{border-radius:var(--r);padding:var(--s4) var(--s5);margin:0 0 var(--s5);font-size:14.5px}
.form-notice--ok{background:#E7F3DD;border:1px solid #b9dd97;color:#2c5512}
.form-notice--err{background:#FCEBEB;border:1px solid #f0b0b0;color:#a32d2d}
.cdtel-hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden}
/* Modal de confirmación */
.cdtel-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:var(--s5)}
.cdtel-modal[hidden]{display:none}
.cdtel-modal__overlay{position:absolute;inset:0;background:rgba(10,31,54,.6)}
.cdtel-modal__box{position:relative;background:#fff;border-radius:var(--r-lg);padding:var(--s7) var(--s6);max-width:420px;width:100%;text-align:center;box-shadow:0 30px 80px -30px rgba(0,0,0,.5);animation:modalIn .3s var(--ease)}
@keyframes modalIn{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.cdtel-modal__icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--s4)}
.cdtel-modal__icon.ok{background:#E7F3DD;color:var(--green)}
.cdtel-modal__icon.err{background:#FCEBEB;color:#a32d2d}
.cdtel-modal__icon svg{width:32px;height:32px}
.cdtel-modal__title{font-family:var(--font-display);font-size:20px;text-transform:uppercase;margin:0 0 var(--s2);color:var(--navy)}
.cdtel-modal__msg{color:var(--gray);font-size:15px;line-height:1.6;margin:0 0 var(--s5)}
@media(prefers-reduced-motion:reduce){.cdtel-modal__box{animation:none}}

/* ===== Blog / Noticias ===== */
.link-arrow{font-family:var(--font-display);font-weight:500;font-size:13px;color:var(--blue);display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.link-arrow svg{width:15px;height:15px;transition:transform .2s var(--ease)}
.link-arrow:hover svg{transform:translateX(4px)}
.post-meta{font-family:var(--font-display);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--gray);display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center;margin:var(--s4) 0 var(--s2)}
.post-meta .cat{color:var(--green-dark)}
.post-card h3{margin:0 0 var(--s2)}
.post-card h3 a{color:var(--navy)}
.post-card .link-arrow{margin-top:auto;padding-top:var(--s4)}
/* Entrada individual */
.post-back{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:13px;color:var(--blue);margin-bottom:var(--s5);text-decoration:none}
.post-back svg{width:18px;height:18px;transition:transform .2s var(--ease)}
.post-back:hover svg{transform:translateX(-3px)}
/* Meta del post dentro del hero navy */
.page-hero .post-meta{margin:0 0 var(--s3);color:#AFC1D4}
.page-hero .post-meta .cat{color:#7BD04F}
.post-tags{margin-top:var(--s6);display:flex;gap:8px;flex-wrap:wrap}
.post-tags a{font-family:var(--font-display);font-size:11.5px;color:var(--gray);background:var(--paper-2);border:1px solid var(--line);padding:4px 11px;border-radius:var(--r-pill);text-decoration:none}
.post-tags a:hover{color:var(--navy);border-color:#c6d2e0}
/* Contenido del post (the_content) */
.entry{font-size:17px;line-height:1.75;color:#33485f;max-width:74ch}
.entry>*{margin:0 0 var(--s5)}
.entry>*:last-child{margin-bottom:0}
.entry h2{font-family:var(--font-display);font-size:24px;text-transform:uppercase;color:var(--navy);margin:var(--s7) 0 var(--s4)}
.entry h3{font-family:var(--font-display);font-size:19px;text-transform:uppercase;color:var(--navy);margin:var(--s6) 0 var(--s3)}
.entry a{color:var(--blue);text-decoration:underline}
.entry ul,.entry ol{padding-left:var(--s5)}
.entry li{margin:0 0 var(--s2)}
.entry img{border-radius:var(--r);height:auto}
.entry blockquote{border-left:4px solid var(--green);padding-left:var(--s5);margin:var(--s5) 0;color:var(--gray);font-style:italic;font-size:19px}
.entry strong{color:var(--navy)}
.entry figure{margin:var(--s5) 0}
.entry figcaption{font-size:13px;color:var(--gray);text-align:center;margin-top:8px}
/* Páginas legales: columna algo más ancha y sello de actualización arriba. */
.entry--legal{max-width:78ch}
.entry__updated{font-family:var(--font-display);font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--gray);padding-bottom:var(--s4);border-bottom:1px solid var(--line)}
/* Single — layout 2 columnas + sidebar de recomendaciones */
.post-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--s8);align-items:start}
.post-main{min-width:0}
.post-main .post-header,.post-main .entry{max-width:none}
.post-read{display:inline-flex;align-items:center;gap:5px}
.post-read svg{width:14px;height:14px}
.post-lead{font-size:19px;line-height:1.6;color:var(--gray);margin:var(--s4) 0 0}
.post-aside{position:sticky;top:90px}
.post-widget{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s5)}
.post-widget__title{font-family:var(--font-display);font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--navy);margin:0 0 var(--s3);padding-bottom:var(--s3);border-bottom:2px solid var(--green)}
.reco{display:flex;gap:var(--s3);padding:var(--s4) 0;border-bottom:1px solid var(--line);text-decoration:none;align-items:flex-start}
.reco:last-child{border-bottom:0;padding-bottom:0}
.reco__media{flex:0 0 70px;width:70px;height:70px;border-radius:var(--r);overflow:hidden;background:#e6ebf1}
.reco__media img{width:100%;height:100%;object-fit:cover;display:block}
.reco__body{min-width:0}
.reco__cat{font-family:var(--font-display);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--green-dark);display:block;margin-bottom:3px}
.reco__title{font-size:14px;line-height:1.35;color:var(--navy);margin:0 0 5px;font-weight:600;transition:color .2s var(--ease);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.reco:hover .reco__title{color:var(--blue)}
.reco__date{font-size:12px;color:var(--gray)}
@media(max-width:860px){.post-layout{grid-template-columns:1fr;gap:var(--s7)}.post-aside{position:static}}
/* ============ HOME ============ */
/* Tira de stats */
.stats-band{background:var(--paper);border-bottom:1px solid var(--line)}
.stats{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:var(--s5);padding:var(--s7) 24px}
.stat{text-align:center;position:relative;display:flex;flex-direction:column;justify-content:center;padding:0 var(--s4)}
.stat::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:2px;height:52px;background:var(--line)}
.stat:first-child::before{display:none}
.stat__n{display:block;font-family:var(--font-display);font-weight:700;font-size:clamp(34px,5vw,52px);line-height:1;color:var(--navy)}
.stat__l{display:block;margin-top:8px;font-family:var(--font-display);font-size:12.5px;color:var(--gray);text-transform:uppercase;letter-spacing:.05em;line-height:1.5}
.stat__l strong{color:var(--navy)}
/* Eyebrow sobre fondo claro */
.ey--dark{color:var(--green-dark)}
.sec-cta{text-align:center;margin-top:var(--s7)}
.sec-cta .btn{margin:0 auto}
/* Soluciones en home — tiles icono + título, 3 columnas más cuadradas (fila incompleta centrada) */
.sol-tiles{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s4);max-width:860px;margin:0 auto}
.sol-tiles .sol-tile{padding:var(--s7) var(--s4)}
.sol-tiles .sol-tile{flex:0 0 calc((100% - 2*var(--s4))/3)}
@media(max-width:860px){.sol-tiles .sol-tile{flex-basis:calc((100% - var(--s4))/2)}}
@media(max-width:560px){.sol-tiles .sol-tile{flex-basis:100%}}
.sol-tile{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s4);padding:var(--s6) var(--s4);background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);text-decoration:none;overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.sol-tile::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.sol-tile:hover{transform:translateY(-5px);box-shadow:0 20px 44px -26px rgba(14,42,71,.55);border-color:#c6d2e0}
.sol-tile:hover::before{transform:scaleX(1)}
.sol-tile__ico{width:74px;height:74px;border-radius:var(--r);background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;transition:background .25s var(--ease),color .25s var(--ease)}
.sol-tile__ico svg{width:36px;height:36px}
.sol-tile:hover .sol-tile__ico{background:var(--navy);color:#fff}
.sol-tile__t{font-family:var(--font-display);text-transform:uppercase;font-size:14.5px;letter-spacing:.02em;color:var(--navy);line-height:1.3}
/* Variante oscura de los tiles (banda navy) */
.sol-tile--dark{background:var(--navy-700);border-color:rgba(255,255,255,.14)}
.sol-tile--dark .sol-tile__t{color:#fff}
.sol-tile--dark .sol-tile__ico{background:rgba(255,255,255,.08);color:#9CC4E4}
.sol-tile--dark:hover{border-color:rgba(255,255,255,.32);box-shadow:0 20px 44px -26px rgba(0,0,0,.8)}
.sol-tile--dark:hover .sol-tile__ico{background:var(--green);color:#fff}
.block--navy .strip-dot{background:rgba(255,255,255,.35)}
.block--navy .strip-dot.is-active{background:var(--green)}
/* Obras en home — cards simplificadas (imagen + categoría + nombre) */
.obra-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s5)}
.obra-card{display:block;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.obra-card:hover{transform:translateY(-5px);box-shadow:0 22px 48px -26px rgba(14,42,71,.55);border-color:#c6d2e0}
.obra-card__media{aspect-ratio:3/2;overflow:hidden;background:#e6ebf1}
.obra-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s var(--ease)}
.obra-card:hover .obra-card__media img{transform:scale(1.05)}
.obra-card__body{padding:var(--s4) var(--s5) var(--s5)}
.obra-card__cat{display:block;font-family:var(--font-display);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--green);margin-bottom:6px}
.obra-card__t{font-family:var(--font-display);text-transform:uppercase;font-size:17px;color:var(--navy);line-height:1.25;margin:0}
/* Obras (grilla 3 col) — card mínima + modal con el detalle */
.obra{background:var(--paper);border:2.5px solid #F0D9AC;border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}
.obra:hover{transform:translateY(-4px);box-shadow:0 20px 44px -26px rgba(14,42,71,.5);border-color:var(--orange)}
.obra__media{aspect-ratio:3/2;overflow:hidden;background:#e6ebf1;position:relative}
.obra__media img{width:100%;height:100%;object-fit:cover;display:block}
.obra__body{padding:var(--s5);display:flex;flex-direction:column;align-items:center;text-align:center;flex:1}
.obra__cat{font-family:var(--font-display);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--green-dark);margin-bottom:6px}
.obra__t{font-family:var(--font-display);text-transform:uppercase;font-size:18px;color:var(--navy);line-height:1.25;margin:0 0 var(--s2)}
.obra__benef{color:var(--gray);font-size:14.5px;line-height:1.5;margin:0 0 var(--s4)}
.obra__more{align-self:center;margin-top:auto;display:inline-flex;align-items:center;background:var(--orange);color:#fff;border:0;border-radius:var(--r-sm);padding:10px 20px;font-family:var(--font-display);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;transition:background .2s var(--ease),box-shadow .2s var(--ease)}
.obra__more:hover{background:#ffb733;box-shadow:0 8px 22px -8px rgba(255,168,18,.6)}
/* Obra en ejecución: ocupa el lugar del botón, pero se lee como estado, no como acción */
.obra__estado{align-self:center;margin-top:auto;display:inline-flex;align-items:center;gap:8px;background:var(--paper-3);color:var(--gray);border:1.5px dashed var(--line);border-radius:var(--r-sm);padding:8px 18px;font-family:var(--font-display);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;cursor:default}
.obra__estado::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--orange);flex:none}
/* Variante VERDE (Soluciones): misma card y modal, acento verde */
.obra--sol{border-color:#CBE5B8}
.obra--sol:hover{border-color:var(--green)}
.obra--sol .obra__more{background:var(--green);color:#fff}
.obra--sol .obra__more:hover{background:#3f8e21;box-shadow:0 8px 22px -8px rgba(71,160,37,.55)}
.obra-modal--sol .obra-modal__ey{color:var(--green-dark)}
.obra-modal--sol .obra-modal__t{border-color:var(--green)}
.obra-modal__incl-t{font-weight:800;color:var(--navy);margin:var(--s4) 0 var(--s2)}
.obra-modal__partners{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;column-gap:0;row-gap:var(--s4);border:2px solid var(--green);border-radius:var(--r-pill);padding:var(--s4) var(--s5);margin-top:var(--s5)}
.obra-modal__partners img{max-height:60px;width:auto;height:auto;object-fit:contain}
@media(max-width:560px){.obra-modal__partners{border-radius:var(--r-lg)}}
.obra-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}
.obra-modal[hidden]{display:none}
.obra-modal__ov{position:absolute;inset:0;background:rgba(10,31,54,.62)}
.obra-modal__box{position:relative;background:#fff;border-radius:var(--r-lg);max-width:720px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 40px 90px -30px rgba(0,0,0,.55);scrollbar-width:thin;scrollbar-color:#C6D2E0 transparent}
/* Scrollbar dentro del radio: riel transparente alejado de las esquinas + pulgar píldora */
.obra-modal__box::-webkit-scrollbar{width:10px}
.obra-modal__box::-webkit-scrollbar-track{background:transparent;margin:18px 0}
.obra-modal__box::-webkit-scrollbar-thumb{background:#C6D2E0;border-radius:var(--r-pill);border:3px solid #fff}
.obra-modal__box::-webkit-scrollbar-thumb:hover{background:#9FB2C8}
.obra-modal__x{position:absolute;top:14px;right:14px;z-index:2;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--navy);cursor:pointer;display:flex;align-items:center;justify-content:center}
.obra-modal__x svg{width:20px;height:20px}
.obra-modal__content{padding:var(--s6)}
.obra-modal__ey{display:block;font-family:var(--font-display);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-dark);font-weight:500;margin:0 0 var(--s2)}
.obra-modal__t{font-family:var(--font-display);text-transform:uppercase;font-size:26px;color:var(--navy);line-height:1.15;margin:0;border-left:5px solid var(--orange);padding-left:14px}
.obra-modal__media{aspect-ratio:16/9;overflow:hidden;background:var(--navy-900);border-radius:var(--r);position:relative;margin:var(--s4) 0}
.obra-modal__media img{width:100%;height:100%;object-fit:cover;display:block}
.obra-modal__media iframe,.obra-modal__media video{width:100%;height:100%;border:0;display:block}
.obra-modal__play{position:absolute;inset:0;margin:auto;width:64px;height:64px;border-radius:50%;border:0;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 14px 34px -12px rgba(0,0,0,.55);transition:transform .2s var(--ease),background .2s var(--ease)}
.obra-modal__play:hover{transform:scale(1.08);background:#ffb733}
.obra-modal__play svg{width:26px;height:26px;margin-left:3px}
.obra-modal__cat{display:inline-block;font-family:var(--font-display);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--navy);padding:5px 13px;border-radius:var(--r-pill);margin:0 0 var(--s4)}
/* Métricas con icono — cuadrícula centrada, separadores verticales naranjas */
.mx-rows{display:grid;gap:var(--s6);margin-top:var(--s5)}
.mx-row{display:flex;justify-content:center;flex-wrap:wrap;row-gap:var(--s5)}
.mx{flex:0 0 33.33%;min-width:0;padding:0 var(--s4);text-align:center;border-left:2px solid #F5DFB0}
.mx-row .mx:first-child{border-left:0}
.mx__ico{color:var(--blue);width:46px;height:46px;margin:0 auto var(--s3);display:flex;align-items:center;justify-content:center}
.mx__t{font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--navy);text-transform:uppercase;line-height:1.3}
.mx__d{font-family:var(--font-display);font-size:12px;color:var(--navy);text-transform:uppercase;line-height:1.45;margin-top:2px}
@media(max-width:560px){.mx{flex:0 0 50%;border-left:0}}
@media(max-width:520px){.obra-modal{padding:0}.obra-modal__box{max-height:100vh;border-radius:0}}
/* Quiénes somos — panel decorativo */
.intro-visual{position:relative;border-radius:var(--r-lg);overflow:hidden;background:linear-gradient(145deg,var(--navy),var(--navy-900));min-height:340px;display:flex;align-items:center;justify-content:center}
.intro-visual__dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.10) 1.4px,transparent 1.4px);background-size:22px 22px;opacity:.6}
.intro-visual__tag{position:relative;font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:clamp(28px,4vw,42px);line-height:1.05;color:#fff;letter-spacing:.02em;text-align:center}
.intro-visual__qg{position:absolute;right:-40px;bottom:-40px;width:160px;height:160px;border-radius:50%;background:var(--green);opacity:.18}
/* Públicos */
.publicos{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5)}
.publico{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s6);text-align:center;display:flex;flex-direction:column;align-items:center;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.publico:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px rgba(14,42,71,.5)}
.publico__ico{width:64px;height:64px;margin:0 auto var(--s4);border-radius:50%;background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center}
.publico__ico svg{width:30px;height:30px}
.publico h3{font-family:var(--font-display);text-transform:uppercase;font-size:18px;color:var(--navy);margin:0 0 var(--s2)}
.publico p{color:var(--gray);font-size:15px;line-height:1.6;margin:0}
/* Secuencia cromática de las cards (verde → verde → naranja) + botón propio */
.publico:nth-child(3n+1),
.publico:nth-child(3n+2){border:2px solid var(--green)}
.publico:nth-child(3n){border:2px solid var(--orange)}
.publico:nth-child(3n+1) .publico__ico,
.publico:nth-child(3n+2) .publico__ico{background:#E7F3DD;color:var(--green)}
.publico:nth-child(3n) .publico__ico{background:#FFF1D6;color:var(--orange)}
.publico p{margin-bottom:var(--s4)}
.publico__btn{display:inline-flex;margin-top:auto;font-family:var(--font-display);font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#fff;padding:9px 18px;border-radius:var(--r-sm);transition:filter .2s var(--ease)}
.publico__btn:hover{filter:brightness(1.12);color:#fff}
.publico:nth-child(3n+1) .publico__btn,
.publico:nth-child(3n+2) .publico__btn{background:var(--green)}
.publico:nth-child(3n) .publico__btn{background:var(--orange)}
.partner-name{font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--navy);text-transform:uppercase;letter-spacing:.03em;text-align:center}
/* Tira de logos a color (scroll-snap; dots generados por JS solo si desborda) */
.logo-strip{display:flex;gap:0;align-items:center;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:var(--s2) 2px}
.logo-strip::-webkit-scrollbar{display:none}
.logo-strip__item{flex:0 0 auto;scroll-snap-align:start;display:flex;align-items:center;justify-content:center;min-width:130px}
.logo-strip__item img{max-height:48px;width:auto;height:auto;object-fit:contain}
/* Variante marquee: avanza sola (main.js) y se arrastra; sin snap ni controles */
.logo-strip--marquee{scroll-snap-type:none;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.logo-strip--marquee.is-dragging{cursor:grabbing}
.logo-strip--marquee .logo-strip__item{scroll-snap-align:none}
.logo-strip--marquee img{-webkit-user-drag:none}
/* Variante grande (+25%): la usa la home */
.logo-strip--lg .logo-strip__item{min-width:163px}
.logo-strip--lg .logo-strip__item img{max-height:60px}
.strip-dots{display:flex;gap:8px;justify-content:center;margin-top:var(--s5)}
.strip-dots:empty{display:none}
.strip-dot{width:9px;height:9px;border-radius:50%;border:0;padding:0;background:#C6D2E0;cursor:pointer;transition:background .25s var(--ease),transform .25s var(--ease)}
.strip-dot.is-active{background:var(--green);transform:scale(1.2)}
/* CTA de cierre */
/* CTA global en píldora (todas las páginas, antes del footer) */
.cta-sec{position:relative;padding:var(--s6) 0;background:var(--paper-2);overflow:hidden}
.cta-sec::before{content:"";position:absolute;inset:0;background-image:radial-gradient(#c9d6e6 1.1px,transparent 1.1px);background-size:24px 24px;opacity:.35}
.cta-sec--img{background-size:cover;background-position:center;background-repeat:no-repeat}
.cta-sec--img::before{display:none}
.cta-sec .wrap{position:relative}
.cta-pill{background:linear-gradient(120deg,var(--navy),#0d3a63 140%);border-radius:40px;padding:var(--s5) var(--s6);text-align:center;display:flex;flex-direction:column;align-items:center;box-shadow:0 30px 60px -35px rgba(14,42,71,.6)}
.cta-pill h2{font-family:var(--font-display);font-weight:700;text-transform:uppercase;color:#fff;font-size:clamp(20px,2.4vw,26px);line-height:1.25;margin:0 0 var(--s2)}
.cta-pill p{color:rgba(255,255,255,.85);font-size:15.5px;line-height:1.55;margin:0 0 var(--s4);max-width:56ch}
@media(max-width:560px){.cta-pill{border-radius:24px;padding:var(--s5)}}
@media(max-width:860px){
	.stats{grid-auto-flow:row;grid-template-columns:repeat(2,1fr);gap:var(--s6)}
	.stat:nth-child(odd)::before{display:none}
	.publicos{grid-template-columns:1fr}
}
/* Paginación */
.pagination{margin-top:var(--s7);display:flex;justify-content:center}
.pagination .nav-links{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pagination .page-numbers{font-family:var(--font-display);font-size:14px;color:var(--navy);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 14px;text-decoration:none;background:var(--paper)}
.pagination .page-numbers.current{background:var(--navy);color:#fff;border-color:var(--navy)}
.pagination a.page-numbers:hover{border-color:var(--navy)}
.field{margin-bottom:var(--s4)}
.field label{display:block;font-family:var(--font-display);font-size:12px;letter-spacing:.03em;color:var(--navy);margin-bottom:6px;text-transform:uppercase}
.field input,.field textarea{width:100%;font-family:var(--font-body);font-size:15px;color:var(--navy);border:1.5px solid var(--line);border-radius:var(--r);padding:11px 13px;background:var(--paper-2)}
.field input:focus,.field textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,85,153,.14);background:#fff}
/* Casilla de consentimiento: la etiqueta vuelve a texto corrido (la base es
   mayúsculas de display) y el input deja de ocupar el ancho completo. */
.field.field--check{margin:var(--s4) 0 var(--s5)}
.field.field--check label{display:flex;align-items:flex-start;gap:10px;margin:0;font-family:var(--font-body);font-size:13.5px;line-height:1.5;letter-spacing:0;text-transform:none;color:var(--gray);cursor:pointer}
.field.field--check input[type="checkbox"]{width:17px;height:17px;flex:none;margin:1px 0 0;padding:0;border-radius:3px;accent-color:var(--blue)}
.field.field--check a{color:var(--blue);text-decoration:underline}
.contact-data p{margin:0 0 var(--s3);font-size:15px}
.contact-data strong{font-family:var(--font-display);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--gray);display:block}
@media(max-width:760px){.split2,.mv,.contact-split{grid-template-columns:1fr}}

/* ===== Reveal (animaciones) ===== */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* ===== Responsive ===== */
@media(max-width:860px){
  .hero--solo{padding:170px 0 96px}
  .site-footer__grid{grid-template-columns:1fr 1fr}
  .site-nav{display:none}
  .nav-toggle{display:inline-flex}
}
@media(max-width:560px){.site-footer__grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}
