/* =====================================================================
   Inolvidia · tema «luna» — Luna de Atacama  (demo: boda-luna, San Pedro de Atacama, §24.1 n.º 3)
   Dueño: equipo del tema luna. Contrato §5: variables en :root + decoración acotada SIEMPRE bajo
   html[data-theme="luna"] y solo sobre clases públicas del motor (y las internas de las intros que viste).
   Concepto: una noche en el desierto más claro del mundo. Medianoche y azul tinta, oro y marfil de luna;
   la luna llena con sus mares (vista desde el hemisferio sur: Tycho arriba), el arco de sus fases en oro,
   constelaciones de línea fina, polvo de estrellas y los volcanes del altiplano en silueta. Lavanda niebla
   solo para el texto secundario y la bruma del horizonte. Nada de plata ni rosa (eso es «constelacion», XV).
   Tipos: Forum (títulos) · Luxurious Script (nombres) · Raleway (texto e interfaz).
   Tema OSCURO. Contraste medido (WCAG): marfil #F3EEDF sobre #0F1630 15,4:1 (sobre tarjeta #1B2547 12,9:1) ·
   lavanda #B7B4D2 sobre #0F1630 8,9:1 (sobre #1B2547 7,5:1; en tarjeta 6,9:1) · oro #D9B76E sobre #0F1630 9,3:1 (sobre #1B2547 7,8:1) ·
   oro claro #F1D9A0 en tarjeta 10:1 · botón oro (degradado) con tinta #0F1630 entre 7:1 y 13,5:1.
   Tabla completa: node qa/bodas24/boda-luna/contraste.mjs (24 pares, todos ≥ 4,5:1).
   Arte: SVG propios dibujados con código en tools/temas/luna.mjs (bloque @recursos, no se edita a mano).
   Apertura «velo» (§24.2): variables --velo-* abajo (tarjeta de medianoche: la cámara entra al mismo cielo del
   hero, y el destello es un hilo de oro); si el módulo no carga, el telón de respaldo se viste de terciopelo de
   medianoche con la misma luna detrás. Contraste sobre el render real: qa/bodas24/boda-luna/revision/contraste-fondos.mjs.
   ===================================================================== */

:root {
  --bg: #0F1630;
  --bg-alt: #1B2547;
  --surface: #1A2448;
  --ink: #F3EEDF;
  --ink-soft: #B7B4D2;
  --accent: #D9B76E;
  --accent-2: #E9D3A1;
  --accent-ink: #0F1630;
  --line: rgba(217, 183, 110, .2);
  --font-display: 'Forum', 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --font-script: 'Luxurious Script', 'Forum', cursive;
  --font-body: 'Raleway', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --radius: 16px;
  --shadow: 0 30px 56px -34px rgba(2, 4, 16, .95), inset 0 1px 0 rgba(243, 238, 223, .05);
  --hero-overlay: linear-gradient(180deg, rgba(8, 12, 30, .25), rgba(8, 12, 30, .85));
  --hero-ink: #F7F2E4;
  --intro-bg: #0A1026;
  --intro-ink: #F3EEDF;
  --seal: #1F2B58;
  --pattern: var(--ln-stars-a);
  --ornament: var(--ln-ornament);
  --credit-tone: oscuro;     /* pie oscuro: el logo del crédito en su versión clara, sin medir */
  color-scheme: dark;

  /* — apertura «velo» (§24.2): tul de medianoche bordado en oro; detrás, la luna llena — */
  --velo-tul: #18214A;
  --velo-opacidad: .76;
  --velo-brillo: #F1D9A0;
  --velo-tinta: #F3EEDF;
  --velo-fx: estrellas;
  --velo-luna: #F1E6C8;      /* luna llena del velo (halo y rayos); su dibujo: --velo-luna-img */
  --velo-hilo: #D9B76E;      /* hilo del bordado y del ruedo: oro (nada de plata) */
  --velo-perla: #F1D9A0;     /* cuentas del ruedo: oro claro */
  --velo-tarjeta: #111A3D;   /* tarjeta de medianoche: al entrar la cámara, la pantalla ya es el cielo del hero */
  /* --velo-encaje, --velo-motivo y --velo-fondo: arte en el bloque @recursos */

  /* — propias del tema — */
  --ln-night: #0F1630;
  --ln-deep: #0A1026;
  --ln-ink: #1B2547;
  --ln-gold: #D9B76E;
  --ln-gold-hi: #F1D9A0;
  --ln-gold-lo: #A98340;
  --ln-ivory: #F3EEDF;
  --ln-lavender: #A9A6C9;
  --ln-foil: linear-gradient(100deg, #B8914A 0%, #E9D3A1 20%, #FFF4D6 32%, #DDBD74 46%, #A98340 60%, #E9D3A1 80%, #C9A45C 100%);
  --ln-glass: linear-gradient(165deg, rgba(31, 42, 84, .88), rgba(20, 28, 60, .94));
  --ln-hair: rgba(217, 183, 110, .32);
}

/* @recursos:inicio — arte propio generado por tools/temas/luna.mjs (no editar a mano) */
html[data-theme="luna"] {
  --ln-moon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-100 -100 200 200'%3E%3Cdefs%3E%3CradialGradient id='mb' cx='.46' cy='.42' r='.64'%3E%3Cstop offset='0' stop-color='%23FFFBF0'/%3E%3Cstop offset='.45' stop-color='%23F5ECD4'/%3E%3Cstop offset='.84' stop-color='%23E9DBB6'/%3E%3Cstop offset='1' stop-color='%23DCC796'/%3E%3C/radialGradient%3E%3CradialGradient id='ml' r='.5'%3E%3Cstop offset='.88' stop-color='%23735C36' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='%23735C36' stop-opacity='.16'/%3E%3C/radialGradient%3E%3Cfilter id='mm' x='-15%25' y='-15%25' width='130%25' height='130%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.05' numOctaves='3' seed='3'/%3E%3CfeDisplacementMap in='SourceGraphic' scale='10' xChannelSelector='R' yChannelSelector='G'/%3E%3CfeGaussianBlur stdDeviation='1.5'/%3E%3C/filter%3E%3Cfilter id='ms' x='-15%25' y='-15%25' width='130%25' height='130%25'%3E%3CfeGaussianBlur stdDeviation='3'/%3E%3C/filter%3E%3Cfilter id='mr' x='-15%25' y='-15%25' width='130%25' height='130%25'%3E%3CfeGaussianBlur stdDeviation='.55'/%3E%3C/filter%3E%3Cfilter id='mt' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' seed='5'/%3E%3CfeColorMatrix values='0 0 0 0 .4 0 0 0 0 .34 0 0 0 0 .24 1 0 0 0 -.44'/%3E%3C/filter%3E%3Cfilter id='mv' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.04' numOctaves='3' seed='9'/%3E%3CfeColorMatrix values='0 0 0 0 .46 0 0 0 0 .4 0 0 0 0 .3 0 0 0 1.2 -.6'/%3E%3C/filter%3E%3CclipPath id='mc'%3E%3Ccircle r='100'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg clip-path='url(%23mc)'%3E%3Ccircle r='100' fill='url(%23mb)'/%3E%3Crect x='-100' y='-100' width='200' height='200' filter='url(%23mv)' opacity='.5'/%3E%3Cg transform='rotate(180)'%3E%3Cg fill='%238C8068' filter='url(%23mm)'%3E%3Cpath d='M-3 36Q-2 42 -5 47T-15 51T-27 50T-35 44T-43 34T-45 24T-34 20T-23 24T-11 29T-3 36ZM-15 45Q-15 49 -20 52T-28 48T-31 37T-30 29T-21 27T-15 35T-15 45ZM-62-16Q-59-4 -63 4T-69 21T-76 30T-87 28T-95 15T-96-6T-89-18T-80-27T-70-31T-62-16ZM-67-10Q-67-3 -72 7T-83 12T-86-1T-83-20T-74-35T-67-30T-67-10ZM-58 21Q-53 27 -57 30T-65 34T-70 36T-78 36T-83 29T-83 17T-79 12T-72 12T-66 14T-58 21ZM-72 24Q-70 28 -73 29T-78 26T-81 20T-81 13T-78 10T-74 15T-72 24ZM38-85Q32-84 29-83T19-81T0-79T-24-80T-36-83T-28-85T-13-87T4-89T30-88T38-85ZM13-76Q12-76 9-76T0-78T-12-84T-12-87T-3-85T7-82T13-76ZM-36-14Q-33-10 -36-7T-44-3T-51-4T-59-6T-63-11T-61-19T-55-23T-47-23T-42-20T-36-14ZM-28 15Q-28 18 -28 21T-31 26T-37 29T-41 25T-44 19T-46 14T-44 8T-38 7T-31 11T-28 15ZM47-59Q49-57 47-56T43-55T37-57T34-60T30-64T29-68T33-69T39-66T43-63T47-59ZM-7-20Q-3-19 -5-16T-9-13T-15-14T-20-15T-24-16T-24-21T-20-24T-15-25T-12-23T-7-20ZM7-5Q8-3 8-2T6 1T3 1T0 0T-2-3T-3-5T-1-8T2-8T5-6T7-5ZM86 55Q86 56 83 59T77 67T70 75T67 76T71 70T74 64T78 58T84 52T86 52T86 55ZM77 67Q76 68 73 71T70 72T70 71T73 66T77 62T78 63T77 67Z' fill-opacity='.46'/%3E%3Cpath d='M70-4Q74 4 68 8T55 6T45-4T34-12T26-24T32-33T45-33T56-26T63-17T70-4ZM50-2Q45-1 40 3T32-1T32-14T39-20T49-20T54-10T50-2ZM91-5Q94 2 92 11T88 26T82 31T74 31T66 26T63 9T69-2T77-9T83-14T91-5ZM90 10Q88 18 85 21T79 27T75 24T77 12T82 6T89 4T90 10ZM65 21Q64 25 63 28T59 32T54 34T49 35T45 31T48 25T53 21T57 17T62 16T65 21ZM-50 40Q-48 43 -49 45T-51 51T-55 54T-61 50T-63 44T-64 37T-64 31T-59 28T-53 33T-50 40ZM-50-59Q-60-41 -65-29T-77-7T-92 6T-98-4T-98-28T-89-52T-73-69T-59-81T-46-83T-50-59ZM-58-29Q-65-20 -75-8T-88-4T-86-21T-74-43T-59-55T-50-47T-58-29ZM13-25Q14-23 13-21T11-17T6-15T1-17T0-21T0-25T1-29T6-31T10-29T13-25ZM99-24Q100-20 100-18T99-16T99-14T97-15T95-20T94-28T95-30T96-30T97-30T99-24ZM101-5Q101-2 101 2T101 9T100 14T99 9T99 1T99-6T98-14T99-16T101-11T101-5Z' fill-opacity='.6'/%3E%3Cpath d='M7-65Q12-60 5-54T-7-43T-21-35T-42-33T-50-42T-45-56T-38-67T-21-76T-5-75T7-65ZM-21-44Q-28-38 -30-30T-42-26T-51-37T-47-51T-36-59T-21-55T-21-44ZM44-50Q50-45 48-40T39-33T28-34T17-36T9-43T8-54T14-61T25-62T34-57T44-50ZM34-43Q34-40 30-37T22-37T18-44T20-51T26-55T33-51T34-43ZM89-30Q92-26 93-19T92-11T85-15T80-22T74-28T70-39T73-46T79-44T84-38T89-30ZM86-25Q85-21 83-20T78-19T75-25T77-32T80-37T84-34T86-25Z' fill-opacity='.72'/%3E%3C/g%3E%3Cpath d='M-5-57Q4-54 -6-51T-20-49T-33-50T-39-56T-30-63T-18-62T-5-57ZM35-47Q36-44 34-42T28-39T21-43T21-49T24-56T30-55T35-47ZM57-11Q52-9 50-6T43-6T39-13T42-21T48-23T57-17T57-11ZM86-28Q87-25 87-22T85-19T82-24T80-32T80-37T84-35T86-28ZM83 7Q84 11 83 18T78 25T74 21T71 10T72 3T79 2T83 7ZM-62-49Q-67-38 -73-30T-83-21T-88-27T-82-43T-70-58T-61-62T-62-49Z' fill='%237A6E56' fill-opacity='.3' filter='url(%23ms)'/%3E%3Cpath d='M3-38Q1-33 -6-27T-14-24T-13-32T-7-45T0-51T4-46T3-38ZM-31-26Q-32-24 -33-24T-36-21T-40-21T-41-24T-39-26T-34-27T-31-26ZM13-62Q16-62 19-59T20-55T15-54T9-56T5-61T7-63T13-62ZM43 5Q45 7 43 11T39 11T36 7T34 3T37-1T41 1T43 5Z' fill='%23F3EAD2' fill-opacity='.42' filter='url(%23ms)'/%3E%3Cg fill='%235F543F' fill-opacity='.5' filter='url(%23mr)'%3E%3Cellipse cx='-10' cy='-78' rx='2.6' ry='1.5'/%3E%3Cellipse cx='-93' cy='9' rx='1.5' ry='3.6'/%3E%3C/g%3E%3Cg fill='%23FFF9E6' filter='url(%23mr)'%3E%3Cpath d='M-14 70L10 75L-14 68ZM-15 69L27 106L-13 68ZM-15 69L16 121L-13 68ZM-15 68L-83 110L-14 69ZM-34-16L-19-10L-34-17ZM-61-15L-66-17L-61-14ZM-60-14L-57-19L-61-14ZM70-28L64-22L70-27Z' fill-opacity='.14'/%3E%3Cpath d='M-14 68L-81 42L-14 69ZM-14 68L-27 50L-15 69ZM-13 69L6 9L-15 68ZM-13 69L43 11L-15 68ZM-35-17L-37 7L-33-17ZM-33-17L-43-40L-35-16ZM-33-16L-30-25L-35-17ZM-34-16L-23-20L-34-17ZM-61-14L-48-7L-61-14ZM-61-14L-55-2L-60-14ZM71-28L65-37L69-27Z' fill-opacity='.22'/%3E%3Cpath d='M-15 68L-21 124L-13 69ZM-15 68L-46 131L-13 69ZM-14 67L-58 66L-14 70ZM-13 69L-19 5L-15 69ZM-14 70L45 49L-14 67ZM-34-16L-20-2L-34-17ZM-34-17L-55 1L-33-16ZM-34-17L-53-14L-34-16ZM-33-17L-47-31L-34-16ZM-61-15L-69-11L-61-14ZM-60-14L-60-23L-62-14ZM70-28L61-28L70-27ZM71-28L68-36L70-28Z' fill-opacity='.3'/%3E%3C/g%3E%3Cpath d='M-14 69h0M-34-17h0M-67-40h0M-61-14h0' stroke='%23FFFBEC' stroke-width='9' stroke-opacity='.24' stroke-linecap='round' fill='none' filter='url(%23ms)'/%3E%3Cpath d='M-14 69h0M-34-17h0M-67-40h0M-61-14h0M70-28h0M86 15h0M26-28h0M68 54h0M73 55h0' stroke='%23FFFEF6' stroke-width='2.6' stroke-linecap='round' fill='none'/%3E%3Cpath d='M53 11h0M-65 68h0M-27-84h0M-45 24h0M94 14h0M3 93h0M75 38h0M76 37h0M63 22h0M-59 55h0M37-13h0M27-22h0M77 20h0M18 45h0M42-76h0M-3-35h0M8 87h0M-74 42h0M-6 24h0M-23 96h0M56 46h0M68 44h0M15 60h0M73 2h0' stroke='%23FFFBEC' stroke-width='1.6' stroke-opacity='.3' stroke-linecap='round' fill='none'/%3E%3Cpath d='M-9 28h0M32-69h0M95-23h0M97-16h0M-44 44h0M69-4h0M-56-41h0M-63-70h0M-59 62h0M29-41h0M76-13h0M9-7h0' stroke='%23857356' stroke-width='1.3' stroke-opacity='.24' stroke-linecap='round' fill='none'/%3E%3C/g%3E%3Crect x='-100' y='-100' width='200' height='200' filter='url(%23mt)' opacity='.3'/%3E%3Ccircle r='100' fill='url(%23ml)'/%3E%3C/g%3E%3Ccircle r='99.3' fill='none' stroke='%23FFF8E2' stroke-opacity='.4' stroke-width='.7'/%3E%3C/svg%3E");
  --ln-phases: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 230'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23F6E7BC'/%3E%3Cstop offset='.55' stop-color='%23DDBD74'/%3E%3Cstop offset='1' stop-color='%23B8914A'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M22.1 207.8A178 178 0 0 1 160 40.6 M240 40.6A178 178 0 0 1 377.9 207.8' fill='none' stroke='%23D9B76E' stroke-opacity='.55' stroke-width='.8' stroke-dasharray='1 5' stroke-linecap='round'/%3E%3Ccircle cx='25.9' cy='177' r='7.5' fill='%230F1630' fill-opacity='.7' stroke='%23D9B76E' stroke-opacity='.7' stroke-width='.7'/%3E%3Cpath d='M25.9 170.1A6.9 6.9 0 0 0 25.9 183.9A5.5 6.9 0 0 1 25.9 170.1Z' fill='url(%23g)'/%3E%3Ccircle cx='374.1' cy='177' r='7.5' fill='%230F1630' fill-opacity='.7' stroke='%23D9B76E' stroke-opacity='.7' stroke-width='.7'/%3E%3Cpath d='M374.1 170.1A6.9 6.9 0 0 1 374.1 183.9A5.5 6.9 0 0 0 374.1 170.1Z' fill='url(%23g)'/%3E%3Ccircle cx='49' cy='119.7' r='9' fill='%230F1630' fill-opacity='.7' stroke='%23D9B76E' stroke-opacity='.7' stroke-width='.7'/%3E%3Cpath d='M49 111.3A8.4 8.4 0 0 0 49 128.1A3.9 8.4 0 0 1 49 111.3Z' fill='url(%23g)'/%3E%3Ccircle cx='351' cy='119.7' r='9' fill='%230F1630' fill-opacity='.7' stroke='%23D9B76E' stroke-opacity='.7' stroke-width='.7'/%3E%3Cpath d='M351 111.3A8.4 8.4 0 0 1 351 128.1A3.9 8.4 0 0 0 351 111.3Z' fill='url(%23g)'/%3E%3Ccircle cx='90.4' cy='73.7' r='10.5' fill='%230F1630' fill-opacity='.7' stroke='%23D9B76E' stroke-opacity='.7' stroke-width='.7'/%3E%3Cpath d='M90.4 63.8A9.9 9.9 0 0 0 90.4 83.6A0 9.9 0 0 0 90.4 63.8Z' fill='url(%23g)'/%3E%3Ccircle cx='309.6' cy='73.7' r='10.5' fill='%230F1630' fill-opacity='.7' stroke='%23D9B76E' stroke-opacity='.7' stroke-width='.7'/%3E%3Cpath d='M309.6 63.8A9.9 9.9 0 0 1 309.6 83.6A0 9.9 0 0 1 309.6 63.8Z' fill='url(%23g)'/%3E%3Ccircle cx='139.1' cy='46.7' r='12' fill='%230F1630' fill-opacity='.7' stroke='%23D9B76E' stroke-opacity='.7' stroke-width='.7'/%3E%3Cpath d='M139.1 35.3A11.4 11.4 0 0 0 139.1 58.1A5.9 11.4 0 0 0 139.1 35.3Z' fill='url(%23g)'/%3E%3Ccircle cx='260.9' cy='46.7' r='12' fill='%230F1630' fill-opacity='.7' stroke='%23D9B76E' stroke-opacity='.7' stroke-width='.7'/%3E%3Cpath d='M260.9 35.3A11.4 11.4 0 0 1 260.9 58.1A5.9 11.4 0 0 1 260.9 35.3Z' fill='url(%23g)'/%3E%3Cpath d='M48.9 148.4C49.4 152.4 49.4 152.4 53.4 152.9C49.4 153.5 49.4 153.5 48.9 157.4C48.3 153.5 48.3 153.5 44.4 152.9C48.3 152.4 48.3 152.4 48.9 148.4Z' fill='%23F3E2B0' fill-opacity='1'/%3E%3Cpath d='M351.1 148.4C351.7 152.4 351.7 152.4 355.6 152.9C351.7 153.5 351.7 153.5 351.1 157.4C350.6 153.5 350.6 153.5 346.6 152.9C350.6 152.4 350.6 152.4 351.1 148.4Z' fill='%23F3E2B0' fill-opacity='1'/%3E%3Cpath d='M78.9 101.5C79.3 104.5 79.3 104.5 82.3 104.9C79.3 105.3 79.3 105.3 78.9 108.3C78.5 105.3 78.5 105.3 75.5 104.9C78.5 104.5 78.5 104.5 78.9 101.5Z' fill='%23F3E2B0' fill-opacity='0.8'/%3E%3Cpath d='M321.1 101.5C321.5 104.5 321.5 104.5 324.5 104.9C321.5 105.3 321.5 105.3 321.1 108.3C320.7 105.3 320.7 105.3 317.7 104.9C320.7 104.5 320.7 104.5 321.1 101.5Z' fill='%23F3E2B0' fill-opacity='0.8'/%3E%3Cpath d='M106.9 42.1C107.4 45.6 107.4 45.6 110.9 46.1C107.4 46.6 107.4 46.6 106.9 50.1C106.4 46.6 106.4 46.6 102.9 46.1C106.4 45.6 106.4 45.6 106.9 42.1Z' fill='%23F3E2B0' fill-opacity='0.9'/%3E%3Cpath d='M293.1 42.1C293.6 45.6 293.6 45.6 297.1 46.1C293.6 46.6 293.6 46.6 293.1 50.1C292.6 46.6 292.6 46.6 289.1 46.1C292.6 45.6 292.6 45.6 293.1 42.1Z' fill='%23F3E2B0' fill-opacity='0.9'/%3E%3Cpath d='M176.6 20.8C176.9 23.1 176.9 23.1 179.2 23.4C176.9 23.7 176.9 23.7 176.6 26C176.3 23.7 176.3 23.7 174 23.4C176.3 23.1 176.3 23.1 176.6 20.8Z' fill='%23F3E2B0' fill-opacity='0.7'/%3E%3Cpath d='M223.4 20.8C223.7 23.1 223.7 23.1 226 23.4C223.7 23.7 223.7 23.7 223.4 26C223.1 23.7 223.1 23.7 220.8 23.4C223.1 23.1 223.1 23.1 223.4 20.8Z' fill='%23F3E2B0' fill-opacity='0.7'/%3E%3C/svg%3E");
  --ln-asterism: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 220'%3E%3Cg stroke='%23E9D3A1' stroke-opacity='.5' stroke-width='.7' fill='none'%3E%3Cpath d='M18 34L58 14'/%3E%3Cpath d='M58 14L104 30'/%3E%3Cpath d='M104 30L128 70'/%3E%3Cpath d='M128 70L150 110'/%3E%3Cpath d='M150 110L176 150'/%3E%3Cpath d='M176 150L198 190'/%3E%3Cpath d='M198 190L246 204'/%3E%3Cpath d='M246 204L284 180'/%3E%3Cpath d='M150 110L262 66'/%3E%3Cpath d='M150 110L40 160'/%3E%3C/g%3E%3Cg fill='%23FFF4D6'%3E%3Ccircle cx='18' cy='34' r='6' fill-opacity='.14'/%3E%3Cpath d='M18 30C18.5 33.5 18.5 33.5 22 34C18.5 34.5 18.5 34.5 18 38C17.5 34.5 17.5 34.5 14 34C17.5 33.5 17.5 33.5 18 30Z'/%3E%3Ccircle cx='58' cy='14' r='3.9' fill-opacity='.14'/%3E%3Cpath d='M58 11.4C58.3 13.7 58.3 13.7 60.6 14C58.3 14.3 58.3 14.3 58 16.6C57.7 14.3 57.7 14.3 55.4 14C57.7 13.7 57.7 13.7 58 11.4Z'/%3E%3Ccircle cx='104' cy='30' r='5.1' fill-opacity='.14'/%3E%3Cpath d='M104 26.6C104.4 29.6 104.4 29.6 107.4 30C104.4 30.4 104.4 30.4 104 33.4C103.6 30.4 103.6 30.4 100.6 30C103.6 29.6 103.6 29.6 104 26.6Z'/%3E%3Ccircle cx='128' cy='70' r='3.3' fill-opacity='.14'/%3E%3Cpath d='M128 67.8C128.3 69.7 128.3 69.7 130.2 70C128.3 70.3 128.3 70.3 128 72.2C127.7 70.3 127.7 70.3 125.8 70C127.7 69.7 127.7 69.7 128 67.8Z'/%3E%3Ccircle cx='150' cy='110' r='7.8' fill-opacity='.14'/%3E%3Cpath d='M150 104.8C150.6 109.4 150.6 109.4 155.2 110C150.6 110.6 150.6 110.6 150 115.2C149.4 110.6 149.4 110.6 144.8 110C149.4 109.4 149.4 109.4 150 104.8Z'/%3E%3Ccircle cx='176' cy='150' r='3.6' fill-opacity='.14'/%3E%3Cpath d='M176 147.6C176.3 149.7 176.3 149.7 178.4 150C176.3 150.3 176.3 150.3 176 152.4C175.7 150.3 175.7 150.3 173.6 150C175.7 149.7 175.7 149.7 176 147.6Z'/%3E%3Ccircle cx='198' cy='190' r='5.4' fill-opacity='.14'/%3E%3Cpath d='M198 186.4C198.4 189.6 198.4 189.6 201.6 190C198.4 190.4 198.4 190.4 198 193.6C197.6 190.4 197.6 190.4 194.4 190C197.6 189.6 197.6 189.6 198 186.4Z'/%3E%3Ccircle cx='246' cy='204' r='3.9' fill-opacity='.14'/%3E%3Cpath d='M246 201.4C246.3 203.7 246.3 203.7 248.6 204C246.3 204.3 246.3 204.3 246 206.6C245.7 204.3 245.7 204.3 243.4 204C245.7 203.7 245.7 203.7 246 201.4Z'/%3E%3Ccircle cx='284' cy='180' r='6.3' fill-opacity='.14'/%3E%3Cpath d='M284 175.8C284.5 179.5 284.5 179.5 288.2 180C284.5 180.5 284.5 180.5 284 184.2C283.5 180.5 283.5 180.5 279.8 180C283.5 179.5 283.5 179.5 284 175.8Z'/%3E%3Ccircle cx='262' cy='66' r='3.6' fill-opacity='.14'/%3E%3Cpath d='M262 63.6C262.3 65.7 262.3 65.7 264.4 66C262.3 66.3 262.3 66.3 262 68.4C261.7 66.3 261.7 66.3 259.6 66C261.7 65.7 261.7 65.7 262 63.6Z'/%3E%3Ccircle cx='40' cy='160' r='3.3' fill-opacity='.14'/%3E%3Cpath d='M40 157.8C40.3 159.7 40.3 159.7 42.2 160C40.3 160.3 40.3 160.3 40 162.2C39.7 160.3 39.7 160.3 37.8 160C39.7 159.7 39.7 159.7 40 157.8Z'/%3E%3C/g%3E%3C/svg%3E");
  --ln-volcanes: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 220' preserveAspectRatio='xMidYMax slice'%3E%3Cdefs%3E%3ClinearGradient id='n' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23A9A6C9' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='%23A9A6C9' stop-opacity='.16'/%3E%3C/linearGradient%3E%3ClinearGradient id='o' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23F1D9A0'/%3E%3Cstop offset='1' stop-color='%23D9B76E' stop-opacity='0'/%3E%3C/linearGradient%3E%3ClinearGradient id='c' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%231B2350'/%3E%3Cstop offset='.5' stop-color='%23131B3C'/%3E%3Cstop offset='1' stop-color='%230F1634'/%3E%3C/linearGradient%3E%3CradialGradient id='s' gradientUnits='userSpaceOnUse' cx='600' cy='34' r='150'%3E%3Cstop offset='0' stop-color='%23E9D3A1' stop-opacity='.15'/%3E%3Cstop offset='1' stop-color='%23E9D3A1' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Crect y='90' width='1200' height='130' fill='url(%23n)'/%3E%3Cpath d='M0 220L0 168L0 150.1L40 147.9L80 162.3L120 151.8L160 165.8L200 152.6L240 149.3L280 156.1L320 144.5L360 162L400 147.7L440 148.7L480 150.8L520 167.6L560 155.9L600 160.2L640 144.7L680 160.5L720 148.4L760 149.2L800 161.4L840 167.5L880 147.4L920 162.6L960 160.9L1000 164.8L1040 155.8L1080 142.2L1120 161.6L1160 165.9L1200 145.9L1200 220Z' fill='%23202A52'/%3E%3Cpath d='M60 220L120 190C170 160 214 124 236 112C244 108 250 108 258 113C286 132 330 168 380 196L420 220Z' fill='%23182146'/%3E%3Cpath d='M330 220L392 186C452 160 520 104 566 58C580 44 588 37 600 36C612 37 620 44 634 58C676 100 716 140 744 160L800 150C812 128 826 104 838 92L872 91C890 112 918 146 960 176L1040 196L1200 206L1200 220Z' fill='url(%23c)'/%3E%3Cpath d='M330 220L392 186C452 160 520 104 566 58C580 44 588 37 600 36C612 37 620 44 634 58C676 100 716 140 744 160L800 150C812 128 826 104 838 92L872 91C890 112 918 146 960 176L1040 196L1200 206L1200 220Z' fill='url(%23s)'/%3E%3Cpath d='M566 58C520 104 452 160 392 186' fill='none' stroke='url(%23o)' stroke-width='1.6' stroke-linecap='round'/%3E%3Cpath d='M600 36C588 37 580 44 566 58' fill='none' stroke='%23F1D9A0' stroke-width='1.6' stroke-linecap='round'/%3E%3Cpath d='M600 36C612 37 620 44 634 58C646 70 656 80 664 88' fill='none' stroke='%23E9D3A1' stroke-opacity='.35' stroke-width='1.1' stroke-linecap='round'/%3E%3Cpath d='M826 104C830 98 834 94 838 92L872 91C876 96 880 101 884 106' fill='none' stroke='%23E9D3A1' stroke-opacity='.5' stroke-width='1.1' stroke-linecap='round'/%3E%3Cpath d='M0 220L0 200L0 191.9L24 196L48 197L72 199.4L96 201L120 201.9L144 199.1L168 194.8L192 196.3L216 192L240 202.2L264 197.2L288 193.1L312 200.9L336 197.4L360 199.4L384 197.4L408 196.9L432 189.9L456 202.6L480 195.4L504 190L528 196.7L552 196.4L576 188.5L600 198.1L624 198.4L648 199.6L672 203.9L696 203.8L720 191.6L744 202.7L768 202.7L792 191.9L816 198.2L840 194.2L864 190.2L888 196L912 195.4L936 196L960 201.4L984 201.5L1008 199.2L1032 196L1056 205.9L1080 195.1L1104 205.5L1128 200.6L1152 189.4L1176 194.3L1200 198.1L1200 220Z' fill='%230A1027'/%3E%3Cpath d='M0 206L1200 206' stroke='%23D9B76E' stroke-opacity='.18' stroke-width='.8'/%3E%3C/svg%3E");
  --ln-stars-a: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320' viewBox='0 0 320 320'%3E%3Ccircle cx='43' cy='245' r='0.5' fill='%23F7F2E4' fill-opacity='0.6'/%3E%3Ccircle cx='188' cy='308' r='0.5' fill='%23F1D9A0' fill-opacity='0.6'/%3E%3Ccircle cx='125' cy='280' r='0.4' fill='%23F1D9A0' fill-opacity='0.4'/%3E%3Ccircle cx='9' cy='63' r='0.4' fill='%23F1D9A0' fill-opacity='0.5'/%3E%3Ccircle cx='14' cy='189' r='1.3' fill='%23F7F2E4' fill-opacity='0.8'/%3E%3Ccircle cx='139' cy='239' r='0.4' fill='%23F7F2E4' fill-opacity='0.3'/%3E%3Ccircle cx='47' cy='165' r='1' fill='%23F7F2E4' fill-opacity='0.8'/%3E%3Ccircle cx='56' cy='13' r='0.4' fill='%23F7F2E4' fill-opacity='0.6'/%3E%3Ccircle cx='108' cy='241' r='0.8' fill='%23F7F2E4' fill-opacity='0.3'/%3E%3Ccircle cx='89' cy='193' r='0.5' fill='%23F7F2E4' fill-opacity='0.6'/%3E%3Ccircle cx='38' cy='266' r='0.6' fill='%23F7F2E4' fill-opacity='0.6'/%3E%3Ccircle cx='117' cy='70' r='0.6' fill='%23F7F2E4' fill-opacity='0.5'/%3E%3Ccircle cx='30' cy='35' r='0.7' fill='%23F1D9A0' fill-opacity='0.5'/%3E%3Ccircle cx='190' cy='80' r='0.7' fill='%23F7F2E4' fill-opacity='0.6'/%3E%3Ccircle cx='61' cy='283' r='0.6' fill='%23F7F2E4' fill-opacity='0.5'/%3E%3Ccircle cx='63' cy='112' r='0.6' fill='%23F1D9A0' fill-opacity='0.7'/%3E%3Ccircle cx='260' cy='176' r='0.7' fill='%23F1D9A0' fill-opacity='0.7'/%3E%3Ccircle cx='24' cy='123' r='0.4' fill='%23F7F2E4' fill-opacity='0.6'/%3E%3Ccircle cx='32' cy='287' r='0.5' fill='%23F7F2E4' fill-opacity='0.4'/%3E%3Ccircle cx='170' cy='96' r='0.5' fill='%23F1D9A0' fill-opacity='0.6'/%3E%3Ccircle cx='150' cy='188' r='0.5' fill='%23F7F2E4' fill-opacity='0.4'/%3E%3Ccircle cx='148' cy='17' r='0.8' fill='%23F7F2E4' fill-opacity='0.6'/%3E%3Ccircle cx='238' cy='76' r='0.5' fill='%23F1D9A0' fill-opacity='0.4'/%3E%3Ccircle cx='94' cy='314' r='0.6' fill='%23F7F2E4' fill-opacity='0.6'/%3E%3Ccircle cx='214' cy='315' r='0.5' fill='%23F7F2E4' fill-opacity='0.5'/%3E%3Ccircle cx='213' cy='283' r='0.5' fill='%23F7F2E4' fill-opacity='0.6'/%3E%3Ccircle cx='8' cy='28' r='0.4' fill='%23F7F2E4' fill-opacity='0.6'/%3E%3Ccircle cx='190' cy='92' r='0.5' fill='%23F1D9A0' fill-opacity='0.6'/%3E%3Ccircle cx='197' cy='25' r='0.4' fill='%23F7F2E4' fill-opacity='0.4'/%3E%3Ccircle cx='216' cy='145' r='0.6' fill='%23F1D9A0' fill-opacity='0.5'/%3E%3Ccircle cx='260' cy='124' r='0.8' fill='%23F7F2E4' fill-opacity='0.5'/%3E%3Ccircle cx='1' cy='311' r='0.8' fill='%23F7F2E4' fill-opacity='0.5'/%3E%3Ccircle cx='190' cy='50' r='0.6' fill='%23F7F2E4' fill-opacity='0.3'/%3E%3Ccircle cx='213' cy='193' r='1' fill='%23F7F2E4' fill-opacity='0.8'/%3E%3Ccircle cx='129' cy='286' r='0.6' fill='%23F7F2E4' fill-opacity='0.5'/%3E%3Ccircle cx='20' cy='199' r='0.5' fill='%23F7F2E4' fill-opacity='0.5'/%3E%3Ccircle cx='51' cy='82' r='0.5' fill='%23F7F2E4' fill-opacity='0.3'/%3E%3Ccircle cx='130' cy='94' r='0.6' fill='%23F1D9A0' fill-opacity='0.3'/%3E%3Ccircle cx='208' cy='207' r='1.1' fill='%23F1D9A0' fill-opacity='0.8'/%3E%3Ccircle cx='108' cy='112' r='0.7' fill='%23F7F2E4' fill-opacity='0.3'/%3E%3Ccircle cx='158' cy='193' r='0.7' fill='%23F7F2E4' fill-opacity='0.6'/%3E%3Ccircle cx='251' cy='111' r='0.6' fill='%23F1D9A0' fill-opacity='0.5'/%3E%3Ccircle cx='130' cy='65' r='0.5' fill='%23F7F2E4' fill-opacity='0.4'/%3E%3Ccircle cx='294' cy='60' r='0.4' fill='%23F7F2E4' fill-opacity='0.4'/%3E%3Ccircle cx='143' cy='207' r='0.5' fill='%23F7F2E4' fill-opacity='0.5'/%3E%3Ccircle cx='214' cy='49' r='0.5' fill='%23F1D9A0' fill-opacity='0.6'/%3E%3Ccircle cx='201' cy='304' r='0.5' fill='%23F7F2E4' fill-opacity='0.5'/%3E%3Ccircle cx='150' cy='177' r='1' fill='%23F7F2E4' fill-opacity='0.8'/%3E%3Ccircle cx='318' cy='194' r='0.7' fill='%23F7F2E4' fill-opacity='0.7'/%3E%3Ccircle cx='264' cy='103' r='1' fill='%23F7F2E4' fill-opacity='0.8'/%3E%3Ccircle cx='70' cy='127' r='0.5' fill='%23F7F2E4' fill-opacity='0.5'/%3E%3Ccircle cx='177' cy='302' r='0.6' fill='%23F7F2E4' fill-opacity='0.5'/%3E%3Cpath d='M167.3 71.6C167.7 74.6 167.7 74.6 170.6 75C167.7 75.4 167.7 75.4 167.3 78.3C166.9 75.4 166.9 75.4 163.9 75C166.9 74.6 166.9 74.6 167.3 71.6Z' fill='%23F3E2B0' fill-opacity='.85'/%3E%3Cpath d='M47.1 47.9C47.5 51.5 47.5 51.5 51.2 52C47.5 52.5 47.5 52.5 47.1 56.1C46.6 52.5 46.6 52.5 42.9 52C46.6 51.5 46.6 51.5 47.1 47.9Z' fill='%23F3E2B0' fill-opacity='.85'/%3E%3C/svg%3E");
  --ln-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .95 0 0 0 0 .9 0 0 0 0 .8 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --ln-ornament: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 40'%3E%3Cdefs%3E%3ClinearGradient id='a' x1='0' x2='1'%3E%3Cstop offset='0' stop-color='%23D9B76E' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='%23D9B76E'/%3E%3C/linearGradient%3E%3ClinearGradient id='b' x1='1' x2='0'%3E%3Cstop offset='0' stop-color='%23D9B76E' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='%23D9B76E'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M14 20H118' stroke='url(%23a)' stroke-width='.9'/%3E%3Cpath d='M182 20H286' stroke='url(%23b)' stroke-width='.9'/%3E%3Cpath d='M128 15.4C128.6 19.4 128.6 19.4 132.6 20C128.6 20.6 128.6 20.6 128 24.6C127.4 20.6 127.4 20.6 123.4 20C127.4 19.4 127.4 19.4 128 15.4Z' fill='%23E9D3A1'/%3E%3Cpath d='M172 15.4C172.6 19.4 172.6 19.4 176.6 20C172.6 20.6 172.6 20.6 172 24.6C171.4 20.6 171.4 20.6 167.4 20C171.4 19.4 171.4 19.4 172 15.4Z' fill='%23E9D3A1'/%3E%3Ccircle cx='150' cy='20' r='10.5' fill='none' stroke='%23D9B76E' stroke-opacity='.45' stroke-width='.7'/%3E%3Cpath d='M150 12A8 8 0 0 0 150 28A2.9 8 0 0 1 150 12Z' fill='%23E9D3A1'/%3E%3Ccircle cx='106' cy='20' r='1.3' fill='%23D9B76E'/%3E%3Ccircle cx='194' cy='20' r='1.3' fill='%23D9B76E'/%3E%3C/svg%3E");
  --ln-head: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 20'%3E%3Cg fill='none' stroke='%23D9B76E' stroke-opacity='.75' stroke-width='.7'%3E%3Ccircle cx='22' cy='10' r='6'/%3E%3Ccircle cx='74' cy='10' r='6'/%3E%3C/g%3E%3Cpath d='M22 4.4A5.6 5.6 0 0 0 22 15.6A2.5 5.6 0 0 1 22 4.4Z' fill='%23E9D3A1'/%3E%3Cpath d='M74 4.4A5.6 5.6 0 0 1 74 15.6A2.5 5.6 0 0 0 74 4.4Z' fill='%23E9D3A1'/%3E%3Ccircle cx='48' cy='10' r='7.5' fill='%23EFDCAA'/%3E%3Ccircle cx='48' cy='10' r='7.5' fill='none' stroke='%23FFF6DA' stroke-opacity='.6' stroke-width='.6'/%3E%3Ccircle cx='5' cy='10' r='1.1' fill='%23D9B76E'/%3E%3Ccircle cx='91' cy='10' r='1.1' fill='%23D9B76E'/%3E%3C/svg%3E");
  --ln-reticle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Ccircle cx='100' cy='100' r='97' fill='none' stroke='%23D9B76E' stroke-width='1.1'/%3E%3Ccircle cx='100' cy='100' r='93' fill='none' stroke='%23D9B76E' stroke-opacity='.5' stroke-width='.6'/%3E%3Cpath d='M193 100L188 100M191.6 116.1L189.2 115.7M187.4 131.8L185.1 131M180.5 146.5L176.2 144M171.2 159.8L169.4 158.2M159.8 171.2L158.2 169.4M146.5 180.5L144 176.2M131.8 187.4L131 185.1M116.1 191.6L115.7 189.2M100 193L100 188M83.9 191.6L84.3 189.2M68.2 187.4L69 185.1M53.5 180.5L56 176.2M40.2 171.2L41.8 169.4M28.8 159.8L30.6 158.2M19.5 146.5L23.8 144M12.6 131.8L14.9 131M8.4 116.1L10.8 115.7M7 100L12 100M8.4 83.9L10.8 84.3M12.6 68.2L14.9 69M19.5 53.5L23.8 56M28.8 40.2L30.6 41.8M40.2 28.8L41.8 30.6M53.5 19.5L56 23.8M68.2 12.6L69 14.9M83.9 8.4L84.3 10.8M100 7L100 12M116.1 8.4L115.7 10.8M131.8 12.6L131 14.9M146.5 19.5L144 23.8M159.8 28.8L158.2 30.6M171.2 40.2L169.4 41.8M180.5 53.5L176.2 56M187.4 68.2L185.1 69M191.6 83.9L189.2 84.3' stroke='%23E9D3A1' stroke-opacity='.75' stroke-width='.6'/%3E%3Cpath d='M100 -1C100.5 2.5 100.5 2.5 104 3C100.5 3.5 100.5 3.5 100 7C99.5 3.5 99.5 3.5 96 3C99.5 2.5 99.5 2.5 100 -1Z M197 96C197.5 99.5 197.5 99.5 201 100C197.5 100.5 197.5 100.5 197 104C196.5 100.5 196.5 100.5 193 100C196.5 99.5 196.5 99.5 197 96Z M100 193C100.5 196.5 100.5 196.5 104 197C100.5 197.5 100.5 197.5 100 201C99.5 197.5 99.5 197.5 96 197C99.5 196.5 99.5 196.5 100 193Z M3 96C3.5 99.5 3.5 99.5 7 100C3.5 100.5 3.5 100.5 3 104C2.5 100.5 2.5 100.5 -1 100C2.5 99.5 2.5 99.5 3 96Z' fill='%23F3E2B0'/%3E%3C/svg%3E");
  --ln-fase-1: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3CradialGradient id='g' cx='.3' cy='.36' r='.8'%3E%3Cstop offset='0' stop-color='%23F6E7BC' stop-opacity='.3'/%3E%3Cstop offset='1' stop-color='%23D9B76E' stop-opacity='.14'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='50' cy='50' r='49' fill='%23A9A6C9' fill-opacity='.05'/%3E%3Cg fill='url(%23g)'%3E%3Cpath d='M50 1A49 49 0 0 0 50 99A29.4 49 0 0 1 50 1Z'/%3E%3C/g%3E%3C/svg%3E");
  --ln-fase-2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3CradialGradient id='g' cx='.3' cy='.36' r='.8'%3E%3Cstop offset='0' stop-color='%23F6E7BC' stop-opacity='.3'/%3E%3Cstop offset='1' stop-color='%23D9B76E' stop-opacity='.14'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='50' cy='50' r='49' fill='%23A9A6C9' fill-opacity='.05'/%3E%3Cg fill='url(%23g)'%3E%3Cpath d='M50 1A49 49 0 0 0 50 99A0 49 0 0 0 50 1Z'/%3E%3C/g%3E%3C/svg%3E");
  --ln-fase-3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3CradialGradient id='g' cx='.3' cy='.36' r='.8'%3E%3Cstop offset='0' stop-color='%23F6E7BC' stop-opacity='.3'/%3E%3Cstop offset='1' stop-color='%23D9B76E' stop-opacity='.14'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='50' cy='50' r='49' fill='%23A9A6C9' fill-opacity='.05'/%3E%3Cg fill='url(%23g)'%3E%3Cpath d='M50 1A49 49 0 0 0 50 99A27.4 49 0 0 0 50 1Z'/%3E%3C/g%3E%3C/svg%3E");
  --ln-fase-4: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3CradialGradient id='g' cx='.3' cy='.36' r='.8'%3E%3Cstop offset='0' stop-color='%23F6E7BC' stop-opacity='.3'/%3E%3Cstop offset='1' stop-color='%23D9B76E' stop-opacity='.14'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='50' cy='50' r='49' fill='%23A9A6C9' fill-opacity='.05'/%3E%3Cg fill='url(%23g)'%3E%3Ccircle cx='50' cy='50' r='49'/%3E%3C/g%3E%3C/svg%3E");
  --ln-cruz: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 380 200'%3E%3Cg stroke='%23E9D3A1' stroke-opacity='.4' stroke-width='.8' fill='none'%3E%3Cpath d='M306.4 147.2L297.3 48.3'/%3E%3Cpath d='M263.2 90.9L331.8 75.4'/%3E%3Cpath d='M39.4 109.7L108.7 102.1'/%3E%3Cpath d='M108.7 102.1L247.3 86.9' stroke-dasharray='1 6' stroke-linecap='round'/%3E%3C/g%3E%3Cg fill='%23FFF4D6'%3E%3Ccircle cx='306.4' cy='147.2' r='11.9' fill-opacity='.12'/%3E%3Cpath d='M306.4 140.2C307.2 146.4 307.2 146.4 313.4 147.2C307.2 148 307.2 148 306.4 154.2C305.6 148 305.6 148 299.4 147.2C305.6 146.4 305.6 146.4 306.4 140.2Z'/%3E%3Ccircle cx='297.3' cy='48.3' r='9.5' fill-opacity='.12'/%3E%3Cpath d='M297.3 42.7C298 47.6 298 47.6 302.9 48.3C298 49 298 49 297.3 53.9C296.6 49 296.6 49 291.7 48.3C296.6 47.6 296.6 47.6 297.3 42.7Z'/%3E%3Ccircle cx='263.2' cy='90.9' r='10.5' fill-opacity='.12'/%3E%3Cpath d='M263.2 84.7C263.9 90.2 263.9 90.2 269.4 90.9C263.9 91.6 263.9 91.6 263.2 97.1C262.5 91.6 262.5 91.6 257 90.9C262.5 90.2 262.5 90.2 263.2 84.7Z'/%3E%3Ccircle cx='331.8' cy='75.4' r='6.8' fill-opacity='.12'/%3E%3Cpath d='M331.8 71.4C332.3 74.9 332.3 74.9 335.8 75.4C332.3 75.9 332.3 75.9 331.8 79.4C331.3 75.9 331.3 75.9 327.8 75.4C331.3 74.9 331.3 74.9 331.8 71.4Z'/%3E%3Ccircle cx='317.5' cy='102.6' r='4.8' fill-opacity='.12'/%3E%3Cpath d='M317.5 99.8C317.8 102.3 317.8 102.3 320.3 102.6C317.8 102.9 317.8 102.9 317.5 105.4C317.2 102.9 317.2 102.9 314.7 102.6C317.2 102.3 317.2 102.3 317.5 99.8Z'/%3E%3Ccircle cx='108.7' cy='102.1' r='12.6' fill-opacity='.12'/%3E%3Cpath d='M108.7 94.7C109.6 101.2 109.6 101.2 116.1 102.1C109.6 103 109.6 103 108.7 109.5C107.8 103 107.8 103 101.3 102.1C107.8 101.2 107.8 101.2 108.7 94.7Z'/%3E%3Ccircle cx='39.4' cy='109.7' r='15.3' fill-opacity='.12'/%3E%3Cpath d='M39.4 100.7C40.5 108.6 40.5 108.6 48.4 109.7C40.5 110.8 40.5 110.8 39.4 118.7C38.3 110.8 38.3 110.8 30.4 109.7C38.3 108.6 38.3 108.6 39.4 100.7Z'/%3E%3C/g%3E%3C/svg%3E");
  --ln-si: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 3.5A9 9 0 0 0 11 21.5A3.6 9 0 0 1 11 3.5Z'/%3E%3Cpath d='M18.5 2.5C19 6 19 6 22.5 6.5C19 7 19 7 18.5 10.5C18 7 18 7 14.5 6.5C18 6 18 6 18.5 2.5Z'/%3E%3C/svg%3E");
  --velo-motivo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150' viewBox='0 0 150 150'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23FBEBC0'/%3E%3Cstop offset='.5' stop-color='%23DDBD74'/%3E%3Cstop offset='1' stop-color='%23A98340'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg transform='rotate(-18 36 38)'%3E%3Cpath d='M36 27A11 11 0 0 0 36 49A4.4 11 0 0 1 36 27Z' fill='url(%23g)' stroke='%23B8914A' stroke-width='.5'/%3E%3Cpath d='M29.9 32.5L32.1 31.2M27.8 37.5L30.5 35.8M29.2 43L31.6 41.3' stroke='%23FFF4D6' stroke-opacity='.6' stroke-width='.5'/%3E%3C/g%3E%3Cg transform='rotate(24 111 113)'%3E%3Cpath d='M111 104A9 9 0 0 0 111 122A3.6 9 0 0 1 111 104Z' fill='url(%23g)' stroke='%23B8914A' stroke-width='.5'/%3E%3Cpath d='M106 108.5L107.8 107.4M104.3 112.5L106.5 111.2M105.4 117L107.4 115.7' stroke='%23FFF4D6' stroke-opacity='.6' stroke-width='.5'/%3E%3C/g%3E%3Cpath d='M103 24C103.7 29.3 103.7 29.3 109 30C103.7 30.7 103.7 30.7 103 36C102.3 30.7 102.3 30.7 97 30C102.3 29.3 102.3 29.3 103 24Z' fill='url(%23g)' stroke='%23B8914A' stroke-width='.35'/%3E%3Cpath d='M30 102.6C30.6 107.4 30.6 107.4 35.4 108C30.6 108.6 30.6 108.6 30 113.4C29.4 108.6 29.4 108.6 24.6 108C29.4 107.4 29.4 107.4 30 102.6Z' fill='url(%23g)' stroke='%23B8914A' stroke-width='.35'/%3E%3Cpath d='M70 70.6C70.4 73.6 70.4 73.6 73.4 74C70.4 74.4 70.4 74.4 70 77.4C69.6 74.4 69.6 74.4 66.6 74C69.6 73.6 69.6 73.6 70 70.6Z' fill='url(%23g)' stroke='%23B8914A' stroke-width='.35'/%3E%3Cpath d='M140 69C140.4 71.6 140.4 71.6 143 72C140.4 72.4 140.4 72.4 140 75C139.6 72.4 139.6 72.4 137 72C139.6 71.6 139.6 71.6 140 69Z' fill='url(%23g)' stroke='%23B8914A' stroke-width='.35'/%3E%3Cpath d='M8 67.4C8.3 69.7 8.3 69.7 10.6 70C8.3 70.3 8.3 70.3 8 72.6C7.7 70.3 7.7 70.3 5.4 70C7.7 69.7 7.7 69.7 8 67.4Z' fill='url(%23g)' stroke='%23B8914A' stroke-width='.35'/%3E%3Cpath d='M76 137C76.4 139.6 76.4 139.6 79 140C76.4 140.4 76.4 140.4 76 143C75.6 140.4 75.6 140.4 73 140C75.6 139.6 75.6 139.6 76 137Z' fill='url(%23g)' stroke='%23B8914A' stroke-width='.35'/%3E%3Cg fill='%23F3E2B0'%3E%3Ccircle cx='56' cy='16' r='1'/%3E%3Ccircle cx='127' cy='50' r='.9'/%3E%3Ccircle cx='52' cy='122' r='1'/%3E%3Ccircle cx='92' cy='96' r='.8'/%3E%3Ccircle cx='16' cy='140' r='.8'/%3E%3Ccircle cx='142' cy='134' r='.9'/%3E%3C/g%3E%3C/svg%3E");
  --velo-encaje: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='34' viewBox='0 0 240 34'%3E%3Cpath d='M0 6H240M0 9.5H240' stroke='%23E2C07A' stroke-width='.7'/%3E%3Cpath d='M0 10Q10 19 20 10M20 10Q30 19 40 10M40 10Q50 19 60 10M60 10Q70 19 80 10M80 10Q90 19 100 10M100 10Q110 19 120 10M120 10Q130 19 140 10M140 10Q150 19 160 10M160 10Q170 19 180 10M180 10Q190 19 200 10M200 10Q210 19 220 10M220 10Q230 19 240 10' fill='none' stroke='%23D9B76E' stroke-width='.8'/%3E%3Cpath d='M30 17V22' stroke='%23D9B76E' stroke-width='.5'/%3E%3Cpath d='M30 22.8C30.5 26.5 30.5 26.5 34.2 27C30.5 27.5 30.5 27.5 30 31.2C29.5 27.5 29.5 27.5 25.8 27C29.5 26.5 29.5 26.5 30 22.8Z' fill='%23F1D9A0'/%3E%3Cpath d='M90 17V22' stroke='%23D9B76E' stroke-width='.5'/%3E%3Cpath d='M90 22.8C90.5 26.5 90.5 26.5 94.2 27C90.5 27.5 90.5 27.5 90 31.2C89.5 27.5 89.5 27.5 85.8 27C89.5 26.5 89.5 26.5 90 22.8Z' fill='%23F1D9A0'/%3E%3Cpath d='M150 17V22' stroke='%23D9B76E' stroke-width='.5'/%3E%3Cpath d='M150 22.8C150.5 26.5 150.5 26.5 154.2 27C150.5 27.5 150.5 27.5 150 31.2C149.5 27.5 149.5 27.5 145.8 27C149.5 26.5 149.5 26.5 150 22.8Z' fill='%23F1D9A0'/%3E%3Cpath d='M210 17V22' stroke='%23D9B76E' stroke-width='.5'/%3E%3Cpath d='M210 22.8C210.5 26.5 210.5 26.5 214.2 27C210.5 27.5 210.5 27.5 210 31.2C209.5 27.5 209.5 27.5 205.8 27C209.5 26.5 209.5 26.5 210 22.8Z' fill='%23F1D9A0'/%3E%3Ccircle cx='0' cy='16' r='1.2' fill='%23F3E2B0'/%3E%3Ccircle cx='60' cy='16' r='1.2' fill='%23F3E2B0'/%3E%3Ccircle cx='120' cy='16' r='1.2' fill='%23F3E2B0'/%3E%3Ccircle cx='180' cy='16' r='1.2' fill='%23F3E2B0'/%3E%3C/svg%3E");
  --ln-cielo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25'%3E%3Cdefs%3E%3ClinearGradient id='c' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23070B1E'/%3E%3Cstop offset='.55' stop-color='%23101838'/%3E%3Cstop offset='.86' stop-color='%231B2449'/%3E%3Cstop offset='1' stop-color='%23302F5A'/%3E%3C/linearGradient%3E%3Cpattern id='s' width='320' height='320' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='298' cy='257' r='0.5' fill='%23F7F2E4' fill-opacity='0.5'/%3E%3Ccircle cx='102' cy='115' r='0.6' fill='%23F7F2E4' fill-opacity='0.5'/%3E%3Ccircle cx='213' cy='158' r='0.4' fill='%23F7F2E4' fill-opacity='0.5'/%3E%3Ccircle cx='185' cy='145' r='0.5' fill='%23F7F2E4' fill-opacity='0.7'/%3E%3Ccircle cx='85' cy='96' r='0.4' fill='%23F7F2E4' fill-opacity='0.3'/%3E%3Ccircle cx='170' cy='228' r='0.6' fill='%23F7F2E4' fill-opacity='0.4'/%3E%3Ccircle cx='78' cy='156' r='0.4' fill='%23F7F2E4' fill-opacity='0.3'/%3E%3Ccircle cx='55' cy='281' r='0.8' fill='%23F7F2E4' fill-opacity='0.6'/%3E%3Ccircle cx='308' cy='29' r='0.6' fill='%23F7F2E4' fill-opacity='0.6'/%3E%3Ccircle cx='189' cy='204' r='0.8' fill='%23F7F2E4' fill-opacity='0.7'/%3E%3Ccircle cx='48' cy='205' r='0.5' fill='%23F7F2E4' fill-opacity='0.6'/%3E%3Ccircle cx='112' cy='243' r='0.4' fill='%23F7F2E4' fill-opacity='0.7'/%3E%3Ccircle cx='176' cy='29' r='0.6' fill='%23F1D9A0' fill-opacity='0.3'/%3E%3Ccircle cx='244' cy='304' r='0.7' fill='%23F7F2E4' fill-opacity='0.4'/%3E%3Ccircle cx='244' cy='281' r='0.4' fill='%23F7F2E4' fill-opacity='0.4'/%3E%3Ccircle cx='316' cy='165' r='0.4' fill='%23F7F2E4' fill-opacity='0.6'/%3E%3Ccircle cx='74' cy='25' r='0.6' fill='%23F1D9A0' fill-opacity='0.6'/%3E%3Ccircle cx='194' cy='110' r='0.5' fill='%23F1D9A0' fill-opacity='0.4'/%3E%3Ccircle cx='81' cy='107' r='0.6' fill='%23F7F2E4' fill-opacity='0.5'/%3E%3Ccircle cx='39' cy='300' r='1' fill='%23F7F2E4' fill-opacity='0.8'/%3E%3Ccircle cx='210' cy='280' r='0.6' fill='%23F7F2E4' fill-opacity='0.5'/%3E%3Ccircle cx='171' cy='139' r='0.7' fill='%23F7F2E4' fill-opacity='0.6'/%3E%3Ccircle cx='52' cy='144' r='0.7' fill='%23F7F2E4' fill-opacity='0.6'/%3E%3Ccircle cx='68' cy='131' r='0.6' fill='%23F1D9A0' fill-opacity='0.3'/%3E%3Ccircle cx='201' cy='244' r='0.6' fill='%23F7F2E4' fill-opacity='0.6'/%3E%3Ccircle cx='241' cy='3' r='0.5' fill='%23F7F2E4' fill-opacity='0.6'/%3E%3Ccircle cx='219' cy='187' r='0.5' fill='%23F1D9A0' fill-opacity='0.7'/%3E%3Ccircle cx='202' cy='319' r='0.8' fill='%23F7F2E4' fill-opacity='0.4'/%3E%3Ccircle cx='224' cy='125' r='0.8' fill='%23F7F2E4' fill-opacity='0.6'/%3E%3Ccircle cx='115' cy='307' r='0.6' fill='%23F1D9A0' fill-opacity='0.5'/%3E%3Ccircle cx='238' cy='317' r='1' fill='%23F1D9A0' fill-opacity='0.8'/%3E%3Ccircle cx='232' cy='182' r='0.6' fill='%23F7F2E4' fill-opacity='0.4'/%3E%3Ccircle cx='84' cy='112' r='0.4' fill='%23F7F2E4' fill-opacity='0.7'/%3E%3Ccircle cx='141' cy='217' r='0.8' fill='%23F7F2E4' fill-opacity='0.6'/%3E%3Ccircle cx='18' cy='290' r='0.5' fill='%23F7F2E4' fill-opacity='0.4'/%3E%3Ccircle cx='139' cy='163' r='1.4' fill='%23F7F2E4' fill-opacity='0.8'/%3E%3Ccircle cx='26' cy='291' r='0.6' fill='%23F1D9A0' fill-opacity='0.3'/%3E%3Ccircle cx='298' cy='290' r='0.4' fill='%23F1D9A0' fill-opacity='0.4'/%3E%3Ccircle cx='188' cy='164' r='0.4' fill='%23F7F2E4' fill-opacity='0.5'/%3E%3Ccircle cx='18' cy='115' r='0.5' fill='%23F1D9A0' fill-opacity='0.5'/%3E%3Cpath d='M204.1 50.2C204.5 52.9 204.5 52.9 207.2 53.3C204.5 53.7 204.5 53.7 204.1 56.3C203.7 53.7 203.7 53.7 201 53.3C203.7 52.9 203.7 52.9 204.1 50.2Z' fill='%23F3E2B0' fill-opacity='.85'/%3E%3Cpath d='M296 107C296.3 109.6 296.3 109.6 299 110C296.3 110.4 296.3 110.4 296 113C295.6 110.4 295.6 110.4 292.9 110C295.6 109.6 295.6 109.6 296 107Z' fill='%23F3E2B0' fill-opacity='.85'/%3E%3Cpath d='M299.2 17.6C299.7 20.7 299.7 20.7 302.8 21.2C299.7 21.6 299.7 21.6 299.2 24.7C298.8 21.6 298.8 21.6 295.7 21.2C298.8 20.7 298.8 20.7 299.2 17.6Z' fill='%23F3E2B0' fill-opacity='.85'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='100%25' height='100%25' fill='url(%23c)'/%3E%3Crect width='100%25' height='100%25' fill='url(%23s)'/%3E%3C/svg%3E");
  /* §24.2: detrás del velo, el cielo con los volcanes al pie; la luna llena del velo usa nuestro disco */
  --velo-fondo: var(--ln-volcanes) 50% calc(100% + max(20vh, 15.3vw) - 14vh) / max(100vw, 130.9vh) auto no-repeat, var(--ln-cielo);
  --velo-luna-img: var(--ln-moon) center / 100% 100% no-repeat;
}
/* @recursos:fin */

/* =====================================================================
   LIENZO · cielo de medianoche con polvo de estrellas
   ===================================================================== */
html[data-theme="luna"] {
  background-color: var(--ln-deep);
  background-image:
    radial-gradient(80vw 60vh at 50% -10%, rgba(169, 166, 201, .14), transparent 70%),
    radial-gradient(60vw 50vh at 100% 100%, rgba(217, 183, 110, .07), transparent 70%),
    var(--ln-stars-a);
  background-size: auto, auto, 320px 320px;
}
html[data-theme="luna"] body.inv { color: var(--ink); font-weight: 400; }
html[data-theme="luna"] ::selection { background: var(--ln-gold); color: var(--accent-ink); }
html[data-theme="luna"] :focus-visible { outline-color: var(--ln-gold-hi); }
html[data-theme="luna"] .inv-page {
  background:
    radial-gradient(120% 40% at 50% 0%, rgba(169, 166, 201, .1), transparent 70%),
    var(--ln-stars-a) 0 0 / 320px 320px,
    var(--bg);
}
/* Raleway trae cifras antiguas: en horas, fechas y datos van las de caja alta */
html[data-theme="luna"] body.inv { font-variant-numeric: lining-nums; }

/* polvo de estrellas que titila (capa de efectos del motor; se apaga con movimiento reducido) */
html[data-theme="luna"] .inv-fx::before,
html[data-theme="luna"] .inv-fx::after {
  content: ''; position: absolute; inset: 0; opacity: 0;
  background: var(--ln-stars-a) 0 0 / 320px 320px;
}
html[data-theme="luna"] .inv-fx::after { background-size: 470px 470px; background-position: 130px 210px; }
html[data-theme="luna"].is-revealed .inv-fx::before { animation: lnFxIn 2.4s ease .8s forwards, lnTwinkle 6.5s ease-in-out 3.2s infinite alternate; }
html[data-theme="luna"].is-revealed .inv-fx::after { animation: lnFxIn 2.4s ease 1.6s forwards, lnTwinkle 8s ease-in-out 4s infinite alternate-reverse; }
html.is-intro[data-theme="luna"] .inv-fx { visibility: hidden; }
@keyframes lnFxIn { to { opacity: .55; } }
@keyframes lnTwinkle { 0% { opacity: .55; } 50% { opacity: .15; } 100% { opacity: .7; } }

/* =====================================================================
   TIPOGRAFÍA · Forum para títulos, Raleway para leer, oro para guiar
   ===================================================================== */
html[data-theme="luna"] .inv-head::before {
  content: ''; display: block; width: 96px; height: 20px; margin: 0 auto 18px;
  background: var(--ln-head) center / contain no-repeat;
}
html[data-theme="luna"] .inv-eyebrow {
  font-family: var(--font-body); font-weight: 500; font-size: .7rem; letter-spacing: .34em; color: var(--ln-gold);
}
html[data-theme="luna"] .inv-title {
  font-family: var(--font-display); font-weight: 400; font-size: clamp(2.3rem, 9.6vw, 2.95rem);
  line-height: 1.08; letter-spacing: .005em; color: var(--ink);
}
html[data-theme="luna"] .inv-script { font-family: var(--font-script); font-weight: 400; }
html[data-theme="luna"] .inv-text { font-size: 1rem; line-height: 1.78; color: var(--ink-soft); }
html[data-theme="luna"] .inv-head .inv-text { font-size: 1rem; color: #C9C6DF; }
html[data-theme="luna"] a { color: var(--ln-gold-hi); }

/* =====================================================================
   SECCIONES · bandas de noche que se funden unas en otras
   ===================================================================== */
html[data-theme="luna"] .inv-section { background: transparent; }
html[data-theme="luna"] .inv-section.is-alt {
  background:
    radial-gradient(70% 34% at 50% 0%, rgba(169, 166, 201, .1), transparent 70%),
    linear-gradient(180deg, rgba(27, 37, 71, 0) 0%, rgba(27, 37, 71, .92) 16%, rgba(27, 37, 71, .92) 84%, rgba(27, 37, 71, 0) 100%);
}
html[data-theme="luna"] .inv-divider.has-ornament { height: 34px; max-width: 280px; }

/* ---------- tarjetas: cristal de medianoche con filete doble de oro ---------- */
html[data-theme="luna"] .inv-card {
  background: var(--ln-glass);
  border: 1px solid var(--ln-hair);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  isolation: isolate;
}
/* filete interior: detrás del contenido (z-index -1 dentro del contexto aislado de la tarjeta) */
html[data-theme="luna"] .inv-card::after {
  content: ''; position: absolute; inset: 5px; z-index: -1; pointer-events: none;
  border: 1px solid rgba(217, 183, 110, .12); border-radius: calc(var(--radius) - 4px);
}

/* ---------- botones: oro bruñido con tinta de medianoche ---------- */
html[data-theme="luna"] .inv-btn {
  min-height: 50px; padding: .9em 1.6em; border-radius: 999px;
  font-family: var(--font-body); font-weight: 600; font-size: .76rem; letter-spacing: .16em; text-transform: uppercase;
  border-color: #C9A45C; color: var(--accent-ink);
  background: linear-gradient(135deg, #F3DFA8 0%, #D9B76E 46%, #C29D55 100%);
  box-shadow: inset 0 1px 0 rgba(255, 250, 230, .6), 0 14px 28px -16px rgba(217, 183, 110, .7);
}
@media (hover: hover) { html[data-theme="luna"] .inv-btn:hover { box-shadow: inset 0 1px 0 rgba(255, 250, 230, .6), 0 18px 32px -14px rgba(217, 183, 110, .85); } }
html[data-theme="luna"] .inv-btn--ghost {
  background: rgba(243, 238, 223, .03); color: var(--ln-gold-hi); border-color: rgba(217, 183, 110, .55); box-shadow: none;
}
html[data-theme="luna"] .inv-btn--ghost::after { background: linear-gradient(105deg, transparent 30%, rgba(241, 217, 160, .16) 50%, transparent 70%); }
@media (hover: hover) { html[data-theme="luna"] .inv-btn--ghost:hover { background: rgba(217, 183, 110, .1); box-shadow: none; } }
html[data-theme="luna"] .inv-btn--wa { background: #0E7A40; border-color: #0E7A40; color: #fff; box-shadow: 0 12px 24px -14px rgba(14, 122, 64, .8); }
html[data-theme="luna"] .inv-btn--wa.inv-btn--ghost { background: transparent; color: var(--accent); }
html[data-theme="luna"] .inv-btn.is-draft { text-transform: none; letter-spacing: .02em; font-size: .86rem; color: var(--ink); }

/* =====================================================================
   HERO «type» · la luna sale detrás del volcán, coronada por el arco de sus fases;
   abajo, sobre la tierra oscura, los nombres en caligrafía de oro unidos por una constelación
   ===================================================================== */
html[data-theme="luna"] .inv-hero {
  --ln-scene: clamp(250px, 40svh, 400px);   /* alto del paisaje (cielo, luna y volcanes) */
  --ln-arc-w: min(94vw, 410px);
  color: var(--ink);
}
html[data-theme="luna"] .inv-hero--type,
html[data-theme="luna"] .inv-hero--noimg {
  justify-content: flex-start;
  background:
    radial-gradient(90% 30% at 50% calc(var(--ln-scene) * .36), rgba(243, 238, 223, .13), transparent 70%),
    linear-gradient(118deg, transparent 22%, rgba(169, 166, 201, .07) 40%, rgba(233, 211, 161, .06) 47%, rgba(169, 166, 201, .07) 54%, transparent 72%) 0 0 / 100% var(--ln-scene) no-repeat,
    linear-gradient(180deg, #080D22 0%, #0E1533 calc(var(--ln-scene) * .7), #1D2650 calc(var(--ln-scene) - 30px), #0A1026 calc(var(--ln-scene) + 6px), var(--bg) 78%);
}
/* estrellas del cielo, que se apagan hacia el horizonte */
html[data-theme="luna"] .inv-hero--type::after,
html[data-theme="luna"] .inv-hero--noimg::after {
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: var(--ln-scene); z-index: -3; pointer-events: none;
  background: var(--ln-stars-a) 0 0 / 320px 320px;
  -webkit-mask: linear-gradient(#000 55%, transparent); mask: linear-gradient(#000 55%, transparent);
}
/* arco de fases (detrás de la luna y de los volcanes: sus extremos se pierden tras la cordillera) */
html[data-theme="luna"] .inv-hero--type::before,
html[data-theme="luna"] .inv-hero--noimg::before {
  content: ''; position: absolute; left: 50%; z-index: -2; pointer-events: none;
  top: calc(var(--ln-scene) * .36 - var(--ln-arc-w) * .09);
  width: var(--ln-arc-w); height: calc(var(--ln-arc-w) * .575);
  background: var(--ln-phases) center / contain no-repeat;
  transform: translateX(-50%); transform-origin: 50% 90%;
  transition: opacity 1.6s var(--ease) .5s, transform 1.9s var(--ease) .4s;
}
html[data-theme="luna"] .inv-hero__art { z-index: -1; }
/* la luna llena (disco con mares; el halo es su sombra de luz) */
html[data-theme="luna"] .inv-hero__art::before {
  content: ''; position: absolute; left: 50%; top: calc(var(--ln-scene) * .36);
  width: var(--ln-moon-d, 96px); height: var(--ln-moon-d, 96px); aspect-ratio: auto;
  border: 0; border-radius: 50%;
  background: var(--ln-moon) center / 100% 100% no-repeat;
  box-shadow: 0 0 34px 6px rgba(243, 238, 223, .2), 0 0 110px 40px rgba(217, 183, 110, .09);
  transform: translate(-50%, -50%);
  transition: transform 2.4s cubic-bezier(.2, .7, .2, 1) .15s, opacity .8s var(--ease) .15s;
}
/* volcanes del altiplano: el horizonte del paisaje */
html[data-theme="luna"] .inv-hero__art::after {
  content: ''; position: absolute; left: 0; right: 0; top: calc(var(--ln-scene) - 116px); height: 132px; pointer-events: none;
  background: var(--ln-volcanes) 50% 100% / auto 100% no-repeat;
  transition: transform 1.8s var(--ease), opacity 1.2s var(--ease);
}
html[data-theme="luna"] .inv-hero__art-spark { display: none; }

/* entrada: la luna sube desde detrás del volcán y el arco se enciende (atada a .is-revealing y .is-revealed, §5) */
html[data-theme="luna"]:not(.is-revealing):not(.is-revealed) .inv-hero__art::before { opacity: 0; transform: translate(-50%, calc(-50% + 70px)) scale(.92); }
html[data-theme="luna"]:not(.is-revealing):not(.is-revealed) .inv-hero--type::before { opacity: 0; transform: translateX(-50%) scale(.9); }
html[data-theme="luna"]:not(.is-revealing):not(.is-revealed) .inv-hero__art::after { transform: translateY(14px); }

/* contenido sobre la tierra oscura, bajo el horizonte */
html[data-theme="luna"] .inv-hero--type .inv-hero__content,
html[data-theme="luna"] .inv-hero--noimg .inv-hero__content {
  padding-top: calc(var(--ln-scene) + 26px);
  padding-bottom: calc(96px + env(safe-area-inset-bottom));
}
html[data-theme="luna"] .inv-hero__eyebrow {
  font-weight: 500; font-size: .66rem; letter-spacing: .24em; color: var(--ln-gold); opacity: 1; margin-bottom: .1rem;
  text-wrap: balance;
}
/* nombres: caligrafía con oro laminado que brilla una vez al llegar */
html[data-theme="luna"] .inv-hero__title,
html[data-theme="luna"] .inv-hero--photo:not(.inv-hero--noimg) .inv-hero__title.inv-title {
  position: relative; isolation: isolate;
  font-family: var(--font-script); font-weight: 400;
  font-size: clamp(3.7rem, 18vw, 5.2rem); line-height: .98;
  margin: .02em -.25em .06em; padding: .08em .25em .06em;
  color: var(--ln-gold-hi);
  background: var(--ln-foil); background-size: 240% 100%; background-position: 100% 0;
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
html[data-theme="luna"].is-revealed .inv-hero__title.hero-anim {
  animation: invUp 1.15s var(--ease) both, lnFoil 3.4s ease-in-out .9s 1 both;
  animation-delay: calc(.12s + var(--i, 0) * .11s), 1.1s;
}
@keyframes lnFoil { from { background-position: 100% 0; } to { background-position: 0 0; } }
/* la constelación que une los dos nombres (pasa por el «&») */
html[data-theme="luna"] .inv-hero__title::before {
  content: ''; position: absolute; inset: 2% 4% 6%; z-index: -1; pointer-events: none;
  background: var(--ln-asterism) center / contain no-repeat; opacity: .42;
}
html[data-theme="luna"] .inv-amp {
  display: flex; align-items: center; justify-content: center; gap: .55em;
  font-family: var(--font-display); font-style: normal; font-size: .36em; line-height: 1.5; margin: .02em 0 .04em;
  color: var(--ln-gold-hi); -webkit-text-fill-color: var(--ln-gold-hi);
}
html[data-theme="luna"] .inv-amp::before,
html[data-theme="luna"] .inv-amp::after {
  content: ''; width: 2.4em; height: 5px;
  background: radial-gradient(circle at 2.5px 50%, #FFF4D6 0 1.6px, transparent 2.2px), linear-gradient(90deg, transparent 4px, rgba(217, 183, 110, .7) 4px, rgba(217, 183, 110, .7) calc(100% - 2px), transparent) 0 50% / 100% 1px no-repeat;
}
html[data-theme="luna"] .inv-amp::after { transform: scaleX(-1); }
html[data-theme="luna"] .inv-hero__subtitle {
  font-family: var(--font-display); font-style: normal; font-size: 1.2rem; line-height: 1.42;
  color: #DCD8EA; opacity: 1; max-width: 19.5rem; margin-top: .25rem;
}
html[data-theme="luna"] .inv-hero__date {
  font-family: var(--font-body); font-weight: 500; font-size: .66rem; letter-spacing: .3em; color: var(--ink);
  max-width: 19rem; margin: 1.3rem auto .7rem; gap: 12px;
}
html[data-theme="luna"] .inv-hero__date-side { border-color: rgba(217, 183, 110, .5); padding: .75em 0; }
html[data-theme="luna"] .inv-hero__date-day { font-family: var(--font-display); font-weight: 400; font-size: 3.4rem; color: var(--ln-gold); }
html[data-theme="luna"] .inv-hero__time { font-size: .7rem; letter-spacing: .24em; color: var(--ink-soft); opacity: 1; padding-top: 2px; }
html[data-theme="luna"] .inv-hero__place { font-size: .88rem; letter-spacing: .05em; color: #D6D3E8; opacity: 1; }
html[data-theme="luna"] .inv-hero__place .inv-icon { color: var(--ln-gold); }
html[data-theme="luna"] .inv-hero__cue { color: var(--ln-gold-hi); }

/* pase del invitado: tarjeta de cristal con una media luna en el filete */
html[data-theme="luna"] .inv-guest {
  position: relative; background: var(--ln-glass); color: var(--ink);
  border: 1px solid rgba(217, 183, 110, .45); border-radius: 14px; padding: 16px 24px 14px;
  box-shadow: 0 24px 44px -26px rgba(0, 0, 0, .95), inset 0 1px 0 rgba(243, 238, 223, .07);
}
html[data-theme="luna"] .inv-hero__guest::before {
  content: ''; position: absolute; left: 50%; top: -10px; width: 52px; height: 20px; transform: translateX(-50%);
  background: var(--ln-head) center / contain no-repeat, var(--bg);
  border-radius: 10px;
}
html[data-theme="luna"] .inv-guest__label { font-weight: 500; color: var(--ln-gold); opacity: 1; letter-spacing: .3em; }
html[data-theme="luna"] .inv-guest__name { font-family: var(--font-display); font-weight: 400; font-size: 1.55rem; color: var(--ink); }
html[data-theme="luna"] .inv-guest__passes { color: var(--ink-soft); opacity: 1; }

@media (max-height: 780px) {
  html[data-theme="luna"] .inv-hero { --ln-scene: clamp(210px, 35svh, 290px); }
  html[data-theme="luna"] .inv-hero--type .inv-hero__content { padding-top: calc(var(--ln-scene) + 18px); }
}

/* =====================================================================
   SECCIONES
   ===================================================================== */

/* medallones de íconos: lunas llenas de oro con el ícono grabado en tinta de medianoche */
html[data-theme="luna"] .inv-event__icon,
html[data-theme="luna"] .inv-event.has-img .inv-event__icon,
html[data-theme="luna"] .inv-note__icon,
html[data-theme="luna"] .inv-gift__icon,
html[data-theme="luna"] .inv-hotel__icon,
html[data-theme="luna"] .inv-dress__icon,
html[data-theme="luna"] .inv-album__icon {
  color: #1A2142; border: 0; border-radius: 50%;
  background: radial-gradient(circle at 36% 30%, #FFF6DC 0%, #EBD49C 38%, #D3AE62 72%, #A98340 100%);
  box-shadow: 0 0 0 4px rgba(15, 22, 48, .9), 0 0 0 5px rgba(217, 183, 110, .45), 0 0 26px -2px rgba(233, 211, 161, .45);
}

/* story — la foto en la cúpula de un observatorio, con la Vía Láctea */
html[data-theme="luna"] .inv-story__figure { width: min(74%, 300px); margin-bottom: 2.6rem; }
html[data-theme="luna"] .inv-story__figure img { border-radius: 999px 999px 10px 10px; box-shadow: 0 34px 60px -30px rgba(0, 0, 0, .95); }
html[data-theme="luna"] .inv-story__figure::after { inset: -9px; border-radius: 999px 999px 16px 16px; border-color: rgba(217, 183, 110, .55); }
html[data-theme="luna"] .inv-story__glow { background: radial-gradient(closest-side, rgba(169, 166, 201, .28), transparent); }
html[data-theme="luna"] .inv-story__body .inv-text { text-align: left; hyphens: auto; -webkit-hyphens: auto; color: #C9C6DF; }
html[data-theme="luna"] .inv-story__body .inv-text:first-child::first-letter {
  font-family: var(--font-display); font-size: 3.7em; line-height: .8; padding: .08em .1em 0 0; float: left; color: var(--ln-gold);
}
html[data-theme="luna"] .inv-story__sig {
  font-size: 3.1rem; margin-top: 1.8rem; color: var(--ln-gold-hi);
  background: var(--ln-foil); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}

/* countdown — cuatro lunas que crecen de creciente a llena */
html[data-theme="luna"] .inv-countdown { gap: clamp(8px, 3vw, 16px); max-width: 380px; }
html[data-theme="luna"] .inv-countdown__unit {
  --ln-fase: var(--ln-fase-1);
  aspect-ratio: 1; justify-content: center; gap: 4px; padding: 0; border-radius: 50%;
  background: var(--ln-fase) center / 100% 100% no-repeat, radial-gradient(circle at 50% 40%, #222D58, #121A3C 72%);
  border: 1px solid rgba(217, 183, 110, .5);
  box-shadow: 0 0 0 4px rgba(15, 22, 48, .5), 0 18px 30px -18px rgba(0, 0, 0, .9);
}
html[data-theme="luna"] .inv-countdown__unit:nth-child(2) { --ln-fase: var(--ln-fase-2); }
html[data-theme="luna"] .inv-countdown__unit:nth-child(3) { --ln-fase: var(--ln-fase-3); }
html[data-theme="luna"] .inv-countdown__unit:nth-child(4) { --ln-fase: var(--ln-fase-4); box-shadow: 0 0 0 4px rgba(15, 22, 48, .5), 0 0 34px -6px rgba(233, 211, 161, .4); }
html[data-theme="luna"] .inv-countdown__unit::before { display: none; }
html[data-theme="luna"] .inv-countdown__num { font-family: var(--font-display); font-weight: 400; font-size: clamp(1.75rem, 8vw, 2.3rem); color: var(--ink); }
html[data-theme="luna"] .inv-countdown__lbl { font-weight: 500; font-size: .56rem; letter-spacing: .2em; color: var(--ln-gold); }
html[data-theme="luna"] .inv-countdown__date { font-weight: 500; letter-spacing: .24em; color: var(--ink-soft); }
html[data-theme="luna"] .inv-countdown__done {
  font-family: var(--font-script); font-style: normal; font-size: 3rem; line-height: 1.1; color: var(--ln-gold-hi);
}

/* events — tarjetas de cristal con su luna-medallón y un cielo bordado arriba */
html[data-theme="luna"] .inv-events { gap: 30px; }
html[data-theme="luna"] .inv-event { padding: 34px 20px 28px; }
html[data-theme="luna"] .inv-event::before {
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: 120px; z-index: -1; border-radius: var(--radius) var(--radius) 0 0;
  background: radial-gradient(60% 80% at 50% 0%, rgba(169, 166, 201, .14), transparent 70%), var(--ln-stars-a) 40px 10px / 320px 320px;
  -webkit-mask: linear-gradient(#000, transparent); mask: linear-gradient(#000, transparent);
}
html[data-theme="luna"] .inv-event__icon { width: 62px; height: 62px; }
html[data-theme="luna"] .inv-event .inv-eyebrow { margin: 1rem 0 .35rem; }
html[data-theme="luna"] .inv-event__name { font-family: var(--font-display); font-weight: 400; font-size: 1.65rem; line-height: 1.18; color: var(--ink); }
html[data-theme="luna"] .inv-event__meta { color: #C9C6DF; font-size: .92rem; }
html[data-theme="luna"] .inv-event__meta .inv-icon { color: var(--ln-gold); }
html[data-theme="luna"] .inv-event__meta li:first-child span { font-family: var(--font-display); font-size: 1.3rem; color: var(--ln-gold-hi); }
html[data-theme="luna"] .inv-event__media { background: var(--ln-deep); }

/* timeline — la noche avanza: cada hito es una luna un poco más llena, sobre una órbita punteada */
html[data-theme="luna"] .inv-timeline::before {
  left: 23.5px; width: 1px;
  background: repeating-linear-gradient(180deg, rgba(217, 183, 110, .75) 0 2px, transparent 2px 7px);
}
html[data-theme="luna"] .inv-timeline__item { grid-template-columns: 48px 1fr; gap: 18px; padding: 12px 0; }
html[data-theme="luna"] .inv-section .inv-timeline__dot,
html[data-theme="luna"] .inv-section.is-alt .inv-timeline__dot {
  --lit: 5px;
  width: 48px; height: 48px; color: var(--ln-gold-hi);
  background: radial-gradient(circle at 50% 40%, #232E5A, #121A3C 75%);
  border: 1px solid rgba(217, 183, 110, .6);
  box-shadow: inset var(--lit) 0 0 -1px rgba(233, 211, 161, .22), 0 0 0 6px var(--bg), 0 0 20px -6px rgba(233, 211, 161, .4);
}
html[data-theme="luna"] .inv-section.is-alt .inv-timeline__dot { box-shadow: inset var(--lit) 0 0 -1px rgba(233, 211, 161, .22), 0 0 0 6px #1B2547, 0 0 20px -6px rgba(233, 211, 161, .4); }
html[data-theme="luna"] .inv-timeline__item:nth-child(2) .inv-timeline__dot { --lit: 9px; }
html[data-theme="luna"] .inv-timeline__item:nth-child(3) .inv-timeline__dot { --lit: 13px; }
html[data-theme="luna"] .inv-timeline__item:nth-child(4) .inv-timeline__dot { --lit: 18px; }
html[data-theme="luna"] .inv-timeline__item:nth-child(5) .inv-timeline__dot { --lit: 24px; }
html[data-theme="luna"] .inv-timeline__item:nth-child(6) .inv-timeline__dot { --lit: 32px; }
html[data-theme="luna"] .inv-timeline__item:nth-child(n + 7) .inv-timeline__dot { --lit: 48px; }
html[data-theme="luna"] .inv-timeline__dot .inv-icon { width: 20px; height: 20px; }
html[data-theme="luna"] .inv-timeline__time { font-weight: 600; font-size: .68rem; letter-spacing: .22em; color: var(--ln-gold); }
html[data-theme="luna"] .inv-timeline__title { font-family: var(--font-display); font-weight: 400; font-size: 1.45rem; line-height: 1.2; color: var(--ink); }
html[data-theme="luna"] .inv-timeline__text { color: var(--ink-soft); font-size: .92rem; }

/* dresscode — la etiqueta en caligrafía de oro y la paleta como pequeños planetas */
html[data-theme="luna"] .inv-dress {
  position: relative; padding: 38px 22px 32px; border-radius: var(--radius);
  background: var(--ln-glass); border: 1px solid var(--ln-hair); box-shadow: var(--shadow);
}
html[data-theme="luna"] .inv-dress__icon { width: 58px; height: 58px; }
html[data-theme="luna"] .inv-dress__code {
  font-family: var(--font-script); font-size: clamp(3rem, 14vw, 3.8rem); line-height: 1.12; margin-bottom: .4rem; color: var(--ln-gold-hi);
  background: var(--ln-foil); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
html[data-theme="luna"] .inv-dress__label { font-weight: 500; letter-spacing: .3em; color: var(--ln-gold); }
html[data-theme="luna"] .inv-chip { background: rgba(10, 16, 38, .7); border-color: rgba(217, 183, 110, .28); color: #E4E1EF; }
html[data-theme="luna"] .inv-chip__swatch {
  border-radius: 50%;
  box-shadow: inset -5px -4px 6px rgba(0, 0, 0, .45), inset 3px 3px 4px rgba(255, 255, 255, .25), 0 0 0 1px rgba(217, 183, 110, .55);
}
html[data-theme="luna"] .inv-chip--avoid { color: var(--ink-soft); }
html[data-theme="luna"] .inv-chip--avoid .inv-icon { color: var(--ln-gold); }

/* gallery — retratos vistos por el ocular de un telescopio (círculos con aro graduado) */
html[data-theme="luna"] .inv-gallery--grid { grid-template-columns: 1fr 1fr; grid-auto-rows: auto; gap: 22px 22px; padding: 12px calc(var(--gutter) + 8px) 0; }
html[data-theme="luna"] .inv-gallery--grid .inv-gallery__item {
  position: relative; aspect-ratio: 1; border-radius: 50%; overflow: visible; padding: 0;
  grid-row: auto; grid-column: auto; background: none; box-shadow: none;
}
html[data-theme="luna"] .inv-gallery--grid .inv-gallery__item:nth-child(even) { transform: translateY(26px); }
html[data-theme="luna"] .inv-gallery--grid .inv-gallery__item.reveal:not(.is-in):nth-child(even) { transform: translateY(54px); }
html[data-theme="luna"] .inv-gallery--grid .inv-gallery__img {
  width: 100%; height: 100%; object-fit: cover; border-radius: 50%;
  box-shadow: 0 24px 40px -22px rgba(0, 0, 0, .95), 0 0 0 1px rgba(217, 183, 110, .4);
}
/* lo que se ve por el ocular: el centro nítido y frío, el borde que se oscurece (une fotos de día y de noche) */
html[data-theme="luna"] .inv-gallery--grid .inv-gallery__item::before {
  content: ''; position: absolute; inset: 0; z-index: 1; border-radius: 50%; pointer-events: none;
  background: radial-gradient(closest-side, #E8EAF6 50%, #8F93B8 86%, #5C6089 100%); mix-blend-mode: multiply;
}
html[data-theme="luna"] .inv-gallery--grid .inv-gallery__item::after {
  content: ''; position: absolute; inset: -8px; border-radius: 50%; pointer-events: none;
  background: var(--ln-reticle) center / contain no-repeat;
}
html[data-theme="luna"] .inv-section--gallery-grid .inv-wrap { padding-bottom: 26px; }
html[data-theme="luna"] .inv-gallery__item img { filter: saturate(.9) contrast(1.03); }
html[data-theme="luna"] .inv-gallery__nav { background: rgba(10, 16, 38, .85); color: var(--ln-gold-hi); border-color: rgba(217, 183, 110, .5); }
html[data-theme="luna"] .inv-gallery__dots span { background: rgba(217, 183, 110, .3); }
html[data-theme="luna"] .inv-gallery__dots span.is-on { background: var(--ln-gold); }

/* gifts y hotels */
html[data-theme="luna"] .inv-gifts, html[data-theme="luna"] .inv-hotels { gap: 22px; }
html[data-theme="luna"] .inv-gift, html[data-theme="luna"] .inv-hotel { padding: 26px 20px 24px; }
html[data-theme="luna"] .inv-gift__icon, html[data-theme="luna"] .inv-hotel__icon { width: 52px; height: 52px; }
html[data-theme="luna"] .inv-gift__title, html[data-theme="luna"] .inv-hotel__name {
  font-family: var(--font-display); font-weight: 400; font-size: 1.45rem; line-height: 1.2; color: var(--ink);
}
html[data-theme="luna"] .inv-gift__detail, html[data-theme="luna"] .inv-hotel__detail { color: var(--ink-soft); font-size: .92rem; }
html[data-theme="luna"] .inv-gift__copy {
  background: rgba(8, 12, 30, .75); color: var(--ln-gold-hi); border: 1px dashed rgba(217, 183, 110, .55);
  border-radius: 999px; letter-spacing: .12em; font-weight: 500;
}
html[data-theme="luna"] .inv-hotel__code { color: var(--ink-soft); }
html[data-theme="luna"] .inv-hotel__code strong { color: var(--ln-gold-hi); letter-spacing: .12em; font-weight: 600; }

/* note — aviso dentro de una órbita punteada, con media luna */
html[data-theme="luna"] .inv-note {
  position: relative; grid-template-columns: 1fr; justify-items: center; gap: 14px; text-align: center;
  padding: 40px 24px 32px; border-radius: 28px;
  background: radial-gradient(80% 60% at 50% 0%, rgba(169, 166, 201, .14), transparent 70%), var(--ln-glass);
  border: 1px dashed rgba(217, 183, 110, .55); box-shadow: var(--shadow);
}
html[data-theme="luna"] .inv-note__icon { width: 58px; height: 58px; }
html[data-theme="luna"] .inv-note__title { font-family: var(--font-display); font-weight: 400; font-size: 1.7rem; line-height: 1.2; color: var(--ink); margin-bottom: .5rem; }
html[data-theme="luna"] .inv-note .inv-text { max-width: 24rem; margin-inline: auto; }

/* formularios legibles de noche */
html[data-theme="luna"] .inv-field__label { color: #E4E1EF; font-weight: 500; letter-spacing: .1em; }
html[data-theme="luna"] .inv-field__label small, html[data-theme="luna"] .inv-field__count { color: var(--ink-soft); }
html[data-theme="luna"] .inv-input { background: #0B1129; border-color: rgba(217, 183, 110, .28); color: var(--ink); border-radius: 12px; }
html[data-theme="luna"] .inv-input::placeholder { color: #8F8CB0; }
html[data-theme="luna"] .inv-input:focus { background: #0D1432; border-color: var(--ln-gold); box-shadow: 0 0 0 3px rgba(217, 183, 110, .22); }

/* playlist (buscador con votos) */
html[data-theme="luna"] .inv-search__icon, html[data-theme="luna"] .inv-song__n { color: var(--ln-gold); }
html[data-theme="luna"] .inv-song__title, html[data-theme="luna"] .inv-track__title { color: var(--ink); }
html[data-theme="luna"] .inv-song__artist, html[data-theme="luna"] .inv-track__artist, html[data-theme="luna"] .inv-search__status { color: var(--ink-soft); }

/* faq — índice de cielo: filetes de oro y un «+» en su órbita */
html[data-theme="luna"] .inv-faq { gap: 0; border-top: 1px solid rgba(217, 183, 110, .32); }
html[data-theme="luna"] .inv-faq__item { background: none; border: 0; border-radius: 0; box-shadow: none; border-bottom: 1px solid rgba(217, 183, 110, .32); }
html[data-theme="luna"] .inv-faq__item.is-open { box-shadow: none; background: linear-gradient(180deg, rgba(169, 166, 201, .07), transparent); }
html[data-theme="luna"] .inv-faq__q { font-family: var(--font-display); font-weight: 400; font-size: 1.22rem; color: var(--ink); padding: 18px 2px; min-height: 64px; }
html[data-theme="luna"] .inv-faq__icon { width: 30px; height: 30px; background: transparent; color: var(--ln-gold); border: 1px solid rgba(217, 183, 110, .6); }
html[data-theme="luna"] .inv-faq__item.is-open .inv-faq__icon { background: var(--ln-gold); color: var(--accent-ink); border-color: var(--ln-gold); }
html[data-theme="luna"] .inv-faq__a p { color: #C9C6DF; padding: 0 2px 22px; }

/* rsvp — bajo una luna que asoma */
html[data-theme="luna"] .inv-section.inv-rsvp,
html[data-theme="luna"] .inv-section.inv-rsvp.is-alt {
  background: radial-gradient(80% 40% at 50% 0%, rgba(233, 211, 161, .12), transparent 70%), radial-gradient(60% 40% at 50% 100%, rgba(169, 166, 201, .12), transparent 70%), transparent;
}
html[data-theme="luna"] .inv-rsvp__seats i { border-color: rgba(217, 183, 110, .75); border-radius: 50%; }
html[data-theme="luna"] .inv-rsvp__seats i.is-on { background: var(--ln-gold); box-shadow: 0 0 10px rgba(233, 211, 161, .6); }
html[data-theme="luna"] .inv-rsvp__face { background: #0F1634; border-color: rgba(217, 183, 110, .25); }
html[data-theme="luna"] .inv-rsvp__face-ico { background: #1A2448; color: var(--ln-gold); }
/* «sí»: una media luna con su estrella; al elegirla se vuelve luna llena de oro */
html[data-theme="luna"] .inv-rsvp__face-ico .inv-sparkle {
  width: 24px; height: 24px; background: currentColor;
  -webkit-mask: var(--ln-si) center / contain no-repeat; mask: var(--ln-si) center / contain no-repeat;
}
html[data-theme="luna"] .inv-rsvp__face-ico .inv-sparkle > * { display: none; }
html[data-theme="luna"] .is-yes .inv-rsvp__radio:checked + .inv-rsvp__face .inv-rsvp__face-ico {
  color: #1A2142; transform: scale(1.12) rotate(-16deg);
  background: radial-gradient(circle at 36% 30%, #FFF6DC 0%, #EBD49C 38%, #D3AE62 72%, #A98340 100%);
}
html[data-theme="luna"] .inv-rsvp__face-txt strong { font-family: var(--font-display); font-weight: 400; font-size: 1.25rem; color: var(--ink); }
html[data-theme="luna"] .inv-rsvp__face-txt small { color: var(--ink-soft); }
html[data-theme="luna"] .inv-rsvp__radio:checked + .inv-rsvp__face { background: #26284A; border-color: var(--ln-gold); box-shadow: 0 0 0 1px rgba(217, 183, 110, .45), 0 18px 30px -18px rgba(217, 183, 110, .55); }
html[data-theme="luna"] .inv-stepper { background: #0F1634; border-color: rgba(217, 183, 110, .25); }
html[data-theme="luna"] .inv-stepper__label { color: var(--ink-soft); }
html[data-theme="luna"] .inv-stepper__btn { background: #1A2448; color: var(--ln-gold-hi); border-color: rgba(217, 183, 110, .5); }
html[data-theme="luna"] .inv-stepper__val { color: var(--ink); }
html[data-theme="luna"] .inv-rsvp__hint, html[data-theme="luna"] .inv-rsvp__alt, html[data-theme="luna"] .inv-rsvp__change { color: var(--ink-soft); }
html[data-theme="luna"] .inv-rsvp__badge {
  color: #1A2142; background: radial-gradient(circle at 36% 30%, #FFF6DC 0%, #EBD49C 40%, #D3AE62 75%, #A98340 100%);
  box-shadow: 0 0 0 6px rgba(15, 22, 48, .9), 0 0 0 7px rgba(217, 183, 110, .45), 0 0 40px rgba(233, 211, 161, .45);
}
html[data-theme="luna"] .inv-rsvp__badge.is-no { background: #1A2448; color: var(--ln-gold-hi); }
html[data-theme="luna"] .inv-rsvp__done-title { font-family: var(--font-script); font-weight: 400; font-size: 3.2rem; color: var(--ln-gold-hi); }
html[data-theme="luna"] .inv-rsvp__note { background: #0F1634; color: #C9C6DF; }

/* pie — la luna sale entre los dos volcanes (el abra queda a 92 px del centro del dibujo) y se despide */
html[data-theme="luna"] .inv-footer {
  position: relative; overflow: hidden; padding-top: 250px;
  background: linear-gradient(180deg, transparent 0, #0B1129 130px, #1A2349 222px, #080C1F 236px, #070B1C 100%);
  border-top: 0;
}
html[data-theme="luna"] .inv-footer::before {
  content: ''; position: absolute; left: calc(50% + 92px - 31px); top: 158px; width: 62px; height: 62px; border-radius: 50%; pointer-events: none;
  background: var(--ln-moon) center / 100% 100% no-repeat;
  box-shadow: 0 0 26px 4px rgba(243, 238, 223, .2), 0 0 80px 26px rgba(217, 183, 110, .08);
}
html[data-theme="luna"] .inv-footer::after {
  content: ''; position: absolute; left: 0; right: 0; top: 118px; height: 118px; pointer-events: none;
  background: var(--ln-volcanes) 50% 100% / auto 100% no-repeat;
}
html[data-theme="luna"] .inv-footer__orn { display: none; }
html[data-theme="luna"] .inv-footer__text {
  font-size: 3.1rem; line-height: 1.1; text-wrap: balance; color: var(--ln-gold-hi);
  background: var(--ln-foil); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
html[data-theme="luna"] .inv-footer__date { font-weight: 500; letter-spacing: .32em; color: var(--ln-gold); }
html[data-theme="luna"] .inv-footer__credit, html[data-theme="luna"] .inv-footer__legal a { color: var(--ink-soft); }
html[data-theme="luna"] .inv-footer__access { color: #C9C6DF; border-color: rgba(217, 183, 110, .25); }

/* barra de acciones, música, hoja inferior y visor */
html[data-theme="luna"] .inv-actionbar {
  background: rgba(12, 18, 42, .88); border-color: rgba(217, 183, 110, .25);
  box-shadow: 0 20px 44px -16px rgba(0, 0, 0, .95), inset 0 1px 0 rgba(243, 238, 223, .06);
}
html[data-theme="luna"] .inv-actionbar__btn:not(.is-primary) { color: #E4E1EF; }
html[data-theme="luna"] .inv-actionbar__btn.is-primary { background: linear-gradient(135deg, #F3DFA8, #D9B76E 55%, #C29D55); color: var(--accent-ink); }
html[data-theme="luna"] .inv-music { background: rgba(12, 18, 42, .88); color: var(--ln-gold-hi); border-color: rgba(217, 183, 110, .35); }
html[data-theme="luna"] .inv-sheet__panel { background: #131B3C; color: var(--ink); }
html[data-theme="luna"] .inv-sheet__opt { background: #0F1634; border-color: rgba(217, 183, 110, .22); color: var(--ink); }

/* =====================================================================
   APERTURA · piezas comunes (cualquier estilo) y respaldo del velo (§24.2: velo → curtain)
   El módulo «velo» lee --velo-*; si no carga, el telón se viste de terciopelo de medianoche
   bordado en oro y, al abrirse, descubre la misma luna llena sobre los volcanes.
   ===================================================================== */
/* modo accesible (§14.3): la tarjeta simple, de noche con filete de oro y letra grande en marfil (12:1) */
html[data-theme="luna"] .inv-intro--simple .smp {
  background: radial-gradient(120% 70% at 50% 0%, rgba(169, 166, 201, .18), transparent 60%), linear-gradient(165deg, #1F2A57, #121A3C);
  color: var(--ink); border-color: rgba(217, 183, 110, .55);
}
html[data-theme="luna"] .inv-intro--simple .smp__title { font-weight: 400; color: var(--ln-gold-hi); }
html[data-theme="luna"] .inv-intro--simple .smp__place .inv-icon { color: var(--ln-gold); }
html[data-theme="luna"] .inv-intro__eyebrow { font-weight: 500; letter-spacing: .36em; color: var(--ln-gold-hi); }
html[data-theme="luna"] .inv-intro__cta {
  min-height: 52px; padding: 0 26px 0 22px; border-radius: 999px; border: 0;
  background: linear-gradient(135deg, #F6E4B2 0%, #D9B76E 50%, #C29D55 100%); color: var(--accent-ink);
  font-family: var(--font-body); font-weight: 600; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase;
  box-shadow: 0 0 0 1px rgba(169, 131, 64, .9), 0 18px 36px -14px rgba(0, 0, 0, .8), 0 0 30px -6px rgba(233, 211, 161, .45), inset 0 1px 0 rgba(255, 250, 230, .6);
}
html[data-theme="luna"] .inv-intro__cta-ring { animation-name: invCtaRingGold; }
html[data-theme="luna"] .inv-intro__cta:focus-visible { outline-color: var(--ln-gold-hi); }
html[data-theme="luna"] .inv-intro__guest { background: var(--ln-glass); color: var(--ink); border-color: rgba(217, 183, 110, .45); }
html[data-theme="luna"] .inv-intro__guest .inv-guest__name { color: var(--ln-gold-hi); font-size: 1.9rem; }

html[data-theme="luna"] .inv-intro--curtain { background: var(--intro-bg); }
html[data-theme="luna"] .inv-intro--curtain .cur { --velvet: #1C2654; --gold: #D9B76E; --gold-hi: #F3DFA8; --gold-lo: #8E6C33; }
/* lo que hay detrás: el cielo, la luna llena alta y los volcanes */
html[data-theme="luna"] .inv-intro--curtain .cur__stage {
  background:
    var(--ln-moon) 50% calc(30vh - 110px) / 220px 220px no-repeat,
    radial-gradient(260px circle at 50% 30vh, rgba(243, 238, 223, .2), rgba(217, 183, 110, .06) 55%, transparent 72%),
    var(--velo-fondo);
}
html[data-theme="luna"] .inv-intro--curtain .cur__light { opacity: 0; }
html[data-theme="luna"] .inv-intro--curtain .cur.s2 .cur__light { opacity: .35; }
html[data-theme="luna"] .inv-intro--curtain .cur__floor {
  left: 0; right: 0; bottom: 0; width: auto; max-width: none; height: max(24vh, 18.4vw); transform: none; border-radius: 0;
  background: var(--ln-volcanes) 50% 100% / auto 100% no-repeat;   /* 18,4vw: en pantallas anchas el dibujo cubre el ancho */
}
/* paños de terciopelo de medianoche con estrellas y medias lunas bordadas */
html[data-theme="luna"] .inv-intro--curtain .cur__panel {
  background:
    var(--velo-motivo) 0 0 / 132px 132px,
    radial-gradient(120% 60% at 50% 110%, rgba(0, 0, 0, .45), transparent 60%),
    linear-gradient(180deg, rgba(0, 0, 0, .4), transparent 26%, transparent 72%, rgba(0, 0, 0, .35)),
    repeating-linear-gradient(90deg, #0A0F27 0, #18214A 2.6%, #2A3670 5.2%, #1A2350 7.6%, #0E1535 10.4%, #0A0F27 12.5%);
}
/* placa: cristal de noche con filete de oro y el monograma en caligrafía */
html[data-theme="luna"] .inv-intro--curtain .cur__plaque-in {
  color: var(--ink);
  background: radial-gradient(120% 80% at 50% 0%, rgba(169, 166, 201, .2), transparent 60%), linear-gradient(165deg, #1F2A57, #121A3C);
}
html[data-theme="luna"] .inv-intro--curtain .cur__mono {
  font-family: var(--font-script); color: var(--ln-gold-hi);
  background: var(--ln-foil); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
html[data-theme="luna"] .inv-intro--curtain .cur__title { font-family: var(--font-display); letter-spacing: .2em; color: var(--ink); opacity: .92; }
html[data-theme="luna"] .inv-intro--curtain .cur__guest { color: var(--ln-gold-hi); }
html[data-theme="luna"] .inv-intro--curtain .cur__spark { color: var(--ln-gold-hi); }
/* el hilo con degradado (destello final, tarjeta accesible, recuerdo, pase): luz de luna en oro, no el iris
   de la marca, que de noche se veía rosado */
html[data-theme="luna"] .inv-intro__flash-spark { filter: drop-shadow(0 0 18px rgba(255, 238, 200, .95)) drop-shadow(0 0 42px rgba(217, 183, 110, .6)); }
html[data-theme="luna"] .inv-sparkle stop:nth-child(1) { stop-color: #FFFDF4; }
html[data-theme="luna"] .inv-sparkle stop:nth-child(2) { stop-color: #F1D9A0; }
html[data-theme="luna"] .inv-sparkle stop:nth-child(3) { stop-color: #C9A45C; }

/* =====================================================================
   ESCRITORIO · la luna grande afuera de la columna y el altiplano en el horizonte
   ===================================================================== */
@media (min-width: 1100px) {
  /* a la izquierda, la Cruz del Sur con sus punteros (el cielo de esa latitud) */
  html[data-theme="luna"] {
    --ln-cruz-w: clamp(220px, 50vw - 330px, 380px);
    background-image: var(--ln-cruz), radial-gradient(80vw 60vh at 50% -10%, rgba(169, 166, 201, .14), transparent 70%), radial-gradient(60vw 50vh at 100% 100%, rgba(217, 183, 110, .07), transparent 70%), var(--ln-stars-a);
    background-size: var(--ln-cruz-w) auto, auto, auto, 320px 320px;
    background-position: calc((50vw - 280px - var(--ln-cruz-w)) / 2) 22vh, 0 0, 0 0, 0 0;
    background-repeat: no-repeat, no-repeat, no-repeat, repeat;
    background-attachment: fixed, scroll, scroll, scroll;
  }
  html[data-theme="luna"] body.inv::before,
  html[data-theme="luna"] body.inv::after { content: ''; position: fixed; z-index: -1; pointer-events: none; }
  html[data-theme="luna"] body.inv::before {
    left: calc(75% + 140px - 90px); top: 120px; width: 180px; height: 180px; border-radius: 50%;
    background: var(--ln-moon) center / 100% 100% no-repeat;
    box-shadow: 0 0 60px 10px rgba(243, 238, 223, .16), 0 0 200px 70px rgba(217, 183, 110, .07);
  }
  /* el altiplano al pie: el cono queda justo bajo la luna (su centro, a 655 px del borde del dibujo de 240 px de alto) */
  html[data-theme="luna"] body.inv::after { left: 0; right: 0; bottom: 0; height: 240px; background: var(--ln-volcanes) calc(75vw + 140px - 655px) 100% / auto 240px repeat-x; opacity: .92; }
  html[data-theme="luna"] .inv-page { box-shadow: 0 0 0 1px rgba(217, 183, 110, .16), 0 50px 120px -40px rgba(0, 0, 0, .95); }
}

/* =====================================================================
   MODO ACCESIBLE Y MOVIMIENTO REDUCIDO · todo quieto y completo
   ===================================================================== */
html[data-theme="luna"][data-access='1'] .inv-fx { display: none; }
/* la barra accesible es más alta: el paisaje se acorta para que los nombres y la fecha suban */
html[data-theme="luna"][data-access='1'] .inv-hero { --ln-scene: clamp(190px, 28svh, 260px); }
html[data-theme="luna"][data-access='1'] .inv-hero--type::before,
html[data-theme="luna"][data-access='1'] .inv-hero__art::before,
html[data-theme="luna"][data-access='1'] .inv-hero__art::after { transition: none; }
@media (prefers-reduced-motion: reduce) {
  html[data-theme="luna"] .inv-fx::before,
  html[data-theme="luna"] .inv-fx::after { animation: none; opacity: .4; }
  html[data-theme="luna"] .inv-hero--type::before,
  html[data-theme="luna"] .inv-hero__art::before,
  html[data-theme="luna"] .inv-hero__art::after { transition: none; }
  html[data-theme="luna"].is-revealed .inv-hero__title.hero-anim { animation: none; opacity: 1; transform: none; }
  html[data-theme="luna"] .inv-gallery--grid .inv-gallery__item.reveal:not(.is-in):nth-child(even) { transform: translateY(26px); }
}
