/* BITÁCORA · La madrina y los narcogenerales: el libro de novedades de la Guardia Presidencial.
   Tapa de tela verde botella, páginas de papel amarillento con renglones, tinta negra y sello rojo. Teko para las horas, Vollkorn para el texto. */
.fmt--bitacora { --verde: #0F2A22; --verde-2: #163B30; --verde-3: #0A1E18; --papel: #EFE6C6; --papel-2: #F5EDD1; --tinta: #17150F; --sello: #B3161C; --sello-2: #DC2F32; --dorado: #E4C46A; --regla: rgba(23,21,15,.22);
  --bg: var(--papel); --bg-2: #E4D8AE; --fg: var(--tinta); --mute: #6B6448; --acc: var(--sello); --acc-2: var(--verde); --line-x: rgba(23,21,15,.18);
  --f-display: 'Teko', 'Arial Narrow', sans-serif; --f-body: 'Vollkorn', 'Iowan Old Style', Georgia, serif; --f-mono: 'Teko', 'Arial Narrow', sans-serif; --f-label: 'Teko', 'Arial Narrow', sans-serif; --grano: .15; --radius: 0; }
.fmt--bitacora .kicker, .fmt--bitacora .hkicker, .fmt--bitacora .cap__num, .fmt--bitacora .hby, .fmt--bitacora .hstats span, .fmt--bitacora .fcita cite, .fmt--bitacora .fresp b, .fmt--bitacora .fper .badge, .fmt--bitacora .fcred dt, .fmt--bitacora .vid__rol, .fmt--bitacora .estado .kicker, .fmt--bitacora .ftl__f, .fmt--bitacora .hito b, .fmt--bitacora .cierre__fecha, .fmt--bitacora .claves li::before, .fmt--bitacora .preguntas li::before, .fmt--bitacora .fnav a { font-family: var(--f-label); font-size: 14.5px; letter-spacing: .14em; font-weight: 500; line-height: 1.1; }
.fmt--bitacora .hkicker { font-size: 15px; }
.fmt--bitacora .htitle, .fmt--bitacora .cap__title, .fmt--bitacora .fmod__head h2, .fmt--bitacora .estado b, .fmt--bitacora .fper h3, .fmt--bitacora .hito h3, .fmt--bitacora .cierre__lineas b, .fmt--bitacora .fcifras b, .fmt--bitacora .fdato b, .fmt--bitacora .hstats b, .fmt--bitacora .ftl b, .fmt--bitacora .vid__meta h3 { font-family: var(--f-display); font-weight: 600; text-transform: uppercase; letter-spacing: .005em; line-height: .92; }
.fmt--bitacora .htitle em, .fmt--bitacora .cap__title em, .fmt--bitacora .fmod__head h2 em { font-style: normal; color: var(--acc); }
.fmt--bitacora .topbar { background: rgba(15,42,34,.94); color: var(--papel); border-color: rgba(239,230,198,.16); }
.fmt--bitacora .topbar a { color: var(--papel); }
.fmt--bitacora .footer { background: var(--verde-3); }

/* Portada: la tapa de tela verde y la página del libro de novedades */
.hero--bitacora { --bg: var(--verde); padding: 120px 0 44px; color: var(--papel); background: var(--verde); background-image: repeating-linear-gradient(0deg, rgba(255,255,255,.028) 0 1px, transparent 1px 3px), repeating-linear-gradient(90deg, rgba(0,0,0,.09) 0 1px, transparent 1px 3px), radial-gradient(ellipse 70% 60% at 30% 20%, rgba(255,255,255,.06), transparent 70%); }
.hero--bitacora .hero__grid { align-items: start; }
@media (min-width: 1000px) { .hero--bitacora .hero__grid { grid-template-columns: 1.05fr .95fr; } }
.hero--bitacora .hkicker { color: var(--dorado); }
.hero--bitacora .hkicker::before { background: var(--dorado); }
.hero--bitacora .htitle { font-size: clamp(66px, 10.4vw, 164px); line-height: .84; letter-spacing: -.005em; color: var(--papel); max-width: 11ch; }
.hero--bitacora .htitle em { color: var(--sello-2); }
.hero--bitacora .hdeck { color: #DAD3B4; font-size: clamp(16.5px, 1.3vw, 19.5px); max-width: 58ch; }
.hero--bitacora .hby { color: #B9B295; border-top-color: rgba(239,230,198,.2); }
.hero--bitacora .hby b { color: var(--papel); }
.hero--bitacora .hstats { --line-x: rgba(239,230,198,.22); margin-top: 34px; padding-top: 22px; border-top: 1px solid var(--line-x); }
.hero--bitacora .hstats b { color: var(--dorado); font-size: clamp(34px, 3.4vw, 52px); padding-top: .06em; background: linear-gradient(transparent 62%, rgba(220,47,50,.28) 62%, rgba(220,47,50,.28) 92%, transparent 92%); }
.hero--bitacora .hstats span { color: #C9C2A4; font-size: 13.5px; }
.fmt--bitacora .hero__art img { opacity: .34; mix-blend-mode: screen; filter: grayscale(.55) contrast(1.15); }

/* El libro de guardia (portada y módulo) */
.lg { position: relative; color: var(--tinta); background: var(--papel-2); background-image: linear-gradient(90deg, transparent 0, transparent 54px, rgba(179,22,28,.45) 54px, rgba(179,22,28,.45) 55px, transparent 55px), linear-gradient(180deg, rgba(120,90,20,.06), transparent 40%, rgba(120,90,20,.08)); border-left: 14px solid var(--verde-2); box-shadow: inset 8px 0 14px -10px rgba(0,0,0,.55), 0 2px 3px rgba(0,0,0,.25), 0 40px 70px -30px rgba(0,0,0,.7); padding: 22px 26px 34px 26px; }
.lg::before { content: ""; position: absolute; left: -11px; top: 26px; bottom: 26px; width: 8px; background-image: radial-gradient(circle, rgba(239,230,198,.55) 1.6px, transparent 2px); background-size: 8px 22px; background-repeat: repeat-y; opacity: .8; }
.lg--hero { width: min(100%, 560px); justify-self: end; transform: rotate(-1.1deg); animation: lgIn 1.2s var(--ease-out) .25s both; }
@keyframes lgIn { from { opacity: 0; transform: translateY(36px) rotate(1.5deg); } }
.lg__head { display: grid; justify-items: center; text-align: center; gap: 2px; padding-bottom: 10px; border-bottom: 2px solid var(--tinta); }
.lg__head span { font-family: var(--f-label); font-size: 13.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--mute); line-height: 1.1; }
.lg__head b { font-family: var(--f-display); font-weight: 600; font-size: 34px; line-height: .95; text-transform: uppercase; letter-spacing: .04em; }
.lg__fecha { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; padding: 10px 0 4px; font-family: var(--f-label); text-transform: uppercase; line-height: 1; }
.lg__fecha span { font-size: 12.5px; letter-spacing: .18em; color: var(--mute); }
.lg__fecha b { font-size: 20px; font-weight: 500; letter-spacing: .04em; margin-right: 14px; }
.lg__cols, .lg__row { display: grid; grid-template-columns: 30px 64px 1fr 1.35fr 92px; gap: 0 12px; align-items: center; }
.lg__cols { padding: 8px 0 3px; border-bottom: 1px solid var(--tinta); font-family: var(--f-label); font-size: 13px; letter-spacing: .18em; text-transform: uppercase; color: var(--mute); line-height: 1; }
.lg__row { min-height: 40px; border-bottom: 1px solid var(--regla); font-family: var(--f-body); font-size: 13.5px; line-height: 1.32; }
.lg__row > * { min-width: 0; }
.lg__n { font-family: var(--f-label); font-size: 13px; color: var(--mute); letter-spacing: .06em; line-height: 1; }
.lg__hora { font-family: var(--f-display); font-weight: 600; font-size: 27px; line-height: .9; font-variant-numeric: tabular-nums; padding-top: .1em; }
.lg__hora small { display: block; font-size: 11.5px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--mute); margin-bottom: 1px; }
.lg__quien { font-weight: 600; }
.lg__motivo { color: #2B281E; }
.lg__reg { font-style: normal; font-family: var(--f-label); font-size: 12.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--mute); line-height: 1; justify-self: start; }
.lg__row--vacia { min-height: 38px; }
.lg__row--falta, .lg__row--falta .lg__hora, .lg__row--falta .lg__motivo, .lg__row--falta .lg__n { color: var(--sello); }
.lg__row--falta .lg__quien { font-style: italic; font-weight: 600; background: linear-gradient(transparent 72%, rgba(179,22,28,.16) 72%, rgba(179,22,28,.16) 94%, transparent 94%); }
.lg__row--falta .lg__reg { color: var(--sello); border: 2px solid var(--sello); padding: 5px 7px 3px; transform: rotate(-4deg); font-weight: 600; }
.lg__row--falta[data-anim] { opacity: 0; transform: translateX(-10px); transition: opacity .7s var(--ease-out) 1.1s, transform .7s var(--ease-out) 1.1s; }
.lg__row--falta[data-anim].in { opacity: 1; transform: none; }
.lg--hero .lg__row { min-height: 42px; }
.lg--hero .lg__row--falta { min-height: 58px; }
.sello-gp { position: absolute; right: 22px; bottom: 14px; width: 122px; height: 122px; border-radius: 50%; border: 3px double var(--sello); outline: 1px solid var(--sello); outline-offset: -9px; color: var(--sello); display: grid; place-content: center; text-align: center; padding: 10px; font-family: var(--f-label); text-transform: uppercase; line-height: 1; transform: rotate(-12deg); opacity: .82; mix-blend-mode: multiply; pointer-events: none;
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='g'><feTurbulence baseFrequency='.6' numOctaves='2'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 -1.1'/></filter><rect width='100%' height='100%' fill='white'/><rect width='100%' height='100%' filter='url(%23g)' opacity='.5'/></svg>"); mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='g'><feTurbulence baseFrequency='.6' numOctaves='2'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 -1.1'/></filter><rect width='100%' height='100%' fill='white'/><rect width='100%' height='100%' filter='url(%23g)' opacity='.5'/></svg>"); }
.sello-gp span { font-size: 11px; letter-spacing: .2em; }
.sello-gp b { font-size: 19px; font-weight: 600; letter-spacing: .06em; margin-top: 3px; }
.lg--hero .sello-gp { opacity: 0; animation: gpStamp .45s var(--ease-out) 2s forwards; }
@keyframes gpStamp { from { opacity: 0; transform: rotate(-12deg) scale(2); } 70% { opacity: .82; transform: rotate(-12deg) scale(.95); } to { opacity: .82; transform: rotate(-12deg) scale(1); } }

/* Navegación: el canto del libro */
.fmt--bitacora .fnav { background: rgba(22,59,48,.96); border-color: rgba(239,230,198,.14); }
.fmt--bitacora .fnav a { color: #B9B295; padding: 13px 16px 10px; font-size: 16px; text-transform: uppercase; letter-spacing: .1em; }
.fmt--bitacora .fnav a b { color: var(--dorado); font-size: 16px; }
.fmt--bitacora .fnav a:hover, .fmt--bitacora .fnav a.is-active { color: var(--papel); border-bottom-color: var(--sello-2); }

/* Páginas: capítulos y texto */
.fmt--bitacora .claves li { border-top-color: var(--tinta); }
.fmt--bitacora .claves li::before { font-size: 16px; }
.fmt--bitacora .cap__num { font-size: 16px; }
.fmt--bitacora .cap__title { font-size: clamp(46px, 5.8vw, 86px); line-height: .88; max-width: 16ch; }
.fmt--bitacora .cap + .cap { border-top: 2px solid var(--tinta); }
.fmt--bitacora .ftext { color: var(--tinta); font-size: clamp(17px, 1.2vw, 19px); line-height: 1.6; }
.fmt--bitacora .cap:first-child .ftext > p:first-of-type::first-letter { font-family: var(--f-display); font-weight: 600; font-size: 5em; line-height: .72; padding: .12em .12em 0 0; }
.fmt--bitacora .fmod__head h2 { font-size: clamp(34px, 4vw, 56px); }
.fmt--bitacora .estado b { font-size: 32px; }
.fmt--bitacora .estado p { color: #4E4933; font-family: var(--f-body); font-size: 14px; }
.fmt--bitacora .estado--amarillo::before { background: var(--dorado); }
.fmt--bitacora .fcita p { font-family: var(--f-body); font-style: italic; font-weight: 500; font-size: clamp(22px, 2.3vw, 32px); line-height: 1.24; }
.fmt--bitacora .fcita::before { font-family: var(--f-body); }
.fmt--bitacora .fdato b { font-size: clamp(44px, 5.6vw, 92px); padding-top: .06em; }
.fmt--bitacora .fdato span { font-family: var(--f-body); font-style: italic; }
.fmt--bitacora .fdato--texto b { text-transform: none; font-family: var(--f-body); font-weight: 600; }
.fmt--bitacora .fcifras > div { border-top-color: var(--tinta); }
.fmt--bitacora .fcifras span { font-family: var(--f-body); font-size: 13.5px; }
.fmt--bitacora .fper h3 { font-size: 27px; }
.fmt--bitacora .fper p { font-family: var(--f-body); font-size: 14px; color: #4E4933; }
.fmt--bitacora .fper { border-bottom-color: var(--regla); }
.fmt--bitacora .fper__foto { border-color: var(--verde-2); }
.fmt--bitacora .fresp b { color: var(--verde); }
.fmt--bitacora .fresp p { font-size: 15.5px; }
.fmt--bitacora .preguntas { border-top-color: var(--tinta); }
.fmt--bitacora .preguntas li { font-family: var(--f-body); font-weight: 500; font-size: clamp(17px, 1.4vw, 21px); }
.fmt--bitacora .preguntas li::before { font-size: 16px; padding-top: 4px; }
.fmt--bitacora .tablewrap th { border-bottom-color: var(--tinta); }
.fmt--bitacora .vid__meta h3 { font-size: 21px; letter-spacing: .02em; }

/* Cadena de mando: relevos de guardia */
.fmt--bitacora .cadena { list-style: none; margin: 0; padding: 0; display: grid; gap: 22px 26px; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); counter-reset: r; }
.fmt--bitacora .cadena li { counter-increment: r; padding-top: 12px; border-top: 2px solid var(--tinta); position: relative; }
.fmt--bitacora .cadena li::before { content: counter(r, decimal-leading-zero); display: block; font-family: var(--f-display); font-weight: 600; font-size: 40px; line-height: .85; color: var(--sello); margin-bottom: 8px; }
.fmt--bitacora .cadena b { display: block; font-family: var(--f-display); font-weight: 600; text-transform: uppercase; font-size: 24px; line-height: .95; margin-bottom: 8px; }
.fmt--bitacora .cadena p { margin: 0; font-family: var(--f-body); font-size: 14px; line-height: 1.5; color: #3F3A28; }

/* Módulo característico: el registro reconstruido */
.guardia { display: grid; gap: 44px; }
.lg--mod { padding: 24px 28px 40px; }
.lg--mod .lg__cols, .lg--mod .lg__row { grid-template-columns: 34px 104px 1fr 1.7fr 120px; gap: 0 16px; }
.lg--mod .lg__row { min-height: 54px; padding: 10px 0; font-size: 14.5px; }
.lg--mod .lg__hora { font-size: 30px; }
.lg--mod .lg__reg { font-size: 13px; }
.lg--mod .sello-gp { right: 28px; bottom: -34px; width: 132px; height: 132px; }
.lg--crono .lg__cols, .lg--crono .lg__row { grid-template-columns: 34px 120px 1fr 2fr; }
.lg--crono .lg__hora { font-size: 24px; letter-spacing: .02em; text-transform: uppercase; }
.lg--crono .lg__quien { font-family: var(--f-display); font-weight: 600; text-transform: uppercase; font-size: 21px; line-height: .95; letter-spacing: .01em; }
.guardia__sub { display: grid; gap: 6px; margin: 10px 0 22px; padding-top: 12px; border-top: 2px solid var(--tinta); font-family: var(--f-body); font-weight: 400; font-style: italic; font-size: 16.5px; color: var(--mute); }
.guardia__sub span { font-family: var(--f-display); font-style: normal; font-weight: 600; font-size: 38px; line-height: .9; text-transform: uppercase; color: var(--tinta); }
.guardia__radio { display: grid; gap: 30px; }
.frec { display: grid; gap: 0; }
.frec__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; padding: 10px 16px 8px; background: var(--verde); color: var(--papel); font-family: var(--f-label); text-transform: uppercase; line-height: 1; }
.frec__head span { font-size: 12.5px; letter-spacing: .22em; color: var(--dorado); }
.frec__head b { font-size: 22px; font-weight: 500; letter-spacing: .04em; }
.partes { list-style: none; margin: 0; padding: 0 16px; border: 1px solid var(--verde); border-top: 0; background: var(--papel-2); background-image: linear-gradient(90deg, transparent 0, transparent 58px, rgba(179,22,28,.35) 58px, rgba(179,22,28,.35) 59px, transparent 59px); }
.parte { padding: 16px 0 18px 58px; border-bottom: 1px dashed rgba(23,21,15,.35); display: grid; gap: 4px; }
.parte:last-child { border-bottom: 0; }
.parte header { display: grid; grid-template-columns: max-content 1fr max-content; gap: 0 16px; align-items: baseline; font-family: var(--f-label); text-transform: uppercase; line-height: 1; }
.parte__hora { font-family: var(--f-display); font-weight: 600; font-size: 28px; color: var(--sello); letter-spacing: .02em; }
.parte__ind { font-size: 13px; letter-spacing: .18em; color: var(--mute); }
.parte__n { font-size: 13px; letter-spacing: .18em; color: var(--mute); }
.parte__quien { font-family: var(--f-body); font-weight: 700; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--verde); }
.parte p { margin: 2px 0 0; font-family: var(--f-body); font-style: italic; font-size: clamp(16px, 1.25vw, 18.5px); line-height: 1.42; color: var(--tinta); max-width: 66ch; }
.parte p::before { content: "\201C"; color: var(--sello); margin-right: 2px; }
.parte p::after { content: "\201D"; color: var(--sello); margin-left: 2px; }
.guardia__nota { margin: 0; max-width: 70ch; font-family: var(--f-body); font-style: italic; font-size: 14.5px; line-height: 1.55; color: var(--mute); padding-left: 16px; border-left: 2px solid var(--sello); }

/* Cierre: última página con sello */
.fmt--bitacora .cierre { background: var(--papel-2); border-left: 10px solid var(--verde-2); box-shadow: 0 2px 3px rgba(0,0,0,.18), 0 26px 50px -30px rgba(0,0,0,.6); }
.fmt--bitacora .cierre__lineas li { border-bottom-color: var(--regla); font-family: var(--f-body); font-size: 14.5px; }
.fmt--bitacora .cierre__lineas b { font-size: 22px; letter-spacing: .02em; }
.fmt--bitacora .cierre__fecha { font-size: 13.5px; }

/* Después: contratapa verde */
.fmt--bitacora .despues { background: var(--verde); color: var(--papel); border-top: 0; background-image: repeating-linear-gradient(0deg, rgba(255,255,255,.028) 0 1px, transparent 1px 3px), repeating-linear-gradient(90deg, rgba(0,0,0,.09) 0 1px, transparent 1px 3px); }
.fmt--bitacora .despues .kicker { color: var(--dorado); }
.fmt--bitacora .despues .fmod__head h2 em { color: var(--sello-2); }
.fmt--bitacora .despues .hito { border-top-color: rgba(239,230,198,.25); }
.fmt--bitacora .despues .hito::before { background: var(--sello-2); }
.fmt--bitacora .despues .hito b { color: var(--dorado); font-size: 16px; }
.fmt--bitacora .despues .hito h3 { font-size: 26px; }
.fmt--bitacora .despues .hito p { color: #C9C2A4; font-family: var(--f-body); font-size: 14.5px; }
.fmt--bitacora .creditos { border-top: 2px solid var(--tinta); }
.fmt--bitacora .fcred, .fmt--bitacora .ffuentes, .fmt--bitacora .fnota { font-family: var(--f-body); }
.fmt--bitacora .fcred dt { font-size: 14px; color: var(--sello); }

/* Móvil */
@media (max-width: 999px) { .lg--hero { transform: none; justify-self: stretch; width: 100%; margin-top: 6px; } }
@media (max-width: 640px) {
  .hero--bitacora { padding-top: 96px; }
  .hero--bitacora .htitle { font-size: clamp(60px, 17.5vw, 96px); }
  .lg { padding: 16px 14px 30px 16px; border-left-width: 10px; background-image: linear-gradient(180deg, rgba(120,90,20,.06), transparent 40%, rgba(120,90,20,.08)); }
  .lg::before { left: -8px; width: 6px; }
  .lg__head b { font-size: 28px; }
  .lg__cols { display: none; }
  .lg__row, .lg--mod .lg__row, .lg--crono .lg__row { grid-template-columns: 22px 66px 1fr; grid-template-areas: "n hora quien" "n hora motivo" "n hora reg"; gap: 2px 10px; align-items: start; padding: 10px 0; }
  .lg__n { grid-area: n; padding-top: 6px; }
  .lg__hora { grid-area: hora; font-size: 24px; }
  .lg__quien { grid-area: quien; }
  .lg__motivo { grid-area: motivo; font-size: 13px; }
  .lg__reg { grid-area: reg; margin-top: 4px; }
  .lg__row--vacia { display: flex; align-items: center; min-height: 34px; padding: 0; }
  .lg--hero .lg__row--falta { min-height: 0; }
  .sello-gp { width: 100px; height: 100px; right: 10px; bottom: 6px; }
  .sello-gp b { font-size: 16px; } .sello-gp span { font-size: 9.5px; }
  .lg--mod { padding: 18px 14px 44px 16px; }
  .lg--mod .sello-gp { bottom: -22px; }
  .lg--crono .lg__quien { font-size: 19px; }
  .guardia__sub span { font-size: 32px; }
  .partes { padding: 0 12px; background-image: none; }
  .parte { padding-left: 0; }
  .parte header { grid-template-columns: max-content 1fr; }
  .parte__n { grid-column: 2; justify-self: end; }
  .fmt--bitacora .cadena { grid-template-columns: 1fr; gap: 18px; }
  .fmt--bitacora .cap__title { font-size: clamp(40px, 11vw, 56px); }
}

/* ==================================================================
   Guiños institucionales: Policía Nacional del Ecuador
   Papel de oficio con membrete, franja verde y negra del uniforme,
   insignia, número de parte, sellos de recibido y marcas de reservado.
   Regla: ninguna de estas marcas puede pisar el texto ni bajar el contraste.
   ================================================================== */
.fmt--bitacora {
  --negro: #0B0F0D;
  --franja: linear-gradient(180deg, var(--verde) 0 3px, var(--dorado) 3px 4px, var(--negro) 4px 8px);
  --franja-oscura: linear-gradient(180deg, var(--dorado) 0 3px, var(--negro) 3px 8px);
  --escudo: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28'><path d='M12 1.2 1.6 5v9.2c0 6.4 4.5 11 10.4 12.6C17.9 25.2 22.4 20.6 22.4 14.2V5L12 1.2z' fill='none' stroke='%2317150F' stroke-width='1.7'/><path d='M12 6.6l1.8 3.7 4.1.6-3 2.9.7 4.1L12 16l-3.6 1.9.7-4.1-3-2.9 4.1-.6z' fill='%2317150F'/><path d='M5.8 21h12.4' stroke='%23B3161C' stroke-width='1.5'/></svg>");
  --escudo-claro: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28'><path d='M12 1.2 1.6 5v9.2c0 6.4 4.5 11 10.4 12.6C17.9 25.2 22.4 20.6 22.4 14.2V5L12 1.2z' fill='none' stroke='%23EFE6C6' stroke-width='1.7'/><path d='M12 6.6l1.8 3.7 4.1.6-3 2.9.7 4.1L12 16l-3.6 1.9.7-4.1-3-2.9 4.1-.6z' fill='%23E4C46A'/><path d='M5.8 21h12.4' stroke='%23DC2F32' stroke-width='1.5'/></svg>");
}

/* Franja del uniforme bajo la navegación de capítulos */
.fmt--bitacora .fnav { border-bottom: 0; }
.fmt--bitacora .fnav::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 8px; background-image: var(--franja-oscura); pointer-events: none; }

/* Las cuatro frases abren con la insignia */
.fmt--bitacora .claves .kicker { display: flex; align-items: center; gap: 10px; }
.fmt--bitacora .claves .kicker::before { content: ""; width: 20px; height: 23px; flex: none; background: var(--escudo) center / contain no-repeat; }

/* Estado del caso: franja del uniforme arriba y marca de reservado abajo */
.fmt--bitacora .estado::before { width: 72px; height: 8px; background: none; background-image: var(--franja); margin-bottom: 16px; }
.fmt--bitacora .estado--amarillo::before { background: none; background-image: var(--franja); }
.fmt--bitacora .estado::after { content: "Reservado · Uso interno"; display: inline-block; margin-top: 18px; padding: 6px 11px 4px; font-family: var(--f-label); font-size: 12.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--sello); border: 2px solid var(--sello); transform: rotate(-2deg); }

/* Papel de oficio: membrete institucional al abrir el cuerpo del expediente */
.fmt--bitacora .fmain { counter-reset: parte; }
.fmt--bitacora .fmain::before {
  content: "Policía Nacional del Ecuador · Comandancia General";
  display: block; margin: 0 0 40px; padding: 4px 0 20px 48px;
  border-top: 2px solid var(--tinta);
  padding-top: 16px;
  font-family: var(--f-label); font-weight: 500; font-size: 17px;
  letter-spacing: .2em; text-transform: uppercase; color: var(--tinta); line-height: 1.1;
  background-image: var(--escudo), var(--franja);
  background-repeat: no-repeat, repeat-x;
  background-position: 0 14px, 0 100%;
  background-size: 32px 37px, 100% 8px;
}
/* Cierre del parte al final del cuerpo */
.fmt--bitacora .fmain::after {
  content: "Fin del parte · Documento reservado";
  display: block; margin-top: 26px; padding-top: 14px;
  border-top: 2px solid var(--tinta);
  font-family: var(--f-label); font-size: 13px; letter-spacing: .2em; text-transform: uppercase; color: var(--mute);
}
/* Filo de oficio: el margen rojo del formulario baja por todo el cuerpo */
@media (min-width: 1100px) {
  .fmt--bitacora .fmain { padding-left: 38px; border-left: 1px solid rgba(179,22,28,.3); }
}

/* Cada capítulo es un parte numerado y reservado */
.fmt--bitacora .cap { counter-increment: parte; }
.fmt--bitacora .cap + .cap { border-top: 0; background-image: var(--franja); background-repeat: repeat-x; background-position: 0 0; background-size: 100% 8px; }
@media (min-width: 900px) {
  .fmt--bitacora .cap__head::before {
    content: "Parte N.º " counter(parte, decimal-leading-zero) "\A Reservado";
    white-space: pre-line; text-align: center;
    float: right; margin: 4px 0 12px 26px;
    padding: 9px 13px 7px;
    font-family: var(--f-label); font-size: 12.5px; letter-spacing: .17em; text-transform: uppercase;
    line-height: 1.45; color: var(--sello);
    border: 2px solid var(--sello); box-shadow: inset 0 0 0 1px rgba(179,22,28,.3);
    transform: rotate(-2.2deg);
  }
}

/* Cabeceras de módulo: franja del uniforme e insignia */
.fmt--bitacora .fmod__head { position: relative; padding-bottom: 16px; }
.fmt--bitacora .fmod__head::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 8px; background-image: var(--franja); }
.fmt--bitacora .fmod__head .kicker { display: flex; align-items: center; gap: 9px; }
.fmt--bitacora .fmod__head .kicker::before { content: ""; width: 18px; height: 21px; flex: none; background: var(--escudo) center / contain no-repeat; }

/* Sellos de recibido en los módulos que entraron por trámite */
@media (min-width: 900px) {
  .fmt--bitacora #m-guardia .fmod__head::before,
  .fmt--bitacora #m-cronologia .fmod__head::before,
  .fmt--bitacora #m-respuesta .fmod__head::before {
    content: "Recibido\A Comandancia General";
    white-space: pre-line; text-align: center;
    float: right; margin: 0 0 10px 24px; padding: 10px 14px 8px;
    font-family: var(--f-label); font-size: 12.5px; letter-spacing: .16em; text-transform: uppercase;
    line-height: 1.4; color: var(--verde);
    border: 2px solid var(--verde); box-shadow: inset 0 0 0 1px rgba(15,42,34,.35);
    transform: rotate(2.4deg); opacity: .85;
  }
}

/* El libro de guardia lleva la franja del uniforme en el canto */
.lg--mod { border-left-color: var(--negro); }
.lg--mod::after { content: ""; position: absolute; left: -14px; top: 0; bottom: 0; width: 14px; background-image: linear-gradient(180deg, var(--verde) 0 34%, var(--dorado) 34% 36%, var(--negro) 36%); }
.frec__head { border-left: 5px solid var(--dorado); }

/* Qué pasó después: contratapa con franja y escudo claro */
.fmt--bitacora .despues { position: relative; }
.fmt--bitacora .despues::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 8px; background-image: var(--franja-oscura); }
.fmt--bitacora .despues .fmod__head::after { background-image: var(--franja-oscura); }
.fmt--bitacora .despues .kicker::before { background-image: var(--escudo-claro); }
.fmt--bitacora .hito { position: relative; }

/* Créditos: pie de oficio con membrete */
.fmt--bitacora .creditos { position: relative; }
.fmt--bitacora .creditos::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 8px; background-image: var(--franja); }
.fmt--bitacora .creditos .kicker { display: flex; align-items: center; gap: 9px; }
.fmt--bitacora .creditos .kicker::before { content: ""; width: 18px; height: 21px; flex: none; background: var(--escudo) center / contain no-repeat; }

/* Contraste: el rótulo del video iba en verde botella sobre negro */
.fmt--bitacora .vid__rol { color: var(--dorado); }
.fmt--bitacora .vid__meta small, .fmt--bitacora .vid__meta a { color: #D6CFB4; }

/* Teléfono: las marcas se recogen para no comerse el ancho */
@media (max-width: 899px) {
  .fmt--bitacora .fmain::before { font-size: 14px; letter-spacing: .16em; padding-left: 38px; background-size: 26px 30px, 100% 8px; }
  .fmt--bitacora .estado::after { font-size: 11.5px; letter-spacing: .14em; }
}
