/* =====================================================================
   Inolvidia · tema «hacienda» — Casa hacienda a la hora del almuerzo
   (demo: boda-hacienda, Pachacámac, Lima · §24.1 nº 4)
   Concepto: muros de cal, piso de pastelones de terracota con taco de azulejo,
   puerta de madera tallada con clavos de hierro, faroles y rejas de forja,
   bugambilias, olivos, azulejos pintados a mano en cobalto (puntuales) y un
   caballo de paso en la veleta del pie.
   Contrato §5: variables en :root + decoración SOLO bajo html[data-theme="hacienda"]
   sobre las clases públicas del motor (y algunos hijos BEM: .inv-countdown__unit,
   .inv-event__media, .inv-timeline__dot…; si el motor los renombra, cae con gracia).
   Apertura «puertas» (§24.2, módulo de otro equipo): variables --puerta-* aquí abajo.
   Fuentes: Gloock (títulos, sin cursiva: nunca se pide italic) · Sacramento (caligrafía)
   · Work Sans (texto).
   Contraste AA medido (tools/temas, ver docs/notas/bodas24-boda-hacienda.md):
   la terracota de texto es #9C4326 (5,7:1 sobre cal, 4,9:1 sobre adobe); #B5532E solo en adornos.
   Sobre la foto: velo cálido desde el 38 % y placa bajo el eyebrow (≥ 5,5:1 aun sobre el vestido blanco).
   ===================================================================== */

:root {
  --bg: #F7F0E4;            /* cal */
  --bg-alt: #EFE2CE;        /* adobe claro */
  --surface: #FCF8F1;
  --ink: #3A2A1E;           /* madera oscura */
  --ink-soft: #644E3D;
  --accent: #9C4326;        /* terracota quemada (texto y botones) */
  --accent-2: #2A4A8F;      /* cobalto de azulejo */
  --accent-ink: #FFF8EE;
  --line: rgba(58, 42, 30, .15);
  --font-display: 'Gloock', 'Georgia', 'Times New Roman', serif;
  --font-script: 'Sacramento', 'Gloock', cursive;
  --font-body: 'Work Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --radius: 10px;
  --shadow: 0 1px 2px rgba(58, 36, 20, .06), 0 20px 40px -26px rgba(74, 44, 22, .45);
  --hero-overlay: linear-gradient(180deg, rgba(40, 24, 12, .3) 0%, rgba(40, 24, 12, 0) 16%, rgba(40, 24, 12, 0) 38%, rgba(36, 20, 10, .62) 48%, rgba(32, 18, 9, .82) 60%, rgba(28, 15, 8, .94) 100%);
  --hero-ink: #FFF8EC;
  --intro-bg: #EDE1CD;      /* muro de cal en sombra */
  --intro-ink: #3A2A1E;
  --seal: #5B3A24;          /* madera */
  --pattern: none;
  --ornament: var(--hc-forja);

  /* — propias del tema — */
  --hc-terracota: #B5532E;  /* solo adornos */
  --hc-madera: #5B3A24;
  --hc-verde-olivo: #6E7B3F;
  --hc-olivo-texto: #5A6631;
  --hc-cobalto: #2A4A8F;
  --hc-fucsia: #C2306D;     /* bugambilia (acento mínimo); --hc-bugambilia es el dibujo */
  --hc-hierro: #2B2724;
  --hc-ocre: #C9922E;
  --hc-adobe: #EAD9C2;

  /* — apertura «puertas» (§24.2): portón de nogal tallado con clavos de hierro bajo un arco de cal — */
  --puerta-color: #5A3822;          /* nogal */
  --puerta-color-2: #3B2416;        /* veta y sombra */
  --puerta-herraje: #2B2724;        /* hierro forjado */
  --puerta-tallado: var(--hc-tallado);
  --puerta-marco: #F3EADB;          /* cal */
  --puerta-marco-img: var(--hc-cal);
  --puerta-arco: 50%;               /* medio punto */
  --puerta-luz: #FFE6B0;            /* sol de mediodía */
  --puerta-fx: petalos;             /* bugambilias */
  --puerta-petalo: #C2306D;         /* brácteas de bugambilia */
  --puerta-placa: #BE9A55;          /* latón bruñido de la placa del pase (texto ≥ 5,5:1) */
  --puerta-piso: #B0532F;           /* pastelones de terracota */
  --puerta-fuente: var(--font-display); /* nombres en Gloock, como en el hero */
  --puerta-seto: #66733A;           /* jardín del fondo del salón: verde olivo */
}

/* @recursos:inicio — SVG propios: los genera tools/temas/hacienda.mjs (no editar a mano) */
html[data-theme="hacienda"] {
  --hc-cal: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320'%3E%3Cfilter id='a' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.009' numOctaves='3' seed='7' stitchTiles='stitch' result='m'/%3E%3CfeColorMatrix in='m' values='0 0 0 0 .42 0 0 0 0 .32 0 0 0 0 .2 .4 0 0 0 -.17' result='mo'/%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.003 .07' numOctaves='2' seed='3' stitchTiles='stitch' result='b'/%3E%3CfeColorMatrix in='b' values='0 0 0 0 .5 0 0 0 0 .4 0 0 0 0 .28 .11 0 0 0 -.045' result='bo'/%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='11' stitchTiles='stitch' result='g'/%3E%3CfeColorMatrix in='g' values='0 0 0 0 .35 0 0 0 0 .27 0 0 0 0 .18 0 0 0 .11 0' result='go'/%3E%3CfeMerge%3E%3CfeMergeNode in='mo'/%3E%3CfeMergeNode in='bo'/%3E%3CfeMergeNode in='go'/%3E%3C/feMerge%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");
  --hc-grano: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .36 0 0 0 0 .27 0 0 0 0 .18 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --hc-azulejo-marco: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' width='64' height='64'%3E%3Cdefs%3E%3CradialGradient id='v' cx='.42' cy='.36' r='.8'%3E%3Cstop offset='0' stop-color='%23FDFBF6'/%3E%3Cstop offset='.7' stop-color='%23F4EEE2'/%3E%3Cstop offset='1' stop-color='%23E9E0CE'/%3E%3C/radialGradient%3E%3C/defs%3E%3Crect width='64' height='64' fill='url(%23v)'/%3E%3Ccircle cx='0' cy='0' r='12.5' fill='%232D4D93'/%3E%3Ccircle cx='64' cy='0' r='12.5' fill='%232D4D93'/%3E%3Ccircle cx='0' cy='64' r='12.5' fill='%232D4D93'/%3E%3Ccircle cx='64' cy='64' r='12.5' fill='%232D4D93'/%3E%3Ccircle cx='0' cy='0' r='12.5' fill='none'/%3E%3Ccircle cx='64' cy='0' r='12.5' fill='none'/%3E%3Ccircle cx='0' cy='64' r='12.5' fill='none'/%3E%3Ccircle cx='64' cy='64' r='12.5' fill='none'/%3E%3Cg fill='none' stroke='%23F7F2E8' stroke-width='1.3'%3E%3Ccircle cx='0' cy='0' r='8.2'/%3E%3Ccircle cx='64' cy='0' r='8.2'/%3E%3Ccircle cx='0' cy='64' r='8.2'/%3E%3Ccircle cx='64' cy='64' r='8.2'/%3E%3C/g%3E%3Ccircle cx='0' cy='0' r='3.2' fill='%23C9922E'/%3E%3Ccircle cx='64' cy='0' r='3.2' fill='%23C9922E'/%3E%3Ccircle cx='0' cy='64' r='3.2' fill='%23C9922E'/%3E%3Ccircle cx='64' cy='64' r='3.2' fill='%23C9922E'/%3E%3Ccircle cx='0' cy='0' r='1.3' fill='%23F7F2E8'/%3E%3Ccircle cx='64' cy='0' r='1.3' fill='%23F7F2E8'/%3E%3Ccircle cx='0' cy='64' r='1.3' fill='%23F7F2E8'/%3E%3Ccircle cx='64' cy='64' r='1.3' fill='%23F7F2E8'/%3E%3Cpath fill='%232D4D93' d='M32,-4l4.6,4.6 -4.6,4.6 -4.6,-4.6zM32,59.4l4.6,4.6 -4.6,4.6 -4.6,-4.6zM-4,32l4.6,-4.6 4.6,4.6 -4.6,4.6zM59.4,32l4.6,-4.6 4.6,4.6 -4.6,4.6z'/%3E%3Crect x='9.5' y='9.5' width='45' height='45' rx='3' fill='none' stroke='%232D4D93' stroke-width='.7' stroke-opacity='.55'/%3E%3Crect x='.3' y='.3' width='63.4' height='63.4' fill='none' stroke='%23D6CAB4' stroke-width='.6'/%3E%3C/svg%3E");
  --hc-cenefa: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 18' width='64' height='18'%3E%3Crect width='64' height='18' fill='%2328488C'/%3E%3Crect y='0' width='64' height='1.6' fill='%23C9922E'/%3E%3Crect y='16.4' width='64' height='1.6' fill='%23C9922E'/%3E%3Cpath d='M0,9C6,2.6 13,2.6 16,8.2C17.5,11 15,13 13,11.4M16,9C22,15.4 29,15.4 32,9.8C33.5,7 31,5 29,6.6M32,9C38,2.6 45,2.6 48,8.2C49.5,11 47,13 45,11.4M48,9C54,15.4 61,15.4 64,9.8' fill='none' stroke='%23F5F0E6' stroke-width='1.5' stroke-linecap='round'/%3E%3Cg fill='%23F5F0E6'%3E%3Ccircle cx='8' cy='12.6' r='1.2'/%3E%3Ccircle cx='24' cy='5.4' r='1.2'/%3E%3Ccircle cx='40' cy='12.6' r='1.2'/%3E%3Ccircle cx='56' cy='5.4' r='1.2'/%3E%3C/g%3E%3C/svg%3E");
  --hc-forja: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 56'%3E%3Cdefs%3E%3Cg id='t'%3E%3Cpath d='M30,28H112M168,28H250'/%3E%3Cpath d='M30,28C21,28 16.5,21.5 20.5,17C23.5,13.8 29,15.4 28.6,19.6C28.3,22.6 24.6,22.8 24.4,20.6'/%3E%3Cpath d='M250,28C259,28 263.5,21.5 259.5,17C256.5,13.8 251,15.4 251.4,19.6C251.7,22.6 255.4,22.8 255.6,20.6'/%3E%3Cpath d='M140,28C131,28 122.5,22 124.5,13.6C126,8 133.5,7.6 134.4,12.8C135,16.4 131,18 129.6,15.4'/%3E%3Cpath d='M140,28C149,28 157.5,22 155.5,13.6C154,8 146.5,7.6 145.6,12.8C145,16.4 149,18 150.4,15.4'/%3E%3Cpath d='M140,28C131,28 122.5,34 124.5,42.4C126,48 133.5,48.4 134.4,43.2C135,39.6 131,38 129.6,40.6'/%3E%3Cpath d='M140,28C149,28 157.5,34 155.5,42.4C154,48 146.5,48.4 145.6,43.2C145,39.6 149,38 150.4,40.6'/%3E%3Cpath d='M64,28C64,20 72,16.6 77.4,19.6C81.6,22 80.4,27.4 76.6,27.2C74,27 73.6,24 75.6,23.4'/%3E%3Cpath d='M216,28C216,20 208,16.6 202.6,19.6C198.4,22 199.6,27.4 203.4,27.2C206,27 206.4,24 204.4,23.4'/%3E%3Cpath d='M88,28C88,35 95,38.4 100,36C103.6,34.2 102.6,30 99.6,30.4'/%3E%3Cpath d='M192,28C192,35 185,38.4 180,36C176.4,34.2 177.4,30 180.4,30.4'/%3E%3C/g%3E%3C/defs%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cuse href='%23t' stroke='%232B2724' stroke-width='2.1'/%3E%3Cuse href='%23t' stroke='%238C8178' stroke-width='.55' transform='translate(-.35 -.55)' opacity='.85'/%3E%3C/g%3E%3Cg fill='%232B2724'%3E%3Crect x='110.5' y='24' width='3.4' height='8' rx='.8'/%3E%3Crect x='166.1' y='24' width='3.4' height='8' rx='.8'/%3E%3Crect x='138.2' y='21.6' width='3.6' height='12.8' rx='.9'/%3E%3Cpath d='M140,2.6l3.2,5.8 -3.2,5.8 -3.2,-5.8z'/%3E%3Ccircle cx='140' cy='53' r='2'/%3E%3Ccircle cx='12' cy='28' r='2.2'/%3E%3Ccircle cx='268' cy='28' r='2.2'/%3E%3C/g%3E%3C/svg%3E");
  --hc-bugambilia: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 280'%3E%3Cdefs%3E%3Cpath id='B' d='M0,0C-7,-3 -13.5,-11 -12.4,-19.4C-11.4,-26.6 -5,-29.6 0,-26C5,-29.6 11.4,-26.6 12.4,-19.4C13.5,-11 7,-3 0,0Z'/%3E%3Cpath id='V' d='M0,-1.5V-23M0,-8L-6.4,-15.6M0,-8L6.4,-15.6M0,-14.6L-4.4,-21M0,-14.6L4.4,-21' fill='none' stroke-width='.55'/%3E%3Cpath id='H' d='M0,0C6.4,-5 8.6,-16.5 0,-27C-8.6,-16.5 -6.4,-5 0,0Z'/%3E%3ClinearGradient id='g1' x1='0' y1='1' x2='0' y2='0'%3E%3Cstop offset='0' stop-color='%237E1646'/%3E%3Cstop offset='.55' stop-color='%23BC2C69'/%3E%3Cstop offset='1' stop-color='%23E25C95'/%3E%3C/linearGradient%3E%3ClinearGradient id='g2' x1='0' y1='1' x2='0' y2='0'%3E%3Cstop offset='0' stop-color='%238A1B50'/%3E%3Cstop offset='.55' stop-color='%23CF3F7C'/%3E%3Cstop offset='1' stop-color='%23F08AB5'/%3E%3C/linearGradient%3E%3ClinearGradient id='g3' x1='0' y1='1' x2='0' y2='0'%3E%3Cstop offset='0' stop-color='%239C2860'/%3E%3Cstop offset='.55' stop-color='%23DA5890'/%3E%3Cstop offset='1' stop-color='%23F7B4D0'/%3E%3C/linearGradient%3E%3ClinearGradient id='g4' x1='0' y1='1' x2='0' y2='0'%3E%3Cstop offset='0' stop-color='%235A1034'/%3E%3Cstop offset='.55' stop-color='%238E2150'/%3E%3Cstop offset='1' stop-color='%23B43C72'/%3E%3C/linearGradient%3E%3ClinearGradient id='h1' x1='0' y1='1' x2='0' y2='0'%3E%3Cstop offset='0' stop-color='%233F5124'/%3E%3Cstop offset='1' stop-color='%237D9248'/%3E%3C/linearGradient%3E%3ClinearGradient id='h2' x1='0' y1='1' x2='0' y2='0'%3E%3Cstop offset='0' stop-color='%2333431D'/%3E%3Cstop offset='1' stop-color='%235E7334'/%3E%3C/linearGradient%3E%3Cg id='b1'%3E%3Cuse href='%23B' fill='url(%23g1)'/%3E%3Cuse href='%23V' stroke='%23F6A2C4' stroke-opacity='0.7'/%3E%3C/g%3E%3Cg id='b2'%3E%3Cuse href='%23B' fill='url(%23g2)'/%3E%3Cuse href='%23V' stroke='%23FAB8D3' stroke-opacity='0.7'/%3E%3C/g%3E%3Cg id='b3'%3E%3Cuse href='%23B' fill='url(%23g3)'/%3E%3Cuse href='%23V' stroke='%23FFD3E4' stroke-opacity='0.8'/%3E%3C/g%3E%3Cg id='b4'%3E%3Cuse href='%23B' fill='url(%23g4)'/%3E%3Cuse href='%23V' stroke='%23E68AB2' stroke-opacity='0.45'/%3E%3C/g%3E%3Cg id='f'%3E%3Cpath d='M0,-2.6L.8,-.8 2.5,-.6 1.2,.6 1.6,2.4 0,1.4 -1.6,2.4 -1.2,.6 -2.5,-.6 -.8,-.8Z' fill='%23FBF1D6'/%3E%3Ccircle r='.8' fill='%23D9A93A'/%3E%3C/g%3E%3Cg id='c1'%3E%3Cuse href='%23b1' transform='rotate(-44) scale(.94)'/%3E%3Cuse href='%23b1' transform='rotate(44) scale(.9)'/%3E%3Cuse href='%23b1'/%3E%3Cuse href='%23f' y='-3'/%3E%3C/g%3E%3Cg id='c2'%3E%3Cuse href='%23b2' transform='rotate(-44) scale(.94)'/%3E%3Cuse href='%23b2' transform='rotate(44) scale(.9)'/%3E%3Cuse href='%23b2'/%3E%3Cuse href='%23f' y='-3'/%3E%3C/g%3E%3Cg id='c3'%3E%3Cuse href='%23b3' transform='rotate(-44) scale(.94)'/%3E%3Cuse href='%23b3' transform='rotate(44) scale(.9)'/%3E%3Cuse href='%23b3'/%3E%3Cuse href='%23f' y='-3'/%3E%3C/g%3E%3Cg id='e'%3E%3Cuse href='%23b4' transform='rotate(-40) scale(.92)'/%3E%3Cuse href='%23b4' transform='rotate(46) scale(.88)'/%3E%3Cuse href='%23b4'/%3E%3C/g%3E%3Cg id='s'%3E%3Cuse href='%23b2' transform='rotate(-14) scale(.42 .9)'/%3E%3Cuse href='%23b1' transform='rotate(16) scale(.5 .96)'/%3E%3C/g%3E%3Cg id='l'%3E%3Cuse href='%23H' fill='url(%23h1)'/%3E%3Cpath d='M0,-2V-23' stroke='%23A9B66F' stroke-width='.7' stroke-opacity='.8'/%3E%3C/g%3E%3Cg id='m'%3E%3Cuse href='%23H' fill='url(%23h2)'/%3E%3Cpath d='M0,-2V-23' stroke='%238EA05A' stroke-width='.6' stroke-opacity='.7'/%3E%3C/g%3E%3C/defs%3E%3Cpath d='M-6,8C40,10 92,22 130,52C168,82 196,128 210,196C213,212 213,226 209,242' fill='none' stroke='%235E3F28' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M-6,8C40,10 92,22 130,52C168,82 196,128 210,196' fill='none' stroke='%238A6446' stroke-width='1' transform='translate(-.6 -.8)'/%3E%3Cpath d='M70,22C82,46 86,76 76,112' fill='none' stroke='%235E3F28' stroke-width='1.8' stroke-linecap='round'/%3E%3Cpath d='M130,52C144,80 142,112 128,146' fill='none' stroke='%235E3F28' stroke-width='1.8' stroke-linecap='round'/%3E%3Cpath d='M168,92C190,104 222,112 248,102' fill='none' stroke='%235E3F28' stroke-width='1.8' stroke-linecap='round'/%3E%3Cpath d='M196,140C186,160 170,176 148,184' fill='none' stroke='%235E3F28' stroke-width='1.8' stroke-linecap='round'/%3E%3Cpath d='M30,12C38,28 36,44 28,62' fill='none' stroke='%235E3F28' stroke-width='1.8' stroke-linecap='round'/%3E%3Cuse href='%23l' transform='translate(30 12) rotate(30) scale(.52)'/%3E%3Cuse href='%23l' transform='translate(44 14) rotate(159) scale(.58)'/%3E%3Cuse href='%23l' transform='translate(98 32) rotate(77) scale(.63)'/%3E%3Cuse href='%23l' transform='translate(114 41) rotate(199) scale(.50)'/%3E%3Cuse href='%23l' transform='translate(152 73) rotate(198) scale(.72)'/%3E%3Cuse href='%23m' transform='translate(167 91) rotate(87) scale(.78)'/%3E%3Cuse href='%23l' transform='translate(191 133) rotate(77) scale(.75)'/%3E%3Cuse href='%23m' transform='translate(211 202) rotate(251) scale(.56)'/%3E%3Cuse href='%23l' transform='translate(212 212) rotate(123) scale(.52)'/%3E%3Cuse href='%23m' transform='translate(212 218) rotate(133) scale(.75)'/%3E%3Cuse href='%23m' transform='translate(211 234) rotate(129) scale(.84)'/%3E%3Cuse href='%23l' transform='translate(72 26) rotate(219) scale(.70)'/%3E%3Cuse href='%23l' transform='translate(79 99) rotate(243) scale(.58)'/%3E%3Cuse href='%23l' transform='translate(132 56) rotate(79) scale(.70)'/%3E%3Cuse href='%23l' transform='translate(139 108) rotate(226) scale(.60)'/%3E%3Cuse href='%23m' transform='translate(196 103) rotate(60) scale(.77)'/%3E%3Cuse href='%23m' transform='translate(232 106) rotate(148) scale(.77)'/%3E%3Cuse href='%23m' transform='translate(194 144) rotate(140) scale(.83)'/%3E%3Cuse href='%23m' transform='translate(156 180) rotate(205) scale(.51)'/%3E%3Cuse href='%23l' transform='translate(35 28) rotate(217) scale(.60)'/%3E%3Cuse href='%23m' transform='translate(34 44) rotate(116) scale(.53)'/%3E%3Cuse href='%23e' transform='translate(91 34) rotate(182) scale(1.03)'/%3E%3Cuse href='%23e' transform='translate(181 112) rotate(168) scale(1.25)'/%3E%3Cuse href='%23e' transform='translate(193 132) rotate(191) scale(1.07)'/%3E%3Cuse href='%23e' transform='translate(203 156) rotate(146) scale(.98)'/%3E%3Cuse href='%23e' transform='translate(214 232) rotate(208) scale(1.14)'/%3E%3Cuse href='%23e' transform='translate(210 240) rotate(162) scale(1.24)'/%3E%3Cuse href='%23e' transform='translate(75 28) rotate(178) scale(.94)'/%3E%3Cuse href='%23e' transform='translate(80 79) rotate(195) scale(1.07)'/%3E%3Cuse href='%23e' transform='translate(237 104) rotate(125) scale(.85)'/%3E%3Cuse href='%23e' transform='translate(169 168) rotate(169) scale(1.13)'/%3E%3Cuse href='%23e' transform='translate(158 177) rotate(188) scale(.86)'/%3E%3Cuse href='%23c2' transform='translate(20 13) rotate(197) scale(1.02)'/%3E%3Cuse href='%23c1' transform='translate(48 19) rotate(157) scale(.93)'/%3E%3Cuse href='%23c1' transform='translate(70 23) rotate(179) scale(1.06)'/%3E%3Cuse href='%23s' transform='translate(111 39) rotate(148) scale(.97)'/%3E%3Cuse href='%23c1' transform='translate(158 71) rotate(197) scale(.90)'/%3E%3Cuse href='%23c2' transform='translate(213 193) rotate(204) scale(.99)'/%3E%3Cuse href='%23s' transform='translate(215 204) rotate(169) scale(1.06)'/%3E%3Cuse href='%23s' transform='translate(215 208) rotate(167) scale(.97)'/%3E%3Cuse href='%23s' transform='translate(208 224) rotate(180) scale(1.06)'/%3E%3Cuse href='%23c1' transform='translate(80 54) rotate(148) scale(1.03)'/%3E%3Cuse href='%23c1' transform='translate(80 92) rotate(162) scale(.83)'/%3E%3Cuse href='%23c1' transform='translate(132 59) rotate(206) scale(.96)'/%3E%3Cuse href='%23c1' transform='translate(136 91) rotate(192) scale(.95)'/%3E%3Cuse href='%23s' transform='translate(145 105) rotate(203) scale(.93)'/%3E%3Cuse href='%23c2' transform='translate(132 143) rotate(151) scale(.83)'/%3E%3Cuse href='%23c1' transform='translate(172 91) rotate(128) scale(.90)'/%3E%3Cuse href='%23s' transform='translate(203 101) rotate(158) scale(.90)'/%3E%3Cuse href='%23s' transform='translate(218 108) rotate(152) scale(.88)'/%3E%3Cuse href='%23c1' transform='translate(188 150) rotate(175) scale(.84)'/%3E%3Cuse href='%23s' transform='translate(180 162) rotate(201) scale(.84)'/%3E%3Cuse href='%23c2' transform='translate(33 25) rotate(188) scale(.89)'/%3E%3Cuse href='%23c1' transform='translate(30 51) rotate(169) scale(.95)'/%3E%3Cuse href='%23c3' transform='translate(5 12) rotate(176) scale(1.14)'/%3E%3Cuse href='%23c3' transform='translate(135 59) rotate(148) scale(1.13)'/%3E%3Cuse href='%23c3' transform='translate(168 87) rotate(144) scale(1.10)'/%3E%3Cuse href='%23c3' transform='translate(212 215) rotate(145) scale(1.03)'/%3E%3Cuse href='%23c3' transform='translate(31 39) rotate(177) scale(1.03)'/%3E%3C/svg%3E");
  --hc-racimo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 70'%3E%3Cdefs%3E%3Cpath id='B' d='M0,0C-7,-3 -13.5,-11 -12.4,-19.4C-11.4,-26.6 -5,-29.6 0,-26C5,-29.6 11.4,-26.6 12.4,-19.4C13.5,-11 7,-3 0,0Z'/%3E%3Cpath id='V' d='M0,-1.5V-23M0,-8L-6.4,-15.6M0,-8L6.4,-15.6M0,-14.6L-4.4,-21M0,-14.6L4.4,-21' fill='none' stroke-width='.55'/%3E%3Cpath id='H' d='M0,0C6.4,-5 8.6,-16.5 0,-27C-8.6,-16.5 -6.4,-5 0,0Z'/%3E%3ClinearGradient id='g1' x1='0' y1='1' x2='0' y2='0'%3E%3Cstop offset='0' stop-color='%237E1646'/%3E%3Cstop offset='.55' stop-color='%23BC2C69'/%3E%3Cstop offset='1' stop-color='%23E25C95'/%3E%3C/linearGradient%3E%3ClinearGradient id='g2' x1='0' y1='1' x2='0' y2='0'%3E%3Cstop offset='0' stop-color='%238A1B50'/%3E%3Cstop offset='.55' stop-color='%23CF3F7C'/%3E%3Cstop offset='1' stop-color='%23F08AB5'/%3E%3C/linearGradient%3E%3ClinearGradient id='g3' x1='0' y1='1' x2='0' y2='0'%3E%3Cstop offset='0' stop-color='%239C2860'/%3E%3Cstop offset='.55' stop-color='%23DA5890'/%3E%3Cstop offset='1' stop-color='%23F7B4D0'/%3E%3C/linearGradient%3E%3ClinearGradient id='g4' x1='0' y1='1' x2='0' y2='0'%3E%3Cstop offset='0' stop-color='%235A1034'/%3E%3Cstop offset='.55' stop-color='%238E2150'/%3E%3Cstop offset='1' stop-color='%23B43C72'/%3E%3C/linearGradient%3E%3ClinearGradient id='h1' x1='0' y1='1' x2='0' y2='0'%3E%3Cstop offset='0' stop-color='%233F5124'/%3E%3Cstop offset='1' stop-color='%237D9248'/%3E%3C/linearGradient%3E%3ClinearGradient id='h2' x1='0' y1='1' x2='0' y2='0'%3E%3Cstop offset='0' stop-color='%2333431D'/%3E%3Cstop offset='1' stop-color='%235E7334'/%3E%3C/linearGradient%3E%3Cg id='b1'%3E%3Cuse href='%23B' fill='url(%23g1)'/%3E%3Cuse href='%23V' stroke='%23F6A2C4' stroke-opacity='0.7'/%3E%3C/g%3E%3Cg id='b2'%3E%3Cuse href='%23B' fill='url(%23g2)'/%3E%3Cuse href='%23V' stroke='%23FAB8D3' stroke-opacity='0.7'/%3E%3C/g%3E%3Cg id='b3'%3E%3Cuse href='%23B' fill='url(%23g3)'/%3E%3Cuse href='%23V' stroke='%23FFD3E4' stroke-opacity='0.8'/%3E%3C/g%3E%3Cg id='b4'%3E%3Cuse href='%23B' fill='url(%23g4)'/%3E%3Cuse href='%23V' stroke='%23E68AB2' stroke-opacity='0.45'/%3E%3C/g%3E%3Cg id='f'%3E%3Cpath d='M0,-2.6L.8,-.8 2.5,-.6 1.2,.6 1.6,2.4 0,1.4 -1.6,2.4 -1.2,.6 -2.5,-.6 -.8,-.8Z' fill='%23FBF1D6'/%3E%3Ccircle r='.8' fill='%23D9A93A'/%3E%3C/g%3E%3Cg id='c1'%3E%3Cuse href='%23b1' transform='rotate(-44) scale(.94)'/%3E%3Cuse href='%23b1' transform='rotate(44) scale(.9)'/%3E%3Cuse href='%23b1'/%3E%3Cuse href='%23f' y='-3'/%3E%3C/g%3E%3Cg id='c2'%3E%3Cuse href='%23b2' transform='rotate(-44) scale(.94)'/%3E%3Cuse href='%23b2' transform='rotate(44) scale(.9)'/%3E%3Cuse href='%23b2'/%3E%3Cuse href='%23f' y='-3'/%3E%3C/g%3E%3Cg id='c3'%3E%3Cuse href='%23b3' transform='rotate(-44) scale(.94)'/%3E%3Cuse href='%23b3' transform='rotate(44) scale(.9)'/%3E%3Cuse href='%23b3'/%3E%3Cuse href='%23f' y='-3'/%3E%3C/g%3E%3Cg id='e'%3E%3Cuse href='%23b4' transform='rotate(-40) scale(.92)'/%3E%3Cuse href='%23b4' transform='rotate(46) scale(.88)'/%3E%3Cuse href='%23b4'/%3E%3C/g%3E%3Cg id='s'%3E%3Cuse href='%23b2' transform='rotate(-14) scale(.42 .9)'/%3E%3Cuse href='%23b1' transform='rotate(16) scale(.5 .96)'/%3E%3C/g%3E%3Cg id='l'%3E%3Cuse href='%23H' fill='url(%23h1)'/%3E%3Cpath d='M0,-2V-23' stroke='%23A9B66F' stroke-width='.7' stroke-opacity='.8'/%3E%3C/g%3E%3Cg id='m'%3E%3Cuse href='%23H' fill='url(%23h2)'/%3E%3Cpath d='M0,-2V-23' stroke='%238EA05A' stroke-width='.6' stroke-opacity='.7'/%3E%3C/g%3E%3C/defs%3E%3Cpath d='M4,64C20,52 32,40 44,30' fill='none' stroke='%235E3F28' stroke-width='1.6' stroke-linecap='round'/%3E%3Cuse href='%23l' transform='translate(16 56) rotate(40) scale(.7)'/%3E%3Cuse href='%23m' transform='translate(30 44) rotate(120) scale(.65)'/%3E%3Cuse href='%23e' transform='translate(56 22) rotate(20) scale(.8)'/%3E%3Cuse href='%23c1' transform='translate(44 30) rotate(-10)'/%3E%3Cuse href='%23c3' transform='translate(60 40) rotate(40) scale(.8)'/%3E%3Cuse href='%23s' transform='translate(32 24) rotate(-40) scale(.7)'/%3E%3C/svg%3E");
  --hc-farol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 230'%3E%3Cdefs%3E%3CradialGradient id='hl' cx='.5' cy='.5' r='.5'%3E%3Cstop offset='0' stop-color='%23FFD98A' stop-opacity='.55'/%3E%3Cstop offset='.5' stop-color='%23FFC866' stop-opacity='.16'/%3E%3Cstop offset='1' stop-color='%23FFC866' stop-opacity='0'/%3E%3C/radialGradient%3E%3ClinearGradient id='vd' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23FFF1C9'/%3E%3Cstop offset='.6' stop-color='%23F8C46A'/%3E%3Cstop offset='1' stop-color='%23D98A33'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='96' cy='112' r='62' fill='url(%23hl)'/%3E%3Crect x='2' y='16' width='8' height='50' rx='2' fill='%232B2724'/%3E%3Ccircle cx='6' cy='24' r='1.5' fill='%236E655D'/%3E%3Ccircle cx='6' cy='58' r='1.5' fill='%236E655D'/%3E%3Cg fill='none' stroke='%232B2724' stroke-linecap='round'%3E%3Cpath d='M10,28H98' stroke-width='3.2'/%3E%3Cpath d='M10,56C34,56 54,46 70,30' stroke-width='2.2'/%3E%3Cpath d='M24,55C17,52 17,44 22,42C26,40.6 29,44 26.6,46.4' stroke-width='1.8'/%3E%3Cpath d='M70,30C76,24 84,24 86,30C87.4,34 83,36.6 80.6,34' stroke-width='1.8'/%3E%3Cpath d='M98,28V46' stroke-width='2.2'/%3E%3C/g%3E%3Ccircle cx='98' cy='50' r='4' fill='none' stroke='%232B2724' stroke-width='2'/%3E%3Cpath d='M98,54L79,72H117Z' fill='%232B2724'/%3E%3Cpath d='M98,54L88,64' stroke='%237B7169' stroke-width='.8'/%3E%3Crect x='77' y='71' width='42' height='5' rx='1.5' fill='%232B2724'/%3E%3Cpath d='M80,76H116L111,134H85Z' fill='url(%23vd)'/%3E%3Cpath d='M98,96C103,104 103,112 98,116C93,112 93,104 98,96Z' fill='%23FFF8E4'/%3E%3Cg fill='none' stroke='%232B2724' stroke-width='2.4' stroke-linejoin='round'%3E%3Cpath d='M80,76H116L111,134H85Z'/%3E%3Cpath d='M98,76V134' stroke-width='1.6'/%3E%3Cpath d='M82,104H114' stroke-width='1.2'/%3E%3C/g%3E%3Crect x='82' y='133' width='32' height='5' rx='1.5' fill='%232B2724'/%3E%3Cpath d='M85,138H111L98,152Z' fill='%232B2724'/%3E%3Ccircle cx='98' cy='155' r='3.2' fill='%232B2724'/%3E%3Cpath d='M84,80L86,128' stroke='%23FFFFFF' stroke-opacity='.45' stroke-width='1.4'/%3E%3C/svg%3E");
  --hc-olivo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 90'%3E%3Cdefs%3E%3ClinearGradient id='o1' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%237B8752'/%3E%3Cstop offset='1' stop-color='%235D6A37'/%3E%3C/linearGradient%3E%3ClinearGradient id='o2' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23B9C19C'/%3E%3Cstop offset='1' stop-color='%2397A27A'/%3E%3C/linearGradient%3E%3CradialGradient id='ac' cx='.35' cy='.3' r='.8'%3E%3Cstop offset='0' stop-color='%237E6A86'/%3E%3Cstop offset='.5' stop-color='%233F2E3E'/%3E%3Cstop offset='1' stop-color='%23241A24'/%3E%3C/radialGradient%3E%3CradialGradient id='av' cx='.35' cy='.3' r='.8'%3E%3Cstop offset='0' stop-color='%23B9C46E'/%3E%3Cstop offset='1' stop-color='%236B7A32'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M4,74C58,62 118,44 214,16' fill='none' stroke='%236A5B3E' stroke-width='1.6' stroke-linecap='round'/%3E%3Cpath transform='translate(22 70) rotate(-60)' d='M0,0C4,-3.4 16,-4 30,0C16,4 4,3.4 0,0Z' fill='url(%23o2)'/%3E%3Cpath transform='translate(26 69) rotate(28)' d='M0,0C4,-3.4 16,-4 30,0C16,4 4,3.4 0,0Z' fill='url(%23o1)'/%3E%3Cpath transform='translate(50 63) rotate(-48)' d='M0,0C4,-3.4 16,-4 30,0C16,4 4,3.4 0,0Z' fill='url(%23o1)'/%3E%3Cpath transform='translate(56 61) rotate(34)' d='M0,0C4,-3.4 16,-4 30,0C16,4 4,3.4 0,0Z' fill='url(%23o2)'/%3E%3Cpath transform='translate(82 55) rotate(-52)' d='M0,0C4,-3.4 16,-4 30,0C16,4 4,3.4 0,0Z' fill='url(%23o2)'/%3E%3Cpath transform='translate(88 53) rotate(22)' d='M0,0C4,-3.4 16,-4 30,0C16,4 4,3.4 0,0Z' fill='url(%23o1)'/%3E%3Cpath transform='translate(114 46) rotate(-40)' d='M0,0C4,-3.4 16,-4 30,0C16,4 4,3.4 0,0Z' fill='url(%23o1)'/%3E%3Cpath transform='translate(120 44) rotate(36)' d='M0,0C4,-3.4 16,-4 30,0C16,4 4,3.4 0,0Z' fill='url(%23o2)'/%3E%3Cpath transform='translate(146 37) rotate(-46)' d='M0,0C4,-3.4 16,-4 30,0C16,4 4,3.4 0,0Z' fill='url(%23o2)'/%3E%3Cpath transform='translate(152 35) rotate(18)' d='M0,0C4,-3.4 16,-4 30,0C16,4 4,3.4 0,0Z' fill='url(%23o1)'/%3E%3Cpath transform='translate(176 28) rotate(-36)' d='M0,0C4,-3.4 16,-4 30,0C16,4 4,3.4 0,0Z' fill='url(%23o1)'/%3E%3Cpath transform='translate(184 26) rotate(30)' d='M0,0C4,-3.4 16,-4 30,0C16,4 4,3.4 0,0Z' fill='url(%23o2)'/%3E%3Cpath transform='translate(206 18) rotate(-14)' d='M0,0C4,-3.4 16,-4 30,0C16,4 4,3.4 0,0Z' fill='url(%23o1)'/%3E%3Cpath d='M72,58C74,66 74,70 72,74M136,40C140,48 140,54 137,58' fill='none' stroke='%236A5B3E' stroke-width='1'/%3E%3Cellipse cx='72' cy='79' rx='4.6' ry='5.8' fill='url(%23ac)'/%3E%3Cellipse cx='137' cy='63' rx='4.4' ry='5.6' fill='url(%23av)'/%3E%3Cellipse cx='129' cy='60' rx='4' ry='5.2' fill='url(%23ac)' transform='rotate(20 129 60)'/%3E%3C/svg%3E");
  --hc-veleta: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 236'%3E%3Cg fill='%232B2724'%3E%3Cg transform='translate(40 14)'%3E%3Cpath d='M34,34C26,38 22,50 20,62C19,72 22,80 16,89C25,85 29,74 29,64C29,54 31,45 37,39Z'/%3E%3Cpath d='M110,7L109,-1L114,5C118,9 126,16 132,24C135,27 135,31 131,33C128,34 124,32 121,30C117,28 113,27 111,24 C107,28 104,36 103,46C103,52 100,57 94,59C82,61 66,61 54,59C46,58 38,57 34,52C30,46 30,38 33,33 C40,28 56,31 66,32C74,33 80,31 86,24C92,16 100,8 110,7Z'/%3E%3Cpath d='M110,7C101,7 93,13 87,22C88,14 99,5 110,5ZM112,6C113,10 116,12 119,12C116,9 114,7 112,6Z'/%3E%3Cg fill='none' stroke='%232B2724' stroke-linecap='round'%3E%3Cpath d='M92,57L92,76M101,51L113,63M37,53L36,74M56,57L54,75' stroke-width='7'/%3E%3Cpath d='M92,76L93,94M113,63L112,77M36,74L40,94M54,75L62,92' stroke-width='4.4'/%3E%3C/g%3E%3Cpath d='M88.6,93.5h9l1,5.5h-11zM108.4,76.5h7.4l.8,4.6h-8.8zM35.6,93.5h9l1,5.5h-11zM57.6,91.4h9l1.2,5.4h-11z'/%3E%3Cpath d='M70.4,8.6C70.4,7.6 74.2,7 79,7C83.8,7 87.6,7.6 87.6,8.6C87.6,9.6 83.8,10.2 79,10.2C74.2,10.2 70.4,9.6 70.4,8.6ZM75.4,7.8C75.4,4.6 76.8,3 79,3C81.2,3 82.6,4.6 82.6,7.8Z'/%3E%3Ccircle cx='79' cy='12.6' r='3.1'/%3E%3Cpath d='M76.4,15.6L69.4,31.6L89,30.6L81.6,15.6Z'/%3E%3Cpath d='M83,22L100,27M82,30L84.4,42' fill='none' stroke='%232B2724' stroke-linecap='round' stroke-width='2'/%3E%3Cpath d='M81.4,41.4h6l-.6,3h-4.8z'/%3E%3Ccircle cx='123.6' cy='19.6' r='1.3' fill='%23EFE6D6'/%3E%3C/g%3E%3Cpath d='M28,114H186' stroke='%232B2724' stroke-width='2.6'/%3E%3Cpath d='M198,114L182,105.5L185.6,114L182,122.5Z'/%3E%3Cpath d='M28,114L16,104H26L36,114L26,124H16Z'/%3E%3Cpath d='M40,114L30,105H34L44,114L34,123H30Z'/%3E%3Cpath d='M113,114V206' stroke='%232B2724' stroke-width='3'/%3E%3Ccircle cx='113' cy='142' r='5.6'/%3E%3Cpath d='M70,170H156' stroke='%232B2724' stroke-width='2'/%3E%3Ccircle cx='70' cy='170' r='3'/%3E%3Ccircle cx='156' cy='170' r='3'/%3E%3Cpath d='M108,192h10l3,14h-16z'/%3E%3C/g%3E%3Cg fill='none' stroke='%238C8178' stroke-width='.6' opacity='.7'%3E%3Cpath d='M28.5,113.2H186'/%3E%3Cpath d='M112.2,116V204'/%3E%3C/g%3E%3Cpath d='M26,236L113,205L200,236Z' fill='%23B5532E'/%3E%3Cpath d='M60,236L113,217L166,236M90,236L113,228L136,236' fill='none' stroke='%238E3B1E' stroke-opacity='.55' stroke-width='1.3'/%3E%3Cpath d='M26,236L113,205L200,236' fill='none' stroke='%237E3218' stroke-width='2.4' stroke-linejoin='round'/%3E%3Cpath d='M40,231L113,205.6' stroke='%23E08A62' stroke-opacity='.6' stroke-width='1'/%3E%3C/svg%3E");
  --hc-bract1: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cdefs%3E%3ClinearGradient id='p' x1='0' y1='1' x2='0' y2='0'%3E%3Cstop offset='0' stop-color='%238E1C4E'/%3E%3Cstop offset='1' stop-color='%23E0538D'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg transform='translate(20 34) rotate(18) scale(1.08)'%3E%3Cpath d='M0,0C-7,-3 -13.5,-11 -12.4,-19.4C-11.4,-26.6 -5,-29.6 0,-26C5,-29.6 11.4,-26.6 12.4,-19.4C13.5,-11 7,-3 0,0Z' fill='url(%23p)'/%3E%3Cpath d='M0,-1.5V-23M0,-8L-6.4,-15.6M0,-8L6.4,-15.6M0,-14.6L-4.4,-21M0,-14.6L4.4,-21' fill='none' stroke='%23F7B3CF' stroke-width='.6' stroke-opacity='.7'/%3E%3C/g%3E%3C/svg%3E");
  --hc-bract2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cdefs%3E%3ClinearGradient id='p' x1='0' y1='1' x2='0' y2='0'%3E%3Cstop offset='0' stop-color='%23A82660'/%3E%3Cstop offset='1' stop-color='%23F07AAA'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg transform='translate(20 34) rotate(-34) scale(1.08)'%3E%3Cpath d='M0,0C-7,-3 -13.5,-11 -12.4,-19.4C-11.4,-26.6 -5,-29.6 0,-26C5,-29.6 11.4,-26.6 12.4,-19.4C13.5,-11 7,-3 0,0Z' fill='url(%23p)'/%3E%3Cpath d='M0,-1.5V-23M0,-8L-6.4,-15.6M0,-8L6.4,-15.6M0,-14.6L-4.4,-21M0,-14.6L4.4,-21' fill='none' stroke='%23F7B3CF' stroke-width='.6' stroke-opacity='.7'/%3E%3C/g%3E%3C/svg%3E");
  --hc-bract3: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cdefs%3E%3ClinearGradient id='p' x1='0' y1='1' x2='0' y2='0'%3E%3Cstop offset='0' stop-color='%237A1744'/%3E%3Cstop offset='1' stop-color='%23C93C78'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg transform='translate(8 28) rotate(64) scale(1.08)'%3E%3Cpath d='M0,0C-7,-3 -13.5,-11 -12.4,-19.4C-11.4,-26.6 -5,-29.6 0,-26C5,-29.6 11.4,-26.6 12.4,-19.4C13.5,-11 7,-3 0,0Z' fill='url(%23p)'/%3E%3Cpath d='M0,-1.5V-23M0,-8L-6.4,-15.6M0,-8L6.4,-15.6M0,-14.6L-4.4,-21M0,-14.6L4.4,-21' fill='none' stroke='%23F7B3CF' stroke-width='.6' stroke-opacity='.7'/%3E%3C/g%3E%3C/svg%3E");
  --hc-tallado: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 560' preserveAspectRatio='xMidYMid slice'%3E%3Cdefs%3E%3Cpattern id='q' width='25' height='25' patternUnits='userSpaceOnUse'%3E%3Cpath d='M12.5,1L24,12.5 12.5,24 1,12.5Z' fill='none' stroke='%23000' stroke-opacity='.26' stroke-width='.9'/%3E%3Cpath d='M13.1,1.8L24.6,13.3M1.6,13.1L13.1,1.6' stroke='%23fff' stroke-opacity='.1' stroke-width='.7'/%3E%3Cg transform='translate(12.5 12.5)'%3E%3Cpath d='M0,-1.6C1.6,-3.6 1.6,-5.6 0,-6.8C-1.6,-5.6 -1.6,-3.6 0,-1.6ZM0,1.6C1.6,3.6 1.6,5.6 0,6.8C-1.6,5.6 -1.6,3.6 0,1.6ZM-1.6,0C-3.6,1.6 -5.6,1.6 -6.8,0C-5.6,-1.6 -3.6,-1.6 -1.6,0ZM1.6,0C3.6,1.6 5.6,1.6 6.8,0C5.6,-1.6 3.6,-1.6 1.6,0Z' fill='%23fff' fill-opacity='.09' stroke='%23000' stroke-opacity='.24' stroke-width='.6'/%3E%3Ccircle r='1.3' fill='%23000' fill-opacity='.3'/%3E%3C/g%3E%3Cg fill='%23000' fill-opacity='.22'%3E%3Ccircle r='1.1'/%3E%3Ccircle cx='25' r='1.1'/%3E%3Ccircle cy='25' r='1.1'/%3E%3Ccircle cx='25' cy='25' r='1.1'/%3E%3C/g%3E%3C/pattern%3E%3C/defs%3E%3Crect width='150' height='560' fill='url(%23q)'/%3E%3Cg fill='none' stroke='%23000' stroke-opacity='.08' stroke-width='.8'%3E%3Cpath d='M24,0C28,140 20,300 26,560M62,0C58,160 68,330 60,560M104,0C108,150 98,340 106,560M134,0C130,130 140,300 132,560'/%3E%3C/g%3E%3C/svg%3E");
  --hc-pastelon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' width='48' height='48'%3E%3Cdefs%3E%3CradialGradient id='t' cx='.4' cy='.35' r='.8'%3E%3Cstop offset='0' stop-color='%23C46642'/%3E%3Cstop offset='.7' stop-color='%23B0532F'/%3E%3Cstop offset='1' stop-color='%239C4527'/%3E%3C/radialGradient%3E%3C/defs%3E%3Crect width='48' height='48' fill='%23E4D6BF'/%3E%3Cpath d='M12.8,1.2H35.2L46.8,12.8V35.2L35.2,46.8H12.8L1.2,35.2V12.8Z' fill='url(%23t)'/%3E%3Cpath d='M14,3.4H34' stroke='%23fff' stroke-opacity='.16' stroke-width='1'/%3E%3Cg fill='%232D4D93'%3E%3Cpath d='M0,-10.4L10.4,0 0,10.4 -10.4,0Z'/%3E%3Cpath d='M48,-10.4L58.4,0 48,10.4 37.6,0Z'/%3E%3Cpath d='M0,37.6L10.4,48 0,58.4 -10.4,48Z'/%3E%3Cpath d='M48,37.6L58.4,48 48,58.4 37.6,48Z'/%3E%3C/g%3E%3Cg fill='%23F4EEE2'%3E%3Ccircle cx='0' cy='0' r='3'/%3E%3Ccircle cx='48' cy='0' r='3'/%3E%3Ccircle cx='0' cy='48' r='3'/%3E%3Ccircle cx='48' cy='48' r='3'/%3E%3C/g%3E%3C/svg%3E");
  --hc-arco: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-46 -56 392 392'%3E%3Cdefs%3E%3Cpath id='B' d='M0,0C-7,-3 -13.5,-11 -12.4,-19.4C-11.4,-26.6 -5,-29.6 0,-26C5,-29.6 11.4,-26.6 12.4,-19.4C13.5,-11 7,-3 0,0Z'/%3E%3Cpath id='V' d='M0,-1.5V-23M0,-8L-6.4,-15.6M0,-8L6.4,-15.6M0,-14.6L-4.4,-21M0,-14.6L4.4,-21' fill='none' stroke-width='.55'/%3E%3Cpath id='H' d='M0,0C6.4,-5 8.6,-16.5 0,-27C-8.6,-16.5 -6.4,-5 0,0Z'/%3E%3ClinearGradient id='g1' x1='0' y1='1' x2='0' y2='0'%3E%3Cstop offset='0' stop-color='%237E1646'/%3E%3Cstop offset='.55' stop-color='%23BC2C69'/%3E%3Cstop offset='1' stop-color='%23E25C95'/%3E%3C/linearGradient%3E%3ClinearGradient id='g2' x1='0' y1='1' x2='0' y2='0'%3E%3Cstop offset='0' stop-color='%238A1B50'/%3E%3Cstop offset='.55' stop-color='%23CF3F7C'/%3E%3Cstop offset='1' stop-color='%23F08AB5'/%3E%3C/linearGradient%3E%3ClinearGradient id='g3' x1='0' y1='1' x2='0' y2='0'%3E%3Cstop offset='0' stop-color='%239C2860'/%3E%3Cstop offset='.55' stop-color='%23DA5890'/%3E%3Cstop offset='1' stop-color='%23F7B4D0'/%3E%3C/linearGradient%3E%3ClinearGradient id='g4' x1='0' y1='1' x2='0' y2='0'%3E%3Cstop offset='0' stop-color='%235A1034'/%3E%3Cstop offset='.55' stop-color='%238E2150'/%3E%3Cstop offset='1' stop-color='%23B43C72'/%3E%3C/linearGradient%3E%3ClinearGradient id='h1' x1='0' y1='1' x2='0' y2='0'%3E%3Cstop offset='0' stop-color='%233F5124'/%3E%3Cstop offset='1' stop-color='%237D9248'/%3E%3C/linearGradient%3E%3ClinearGradient id='h2' x1='0' y1='1' x2='0' y2='0'%3E%3Cstop offset='0' stop-color='%2333431D'/%3E%3Cstop offset='1' stop-color='%235E7334'/%3E%3C/linearGradient%3E%3Cg id='b1'%3E%3Cuse href='%23B' fill='url(%23g1)'/%3E%3Cuse href='%23V' stroke='%23F6A2C4' stroke-opacity='0.7'/%3E%3C/g%3E%3Cg id='b2'%3E%3Cuse href='%23B' fill='url(%23g2)'/%3E%3Cuse href='%23V' stroke='%23FAB8D3' stroke-opacity='0.7'/%3E%3C/g%3E%3Cg id='b3'%3E%3Cuse href='%23B' fill='url(%23g3)'/%3E%3Cuse href='%23V' stroke='%23FFD3E4' stroke-opacity='0.8'/%3E%3C/g%3E%3Cg id='b4'%3E%3Cuse href='%23B' fill='url(%23g4)'/%3E%3Cuse href='%23V' stroke='%23E68AB2' stroke-opacity='0.45'/%3E%3C/g%3E%3Cg id='f'%3E%3Cpath d='M0,-2.6L.8,-.8 2.5,-.6 1.2,.6 1.6,2.4 0,1.4 -1.6,2.4 -1.2,.6 -2.5,-.6 -.8,-.8Z' fill='%23FBF1D6'/%3E%3Ccircle r='.8' fill='%23D9A93A'/%3E%3C/g%3E%3Cg id='c1'%3E%3Cuse href='%23b1' transform='rotate(-44) scale(.94)'/%3E%3Cuse href='%23b1' transform='rotate(44) scale(.9)'/%3E%3Cuse href='%23b1'/%3E%3Cuse href='%23f' y='-3'/%3E%3C/g%3E%3Cg id='c2'%3E%3Cuse href='%23b2' transform='rotate(-44) scale(.94)'/%3E%3Cuse href='%23b2' transform='rotate(44) scale(.9)'/%3E%3Cuse href='%23b2'/%3E%3Cuse href='%23f' y='-3'/%3E%3C/g%3E%3Cg id='c3'%3E%3Cuse href='%23b3' transform='rotate(-44) scale(.94)'/%3E%3Cuse href='%23b3' transform='rotate(44) scale(.9)'/%3E%3Cuse href='%23b3'/%3E%3Cuse href='%23f' y='-3'/%3E%3C/g%3E%3Cg id='e'%3E%3Cuse href='%23b4' transform='rotate(-40) scale(.92)'/%3E%3Cuse href='%23b4' transform='rotate(46) scale(.88)'/%3E%3Cuse href='%23b4'/%3E%3C/g%3E%3Cg id='s'%3E%3Cuse href='%23b2' transform='rotate(-14) scale(.42 .9)'/%3E%3Cuse href='%23b1' transform='rotate(16) scale(.5 .96)'/%3E%3C/g%3E%3Cg id='l'%3E%3Cuse href='%23H' fill='url(%23h1)'/%3E%3Cpath d='M0,-2V-23' stroke='%23A9B66F' stroke-width='.7' stroke-opacity='.8'/%3E%3C/g%3E%3Cg id='m'%3E%3Cuse href='%23H' fill='url(%23h2)'/%3E%3Cpath d='M0,-2V-23' stroke='%238EA05A' stroke-width='.6' stroke-opacity='.7'/%3E%3C/g%3E%3CclipPath id='k'%3E%3Cpath clip-rule='evenodd' d='M-46,-56H346V336H-46ZM9,336V150A141,141 0 0 1 291,150V336Z'/%3E%3C/clipPath%3E%3Cfilter id='d' x='-5%25' y='-5%25' width='112%25' height='115%25'%3E%3CfeDropShadow dx='1.2' dy='2.8' stdDeviation='1.8' flood-color='%233A1428' flood-opacity='.32'/%3E%3C/filter%3E%3C/defs%3E%3Cg clip-path='url(%23k)'%3E%3Cg filter='url(%23d)'%3E%3Cpath d='M-10,345C-19,292 -2,218 -11,150' fill='none' stroke='%235E3F28' stroke-width='2.4' stroke-linecap='round'/%3E%3Cpath d='M-11,150C-11,77.1 37.9,13.4 108.3,-5.5' fill='none' stroke='%235E3F28' stroke-width='2.4' stroke-linecap='round'/%3E%3Cpath d='M18,58C-4,44 -28,52 -34,84C-38,110 -33,136 -38,168' fill='none' stroke='%235E3F28' stroke-width='1.6' stroke-linecap='round'/%3E%3Cpath d='M66,8C55,-8 38,-20 14,-28' fill='none' stroke='%235E3F28' stroke-width='1.6' stroke-linecap='round'/%3E%3Cpath d='M215.5,2.9C243.1,15.2 266.6,35 283.5,60C296,74 304,92 300,118' fill='none' stroke='%235E3F28' stroke-width='1.6' stroke-linecap='round'/%3E%3Cuse href='%23m' transform='translate(-11 254) rotate(72) scale(.70)'/%3E%3Cuse href='%23m' transform='translate(-10 251) rotate(-35) scale(.71)'/%3E%3Cuse href='%23m' transform='translate(-9 231) rotate(-39) scale(.72)'/%3E%3Cuse href='%23l' transform='translate(-9 213) rotate(70) scale(.61)'/%3E%3Cuse href='%23m' transform='translate(-8 187) rotate(71) scale(.53)'/%3E%3Cuse href='%23l' transform='translate(-9 171) rotate(-40) scale(.65)'/%3E%3Cuse href='%23m' transform='translate(-10 163) rotate(-67) scale(.59)'/%3E%3Cuse href='%23l' transform='translate(-10 134) rotate(-55) scale(.63)'/%3E%3Cuse href='%23l' transform='translate(-3 101) rotate(-18) scale(.59)'/%3E%3Cuse href='%23m' transform='translate(0 91) rotate(69) scale(.59)'/%3E%3Cuse href='%23m' transform='translate(17 59) rotate(94) scale(.85)'/%3E%3Cuse href='%23m' transform='translate(31 41) rotate(103) scale(.77)'/%3E%3Cuse href='%23l' transform='translate(42 31) rotate(-15) scale(.71)'/%3E%3Cuse href='%23l' transform='translate(65 13) rotate(128) scale(.68)'/%3E%3Cuse href='%23m' transform='translate(105 -5) rotate(144) scale(.65)'/%3E%3Cuse href='%23l' transform='translate(11 54) rotate(8) scale(.59)'/%3E%3Cuse href='%23m' transform='translate(-16 55) rotate(163) scale(.63)'/%3E%3Cuse href='%23m' transform='translate(-36 118) rotate(140) scale(.81)'/%3E%3Cuse href='%23m' transform='translate(-37 161) rotate(110) scale(.68)'/%3E%3Cuse href='%23l' transform='translate(53 -6) rotate(-108) scale(.63)'/%3E%3Cuse href='%23m' transform='translate(40 -16) rotate(-113) scale(.72)'/%3E%3Cuse href='%23m' transform='translate(19 -26) rotate(-119) scale(.50)'/%3E%3Cuse href='%23l' transform='translate(224 7) rotate(69) scale(.63)'/%3E%3Cuse href='%23l' transform='translate(282 58) rotate(82) scale(.71)'/%3E%3Cuse href='%23l' transform='translate(284 61) rotate(71) scale(.74)'/%3E%3Cuse href='%23l' transform='translate(301 100) rotate(136) scale(.69)'/%3E%3Cuse href='%23e' transform='translate(-15 139) rotate(-132) scale(.73)'/%3E%3Cuse href='%23e' transform='translate(-2 102) rotate(-124) scale(.69)'/%3E%3Cuse href='%23e' transform='translate(28 38) rotate(-111) scale(.69)'/%3E%3Cuse href='%23e' transform='translate(-39 114) rotate(-200) scale(.68)'/%3E%3Cuse href='%23e' transform='translate(283 62) rotate(82) scale(.55)'/%3E%3Cuse href='%23e' transform='translate(294 77) rotate(136) scale(.70)'/%3E%3Cuse href='%23c1' transform='translate(-12 258) rotate(-143) scale(.56)'/%3E%3Cuse href='%23c1' transform='translate(-10 214) rotate(-167) scale(.60)'/%3E%3Cuse href='%23c2' transform='translate(-6 166) rotate(-163) scale(.61)'/%3E%3Cuse href='%23c1' transform='translate(-7 124) rotate(-141) scale(.78)'/%3E%3Cuse href='%23c2' transform='translate(-5 88) rotate(-129) scale(.60)'/%3E%3Cuse href='%23c2' transform='translate(16 73) rotate(-143) scale(.56)'/%3E%3Cuse href='%23s' transform='translate(45 36) rotate(-88) scale(.67)'/%3E%3Cuse href='%23c2' transform='translate(74 15) rotate(-91) scale(.61)'/%3E%3Cuse href='%23c1' transform='translate(85 4) rotate(-74) scale(.63)'/%3E%3Cuse href='%23s' transform='translate(95 -5) rotate(-109) scale(.74)'/%3E%3Cuse href='%23c2' transform='translate(3 50) rotate(-133) scale(.66)'/%3E%3Cuse href='%23c2' transform='translate(-5 50) rotate(-182) scale(.56)'/%3E%3Cuse href='%23c2' transform='translate(-32 65) rotate(-141) scale(.63)'/%3E%3Cuse href='%23c1' transform='translate(-39 88) rotate(-164) scale(.62)'/%3E%3Cuse href='%23c2' transform='translate(-35 127) rotate(-186) scale(.69)'/%3E%3Cuse href='%23s' transform='translate(-38 150) rotate(-176) scale(.68)'/%3E%3Cuse href='%23c2' transform='translate(50 -5) rotate(-62) scale(.52)'/%3E%3Cuse href='%23c1' transform='translate(26 -22) rotate(-131) scale(.53)'/%3E%3Cuse href='%23s' transform='translate(237 17) rotate(115) scale(.54)'/%3E%3Cuse href='%23c1' transform='translate(297 96) rotate(118) scale(.55)'/%3E%3Cuse href='%23c3' transform='translate(13 57) rotate(-132) scale(.61)'/%3E%3Cuse href='%23c3' transform='translate(55 18) rotate(-112) scale(.72)'/%3E%3Cuse href='%23c3' transform='translate(62 0) rotate(-123) scale(.63)'/%3E%3Cuse href='%23c3' transform='translate(38 -16) rotate(-97) scale(.51)'/%3E%3Cuse href='%23c3' transform='translate(260 36) rotate(135) scale(.58)'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  --hc-olivo-maceta: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 132'%3E%3Cdefs%3E%3Cpath id='o' d='M0,0C1.7,-2.6 1.9,-7.4 0,-11.4C-1.9,-7.4 -1.7,-2.6 0,0Z' fill='%237C8852'/%3E%3Cpath id='p' d='M0,0C1.7,-2.6 1.9,-7.4 0,-11.4C-1.9,-7.4 -1.7,-2.6 0,0Z' fill='%23A9B38C'/%3E%3Cpath id='q' d='M0,0C1.7,-2.6 1.9,-7.4 0,-11.4C-1.9,-7.4 -1.7,-2.6 0,0Z' fill='%235B6733'/%3E%3ClinearGradient id='t' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='%23A54A27'/%3E%3Cstop offset='.45' stop-color='%23C9693F'/%3E%3Cstop offset='1' stop-color='%238E3B1E'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cellipse cx='60' cy='129' rx='30' ry='3' fill='%233A2414' fill-opacity='.18'/%3E%3Cg fill='none' stroke='%236A5238' stroke-linecap='round'%3E%3Cpath d='M58,99C56.6,90 52,84 53.6,76C55,70 51.6,63 46,56' stroke-width='3.4'/%3E%3Cpath d='M60,99C61.6,90 64.6,84 63.4,76C62.6,69 66,61 72.6,52' stroke-width='3'/%3E%3Cpath d='M55.6,80C60,74 61,66 60,52M47,58C43,54 40,52 36,52M71,55C76,52 80,50 85,50' stroke-width='1.6'/%3E%3C/g%3E%3Cuse href='%23o' transform='translate(39 36) rotate(224)'/%3E%3Cuse href='%23q' transform='translate(54 51) rotate(165)'/%3E%3Cuse href='%23q' transform='translate(50 43) rotate(267)'/%3E%3Cuse href='%23p' transform='translate(43 45) rotate(108)'/%3E%3Cuse href='%23q' transform='translate(50 42) rotate(260)'/%3E%3Cuse href='%23q' transform='translate(44 48) rotate(75)'/%3E%3Cuse href='%23p' transform='translate(43 50) rotate(357)'/%3E%3Cuse href='%23q' transform='translate(44 49) rotate(114)'/%3E%3Cuse href='%23o' transform='translate(46 41) rotate(139)'/%3E%3Cuse href='%23q' transform='translate(63 46) rotate(316)'/%3E%3Cuse href='%23p' transform='translate(45 33) rotate(50)'/%3E%3Cuse href='%23o' transform='translate(52 26) rotate(280)'/%3E%3Cuse href='%23q' transform='translate(59 33) rotate(123)'/%3E%3Cuse href='%23o' transform='translate(51 44) rotate(63)'/%3E%3Cuse href='%23q' transform='translate(65 28) rotate(5)'/%3E%3Cuse href='%23o' transform='translate(51 44) rotate(238)'/%3E%3Cuse href='%23q' transform='translate(64 36) rotate(189)'/%3E%3Cuse href='%23o' transform='translate(60 47) rotate(264)'/%3E%3Cuse href='%23p' transform='translate(86 42) rotate(308)'/%3E%3Cuse href='%23q' transform='translate(85 37) rotate(253)'/%3E%3Cuse href='%23o' transform='translate(73 43) rotate(191)'/%3E%3Cuse href='%23q' transform='translate(82 49) rotate(50)'/%3E%3Cuse href='%23q' transform='translate(86 47) rotate(232)'/%3E%3Cuse href='%23o' transform='translate(74 46) rotate(344)'/%3E%3Cuse href='%23q' transform='translate(72 53) rotate(37)'/%3E%3Cuse href='%23p' transform='translate(81 33) rotate(40)'/%3E%3Cuse href='%23o' transform='translate(45 64) rotate(152)'/%3E%3Cuse href='%23q' transform='translate(55 58) rotate(19)'/%3E%3Cuse href='%23p' transform='translate(51 57) rotate(298)'/%3E%3Cuse href='%23o' transform='translate(52 67) rotate(131)'/%3E%3Cuse href='%23q' transform='translate(47 56) rotate(86)'/%3E%3Cuse href='%23p' transform='translate(50 69) rotate(163)'/%3E%3Cuse href='%23p' transform='translate(70 58) rotate(236)'/%3E%3Cuse href='%23p' transform='translate(75 60) rotate(121)'/%3E%3Cuse href='%23p' transform='translate(63 53) rotate(313)'/%3E%3Cuse href='%23o' transform='translate(71 55) rotate(61)'/%3E%3Cuse href='%23q' transform='translate(76 61) rotate(163)'/%3E%3Cuse href='%23p' transform='translate(80 62) rotate(103)'/%3E%3Cuse href='%23q' transform='translate(40 56) rotate(66)'/%3E%3Cuse href='%23o' transform='translate(33 66) rotate(106)'/%3E%3Cuse href='%23p' transform='translate(34 60) rotate(191)'/%3E%3Cuse href='%23p' transform='translate(33 64) rotate(291)'/%3E%3Cuse href='%23q' transform='translate(82 56) rotate(153)'/%3E%3Cuse href='%23o' transform='translate(84 57) rotate(134)'/%3E%3Cuse href='%23p' transform='translate(86 58) rotate(163)'/%3E%3Cuse href='%23p' transform='translate(83 59) rotate(129)'/%3E%3Cg fill='%233D2A3A'%3E%3Cellipse cx='52' cy='52' rx='1.7' ry='2.2'/%3E%3Cellipse cx='69' cy='40' rx='1.6' ry='2.1'/%3E%3Cellipse cx='80' cy='52' rx='1.6' ry='2.1'/%3E%3C/g%3E%3Cpath d='M36,97.5H84L81,103.5H39Z' fill='%239C4326'/%3E%3Cpath d='M39,103H81L75.5,130H44.5Z' fill='url(%23t)'/%3E%3Cpath d='M40.6,109H79.4' stroke='%232A4A8F' stroke-width='2.2'/%3E%3Cpath d='M41.6,113.4H78.4' stroke='%23C9922E' stroke-width='.9'/%3E%3Cpath d='M36,97.5H84' stroke='%23E9A27E' stroke-opacity='.6' stroke-width='.8'/%3E%3C/svg%3E");
}
/* @recursos:fin */

/* =====================================================================
   PÁGINA · muro de cal al sol del mediodía
   ===================================================================== */
html[data-theme="hacienda"] {
  font-synthesis: none; /* Gloock no tiene cursiva ni negrita: nunca se fingen */
  background-color: #E8DAC4;
  background-image:
    radial-gradient(80vw 70vh at 0% 0%, rgba(255, 236, 196, .6), transparent 70%),
    radial-gradient(70vw 70vh at 100% 100%, rgba(181, 83, 46, .12), transparent 70%),
    var(--hc-cal);
}
html[data-theme="hacienda"] ::selection { background: rgba(194, 48, 109, .2); }
html[data-theme="hacienda"] .inv-section {
  background-color: var(--bg);
  background-image: radial-gradient(120% 60% at 50% 0%, rgba(255, 250, 238, .7), transparent 70%), var(--hc-cal);
}
html[data-theme="hacienda"] .inv-section.is-alt {
  background-color: var(--bg-alt);
  background-image: linear-gradient(rgba(234, 217, 194, .35), rgba(234, 217, 194, .35)), var(--hc-cal);
}
/* filete pintado a mano al pie del muro de adobe (como el contrazócalo de las casas hacienda) */
html[data-theme="hacienda"] .inv-section.is-alt::before,
html[data-theme="hacienda"] .inv-section.is-alt::after {
  content: ''; position: absolute; left: 0; right: 0; height: 7px; pointer-events: none;
  background: linear-gradient(var(--hc-terracota), var(--hc-terracota)) 0 0 / 100% 2px no-repeat,
    linear-gradient(rgba(181, 83, 46, .55), rgba(181, 83, 46, .55)) 0 5px / 100% 1px no-repeat;
  opacity: .55;
}
html[data-theme="hacienda"] .inv-section.is-alt::before { top: 0; }
html[data-theme="hacienda"] .inv-section.is-alt::after { bottom: 0; transform: scaleY(-1); }

/* ---------- tipografía ---------- */
html[data-theme="hacienda"] .inv-head::before {
  content: ''; display: block; width: 150px; height: 30px; margin: 0 auto 18px;
  background: var(--hc-forja) center / contain no-repeat;
}
html[data-theme="hacienda"] .inv-eyebrow { font-weight: 600; font-size: .7rem; letter-spacing: .3em; color: var(--accent); }
html[data-theme="hacienda"] .inv-title {
  font-weight: 400; font-size: clamp(2.15rem, 9.3vw, 2.8rem); line-height: 1.06; letter-spacing: -.012em; color: var(--ink);
}
html[data-theme="hacienda"] .inv-head .inv-title { margin-bottom: .7rem; }
html[data-theme="hacienda"] .inv-text { font-size: 1.02rem; line-height: 1.74; color: var(--ink-soft); }
html[data-theme="hacienda"] .inv-head .inv-text { font-size: 1rem; max-width: 27em; }

/* ---------- tarjetas: cal bruñida con filete de terracota ---------- */
html[data-theme="hacienda"] .inv-card {
  background-color: var(--surface);
  background-image: var(--hc-grano);
  border: 1px solid rgba(164, 72, 42, .22);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  isolation: isolate; /* el filete interior queda sobre el fondo y bajo todo el contenido */
}
html[data-theme="hacienda"] .inv-card::after {
  content: ''; position: absolute; inset: 5px; z-index: -1; pointer-events: none;
  border: 1px solid rgba(164, 72, 42, .14); border-radius: 6px;
}

/* ---------- botones: terracota quemada ---------- */
html[data-theme="hacienda"] .inv-btn {
  border-radius: 8px; min-height: 50px; padding: .9em 1.5em;
  font-weight: 600; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, 0) 55%);
  box-shadow: 0 10px 22px -14px rgba(122, 48, 20, .9), inset 0 1px 0 rgba(255, 255, 255, .16);
}
html[data-theme="hacienda"] .inv-btn .inv-icon { width: 1.4em; height: 1.4em; }
html[data-theme="hacienda"] .inv-btn--ghost { background: transparent; box-shadow: none; border-width: 1.5px; }
html[data-theme="hacienda"] .inv-btn.is-draft { text-transform: none; letter-spacing: .01em; font-size: .88rem; }

/* insignia de pastelón: octógono de terracota con brillo de horno */
html[data-theme="hacienda"] .inv-event__icon,
html[data-theme="hacienda"] .inv-event.has-img .inv-event__icon,
html[data-theme="hacienda"] .inv-note__icon,
html[data-theme="hacienda"] .inv-gift__icon,
html[data-theme="hacienda"] .inv-hotel__icon,
html[data-theme="hacienda"] .inv-dress__icon,
html[data-theme="hacienda"] .inv-album__icon,
html[data-theme="hacienda"] .inv-section .inv-timeline__dot {
  color: #FFF3E3; border: 0; border-radius: 0;
  background: radial-gradient(120% 120% at 32% 24%, #CF7148 0%, #B5532E 46%, #8E3B1E 100%);
  clip-path: polygon(29% 0, 71% 0, 100% 29%, 100% 71%, 71% 100%, 29% 100%, 0 71%, 0 29%);
  box-shadow: none;
}

/* =====================================================================
   HERO · la pareja bajo el arco de cal; bugambilias y remate de azulejo
   ===================================================================== */
html[data-theme="hacienda"] .inv-hero--photo { background: #3B2A1E; }
html[data-theme="hacienda"] .inv-hero__img { object-position: 50% 38%; filter: saturate(1.05) contrast(1.02); }
/* luz de mediodía: la que entra por las puertas al abrirse; se disuelve sobre la foto */
html[data-theme="hacienda"] .inv-hero__media::before {
  content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    radial-gradient(90% 70% at 50% 34%, #FFF8E8 0%, #FFE9BC 46%, rgba(255, 226, 168, .75) 100%);
  opacity: 1;
  transition: opacity 2.4s cubic-bezier(.3, .1, .2, 1) .15s;
}
html[data-theme="hacienda"].is-revealing .inv-hero__media::before,
html[data-theme="hacienda"].is-revealed .inv-hero__media::before { opacity: 0; }
/* remate de azulejo al pie de la foto */
html[data-theme="hacienda"] .inv-hero__media::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 20px; z-index: 2;
  background: var(--hc-cenefa) 0 0 / 64px 18px repeat-x, #28488C;
  border-top: 2px solid #F3EADB;
  box-shadow: 0 -6px 14px rgba(20, 10, 4, .35);
  transform: translateY(102%);
  transition: transform 1.1s var(--ease) 1.1s;
}
html[data-theme="hacienda"].is-revealed .inv-hero__media::after { transform: none; }
/* bugambilias que cuelgan del arco */
html[data-theme="hacienda"] .inv-hero--photo::before,
html[data-theme="hacienda"] .inv-hero--photo::after {
  content: ''; position: absolute; top: -8px; z-index: 0; pointer-events: none;
  background: var(--hc-bugambilia) 0 0 / contain no-repeat;
  filter: drop-shadow(0 10px 12px rgba(40, 14, 20, .28));
  opacity: 0;
  transition: opacity 1.4s var(--ease) .5s, translate 1.8s var(--ease) .5s;
}
html[data-theme="hacienda"] .inv-hero--photo::before {
  left: -18px; width: min(60vw, 250px); aspect-ratio: 300 / 280;
  transform-origin: 6% 2%; translate: -26px -30px;
}
html[data-theme="hacienda"] .inv-hero--photo::after {
  right: -30px; width: min(30vw, 124px); aspect-ratio: 300 / 280;
  transform: scaleX(-1); transform-origin: 6% 2%; translate: 26px -30px;
}
html[data-theme="hacienda"].is-revealed .inv-hero--photo::before,
html[data-theme="hacienda"].is-revealed .inv-hero--photo::after { opacity: 1; translate: 0 0; }
html[data-theme="hacienda"].is-revealed .inv-hero--photo::before { animation: hcSway 9s var(--ease-io) 2.4s infinite alternate; }
@keyframes hcSway { from { rotate: 0deg; } to { rotate: 1.6deg; } }

html[data-theme="hacienda"] .inv-hero--photo .inv-hero__content { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
html[data-theme="hacienda"] .inv-hero__eyebrow {
  font-size: .68rem; letter-spacing: .34em; color: #FFE7C6; opacity: 1; margin-bottom: .5rem;
  text-shadow: 0 1px 10px rgba(20, 10, 4, .55);
}
/* placa pintada bajo el eyebrow: legible aunque caiga sobre el vestido blanco */
html[data-theme="hacienda"] .inv-hero--photo .inv-hero__eyebrow {
  width: fit-content; max-width: 100%; margin: 0 auto .6rem; padding: .5em .86em .5em 1.2em; border-radius: 3px; text-wrap: balance;
  background: rgba(30, 16, 8, .42); box-shadow: inset 0 0 0 1px rgba(255, 231, 198, .2);
}
html[data-theme="hacienda"] .inv-hero__title {
  font-family: var(--font-display); font-weight: 400;
  font-size: clamp(2.8rem, 12.6vw, 3.9rem); line-height: 1; letter-spacing: -.015em;
  margin: .06em 0 .16em;
}
html[data-theme="hacienda"] .inv-hero--photo .inv-hero__title { text-shadow: 0 2px 24px rgba(20, 10, 4, .45), 0 1px 2px rgba(20, 10, 4, .35); }
html[data-theme="hacienda"] .inv-amp {
  font-family: var(--font-script); font-weight: 400; font-size: .74em; line-height: .9;
  margin: .02em 0 .04em; color: var(--hc-fucsia);
}
html[data-theme="hacienda"] .inv-hero--photo .inv-amp { display: block; font-size: .92em; line-height: .62; margin: .02em 0 .1em; color: #F4B9CF; }
html[data-theme="hacienda"] .inv-hero--photo:has(.inv-hero__guest) .inv-amp { display: inline; font-size: 1.08em; line-height: .9; margin: 0 .06em 0 0; vertical-align: -.04em; }
html[data-theme="hacienda"] .inv-hero__subtitle {
  font-family: var(--font-body); font-style: italic; font-weight: 400;
  font-size: .97rem; line-height: 1.48; max-width: 21.5rem; opacity: 1;
}
html[data-theme="hacienda"] .inv-hero--photo .inv-hero__subtitle { color: #FFF1DE; text-shadow: 0 1px 12px rgba(20, 10, 4, .6); }
html[data-theme="hacienda"] .inv-hero__date { gap: 12px; max-width: 18.8rem; margin: 1rem auto .55rem; font-size: .66rem; letter-spacing: .28em; }
html[data-theme="hacienda"] .inv-hero__date-side { padding: .7em 0; }
html[data-theme="hacienda"] .inv-hero--photo .inv-hero__date-side { border-color: rgba(255, 233, 204, .6); }
html[data-theme="hacienda"] .inv-hero__date-day { font-weight: 400; font-size: 3rem; }
html[data-theme="hacienda"] .inv-hero__time { font-size: .74rem; letter-spacing: .2em; opacity: 1; padding-top: 4px; }
html[data-theme="hacienda"] .inv-hero__place { font-size: .86rem; letter-spacing: .06em; opacity: 1; }
html[data-theme="hacienda"] .inv-hero--photo .inv-hero__place .inv-icon { color: #F7B6D1; }
html[data-theme="hacienda"] .inv-hero--photo .inv-hero__date,
html[data-theme="hacienda"] .inv-hero--photo .inv-hero__place { text-shadow: 0 1px 10px rgba(20, 10, 4, .55); }
html[data-theme="hacienda"] .inv-hero__cue { bottom: calc(26px + env(safe-area-inset-bottom)); }
/* pase del invitado: placa de cal sobre la foto */
html[data-theme="hacienda"] .inv-guest { border-radius: 8px; padding: 13px 24px 14px; }
html[data-theme="hacienda"] .inv-guest__label { font-weight: 600; letter-spacing: .3em; font-size: .6rem; opacity: 1; }
html[data-theme="hacienda"] .inv-guest__name { font-weight: 400; font-size: 1.45rem; line-height: 1.15; }
html[data-theme="hacienda"] .inv-guest__passes { font-size: .82rem; opacity: 1; }
html[data-theme="hacienda"] .inv-hero--photo .inv-guest {
  background: rgba(36, 20, 10, .42); border-color: rgba(255, 231, 198, .45);
  box-shadow: 0 12px 30px rgba(20, 10, 4, .3), inset 0 0 0 4px rgba(255, 231, 198, .08);
}
html[data-theme="hacienda"] .inv-hero__guest { margin-top: 1.3rem; }
/* con pase el bloque crece: se compacta para no subir sobre las caras de la foto */
html[data-theme="hacienda"] .inv-hero--photo:has(.inv-hero__guest) .inv-hero__shade {
  background: linear-gradient(180deg, rgba(40, 24, 12, .3) 0%, rgba(40, 24, 12, 0) 16%, rgba(40, 24, 12, 0) 36%, rgba(36, 20, 10, .56) 45%, rgba(32, 18, 9, .82) 56%, rgba(28, 15, 8, .94) 100%);
}
html[data-theme="hacienda"] .inv-hero--photo:has(.inv-hero__guest) .inv-hero__title { font-size: clamp(2.45rem, 11vw, 3.4rem); }
html[data-theme="hacienda"] .inv-hero--photo:has(.inv-hero__guest) .inv-hero__subtitle { font-size: .9rem; max-width: 22rem; }
html[data-theme="hacienda"] .inv-hero--photo:has(.inv-hero__guest) .inv-hero__date { margin: .7rem auto .35rem; }
html[data-theme="hacienda"] .inv-hero--photo:has(.inv-hero__guest) .inv-hero__date-day { font-size: 2.5rem; }
html[data-theme="hacienda"] .inv-hero--photo:has(.inv-hero__guest) .inv-hero__guest { margin-top: .8rem; padding: 9px 18px 10px; }
html[data-theme="hacienda"] .inv-hero--photo:has(.inv-hero__guest) .inv-guest__name { font-size: 1.22rem; }
/* en el celular, con pase el saludo personal reemplaza la frase (el programa la repite más abajo) */
@media (max-width: 600px) { html[data-theme="hacienda"] .inv-hero--photo:has(.inv-hero__guest) .inv-hero__subtitle { display: none; } }
/* sin foto (respaldo de cualquier boda que use el tema sin imagen): muro de cal con el arco dibujado */
html[data-theme="hacienda"] .inv-hero--noimg {
  background-color: var(--bg);
  background-image: radial-gradient(60% 40% at 50% 30%, rgba(255, 236, 196, .8), transparent 70%), var(--hc-cal);
}
html[data-theme="hacienda"] .inv-hero--noimg .inv-hero__art::before { border-color: rgba(164, 72, 42, .35); box-shadow: none; border-radius: 999px 999px 0 0; top: 50%; height: 78%; aspect-ratio: auto; width: min(88vw, 470px); }
html[data-theme="hacienda"] .inv-hero__art-spark { display: none; }

/* =====================================================================
   SECCIONES
   ===================================================================== */

/* story — hornacina encalada con bugambilias */
html[data-theme="hacienda"] .inv-story__figure { width: min(74%, 300px); margin-bottom: 2.6rem; }
html[data-theme="hacienda"] .inv-story__figure img {
  aspect-ratio: 3 / 4; border-radius: 999px 999px 6px 6px;
  box-shadow: 0 30px 50px -30px rgba(74, 40, 18, .65);
}
html[data-theme="hacienda"] .inv-story__figure::after {
  inset: -11px; border-radius: 999px 999px 10px 10px;
  border: 0; box-shadow: inset 0 0 0 1.5px rgba(181, 83, 46, .5), inset 0 0 0 6px var(--bg), inset 0 0 0 7px rgba(181, 83, 46, .22);
}
html[data-theme="hacienda"] .inv-story__glow {
  inset: auto; top: -26px; right: -44px; z-index: 2; width: 118px; aspect-ratio: 80 / 70;
  background: var(--hc-racimo) center / contain no-repeat;
  filter: drop-shadow(0 6px 6px rgba(60, 20, 30, .25));
}
html[data-theme="hacienda"] .inv-story__body .inv-text { text-align: left; hyphens: auto; -webkit-hyphens: auto; }
html[data-theme="hacienda"] .inv-story__body .inv-text:first-child::first-letter {
  font-family: var(--font-display); font-size: 3.7em; line-height: .8; padding: .08em .12em 0 0; color: var(--accent);
}
html[data-theme="hacienda"] .inv-story__sig { font-size: 3rem; margin-top: 1.8rem; color: var(--accent); }

/* countdown — cifras pintadas en azulejos */
html[data-theme="hacienda"] .inv-countdown { gap: 8px; max-width: 372px; }
html[data-theme="hacienda"] .inv-countdown__unit {
  aspect-ratio: 1; padding: 0; gap: 2px; justify-content: center;
  border: 0; border-radius: 3px;
  background: var(--hc-azulejo-marco) center / 100% 100%, #F6F1E6;
  box-shadow: 0 0 0 1px #D6CAB4, 0 10px 18px -12px rgba(30, 45, 90, .6), 0 2px 3px rgba(60, 40, 20, .12);
}
html[data-theme="hacienda"] .inv-countdown__unit::before {
  left: 0; right: 0; top: 0; height: 100%; opacity: 1;
  background: linear-gradient(135deg, rgba(255, 255, 255, .55) 0%, rgba(255, 255, 255, 0) 38%, rgba(255, 255, 255, 0) 70%, rgba(42, 74, 143, .06) 100%);
}
html[data-theme="hacienda"] .inv-countdown__num {
  position: relative; font-weight: 400; font-size: clamp(1.45rem, 6.9vw, 2.05rem); color: #22408A;
}
html[data-theme="hacienda"] .inv-countdown__lbl { position: relative; font-size: .54rem; letter-spacing: .2em; color: #22408A; font-weight: 600; }
html[data-theme="hacienda"] .inv-countdown__date { font-family: var(--font-display); font-size: 1.15rem; letter-spacing: .01em; text-transform: none; color: var(--ink-soft); }
html[data-theme="hacienda"] .inv-countdown__done { font-family: var(--font-script); font-style: normal; font-size: 2.8rem; line-height: 1.2; }

/* events — tarjetas con la foto en un arco */
html[data-theme="hacienda"] .inv-events { gap: 28px; }
html[data-theme="hacienda"] .inv-event.has-img { border-radius: 999px 999px var(--radius) var(--radius); padding-bottom: 28px; }
html[data-theme="hacienda"] .inv-event.has-img::after { border-radius: 999px 999px 6px 6px; }
html[data-theme="hacienda"] .inv-event__media {
  margin: 10px 10px 0; aspect-ratio: 4 / 3.3; border-radius: 999px 999px 4px 4px; background: var(--hc-adobe);
}
html[data-theme="hacienda"] .inv-event__media::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(255, 240, 210, .12), transparent 40%, rgba(40, 20, 8, .25));
}
html[data-theme="hacienda"] .inv-event__icon, html[data-theme="hacienda"] .inv-event.has-img .inv-event__icon { width: 58px; height: 58px; }
html[data-theme="hacienda"] .inv-event.has-img .inv-event__icon { margin-top: -29px; }
html[data-theme="hacienda"] .inv-event__name { font-weight: 400; font-size: 1.62rem; line-height: 1.15; }
html[data-theme="hacienda"] .inv-event__meta { font-size: .92rem; gap: 8px; }
html[data-theme="hacienda"] .inv-event__meta li:first-child span { font-family: var(--font-display); font-size: 1.22rem; line-height: 1.1; color: var(--ink); }

/* timeline — camino de pastelones con taco de azulejo */
html[data-theme="hacienda"] .inv-timeline::before {
  left: 22px; width: 12px; top: 24px; bottom: 24px;
  background: var(--hc-pastelon) 50% 0 / 12px 12px repeat-y;
  border-radius: 2px; opacity: .85;
}
html[data-theme="hacienda"] .inv-timeline__item { grid-template-columns: 56px 1fr; gap: 16px; padding: 11px 0; }
html[data-theme="hacienda"] .inv-section .inv-timeline__dot,
html[data-theme="hacienda"] .inv-section.is-alt .inv-timeline__dot { width: 56px; height: 56px; }
html[data-theme="hacienda"] .inv-timeline__dot .inv-icon { width: 22px; height: 22px; }
html[data-theme="hacienda"] .inv-timeline__time { font-weight: 600; font-size: .68rem; letter-spacing: .22em; }
html[data-theme="hacienda"] .inv-timeline__title { font-weight: 400; font-size: 1.38rem; line-height: 1.2; }
html[data-theme="hacienda"] .inv-timeline__text { font-size: .93rem; }

/* dresscode — ficha de lino con un racimo de bugambilia */
html[data-theme="hacienda"] .inv-dress {
  position: relative; padding: 38px 22px 32px;
  background-color: var(--surface); background-image: var(--hc-grano);
  border: 1px solid rgba(164, 72, 42, .22); border-radius: var(--radius); box-shadow: var(--shadow);
}
html[data-theme="hacienda"] .inv-dress::before {
  content: ''; position: absolute; top: -30px; right: -18px; width: 104px; aspect-ratio: 80 / 70;
  background: var(--hc-racimo) center / contain no-repeat; transform: scaleX(-1) rotate(-8deg);
  filter: drop-shadow(0 6px 6px rgba(60, 20, 30, .22));
}
html[data-theme="hacienda"] .inv-dress::after {
  content: ''; position: absolute; inset: 5px; pointer-events: none; border: 1px solid rgba(164, 72, 42, .14); border-radius: 6px;
}
html[data-theme="hacienda"] .inv-dress__icon { width: 58px; height: 58px; margin-bottom: 10px; }
html[data-theme="hacienda"] .inv-dress__code { font-family: var(--font-script); font-size: clamp(2.6rem, 12vw, 3.2rem); line-height: 1.15; color: var(--accent); }
html[data-theme="hacienda"] .inv-dress__label { font-weight: 600; font-size: .62rem; letter-spacing: .28em; }
html[data-theme="hacienda"] .inv-chip { background: var(--bg); border-color: rgba(164, 72, 42, .25); font-size: .84rem; padding-right: 15px; }
/* muestras como azulejos esmaltados */
html[data-theme="hacienda"] .inv-chip__swatch {
  width: 24px; height: 24px; border-radius: 4px;
  box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .45), inset -3px -4px 6px rgba(0, 0, 0, .22), 0 2px 4px rgba(60, 30, 10, .2);
}
html[data-theme="hacienda"] .inv-chip--avoid { padding-left: 13px; }

/* gallery — una arquería: cada foto bajo su arco de cal */
html[data-theme="hacienda"] .inv-gallery__track { gap: 16px; grid-auto-columns: 74%; padding-top: 14px; padding-bottom: 18px; }
html[data-theme="hacienda"] .inv-gallery__track .inv-gallery__item {
  aspect-ratio: 3 / 4; padding: 9px; border-radius: 999px 999px 8px 8px;
  background-color: #F4EBDD; background-image: var(--hc-cal);
  box-shadow: 0 0 0 1px rgba(164, 72, 42, .25), 0 26px 40px -26px rgba(74, 40, 18, .7);
}
html[data-theme="hacienda"] .inv-gallery__item img { border-radius: 999px 999px 4px 4px; background: var(--hc-adobe); }
html[data-theme="hacienda"] .inv-gallery__dots span { height: 6px; width: 6px; border-radius: 1px; background: rgba(164, 72, 42, .35); transform: rotate(45deg); }
html[data-theme="hacienda"] .inv-gallery__dots span.is-on { width: 6px; background: var(--accent-2); transform: rotate(45deg) scale(1.5); }
html[data-theme="hacienda"] .inv-gallery__nav { border-radius: 8px; color: var(--accent); border-color: rgba(164, 72, 42, .3); }
html[data-theme="hacienda"] .inv-gallery--grid .inv-gallery__item,
html[data-theme="hacienda"] .inv-gallery--polaroids .inv-gallery__item { border-radius: 6px; }
html[data-theme="hacienda"] .inv-gallery--grid .inv-gallery__item:nth-child(5n + 1) { border-radius: 999px 999px 6px 6px; }

/* note — aviso bajo el farol de la entrada */
html[data-theme="hacienda"] .inv-section--note .inv-wrap { padding-top: 34px; }
html[data-theme="hacienda"] .inv-note {
  position: relative; grid-template-columns: 1fr; justify-items: center; gap: 12px; text-align: center;
  padding: 40px 24px 30px; border-radius: var(--radius);
  background-color: var(--surface); background-image: var(--hc-grano);
  border: 1px solid rgba(164, 72, 42, .22); box-shadow: var(--shadow);
}
html[data-theme="hacienda"] .inv-note::before {
  content: ''; position: absolute; top: -78px; right: 10px; width: 92px; aspect-ratio: 140 / 230;
  background: var(--hc-farol) center / contain no-repeat; transform: scaleX(-1);
}
html[data-theme="hacienda"] .inv-note__icon { width: 58px; height: 58px; }
html[data-theme="hacienda"] .inv-note__title { font-weight: 400; font-size: 1.6rem; line-height: 1.18; margin-bottom: .5rem; }
html[data-theme="hacienda"] .inv-note .inv-text { max-width: 24rem; margin-inline: auto; font-size: 1rem; }

/* gifts y hotels */
html[data-theme="hacienda"] .inv-gifts, html[data-theme="hacienda"] .inv-hotels { gap: 18px; }
html[data-theme="hacienda"] .inv-gift, html[data-theme="hacienda"] .inv-hotel { padding: 26px 22px 24px; grid-template-columns: 52px 1fr; }
html[data-theme="hacienda"] .inv-gift__title, html[data-theme="hacienda"] .inv-hotel__name { font-weight: 400; font-size: 1.36rem; }
html[data-theme="hacienda"] .inv-gift__detail, html[data-theme="hacienda"] .inv-hotel__detail { font-size: .92rem; }
html[data-theme="hacienda"] .inv-gift__copy {
  font-size: .9rem; letter-spacing: .12em; border-radius: 4px; color: var(--ink);
  background: var(--bg); border: 1px dashed rgba(164, 72, 42, .55);
}
/* el CCI de 20 cifras entra en una línea también a 360 px */
@media (max-width: 380px) { html[data-theme="hacienda"] .inv-gift__copy { letter-spacing: .03em; font-size: .84rem; } }
html[data-theme="hacienda"] .inv-gift__actions .inv-btn, html[data-theme="hacienda"] .inv-hotel__actions .inv-btn { min-height: 46px; font-size: .7rem; padding: .7em 1.1em; }

/* playlist — portón de nogal y un plato de cerámica pintado en cobalto */
html[data-theme="hacienda"] .inv-playlist__poster {
  border-radius: var(--radius);
  background: radial-gradient(120% 140% at 0% 0%, rgba(255, 220, 160, .16), transparent 55%), repeating-linear-gradient(90deg, rgba(0, 0, 0, .06) 0 2px, transparent 2px 9px), linear-gradient(135deg, #6A4428, #3E2617);
  box-shadow: inset 0 0 0 1px rgba(255, 230, 190, .12), var(--shadow);
}
html[data-theme="hacienda"] .inv-playlist__disc {
  background: radial-gradient(circle, #F6F1E6 0 33%, #2D4D93 34% 37%, #F6F1E6 38% 62%, #2D4D93 63% 70%, #F6F1E6 71% 84%, #C9922E 85% 88%, #F6F1E6 89%);
  box-shadow: 0 6px 16px rgba(0, 0, 0, .45), inset 0 -3px 6px rgba(0, 0, 0, .15);
}
html[data-theme="hacienda"] .inv-playlist__label { inset: 24px; background: radial-gradient(circle at 40% 35%, #CF7148, #9E4527); }
html[data-theme="hacienda"] .inv-playlist__txt strong { font-family: var(--font-display); font-weight: 400; font-size: 1.15rem; }
html[data-theme="hacienda"] .inv-playlist__txt span { opacity: .85; }

/* album — el QR pintado en un azulejo */
html[data-theme="hacienda"] .inv-album__qr {
  width: 196px; height: 196px; padding: 30px; border-radius: 4px;
  background: var(--hc-azulejo-marco) center / 100% 100%, #F6F1E6;
  box-shadow: 0 0 0 1px #D6CAB4, 0 22px 40px -20px rgba(30, 45, 90, .55);
}
html[data-theme="hacienda"] .inv-album__qr svg { background: #FFFDF8; border-radius: 3px; }
html[data-theme="hacienda"] .inv-album__hint { font-size: .9rem; }

/* faq — preguntas entre filetes de terracota */
html[data-theme="hacienda"] .inv-faq { gap: 0; border-top: 1.5px solid rgba(164, 72, 42, .4); }
html[data-theme="hacienda"] .inv-faq__item { background: none; border: 0; border-radius: 0; box-shadow: none; border-bottom: 1.5px solid rgba(164, 72, 42, .4); }
html[data-theme="hacienda"] .inv-faq__item.is-open { box-shadow: none; background: rgba(255, 250, 240, .5); }
html[data-theme="hacienda"] .inv-faq__q { font-weight: 400; font-size: 1.2rem; padding: 18px 4px; min-height: 64px; }
html[data-theme="hacienda"] .inv-faq__icon {
  width: 34px; height: 34px; color: var(--accent); background: rgba(181, 83, 46, .13); border-radius: 0;
  clip-path: polygon(29% 0, 71% 0, 100% 29%, 100% 71%, 71% 100%, 29% 100%, 0 71%, 0 29%);
}
html[data-theme="hacienda"] .inv-faq__item.is-open .inv-faq__icon { background: var(--accent); color: var(--accent-ink); }
html[data-theme="hacienda"] .inv-faq__a p { padding: 0 4px 22px; font-size: .97rem; }

/* formularios y confirmación */
html[data-theme="hacienda"] .inv-input { border-radius: 6px; border-width: 1px; border-color: rgba(100, 78, 61, .35); background: #FFFCF6; }
html[data-theme="hacienda"] .inv-input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(164, 72, 42, .14); }
html[data-theme="hacienda"] .inv-field__label { font-weight: 600; letter-spacing: .12em; text-transform: uppercase; font-size: .68rem; }
html[data-theme="hacienda"] .inv-field__label small { text-transform: none; letter-spacing: 0; }
html[data-theme="hacienda"] .inv-rsvp__form { padding: 28px 20px; }
/* rama de olivo sobre la tarjeta de confirmación */
html[data-theme="hacienda"] .inv-rsvp__form::before {
  content: ''; position: absolute; z-index: 2; top: -30px; left: -16px; width: 150px; aspect-ratio: 220 / 90; pointer-events: none;
  background: var(--hc-olivo) center / contain no-repeat; transform: rotate(-12deg);
  filter: drop-shadow(0 4px 4px rgba(50, 40, 20, .18));
}
html[data-theme="hacienda"] .inv-rsvp__face { border-radius: 8px; border-width: 1px; background: #FFFCF6; }
html[data-theme="hacienda"] .inv-rsvp__face-ico .inv-sparkle path { fill: var(--hc-fucsia); }
html[data-theme="hacienda"] .inv-rsvp__face-txt strong { font-family: var(--font-display); font-weight: 400; font-size: 1.3rem; }
html[data-theme="hacienda"] .inv-rsvp__radio:checked + .inv-rsvp__face { background: rgba(164, 72, 42, .07); }
html[data-theme="hacienda"] .inv-stepper { border-radius: 8px; border-width: 1px; background: #FFFCF6; }
html[data-theme="hacienda"] .inv-stepper__val { font-weight: 400; }
html[data-theme="hacienda"] .inv-rsvp__seats i { border-radius: 2px; }
html[data-theme="hacienda"] .inv-rsvp__badge {
  border-radius: 0; color: #FFF3E3;
  background: radial-gradient(120% 120% at 32% 24%, #CF7148 0%, #B5532E 46%, #8E3B1E 100%);
  clip-path: polygon(29% 0, 71% 0, 100% 29%, 100% 71%, 71% 100%, 29% 100%, 0 71%, 0 29%);
}
html[data-theme="hacienda"] .inv-rsvp__badge.is-no { background: var(--surface); color: var(--accent); }
html[data-theme="hacienda"] .inv-rsvp__done-title { font-weight: 400; }
html[data-theme="hacienda"] .inv-wish { border-radius: 6px; background-image: var(--hc-grano); border-color: rgba(164, 72, 42, .2); }
html[data-theme="hacienda"] .inv-wish::before { color: var(--hc-fucsia); opacity: .5; }
html[data-theme="hacienda"] .inv-wish:nth-child(3n + 2) { background-color: #FBF2E6; }
html[data-theme="hacienda"] .inv-wishes__spark { color: var(--hc-fucsia); }

/* divider: reja de forja */
html[data-theme="hacienda"] .inv-divider.has-ornament { height: 50px; max-width: 290px; }

/* =====================================================================
   PIE · el patio al caer la tarde: veleta con caballo de paso sobre el
   tejado, bugambilias y piso de pastelones
   ===================================================================== */
html[data-theme="hacienda"] .inv-footer {
  padding-top: 132px; overflow: hidden;
  background-color: var(--bg-alt);
  background-image: radial-gradient(80% 50% at 50% 100%, rgba(181, 83, 46, .14), transparent 70%), var(--hc-cal);
}
html[data-theme="hacienda"] .inv-footer::before {
  content: ''; position: absolute; top: -10px; left: -24px; width: min(52vw, 210px); aspect-ratio: 300 / 280; pointer-events: none;
  background: var(--hc-bugambilia) 0 0 / contain no-repeat; filter: drop-shadow(0 8px 10px rgba(60, 20, 30, .2));
}
html[data-theme="hacienda"] .inv-footer::after {
  content: ''; position: absolute; left: -40%; right: -40%; bottom: 0; height: 170px; pointer-events: none;
  background: var(--hc-pastelon) 50% 100% / 46px 46px;
  transform: perspective(420px) rotateX(58deg); transform-origin: 50% 100%;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 55%); mask-image: linear-gradient(180deg, transparent 0%, #000 55%);
  opacity: .9;
}
html[data-theme="hacienda"] .inv-footer__inner { position: relative; z-index: 1; }
html[data-theme="hacienda"] .inv-footer__orn {
  width: 150px; height: 158px; margin: 0 auto 10px; color: transparent; fill: transparent;
  background: var(--hc-veleta) center bottom / contain no-repeat;
}
html[data-theme="hacienda"] .inv-footer__text { font-family: var(--font-script); font-size: 2.7rem; line-height: 1.12; color: var(--accent); text-wrap: balance; }
html[data-theme="hacienda"] .inv-footer__date { font-weight: 600; font-size: .68rem; letter-spacing: .32em; color: var(--ink-soft); }

/* barra de acciones */
html[data-theme="hacienda"] .inv-actionbar {
  border-radius: 14px; background: rgba(252, 248, 241, .88);
  border-color: rgba(164, 72, 42, .25);
  box-shadow: 0 18px 40px -16px rgba(74, 40, 18, .45), 0 2px 6px rgba(74, 40, 18, .08);
}
html[data-theme="hacienda"] .inv-actionbar__btn { border-radius: 10px; font-weight: 600; letter-spacing: .03em; }
html[data-theme="hacienda"] .inv-sheet__panel { background-color: var(--surface); background-image: var(--hc-grano); }
html[data-theme="hacienda"] .inv-sheet__title { font-weight: 400; }

/* =====================================================================
   APERTURA · piezas comunes (la escena «puertas» la pinta su módulo con las
   variables --puerta-* de :root) y el telón de respaldo en nogal y bronce
   ===================================================================== */
html[data-theme="hacienda"] .inv-intro__eyebrow { font-weight: 600; letter-spacing: .36em; }
html[data-theme="hacienda"] .inv-intro__cta {
  min-height: 52px; padding: 0 26px 0 22px; border-radius: 8px;
  background: var(--accent); color: var(--accent-ink);
  font-weight: 600; font-size: .74rem; letter-spacing: .2em; text-transform: uppercase;
  box-shadow: 0 18px 32px -16px rgba(110, 40, 16, .8), inset 0 1px 0 rgba(255, 255, 255, .16);
}
html[data-theme="hacienda"] .inv-intro__cta-ring { animation-name: hcCtaRing; }
@keyframes hcCtaRing { 0% { box-shadow: 0 0 0 0 rgba(164, 72, 42, .5); } 80%, 100% { box-shadow: 0 0 0 15px rgba(164, 72, 42, 0); } }
html[data-theme="hacienda"] .inv-intro__cta:focus-visible { outline-color: var(--accent); }
html[data-theme="hacienda"] .inv-intro__guest { border-radius: 8px; background: #FBF5EA; }
html[data-theme="hacienda"] .cur { --velvet: #5E2A17; --gold: #C9A46A; --gold-hi: #EBD3A0; --gold-lo: #8A6A34; }
/* «puertas»: rótulo pintado en Gloock sobre la cal (más legible que la caligrafía y continúa en el hero) */
html[data-theme="hacienda"] .pta__sign .pta__names { font-size: clamp(1.6rem, 7.6vw, 2.6rem); line-height: 1.08; letter-spacing: -.01em; }
html[data-theme="hacienda"] .pta__sign .pta__names.is-long { font-size: clamp(1.2rem, 5.5vw, 1.95rem); }
html[data-theme="hacienda"] .pta__hall .pta__names { font-size: clamp(2.5rem, 11.6vw, 4.4rem); line-height: 1.02; letter-spacing: -.015em; }
html[data-theme="hacienda"] .pta__hall .pta__names.is-long { font-size: clamp(1.9rem, 8.6vw, 3.4rem); }
html[data-theme="hacienda"] .pta__plaque-k { opacity: 1; } /* «Para» en el latón: 4,7:1 (con .78 no llegaba a AA) */
/* bugambilia trepada al arco de cal: va bajo las hojas (que se abren hacia quien mira) y nunca entra al vano */
html[data-theme="hacienda"] .pta__art::after {
  content: ''; position: absolute; pointer-events: none;
  left: calc(var(--pta-x0) - var(--pta-dw) * .1533); top: calc(var(--pta-yt) - var(--pta-dw) * .1867);
  width: calc(var(--pta-dw) * 1.3067); aspect-ratio: 1;
  background: var(--hc-arco) 0 0 / 100% 100% no-repeat;
}
/* destello final: el trazo de la marca, teñido de luz de mediodía y bugambilia */
html[data-theme="hacienda"] .inv-intro__flash-spark stop:nth-child(1) { stop-color: #FFF6DE; }
html[data-theme="hacienda"] .inv-intro__flash-spark stop:nth-child(2) { stop-color: #F5C578; }
html[data-theme="hacienda"] .inv-intro__flash-spark stop:nth-child(3) { stop-color: #E07BA4; }
/* contrazócalo de terracota al pie del muro (el mismo del escritorio); el recorte del muro lo saca del vano */
html[data-theme="hacienda"] .pta__wall::after {
  content: ''; position: absolute; left: 0; right: 0; top: calc(var(--pta-yf) - 92px); height: 92px;
  background: var(--hc-cenefa) 0 0 / 64px 18px repeat-x,
    linear-gradient(180deg, rgba(50, 16, 6, 0) 40%, rgba(50, 16, 6, .22)) 0 18px / 100% 74px no-repeat,
    linear-gradient(#A5482A, #A5482A) 0 18px / 100% 74px no-repeat;
}
/* salón: guirnaldas desde las vigas y un olivo en su botija al fondo, donde empieza el jardín (llegan con los nombres) */
html[data-theme="hacienda"] .pta__hall::before,
html[data-theme="hacienda"] .pta__hall::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: var(--hc-bugambilia) 0 0 / min(46vw, 320px) auto no-repeat;
}
html[data-theme="hacienda"] .pta__hall::before {
  background: var(--hc-bugambilia) 0 0 / min(46vw, 320px) auto no-repeat,
    var(--hc-olivo-maceta) center bottom 22.4vh / auto min(19vh, 160px) no-repeat;
}
html[data-theme="hacienda"] .pta__hall::after { transform: scaleX(-1); }
@media (orientation: landscape) {
  html[data-theme="hacienda"] .pta__hall::before {
    background: var(--hc-bugambilia) 0 0 / min(30vw, 320px) auto no-repeat,
      var(--hc-olivo-maceta) center bottom 33.6vh / auto min(11vh, 100px) no-repeat;
  }
  html[data-theme="hacienda"] .pta__hall::after { background-size: min(30vw, 320px) auto; }
}
html[data-theme="hacienda"] .inv-intro--curtain .inv-intro__cta { color: #2E1A0E; }
/* modo accesible: la tarjeta simple en cal bruñida, con un racimo de bugambilia quieto */
html[data-theme="hacienda"] .smp {
  position: relative; border-radius: 12px; color: var(--ink);
  background-color: var(--surface); background-image: var(--hc-grano); border-color: rgba(164, 72, 42, .28);
}
html[data-theme="hacienda"] .smp::after {
  content: ''; position: absolute; top: -30px; right: -12px; width: 104px; aspect-ratio: 80 / 70; pointer-events: none;
  background: var(--hc-racimo) center / contain no-repeat; transform: scaleX(-1) rotate(-8deg);
}
html[data-theme="hacienda"] .smp__eyebrow { color: var(--accent); }
html[data-theme="hacienda"] .smp__title { font-weight: 400; }
html[data-theme="hacienda"] .smp__date { text-wrap: balance; }

/* =====================================================================
   EFECTOS · brácteas de bugambilia que caen al abrir (capa .inv-fx; solo
   transform y opacidad: las capas altas bajan enteras)
   ===================================================================== */
html[data-theme="hacienda"] .inv-fx::before,
html[data-theme="hacienda"] .inv-fx::after {
  content: ''; position: absolute; left: 0; right: 0; top: -200%; height: 300%; opacity: 0;
  background-repeat: no-repeat;
  filter: drop-shadow(0 3px 3px rgba(80, 20, 40, .18));
}
html[data-theme="hacienda"] .inv-fx::before {
  background-image: var(--hc-bract1), var(--hc-bract2), var(--hc-bract3), var(--hc-bract2), var(--hc-bract1), var(--hc-bract3), var(--hc-bract2), var(--hc-bract1);
  background-size: 24px, 19px, 21px, 17px, 22px, 16px, 20px, 18px;
  background-position: 6% 38%, 22% 52%, 30% 31%, 76% 60%, 88% 44%, 14% 64%, 95% 56%, 81% 33%;
}
html[data-theme="hacienda"] .inv-fx::after {
  background-image: var(--hc-bract3), var(--hc-bract1), var(--hc-bract2), var(--hc-bract1), var(--hc-bract3);
  background-size: 18px, 22px, 15px, 19px, 17px;
  background-position: 10% 46%, 26% 36%, 72% 58%, 84% 30%, 92% 50%;
}
html[data-theme="hacienda"].is-revealed .inv-fx::before { animation: hcLluviaA 12s cubic-bezier(.4, .1, .6, .95) .4s 1 both; }
html[data-theme="hacienda"].is-revealed .inv-fx::after { animation: hcLluviaB 15s cubic-bezier(.4, .1, .6, .95) 2s 1 both; }
@keyframes hcLluviaA {
  0% { opacity: 0; transform: translate3d(0, 0, 0); }
  8% { opacity: 1; }
  30% { transform: translate3d(2.5vw, 20%, 0); }
  60% { transform: translate3d(-2vw, 42%, 0); }
  90% { opacity: 1; }
  100% { opacity: 0; transform: translate3d(1.5vw, 66.6%, 0); }
}
@keyframes hcLluviaB {
  0% { opacity: 0; transform: translate3d(0, 0, 0); }
  10% { opacity: .95; }
  40% { transform: translate3d(-3vw, 26%, 0); }
  75% { transform: translate3d(2vw, 50%, 0); }
  90% { opacity: .95; }
  100% { opacity: 0; transform: translate3d(-1vw, 66.6%, 0); }
}

/* =====================================================================
   ESCRITORIO · la invitación en el muro: bugambilias y un farol encendido
   ===================================================================== */
@media (min-width: 900px) {
  html[data-theme="hacienda"] body.inv::before,
  html[data-theme="hacienda"] body.inv::after { content: ''; position: fixed; z-index: -1; pointer-events: none; }
  html[data-theme="hacienda"] body.inv::before {
    left: max(0px, calc(50% - 660px)); top: -10px; width: 340px; aspect-ratio: 300 / 280;
    background: var(--hc-bugambilia) 0 0 / contain no-repeat; filter: drop-shadow(0 14px 16px rgba(60, 20, 30, .22));
  }
  html[data-theme="hacienda"] body.inv::after {
    right: max(20px, calc(50% - 520px)); top: 14vh; width: 150px; aspect-ratio: 140 / 230;
    background: var(--hc-farol) center / contain no-repeat; transform: scaleX(-1);
  }
  html[data-theme="hacienda"] .inv-page { box-shadow: 0 0 0 1px rgba(164, 72, 42, .16), 0 50px 120px -40px rgba(74, 40, 18, .45); }
  /* contrazócalo de terracota pintado al pie del muro, rematado por una sola cenefa de azulejo (el cobalto, puntual) */
  html[data-theme="hacienda"] {
    background-image:
      var(--hc-cenefa),
      linear-gradient(180deg, rgba(255, 214, 180, .22) 0, rgba(255, 214, 180, 0) 3px, rgba(255, 214, 180, 0) 40%, rgba(50, 16, 6, .22)),
      repeating-linear-gradient(90deg, rgba(60, 20, 8, .05) 0 1px, transparent 1px 7px, rgba(255, 220, 190, .04) 7px 9px, transparent 9px 23px),
      linear-gradient(#A5482A, #A5482A),
      radial-gradient(80vw 70vh at 0% 0%, rgba(255, 236, 196, .6), transparent 70%),
      radial-gradient(70vw 70vh at 100% 100%, rgba(181, 83, 46, .12), transparent 70%),
      var(--hc-cal);
    background-size: 64px 18px, 100% 104px, 100% 104px, 100% 104px, auto, auto, 320px 320px;
    background-position: 0 calc(100% - 104px), 0 100%, 0 100%, 0 100%, 0 0, 0 0, 0 0;
    background-repeat: repeat-x, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, repeat;
    background-attachment: fixed;
  }
}

/* =====================================================================
   MODO ACCESIBLE (§14.3) Y MOVIMIENTO REDUCIDO: todo quieto y completo
   ===================================================================== */
html[data-theme="hacienda"][data-access='1'] .inv-hero__media::before { display: none; }
html[data-theme="hacienda"][data-access='1'] .inv-hero__media::after { transform: none; transition: none; }
html[data-theme="hacienda"][data-access='1'] .inv-hero--photo::before,
html[data-theme="hacienda"][data-access='1'] .inv-hero--photo::after { opacity: 1; translate: 0 0; transition: none; animation: none; }
html[data-theme="hacienda"][data-access='1'] .inv-fx::before,
html[data-theme="hacienda"][data-access='1'] .inv-fx::after { display: none; }
@media (prefers-reduced-motion: reduce) {
  html[data-theme="hacienda"] .inv-fx::before,
  html[data-theme="hacienda"] .inv-fx::after { display: none; }
  html[data-theme="hacienda"] .inv-hero__media::before { display: none; }
  html[data-theme="hacienda"] .inv-hero__media::after { transform: none; transition: none; }
  html[data-theme="hacienda"] .inv-hero--photo::before,
  html[data-theme="hacienda"] .inv-hero--photo::after { opacity: 1; translate: 0 0; transition: none; animation: none; }
}
