/* ============================================================
   INVERSIÓN Y COMERCIALIZACIÓN RV S.A.S.
   Sistema de diseño — "Industrial Glass"
   ============================================================ */

/* ---------- 1. TOKENS ---------- */
:root{
  /* Superficies */
  --bg:            #06080A;
  --bg-elev:       #0A0E12;
  --panel:         rgba(255,255,255,.035);
  --panel-solid:   #0E1317;
  --panel-hi:      rgba(255,255,255,.06);

  /* Hairlines */
  --hair:          rgba(255,255,255,.09);
  --hair-soft:     rgba(255,255,255,.055);
  --hair-strong:   rgba(255,255,255,.16);

  /* Tinta */
  --txt:           #EEF2F5;
  --txt-2:         #B4C0CC;
  --muted:         #7E8A97;

  /* Acento maquinaria */
  --amber:         #FFB020;
  --amber-deep:    #E8930A;
  --orange:        #FF6A13;
  --ember:         #FF4D00;
  --amber-glow:    rgba(255,176,32,.16);

  /* Ritmo */
  --shell:         26px;   /* radio contenedor externo */
  --shell-pad:     7px;
  --core:          19px;   /* radio núcleo interno = shell - pad */
  --maxw:          1240px;

  /* Física de movimiento */
  --ease:          cubic-bezier(.32,.72,0,1);
  --ease-out:      cubic-bezier(.16,1,.3,1);
  --spring:        cubic-bezier(.34,1.56,.64,1);

  /* Sombra ambiental difusa (nunca dura) */
  --lift:          0 40px 80px -32px rgba(0,0,0,.85), 0 2px 6px -2px rgba(0,0,0,.4);
  --inner-hi:      inset 0 1px 0 rgba(255,255,255,.07);
}

/* ---------- 2. RESET ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--bg);
  color:var(--txt);
  font-family:'Plus Jakarta Sans',ui-sans-serif,system-ui,'Segoe UI',sans-serif;
  font-size:16.5px;
  line-height:1.65;
  font-weight:400;
  letter-spacing:-.011em;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
ul{list-style:none}
::selection{background:var(--amber);color:#0A0A0A}

/* ---------- 3. FONDO ATMOSFÉRICO ---------- */
.atmos{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.atmos__orb{position:absolute;border-radius:50%;filter:blur(110px);opacity:.5}
.atmos__orb--a{width:640px;height:640px;top:-260px;right:-180px;
  background:radial-gradient(circle,rgba(255,140,20,.30),transparent 68%)}
.atmos__orb--b{width:760px;height:760px;top:44%;left:-320px;
  background:radial-gradient(circle,rgba(255,176,32,.14),transparent 70%)}
.atmos__orb--c{width:560px;height:560px;bottom:-220px;right:-120px;
  background:radial-gradient(circle,rgba(90,120,160,.16),transparent 70%)}
.atmos__grid{position:absolute;inset:0;opacity:.5;
  background-image:
    linear-gradient(to right,rgba(255,255,255,.028) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:78px 78px;
  -webkit-mask-image:radial-gradient(ellipse 120% 68% at 50% 0%,#000 12%,transparent 78%);
          mask-image:radial-gradient(ellipse 120% 68% at 50% 0%,#000 12%,transparent 78%);
}
/* Grano físico — fijo, sin repintados de scroll */
.grain{position:fixed;inset:0;z-index:9;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- 4. LAYOUT ---------- */
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:26px;position:relative;z-index:1}
main{position:relative;z-index:1}
section{padding-block:clamp(88px,11vw,168px);position:relative}
.sec-head{max-width:760px;margin-bottom:clamp(48px,6vw,80px)}
.sec-head--center{margin-inline:auto;text-align:center}

/* ---------- 5. TIPOGRAFÍA ---------- */
.display{
  font-family:'Archivo',ui-sans-serif,system-ui,sans-serif;
  font-weight:800;
  line-height:.93;
  letter-spacing:-.038em;
  text-transform:uppercase;
  font-stretch:105%;
}
h1.display{font-size:clamp(2.35rem,4.45vw,3.95rem)}
h2.display{font-size:clamp(2.1rem,4.6vw,3.65rem)}
h3.display{font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.06;letter-spacing:-.026em}
.display em{font-style:normal;
  background:linear-gradient(102deg,var(--amber) 8%,var(--orange) 52%,var(--ember) 96%);
  -webkit-background-clip:text;background-clip:text;color:transparent}

.lede{font-size:clamp(1.02rem,1.35vw,1.16rem);color:var(--txt-2);line-height:1.72;max-width:62ch}
.muted{color:var(--muted)}
.small{font-size:.845rem;line-height:1.6}

/* Eyebrow tag */
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  padding:6px 14px 6px 11px;border-radius:999px;
  background:rgba(255,176,32,.075);
  border:1px solid rgba(255,176,32,.22);
  color:var(--amber);
  font-size:10.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  margin-bottom:24px;
}
.eyebrow::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--amber);
  box-shadow:0 0 0 3px rgba(255,176,32,.2);animation:pulse 2.6s var(--ease) infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.42;transform:scale(.8)}}

/* Numeración de índice */
.idx{font-family:'Archivo',sans-serif;font-weight:700;font-size:11px;letter-spacing:.16em;
  color:var(--amber);opacity:.85}

/* ---------- 6. DOBLE BISEL (shell + core) ---------- */
.shell{
  display:block;
  position:relative;
  padding:var(--shell-pad);
  border-radius:var(--shell);
  background:linear-gradient(160deg,rgba(255,255,255,.075),rgba(255,255,255,.012) 46%,rgba(255,255,255,.03));
  border:1px solid var(--hair-soft);
  transition:transform .7s var(--ease),border-color .7s var(--ease),box-shadow .7s var(--ease);
}
.core{
  position:relative;height:100%;
  border-radius:var(--core);
  background:linear-gradient(168deg,#111820 0%,#0A0E13 58%,#080B0F 100%);
  border:1px solid var(--hair-soft);
  box-shadow:var(--inner-hi);
  overflow:hidden;
}
.core--pad{padding:clamp(24px,2.7vw,34px)}

/* Hover: masa física */
.shell--live{cursor:default}
.shell--live:hover{transform:translateY(-5px);border-color:rgba(255,176,32,.3);box-shadow:var(--lift)}
.shell--live:hover .core{border-color:rgba(255,176,32,.14)}
.shell--live .core::after{
  content:"";position:absolute;inset:0;opacity:0;pointer-events:none;
  background:radial-gradient(680px circle at var(--mx,50%) var(--my,0%),rgba(255,176,32,.09),transparent 62%);
  transition:opacity .7s var(--ease);
}
.shell--live:hover .core::after{opacity:1}

/* ---------- 7. BOTONES ---------- */
.btn{
  --btn-bg:rgba(255,255,255,.055);
  --btn-fg:var(--txt);
  display:inline-flex;align-items:center;gap:14px;
  padding:11px 11px 11px 26px;
  border-radius:999px;
  background:var(--btn-bg);
  color:var(--btn-fg);
  border:1px solid var(--hair);
  font-weight:650;font-size:.945rem;letter-spacing:-.012em;
  cursor:pointer;position:relative;isolation:isolate;
  transition:transform .5s var(--ease),background .5s var(--ease),border-color .5s var(--ease),box-shadow .5s var(--ease);
}
.btn:active{transform:scale(.975)}
.btn__ico{
  width:34px;height:34px;flex:none;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(255,255,255,.09);
  border:1px solid var(--hair-soft);
  transition:transform .55s var(--spring),background .5s var(--ease);
}
.btn__ico svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.5;
  stroke-linecap:round;stroke-linejoin:round}
.btn:hover .btn__ico{transform:translate(3px,-2px) scale(1.07)}
.btn--flat{padding-right:26px}
.btn--flat:hover{transform:translateY(-2px)}

.btn--primary{
  --btn-fg:#150C00;
  background:linear-gradient(140deg,#FFC44D 0%,var(--amber) 34%,var(--orange) 100%);
  border-color:rgba(255,200,110,.5);
  box-shadow:0 16px 44px -18px rgba(255,140,20,.8),inset 0 1px 0 rgba(255,255,255,.42);
  font-weight:750;
}
.btn--primary:hover{box-shadow:0 24px 56px -18px rgba(255,140,20,.95),inset 0 1px 0 rgba(255,255,255,.5)}
.btn--primary .btn__ico{background:rgba(20,10,0,.16);border-color:rgba(20,10,0,.14)}
.btn--ghost:hover{background:rgba(255,255,255,.085);border-color:var(--hair-strong)}
.btn--wa{--btn-fg:#04180D;background:linear-gradient(140deg,#4BE080,#1FA855);border-color:rgba(80,230,140,.42);
  box-shadow:0 16px 40px -18px rgba(30,190,90,.8),inset 0 1px 0 rgba(255,255,255,.32);font-weight:750}
.btn--wa .btn__ico{background:rgba(0,30,15,.16);border-color:rgba(0,30,15,.12)}

/* ---------- 8. NAV ISLA FLOTANTE ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;padding-top:20px;
  transition:padding-top .7s var(--ease)}
.nav.is-stuck{padding-top:11px}
.nav__isle{
  width:max-content;max-width:calc(100% - 28px);margin-inline:auto;min-width:0;
  display:flex;align-items:center;gap:8px;
  padding:8px 8px 8px 18px;
  border-radius:999px;
  background:rgba(10,14,18,.62);
  backdrop-filter:blur(26px) saturate(180%);
  -webkit-backdrop-filter:blur(26px) saturate(180%);
  border:1px solid var(--hair);
  box-shadow:0 24px 60px -26px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.07);
  transition:background .7s var(--ease),border-color .7s var(--ease),box-shadow .7s var(--ease);
}
.nav.is-stuck .nav__isle{background:rgba(8,11,15,.86);border-color:var(--hair-strong)}

.brand{display:flex;align-items:center;gap:11px;min-width:0;padding-right:12px;margin-right:4px;
  border-right:1px solid var(--hair-soft)}
.brand__mark{width:34px;height:34px;flex:none;border-radius:11px;
  background:linear-gradient(142deg,var(--amber),var(--orange));
  display:grid;place-items:center;
  box-shadow:0 8px 20px -8px rgba(255,140,20,.9),inset 0 1px 0 rgba(255,255,255,.45)}
.brand__mark svg{width:20px;height:20px;stroke:#160C00;fill:none;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round}
.brand__txt{line-height:1.06;min-width:0;overflow:hidden}
.brand__name{display:block;font-family:'Archivo',sans-serif;font-weight:800;font-size:14.5px;letter-spacing:-.022em;
  text-transform:uppercase;white-space:nowrap}
.brand__sub{display:block;font-size:8.6px;letter-spacing:.185em;text-transform:uppercase;color:var(--muted);font-weight:600}

.nav__links{display:flex;align-items:center;gap:2px}
.nav__link{padding:9px 15px;border-radius:999px;font-size:.885rem;font-weight:600;color:var(--txt-2);
  white-space:nowrap;transition:color .45s var(--ease),background .45s var(--ease)}
.nav__link:hover{color:var(--txt);background:rgba(255,255,255,.06)}
.nav__cta{display:flex;align-items:center;gap:8px;padding-left:6px}
.nav .btn{padding:9px 9px 9px 19px;font-size:.875rem}
.nav .btn__ico{width:29px;height:29px}
.nav .btn__ico svg{width:13px;height:13px}

/* Hamburguesa con morph a X */
.burger{display:none;width:42px;height:42px;border-radius:50%;border:1px solid var(--hair);
  background:rgba(255,255,255,.055);position:relative;cursor:pointer;flex:none;
  transition:background .5s var(--ease),border-color .5s var(--ease)}
.burger span{position:absolute;left:50%;width:17px;height:1.6px;border-radius:2px;background:var(--txt);
  transition:transform .62s var(--ease),opacity .3s var(--ease)}
.burger span:nth-child(1){top:16px;transform:translateX(-50%)}
.burger span:nth-child(2){top:24px;transform:translateX(-50%)}
.burger.is-open span:nth-child(1){transform:translateX(-50%) translateY(4px) rotate(45deg)}
.burger.is-open span:nth-child(2){transform:translateX(-50%) translateY(-4px) rotate(-45deg)}

/* Overlay de menú */
.menu{position:fixed;inset:0;z-index:55;display:flex;flex-direction:column;justify-content:center;
  padding:96px 30px 40px;
  background:rgba(6,8,10,.9);
  backdrop-filter:blur(34px) saturate(150%);
  -webkit-backdrop-filter:blur(34px) saturate(150%);
  opacity:0;visibility:hidden;transition:opacity .68s var(--ease),visibility .68s var(--ease)}
.menu.is-open{opacity:1;visibility:visible}
.menu__list{display:flex;flex-direction:column;gap:4px;max-width:520px;width:100%;margin-inline:auto}
.menu__item{overflow:hidden}
.menu__link{display:flex;align-items:baseline;gap:16px;padding:13px 0;
  font-family:'Archivo',sans-serif;font-weight:800;text-transform:uppercase;
  font-size:clamp(1.7rem,7.6vw,2.5rem);letter-spacing:-.035em;line-height:1;
  border-bottom:1px solid var(--hair-soft);
  transform:translateY(58px);opacity:0;
  transition:transform .82s var(--ease),opacity .82s var(--ease),color .4s var(--ease)}
.menu__link span{font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;font-weight:700;
  letter-spacing:.14em;color:var(--amber);opacity:.8}
.menu.is-open .menu__link{transform:translateY(0);opacity:1}
.menu.is-open .menu__item:nth-child(1) .menu__link{transition-delay:.07s}
.menu.is-open .menu__item:nth-child(2) .menu__link{transition-delay:.12s}
.menu.is-open .menu__item:nth-child(3) .menu__link{transition-delay:.17s}
.menu.is-open .menu__item:nth-child(4) .menu__link{transition-delay:.22s}
.menu.is-open .menu__item:nth-child(5) .menu__link{transition-delay:.27s}
.menu.is-open .menu__item:nth-child(6) .menu__link{transition-delay:.32s}
.menu.is-open .menu__item:nth-child(7) .menu__link{transition-delay:.37s}
.menu__foot{max-width:520px;width:100%;margin:34px auto 0;display:flex;flex-wrap:wrap;gap:10px}

/* ---------- 9. HERO ---------- */
.hero{padding-top:clamp(116px,11.5vw,150px);padding-bottom:clamp(56px,6vw,84px);min-height:100dvh;
  display:flex;align-items:center}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr);gap:clamp(36px,4.6vw,64px);align-items:center;width:100%}
.hero h1{margin-bottom:21px}
.hero__lede{margin-bottom:14px;font-size:clamp(1rem,1.2vw,1.09rem)}
.hero__support{font-size:.895rem;color:var(--muted);max-width:60ch;margin-bottom:27px;line-height:1.66}
.hero__cta{display:flex;flex-wrap:wrap;gap:11px;margin-bottom:32px}
.hero__cta .btn{font-size:.905rem;padding-left:22px}
.hero__meta{display:flex;flex-wrap:wrap;gap:9px 24px;padding-top:22px;border-top:1px solid var(--hair-soft)}
.hero__meta div{display:flex;align-items:center;gap:9px;font-size:.83rem;color:var(--muted)}
.hero__meta svg{width:15px;height:15px;stroke:var(--amber);fill:none;stroke-width:1.4;
  stroke-linecap:round;stroke-linejoin:round;flex:none}

/* Bento del hero — cascada eje Z */
.hero__bento{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.hero__bento .shell:nth-child(1){grid-column:span 2}
.hero-card{display:flex;flex-direction:column;justify-content:space-between;min-height:150px;
  padding:22px 24px}
.hero-card--wide{min-height:216px}
.hero-card__art{position:absolute;right:-14px;bottom:-14px;width:190px;opacity:.15;pointer-events:none}
.hero-card__art svg{width:100%;height:auto;stroke:var(--amber);fill:none;stroke-width:1.25;
  stroke-linecap:round;stroke-linejoin:round}
.hero-card__k{font-family:'Archivo',sans-serif;font-weight:800;font-size:clamp(1.9rem,3.4vw,2.6rem);
  line-height:1;letter-spacing:-.04em;
  background:linear-gradient(140deg,#FFD98A,var(--amber) 46%,var(--orange));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.hero-card__l{font-size:.79rem;color:var(--muted);line-height:1.5;letter-spacing:.01em;margin-top:8px;max-width:24ch}
.hero-card__tag{font-size:9.6px;font-weight:700;letter-spacing:.19em;text-transform:uppercase;color:var(--amber);
  margin-bottom:auto}

/* ---------- 10. MARQUEE ---------- */
.ticker{position:relative;padding-block:0;overflow:hidden;
  border-block:1px solid var(--hair-soft);background:rgba(255,255,255,.016)}
.ticker__track{display:flex;gap:0;width:max-content;animation:slide 42s linear infinite}
.ticker:hover .ticker__track{animation-play-state:paused}
@keyframes slide{to{transform:translateX(-50%)}}
.ticker__item{display:flex;align-items:center;gap:13px;padding:19px 30px;white-space:nowrap;
  font-family:'Archivo',sans-serif;font-weight:700;font-size:.83rem;letter-spacing:.09em;
  text-transform:uppercase;color:var(--txt-2)}
.ticker__item::after{content:"";width:4px;height:4px;border-radius:50%;background:var(--amber);
  margin-left:17px;opacity:.7}
.ticker__item svg{width:19px;height:19px;stroke:var(--amber);fill:none;stroke-width:1.3;
  stroke-linecap:round;stroke-linejoin:round;flex:none;opacity:.9}

/* ---------- 11. SERVICIOS ---------- */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.svc__card{display:flex;flex-direction:column;height:100%;padding:clamp(26px,2.7vw,34px)}
.svc__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:26px}
.svc__ico{width:52px;height:52px;border-radius:15px;flex:none;display:grid;place-items:center;
  background:linear-gradient(150deg,rgba(255,176,32,.15),rgba(255,106,19,.05));
  border:1px solid rgba(255,176,32,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.09)}
.svc__ico svg{width:25px;height:25px;stroke:var(--amber);fill:none;stroke-width:1.3;
  stroke-linecap:round;stroke-linejoin:round}
.svc h3{margin-bottom:11px}
.svc p{font-size:.925rem;color:var(--txt-2);margin-bottom:22px;line-height:1.66}
.svc ul{display:flex;flex-direction:column;gap:11px;margin-top:auto;padding-top:20px;
  border-top:1px solid var(--hair-soft)}
.svc li{display:flex;gap:11px;font-size:.865rem;color:var(--muted);line-height:1.55}
.svc li::before{content:"";width:15px;height:15px;flex:none;margin-top:3px;border-radius:50%;
  background:rgba(255,176,32,.12);border:1px solid rgba(255,176,32,.26);
  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='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size:9px;background-repeat:no-repeat;background-position:center}

/* ---------- 12. CATÁLOGO DE EQUIPOS ---------- */
.fleet{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.fleet .shell:nth-child(1),.fleet .shell:nth-child(6){grid-column:span 2}
.fleet__card{padding:24px;display:flex;flex-direction:column;min-height:212px}
.fleet__art{margin:auto 0 18px;height:88px;display:flex;align-items:flex-end}
.fleet__art svg{width:auto;max-width:100%;height:100%;stroke:var(--amber);fill:none;stroke-width:1.15;
  stroke-linecap:round;stroke-linejoin:round;opacity:.78;
  transition:opacity .7s var(--ease),transform .7s var(--ease)}
.shell--live:hover .fleet__art svg{opacity:1;transform:translateY(-4px)}
.fleet__name{font-family:'Archivo',sans-serif;font-weight:750;font-size:1.01rem;letter-spacing:-.02em;
  text-transform:uppercase;line-height:1.15;margin-bottom:6px}
.fleet__desc{font-size:.795rem;color:var(--muted);line-height:1.55}
.fleet__badge{position:absolute;top:16px;right:16px;padding:4px 10px;border-radius:999px;
  font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  background:rgba(255,176,32,.1);border:1px solid rgba(255,176,32,.24);color:var(--amber)}
.fleet__note{margin-top:26px;font-size:.855rem;color:var(--muted);display:flex;gap:11px;align-items:flex-start}
.fleet__note svg{width:16px;height:16px;stroke:var(--amber);fill:none;stroke-width:1.4;flex:none;margin-top:3px;
  stroke-linecap:round;stroke-linejoin:round}

/* ---------- 12b. MATERIALES Y FERRETERÍA ---------- */
.mat{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.mat__card{display:flex;flex-direction:column;height:100%}
.mat__img{
  position:relative;aspect-ratio:4/3;width:100%;overflow:hidden;
  background:
    radial-gradient(120% 90% at 22% 12%,rgba(255,176,32,.15),transparent 58%),
    linear-gradient(168deg,#161D25 0%,#0C1116 55%,#070A0D 100%);
  border-bottom:1px solid var(--hair-soft);
}
.mat__img::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(88% 78% at 50% 42%,transparent 42%,rgba(0,0,0,.62) 100%)}
.mat__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mat__img svg{position:absolute;inset:0;width:100%;height:100%;
  transition:transform .9s var(--ease)}
.mat__ink{fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
.shell--live:hover .mat__img svg{transform:scale(1.045)}
.mat__cap{padding:20px 24px 24px;display:flex;flex-direction:column;gap:6px}
.mat__k{font-family:'Archivo',sans-serif;font-weight:750;font-size:1.02rem;letter-spacing:-.02em;
  text-transform:uppercase;line-height:1.15}
.mat__d{font-size:.815rem;color:var(--muted);line-height:1.55}

/* ---------- 13. NOSOTROS ---------- */
.about{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(34px,4.4vw,60px);align-items:start}
.about__body p{color:var(--txt-2);margin-bottom:18px;line-height:1.76;font-size:1rem}
.mv{display:grid;gap:14px;margin-top:30px}
.mv__card{padding:26px 28px}
.mv__label{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--amber);margin-bottom:12px}
.mv__label svg{width:15px;height:15px;stroke:var(--amber);fill:none;stroke-width:1.4;
  stroke-linecap:round;stroke-linejoin:round}
.mv__card p{font-size:.925rem;color:var(--txt-2);line-height:1.7}

.values{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.value{padding:22px 24px;display:flex;align-items:center;gap:14px}
.value svg{width:21px;height:21px;stroke:var(--amber);fill:none;stroke-width:1.3;flex:none;
  stroke-linecap:round;stroke-linejoin:round}
.value b{font-weight:650;font-size:.9rem;letter-spacing:-.012em}
.diffs{margin-top:16px;display:grid;gap:12px}
.diff{padding:20px 24px;display:flex;gap:15px;align-items:flex-start}
.diff__n{font-family:'Archivo',sans-serif;font-weight:800;font-size:.78rem;color:var(--amber);
  letter-spacing:.06em;padding-top:2px;flex:none}
.diff p{font-size:.895rem;color:var(--txt-2);line-height:1.6}

/* ---------- 14. POR QUÉ ELEGIRNOS ---------- */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.why__card{padding:30px}
.why__n{font-family:'Archivo',sans-serif;font-weight:800;font-size:2.5rem;line-height:1;
  letter-spacing:-.05em;color:rgba(255,255,255,.07);margin-bottom:16px;
  transition:color .7s var(--ease)}
.shell--live:hover .why__n{color:rgba(255,176,32,.34)}
.why h3{margin-bottom:10px;font-size:1.06rem}
.why p{font-size:.885rem;color:var(--muted);line-height:1.68}

/* ---------- 15. SECTORES + PROCESO ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,4vw,56px);align-items:start}
.sectors{display:grid;gap:11px;margin-top:30px}
.sector{padding:19px 24px;display:flex;align-items:center;gap:16px;
  transition:transform .6s var(--ease)}
.shell--live:hover .sector{transform:translateX(5px)}
.sector__ico{width:38px;height:38px;border-radius:11px;flex:none;display:grid;place-items:center;
  background:rgba(255,176,32,.08);border:1px solid rgba(255,176,32,.17)}
.sector__ico svg{width:19px;height:19px;stroke:var(--amber);fill:none;stroke-width:1.3;
  stroke-linecap:round;stroke-linejoin:round}
.sector b{font-weight:640;font-size:.925rem;letter-spacing:-.012em;display:block;line-height:1.35}
.sector span:not(.sector__ico){display:block;font-size:.79rem;color:var(--muted);line-height:1.45}
.sector>div{min-width:0}

.steps{display:grid;gap:12px;margin-top:30px;position:relative}
.step{padding:24px 26px;display:flex;gap:18px;align-items:flex-start}
.step__n{width:34px;height:34px;flex:none;border-radius:11px;display:grid;place-items:center;
  font-family:'Archivo',sans-serif;font-weight:800;font-size:.83rem;color:#160C00;
  background:linear-gradient(142deg,var(--amber),var(--orange));
  box-shadow:0 8px 18px -8px rgba(255,140,20,.8),inset 0 1px 0 rgba(255,255,255,.42)}
.step h3{font-size:1rem;margin-bottom:6px}
.step p{font-size:.86rem;color:var(--muted);line-height:1.62}

/* ---------- 16. COTIZADOR ---------- */
.quote{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(30px,3.8vw,52px);align-items:start}
.form{display:grid;gap:13px}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.field label span{color:var(--amber)}
.inp{
  width:100%;padding:13px 16px;border-radius:13px;
  background:rgba(255,255,255,.028);
  border:1px solid var(--hair);
  color:var(--txt);font-size:.925rem;
  transition:border-color .5s var(--ease),background .5s var(--ease),box-shadow .5s var(--ease);
  appearance:none;-webkit-appearance:none;
}
.inp::placeholder{color:#5D6874}
.inp:focus{outline:none;border-color:rgba(255,176,32,.55);background:rgba(255,176,32,.045);
  box-shadow:0 0 0 4px rgba(255,176,32,.09)}
textarea.inp{resize:vertical;min-height:104px;line-height:1.6}
select.inp{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='%237E8A97' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 15px center;background-size:16px;padding-right:44px}
select.inp option{background:#0C1116;color:var(--txt)}
.form__actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:8px}
.form__note{font-size:.775rem;color:var(--muted);line-height:1.6;margin-top:6px}

.contact{display:grid;gap:12px}
.cline{padding:19px 22px;display:flex;align-items:center;gap:15px;
  transition:transform .6s var(--ease)}
.shell--live:hover .cline{transform:translateX(4px)}
.cline__ico{width:40px;height:40px;border-radius:12px;flex:none;display:grid;place-items:center;
  background:rgba(255,176,32,.085);border:1px solid rgba(255,176,32,.18)}
.cline__ico svg{width:19px;height:19px;stroke:var(--amber);fill:none;stroke-width:1.35;
  stroke-linecap:round;stroke-linejoin:round}
.cline>span:last-child{display:block;min-width:0}
.cline__k{display:block;font-size:9.6px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);
  margin-bottom:3px}
.cline__v{display:block;font-size:.93rem;font-weight:600;letter-spacing:-.014em;line-height:1.4;word-break:break-word}
.map{height:248px;border:0;width:100%;display:block;
  filter:invert(92%) grayscale(38%) hue-rotate(178deg) contrast(88%) brightness(94%)}

/* ---------- 17. CTA FINAL ---------- */
.finale{position:relative;overflow:hidden;text-align:center;padding:clamp(52px,6.6vw,88px) clamp(26px,4vw,56px)}
.finale::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(760px circle at 50% 118%,rgba(255,140,20,.2),transparent 66%)}
.finale__inner{position:relative}
.finale h2{margin-bottom:18px}
.finale p{max-width:58ch;margin:0 auto 34px;color:var(--txt-2);font-size:1.03rem}
.finale__cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
/* Franja de peligro */
.hazard{height:7px;width:100%;border-radius:999px;margin-bottom:34px;opacity:.85;
  background:repeating-linear-gradient(115deg,var(--amber) 0 15px,#0A0E12 15px 30px)}

/* ---------- 18. FOOTER ---------- */
.foot{border-top:1px solid var(--hair-soft);padding-block:64px 34px;position:relative;z-index:1;
  background:rgba(255,255,255,.012)}
.foot__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px;margin-bottom:48px}
.foot__brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.foot p{font-size:.855rem;color:var(--muted);line-height:1.72;max-width:38ch}
.foot h4{font-family:'Archivo',sans-serif;font-weight:750;font-size:10.5px;letter-spacing:.19em;
  text-transform:uppercase;color:var(--txt);margin-bottom:17px}
.foot__list{display:grid;gap:10px}
.foot__list a,.foot__list li{font-size:.865rem;color:var(--muted);transition:color .45s var(--ease)}
.foot__list a:hover{color:var(--amber)}
.foot__bar{padding-top:26px;border-top:1px solid var(--hair-soft);display:flex;flex-wrap:wrap;
  justify-content:space-between;gap:14px;font-size:.78rem;color:#5F6A76}
.foot__legal{display:flex;flex-wrap:wrap;gap:10px 22px}

/* ---------- 19. WHATSAPP FLOTANTE ---------- */
.wa{position:fixed;right:20px;bottom:20px;z-index:50;display:flex;align-items:center;gap:12px;
  padding:12px 20px 12px 13px;border-radius:999px;
  background:linear-gradient(140deg,#4BE080,#1FA855);color:#04180D;font-weight:700;font-size:.885rem;
  border:1px solid rgba(90,235,150,.4);
  box-shadow:0 22px 48px -18px rgba(25,180,85,.85),inset 0 1px 0 rgba(255,255,255,.35);
  transform:translateY(90px);opacity:0;
  transition:transform .8s var(--ease),opacity .8s var(--ease),box-shadow .5s var(--ease)}
.wa.is-in{transform:translateY(0);opacity:1}
.wa:hover{box-shadow:0 28px 60px -18px rgba(25,190,90,1),inset 0 1px 0 rgba(255,255,255,.45)}
.wa:active{transform:scale(.97)}
.wa svg{width:24px;height:24px;fill:#04180D;flex:none}
.wa__txt{white-space:nowrap}

/* ---------- 20. REVELADO POR SCROLL ---------- */
.rv{opacity:0;transform:translateY(46px);filter:blur(9px);
  transition:opacity .95s var(--ease-out),transform .95s var(--ease-out),filter .95s var(--ease-out)}
.rv.is-in{opacity:1;transform:none;filter:blur(0)}
.rv-d1{transition-delay:.07s}.rv-d2{transition-delay:.14s}.rv-d3{transition-delay:.21s}
.rv-d4{transition-delay:.28s}.rv-d5{transition-delay:.35s}.rv-d6{transition-delay:.42s}

/* ---------- 21. RESPONSIVE ---------- */
@media (max-width:1080px){
  .mat{grid-template-columns:repeat(2,1fr)}
  .fleet{grid-template-columns:repeat(2,1fr)}
  .fleet .shell:nth-child(1),.fleet .shell:nth-child(6){grid-column:span 2}
  .why{grid-template-columns:repeat(2,1fr)}
  .foot__grid{grid-template-columns:1fr 1fr;gap:34px}
}
@media (max-width:1085px){
  .nav__links{display:none}
  .nav__cta .btn--ghost{display:none}
  .burger{display:block}
  .hero__grid,.about,.split,.quote{grid-template-columns:1fr}
  .hero{min-height:auto;padding-top:132px}
  .svc{grid-template-columns:1fr}
  .about__body{max-width:none}
}
@media (max-width:768px){
  .mat{grid-template-columns:1fr}
  .wrap{padding-inline:16px}
  section{padding-block:76px}
  :root{--shell:22px;--shell-pad:6px;--core:16px}
  .hero__bento{grid-template-columns:1fr}
  .hero__bento .shell:nth-child(1){grid-column:span 1}
  .fleet{grid-template-columns:1fr}
  .fleet .shell:nth-child(1),.fleet .shell:nth-child(6){grid-column:span 1}
  .why{grid-template-columns:1fr}
  .values{grid-template-columns:1fr}
  .form__row{grid-template-columns:1fr}
  .foot__grid{grid-template-columns:1fr;gap:30px}
  .foot p{max-width:none}
  .wa__txt{display:none}
  .wa{padding:14px;right:15px;bottom:15px}
  /* Reserva sitio para que el boton flotante de WhatsApp no tape el final del footer */
  .foot{padding-bottom:104px}
  .hero__cta .btn,.finale__cta .btn,.form__actions .btn{width:100%;justify-content:space-between}
  .shell--live:hover{transform:none}
  .atmos__grid{background-size:56px 56px}
}
@media (max-width:430px){
  .brand__sub{display:none}
  /* El nombre se recortaba: el boton Cotizar y la hamburguesa se comen el ancho.
     Se suelta la flecha del boton y el nombre escala con el viewport. */
  .brand__name{font-size:clamp(11px,3.35vw,13.5px)}
  .brand{padding-right:9px;gap:9px}
  .nav .btn__ico{display:none}
  .nav .btn{padding:9px 15px}
  .nav__isle{padding-left:14px}
  h1.display{font-size:clamp(2.15rem,9vw,2.7rem)}
}
@media (max-width:355px){
  /* Por debajo de este ancho no cabe el nombre completo: queda solo la marca grafica */
  .brand__txt{display:none}
  .brand{border-right:none;padding-right:0;margin-right:0}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
  .rv{opacity:1;transform:none;filter:none}
}
