/* UV Maoto SA — hoja de estilos
   Rojo de marca #E2081D tomado del logo original. */

:root{
  --tinta:#14181d;
  --tinta-2:#5a6672;
  --tinta-3:#8a949e;
  --rojo:#e2081d;
  --rojo-osc:#b00617;
  --rojo-suave:#fdecee;
  --papel:#fff;
  --papel-2:#f5f7f9;
  --linea:#e4e9ed;
  --mar:#0e1c26;
  --radio:14px;
  --ancho:1160px;
  --sombra:0 1px 2px rgba(20,24,29,.04), 0 8px 24px -12px rgba(20,24,29,.12);
  --sombra-alta:0 2px 4px rgba(20,24,29,.05), 0 18px 40px -16px rgba(20,24,29,.22);
  --tr:.28s cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  font-size:17px;
  line-height:1.65;
  color:var(--tinta);
  background:var(--papel);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

h1,h2,h3,h4{
  font-family:'Archivo','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-weight:650;
  line-height:1.12;
  letter-spacing:-.022em;
  margin:0 0 .5em;
  text-wrap:balance;
}
h1{font-size:clamp(2.1rem,5.2vw,3.5rem)}
h2{font-size:clamp(1.6rem,3.4vw,2.4rem)}
h3{font-size:1.18rem;letter-spacing:-.012em}
p{margin:0 0 1.1em}
a{color:inherit}
img{max-width:100%;height:auto;display:block}

.contenedor{width:100%;max-width:var(--ancho);margin-inline:auto;padding-inline:24px}
.seccion{padding-block:clamp(64px,9vw,110px)}
.seccion--gris{background:var(--papel-2);border-block:1px solid var(--linea)}

.plomo{color:var(--tinta-2)}
.bajada{font-size:clamp(1.05rem,1.9vw,1.28rem);line-height:1.6;color:var(--tinta-2);max-width:62ch}

.etiqueta{
  display:inline-flex;align-items:center;gap:.5em;
  font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--rojo);margin-bottom:1rem;
}
.etiqueta::before{content:"";width:22px;height:2px;background:var(--rojo);border-radius:2px}

/* ---------- cabecera ---------- */
.cabecera{
  position:sticky;top:0;z-index:60;
  background:rgba(255,255,255,.82);
  backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color var(--tr), box-shadow var(--tr);
}
.cabecera.fija{border-bottom-color:var(--linea);box-shadow:0 6px 24px -20px rgba(20,24,29,.5)}
.cabecera__fila{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px}
.marca{display:flex;align-items:center;text-decoration:none;flex-shrink:0}
.marca img{height:42px;width:auto}

.menu{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.menu a{
  display:block;padding:8px 14px;border-radius:9px;text-decoration:none;
  font-size:.95rem;font-weight:500;color:var(--tinta-2);
  transition:color var(--tr),background var(--tr);
}
.menu a:hover{color:var(--tinta);background:var(--papel-2)}
.menu a.activo{color:var(--tinta);font-weight:600}

.hamburguesa{
  display:none;width:42px;height:42px;border:1px solid var(--linea);background:var(--papel);
  border-radius:10px;cursor:pointer;align-items:center;justify-content:center;padding:0;
}
.hamburguesa span{display:block;width:17px;height:1.6px;background:var(--tinta);border-radius:2px;position:relative;transition:transform var(--tr),background var(--tr)}
.hamburguesa span::before,.hamburguesa span::after{
  content:"";position:absolute;left:0;width:17px;height:1.6px;background:var(--tinta);border-radius:2px;transition:transform var(--tr),top var(--tr)}
.hamburguesa span::before{top:-6px}
.hamburguesa span::after{top:6px}
.hamburguesa[aria-expanded="true"] span{background:transparent}
.hamburguesa[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.hamburguesa[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}

/* ---------- botones ---------- */
.boton{
  display:inline-flex;align-items:center;gap:.6em;
  padding:13px 24px;border-radius:11px;border:1px solid transparent;
  font-size:.97rem;font-weight:600;text-decoration:none;cursor:pointer;
  transition:transform var(--tr),background var(--tr),border-color var(--tr),color var(--tr),box-shadow var(--tr);
}
.boton svg{transition:transform var(--tr)}
.boton:hover svg{transform:translateX(3px)}
.boton--rojo{background:var(--rojo);color:#fff;box-shadow:0 10px 24px -14px rgba(226,8,29,.9)}
.boton--rojo:hover{background:var(--rojo-osc);transform:translateY(-2px);box-shadow:0 16px 30px -16px rgba(226,8,29,.85)}
.boton--linea{background:transparent;border-color:var(--linea);color:var(--tinta)}
.boton--linea:hover{border-color:var(--tinta);transform:translateY(-2px)}

/* ---------- portada ---------- */
.portada{position:relative;overflow:hidden;padding-block:clamp(70px,11vw,130px) clamp(60px,9vw,105px)}
.portada__sol{
  position:absolute;top:-34%;right:-14%;width:min(760px,88vw);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 50% 50%, rgba(226,8,29,.16), rgba(226,8,29,.05) 45%, transparent 68%);
  pointer-events:none;z-index:0;will-change:transform;
}
.portada__grilla{
  position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(var(--linea) 1px,transparent 1px),linear-gradient(90deg,var(--linea) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(ellipse 80% 62% at 50% 30%,#000 15%,transparent 72%);
  mask-image:radial-gradient(ellipse 80% 62% at 50% 30%,#000 15%,transparent 72%);
}
.portada .contenedor{position:relative;z-index:1}
.portada h1{max-width:17ch}
.portada h1 em{font-style:normal;color:var(--rojo)}
.portada .bajada{margin-top:1.4rem}
.portada__acciones{display:flex;flex-wrap:wrap;gap:12px;margin-top:2.2rem}

.cifras{display:flex;flex-wrap:wrap;gap:clamp(28px,5vw,64px);margin-top:clamp(46px,6vw,72px);padding-top:34px;border-top:1px solid var(--linea)}
.cifra__n{font-family:'Archivo',sans-serif;font-size:clamp(1.9rem,3.6vw,2.6rem);font-weight:700;letter-spacing:-.03em;line-height:1}
.cifra__t{font-size:.86rem;color:var(--tinta-2);margin-top:.45rem}

/* ---------- grilla de tarjetas ---------- */
.grilla{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(288px,1fr))}

.tarjeta{
  position:relative;display:flex;flex-direction:column;
  background:var(--papel);border:1px solid var(--linea);border-radius:var(--radio);
  padding:26px 24px 22px;text-decoration:none;overflow:hidden;
  transition:transform var(--tr),border-color var(--tr),box-shadow var(--tr);
}
.tarjeta::after{
  content:"";position:absolute;left:0;top:0;height:3px;width:100%;
  background:var(--rojo);transform:scaleX(0);transform-origin:left;transition:transform var(--tr);
}
.tarjeta:hover{transform:translateY(-4px);border-color:#d3dae1;box-shadow:var(--sombra-alta)}
.tarjeta:hover::after{transform:scaleX(1)}
.tarjeta h3{margin:0 0 .5rem}
.tarjeta p{font-size:.94rem;color:var(--tinta-2);margin:0 0 1.3rem;flex:1}
.tarjeta__pie{display:flex;align-items:center;justify-content:space-between;gap:10px 12px;flex-wrap:wrap;margin-top:auto}
.tarjeta__mas{display:inline-flex;align-items:center;gap:.4em;font-size:.87rem;font-weight:600;color:var(--rojo);white-space:nowrap}
.tarjeta__meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.tarjeta__mas svg{transition:transform var(--tr)}
.tarjeta:hover .tarjeta__mas svg{transform:translateX(4px)}

/* estado */
.estado{
  display:inline-flex;align-items:center;gap:.45em;flex-shrink:0;
  font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;
  padding:5px 11px;border-radius:99px;border:1px solid;white-space:nowrap;
}
.estado::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.estado--patentado{color:#0a7d3f;border-color:#bce5cd;background:#f0faf4}
.estado--prototipo{color:#a35c00;border-color:#f0dcb8;background:#fdf7ec}
.estado--proyecto{color:#4b5a6b;border-color:#dfe5ea;background:#f5f7f9}

.tarjeta__video{display:inline-flex;align-items:center;gap:.35em;font-size:.78rem;font-weight:500;color:var(--tinta-3);white-space:nowrap}

/* ---------- filtros ---------- */
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}
.filtro{
  padding:8px 16px;border-radius:99px;border:1px solid var(--linea);background:var(--papel);
  font:inherit;font-size:.9rem;font-weight:500;color:var(--tinta-2);cursor:pointer;
  transition:all var(--tr);
}
.filtro:hover{border-color:var(--tinta-3);color:var(--tinta)}
.filtro[aria-pressed="true"]{background:var(--tinta);border-color:var(--tinta);color:#fff}
.filtro span{opacity:.55;margin-left:.35em;font-variant-numeric:tabular-nums}

.tarjeta.oculta{display:none}
.sin-resultados{padding:50px 0;text-align:center;color:var(--tinta-2)}

/* ---------- servicios ---------- */
.servicios{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.servicio{background:var(--papel);border:1px solid var(--linea);border-radius:var(--radio);padding:28px 26px;transition:transform var(--tr),box-shadow var(--tr)}
.servicio:hover{transform:translateY(-3px);box-shadow:var(--sombra)}
.servicio__ico{
  width:44px;height:44px;border-radius:11px;display:grid;place-items:center;
  background:var(--rojo-suave);color:var(--rojo);margin-bottom:16px;
}
.servicio h3{margin-bottom:.45rem}
.servicio p{font-size:.95rem;color:var(--tinta-2);margin:0}

/* ---------- detalle de innovación ---------- */
.miga{display:flex;flex-wrap:wrap;align-items:center;gap:.5em;font-size:.87rem;color:var(--tinta-3);padding-top:28px}
.miga a{text-decoration:none;color:var(--tinta-2)}
.miga a:hover{color:var(--rojo)}
.miga svg{opacity:.5;flex-shrink:0}

.detalle{padding-block:34px clamp(60px,8vw,96px)}
.detalle__cabeza{max-width:52rem;margin-bottom:clamp(36px,5vw,52px)}
.detalle__cabeza h1{margin:.7rem 0 0;font-size:clamp(1.9rem,4.2vw,2.9rem)}
.detalle__cuerpo{display:grid;gap:clamp(32px,5vw,56px);grid-template-columns:minmax(0,1fr) 310px;align-items:start}
.prosa{max-width:70ch}
.prosa>p:first-of-type{font-size:1.12rem;color:var(--tinta-2)}
.prosa h2{font-size:1.34rem;margin-top:2.2em}
.prosa ul{margin:0 0 1.3em;padding-left:1.15em}
.prosa li{margin-bottom:.45em}

.ficha{position:sticky;top:96px;border:1px solid var(--linea);border-radius:var(--radio);background:var(--papel-2);padding:24px;font-size:.93rem}
.ficha h2{font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;color:var(--tinta-3);margin:0 0 16px;font-weight:600}
.ficha dl{margin:0;display:grid;gap:15px}
.ficha dt{font-size:.78rem;color:var(--tinta-3);margin-bottom:2px}
.ficha dd{margin:0;font-weight:500;line-height:1.45}
.ficha .estado{margin-top:2px}

/* video */
.video{margin:2.4em 0}
.video__marco{
  position:relative;aspect-ratio:16/9;border-radius:var(--radio);overflow:hidden;
  background:var(--mar) center/cover no-repeat;cursor:pointer;border:0;padding:0;width:100%;display:block;
}
.video__marco::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,28,38,.05),rgba(14,28,38,.45));transition:background var(--tr)}
.video__marco:hover::after{background:linear-gradient(180deg,rgba(14,28,38,0),rgba(14,28,38,.3))}
.video__play{
  position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:2;
  width:74px;height:52px;border-radius:13px;background:var(--rojo);
  display:grid;place-items:center;box-shadow:0 12px 30px -10px rgba(0,0,0,.6);
  transition:transform var(--tr),background var(--tr);
}
.video__marco:hover .video__play{transform:scale(1.09);background:var(--rojo-osc)}
.video__marco iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video figcaption{font-size:.86rem;color:var(--tinta-3);margin-top:.7rem}

/* anterior / siguiente */
.pasos{display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-top:clamp(48px,6vw,72px);padding-top:32px;border-top:1px solid var(--linea)}
.paso{
  display:flex;flex-direction:column;gap:5px;padding:18px 20px;border:1px solid var(--linea);
  border-radius:var(--radio);text-decoration:none;transition:border-color var(--tr),transform var(--tr),box-shadow var(--tr);
}
.paso:hover{border-color:#d3dae1;transform:translateY(-2px);box-shadow:var(--sombra)}
.paso small{font-size:.78rem;color:var(--tinta-3)}
.paso b{font-family:'Archivo',sans-serif;font-weight:600;letter-spacing:-.01em}
.paso--sig{text-align:right;align-items:flex-end}

/* ---------- llamado final ---------- */
.llamado{
  position:relative;overflow:hidden;background:var(--mar);color:#fff;
  border-radius:20px;padding:clamp(44px,6vw,72px);text-align:center;
}
.llamado::before{
  content:"";position:absolute;top:-50%;left:50%;translate:-50% 0;width:min(640px,120%);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(226,8,29,.5),transparent 62%);pointer-events:none;
}
.llamado>*{position:relative}
.llamado h2{color:#fff}
.llamado p{color:rgba(255,255,255,.76);max-width:52ch;margin-inline:auto}
.llamado .boton--linea{border-color:rgba(255,255,255,.28);color:#fff}
.llamado .boton--linea:hover{border-color:#fff;background:rgba(255,255,255,.08)}

/* ---------- contacto ---------- */
.contacto-caja{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.contacto-item{border:1px solid var(--linea);border-radius:var(--radio);padding:26px;background:var(--papel)}
.contacto-item h3{font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;color:var(--tinta-3);font-weight:600;margin-bottom:.6rem}
.contacto-item a{font-size:1.12rem;font-weight:600;text-decoration:none;color:var(--tinta);word-break:break-word;transition:color var(--tr)}
.contacto-item a:hover{color:var(--rojo)}

/* ---------- pie ---------- */
.pie{background:var(--mar);color:rgba(255,255,255,.62);padding-block:56px 30px;font-size:.92rem}
.pie a{color:rgba(255,255,255,.62);text-decoration:none;transition:color var(--tr)}
.pie a:hover{color:#fff}
.pie__fila{display:grid;gap:36px;grid-template-columns:1.4fr 1fr 1fr;padding-bottom:38px}
.pie img{height:36px;width:auto;margin-bottom:16px}
.pie h4{font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.42);font-weight:600;margin-bottom:14px}
.pie ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.pie__legal{border-top:1px solid rgba(255,255,255,.1);padding-top:24px;display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:space-between;font-size:.85rem;color:rgba(255,255,255,.42)}
.pie__credito a{color:rgba(255,255,255,.72);font-weight:500;border-bottom:1px solid rgba(255,255,255,.22);padding-bottom:1px}
.pie__credito a:hover{color:#fff;border-bottom-color:#fff}

/* ---------- aparición al hacer scroll ---------- */
.revela{opacity:0;transform:translateY(16px);transition:opacity .6s cubic-bezier(.22,.61,.36,1),transform .6s cubic-bezier(.22,.61,.36,1)}
.revela.visible{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  .revela{opacity:1;transform:none;transition:none}
  .portada__sol{transform:none!important}
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .detalle__cuerpo{grid-template-columns:1fr}
  .ficha{position:static;order:-1}
  .pie__fila{grid-template-columns:1fr 1fr;gap:30px}
}
/* la ficha tecnica en dos columnas cuando va arriba, para que no se alargue */
@media (min-width:560px) and (max-width:900px){
  .ficha dl{grid-template-columns:1fr 1fr;gap:16px 26px}
  .ficha>p{grid-column:1/-1}
}

@media (max-width:720px){
  body{font-size:16px}
  .detalle__cabeza h1{font-size:clamp(1.65rem,7vw,2.2rem)}
  .hamburguesa{display:flex}
  .menu{
    position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:2px;
    background:var(--papel);border-bottom:1px solid var(--linea);padding:10px 16px 18px;
    box-shadow:0 20px 30px -24px rgba(20,24,29,.5);
    display:none;
  }
  .menu.abierto{display:flex}
  .menu a{padding:12px 10px;border-radius:9px}
  .cifras{gap:26px 34px}
  .pasos{grid-template-columns:1fr}
  .paso--sig{text-align:left;align-items:flex-start}
  .pie__fila{grid-template-columns:1fr}
}

/* pantallas muy angostas (iPhone SE y similares) */
@media (max-width:560px){
  .cifras{display:grid;grid-template-columns:1fr 1fr;gap:26px 20px}
  .contenedor{padding-inline:20px}
  .llamado{padding:38px 24px;border-radius:16px}
  .boton{padding:12px 20px;font-size:.94rem}
}
@media (max-width:380px){
  .filtro{padding:7px 13px;font-size:.86rem}
  .tarjeta{padding:22px 20px 20px}
}
