/* Ingecom Sistemas · hoja de estilos
   Idea de maqueta: fondo claro y técnico, bandas en verde azulado profundo con la red de nodos del logo;
   el naranja solo marca antetítulos y detalles. */
:root{
  --deep:#00353f;      /* fondos oscuros, pie */
  --teal:#006d7f;      /* color de marca */
  --teal-2:#2cada5;    /* final del degradado del logo */
  --orange:#faa152;    /* acento sobre oscuro */
  --orange-ink:#b85d0c;/* acento como texto sobre claro */
  --ink:#10292e;       /* texto principal */
  --muted:#556a6e;     /* texto secundario */
  --bg:#ffffff;
  --mist:#f2f7f7;      /* bandas claras */
  --line:#d9e5e6;
  --font-display:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-body:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:14px;
  --wrap:1200px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal)}
a:hover{color:var(--deep)}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:4px}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.15;margin:0;text-wrap:balance;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,4.6vw,3.6rem);font-weight:600}
h2{font-size:clamp(1.65rem,3vw,2.4rem);font-weight:600}
h3{font-size:1.25rem;font-weight:600}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(16px,4vw,32px)}
.eyebrow{font-family:var(--font-display);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-ink);display:inline-flex;align-items:center;gap:.6em}
.eyebrow::before{content:"";width:22px;height:2px;background:currentColor}
.dark .eyebrow,.hero .eyebrow,.page-head .eyebrow{color:var(--orange)}
.lead{font-size:1.2rem;color:var(--muted);max-width:62ch}
.section{padding:clamp(56px,8vw,104px) 0}
.section.mist{background:var(--mist)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:40px}
.section-head .txt{display:grid;gap:12px;max-width:640px}
.dark{background:var(--deep);color:#e6f1f2}
.dark .lead{color:#b9d3d6}

/* botones */
.btn{display:inline-flex;align-items:center;gap:.55em;font-family:var(--font-display);font-weight:500;font-size:.95rem;padding:.85em 1.4em;border-radius:999px;text-decoration:none;border:1.5px solid transparent;transition:background .2s,color .2s,border-color .2s,transform .2s;cursor:pointer}
.btn svg{width:18px;height:18px;transition:transform .2s}
.btn:hover svg{transform:translateX(3px)}
.btn-primary{background:var(--orange);color:#2b1600}
.btn-primary:hover{background:#ffb877;color:#2b1600}
.btn-teal{background:var(--teal);color:#fff}
.btn-teal:hover{background:var(--deep);color:#fff}
.btn-ghost{border-color:rgba(255,255,255,.45);color:#fff}
.btn-ghost:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.08)}
.btn-line{border-color:var(--line);color:var(--ink);background:#fff}
.btn-line:hover{border-color:var(--teal);color:var(--teal)}
.link-arrow{font-family:var(--font-display);font-weight:500;font-size:.92rem;text-decoration:none;display:inline-flex;align-items:center;gap:.4em}
.link-arrow::after{content:"→";transition:transform .2s}
.link-arrow:hover::after{transform:translateX(3px)}

/* cabecera */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:96px}
.brand img{height:76px;width:auto}
.nav{display:flex;align-items:center;gap:4px}
.nav>a,.nav .drop>button{font-family:var(--font-display);font-size:.92rem;font-weight:500;color:var(--ink);text-decoration:none;padding:10px 14px;border-radius:8px;background:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.nav>a:hover,.nav .drop>button:hover,.nav>a[aria-current="page"],.nav .drop.is-current>button{color:var(--teal);background:var(--mist)}
.nav .drop{position:relative}
.nav .drop>button svg{width:12px;height:12px}
.drop-menu{position:absolute;top:calc(100% + 8px);left:-12px;width:340px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 20px 50px -20px rgba(0,53,63,.35);padding:10px;display:none}
.drop:hover .drop-menu,.drop:focus-within .drop-menu,.drop.open .drop-menu{display:grid}
.drop-menu a{display:grid;gap:2px;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--ink)}
.drop-menu a:hover{background:var(--mist)}
.drop-menu a b{font-family:var(--font-display);font-weight:500;font-size:.95rem}
.drop-menu a span{font-size:.82rem;color:var(--muted);line-height:1.4}
.drop-menu a.all{border-top:1px solid var(--line);margin-top:6px;padding-top:12px;color:var(--teal);font-family:var(--font-display);font-size:.88rem}
.nav .btn{margin-left:10px;padding:.65em 1.2em}
.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:10px;width:44px;height:44px;cursor:pointer}
.menu-toggle svg{width:22px;height:22px;margin:auto}
@media (max-width:980px){
  .menu-toggle{display:grid}
  .nav{position:fixed;inset:96px 0 0 0;background:#fff;flex-direction:column;align-items:stretch;padding:16px clamp(16px,4vw,32px) 40px;gap:2px;overflow:auto;display:none}
  .nav.open{display:flex}
  .nav>a,.nav .drop>button{font-size:1.1rem;padding:14px 8px;justify-content:space-between;width:100%}
  .drop-menu{position:static;width:auto;box-shadow:none;border:0;padding:0 0 8px 8px;display:none}
  .drop:hover .drop-menu,.drop:focus-within .drop-menu{display:none}
  .drop.open .drop-menu{display:grid}
  .nav .btn{margin:16px 0 0;justify-content:center}
}

/* hero */
.hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(120deg,#002a33 0%,var(--teal) 58%,var(--teal-2) 120%)}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.55}
.hero-photo{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.1;mix-blend-mode:luminosity}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.25fr .9fr;gap:clamp(32px,6vw,80px);align-items:center;padding-top:clamp(64px,9vw,120px);padding-bottom:clamp(72px,9vw,120px)}
.hero-copy{display:grid;gap:22px}
.hero-copy p{font-size:1.15rem;color:#d2e6e8;max-width:56ch}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.sector-panel{background:rgba(0,30,36,.42);border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:10px;backdrop-filter:blur(6px)}
.sector-panel .ph{font-family:var(--font-display);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:#9fc7cb;padding:12px 14px 8px}
.sector-panel a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:13px 14px;border-radius:12px;color:#fff;text-decoration:none;font-family:var(--font-display);font-weight:500}
.sector-panel a+a{border-top:1px solid rgba(255,255,255,.08)}
.sector-panel a:hover{background:rgba(255,255,255,.08);color:#fff}
.sector-panel .n{font-size:.75rem;color:var(--orange);font-variant-numeric:tabular-nums}
.sector-panel .ar{opacity:.5;transition:transform .2s,opacity .2s}
.sector-panel a:hover .ar{opacity:1;transform:translateX(3px)}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}}

/* cabecera de página interior */
.page-head{position:relative;overflow:hidden;color:#fff;background:linear-gradient(120deg,#002a33 0%,var(--teal) 75%,var(--teal-2) 140%)}
.page-head canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.4}
.page-head .bgimg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.18;mix-blend-mode:luminosity}
.page-head .wrap{position:relative;display:grid;gap:16px;padding-top:clamp(48px,7vw,88px);padding-bottom:clamp(48px,7vw,80px)}
.page-head p{color:#d2e6e8;font-size:1.15rem;max-width:60ch}
.crumbs{font-size:.85rem;color:#a9cdd1;display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{color:#d2e6e8;text-decoration:none}
.crumbs a:hover{color:#fff;text-decoration:underline}

/* servicios */
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}
.service{padding:32px;display:grid;gap:14px;align-content:start}
.service+.service{border-left:1px solid var(--line)}
.service .num{font-family:var(--font-display);font-size:.8rem;color:var(--orange-ink);font-variant-numeric:tabular-nums}
.service p{color:var(--muted);font-size:.98rem}
@media (max-width:860px){.services{grid-template-columns:1fr}.service+.service{border-left:0;border-top:1px solid var(--line)}}

/* sectores bento */
.sectors{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.sector-card{position:relative;border-radius:var(--r);overflow:hidden;min-height:300px;display:flex;align-items:flex-end;color:#fff;text-decoration:none;grid-column:span 2;isolation:isolate}
.sector-card:nth-child(1),.sector-card:nth-child(2){grid-column:span 3;min-height:360px}
.sector-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s}
.sector-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,42,51,0) 25%,rgba(0,42,51,.92) 100%)}
.sector-card:hover img{transform:scale(1.04)}
.sector-card .in{padding:26px;display:grid;gap:8px}
.sector-card .in span{font-size:.92rem;color:#cfe3e5;max-width:46ch}
.sector-card:hover{color:#fff}
.sector-card .go{position:absolute;top:18px;right:18px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.14);display:grid;place-items:center;backdrop-filter:blur(4px);transition:background .2s}
.sector-card:hover .go{background:var(--orange);color:#2b1600}
.sector-card .go svg{width:18px;height:18px}
@media (max-width:900px){.sectors{grid-template-columns:1fr 1fr}.sector-card,.sector-card:nth-child(1),.sector-card:nth-child(2){grid-column:span 1;min-height:260px}.sector-card:last-child{grid-column:span 2}}
@media (max-width:560px){.sectors{grid-template-columns:1fr}.sector-card:last-child{grid-column:span 1}}

/* productos */
.products{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);border-radius:var(--r);overflow:hidden}
.product{background:var(--deep);padding:26px;display:grid;gap:10px;align-content:start;text-decoration:none;color:#e6f1f2;transition:background .2s}
.product:hover{background:#00434f;color:#fff}
.product h3{color:#fff;font-size:1.15rem}
.product p{font-size:.93rem;color:#b9d3d6}
.product .tag{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);font-family:var(--font-display)}
@media (max-width:980px){.products{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.products{grid-template-columns:1fr}}

/* cifras */
.figures{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.figure{display:grid;gap:6px;border-top:2px solid var(--teal);padding-top:18px}
.figure b{font-family:var(--font-display);font-size:clamp(2rem,3.6vw,2.8rem);font-weight:600;color:var(--teal);line-height:1;font-variant-numeric:tabular-nums}
.figure span{color:var(--muted);font-size:.95rem}
@media (max-width:820px){.figures{grid-template-columns:1fr 1fr}}

/* sedes */
.sedes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sede{border:1px solid var(--line);border-radius:var(--r);padding:24px;display:grid;gap:8px;background:#fff;align-content:start}
.sede .k{font-family:var(--font-display);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-ink)}
.sede h3{font-size:1.15rem}
.sede p{color:var(--muted);font-size:.95rem}
.sede .coord{font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.02em}
@media (max-width:820px){.sedes{grid-template-columns:1fr}}

/* proyectos */
.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.project{display:grid;grid-template-rows:auto 1fr;border-radius:var(--r);overflow:hidden;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:border-color .2s,box-shadow .2s}
a.project:hover{border-color:var(--teal);box-shadow:0 18px 40px -24px rgba(0,53,63,.4);color:var(--ink)}
.project .media{aspect-ratio:16/10;overflow:hidden;background:var(--mist)}
.project .media img{width:100%;height:100%;object-fit:cover}
.project .media.contain img{object-fit:contain;padding:18px;background:#fff}
.project .body{padding:20px 22px 22px;display:grid;gap:8px;align-content:start}
.project .place{font-size:.82rem;color:var(--muted)}
.project h3{font-size:1.08rem}
.project p{font-size:.94rem;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:.74rem;font-family:var(--font-display);font-weight:500;padding:.3em .75em;border-radius:999px;background:var(--mist);color:var(--teal);white-space:nowrap}
.chip.new{background:var(--orange);color:#2b1600}
@media (max-width:980px){.projects{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.projects{grid-template-columns:1fr}}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.filters button{font-family:var(--font-display);font-size:.88rem;font-weight:500;padding:.6em 1.1em;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.filters button:hover{border-color:var(--teal);color:var(--teal)}
.filters button[aria-pressed="true"]{background:var(--teal);border-color:var(--teal);color:#fff}
.filters .count{opacity:.6;font-variant-numeric:tabular-nums;margin-left:4px}

/* marcador de imagen pendiente */
.ph-img{position:relative;width:100%;height:100%;min-height:180px;display:grid;place-items:center;background:linear-gradient(135deg,var(--deep),var(--teal));color:#cfe3e5;font-family:var(--font-display);font-size:.85rem;text-align:center;padding:20px;overflow:hidden}
.ph-img svg{position:absolute;inset:0;width:100%;height:100%;opacity:.35}
.ph-img span{position:relative;border:1px dashed rgba(255,255,255,.5);padding:.5em 1em;border-radius:999px}

/* partners */
.partners{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.partner{aspect-ratio:2/1;border:1px solid var(--line);border-radius:12px;background:#fff;display:grid;place-items:center;padding:8px;position:relative}
.partner img{max-height:90px;width:auto;filter:grayscale(1);opacity:.75;transition:filter .2s,opacity .2s}
.partner:hover img{filter:none;opacity:1}
.partner .name{font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--muted);letter-spacing:.02em}
.partner .pend-dot{position:absolute;top:6px;right:8px;font-size:.62rem;color:var(--orange-ink);font-family:var(--font-display)}
@media (max-width:900px){.partners{grid-template-columns:repeat(4,1fr)}}
@media (max-width:560px){.partners{grid-template-columns:repeat(2,1fr)}}

/* testimonios */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.quote{margin:0;padding:28px;border-radius:var(--r);background:#fff;border:1px solid var(--line);display:grid;gap:18px;align-content:space-between}
.quote blockquote{margin:0;font-size:1.04rem;line-height:1.55}
.quote blockquote::before{content:"“";display:block;font-family:var(--font-display);font-size:3rem;line-height:.6;color:var(--teal-2);margin-bottom:10px}
.quote figcaption{font-family:var(--font-display);font-weight:500;font-size:.92rem;color:var(--teal)}
.stars{color:var(--orange);letter-spacing:2px;font-size:.9rem}
@media (max-width:900px){.quotes{grid-template-columns:1fr}}

/* noticias */
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.news-card{display:grid;grid-template-rows:auto 1fr;gap:16px;text-decoration:none;color:var(--ink)}
.news-card .media{aspect-ratio:16/10;border-radius:var(--r);overflow:hidden;background:var(--mist)}
.news-card .media img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.news-card:hover .media img{transform:scale(1.03)}
.news-card .body{display:grid;gap:8px;align-content:start}
.news-card .meta{font-size:.82rem;color:var(--muted);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.news-card h3{font-size:1.1rem}
.news-card:hover h3{color:var(--teal)}
.news-card p{font-size:.94rem;color:var(--muted)}
@media (max-width:900px){.news{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.news{grid-template-columns:1fr}}

/* artículo */
.article{max-width:760px;margin:0 auto;display:grid;gap:22px}
.article .hero-img{border-radius:var(--r);overflow:hidden}
.article p,.article li{font-size:1.08rem;line-height:1.7}
.article h2{font-size:1.45rem;margin-top:12px}
.article ul{margin:0;padding-left:1.2em;display:grid;gap:6px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.gallery img{border-radius:10px;aspect-ratio:4/3;object-fit:cover;width:100%}
.video-link{display:flex;gap:14px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--ink)}
.video-link .play{width:48px;height:48px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;flex:none}

/* soluciones: índice lateral + fichas */
.sol-layout{display:grid;grid-template-columns:260px 1fr;gap:56px;align-items:start}
.sol-index{position:sticky;top:100px;display:grid;gap:2px;border-left:2px solid var(--line)}
.sol-index .ttl{font-family:var(--font-display);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:0 0 10px 16px}
.sol-index a{padding:7px 16px;margin-left:-2px;border-left:2px solid transparent;text-decoration:none;color:var(--muted);font-size:.92rem;line-height:1.35}
.sol-index a:hover{color:var(--teal);border-left-color:var(--teal)}
.sol-intro{display:grid;gap:16px;max-width:68ch;color:var(--muted);font-size:1.05rem;margin-bottom:48px}
.sol{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:36px;padding:40px 0;border-top:1px solid var(--line);scroll-margin-top:96px}
.sol .media{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--mist)}
.sol .media img{width:100%;height:100%;object-fit:cover}
.sol .media.contain img{object-fit:contain;padding:24px;background:#fff}
.sol .body{display:grid;gap:14px;align-content:start}
.sol .k{font-family:var(--font-display);font-size:.78rem;color:var(--orange-ink);font-variant-numeric:tabular-nums}
.sol .body>p{color:var(--muted)}
.feats{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0}
.feat{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;padding:.45em .9em;border-radius:8px;background:var(--mist);color:var(--ink)}
.feat::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--teal-2)}
.refs{font-size:.9rem;color:var(--muted)}
.refs b{font-family:var(--font-display);font-weight:500;color:var(--ink)}
.sol-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.pdf{display:inline-flex;align-items:center;gap:10px;padding:.7em 1.1em;border-radius:10px;border:1.5px solid var(--line);text-decoration:none;color:var(--ink);font-size:.92rem;font-family:var(--font-display);font-weight:500;background:#fff}
.pdf:hover{border-color:var(--teal);color:var(--teal)}
.pdf svg{width:18px;height:18px;color:var(--teal)}
@media (max-width:980px){.sol-layout{grid-template-columns:1fr}.sol-index{display:none}}
@media (max-width:760px){.sol{grid-template-columns:1fr}}

/* empresa */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,72px);align-items:center}
.split .txt{display:grid;gap:16px}
.split .txt p{color:var(--muted)}
.team-photo{position:relative;border-radius:var(--r);overflow:hidden}
.team-photo figcaption{font-size:.9rem;color:var(--muted);margin-top:12px}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.14);border-radius:var(--r);overflow:hidden}
.value{background:var(--deep);padding:28px;display:grid;gap:10px;align-content:start}
.value .n{font-family:var(--font-display);color:var(--orange);font-size:.85rem}
.value h3{color:#fff;font-size:1.12rem}
.value p{color:#b9d3d6;font-size:.95rem}
@media (max-width:900px){.values{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.values{grid-template-columns:1fr}}

/* contacto */
.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(32px,5vw,64px);align-items:start}
.contact-info{display:grid;gap:28px}
.info-block{display:grid;gap:6px}
.info-block .k{font-family:var(--font-display);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-ink)}
.info-block .big{font-family:var(--font-display);font-size:1.5rem;font-weight:500;color:var(--ink);text-decoration:none}
.info-block .big:hover{color:var(--teal)}
.hours{display:grid;grid-template-columns:auto auto;gap:4px 24px;justify-content:start;font-variant-numeric:tabular-nums;color:var(--muted)}
.form{background:var(--mist);border-radius:20px;padding:clamp(24px,4vw,40px);display:grid;gap:16px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:grid;gap:6px}
.field label{font-family:var(--font-display);font-size:.85rem;font-weight:500}
.field input,.field textarea{font:inherit;font-size:1rem;padding:.8em 1em;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(0,109,127,.15)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:var(--muted)}
.check input{margin-top:4px;width:18px;height:18px;accent-color:var(--teal)}
.form-msg{font-size:.95rem;padding:12px 14px;border-radius:10px;background:#fff;border:1px solid var(--line);display:none}
.form-msg.show{display:block}
@media (max-width:860px){.contact{grid-template-columns:1fr}.form .row{grid-template-columns:1fr}}

/* banda CTA */
.cta-band{border-radius:24px;padding:clamp(32px,5vw,56px);background:linear-gradient(120deg,var(--teal),var(--teal-2));color:#fff;display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;position:relative;overflow:hidden}
.cta-band h2{max-width:22ch}
.cta-band p{color:#e1f3f3;margin-top:10px;max-width:52ch}

/* financiación y pie */
.funding{padding:28px 0;border-top:1px solid var(--line);background:#fff}
.funding .wrap{display:flex;justify-content:center}
.funding img{width:100%;max-width:728px}
.site-footer{background:var(--deep);color:#b9d3d6;font-size:.94rem}
.site-footer .top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:40px;padding:64px 0 48px}
.site-footer h4{font-family:var(--font-display);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:14px;font-weight:600}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.site-footer a{color:#d2e6e8;text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
.site-footer .logo{height:70px;width:auto;margin-bottom:18px}
.site-footer .bottom{border-top:1px solid rgba(255,255,255,.12);padding:22px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.85rem}
@media (max-width:900px){.site-footer .top{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.site-footer .top{grid-template-columns:1fr}}

/* legales */
.legal{max-width:780px;margin:0 auto;display:grid;gap:16px}
.legal h2{font-size:1.4rem;margin-top:22px}
.legal h3{font-size:1.1rem;margin-top:10px}
.legal p,.legal li{color:var(--muted);font-size:1rem;overflow-wrap:anywhere}
.legal ul{margin:0;padding-left:1.2em;display:grid;gap:6px}

/* PENDIENTES (solo para la revisión: quitar al publicar) */
.pend{display:inline-flex;gap:8px;align-items:flex-start;font-size:.86rem;line-height:1.45;background:#fff4e8;color:#7a3d06;border:1px dashed #f0a35c;border-radius:10px;padding:.55em .85em;font-family:var(--font-body)}
.pend::before{content:"Pendiente";font-family:var(--font-display);font-weight:600;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;background:#faa152;color:#2b1600;padding:.15em .55em;border-radius:6px;white-space:nowrap;margin-top:1px}
.pend.draft::before{content:"Borrador"}
.dark .pend,.page-head .pend{background:rgba(250,161,82,.12);color:#ffd9b5}
.review-bar{background:#fff4e8;border-bottom:1px solid #f0c9a0;font-size:.85rem;color:#7a3d06}
.review-bar .wrap{display:flex;gap:16px;align-items:center;justify-content:space-between;min-height:40px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
.review-bar button{font:inherit;font-family:var(--font-display);font-weight:500;background:none;border:1px solid #e7b07a;color:#7a3d06;border-radius:999px;padding:.25em .9em;cursor:pointer}
body.hide-pend .pend,body.hide-pend .pend-dot{display:none}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;padding:8px 14px;border-radius:8px}
.skip:focus{left:8px}

/* ===== Variantes de estilo para comparar (inicio-estilo-1 / inicio-estilo-2) ===== */
/* Estilo 1: claro y fotográfico, acento turquesa del logo */
.theme-a{--orange:#2cada5;--orange-ink:#0f7f78}
.theme-a .btn-primary{background:var(--teal);color:#fff}
.theme-a .btn-primary:hover{background:var(--deep);color:#fff}
.theme-a .chip.new{background:var(--teal-2);color:#fff}
.theme-a .sector-card:hover .go{color:#fff}
.theme-a .stars{color:var(--teal-2)}
.heroA{background:#fff;padding:clamp(48px,7vw,88px) 0;border-bottom:1px solid var(--line)}
.heroA .wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(32px,5vw,56px);align-items:center}
.heroA .copy{display:grid;gap:22px}
.heroA h1 em{font-style:normal;color:var(--teal)}
.heroA .copy p{color:var(--muted);font-size:1.15rem;max-width:52ch}
.chips-s{display:flex;flex-wrap:wrap;gap:8px}
.chips-s a{font-size:.85rem;font-family:var(--font-display);font-weight:500;padding:.45em .9em;border-radius:999px;background:var(--mist);color:var(--teal);text-decoration:none}
.chips-s a:hover{background:var(--teal);color:#fff}
.mosaic5{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:210px 210px;gap:12px}
.mosaic5 .m{position:relative;border-radius:16px;overflow:hidden;display:block}
.mosaic5 .big{grid-column:span 2}
.mosaic5 img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.mosaic5 .m:hover img{transform:scale(1.04)}
.mosaic5 .cap{position:absolute;left:10px;bottom:10px;background:rgba(255,255,255,.95);border-radius:10px;padding:6px 10px;font-size:.76rem;line-height:1.3;color:var(--ink)}
.mosaic5 .cap b{display:block;font-family:var(--font-display);font-size:.84rem}
.mosaic5 .cap span{color:var(--orange-ink)}
@media (max-width:900px){.heroA .wrap{grid-template-columns:1fr}.mosaic5{grid-template-rows:150px 150px}}
@media (max-width:520px){.mosaic5{grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-rows:130px}.mosaic5 .big{grid-column:span 2}}

/* Estilo 2: foto a pantalla completa por sector, acento amarillo señalización */
.theme-b{--orange:#ffc629;--orange-ink:#8a6400}
.theme-b .btn-primary{background:#ffc629;color:#231a00}
.theme-b .btn-primary:hover{background:#ffd459;color:#231a00}
.theme-b .chip.new{background:#ffc629;color:#231a00}
.theme-b .sector-card:hover .go{background:#ffc629;color:#231a00}
.heroB{position:relative;color:#fff;min-height:640px;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;background:var(--deep)}
.heroB .slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:0;transition:opacity 1s}
.heroB .slide.on{opacity:1}
.heroB::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,32,38,.95) 0%,rgba(0,45,54,.82) 45%,rgba(0,53,63,.2) 100%)}
.heroB .wrap{position:relative;z-index:2;width:100%;display:grid;gap:22px;padding-top:90px}
.heroB h1{max-width:15ch}
.heroB p{max-width:52ch;color:#d6e8ea;font-size:1.15rem}
.heroB .eyebrow{color:var(--orange)}
.heroB .tabs{margin-top:36px;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(255,255,255,.22)}
.heroB .tab{background:none;border:0;border-top:3px solid transparent;margin-top:-2px;padding:18px 16px 26px 0;text-align:left;font:500 1rem var(--font-display);color:#cfe3e5;display:grid;gap:4px;cursor:pointer}
.heroB .tab small{font-size:.75rem;color:#8fb3b7}
.heroB .tab:hover{color:#fff}
.heroB .tab.on{color:#fff;border-top-color:var(--orange)}
.heroB .tab.on small{color:var(--orange)}
.tagB{position:absolute;right:clamp(16px,3vw,32px);top:24px;z-index:3;background:rgba(0,0,0,.45);backdrop-filter:blur(6px);padding:8px 14px;border-radius:999px;font-size:.82rem;color:#fff;text-decoration:none}
.tagB:hover{color:#fff;background:rgba(0,0,0,.6)}
.tagB i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--orange);margin-right:8px}
@media (max-width:760px){.heroB .tabs{grid-template-columns:1fr 1fr}.heroB{min-height:0}.tagB{display:none}}
.review-bar .cmp{font-family:var(--font-display);font-weight:500}
.review-bar .cmp a{color:#7a3d06;font-weight:600}

/* ===== Estilo 2 en cabeceras interiores ===== */
.page-head{background:linear-gradient(120deg,#002a33 0%,var(--deep) 60%,#004b57 100%);isolation:isolate}
.page-head canvas,.page-head .bgimg{display:none}
.page-head .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.page-head.has-photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,32,38,.95) 0%,rgba(0,45,54,.84) 48%,rgba(0,53,63,.35) 100%)}
.page-head .wrap{z-index:2;padding-top:clamp(64px,9vw,120px);padding-bottom:clamp(56px,7vw,96px)}
.page-head.has-photo .wrap{padding-top:clamp(96px,12vw,160px)}
.page-head h1{max-width:20ch}
.page-head .crumbs{margin-bottom:4px}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:28px 24px;align-self:center}

/* Banner de cookies */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:80;display:flex;justify-content:center}
.cookie-banner[hidden]{display:none}
.ck-in{max-width:980px;width:100%;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px -20px rgba(0,30,36,.45);padding:20px 22px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.ck-txt{flex:1 1 420px;display:grid;gap:6px;font-size:.92rem;color:var(--muted)}
.ck-txt b{font-family:var(--font-display);color:var(--ink);font-size:1rem}
.ck-cfg{display:flex;gap:18px;flex-wrap:wrap;margin-top:4px}
.ck-cfg[hidden]{display:none}
.ck-cfg label{display:flex;gap:8px;align-items:center;color:var(--ink)}
.ck-cfg input{accent-color:var(--teal);width:16px;height:16px}
.ck-btns{display:flex;gap:8px;flex-wrap:wrap}
.ck-btns .btn{padding:.6em 1.1em;font-size:.88rem}
.map{margin-top:24px;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);aspect-ratio:16/7;min-height:320px;background:linear-gradient(135deg,#e8f1f2,#f6fafa)}
.map iframe{width:100%;height:100%;border:0;display:block}
.map-ph{height:100%;display:grid;place-content:center;justify-items:center;gap:10px;text-align:center;padding:24px}
.map-ph b{font-family:var(--font-display);font-size:1.15rem}
.map-ph span,.map-ph small{color:var(--muted)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-msg.ok{border-color:#9fd8c6;background:#effaf5;color:#14532d}
.form-msg.err{border-color:#f3b4a8;background:#fff3f0;color:#7a1d0c}
.form button[disabled]{opacity:.6;cursor:wait}

/* Menú móvil: el desenfoque de la cabecera atrapaba el menú desplegado */
@media (max-width:980px){
  .site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff}
  .nav{position:fixed;top:96px;left:0;right:0;bottom:0;height:auto;z-index:60;box-shadow:0 20px 40px -20px rgba(0,30,36,.3)}
  .nav .drop .drop-menu a span{display:none}
  body.menu-open{overflow:hidden}
}
@media (max-width:980px){ .nav>a.btn-teal{background:var(--teal);color:#fff;justify-content:center;border-radius:999px} }
