/* ═══════════════════════════════════════════════════════════════════
   VOX SACRA · capa artesanal
   Se carga DESPUÉS de vox-sacra.css y no toca tipografías ni colores
   de marca: usa sus variables (--gold, --cream, --red, --black…) y sus
   dos familias (Cinzel para rótulos y títulos, Cormorant Garamond para
   el texto). Lo que añade es la mano: pulso irregular en líneas y
   marcos, grano de pergamino, láminas pegadas, letra con vaivén.
   Regla heredada de la marca: Cinzel no dibuja la ñ.
   ═══════════════════════════════════════════════════════════════════ */

:root{
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --cinzel:"Cinzel","Trajan Pro",Georgia,serif;
  --hueso:var(--white);
  --rasgo-a:polygon(0.0% 0.8%,11.4% 0.7%,22.2% 1.6%,33.1% 0.7%,44.5% 1.4%,55.3% 0.4%,66.4% 1.5%,77.9% 0.1%,89.2% 1.6%,99.1% 0.3%,99.8% 10.8%,98.9% 22.0%,99.7% 33.2%,99.2% 44.4%,99.9% 55.8%,98.8% 66.8%,99.6% 77.9%,99.1% 88.8%,100.0% 98.6%,89.1% 98.2%,77.7% 99.7%,66.5% 98.6%,55.7% 99.4%,44.7% 98.2%,33.6% 98.8%,21.9% 99.7%,11.4% 98.5%,1.4% 99.9%,0.1% 89.0%,1.4% 77.6%,0.1% 66.6%,1.6% 55.7%,0.2% 44.3%,1.1% 33.1%,0.4% 22.0%,1.2% 11.1%);
  --rasgo-b:polygon(0.3% 1.3%,11.3% 0.1%,22.3% 1.4%,33.4% 0.2%,44.3% 1.3%,55.4% 0.6%,66.4% 1.5%,77.9% 0.6%,88.9% 1.0%,99.5% 0.0%,98.4% 11.2%,99.6% 22.3%,98.6% 33.3%,99.5% 44.4%,98.9% 55.7%,99.6% 66.4%,98.7% 77.9%,99.2% 88.9%,100.0% 99.7%,88.7% 98.5%,78.0% 99.7%,66.4% 98.4%,55.3% 99.6%,44.5% 98.9%,33.2% 99.5%,22.1% 98.4%,11.3% 99.2%,0.4% 99.8%,1.5% 89.0%,0.4% 77.6%,1.3% 66.9%,0.3% 55.8%,1.2% 44.7%,0.1% 33.3%,1.4% 22.4%,0.2% 11.4%);
  --rasgo-c:polygon(0.1% 1.0%,11.3% 1.8%,22.4% 0.6%,33.1% 1.7%,44.7% 0.5%,55.8% 1.5%,66.6% 0.3%,77.8% 1.4%,88.6% 0.3%,99.6% 0.2%,98.5% 10.9%,99.4% 22.0%,98.4% 33.1%,100.0% 44.7%,98.7% 55.4%,99.6% 66.9%,98.5% 78.1%,99.6% 89.0%,99.8% 98.7%,89.0% 99.4%,78.0% 98.4%,66.6% 99.8%,55.3% 98.6%,44.3% 99.2%,33.0% 98.2%,22.1% 99.6%,11.3% 98.5%,0.4% 100.0%,1.4% 88.6%,0.3% 77.5%,1.5% 66.9%,0.0% 55.7%,1.3% 44.5%,0.0% 33.1%,1.2% 22.5%,0.3% 11.3%);
}

/* ── Base: se anula el centrado de plantilla de vox-sacra.css ───────── */
html{color-scheme:dark;scroll-behavior:smooth;height:auto;overflow-x:clip;}
html,body{height:auto;}
body{
  display:block;min-height:100vh;text-align:left;
  font-size:clamp(1.14rem,.35vw + 1.06rem,1.3rem);line-height:1.68;
  overflow-x:clip;
}
::selection{background:var(--gold);color:var(--black);}
img{max-width:100%;display:block;}
a{color:var(--gold-l);text-decoration-thickness:1px;text-underline-offset:.2em;}
a:hover{color:var(--hueso);}
strong{color:var(--hueso);font-weight:600;}
em{font-style:italic;}
:focus-visible{outline:2px solid var(--gold-l);outline-offset:4px;border-radius:2px;}
.solo-lectura{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.salta{position:absolute;left:-9999px;top:0;z-index:99;background:var(--gold);color:var(--black);font-family:var(--cinzel);font-weight:700;padding:12px 22px;text-decoration:none;}
.salta:focus{left:0;}

/* Grano de pergamino y viñeta (sobre el fondo de marca) */
body::before{
  content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.09;mix-blend-mode:screen;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .86 0 0 0 0 .8 0 0 0 0 .63 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
body::after{
  content:"";position:fixed;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(ellipse at 50% 50%,transparent 55%,rgba(0,0,0,.55) 100%);
}
.pagina{position:relative;z-index:2;}

/* ── Rótulos y titulares ────────────────────────────────────────────── */
.rubrica{
  font-family:var(--cinzel);font-weight:500;font-size:.7rem;letter-spacing:.34em;
  color:var(--gold);text-transform:uppercase;line-height:1.6;
}
.rubrica--roja{color:#b9654f;}
.titulo{
  font-family:var(--cinzel);font-weight:500;color:var(--hueso);
  line-height:1.14;letter-spacing:.03em;filter:url(#tinta);text-wrap:balance;
}
.titulo em{font-style:normal;color:var(--gold-l);}
.titulo .m{display:inline-block;transform:translateY(var(--y,0)) rotate(var(--r,0));}
.t-gigante{font-size:clamp(2.7rem,9.5vw,6.4rem);font-weight:500;letter-spacing:.04em;line-height:1.02;}
.t-grande{font-size:clamp(1.9rem,5vw,3.2rem);}
.t-medio{font-size:clamp(1.45rem,3.2vw,2.1rem);}
.t-chico{font-size:1.15rem;letter-spacing:.06em;}
.cursiva{font-style:italic;color:var(--cream);}
.bajada{font-size:clamp(1.25rem,2.2vw,1.55rem);font-style:italic;line-height:1.5;color:var(--cream);max-width:30em;}
.texto{max-width:34em;}
.texto p+p{margin-top:1.05em;}
.tenue{color:var(--text-m);}

/* Inicial miniada: letra de oro sobre taco rojo litúrgico */
.capital::first-letter{
  font-family:var(--cinzel);font-weight:700;color:var(--gold-l);background:var(--red);
  float:left;font-size:3.5em;line-height:.82;padding:.1em .14em .02em;margin:.06em .16em 0 0;
  box-shadow:0 0 0 1px rgba(212,175,55,.45);
}

/* Subrayado trazado a mano bajo una palabra */
.subraya{
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 10' preserveAspectRatio='none'%3E%3Cpath d='M2 6 C30 2 55 8 90 5 C125 2 160 8 198 4' fill='none' stroke='%23D4AF37' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 0 100%/100% .42em;
  padding-bottom:.28em;
}

/* Nota al margen */
.nota{
  font-family:var(--serif);font-style:italic;font-size:1rem;line-height:1.4;
  color:var(--gold-d);transform:rotate(-1.6deg);display:inline-flex;gap:.45em;align-items:flex-start;max-width:15em;
}
.nota svg{flex:none;width:14px;height:14px;margin-top:.25em;}

/* ── Ornamentos ─────────────────────────────────────────────────────── */
.orn{display:block;color:var(--gold);fill:none;filter:url(#mano-fino);}
.orn--cenefa{width:min(260px,60%);height:auto;aspect-ratio:11/1;margin:0 auto;opacity:.8;}
.orn--trigo{width:34px;height:auto;aspect-ratio:48/140;}
.orn--cruz{width:16px;height:16px;fill:currentColor;}
.cenefa{padding:clamp(1.5rem,4vw,3rem) 0;}

/* Pauta de canto llano: línea de cuatro rayas con neumas */
.pauta{display:block;width:100%;height:auto;overflow:visible;}
.pauta .raya{stroke:var(--gold-d);stroke-width:1.1;fill:none;opacity:.8;}
.pauta .neuma{fill:var(--gold-d);opacity:.38;transition:opacity .6s,fill .6s;}
.pauta .neuma.on{fill:var(--gold-l);opacity:1;}
.pauta .tallo{stroke:var(--gold-d);stroke-width:1.6;opacity:.38;transition:opacity .6s,stroke .6s;}
.pauta .tallo.on{stroke:var(--gold-l);opacity:1;}

/* Surcos de campo, al pie de la página */
.surcos{display:block;width:100%;height:clamp(90px,16vw,170px);color:var(--gold-d);opacity:.55;filter:url(#mano);}

/* ── Marcos y láminas ───────────────────────────────────────────────── */
.marco{position:relative;}
.marco::before,.marco::after{content:"";position:absolute;pointer-events:none;border-style:solid;border-color:var(--gold-d);}
.marco::before{inset:-9px;border-width:1.6px;filter:url(#mano);}
.marco::after{inset:-15px;border-width:1px;border-color:rgba(212,175,55,.33);filter:url(#mano-fino);transform:rotate(.3deg);}

.lamina{position:relative;margin:0;}
.lamina .foto{
  position:relative;overflow:hidden;background:#17130b;
  clip-path:var(--rasgo-a);
}
.lamina img{width:100%;height:100%;object-fit:cover;filter:sepia(.18) saturate(.92) brightness(.93) contrast(1.04);}
.lamina .foto::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 38px rgba(13,13,13,.55);pointer-events:none;}
.lamina figcaption{
  margin-top:.8rem;font-family:var(--serif);font-style:italic;font-size:.92rem;line-height:1.35;color:var(--text-m);
}
.lamina--b .foto{clip-path:var(--rasgo-b);}
.lamina--c .foto{clip-path:var(--rasgo-c);}
.gira-a{transform:rotate(-1.4deg);}
.gira-b{transform:rotate(1.1deg);}
.gira-c{transform:rotate(-.6deg);}

/* Arco (como las láminas de la masterclass): contorno dorado a mano */
.lamina--arco{padding:12px;}
.lamina--arco .foto{clip-path:none;border-radius:999px 999px 2px 2px;}
.lamina--arco::before,.lamina--arco::after{
  content:"";position:absolute;pointer-events:none;border:1.6px solid var(--gold);border-radius:999px 999px 3px 3px;
}
.lamina--arco::before{inset:0;filter:url(#mano);}
.lamina--arco::after{inset:6px;border-width:1px;border-color:rgba(212,175,55,.35);filter:url(#mano-fino);}

/* ── Botones ────────────────────────────────────────────────────────── */
.boton{
  display:inline-flex;align-items:center;justify-content:center;gap:.8em;cursor:pointer;
  font-family:var(--cinzel);font-weight:700;font-size:.9rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--black);background:var(--gold);text-decoration:none;border:0;
  padding:1.15em 2em;border-radius:3px 7px 4px 8px / 7px 3px 8px 4px;
  box-shadow:3px 3px 0 var(--red),3px 3px 0 1px rgba(212,175,55,.35);
  transform:rotate(-.6deg);transition:transform .25s,box-shadow .25s,background .25s;
}
.boton:hover{background:var(--gold-l);color:var(--black);transform:rotate(.3deg) translateY(-2px);box-shadow:5px 6px 0 var(--red),5px 6px 0 1px rgba(212,175,55,.35);}
.boton:active{transform:translateY(1px);box-shadow:1px 1px 0 var(--red);}
.boton:disabled{opacity:.55;cursor:wait;transform:none;}
.boton svg{width:22px;height:19px;fill:none;}
.boton--linea{background:transparent;color:var(--gold);box-shadow:none;border:1.5px solid rgba(212,175,55,.6);}
.boton--linea:hover{background:rgba(212,175,55,.08);color:var(--gold-l);box-shadow:none;}
.boton--grande{font-size:1rem;padding:1.3em 2.3em;}
.enlace-suave{
  font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--text-m);background:none;border:0;cursor:pointer;
  text-decoration:underline;text-decoration-color:rgba(212,175,55,.4);text-underline-offset:.28em;padding:.4em 0;
}
.enlace-suave:hover{color:var(--gold-l);}

/* ── Campos: una línea trazada, sin caja ────────────────────────────── */
.campo{position:relative;}
.campo label{display:block;}
.campo input[type=text],.campo input[type=email],.campo input[type=tel]{
  width:100%;background:transparent;border:0;border-radius:0;outline:none;color:var(--hueso);
  font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.2;
  padding:.2em 0 .25em;caret-color:var(--gold);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 8' preserveAspectRatio='none'%3E%3Cpath d='M1 5 C60 2 110 6 170 4 C230 2 300 6 399 3' fill='none' stroke='%23B8860B' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat 0 100%/100% 8px;
  transition:background-size .3s;
}
.campo input::placeholder{color:rgba(156,142,106,.55);}
.campo input:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 8' preserveAspectRatio='none'%3E%3Cpath d='M1 5 C60 2 110 6 170 4 C230 2 300 6 399 3' fill='none' stroke='%23F0D27A' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");}
.campo .error{display:none;margin-top:.7rem;font-style:italic;font-size:1.05rem;color:#d98a62;}
.campo .error.on{display:block;}

/* ── Aparición al scroll (solo si hay JS) ───────────────────────────── */
html.js [data-rev]{opacity:0;transform:translateY(16px);transition:opacity .9s ease,transform .9s ease;}
html.js [data-rev].visto{opacity:1;transform:none;}
html.js [data-rev="izq"]{transform:translate(-16px,10px);}
html.js [data-rev="der"]{transform:translate(16px,10px);}
@media(max-width:820px){html.js [data-rev="izq"],html.js [data-rev="der"]{transform:translateY(14px);}}
html.js [data-rev].visto,html.js [data-rev="izq"].visto,html.js [data-rev="der"].visto{transform:none;}

/* ── Cabecera y pie compartidos ─────────────────────────────────────── */
.cabeza{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:clamp(1rem,3vw,1.8rem) clamp(1.1rem,4vw,3rem);}
.marca{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--gold);}
.marca img{width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 0 14px rgba(212,175,55,.35));}
.marca b{font-family:var(--cinzel);font-weight:600;font-size:.82rem;letter-spacing:.4em;}
.cabeza nav a{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--text-m);text-decoration:none;}
.cabeza nav a:hover{color:var(--gold-l);}
.pie{text-align:center;padding:1rem 1.5rem 2.6rem;position:relative;z-index:2;}
.pie .sello-vs{font-family:var(--cinzel);font-size:.66rem;letter-spacing:.42em;color:var(--gold-d);}
.pie p{font-style:italic;font-size:.98rem;color:var(--text-m);margin-top:.5rem;}
.pie nav{margin-top:.7rem;display:flex;gap:1.4rem;justify-content:center;flex-wrap:wrap;}
.pie nav a{font-size:.98rem;font-style:italic;color:var(--text-m);}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
  html.js [data-rev]{opacity:1;transform:none;}
}

/* Cupón copiable (CORDIS10) */
.cupon{margin:1.4rem 0 .4rem;max-width:26rem}
.cupon-guia{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--cream);margin:0 0 .5rem}
.cupon-fila{display:flex;align-items:stretch;border:1.5px dashed var(--gold);border-radius:2px;background:rgba(212,175,55,.07)}
.cupon-codigo{flex:1;padding:.7rem 1rem;font-family:'Cinzel',serif;font-size:1.35rem;letter-spacing:.18em;color:var(--gold-l);user-select:all;display:flex;align-items:center}
.cupon-copiar{border:0;border-left:1.5px dashed var(--gold);background:var(--gold);color:#0d0d0d;padding:0 1.1rem;font-family:'Cinzel',serif;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.cupon-copiar:hover,.cupon-copiar:focus-visible{background:var(--gold-l)}
.cupon-copiar.ok{background:#2e5d34;color:#f5f0e8}
[hidden]{display:none!important}
