/* ------------------------------------------------------------------
   Generador de escritos. Clases con prefijo .ge- para no tocar el resto.
   ------------------------------------------------------------------ */

.gehero{padding:54px 0 42px;background:var(--white);border-bottom:1px solid var(--line)}
.gehero .wrap{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center}
.gehero h1{font-size:clamp(34px,4.2vw,56px);max-width:15ch}
.gehero .lead{margin-top:16px;font-size:19px;max-width:48ch}
.gehero .gnota{margin-top:20px;border-left:3px solid var(--brass);padding-left:14px;font-size:15px;color:var(--muted);max-width:48ch}

/* hoja que se escribe sola en el heroe */
.ge-demo{background:var(--white);border:1px solid var(--line);border-radius:3px;padding:30px 34px;min-height:252px;
  font-family:var(--serif);font-size:14.5px;line-height:1.74;color:var(--ink);
  box-shadow:0 20px 44px -30px rgba(12,28,56,.6);position:relative;overflow:hidden}
.ge-demo .dest{font-weight:600;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;line-height:1.4}
.ge-demo .pres{letter-spacing:.3em;font-weight:600;font-size:11.5px;margin:6px 0 16px}
.ge-demo .cuerpo{text-align:justify}
.ge-demo .cur{display:inline-block;width:7px;height:15px;background:var(--ink);vertical-align:-2px;animation:ge-parpadeo 1.1s steps(1) infinite}
@keyframes ge-parpadeo{50%{opacity:0}}
@media (prefers-reduced-motion: reduce){.ge-demo .cur{animation:none}}

/* retomar borrador */
.ge-retomar{display:none;align-items:center;gap:14px;flex-wrap:wrap;background:var(--green-soft);border:1px solid #BFDDCB;
  border-radius:6px;padding:14px 18px;margin-bottom:26px;font-size:15.5px}
.ge-retomar.si{display:flex}
.ge-retomar b{font-weight:700}

/* eleccion */
.ge-elige{margin:0 0 20px;font-size:17px;color:var(--muted)}
.ge-tarjetas{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.ge-tarjeta{text-align:left;background:var(--white);border:1px solid var(--line);border-left:4px solid var(--green);
  border-radius:6px;padding:24px 26px;cursor:pointer;display:flex;gap:18px;align-items:flex-start;
  font-family:var(--sans);color:var(--ink);transition:border-color .15s,transform .15s,box-shadow .15s}
.ge-tarjeta:hover,.ge-tarjeta:focus-visible{border-color:var(--green);transform:translateY(-2px);box-shadow:0 14px 28px -22px rgba(12,28,56,.55)}
.ge-tarjeta .ic{flex:none;width:34px;height:34px;color:var(--green)}
.ge-tarjeta .ic svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ge-tarjeta b{display:block;font-family:var(--serif);font-size:21px;line-height:1.15;margin-bottom:7px}
.ge-tarjeta .que{display:block;font-size:15px;color:var(--muted);line-height:1.5}
.ge-tarjeta .form{display:block;margin-top:12px;font-size:13.5px;color:var(--green);font-weight:700}

/* taller */
.ge-taller{display:none;grid-template-columns:minmax(0,430px) minmax(0,1fr);gap:40px;align-items:start}
.ge.trabajando .ge-inicio{display:none}
.ge.trabajando .ge-taller{display:grid}
.ge-volver{background:none;border:0;padding:0;cursor:pointer;color:var(--muted);font-family:var(--sans);font-size:15px;margin-bottom:16px}
.ge-volver:hover{color:var(--green)}
.ge-panel h2{font-size:30px;line-height:1.1}
.ge-panel .sub{margin-top:9px;font-size:15.5px;color:var(--muted)}
.ge-grupo{border:0;padding:0;margin:26px 0 0;border-top:1px solid var(--line);padding-top:20px}
.ge-grupo .glab{display:block;font-size:13px;font-weight:700;color:var(--brass);margin-bottom:14px}
.ge-campo{margin-bottom:16px}
.ge-campo label{display:block;font-size:15px;font-weight:600;margin-bottom:6px}
.ge-campo .pista{display:block;font-weight:400;font-size:13.5px;color:var(--muted);margin-top:3px;line-height:1.45}
.ge-campo input,.ge-campo textarea,.ge-campo select{width:100%;background:var(--white);color:var(--ink);border:1px solid var(--line);
  border-radius:5px;padding:11px 13px;font-family:var(--sans);font-size:16px;line-height:1.45}
.ge-campo textarea{min-height:110px;resize:vertical}
.ge-campo.req > label::after{content:" \00b7";color:var(--red)}
.ge-casilla{display:flex;gap:11px;align-items:flex-start;font-size:15px;margin-bottom:14px}
.ge-casilla input{width:19px;height:19px;margin-top:3px;flex:none;accent-color:var(--green)}

.ge-acciones{position:sticky;bottom:0;background:var(--paper);border-top:1px solid var(--line);
  margin-top:24px;padding:16px 0 calc(16px + env(safe-area-inset-bottom,0px));display:flex;gap:10px;flex-wrap:wrap}
.ge-acciones .btn{height:50px}
.ge-aviso{width:100%;font-size:14px;color:var(--red);margin-top:2px}

.ge-obra{position:sticky;top:172px}
.ge-cinta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.ge-cinta .estado{font-size:14px;color:var(--muted);margin-right:auto}
.ge-mini{background:none;border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:14px;
  cursor:pointer;font-family:var(--sans);color:var(--ink)}
.ge-mini:hover{border-color:var(--green)}
.ge-mini[aria-pressed="true"]{background:var(--green);color:#fff;border-color:var(--green)}

.ge-hoja{background:var(--white);color:#1C1A15;border:1px solid var(--line);border-radius:2px;
  padding:54px 58px 62px;font-family:var(--serif);font-size:15.5px;line-height:1.74;
  box-shadow:0 26px 54px -36px rgba(12,28,56,.65);max-width:740px}
.ge-hoja p{margin:0 0 14px;text-align:justify;hyphens:auto}
.ge-hoja p.sangria{text-indent:1.6em}
.ge-hoja .pt{font-family:var(--serif);font-weight:600;font-size:14px;letter-spacing:.22em;margin:28px 0 12px;line-height:1.3}
.ge-hoja .dirigido{margin-bottom:4px;font-weight:600;line-height:1.35;text-align:left;text-indent:0}
.ge-hoja .presente{letter-spacing:.3em;font-weight:600;margin:4px 0 26px;font-size:13.5px;text-align:left}
.ge-hoja .lugarfecha{margin-top:36px;text-align:right;text-indent:0}
.ge-hoja .firma{margin-top:44px;text-align:center}
.ge-hoja .firma .raya{display:inline-block;border-top:1px solid #1C1A15;width:270px;max-width:72%;padding-top:8px;font-size:14.5px}
.ge-falta{background:#F6E4A8;color:#6B4E06;border-radius:2px;padding:0 5px;font-style:italic;font-size:.93em}

.ge-guia{margin-top:22px;background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:22px 26px;max-width:740px}
.ge-guia h3{font-size:19px;margin-bottom:12px}
.ge-guia ol{margin:0;padding-left:20px;font-size:15px;color:var(--muted);line-height:1.6}
.ge-guia li{margin-bottom:8px}
.ge-guia .legal{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:13.5px;color:var(--muted)}

.ge-pie{margin-top:46px;border-top:1px solid var(--line);padding-top:22px;font-size:14px;color:var(--muted);max-width:72ch}

.ge-verhoja{display:none}
@media (max-width:980px){
  .gehero{padding:34px 0 30px}
  .gehero .wrap{grid-template-columns:1fr;gap:28px}
  .ge-tarjetas{grid-template-columns:1fr}
  .ge-taller{grid-template-columns:1fr;gap:24px}
  .ge-obra{position:static}
  .ge-hoja{padding:30px 24px 42px;font-size:15px}
  .ge.trabajando .ge-obra{display:none}
  .ge.trabajando.viendo .ge-obra{display:block}
  .ge.trabajando.viendo .ge-panel{display:none}
  .ge-verhoja{display:inline-flex}
}

@media print{
  header,nav,footer,.ifoot,.site-head,.topstack,.subnav,.gehero,.ge-inicio,.ge-panel,.ge-guia,.ge-cinta,.ge-acciones,.ge-pie,.ge-noimp{display:none!important}
  body{background:#fff}
  .sec{padding:0!important}
  .wrap{padding:0!important;max-width:none!important}
  .ge-taller{display:block!important}
  .ge-obra{position:static}
  .ge-hoja{box-shadow:none;border:0;border-radius:0;padding:0;max-width:none;font-size:12pt}
  .ge-falta{background:none;color:#000;font-style:normal}
  @page{margin:2.2cm}
}
