/* ─────────────────────────────────────────────────────────
   TIPOGRAFÍA DE MARCA: Sifonn
   Licencia comercial (Rafa Goicoechea), no disponible en CDN
   públicos. Coloca los .woff2 en /fonts con estos nombres:
   Sifonn-Regular.woff2, Sifonn-Bold.woff2 — se activa sola.
   Mientras tanto usa Space Grotesk como respaldo.
───────────────────────────────────────────────────────── */
@font-face{
  font-family:'Sifonn';
  src:url('../fonts/Sifonn-Regular.woff2') format('woff2'),
      url('../fonts/Sifonn-Regular.woff') format('woff');
  font-weight:400; font-display:swap;
}
@font-face{
  font-family:'Sifonn';
  src:url('../fonts/Sifonn-Bold.woff2') format('woff2'),
      url('../fonts/Sifonn-Bold.woff') format('woff');
  font-weight:700; font-display:swap;
}

:root{
  --navy:#132433;
  --navy-2:#1c3245;
  --bg:#f6f4f0;
  --panel:#ffffff;
  --panel-2:#efece5;
  --line:#e1ded4;
  --text:#1a2027;
  --muted:#5c6570;
  --accent-start:#ff5602;
  --accent-end:#fe7325;
  --accent:#fe6a12;
  --accent-grad:linear-gradient(135deg,var(--accent-start),var(--accent-end));
  --steel:#3d5772;
  --glow:0 0 0 1px rgba(254,106,18,0.35), 0 10px 28px -10px rgba(254,106,18,0.45);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:'IBM Plex Sans',sans-serif;line-height:1.6;}
h1,h2,h3,.display{font-family:'Sifonn','Space Grotesk',sans-serif;}
.mono{font-family:'IBM Plex Mono',monospace;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
::selection{background:var(--accent);color:#fff;}
.grad-text{background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent;}

/* ── HEADER ── */
header.site-header{position:sticky;top:0;left:0;right:0;z-index:100;background:var(--navy);border-bottom:2px solid transparent;border-image:var(--accent-grad) 1;}
nav.site-nav{display:flex;align-items:center;justify-content:space-between;padding:14px 32px;max-width:1180px;margin:0 auto;}
.logo{font-family:'Sifonn','Space Grotesk',sans-serif;font-weight:700;font-size:19px;letter-spacing:0.3px;display:flex;align-items:center;gap:10px;color:#fff;}
.logo img{width:30px;height:30px;object-fit:contain;}
.nav-links{display:flex;gap:30px;font-size:14px;color:#c7ccd2;}
.nav-links a{position:relative;padding:6px 0;transition:color .2s;}
.nav-links a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--accent-grad);transition:width .25s ease;}
.nav-links a:hover, .nav-links a.active{color:#fff;}
.nav-links a:hover::after, .nav-links a.active::after{width:100%;}
.nav-cta{background:var(--accent-grad);color:#fff;padding:10px 20px;font-size:13px;font-weight:600;font-family:'IBM Plex Mono',monospace;white-space:nowrap;}
.nav-toggle{display:none;background:none;border:none;color:#fff;font-size:26px;cursor:pointer;}
.nav-links-mobile{display:none;}

/* ── NAV DROPDOWN (Blog > línea de negocio > artículo) — desktop ──
   El abrir/cerrar lo controla JS (clase .open), no :hover puro, para
   evitar el "hueco muerto" entre el link y el panel que hace que el
   menú parpadee o se quede pegado al mover el mouse. */
.nav-item{position:relative;}
.nav-drop-trigger{display:inline-flex;align-items:center;gap:5px;}
.nav-drop-trigger .caret{font-size:10px;transition:transform .2s ease;opacity:.75;}
.nav-item.open .nav-drop-trigger .caret{transform:rotate(180deg);}
.nav-dropdown{position:absolute;top:100%;left:-16px;margin-top:14px;min-width:270px;background:var(--navy-2);border:1px solid rgba(255,255,255,0.08);border-top:2px solid transparent;border-image:var(--accent-grad) 1;box-shadow:0 18px 40px -14px rgba(0,0,0,0.5);padding:8px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(6px);transition:opacity .16s ease,transform .16s ease,visibility .16s;z-index:200;}
.nav-item.open > .nav-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
.nav-drop-link{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;font-size:13.5px;color:#dde1e5;border-radius:6px;white-space:nowrap;}
.nav-drop-link .caret-right{font-size:10px;opacity:.6;}
.nav-drop-link:hover,.nav-drop-link:focus{background:rgba(255,255,255,0.06);color:#fff;}
.nav-drop-link::after{display:none;}
.nav-drop-item{position:relative;}
.nav-drop-sub{position:absolute;top:0;left:100%;margin-left:6px;min-width:300px;background:var(--navy-2);border:1px solid rgba(255,255,255,0.08);border-top:2px solid transparent;border-image:var(--accent-grad) 1;box-shadow:0 18px 40px -14px rgba(0,0,0,0.5);padding:8px;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(4px);transition:opacity .16s ease,transform .16s ease,visibility .16s;}
.nav-drop-item.open > .nav-drop-sub{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0);}
.nav-drop-sub a{display:block;padding:9px 12px;font-size:13px;line-height:1.4;color:#c7ccd2;border-radius:6px;}
.nav-drop-sub a:hover,.nav-drop-sub a:focus{background:rgba(255,255,255,0.06);color:#fff;}
.nav-drop-sub a::after{display:none;}
.nav-dropdown .nav-drop-divider{height:1px;background:rgba(255,255,255,0.08);margin:6px 4px;}
.nav-drop-viewall{color:var(--accent);font-family:'IBM Plex Mono',monospace;font-size:12.5px;}
.nav-drop-viewall::after{display:none;}

@media (max-width:900px){
  .nav-links{display:none;}
  .nav-toggle{display:block;}
  .nav-links-mobile.open{display:flex;flex-direction:column;gap:2px;background:var(--navy-2);padding:10px 32px 20px;}
  .nav-links-mobile a{color:#e4e7ea;padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.08);font-size:15px;}

  /* ── NAV DROPDOWN — mobile accordion ── */
  .mobile-nav-item{border-bottom:1px solid rgba(255,255,255,0.08);}
  .mobile-nav-item .mobile-nav-row{border-bottom:none;}
  .mobile-nav-row{display:flex;align-items:center;justify-content:space-between;}
  .mobile-nav-row .mobile-nav-link{flex:1;padding:12px 0;color:#e4e7ea;font-size:15px;}
  .mobile-nav-caret{background:none;border:none;color:#c7ccd2;font-size:13px;padding:12px 4px 12px 14px;cursor:pointer;transition:transform .2s ease;}
  .mobile-nav-caret.open{transform:rotate(180deg);color:var(--accent);}
  .mobile-nav-submenu,.mobile-nav-subsubmenu{display:none;flex-direction:column;}
  .mobile-nav-submenu.open,.mobile-nav-subsubmenu.open{display:flex;}
  .mobile-nav-submenu{padding-left:14px;border-left:2px solid rgba(255,255,255,0.08);margin:0 0 8px 4px;}
  .mobile-nav-sublink{padding:10px 0;font-size:14px;color:#c7ccd2;border-bottom:1px solid rgba(255,255,255,0.06);}
  .mobile-nav-subitem{display:flex;flex-direction:column;}
  .mobile-nav-subitem .mobile-nav-row .mobile-nav-sublink{border-bottom:none;flex:1;}
  .mobile-nav-subsubmenu{padding-left:14px;border-left:2px solid rgba(255,255,255,0.06);margin:0 0 4px 4px;}
  .mobile-nav-subsublink{padding:9px 0;font-size:13.5px;color:#aeb4bb;border-bottom:1px solid rgba(255,255,255,0.05);}
  .mobile-nav-viewall{color:var(--accent) !important;font-family:'IBM Plex Mono',monospace;font-size:13px;border-bottom:none !important;}
}

/* ── PAGE HERO (interior pages) ── */
.page-hero{background:var(--navy);color:#fff;padding:68px 0 54px;position:relative;overflow:hidden;}
.page-hero .wrap{position:relative;}
.page-hero .eyebrow{color:#ff9a5c;}
.page-hero .eyebrow::before{background:var(--accent-grad);}
.page-hero h1{font-size:38px;font-weight:600;margin-bottom:12px;}
.page-hero p{color:#aab3bd;font-size:16px;max-width:560px;}
.page-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);background-size:56px 56px;mask-image:linear-gradient(180deg, transparent, black 30%, black 80%, transparent);}

/* ── PAGE HERO con foto de fondo (ej. Nosotros) ── */
.page-hero-photo{background-size:cover;background-position:center 18%;min-height:480px;display:flex;align-items:center;}
.page-hero-photo::before{content:'';position:absolute;inset:0;background:linear-gradient(105deg, rgba(15,27,38,0.97) 0%, rgba(15,27,38,0.93) 30%, rgba(15,27,38,0.62) 58%, rgba(15,27,38,0.78) 100%);}
.page-hero-photo .wrap{width:100%;}
.page-hero-photo .eyebrow,.page-hero-photo h1,.page-hero-photo p{text-shadow:0 2px 18px rgba(0,0,0,0.45);}

/* ── HOME HERO ── */
.home-hero{padding:90px 0 80px;position:relative;overflow:hidden;background:var(--panel);}
.home-hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px, transparent 1px),linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:56px 56px;opacity:0.6;mask-image:radial-gradient(ellipse 700px 500px at 70% 30%, black, transparent);}
.home-hero-inner{position:relative;display:grid;grid-template-columns:1.25fr 1fr;gap:56px;align-items:center;}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:10px;margin-bottom:20px;}
.eyebrow::before{content:'';width:24px;height:1px;background:var(--accent-grad);}
.home-hero h1{font-size:50px;font-weight:600;line-height:1.1;letter-spacing:-0.5px;margin-bottom:22px;color:var(--text);}
.home-hero p.lead{font-size:17px;color:var(--muted);max-width:500px;margin-bottom:32px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.btn-primary{background:var(--accent-grad);color:#fff;padding:14px 26px;font-weight:600;font-size:14px;box-shadow:var(--glow);transition:transform .2s;}
.btn-primary:hover{transform:translateY(-2px);}
.btn-ghost{border:1px solid var(--line);padding:14px 26px;font-weight:500;font-size:14px;color:var(--text);}
.btn-ghost:hover{border-color:var(--accent);}

.bracket{position:relative;}
.bracket::before,.bracket::after{content:'';position:absolute;width:18px;height:18px;border:1.5px solid var(--accent);opacity:0.8;}
.bracket::before{top:-9px;left:-9px;border-right:none;border-bottom:none;}
.bracket::after{bottom:-9px;right:-9px;border-left:none;border-top:none;}
.toolpath-wrap{position:relative;background:var(--navy);border:1px solid var(--navy);padding:24px;aspect-ratio:1/1;}
.hero-stats{display:flex;justify-content:space-between;margin-top:14px;font-family:'IBM Plex Mono',monospace;font-size:11px;color:#8b96a3;}

/* ── STAT STRIP ── */
.stat-strip{background:var(--navy);}
.stat-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);}
.stat{padding:30px 0;text-align:center;border-right:1px solid rgba(255,255,255,0.1);}
.stat:last-child{border-right:none;}
.stat .num{font-family:'Sifonn','Space Grotesk',sans-serif;font-size:30px;font-weight:700;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.stat .label{font-size:11.5px;color:#aab3bd;margin-top:4px;text-transform:uppercase;letter-spacing:0.5px;}

/* ── SECTIONS ── */
section{padding:96px 0;}
section.alt{background:var(--panel-2);}
.section-head{max-width:620px;margin-bottom:50px;}
.section-head h2{font-size:32px;font-weight:600;letter-spacing:-0.3px;}
.section-head p{color:var(--muted);margin-top:12px;font-size:15.5px;}
.section-foot{margin-top:40px;}

/* ── CARDS ── */
.mv-cards{display:flex;flex-direction:column;gap:16px;}
.mv-card{background:var(--panel);border:1px solid var(--line);padding:24px;position:relative;}
.mv-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent-grad);}
.mv-card h3{font-size:14px;margin-bottom:8px;font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:1px;color:var(--accent);}
.mv-card p{color:var(--muted);font-size:14.5px;}

.lines-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.line-card{background:var(--panel);padding:30px 24px;position:relative;transition:background .25s;overflow:hidden;}
.line-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent-grad);transform:scaleX(0);transform-origin:left;transition:transform .35s ease;}
.line-card:hover{background:var(--panel-2);}
.line-card:hover::before{transform:scaleX(1);}
.line-icon{width:32px;height:32px;margin-bottom:14px;stroke:var(--accent);fill:none;stroke-width:1.4;}
.line-tag{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--steel);letter-spacing:1px;}
.line-card h3{font-size:18px;margin:8px 0 10px;}
.line-card p.desc{color:var(--muted);font-size:14px;}
.line-card .brands{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;}
.line-card .brands span{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--muted);border:1px solid var(--line);padding:3px 8px;}

.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.value-card{background:var(--panel);border:1px solid var(--line);padding:26px;}
.value-card .num{font-family:'IBM Plex Mono',monospace;color:var(--accent);font-size:13px;}
.value-card h3{font-size:17px;margin:10px 0 8px;}
.value-card p{color:var(--muted);font-size:14px;}

/* ── SALUD ── */
.salud-badge{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:1px;color:var(--steel);border:1px solid var(--steel);padding:5px 12px;margin-bottom:16px;}
.salud-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.salud-visual{aspect-ratio:4/3;border:1px solid var(--navy);background:var(--navy);position:relative;overflow:hidden;}

/* ── CLIENTES ── */
.clients-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.client-cell{background:var(--panel);padding:20px 22px;font-family:'IBM Plex Mono',monospace;font-size:13.5px;color:var(--muted);display:flex;align-items:center;gap:10px;transition:background .2s;}
.client-cell:hover{background:var(--panel-2);}
.client-cell::before{content:'';width:5px;height:5px;background:var(--accent-grad);flex:none;}
.client-cell.gov{color:var(--steel);}
.client-legend{margin-top:18px;font-size:12px;color:var(--muted);display:flex;gap:24px;font-family:'IBM Plex Mono',monospace;}
.client-legend span{display:flex;align-items:center;gap:6px;}
.dot{width:8px;height:8px;display:inline-block;}
.dot.priv{background:var(--accent-grad);}
.dot.gov{background:var(--steel);}

/* ── BLOG ── */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.blog-card{background:var(--panel);border:1px solid var(--line);overflow:hidden;transition:box-shadow .2s;}
.blog-card:hover{box-shadow:0 12px 30px -14px rgba(19,36,51,0.25);}
.blog-card .thumb{aspect-ratio:16/10;background:linear-gradient(135deg,var(--panel-2),var(--line));display:flex;align-items:center;justify-content:center;color:var(--muted);font-family:'IBM Plex Mono',monospace;font-size:11px;}
.blog-card .body{padding:20px;}
.blog-card .date{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--accent);}
.blog-card h3{font-size:16px;margin:8px 0;}
.blog-card p{color:var(--muted);font-size:13.5px;}
.blog-empty{border:1px dashed var(--line);padding:56px 32px;text-align:center;color:var(--muted);}
.blog-empty h3{color:var(--text);margin-bottom:10px;font-size:20px;}
.blog-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px;}
.blog-filter button{font-family:'IBM Plex Mono',monospace;font-size:12px;padding:9px 16px;border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;transition:all .2s;}
.blog-filter button:hover{border-color:var(--accent);color:var(--text);}
.blog-filter button.active{background:var(--navy);color:#fff;border-color:var(--navy);}
.blog-card .tag{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--accent);border:1px solid var(--line);padding:3px 8px;margin-bottom:10px;text-transform:uppercase;letter-spacing:0.5px;}

/* ── ARTICULO / PRODUCTO ── */
.article-intro{max-width:720px;color:var(--muted);font-size:16px;margin-bottom:10px;}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:10px;}
.feature-card{background:var(--panel);padding:26px 22px;}
.feature-card .fnum{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--accent);}
.feature-card h4{font-size:15px;margin:8px 0 8px;}
.feature-card p{color:var(--muted);font-size:13.5px;}
.feature-icon{width:26px;height:26px;stroke:var(--steel);fill:none;stroke-width:1.4;margin-bottom:10px;}
.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:30px 0 10px;}
.benefit-card{background:var(--panel);border:1px solid var(--line);padding:22px;}
.benefit-card h4{font-size:14.5px;margin:10px 0 6px;}
.benefit-card p{color:var(--muted);font-size:13px;}
.article-source{font-size:12.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;margin-top:40px;}
.author-box{display:flex;gap:18px;align-items:center;background:var(--panel-2);border:1px solid var(--line);padding:22px;margin-top:40px;max-width:520px;}
.author-box img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none;}
.author-box .name{font-family:'Sifonn','Space Grotesk',sans-serif;font-size:16px;font-weight:600;}
.author-box .role{font-size:12.5px;color:var(--muted);margin-bottom:8px;}
.author-box .author-links{display:flex;gap:10px;}
.author-box .author-links a{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);color:var(--steel);}
.author-box .author-links a:hover{border-color:var(--accent);color:var(--accent);}
.author-box .author-links svg{width:13px;height:13px;fill:currentColor;}
.article-img{width:100%;border:1px solid var(--line);margin:28px 0;}
.article-img-caption{font-size:13px;color:var(--muted);margin-top:-18px;margin-bottom:28px;font-style:italic;}
.pull-quote{border-left:3px solid var(--accent);padding-left:20px;margin:30px 0;font-family:'Sifonn','Space Grotesk',sans-serif;font-size:19px;color:var(--text);}
.pull-quote span{display:block;font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--muted);margin-top:8px;}
@media (max-width:900px){
  .feature-grid{grid-template-columns:1fr 1fr;}
  .benefit-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .feature-grid{grid-template-columns:1fr;}
  .benefit-grid{grid-template-columns:1fr;}
}

/* ── CONTACTO ── */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
.contact-item{display:flex;gap:16px;padding:18px 0;border-top:1px solid var(--line);}
.contact-item:last-of-type{border-bottom:1px solid var(--line);}
.contact-item .k{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:1px;width:90px;flex:none;padding-top:2px;}
.contact-item .v{font-size:15px;color:var(--text);}
.contact-item .v span{display:block;color:var(--muted);font-size:13px;margin-top:2px;}
form{display:flex;flex-direction:column;gap:16px;}
.field label{display:block;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;}
.field input,.field select,.field textarea{width:100%;background:var(--panel);border:1px solid var(--line);color:var(--text);padding:13px 14px;font-family:'IBM Plex Sans',sans-serif;font-size:14px;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);}
.field textarea{resize:vertical;min-height:100px;}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.submit-btn{background:var(--accent-grad);color:#fff;padding:15px;font-weight:600;font-size:14px;border:none;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;margin-top:6px;}
.form-note{font-size:12px;color:var(--muted);margin-top:4px;}
.field-consent{display:flex;align-items:flex-start;gap:10px;font-size:12.5px;color:var(--muted);}
.field-consent input{width:auto;margin-top:3px;}

/* ── LEGAL PAGES ── */
.legal-content{max-width:760px;}
.legal-content h2{font-size:22px;margin:34px 0 12px;}
.legal-content h2:first-child{margin-top:0;}
.legal-content p, .legal-content li{color:var(--muted);font-size:15px;margin-bottom:10px;}
.legal-content ul{padding-left:20px;}
.legal-updated{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--accent);margin-bottom:30px;}

/* ── FOOTER ── */
footer{background:var(--navy);color:#c7ccd2;padding-top:60px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,0.1);}
.footer-col h4{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#fff;margin-bottom:16px;font-family:'IBM Plex Mono',monospace;}
.footer-col a{display:block;color:#aab3bd;font-size:13.5px;margin-bottom:10px;transition:color .2s;}
.footer-col a:hover{color:#fff;}
.footer-col p{color:#8b95a1;font-size:13.5px;margin-bottom:16px;max-width:260px;}
.footer-social{display:flex;gap:10px;flex-wrap:wrap;}
.footer-social a{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,0.15);color:#c7ccd2;margin:0;}
.footer-social a:hover{border-color:var(--accent);color:#fff;background:rgba(254,106,18,0.1);}
.footer-social svg{width:15px;height:15px;fill:currentColor;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:24px 0;font-size:12px;}
.footer-bottom .legal-links{display:flex;gap:18px;flex-wrap:wrap;}
.footer-bottom a{color:#8b95a1;}
.footer-bottom a:hover{color:#fff;}
.footer-copy{font-family:'IBM Plex Mono',monospace;color:#6f7986;}

/* ── COOKIE BANNER ── */
#cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:200;background:var(--navy);color:#e4e7ea;padding:18px 32px;display:none;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;border-top:2px solid transparent;border-image:var(--accent-grad) 1;}
#cookie-banner p{font-size:13.5px;max-width:640px;color:#c7ccd2;}
#cookie-banner a{color:#ff9a5c;text-decoration:underline;}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;}
.cookie-actions button{font-family:'IBM Plex Sans',sans-serif;font-size:13px;font-weight:600;padding:10px 18px;cursor:pointer;border:none;}
#cookie-accept{background:var(--accent-grad);color:#fff;}
#cookie-decline{background:transparent;color:#c7ccd2;border:1px solid rgba(255,255,255,0.2)!important;}

@media (max-width:900px){
  .home-hero-inner{grid-template-columns:1fr;}
  .home-hero h1{font-size:36px;}
  .toolpath-wrap{max-width:280px;margin:0 auto;}
  .stat-strip .wrap{grid-template-columns:repeat(2,1fr);}
  .stat{border-bottom:1px solid rgba(255,255,255,0.1);}
  .sobre-grid,.salud-grid,.contact-grid{grid-template-columns:1fr;}
  .lines-grid{grid-template-columns:repeat(2,1fr);}
  .value-grid{grid-template-columns:1fr;}
  .clients-grid,.blog-grid{grid-template-columns:1fr 1fr;}
  .row2{grid-template-columns:1fr;}
  section{padding:64px 0;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .clients-grid,.blog-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
}
