/* ==========================================================================
   Casilla 03 · asesoría fiscal y laboral
   Mundo: impreso oficial sobre papel pautado de contabilidad.
   Reglas negras, casillas numeradas, valores mecanografiados, sello cinabrio.
   ========================================================================== */

:root{
  --papel:      #e7efe0;
  --papel-2:    #f2f6ee;
  --banda:      rgba(122,158,118,.20);
  --tinta:      #14170f;
  --tinta-70:   rgba(20,23,15,.72);
  --tinta-45:   rgba(20,23,15,.45);
  --regla:      rgba(20,23,15,.85);
  --regla-fina: rgba(20,23,15,.18);
  --sello:      #b73026;
  --sello-15:   rgba(183,48,38,.14);
  --boli:       #1f3fa8;

  --sans: "Libre Franklin", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: "Courier Prime", ui-monospace, "Courier New", monospace;

  --marco: clamp(1.1rem, 4vw, 3.25rem);
  --paso:  clamp(3.5rem, 7vw, 6.5rem);
  --max:   1240px;
}

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

body{
  margin:0;
  font-family:var(--sans);
  color:var(--tinta);
  background:var(--papel);
  line-height:1.5;
  overflow-x:hidden;
}
h1,h2,h3{ margin:0;font-weight:900;letter-spacing:-.035em;line-height:.96;text-wrap:balance }
p{ margin:0 }
a{ color:inherit }
ul,ol{ margin:0;padding:0;list-style:none }

.sr-only{ position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0 }
.skip{ position:fixed;left:1rem;top:-4rem;z-index:99;background:var(--tinta);color:var(--papel);padding:.7rem 1.1rem;font-weight:700;text-decoration:none;transition:top .18s ease }
.skip:focus{ top:1rem }
:where(a,button,input,textarea,select,[tabindex]):focus-visible{ outline:2px solid var(--sello);outline-offset:2px }

/* ==========================================================================
   Cabecera
   ========================================================================== */
.cabecera{
  position:sticky;top:0;z-index:40;
  display:flex;align-items:center;gap:1.5rem;
  padding:.7rem var(--marco);
  background:var(--papel);
  border-bottom:1.5px solid var(--regla);
}
.marca{ display:flex;align-items:center;gap:.75rem;text-decoration:none;margin-right:auto }
.marca__caja{
  display:grid;place-items:center;width:38px;height:38px;
  border:1.5px solid var(--regla);background:var(--tinta);color:var(--papel);
  font-family:var(--mono);font-weight:700;font-size:1.05rem;
}
.marca b{ display:block;font-size:1.1rem;font-weight:900;letter-spacing:-.03em;line-height:1.05 }
.marca i{ display:block;font-style:normal;font-family:var(--mono);font-size:.63rem;letter-spacing:.06em;text-transform:uppercase;color:var(--tinta-45) }

.menu{ display:flex;gap:1.6rem }
.menu a{
  text-decoration:none;font-size:.87rem;font-weight:600;color:var(--tinta-70);
  padding:.3rem .1rem;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;
}
.menu a:hover{ color:var(--tinta);border-color:var(--tinta) }
.menu a[aria-current="true"]{ color:var(--sello);border-color:var(--sello) }

.burger{ display:none;background:none;border:0;padding:.5rem;cursor:pointer;color:var(--tinta) }
.burger__bars,.burger__bars::before,.burger__bars::after{ display:block;width:22px;height:2px;background:currentColor;transition:transform .25s ease,opacity .2s ease }
.burger__bars::before,.burger__bars::after{ content:"";position:relative }
.burger__bars::before{ top:-7px } .burger__bars::after{ top:5px }
.burger[aria-expanded="true"] .burger__bars{ transform:rotate(45deg) }
.burger[aria-expanded="true"] .burger__bars::before{ opacity:0 }
.burger[aria-expanded="true"] .burger__bars::after{ transform:rotate(-90deg) translateX(7px) }

.menu-movil{
  position:sticky;top:56px;z-index:39;background:var(--papel);
  border-bottom:1.5px solid var(--regla);padding:.5rem var(--marco) 1.5rem;
}
.menu-movil a{ display:block;text-decoration:none;font-size:1.1rem;font-weight:800;padding:.75rem 0;border-bottom:1px solid var(--regla-fina) }
.menu-movil .btn{ margin-top:1.2rem;border-bottom:0 }

/* ==========================================================================
   Botones
   ========================================================================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.85rem 1.5rem;border:1.5px solid var(--regla);border-radius:0;
  font-family:var(--sans);font-weight:800;font-size:.92rem;letter-spacing:-.01em;
  text-decoration:none;cursor:pointer;background:transparent;color:var(--tinta);
  transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.btn--tinta{ background:var(--tinta);color:var(--papel);box-shadow:4px 4px 0 0 var(--sello-15) }
.btn--tinta:hover{ background:var(--sello);border-color:var(--sello);transform:translate(-2px,-2px);box-shadow:6px 6px 0 0 var(--sello-15) }
.btn--linea:hover{ background:var(--tinta);color:var(--papel) }
.btn--sm{ padding:.5rem .95rem;font-size:.8rem }
.btn--block{ width:100% }
.btn:active{ transform:none;box-shadow:2px 2px 0 0 var(--sello-15) }

/* ==========================================================================
   El impreso
   ========================================================================== */
.impreso{
  max-width:var(--max);margin:clamp(1rem,3vw,2.5rem) auto;
  border:2px solid var(--regla);
  background:
    repeating-linear-gradient(180deg, var(--banda) 0 44px, transparent 44px 88px),
    var(--papel-2);
}
.hoja{ border-bottom:1.5px solid var(--regla) }
.hoja:last-child{ border-bottom:0 }

.hoja__cab{
  display:flex;align-items:center;gap:1rem;
  padding:.55rem var(--marco);
  border-bottom:1px solid var(--regla-fina);
  background:rgba(20,23,15,.04);
  font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;
}
.hoja__cod{ font-weight:700;background:var(--tinta);color:var(--papel);padding:.16rem .5rem }
.hoja__tit{ color:var(--tinta-70) }
.hoja__pag{ margin-left:auto;color:var(--tinta-45) }

.hoja__cuerpo{
  display:grid;grid-template-columns:minmax(200px,18rem) minmax(0,1fr);
  gap:0;padding:0;
}
.margen{
  padding:var(--paso) clamp(1rem,2.2vw,2rem) var(--paso) var(--marco);
  border-right:1px solid var(--regla-fina);
}
.margen p{ font-family:var(--mono);font-size:.78rem;line-height:1.75;color:var(--tinta-70) }
.hoja__contenido{ padding:var(--paso) var(--marco) var(--paso) clamp(1.25rem,3vw,3rem);min-width:0 }

.titular{ font-size:clamp(2.2rem,5.4vw,4.1rem);margin-bottom:clamp(2rem,4vw,3.2rem) }
.pie-nota{ margin-top:1.5rem;font-family:var(--mono);font-size:.72rem;line-height:1.7;color:var(--tinta-45) }

/* ==========================================================================
   Portada
   ========================================================================== */
.hoja--portada .portada{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:clamp(2.5rem,5vw,4.5rem);
  padding:clamp(3rem,6vw,5.5rem) var(--marco) clamp(3rem,6vw,5rem);
  align-items:start;
}
.portada h1{ font-size:clamp(2.8rem,7.4vw,5.4rem);letter-spacing:-.045em }
.portada h1 mark{ background:transparent;color:var(--sello);position:relative;padding:0 }
.portada h1 mark::after{
  content:"";position:absolute;left:-.06em;right:-.06em;bottom:.06em;height:.09em;background:var(--sello);opacity:.55;
}
.entrada{ margin-top:1.8rem;font-size:clamp(1.02rem,1.5vw,1.18rem);line-height:1.62;color:var(--tinta-70);max-width:48ch }
.portada__acciones{ display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.2rem }

.cuenta{
  display:flex;align-items:center;gap:1.1rem;margin-top:2.6rem;
  padding-top:1.6rem;border-top:1.5px solid var(--regla);max-width:34rem;
}
.cuenta__num{
  font-family:var(--mono);font-size:3.1rem;font-weight:700;line-height:.9;color:var(--sello);
  font-variant-numeric:tabular-nums;
}
.cuenta__txt{ font-size:.86rem;line-height:1.5;color:var(--tinta-70) }
.cuenta__txt b{ font-family:var(--mono);font-size:.82rem;color:var(--tinta) }

/* --- ficha de casillas --- */
.portada__ficha{ position:relative;border:1.5px solid var(--regla);background:var(--papel-2) }
.casillas li{
  display:grid;grid-template-columns:2.6rem 1fr;gap:.15rem .9rem;
  padding:1.05rem 1.2rem;border-bottom:1px solid var(--regla-fina);
}
.casillas li:last-child{ border-bottom:0 }
.casillas__n{
  grid-row:span 2;align-self:start;
  display:grid;place-items:center;width:2.4rem;height:2.4rem;
  border:1px solid var(--regla);font-family:var(--mono);font-size:.8rem;font-weight:700;
}
.casillas__et{ font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-45) }
.casillas__v{ font-family:var(--mono);font-size:.95rem;line-height:1.45;color:var(--boli) }
.casillas__v--fuerte{ font-weight:700;color:var(--tinta) }

.sello{
  position:absolute;right:-18px;bottom:-26px;z-index:2;
  width:104px;height:104px;display:grid;place-items:center;
  border:2.5px solid var(--sello);border-radius:50%;
  color:var(--sello);rotate:-11deg;background:rgba(231,239,224,.75);
  box-shadow:inset 0 0 0 3px rgba(231,239,224,.9), inset 0 0 0 4.5px var(--sello);
  mix-blend-mode:multiply;
}
.sello span{
  font-family:var(--mono);font-size:.6rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;text-align:center;line-height:1.45;
}

/* ==========================================================================
   Conceptos
   ========================================================================== */
.conceptos{ border-top:1.5px solid var(--regla) }
.conceptos li{
  display:grid;grid-template-columns:3.2rem minmax(0,1fr) auto;gap:1.5rem;align-items:start;
  padding:1.5rem 0;border-bottom:1px solid var(--regla-fina);
  transition:background-color .2s ease;
}
.conceptos li:hover{ background:rgba(20,23,15,.035) }
.conceptos__n{
  display:grid;place-items:center;width:2.9rem;height:2.9rem;
  border:1px solid var(--regla);font-family:var(--mono);font-size:.85rem;font-weight:700;
}
.conceptos h3{ font-size:1.22rem;letter-spacing:-.025em }
.conceptos p{ margin-top:.45rem;font-size:.95rem;line-height:1.6;color:var(--tinta-70);max-width:62ch }
.conceptos__marca{
  font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;
  border:1px solid var(--sello);color:var(--sello);padding:.22rem .55rem;white-space:nowrap;
}

/* ==========================================================================
   Simulador
   ========================================================================== */
.sim{ display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.85fr);gap:clamp(1.5rem,3vw,2.75rem);align-items:start }
.sim__preguntas fieldset{ border:0;margin:0;padding:0;display:grid;gap:.5rem }
.opcion{
  display:flex;align-items:flex-start;gap:.85rem;cursor:pointer;
  border:1.5px solid var(--regla-fina);padding:.95rem 1.05rem;
  transition:border-color .18s ease,background-color .18s ease;
}
.opcion:hover{ border-color:var(--tinta) }
.opcion:has(input:checked){ border-color:var(--tinta);background:rgba(20,23,15,.05) }
.opcion input{ width:19px;height:19px;margin:.15rem 0 0;flex:0 0 auto;accent-color:var(--sello) }
.opcion b{ display:block;font-size:.97rem;font-weight:700;letter-spacing:-.01em }
.opcion i{ display:block;font-style:normal;font-family:var(--mono);font-size:.72rem;color:var(--tinta-45);margin-top:.2rem }

.sim__salida{ border:1.5px solid var(--regla);background:var(--papel);padding:1.3rem 1.4rem 1.5rem;position:sticky;top:5.5rem }
.sim__cab{ font-family:var(--mono);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-45);padding-bottom:.85rem;border-bottom:1px solid var(--regla-fina) }
.sim__lista li{
  display:grid;grid-template-columns:4.2rem 1fr auto;gap:.8rem;align-items:baseline;
  padding:.72rem 0;border-bottom:1px solid var(--regla-fina);
}
.sim__lista b{ font-family:var(--mono);font-weight:700;font-size:.92rem;color:var(--sello) }
.sim__lista span{ font-size:.87rem;line-height:1.35 }
.sim__lista i{ font-style:normal;font-family:var(--mono);font-size:.66rem;color:var(--tinta-45);white-space:nowrap }
.sim__pie{ margin-top:1.1rem;font-size:.85rem;line-height:1.5;color:var(--tinta-70) }
.sim__pie b{ font-family:var(--mono);font-size:1.4rem;color:var(--tinta);display:inline-block;margin-right:.15rem }
.sim__pie a{ display:inline-block;margin-top:.5rem;font-weight:800;color:var(--sello);text-decoration:none;border-bottom:1.5px solid currentColor }
.sim__pie a:hover{ color:var(--tinta) }

/* ==========================================================================
   Calendario
   ========================================================================== */
.calendario{ border-top:1.5px solid var(--regla) }
.calendario li{
  display:grid;grid-template-columns:5.5rem 9.5rem minmax(0,1fr);gap:1.5rem;align-items:baseline;
  padding:1.35rem 0;border-bottom:1px solid var(--regla-fina);
}
.calendario__t{ font-family:var(--mono);font-size:1.5rem;font-weight:700;letter-spacing:-.02em }
.calendario__f{ font-family:var(--mono);font-size:.85rem;color:var(--sello);font-weight:700 }
.calendario p{ font-size:.94rem;line-height:1.6;color:var(--tinta-70);max-width:60ch }
.calendario--renta{ background:rgba(183,48,38,.06) }
.calendario--renta .calendario__t{ font-size:1.1rem }

/* ==========================================================================
   Tarifas
   ========================================================================== */
.tabla-wrap{ overflow-x:auto;border-top:1.5px solid var(--regla) }
.tarifas{ width:100%;min-width:660px;border-collapse:collapse;text-align:left }
.tarifas thead th{
  font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--tinta-45);font-weight:400;padding:.75rem 1rem .75rem 0;border-bottom:1px solid var(--regla-fina);
}
.tarifas tbody th,.tarifas tbody td{ padding:1.4rem 1rem 1.4rem 0;border-bottom:1px solid var(--regla-fina);vertical-align:middle;font-size:.94rem;color:var(--tinta-70) }
.tarifas tbody th{ font-size:1.3rem;font-weight:900;letter-spacing:-.03em;color:var(--tinta);white-space:nowrap }
.tarifas .etiqueta{
  display:inline-block;margin-left:.5rem;vertical-align:middle;
  font-family:var(--mono);font-size:.6rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;
  border:1px solid var(--sello);color:var(--sello);padding:.15rem .45rem;
}
.tarifas .cifra{ font-family:var(--mono);font-size:1.5rem;font-weight:700;color:var(--tinta);white-space:nowrap }
.tarifas .destacada{ background:rgba(183,48,38,.06) }

.cita{ margin:clamp(2.5rem,5vw,4rem) 0 0;border-top:1.5px solid var(--regla);padding-top:2rem }
.cita p{ font-size:clamp(1.2rem,2.1vw,1.6rem);line-height:1.4;letter-spacing:-.025em;font-weight:600;max-width:32ch;text-wrap:pretty }
.cita footer{ margin-top:1.4rem;font-size:.86rem;color:var(--tinta-70) }
.cita footer b{ font-weight:800;color:var(--tinta) }
.cita footer span{ display:block;margin-top:.25rem;font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--tinta-45) }

/* ==========================================================================
   Formulario
   ========================================================================== */
.contacto-datos{ margin-top:2rem;border-top:1px solid var(--regla-fina) }
.contacto-datos li{ padding:.7rem 0;border-bottom:1px solid var(--regla-fina);font-family:var(--mono);font-size:.8rem }
.contacto-datos span{ display:block;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-45);margin-bottom:.15rem }
.contacto-datos a{ text-decoration:none;border-bottom:1px solid var(--regla-fina) }
.contacto-datos a:hover{ color:var(--sello);border-color:var(--sello) }

.formulario{ display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 1.6rem;border-top:1.5px solid var(--regla);padding-top:2.2rem }
.campo{ display:grid;min-width:0 }
.campo--mitad{ grid-column:span 1 }
.campo--full{ grid-column:span 2 }
.campo label{
  font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--tinta-45);margin-bottom:.5rem;
}
.campo label em{ font-style:normal;color:var(--sello) }
.campo label em.opt{ color:var(--tinta-45);text-transform:none;letter-spacing:.02em }
.campo input,.campo textarea,.campo select{
  width:100%;font-family:var(--mono);font-size:1rem;color:var(--tinta);
  background:var(--papel);border:1.5px solid var(--regla-fina);border-radius:0;
  padding:.7rem .8rem;transition:border-color .18s ease,background-color .18s ease;
}
.campo select{ font-family:var(--sans);appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--tinta) 50%),linear-gradient(135deg,var(--tinta) 50%,transparent 50%);
  background-position:calc(100% - 18px) 55%,calc(100% - 12px) 55%;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:2.4rem }
.campo textarea{ resize:vertical;line-height:1.55 }
.campo input:hover,.campo textarea:hover,.campo select:hover{ border-color:var(--tinta-45) }
.campo input:focus,.campo textarea:focus,.campo select:focus{ outline:0;border-color:var(--tinta);background:#fff }
.campo input[aria-invalid="true"]{ border-color:var(--sello);background:rgba(183,48,38,.05) }
.campo input::placeholder,.campo textarea::placeholder{ color:var(--tinta-45) }

.nif{
  text-transform:uppercase;letter-spacing:.95ch;padding-left:.9ch!important;
  background-image:repeating-linear-gradient(90deg,var(--regla-fina) 0 1px,transparent 1px 2.05ch);
  background-position:.05ch 0;background-repeat:repeat-x;background-size:auto 100%;
}
.error{ font-family:var(--mono);font-size:.7rem;color:var(--sello);margin-top:.4rem;min-height:1em }

.acepta{ display:flex!important;align-items:flex-start;gap:.75rem;font-family:var(--sans)!important;
  font-size:.9rem!important;letter-spacing:0!important;text-transform:none!important;
  color:var(--tinta-70)!important;line-height:1.5;cursor:pointer }
.acepta input{ width:19px;height:19px;flex:0 0 auto;margin-top:.1rem;accent-color:var(--sello) }

.firma{ display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:center;
  border-top:1px solid var(--regla-fina);padding-top:1.6rem;margin-top:.5rem }
.firma__nota{ font-family:var(--mono);font-size:.72rem;line-height:1.7;color:var(--tinta-45) }
.firma__nota em{ font-style:normal;color:var(--sello) }
.estado{ grid-column:span 2;font-family:var(--mono);font-size:.82rem;color:var(--tinta);min-height:1.2em }
.estado[data-tipo="ok"]{ color:var(--boli) }
.estado[data-tipo="error"]{ color:var(--sello) }

/* ==========================================================================
   Pie
   ========================================================================== */
.pie{ max-width:var(--max);margin:0 auto clamp(1rem,3vw,2.5rem);padding:2.5rem var(--marco) 0 }
.pie__reglas{ display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2rem;padding-bottom:2rem;border-bottom:1.5px solid var(--regla) }
.pie__reglas b{ display:block;font-size:.95rem;font-weight:900;margin-bottom:.7rem }
.pie__reglas p{ font-size:.85rem;line-height:1.75;color:var(--tinta-70) }
.pie__reglas nav{ display:grid;gap:.5rem;align-content:start }
.pie__reglas a{ font-size:.85rem;color:var(--tinta-70);text-decoration:none }
.pie__reglas a:hover{ color:var(--sello) }
.pie__impreso{ display:flex;flex-wrap:wrap;gap:.5rem 2rem;justify-content:space-between;
  padding-top:1rem;font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;color:var(--tinta-45) }

/* ==========================================================================
   Aparición
   ========================================================================== */
@media (prefers-reduced-motion:no-preference){
  .hoja:not(.hoja--portada) .titular,
  .hoja:not(.hoja--portada) .margen,
  .hoja:not(.hoja--portada) .conceptos li,
  .hoja:not(.hoja--portada) .calendario li,
  .hoja:not(.hoja--portada) .sim,
  .hoja:not(.hoja--portada) .tabla-wrap,
  .hoja:not(.hoja--portada) .formulario{
    opacity:0;transform:translateY(14px);
    transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1);
  }
  .hoja.visible .titular,.hoja.visible .margen,.hoja.visible .conceptos li,
  .hoja.visible .calendario li,.hoja.visible .sim,.hoja.visible .tabla-wrap,
  .hoja.visible .formulario{ opacity:1;transform:none }
  .hoja.visible .conceptos li:nth-child(2),.hoja.visible .calendario li:nth-child(2){ transition-delay:.05s }
  .hoja.visible .conceptos li:nth-child(3),.hoja.visible .calendario li:nth-child(3){ transition-delay:.1s }
  .hoja.visible .conceptos li:nth-child(4),.hoja.visible .calendario li:nth-child(4){ transition-delay:.15s }
  .hoja.visible .conceptos li:nth-child(5),.hoja.visible .calendario li:nth-child(5){ transition-delay:.2s }
  .hoja.visible .conceptos li:nth-child(6){ transition-delay:.25s }
}

/* ==========================================================================
   Adaptación
   ========================================================================== */
@media (max-width:1080px){
  .hoja__cuerpo{ grid-template-columns:1fr }
  .margen{ border-right:0;border-bottom:1px solid var(--regla-fina);padding:1.5rem var(--marco) }
  .margen p{ max-width:70ch }
  .contacto-datos{ display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem }
  .hoja__contenido{ padding-left:var(--marco) }
  .hoja--portada .portada{ grid-template-columns:1fr;gap:3rem }
  .portada__ficha{ max-width:560px }
  .sim{ grid-template-columns:1fr }
  .sim__salida{ position:static }
}
@media (max-width:760px){
  .menu,.cabecera > .btn{ display:none }
  .burger{ display:block }
  .impreso{ margin-inline:0;border-left:0;border-right:0 }
  .pie__reglas{ grid-template-columns:1fr;gap:1.75rem }
  .formulario{ grid-template-columns:1fr }
  .campo--mitad,.campo--full,.estado{ grid-column:span 1 }
  .firma{ grid-template-columns:1fr }
  .conceptos li{ grid-template-columns:2.6rem minmax(0,1fr);gap:1rem }
  .conceptos__marca{ grid-column:2;justify-self:start }
  .conceptos__n{ width:2.4rem;height:2.4rem }
  .calendario li{ grid-template-columns:4rem 1fr;gap:.4rem 1rem }
  .calendario p{ grid-column:2 }
  .cuenta{ gap:.9rem }
  .cuenta__num{ font-size:2.5rem }
  .sello{ width:86px;height:86px;right:-8px;bottom:-18px }
  .contacto-datos{ grid-template-columns:1fr }
}
@media (max-width:420px){
  .portada__acciones .btn{ width:100% }
  .casillas li{ grid-template-columns:2.2rem 1fr;padding:.9rem }
}
