/* Factúralo y Punto · página pública (rediseño del 27-oct-2026; plan en diseno/web/investigacion/plan-rediseno.md).
   El mismo mundo que la app (DESIGN.md): lienzo gris azulado, hojas blancas, turquesa y manila, sellos. La prueba es el
   producto real (capturas de la app); lo dibujado aquí son sólo los papeles que la app imprime: la factura y el ticket. */

@font-face{font-family:"Bricolage Grotesque";src:url("/fuentes/bricolage-grotesque.woff2") format("woff2");font-weight:200 800;font-stretch:75% 100%;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("/fuentes/ibm-plex-sans.woff2") format("woff2");font-weight:100 700;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("/fuentes/ibm-plex-mono-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("/fuentes/ibm-plex-mono-500.woff2") format("woff2");font-weight:500 600;font-display:swap}

:root{
  --turquesa:#036685; --turquesa-hondo:#02526B; --manila:#E8CB8E; --manila-claro:#F0D8A6; --sobre-manila:#10343B;
  --fondo:#EEF2F3; --lienzo:#E2E7EB; --hoja:#FFFFFF; --tinte:#E8F2F5; --tinte-texto:#0B4A5E;
  --borde:#D3DBE0; --borde-suave:#E2E7EA; --borde-fuerte:#C2CCD1;
  --texto:#132428; --texto-2:#46575C; --texto-3:#56666B; --enlace:#035E7A;
  --aviso:#8A5300; --acero:#2C6CA6; --sello-verde:#1F7A4D; --sello-rojo:#C8372D;
  --claro:#FFFFFF; --claro-2:color-mix(in srgb,#FFFFFF 90%,var(--turquesa));
  --linea-clara:color-mix(in srgb,#FFFFFF 24%,var(--turquesa));
  --manila-2:color-mix(in srgb,var(--sobre-manila) 78%,var(--manila));
  --f-marca:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;
  --f-texto:"IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-dato:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --radio-chico:4px; --radio-medio:8px; --radio:10px; --radio-grande:14px;
  --ancho:1200px; --lado:clamp(16px,4vw,48px);
  --aire:clamp(72px,9vw,128px);
  --sombra-papel:0 1px 2px rgba(0,0,0,.06),0 24px 48px -28px rgba(0,0,0,.32);
  --sombra-captura:0 1px 2px rgba(0,0,0,.05),0 32px 64px -36px rgba(0,0,0,.4);
  --ease-out:cubic-bezier(.23,1,.32,1); --ease-sello:cubic-bezier(.16,1,.3,1); --ease-mover:cubic-bezier(.22,1,.36,1);
  --dur-toque:100ms; --dur-corta:150ms; --dur-media:220ms; --dur-firma:420ms;
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px;scrollbar-color:var(--borde-fuerte) var(--lienzo)}
body{margin:0;background:var(--lienzo);color:var(--texto);font:400 1.0625rem/1.6 var(--f-texto);font-synthesis:none;
  -webkit-font-smoothing:antialiased;caret-color:var(--turquesa);accent-color:var(--turquesa)}
::selection{background:color-mix(in srgb,var(--turquesa) 20%,transparent);color:var(--texto)}
img,svg,video{display:block;max-width:100%}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:var(--enlace);text-decoration-thickness:1px;text-underline-offset:.22em}
a:hover{text-decoration-thickness:2px}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--turquesa);outline-offset:3px;border-radius:var(--radio-chico)}
.num{font-variant-numeric:tabular-nums}
.mono{font-family:var(--f-dato);font-size:.92em;letter-spacing:0}
.der{text-align:right}
[hidden]{display:none!important}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.saltar{position:absolute;left:var(--lado);top:-60px;z-index:40;padding:10px 16px;border-radius:var(--radio-medio);background:var(--manila);color:var(--sobre-manila);font-weight:600;text-decoration:none}
.saltar:focus{top:12px}
.envoltura{width:100%;max-width:calc(var(--ancho) + var(--lado) * 2);margin-inline:auto;padding-inline:var(--lado)}

/* Botones */
.boton{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:0;border-radius:var(--radio);
  font:600 1rem/1.2 var(--f-texto);text-decoration:none;white-space:nowrap;cursor:pointer;
  transition:background-color var(--dur-corta) var(--ease-out),transform var(--dur-toque) var(--ease-out)}
.boton:active{transform:scale(.97)}
.boton.grande{min-height:56px;padding:0 28px;font-size:1.0625rem}
.boton.chico{min-height:40px;padding:0 16px;font-size:.9375rem}
.boton.turquesa{background:var(--turquesa);color:var(--claro)}
.boton.turquesa:hover{background:var(--turquesa-hondo)}
.boton.manila{background:var(--manila);color:var(--sobre-manila)}
.boton.manila:hover{background:var(--manila-claro)}
.boton.sobre-manila{background:var(--sobre-manila);color:var(--manila)}
.boton.sobre-manila:hover{background:color-mix(in srgb,var(--sobre-manila) 88%,#000)}
.boton.contorno{border:1.5px solid currentColor;background:transparent;color:inherit}
.boton.contorno:hover{background:color-mix(in srgb,currentColor 8%,transparent)}

/* La barra de arriba: la misma en todas las páginas (sitio/fuente/parciales/cabeza.html) */
.barra{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--hoja) 92%,transparent);border-bottom:1px solid var(--borde);
  backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px)}
.barra-cuerpo{display:flex;align-items:center;gap:28px;min-height:64px}
.barra .logo{flex:none;display:inline-flex;align-items:center;min-height:44px;border-radius:var(--radio-chico)}
.barra .logo img{width:auto;height:22px}
.barra-menu{display:flex;gap:2px}
.barra-menu a{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border-radius:var(--radio-medio);color:var(--texto-2);
  font-size:.9375rem;font-weight:500;text-decoration:none;transition:color var(--dur-corta) var(--ease-out),background-color var(--dur-corta) var(--ease-out)}
.barra-menu a:hover{background:var(--fondo);color:var(--texto)}
.barra-menu a[aria-current]{color:var(--texto)}
.barra-menu a[aria-current]::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;border-radius:1px;background:var(--turquesa)}
.barra-acciones{display:flex;align-items:center;gap:16px;margin-left:auto}
.barra-entrar{display:inline-flex;align-items:center;min-height:44px;color:var(--texto);font-size:.9375rem;font-weight:500;text-decoration:none;padding:0 6px}
.barra-entrar:hover{text-decoration:underline}
.barra-boton-menu{display:none;min-height:44px;padding:0 14px;border:1px solid var(--borde-fuerte);border-radius:var(--radio-medio);background:var(--hoja);font-weight:600;font-size:.9375rem;cursor:pointer}
.menu-telefono{inset:auto 0 0 0;width:100%;max-width:none;margin:0;padding:12px var(--lado) calc(20px + env(safe-area-inset-bottom));border:0;border-radius:var(--radio-grande) var(--radio-grande) 0 0;
  background:var(--hoja);color:var(--texto);box-shadow:0 -12px 40px rgba(0,0,0,.18);
  transform:translateY(0);transition:transform 260ms var(--ease-mover),display 260ms allow-discrete,overlay 260ms allow-discrete}
.menu-telefono:not(:popover-open){transform:translateY(100%)}
@starting-style{.menu-telefono:popover-open{transform:translateY(100%)}}
.menu-telefono::backdrop{background:rgba(0,0,0,.32)}
.menu-telefono nav{display:grid}
.menu-telefono nav a{display:flex;align-items:center;gap:10px;min-height:56px;border-bottom:1px solid var(--borde-suave);color:var(--texto);font:600 1.25rem/1.2 var(--f-marca);text-decoration:none}
.menu-telefono-acciones{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.menu-telefono-acciones .boton{width:100%}
.menu-telefono-cerrar{display:block;width:100%;min-height:44px;margin-top:8px;border:0;background:none;color:var(--texto-2);font-weight:500;cursor:pointer}

/* Títulos: una oración que cierra con punto, y su continuación en gris */
.titulo-seccion{max-width:22em;font:700 clamp(2rem,3.7vw,2.875rem)/1.07 var(--f-marca);letter-spacing:-.028em;font-variation-settings:"opsz" 96;text-wrap:balance}
.titulo-seccion span{color:var(--texto-3)}
.titulo-seccion.grande{max-width:16em;font-size:clamp(2.5rem,5.4vw,4.25rem);font-weight:800;line-height:1;letter-spacing:-.034em}
.bajada{max-width:52ch;margin-top:18px;color:var(--texto-2);font-size:clamp(1.0625rem,1.5vw,1.25rem);line-height:1.5;text-wrap:pretty}
.sin-cortar{white-space:nowrap}
.seccion{padding-block:var(--aire)}
.nota{color:var(--texto-3);font-size:.9375rem}
.pie-dato,.rotulo-ejemplo{margin-top:18px;color:var(--texto-3);font-size:.875rem}

/* Capturas reales de la app */
.captura{position:relative;margin:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--texto) 14%,transparent);border-radius:var(--radio-grande);background:var(--hoja);box-shadow:var(--sombra-captura)}
.captura picture,.captura img{display:block;width:100%;height:auto}
.captura-alta{max-width:340px}

/* Portada */
.portada{padding-top:clamp(40px,6vw,88px);overflow:hidden}
.portada-rejilla{display:grid;grid-template-columns:minmax(var(--lado),1fr) minmax(0,500px) clamp(32px,4vw,72px) minmax(0,660px) minmax(0,1fr);align-items:start}
.portada-texto{grid-column:2;padding-top:clamp(8px,2vw,32px)}
.titular{font:800 clamp(2.75rem,5.6vw,4.75rem)/1.02 var(--f-marca);letter-spacing:-.036em;font-variation-settings:"opsz" 96;text-wrap:balance}
.punto{color:var(--turquesa)}
.portada-bajada{max-width:34em;margin-top:24px;color:var(--texto-2);font-size:clamp(1.125rem,1.5vw,1.25rem);line-height:1.5;text-wrap:pretty}
.rfc-portada{margin-top:36px;padding:22px 24px 20px;border:1px solid var(--borde);border-radius:var(--radio-grande);background:var(--hoja)}
.portada-accion{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:28px}
.portada-accion p{color:var(--texto-2);font-size:.9375rem}
.portada-producto{grid-column:4 / 6;position:relative;padding-bottom:56px}
.captura-sangra{border-right:0;border-radius:var(--radio-grande) 0 0 var(--radio-grande);max-height:min(620px,72vh)}
.captura-sangra img{width:max(100%,820px);max-width:none}
.portada-normas{margin-top:clamp(40px,5vw,72px);padding-block:20px;border-top:1px solid var(--borde-fuerte);color:var(--texto-3);font:500 .8125rem/1.4 var(--f-dato)}

/* El ticket que asoma en la portada */
.ticket-asoma{position:absolute;left:28px;bottom:0;z-index:3;display:block;width:212px;color:#1F2A2E;text-decoration:none;transform:rotate(-2.5deg);
  transition:transform var(--dur-media) var(--ease-out)}
.ticket-asoma:hover{transform:rotate(-1deg) translateY(-6px)}
.ticket-asoma-papel{display:grid;gap:2px;padding:18px 18px 26px;background:#FFFFFF;font:500 .8125rem/1.5 var(--f-dato);box-shadow:var(--sombra-papel);
  -webkit-mask:radial-gradient(circle 5px at 50% 100%,transparent 98%,#000) 0 0/14px 100% repeat-x;mask:radial-gradient(circle 5px at 50% 100%,transparent 98%,#000) 0 0/14px 100% repeat-x}
.ticket-asoma-titulo{font-weight:600;letter-spacing:.14em}
.ticket-asoma-raya{height:0;margin:6px 0;border-top:1.5px dashed #9AA3A6}
.ticket-asoma-ver{color:var(--turquesa);font-weight:600}
.ticket-asoma-ver::after{content:" ↓"}

/* El RFC con hueco (portada y /calculadoras/rfc/) */
.hueco-renglon{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px .4em;font:600 clamp(1.25rem,2vw,1.5rem)/1.3 var(--f-marca);letter-spacing:-.01em}
.hueco-etiqueta{color:var(--texto)}
.hueco{width:13.4ch;max-width:100%;min-height:44px;padding:0 .1em 4px;border:0;border-bottom:2.5px solid var(--turquesa);border-radius:0;background:transparent;
  color:var(--texto);font:500 1em/1.2 var(--f-dato);text-transform:uppercase;caret-color:var(--turquesa);transition:background-color var(--dur-corta) var(--ease-out)}
.hueco::placeholder{color:var(--texto-3);text-transform:none}
.hueco:hover{background:var(--fondo)}
.hueco:focus{outline:none;background:var(--tinte)}
.hueco:focus-visible{outline:2px solid var(--turquesa);outline-offset:4px;border-radius:var(--radio-chico)}
.rfc-respuesta{display:flex;align-items:flex-start;gap:10px;min-height:3em;margin-top:14px;color:var(--texto);font-size:.9375rem;line-height:1.5;text-wrap:pretty}
.rfc-respuesta[data-estado="vacio"],.rfc-respuesta[data-estado="escribiendo"]{color:var(--texto-2)}
.rfc-icono{flex:none;width:20px;height:20px;margin-top:1px;display:none;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.icono-bien circle{fill:var(--turquesa);stroke:none}
.icono-bien path{stroke:var(--claro)}
.icono-mal circle,.icono-mal path{stroke:var(--aviso)}
.rfc-respuesta[data-estado="bien"] .icono-bien,.rfc-respuesta[data-estado="mal"] .icono-mal{display:block}
.rfc-respuesta[data-estado="mal"]{color:var(--aviso)}
.rfc-sigue{display:block;margin-top:4px;color:var(--texto-2)}
.rfc-texto{transition:filter var(--dur-media) var(--ease-out),opacity var(--dur-media) var(--ease-out)}
.rfc-texto.cambia{filter:blur(2px);opacity:.6}
.ejemplo{display:inline-flex;align-items:center;min-height:32px;padding:2px 9px;border:1px solid var(--borde-fuerte);border-radius:var(--radio-medio);background:var(--fondo);
  font:500 .875rem/1.2 var(--f-dato);cursor:pointer;transition:background-color var(--dur-corta) var(--ease-out)}
.ejemplo:hover{background:var(--lienzo)}

/* Revisar: la factura y lo que se revisó */
.revisar-rejilla{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,5vw,80px);align-items:start;margin-top:clamp(40px,5vw,64px)}
.revisar-notas{display:grid;gap:22px;padding-top:24px;position:sticky;top:120px}
.revisar-notas li{display:grid;grid-template-columns:26px 1fr;gap:12px;font-size:1.0625rem;line-height:1.45}
.palomita{width:26px;height:26px;border-radius:50%;background:var(--hoja);border:1.5px solid var(--borde-fuerte);fill:none;stroke:var(--turquesa);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;
  transition:background-color var(--dur-media) var(--ease-out),border-color var(--dur-media) var(--ease-out)}
.palomita path{stroke-dasharray:18;stroke-dashoffset:0}
.factura{position:relative;padding:clamp(24px,3.4vw,44px);border-radius:6px;background:var(--hoja);box-shadow:var(--sombra-papel);font-size:.9375rem}
.factura-cabeza{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 32px;padding-bottom:20px;border-bottom:3px solid var(--turquesa)}
.factura-emisor{font:700 1.375rem/1.2 var(--f-marca);letter-spacing:-.015em}
.factura-cp{color:var(--texto-2)}
.factura-folio{text-align:right}
.factura-folio b{font-size:1.125rem}
.factura-uuid{max-width:20ch;margin-left:auto;color:var(--texto-3);font-size:.75rem;overflow-wrap:anywhere}
.factura-receptor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin-top:20px}
.factura-receptor dt{color:var(--texto-3);font-size:.8125rem}
.factura-receptor dd{font-weight:500}
.factura-conceptos{width:100%;margin-top:24px;border-collapse:collapse}
.factura-conceptos th{padding:8px 0;border-bottom:1.5px solid var(--turquesa);color:var(--turquesa);font-size:.8125rem;font-weight:600;text-align:left}
.factura-conceptos th.der{text-align:right}
.factura-conceptos td{padding:12px 12px 12px 0;border-bottom:1px solid var(--borde-suave);vertical-align:top}
.factura-conceptos td:first-child{color:var(--texto-3);font-size:.8125rem;width:7em}
.factura-conceptos td.der{padding-right:0;white-space:nowrap}
.factura-sumas{display:grid;justify-content:end;gap:4px;margin-top:14px}
.factura-sumas div{display:grid;grid-template-columns:7em 8.5em;text-align:right}
.factura-sumas dt{color:var(--texto-3)}
.factura-sumas .total{margin-top:4px;padding-top:6px;border-top:1px solid var(--borde)}
.factura-sumas .total dt{color:var(--texto);font-weight:600}
.factura-sumas .total dd{font:700 1.25rem/1.3 var(--f-marca)}
.factura-pago{max-width:40ch;margin-top:20px;color:var(--texto-2);font-size:.875rem}
.sello{position:absolute;right:clamp(24px,4vw,56px);bottom:clamp(28px,4vw,52px);padding:8px 14px 6px;border:2.5px solid var(--sello-verde);border-radius:var(--radio-chico);color:var(--sello-verde);
  text-align:center;line-height:1.2;transform:rotate(-7deg);mix-blend-mode:multiply}
.sello b{display:block;font-size:1.125rem;font-weight:600;letter-spacing:.16em}
.sello span{display:block;margin-top:2px;font-size:.75rem;font-weight:500;letter-spacing:.1em}
@media (scripting:enabled) and (prefers-reduced-motion:no-preference){
  .revisar:not(.vista) .palomita path{stroke-dashoffset:18}
  .revisar:not(.vista) .sello{opacity:0}
  .palomita path{transition:stroke-dashoffset 300ms var(--ease-out)}
  .revisar.vista .palomita{background:var(--tinte);border-color:var(--turquesa)}
  .revisar.vista .revisar-notas li:nth-child(2) .palomita,.revisar.vista .revisar-notas li:nth-child(2) .palomita path{transition-delay:120ms}
  .revisar.vista .revisar-notas li:nth-child(3) .palomita,.revisar.vista .revisar-notas li:nth-child(3) .palomita path{transition-delay:240ms}
  .revisar.vista .revisar-notas li:nth-child(4) .palomita,.revisar.vista .revisar-notas li:nth-child(4) .palomita path{transition-delay:360ms}
  .revisar.vista .sello{animation:sello var(--dur-firma) var(--ease-sello) 520ms backwards}
  .revisar.vista .factura{animation:golpe 160ms var(--ease-out) 700ms}
}
@media (scripting:none),(prefers-reduced-motion:reduce){.palomita{background:var(--tinte);border-color:var(--turquesa)}}
@keyframes sello{0%{opacity:0;transform:rotate(-12deg) scale(1.6)}55%{opacity:1;transform:rotate(-6deg) scale(.96)}100%{opacity:1;transform:rotate(-7deg) scale(1)}}
@keyframes golpe{50%{transform:translateY(1px)}}

/* Tickets, sobre manila */
.tickets{background:var(--manila);color:var(--sobre-manila)}
.tickets .bajada{color:var(--sobre-manila)}
.expediente{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"foto lectura lectura" "foto deducible llega";gap:clamp(28px,3.4vw,48px) clamp(20px,2.6vw,36px);align-items:start;margin-top:clamp(40px,5vw,64px)}
.exp-foto{grid-area:foto}.exp-lectura{grid-area:lectura}.exp-deducible{grid-area:deducible}.exp-llega{grid-area:llega}
.exp{display:grid;gap:10px;align-content:start}
.exp-hora{color:var(--manila-2);font-size:.8125rem;font-weight:500}
.exp-texto{max-width:44ch;font:600 clamp(1.0625rem,1.4vw,1.25rem)/1.35 var(--f-marca);letter-spacing:-.01em}
.exp .captura{margin-top:6px}
.exp-foto .captura{max-width:340px}
.tickets ::selection{background:var(--sobre-manila);color:var(--manila)}
.tickets :focus-visible{outline-color:var(--sobre-manila)}
.tickets .rotulo-ejemplo{color:var(--manila-2)}
.tickets-cierre{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:24px 64px;align-items:end;margin-top:clamp(48px,6vw,80px);padding-top:32px;border-top:1px solid color-mix(in srgb,var(--sobre-manila) 25%,transparent)}
.tickets-cierre > p{max-width:44ch;font-size:1.125rem}
.tickets-cierre .portada-accion{margin-top:0;justify-content:flex-end}
.tickets-cierre .portada-accion p{color:var(--sobre-manila)}

/* Cámbiate */
.cambiate{background:var(--hoja)}
.pdf{background:var(--fondo)}
.precios{background:var(--hoja)}
.cambiate-rejilla{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(32px,4vw,56px);align-items:start;margin-top:clamp(40px,5vw,64px)}
.cambiate-texto{display:grid;gap:18px;padding-top:8px}
.cambiate-texto p:first-child{font-size:1.125rem}
.video{position:relative}
.video video{width:100%;height:auto;background:var(--hoja)}
.video-pausa{position:absolute;right:14px;bottom:14px;min-height:44px;padding:0 14px;border:0;border-radius:var(--radio-medio);background:color-mix(in srgb,var(--texto) 78%,transparent);color:var(--claro);
  font-size:.8125rem;font-weight:600;cursor:pointer}
.video-pausa:hover{background:var(--texto)}
.video figcaption{margin-top:12px;color:var(--texto-3);font-size:.875rem}

/* Tu cierre de mes */
.mes-empresas{position:relative;max-width:820px;margin-top:clamp(40px,5vw,64px)}
.calendario{margin-top:clamp(56px,7vw,96px)}
.calendario-dias{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:2px solid var(--texto)}
.calendario-dias button{display:grid;gap:2px;align-content:start;min-height:84px;padding:14px 12px 16px 0;border:0;border-bottom:1px solid var(--borde-fuerte);background:none;text-align:left;cursor:pointer;
  color:var(--texto-3);transition:color var(--dur-corta) var(--ease-out)}
.calendario-dias button b{font:700 1.5rem/1.15 var(--f-marca);letter-spacing:-.015em}
.calendario-dias button span{font-size:.875rem}
.calendario-dias button:hover{color:var(--texto)}
.calendario-dias button[aria-selected="true"]{color:var(--texto);box-shadow:inset 0 -3px 0 var(--turquesa)}
.calendario-panel{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,4vw,64px);align-items:start;padding-top:32px}
.calendario-panel > p{font-size:1.125rem;line-height:1.55}
.agenda-fecha{display:none}
.calendario-panel[hidden]{display:none}
@starting-style{.calendario-panel:not([hidden]){opacity:0}}
.calendario-panel{transition:opacity 200ms var(--ease-out)}
.cobros{border:1px solid var(--borde);border-radius:var(--radio);background:var(--hoja)}
.cobros li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;padding:16px 20px}
.cobros li + li{border-top:1px solid var(--borde-suave)}
.cobros li span:first-child{font-weight:600}
.cobros li span:nth-child(2){font-weight:600;text-align:right}
.cobros li span:last-child{grid-column:1 / -1;color:var(--texto-2);font-size:.9375rem}
.archivos{display:grid;gap:2px;padding:18px 22px;border-radius:var(--radio);background:var(--manila);color:var(--sobre-manila);font-size:.9375rem}
.archivos li::before{content:"";display:inline-block;width:6px;height:6px;margin-right:10px;border-radius:1px;background:currentColor;opacity:.55;transform:translateY(-2px)}

/* Tu PDF, por bloques */
.disenador{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,72px);align-items:start;margin-top:clamp(40px,5vw,64px)}
.dis-hoja{--acento:#036685;position:relative;display:flex;flex-direction:column;gap:18px;aspect-ratio:8.5 / 10.4;padding:clamp(22px,3.4vw,44px);
  border-radius:6px;background:var(--hoja);box-shadow:var(--sombra-papel);font-size:.8125rem;line-height:1.45}
.pdf-bloque{will-change:transform}
.pdf-emisor{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding-bottom:16px;border-bottom:3px solid var(--acento);transition:border-color 200ms ease}
.pdf-logo{display:grid;place-items:center;width:44px;height:44px;border-radius:8px;background:var(--acento);color:var(--claro);font:700 .9375rem/1 var(--f-marca);transition:background-color 200ms ease}
.pdf-nombre{font:700 1.0625rem/1.2 var(--f-marca)}
.pdf-domicilio{color:var(--texto-2)}
.pdf-folio{text-align:right;color:var(--texto-2)}
.pdf-folio b{display:block;color:var(--acento);font:700 1.125rem/1.2 var(--f-marca);transition:color 200ms ease}
.pdf-rotulo{margin-bottom:2px;color:var(--acento);font-size:.75rem;font-weight:600;transition:color 200ms ease}
.pdf-conceptos p,.pdf-totales p{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid var(--borde-suave)}
.pdf-conceptos .pdf-cab{color:var(--acento);font-weight:600;border-bottom-color:var(--acento);transition:color 200ms ease,border-color 200ms ease}
.pdf-totales{align-self:flex-end;width:min(100%,260px)}
.pdf-totales .pdf-total{border-bottom:0;color:var(--acento);font:700 1rem/1.4 var(--f-marca);transition:color 200ms ease}
.pdf-pago,.pdf-notas{padding:10px 12px;border-radius:6px;background:var(--fondo)}
.pdf-notas{color:var(--texto-2)}
.pdf-sello{display:flex;gap:12px;align-items:center;margin-top:auto;padding-top:12px;border-top:1px solid var(--borde-suave);color:var(--texto-3);font-size:.75rem}
.pdf-qr{flex:none;width:44px;height:44px;border-radius:2px;background:conic-gradient(from 90deg at 2px 2px,var(--texto) 25%,transparent 0) 0 0/8px 8px,var(--fondo)}
.dis-pestanas{display:none}
.dis-grupo{margin:0;padding:0;border:0}
.dis-grupo + .dis-grupo{margin-top:28px}
.dis-grupo legend{margin-bottom:12px;padding:0;font-weight:600}
.dis-bloques{display:grid;gap:6px}
.dis-bloques li{display:flex;align-items:center;gap:4px;min-height:52px;padding:4px 4px 4px 6px;border:1px solid var(--borde);border-radius:var(--radio-medio);background:var(--hoja);font-size:.9375rem;
  transition:box-shadow var(--dur-corta) var(--ease-out)}
.dis-bloques li.arrastrando{z-index:2;box-shadow:0 12px 28px -10px rgba(0,0,0,.35)}
.dis-bloques li.oculto{color:var(--texto-3);background:var(--fondo)}
.dis-nombre{flex:1}
.asa{width:28px;height:40px;border-radius:6px;cursor:grab;touch-action:none;
  background:radial-gradient(circle,var(--borde-fuerte) 1.6px,transparent 1.8px) center/8px 8px}
.asa:active{cursor:grabbing}
.mover{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:var(--radio-medio);background:transparent;cursor:pointer;color:var(--texto-2);
  transition:background-color var(--dur-corta) var(--ease-out),transform var(--dur-toque) var(--ease-out)}
.mover:hover{background:var(--fondo);color:var(--texto)}
.mover:active{transform:scale(.92)}
.mover:disabled{opacity:.35;cursor:default}
.mover svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.dis-colores{display:flex;flex-wrap:wrap;gap:10px}
.muestra{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;cursor:pointer}
.muestra::before{content:"";width:32px;height:32px;border-radius:50%;background:var(--m);transition:transform var(--dur-corta) var(--ease-out)}
.muestra input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}
.muestra:has(input:checked){box-shadow:inset 0 0 0 2px var(--texto)}
.muestra:has(input:focus-visible){outline:2px solid var(--turquesa);outline-offset:2px}
.muestra:active::before{transform:scale(.9)}
.casilla{display:flex;align-items:center;gap:10px;min-height:44px;font-size:.9375rem;cursor:pointer}
.casilla input{width:18px;height:18px;margin:0}
.dis-nota{margin-top:28px;color:var(--texto-3);font-size:.875rem}

/* Calculadoras en la portada: cuatro papeles distintos */
.calcs .cat-fichas{columns:4 230px;margin-top:clamp(40px,5vw,64px)}
.calcs-mas{margin-top:20px;font-size:1.0625rem}
.calcs-mas a{font-weight:600}

/* Precios: la cuenta de extras y el cálculo */
/* Las tres tarifas a la vista, antes que todo: suscripción, paquetes y Tickets. */
.tarifas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,40px);align-items:start;margin-top:clamp(40px,5vw,64px)}
.tarifa{min-width:0}
.tarifa-titulo{font:700 1.375rem/1.2 var(--f-marca);letter-spacing:-.01em}
.tarifa-titulo span{display:block;margin-top:4px;font:400 .9375rem/1.4 var(--f-texto);letter-spacing:0;color:var(--texto-2)}
.tarifa .planes{margin-top:16px}
.tarifa .planes th,.tarifa .planes td{padding:14px 14px}
.tarifa-nota{margin-top:12px;color:var(--texto-2);font-size:.875rem;line-height:1.5;text-wrap:pretty}
.tarifas-iva{margin-top:24px;color:var(--texto-2);font-size:.9375rem}
.precios-rejilla{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);align-items:start;margin-top:clamp(40px,5vw,64px)}
.cuenta{padding:28px;border:1px solid var(--borde);border-radius:6px;background:var(--fondo);font-family:var(--f-dato);font-size:.875rem}
.cuenta-titulo{padding-bottom:12px;border-bottom:2px solid var(--texto);font:700 1.125rem/1.2 var(--f-marca);letter-spacing:-.01em}
.cuenta-renglones li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:10px 0;border-bottom:1px solid var(--borde)}
.cuenta-renglones li span{grid-column:1 / -1;font-family:var(--f-texto);font-size:.9375rem;color:var(--texto)}
.cuenta-renglones s{color:var(--texto-3);text-decoration-thickness:1.5px}
.cuenta-renglones b{color:var(--turquesa);font-weight:600;text-align:right}
.cuenta-total{display:flex;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:3px double var(--texto);font-size:1rem;font-weight:600}
.cuenta-nota{margin-top:16px;color:var(--texto-3);font:400 .8125rem/1.5 var(--f-texto)}
.precios-pregunta{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font:700 clamp(1.25rem,2vw,1.5rem)/1.2 var(--f-marca)}
.precios-pregunta output{font:800 clamp(2rem,3vw,2.5rem)/1 var(--f-marca);color:var(--turquesa);min-width:3ch;text-align:right}
.rango{width:100%;height:44px;margin:12px 0 0;accent-color:var(--turquesa);cursor:pointer}
.precios-recomienda{min-height:3.2em;margin-top:8px;font-size:1.125rem;line-height:1.45;text-wrap:pretty}
.planes{width:100%;margin-top:24px;border-collapse:collapse;background:var(--hoja);border-radius:var(--radio);overflow:hidden;box-shadow:0 0 0 1px var(--borde)}
.planes th,.planes td{padding:16px 20px;border-bottom:1px solid var(--borde-suave);text-align:left}
.planes thead th{color:var(--texto-3);font-size:.8125rem;font-weight:600}
.planes thead th.der,.planes td.der{text-align:right}
.planes tbody th{font:700 1.125rem/1.2 var(--f-marca)}
.planes tbody tr:last-child > *{border-bottom:0}
.planes tbody td:nth-child(2){font:700 1.25rem/1.2 var(--f-marca)}
.planes tr{transition:background-color var(--dur-media) var(--ease-out)}
.planes tr.conviene{background:var(--tinte)}
.planes tr.conviene th{color:var(--turquesa)}
.precios-nota{margin-top:16px;color:var(--texto-2);font-size:.9375rem;max-width:62ch}

/* Antes de crear tu cuenta */
.dudas-rejilla{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,5vw,80px);align-items:start}
.preguntas details{border-top:1px solid var(--borde-fuerte)}
.preguntas details:last-child{border-bottom:1px solid var(--borde-fuerte)}
.preguntas summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;padding:18px 0;cursor:pointer;list-style:none;font-size:1.125rem;font-weight:600;line-height:1.4}
.preguntas summary::-webkit-details-marker{display:none}
.preguntas summary::after{content:"";flex:none;width:9px;height:9px;border:solid var(--turquesa);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-2px,-2px);transition:transform var(--dur-corta) var(--ease-out)}
.preguntas details[open] summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
.preguntas summary:hover{color:var(--turquesa)}
.preguntas .respuesta p{max-width:62ch;padding-bottom:22px;color:var(--texto-2)}
@supports (interpolate-size:allow-keywords){
  .preguntas{interpolate-size:allow-keywords}
  .preguntas details::details-content{height:0;overflow:clip;transition:height 240ms var(--ease-out),content-visibility 240ms allow-discrete}
  .preguntas details[open]::details-content{height:auto}
}

/* Cierre */
.cierre{padding-block:clamp(96px,13vw,184px);background:var(--turquesa);color:var(--claro)}
.cierre ::selection{background:var(--manila);color:var(--sobre-manila)}
.cierre :focus-visible{outline-color:var(--claro)}
.cierre-titular{font:800 clamp(3rem,9.2vw,7rem)/.95 var(--f-marca);letter-spacing:-.04em;font-variation-settings:"opsz" 96}
.punto-medio-tono{display:inline-block;width:.42em;height:.42em;margin-left:.05em;color:var(--manila);vertical-align:baseline}
.cierre .portada-accion p,.cierre .portada-accion p a{color:var(--claro-2)}

/* Pie */
.pie{background:var(--fondo);padding-block:40px;border-top:1px solid var(--borde)}
.pie-cuerpo{display:flex;flex-wrap:wrap;align-items:center;gap:20px 40px}
.pie-cuerpo img{width:auto;height:22px}
.pie nav{display:flex;flex-wrap:wrap;gap:4px 20px}
.pie nav a{display:inline-flex;align-items:center;min-height:32px;color:var(--texto-2);font-size:.9375rem;text-decoration:none}
.pie nav a:hover{color:var(--texto);text-decoration:underline}
.pie-cuerpo > p{margin-left:auto;color:var(--texto-3);font-size:.875rem}

/* La página que no existe */
.pagina-404{min-height:100dvh;display:grid;align-content:center}
.pagina-404 .logo img{height:26px;margin-bottom:clamp(48px,8vw,96px)}
.pagina-404 .entrada{max-width:56ch;margin-top:20px;color:var(--claro-2)}
.pagina-404 .oracion{font:800 clamp(2.5rem,7vw,5rem)/1 var(--f-marca);letter-spacing:-.035em}
.pagina-404 .punto{color:var(--manila)}

/* Tableta */
@media (max-width:1024px){
  .tarifas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .barra-menu{display:none}
  .barra-boton-menu{display:inline-flex;align-items:center}
  .portada-rejilla{grid-template-columns:var(--lado) minmax(0,1fr) var(--lado)}
  .portada-texto{grid-column:2}
  .portada-producto{grid-column:2 / 4;margin-top:48px}
  .ticket-asoma{left:20px;bottom:8px}
  .revisar-rejilla,.disenador,.cambiate-rejilla,.precios-rejilla,.dudas-rejilla,.calendario-panel{grid-template-columns:minmax(0,1fr)}
  .revisar-notas{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .expediente{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"foto lectura" "deducible llega"}
  .tickets-cierre{grid-template-columns:minmax(0,1fr)}
  .tickets-cierre .portada-accion{justify-content:flex-start}
  .calcs .cat-fichas{columns:2 260px}
  .mes-empresas{max-width:none}
}

/* Teléfono */
@media (max-width:760px){
  .tarifas{grid-template-columns:minmax(0,1fr)}
  .barra-cuerpo{gap:12px;min-height:56px}
  .barra .logo img{height:19px}
  .barra-crear{display:none}
  .barra-acciones{gap:8px}
  .titular{font-size:clamp(2.5rem,11vw,3rem)}
  .rfc-portada{padding:18px 16px}
  .portada-accion .boton.grande{width:100%}
  .portada-producto{padding-bottom:0;display:flex;flex-direction:column}
  .captura-sangra{align-self:center;width:min(100%,320px);max-height:520px;border-radius:var(--radio-grande)}
  .captura-sangra img{width:100%}
  .ticket-asoma{position:relative;left:auto;right:auto;bottom:auto;order:-1;width:auto;margin:0 0 20px;transform:none}
  .ticket-asoma:hover{transform:none}
  .ticket-asoma-papel{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:14px 16px 22px}
  .ticket-asoma-raya{display:none}
  .ticket-asoma-ver{margin-left:auto}
  .revisar-notas{grid-template-columns:minmax(0,1fr);gap:14px}
  .factura-receptor{grid-template-columns:minmax(0,1fr)}
  .factura-conceptos td:first-child,.factura-conceptos th:first-child{display:none}
  .sello{position:static;display:inline-block;margin-top:18px}
  .calendario-dias{display:none}
  .calendario-panel{padding-top:24px;border-top:1px solid var(--borde-fuerte);gap:14px}
  .calendario-panel + .calendario-panel{margin-top:28px}
  .agenda-fecha{display:block;font:700 1.375rem/1.15 var(--f-marca);letter-spacing:-.015em}
  .disenador{gap:20px}
  .dis-hoja{position:sticky;top:64px;z-index:2;aspect-ratio:auto;height:52svh;overflow:hidden;font-size:.75rem;gap:10px;padding:16px}
  .pdf-emisor{grid-template-columns:auto 1fr;padding-bottom:10px}
  .pdf-folio{display:none}
  .dis-pestanas{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:16px;padding:4px;border-radius:var(--radio);background:var(--fondo)}
  .dis-pestanas button{min-height:44px;border:0;border-radius:var(--radio-medio);background:transparent;font-weight:600;color:var(--texto-2);cursor:pointer}
  .dis-pestanas button[aria-selected="true"]{background:var(--hoja);color:var(--texto);box-shadow:0 1px 2px rgba(0,0,0,.08)}
  .dis-grupo + .dis-grupo{margin-top:0}
  .dis-grupo legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .dis-grupo[data-oculto]{display:none}
  .dis-controles :is(button,input){scroll-margin-top:calc(52svh + 88px)}
  .expediente{grid-template-columns:minmax(0,1fr);grid-template-areas:"foto" "lectura" "deducible" "llega"}
  .exp-foto .captura{max-width:320px}
  .calcs .cat-fichas{columns:1}
  .planes th,.planes td{padding:14px 12px}
  .planes.suscripcion thead th:last-child,.planes.suscripcion td:last-child{display:none}
  .pie-cuerpo > p{margin-left:0}
}

@media (pointer:coarse){
  .boton.chico{min-height:44px}
  .mover{width:44px;height:44px}
  .ejemplo{min-height:44px}
  .pie nav a{min-height:44px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:1ms!important;animation-duration:1ms!important;animation-delay:0ms!important}
}
