/* ============================================================
   M.P & LOG NACIONAL S.A.S. — Hoja de estilos principal
   Construcción · Logística · Materiales · Maquinaria
   ============================================================ */

/* ---------- 1. Tokens ---------- */
:root{
  /* Paleta */
  --ink-950:#050C15;
  --ink-900:#0A1622;
  --ink-800:#0E1E2E;
  --ink-700:#13293C;
  --steel-600:#1C3B52;
  --steel-500:#2A5271;
  --steel-400:#4A7391;
  --steel-300:#6E8DA5;
  --slate-400:#8DA2B4;
  --slate-300:#AFC0CE;
  --line:#E2E7EC;
  --paper:#F4F6F8;
  --paper-2:#EDF1F4;
  --white:#FFFFFF;

  --amber-300:#FFD98A;
  --amber-400:#FFC24D;
  --amber-500:#FFB020;
  --amber-600:#E08A00;
  --amber-700:#B36D00;

  --wa:#25D366;
  --wa-dark:#1EB455;

  --txt:#16232F;
  --txt-soft:#4E6072;
  --txt-light:rgba(255,255,255,.78);
  --txt-light-soft:rgba(255,255,255,.6);

  /* Tipografía */
  --f-display:"Barlow Condensed","Oswald","Arial Narrow",system-ui,sans-serif;
  --f-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

  /* Escala */
  --sp-1:.5rem;  --sp-2:.875rem; --sp-3:1.25rem; --sp-4:1.75rem;
  --sp-5:2.5rem; --sp-6:3.5rem;  --sp-7:5rem;    --sp-8:7rem;

  --r-sm:8px; --r-md:14px; --r-lg:20px; --r-xl:28px;

  --shadow-sm:0 2px 8px rgba(10,22,34,.06);
  --shadow-md:0 12px 34px -12px rgba(10,22,34,.18);
  --shadow-lg:0 30px 70px -28px rgba(10,22,34,.42);
  --shadow-amber:0 16px 34px -14px rgba(224,138,0,.55);

  --container:1240px;
  --nav-h:76px;
  --ease:cubic-bezier(.22,.8,.28,1);
}

/* ---------- 2. Reset ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px);}
body{
  margin:0;
  font-family:var(--f-body);
  font-size:clamp(15.5px,.95rem + .12vw,17px);
  line-height:1.68;
  color:var(--txt);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img,svg{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font:inherit;color:inherit;}
ul,ol{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4,h5,p,dl,dd,figure{margin:0;}
::selection{background:var(--amber-500);color:var(--ink-900);}

.skip-link{
  position:absolute;left:-9999px;top:0;z-index:999;
  background:var(--amber-500);color:var(--ink-900);
  padding:.75rem 1.25rem;font-weight:700;border-radius:0 0 var(--r-sm) 0;
}
.skip-link:focus{left:0;}

:focus-visible{outline:3px solid var(--amber-500);outline-offset:3px;border-radius:4px;}

/* ---------- 3. Layout ---------- */
.container{width:min(100% - 2.5rem,var(--container));margin-inline:auto;}
.container--narrow{width:min(100% - 2.5rem,880px);}

.section{position:relative;padding:var(--sp-8) 0;}
.section--tight{padding:var(--sp-6) 0;}
.section--paper{background:var(--paper);}
.section--dark{background:var(--ink-900);color:var(--txt-light);overflow:hidden;}
.section--dark .section__bg{
  position:absolute;inset:0;pointer-events:none;
  background-image:
    radial-gradient(900px 460px at 12% -10%,rgba(255,176,32,.13),transparent 60%),
    radial-gradient(760px 420px at 92% 110%,rgba(94,169,218,.13),transparent 60%),
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:auto,auto,54px 54px,54px 54px;
}
.section--dark > .container{position:relative;z-index:1;}

.section__head{max-width:780px;margin-bottom:var(--sp-6);}
.section__head--center{margin-inline:auto;text-align:center;}
.section__head--split{
  max-width:none;display:grid;grid-template-columns:1.05fr .95fr;
  gap:var(--sp-4) var(--sp-6);align-items:end;
}
.section__head--split .lede{margin-bottom:.35rem;}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2);}

/* ---------- 4. Tipografía ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--f-body);font-size:.78rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--amber-700);margin-bottom:1rem;
}
.eyebrow--light{color:var(--amber-400);}
.eyebrow .dot{
  width:8px;height:8px;border-radius:50%;background:var(--amber-500);
  box-shadow:0 0 0 4px rgba(255,176,32,.2);flex:none;
  align-self:flex-start;margin-top:.42em;
}

.h2{
  font-family:var(--f-display);font-weight:700;
  font-size:clamp(2rem,1.35rem + 2.4vw,3.35rem);
  line-height:1.05;letter-spacing:-.015em;
  color:var(--ink-900);text-wrap:balance;
}
.h2--light{color:var(--white);}
.h4{font-family:var(--f-display);font-weight:700;font-size:1.45rem;letter-spacing:.005em;color:var(--ink-900);margin:var(--sp-4) 0 var(--sp-2);}
.h4--light{color:var(--white);margin-top:0;}
.h5{font-family:var(--f-body);font-weight:700;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--steel-500);margin-bottom:.85rem;}

.lede{font-size:1.06rem;color:var(--txt-soft);margin-top:1.1rem;max-width:62ch;}
.lede--light{color:var(--txt-light);}
.section__head--center .lede{margin-inline:auto;}

.hl{
  position:relative;color:var(--amber-600);white-space:nowrap;
}
.h2--light .hl,.hero__title .hl{color:var(--amber-400);}
.hl::after{
  content:"";position:absolute;left:0;right:0;bottom:.06em;height:.14em;
  background:linear-gradient(90deg,rgba(255,176,32,.45),rgba(255,176,32,0));
  border-radius:2px;
}

/* ---------- 5. Botones ---------- */
.btn{
  --btn-bg:var(--amber-500);
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:.85rem 1.5rem;border:0;border-radius:var(--r-sm);
  font-weight:700;font-size:.94rem;letter-spacing:.005em;
  cursor:pointer;text-align:center;line-height:1.2;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .2s,color .2s,border-color .2s;
}
.btn .ico{width:18px;height:18px;transition:transform .25s var(--ease);}
.btn:hover .ico{transform:translateX(3px);}
.btn--sm{padding:.62rem 1.05rem;font-size:.86rem;}
.btn--lg{padding:1.05rem 1.9rem;font-size:1rem;}
.btn--block{width:100%;}

.btn--primary{background:linear-gradient(135deg,var(--amber-400),var(--amber-600));color:var(--ink-900);box-shadow:var(--shadow-amber);}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 22px 42px -16px rgba(224,138,0,.7);}
.btn--primary:active{transform:translateY(0);}

.btn--ghost{background:rgba(255,255,255,.07);color:var(--white);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(6px);}
.btn--ghost:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.4);transform:translateY(-2px);}

.btn--dark{background:var(--ink-900);color:var(--white);}
.btn--dark:hover{background:var(--ink-700);transform:translateY(-2px);}

.btn--outline{background:transparent;border:1.5px solid currentColor;color:var(--steel-500);}
.section--dark .btn--outline{color:rgba(255,255,255,.72);}
.btn--outline:hover{background:rgba(255,176,32,.12);color:var(--amber-600);border-color:var(--amber-500);}
.section--dark .btn--outline:hover{color:var(--amber-400);}

.btn--wa{background:var(--wa);color:#04310F;}
.btn--wa:hover{background:var(--wa-dark);transform:translateY(-2px);}
.btn--wa .ico{fill:none;stroke:currentColor;stroke-width:1.7;}

/* Iconos genéricos */
.ico{width:1.05em;height:1.05em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;}

/* ---------- 6. Topbar ---------- */
.topbar{background:var(--ink-950);color:var(--txt-light-soft);font-size:.8rem;border-bottom:1px solid rgba(255,255,255,.07);}
.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:42px;flex-wrap:wrap;}
.topbar__loc{display:inline-flex;align-items:center;gap:.5rem;}
.topbar__loc strong{color:var(--amber-400);font-weight:600;}
.topbar__loc .ico{color:var(--amber-500);}
.topbar__links{display:flex;align-items:center;gap:1.5rem;}
.topbar__links a{display:inline-flex;align-items:center;gap:.42rem;transition:color .2s;}
.topbar__links a:hover{color:var(--amber-400);}
.topbar__nit{padding-left:1.5rem;border-left:1px solid rgba(255,255,255,.14);letter-spacing:.06em;}

/* ---------- 7. Header ---------- */
.nav{
  position:sticky;top:0;z-index:100;
  background:rgba(10,22,34,.9);
  backdrop-filter:saturate(160%) blur(14px);
  -webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid rgba(255,255,255,.08);
  transition:box-shadow .3s var(--ease),background .3s;
}
.nav.is-stuck{box-shadow:0 14px 40px -22px rgba(0,0,0,.9);background:rgba(7,16,26,.96);}
.nav__inner{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;min-height:var(--nav-h);}

.brand{display:inline-flex;align-items:center;gap:.75rem;flex:none;}
.brand__mark{
  width:44px;height:44px;display:grid;place-items:center;flex:none;
  background:linear-gradient(140deg,var(--amber-400),var(--amber-600));
  border-radius:11px;box-shadow:0 8px 20px -8px rgba(224,138,0,.8);
}
.brand__mark svg{width:26px;height:26px;}
.brand__mark .bm-1{fill:#0A1622;}
.brand__mark .bm-2{fill:#0A1622;opacity:.72;}
.brand__mark .bm-3{fill:#0A1622;opacity:.5;}
.brand__text{display:flex;flex-direction:column;line-height:1;}
.brand__text strong{
  font-family:var(--f-display);font-size:1.32rem;font-weight:700;
  letter-spacing:.01em;color:var(--white);
}
.brand__text em{
  font-style:normal;font-size:.63rem;font-weight:600;
  letter-spacing:.28em;color:var(--amber-500);margin-top:.22rem;
}

.nav__links{display:flex;align-items:center;gap:.35rem;}
.nav__links a{
  position:relative;padding:.55rem .8rem;border-radius:6px;
  font-size:.9rem;font-weight:500;color:rgba(255,255,255,.8);
  transition:color .2s,background .2s;
}
.nav__links a::after{
  content:"";position:absolute;left:.8rem;right:.8rem;bottom:.3rem;height:2px;
  background:var(--amber-500);transform:scaleX(0);transform-origin:left;
  transition:transform .28s var(--ease);
}
.nav__links a:hover{color:var(--white);}
.nav__links a:hover::after,.nav__links a.is-active::after{transform:scaleX(1);}
.nav__links a.is-active{color:var(--white);}

.nav__actions{display:flex;align-items:center;gap:.75rem;}
.nav__toggle{
  display:none;width:44px;height:44px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);border-radius:9px;cursor:pointer;
  flex-direction:column;align-items:center;justify-content:center;gap:5px;
}
.nav__toggle span{display:block;width:19px;height:2px;background:var(--white);border-radius:2px;transition:transform .3s var(--ease),opacity .2s;}
.nav__toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav__toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav__toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.mobile-menu{
  position:fixed;top:var(--menu-top,var(--nav-h));left:0;right:0;bottom:0;z-index:99;
  background:var(--ink-950);padding:1.5rem 1.25rem 2.5rem;
  overflow-y:auto;animation:menuIn .28s var(--ease);
}
.mobile-menu nav{display:flex;flex-direction:column;}
.mobile-menu nav a{
  padding:1rem .25rem;font-family:var(--f-display);font-size:1.45rem;font-weight:600;
  color:var(--white);border-bottom:1px solid rgba(255,255,255,.09);
}
.mobile-menu nav a:active{color:var(--amber-400);}
.mobile-menu__cta{display:grid;gap:.7rem;margin-top:1.75rem;}
@keyframes menuIn{from{opacity:0;transform:translateY(-10px);}to{opacity:1;transform:none;}}
body.menu-open{overflow:hidden;}

/* ---------- 8. Hero ---------- */
.hero{position:relative;background:var(--ink-900);color:var(--txt-light);padding:var(--sp-7) 0 0;overflow:hidden;}
.hero__bg{position:absolute;inset:0;pointer-events:none;}
.hero__grid-lines{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(circle at 50% 30%,#000 20%,transparent 78%);
  -webkit-mask-image:radial-gradient(circle at 50% 30%,#000 20%,transparent 78%);
}
.hero__glow{position:absolute;border-radius:50%;filter:blur(90px);}
.hero__glow--a{width:620px;height:620px;top:-220px;left:-160px;background:rgba(255,176,32,.16);}
.hero__glow--b{width:560px;height:560px;bottom:-240px;right:-120px;background:rgba(94,169,218,.16);}

.hero__inner{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1.02fr .98fr;
  gap:var(--sp-6);align-items:center;
  padding-bottom:var(--sp-6);
}
.hero__title{
  font-family:var(--f-display);font-weight:700;
  font-size:clamp(2.5rem,1.5rem + 4vw,4.6rem);
  line-height:.98;letter-spacing:-.02em;color:var(--white);
  text-wrap:balance;margin-bottom:1.25rem;
}
.hero__lead{font-size:clamp(1.05rem,1rem + .3vw,1.24rem);color:var(--white);font-weight:500;max-width:56ch;}
.hero__support{margin-top:1rem;color:var(--txt-light);max-width:58ch;}
.hero__support strong{color:var(--amber-400);font-weight:600;}
.hero__actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2rem;}
.hero__pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem;}
.hero__pills li{
  padding:.42rem .95rem;border-radius:100px;font-size:.82rem;font-weight:600;
  color:var(--slate-300);background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
}

.hero__art{position:relative;}
.hero__art-frame{
  position:relative;border-radius:var(--r-lg);overflow:visible;
  box-shadow:var(--shadow-lg);
}
.hero__art-frame .scene{
  display:block;width:100%;height:auto;border-radius:var(--r-lg);
  border:1px solid rgba(255,255,255,.12);
}
.art-chip{
  position:absolute;display:flex;flex-direction:column;gap:.1rem;
  background:rgba(255,255,255,.97);color:var(--ink-900);
  padding:.75rem 1.05rem;border-radius:var(--r-sm);
  box-shadow:var(--shadow-md);border-left:4px solid var(--amber-500);
}
.art-chip strong{font-family:var(--f-display);font-size:1.12rem;line-height:1.1;}
.art-chip span{font-size:.74rem;color:var(--txt-soft);line-height:1.3;}
.art-chip--1{bottom:-22px;left:-26px;}
.art-chip--2{top:-22px;right:-18px;}
.art-chip--3{bottom:2%;left:0;}

/* Stats */
.stats{
  position:relative;z-index:2;
  display:grid;grid-template-columns:repeat(4,1fr);
  background:linear-gradient(140deg,var(--ink-700),var(--ink-800));
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r-md);overflow:hidden;
  margin-bottom:calc(var(--sp-6) * -1);
  transform:translateY(50%);
  box-shadow:var(--shadow-lg);
}
.stat{padding:1.6rem 1.5rem;border-right:1px solid rgba(255,255,255,.09);}
.stat:last-child{border-right:0;}
.stat__num{
  display:block;font-family:var(--f-display);font-weight:700;
  font-size:2.5rem;line-height:1;color:var(--amber-500);letter-spacing:-.01em;
}
.stat__lbl{display:block;margin-top:.4rem;font-size:.8rem;color:var(--txt-light-soft);line-height:1.4;}

/* ---------- 9. Pilares ---------- */
.pillars-sec{padding-top:calc(var(--sp-7) + 1rem);padding-bottom:var(--sp-3);}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
.pillar{
  position:relative;display:flex;flex-direction:column;
  padding:1.75rem 1.5rem;background:var(--white);
  border:1px solid var(--line);border-radius:var(--r-md);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;
  overflow:hidden;
}
.pillar::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--amber-400),var(--amber-600));
  transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease);
}
.pillar:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:transparent;}
.pillar:hover::before{transform:scaleX(1);}
.pillar__ico{
  width:52px;height:52px;display:grid;place-items:center;margin-bottom:1.1rem;
  border-radius:12px;background:var(--paper);color:var(--ink-900);
  transition:background .3s,color .3s;
}
.pillar:hover .pillar__ico{background:var(--amber-500);}
.pillar__ico svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.pillar h3{font-family:var(--f-display);font-size:1.45rem;font-weight:700;line-height:1.1;margin-bottom:.5rem;color:var(--ink-900);}
.pillar p{font-size:.9rem;color:var(--txt-soft);flex:1;}
.pillar__go{
  display:inline-flex;align-items:center;gap:.4rem;margin-top:1.1rem;
  font-size:.82rem;font-weight:700;color:var(--amber-700);
}
.pillar__go .ico{width:15px;height:15px;transition:transform .25s var(--ease);}
.pillar:hover .pillar__go .ico{transform:translateX(4px);}

/* ---------- 10. Nosotros ---------- */
.about{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--sp-6);align-items:start;}
.about__main p + p{margin-top:1rem;}
.about__aside{display:grid;gap:1.25rem;position:sticky;top:calc(var(--nav-h) + 24px);}

.mv{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:var(--sp-4);}
.mv__card{
  padding:1.5rem;border-radius:var(--r-md);background:var(--paper);
  border-left:4px solid var(--amber-500);
}
.mv__tag{
  display:inline-block;font-family:var(--f-display);font-size:1.15rem;font-weight:700;
  letter-spacing:.05em;text-transform:uppercase;color:var(--ink-900);margin-bottom:.5rem;
}
.mv__card p{font-size:.93rem;color:var(--txt-soft);}

.values{display:grid;gap:.65rem;}
.values li{display:flex;align-items:flex-start;gap:.7rem;font-size:.96rem;font-weight:500;}
.values .ico{width:20px;height:20px;color:var(--amber-600);stroke-width:2.4;margin-top:.2rem;}

.fact-card{
  background:linear-gradient(150deg,var(--paper),var(--paper-2));
  border:1px solid var(--line);border-radius:var(--r-md);padding:1.75rem;
}
.fact-card__title{
  font-family:var(--f-display);font-size:1.35rem;font-weight:700;color:var(--ink-900);
  padding-bottom:.9rem;margin-bottom:.4rem;border-bottom:2px solid var(--amber-500);
  display:inline-block;
}
.fact-list{margin:1rem 0 1.5rem;}
.fact-list > div{padding:.7rem 0;border-bottom:1px solid rgba(0,0,0,.07);}
.fact-list > div:last-child{border-bottom:0;}
.fact-list dt{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--steel-500);}
.fact-list dd{margin:.22rem 0 0;font-size:.92rem;color:var(--txt);line-height:1.5;}
.fact-list dd strong{color:var(--ink-900);font-weight:700;}

.diffs{background:var(--ink-900);color:var(--txt-light);border-radius:var(--r-md);padding:1.75rem;}
.diffs .h4{color:var(--white);margin:0 0 1.1rem;}
.diffs ul{display:grid;gap:.9rem;}
.diffs li{display:flex;gap:.85rem;font-size:.92rem;line-height:1.5;}
.diffs li span{
  flex:none;font-family:var(--f-display);font-size:.95rem;font-weight:700;
  color:var(--amber-500);padding-top:.06rem;
}

/* ---------- 11. Servicios ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.15rem;}
.svc-grid--3{grid-template-columns:repeat(3,1fr);margin-top:1.15rem;}
.svc-sub{
  font-family:var(--f-display);font-size:1.5rem;font-weight:600;color:var(--white);
  margin:var(--sp-5) 0 0;padding-top:var(--sp-4);
  border-top:1px solid rgba(255,255,255,.12);
}
.svc{
  position:relative;padding:2rem 1.85rem;border-radius:var(--r-md);
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.1);
  transition:transform .3s var(--ease),background .3s,border-color .3s;
  overflow:hidden;
}
.svc::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:0;
  background:radial-gradient(520px 240px at 100% 0%,rgba(255,176,32,.14),transparent 70%);
  transition:opacity .4s;
}
.svc:hover{transform:translateY(-4px);background:rgba(255,255,255,.075);border-color:rgba(255,176,32,.4);}
.svc:hover::after{opacity:1;}
.svc__num{
  position:absolute;top:1.4rem;right:1.6rem;
  font-family:var(--f-display);font-size:3rem;font-weight:700;line-height:1;
  color:rgba(255,255,255,.07);letter-spacing:-.02em;
}
.svc__ico{
  display:grid;place-items:center;width:54px;height:54px;border-radius:13px;
  background:linear-gradient(140deg,var(--amber-400),var(--amber-600));
  color:var(--ink-900);margin-bottom:1.15rem;
  box-shadow:0 12px 26px -12px rgba(224,138,0,.8);
}
.svc__ico svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.svc__title{
  font-family:var(--f-display);font-size:1.7rem;font-weight:700;line-height:1.08;
  color:var(--white);margin-bottom:.6rem;position:relative;z-index:1;
}
.svc__desc{font-size:.94rem;color:var(--txt-light);margin-bottom:1.1rem;position:relative;z-index:1;}
.svc__list{display:grid;gap:.6rem;position:relative;z-index:1;}
.svc__list li{
  position:relative;padding-left:1.4rem;font-size:.9rem;
  color:rgba(255,255,255,.72);line-height:1.5;
}
.svc__list li::before{
  content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;
  border-radius:2px;background:var(--amber-500);
}
.svc__list em{color:var(--amber-300);font-style:italic;}
.svc__cta{
  display:inline-flex;align-items:center;gap:.45rem;margin-top:1.4rem;
  font-size:.87rem;font-weight:700;color:var(--amber-400);
  position:relative;z-index:1;
}
.svc__cta .ico{width:16px;height:16px;transition:transform .25s var(--ease);}
.svc__cta:hover{color:var(--amber-300);}
.svc__cta:hover .ico{transform:translateX(4px);}

/* ---------- 12. Maquinaria ---------- */
.equip{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;}
.equip__card{
  padding:1.6rem 1.4rem;border-radius:var(--r-md);
  background:var(--white);border:1px solid var(--line);
  transition:box-shadow .3s var(--ease),transform .3s var(--ease);
}
.equip__card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);}
.equip__card h3{
  font-family:var(--f-display);font-size:1.32rem;font-weight:700;color:var(--ink-900);
  padding-bottom:.8rem;margin-bottom:1rem;border-bottom:2px solid var(--amber-500);
}
.tags{display:flex;flex-wrap:wrap;gap:.45rem;}
.tags li{
  padding:.36rem .8rem;border-radius:100px;font-size:.82rem;font-weight:500;
  background:var(--paper);color:var(--txt-soft);border:1px solid var(--line);
  transition:background .2s,color .2s,border-color .2s;
}
.equip__card:hover .tags li{border-color:rgba(255,176,32,.35);}

.note-bar{
  display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;
  margin-top:var(--sp-4);padding:1.4rem 1.75rem;
  background:linear-gradient(135deg,rgba(255,176,32,.12),rgba(255,176,32,.04));
  border:1px solid rgba(255,176,32,.35);border-radius:var(--r-md);
}
.note-bar .ico{width:26px;height:26px;color:var(--amber-600);}
.note-bar p{flex:1;min-width:260px;font-size:.92rem;color:var(--txt-soft);}

/* ---------- 13. Materiales ---------- */
.mat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;}
.mat{
  padding:1.85rem 1.5rem;background:var(--white);border-radius:var(--r-md);
  border:1px solid var(--line);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.mat:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.mat__ico{
  display:grid;place-items:center;width:48px;height:48px;border-radius:12px;
  background:var(--ink-900);color:var(--amber-500);margin-bottom:1.1rem;
}
.mat__ico svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.mat h3{font-family:var(--f-display);font-size:1.3rem;font-weight:700;color:var(--ink-900);margin-bottom:.85rem;line-height:1.12;}
.mat ul{display:grid;gap:.5rem;}
.mat li{position:relative;padding-left:1.2rem;font-size:.88rem;color:var(--txt-soft);line-height:1.45;}
.mat li::before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;border-radius:50%;background:var(--amber-500);}

/* ---------- 14. Por qué ---------- */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:1.15rem;}
.why__item{
  position:relative;padding:2rem 1.75rem 1.85rem;border-radius:var(--r-md);
  background:var(--paper);border:1px solid transparent;
  transition:background .3s,border-color .3s,transform .3s var(--ease);
}
.why__item:hover{background:var(--white);border-color:var(--line);transform:translateY(-4px);box-shadow:var(--shadow-md);}
.why__n{
  display:grid;place-items:center;width:42px;height:42px;border-radius:10px;
  background:var(--ink-900);color:var(--amber-500);
  font-family:var(--f-display);font-size:1.35rem;font-weight:700;
  margin-bottom:1.1rem;transition:background .3s,color .3s;
}
.why__item:hover .why__n{background:var(--amber-500);color:var(--ink-900);}
.why__item h3{font-family:var(--f-display);font-size:1.42rem;font-weight:700;color:var(--ink-900);margin-bottom:.5rem;line-height:1.12;}
.why__item p{font-size:.92rem;color:var(--txt-soft);}

/* ---------- 15. Proceso ---------- */
.section--process{padding-bottom:var(--sp-8);}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:1.15rem;counter-reset:step;}
.step{position:relative;padding-top:2.25rem;}
.step::before{
  content:"";position:absolute;top:12px;left:0;right:0;height:2px;
  background:linear-gradient(90deg,rgba(255,176,32,.6),rgba(255,176,32,.08));
}
.step::after{
  content:"";position:absolute;top:6px;left:0;width:14px;height:14px;border-radius:50%;
  background:var(--amber-500);box-shadow:0 0 0 5px rgba(255,176,32,.18);
}
.step__n{
  display:block;font-family:var(--f-display);font-size:.9rem;font-weight:700;
  letter-spacing:.18em;color:var(--amber-500);margin-bottom:.5rem;
}
.step h3{font-family:var(--f-display);font-size:1.5rem;font-weight:700;color:var(--white);line-height:1.1;margin-bottom:.55rem;}
.step p{font-size:.91rem;color:var(--txt-light);}

/* ---------- 16. Sectores ---------- */
.sectors{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;}
.sector{
  display:flex;flex-direction:column;
  padding:1.85rem 1.6rem;background:var(--white);border-radius:var(--r-md);
  border:1px solid var(--line);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;
}
.sector:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:rgba(255,176,32,.5);}
.sector__ico{
  width:40px;height:40px;margin-bottom:1rem;color:var(--amber-600);
  fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;
}
.sector h3{font-family:var(--f-display);font-size:1.32rem;font-weight:700;color:var(--ink-900);margin-bottom:.4rem;line-height:1.14;}
.sector p{font-size:.9rem;color:var(--txt-soft);}

/* ---------- 17. Cobertura ---------- */
.coverage{display:grid;grid-template-columns:1.02fr .98fr;gap:var(--sp-6);align-items:center;}
.cov-cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);margin-top:var(--sp-4);}
.ticks{display:grid;gap:.55rem;}
.ticks li{position:relative;padding-left:1.5rem;font-size:.92rem;color:var(--txt-soft);}
.ticks li::before{
  content:"";position:absolute;left:0;top:.42em;width:9px;height:9px;
  border:2px solid var(--amber-500);border-radius:50%;
}
.coverage__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:var(--sp-4);}

.coverage__art{position:relative;}
.radar{width:100%;height:auto;}
.radar .nodes circle{fill:var(--ink-900);stroke:var(--amber-500);stroke-width:2.5;}
.radar .node-lbl text{
  font-family:"Inter",sans-serif;font-size:13px;font-weight:600;
  fill:var(--steel-500);
}
.radar .node-center{
  font-family:"Barlow Condensed",sans-serif;font-size:19px;font-weight:700;
  letter-spacing:.12em;fill:var(--ink-900);text-anchor:middle;
}

/* ---------- 18. FAQ ---------- */
.faq{display:grid;gap:.75rem;}
.faq__item{
  background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);
  overflow:hidden;transition:border-color .25s,box-shadow .25s;
}
.faq__item[open]{border-color:rgba(255,176,32,.55);box-shadow:var(--shadow-sm);}
.faq__item summary{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.15rem 1.4rem;cursor:pointer;list-style:none;
  font-family:var(--f-display);font-size:1.3rem;font-weight:600;color:var(--ink-900);
  transition:color .2s;
}
.faq__item summary::-webkit-details-marker{display:none;}
.faq__item summary::after{
  content:"";flex:none;width:13px;height:13px;
  border-right:2.5px solid var(--amber-600);border-bottom:2.5px solid var(--amber-600);
  transform:rotate(45deg) translateY(-3px);transition:transform .3s var(--ease);
}
.faq__item[open] summary::after{transform:rotate(225deg) translateY(-3px);}
.faq__item summary:hover{color:var(--amber-700);}
.faq__body{padding:0 1.4rem 1.35rem;}
.faq__body p{font-size:.95rem;color:var(--txt-soft);max-width:72ch;}

/* ---------- 19. Contacto ---------- */
.contact-sec{padding-bottom:var(--sp-8);}
.contact{display:grid;grid-template-columns:1.25fr .75fr;gap:1.5rem;align-items:start;}

.form-card{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  border-radius:var(--r-lg);padding:2.25rem;
  backdrop-filter:blur(6px);
}
.form-card__hint{font-size:.9rem;color:var(--txt-light-soft);margin:.5rem 0 1.75rem;}
.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem;}
.field label{font-size:.8rem;font-weight:600;letter-spacing:.02em;color:var(--slate-300);}
.field label span{color:var(--amber-500);}
.field input,.field select,.field textarea{
  width:100%;padding:.85rem 1rem;border-radius:var(--r-sm);
  background:rgba(255,255,255,.07);color:var(--white);
  border:1.5px solid rgba(255,255,255,.16);
  transition:border-color .2s,background .2s;
  font-size:.94rem;
}
.field textarea{resize:vertical;min-height:110px;}
.field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,.35);}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--amber-500);background:rgba(255,255,255,.11);
}
.field select{appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFB020' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .9rem center;background-size:17px;
  padding-right:2.6rem;
}
.field select option{background:var(--ink-800);color:var(--white);}
.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:#FF6B5A;}
.form-error{
  margin-bottom:1rem;padding:.75rem 1rem;border-radius:var(--r-sm);
  background:rgba(255,107,90,.12);border:1px solid rgba(255,107,90,.4);
  color:#FFB3A8;font-size:.88rem;
}
.form-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;}
.form-note{margin-top:1rem;font-size:.78rem;color:var(--txt-light-soft);}

.contact-info{
  background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);padding:2rem;
}
.cinfo{display:grid;gap:1.35rem;}
.cinfo li{display:flex;gap:.95rem;}
.cinfo__ico{
  flex:none;width:42px;height:42px;display:grid;place-items:center;border-radius:11px;
  background:rgba(255,176,32,.14);color:var(--amber-500);
}
.cinfo__ico svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.cinfo strong{display:block;font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--amber-400);margin-bottom:.22rem;}
.cinfo a,.cinfo span{font-size:.92rem;color:var(--white);line-height:1.5;}
.cinfo a{transition:color .2s;}
.cinfo a:hover{color:var(--amber-400);text-decoration:underline;}
.quick-cta{display:grid;gap:.7rem;margin-top:1.85rem;padding-top:1.85rem;border-top:1px solid rgba(255,255,255,.12);}

/* ---------- 20. Footer ---------- */
.footer{background:var(--ink-950);color:var(--txt-light-soft);padding:var(--sp-6) 0 var(--sp-3);border-top:3px solid var(--amber-500);}
.footer__top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:var(--sp-4);padding-bottom:var(--sp-5);}
.footer__desc{font-size:.9rem;margin-top:1.1rem;max-width:38ch;line-height:1.6;}
.footer__nit{font-size:.8rem;margin-top:.9rem;color:rgba(255,255,255,.42);letter-spacing:.03em;}
.footer__col h3{
  font-family:var(--f-body);font-size:.78rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--amber-400);margin-bottom:1.1rem;
}
.footer__col ul{display:grid;gap:.6rem;}
.footer__col a{font-size:.9rem;transition:color .2s,padding-left .2s;}
.footer__col a:hover{color:var(--amber-400);padding-left:4px;}
.footer__contact li{font-size:.9rem;line-height:1.55;}
.footer__col .btn{margin-top:1.35rem;}

.footer__ciiu{
  padding:1.2rem 0;border-top:1px solid rgba(255,255,255,.09);
  border-bottom:1px solid rgba(255,255,255,.09);
  font-size:.78rem;color:rgba(255,255,255,.45);line-height:1.8;
}
.footer__ciiu span{color:var(--amber-400);font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-right:.4rem;}
.footer__ciiu em{font-style:normal;font-weight:700;color:rgba(255,255,255,.8);}

.footer__bottom{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  padding-top:1.35rem;font-size:.8rem;color:rgba(255,255,255,.42);
}

/* ---------- 21. Flotantes ---------- */
.wa-float{
  position:fixed;right:20px;bottom:20px;z-index:90;
  display:inline-flex;align-items:center;gap:.6rem;
  padding:.85rem 1.15rem;border-radius:100px;
  background:var(--wa);color:#04310F;font-weight:700;font-size:.88rem;
  box-shadow:0 16px 34px -12px rgba(37,211,102,.75);
  transition:transform .25s var(--ease),box-shadow .25s var(--ease);
}
.wa-float svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.wa-float:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 22px 44px -14px rgba(37,211,102,.9);}

.to-top{
  position:fixed;right:24px;bottom:88px;z-index:89;
  width:44px;height:44px;border-radius:50%;cursor:pointer;
  background:var(--ink-900);color:var(--amber-500);
  border:1px solid rgba(255,255,255,.2);
  display:grid;place-items:center;
  box-shadow:var(--shadow-md);
  transition:transform .25s var(--ease),opacity .25s;
}
.to-top svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.to-top:hover{transform:translateY(-3px);}
.to-top[hidden]{display:none;}

/* ---------- 22. Reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal.is-visible{opacity:1;transform:none;}

/* ---------- 23. Responsive ---------- */
@media (max-width:1180px){
  .hero__inner{gap:var(--sp-5);}
  .svc__title{font-size:1.55rem;}
  .footer__top{grid-template-columns:1.4fr 1fr 1fr;}
  .footer__col:last-child{grid-column:span 3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 2rem;align-items:start;}
  .footer__col:last-child h3{grid-column:1 / -1;}
}

@media (max-width:1024px){
  :root{--sp-8:5rem;--sp-7:4rem;}
  .nav__links{display:none;}
  .nav__toggle{display:flex;}
  .topbar__links a:not(:first-child){display:none;}
  .hero__inner{grid-template-columns:1fr;padding-bottom:var(--sp-5);}
  .hero__art{max-width:640px;margin-inline:auto;width:100%;}
  .stats{grid-template-columns:repeat(2,1fr);transform:translateY(35%);}
  .stat{border-bottom:1px solid rgba(255,255,255,.09);}
  .stat:nth-child(2n){border-right:0;}
  .stat:nth-last-child(-n+2){border-bottom:0;}
  .pillars-sec{padding-top:calc(var(--sp-7) + 2.5rem);}
  .pillars{grid-template-columns:repeat(2,1fr);}
  .about{grid-template-columns:1fr;}
  .about__aside{position:static;grid-template-columns:1fr 1fr;}
  .equip,.mat-grid{grid-template-columns:repeat(2,1fr);}
  .why,.sectors,.svc-grid--3{grid-template-columns:repeat(2,1fr);}
  .process{grid-template-columns:repeat(2,1fr);row-gap:var(--sp-4);}
  .coverage{grid-template-columns:1fr;}
  .coverage__art{max-width:520px;margin-inline:auto;order:-1;}
  .art-chip--3{bottom:0;left:10px;}
  .contact{grid-template-columns:1fr;}
  .section__head--split{grid-template-columns:1fr;align-items:start;}
}

@media (max-width:720px){
  :root{--sp-8:4rem;--sp-7:3.25rem;--sp-6:2.75rem;}
  .container,.container--narrow{width:min(100% - 2rem,var(--container));}
  .topbar__loc{font-size:.74rem;}
  .topbar__nit{display:none;}
  .tb-addr{display:none;}
  .art-chip--3{display:none;}
  .topbar__inner{justify-content:center;gap:.35rem 1rem;padding:.35rem 0;}
  .nav__actions .btn--sm{display:none;}
  .hero{padding-top:var(--sp-6);}
  .hero__actions .btn{flex:1 1 100%;}
  .art-chip--1{left:0;bottom:-16px;}
  .art-chip--2{right:0;top:-16px;}
  .stats{grid-template-columns:1fr;transform:translateY(28%);}
  .stat{border-right:0;}
  .pillars-sec{padding-top:calc(var(--sp-7) + 5.5rem);}
  .pillars,.equip,.mat-grid,.why,.sectors,.svc-grid,.svc-grid--3,.process,.mv,.cov-cols,.grid-2{grid-template-columns:1fr;}
  .about__aside{grid-template-columns:1fr;}
  .svc{padding:1.6rem 1.35rem;}
  .form-card{padding:1.6rem 1.25rem;}
  .contact-info{padding:1.5rem 1.25rem;}
  .footer__top{grid-template-columns:1fr;gap:var(--sp-3);}
  .footer__col:last-child{grid-column:auto;grid-template-columns:1fr;}
  .footer__bottom{flex-direction:column;align-items:flex-start;gap:.35rem;}
  .step::before{display:none;}
  .wa-float span{display:none;}
  .wa-float{padding:.95rem;border-radius:50%;}
  .to-top{bottom:84px;right:20px;}
  .form-actions .btn{flex:1 1 100%;}
}

@media (max-width:420px){
  .brand__text strong{font-size:1.15rem;}
  .brand__text em{font-size:.56rem;letter-spacing:.22em;}
  .brand__mark{width:38px;height:38px;}
}

/* ---------- 24. Preferencias / Impresión ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
  .reveal{opacity:1;transform:none;}
}

@media print{
  .nav,.topbar,.mobile-menu,.wa-float,.to-top,.hero__art,.form-card,.btn{display:none !important;}
  body{color:#000;background:#fff;}
  .section--dark,.hero{background:#fff !important;color:#000 !important;}
  .h2,.h2--light,.hero__title,.svc__title,.step h3{color:#000 !important;}
  .svc__list li,.lede--light,.step p,.svc__desc{color:#333 !important;}
  .reveal{opacity:1 !important;transform:none !important;}
}
