/* =====================================================================
   SITIO AGENCIA PREMIUM — hoja base
   Tema oscuro "casi negro" con profundidad por luz (bordes inset, glow,
   rejilla tenue, rayos). Tokens arriba; cámbialos ahí, no en las reglas.
   Convención: clases en español, una responsabilidad por clase.
   ===================================================================== */

/* ---------- 1. Tokens ---------- */
:root{
  /* superficie */
  --fondo:#010101;
  --fondo-2:#0b0b0c;
  --superficie:hsla(0,0%,100%,.025);
  --superficie-hover:hsla(0,0%,100%,.05);
  --borde:hsla(0,0%,100%,.075);
  --borde-fuerte:hsla(0,0%,100%,.15);
  --glow:hsla(0,0%,100%,.05);

  /* texto */
  --texto:#ffffff;
  --texto-2:hsla(0,0%,100%,.55);   /* cuerpo: 55% da ≥ 4.5:1 sobre #010101 */
  --texto-3:hsla(0,0%,100%,.35);   /* solo para metadatos no esenciales */
  --inverso:#010101;

  /* acento: UNO. Cámbialo por el de la marca (claro sobre oscuro). */
  --acento:#F3B13A;   /* marigold de Tinystall */

  /* forma */
  --radio:24px;
  --radio-m:16px;
  --radio-s:10px;
  --pildora:999px;

  /* ritmo */
  --gutter:clamp(20px, 7vw, 160px);      /* 10vw en escritorio ≈ dialedweb */
  --seccion:clamp(72px, 15vh, 160px);    /* aire vertical entre secciones */
  --gap:clamp(10px, .75vw, 14px);        /* separación en grids bento */

  /* tipografía */
  --f-display:"Inter Tight", "Inter", system-ui, sans-serif;
  --f-texto:"Inter", system-ui, -apple-system, sans-serif;
  --t-display:clamp(2.6rem, 1.2rem + 5vw, 6rem);
  --t-h2:clamp(2rem, 1rem + 3.25vw, 4rem);
  --t-h3:clamp(1.4rem, 1rem + 1.4vw, 2.1rem);
  --t-grande:clamp(1.05rem, .95rem + .4vw, 1.3rem);
  --t-cuerpo:clamp(1rem, .95rem + .25vw, 1.15rem);
  --t-chico:clamp(.875rem, .84rem + .2vw, .95rem);

  /* movimiento */
  --ease-out:cubic-bezier(.19,1,.22,1);  /* expo-out: hovers y reveals */
  --ease-suave:cubic-bezier(.23,1,.32,1);
  --dur-hover:.5s;
  --dur-reveal:.9s;
  color-scheme:dark;
}

/* ---------- 2. Fuentes (self-hosted) ---------- */
@font-face{font-family:"Inter";font-weight:400;font-display:swap;src:url(../fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-weight:500;font-display:swap;src:url(../fonts/inter-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Inter Tight";font-weight:300 800;font-display:swap;src:url(../fonts/inter-tight-latin-wght-normal.woff2) format("woff2")}

/* ---------- 3. Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:auto;-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{
  margin:0;background:var(--fondo);color:var(--texto);
  font:400 var(--t-cuerpo)/1.5 var(--f-texto);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:clip;
}
::selection{background:#fff;color:#000}
img,video,svg{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid #fff;outline-offset:4px;border-radius:4px}
h1,h2,h3,h4,p{margin:0}
small{font-size:var(--t-chico)}
.visualmente-oculto{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- 4. Tipografía ---------- */
.display,h1{font:700 var(--t-display)/1 var(--f-display);letter-spacing:-.035em;text-wrap:balance}
h2{font:700 var(--t-h2)/1.08 var(--f-display);letter-spacing:-.03em;text-wrap:balance}
h3{font:600 var(--t-h3)/1.15 var(--f-display);letter-spacing:-.02em}
.grande{font-size:var(--t-grande);line-height:1.45}
.chico{font-size:var(--t-chico)}
.gris{color:var(--texto-2)}
.acento{color:var(--acento)}
.centrado{text-align:center}
.medida{max-width:62ch}
.medida-corta{max-width:38ch}

/* etiqueta/eyebrow en píldora */
.etiqueta{
  display:inline-flex;align-items:center;gap:.4em;width:fit-content;
  padding:.45em .9em;border-radius:var(--pildora);
  font-size:var(--t-chico);color:var(--texto-2);
  box-shadow:inset 0 0 0 1px var(--borde), inset 0 0 1vw hsla(0,0%,100%,.2);
}
.etiqueta svg{width:.9em;height:.9em;opacity:.6}

/* ---------- 5. Layout ---------- */
.pagina{padding-inline:var(--gutter)}
section{position:relative}
.seccion{padding-block:var(--seccion)}
.encabezado{display:grid;gap:clamp(12px,1.5vh,20px);justify-items:center;text-align:center;margin-bottom:clamp(32px,5vh,56px)}
.encabezado .medida{margin-inline:auto}
.fila{display:flex;gap:var(--gap);flex-wrap:wrap}
.separador{height:1px;background:var(--borde-fuerte)}

/* ---------- 6. Superficies "vidrio" ---------- */
.vidrio{
  position:relative;overflow:hidden;
  background:var(--superficie);
  border-radius:var(--radio);
  box-shadow:inset 0 0 0 1px var(--borde), inset 0 0 5vw var(--glow);
  transition:background-color var(--dur-hover) var(--ease-out);
}
.vidrio:hover{background:var(--superficie-hover)}
/* degradado radial que ilumina la base de la tarjeta */
.vidrio-luz{background-image:radial-gradient(140% 107% at 50% 10%, transparent 40%, hsla(0,0%,100%,.05) 75%, hsla(0,0%,100%,.1) 100%)}
/* rejilla tenue enmascarada (patrón firma del estilo) */
.rejilla::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(90deg,hsla(0,0%,100%,.05) 1px,transparent 0),linear-gradient(180deg,hsla(0,0%,100%,.05) 1px,transparent 0);
  background-size:clamp(40px,5.2vw,80px) clamp(40px,5.2vw,80px);background-position:50%;
  -webkit-mask-image:radial-gradient(70% 70% at 50% 50%, #000 40%, transparent 100%);
          mask-image:radial-gradient(70% 70% at 50% 50%, #000 40%, transparent 100%);
}
.vidrio>*{position:relative;z-index:1}

/* ---------- 7. Botones ---------- */
.boton{
  display:inline-flex;align-items:center;gap:.75em;
  min-height:48px;padding:.45em .45em .45em 1.25em;border-radius:var(--pildora);
  background:var(--superficie);color:var(--texto);
  box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.1), inset 0 0 1vw hsla(0,0%,100%,.1);
  text-decoration:none;white-space:nowrap;position:relative;
  transition:box-shadow var(--dur-hover) var(--ease-out), background-color var(--dur-hover) var(--ease-out);
}
.boton:hover{background:var(--superficie-hover);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.25), inset 0 0 1vw hsla(0,0%,100%,.15)}
/* texto que se desliza hacia arriba (dos copias, la 2ª absoluta) */
.boton-texto{position:relative;overflow:hidden;display:block;line-height:1.2}
.boton-texto>span{display:block;transition:transform .75s var(--ease-out)}
.boton-texto>span:nth-child(2){position:absolute;inset:0;transform:translateY(100%)}
.boton:hover .boton-texto>span:first-child{transform:translateY(-100%)}
.boton:hover .boton-texto>span:nth-child(2){transform:translateY(0)}
/* círculo blanco con icono que gira */
.boton-circulo{
  width:36px;height:36px;border-radius:50%;flex:none;
  display:grid;place-items:center;background:#fff;color:var(--inverso);
}
.boton-circulo svg{width:16px;height:16px;transition:transform .6s var(--ease-out)}
.boton:hover .boton-circulo svg{transform:rotate(45deg)}
/* variante sólida blanca (CTA principal) */
.boton-solido{background:#fff;color:var(--inverso);box-shadow:none;padding:.8em 1.5em}
.boton-solido:hover{background:#e9e9e9;box-shadow:none}
.boton-solido .boton-circulo{background:var(--inverso);color:#fff}
/* enlace con subrayado que entra de izquierda a derecha */
.enlace{position:relative;text-decoration:none;color:var(--texto-2);transition:color .3s}
.enlace::after{content:"";position:absolute;left:0;right:0;bottom:-.15em;height:1px;background:currentColor;transform:scaleX(0);transform-origin:bottom right;transition:transform .5s var(--ease-out)}
.enlace:hover{color:var(--texto)}
.enlace:hover::after{transform:scaleX(1);transform-origin:bottom left}
/* botón circular pequeño (carrusel, cerrar) */
.boton-icono{
  width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  background:var(--superficie);box-shadow:inset 0 0 0 1px var(--borde);
  backdrop-filter:blur(5px);transition:background-color .25s;
}
.boton-icono:hover{background:var(--superficie-hover)}
.boton-icono:disabled{opacity:.4;cursor:not-allowed}
.boton-icono svg{width:18px;height:18px}

/* ---------- 8. Pantalla de carga ---------- */
.cargando{
  position:fixed;inset:0;z-index:9999;display:grid;place-items:center;
  background:var(--fondo);transition:opacity .35s ease, visibility .35s;
}
.cargando.fuera{opacity:0;visibility:hidden;pointer-events:none}
.cargando svg{width:clamp(96px,18vw,200px);height:auto;animation:girar 4s linear infinite}
@keyframes girar{to{transform:rotate(1turn)}}
/* sin JS no debe bloquear nunca */
html:not(.js) .cargando{display:none}

/* ---------- 9. Navegación en píldora ---------- */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:100;
  display:flex;justify-content:center;padding:clamp(12px,2vh,24px) var(--gutter);
  pointer-events:none;
}
.nav-interior{
  pointer-events:auto;width:min(100%,1180px);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  min-height:60px;padding:6px 6px 6px 22px;border-radius:var(--pildora);
  background:hsla(0,0%,100%,.05);
  box-shadow:inset 0 0 0 1px var(--borde), inset 0 0 5vw var(--glow);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.nav-logo{display:flex;align-items:center;gap:10px;min-height:44px;text-decoration:none;font:600 1rem var(--f-display);letter-spacing:-.01em}
.nav-logo img,.nav-logo svg{height:26px;width:auto}
.nav-enlaces{display:flex;gap:clamp(14px,2vw,28px);list-style:none;margin:0;padding:0}
.nav-enlaces a{font-size:var(--t-chico);display:inline-block;padding:12px 2px}
.nav-cta{min-height:44px}
.nav-menu{display:none}
@media (max-width:860px){
  .nav-enlaces,.nav-cta{display:none}
  .nav-menu{display:grid;width:44px;height:44px;place-items:center;border-radius:var(--radio-s);box-shadow:inset 0 0 0 1px var(--borde-fuerte)}
  .nav-menu span{display:block;width:18px;height:1px;background:#fff;box-shadow:0 -5px 0 #fff,0 5px 0 #fff}
}
/* panel móvil */
.menu-movil{
  position:fixed;inset:0;z-index:90;padding:96px var(--gutter) 40px;display:none;
  background:rgba(1,1,1,.6);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.menu-movil.abierto{display:block}
.menu-movil nav{display:grid;gap:8px;padding:28px;border-radius:var(--radio-m);background:hsla(0,0%,100%,.05);box-shadow:inset 0 0 0 1px var(--borde)}
.menu-movil a{font:600 var(--t-h3) var(--f-display);text-decoration:none;padding:10px 0}

/* ---------- 10. Hero con rayos de luz ---------- */
.hero{min-height:100svh;display:grid;align-content:center;padding-top:clamp(120px,20vh,200px);padding-bottom:var(--seccion);isolation:isolate}
.hero-contenido{position:relative;z-index:2;display:grid;gap:clamp(18px,2.5vh,28px);justify-items:center;text-align:center}
.hero h1{max-width:18ch}
.hero .acciones{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:8px}
.hero-media{width:min(100%,1180px);margin:clamp(32px,6vh,64px) auto 0;aspect-ratio:16/9;border-radius:var(--radio);overflow:hidden;position:relative;z-index:2;outline:1px solid var(--borde-fuerte);outline-offset:-1px;background:var(--fondo-2)}
.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover}

/* rayos: contenedor rotado, desenfocado y enmascarado */
.rayos{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;user-select:none}
.rayos-rejilla{
  position:absolute;inset:0;
  background-image:linear-gradient(90deg,hsla(0,0%,100%,.15) 1px,transparent 0),linear-gradient(180deg,hsla(0,0%,100%,.15) 1px,transparent 0);
  background-size:clamp(60px,10vw,160px) clamp(60px,10vw,160px);
  -webkit-mask-image:radial-gradient(50% 50% at 50% 0,#fff 0,transparent 100%);
          mask-image:radial-gradient(50% 50% at 50% 0,#fff 0,transparent 100%);
}
.rayos-haz{
  position:absolute;top:-40vh;left:-15vw;width:70vw;height:180vh;
  transform:rotate(-38deg);filter:blur(15px);
  -webkit-mask-image:radial-gradient(50% 109%,#000 0,#000000f6 0,transparent 96%);
          mask-image:radial-gradient(50% 109%,#000 0,#000000f6 0,transparent 96%);
}
.rayo{
  position:absolute;top:-20%;bottom:-40%;left:calc(50% - 17px);width:35px;transform-origin:top right;
  background:radial-gradient(50% 50% at 50% 50%,hsla(0,0%,100%,.85) 0,transparent 100%);
  animation:pulso-rayo var(--dur,4s) ease-in-out var(--retardo,0s) infinite both;
}
.rayo:nth-child(1){--o:.85;--dur:4s;transform:rotate(-18deg)}
.rayo:nth-child(2){--o:.75;--dur:3.5s;--retardo:.5s;transform:rotate(-12deg)}
.rayo:nth-child(3){--o:.65;--dur:5s;--retardo:1.2s;width:20px;transform:scale(.9) rotate(-5deg)}
.rayo:nth-child(4){--o:.25;--dur:3s;--retardo:.3s;width:15px;transform:rotate(-3deg)}
.rayo:nth-child(5){--o:.45;--dur:4.5s;--retardo:.8s;width:40px;transform:scale(.8) rotate(0)}
.rayo:nth-child(6){--o:.45;--dur:3.2s;--retardo:1.5s;width:20px;transform:rotate(6deg)}
.rayo:nth-child(7){--o:.65;--dur:4.2s;--retardo:.2s;transform:scale(.83) rotate(9deg)}
.rayo:nth-child(8){--o:1;--dur:3.8s;--retardo:1s;transform:scale(.9) rotate(14deg)}
@keyframes pulso-rayo{0%,100%{opacity:var(--o,.5)}50%{opacity:calc(var(--o,.5)*.4)}}
.rayos-resplandor{position:absolute;left:50%;top:-30vh;width:60vw;height:90vh;transform:translateX(-50%);opacity:.12;background:radial-gradient(50% 50% at 50% 50%,hsla(0,0%,100%,.85) 0,transparent 100%)}
/* degradado negro que "apaga" la esquina del título (truco de dialedweb) */
.titulo-caja{position:relative;overflow:hidden;width:fit-content;margin-inline:auto}
.titulo-sombra{position:absolute;right:-6vw;bottom:-9vw;width:10vw;height:9vw;border-radius:50%;background:var(--fondo);filter:blur(40px);opacity:.55;z-index:1;pointer-events:none}
/* ↑ opcional: oscurece la esquina inferior derecha del título. Si tapa la última palabra, bájale opacity o quítalo. */

/* ---------- 11. Marquesina de logos ---------- */
.marquesina{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent)}
.marquesina-pista{display:flex;gap:clamp(32px,5vw,80px);width:max-content;animation:desplazar 40s linear infinite}
.marquesina:hover .marquesina-pista{animation-play-state:paused}
.marquesina-pista>*{opacity:.5;font:600 1.1rem var(--f-display);letter-spacing:.02em;white-space:nowrap}
@keyframes desplazar{to{transform:translateX(-50%)}}

/* ---------- 12. Tarjetas de servicio ---------- */
.servicios-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--gap)}
.servicio{padding:clamp(24px,2.5vw,40px);display:grid;gap:14px;align-content:start;min-height:clamp(200px,20vw,300px)}
.servicio-icono{width:48px;height:48px;border-radius:var(--radio-s);display:grid;place-items:center;background:var(--superficie);box-shadow:inset 0 0 0 1px var(--borde), inset 0 0 2vw hsla(0,0%,100%,.1)}
.servicio-icono svg{width:22px;height:22px}
.servicio p{color:var(--texto-2)}

/* ---------- 13. Bento de proyectos ---------- */
.bento{display:grid;gap:var(--gap)}
.bento-fila{display:grid;gap:var(--gap)}
.bento-fila-1{grid-template-columns:1fr 1.5fr 1fr;align-items:end}
.bento-fila-2{grid-template-columns:1fr 1fr}
.bento-fila-3{grid-template-columns:1.78fr .8fr 1.78fr}
.proyecto{
  position:relative;overflow:hidden;border-radius:20px;cursor:pointer;user-select:none;
  background:var(--fondo-2);outline:1px solid var(--borde);outline-offset:-1px;
}
.proyecto.cuadrado{aspect-ratio:1/1}
.proyecto.horizontal{aspect-ratio:16/9}
.proyecto.vertical{aspect-ratio:4/5}
.proyecto img,.proyecto video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.proyecto video{opacity:0;transition:opacity .6s ease}
.proyecto:hover video{opacity:1}
.proyecto img{transition:transform 1.2s var(--ease-out)}
.proyecto:hover img{transform:scale(1.04)}
.proyecto-barra{
  position:absolute;inset:auto 0 0 0;z-index:2;display:flex;align-items:center;gap:10px;
  padding:clamp(12px,1vw,18px) clamp(14px,1.25vw,20px);
  background:linear-gradient(0deg,rgba(0,0,0,.7),transparent);
}
.proyecto-logo{width:28px;height:28px;border-radius:6px;object-fit:contain;position:static!important}
.proyecto-nombre{font-weight:500;font-size:var(--t-chico)}
.proyecto-tag{font-size:.875rem;color:hsla(0,0%,100%,.6)}
.proyecto-servicio{
  position:absolute;top:12px;right:12px;z-index:3;padding:.4em 1em;border-radius:var(--pildora);
  font-size:.875rem;font-weight:500;white-space:nowrap;
  background:hsla(0,0%,100%,.08);backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px var(--borde-fuerte);
  opacity:0;transition:opacity .3s;
}
.proyecto:hover .proyecto-servicio,.proyecto:focus-within .proyecto-servicio{opacity:1}
/* placeholder cuando aún no hay imagen real: degradado, nunca stock falso */
.proyecto-placeholder{position:absolute;inset:0;background:linear-gradient(135deg,var(--fondo-2),#17171a 60%,#1f1f24)}
@media (max-width:860px){
  .bento-fila-1,.bento-fila-2,.bento-fila-3{grid-template-columns:1fr 1fr}
  .bento-fila-1 .proyecto:nth-child(2){grid-column:span 2;aspect-ratio:16/10;order:-1}
  .bento-fila-3 .proyecto:nth-child(1),.bento-fila-3 .proyecto:nth-child(3){grid-column:span 2}
  .proyecto-servicio{opacity:1}
}

/* ---------- 14. KPI con número en degradado ---------- */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:var(--gap);perspective:2000px}
.kpi{display:grid;place-items:center;align-content:center;gap:10px;min-height:clamp(220px,22vw,320px);padding:clamp(24px,2vw,36px);text-align:center}
.kpi-numero{
  font:700 clamp(4rem, 2rem + 6vw, 8rem)/1 var(--f-display);letter-spacing:-.04em;
  color:transparent;-webkit-background-clip:text;background-clip:text;
  background-image:linear-gradient(0deg,hsla(0,0%,100%,0) 10%,#fff 80%);
  font-variant-numeric:tabular-nums;
}
.kpi-texto{color:var(--texto-2);margin-top:-6px}
.kpi-pie{position:absolute;left:clamp(16px,2vw,28px);bottom:clamp(16px,2vw,28px);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--superficie);box-shadow:inset 0 0 0 1px var(--borde)}
.kpi-pie svg{width:16px;height:16px}

/* ---------- 15. Testimonios arrastrables ---------- */
.testimonios{padding-inline:0}
.testimonios .encabezado{padding-inline:var(--gutter)}
.carrusel{
  display:flex;gap:var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;
  padding-inline:var(--gutter);scrollbar-width:none;cursor:grab;
}
.carrusel::-webkit-scrollbar{display:none}
.carrusel.arrastrando{cursor:grabbing;scroll-snap-type:none}
.carrusel.arrastrando *{pointer-events:none}
.testimonio{
  flex:0 0 min(86vw,420px);scroll-snap-align:start;aspect-ratio:1/1;
  padding:clamp(22px,2.5vw,40px);display:flex;flex-direction:column;justify-content:space-between;gap:20px;
}
.testimonio-cabecera{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.testimonio-avatar{width:clamp(56px,6vw,88px);height:clamp(56px,6vw,88px);border-radius:50%;overflow:hidden;background:#111;box-shadow:inset 0 0 0 1px var(--borde);position:relative;flex:none}
.testimonio-avatar img{width:100%;height:100%;object-fit:cover;position:relative;z-index:2}
.testimonio-avatar::after{content:"";position:absolute;inset:30%;border-radius:50%;background:var(--acento);filter:blur(20px);opacity:0;transition:opacity .5s}
.testimonio:hover .testimonio-avatar::after{opacity:.75}
.testimonio blockquote{margin:0;font-size:var(--t-grande);line-height:1.4;text-wrap:pretty}
.testimonio-autor{display:grid;gap:2px}
.testimonio-autor small{color:var(--texto-2)}
.carrusel-controles{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-inline:var(--gutter);margin-top:20px}
.carrusel-progreso{flex:1;height:3px;border-radius:var(--pildora);background:hsla(0,0%,100%,.08);overflow:hidden}
.carrusel-progreso i{display:block;height:100%;width:20%;background:#fff;border-radius:inherit;transition:transform .2s linear;transform-origin:left}
.carrusel-botones{display:flex;gap:8px}

/* ---------- 16. CTA final ---------- */
.cta-final{padding:clamp(40px,8vh,96px) clamp(24px,5vw,80px);display:grid;gap:22px;justify-items:center;text-align:center}
.cta-final::after{content:"";position:absolute;left:50%;bottom:-20%;width:60%;height:60%;transform:translateX(-50%);background:radial-gradient(50% 50% at 50% 50%,hsla(0,0%,100%,.18),transparent 70%);filter:blur(40px);pointer-events:none}
.cta-pie{display:flex;align-items:center;gap:10px;color:var(--texto-2);font-size:var(--t-chico)}
.punto-activo{width:10px;height:10px;border-radius:50%;background:#4de134;animation:pulsar 1.5s infinite}
@keyframes pulsar{0%{box-shadow:0 0 0 0 rgba(77,225,52,.7);transform:scale(.9)}50%{transform:scale(1)}100%{box-shadow:0 0 20px 10px rgba(77,225,52,0);transform:scale(.9)}}

/* ---------- 17. Pie ---------- */
.pie{padding-block:clamp(48px,8vh,96px) 32px;display:grid;gap:40px}
.pie-superior{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}
.pie-titulo{font:600 var(--t-chico) var(--f-texto);color:var(--texto-2);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}
.pie ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.pie ul a,.pie ul span{display:inline-block;padding:11px 0}
.pie-inferior a{display:inline-flex;align-items:center;min-height:44px}
.pie-inferior{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;color:var(--texto-2);font-size:var(--t-chico)}
.pie-sociales{display:flex;gap:14px}
.pie-sociales a{opacity:.55;transition:opacity .4s;display:grid;place-items:center;width:44px;height:44px}
.pie-sociales a:hover{opacity:1}
.pie-sociales svg{width:20px;height:20px}
@media (max-width:860px){.pie-superior{grid-template-columns:1fr 1fr}.pie-superior>:first-child{grid-column:span 2}}

/* ---------- 18. Cookies + modal ---------- */
.cookies{
  position:fixed;right:16px;bottom:16px;left:16px;z-index:200;max-width:380px;margin-left:auto;
  padding:22px;border-radius:var(--radio-m);display:grid;gap:12px;
  background:hsla(0,0%,100%,.03);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:inset 0 0 0 1px var(--borde), inset 0 0 5vw var(--glow);
  transition:opacity .5s, transform .5s var(--ease-out);
}
.cookies[hidden]{display:none}
.cookies p{color:var(--texto-2);font-size:var(--t-chico)}
.cookies p a{display:inline-block;padding:12px 0;margin:-12px 0}
.cookies .boton{justify-content:center;width:100%}
dialog.modal{
  border:0;padding:0;background:transparent;max-width:min(92vw,520px);width:100%;color:var(--texto);
}
dialog.modal::backdrop{background:hsla(0,0%,100%,.05);backdrop-filter:blur(6px)}
.modal-caja{padding:clamp(24px,3vw,40px);display:grid;gap:18px;background:#121214}
.modal-cerrar{position:absolute;top:14px;right:14px}
.modal-caja .campo{display:grid;gap:6px;font-size:var(--t-chico);color:var(--texto-2)}
.modal-caja input,.modal-caja textarea,.modal-caja select{
  width:100%;padding:14px 16px;border-radius:14px;border:1px solid hsla(0,0%,100%,.12);
  background:hsla(0,0%,100%,.03);color:#fff;font:inherit;outline:none;
}
.modal-caja input:focus,.modal-caja textarea:focus{border-color:hsla(0,0%,100%,.4)}
.opciones{display:grid;gap:8px}
.opcion{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-radius:14px;border:1px solid hsla(0,0%,100%,.12);background:hsla(0,0%,100%,.03);box-shadow:inset 0 0 1vw hsla(0,0%,100%,.05);text-align:left;transition:border-color .2s,background-color .2s}
.opcion:hover{border-color:hsla(0,0%,100%,.35);background:hsla(0,0%,100%,.07)}
.opcion[aria-pressed="true"]{border-color:#fff;background:hsla(0,0%,100%,.1)}

/* ---------- 19. Estados de animación ---------- */
/* Las palabras divididas viven en un contenedor con overflow oculto para
   que entren "desde abajo". El JS pone los estados iniciales con gsap.from,
   así sin JS todo se ve. */
.linea{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
.pal{display:inline-block;will-change:transform,opacity}
[data-reveal]{will-change:transform,opacity}

/* ---------- 20. Movimiento reducido ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .rayo,.marquesina-pista,.punto-activo{animation:none}
  .proyecto video{display:none}
}

/* =====================================================================
   21. TINYSTALL — reglas propias (idioma, vitrina, catálogo, formulario)
   ===================================================================== */

/* idioma: el root lleva data-lang="en|es" (tienda.js) */
:root:not([data-lang="es"]) .es{display:none!important}
:root[data-lang="es"] .en{display:none!important}

/* nav */
.marca-icono{width:26px;height:26px}
.nav-logo span{font-size:1.15rem;font-weight:700;letter-spacing:-.02em}
.nav-derecha{display:flex;align-items:center;gap:8px}
.idioma{display:inline-flex;padding:3px;border-radius:var(--pildora);box-shadow:inset 0 0 0 1px var(--borde)}
.idioma button{min-width:44px;min-height:44px;border-radius:var(--pildora);font:600 .875rem/1 var(--f-texto);letter-spacing:.04em;color:var(--texto-2);transition:background-color .3s var(--ease-out),color .3s}
.idioma button:hover{color:var(--texto)}
.idioma button[aria-pressed="true"]{background:#fff;color:var(--inverso)}
@media (max-width:860px){ .nav-interior{padding-left:16px} }

/* hero */
.hero h1{max-width:15ch}
.hero h1>span{display:block}

/* vitrina: las dos apps sobre una repisa de vidrio */
.vitrina{display:grid;place-items:end center;background:radial-gradient(90% 70% at 50% 110%,hsla(38,89%,59%,.16),transparent 60%),var(--fondo-2);box-shadow:inset 0 0 0 1px var(--borde),inset 0 0 5vw var(--glow)}
.vitrina-luz{position:absolute;left:50%;bottom:-25%;width:70%;height:70%;transform:translateX(-50%);background:radial-gradient(50% 50% at 50% 50%,hsla(0,0%,100%,.14),transparent 70%);filter:blur(30px);z-index:0}
.vitrina-telefonos{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:center;gap:clamp(16px,4vw,64px);width:100%;height:100%;padding-top:clamp(28px,5vw,64px)}
.vitrina-precios{position:absolute;z-index:2;top:clamp(14px,2vw,24px);left:clamp(14px,2vw,24px);display:flex;flex-wrap:wrap;gap:8px}
.precio-chip{padding:.5em 1em;border-radius:var(--pildora);font-size:.875rem;font-weight:500;background:hsla(0,0%,100%,.06);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px var(--borde-fuerte)}
.precio-chip::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--acento);margin-right:.55em;vertical-align:.08em}

/* teléfono genérico: escala por contenedor */
.telefono{container-type:inline-size;width:clamp(140px,21vw,260px);aspect-ratio:9/17;margin-bottom:-14%;padding:3.5% 3.5% 0;border-radius:15% 15% 0 0/8% 8% 0 0;background:#0d0d0f;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.12),0 -30px 80px -20px hsla(0,0%,100%,.08)}
.telefono-izq{transform:rotate(-4deg) translateY(4%)}
.telefono-der{transform:rotate(4deg)}
.pantalla{height:100%;border-radius:12% 12% 0 0/6% 6% 0 0;overflow:hidden;padding:8cqw 6cqw 0;font-size:5.2cqw;line-height:1.35;font-family:var(--f-texto)}
.scr-forja{background:#17130F;color:#EDE3D6}
.scr-forja .s-top{display:flex;justify-content:space-between;font-size:.7em;letter-spacing:.16em;color:#D9A441;font-weight:600}
.scr-forja .s-dia{font:800 1.9em/1 var(--f-display);letter-spacing:-.02em;margin:.55em 0 .15em;color:#F3E9DC}
.scr-forja .s-sub{font-size:.78em;color:#9C8F80;margin-bottom:.9em}
.serie{display:flex;justify-content:space-between;gap:.5em;background:#221C16;border:1px solid #33291F;border-radius:.7em;padding:.6em .7em;margin-bottom:.45em;font-size:.82em}
.serie span:last-child{color:#E8622C;white-space:nowrap}
.serie.hecha{opacity:.55}
.coach{margin-top:.8em;background:linear-gradient(90deg,rgba(232,98,44,.22),rgba(217,164,65,.12));border:1px solid rgba(232,98,44,.5);border-radius:.8em;padding:.65em .7em;font-size:.78em;color:#F3E9DC}
.coach b{color:#E8622C}
.scr-adulto{background:#F7F8FC;color:#1B2140}
.scr-adulto .s-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.3em}
.scr-adulto .s-h{font:700 1.25em var(--f-display)}
.candado{width:1.7em;height:1.7em;border-radius:.5em;background:#E6E9F6;display:grid;place-items:center}
.candado svg{width:.9em;height:.9em}
.pago{background:#fff;border:1px solid #E3E6F2;border-radius:.85em;padding:.65em .75em;margin-top:.55em;display:grid;gap:.25em}
.pago-fila{display:flex;justify-content:space-between;align-items:center;font-size:.84em;font-weight:600;gap:.4em}
.pago-sub{display:flex;justify-content:space-between;font-size:.72em;color:#6B7190}
.st{font-size:.68em;font-weight:700;padding:.35em .55em;border-radius:99px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.st-aviso{background:#FFF0D6;color:#8A5200}.st-ok{background:#DCF5EA;color:#126B43}.st-hoy{background:#FFE1E1;color:#A42121}
.dock{margin-top:.8em;display:flex;justify-content:space-around;background:rgba(27,33,64,.06);border-radius:1em;padding:.55em 0}
.dock i{width:1.2em;height:1.2em;border-radius:.4em;background:#C9CEE3}
.dock i.on{background:#5B6CFF}
@media (max-width:640px){
  .hero-media.vitrina{aspect-ratio:4/5}
  .telefono{width:44vw}
  .vitrina-telefonos{gap:10px;padding-top:72px}
}

/* catálogo */
.catalogo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap);max-width:1180px;margin-inline:auto}
.app{display:flex;flex-direction:column}
.app-media{aspect-ratio:2/1;display:grid;place-items:center;position:relative;overflow:hidden}
.app-media::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:var(--borde)}
.media-forja{background:radial-gradient(60% 90% at 50% 100%,rgba(232,98,44,.35),transparent 70%),radial-gradient(40% 50% at 50% 60%,rgba(217,164,65,.12),transparent 70%)}
.media-adulto{background:radial-gradient(60% 90% at 50% 100%,rgba(91,108,255,.35),transparent 70%),radial-gradient(40% 50% at 50% 60%,rgba(32,182,168,.16),transparent 70%)}
.app-icono{width:clamp(84px,9vw,120px);aspect-ratio:1;border-radius:26%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.14),0 20px 60px -10px hsla(0,0%,100%,.12);transition:transform .9s var(--ease-out)}
.app:hover .app-icono{transform:translateY(-6px) rotate(-3deg)}
.app-icono svg{width:52%;height:52%}
.icono-forja{background:linear-gradient(160deg,#2A221B,#120E0A)}
.icono-adulto{background:linear-gradient(150deg,#5B6CFF,#20B6A8)}
.app-cuerpo{padding:clamp(22px,2.5vw,36px);display:flex;flex-direction:column;gap:18px;flex:1}
.app-titulo{display:flex;justify-content:space-between;align-items:center;gap:12px}
.app-titulo h3{font-size:var(--t-h3)}
.app-promesa{font-size:var(--t-grande);line-height:1.4;text-wrap:pretty}
.chip{display:inline-flex;align-items:center;padding:.4em .85em;border-radius:var(--pildora);font-size:.875rem;color:var(--texto-2);box-shadow:inset 0 0 0 1px var(--borde-fuerte);white-space:nowrap}
.app-chips{display:flex;flex-wrap:wrap;gap:8px}
.lista-check{list-style:none;margin:0;padding:0;display:grid;gap:10px;color:var(--texto-2)}
.lista-check li{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start}
.lista-check svg{width:18px;height:18px;margin-top:.2em;color:var(--texto)}
.app-pie{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding-top:22px;border-top:1px solid var(--borde)}
.precio{display:grid;gap:2px}
.precio-num{font:700 clamp(2rem,1.4rem + 1.6vw,2.75rem)/1 var(--f-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.precio .gris{font-size:var(--t-chico)}
.app-libre{grid-column:1/-1;display:flex;align-items:center;gap:clamp(16px,2.5vw,32px);padding:clamp(22px,2.5vw,36px);text-decoration:none}
.app-libre-texto{flex:1;display:grid;gap:6px;min-width:0}
.app-libre .boton{flex:none}
@media (max-width:860px){
  .catalogo{grid-template-columns:1fr}
  .app-libre{flex-direction:column;align-items:flex-start}
}

/* pasos */
.pasos{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);max-width:1180px}
.paso{padding:clamp(24px,2.5vw,40px);display:grid;gap:12px;align-content:start}
.paso-num{font:700 clamp(2.4rem,1.6rem + 2vw,3.4rem)/1 var(--f-display);letter-spacing:-.04em;color:transparent;-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(0deg,hsla(0,0%,100%,.08) 0%,hsla(0,0%,100%,.6) 90%);margin-bottom:8px}
@media (max-width:860px){ .pasos{grid-template-columns:1fr} }

/* vende tu app */
.vende{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:start;max-width:1180px;margin-inline:auto}
.vende-texto{display:grid;gap:22px;position:sticky;top:120px}
.condiciones{margin:8px 0 0;display:grid}
.condiciones div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0;border-top:1px solid var(--borde-fuerte)}
.condiciones div:last-child{border-bottom:1px solid var(--borde-fuerte)}
.condiciones dt{color:var(--texto-2)}
.condiciones dd{margin:0;font:600 var(--t-grande) var(--f-display);font-variant-numeric:tabular-nums}
.formulario{padding:clamp(22px,3vw,40px);display:grid;gap:18px}
.campos-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.campo{display:grid;gap:8px;font-size:var(--t-chico);color:var(--texto-2);min-width:0}
.campo input,.campo textarea{width:100%;padding:14px 16px;border-radius:14px;border:1px solid hsla(0,0%,100%,.12);background:hsla(0,0%,100%,.03);color:#fff;font:inherit;font-size:1rem;outline:none;transition:border-color .2s}
.campo textarea{resize:vertical;min-height:120px}
.campo input:focus,.campo textarea:focus{border-color:hsla(0,0%,100%,.45)}
.campo input::placeholder{color:hsla(0,0%,100%,.35)}
.formulario .boton-solido{justify-self:start}
.aviso-form{font-size:var(--t-chico);color:var(--texto-2);padding:12px 16px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--borde-fuerte)}
.aviso-form.ok{color:#7be36a;box-shadow:inset 0 0 0 1px rgba(77,225,52,.45)}
@media (max-width:860px){ .vende{grid-template-columns:1fr} .vende-texto{position:static} }
@media (max-width:520px){ .campos-2{grid-template-columns:1fr} }

/* FAQ */
.faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap);max-width:1180px;margin-inline:auto;align-items:start}
.faq details{border-radius:var(--radio-m)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:18px 22px;font:600 var(--t-cuerpo) var(--f-display);letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{width:18px;height:18px;flex:none;transition:transform .5s var(--ease-out)}
.faq details[open] summary svg{transform:rotate(45deg)}
.faq details p{padding:0 22px 22px;max-width:60ch}
@media (max-width:860px){ .faq{grid-template-columns:1fr} }

/* CTA y pie */
.cta-final{max-width:1180px;margin-inline:auto}
.cta-final .acciones{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.pie-legales{display:flex;flex-wrap:wrap;gap:20px}
/* objetivos táctiles ≥ 44 px en enlaces cortos */
.nav-enlaces a,.pie ul a,.pie-legales a{min-width:44px;text-align:center}
.pie ul a{text-align:left}
.pie-legales a{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
/* ajustes tras QA visual */
.servicios-grid{max-width:1180px;margin-inline:auto}
@media (min-width:641px){
  .hero-media.vitrina{aspect-ratio:2/1}
  .telefono{width:clamp(170px,24vw,300px);margin-bottom:-8%}
  .vitrina-telefonos{padding-top:clamp(56px,6vw,72px)}
}
.pie ul a{display:inline-flex;align-items:center;min-height:44px;padding:0}

/* =====================================================================
   22. CATÁLOGO POR GRUPOS (9 apps) — tarjetas compactas, planes, licencias
   ===================================================================== */
.catalogo-grupos{display:grid;gap:clamp(40px,6vh,72px);max-width:1180px;margin-inline:auto}
.grupo{display:grid;gap:clamp(14px,2vh,22px);scroll-margin-top:96px}
.grupo-cabeza{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--borde-fuerte)}
.grupo-titulo{font:600 clamp(1.25rem,1rem + 1vw,1.75rem)/1.1 var(--f-display);letter-spacing:-.02em}
.grupo-cuenta{font-size:var(--t-chico);color:var(--texto-3);font-variant-numeric:tabular-nums}
.catalogo-grupos .catalogo{grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));max-width:none}
.catalogo-grupos .app-libre{margin-top:4px}

.app-tarjeta{padding:clamp(20px,2.2vw,30px);gap:18px;scroll-margin-top:96px}
.app-tarjeta::before{content:"";position:absolute;inset:-30% -10% auto auto;width:70%;height:70%;z-index:0;pointer-events:none;
  background:radial-gradient(50% 50% at 50% 50%,color-mix(in srgb,var(--app,#fff) 26%,transparent),transparent 70%);filter:blur(30px);opacity:.55;transition:opacity .9s var(--ease-out)}
.app-tarjeta:hover::before{opacity:.9}
.app-tarjeta:target{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--app,#fff) 70%,transparent),inset 0 0 5vw var(--glow)}
.ancla{position:absolute;top:0;left:0;width:1px;height:1px}
.app-cabeza{display:flex;align-items:center;gap:16px;min-width:0}
.app-logo{width:64px;height:64px;flex:none;border-radius:22%;box-shadow:0 0 0 1px hsla(0,0%,100%,.12),0 16px 40px -14px color-mix(in srgb,var(--app,#fff) 55%,transparent);transition:transform .9s var(--ease-out)}
.app-tarjeta:hover .app-logo{transform:translateY(-3px) rotate(-3deg)}
.app-nombre{display:grid;gap:2px;min-width:0}
.app-nombre h4{font:600 clamp(1.35rem,1.1rem + .8vw,1.7rem)/1.1 var(--f-display);letter-spacing:-.02em;margin:0}
.app-tipo{font-size:var(--t-chico);color:var(--texto-2)}
.app-tarjeta .app-promesa{font-size:var(--t-cuerpo);line-height:1.45}
.app-tarjeta .lista-check{font-size:var(--t-chico);gap:8px}
.app-tarjeta .lista-check svg{width:16px;height:16px}
.app-tarjeta .app-chips{gap:6px}
.app-tarjeta .chip{font-size:.8125rem;padding:.35em .75em}
.chip-ia{color:var(--texto);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--app,#fff) 65%,transparent)}
.app-tarjeta .app-pie{display:grid;gap:14px;padding-top:18px;justify-content:stretch}
.app-tarjeta .precio{display:flex;align-items:baseline;gap:10px}
.app-tarjeta .precio-num{font-size:clamp(1.75rem,1.3rem + 1vw,2.2rem)}

/* selector de plan (mensual / anual) */
.planes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0;border:0;min-width:0}
.plan-opcion{position:relative;display:block;cursor:pointer}
.plan-opcion input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.plan-caja{display:grid;gap:4px;min-height:64px;padding:10px 12px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--borde-fuerte);transition:box-shadow .3s var(--ease-out),background-color .3s}
.plan-opcion:hover .plan-caja{background:var(--superficie-hover)}
.plan-opcion input:checked+.plan-caja{background:hsla(0,0%,100%,.06);box-shadow:inset 0 0 0 1.5px #fff}
.plan-opcion input:focus-visible+.plan-caja{outline:2px solid #fff;outline-offset:3px}
.plan-nombre{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:.8125rem;color:var(--texto-2)}
.plan-ahorro{font-style:normal;font-weight:600;font-size:.75rem;color:var(--inverso);background:var(--acento);border-radius:var(--pildora);padding:.1em .5em}
.plan-precio{display:flex;align-items:baseline;gap:3px}
.plan-precio b{font:700 1.35rem/1 var(--f-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.plan-precio small{font-size:.8125rem;color:var(--texto-2)}

/* acciones: dos botones a todo lo ancho */
.app-acciones{display:grid;gap:8px}
.app-acciones .boton{justify-content:space-between;width:100%}
.boton-compra .boton-circulo{background:var(--acento)}
@media (max-width:380px){ .app-tarjeta{padding:18px} .plan-caja{padding:10px} .plan-precio b{font-size:1.2rem} }
.catalogo-grupos .catalogo{margin-inline:0;width:100%}
.grupos-fila{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,40px);align-items:start}
.grupos-fila .catalogo{grid-template-columns:1fr}
@media (max-width:860px){ .grupos-fila{grid-template-columns:1fr;gap:clamp(40px,6vh,72px)} }
@media (min-width:861px){ #g-negocio .catalogo{grid-template-columns:repeat(2,minmax(0,1fr))} }
/* ajustes tras QA (contraste y tamaño mínimo de 14 px) */
.grupo-cuenta{color:var(--texto-2)}
.app-tarjeta .chip,.plan-nombre,.plan-precio small{font-size:.875rem}
.plan-ahorro{font-size:.875rem;padding:0 .45em;line-height:1.35}
