/* ============================================================================
   TAX SOLUTIONS - SMART TAXES · interior.css (V2 "SELLO ROLEX", orden 0827)
   Las 4 interiores x 2 idiomas. Mundo V2: blanco frio + Anton + paneles ink.
   Banner B4 EDITORIAL LATERAL gemelo en las 8 (cap. 13 §13) + arquetipos
   §14-§17 restilados. Nav/footer/CTA/chips viven en base.css.
   ========================================================================== */

/* ---------- display de interiores (Anton, un escalon bajo el hero §12.8) ----------
   V3 T2 (ley 0827-b): display SIEMPRE PULCRA - sin filtro stamp, bordes nitidos;
   la presencia se logra con tamaño + oro + tracking, no con textura. */
.i-h2{
  font-family:var(--disp);font-weight:400;line-height:.98;
  text-transform:uppercase;letter-spacing:-.01em;
  color:var(--ink-display);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  font-size:clamp(2rem,3.8vw,3.8rem);margin-top:.6rem;
}

/* ============================================================================
   BANNER DE SECCION B4 EDITORIAL LATERAL (gemelo en las 8; §13, 0720-a10)
   ========================================================================== */
.banner{
  position:relative;display:flex;align-items:flex-end;
  min-height:clamp(320px,44vh,540px);
  background:var(--ink);color:#FFFFFF;overflow:hidden;
}
.banner--contacto{min-height:clamp(300px,40vh,480px)}
.banner-media{position:absolute;left:0;right:0;top:-8%;bottom:-8%;z-index:0}
.banner-media img{width:100%;height:100%;object-fit:cover}
.banner-scrim{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(18,27,22,.82) 0%,rgba(18,27,22,.46) 44%,rgba(18,27,22,.06) 78%);
}
.banner-content{
  position:relative;z-index:2;
  width:var(--wrap);margin-inline:auto;padding-inline:var(--pad-x);
  padding-block:clamp(2.2rem,4.5vh,3.4rem);
  padding-top:110px; /* despeje del nav superpuesto: el crumb jamas lo toca */
}
.banner-crumb{
  display:inline-flex;align-items:center;gap:.55em;
  font-weight:800;font-size:clamp(.68rem,.85vw,.8rem);
  letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.85);
  margin-bottom:1rem;
}
.banner-crumb a{transition:color .25s}
.banner-crumb a:hover{color:var(--gold-2)}
.banner-crumb .up{width:.95em;height:.95em;flex:none}
/* T12: cero verdes chillones - la flecha del crumb usa la esmeralda de la casa */
.banner-crumb .up path{stroke:var(--emerald);stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.banner-h1{
  font-family:var(--disp);font-weight:400;line-height:1;
  text-transform:uppercase;letter-spacing:-.01em;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  font-size:clamp(2.6rem,5.5vw,5.6rem);color:#FFFFFF;
  text-shadow:0 2px 4px rgba(18,27,22,.45),0 8px 24px rgba(18,27,22,.30);
}
/* armonia 0704-d5: SIEMPRE 2 lineas; la linea no se parte (fitHeads o4 ajusta) */
.banner-h1 .hl-in{white-space:nowrap}
.banner-sub{
  margin-top:1rem;max-width:52ch;font-weight:600;
  font-size:clamp(.92rem,1vw,1rem);color:rgba(255,255,255,.88);
  text-shadow:0 1px 2px rgba(18,27,22,.45),0 2px 10px rgba(18,27,22,.30);
}
.banner-deco{position:absolute;right:4%;bottom:clamp(2rem,4.5vh,3.2rem);z-index:3}
.banner-ghost{
  position:absolute;right:-1%;top:-4%;z-index:1;
  font-family:var(--disp);font-weight:400;line-height:.8;white-space:nowrap;
  text-transform:uppercase;letter-spacing:-.01em;
  font-size:min(13vw,200px);
  -webkit-text-stroke:1.5px rgba(255,255,255,.10);color:transparent;
  pointer-events:none;user-select:none;
}

/* ---------- ritmo interior (aire k5/m2: banner->contenido 96-140 medido) ---------- */
.isec{position:relative;padding-block:clamp(3.2rem,4.4vw,4.2rem);overflow:clip}
.isec.sec-first{padding-top:clamp(6rem,8vw,7.4rem)}
.isec-tight{padding-block:clamp(2.4rem,3.2vw,3.2rem)}

/* ---------- acordeon de la casa (exencion CSS §12.12; 0fr->1fr) ---------- */
.acc{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease-house)}
.acc>.acc-in{overflow:hidden;min-height:0}
.is-open>.acc,.is-open .acc-target{grid-template-rows:1fr}
.acc-btn{
  display:inline-flex;align-items:center;gap:.6em;
  font-weight:800;font-size:.9rem;color:var(--ink);
  padding:.4em 0;
}
.acc-btn .chev{
  width:.85em;height:.85em;flex:none;position:relative;
  transition:transform .35s var(--ease-house);
}
.acc-btn .chev::before,.acc-btn .chev::after{
  content:"";position:absolute;background:var(--accent);left:0;top:50%;
  width:100%;height:2px;transform:translateY(-50%);
}
.acc-btn .chev::after{transform:translateY(-50%) rotate(90deg);transition:transform .35s var(--ease-house)}
.is-open .acc-btn .chev::after{transform:translateY(-50%) rotate(0deg)}
/* la sonda splits computa acordeones CERRADOS sin transicion (ley p4);
   el contenido oculto se saca del computo de masa (sus rects clipeados
   se leen con altura real y falsean el aire r1) */
html.acc-measure .acc{grid-template-rows:0fr!important;transition:none!important}
html.acc-measure .acc>.acc-in>*{display:none!important}

/* ============================================================================
   NOSOTROS · A1 HISTORIA (H2 EDITORIAL STICKY §14)
   ========================================================================== */
.historia{background:var(--surface)}
.hist-grid{
  display:grid;grid-template-columns:.72fr 1fr;
  gap:clamp(2rem,4vw,4.5rem);align-items:start;
}
.hist-sticky{position:sticky;top:104px}
.hist-photo{
  position:relative;border-radius:18px;overflow:hidden;
  box-shadow:0 22px 54px rgba(16,24,15,.16);
}
.hist-photo img{width:100%;height:auto;display:block}
.hist-rol{
  position:absolute;left:1rem;bottom:1rem;z-index:2;
  display:inline-flex;align-items:center;gap:.5em;
  background:rgba(255,255,255,.94);border:1px solid var(--line-cold);
  border-radius:999px;padding:.5em .95em;
  font-weight:800;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;
}
.hist-cita{
  margin-top:1.2rem;padding-left:1rem;border-left:2px solid var(--accent);
  font-style:italic;font-weight:600;color:var(--ink-soft);
  font-size:clamp(.95rem,1.05vw,1.05rem);max-width:34ch;
}
.hist-copy .kicker{color:var(--ink)}
.hist-copy>p{margin-top:1.2rem;max-width:58ch;color:var(--ink-soft);font-size:clamp(.95rem,1.02vw,1.02rem)}
.hist-copy>p b{font-weight:800;color:var(--ink)}

/* tarjeta-monograma MR (Maria: persona real SIN foto; JAMAS generarla) */
.mr-card{
  margin-top:1.6rem;display:flex;align-items:center;gap:1.2rem;
  background:var(--surface-2);border:1px solid var(--line-cold);
  border-radius:18px;padding:1.1rem 1.3rem;max-width:520px;
}
.mr-mono{
  flex:none;width:76px;height:76px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(140deg,#8F6C33,var(--accent) 45%,var(--gold-2));
  font-family:var(--disp);font-weight:400;font-size:1.7rem;letter-spacing:.04em;
  color:#10180F;box-shadow:0 12px 28px rgba(143,108,51,.3);
}
.mr-card div b{display:block;font-weight:800;font-size:1rem}
.mr-card div span{display:block;font-weight:600;font-size:.82rem;color:var(--muted-light)}
.mr-card span.mr-mono{display:flex;font-size:1.7rem;line-height:1;color:#10180F}

/* fotos de oficina inset (reales; abren lightbox 0808-b) */
.hist-insets{margin-top:1.6rem;display:grid;grid-template-columns:1.55fr 1fr;gap:clamp(.8rem,1.2vw,1.2rem)}
.lb-open{
  position:relative;display:block;border-radius:14px;overflow:hidden;
  box-shadow:0 14px 34px rgba(16,24,15,.14);cursor:zoom-in;padding:0;
}
.lb-open img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.lb-open .lb-tag{
  position:absolute;left:.7rem;bottom:.7rem;z-index:2;
  background:rgba(18,27,22,.78);color:#FFFFFF;border-radius:999px;
  padding:.35em .8em;font-weight:700;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;
}

/* ---------- A2 VALORES V1 FILAS DISPLAY (idx-glyph, exencion CSS) ---------- */
.valores{background:var(--surface-2)}
.valores .kicker{color:var(--ink)}
.vrows{margin-top:clamp(1.4rem,2.4vw,2.2rem);border-top:1px solid var(--hairline-light)}
.vrow{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;
  gap:clamp(1rem,2.4vw,2.4rem);
  padding:clamp(.9rem,1.6vw,1.4rem) 0;
  border-bottom:1px solid var(--hairline-light);
}
.vrow .v-i{font-weight:800;font-size:.78rem;letter-spacing:.12em;color:var(--accent)}
.vrow .v-word{
  display:inline-flex;align-items:center;gap:0;
  font-family:var(--disp);font-weight:400;line-height:1;
  text-transform:uppercase;letter-spacing:-.005em;
  font-size:clamp(1.9rem,4.2vw,4.2rem);color:var(--ink-display);
}
.vrow .v-glyph{
  display:inline-block;width:0;height:.82em;border-radius:10px;
  background-size:cover;background-position:center;
  transition:width .45s var(--ease-house),margin .45s var(--ease-house);
  margin:0;vertical-align:baseline;
}
.vrow:hover .v-glyph,.vrow:focus-within .v-glyph{width:clamp(2rem,4.5vw,3.4rem);margin-inline:.18em}
.vrow .v-copy{font-weight:600;font-size:.88rem;color:var(--muted-light);max-width:30ch;text-align:right}

/* ---------- A3 BANDA "ROLEX" (V3 T8: muere la burbujita; entra el PANEL
   ANCHO DE LUJO leccion-panel - frase izquierda + visual editorial ~58%) ---------- */
.banda-clase{
  position:relative;background:var(--ink);color:#FFFFFF;
  padding-block:clamp(4.5rem,9vh,6.5rem);overflow:clip;
}
.bc-grid{
  display:grid;grid-template-columns:.85fr 1.35fr;
  gap:clamp(2rem,4vw,4.5rem);align-items:center;
}
.bc-frase{
  position:relative;z-index:3;
  font-family:var(--disp);font-weight:400;line-height:1.04;
  text-transform:uppercase;letter-spacing:-.005em;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  font-size:clamp(2.2rem,4.6vw,4.6rem);max-width:15ch;
}
.bc-micro{position:relative;z-index:3;margin-top:1.2rem;color:var(--muted-dark);font-weight:600;font-size:.95rem;max-width:46ch}
.bc-panel{
  position:relative;z-index:2;margin:0;
  border-radius:22px;overflow:hidden;
  box-shadow:0 30px 70px rgba(0,0,0,.45);
  border:1px solid rgba(170,132,69,.22);
}
.bc-panel img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:16/9}
.bc-ghost{
  position:absolute;left:2%;bottom:-.16em;z-index:1;
  font-family:var(--disp);font-weight:400;line-height:.8;white-space:nowrap;
  text-transform:uppercase;font-size:min(13vw,210px);
  -webkit-text-stroke:1.5px rgba(155,168,157,.14);color:transparent;
  pointer-events:none;user-select:none;
}

/* ---------- A5 FAQ (V3 T9/T13: patron aprobado del dueño - titulo + textito
   a la IZQUIERDA, preguntas desplegables a la DERECHA, ancho completo 1720) ---------- */
.faq{background:var(--surface)}
.faq .kicker{color:var(--ink)}
.faq-grid{
  display:grid;grid-template-columns:.8fr 1.2fr;
  gap:clamp(2rem,4.5vw,5rem);align-items:start;
}
.faq-head{position:sticky;top:120px}
.faq-lead{margin-top:1.1rem;max-width:38ch;color:var(--ink-soft);font-weight:600;font-size:clamp(.94rem,1vw,1rem)}
.faq-list{margin-top:0;border-top:1px solid var(--hairline-light)}
.fitem{border-bottom:1px solid var(--hairline-light);padding:.35rem 0}
.fitem .acc-btn{
  width:100%;justify-content:space-between;text-align:left;
  font-size:clamp(.98rem,1.15vw,1.12rem);padding:.75em 0;gap:1.2em;
}
.fitem .f-n{
  font-family:var(--disp);font-weight:400;font-size:.9em;color:transparent;
  -webkit-text-stroke:1.2px var(--accent);margin-right:.7em;
}
.fitem .f-q{flex:1}
.fitem .f-a{padding:0 0 1rem;max-width:64ch;color:var(--ink-soft);font-size:.94rem}

/* ---------- A4 STATS count-up ---------- */
/* banda compacta (0704-i5: los refuerzos numericos respiran, no abisman) */
.stats{background:var(--surface-2)}
.stats.isec{padding-bottom:clamp(2.6rem,3.6vw,3.6rem)}
.stats-row{
  position:relative;z-index:2;
  display:grid;grid-template-columns:repeat(4,1fr);
  margin-top:clamp(1.2rem,2vw,1.8rem);
}
.stat{padding:1.2rem clamp(1rem,2vw,2rem);border-left:1px solid var(--hairline-light)}
.stat:first-child{border-left:0;padding-left:0}
.stat-n{
  font-family:var(--disp);font-weight:400;line-height:.9;
  font-size:clamp(2.6rem,5.6vw,5.4rem);color:var(--ink-display);
  font-variant-numeric:tabular-nums;display:inline-block;min-width:2ch;
}
.stat sup{font-family:var(--disp);font-weight:400;font-size:clamp(1.2rem,2.4vw,2.3rem);color:var(--accent);vertical-align:.75em;margin-left:.06em}
.stat-l{margin-top:.4rem;font-weight:800;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-light)}
.stats-ghost{
  position:absolute;right:-1%;top:-6%;z-index:1;
  font-family:var(--disp);font-weight:400;line-height:.8;
  font-size:min(16vw,250px);
  -webkit-text-stroke:1.5px rgba(22,35,28,.06);color:transparent;
  pointer-events:none;user-select:none;
}

/* ---------- cierre "QUIEN TOMA TU LLAMADA" (0705-q1; penultima 0720-a6) ---------- */
.cierre{background:var(--surface)}
.cierre-grid{
  display:grid;grid-template-columns:1fr 1.15fr;
  gap:clamp(2rem,4vw,4.5rem);align-items:stretch;
}
.cierre-media{
  position:relative;border-radius:20px;overflow:hidden;min-height:340px;
  box-shadow:0 22px 54px rgba(16,24,15,.18);
}
.cierre-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cierre-copy{display:flex;flex-direction:column;justify-content:center}
.cierre-copy .kicker{color:var(--ink)}
.cierre-copy p{margin-top:1.2rem;max-width:54ch;color:var(--ink-soft);font-size:clamp(.95rem,1.02vw,1.02rem)}
.cierre-rows{margin-top:1.4rem}
.cierre-row{
  display:flex;align-items:flex-start;gap:1rem;
  padding:.9rem 0;border-top:1px solid var(--hairline-light);
}
.cierre-row:last-child{border-bottom:1px solid var(--hairline-light)}
.cierre-row b{display:block;font-weight:800;font-size:.98rem}
.cierre-row span{display:block;font-size:.86rem;color:var(--muted-light);font-weight:600;max-width:50ch}

/* ============================================================================
   SERVICIOS · S1 ZIGZAG ACORDEON (§15) + divisor de proceso (0720-a9)
   ========================================================================== */
.unit{background:var(--surface)}
.unit-grid{
  position:relative;display:grid;grid-template-columns:1fr 1.1fr;
  gap:clamp(2rem,4vw,4.5rem);align-items:stretch;
}
.unit--rev .unit-grid{grid-template-columns:1.1fr 1fr}
.unit--rev .u-media{order:2}
.unit--rev .u-copy{order:1}
.u-media{
  position:relative;border-radius:20px;overflow:hidden;min-height:380px;
  box-shadow:0 22px 54px rgba(16,24,15,.16);
}
.u-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.u-copy{position:relative;display:flex;flex-direction:column;justify-content:center;padding-block:.5rem}
.u-num{
  position:absolute;right:-2%;top:-1.4rem;z-index:1;
  font-family:var(--disp);font-weight:400;line-height:.8;
  font-size:clamp(4.5rem,8vw,7.5rem);
  -webkit-text-stroke:1.5px rgba(22,35,28,.08);color:transparent;
  pointer-events:none;user-select:none;
}
.u-copy .ico{width:2.1em;height:2.1em;margin-bottom:.7rem}
.u-h{
  font-family:var(--disp);font-weight:400;line-height:1;
  text-transform:uppercase;letter-spacing:-.005em;
  color:var(--ink-display);font-size:clamp(1.7rem,3vw,3rem);
}
.u-pitch{margin-top:.8rem;font-weight:600;color:var(--ink-soft);font-size:clamp(.95rem,1.05vw,1.05rem);max-width:48ch}
.u-acc{margin-top:1.1rem;border-top:1px solid var(--hairline-light)}
.u-acc .acc-in>div{padding:.9rem 0 .3rem}
.u-acc h4{
  font-weight:800;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent);margin-bottom:.4rem;
}
.u-acc ul{max-width:56ch}
.u-acc li{
  position:relative;padding:.22em 0 .22em 1.3em;
  font-size:.9rem;font-weight:600;color:var(--ink-soft);
}
.u-acc li::before{
  content:"";position:absolute;left:0;top:.72em;width:.55em;height:.55em;
  border:2px solid var(--emerald);border-left:0;border-bottom:0;
  transform:rotate(45deg);
}
.u-cta{
  position:relative;display:inline-flex;align-items:center;gap:.5em;
  margin-top:1.2rem;font-weight:800;font-size:.95rem;color:var(--ink);
  align-self:flex-start;
}
.u-cta .u-line{position:absolute;left:0;bottom:-3px;height:1px;width:100%;background:var(--accent)}

/* unidad invertida en ink (>=1 banda oscura §15; bookkeeping) */
.unit--dark{background:var(--ink);color:var(--surface)}
.unit--dark .u-h{color:#FFFFFF}
.unit--dark .u-pitch{color:var(--muted-dark)}
.unit--dark .u-acc{border-top-color:rgba(170,132,69,.3)}
.unit--dark .u-acc li{color:var(--muted-dark)}
.unit--dark .u-num{-webkit-text-stroke-color:rgba(255,255,255,.1)}
.unit--dark .u-cta{color:var(--gold-2)}
.unit--dark .acc-btn{color:#FFFFFF}
.unit--dark .kicker{color:#FFFFFF}

/* divisor de proceso al PUNTO MEDIO (tras la unidad 3; flechas que se dibujan) */
.pdiv{background:var(--surface-2);position:relative}
.pdiv .kicker{color:var(--ink)}
.pdiv-h2{
  font-family:var(--disp);font-weight:400;line-height:1;
  text-transform:uppercase;color:var(--ink-display);
  font-size:clamp(1.7rem,3vw,3rem);margin-top:.6rem;
}
.psteps{
  position:relative;display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(1.2rem,2.6vw,3rem);margin-top:clamp(1.8rem,3vw,2.6rem);
}
.pstep{position:relative;text-align:left}
.pstep .p-n{
  font-family:var(--disp);font-weight:400;line-height:.85;
  font-size:clamp(2rem,3.4vw,3.2rem);
  -webkit-text-stroke:1.5px var(--accent);color:transparent;display:block;
}
.pstep h3{font-weight:800;font-size:clamp(.92rem,1.05vw,1.05rem);margin-top:.5rem}
.pstep p{font-size:clamp(.78rem,.88vw,.88rem);color:var(--muted-light);font-weight:600;max-width:24ch;margin-top:.25rem}
/* F5 v3: la flecha vive DENTRO del pasillo del gap (antes cruzaba 10-11px
   sobre el numeral del paso siguiente - colision cazada por el kit) */
.p-arrow{
  position:absolute;top:12%;left:calc(100% - .2rem);width:clamp(1.9rem,2.3vw,2.6rem);
  overflow:visible;pointer-events:none;
}
.p-arrow path{fill:none;stroke:var(--emerald);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

/* franja Learning Center (penultima de servicios)
   V3 T12: muere el verde chillón - esmeralda PROFUNDA de la casa + oro */
.lc-strip{
  background:linear-gradient(135deg,#1E4034 0%,#17332A 55%,#122A21 100%);
  color:#F1FBF5;position:relative;overflow:clip;
}
.lc-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(2rem,4vw,4rem);align-items:center;position:relative;z-index:2}
.lc-copy .kicker{color:#F1FBF5}
.lc-copy .kicker .up path{stroke:var(--gold-3)}
.lc-h2{
  font-family:var(--disp);font-weight:400;line-height:1;
  text-transform:uppercase;font-size:clamp(1.9rem,3.4vw,3.4rem);margin-top:.6rem;
}
.lc-h2 .kw{color:transparent}
.lc-copy p{margin-top:1rem;font-weight:600;font-size:.98rem;color:rgba(241,251,245,.88);max-width:50ch}
.lc-media{position:relative;border-radius:20px;overflow:hidden;box-shadow:0 22px 54px rgba(10,30,20,.35)}
.lc-media img{width:100%;height:auto;display:block}
.lc-tag{
  position:absolute;left:.8rem;bottom:.8rem;
  background:rgba(18,27,22,.78);color:#FFFFFF;border-radius:999px;
  padding:.35em .8em;font-weight:700;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;
}

/* ============================================================================
   APRENDE · aulas de tarjetas-leccion (§16 adaptado 0730-a) + programa
   ========================================================================== */
.aula{background:var(--surface)}
.aula .kicker{color:var(--ink)}
.aula-intro{margin-top:1rem;max-width:56ch;color:var(--ink-soft);font-weight:600;font-size:.98rem}
.lessons{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:clamp(1.2rem,2vw,2rem);margin-top:clamp(1.8rem,3vw,2.6rem);
}
.lesson{
  position:relative;background:var(--surface);
  border:1px solid var(--line-cold);border-radius:20px;
  padding:clamp(1.4rem,2.2vw,2.2rem);overflow:hidden;
  box-shadow:0 14px 34px rgba(16,24,15,.08);
}
.lessons--desfase .lesson:nth-child(even){transform:translateY(clamp(1.2rem,2.4vw,2.4rem))}
.lesson .l-num{
  position:absolute;right:-3%;top:-10%;z-index:1;line-height:.8;
  font-family:var(--disp);font-weight:400;
  font-size:clamp(5.5rem,9vw,9rem);
  -webkit-text-stroke:1.5px rgba(170,132,69,.22);color:transparent;
  pointer-events:none;user-select:none;
}
.lesson h3{
  position:relative;z-index:2;
  font-family:var(--disp);font-weight:400;line-height:1.05;
  text-transform:uppercase;letter-spacing:0;
  color:var(--ink-display);font-size:clamp(1.25rem,1.8vw,1.8rem);
  max-width:16ch;
}
.lesson .l-a{position:relative;z-index:2;margin-top:.8rem;color:var(--ink-soft);font-size:.94rem;max-width:52ch}
.lesson .acc{position:relative;z-index:2}
.lesson .acc-in>div{padding:.7rem 0 .2rem}
.lesson .acc-in p{font-size:.9rem;color:var(--muted-light);font-weight:600;max-width:52ch}
.lesson .acc-btn{position:relative;z-index:2;margin-top:.7rem;font-size:.82rem}
.lesson .l-cta{
  position:relative;z-index:2;display:inline-flex;align-items:center;gap:.45em;
  margin-top:.9rem;font-weight:800;font-size:.86rem;color:var(--ink);
}
.lesson .l-cta .u-line{position:absolute;left:0;bottom:-3px;height:1px;width:100%;background:var(--accent)}

/* aula 2: muro denso (patron DISTINTO al aula 1) */
.aula2{background:var(--surface-2)}
.lessons--muro{grid-template-columns:repeat(2,1fr);gap:clamp(.9rem,1.4vw,1.4rem)}
.lessons--muro .lesson{border-radius:16px;box-shadow:none}
.lessons--muro .lesson:nth-child(even){transform:none}

/* divisor de programa (panel ink; formacion tax-preparer) */
.programa{background:var(--ink);color:var(--surface);position:relative;overflow:clip}
.prog-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,4vw,4rem);align-items:center;position:relative;z-index:2}
.prog-copy .kicker{color:#FFFFFF}
.prog-h2{
  font-family:var(--disp);font-weight:400;line-height:1;
  text-transform:uppercase;font-size:clamp(1.9rem,3.4vw,3.4rem);margin-top:.6rem;
}
.prog-copy>p{margin-top:1rem;color:var(--muted-dark);font-weight:600;font-size:.96rem;max-width:48ch}
.prog-steps{margin-top:1.4rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.6rem}
.prog-step{display:flex;align-items:flex-start;gap:.8rem}
.prog-step .p-n{
  font-family:var(--disp);font-weight:400;line-height:.9;font-size:1.7rem;
  -webkit-text-stroke:1.2px var(--accent);color:transparent;flex:none;
}
.prog-step b{display:block;font-weight:800;font-size:.9rem}
.prog-step span{display:block;font-size:.78rem;color:var(--muted-dark);font-weight:600;max-width:24ch}
.prog-media{position:relative;border-radius:20px;overflow:hidden;box-shadow:0 26px 60px rgba(0,0,0,.4)}
.prog-media img{width:100%;height:auto;display:block}
.prog-ghost{
  position:absolute;left:-1%;bottom:-.16em;z-index:1;
  font-family:var(--disp);font-weight:400;line-height:.8;white-space:nowrap;
  text-transform:uppercase;font-size:min(12vw,180px);
  -webkit-text-stroke:1.5px rgba(155,168,157,.12);color:transparent;
  pointer-events:none;user-select:none;
}

/* ============================================================================
   CONTACTO · K1 tarjetas (V3 T14: las 3 EN FILA como la barra del home -
   grid 3 columnas desktop a lo ancho de 1720; stack SOLO movil) + K2 (§17)
   ========================================================================== */
.kcards{background:var(--surface)}
.kcards-col{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,1.6vw,1.6rem)}
.kcard{
  display:flex;flex-direction:column;align-items:flex-start;
  gap:clamp(.9rem,1.4vw,1.2rem);
  background:#FFFFFF;border:1px solid var(--line-cold);
  border-radius:22px;padding:clamp(1.4rem,2.4vw,2.4rem) clamp(1.4rem,2.6vw,2.6rem);
  box-shadow:0 18px 44px rgba(16,24,15,.1);
}
.kcard .ico{width:2.6em;height:2.6em;flex:none}
.kcard-body{flex:1}
.kcard .k-eyebrow{
  font-weight:800;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted-light);
}
.kcard .k-data{
  display:inline-block;margin-top:.25rem;
  font-family:var(--disp);font-weight:400;letter-spacing:.02em;
  font-size:clamp(1.5rem,2.4vw,2.2rem);color:var(--ink-display);
}
/* el horario jamas parte "8 / PM": el bloque de horas es indivisible */
.kcard .k-data .tnum{white-space:nowrap}
.kcard .k-micro{margin-top:.3rem;font-weight:600;font-size:.86rem;color:var(--muted-light);max-width:56ch}
.kcard-chips{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.7rem}
.kcard-chips .chip{box-shadow:none;background:var(--surface-2);border-color:var(--line-cold);font-size:.78rem}
.kcard--tel{
  background:linear-gradient(120deg,#FFF 55%,#FBF6EC 100%);
  border-color:rgba(170,132,69,.45);
  box-shadow:0 22px 54px rgba(143,108,51,.18);
}
.kcard--tel .k-data{font-size:clamp(1.9rem,3vw,2.8rem)}
.k-horario{margin-top:.4rem;font-weight:600;font-size:.9rem;color:var(--ink-soft)}
.k-horario .tnum{font-weight:800}

/* K2: banda ink + mapa fachada-lazy A COLOR + card del form elevado */
.kzone{background:var(--ink);color:var(--surface);position:relative;overflow:clip}
.kzone-grid{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1fr 1.1fr;
  gap:clamp(2rem,3.5vw,3.5rem);align-items:stretch;
}
.kmap{position:relative;display:flex;flex-direction:column}
.kmap-head .kicker{color:#FFFFFF}
.kmap-head p{margin-top:.8rem;color:var(--muted-dark);font-weight:600;font-size:.94rem;max-width:44ch}
.kmap-stage{
  position:relative;flex:1;min-height:380px;margin-top:1.2rem;
  border-radius:20px;overflow:hidden;background:var(--ink-soft);
  box-shadow:0 26px 60px rgba(0,0,0,.4);
}
.kmap-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.kmap-cover{
  position:absolute;inset:0;z-index:2;width:100%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;
  background:
    radial-gradient(80% 60% at 50% 42%,rgba(33,134,92,.28),transparent 70%),
    linear-gradient(180deg,#1A2A21,#141F19);
  color:#FFFFFF;cursor:pointer;
}
.kmap-cover.is-off{display:none}
.kmap-pin{width:74px;height:auto;filter:none}
.kmap-onda{
  position:absolute;width:120px;height:120px;left:50%;top:42%;
  transform:translate(-50%,-38%);pointer-events:none;
}
.kmap-onda circle{fill:none;stroke:var(--gold-2);stroke-width:2;opacity:0}
.kmap-cover b{font-weight:800;font-size:.95rem;letter-spacing:.04em}
.kmap-cover span{font-weight:600;font-size:.78rem;color:var(--muted-dark);max-width:34ch;text-align:center}
.kform-card{
  position:relative;background:#FFFFFF;color:var(--ink);
  border-radius:22px;padding:clamp(1.6rem,2.6vw,2.6rem);
  box-shadow:0 30px 70px rgba(0,0,0,.45);
}
.kform-card .kicker{color:var(--ink)}
.kform-h{font-family:var(--disp);font-weight:400;text-transform:uppercase;color:var(--ink-display);font-size:clamp(1.5rem,2.2vw,2.1rem);margin-top:.5rem}
.kform-sub{margin-top:.5rem;font-weight:600;font-size:.88rem;color:var(--muted-light);max-width:52ch}
.kform{margin-top:1.3rem;display:grid;grid-template-columns:1fr 1fr;gap:1.05rem}
.f-field{position:relative}
.f-field--full{grid-column:1/-1}
.f-field input,.f-field select,.f-field textarea{
  width:100%;font:inherit;font-weight:600;font-size:.94rem;color:var(--ink);
  background:var(--surface-2);border:1px solid var(--line-cold);border-radius:12px;
  padding:1.35rem .95rem .55rem;outline:none;
  transition:border-color .25s,background-color .25s;
}
.f-field textarea{min-height:120px;resize:vertical}
.f-field select{appearance:none;cursor:pointer}
.f-field .f-chev{
  position:absolute;right:.95rem;top:1.15rem;width:.7rem;height:.7rem;
  border:2px solid var(--accent);border-top:0;border-left:0;transform:rotate(45deg);
  pointer-events:none;
}
.f-field label{
  position:absolute;left:.98rem;top:.95rem;pointer-events:none;
  font-weight:700;font-size:.9rem;color:var(--muted-light);
  transition:transform .22s var(--ease-house),font-size .22s,color .22s;
  transform-origin:left top;
}
.f-field input:focus,.f-field select:focus,.f-field textarea:focus{border-color:var(--accent);background:#FFFFFF}
.f-field input:focus~label,.f-field input:not(:placeholder-shown)~label,
.f-field textarea:focus~label,.f-field textarea:not(:placeholder-shown)~label,
.f-field select~label{
  transform:translateY(-.62rem);font-size:.66rem;color:var(--accent);
  letter-spacing:.08em;text-transform:uppercase;
}
/* el select muestra su prompt debajo del label SIEMPRE flotado (cero solape) */
.f-field select{color:var(--muted-light)}
.f-field select.has-value{color:var(--ink)}
.f-field input::placeholder,.f-field textarea::placeholder{color:transparent}
.kform .btn{grid-column:1/-1;justify-content:center}
.kform .btn:disabled{opacity:.6;cursor:wait}
/* honeypot: contenedor display:none (ley n1); el JS lo VACIA, jamas bloquea */
.hp-wrap{display:none}
/* notificacion inline bajo el form (0720-d b) */
.form-note{
  grid-column:1/-1;display:none;align-items:flex-start;gap:.6em;
  border-radius:12px;padding:.85em 1rem;
  font-weight:700;font-size:.9rem;
}
.form-note.is-on{display:flex}
.form-note--ok{background:rgba(33,134,92,.12);color:#1C6B4A;border:1px solid rgba(33,134,92,.4)}
.form-note--err{background:rgba(170,60,45,.1);color:#8F3A2C;border:1px solid rgba(170,60,45,.35)}
/* tarjeta GRANDE ?enviado=1 (ley n3: form.prepend, fondo SOLIDO) */
.sent-card{
  grid-column:1/-1;display:flex;align-items:center;gap:1rem;
  background:#EAF6EF;border:1px solid rgba(33,134,92,.45);
  border-radius:14px;padding:1.1rem 1.2rem;
}
.sent-card .s-disc{
  flex:none;width:44px;height:44px;border-radius:50%;
  background:var(--emerald);color:#FFFFFF;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:1.3rem;
}
.sent-card b{display:block;font-weight:800;font-size:1rem;color:#173B2A}
.sent-card span{display:block;font-weight:600;font-size:.84rem;color:#2C5C44}

/* ============================================================================
   LIGHTBOX 0808-b (siempre suelta: X, click-fuera, Escape)
   ========================================================================== */
.lb{
  position:fixed;inset:0;z-index:150;display:none;
  align-items:center;justify-content:center;padding:4vh 4vw;
  background:rgba(12,18,14,.9);
}
.lb.is-open{display:flex}
.lb img{max-width:min(1100px,92vw);max-height:88vh;width:auto;height:auto;border-radius:12px;object-fit:contain}
.lb-close{
  position:absolute;top:max(2vh,1rem);right:max(3vw,1rem);
  width:48px;height:48px;border-radius:50%;
  background:rgba(255,255,255,.14);color:#FFFFFF;
  display:flex;align-items:center;justify-content:center;font-size:1.4rem;line-height:1;
}
.lb-close:hover{background:rgba(255,255,255,.26)}
.lb-cap{
  position:absolute;left:50%;bottom:max(2vh,1rem);transform:translateX(-50%);
  color:rgba(255,255,255,.85);font-weight:600;font-size:.82rem;text-align:center;max-width:80vw;
}
html.lb-lock,body.lb-lock{overflow:hidden}

/* ============================================================================
   MOBILE (ley l: todo dentro de MQ; desktop intacto)
   ========================================================================== */
@media (max-width:900px){
  .banner{min-height:clamp(300px,38vh,420px)}
  .hist-grid{grid-template-columns:1fr}
  .hist-sticky{position:relative;top:0;max-width:420px}
  .vrow{grid-template-columns:auto 1fr;gap:.8rem}
  .vrow .v-copy{grid-column:1/-1;text-align:left;max-width:none}
  .bc-grid{grid-template-columns:1fr}
  .bc-frase{max-width:none}
  .faq-grid{grid-template-columns:1fr;gap:1.6rem}
  .faq-head{position:relative;top:0}
  .stats-row{grid-template-columns:1fr 1fr}
  .stat{border-left:0;padding-left:0;border-top:1px solid var(--hairline-light)}
  .cierre-grid{grid-template-columns:1fr}
  .cierre-media{min-height:260px}
  .unit-grid,.unit--rev .unit-grid{grid-template-columns:1fr}
  .unit--rev .u-media{order:0}
  .unit--rev .u-copy{order:1}
  .u-media{min-height:0;aspect-ratio:4/3}
  .psteps{grid-template-columns:1fr 1fr;gap:1.4rem 1.2rem}
  .p-arrow{display:none}
  .lc-grid{grid-template-columns:1fr}
  .lessons{grid-template-columns:1fr}
  .lessons--desfase .lesson:nth-child(even){transform:none}
  .prog-grid{grid-template-columns:1fr}
  .prog-steps{grid-template-columns:1fr}
  .kzone-grid{grid-template-columns:1fr}
  .kmap-stage{min-height:320px}
  .kcards-col{grid-template-columns:1fr}
  .kcard{gap:.9rem}
  .kcard .k-data{font-size:clamp(1.15rem,5.6vw,1.7rem);word-break:break-word}
  .kcard--tel .k-data{font-size:clamp(1.5rem,7vw,2.1rem)}
  .kform{grid-template-columns:1fr}
  .hist-insets{grid-template-columns:1fr}
}
@media (max-width:760px){
  .sec-first{padding-top:clamp(4rem,14vw,5.5rem)}
  .banner-h1{font-size:clamp(2.1rem,9.4vw,2.6rem)}
  .banner-ghost{font-size:min(20vw,120px)}
  /* el chip deco vive en su propia franja bajo el sub (cero colision) */
  .banner-content{padding-bottom:4.8rem}
  .banner-deco{left:var(--pad-x);right:auto;bottom:1.1rem;font-size:.66rem;max-width:92vw}
}

/* ============================================================================
   reduced-motion: la pagina COMPONE en reposo
   ========================================================================== */
@media (prefers-reduced-motion:reduce){
  .acc,.acc-btn .chev,.acc-btn .chev::after,.vrow .v-glyph,.f-field label{transition:none!important}
  .p-arrow path{stroke-dashoffset:0!important}
}
