/* =====================================================================
   Inolvidia · tema «vendimia» — Viñedo en Ica  (demo: boda-vendimia)
   §24.1 nº 8. Concepto: la invitación es la etiqueta grabada de una botella.
   Lino y piedra, tinta sepia, merlot, ciruela, verde parra, roble y oro viejo.
   Grabado (líneas finas, trama, veladura de color) para parras, racimos,
   sarmientos, copas y botijas; madera, paja y vela en la apertura.
   Contrato §5: variables en :root + decoración SIEMPRE bajo
   html[data-theme="vendimia"]. Además de las clases públicas, viste hijos
   BEM del motor (.inv-countdown__unit, .inv-event__media, .gift__*…): si el
   motor los renombra, el tema cae con gracia al estilo base.
   Apertura «giftbox» reinterpretada solo con CSS: caja de madera de vino con
   la marca a fuego, soga de yute, paja, botellas, vela y la cava al fondo.
   Contraste (AA medido): el oro viejo #B08A4A solo va en adornos; el texto
   dorado usa #7A5B26 sobre lino y #E2C68A sobre fondos oscuros.
   Ilustraciones: tools/temas/vendimia.mjs (SVG propios, reproducibles).
   ===================================================================== */

:root {
  --bg: #F4EEE4;
  --bg-alt: #E9DFCF;
  --surface: #FBF7F0;
  --ink: #2B1F1C;
  --ink-soft: #5E4B42;
  --accent: #6B1F2E;
  --accent-2: #B08A4A;
  --accent-ink: #FBF5EC;
  --line: rgba(43, 31, 28, .16);
  --font-display: 'Prata', 'Didot', Georgia, 'Times New Roman', serif;
  --font-script: 'Mrs Saint Delafield', 'Snell Roundhand', cursive;
  --font-body: 'Spectral', Georgia, 'Times New Roman', serif;
  --radius: 4px;
  --shadow: 0 1px 2px rgba(43, 31, 28, .06), 0 24px 40px -30px rgba(60, 30, 20, .5);
  --hero-overlay: linear-gradient(180deg, rgba(30, 16, 14, .12) 0%, rgba(30, 16, 14, 0) 35%, rgba(30, 16, 14, .78) 100%);
  --hero-ink: #FBF5EC;
  --intro-bg: #2A1B1D;
  --intro-ink: #F3E6CF;
  --seal: #6B1F2E;
  --pattern: var(--vd-grain);
  --ornament: var(--vd-sprig);
  --credit-tone: oscuro;

  /* — propias del tema — */
  --vd-piedra: #E6D8C6;
  --vd-merlot: #6B1F2E;
  --vd-ciruela: #4A2340;
  --vd-parra: #5E6B3A;
  --vd-parra-txt: #4E5A2E;   /* verde parra legible para texto pequeño */
  --vd-roble: #8A5A3B;
  --vd-oro: #B08A4A;          /* solo adornos */
  --vd-oro-txt: #7A5B26;      /* oro legible sobre lino */
  --vd-oro-claro: #E2C68A;    /* oro sobre fondos oscuros */
  --vd-tinta: #3A2A22;        /* tinta sepia del grabado */
  --vd-noche: #2A1B1D;        /* la cava */
  --vd-hair: color-mix(in srgb, var(--vd-oro) 55%, transparent);
}

/* @recursos:inicio — generado por tools/temas/vendimia.mjs (no editar a mano) */
html[data-theme="vendimia"] {
  --vd-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' seed='11' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3 0 0 0 0 .2 0 0 0 0 .12 0 0 0 .1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --vd-wood: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='460' height='150'%3E%3Cfilter id='w' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.0045 .3' numOctaves='4' seed='5' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .2 0 0 0 0 .1 0 0 0 0 .04 0 0 -2.6 0 1.42'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23w)'/%3E%3C/svg%3E");
  --vd-brand: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 140'%3E%3Cfilter id='b' x='-5%25' y='-5%25' width='110%25' height='110%25'%3E%3CfeGaussianBlur stdDeviation='.55'/%3E%3C/filter%3E%3Cg filter='url(%23b)'%3E%3Cg fill='none' stroke='%233B2214' stroke-linecap='round'%3E%3Cellipse cx='100' cy='70' rx='95' ry='65' stroke-width='3.8'/%3E%3Cellipse cx='100' cy='70' rx='86.5' ry='56.5' stroke-width='1.5'/%3E%3Cellipse cx='100' cy='70' rx='90.8' ry='60.8' stroke-width='2.6' stroke-dasharray='.1 6.6'/%3E%3Cpath d='M100 12.5v-4' stroke-width='1.6'/%3E%3Cpath d='M70 121c10 4 20 4 30 0c10 4 20 4 30 0' stroke-width='1.4'/%3E%3C/g%3E%3Cg fill='%233B2214'%3E%3Ccircle cx='100' cy='14' r='2.6'/%3E%3Ccircle cx='95' cy='14' r='2.6'/%3E%3Ccircle cx='105' cy='14' r='2.6'/%3E%3Ccircle cx='97.5' cy='18.4' r='2.6'/%3E%3Ccircle cx='102.5' cy='18.4' r='2.6'/%3E%3Ccircle cx='100' cy='22.8' r='2.6'/%3E%3Cpath d='M98 121c-6-7-15-8-22-4 5 6 14 8 22 4z'/%3E%3Cpath d='M102 121c6-7 15-8 22-4-5 6-14 8-22 4z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  --vd-straw: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 60' preserveAspectRatio='none'%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cg stroke='%23A97F42'%3E%3Cpath d='M130 7Q154 11 164 5' stroke-width='1'/%3E%3Cpath d='M35 11Q49 16 73 17' stroke-width='2'/%3E%3Cpath d='M139 3Q156 -2 190 -12' stroke-width='2'/%3E%3Cpath d='M184 13Q203 8 226 13' stroke-width='1'/%3E%3Cpath d='M170 9Q182 17 194 14' stroke-width='2'/%3E%3Cpath d='M153 6Q166 -4 189 -2' stroke-width='2'/%3E%3Cpath d='M20 8Q31 14 43 12' stroke-width='1'/%3E%3Cpath d='M247 5Q265 2 284 -1' stroke-width='1'/%3E%3Cpath d='M73 7Q93 14 129 9' stroke-width='1'/%3E%3C/g%3E%3Cg stroke='%23D9BC80'%3E%3Cpath d='M134 11Q145 4 162 9' stroke-width='2'/%3E%3Cpath d='M16 2Q33 -3 40 -2' stroke-width='2'/%3E%3Cpath d='M83 8Q113 3 145 -2' stroke-width='2'/%3E%3Cpath d='M198 8Q226 0 246 -5' stroke-width='2'/%3E%3Cpath d='M171 7Q195 13 218 11' stroke-width='2'/%3E%3Cpath d='M167 10Q187 10 208 16' stroke-width='1'/%3E%3Cpath d='M196 5Q221 6 229 5' stroke-width='1'/%3E%3Cpath d='M57 13Q78 3 110 4' stroke-width='1'/%3E%3Cpath d='M253 6Q290 2 321 8' stroke-width='2'/%3E%3C/g%3E%3Cg stroke='%23C29A5A'%3E%3Cpath d='M65 9Q90 2 124 -7' stroke-width='1'/%3E%3Cpath d='M68 13Q93 2 137 3' stroke-width='2'/%3E%3Cpath d='M268 2Q299 5 326 -1' stroke-width='2'/%3E%3Cpath d='M179 11Q210 11 240 3' stroke-width='2'/%3E%3Cpath d='M198 11Q217 6 247 2' stroke-width='1'/%3E%3Cpath d='M275 11Q287 14 298 11' stroke-width='2'/%3E%3Cpath d='M129 5Q146 1 163 -5' stroke-width='2'/%3E%3Cpath d='M267 12Q291 16 331 24' stroke-width='2'/%3E%3Cpath d='M13 6Q34 11 62 7' stroke-width='1'/%3E%3C/g%3E%3Cg stroke='%23EED9A8'%3E%3Cpath d='M34 10Q65 12 93 24' stroke-width='1'/%3E%3Cpath d='M243 11Q262 13 282 7' stroke-width='1'/%3E%3Cpath d='M195 12Q208 12 236 20' stroke-width='1'/%3E%3Cpath d='M68 9Q93 15 125 14' stroke-width='2'/%3E%3Cpath d='M72 12Q91 18 124 14' stroke-width='2'/%3E%3Cpath d='M163 5Q200 -3 221 -7' stroke-width='2'/%3E%3Cpath d='M52 6Q72 2 91 -2' stroke-width='1'/%3E%3Cpath d='M259 10Q265 13 283 14' stroke-width='2'/%3E%3Cpath d='M269 4Q299 2 312 8' stroke-width='2'/%3E%3C/g%3E%3Cg stroke='%23B58B4C'%3E%3Cpath d='M116 6Q150 6 168 4' stroke-width='2'/%3E%3Cpath d='M115 4Q140 8 163 1' stroke-width='1'/%3E%3Cpath d='M194 3Q221 -9 243 -19' stroke-width='1'/%3E%3Cpath d='M63 9Q95 19 128 17' stroke-width='2'/%3E%3Cpath d='M173 13Q188 16 217 10' stroke-width='2'/%3E%3Cpath d='M291 12Q313 9 342 -1' stroke-width='2'/%3E%3Cpath d='M80 9Q100 8 132 16' stroke-width='2'/%3E%3Cpath d='M56 14Q83 28 117 29' stroke-width='2'/%3E%3Cpath d='M229 12Q246 11 275 17' stroke-width='2'/%3E%3C/g%3E%3Cg stroke='%23E4C78E'%3E%3Cpath d='M97 12Q123 18 162 23' stroke-width='1'/%3E%3Cpath d='M126 11Q149 9 161 5' stroke-width='2'/%3E%3Cpath d='M102 9Q111 13 131 8' stroke-width='2'/%3E%3Cpath d='M39 11Q56 -8 68 -29' stroke-width='2'/%3E%3Cpath d='M139 4Q141 1 158 2' stroke-width='1'/%3E%3Cpath d='M204 7Q232 -1 264 5' stroke-width='1'/%3E%3Cpath d='M56 11Q72 10 78 6' stroke-width='1'/%3E%3Cpath d='M58 5Q80 9 99 12' stroke-width='1'/%3E%3Cpath d='M192 4Q214 -5 234 -1' stroke-width='1'/%3E%3C/g%3E%3Cg stroke='%23A97F42'%3E%3Cpath d='M31 4Q29 8 32 21' stroke-width='1'/%3E%3Cpath d='M211 5Q218 10 213 25' stroke-width='2'/%3E%3Cpath d='M24 10Q25 20 21 48' stroke-width='1'/%3E%3Cpath d='M64 12Q59 14 63 21' stroke-width='2'/%3E%3Cpath d='M110 5Q112 9 112 21' stroke-width='1'/%3E%3Cpath d='M255 5Q258 9 259 18' stroke-width='1'/%3E%3Cpath d='M283 6Q283 13 270 33' stroke-width='1'/%3E%3Cpath d='M155 8Q158 12 154 23' stroke-width='2'/%3E%3C/g%3E%3Cg stroke='%23D9BC80'%3E%3Cpath d='M154 12Q155 13 151 17' stroke-width='1'/%3E%3Cpath d='M240 9Q237 19 242 48' stroke-width='1'/%3E%3Cpath d='M53 9Q52 13 53 23' stroke-width='1'/%3E%3Cpath d='M50 7Q50 9 63 17' stroke-width='2'/%3E%3Cpath d='M40 4Q41 9 36 21' stroke-width='2'/%3E%3Cpath d='M268 6Q254 9 252 18' stroke-width='1'/%3E%3Cpath d='M263 7Q264 11 271 26' stroke-width='1'/%3E%3Cpath d='M11 9Q16 13 21 24' stroke-width='1'/%3E%3C/g%3E%3Cg stroke='%23C29A5A'%3E%3Cpath d='M29 12Q29 18 23 35' stroke-width='1'/%3E%3Cpath d='M238 4Q233 13 220 38' stroke-width='1'/%3E%3Cpath d='M73 8Q74 9 70 14' stroke-width='1'/%3E%3Cpath d='M165 5Q159 10 162 23' stroke-width='1'/%3E%3Cpath d='M228 4Q224 12 215 35' stroke-width='2'/%3E%3Cpath d='M259 9Q261 14 265 30' stroke-width='1'/%3E%3Cpath d='M10 5Q20 13 17 40' stroke-width='1'/%3E%3Cpath d='M166 10Q167 12 165 19' stroke-width='1'/%3E%3C/g%3E%3Cg stroke='%23EED9A8'%3E%3Cpath d='M136 9Q138 11 131 16' stroke-width='1'/%3E%3Cpath d='M174 8Q169 10 169 18' stroke-width='1'/%3E%3Cpath d='M37 12Q45 20 41 43' stroke-width='2'/%3E%3Cpath d='M160 4Q161 7 160 15' stroke-width='1'/%3E%3Cpath d='M37 9Q54 16 62 36' stroke-width='1'/%3E%3Cpath d='M121 10Q121 14 125 24' stroke-width='2'/%3E%3Cpath d='M238 12Q242 17 235 35' stroke-width='2'/%3E%3Cpath d='M6 6Q8 8 10 15' stroke-width='1'/%3E%3C/g%3E%3Cg stroke='%23B58B4C'%3E%3Cpath d='M60 10Q69 16 82 34' stroke-width='1'/%3E%3Cpath d='M7 5Q8 7 7 14' stroke-width='2'/%3E%3Cpath d='M250 5Q259 13 265 38' stroke-width='1'/%3E%3Cpath d='M9 4Q10 9 10 26' stroke-width='1'/%3E%3Cpath d='M159 9Q154 12 155 24' stroke-width='1'/%3E%3Cpath d='M138 6Q137 8 134 14' stroke-width='1'/%3E%3Cpath d='M217 5Q223 12 226 33' stroke-width='1'/%3E%3C/g%3E%3Cg stroke='%23E4C78E'%3E%3Cpath d='M280 10Q267 17 250 37' stroke-width='2'/%3E%3Cpath d='M207 5Q212 11 215 28' stroke-width='1'/%3E%3Cpath d='M209 9Q202 15 203 30' stroke-width='2'/%3E%3Cpath d='M38 10Q40 14 33 25' stroke-width='1'/%3E%3Cpath d='M33 11Q28 21 32 53' stroke-width='1'/%3E%3Cpath d='M245 6Q238 8 235 13' stroke-width='1'/%3E%3Cpath d='M33 7Q33 14 40 33' stroke-width='1'/%3E%3C/g%3E%3Cg stroke='%23C9A262'%3E%3Cpath d='M184 9Q205 4 211 0' stroke-width='1'/%3E%3Cpath d='M11 7Q33 10 63 5' stroke-width='1'/%3E%3Cpath d='M83 18Q97 22 112 15' stroke-width='1'/%3E%3Cpath d='M122 8Q128 7 140 10' stroke-width='1'/%3E%3C/g%3E%3Cg stroke='%23E8CF98'%3E%3Cpath d='M219 6Q228 -3 238 -3' stroke-width='1'/%3E%3Cpath d='M93 7Q105 1 125 -1' stroke-width='1'/%3E%3Cpath d='M64 10Q86 20 103 20' stroke-width='1'/%3E%3C/g%3E%3Cg stroke='%239C733B'%3E%3Cpath d='M73 14Q95 22 131 25' stroke-width='1'/%3E%3Cpath d='M11 12Q12 10 29 19' stroke-width='1'/%3E%3Cpath d='M108 17Q122 11 126 6' stroke-width='1'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  --vd-inside: url("/themes/vendimia/inside.webp");
  --vd-rope: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 90'%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cpath d='M3 8C36 10 40 80 3 82' stroke='%238C6A3C' stroke-width='7.5'/%3E%3Cpath d='M3 8C36 10 40 80 3 82' stroke='%235E4524' stroke-width='7.5' stroke-dasharray='2.4 2.8' stroke-opacity='.85'/%3E%3Cpath d='M3 7C34 9.5 37.5 78 3 80' stroke='%23E6CB94' stroke-width='1.3' stroke-dasharray='1.8 3.4' stroke-opacity='.8'/%3E%3C/g%3E%3C/svg%3E");
  --vd-lid-grapes: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 100'%3E%3Cdefs%3E%3CradialGradient id='g' cx='.36' cy='.32' r='.75'%3E%3Cstop offset='0' stop-color='%23B78AA6'/%3E%3Cstop offset='.18' stop-color='%237A4568'/%3E%3Cstop offset='.6' stop-color='%2345203C'/%3E%3Cstop offset='1' stop-color='%231E0C19'/%3E%3C/radialGradient%3E%3ClinearGradient id='lf' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%2387924F'/%3E%3Cstop offset='.55' stop-color='%235E6B3A'/%3E%3Cstop offset='1' stop-color='%233A4423'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg transform='translate(40 70) rotate(-72) scale(.95)'%3E%3Cpath d='M0 -4.6L-4.1 0L-8.4 4.2L-13.1 8.1L-18.1 11.5L-23.4 14.6L-24 7.1L-21.6 6.4L-21.4 2.4L-19 1.4L-17 -1.2L-23.9 -4.1L-23.9 -6.2L-27.7 -8L-27.9 -10.3L-32.2 -12.2L-31.3 -14.9L-35 -17.2L-34.2 -20L-35.5 -23L-29.2 -25.7L-28 -24.1L-24.3 -25.5L-23 -23.9L-19.3 -25.1L-18 -23.1L-14.2 -24.2L-13.1 -21.6L-10.4 -20.5L-11 -27.7L-9.3 -28.9L-9.5 -33.1L-7.6 -34.3L-7.9 -39L-5.2 -39.5L-4.9 -43.8L-2 -44.4L0 -46.9L6 -42L4.9 -40L8.9 -37L7.4 -34.9L10.3 -31.7L9.1 -29.4L12.1 -26.1L10.2 -23.7L10.4 -20.5L16 -24.1L17.5 -23L21.1 -25.7L22.5 -23.9L26 -26.1L27.5 -24.1L31.2 -26.2L32.7 -23.6L35.5 -23L33.8 -15.7L31.7 -15.4L30.5 -11.4L28.3 -10.8L27.2 -6.1L24.3 -6.6L22.6 -2.8L19.7 -3L17 -1.2L22.9 3.8L21.4 5.9L24.9 9.1L23 11.4L23.4 14.6L18.1 11.5L13.1 8.1L8.4 4.2L4.1 0L0 -4.6Z' fill='url(%23lf)'/%3E%3Cpath d='M0 -4.6Q-9.1 4.9 -20.1 11.9M-8.9 2.7L-9.7 8.7M-8.9 2.7L-14.9 2.3M-14.5 7.3L-15.3 13.3M-14.5 7.3L-20.6 6.9M0 -4.6Q-16.2 -10.7 -30.5 -20.5M-13.5 -11.6L-21.2 -9.5M-13.5 -11.6L-16.2 -19.1M-22 -16L-29.7 -13.9M-22 -16L-24.7 -23.6M0 -4.6Q-2.2 -22.8 0 -41M0 -20.7L-5.8 -26.9M0 -20.7L5.8 -26.9M0 -30.8L-5.8 -37M0 -30.8L5.8 -37M0 -4.6Q14.3 -14.4 30.5 -20.5M13.5 -11.6L16.2 -19.1M13.5 -11.6L21.2 -9.5M22 -16L24.7 -23.6M22 -16L29.7 -13.9M0 -4.6Q11.1 2.5 20.1 11.9M8.9 2.7L14.9 2.3M8.9 2.7L9.7 8.7M14.5 7.3L20.6 6.9M14.5 7.3L15.3 13.3M0 -4.6Q1.4 5.5 2.8 13.8' fill='none' stroke='%23B9C38A' stroke-opacity='.75' stroke-width='.9'/%3E%3C/g%3E%3Cpath d='M52 64C40 58 30 52 20 54' fill='none' stroke='%236B4A2A' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M24 52L22.7 51.6L21.4 51.3L20.1 51L18.8 50.9L17.5 51L16.3 51.2L15.2 51.6L14.2 52.1L13.3 52.8L12.6 53.7L12.2 54.7L12 55.7L12 56.7L12.4 57.6L12.9 58.3L13.7 58.9L14.5 59.1L15.3 59.1L16.1 58.7L16.6 58.2L16.9 57.5L16.9 56.8L16.6 56.2L16.1 55.8L15.5 55.6L15 55.7L14.5 56.1L14.3 56.5L14.4 57L14.7 57.4' fill='none' stroke='%238B9A55' stroke-width='1.3' stroke-linecap='round'/%3E%3Cg fill='url(%23g)'%3E%3Ccircle cx='56.5' cy='56.8' r='7.5'/%3E%3Ccircle cx='58.6' cy='69.2' r='7'/%3E%3Ccircle cx='69.1' cy='52.4' r='7.1'/%3E%3Ccircle cx='69.9' cy='63.5' r='6.7'/%3E%3Ccircle cx='70' cy='75.3' r='6.8'/%3E%3Ccircle cx='80' cy='47.7' r='7.1'/%3E%3Ccircle cx='79.8' cy='60.7' r='6.8'/%3E%3Ccircle cx='81.5' cy='69.4' r='6.7'/%3E%3Ccircle cx='79.4' cy='80.7' r='7.1'/%3E%3Ccircle cx='92.4' cy='42.1' r='7.4'/%3E%3Ccircle cx='91.8' cy='54.8' r='7.2'/%3E%3Ccircle cx='93' cy='65.8' r='7.4'/%3E%3Ccircle cx='92.6' cy='75' r='6.8'/%3E%3Ccircle cx='91.2' cy='87.2' r='6.6'/%3E%3Ccircle cx='101.6' cy='44.8' r='6.9'/%3E%3Ccircle cx='102.6' cy='54.9' r='7.5'/%3E%3Ccircle cx='103.4' cy='66.6' r='6.9'/%3E%3Ccircle cx='102.4' cy='75.9' r='6.7'/%3E%3Ccircle cx='104' cy='87.5' r='6.8'/%3E%3Ccircle cx='114.4' cy='43.5' r='6.6'/%3E%3Ccircle cx='114.6' cy='56.3' r='7.1'/%3E%3Ccircle cx='115' cy='66.5' r='7.4'/%3E%3Ccircle cx='112.9' cy='77.1' r='7.2'/%3E%3Ccircle cx='115.2' cy='89.4' r='7.4'/%3E%3Ccircle cx='125.5' cy='50.9' r='7.5'/%3E%3Ccircle cx='125.3' cy='61.5' r='6.6'/%3E%3Ccircle cx='125.2' cy='71' r='7.3'/%3E%3Ccircle cx='125.3' cy='83.3' r='7.5'/%3E%3Ccircle cx='136.6' cy='50.5' r='7'/%3E%3Ccircle cx='136.8' cy='61.2' r='7.1'/%3E%3Ccircle cx='135.8' cy='70.7' r='6.6'/%3E%3Ccircle cx='135' cy='83.8' r='7.4'/%3E%3Ccircle cx='148' cy='53.5' r='7.2'/%3E%3Ccircle cx='147.9' cy='66.7' r='7.5'/%3E%3Ccircle cx='146.9' cy='78.5' r='7.2'/%3E%3Ccircle cx='159.7' cy='60.9' r='7.3'/%3E%3Ccircle cx='157.7' cy='73' r='7.1'/%3E%3Ccircle cx='170.2' cy='65' r='7'/%3E%3C/g%3E%3C/svg%3E");
  --vd-candle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 220'%3E%3Cdefs%3E%3ClinearGradient id='c' x1='0' x2='1'%3E%3Cstop offset='0' stop-color='%23B8A27E'/%3E%3Cstop offset='.45' stop-color='%23F7EDDA'/%3E%3Cstop offset='.7' stop-color='%23E9DCC2'/%3E%3Cstop offset='1' stop-color='%23A8916B'/%3E%3C/linearGradient%3E%3ClinearGradient id='b' x1='0' x2='1'%3E%3Cstop offset='0' stop-color='%235C4220'/%3E%3Cstop offset='.4' stop-color='%23D8B470'/%3E%3Cstop offset='.6' stop-color='%239C7A3E'/%3E%3Cstop offset='1' stop-color='%234A3418'/%3E%3C/linearGradient%3E%3CradialGradient id='t' cx='.5' cy='0' r='1'%3E%3Cstop offset='0' stop-color='%23FFE9B8' stop-opacity='.9'/%3E%3Cstop offset='1' stop-color='%23FFE9B8' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M30 6v12' stroke='%232A1A10' stroke-width='1.6' stroke-linecap='round'/%3E%3Cpath d='M17 20q13-6 26 0v150H17z' fill='url(%23c)'/%3E%3Cpath d='M17 20q13-6 26 0v20H17z' fill='url(%23t)'/%3E%3Cpath d='M38 18q3 0 3 6v26q0 4-2 4t-2-4z' fill='%23F3E6CC'/%3E%3Cpath d='M19 22q-2 1-2 5v14q0 3 1.6 3t1.6-3z' fill='%23EADCC0'/%3E%3Cellipse cx='30' cy='172' rx='22' ry='5' fill='%233A2A16'/%3E%3Cpath d='M8 170h44l-6 9H14z' fill='url(%23b)'/%3E%3Cpath d='M25 179h10l3 22H22z' fill='url(%23b)'/%3E%3Cellipse cx='30' cy='204' rx='26' ry='7' fill='url(%23b)'/%3E%3Cellipse cx='30' cy='202' rx='20' ry='3.4' fill='%23E4C487' fill-opacity='.5'/%3E%3C/svg%3E");
  --vd-flame: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 100'%3E%3Cdefs%3E%3CradialGradient id='f' cx='.5' cy='.72' r='.7'%3E%3Cstop offset='0' stop-color='%23FFFFFF'/%3E%3Cstop offset='.28' stop-color='%23FFF4C8'/%3E%3Cstop offset='.55' stop-color='%23FFC15C'/%3E%3Cstop offset='.8' stop-color='%23E9772E' stop-opacity='.7'/%3E%3Cstop offset='1' stop-color='%23E9772E' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M20 8C27 30 33 46 33 62c0 11-6 20-13 20S7 73 7 62C7 46 13 30 20 8z' fill='url(%23f)'/%3E%3Cellipse cx='20' cy='74' rx='4' ry='6' fill='%235A7BD6' fill-opacity='.35'/%3E%3C/svg%3E");
  --vd-cellar: url("/themes/vendimia/cellar.webp");
  --vd-bits: url("/themes/vendimia/bits.webp");
  --vd-orla: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cdefs%3E%3Cg id='c'%3E%3Cpath d='M6 60V27.3A28 28 0 0 0 27.3 6H60' stroke='%23A88443' stroke-width='3'/%3E%3Cpath d='M12 60V31.8A34 34 0 0 0 31.8 12H60' stroke='%234A3428' stroke-width='1.2'/%3E%3Cpath d='M17 60V35.1A39 39 0 0 0 35.1 17H60' stroke='%234A3428' stroke-width='0.8' stroke-opacity='.7'/%3E%3Cg transform='translate(9.5 6.2)' fill='%236B1F2E'%3E%3Ccircle cx='-4' cy='0' r='1.85'/%3E%3Ccircle cx='0' cy='0' r='1.85'/%3E%3Ccircle cx='4' cy='0' r='1.85'/%3E%3Ccircle cx='-2' cy='3.5' r='1.85'/%3E%3Ccircle cx='2' cy='3.5' r='1.85'/%3E%3Ccircle cx='0' cy='7' r='1.85'/%3E%3Cpath d='M0-1.8q.4-2.6 3-3.4' fill='none' stroke='%236B1F2E' stroke-width='1' stroke-linecap='round'/%3E%3C/g%3E%3C/g%3E%3C/defs%3E%3Cg fill='none'%3E%3Cuse href='%23c'/%3E%3Cuse href='%23c' transform='matrix(-1 0 0 1 180 0)'/%3E%3Cuse href='%23c' transform='matrix(1 0 0 -1 0 180)'/%3E%3Cuse href='%23c' transform='matrix(-1 0 0 -1 180 180)'/%3E%3Cpath d='M60 6H120M60 174H120M6 60V120M174 60V120' stroke='%23A88443' stroke-width='3'/%3E%3Cpath d='M60 12H120M60 168H120M12 60V120M168 60V120' stroke='%234A3428' stroke-width='1.2'/%3E%3Cpath d='M60 17H120M60 163H120M17 60V120M163 60V120' stroke='%234A3428' stroke-width='0.8' stroke-opacity='.7'/%3E%3C/g%3E%3C/svg%3E");
  --vd-orla-foto: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cdefs%3E%3Cg id='c'%3E%3Cpath d='M3 40V16.7A17 17 0 0 0 16.7 3H40' stroke='%23A88443' stroke-width='2.2'/%3E%3Cpath d='M8 40V19.4A21 21 0 0 0 19.4 8H40' stroke='%234A3428' stroke-width='1'/%3E%3C/g%3E%3C/defs%3E%3Cg fill='none'%3E%3Cuse href='%23c'/%3E%3Cuse href='%23c' transform='matrix(-1 0 0 1 120 0)'/%3E%3Cuse href='%23c' transform='matrix(1 0 0 -1 0 120)'/%3E%3Cuse href='%23c' transform='matrix(-1 0 0 -1 120 120)'/%3E%3Cpath d='M40 3H80M40 117H80M3 40V80M117 40V80' stroke='%23A88443' stroke-width='2.2'/%3E%3Cpath d='M40 8H80M40 112H80M8 40V80M112 40V80' stroke='%234A3428' stroke-width='1'/%3E%3C/g%3E%3C/svg%3E");
  --vd-orla-card: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cdefs%3E%3Cg id='c'%3E%3Cpath d='M4 40V16.5A17 17 0 0 0 16.5 4H40' stroke='%23A88443' stroke-width='1.8'/%3E%3Cpath d='M9 40V19A21 21 0 0 0 19 9H40' stroke='%234A3428' stroke-width='0.9'/%3E%3Cg transform='translate(9.5 6.2)' fill='%23B08A4A'%3E%3Ccircle cx='-4' cy='0' r='1.85'/%3E%3Ccircle cx='0' cy='0' r='1.85'/%3E%3Ccircle cx='4' cy='0' r='1.85'/%3E%3Ccircle cx='-2' cy='3.5' r='1.85'/%3E%3Ccircle cx='2' cy='3.5' r='1.85'/%3E%3Ccircle cx='0' cy='7' r='1.85'/%3E%3Cpath d='M0-1.8q.4-2.6 3-3.4' fill='none' stroke='%23B08A4A' stroke-width='1' stroke-linecap='round'/%3E%3C/g%3E%3C/g%3E%3C/defs%3E%3Cg fill='none'%3E%3Cuse href='%23c'/%3E%3Cuse href='%23c' transform='matrix(-1 0 0 1 120 0)'/%3E%3Cuse href='%23c' transform='matrix(1 0 0 -1 0 120)'/%3E%3Cuse href='%23c' transform='matrix(-1 0 0 -1 120 120)'/%3E%3Cpath d='M40 4H80M40 116H80M4 40V80M116 40V80' stroke='%23A88443' stroke-width='1.8'/%3E%3Cpath d='M40 9H80M40 111H80M9 40V80M111 40V80' stroke='%234A3428' stroke-width='0.9'/%3E%3C/g%3E%3C/svg%3E");
  --vd-vine: url("/themes/vendimia/vine.webp");
  --vd-crest: url("/themes/vendimia/crest.webp");
  --vd-sprig: url("/themes/vendimia/sprig.webp");
  --vd-copas: url("/themes/vendimia/copas.webp");
  --vd-botija: url("/themes/vendimia/botija.webp");
  --vd-stem: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 150'%3E%3Cpath d='M20 0C12 25 28 50 20 75C12 100 28 125 20 150' fill='none' stroke='%23B08A4A' stroke-width='1.8'/%3E%3Cpath transform='translate(22 40) rotate(64)' d='M0 -1.2L-1.1 0L-2.2 1.1L-3.4 2.1L-4.7 3L-6.1 3.8L-6.2 1.9L-5.6 1.7L-5.6 .6L-4.9 .4L-4.4 -.3L-6.3 -1L-6.2 -1.6L-7.3 -2.1L-7.3 -2.7L-8.3 -3.2L-8.2 -3.9L-9 -4.5L-8.9 -5.2L-9.3 -6L-7.7 -6.6L-7.3 -6.3L-6.2 -6.8L-6 -6.2L-4.9 -6.7L-4.7 -6L-3.7 -6.2L-3.4 -5.6L-2.7 -5.3L-3 -7.4L-2.4 -7.5L-2.5 -8.7L-2 -9L-1.9 -10L-1.3 -10.3L-1.2 -11.3L-.5 -11.6L0 -12.2L1.5 -11L1.3 -10.4L2.3 -9.6L1.9 -9.1L2.8 -8.3L2.4 -7.7L3.1 -6.8L2.7 -6.2L2.7 -5.3L4.2 -6.3L4.6 -6L5.4 -6.6L5.9 -6.2L6.8 -6.9L7.2 -6.3L8.2 -6.9L8.5 -6.2L9.3 -6L8.8 -4.2L8.3 -4L8.1 -2.7L7.4 -2.8L7.1 -1.6L6.3 -1.7L6 -.6L5.2 -.8L4.4 -.3L5.9 1L5.6 1.5L6.5 2.4L6 3L6.1 3.8L4.7 3L3.4 2.1L2.2 1.1L1.1 0L0 -1.2Z' fill='%235E6B3A' fill-opacity='.3' stroke='%235E6B3A' stroke-width='.8'/%3E%3Cpath d='M18 112L17.2 112.3L16.3 112.6L15.6 113L14.9 113.5L14.2 114L13.7 114.6L13.3 115.2L13 115.9L12.9 116.6L12.9 117.3L13.1 118L13.5 118.6L14 119L14.5 119.3L15.1 119.3L15.7 119.2L16.2 118.9L16.5 118.5L16.6 118L16.6 117.5L16.3 117.1L15.9 116.8L15.5 116.8L15.1 116.9L14.8 117.2L14.7 117.5L14.8 117.9L15 118.1L15.3 118.2L15.6 118.1' fill='none' stroke='%23B08A4A' stroke-width='.9' stroke-linecap='round'/%3E%3C/svg%3E");
  --vd-paisaje: url("/themes/vendimia/paisaje.webp");
}
/* @recursos:fin */

/* =====================================================================
   PÁGINA · lino con grano de papel verjurado
   ===================================================================== */
html[data-theme="vendimia"] {
  background-color: #E7DCCB;
  background-image:
    radial-gradient(70vw 70vh at 0% 0%, rgba(107, 31, 46, .07), transparent 70%),
    radial-gradient(60vw 60vh at 100% 100%, rgba(94, 107, 58, .12), transparent 70%),
    var(--vd-grain);
}
html[data-theme="vendimia"] ::selection { background: color-mix(in srgb, var(--accent) 22%, transparent); }
html[data-theme="vendimia"] .inv-page { background-color: var(--bg); }
html[data-theme="vendimia"] .inv-section { background-image: var(--vd-grain); }
html[data-theme="vendimia"] .inv-section.is-alt {
  background-image: repeating-linear-gradient(0deg, rgba(90, 60, 40, .028) 0 1px, transparent 1px 5px), var(--vd-grain);
}
/* filetes de etiqueta entre secciones */
html[data-theme="vendimia"] .inv-section.is-alt::before,
html[data-theme="vendimia"] .inv-section.is-alt::after {
  content: ''; position: absolute; left: 14px; right: 14px; height: 4px; pointer-events: none;
  border-block: 1px solid color-mix(in srgb, var(--vd-oro) 50%, transparent);
}
html[data-theme="vendimia"] .inv-section.is-alt::before { top: 10px; }
html[data-theme="vendimia"] .inv-section.is-alt::after { bottom: 10px; }

/* ---------- tipografía: Prata (rótulos), Spectral (texto), Mrs Saint Delafield (firma) ---------- */
html[data-theme="vendimia"] .inv-head::before {
  content: ''; display: block; width: 168px; height: 34px; margin: 0 auto 18px;
  background: var(--vd-sprig) center / contain no-repeat;
}
html[data-theme="vendimia"] .inv-eyebrow {
  font-family: var(--font-body); font-weight: 600; font-size: .7rem; letter-spacing: .32em; color: var(--accent);
}
html[data-theme="vendimia"] .inv-title {
  font-weight: 400; font-size: clamp(2.05rem, 9vw, 2.7rem); line-height: 1.14; letter-spacing: -.005em; color: var(--ink);
}
html[data-theme="vendimia"] .inv-head .inv-title { margin-bottom: .7rem; }
html[data-theme="vendimia"] .inv-text { font-size: 1.07rem; line-height: 1.72; }
html[data-theme="vendimia"] .inv-head .inv-text { font-size: 1.04rem; max-width: 27em; }

/* ---------- tarjetas: etiqueta con orla fina de esquinas cóncavas ---------- */
html[data-theme="vendimia"] .inv-card {
  background-color: var(--surface); background-image: var(--vd-grain);
  border: 0; border-radius: 2px; box-shadow: var(--shadow);
}
html[data-theme="vendimia"] .inv-card::after {
  content: ''; position: absolute; inset: 5px; z-index: 1; pointer-events: none;
  border: 20px solid transparent; border-image: var(--vd-orla-card) 40 / 20px stretch;
}

/* ---------- botones: etiqueta impresa en merlot con filete dorado ---------- */
html[data-theme="vendimia"] .inv-btn {
  border-radius: 2px; min-height: 50px; padding: .95em 1.6em;
  font-family: var(--font-body); font-weight: 600; font-size: .76rem; letter-spacing: .2em; text-transform: uppercase;
  box-shadow: inset 0 0 0 3px var(--accent), inset 0 0 0 4px rgba(226, 198, 138, .55), 0 12px 22px -14px rgba(74, 20, 30, .9);
}
html[data-theme="vendimia"] .inv-btn .inv-icon { width: 1.35em; height: 1.35em; }
html[data-theme="vendimia"] .inv-btn--ghost { border-width: 1px; background: transparent; box-shadow: none; }
html[data-theme="vendimia"] .inv-btn--lg { min-height: 56px; font-size: .8rem; }
html[data-theme="vendimia"] .inv-btn.is-draft { text-transform: none; letter-spacing: .02em; font-size: .9rem; }
html[data-theme="vendimia"] .inv-btn:focus-visible { outline-offset: 4px; }

/* =====================================================================
   HERO · la etiqueta de la botella: orla con esquinas cóncavas, cimera de
   parra arriba, la foto como viñeta y sarmientos que se descuelgan
   ===================================================================== */
html[data-theme="vendimia"] .inv-hero { color: var(--ink); }
html[data-theme="vendimia"] .inv-hero--framed,
html[data-theme="vendimia"] .inv-hero--type,
html[data-theme="vendimia"] .inv-hero--noimg {
  background-color: var(--bg);
  background-image:
    radial-gradient(90% 46% at 50% 30%, rgba(255, 252, 245, .92), rgba(255, 252, 245, 0) 72%),
    radial-gradient(120% 50% at 50% 100%, rgba(176, 138, 74, .14), transparent 70%),
    var(--vd-grain);
}
/* orla de la etiqueta (todo el alto del hero) */
html[data-theme="vendimia"] .inv-hero--framed::before,
html[data-theme="vendimia"] .inv-hero--type::before,
html[data-theme="vendimia"] .inv-hero--noimg::before {
  content: ''; position: absolute; inset: 12px; z-index: -1; pointer-events: none;
  border: 36px solid transparent; border-image: var(--vd-orla) 60 / 36px stretch;
}
/* cimera: racimo entre dos hojas sobre el filete de arriba */
html[data-theme="vendimia"] .inv-hero--framed::after,
html[data-theme="vendimia"] .inv-hero--type::after,
html[data-theme="vendimia"] .inv-hero--noimg::after {
  content: ''; position: absolute; left: 50%; top: 2px; z-index: -1; width: 128px; height: 96px; pointer-events: none;
  transform: translateX(-50%);
  background:
    var(--vd-crest) center 2px / 108px auto no-repeat,
    radial-gradient(closest-side, var(--bg) 70%, rgba(244, 238, 228, 0)) center 0 / 128px 44px no-repeat;
}
html[data-theme="vendimia"] .inv-hero--framed {
  justify-content: flex-start;
  padding-top: clamp(104px, 15vh, 130px);
}
html[data-theme="vendimia"] .inv-hero--framed .inv-hero__media {
  width: min(64%, 280px); aspect-ratio: 4 / 5;
  padding: 0; border: 0; border-radius: 0; background: none;
  filter: drop-shadow(0 22px 22px rgba(60, 30, 20, .22));
}
/* filetes con esquinas cóncavas alrededor de la foto */
html[data-theme="vendimia"] .inv-hero--framed .inv-hero__media::before {
  inset: -13px; border-radius: 0; border: 24px solid transparent;
  border-image: var(--vd-orla-foto) 40 / 24px stretch;
  opacity: 0; transform: scale(.97);
  transition: opacity 1s var(--ease) .2s, transform 1.4s var(--ease) .2s;
}
/* sarmientos que se descuelgan sobre dos esquinas de la foto */
html[data-theme="vendimia"] .inv-hero--framed .inv-hero__media::after {
  content: ''; position: absolute; left: -17%; top: -15%; z-index: 3; width: 64%; aspect-ratio: 240 / 280; pointer-events: none;
  background: var(--vd-vine) left top / contain no-repeat;
  transform-origin: 8% 6%; transform: rotate(-8deg) scale(.86); opacity: 0;
  transition: transform 1.6s var(--ease) .55s, opacity 1s var(--ease) .55s;
}
html[data-theme="vendimia"] .inv-hero--framed .inv-hero__shade {
  display: block; inset: auto -15% -10% auto; z-index: 3; width: 52%; aspect-ratio: 240 / 280;
  background: var(--vd-vine) left top / contain no-repeat;
  transform: scale(-.86, -.86); opacity: 0;
  transition: transform 1.6s var(--ease) .8s, opacity 1s var(--ease) .8s;
}
/* foto con esquinas cóncavas; entra subiendo como el vino en la copa (arranca con el destello de la intro) */
html[data-theme="vendimia"] .inv-hero--framed .inv-hero__img {
  --cc: 17px;
  border-radius: 0; background: var(--bg-alt);
  -webkit-mask:
    radial-gradient(circle at 0 0, #0000 var(--cc), #000 calc(var(--cc) + .5px)) 0 0 / 51% 51% no-repeat,
    radial-gradient(circle at 100% 0, #0000 var(--cc), #000 calc(var(--cc) + .5px)) 100% 0 / 51% 51% no-repeat,
    radial-gradient(circle at 0 100%, #0000 var(--cc), #000 calc(var(--cc) + .5px)) 0 100% / 51% 51% no-repeat,
    radial-gradient(circle at 100% 100%, #0000 var(--cc), #000 calc(var(--cc) + .5px)) 100% 100% / 51% 51% no-repeat;
  mask:
    radial-gradient(circle at 0 0, #0000 var(--cc), #000 calc(var(--cc) + .5px)) 0 0 / 51% 51% no-repeat,
    radial-gradient(circle at 100% 0, #0000 var(--cc), #000 calc(var(--cc) + .5px)) 100% 0 / 51% 51% no-repeat,
    radial-gradient(circle at 0 100%, #0000 var(--cc), #000 calc(var(--cc) + .5px)) 0 100% / 51% 51% no-repeat,
    radial-gradient(circle at 100% 100%, #0000 var(--cc), #000 calc(var(--cc) + .5px)) 100% 100% / 51% 51% no-repeat;
  opacity: 0; transform: translateY(5%) scale(1.08);
  transition: transform 2.4s var(--ease) .1s, opacity 1.1s var(--ease) .1s;
}
html[data-theme="vendimia"].is-revealing .inv-hero--framed .inv-hero__img.is-loaded,
html[data-theme="vendimia"].is-revealed .inv-hero--framed .inv-hero__img.is-loaded { opacity: 1; transform: none; }
html[data-theme="vendimia"].is-revealing .inv-hero--framed .inv-hero__media::before,
html[data-theme="vendimia"].is-revealed .inv-hero--framed .inv-hero__media::before { opacity: 1; transform: none; }
html[data-theme="vendimia"].is-revealed .inv-hero--framed .inv-hero__media::after { opacity: 1; transform: rotate(-8deg); }
html[data-theme="vendimia"].is-revealed .inv-hero--framed .inv-hero__shade { opacity: 1; transform: scale(-1, -1); }
/* modo accesible (§14.3): la foto y los adornos están desde el primer cuadro */
html[data-theme="vendimia"][data-access='1'] .inv-hero--framed .inv-hero__img { transition: none; }
html[data-theme="vendimia"][data-access='1'] .inv-hero--framed .inv-hero__media::before,
html[data-theme="vendimia"][data-access='1'] .inv-hero--framed .inv-hero__media::after,
html[data-theme="vendimia"][data-access='1'] .inv-hero--framed .inv-hero__shade { transition: none; }

/* textos de la etiqueta */
html[data-theme="vendimia"] .inv-hero--framed .inv-hero__content,
html[data-theme="vendimia"] .inv-hero--type .inv-hero__content,
html[data-theme="vendimia"] .inv-hero--noimg .inv-hero__content { padding-inline: max(var(--gutter), 44px); }
html[data-theme="vendimia"] .inv-hero--framed .inv-hero__content { padding-top: 50px; }
html[data-theme="vendimia"] .inv-hero__eyebrow { color: var(--accent); opacity: 1; font-size: .66rem; letter-spacing: .34em; line-height: 1.6; margin-bottom: .1rem; }
html[data-theme="vendimia"] .inv-hero--photo .inv-hero__eyebrow { color: inherit; }
html[data-theme="vendimia"] .inv-hero__title {
  font-family: var(--font-display); font-weight: 400; font-size: clamp(2.7rem, 12.6vw, 3.7rem); line-height: 1.04;
  letter-spacing: -.01em; color: var(--ink); margin: .2em 0 .1em;
}
html[data-theme="vendimia"] .inv-amp {
  font-family: var(--font-script); font-weight: 400; font-size: 1.3em; line-height: .62; color: var(--vd-oro-txt);
  margin: .04em 0 .14em; letter-spacing: 0;
}
html[data-theme="vendimia"] .inv-hero--photo .inv-amp { color: var(--vd-oro-claro); }
html[data-theme="vendimia"] .inv-hero__subtitle {
  font-family: var(--font-body); font-style: italic; font-weight: 400; font-size: 1.14rem; line-height: 1.45;
  color: var(--ink-soft); opacity: 1; max-width: 19rem; margin-top: .55rem;
}
html[data-theme="vendimia"] .inv-hero--photo .inv-hero__subtitle { color: inherit; }
html[data-theme="vendimia"] .inv-hero__date {
  gap: 12px; max-width: 18.5rem; margin: 1.35rem auto .65rem;
  font-family: var(--font-body); font-weight: 600; font-size: .66rem; letter-spacing: .3em; color: var(--ink);
}
html[data-theme="vendimia"] .inv-hero__date-side { position: relative; padding: .8em 0; border-color: color-mix(in srgb, var(--vd-oro) 75%, transparent); }
html[data-theme="vendimia"] .inv-hero__date-side::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 3px; height: 1px; background: color-mix(in srgb, var(--vd-oro) 40%, transparent);
}
html[data-theme="vendimia"] .inv-hero__date-day { font-family: var(--font-display); font-size: 3.5rem; color: var(--accent); }
html[data-theme="vendimia"] .inv-hero--photo .inv-hero__date-day { color: inherit; }
html[data-theme="vendimia"] .inv-hero__time {
  font-weight: 400; font-style: italic; font-size: 1rem; letter-spacing: .06em; text-transform: none; opacity: 1; color: var(--ink-soft); padding-top: 3px;
}
html[data-theme="vendimia"] .inv-hero--photo .inv-hero__time { color: inherit; }
html[data-theme="vendimia"] .inv-hero__place {
  font-weight: 600; font-size: .7rem; letter-spacing: .3em; text-transform: uppercase; color: var(--ink-soft); opacity: 1;
}
html[data-theme="vendimia"] .inv-hero__place .inv-icon { color: var(--accent); }
html[data-theme="vendimia"] .inv-hero--photo .inv-hero__place,
html[data-theme="vendimia"] .inv-hero--photo .inv-hero__place .inv-icon { color: inherit; }
html[data-theme="vendimia"] .inv-hero__cue { color: var(--ink-soft); }
html[data-theme="vendimia"] .inv-hero--photo .inv-hero__cue { color: inherit; }

/* pase del invitado: tarjeta de mesa con doble filete */
html[data-theme="vendimia"] .inv-guest {
  border-radius: 2px; padding: 14px 28px 15px;
  background-color: var(--surface); background-image: var(--vd-grain);
  border: 1px solid color-mix(in srgb, var(--vd-oro) 60%, transparent);
  box-shadow: 0 0 0 4px var(--surface), 0 0 0 5px color-mix(in srgb, var(--vd-oro) 32%, transparent), var(--shadow);
}
html[data-theme="vendimia"] .inv-guest__label { font-weight: 600; letter-spacing: .32em; font-size: .62rem; color: var(--accent); opacity: 1; }
html[data-theme="vendimia"] .inv-guest__name { font-family: var(--font-display); font-weight: 400; font-size: 1.45rem; line-height: 1.2; }
html[data-theme="vendimia"] .inv-guest__passes { font-style: italic; font-size: .95rem; color: var(--ink-soft); opacity: 1; }
html[data-theme="vendimia"] .inv-hero--photo .inv-guest { box-shadow: 0 10px 30px rgba(0, 0, 0, .2); }
html[data-theme="vendimia"] .inv-hero--photo .inv-guest__label,
html[data-theme="vendimia"] .inv-hero--photo .inv-guest__passes { color: inherit; }
html[data-theme="vendimia"] .inv-hero__guest { margin-top: 1.4rem; }

/* =====================================================================
   INTRO «giftbox» → la caja de madera de vino, en la cava y a la luz de
   una vela: tablas con veta y clavos, marca a fuego con el monograma,
   asas de soga, racimo sobre la tapa, etiqueta de papel kraft con el pase,
   paja que asoma. Al abrir: la tapa se destraba y se levanta, suben los
   cuellos de las botellas entre la paja y la cámara entra a la caja.
   (Solo CSS: las clases .gift__* de intros.js; sin moño de regalo.)
   ===================================================================== */
html[data-theme="vendimia"] .inv-intro { --paper-base: #F4EAD8; --paper-ink: #2B1F1C; }
html[data-theme="vendimia"] .inv-intro--giftbox { background-color: var(--vd-noche); }
html[data-theme="vendimia"].is-intro .inv-burst { display: none !important; }
html[data-theme="vendimia"] .inv-intro--giftbox .inv-intro__bg {
  background-image:
    radial-gradient(52% 30% at 50% 50%, rgba(255, 190, 110, .2), rgba(255, 190, 110, 0) 72%),
    radial-gradient(130% 92% at 50% 44%, transparent 38%, rgba(8, 3, 4, .78) 100%),
    linear-gradient(180deg, #33201F 0%, #261719 56%, #1A0F11 100%);
}
/* la cava: bóveda de ladrillo y barricas grabadas en dorado */
html[data-theme="vendimia"] .inv-intro--giftbox .inv-intro__bg::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: var(--vd-cellar) center 30% / auto 100% no-repeat; opacity: .22;
}
html[data-theme="vendimia"] .inv-intro--giftbox .inv-intro__eyebrow {
  display: flex; align-items: center; gap: 14px;
  font-family: var(--font-body); font-weight: 500; font-size: .7rem; letter-spacing: .38em; color: var(--vd-oro-claro);
}
html[data-theme="vendimia"] .inv-intro--giftbox .inv-intro__eyebrow::before,
html[data-theme="vendimia"] .inv-intro--giftbox .inv-intro__eyebrow::after {
  content: ''; width: 30px; height: 1px; background: linear-gradient(90deg, rgba(226, 198, 138, 0), rgba(226, 198, 138, .8));
}
html[data-theme="vendimia"] .inv-intro--giftbox .inv-intro__eyebrow::after { transform: scaleX(-1); }
@media (max-width: 380px) {
  html[data-theme="vendimia"] .inv-intro--giftbox .inv-intro__eyebrow { gap: 9px; letter-spacing: .3em; white-space: nowrap; }
  html[data-theme="vendimia"] .inv-intro--giftbox .inv-intro__eyebrow::before,
  html[data-theme="vendimia"] .inv-intro--giftbox .inv-intro__eyebrow::after { width: 18px; }
}
html[data-theme="vendimia"] .inv-intro__cta {
  border-radius: 2px; min-height: 52px; padding: 0 26px 0 22px;
  background: #F3E6CF; color: #2B1F1C;
  font-family: var(--font-body); font-weight: 600; font-size: .74rem; letter-spacing: .22em; text-transform: uppercase;
  box-shadow: inset 0 0 0 3px #F3E6CF, inset 0 0 0 4px rgba(176, 138, 74, .75), 0 16px 30px -14px rgba(0, 0, 0, .85);
}
html[data-theme="vendimia"] .inv-intro__cta:focus-visible { outline-color: var(--vd-oro-claro); }
html[data-theme="vendimia"] .inv-intro__cta-ring { animation-name: vdCtaRing; }
@keyframes vdCtaRing {
  0% { box-shadow: 0 0 0 0 rgba(226, 198, 138, .5); }
  80%, 100% { box-shadow: 0 0 0 15px rgba(226, 198, 138, 0); }
}

/* — escena: la caja sobre una mesa de roble — */
html[data-theme="vendimia"] .gift {
  --w: min(80vw, 330px, 42vh);
  z-index: 0; width: var(--w); height: calc(var(--w) * 1.02); margin-top: 0; top: 4.5vh;
}
/* mesa: tablón de roble que se pierde hacia los bordes */
html[data-theme="vendimia"] .gift::before {
  content: ''; position: absolute; left: 50%; top: 83%; z-index: -2; width: 100vw; height: 70vh; pointer-events: none;
  transform: translateX(-50%);
  background:
    radial-gradient(46% 30% at 50% 0%, rgba(255, 196, 120, .26), transparent 72%),
    linear-gradient(90deg, rgba(12, 5, 3, .7), rgba(12, 5, 3, 0) 30%, rgba(12, 5, 3, 0) 70%, rgba(12, 5, 3, .7)),
    linear-gradient(180deg, rgba(255, 220, 170, .22) 0, rgba(255, 220, 170, 0) 3px),
    linear-gradient(180deg, transparent 0, rgba(10, 4, 2, .6) 55%),
    var(--vd-wood),
    linear-gradient(180deg, #5E3D26, #3D2516 40%, #24150C);
  background-size: 100% 100%, 100% 100%, 100% 100%, 100% 100%, 460px 150px, 100% 100%;
}
/* vela en candelero de bronce, a la izquierda */
html[data-theme="vendimia"] .gift::after {
  content: ''; position: absolute; left: -11%; bottom: 12%; width: 12%; aspect-ratio: 60 / 220; pointer-events: none;
  background: var(--vd-candle) center bottom / contain no-repeat;
  transition: opacity .5s ease;
}
/* llama (los rayos del regalo pasan a ser la vela) y su halo */
html[data-theme="vendimia"] .gift__rays {
  left: -8%; top: 34.6%; width: 6%; height: auto; aspect-ratio: 40 / 100;
  border-radius: 0; background: none; -webkit-mask: none; mask: none;
  transform: none; opacity: 1; animation: none;
}
html[data-theme="vendimia"] .gift__rays::before {
  content: ''; position: absolute; left: 50%; top: 62%; width: 1700%; aspect-ratio: 1; border-radius: 50%; pointer-events: none;
  transform: translate(-50%, -50%);
  background: radial-gradient(closest-side, rgba(255, 196, 112, .34), rgba(255, 168, 86, .13) 34%, rgba(255, 160, 80, .04) 58%, rgba(255, 160, 80, 0) 76%);
  animation: vdGlow 3.6s ease-in-out infinite;
}
html[data-theme="vendimia"] .gift__rays::after {
  content: ''; position: absolute; inset: 0; transform-origin: 50% 82%;
  background: var(--vd-flame) center / contain no-repeat;
  animation: vdFlame 2.4s ease-in-out infinite;
}
@keyframes vdFlame {
  0%, 100% { transform: scale(1, 1) rotate(0); opacity: 1; }
  22% { transform: scale(.96, 1.08) rotate(-2deg); }
  41% { transform: scale(1.03, .95) rotate(1.5deg); opacity: .9; }
  63% { transform: scale(.97, 1.05) rotate(-1deg); }
  82% { transform: scale(1.02, .97) rotate(2deg); opacity: .95; }
}
@keyframes vdGlow { 0%, 100% { opacity: .9; } 50% { opacity: 1; transform: translate(-50%, -50%) scale(1.05); } }
html[data-theme="vendimia"] .gift__shadow {
  left: 0; right: 0; bottom: 12%; height: 9%; z-index: -1;
  background: radial-gradient(closest-side, rgba(0, 0, 0, .62), rgba(0, 0, 0, 0));
  animation: none;
}
/* reflejo de la vela en la mesa encerada y el de la caja, que se pierden hacia adelante */
html[data-theme="vendimia"] .gift__shadow::before,
html[data-theme="vendimia"] .gift__shadow::after { content: ''; position: absolute; pointer-events: none; }
html[data-theme="vendimia"] .gift__shadow::before {
  left: calc(var(--w) * -.16); top: 70%; width: calc(var(--w) * .22); height: calc(var(--w) * .62);
  background:
    radial-gradient(18% 46% at 50% 4%, rgba(255, 214, 140, .5), rgba(255, 190, 110, 0) 100%),
    radial-gradient(48% 30% at 50% 0%, rgba(255, 200, 120, .2), rgba(255, 190, 110, 0) 100%);
}
html[data-theme="vendimia"] .gift__shadow::after {
  left: 6%; right: 6%; top: 80%; height: calc(var(--w) * .2);
  background: linear-gradient(180deg, rgba(196, 150, 100, .16), rgba(196, 150, 100, 0));
  -webkit-mask: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent); mask: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent);
}
html[data-theme="vendimia"] .gift__float { filter: none; }
html[data-theme="vendimia"] .inv-intro.is-ready .gift__float { animation: none; }

/* — la caja: frente de tres tablas con veta, testas oscuras y clavos — */
html[data-theme="vendimia"] .gift__box {
  left: 4%; right: 4%; bottom: 16%; height: 46%; border-radius: 2px;
  background:
    radial-gradient(circle at 3.2% 17%, #24140A 1.5px, rgba(255, 228, 186, .45) 2.1px, transparent 2.7px),
    radial-gradient(circle at 3.2% 50%, #24140A 1.5px, rgba(255, 228, 186, .45) 2.1px, transparent 2.7px),
    radial-gradient(circle at 3.2% 83%, #24140A 1.5px, rgba(255, 228, 186, .45) 2.1px, transparent 2.7px),
    radial-gradient(circle at 96.8% 17%, #24140A 1.5px, rgba(255, 228, 186, .4) 2.1px, transparent 2.7px),
    radial-gradient(circle at 96.8% 50%, #24140A 1.5px, rgba(255, 228, 186, .4) 2.1px, transparent 2.7px),
    radial-gradient(circle at 96.8% 83%, #24140A 1.5px, rgba(255, 228, 186, .4) 2.1px, transparent 2.7px),
    linear-gradient(180deg, transparent 32.4%, rgba(28, 14, 6, .9) 32.4% 33.4%, rgba(255, 228, 186, .2) 33.4%, transparent 34.6%,
      transparent 65.8%, rgba(28, 14, 6, .9) 65.8% 66.8%, rgba(255, 228, 186, .2) 66.8%, transparent 68%),
    linear-gradient(90deg, rgba(36, 18, 8, .5), rgba(36, 18, 8, .06) 6.5%, transparent 9%, transparent 91%, rgba(36, 18, 8, .1) 93.5%, rgba(36, 18, 8, .58)),
    radial-gradient(90% 130% at 0% 20%, rgba(255, 200, 120, .26), transparent 62%),
    var(--vd-wood),
    linear-gradient(180deg, #C59769, #B4885B 33%, #C0936A 33%, #AE8256 66%, #BC8F62 66%, #A77B4F);
  background-size: 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 460px 150px, 100% 100%;
  box-shadow: inset 0 -14px 20px rgba(30, 14, 6, .38), inset 0 1px 0 rgba(255, 232, 196, .3), 0 22px 26px -14px rgba(0, 0, 0, .7);
}
/* paja que asoma por el borde (delante) */
html[data-theme="vendimia"] .gift__box::before {
  inset: auto -1% auto -1%; top: -5%; height: 30%; border-radius: 0; opacity: 1;
  background: var(--vd-straw) center / 100% 100% no-repeat;
}
/* luz cálida que sale de la caja al abrirla */
html[data-theme="vendimia"] .gift__box::after {
  left: 4%; right: 4%; top: -46%; height: 70%;
  background: radial-gradient(closest-side, rgba(255, 230, 168, .7), rgba(255, 196, 112, .3) 48%, rgba(255, 190, 110, 0));
}
html[data-theme="vendimia"] .gift__band,
html[data-theme="vendimia"] .gift__loop,
html[data-theme="vendimia"] .gift__knot { display: none; }
/* marca a fuego: cartela ovalada y monograma chamuscado */
html[data-theme="vendimia"] .gift__mono {
  top: 50%; width: 54%; height: auto; aspect-ratio: 200 / 140; border-radius: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--font-display); font-size: calc(var(--w) * .088); letter-spacing: .03em; color: rgba(50, 24, 10, .92);
  background:
    var(--vd-brand) center / 100% 100% no-repeat,
    radial-gradient(closest-side, rgba(72, 36, 14, .34), rgba(72, 36, 14, .14) 58%, rgba(72, 36, 14, 0));
  box-shadow: none;
  text-shadow: 0 0 1px rgba(58, 26, 10, .75), 0 0 7px rgba(110, 54, 20, .5), 0 1px 0 rgba(255, 226, 182, .28);
}
/* asas de soga de yute */
html[data-theme="vendimia"] .gift__tail {
  top: 18%; width: 9%; height: 52%; z-index: 0; opacity: 1; clip-path: none;
  background: var(--vd-rope) center / contain no-repeat;
}
html[data-theme="vendimia"] .gift__tail.is-l { left: -7.6%; transform: scaleX(-1); }
html[data-theme="vendimia"] .gift__tail.is-r { right: -7.6%; }

/* — la tapa: tabla con su cara superior en perspectiva, clavos y racimo encima — */
html[data-theme="vendimia"] .gift__lid {
  left: 1.5%; right: 1.5%; bottom: 61%; height: 9.5%; border-radius: 2px;
  background:
    radial-gradient(circle at 2.6% 52%, #24140A 1.5px, rgba(255, 228, 186, .45) 2.1px, transparent 2.7px),
    radial-gradient(circle at 97.4% 52%, #24140A 1.5px, rgba(255, 228, 186, .4) 2.1px, transparent 2.7px),
    linear-gradient(180deg, rgba(255, 236, 200, .32), rgba(255, 236, 200, 0) 34%, rgba(0, 0, 0, .3)),
    radial-gradient(80% 160% at 0% 0%, rgba(255, 200, 120, .24), transparent 60%),
    var(--vd-wood),
    linear-gradient(90deg, #8A6140, #B98D5F 30%, #C69A6A 52%, #AF8354 76%, #7C5536);
  background-size: 100% 100%, 100% 100%, 100% 100%, 100% 100%, 460px 150px, 100% 100%;
  box-shadow: 0 7px 10px -5px rgba(0, 0, 0, .62), inset 0 1px 0 rgba(255, 236, 200, .4);
}
html[data-theme="vendimia"] .gift__lid::before {
  content: ''; position: absolute; left: 1%; right: 1%; bottom: 100%; height: 46%;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, .18), rgba(255, 230, 190, .16)),
    var(--vd-wood),
    linear-gradient(90deg, #9A7048, #CDA273 45%, #B98C5C);
  background-size: 100% 100%, 460px 150px, 100% 100%;
  clip-path: polygon(2.5% 0, 97.5% 0, 100% 100%, 0 100%);
}
html[data-theme="vendimia"] .gift__bow {
  left: 3%; bottom: 74%; width: 50%; height: auto; aspect-ratio: 220 / 100;
  transform: rotate(-2deg);
  background: var(--vd-lid-grapes) center / contain no-repeat;
}

/* — interior: pared del fondo, cuellos de botella y paja (detrás del frente) — */
html[data-theme="vendimia"] .gift__float::before {
  content: ''; position: absolute; left: 5%; right: 5%; top: 8%; aspect-ratio: 300 / 120; pointer-events: none;
  background: var(--vd-inside) center / 100% 100% no-repeat;
  transform: translateY(62%); opacity: .002;
  transition: transform 1s var(--ease) .1s, opacity .35s ease .1s;
}
/* virutas y hojitas que saltan al abrir */
html[data-theme="vendimia"] .gift__float::after {
  content: ''; position: absolute; left: -4%; right: -4%; top: 0; aspect-ratio: 300 / 140; pointer-events: none;
  background: var(--vd-bits) center / 100% 100% no-repeat;
  opacity: .002;
}

/* — etiqueta de papel kraft colgada de la soga, con el pase o los nombres — */
html[data-theme="vendimia"] .gift__tag {
  right: -10%; top: 63%; width: 40%; padding: 26px 8px 13px; z-index: 4;
  clip-path: none; border-radius: 3px 3px 5px 5px;
  color: #3A2214;
  background:
    radial-gradient(circle at 50% 13px, #F3E6CF 3.6px, #8E6A3C 4px, #B48C59 6.6px, transparent 7.2px),
    linear-gradient(160deg, rgba(255, 240, 210, .4), rgba(255, 240, 210, 0) 45%),
    var(--vd-grain),
    linear-gradient(180deg, #D2B07C, #C29D69);
  box-shadow: 0 1px 0 rgba(255, 240, 210, .5) inset, 0 12px 16px -8px rgba(0, 0, 0, .65);
  transform-origin: 50% 0; transform: rotate(4deg);
}
html[data-theme="vendimia"] .inv-intro.is-ready .gift__tag { animation: vdTag 4.6s var(--ease-io) infinite; }
@keyframes vdTag { 0%, 100% { transform: rotate(4deg); } 50% { transform: rotate(-1.5deg); } }
/* cordel que pasa por el ojal y sube a la soga */
html[data-theme="vendimia"] .gift__tag::before {
  content: ''; position: absolute; left: calc(50% - 7px); top: -22px; width: 14px; height: 40px;
  border: 1.7px solid #CDAE74; border-bottom-color: transparent; border-radius: 50% 50% 40% 40%;
  transform: rotate(-14deg);
}
html[data-theme="vendimia"] .gift__tag-hole { display: none; }
html[data-theme="vendimia"] .gift__tag-label {
  padding: 0; opacity: 1; font-family: var(--font-body); font-weight: 600; font-size: .56rem; letter-spacing: .32em; color: #46290F;
}
html[data-theme="vendimia"] .gift__tag-name {
  padding: 0; margin-top: 2px; font-family: var(--font-script); font-size: calc(var(--w) * .1); line-height: 1.02; color: #2E1A0E;
}

/* — apertura — */
/* s1: la tapa se destraba dos veces (como con la palanca) */
html[data-theme="vendimia"] .gift.s1 .gift__float { animation: vdNudge .62s var(--ease-io) both; }
@keyframes vdNudge { 0%, 100% { transform: none; } 30% { transform: translateY(1.5px); } 62% { transform: translateY(-2px); } }
html[data-theme="vendimia"] .gift.s1 .gift__lid { animation: vdPry .62s var(--ease-io) both; }
@keyframes vdPry {
  0%, 100% { transform: none; }
  18% { transform: translateY(-16%) rotate(-1.4deg); }
  34% { transform: translateY(-3%); }
  58% { transform: translateY(-26%) rotate(1.3deg); }
  78% { transform: translateY(-8%) rotate(.3deg); }
}
/* s2: la tapa se levanta y se va; suben los cuellos de botella entre la paja, sale luz y salta la viruta */
html[data-theme="vendimia"] .gift.s2 .gift__float { animation: none; }
html[data-theme="vendimia"] .gift.s2 .gift__lid { animation: vdLid 1.15s cubic-bezier(.3, .6, .25, 1) forwards; }
@keyframes vdLid {
  0% { transform: translateY(-8%); }
  24% { transform: translate(-1%, -160%) rotate(-3deg); }
  56% { transform: translate(16%, -340%) rotate(-10deg); opacity: 1; }
  100% { transform: translate(66%, -560%) rotate(-19deg) scale(.92); opacity: 0; }
}
html[data-theme="vendimia"] .gift.s2 .gift__float::before { transform: none; opacity: 1; }
html[data-theme="vendimia"] .gift.s2 .gift__float::after { animation: vdBits 1.3s var(--ease) .12s both; }
@keyframes vdBits {
  0% { opacity: 0; transform: translateY(34%) scale(.7); }
  22% { opacity: 1; }
  100% { opacity: 0; transform: translateY(-34%) scale(1.18); }
}
html[data-theme="vendimia"] .gift.s2 .gift__box::after { opacity: 1; transform: scale(1.25); }
html[data-theme="vendimia"] .gift.s2 .gift__tag { animation: none; transition: transform 1s var(--spring); transform: rotate(13deg); }
/* s3: la cámara sube sobre el borde y mira hacia adentro: la caja baja (solo translate, sin escalar: así no se
   vuelve a pintar en gama media) y la luz del interior inunda la pantalla; el destello común sigue sin corte.
   La vela no se apaga y la mesa y la cava quedan quietas. */
html[data-theme="vendimia"] .gift.s3 .gift__rays { opacity: 1; }
html[data-theme="vendimia"] .gift.s3 .gift__float {
  transform-origin: 50% 40%; transform: translateY(16%); opacity: 1;
  transition: transform .95s cubic-bezier(.55, .02, .8, .4);
}
html[data-theme="vendimia"] .gift.s3 .gift__box::after { opacity: 1; }
html[data-theme="vendimia"] .gift.s3 .gift__float::after { opacity: 0; }
/* al final la luz tapa la caja: el destello y el hero llegan sobre luz, sin doble imagen. Es una capa del tamaño
   de la pantalla, lista desde el reposo (con :has; sin :has llega con el destello) */
html[data-theme="vendimia"] .inv-intro--giftbox .inv-intro__scene::after {
  content: ''; position: absolute; inset: -10% -30%; pointer-events: none;
  background: radial-gradient(closest-side at 50% 46%, #FFF4DE 0%, rgba(255, 238, 204, .97) 50%, rgba(255, 226, 172, .9) 80%, rgba(255, 214, 150, .78) 100%);
  opacity: 0; will-change: opacity;
}
html[data-theme="vendimia"] .inv-intro--giftbox .inv-intro__scene:has(.gift.s3)::after { animation: vdVeil .5s ease .36s both; }
html[data-theme="vendimia"] .inv-intro--giftbox.is-flash .inv-intro__scene::after { opacity: 1; transition: opacity .3s ease; }
@keyframes vdVeil { from { opacity: 0; } to { opacity: 1; } }
/* capas preparadas en reposo: el toque, la tapa y el avance de la caja no esperan a pintar (gama media) */
html[data-theme="vendimia"] .inv-intro.is-ready .gift__float,
html[data-theme="vendimia"] .inv-intro.is-ready .gift__lid { will-change: transform; }
html[data-theme="vendimia"] .gift__box::after,
html[data-theme="vendimia"] .gift__float::before,
html[data-theme="vendimia"] .gift__float::after { will-change: transform, opacity; }
/* el destello final con la luz de la vela (oro cálido, sin el arcoíris de la marca) */
html[data-theme="vendimia"] .inv-intro__bloom { background: radial-gradient(circle, #FFFBF0 0%, rgba(255, 228, 176, .92) 36%, rgba(255, 196, 120, 0) 70%); }
html[data-theme="vendimia"] .inv-intro__flash-spark { filter: drop-shadow(0 0 18px rgba(255, 222, 168, .95)) drop-shadow(0 0 40px rgba(176, 138, 74, .6)); }
html[data-theme="vendimia"] .inv-intro__flash-spark stop:nth-child(1) { stop-color: #FFFFFF; }
html[data-theme="vendimia"] .inv-intro__flash-spark stop:nth-child(2) { stop-color: #F2D293; }
html[data-theme="vendimia"] .inv-intro__flash-spark stop:nth-child(3) { stop-color: #C0894A; }

/* escritorio: caja más grande, centrada en la cava */
@media (min-width: 700px) {
  html[data-theme="vendimia"] .gift { --w: min(44vh, 400px); top: 3vh; }
}
/* movimiento reducido: la escena quieta queda completa (vela encendida, sin parpadeo) */
@media (prefers-reduced-motion: reduce) {
  html[data-theme="vendimia"] .gift__rays { display: block; }
  html[data-theme="vendimia"] .gift__rays::before,
  html[data-theme="vendimia"] .gift__rays::after,
  html[data-theme="vendimia"] .inv-intro.is-ready .gift__tag { animation: none; }
}

/* =====================================================================
   SECCIONES
   ===================================================================== */
html[data-theme="vendimia"] .inv-card { padding: 32px 24px; }

/* insignia reutilizable: medallón de roble con la marca a fuego */
html[data-theme="vendimia"] .inv-event__icon,
html[data-theme="vendimia"] .inv-event.has-img .inv-event__icon,
html[data-theme="vendimia"] .inv-gift__icon,
html[data-theme="vendimia"] .inv-dress__icon,
html[data-theme="vendimia"] .inv-note__icon,
html[data-theme="vendimia"] .inv-hotel__icon {
  color: #3A1F10; border: 0; border-radius: 50%;
  background: radial-gradient(circle at 36% 30%, #E6C99A, #C9A06E 55%, #A97C4F);
  box-shadow: 0 0 0 3px #F3E6CF, 0 0 0 4px color-mix(in srgb, var(--vd-oro) 70%, transparent), inset 0 0 0 5px rgba(80, 44, 20, .18), 0 10px 16px -8px rgba(60, 30, 14, .55);
}

/* quote — la cita bajo dos copas que brindan */
html[data-theme="vendimia"] .inv-section--quote { padding-block: clamp(84px, 20vw, 118px); }
html[data-theme="vendimia"] .inv-quote { padding-top: 7rem; max-width: 24rem; }
html[data-theme="vendimia"] .inv-quote__mark {
  top: 0; width: 140px; height: 112px; font-size: 0; opacity: 1;
  background: var(--vd-copas) center / contain no-repeat;
}
html[data-theme="vendimia"] .reveal.is-in .inv-quote__mark { animation: vdToast 1.2s var(--ease) .2s both; }
@keyframes vdToast { from { opacity: 0; transform: translateX(-50%) translateY(14px) scale(.9); } to { opacity: 1; transform: translateX(-50%); } }
html[data-theme="vendimia"] .inv-quote__text p {
  font-family: var(--font-display); font-style: normal; font-size: clamp(1.7rem, 7.6vw, 2.1rem); line-height: 1.28; color: var(--ink);
}
html[data-theme="vendimia"] .inv-quote__author { font-weight: 600; font-size: .68rem; letter-spacing: .3em; color: var(--accent); }
html[data-theme="vendimia"] .inv-quote__author::before { width: 64px; height: 4px; background: none; border-block: 1px solid var(--vd-hair); }

/* countdown — cuatro fondos de barrica con su aro de hierro; la unidad va debajo */
html[data-theme="vendimia"] .inv-countdown { gap: clamp(12px, 4.4vw, 22px); max-width: 360px; padding: 6px 6px 0; }
html[data-theme="vendimia"] .inv-countdown__unit {
  justify-content: flex-start; gap: 12px; padding: 0; border: 0; border-radius: 0; overflow: visible;
  background: none; box-shadow: none;
}
html[data-theme="vendimia"] .inv-countdown__unit::before {
  display: block; left: 0; right: 0; top: 0; height: auto; aspect-ratio: 1; border-radius: 50%; opacity: 1;
  background:
    radial-gradient(circle, transparent 60%, rgba(52, 28, 14, .45) 61% 62.5%, transparent 63.5%),
    repeating-linear-gradient(90deg, rgba(60, 34, 18, 0) 0 15.6%, rgba(60, 34, 18, .28) 15.6% 16.6%),
    radial-gradient(circle at 36% 28%, #EAD2AA, #D0AC7E 58%, #B48A5E);
  box-shadow: 0 0 0 4px #4E4038, 0 0 0 5px #8C7B6D, inset 0 0 0 5px rgba(70, 40, 20, .3), inset 0 -9px 16px rgba(60, 30, 14, .28), 0 14px 22px -12px rgba(40, 20, 10, .6);
}
html[data-theme="vendimia"] .inv-countdown__num {
  position: relative; width: 100%; aspect-ratio: 1; display: grid; place-items: center;
  font-family: var(--font-display); font-weight: 400; font-size: clamp(1.7rem, 7.4vw, 2.3rem); color: #2B1A12;
}
html[data-theme="vendimia"] .inv-countdown__lbl { font-weight: 600; font-size: .64rem; letter-spacing: .26em; color: var(--ink-soft); }
html[data-theme="vendimia"] .inv-countdown__date {
  margin-top: 1.8rem; font-family: var(--font-body); font-style: italic; font-size: 1.1rem; letter-spacing: .04em; text-transform: none; color: var(--ink-soft);
}
html[data-theme="vendimia"] .inv-countdown__done { font-family: var(--font-script); font-style: normal; font-size: 3rem; }

/* story — la viñeta con filetes cóncavos y la carta con capitular */
html[data-theme="vendimia"] .inv-story__figure { width: min(74%, 290px); margin-bottom: 2.8rem; }
html[data-theme="vendimia"] .inv-story__figure img {
  --cc: 16px; border-radius: 0; box-shadow: none;
  -webkit-mask:
    radial-gradient(circle at 0 0, #0000 var(--cc), #000 calc(var(--cc) + .5px)) 0 0 / 51% 51% no-repeat,
    radial-gradient(circle at 100% 0, #0000 var(--cc), #000 calc(var(--cc) + .5px)) 100% 0 / 51% 51% no-repeat,
    radial-gradient(circle at 0 100%, #0000 var(--cc), #000 calc(var(--cc) + .5px)) 0 100% / 51% 51% no-repeat,
    radial-gradient(circle at 100% 100%, #0000 var(--cc), #000 calc(var(--cc) + .5px)) 100% 100% / 51% 51% no-repeat;
  mask:
    radial-gradient(circle at 0 0, #0000 var(--cc), #000 calc(var(--cc) + .5px)) 0 0 / 51% 51% no-repeat,
    radial-gradient(circle at 100% 0, #0000 var(--cc), #000 calc(var(--cc) + .5px)) 100% 0 / 51% 51% no-repeat,
    radial-gradient(circle at 0 100%, #0000 var(--cc), #000 calc(var(--cc) + .5px)) 0 100% / 51% 51% no-repeat,
    radial-gradient(circle at 100% 100%, #0000 var(--cc), #000 calc(var(--cc) + .5px)) 100% 100% / 51% 51% no-repeat;
}
html[data-theme="vendimia"] .inv-story__figure::after {
  inset: -13px; border-radius: 0; border: 24px solid transparent; border-image: var(--vd-orla-foto) 40 / 24px stretch;
}
html[data-theme="vendimia"] .inv-story__glow {
  inset: auto -26% -16% auto; z-index: 2; width: 54%; aspect-ratio: 240 / 280;
  background: var(--vd-vine) left top / contain no-repeat; transform: scale(-1, -1);
}
html[data-theme="vendimia"] .inv-story__body .inv-text { text-align: left; color: #4A3A32; hyphens: auto; -webkit-hyphens: auto; }
html[data-theme="vendimia"] .inv-story__body .inv-text:first-child::first-letter { font-size: 3.7em; line-height: .8; padding: .08em .12em 0 0; }
html[data-theme="vendimia"] .inv-story__sig { font-size: 3rem; margin-top: 1.8rem; }
html[data-theme="vendimia"] .inv-story__sig::after {
  content: ''; display: block; width: 150px; height: 30px; margin: .4rem auto 0; background: var(--vd-sprig) center / contain no-repeat;
}

/* events — etiquetas con la foto dentro de la orla */
html[data-theme="vendimia"] .inv-events { gap: 30px; }
html[data-theme="vendimia"] .inv-event { padding: 0 0 34px; }
html[data-theme="vendimia"] .inv-event:not(.has-img) { padding-top: 38px; }
html[data-theme="vendimia"] .inv-event__media { margin: 17px 17px 0; aspect-ratio: 16 / 10; border-radius: 1px; }
html[data-theme="vendimia"] .inv-event__media::after {
  content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, transparent 55%, rgba(40, 20, 12, .3));
}
html[data-theme="vendimia"] .inv-event__icon { width: 60px; height: 60px; position: relative; z-index: 2; }
html[data-theme="vendimia"] .inv-event__name { font-family: var(--font-display); font-weight: 400; font-size: 1.62rem; line-height: 1.2; padding: 0 26px; }
html[data-theme="vendimia"] .inv-event__meta { font-size: .98rem; margin-inline: 28px; }
html[data-theme="vendimia"] .inv-event__meta li:first-child span { font-family: var(--font-display); font-size: 1.2rem; color: var(--ink); }
html[data-theme="vendimia"] .inv-event__actions { position: relative; z-index: 2; margin-inline: 26px; }

/* timeline — un sarmiento que baja con uvas por hito */
html[data-theme="vendimia"] .inv-timeline::before {
  left: 8px; width: 40px; top: 18px; bottom: 18px;
  background: var(--vd-stem) center top / 40px 150px repeat-y;
}
html[data-theme="vendimia"] .inv-timeline__item { grid-template-columns: 56px 1fr; gap: 16px; }
html[data-theme="vendimia"] .inv-section .inv-timeline__dot,
html[data-theme="vendimia"] .inv-section.is-alt .inv-timeline__dot {
  width: 56px; height: 56px; color: #F6E9D6; border: 0;
  background: radial-gradient(circle at 34% 28%, #9C5A7E, #5A2448 48%, #2E0F24 100%);
  box-shadow: inset 0 2px 3px rgba(255, 255, 255, .25), inset 0 -6px 10px rgba(0, 0, 0, .35), 0 0 0 5px var(--bg), 0 10px 16px -8px rgba(60, 20, 40, .6);
}
html[data-theme="vendimia"] .inv-section.is-alt .inv-timeline__dot { box-shadow: inset 0 2px 3px rgba(255, 255, 255, .25), inset 0 -6px 10px rgba(0, 0, 0, .35), 0 0 0 5px var(--bg-alt), 0 10px 16px -8px rgba(60, 20, 40, .6); }
html[data-theme="vendimia"] .inv-timeline__dot .inv-icon { width: 22px; height: 22px; }
html[data-theme="vendimia"] .inv-timeline__time { font-weight: 600; font-size: .7rem; letter-spacing: .24em; color: var(--accent); }
html[data-theme="vendimia"] .inv-timeline__title { font-weight: 400; font-size: 1.38rem; }
html[data-theme="vendimia"] .inv-timeline__text { font-size: .98rem; }

/* dresscode — ficha de cata: muestras de color como gotas de vino */
html[data-theme="vendimia"] .inv-dress {
  position: relative; padding: 40px 24px 36px;
  background-color: var(--surface); background-image: var(--vd-grain); border-radius: 2px; box-shadow: var(--shadow);
}
html[data-theme="vendimia"] .inv-dress::after {
  content: ''; position: absolute; inset: 5px; pointer-events: none;
  border: 20px solid transparent; border-image: var(--vd-orla-card) 40 / 20px stretch;
}
html[data-theme="vendimia"] .inv-dress__icon { width: 60px; height: 60px; }
html[data-theme="vendimia"] .inv-dress__code { font-family: var(--font-display); font-size: clamp(2rem, 9vw, 2.5rem); color: var(--accent); }
html[data-theme="vendimia"] .inv-dress__label { font-weight: 600; font-size: .62rem; letter-spacing: .3em; color: var(--ink-soft); }
html[data-theme="vendimia"] .inv-chip {
  background: transparent; border-color: color-mix(in srgb, var(--vd-oro) 50%, transparent); border-radius: 2px;
  font-size: .9rem; padding-right: 15px; position: relative; z-index: 2;
}
html[data-theme="vendimia"] .inv-chip__swatch {
  width: 24px; height: 27px; border-radius: 50% 50% 50% 50% / 62% 62% 40% 40%;
  box-shadow: inset 2px 3px 3px rgba(255, 255, 255, .3), inset 0 -4px 6px rgba(0, 0, 0, .3), 0 2px 5px rgba(0, 0, 0, .18);
}
html[data-theme="vendimia"] .inv-chip--avoid { padding-left: 13px; }

/* gallery — copias con orla, como etiquetas de una colección */
html[data-theme="vendimia"] .inv-gallery__track { gap: 16px; }
html[data-theme="vendimia"] .inv-gallery__track .inv-gallery__item {
  padding: 11px; border-radius: 1px; overflow: visible;
  background-color: var(--surface); background-image: var(--vd-grain);
  box-shadow: 0 1px 2px rgba(60, 36, 20, .08), 0 26px 40px -28px rgba(60, 36, 20, .6);
}
html[data-theme="vendimia"] .inv-gallery__track .inv-gallery__item::after {
  content: ''; position: absolute; inset: 3px; pointer-events: none;
  border: 18px solid transparent; border-image: var(--vd-orla-foto) 40 / 18px stretch;
}
html[data-theme="vendimia"] .inv-gallery__item img { border-radius: 0; }
html[data-theme="vendimia"] .inv-gallery__dots span { height: 5px; width: 5px; background: color-mix(in srgb, var(--vd-oro) 50%, transparent); }
html[data-theme="vendimia"] .inv-gallery__dots span.is-on { width: 26px; background: var(--accent); }
html[data-theme="vendimia"] .inv-gallery__nav { border-radius: 2px; color: var(--accent); border-color: color-mix(in srgb, var(--vd-oro) 55%, transparent); }

/* quiz — la botija de pisco preside la trivia */
html[data-theme="vendimia"] .inv-prize__spark { display: none; }
html[data-theme="vendimia"] .inv-game__badge {
  width: 80px; height: 126px; border-radius: 0; box-shadow: none; color: transparent;
  background: var(--vd-botija) center / contain no-repeat;
}
html[data-theme="vendimia"] .inv-game__badge .inv-icon { opacity: 0; }
html[data-theme="vendimia"] .inv-game__badge.is-done { color: var(--accent-ink); background: var(--accent); width: 68px; height: 68px; border-radius: 50%; }
html[data-theme="vendimia"] .inv-game__badge.is-done .inv-icon { opacity: 1; }
html[data-theme="vendimia"] .inv-game { padding: 36px 28px 32px; }
html[data-theme="vendimia"] .inv-game__lead { font-size: 1.02rem; }
html[data-theme="vendimia"] .inv-game__meta li { border-radius: 2px; background: transparent; border-color: color-mix(in srgb, var(--vd-oro) 50%, transparent); font-weight: 500; }
html[data-theme="vendimia"] .inv-game__stage > *, html[data-theme="vendimia"] .inv-game .inv-btn { position: relative; z-index: 2; }
html[data-theme="vendimia"] .inv-prize { border-radius: 2px; background: color-mix(in srgb, var(--vd-oro) 12%, var(--surface)); border-color: color-mix(in srgb, var(--vd-oro) 55%, transparent); }
html[data-theme="vendimia"] .inv-prize__icon { border-radius: 50%; }
html[data-theme="vendimia"] .inv-quiz__q { font-family: var(--font-display); font-weight: 400; }
html[data-theme="vendimia"] .inv-quiz__opt { border-radius: 2px; }
html[data-theme="vendimia"] .inv-quiz__letter { border-radius: 50%; font-family: var(--font-display); font-weight: 400; }
html[data-theme="vendimia"] .inv-quiz__bar { border-radius: 0; height: 6px; }

/* gifts */
html[data-theme="vendimia"] .inv-gifts { gap: 20px; }
html[data-theme="vendimia"] .inv-gift { padding: 30px 24px 28px; grid-template-columns: 50px 1fr; }
html[data-theme="vendimia"] .inv-gift__icon { width: 50px; height: 50px; }
html[data-theme="vendimia"] .inv-gift__title { font-weight: 400; font-size: 1.38rem; }
html[data-theme="vendimia"] .inv-gift__detail { font-size: .98rem; }
html[data-theme="vendimia"] .inv-gift__copy { border-radius: 1px; background: var(--bg); letter-spacing: .06em; font-size: clamp(.78rem, 3.6vw, .9rem); padding-inline: 10px; border: 1px dashed color-mix(in srgb, var(--vd-oro) 75%, transparent); }
html[data-theme="vendimia"] .inv-gift__actions, html[data-theme="vendimia"] .inv-gift__body { position: relative; z-index: 2; }
html[data-theme="vendimia"] .inv-gift__actions .inv-btn { min-height: 46px; font-size: .7rem; padding: .7em 1.1em; }

/* formularios (deseos, confirmación) */
html[data-theme="vendimia"] .inv-input { border-radius: 2px; border-width: 1px; background: color-mix(in srgb, var(--bg) 60%, #fff); font-family: var(--font-body); font-size: 1rem; }
html[data-theme="vendimia"] .inv-input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent); }
html[data-theme="vendimia"] .inv-field__label { font-weight: 600; letter-spacing: .14em; text-transform: uppercase; font-size: .66rem; }
html[data-theme="vendimia"] .inv-field__label small { text-transform: none; letter-spacing: 0; }
html[data-theme="vendimia"] .inv-field, html[data-theme="vendimia"] .inv-card .inv-btn, html[data-theme="vendimia"] .inv-card > * { position: relative; z-index: 2; }
html[data-theme="vendimia"] .inv-wishes__form, html[data-theme="vendimia"] .inv-rsvp__form { padding: 34px 26px 32px; }

/* wishes — tarjetas colgantes de papel kraft */
html[data-theme="vendimia"] .inv-wish {
  border-radius: 2px; border-color: color-mix(in srgb, var(--vd-oro) 40%, transparent);
  background-color: var(--surface); background-image: var(--vd-grain); box-shadow: 0 16px 30px -24px rgba(60, 36, 20, .6);
}
html[data-theme="vendimia"] .inv-wish:nth-child(odd) { transform: rotate(-.5deg); }
html[data-theme="vendimia"] .inv-wish:nth-child(even) { transform: rotate(.5deg); }
html[data-theme="vendimia"] .inv-wish:nth-child(3n + 2) { background-color: #EFE2CB; }
html[data-theme="vendimia"] .inv-wish::before { color: var(--vd-oro); }
html[data-theme="vendimia"] .inv-wish__msg p { font-family: var(--font-body); font-style: italic; font-size: 1.16rem; }

/* faq — la carta de vinos: filetes y renglones */
html[data-theme="vendimia"] .inv-faq { gap: 0; border-top: 1px solid color-mix(in srgb, var(--vd-oro) 60%, transparent); }
html[data-theme="vendimia"] .inv-faq__item { background: none; border: 0; border-radius: 0; box-shadow: none; border-bottom: 1px solid color-mix(in srgb, var(--vd-oro) 60%, transparent); }
html[data-theme="vendimia"] .inv-faq__item.is-open { box-shadow: none; }
html[data-theme="vendimia"] .inv-faq__q { font-weight: 400; font-size: 1.2rem; padding: 18px 2px; min-height: 66px; }
html[data-theme="vendimia"] .inv-faq__icon { width: 32px; height: 32px; background: transparent; color: var(--accent); border: 1px solid color-mix(in srgb, var(--vd-oro) 75%, transparent); }
html[data-theme="vendimia"] .inv-faq__item.is-open .inv-faq__icon { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
html[data-theme="vendimia"] .inv-faq__a p { padding: 0 2px 22px; font-size: 1rem; }

/* rsvp */
html[data-theme="vendimia"] .inv-rsvp__face { border-radius: 2px; border-width: 1px; background: color-mix(in srgb, var(--bg) 60%, #fff); }
html[data-theme="vendimia"] .inv-rsvp__face-ico .inv-sparkle path { fill: var(--vd-oro); }
/* «¡No me lo pierdo!» brinda con dos copas en vez del destello de la marca */
html[data-theme="vendimia"] .inv-rsvp__opt.is-yes .inv-rsvp__face-ico { background: var(--surface) var(--vd-copas) 50% 52% / 96% auto no-repeat; }
html[data-theme="vendimia"] .inv-rsvp__opt.is-yes .inv-rsvp__face-ico .inv-sparkle { opacity: 0; }
html[data-theme="vendimia"] .is-yes .inv-rsvp__radio:checked + .inv-rsvp__face .inv-rsvp__face-ico {
  transform: scale(1.14) rotate(-6deg); background-color: #FFF8EC; box-shadow: 0 0 0 1px var(--accent), 0 8px 16px -8px rgba(74, 20, 30, .6);
}
html[data-theme="vendimia"] .inv-wishes__spark { display: none; }
html[data-theme="vendimia"] .inv-rsvp__face-txt strong { font-family: var(--font-display); font-weight: 400; font-size: 1.2rem; }
html[data-theme="vendimia"] .inv-rsvp__radio:checked + .inv-rsvp__face { background: color-mix(in srgb, var(--accent) 7%, var(--surface)); }
html[data-theme="vendimia"] .inv-stepper, html[data-theme="vendimia"] .inv-stepper__btn { border-radius: 2px; border-width: 1px; }
html[data-theme="vendimia"] .inv-rsvp__badge { border-radius: 50%; background: radial-gradient(circle at 34% 28%, #9C5A7E, #5A2448 48%, #2E0F24); color: #F6E9D6; }
html[data-theme="vendimia"] .inv-rsvp__badge.is-no { background: var(--surface); color: var(--accent); }

/* divider — el valle en una cartela oval: hileras de parras hacia las dunas, el sol que baja y un huarango */
html[data-theme="vendimia"] .inv-section--divider { padding: clamp(30px, 9vw, 56px) var(--gutter); background-color: var(--bg); background-image: var(--vd-grain); }
html[data-theme="vendimia"] .inv-divider.has-ornament {
  height: auto; max-width: 460px; aspect-ratio: 600 / 224;
  background: var(--vd-paisaje) center / contain no-repeat;
  filter: drop-shadow(0 18px 18px rgba(60, 36, 20, .12));
}
html[data-theme="vendimia"] .inv-section--divider + .inv-section--divider .inv-divider { transform: scaleX(-1); }

/* pie — la cápsula de la botella: ciruela profunda, cimera dorada y firma */
html[data-theme="vendimia"] .inv-footer {
  --ink: #F3E6CF; --ink-soft: #DCC9AE; --line: rgba(243, 230, 207, .24); --accent: #E2C68A; --surface: rgba(255, 246, 230, .06);
  padding-top: 64px; color: var(--ink);
  background-color: #3A1A2E;
  background-image:
    radial-gradient(90% 60% at 50% 0%, rgba(176, 138, 74, .22), transparent 70%),
    linear-gradient(180deg, #4A2340, #2E1424 70%, #24101C),
    var(--vd-grain);
  background-blend-mode: normal;
}
html[data-theme="vendimia"] .inv-footer::before {
  content: ''; position: absolute; left: 14px; right: 14px; top: 12px; height: 5px; pointer-events: none;
  border-block: 1px solid rgba(226, 198, 138, .55);
}
html[data-theme="vendimia"] .inv-footer__orn {
  width: 120px; height: 96px; margin-bottom: 12px; color: transparent; fill: transparent;
  background: var(--vd-oro-claro);
  -webkit-mask: var(--vd-crest) center / contain no-repeat; mask: var(--vd-crest) center / contain no-repeat;
}
html[data-theme="vendimia"] .inv-footer__orn path { fill: transparent; }
html[data-theme="vendimia"] .inv-footer__text { font-size: 2.7rem; line-height: 1.16; color: #F3E6CF; text-wrap: balance; }
html[data-theme="vendimia"] .inv-footer__date { font-weight: 600; font-size: .7rem; letter-spacing: .34em; color: var(--vd-oro-claro); }

/* escritorio: dos sarmientos grabados en los márgenes, como en una lámina botánica (fijos, sin eventos) */
@media (min-width: 1100px) {
  html[data-theme="vendimia"] body.inv::before,
  html[data-theme="vendimia"] body.inv::after {
    content: ''; position: fixed; z-index: 0; width: 300px; aspect-ratio: 240 / 280; pointer-events: none;
    background: var(--vd-vine) center / contain no-repeat; opacity: .5;
  }
  html[data-theme="vendimia"] body.inv::before { top: 5vh; left: calc(50% - 280px - 330px); transform: rotate(-6deg); }
  html[data-theme="vendimia"] body.inv::after { bottom: 5vh; right: calc(50% - 280px - 330px); transform: scale(-1, -1) rotate(-6deg); }
  html[data-theme="vendimia"] .inv-page { z-index: 1; }
}

/* barra de acciones y hojas */
html[data-theme="vendimia"] .inv-actionbar { border-radius: 4px; background: color-mix(in srgb, var(--surface) 90%, transparent); border-color: color-mix(in srgb, var(--vd-oro) 40%, transparent); }
html[data-theme="vendimia"] .inv-actionbar__btn { border-radius: 2px; font-weight: 600; letter-spacing: .02em; }
html[data-theme="vendimia"] .inv-sheet__panel { background-color: var(--surface); background-image: var(--vd-grain); }
html[data-theme="vendimia"] .inv-sheet__opt { border-radius: 2px; border-width: 1px; }

/* movimiento reducido: la foto del hero sin barrido */
@media (prefers-reduced-motion: reduce) {
  html[data-theme="vendimia"] .inv-hero--framed .inv-hero__img { transform: none; transition: opacity .4s ease; }
  html[data-theme="vendimia"] .inv-hero--framed .inv-hero__media::before,
  html[data-theme="vendimia"] .inv-hero--framed .inv-hero__media::after,
  html[data-theme="vendimia"] .inv-hero--framed .inv-hero__shade { transition: none; }
}

/* modo accesible: el destello de la tarjeta simple también en oro viejo y merlot */
html[data-theme="vendimia"] .smp__spark stop:nth-child(1) { stop-color: #E2C68A; }
html[data-theme="vendimia"] .smp__spark stop:nth-child(2) { stop-color: #B08A4A; }
html[data-theme="vendimia"] .smp__spark stop:nth-child(3) { stop-color: #6B1F2E; }
