/* ============================================================
   SIC CALIDAD — Design System v5
   Mobile-first · Crema · Rojo · Negro
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=Plus+Jakarta+Sans:wght@400;500;600&display=swap');

/* ============================================================
   RESET & BASE
   ============================================================ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
img{max-width:100%;height:auto;display:block;}
a{text-decoration:none;color:inherit;}
ul,ol{list-style:none;}
button{cursor:pointer;border:none;background:none;font-family:inherit;}

/* ============================================================
   VARIABLES — Mobile defaults, overridden in breakpoints
   ============================================================ */
:root{
  /* Palette */
  --cream:#F5F0E8; --cream-dark:#EDE8DF; --cream-mid:#E5DFD3;
  --black:#0D0D0D; --black-soft:#1A1A1A;
  --red:#CC2200; --red-dark:#A81B00; --red-light:#FFF0ED;
  --white:#FFFFFF;
  --gray:#6B6B64; --gray-light:#F0EDE6;
  --border:rgba(13,13,13,.1); --border-mid:rgba(13,13,13,.18);
  --border-2:rgba(13,13,13,.12);
  --navy:#0B2447; --navy-light:#163462;
  --teal:#00A878; --teal-dark:#008060; --teal-light:rgba(0,168,120,.1);
  --sand:#EDE8DF;

  /* Text — WCAG AA compliant on cream */
  --text-1:var(--black);
  --text-2:#4A4A44; /* was #555 — now 4.7:1 on cream */
  --text-3:#6B6B64; /* was #999 — now 3.5:1 */

  /* Typography */
  --font-display:'Barlow Condensed',Impact,sans-serif;
  --font-body:'Plus Jakarta Sans',system-ui,sans-serif;

  /* Layout — Mobile first */
  --container:1200px;
  --section-v:56px;
  --section-pad:56px 0;
  --gutter:5%;

  /* Radii */
  --r:6px; --r-sm:6px; --r-md:8px; --r-lg:12px; --r-xl:16px;

  /* Motion */
  --tr:.2s ease;

  /* Misc */
  --color-danger:#D93025;
}

body{font-family:var(--font-body);font-size:16px;color:var(--black);background:var(--cream);-webkit-font-smoothing:antialiased;line-height:1.6;}
.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);width:100%;}

/* Focus ring for keyboard nav */
:focus-visible{outline:2px solid var(--red);outline-offset:2px;border-radius:var(--r);}
a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none;}

/* ============================================================
   GRID UTILITIES — Replace inline style grids
   ============================================================ */
.grid{display:grid;gap:16px;}
.grid-2{grid-template-columns:1fr;}
.grid-3{grid-template-columns:1fr;}
.grid-4{grid-template-columns:1fr;}
.grid-2-dense{grid-template-columns:1fr;}
/* gap variants */
.gap-sm{gap:12px;}
.gap-md{gap:24px;}
.gap-lg{gap:48px;}
.gap-xl{gap:64px;}

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
.display-xl{font-family:var(--font-display);font-weight:900;font-size:clamp(48px,10vw,120px);line-height:.88;letter-spacing:-1px;text-transform:uppercase;}
.display-lg{font-family:var(--font-display);font-weight:900;font-size:clamp(36px,6vw,78px);line-height:.93;text-transform:uppercase;}
.display-md{font-family:var(--font-display);font-weight:800;font-size:clamp(26px,4vw,48px);line-height:1;text-transform:uppercase;}
.label{font-size:11px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--red);display:block;margin-bottom:14px;}
.section-tag{display:inline-block;font-size:11px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--red);margin-bottom:14px;}
.section-title{font-family:var(--font-display);font-weight:900;font-size:clamp(28px,4.5vw,52px);text-transform:uppercase;line-height:.95;margin-bottom:16px;}
.section-desc{font-size:16px;color:var(--text-2);line-height:1.75;max-width:600px;}
.section-head{display:flex;flex-direction:column;gap:16px;margin-bottom:32px;}
.section-header{margin-bottom:40px;}
.section-header-row{display:flex;flex-direction:column;gap:16px;}

/* ============================================================
   BUTTONS — Sized for touch (min 44px height)
   ============================================================ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:14px;letter-spacing:.5px;text-transform:uppercase;padding:14px 28px;border-radius:var(--r);transition:all var(--tr);white-space:nowrap;cursor:pointer;border:2px solid transparent;min-height:44px;}
.btn-red,.btn-primary{background:var(--red);color:var(--white);border-color:var(--red);}
.btn-red:hover,.btn-primary:hover{background:var(--red-dark);border-color:var(--red-dark);transform:translateY(-1px);box-shadow:0 6px 24px rgba(204,34,0,.25);}
.btn-red:active,.btn-primary:active{transform:translateY(0);box-shadow:none;}
.btn-black{background:var(--black);color:var(--white);border-color:var(--black);}
.btn-black:hover{background:var(--black-soft);transform:translateY(-1px);}
.btn-outline{background:transparent;color:var(--black);border-color:var(--black);}
.btn-outline:hover{background:var(--black);color:var(--white);}
.btn-outline-cream{background:transparent;color:var(--cream);border-color:rgba(245,240,232,.4);}
.btn-outline-cream:hover{background:var(--cream);color:var(--black);border-color:var(--cream);}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:700;font-size:13px;letter-spacing:.5px;text-transform:uppercase;color:var(--red);padding:10px 20px;border:1.5px solid rgba(204,34,0,.25);border-radius:var(--r);transition:all var(--tr);white-space:nowrap;min-height:44px;}
.btn-ghost:hover{background:var(--red);color:var(--white);border-color:var(--red);}
.btn-sm{padding:10px 20px;font-size:13px;min-height:40px;}
.btn-lg{padding:18px 36px;font-size:16px;}
.btn-white-solid{background:var(--white);color:var(--red);border-color:var(--white);}
.btn-white-solid:hover{background:var(--cream);color:var(--red-dark);}

/* ============================================================
   TOPBAR — Hidden on mobile, shown on desktop
   ============================================================ */
.topbar{display:none;background:var(--black);padding:8px var(--gutter);align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.topbar-item{display:flex;align-items:center;gap:6px;font-size:12px;color:rgba(255,255,255,.55);}
.topbar-item svg{width:13px;height:13px;opacity:.55;flex-shrink:0;}
.topbar-item a{color:rgba(255,255,255,.55);transition:color var(--tr);}
.topbar-item a:hover{color:var(--red);}
.topbar-sep{width:1px;height:13px;background:rgba(255,255,255,.15);}

/* ============================================================
   NAV
   ============================================================ */
.site-nav{position:sticky;top:0;z-index:1000;background:var(--cream);border-bottom:1.5px solid var(--border-mid);transition:box-shadow .3s ease;}
.nav-inner{padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;height:60px;}
.nav-logo{display:flex;align-items:center;}
.nav-logo-img{height:40px;width:auto;}
.footer-logo-img{height:36px;width:auto;filter:brightness(0) invert(1);}
.nav-links{display:none;} /* hidden on mobile */
.nav-link{padding:8px 11px;font-size:13px;font-weight:600;color:var(--black);border-radius:var(--r);transition:all var(--tr);}
.nav-link:hover{background:var(--cream-dark);}
.nav-link.active{color:var(--red);}
.nav-cta{background:var(--red)!important;color:var(--white)!important;padding:10px 18px!important;border-radius:var(--r)!important;margin-left:8px;font-family:var(--font-display);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.4px;}
.nav-cta:hover{background:var(--red-dark)!important;}
.nav-toggle{display:flex;flex-direction:column;gap:5px;padding:8px;cursor:pointer;min-width:44px;min-height:44px;align-items:center;justify-content:center;}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--black);border-radius:2px;transition:all var(--tr);}

/* Dropdown */
.nav-dropdown{position:relative;}
.nav-dropdown-trigger{display:inline-flex;align-items:center;gap:4px;background:none;font-family:inherit;}
.nav-dropdown-trigger svg{transition:transform var(--tr);margin-top:1px;}
.nav-dropdown-menu{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);padding-top:12px;z-index:100;}
.nav-dropdown-inner{background:var(--white);border:1.5px solid var(--border-mid);border-radius:var(--r-lg);box-shadow:0 16px 48px rgba(13,13,13,.12);padding:28px 32px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;min-width:600px;}
.nav-dropdown-col{display:flex;flex-direction:column;gap:4px;}
.nav-dropdown-heading{font-family:var(--font-display);font-weight:700;font-size:13px;text-transform:uppercase;color:var(--black);padding:6px 0;margin-bottom:4px;letter-spacing:.3px;border-bottom:1.5px solid var(--border);display:block;}
.nav-dropdown-heading:hover{color:var(--red);}
.nav-dropdown-link{font-size:13px;color:var(--text-2);padding:5px 0;transition:color var(--tr);display:block;}
.nav-dropdown-link:hover{color:var(--red);}

/* Desktop: show on hover */
@media(min-width:768px){
  .nav-dropdown:hover .nav-dropdown-menu{display:block;}
  .nav-dropdown:hover .nav-dropdown-trigger svg{transform:rotate(180deg);}
}

/* Mobile nav open */
.nav-links.open{display:flex;flex-direction:column;position:absolute;top:60px;left:0;right:0;background:var(--cream);border-bottom:1.5px solid var(--border-mid);padding:16px var(--gutter);gap:4px;box-shadow:0 8px 24px rgba(13,13,13,.12);z-index:999;max-height:80vh;overflow-y:auto;}
/* Mobile dropdown: always show, no absolute positioning */
.nav-links.open .nav-dropdown-menu{display:block;position:static;transform:none;padding-top:0;}
.nav-links.open .nav-dropdown-inner{display:flex;flex-direction:column;gap:16px;min-width:0;border:none;box-shadow:none;padding:12px 0 12px 12px;background:transparent;}
.nav-links.open .nav-dropdown-col{gap:2px;}
.nav-links.open .nav-dropdown-heading{font-size:12px;padding:4px 0;margin-bottom:2px;}
.nav-links.open .nav-dropdown-link{font-size:12px;padding:4px 0;}

/* ============================================================
   HERO
   ============================================================ */
.hero{display:grid;grid-template-columns:1fr;min-height:auto;}
.hero-left{background:var(--cream);padding:40px var(--gutter) 48px;display:flex;flex-direction:column;justify-content:center;}
.hero-left::after{display:none;}
.hero-right{position:relative;overflow:hidden;background:var(--black);height:300px;}
.hero-img-bg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#2a2a2a 0%,#111 100%);font-size:80px;}
.hero-img-real{width:100%;height:100%;object-fit:cover;display:block;}
.hero-right-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(245,240,232,.08) 0%,transparent 40%),linear-gradient(to top,rgba(0,0,0,.4) 0%,transparent 50%);pointer-events:none;}
.hero-right-badge{position:absolute;bottom:20px;left:20px;background:var(--red);color:var(--white);padding:12px 16px;border-radius:var(--r);}
.hero-right-badge strong{display:block;font-family:var(--font-display);font-weight:900;font-size:24px;line-height:1;margin-bottom:2px;}
.hero-right-badge span{font-size:10px;opacity:.85;letter-spacing:.5px;}
.hero-title{margin-bottom:18px;}
.hero-title .red{color:var(--red);}
.hero-desc{font-size:15px;color:var(--text-2);line-height:1.75;max-width:460px;margin-bottom:28px;}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:36px;}
.hero-proof{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-top:24px;border-top:1px solid var(--border);}
.hero-proof-num{font-family:var(--font-display);font-weight:900;font-size:26px;color:var(--black);line-height:1;margin-bottom:2px;}
.hero-proof-num em{color:var(--red);font-style:normal;}
.hero-proof-lbl{font-size:11px;color:var(--gray);letter-spacing:.3px;}
.hero-proof-sep{display:none;} /* shown on desktop */

/* ============================================================
   CERT BAR / TRUST BAR
   ============================================================ */
.cert-bar,.trust-bar{background:var(--black);padding:12px var(--gutter);display:flex;flex-direction:column;gap:10px;}
.cert-bar-label,.trust-label{font-size:10px;font-weight:600;color:rgba(255,255,255,.3);letter-spacing:2px;text-transform:uppercase;white-space:nowrap;}
.cert-bar-sep,.trust-sep{display:none;}
.cert-bar-items,.trust-certs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.cert-pill,.cert-chip{display:flex;align-items:center;gap:5px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);padding:4px 10px;border-radius:100px;font-family:var(--font-display);font-size:10px;font-weight:700;color:rgba(255,255,255,.65);letter-spacing:.5px;text-transform:uppercase;}
.cert-pill-dot,.cert-chip-dot{width:4px;height:4px;border-radius:50%;background:var(--red);flex-shrink:0;}

/* ============================================================
   SECTIONS
   ============================================================ */
.section{padding:var(--section-v) var(--gutter);}
.section-white{background:var(--white);}
.section-black{background:var(--black);}
.section-cream{background:var(--cream);}
.section-cream-dark{background:var(--cream-dark);}

/* ============================================================
   SERVICE GRID (homepage)
   ============================================================ */
.services-grid{display:grid;grid-template-columns:1fr;gap:2px;background:var(--border-mid);border:1.5px solid var(--border-mid);border-radius:10px;overflow:hidden;}
.srv-card{background:var(--cream);padding:28px 24px;transition:background var(--tr);position:relative;}
.srv-card:hover{background:var(--white);}
.srv-num{font-family:var(--font-display);font-weight:900;font-size:48px;color:var(--border);line-height:1;margin-bottom:10px;transition:color var(--tr);}
.srv-card:hover .srv-num{color:var(--red);}
.srv-title{font-family:var(--font-display);font-weight:800;font-size:22px;text-transform:uppercase;color:var(--black);line-height:1;margin-bottom:10px;}
.srv-desc{font-size:14px;color:var(--text-2);line-height:1.7;margin-bottom:16px;}
.srv-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px;}
.srv-tag{font-size:10px;font-weight:600;background:var(--cream-dark);color:var(--gray);padding:3px 10px;border-radius:100px;text-transform:uppercase;letter-spacing:.5px;}
.srv-arrow{position:absolute;top:24px;right:24px;color:var(--red);transition:transform var(--tr);}
.srv-arrow svg{width:18px;height:18px;}
.srv-card:hover .srv-arrow{transform:translate(3px,-3px);}
.srv-cta{font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--red);text-transform:uppercase;letter-spacing:.5px;display:inline-flex;align-items:center;gap:6px;transition:gap var(--tr);}
.srv-card:hover .srv-cta{gap:10px;}

/* ============================================================
   STATS BAND
   ============================================================ */
.stats-band{background:var(--black);display:grid;grid-template-columns:1fr 1fr;overflow:hidden;}
.stat-block{padding:32px 24px;border-bottom:1px solid rgba(255,255,255,.07);}
.stat-block:nth-child(odd){border-right:1px solid rgba(255,255,255,.07);}
.stat-num{font-family:var(--font-display);font-weight:900;font-size:42px;color:var(--white);line-height:1;margin-bottom:8px;}
.stat-num em{color:var(--red);font-style:normal;}
.stat-lbl{font-size:12px;color:rgba(255,255,255,.45);line-height:1.5;}

/* ============================================================
   PAGE HERO (interior)
   ============================================================ */
.page-hero{background:var(--black);padding:40px var(--gutter) 48px;position:relative;overflow:hidden;}
.page-hero::after{content:'';position:absolute;top:0;right:0;width:50%;height:100%;background:linear-gradient(to right,transparent,rgba(204,34,0,.05));pointer-events:none;}
.page-hero-inner{position:relative;z-index:1;max-width:var(--container);margin:0 auto;}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:12px;color:rgba(255,255,255,.3);margin-bottom:20px;flex-wrap:wrap;}
.breadcrumb a{color:rgba(255,255,255,.3);transition:color var(--tr);}
.breadcrumb a:hover{color:var(--red);}
.breadcrumb-sep{opacity:.25;}
.page-hero h1{font-family:var(--font-display);font-weight:900;font-size:clamp(32px,7vw,76px);color:var(--white);line-height:.95;text-transform:uppercase;margin-bottom:16px;max-width:800px;}
.page-hero h1 span{color:var(--red);}
.page-hero p{font-size:15px;color:rgba(255,255,255,.6);max-width:580px;line-height:1.75;margin-bottom:24px;}
.page-hero-actions{display:flex;gap:12px;flex-wrap:wrap;}

/* ============================================================
   SUBNAV
   ============================================================ */
.subnav{background:var(--cream-dark);border-bottom:1.5px solid var(--border-mid);padding:0 var(--gutter);display:flex;gap:0;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.subnav a{padding:13px 16px;font-size:11px;font-weight:600;color:var(--gray);white-space:nowrap;border-bottom:2px solid transparent;transition:all var(--tr);text-transform:uppercase;letter-spacing:.7px;}
.subnav a:hover{color:var(--black);}
.subnav a.active{color:var(--red);border-bottom-color:var(--red);}

/* ============================================================
   SUB CARDS (interior pages)
   ============================================================ */
.sub-services{padding:var(--section-v) 0;}
.sub-grid{display:grid;grid-template-columns:1fr;gap:16px;}
.sub-card{background:var(--white);border:1.5px solid var(--border);border-radius:10px;padding:24px;transition:all var(--tr);}
.sub-card:hover{border-color:var(--red);transform:translateY(-2px);box-shadow:0 8px 32px rgba(13,13,13,.06);}
.sub-icon{width:48px;height:48px;background:var(--red-light);border-radius:var(--r);display:flex;align-items:center;justify-content:center;margin-bottom:14px;color:var(--red);}
.sub-icon svg{width:24px;height:24px;}
.sub-card h3{font-family:var(--font-display);font-weight:700;font-size:19px;text-transform:uppercase;margin-bottom:8px;line-height:1.15;}
.sub-card p{font-size:13px;color:var(--text-2);line-height:1.65;margin-bottom:14px;}

/* ============================================================
   CERT GRID (consultoria)
   ============================================================ */
.cert-grid{display:grid;grid-template-columns:1fr;gap:16px;}
.cert-card{background:var(--white);border:1.5px solid var(--border);border-radius:10px;padding:24px;transition:all var(--tr);}
.cert-card:hover{border-color:var(--red);transform:translateY(-2px);box-shadow:0 8px 32px rgba(13,13,13,.06);}
.cert-badge{display:inline-block;font-family:var(--font-display);font-weight:900;font-size:11px;background:var(--black);color:var(--white);padding:5px 12px;border-radius:4px;letter-spacing:.5px;text-transform:uppercase;margin-bottom:12px;}
.cert-card h3{font-family:var(--font-display);font-weight:700;font-size:18px;text-transform:uppercase;margin-bottom:8px;line-height:1.15;}
.cert-card p{font-size:13px;color:var(--text-2);line-height:1.65;margin-bottom:0;}

/* Home cert cards */
.cert-link-pill{display:inline-flex;align-items:center;font-size:12px;background:var(--white);border:1.5px solid var(--border);padding:8px 16px;border-radius:100px;color:var(--text-2);transition:all var(--tr);}
.cert-link-pill:hover{border-color:var(--red);color:var(--red);}
.home-cert-card{display:block;background:var(--white);border:1.5px solid var(--border);border-radius:10px;padding:20px;transition:all var(--tr);cursor:pointer;}
.home-cert-card:hover{border-color:var(--red);transform:translateY(-2px);box-shadow:0 8px 32px rgba(13,13,13,.06);}
.home-cert-code{font-family:var(--font-display);font-weight:900;font-size:12px;background:var(--black);color:var(--white);padding:4px 10px;border-radius:4px;display:inline-block;margin-bottom:10px;letter-spacing:.5px;}
.home-cert-title{font-family:var(--font-display);font-weight:700;font-size:16px;text-transform:uppercase;margin-bottom:6px;}
.home-cert-desc{font-size:12px;color:var(--text-2);line-height:1.6;margin:0;}

/* ============================================================
   CONTENT SPLIT
   ============================================================ */
.content-split{overflow:hidden;}
.bg-sand{background:var(--sand);}
.content-feature-list{display:flex;flex-direction:column;gap:12px;margin-top:16px;}
.content-feature-item{display:flex;align-items:flex-start;gap:12px;font-size:14px;color:var(--text-2);line-height:1.6;}
.cf-dot{width:22px;height:22px;flex-shrink:0;background:var(--red-light);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:1px;}
.cf-dot::after{content:'';width:7px;height:7px;background:var(--red);border-radius:50%;}
.content-img{border-radius:var(--r-xl);padding:28px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;min-height:280px;overflow:hidden;}
.content-img>span{font-size:80px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.15;}
.content-img-label{position:relative;z-index:1;}
.content-img-label strong{display:block;font-family:var(--font-display);font-size:14px;color:var(--white);margin-bottom:4px;}
.content-img-label span{font-size:11px;color:rgba(255,255,255,.5);}

/* ============================================================
   BLOG
   ============================================================ */
.blog-grid{display:grid;grid-template-columns:1fr;gap:16px;}
.blog-card{background:var(--white);border:1.5px solid var(--border);border-radius:10px;overflow:hidden;transition:all var(--tr);}
.blog-card:hover{border-color:var(--red);transform:translateY(-2px);box-shadow:0 8px 32px rgba(13,13,13,.06);}
.blog-thumb{height:160px;display:flex;align-items:flex-end;padding:14px;position:relative;}
.blog-thumb.green{background:linear-gradient(135deg,#1a4a30,#2d7a4f);}
.blog-thumb.navy{background:linear-gradient(135deg,#0a1628,#1e3456);}
.blog-thumb.amber{background:linear-gradient(135deg,#4a2800,#8a4e00);}
.blog-thumb.red{background:linear-gradient(135deg,#4a0a00,#8a1500);}
.blog-thumb.purple{background:linear-gradient(135deg,#2d0a4a,#5c1a8a);}
.blog-cat{font-size:10px;font-weight:700;background:rgba(255,255,255,.2);color:var(--white);padding:4px 10px;border-radius:100px;text-transform:uppercase;letter-spacing:1px;position:relative;z-index:1;}
.blog-body{padding:20px;}
.blog-meta{font-size:11px;color:var(--gray);margin-bottom:8px;display:flex;gap:8px;}
.blog-card h3{font-family:var(--font-display);font-weight:700;font-size:18px;text-transform:uppercase;margin-bottom:8px;line-height:1.15;}
.blog-card h3 a{color:var(--black);transition:color var(--tr);}
.blog-card h3 a:hover{color:var(--red);}
.blog-card p{font-size:13px;color:var(--text-2);line-height:1.65;}

/* Blog filters */
.blog-filter-btn{padding:8px 16px;border-radius:100px;border:1px solid var(--border);font-size:13px;font-weight:500;cursor:pointer;background:var(--white);color:var(--text-2);font-family:var(--font-body);transition:all .2s;min-height:40px;}
.blog-filter-btn.active,.blog-filter-btn:hover{background:var(--black);color:white;border-color:var(--black);}
.blog-featured{background:var(--navy);border-radius:var(--r-xl);padding:28px;display:grid;grid-template-columns:1fr;gap:24px;align-items:center;margin-bottom:32px;}
.blog-featured-img{border-radius:var(--r-lg);height:200px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(135deg,rgba(0,168,120,.2),rgba(0,168,120,.05));}
.page-num{width:40px;height:40px;border:1px solid var(--border);border-radius:var(--r);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--text-2);transition:all var(--tr);}
.page-num:hover{border-color:var(--red);color:var(--red);}
.page-num.active{background:var(--black);color:white;border-color:var(--black);}
.newsletter-input{flex:1;min-width:200px;padding:12px 16px;border:1.5px solid var(--border);border-radius:var(--r);font-family:var(--font-body);font-size:14px;outline:none;background:var(--white);transition:border-color var(--tr);min-height:44px;}
.newsletter-input:focus{border-color:var(--red);}

/* ============================================================
   CTA BAND
   ============================================================ */
.cta-band{background:var(--red);padding:48px var(--gutter);display:grid;grid-template-columns:1fr;gap:24px;align-items:center;}
.cta-band h2{font-family:var(--font-display);font-weight:900;font-size:clamp(28px,4.5vw,60px);color:var(--white);text-transform:uppercase;line-height:.93;}
.cta-band p{font-size:15px;color:rgba(255,255,255,.75);margin-top:8px;}
.cta-band-actions{display:flex;gap:12px;flex-wrap:wrap;}

/* ============================================================
   FAQ
   ============================================================ */
.faq-section{padding:var(--section-v) 0;}
.faq-list{display:flex;flex-direction:column;gap:2px;}
.faq-item{border:1.5px solid var(--border);border-radius:var(--r);background:var(--white);overflow:hidden;transition:border-color var(--tr);}
.faq-item.open{border-color:var(--red);}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;width:100%;text-align:left;font-family:var(--font-display);font-weight:700;font-size:15px;text-transform:uppercase;color:var(--black);gap:12px;background:transparent;min-height:44px;}
.faq-q svg{width:18px;height:18px;color:var(--red);flex-shrink:0;transition:transform var(--tr);}
.faq-item.open .faq-q svg{transform:rotate(180deg);}
.faq-a{display:none;padding:0 20px 16px;font-size:14px;color:var(--text-2);line-height:1.75;border-top:1px solid var(--border);padding-top:14px;}
.faq-item.open .faq-a{display:block;}

/* ============================================================
   CONTACT
   ============================================================ */
.contact-section{padding:var(--section-v) 0;}
.contact-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:start;}
.contact-info{display:flex;flex-direction:column;gap:24px;margin-top:24px;}
.contact-info-list{display:flex;flex-direction:column;gap:24px;margin-top:24px;}
.contact-item{display:flex;gap:14px;}
.contact-icon{width:44px;height:44px;flex-shrink:0;background:var(--red-light);border-radius:var(--r);display:flex;align-items:center;justify-content:center;}
.contact-icon svg{width:20px;height:20px;color:var(--red);}
.contact-item h4{font-size:10px;font-weight:600;color:var(--gray);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:4px;}
.contact-item p,.contact-item a{font-size:15px;color:var(--black);}
.contact-item a:hover{color:var(--red);}
.contact-form-card,.form-card{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r-lg);padding:28px;position:static;}
.contact-form-card h3,.form-card h3{font-family:var(--font-display);font-weight:800;font-size:24px;text-transform:uppercase;margin-bottom:6px;}
.contact-form-card>p,.form-card>p{font-size:13px;color:var(--gray);margin-bottom:24px;}
.form-row{display:grid;grid-template-columns:1fr;gap:14px;}
.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;}
.form-group label{font-size:10px;font-weight:600;color:var(--black);letter-spacing:1px;text-transform:uppercase;}
.form-group input,.form-group select,.form-group textarea{padding:12px 14px;border:1.5px solid var(--border-mid);border-radius:var(--r);font-size:16px;font-family:var(--font-body);color:var(--black);background:var(--cream);transition:border-color var(--tr);outline:none;width:100%;min-height:44px;-webkit-appearance:none;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--red);background:var(--white);}
.form-group textarea{resize:vertical;min-height:110px;}
.form-check{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;}
.form-check input[type=checkbox]{margin-top:3px;accent-color:var(--red);flex-shrink:0;width:18px;height:18px;}
.form-check label{font-size:12px;color:var(--gray);line-height:1.5;}
.form-check a{color:var(--red);}
.form-submit{width:100%;justify-content:center;}
.map-placeholder{background:var(--navy);border-radius:var(--r-lg);height:180px;display:flex;align-items:center;justify-content:center;overflow:hidden;}

/* ============================================================
   FEATURE LIST
   ============================================================ */
.feature-list{display:flex;flex-direction:column;gap:12px;margin-top:16px;}
.feature-item{display:flex;align-items:flex-start;gap:12px;font-size:14px;color:var(--text-2);}
.fi-dot{width:22px;height:22px;flex-shrink:0;background:var(--red-light);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:1px;}
.fi-dot::after{content:'';width:7px;height:7px;background:var(--red);border-radius:50%;}

/* Service tags */
.service-tags{display:flex;flex-wrap:wrap;gap:6px;}
.tag{font-size:10px;font-weight:600;background:var(--cream-dark);color:var(--gray);padding:3px 10px;border-radius:100px;text-transform:uppercase;letter-spacing:.5px;}

/* ============================================================
   DELEGACIONES
   ============================================================ */
.delegations-grid{display:grid;grid-template-columns:1fr;gap:16px;}
.delegation-card{background:var(--white);border:1.5px solid var(--border);border-radius:10px;padding:24px;transition:border-color var(--tr);}
.delegation-card:hover{border-color:var(--red);}
.delegation-card h3{font-family:var(--font-display);font-weight:700;font-size:18px;text-transform:uppercase;margin-bottom:12px;}
.delegation-detail{display:flex;gap:8px;font-size:13px;color:var(--text-2);margin-bottom:8px;align-items:flex-start;}
.delegation-detail svg{width:14px;height:14px;flex-shrink:0;color:var(--red);margin-top:2px;}

/* See all */
.see-all{font-family:var(--font-display);font-size:13px;font-weight:700;color:var(--red);text-transform:uppercase;letter-spacing:.5px;display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border:1.5px solid rgba(204,34,0,.25);border-radius:var(--r);transition:all var(--tr);white-space:nowrap;min-height:44px;}
.see-all:hover{background:var(--red);color:var(--white);border-color:var(--red);}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{background:var(--black);padding:48px var(--gutter) 24px;}
.footer-top{max-width:var(--container);margin:0 auto;display:grid;grid-template-columns:1fr;gap:32px;margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.07);}
.footer-brand-logo{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.footer-brand-logo strong{font-family:var(--font-display);font-weight:800;font-size:18px;text-transform:uppercase;color:var(--white);}
.footer-about{font-size:13px;color:rgba(255,255,255,.45);line-height:1.8;max-width:300px;margin-bottom:20px;}
.footer-contact-items{display:flex;flex-direction:column;gap:8px;}
.footer-contact-item{display:flex;gap:8px;align-items:center;font-size:13px;color:rgba(255,255,255,.5);}
.footer-contact-item svg{width:13px;height:13px;color:var(--red);flex-shrink:0;}
.footer-contact-item a{color:rgba(255,255,255,.5);transition:color var(--tr);}
.footer-contact-item a:hover{color:var(--red);}
.footer-col h4{font-family:var(--font-display);font-size:12px;font-weight:700;color:var(--white);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:14px;}
.footer-col ul{display:flex;flex-direction:column;gap:8px;}
.footer-col ul a{font-size:13px;color:rgba(255,255,255,.45);transition:color var(--tr);}
.footer-col ul a:hover{color:var(--red);}
.footer-bottom{max-width:var(--container);margin:0 auto;display:flex;flex-direction:column;gap:8px;text-align:center;}
.footer-bottom p{font-size:11px;color:rgba(255,255,255,.25);}
.footer-legal{display:flex;gap:16px;justify-content:center;}
.footer-legal a{font-size:11px;color:rgba(255,255,255,.25);transition:color var(--tr);}
.footer-legal a:hover{color:var(--red);}

/* ============================================================
   TYPEFORM MODAL
   ============================================================ */
.tf-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;}
.tf-modal.open{opacity:1;visibility:visible;}
.tf-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}
.tf-modal-content{position:relative;width:94%;max-width:680px;height:85vh;max-height:700px;background:var(--white);border-radius:var(--r-xl);overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.25);transform:translateY(20px) scale(.97);transition:transform .3s ease;}
.tf-modal.open .tf-modal-content{transform:translateY(0) scale(1);}
.tf-modal-close{position:absolute;top:12px;right:12px;z-index:10;width:40px;height:40px;background:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.15);cursor:pointer;transition:all var(--tr);border:none;}
.tf-modal-close:hover{background:var(--cream);transform:scale(1.05);}

@media(max-width:767px){
  .tf-modal-content{width:100%;height:100%;max-width:100%;max-height:100%;border-radius:0;}
  .tf-modal-close{top:8px;right:8px;}
}

/* ============================================================
   WHATSAPP
   ============================================================ */
.wa-float{position:fixed;bottom:20px;right:20px;z-index:999;}
.wa-btn{width:52px;height:52px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 18px rgba(37,211,102,.4);transition:transform var(--tr);}
.wa-btn:hover{transform:scale(1.08);}
.wa-btn svg{width:28px;height:28px;fill:white;}

/* ============================================================
   LAB COMPONENTS
   ============================================================ */
.analysis-item{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:12px 16px;font-size:13px;color:var(--text-2);display:flex;align-items:center;gap:10px;}
.analysis-dot{width:6px;height:6px;background:var(--red);border-radius:50%;flex-shrink:0;}
.top-analysis-card{background:var(--black);border-radius:var(--r-lg);padding:28px;}
.top-analysis-label{font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:16px;}
.top-analysis-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.07);}
.top-analysis-icon{width:32px;height:32px;background:rgba(204,34,0,.15);border-radius:var(--r);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.top-analysis-icon svg{width:16px;height:16px;color:var(--red);}
.top-analysis-name{font-size:13px;color:rgba(255,255,255,.7);flex:1;}
.top-analysis-badge{font-size:9px;font-weight:700;background:rgba(204,34,0,.25);color:var(--red);padding:2px 8px;border-radius:100px;white-space:nowrap;flex-shrink:0;text-transform:uppercase;letter-spacing:.5px;}

/* Dark info cards */
.dark-info-card{background:var(--navy);border-radius:var(--r-xl);padding:28px;}
.dark-info-title{font-family:var(--font-display);font-size:17px;color:var(--white);margin-bottom:20px;}
.dark-info-item{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:13px;color:rgba(255,255,255,.7);}
.dark-check{width:20px;height:20px;background:rgba(0,168,120,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.dark-check svg{width:10px;height:10px;}

/* Stat cards */
.stat-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);padding:20px;}
.stat-card-num{font-family:var(--font-display);font-size:32px;color:var(--white);margin-bottom:6px;}
.stat-card-num.teal{color:var(--teal);}
.stat-card-lbl{font-size:12px;color:rgba(255,255,255,.45);}

/* Credential cards */
.cred-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:16px;transition:border-color var(--tr);}
.cred-card:hover{border-color:var(--red);}
.cred-icon{width:48px;height:48px;background:var(--red-light);border-radius:var(--r);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--red);}
.cred-icon svg{width:22px;height:22px;}
.cred-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px;}
.cred-card h3{font-size:16px;line-height:1.3;}
.cred-badge{font-size:10px;font-weight:600;background:var(--navy);color:white;padding:3px 10px;border-radius:100px;white-space:nowrap;flex-shrink:0;}
.cred-card p{font-size:13px;color:var(--text-2);line-height:1.65;}

/* MVV cards */
.mvv-card{background:var(--sand);border-radius:var(--r-lg);padding:28px;}
.mvv-icon{width:48px;height:48px;background:var(--red-light);border-radius:var(--r);display:flex;align-items:center;justify-content:center;margin-bottom:14px;color:var(--red);}
.mvv-icon svg{width:22px;height:22px;}
.mvv-card h3{font-family:var(--font-display);font-size:19px;text-transform:uppercase;margin-bottom:10px;}
.mvv-card p{font-size:14px;color:var(--text-2);line-height:1.7;}

/* Timeline */
.timeline{display:flex;flex-direction:column;}
.timeline-item{display:flex;gap:16px;position:relative;}
.timeline-marker{display:flex;flex-direction:column;align-items:center;}
.timeline-dot{width:32px;height:32px;background:var(--red);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1;}
.timeline-dot::after{content:'';width:10px;height:10px;background:white;border-radius:50%;}
.timeline-line{width:2px;flex:1;background:var(--border);margin:4px 0;min-height:24px;}
.timeline-content{padding-bottom:20px;}
.timeline-year{font-family:var(--font-display);font-size:17px;color:var(--red);margin-bottom:4px;}
.timeline-text{font-size:13px;color:var(--text-2);line-height:1.6;}

/* Sector cards */
.sector-card{background:var(--sand);border:1px solid var(--border);border-radius:var(--r-md);padding:16px;text-align:center;font-size:13px;color:var(--text-2);line-height:1.4;transition:border-color var(--tr);}
.sector-card:hover{border-color:var(--red);}
.sector-icon{width:36px;height:36px;background:var(--red-light);border-radius:var(--r);display:flex;align-items:center;justify-content:center;margin:0 auto 8px;color:var(--red);}
.sector-icon svg{width:18px;height:18px;}

/* Guarantee items */
.guarantee-item{display:flex;gap:12px;align-items:flex-start;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:var(--r-md);padding:12px 14px;}
.guarantee-check{width:20px;height:20px;background:rgba(0,168,120,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.guarantee-check svg{width:10px;height:10px;}
.guarantee-text{font-size:13px;color:rgba(255,255,255,.65);margin:0;line-height:1.6;}

/* ============================================================
   CONSULTORIA PAGE COMPONENTS — Modern card system
   ============================================================ */

/* Benefit cards (2-col grid) */
.benefit-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:32px;}
.benefit-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px;display:flex;gap:16px;align-items:flex-start;transition:all var(--tr);}
.benefit-card:hover{border-color:var(--red);box-shadow:0 4px 20px rgba(13,13,13,.06);}
.benefit-icon{width:44px;height:44px;flex-shrink:0;background:var(--teal-light);border-radius:var(--r);display:flex;align-items:center;justify-content:center;color:var(--teal);}
.benefit-icon svg{width:22px;height:22px;}
.benefit-card h3{font-family:var(--font-display);font-size:16px;font-weight:700;text-transform:uppercase;margin-bottom:6px;line-height:1.2;}
.benefit-card p{font-size:13px;color:var(--text-2);line-height:1.6;margin:0;}

/* Numbered requirement cards (replaces flat bullet lists) */
.req-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:24px;}
.req-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-md);padding:16px 20px;display:flex;gap:16px;align-items:center;transition:all var(--tr);}
.req-card:hover{border-color:var(--red);}
.req-num{font-family:var(--font-display);font-weight:900;font-size:20px;color:var(--red);flex-shrink:0;width:32px;text-align:center;line-height:1;}
.req-text{font-size:14px;color:var(--text-1);line-height:1.4;}

/* Sector pills (replaces flat divider lists) */
.sector-strip{background:var(--black);border-radius:var(--r-xl);padding:32px;margin-top:32px;}
.sector-strip-title{font-family:var(--font-display);font-size:14px;font-weight:700;color:rgba(255,255,255,.35);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:20px;}
.sector-pills{display:flex;flex-wrap:wrap;gap:8px;}
.sector-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.7);padding:10px 18px;border-radius:100px;font-size:13px;font-weight:500;transition:all var(--tr);}
.sector-pill:hover{background:rgba(255,255,255,.12);color:var(--white);}
.sector-pill svg{width:16px;height:16px;opacity:.5;}

/* Process steps (horizontal on desktop) */
.process-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:28px;counter-reset:step;}
.process-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px;position:relative;transition:all var(--tr);}
.process-card:hover{border-color:var(--red);transform:translateY(-2px);box-shadow:0 6px 24px rgba(13,13,13,.06);}
.process-card::before{counter-increment:step;content:counter(step,decimal-leading-zero);font-family:var(--font-display);font-weight:900;font-size:40px;color:var(--cream-dark);line-height:1;margin-bottom:12px;display:block;transition:color var(--tr);}
.process-card:hover::before{color:var(--red);}
.process-card h3{font-family:var(--font-display);font-size:17px;font-weight:700;text-transform:uppercase;margin-bottom:8px;line-height:1.15;}
.process-card p{font-size:13px;color:var(--text-2);line-height:1.6;margin:0;}

/* Highlight band (key facts on dark bg) */
.highlight-band{background:var(--navy);padding:40px var(--gutter);margin:0 calc(-1 * var(--gutter));border-radius:0;}
.highlight-band .container{display:grid;grid-template-columns:1fr;gap:20px;}
.highlight-item{display:flex;gap:14px;align-items:flex-start;}
.highlight-num{font-family:var(--font-display);font-weight:900;font-size:32px;color:var(--white);line-height:1;flex-shrink:0;}
.highlight-num em{color:var(--red);font-style:normal;}
.highlight-text{font-size:13px;color:rgba(255,255,255,.55);line-height:1.5;padding-top:6px;}

/* ============================================================
   TABLET — 768px+
   ============================================================ */
@media(min-width:768px){
  :root{--section-v:72px;--section-pad:72px 0;}

  .topbar{display:flex;}
  .nav-inner{height:64px;}
  .nav-logo-img{height:46px;}
  .nav-links{display:flex;align-items:center;gap:2px;}
  .nav-toggle{display:none;}

  .hero{grid-template-columns:1fr 1fr;min-height:500px;max-height:750px;}
  .hero-left{padding:48px 5%;}
  .hero-left::after{content:'';display:block;position:absolute;top:0;right:0;width:1.5px;height:100%;background:var(--border-mid);}
  .hero-right{height:auto;}
  .hero-proof{display:flex;gap:24px;grid-template-columns:none;}
  .hero-proof-sep{display:block;}
  .hero-desc{font-size:16px;}

  .cert-bar,.trust-bar{flex-direction:row;align-items:center;justify-content:center;padding:14px var(--gutter);}
  .cert-bar-sep,.trust-sep{display:block;}
  .cert-pill,.cert-chip{font-size:11px;padding:5px 12px;}

  .services-grid{grid-template-columns:repeat(2,1fr);}
  .srv-card{padding:32px 36px;}
  .srv-num{font-size:56px;}
  .srv-title{font-size:24px;}

  .stats-band{grid-template-columns:repeat(4,1fr);}
  .stat-block{padding:40px 32px;border-bottom:none;border-right:1px solid rgba(255,255,255,.07);}
  .stat-block:nth-child(odd){border-right:1px solid rgba(255,255,255,.07);}
  .stat-block:last-child{border-right:none;}
  .stat-num{font-size:52px;}

  .page-hero{padding:56px var(--gutter) 64px;}
  .page-hero p{font-size:17px;}

  .sub-grid{grid-template-columns:repeat(2,1fr);}
  .cert-grid{grid-template-columns:repeat(2,1fr);}
  .blog-grid{grid-template-columns:repeat(2,1fr);}
  .delegations-grid{grid-template-columns:repeat(3,1fr);}
  .blog-featured{grid-template-columns:1fr 1fr;padding:40px;gap:40px;}
  .blog-featured-img{height:220px;}
  .grid-2{grid-template-columns:1fr 1fr;}
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .grid-2-dense{grid-template-columns:1fr 1fr;}

  .contact-grid{grid-template-columns:1fr 380px;gap:56px;}
  .contact-form-card,.form-card{position:sticky;top:80px;padding:32px;}
  .form-row{grid-template-columns:1fr 1fr;}
  .form-group input,.form-group select,.form-group textarea{font-size:14px;}

  .cta-band{grid-template-columns:1fr auto;padding:64px var(--gutter);gap:40px;}

  .footer-top{grid-template-columns:1fr 1fr 1fr;gap:32px;}
  .footer-brand{grid-column:1/-1;}
  .footer-bottom{flex-direction:row;text-align:left;}
  .footer-legal{justify-content:flex-end;}

  .faq-q{padding:18px 24px;font-size:16px;}
  .faq-a{padding:0 24px 18px;padding-top:14px;}

  .cred-card{flex-direction:row;}

  .section-head{flex-direction:row;align-items:flex-end;}
  .section-header-row{flex-direction:row;align-items:flex-end;}

  /* Consultoria components tablet */
  .benefit-grid{grid-template-columns:1fr 1fr;}
  .req-grid{grid-template-columns:1fr 1fr;}
  .process-grid{grid-template-columns:1fr 1fr;}
  .highlight-band .container{grid-template-columns:repeat(3,1fr);}
  .highlight-band{border-radius:var(--r-xl);margin:0;padding:40px;}
  .sector-strip{padding:36px;}
}

/* ============================================================
   DESKTOP — 1024px+
   ============================================================ */
@media(min-width:1024px){
  :root{--section-v:88px;--section-pad:88px 0;}

  .nav-inner{height:68px;}
  .nav-logo-img{height:50px;}
  .footer-logo-img{height:40px;}
  .hero{max-height:860px;min-height:calc(100vh - 108px);}
  .hero-left{padding:72px 6% 72px 5%;}
  .hero-right-badge strong{font-size:30px;}
  .hero-right-badge{bottom:32px;left:32px;padding:14px 20px;}
  .hero-proof-num{font-size:30px;}

  .srv-card{padding:36px 40px;}
  .srv-num{font-size:64px;}
  .srv-title{font-size:26px;}

  .stat-block{padding:48px 36px;}
  .stat-num{font-size:56px;}

  .page-hero{padding:64px var(--gutter) 72px;}

  .sub-grid{grid-template-columns:repeat(3,1fr);}
  .cert-grid{grid-template-columns:repeat(3,1fr);}
  .blog-grid{grid-template-columns:repeat(3,1fr);}
  .grid-3{grid-template-columns:repeat(3,1fr);}
  .grid-4{grid-template-columns:repeat(4,1fr);}

  .contact-grid{grid-template-columns:1fr 420px;gap:72px;}
  .contact-form-card,.form-card{padding:36px;}
  .contact-form-card h3,.form-card h3{font-size:26px;}

  .cta-band{padding:72px var(--gutter);}

  .blog-featured{padding:48px;gap:48px;}
  .blog-featured-img{height:240px;}

  .faq-q{padding:20px 24px;font-size:17px;}

  .footer-top{grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;}
  .footer-brand{grid-column:auto;}

  /* Consultoria components desktop */
  .process-grid{grid-template-columns:repeat(4,1fr);}
  .highlight-band{padding:48px;}
  .highlight-num{font-size:36px;}

  .top-analysis-card{padding:36px;}
  .dark-info-card{padding:36px;}

  .wa-float{bottom:28px;right:28px;}
  .wa-btn{width:56px;height:56px;}
  .wa-btn svg{width:30px;height:30px;}
}

/* ============================================================
   WIDE — 1280px+ (polish)
   ============================================================ */
@media(min-width:1280px){
  .hero-left{padding:80px 6% 80px 5%;}
}

/* ============================================================
   Inline grid overrides (for pages using style attributes)
   ============================================================ */
@media(max-width:767px){
  [style*="grid-template-columns:repeat(4"]{grid-template-columns:1fr 1fr!important;}
  [style*="grid-template-columns:repeat(3"]{grid-template-columns:1fr!important;}
  [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important;}
  [style*="gap:72px"]{gap:32px!important;}
  [style*="gap:64px"]{gap:32px!important;}
}
@media(max-width:479px){
  [style*="grid-template-columns:repeat(4"]{grid-template-columns:1fr!important;}
  [style*="grid-template-columns:repeat(2"]{grid-template-columns:1fr!important;}
}
