/* Atelier · Joyero. Terciopelo esmeralda, satín marfil y oro.
   Acabado protagonista: el oro (foil) que reacciona a la luz. Una sola luz, arriba a la izquierda. */
.inv[data-theme="at-joyero"]{
  --at-papel:#F1E9DA; --at-fondo:#0B2A22; --at-tinta:#F1E9DA; --at-tenue:rgba(241,233,218,.66); --at-acento:#C9A44C; --at-linea:rgba(241,233,218,.22);
  --at-fd:'Bodoni Moda'; --at-ft:'Bodoni Moda';
  --verde:#0B2A22; --verde2:#0F3D30; --satin:#F1E9DA; --tinta-satin:#2B2620; --oro:#C9A44C;
  --f1:#7A5A24; --f2:#C9A44C; --f3:#FFF1C7;
  font-size:18px; line-height:1.6; font-variation-settings:"opsz" 14;
}
/* Terciopelo real (foto) bajo toda la página, en teja espejada que corre con el contenido, oscurecido a esmeralda profundo; la luz sigue el giro (--tx). */
.inv[data-theme="at-joyero"]{position:relative;background:#0A2A21}
.inv[data-theme="at-joyero"]::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:
  radial-gradient(90% 600px at calc(28% + var(--tx) * 22%) 0%,rgba(120,200,160,.10),transparent 65%),
  linear-gradient(90deg,rgba(0,0,0,.38),transparent 22%,transparent 78%,rgba(0,0,0,.38)),
  linear-gradient(rgba(5,26,20,.5),rgba(5,26,20,.5)),
  url(/img/texturas/joyero-terciopelo-teja.jpg) calc(50% + 210px) 330px/min(150%,980px) auto repeat,
  url(/img/texturas/joyero-terciopelo-teja.jpg) center top/min(190%,1240px) auto repeat #0B2A22;background-blend-mode:normal,normal,normal,multiply,normal}
.inv[data-theme="at-joyero"] .inv-main{position:relative;z-index:1}
.jy{position:relative;color:var(--satin);background:none}

/* ---------- Apertura: estuche ---------- */
.jy-op{display:grid;place-content:center;justify-items:center;gap:30px;background:#081F19;color:var(--satin)}
.jy-fondo{position:absolute;inset:0;background:
  radial-gradient(60% 45% at 50% 46%,rgba(201,164,76,.12),transparent 70%),
  radial-gradient(120% 80% at 50% 120%,rgba(0,0,0,.6),transparent 70%),#0A231C}
.jy-op .at-para{position:relative;font-family:'Bodoni Moda',serif;font-size:12px;letter-spacing:.34em;color:rgba(241,233,218,.75)}
.jy-op .at-para strong{font-weight:400;color:var(--satin)}
.jy-estuche{--w:min(66vw,270px);position:relative;width:var(--w);aspect-ratio:4/5;padding:0;border:0;background:none;cursor:pointer;perspective:900px;
  filter:drop-shadow(0 26px 30px rgba(0,0,0,.55)) drop-shadow(0 6px 8px rgba(0,0,0,.4));transition:transform 1.2s var(--ease-papel) 1.5s,opacity .8s ease 1.9s}
.jy-base,.jy-tapa,.jy-tapa-cara,.jy-tapa-dentro{position:absolute;inset:0;border-radius:14px}
.jy-base{background:
  radial-gradient(90% 70% at 30% 20%,rgba(90,180,140,.25),transparent 60%),
  url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.6' numOctaves='2'/><feColorMatrix values='0 0 0 0 .2  0 0 0 0 .7  0 0 0 0 .5  0 0 0 .16 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"),
  #0F3D30;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),inset 0 -8px 14px rgba(0,0,0,.4),0 9px 0 #07261D}
.jy-satin{position:absolute;inset:13px;border-radius:9px;overflow:hidden;display:grid;place-items:center;
  background:linear-gradient(118deg,#E3D7C1 0%,#F7F0E2 calc(30% + var(--tx) * 12%),#E6DAC4 calc(45% + var(--tx) * 12%),#FBF6EB calc(62% + var(--tx) * 12%),#DDD0B8 100%);
  box-shadow:inset 0 2px 10px rgba(60,45,20,.35),inset 0 0 0 1px rgba(160,130,70,.4)}
.jy-cojin{position:absolute;inset:16%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.55),transparent);filter:blur(6px)}
.jy-mono-op{position:relative;width:62%;height:auto}
.jy-tapa{transform-origin:50% 0;transform-style:preserve-3d;transition:transform 1.9s cubic-bezier(.45,.05,.2,1) .1s}
.jy-tapa-cara{backface-visibility:hidden;background:
  radial-gradient(80% 60% at calc(30% + var(--tx) * 30%) calc(18% + var(--ty) * 14%),rgba(110,200,160,.28),transparent 62%),
  radial-gradient(120% 100% at 50% 110%,rgba(0,0,0,.35),transparent 60%),
  url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.6' numOctaves='2'/><feColorMatrix values='0 0 0 0 .2  0 0 0 0 .7  0 0 0 0 .5  0 0 0 .16 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"),
  linear-gradient(160deg,#145240,#0F3D30 55%,#0B3126);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),inset 0 1px 0 rgba(255,255,255,.12),inset 0 0 0 9px rgba(0,0,0,.08),inset 0 0 0 10px rgba(201,164,76,.35)}
.jy-sello{position:absolute;inset:0;display:grid;place-items:center}
.jy-mono-tapa{width:44%;height:auto;opacity:.92;filter:drop-shadow(0 1px 0 rgba(0,0,0,.45))}
.jy-mono-tapa .jy-oro-trazo{stroke:#B8913F}.jy-mono-tapa .jy-oro-relleno,.jy-mono-tapa .jy-mono-l{fill:#C9A44C}
.jy-tapa-dentro{transform:rotateX(180deg);backface-visibility:hidden;background:linear-gradient(200deg,#F7F0E2,#E0D3BC);box-shadow:inset 0 0 0 13px #0F3D30,inset 0 0 0 14px rgba(160,130,70,.4)}
.jy-broche{position:absolute;left:50%;bottom:-5px;width:34px;height:14px;transform:translateX(-50%);border-radius:3px;z-index:3;
  background:linear-gradient(105deg,var(--f1),var(--f2) 30%,var(--f3) calc(52% + var(--tx) * 30%),var(--f2) 70%,var(--f1));box-shadow:0 2px 3px rgba(0,0,0,.5);transition:opacity .3s}
.jy-pista{position:relative;margin:0;font:italic 400 17px/1 'Bodoni Moda',serif;color:rgba(241,233,218,.66)}
.jy-op .at-skip{color:rgba(241,233,218,.7)}
.jy-op.is-opening .jy-broche{opacity:0}
.jy-op.is-opening .jy-tapa{transform:rotateX(-112deg)}
.jy-op.is-opening .jy-estuche{transform:scale(1.5) translateY(6%);opacity:0}
.jy-op.is-opening .jy-pista,.jy-op.is-opening .at-para{opacity:0;transition:opacity .5s}

/* Monograma */
.jy-mono .jy-oro-trazo{stroke:var(--oro)}
.jy-mono .jy-oro-relleno{fill:var(--oro)}
.jy-mono-l{font:400 64px/1 'Pinyon Script',cursive;fill:var(--oro)}
.jy-mono-op .jy-oro-trazo{stroke:#9C7A35}.jy-mono-op .jy-oro-relleno,.jy-mono-op .jy-mono-l{fill:#9C7A35}

/* ---------- Portada ---------- */
.jy-portada{position:relative;isolation:isolate;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:max(44px,6svh) max(32px,9vw) max(48px,7svh);text-align:center}
/* La portada se apoya en terciopelo plegado (foto), que se funde con el terciopelo liso de la página. */
.jy-portada::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  linear-gradient(180deg,rgba(4,26,18,.7),rgba(4,26,18,.52) 45%,rgba(4,26,18,.78)),
  url(/img/texturas/joyero-terciopelo-pliegue.jpg) 50% 40%/cover;background-color:#0B2A22;
  -webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}
.jy-luz{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(58% 34% at calc(42% + var(--tx) * 14%) 34%,rgba(201,164,76,.12),transparent 70%)}
.jy-eb{position:relative;margin:0 0 max(18px,2.6svh);font:400 13px/1 'Bodoni Moda',serif;letter-spacing:.34em;text-transform:uppercase;color:rgba(241,233,218,.8)}
/* Marco ovalado de oro bruñido (PNG 800×1200). La foto va debajo, recortada en óvalo al hueco del marco. */
.jy-medallon{position:relative;isolation:isolate;flex:none;margin:0;aspect-ratio:2/3;width:min(70vw,300px,calc((100svh - 400px) * 2 / 3));min-width:168px}
.jy-medallon::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:url(/img/texturas/joyero-marco.png) center/100% 100% no-repeat}
.jy-medallon::before{content:"";position:absolute;inset:9% 9% 12%;z-index:-1;border-radius:50%;box-shadow:0 26px 44px 2px rgba(0,0,0,.5),0 8px 16px rgba(0,0,0,.3)}
.jy-foto{position:absolute;inset:8.6% 11.6% 12.2%;z-index:1;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#0F3D30}
.jy-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.jy-medallon-mono .jy-foto{background:linear-gradient(rgba(247,241,230,.28),rgba(247,241,230,.28)),url(/img/texturas/joyero-saten.jpg) center/cover #EFE6D6}
.jy-mono-portada{width:62%;height:auto}
.jy-mono-portada .jy-oro-trazo{stroke:#9C7A35}.jy-mono-portada .jy-oro-relleno,.jy-mono-portada .jy-mono-l{fill:#9C7A35}
.jy-nombre{margin:max(10px,1.6svh) 0 0;font:400 clamp(64px,19vw,120px)/1.02 'Pinyon Script',cursive;letter-spacing:0;text-wrap:balance}
.jy-nombre em{display:block;margin:-.1em 0 -.05em;font:italic 400 .3em/1 'Bodoni Moda',serif;color:var(--oro)}
.jy-nombre .at-foil{display:inline-block;padding:.08em .2em .18em}
.jy-fecha{margin:6px 0 0;font:italic 400 clamp(19px,5.2vw,22px)/1.4 'Bodoni Moda',serif;color:var(--satin)}
.jy-hl{margin:8px 0 0;font:400 17px/1.4 'Bodoni Moda',serif;color:var(--at-tenue)}
.jy-sub{margin:6px 0 0;font:400 13px/1.6 'Bodoni Moda',serif;letter-spacing:.24em;text-transform:uppercase;color:var(--at-tenue)}
.jy-para{margin:22px 0 0;font:italic 400 19px/1.4 'Bodoni Moda',serif;color:var(--oro)}

/* ---------- Patios: los compartimentos del estuche ----------
   Cada sección ocupa todo el ancho con su material; dentro, .jy-sec acota el texto.
   El terciopelo liso (fondo de la página) es la base a la que siempre se vuelve. */
.jy-patio{position:relative;isolation:isolate}
.jy-sec{position:relative;max-width:600px;margin:0 auto;padding:96px max(10vw,32px);text-align:center}
.jy-ancho .jy-sec{max-width:900px}
.jy-breve .jy-sec{padding-top:64px;padding-bottom:64px}
.jy-con-soporte .jy-sec{padding:84px max(5vw,16px)}
.jy-h{margin:0 0 40px}
.jy-k{margin:0;font:400 13px/1.5 'Bodoni Moda',serif;letter-spacing:.3em;text-transform:uppercase;color:var(--oro)}
.jy-t{margin:12px 0 0;font:italic 400 clamp(38px,10vw,58px)/1.04 'Bodoni Moda',serif;font-variation-settings:"opsz" 72;letter-spacing:-.01em;text-wrap:balance;color:var(--at-tinta)}
.jy-k2{margin:0 0 6px;font:400 13px/1.5 'Bodoni Moda',serif;letter-spacing:.24em;text-transform:uppercase;color:var(--oro)}
.jy-filete{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto 40px;max-width:280px}
.jy-filete i{flex:1;height:1px}
.jy-gema{display:block;width:34px;height:auto}
.jy-gema-chica{width:24px;margin:0 auto 16px}
.jy-cita{margin:0;font:italic 400 clamp(27px,7.2vw,38px)/1.3 'Bodoni Moda',serif;font-variation-settings:"opsz" 48;text-wrap:balance}
.jy-intro{margin:22px auto 0;max-width:32ch;color:var(--at-tenue)}
.jy-nota{margin:16px auto 0;max-width:30ch;font-style:italic;color:var(--at-tenue)}
.jy .at-link{color:var(--oro);font-family:'Bodoni Moda',serif;font-size:13px;letter-spacing:.22em;border-bottom-color:currentColor}

/* Materiales claros (satén, nácar, seda, papel): tinta café oscuro y oro viejo, que se lee sobre marfil. */
.jy-saten,.jy-nacar,.jy-seda,.jy-bandeja,.jy-tarjeta,.jy-pliego{color:#2B2620;
  --at-tinta:#2B2620; --at-papel:#F4EDE0; --at-tenue:#62584B; --at-linea:rgba(43,38,32,.2); --oro:#7D5F24; --f1:#5E431A; --f2:#9A7633; --f3:#D9BF7E}

/* Terciopelo liso: limpio, solo tipografía y aire. Dos patios de terciopelo seguidos se separan con un filete y una gema de oro. */
.jy-terciopelo + .jy-terciopelo .jy-sec::before{content:"";position:absolute;top:0;left:50%;width:min(52%,240px);height:1px;transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(201,164,76,.7),transparent)}

/* Salón: fotografía de escena (salón de gala de noche) a todo lo ancho; velo oscuro en ::before y la cita en marfil sobre el piso en penumbra. */
.jy-salon{min-height:min(94svh,860px);display:grid;align-items:end;color:#F7F0E2}
.jy-salon::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url(/img/texturas/joyero-salon.jpg) 50% 30%/cover #120D08;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 70px);mask-image:linear-gradient(180deg,transparent,#000 70px)}
.jy-salon::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,7,4,.45),rgba(10,7,4,.06) 22%,rgba(10,7,4,.12) 44%,rgba(10,7,4,.74) 70%,rgba(8,6,4,.9))}
.jy-salon .jy-sec{padding-top:min(48svh,420px);padding-bottom:84px}
.jy-salon .jy-filete{margin-bottom:30px}
.jy-salon blockquote{margin:0}
.jy-salon .jy-cita{color:#FBF5E8;text-shadow:0 2px 24px rgba(0,0,0,.55)}
.jy-salon cite{display:block;margin-top:18px;font:400 13px/1.3 'Bodoni Moda',serif;letter-spacing:.26em;text-transform:uppercase;font-style:normal;color:rgba(241,233,218,.8)}
.jy-salon .jy-intro{color:rgba(251,245,232,.9);text-shadow:0 1px 14px rgba(0,0,0,.5)}

/* Mármol negro con vetas de oro, como una sola lámina (cover): en teja espejada las vetas formaban un caleidoscopio. La cuenta va en la cartela de filigrana. */
.jy-marmol{color:var(--satin);
  background:linear-gradient(rgba(6,7,6,.42),rgba(6,7,6,.42)),url(/img/texturas/joyero-marmol-negro.jpg) 50% 40%/cover #0A0A09}
.jy-marmol.jy-breve{background-position:0 0,30% 85%}
.jy-marmol::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(70% 46% at 50% 50%,rgba(0,0,0,.4),transparent 80%),linear-gradient(180deg,rgba(0,0,0,.45),transparent 14%,transparent 86%,rgba(0,0,0,.45))}
.jy-marmol .jy-sec{padding-left:max(4vw,10px);padding-right:max(4vw,10px)}
.jy-marmol .jy-k{color:#D9BC77}
.jy-marmol .at-link{color:#D9BC77}
.jy-marmol .at-foil{--f1:#A88443;--f2:#D9BC77;--f3:#FFF1C7}
/* Cartela de filigrana de oro (PNG 1200×800, hueco central ~ 8–92 % × 21–76 %). Debajo, una placa de ónix para separar las cifras de las vetas. */
.jy-cartela{position:relative;isolation:isolate;width:min(100%,520px);aspect-ratio:3/2;margin:16px auto 22px;display:grid;place-items:center;padding:14% 14% 15%}
.jy-cartela::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url(/img/texturas/joyero-cartela.png) center/100% 100% no-repeat}
.jy-cartela::before{content:"";position:absolute;inset:14% 9% 16%;z-index:-2;border-radius:18px;
  background:radial-gradient(closest-side,rgba(4,5,4,.92),rgba(4,5,4,.8) 70%,rgba(4,5,4,.4));box-shadow:0 0 40px 20px rgba(4,5,4,.4)}
.jy-cd{display:flex;justify-content:center;gap:clamp(18px,6vw,40px);margin:0}
.jy-cd .cdu{display:grid;gap:8px}
.jy-cd b{font:400 clamp(42px,11.5vw,66px)/1 'Bodoni Moda',serif;font-variation-settings:"opsz" 96;font-variant-numeric:lining-nums tabular-nums;color:#F7F0E2}
.jy-cd small{font:400 13px/1 'Bodoni Moda',serif;letter-spacing:.2em;text-transform:uppercase;color:#D9BC77}

/* Satén marfil: el forro de un compartimento (teja espejada), con filete de oro a 14 px del canto y la sombra del terciopelo que lo bordea. */
/* Teja grande (una sola capa): los pliegues del satén son amplios y a escala chica el espejo se leía como caleidoscopio. */
.jy-saten{background:linear-gradient(rgba(253,250,244,.42),rgba(253,250,244,.42)),
  url(/img/texturas/joyero-saten-teja.jpg) calc(50% + 260px) -120px/1150px auto repeat #F3EBDD}
.jy-saten::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(40,30,15,.32),rgba(40,30,15,0) 26px,rgba(40,30,15,0) calc(100% - 26px),rgba(40,30,15,.32))}
.jy-saten::before,.jy-bandeja::before{content:"";position:absolute;inset:14px;border:1px solid rgba(156,122,53,.6);pointer-events:none;
  box-shadow:inset 0 0 0 4px rgba(252,248,240,.25),inset 0 0 0 5px rgba(156,122,53,.3)}
.jy-papas{display:grid;gap:26px;margin:0 0 36px}
@media (min-width:600px){.jy-papas{grid-template-columns:1fr 1fr}.jy-papas:has(> :only-child){grid-template-columns:1fr}}
.jy-papa{margin:0;font-size:22px;line-height:1.35;font-variation-settings:"opsz" 24;text-wrap:balance}
.jy-corte{display:grid;grid-template-columns:1fr 1fr;gap:22px 16px;margin:0;padding-top:30px;border-top:1px solid rgba(43,38,32,.18)}
.jy-corte:has(> div:only-child){grid-template-columns:1fr}
.jy-corte dt{font:400 13px/1.5 'Bodoni Moda',serif;letter-spacing:.18em;text-transform:uppercase;color:var(--oro);margin-bottom:4px}
.jy-corte dd{margin:0;font-size:19px;line-height:1.4}

/* Nácar: mármol blanco con vetas de oro bajo un velo de luz; cada lugar lleva su foto en el marco ovalado de oro. */
/* El nácar va como una sola lámina (cover): las vetas de oro no deben verse reflejadas. */
.jy-nacar{background:linear-gradient(rgba(252,249,243,.5),rgba(252,249,243,.5)),url(/img/texturas/joyero-nacar.jpg) 50% 50%/cover #F3EDE3}
.jy-nacar::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(60% 40% at 30% 0%,rgba(255,255,255,.45),transparent 70%),linear-gradient(180deg,rgba(60,45,20,.18),transparent 5%,transparent 95%,rgba(60,45,20,.18))}
.jy-lugares{display:grid;gap:64px}
@media (min-width:760px){.jy-lugares{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:48px}}
.jy-ovalo{position:relative;isolation:isolate;width:min(58vw,230px);aspect-ratio:2/3;margin:0 auto 26px}
.jy-ovalo::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:url(/img/texturas/joyero-marco.png) center/100% 100% no-repeat}
.jy-ovalo::before{content:"";position:absolute;inset:10% 11% 13%;z-index:-1;border-radius:50%;box-shadow:0 22px 34px -2px rgba(60,40,15,.42),0 6px 12px rgba(60,40,15,.22)}
.jy-ovalo-f{position:absolute;inset:8.6% 11.6% 12.2%;z-index:1;border-radius:50%;background:#2B2620}
.jy-ovalo-f img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.jy-lugar h3,.jy-hotel h3{margin:0;font:400 clamp(27px,7.4vw,34px)/1.15 'Bodoni Moda',serif;font-variation-settings:"opsz" 60;text-wrap:balance}
.jy-hora{margin:10px 0 0;font-size:23px;font-variant-numeric:lining-nums;color:var(--oro)}
.jy-dir{margin:6px auto 14px;max-width:30ch;font-size:17px;color:var(--at-tenue)}
.jy-hotel + .jy-hotel{margin-top:40px}

/* Papel perlado: tarjeta con canto dorado (borde con degradado de oro que sigue la luz) y doble filete interior. */
.jy-tarjeta,.jy-pliego{position:relative;max-width:480px;margin:0 auto;border:2px solid transparent;border-radius:3px;
  background:linear-gradient(rgba(255,252,246,.3),rgba(255,252,246,.3)) padding-box,url(/img/texturas/joyero-perlado.jpg) center/cover padding-box,
    linear-gradient(105deg,var(--f1),var(--f2) 24%,var(--f3) calc(48% + var(--tx) * 30%),var(--f2) calc(60% + var(--tx) * 30%),var(--f1)) border-box;
  background-color:#F3ECE0;box-shadow:0 1px 1px rgba(0,0,0,.4),0 30px 50px -18px rgba(0,0,0,.8),0 10px 20px -8px rgba(0,0,0,.45)}
.jy-tarjeta::before,.jy-pliego::before{content:"";position:absolute;inset:12px;pointer-events:none;border:1px solid rgba(154,118,51,.7);
  box-shadow:inset 0 0 0 3px rgba(255,252,246,.5),inset 0 0 0 4px rgba(154,118,51,.35)}
.jy-tarjeta{padding:60px 10% 52px}
.jy-tarjeta .jy-h{margin-bottom:26px}
.jy-tarjeta .jy-t{font-size:clamp(36px,9vw,48px)}
.jy-prog{list-style:none;margin:0 auto;padding:0;max-width:440px;text-align:left}
.jy-prog li{display:grid;grid-template-columns:30px 1fr auto;gap:12px;align-items:baseline;padding:15px 0;border-bottom:1px solid var(--at-linea)}
.jy-prog li:last-child{border-bottom:0}
.jy-num{font:400 13px/1 'Bodoni Moda',serif;letter-spacing:.06em;color:var(--oro)}
.jy-pt strong{display:block;font-weight:400;font-size:21px;line-height:1.3}
.jy-pt small{display:block;font-style:italic;font-size:16px;color:var(--at-tenue)}
.jy-ph{font-variant-numeric:lining-nums tabular-nums;font-size:17px;letter-spacing:.04em;color:var(--at-tenue);white-space:nowrap}

/* Seda champán con pliegues (foto); los colores de la paleta son cabujones engastados en oro. */
.jy-seda{background:linear-gradient(rgba(250,244,232,.4),rgba(250,244,232,.4)),url(/img/texturas/joyero-seda.jpg) 50% 50%/cover #E9DCC4}
.jy-seda::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(70% 55% at 50% 50%,rgba(252,248,240,.42),transparent 80%),linear-gradient(180deg,rgba(40,30,15,.28),transparent 6%,transparent 94%,rgba(40,30,15,.28))}
.jy-cabujones{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin:30px 0 8px}
.jy-cabujones i{display:block;width:40px;height:52px;border-radius:50%;border:3px solid transparent;
  background:radial-gradient(40% 26% at 38% 26%,rgba(255,255,255,.75),rgba(255,255,255,0) 100%) padding-box,
    radial-gradient(90% 70% at 60% 80%,rgba(0,0,0,.38),rgba(0,0,0,0) 70%) padding-box,
    radial-gradient(70% 60% at 45% 35%,rgba(255,255,255,.18),rgba(255,255,255,0)) padding-box,
    linear-gradient(var(--c),var(--c)) padding-box,
    linear-gradient(135deg,#6E5020,#F1DFA8 32%,#9A7633 55%,#E9D49A 80%,#6E5020) border-box;
  box-shadow:0 0 0 1px rgba(94,67,26,.55),0 6px 10px -2px rgba(40,30,15,.45)}

/* Galería sobre terciopelo liso: marcos de oro. */
.jy-galeria{display:grid;grid-template-columns:1fr 1fr;gap:16px}
/* El recorte va en la propia foto (border-radius) y no con overflow:hidden en el botón: así se pinta siempre, también fuera de la vista. */
.jy .jy-galeria .gal-i{overflow:visible;aspect-ratio:4/5;border-radius:22px;background:#0F3D30;box-shadow:0 0 0 1px rgba(201,164,76,.75),0 0 0 5px rgba(11,42,34,1),0 0 0 6px rgba(201,164,76,.4),0 18px 30px -12px rgba(0,0,0,.7)}
.jy .jy-galeria .gal-i img{border-radius:inherit}
.jy .jy-galeria .gal-i:hover img{transform:none}
@media (min-width:760px){.jy-galeria{grid-template-columns:repeat(3,1fr);gap:24px}.jy-galeria:has(> :nth-child(4):last-child){grid-template-columns:repeat(4,1fr)}}

/* Bandeja del estuche: satén más tostado, con compartimentos acolchados (cojines de satén claro hundidos en la bandeja). */
.jy-bandeja{background:linear-gradient(rgba(246,238,224,.5),rgba(246,238,224,.5)),
  linear-gradient(rgba(214,192,150,.55),rgba(214,192,150,.55)),
  url(/img/texturas/joyero-saten-teja.jpg) calc(50% - 380px) 260px/1150px auto repeat #E3D4B9;background-blend-mode:normal,multiply,normal}
.jy-bandeja .jy-intro{color:#4E4538}
.jy-bandeja::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(40,30,15,.32),rgba(40,30,15,0) 26px,rgba(40,30,15,0) calc(100% - 26px),rgba(40,30,15,.32))}
.jy-cajas{display:grid;gap:22px;margin:38px auto 0;max-width:600px}
@media (min-width:760px){.jy-bandeja .jy-sec{max-width:900px}.jy-cajas{max-width:none;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px}}
.jy-caja{position:relative;padding:34px 10% 32px;border-radius:12px;
  background:radial-gradient(90% 70% at 40% 30%,rgba(255,255,255,.55),rgba(255,255,255,0) 70%),url(/img/texturas/joyero-saten.jpg) center/cover #F4ECDD;
  box-shadow:inset 0 0 0 1px rgba(156,122,53,.55),inset 0 3px 8px rgba(255,255,255,.6),inset 0 -6px 14px rgba(120,95,55,.22),
    0 0 0 5px rgba(205,186,150,.55),0 0 0 6px rgba(120,95,55,.3),0 2px 10px 4px rgba(90,70,40,.22)}
.jy-caja p{margin:4px 0 0}
.jy-caja .at-link{margin-top:8px}

/* Notas y hashtag */
.jy-notas{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-style:italic;font-size:19px;color:var(--at-tenue)}
.jy-tag{margin:10px 0 0;font:400 clamp(32px,8.6vw,44px)/1.2 'Bodoni Moda',serif;font-style:italic}

/* Confirmación: terciopelo plegado (foto) y, encima, un pliego de papel perlado de corte recto. */
.jy-pliegue::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(rgba(4,22,16,.48),rgba(4,22,16,.48)),url(/img/texturas/joyero-terciopelo-pliegue.jpg) 50% 50%/cover #0B2A22;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 110px,#000 calc(100% - 110px),transparent);mask-image:linear-gradient(180deg,transparent,#000 110px,#000 calc(100% - 110px),transparent)}
.jy-pliego{padding:58px 9% 56px;--at-papel:#F7F1E6}
.jy-gema-pliego{width:30px;margin:0 auto 18px}
.jy-pliego .jy-t{font-size:clamp(34px,8.6vw,46px)}
.inv[data-theme="at-joyero"] .jy-pliego .rsvp .btn{background:#0F3D30;color:#F4EDE0;font-family:'Bodoni Moda',serif;font-size:14px;letter-spacing:.3em;box-shadow:inset 0 0 0 1px rgba(201,164,76,.6)}
.inv[data-theme="at-joyero"] .jy-pliego .seg input:checked + span{background:#0F3D30;color:#F4EDE0}
.inv[data-theme="at-joyero"] .jy-pliego .seg span{font-size:17px}
.jy-pliego .fld > span{font-family:'Bodoni Moda',serif;letter-spacing:.16em;font-size:13px}
.jy-pliego .fld input,.jy-pliego .fld select,.jy-pliego .fld textarea{font-size:17px}
.jy-pliego .pass-n{font-family:'Pinyon Script',cursive;font-size:44px}

/* Cierre sobre terciopelo liso: la corona de laurel grabada (PNG) rodea el monograma de oro. */
.jy-cierre .jy-sec{padding:88px max(10vw,32px) 44px}
.jy-emblema{position:relative;width:min(66vw,270px);aspect-ratio:1;margin:0 auto 18px;display:grid;place-items:center}
.jy-laurel{position:absolute;inset:0;pointer-events:none;background:url(/img/texturas/joyero-laurel.webp) center/contain no-repeat;opacity:.92}
.jy-mono-cierre{position:relative;width:34%;height:auto;margin:0}
.jy-firma{margin:14px 0 0;font:400 clamp(48px,14vw,72px)/1.1 'Pinyon Script',cursive}
.jy-firma .at-foil{display:inline-block;padding:.05em .2em .15em}
.jy-puntos{margin-top:12px;font-variant-numeric:lining-nums;letter-spacing:.4em}
.inv[data-theme="at-joyero"] .inv-brand{color:rgba(241,233,218,.5)}


/* ---------- Apertura en video (estuche que se abre) ----------
   El póster es terciopelo oscuro: nombres y avisos en marfil, botón claro translúcido. */
/* El video sale en 2:3: se muestra entero para que el estuche no se corte en teléfonos angostos;
   sus bordes se funden en la penumbra verde de la seda (viñeta), sin cortes duros. */
.inv[data-template="joyero"] .op-video{background:radial-gradient(120% 62% at 50% 46%,#11281F,#07140F 70%,#040B08)}
.inv[data-template="joyero"] .opv{inset:auto;left:50%;top:50%;width:min(100%,calc(100svh * 2 / 3));height:auto;aspect-ratio:2/3;transform:translate(-50%,-50%);object-fit:cover;background:transparent;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent),linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent),linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-composite:intersect}
.inv[data-template="joyero"] .opv-tap{white-space:nowrap}
.inv[data-template="joyero"] .opv-ui .op-to{color:rgba(241,233,218,.82);text-shadow:0 1px 10px rgba(0,0,0,.6);font-family:'Bodoni Moda',serif;font-size:13px;letter-spacing:.24em}
.inv[data-template="joyero"] .opv-ui .op-to strong{color:#F7F0E2}
.inv[data-template="joyero"] .opv-n{color:#EAD9AE;text-shadow:0 2px 14px rgba(0,0,0,.65);font-size:clamp(40px,11vw,58px)}
.inv[data-template="joyero"] .opv-tap{background:rgba(241,233,218,.2);color:#F7F0E2;font-family:'Bodoni Moda',serif;font-size:13px;letter-spacing:.24em;
  box-shadow:inset 0 0 0 1px rgba(234,217,174,.55),0 10px 30px -10px rgba(0,0,0,.7)}
.inv[data-template="joyero"] .opv-skip{color:rgba(241,233,218,.72);font-family:'Bodoni Moda',serif;font-size:12px}
