/* Siru · sistema de diseño claro
   Estructura portada de TWBlocks (Tommy Jepsen, 21st.dev) sobre shadcn/ui.
   Cada bloque indica el componente de origen. */

:root{
  --background:#FFFFFF;
  --foreground:#0B1426;
  --muted:#F4F6FA;
  --muted-foreground:#5B6475;
  --border:#E4E8EF;
  --input:#D6DCE5;
  --primary:#1C3FD1;
  --primary-hover:#1733B0;
  --primary-foreground:#FFFFFF;
  --accent:#EEF2FF;
  --ring:#1C3FD1;
  --radius:0.5rem;
  --font:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --container:1240px;
  --pad:clamp(1.25rem,4vw,2rem);
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; scroll-padding-top:5.5rem; }
body{
  background:var(--background); color:var(--foreground);
  font-family:var(--font); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img,svg{ display:block; max-width:100%; }
img{ height:auto; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
::selection{ background:var(--primary); color:#fff; }

.container{ width:100%; max-width:var(--container); margin:0 auto; padding-left:var(--pad); padding-right:var(--pad); }

/* w-full py-20 lg:py-40 — acortado a py-28 para no dejar aire muerto */
.section{ width:100%; padding-top:5rem; padding-bottom:5rem; }
@media (min-width:1024px){ .section{ padding-top:7rem; padding-bottom:7rem; } }
.section.tight-top{ padding-top:0; }
.section.muted{ background:var(--muted); }

/* ── shadcn/ui · Badge ─────────────────────────────── */
.badge{
  display:inline-flex; align-items:center; gap:.4rem;
  border-radius:calc(var(--radius) - 2px);
  border:1px solid transparent;
  padding:.2rem .65rem; font-size:.8125rem; font-weight:600; line-height:1.4;
  background:var(--primary); color:var(--primary-foreground);
}
.badge-outline{ background:transparent; color:var(--foreground); border-color:var(--border); }
.badge-soft{ background:var(--accent); color:var(--primary); }

/* ── shadcn/ui · Button ────────────────────────────── */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.75rem;
  height:2.5rem; padding:0 1rem; border-radius:calc(var(--radius) - 2px);
  font-size:.9375rem; font-weight:600; white-space:nowrap;
  border:1px solid transparent;
  transition:background-color .15s, color .15s, border-color .15s, box-shadow .15s;
}
.btn svg{ width:1rem; height:1rem; flex:none; }
.btn-lg{ height:2.9rem; padding:0 1.9rem; font-size:1rem; }
.btn-sm{ height:2.25rem; padding:0 .85rem; font-size:.875rem; }
.btn-primary{ background:var(--primary); color:var(--primary-foreground); }
.btn-primary:hover{ background:var(--primary-hover); }
.btn-outline{ background:var(--background); border-color:var(--input); color:var(--foreground); }
.btn-outline:hover{ background:var(--muted); }
.btn-ghost{ color:var(--foreground); }
.btn-ghost:hover{ background:var(--muted); }
.btn:focus-visible, a:focus-visible, button:focus-visible, summary:focus-visible{
  outline:2px solid var(--ring); outline-offset:2px;
}

/* ── tipografía TWBlocks: text-5xl md:text-7xl tracking-tighter ── */
.h-hero{ font-size:2.75rem; line-height:1.06; letter-spacing:-.03em; font-weight:700; max-width:14ch; text-wrap:balance; }
@media (min-width:768px){ .h-hero{ font-size:4.25rem; } }
.h-sec{ font-size:1.9rem; line-height:1.12; letter-spacing:-.025em; font-weight:700; max-width:22ch; text-wrap:balance; }
@media (min-width:768px){ .h-sec{ font-size:2.9rem; } }
.lead{ font-size:1.125rem; line-height:1.7; letter-spacing:-.005em; color:var(--muted-foreground); max-width:36rem; }
@media (min-width:768px){ .lead-xl{ font-size:1.25rem; } }
.h-card{ font-size:1.25rem; line-height:1.3; letter-spacing:-.02em; font-weight:700; }
.muted-text{ color:var(--muted-foreground); }
.text-center{ text-align:center; }
.center .h-sec, .center .lead{ margin-left:auto; margin-right:auto; }

/* flex gap-4 flex-col + flex gap-2 flex-col */
.stack-4{ display:flex; flex-direction:column; gap:1rem; }
.stack-2{ display:flex; flex-direction:column; gap:.5rem; }
.stack-10{ display:flex; flex-direction:column; gap:2.5rem; }
.items-start{ align-items:flex-start; }
.items-center{ align-items:center; }

/* ── TWBlocks · Header ─────────────────────────────── */
.header{ position:fixed; top:0; left:0; right:0; z-index:40; background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(10px); -webkit-backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid transparent; transition:border-color .2s; }
.header.scrolled{ border-bottom-color:var(--border); }
.header-inner{ min-height:5rem; display:flex; align-items:center; gap:1rem; }
@media (min-width:1024px){ .header-inner{ display:grid; grid-template-columns:1fr auto 1fr; } }
.nav-left{ display:none; align-items:center; gap:.25rem; }
@media (min-width:1024px){ .nav-left{ display:flex; } }
.brand{ display:flex; align-items:center; gap:.55rem; font-weight:700; font-size:1.25rem; letter-spacing:-.03em; }
.brand svg{ width:36px; height:36px; color:var(--foreground); }
.nav-right{ display:flex; justify-content:flex-end; align-items:center; gap:1rem; width:100%; }
.divider-y{ width:1px; height:1.5rem; background:var(--border); display:none; }
@media (min-width:768px){ .divider-y{ display:block; } }
.hide-md{ display:none; }
@media (min-width:768px){ .hide-md{ display:inline-flex; } }

/* NavigationMenu con desplegable (Servicios) */
.nav-item{ position:relative; }
.nav-trigger{ display:inline-flex; align-items:center; gap:.3rem; height:2.5rem; padding:0 1rem;
  border-radius:calc(var(--radius) - 2px); font-size:.9375rem; font-weight:600; }
.nav-trigger:hover, .nav-item.open .nav-trigger{ background:var(--muted); }
.nav-trigger svg{ width:.8rem; height:.8rem; transition:transform .2s; }
.nav-item.open .nav-trigger svg{ transform:rotate(180deg); }
.nav-panel{ position:absolute; top:calc(100% + .5rem); left:0; width:30rem; padding:1rem;
  background:var(--background); border:1px solid var(--border); border-radius:var(--radius);
  box-shadow:0 12px 32px -12px rgba(11,20,38,.22);
  display:grid; grid-template-columns:1fr 1fr; gap:1rem;
  opacity:0; visibility:hidden; transform:translateY(-4px); transition:opacity .15s, transform .15s, visibility .15s; }
.nav-item.open .nav-panel{ opacity:1; visibility:visible; transform:none; }
.nav-panel-intro{ display:flex; flex-direction:column; justify-content:space-between; gap:2.5rem; padding:.25rem; }
.nav-panel-intro p:first-child{ font-size:1rem; font-weight:700; }
.nav-panel-intro p + p{ font-size:.875rem; color:var(--muted-foreground); line-height:1.55; margin-top:.25rem; }
.nav-panel-links{ display:flex; flex-direction:column; justify-content:flex-end; font-size:.9375rem; }
.nav-panel-links a{ display:flex; justify-content:space-between; align-items:center; padding:.55rem 1rem; border-radius:.3rem; font-weight:500; }
.nav-panel-links a:hover{ background:var(--muted); }
.nav-panel-links svg{ width:1rem; height:1rem; color:var(--muted-foreground); }

/* menú móvil */
.menu-toggle{ display:inline-flex; align-items:center; justify-content:center; width:2.5rem; height:2.5rem;
  border-radius:calc(var(--radius) - 2px); }
.menu-toggle:hover{ background:var(--muted); }
.menu-toggle svg{ width:1.25rem; height:1.25rem; }
@media (min-width:1024px){ .menu-toggle{ display:none; } }
.mobile-menu{ position:absolute; top:5rem; left:0; right:0; background:var(--background);
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  box-shadow:0 16px 30px -18px rgba(11,20,38,.35);
  padding:1.25rem var(--pad) 1.75rem; display:none; flex-direction:column; gap:1.5rem; }
.mobile-menu.open{ display:flex; }
.mobile-menu .grupo p{ font-size:1rem; font-weight:700; margin-bottom:.35rem; }
.mobile-menu a.fila{ display:flex; justify-content:space-between; align-items:center; padding:.45rem 0; color:var(--muted-foreground); font-weight:500; }
.mobile-menu a.fila svg{ width:1rem; height:1rem; }
@media (min-width:1024px){ .mobile-menu{ display:none !important; } }

/* ── TWBlocks · Hero with image, text and two buttons ── */
.hero{ padding-top:9rem; padding-bottom:5rem; }
@media (min-width:1024px){ .hero{ padding-top:10.5rem; padding-bottom:7rem; } }
.hero-grid{ display:grid; grid-template-columns:1fr; gap:3rem; align-items:center; }
@media (min-width:1024px){ .hero-grid{ grid-template-columns:1.05fr 1fr; gap:3.5rem; } }
.hero-actions{ display:flex; flex-wrap:wrap; gap:1rem; }
.checks{ display:flex; flex-direction:column; gap:.75rem; }
.check-row{ display:flex; align-items:flex-start; gap:.75rem; font-weight:600; font-size:1rem; }
.check-row svg{ width:1.1rem; height:1.1rem; color:var(--primary); margin-top:.2rem; flex:none; }

/* marco de navegador para mostrar trabajo real */
.browser{ background:#fff; border:1px solid var(--border); border-radius:var(--radius); overflow:hidden;
  box-shadow:0 30px 60px -24px rgba(11,20,38,.28), 0 8px 20px -12px rgba(11,20,38,.12); }
.browser-bar{ height:2.4rem; display:flex; align-items:center; gap:.4rem; padding:0 .9rem; background:var(--muted); border-bottom:1px solid var(--border); }
.browser-bar i{ width:.65rem; height:.65rem; border-radius:50%; background:#D5DAE3; }
.browser-bar span{ margin-left:.75rem; font-size:.75rem; color:var(--muted-foreground); background:#fff;
  border:1px solid var(--border); padding:.2rem .75rem; border-radius:.3rem; flex:1; max-width:15rem; }
.browser img{ width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; object-position:top left; }
.browser-cap{ display:flex; justify-content:space-between; gap:1rem; padding:.8rem 1rem; font-size:.875rem; color:var(--muted-foreground); border-top:1px solid var(--border); }
.browser-cap b{ color:var(--foreground); font-weight:700; }

/* ── TWBlocks · Cases (rubros, sin desplazamiento automático) ── */
.cases{ display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
@media (min-width:640px){ .cases{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:1024px){ .cases{ grid-template-columns:repeat(6,1fr); } }
.case{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.9rem;
  aspect-ratio:1/1; background:var(--muted); border-radius:var(--radius); padding:1.25rem; text-align:center; }
.section.muted .case{ background:#fff; border:1px solid var(--border); }
.case svg{ width:2.25rem; height:2.25rem; color:var(--primary); stroke-width:1.5; }
.case span{ font-size:.9375rem; font-weight:600; line-height:1.3; }

/* ── TWBlocks · Feature with advantages ────────────── */
.advantages{ display:grid; grid-template-columns:1fr; gap:2.25rem; padding-top:2.5rem; width:100%; }
@media (min-width:640px){ .advantages{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .advantages{ grid-template-columns:repeat(3,1fr); gap:2.5rem; } }
.adv{ display:flex; gap:1.25rem; align-items:flex-start; }
.adv svg{ width:1.1rem; height:1.1rem; color:var(--primary); margin-top:.3rem; flex:none; }
.adv p:first-child{ font-weight:700; font-size:1.0625rem; letter-spacing:-.01em; }
.adv p + p{ color:var(--muted-foreground); font-size:.9375rem; line-height:1.6; margin-top:.2rem; }

/* ── TWBlocks · Feature section with grid ─────────── */
.feature-grid{ display:grid; grid-template-columns:1fr; gap:2rem; }
@media (min-width:640px){ .feature-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .feature-grid.cols-4{ grid-template-columns:repeat(4,1fr); } }
.feature{ display:flex; flex-direction:column; gap:.5rem; }
.feature-media{ background:var(--muted); border-radius:calc(var(--radius) - 2px); aspect-ratio:16/9; margin-bottom:.5rem;
  display:flex; align-items:center; justify-content:center; overflow:hidden; border:1px solid var(--border); }
.feature-media svg{ width:2.75rem; height:2.75rem; color:var(--primary); stroke-width:1.4; }
.feature-media img{ width:100%; height:100%; object-fit:cover; object-position:top center; transition:transform .5s ease; }
a.feature:hover .feature-media img{ transform:scale(1.03); }
.feature p.muted-text{ font-size:1rem; line-height:1.6; }
.feature .link{ display:inline-flex; align-items:center; gap:.4rem; margin-top:.35rem; font-weight:600; font-size:.9375rem; color:var(--primary); }
.feature .link svg{ width:1rem; height:1rem; transition:transform .2s; }
a.feature:hover .link svg{ transform:translateX(3px); }
.tags{ display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.35rem; }

/* ── TWBlocks · Pricing section with comparison ───── */
.pricing-scroll{ width:100%; overflow-x:auto; padding-top:4rem; -webkit-overflow-scrolling:touch; }
.pricing{ display:grid; grid-template-columns:minmax(11rem,1.1fr) repeat(3,minmax(12rem,1fr)); min-width:52rem; text-align:left; }
.pricing > div{ padding:1rem 1.5rem; }
.pricing > div:not(.p-label){ border-left:1px solid var(--border); }
.pricing .plan{ display:flex; flex-direction:column; gap:.5rem; padding-top:.25rem; padding-bottom:1.5rem; }
.pricing .plan.hot{ background:var(--accent); border-radius:var(--radius) var(--radius) 0 0; }
.pricing .plan-name{ font-size:1.5rem; font-weight:700; letter-spacing:-.03em; }
.pricing .plan-desc{ font-size:.9375rem; color:var(--muted-foreground); line-height:1.55; }
.pricing .plan-price{ display:flex; flex-direction:column; gap:.1rem; margin-top:1.75rem; }
.pricing .plan-price span:first-child{ font-size:1.4rem; font-weight:700; letter-spacing:-.025em; line-height:1.2; }
.pricing .plan-price span + span{ font-size:.875rem; color:var(--muted-foreground); }
.pricing .plan .btn{ margin-top:auto; }
.pricing .plan .plan-price{ margin-bottom:1.75rem; }
.pricing .plan-desc{ min-height:3.1em; }
.pricing .p-label{ font-size:.9375rem; }
.pricing .p-head{ font-weight:700; padding-top:1.5rem; }
.pricing .cell{ display:flex; justify-content:center; align-items:center; font-size:.875rem; color:var(--muted-foreground); text-align:center; }
.pricing .cell.hot{ background:var(--accent); }
.pricing .cell svg{ width:1.1rem; height:1.1rem; }
.pricing .cell svg.si{ color:var(--primary); }
.pricing .cell svg.no{ color:#A6AEBC; }
.pricing .row-line{ border-top:1px solid var(--border); }

/* ── TWBlocks · FAQ section (acordeón) ────────────── */
.faq-grid{ display:grid; grid-template-columns:1fr; gap:2.5rem; }
@media (min-width:1024px){ .faq-grid{ grid-template-columns:1fr 1fr; gap:3.5rem; } }
.accordion details{ border-bottom:1px solid var(--border); }
.accordion summary{ list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center;
  gap:1rem; padding:1.1rem 0; font-weight:600; font-size:1.0625rem; text-align:left; }
.accordion summary::-webkit-details-marker{ display:none; }
.accordion summary:hover{ text-decoration:underline; text-underline-offset:4px; }
.accordion summary svg{ width:1.1rem; height:1.1rem; flex:none; color:var(--muted-foreground); transition:transform .2s; }
.accordion details[open] summary svg{ transform:rotate(180deg); }
.accordion .answer{ padding:0 0 1.2rem; color:var(--muted-foreground); font-size:1rem; line-height:1.7; }

/* ── TWBlocks · Testimonials ──────────────────────── */
.testimonials{ display:grid; grid-template-columns:1fr; gap:1.25rem; }
@media (min-width:1024px){ .testimonials{ grid-template-columns:1fr 1fr; } }
.testimonial{ background:var(--muted); border-radius:calc(var(--radius) - 2px); padding:1.5rem; aspect-ratio:16/9;
  display:flex; flex-direction:column; justify-content:space-between; gap:1.5rem; }

/* ── TWBlocks · Call to action ─────────────────────── */
.cta{ display:flex; flex-direction:column; align-items:center; gap:2rem; text-align:center;
  background:var(--muted); border-radius:var(--radius); padding:2.5rem 1.25rem; }
@media (min-width:1024px){ .cta{ padding:3.5rem; } }

/* zonas como badges */
.zonas{ display:flex; flex-wrap:wrap; gap:.5rem; }
.zonas .badge-outline{ font-weight:500; font-size:.875rem; padding:.35rem .8rem; background:#fff; }

/* ── TWBlocks · Footer ─────────────────────────────── */
.footer{ background:var(--foreground); color:#FFFFFF; }
.footer-grid{ display:grid; grid-template-columns:1fr; gap:2.5rem; align-items:center; }
@media (min-width:1024px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
.footer .soft{ color:#A9B1C1; }
.footer .brand svg{ color:#fff; }
.footer-meta{ display:flex; flex-wrap:wrap; gap:3rem; font-size:.9375rem; line-height:1.8; }
.footer-cols{ display:grid; grid-template-columns:repeat(2,1fr); gap:2.5rem; align-items:start; }
@media (min-width:640px){ .footer-cols{ grid-template-columns:repeat(3,1fr); } }
.footer-col{ display:flex; flex-direction:column; gap:.3rem; align-items:flex-start; }
.footer-col p{ font-size:1.125rem; font-weight:700; margin-bottom:.3rem; }
.footer-col a{ color:#A9B1C1; font-size:.9375rem; padding:.1rem 0; }
.footer-col a:hover{ color:#fff; }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.12); margin-top:3.5rem; padding-top:1.5rem;
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; font-size:.875rem; color:#A9B1C1; }

/* páginas de servicio: texto largo */
.prosa{ max-width:44rem; }
.prosa h2{ font-size:1.6rem; line-height:1.2; letter-spacing:-.03em; font-weight:700; margin-top:3rem; }
.prosa h2:first-child{ margin-top:0; }
.prosa h3{ font-size:1.15rem; font-weight:700; letter-spacing:-.015em; margin-top:1.9rem; }
.prosa p{ color:var(--muted-foreground); font-size:1.0625rem; line-height:1.8; margin-top:1rem; }
.prosa ul{ margin-top:1rem; padding-left:1.2rem; color:var(--muted-foreground); font-size:1.0625rem; }
.prosa li{ margin-top:.6rem; line-height:1.75; }
.prosa strong{ color:var(--foreground); font-weight:700; }
.prosa a{ color:var(--primary); font-weight:600; text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.breadcrumb{ display:flex; flex-wrap:wrap; gap:.4rem; font-size:.875rem; color:var(--muted-foreground); }
.breadcrumb a:hover{ color:var(--foreground); }

/* salto de teclado */
.skip{ position:absolute; left:-9999px; top:0; z-index:100; background:var(--primary); color:#fff; font-weight:600; padding:.7rem 1.1rem; border-radius:0 0 .5rem 0; }
.skip:focus{ left:0; }

@media (prefers-reduced-motion:reduce){ *{ transition:none !important; animation:none !important; } html{ scroll-behavior:auto; } }

/* shadcn/ui · Button secondary + TWBlocks · Hero with text and two buttons */
.btn-secondary{ background:var(--muted); color:var(--foreground); }
.btn-secondary:hover{ background:#E9EDF4; }
.hero-center{ padding-top:9rem; padding-bottom:4rem; }
@media (min-width:1024px){ .hero-center{ padding-top:10.5rem; padding-bottom:5.5rem; } }
.hero-center .inner{ display:flex; flex-direction:column; align-items:center; gap:2rem; text-align:center; }
.hero-center .h-hero{ max-width:18ch; margin:0 auto; }
.hero-center .lead{ max-width:42rem; margin:0 auto; }

/* ── TWBlocks · Feature with image (proyecto destacado) ──
   flex flex-col-reverse lg:flex-row gap-10 lg:items-center
   imagen: bg-muted rounded-md aspect-video flex-1 · texto: flex-1 lg:pl-20 */
.destacado{ display:flex; flex-direction:column-reverse; gap:2.5rem; }
@media (min-width:1024px){ .destacado{ flex-direction:row; align-items:center; gap:2.5rem; } }
.destacado-media{ position:relative; flex:1.35 1 0; min-width:0; }
.destacado-media .principal{ width:100%; height:auto; aspect-ratio:16/10; object-fit:cover;
  border-radius:var(--radius); border:1px solid #2A2140; background:#0B0716;
  box-shadow:0 34px 70px -28px rgba(56,28,120,.55), 0 10px 24px -14px rgba(11,20,38,.25); }
.destacado-media .detalle{ position:absolute; right:-1.25rem; bottom:-2.5rem; width:44%; height:auto;
  border-radius:calc(var(--radius) - 2px); border:1px solid #3A2E5C;
  box-shadow:0 24px 48px -18px rgba(20,10,50,.6); }
@media (max-width:639px){ .destacado-media .detalle{ right:-.5rem; bottom:-1.5rem; width:52%; } }
.destacado-texto{ flex:1 1 0; min-width:0; display:flex; flex-direction:column; gap:1rem; }
@media (min-width:1024px){ .destacado-texto{ padding-left:3.5rem; } }
.destacado-texto .lead{ max-width:28rem; }
.badges{ display:flex; flex-wrap:wrap; gap:.5rem; }
.badge-nuevo{ background:#EFEAFE; color:#5B2FD6; }
.trabajos-clientes{ padding-top:4.5rem; }
@media (min-width:1024px){ .trabajos-clientes{ padding-top:6rem; } }
.subtitulo-grupo{ font-size:.8125rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--muted-foreground); margin-bottom:1.5rem; }

/* portafolio: rejilla de tres columnas (lg:grid-cols-3 del componente) y rótulo de tipo de proyecto */
@media (min-width:1024px){ .feature-grid.cols-3{ grid-template-columns:repeat(3,1fr); } }
.feature .rotulo{ align-self:flex-start; margin-top:.15rem; }
.feature .rotulo.propuesta{ background:#FFF4E5; color:#8A4B00; border-color:transparent; }
.grupo-trabajos{ display:flex; flex-direction:column; gap:2.5rem; }
.grupo-trabajos + .grupo-trabajos{ padding-top:5rem; border-top:1px solid var(--border); margin-top:5rem; }
.ver-todos{ display:flex; justify-content:center; padding-top:3.5rem; }
.pasos{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:1rem; }
.pasos li{ display:flex; gap:.875rem; align-items:flex-start; }
.paso-num{ flex:none; width:1.75rem; height:1.75rem; border-radius:999px; background:var(--primary); color:#fff; font-weight:700; font-size:.875rem; display:grid; place-items:center; margin-top:.1rem; }
.pasos strong{ display:block; font-weight:600; font-size:1rem; }
.pasos span:not(.paso-num){ display:block; color:var(--muted-foreground, #5B6475); font-size:.9375rem; line-height:1.5; }
.precio-hero{ display:flex; flex-direction:column; align-items:center; gap:.2rem; margin:.5rem 0 0; }
.precio-hero strong{ font-size:1.5rem; font-weight:700; letter-spacing:-.025em; color:var(--primary); }
.precio-hero span{ font-size:.9375rem; color:var(--muted-foreground); }
.precio-card{ font-weight:700; font-size:1.0625rem; letter-spacing:-.01em; color:var(--foreground, #0B1426); margin:0; }
