/* =====================================================================
   Inolvidia · tema «telar» — boho andino en el Valle Sagrado (demo boda-telar). Contrato §5 y §24.3.
   Idea: tarde de sol en el valle. La foto cuelga como un tapiz tejido (vara, cordel, cenefas, orillos, flecos) con
   flores secas y pampas sedosas; la apertura «polaroid» es una instantánea de algodón con orillo tejido y gancho de
   madera bajo el sol de la tarde. Dos mantas de color marcan el ritmo: la frase (terracota) y la galería (cacao).
   Cenefas INSPIRADAS en el tejido (rombos, escalonados, zigzag) en dosis justas: nada de chakana, Inti ni disfraces
   (el sol es un disco sin rostro ni rayos). Ilustraciones propias en data URI: tools/temas/telar.mjs.
   Contraste medido (qa/bodas24/boda-telar/revision/contraste.mjs): tinta ≥ 11,6:1 · suave #5E4130 ≥ 6,9:1 · acento
   #963F22 ≥ 5,1:1 sobre arena, barro claro y algodón; crema sobre #963F22 6,6:1; en la manta terracota la frase
   5,2:1 y el autor 4,7:1; en la manta cacao 6,1:1 o más. Terracota #A4492A y ocre #C99A3B solo decoran.
   Viste hijos BEM del motor (.inv-hero__shade, .pol__*, .inv-countdown__unit…): si cambian, cae al base.
   ===================================================================== */

:root {
  --bg: #F5ECDD;
  --bg-alt: #EDDDC3;
  --surface: #FBF6EC;
  --ink: #3A2418;
  --ink-soft: #5E4130;
  --accent: #963F22;
  --accent-2: #C99A3B;
  --accent-ink: #FFF9F0;
  --line: rgba(58, 36, 24, .15);
  --font-display: 'Young Serif', Georgia, 'Times New Roman', serif;
  --font-script: 'La Belle Aurore', 'Segoe Script', cursive;
  --font-body: 'Albert Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --radius: 10px;
  --shadow: 0 1px 2px rgba(58, 36, 24, .07), 0 22px 40px -28px rgba(58, 36, 24, .5);
  --hero-overlay: linear-gradient(180deg, rgba(40, 24, 14, .08), rgba(40, 24, 14, .12) 45%, rgba(40, 24, 14, .64));
  --hero-ink: #FFF9F0;
  --intro-bg: #F1DFC2;
  --intro-ink: #3A2418;
  --seal: #A4492A;
  --pattern: var(--tl-tela);
  --ornament: var(--tl-pieza);

  /* — propias del tema — */
  --tl-terracota: #A4492A;   /* marca: rellenos y cenefas */
  --tl-ocre: #C99A3B;
  --tl-ocre-texto: #8A651C;  /* ocre legible (4,5:1 sobre arena) */
  --tl-barro: #E8D3B4;
  --tl-cochinilla: #9E2B2B;
  --tl-anil: #2F3E6B;
  --tl-verde: #4E6B4A;
  --tl-algodon: #F1E5CF;
  --tl-arcilla: radial-gradient(circle at 34% 30%, #C76A42, #A4492A 55%, #7E3218);
}

/* @recursos:inicio — generado por tools/temas/telar.mjs (no editar a mano) */
html[data-theme="telar"] {
  --tl-cenefa: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 19' shape-rendering='crispEdges'%3E%3Crect width='20' height='19' fill='%23EFE3CD'/%3E%3Cpath fill='%233A2418' d='M0 0h1v1h-1zM0 18h1v1h-1zM1 0h1v1h-1zM1 18h1v1h-1zM2 0h1v1h-1zM2 18h1v1h-1zM3 0h1v1h-1zM3 18h1v1h-1zM4 0h1v1h-1zM4 18h1v1h-1zM5 0h1v1h-1zM5 18h1v1h-1zM6 0h1v1h-1zM6 18h1v1h-1zM7 0h1v1h-1zM7 18h1v1h-1zM8 0h1v1h-1zM8 18h1v1h-1zM9 0h1v1h-1zM9 18h1v1h-1zM10 0h1v1h-1zM10 18h1v1h-1zM11 0h1v1h-1zM11 18h1v1h-1zM12 0h1v1h-1zM12 18h1v1h-1zM13 0h1v1h-1zM13 18h1v1h-1zM14 0h1v1h-1zM14 18h1v1h-1zM15 0h1v1h-1zM15 18h1v1h-1zM16 0h1v1h-1zM16 18h1v1h-1zM17 0h1v1h-1zM17 18h1v1h-1zM18 0h1v1h-1zM18 18h1v1h-1zM19 0h1v1h-1zM19 18h1v1h-1z'/%3E%3Cpath fill='%23A4492A' d='M0 1h1v1h-1zM0 17h1v1h-1zM1 1h1v1h-1zM1 17h1v1h-1zM1 9h1v1h-1zM2 1h1v1h-1zM2 17h1v1h-1zM2 9h1v1h-1zM3 1h1v1h-1zM3 17h1v1h-1zM3 8h1v1h-1zM3 10h1v1h-1zM4 1h1v1h-1zM4 17h1v1h-1zM4 7h1v1h-1zM4 11h1v1h-1zM5 1h1v1h-1zM5 17h1v1h-1zM5 6h1v1h-1zM5 12h1v1h-1zM6 1h1v1h-1zM6 17h1v1h-1zM6 7h1v1h-1zM6 11h1v1h-1zM7 1h1v1h-1zM7 17h1v1h-1zM7 8h1v1h-1zM7 10h1v1h-1zM8 1h1v1h-1zM8 17h1v1h-1zM8 9h1v1h-1zM9 1h1v1h-1zM9 17h1v1h-1zM9 9h1v1h-1zM10 1h1v1h-1zM10 17h1v1h-1zM11 1h1v1h-1zM11 17h1v1h-1zM12 1h1v1h-1zM12 17h1v1h-1zM13 1h1v1h-1zM13 17h1v1h-1zM14 1h1v1h-1zM14 17h1v1h-1zM15 1h1v1h-1zM15 17h1v1h-1zM16 1h1v1h-1zM16 17h1v1h-1zM17 1h1v1h-1zM17 17h1v1h-1zM18 1h1v1h-1zM18 17h1v1h-1zM19 1h1v1h-1zM19 17h1v1h-1z'/%3E%3Cpath fill='%23C99A3B' d='M1 4h1v1h-1zM1 14h1v1h-1zM2 3h1v1h-1zM2 15h1v1h-1zM2 4h1v1h-1zM2 14h1v1h-1zM3 4h1v1h-1zM3 14h1v1h-1zM4 9h1v1h-1zM5 4h1v1h-1zM5 14h1v1h-1zM5 8h1v1h-1zM5 10h1v1h-1zM6 3h1v1h-1zM6 15h1v1h-1zM6 4h1v1h-1zM6 14h1v1h-1zM6 9h1v1h-1zM7 4h1v1h-1zM7 14h1v1h-1zM9 4h1v1h-1zM9 14h1v1h-1zM10 3h1v1h-1zM10 15h1v1h-1zM10 4h1v1h-1zM10 14h1v1h-1zM11 4h1v1h-1zM11 14h1v1h-1zM13 4h1v1h-1zM13 14h1v1h-1zM14 3h1v1h-1zM14 15h1v1h-1zM14 4h1v1h-1zM14 14h1v1h-1zM15 4h1v1h-1zM15 14h1v1h-1zM15 9h1v1h-1zM17 4h1v1h-1zM17 14h1v1h-1zM18 3h1v1h-1zM18 15h1v1h-1zM18 4h1v1h-1zM18 14h1v1h-1zM19 4h1v1h-1zM19 14h1v1h-1z'/%3E%3Cpath fill='%239E2B2B' d='M5 9h1v1h-1z'/%3E%3Cpath fill='%232F3E6B' d='M14 9h1v1h-1zM15 8h1v1h-1zM15 10h1v1h-1zM16 9h1v1h-1z'/%3E%3Cpath fill='%234E6B4A' d='M15 6h1v1h-1zM15 12h1v1h-1z'/%3E%3Cpath d='M0 0.12h20M0 1.12h20M0 2.12h20M0 3.12h20M0 4.12h20M0 5.12h20M0 6.12h20M0 7.12h20M0 8.12h20M0 9.12h20M0 10.12h20M0 11.12h20M0 12.12h20M0 13.12h20M0 14.12h20M0 15.12h20M0 16.12h20M0 17.12h20M0 18.12h20' stroke='%23fff' stroke-opacity='.22' stroke-width='.16'/%3E%3Cpath d='M0 0.92h20M0 1.92h20M0 2.92h20M0 3.92h20M0 4.92h20M0 5.92h20M0 6.92h20M0 7.92h20M0 8.92h20M0 9.92h20M0 10.92h20M0 11.92h20M0 12.92h20M0 13.92h20M0 14.92h20M0 15.92h20M0 16.92h20M0 17.92h20M0 18.92h20' stroke='%233A2418' stroke-opacity='.14' stroke-width='.14'/%3E%3C/svg%3E");
  --tl-cenefa-fina: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 7' shape-rendering='crispEdges'%3E%3Crect width='6' height='7' fill='%23EFE3CD'/%3E%3Cpath fill='%23A4492A' d='M0 0h1v1h-1zM0 6h1v1h-1zM1 0h1v1h-1zM1 6h1v1h-1zM2 0h1v1h-1zM2 6h1v1h-1zM3 0h1v1h-1zM3 6h1v1h-1zM4 0h1v1h-1zM4 6h1v1h-1zM5 0h1v1h-1zM5 6h1v1h-1z'/%3E%3Cpath fill='%233A2418' d='M0 3h1v1h-1z'/%3E%3Cpath fill='%23C99A3B' d='M2 3h1v1h-1zM3 2h1v1h-1zM3 4h1v1h-1zM4 3h1v1h-1z'/%3E%3Cpath fill='%239E2B2B' d='M3 3h1v1h-1z'/%3E%3Cpath d='M0 0.12h6M0 1.12h6M0 2.12h6M0 3.12h6M0 4.12h6M0 5.12h6M0 6.12h6' stroke='%23fff' stroke-opacity='.22' stroke-width='.16'/%3E%3Cpath d='M0 0.92h6M0 1.92h6M0 2.92h6M0 3.92h6M0 4.92h6M0 5.92h6M0 6.92h6' stroke='%233A2418' stroke-opacity='.14' stroke-width='.14'/%3E%3C/svg%3E");
  --tl-zigzag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 6'%3E%3Cpath d='M0 4.5l3-3 3 3 3-3 3 3' fill='none' stroke='%23A4492A' stroke-width='1.1' stroke-linejoin='miter'/%3E%3C/svg%3E");
  --tl-tela: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' width='8' height='8'%3E%3Cpath d='M0 0.35h4M0 2.35h4M4.35 0v4M6.35 0v4M0.35 4v4M2.35 4v4M4 4.35h4M4 6.35h4' stroke='%23fff' stroke-opacity='.5' stroke-width='.5'/%3E%3Cpath d='M0 1.75h4M0 3.75h4M5.75 0v4M7.75 0v4M1.75 4v4M3.75 4v4M4 5.75h4M4 7.75h4' stroke='%233A2418' stroke-opacity='.07' stroke-width='.5'/%3E%3C/svg%3E");
  --tl-grano: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .23 0 0 0 0 .14 0 0 0 0 .09 0 0 0 .55 -.18'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23g)'/%3E%3C/svg%3E");
  --tl-flecos: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 46'%3E%3Cpath d='M0 1.6h30' stroke='%23D8C6A4' stroke-width='3.2'/%3E%3Cpath d='M3.5 7q.7 17 -.8 30M5.1 7q.9 19 .6 35M6.7 7q.7 18 1.6 33M8.3 7q.2 19 2.3 35M13.5 7q.7 19 -.8 35M15.1 7q.2 20 -.1 37M16.7 7q-.4 17 .5 32M18.3 7q-.6 20 1.5 36M23.5 7q.8 18 -.7 32M25.1 7q.3 20 0 36M26.7 7q-.6 16 .3 30M28.3 7q.9 17 3 31' fill='none' stroke='%23B39871' stroke-width='1' stroke-linecap='round'/%3E%3Cpath d='M2.2 6q0 18 -2.1 36M3 6q.7 17 -.8 33M3.8 6q.5 17 -.4 34M4.6 6q.9 19 .6 38M5.4 6q1 18 1.3 37M6.2 6q.7 18 1.6 36M7 6q-.6 17 .9 34M7.8 6q.2 19 2.3 38M12.2 6q.3 18 -1.8 37M13 6q.7 19 -.8 38M13.8 6q-.7 18 -1.6 36M14.6 6q.2 20 -.1 40M15.4 6q-.9 16 -.6 32M16.2 6q-.4 17 .5 35M17 6q.6 20 2.1 39M17.8 6q-.6 20 1.5 39M22.2 6q.2 18 -1.9 37M23 6q.8 18 -.7 35M23.8 6q-.8 16 -1.7 33M24.6 6q.3 20 0 39M25.4 6q.6 16 .9 33M26.2 6q-.6 16 .3 33M27 6q.2 17 1.7 35M27.8 6q.9 17 3 34' fill='none' stroke='%23F3E8D6' stroke-width='1.3' stroke-linecap='round'/%3E%3Crect x='1.4' y='3.2' width='7.2' height='4.2' rx='1.8' fill='%23C99A3B'/%3E%3Cpath d='M1.6 5.3h6.8' stroke='%23fff' stroke-opacity='.35' stroke-width='.6'/%3E%3Crect x='11.4' y='3.2' width='7.2' height='4.2' rx='1.8' fill='%23A4492A'/%3E%3Cpath d='M11.6 5.3h6.8' stroke='%23fff' stroke-opacity='.35' stroke-width='.6'/%3E%3Crect x='21.4' y='3.2' width='7.2' height='4.2' rx='1.8' fill='%23C99A3B'/%3E%3Cpath d='M21.6 5.3h6.8' stroke='%23fff' stroke-opacity='.35' stroke-width='.6'/%3E%3C/svg%3E");
  --tl-ramillete: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 272'%3E%3Cdefs%3E%3Cfilter id='fz' x='-45%25' y='-8%25' width='190%25' height='116%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.42 .028' numOctaves='2' seed='5' result='n'/%3E%3CfeDisplacementMap in='SourceGraphic' in2='n' scale='13' xChannelSelector='R' yChannelSelector='G' result='d'/%3E%3CfeColorMatrix in='n' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 -3 0 0 0 1.62' result='s'/%3E%3CfeColorMatrix in='n' values='0 0 0 0 .52 0 0 0 0 .38 0 0 0 0 .22 0 -3 0 0 1.5' result='k'/%3E%3CfeComposite in='k' in2='d' operator='in' result='k'/%3E%3CfeComposite in='s' in2='d' operator='in' result='s'/%3E%3CfeMerge%3E%3CfeMergeNode in='d'/%3E%3CfeMergeNode in='k'/%3E%3CfeMergeNode in='s'/%3E%3C/feMerge%3E%3C/filter%3E%3ClinearGradient id='pf' x1='0' y1='1' x2='.3' y2='0'%3E%3Cstop offset='0' stop-color='%23C9AD80'/%3E%3Cstop offset='.45' stop-color='%23E6D4B3'/%3E%3Cstop offset='1' stop-color='%23FBF4E6'/%3E%3C/linearGradient%3E%3ClinearGradient id='pg' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23fff' stop-opacity='.35'/%3E%3Cstop offset='.6' stop-color='%23fff' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='%23704A1C' stop-opacity='.3'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M112 214l-9 52M112 214l-2 54M112 214l6 52M112 214l11 50' stroke='%23977347' stroke-width='1.3'/%3E%3Cpath d='M110 210Q56.4 180.6 22 130' fill='none' stroke='%236E6A4A' stroke-width='1.1'/%3E%3Cellipse cx='85.5' cy='197.5' rx='6.7' ry='5.7' fill='%23949C80'/%3E%3Cpath d='M91.5 198.8l-9.3 -2.3' stroke='%23626B50' stroke-width='.45'/%3E%3Cellipse cx='97.5' cy='197.5' rx='6.7' ry='5.7' fill='%237F8A6B'/%3E%3Cpath d='M91.5 198.8l9.3 -2.3' stroke='%23626B50' stroke-width='.45'/%3E%3Cellipse cx='68.7' cy='185.1' rx='6.1' ry='5.2' fill='%23949C80'/%3E%3Cpath d='M74.2 186.3l-8.5 -2.1' stroke='%23626B50' stroke-width='.45'/%3E%3Cellipse cx='79.7' cy='185.1' rx='6.1' ry='5.2' fill='%237F8A6B'/%3E%3Cpath d='M74.2 186.3l8.5 -2.1' stroke='%23626B50' stroke-width='.45'/%3E%3Cellipse cx='53.1' cy='171.3' rx='5.6' ry='4.8' fill='%23949C80'/%3E%3Cpath d='M58.1 172.4l-7.8 -1.9' stroke='%23626B50' stroke-width='.45'/%3E%3Cellipse cx='63.1' cy='171.3' rx='5.6' ry='4.8' fill='%237F8A6B'/%3E%3Cpath d='M58.1 172.4l7.8 -1.9' stroke='%23626B50' stroke-width='.45'/%3E%3Cellipse cx='38.7' cy='156.2' rx='5' ry='4.3' fill='%23949C80'/%3E%3Cpath d='M43.2 157.2l-7 -1.7' stroke='%23626B50' stroke-width='.45'/%3E%3Cellipse cx='47.7' cy='156.2' rx='5' ry='4.3' fill='%237F8A6B'/%3E%3Cpath d='M43.2 157.2l7 -1.7' stroke='%23626B50' stroke-width='.45'/%3E%3Cellipse cx='25.6' cy='139.7' rx='4.5' ry='3.8' fill='%23949C80'/%3E%3Cpath d='M29.6 140.6l-6.2 -1.6' stroke='%23626B50' stroke-width='.45'/%3E%3Cellipse cx='33.6' cy='139.7' rx='4.5' ry='3.8' fill='%237F8A6B'/%3E%3Cpath d='M29.6 140.6l6.2 -1.6' stroke='%23626B50' stroke-width='.45'/%3E%3Cpath d='M114 210L124.3 197.3' stroke='%23A8803F' stroke-width='1.6'/%3E%3Cpath d='M122.6 199.4L119.5 193.4L123.6 187L125.6 179L130.9 173.6L133.2 165.8L139.4 161.2L142.2 153.8L149.1 149.7L152.7 142.9L159.9 139.1L164.2 133L171.4 129.1L176.5 123.6L183.3 119.4L188.9 114.3L195.1 109.7L200 104L200 104L200 104L195.4 110L192.2 117L188.4 123.6L185.7 131.1L181.3 137.2L179 145L173.9 150.5L171.7 158.3L165.8 163.2L163.2 170.8L156.6 175.1L153.3 182.1L146.1 186L141.9 192.2L134.5 195.9L129.1 201.2Z' fill='%23D8AE55'/%3E%3Cpath d='M122.6 199.4L119.5 193.4L123.6 187L125.6 179L130.9 173.6L133.2 165.8L139.4 161.2L142.2 153.8L149.1 149.7L152.7 142.9L159.9 139.1L164.2 133L171.4 129.1L176.5 123.6L183.3 119.4L188.9 114.3L195.1 109.7L200 104L200 104L200 104L195.4 110L192.2 117L188.4 123.6L185.7 131.1L181.3 137.2L179 145L173.9 150.5L171.7 158.3L165.8 163.2L163.2 170.8L156.6 175.1L153.3 182.1L146.1 186L141.9 192.2L134.5 195.9L129.1 201.2Z' fill='url(%23pg)'/%3E%3Cpath d='M119.8 202.8L120 193.8M119.8 202.8L128.7 200.8M123.6 198.1L126.5 179.7M123.6 198.1L141.1 191.6M127.4 193.5L134.2 166.6M127.4 193.5L152.3 181.3M131.2 188.8L143.3 154.6M131.2 188.8L162.1 170M135 184.1L153.6 143.7M135 184.1L170.7 157.6M138.8 179.5L165 133.6M138.8 179.5L178.3 144.4M142.6 174.8L176.9 124M142.6 174.8L185.2 130.7M146.3 170.1L189.1 114.5M146.3 170.1L192 116.8' stroke='%23A9792A' stroke-width='.7' stroke-opacity='.75'/%3E%3Cpath d='M112 214Q96 186 80 152M112 214Q128 190 148 166M112 214Q110 190 108 160' stroke='%23A3824F' stroke-width='1.3' fill='none'/%3E%3Cg transform='translate(80 152) rotate(-21) translate(-47 0)'%3E%3Cpath d='M47 6V-110' stroke='%23B0915F' stroke-width='1.1'/%3E%3Cpath d='M47 2C24 -13 26 -77 41 -128C68 -79 70 -13 47 2Z' fill='url(%23pf)' filter='url(%23fz)'/%3E%3C/g%3E%3Cg transform='translate(148 166) rotate(24) translate(-94 0)'%3E%3Cpath d='M94 6V-112' stroke='%23B0915F' stroke-width='1.1'/%3E%3Cpath d='M94 2C73 -13 75 -78 101 -130C113 -81 115 -13 94 2Z' fill='url(%23pf)' filter='url(%23fz)'/%3E%3C/g%3E%3Cg transform='translate(108 160) rotate(3) translate(-141 0)'%3E%3Cpath d='M141 6V-132' stroke='%23B0915F' stroke-width='1.1'/%3E%3Cpath d='M141 2C115 -15 118 -92 146 -154C164 -95 167 -15 141 2Z' fill='url(%23pf)' filter='url(%23fz)'/%3E%3C/g%3E%3Cpath d='M112 214Q100 150 82 92M112 214Q128 150 146 86M112 214Q96 170 64 124M112 214Q132 168 164 120' stroke='%23977347' stroke-width='.9' fill='none'/%3E%3Cg transform='translate(82 88) rotate(-18) translate(-172 0)'%3E%3Cellipse cx='172' rx='7' ry='12.2' fill='%23F3EAD6' filter='url(%23fz)'/%3E%3C/g%3E%3Cg transform='translate(146 82) rotate(16) translate(-203 0)'%3E%3Cellipse cx='203' rx='6.8' ry='11.8' fill='%23F3EAD6' filter='url(%23fz)'/%3E%3C/g%3E%3Cg transform='translate(64 120) rotate(-38) translate(-234 0)'%3E%3Cellipse cx='234' rx='5.7' ry='9.9' fill='%23F3EAD6' filter='url(%23fz)'/%3E%3C/g%3E%3Cg transform='translate(165 116) rotate(34) translate(-265 0)'%3E%3Cellipse cx='265' rx='5.7' ry='9.9' fill='%23F3EAD6' filter='url(%23fz)'/%3E%3C/g%3E%3Cpath d='M112 214Q104 190 92 168M112 214Q122 186 134 166' stroke='%23977347' stroke-width='.8' fill='none'/%3E%3Cdefs%3E%3Ccircle id='d' r='1.7' fill='%23F3E8D2'/%3E%3C/defs%3E%3Cuse href='%23d' x='112' y='153'/%3E%3Cuse href='%23d' x='127' y='170'/%3E%3Cuse href='%23d' x='89' y='165'/%3E%3Cuse href='%23d' x='113' y='139'/%3E%3Cuse href='%23d' x='140' y='151'/%3E%3Cuse href='%23d' x='77' y='151'/%3E%3Cuse href='%23d' x='112' y='161'/%3E%3Cuse href='%23d' x='136' y='138'/%3E%3Cuse href='%23d' x='132' y='142'/%3E%3Cuse href='%23d' x='124' y='141'/%3E%3Cuse href='%23d' x='103' y='148'/%3E%3Cuse href='%23d' x='147' y='148'/%3E%3Cuse href='%23d' x='121' y='140'/%3E%3Cuse href='%23d' x='87' y='146'/%3E%3Cpath d='M112 167L106 169L109 175L102 173L102 179L97 175L93 179L92 173L86 175L89 170L82 169L88 165L83 161L90 161L88 155L94 158L96 152L99 158L105 154L104 160L110 160L106 164Z' fill='%23893B20'/%3E%3Cpath d='M108 170L103 170L104 175L99 173L97 177L94 172L90 174L91 170L86 169L90 166L86 162L91 162L90 157L95 159L97 155L100 160L104 158L103 162L108 163L104 166Z' fill='%23A4492A'/%3E%3Cpath d='M104 170L100 170L99 173L97 171L94 173L93 170L89 169L92 166L89 164L93 163L92 160L96 161L98 158L99 161L103 160L102 164L105 165L102 167Z' fill='%23C46A43'/%3E%3Ccircle cx='97' cy='166' r='4.5' fill='%235A3420'/%3E%3Ccircle cx='99.6' cy='166' r='1.1' fill='%23C99A3B'/%3E%3Ccircle cx='98.6' cy='168' r='1.1' fill='%23C99A3B'/%3E%3Ccircle cx='96.4' cy='168.5' r='1.1' fill='%23C99A3B'/%3E%3Ccircle cx='94.7' cy='167.1' r='1.1' fill='%23C99A3B'/%3E%3Ccircle cx='94.7' cy='164.9' r='1.1' fill='%23C99A3B'/%3E%3Ccircle cx='96.4' cy='163.5' r='1.1' fill='%23C99A3B'/%3E%3Ccircle cx='98.6' cy='164' r='1.1' fill='%23C99A3B'/%3E%3Cpath d='M144 159L138 161L141 165L136 164L135 169L131 165L128 170L127 164L122 166L124 161L118 160L123 157L119 154L125 153L124 148L128 151L130 146L133 151L138 148L137 153L143 153L139 157Z' fill='%23A97A26'/%3E%3Cpath d='M141 161L136 162L137 166L133 164L131 167L129 164L125 165L126 161L121 161L125 158L121 155L126 154L125 150L129 152L131 149L133 152L137 151L136 155L141 155L137 158Z' fill='%23C99A3B'/%3E%3Cpath d='M137 162L134 161L133 164L131 162L128 164L128 161L124 161L126 158L124 156L127 156L127 153L130 154L132 151L133 154L136 153L135 156L138 157L136 159Z' fill='%23E0B65C'/%3E%3Ccircle cx='131' cy='158' r='3.9' fill='%235A3420'/%3E%3Ccircle cx='133.2' cy='158' r='1' fill='%23C99A3B'/%3E%3Ccircle cx='132.4' cy='159.7' r='1' fill='%23C99A3B'/%3E%3Ccircle cx='130.5' cy='160.2' r='1' fill='%23C99A3B'/%3E%3Ccircle cx='129' cy='159' r='1' fill='%23C99A3B'/%3E%3Ccircle cx='129' cy='157' r='1' fill='%23C99A3B'/%3E%3Ccircle cx='130.5' cy='155.8' r='1' fill='%23C99A3B'/%3E%3Ccircle cx='132.4' cy='156.3' r='1' fill='%23C99A3B'/%3E%3Cpath d='M124 189L119 190L122 194L117 193L117 198L113 194L110 198L110 193L105 195L107 191L102 190L106 187L103 184L108 184L107 180L111 182L113 178L115 182L119 179L118 184L123 183L120 187Z' fill='%23741F1F'/%3E%3Cpath d='M121 191L117 191L118 195L115 193L113 196L111 193L108 194L108 191L105 190L108 188L105 185L109 185L108 181L111 183L113 180L115 183L118 182L118 185L121 186L118 188Z' fill='%239E2B2B'/%3E%3Cpath d='M118 191L115 191L115 193L113 192L110 193L110 191L107 190L109 188L107 187L110 186L109 183L112 184L113 182L115 185L117 184L117 186L119 187L117 189Z' fill='%23BD4A3E'/%3E%3Ccircle cx='113' cy='188' r='3.3' fill='%235A3420'/%3E%3Ccircle cx='114.9' cy='188' r='.9' fill='%23C99A3B'/%3E%3Ccircle cx='114.2' cy='189.5' r='.9' fill='%23C99A3B'/%3E%3Ccircle cx='112.6' cy='189.8' r='.9' fill='%23C99A3B'/%3E%3Ccircle cx='111.3' cy='188.8' r='.9' fill='%23C99A3B'/%3E%3Ccircle cx='111.3' cy='187.2' r='.9' fill='%23C99A3B'/%3E%3Ccircle cx='112.6' cy='186.2' r='.9' fill='%23C99A3B'/%3E%3Ccircle cx='114.2' cy='186.5' r='.9' fill='%23C99A3B'/%3E%3Cpath d='M86.5 192.8L82.9 193.8L84.7 196.9L81 196L80.7 199.4L78.2 196.8L76 199.6L75.3 196.2L71.8 197.4L73.3 194.2L69.6 193.4L72.8 191.5L70.1 189.1L73.9 189L73.1 185.6L76.3 187.4L77.6 184.2L79.3 187.3L82.3 185.2L81.8 188.7L85.6 188.5L83.2 191.1Z' fill='%23A97A26'/%3E%3Cpath d='M84.2 194.1L81.3 194.4L81.7 197.1L79.2 195.8L77.8 198.1L76.5 195.7L73.9 196.8L74.5 194.2L71.6 193.7L73.8 191.9L71.8 189.9L74.7 189.6L74.3 186.9L76.8 188.2L78.2 185.9L79.5 188.3L82.1 187.2L81.5 189.8L84.4 190.3L82.2 192.1Z' fill='%23D9A84B'/%3E%3Cpath d='M81.9 194.5L79.8 194.3L79.3 196.2L77.8 194.8L76 196L75.9 194L73.7 193.9L75 192.3L73.4 190.9L75.5 190.4L75.2 188.4L77.2 189.3L78.4 187.6L79.3 189.4L81.3 188.9L80.8 190.8L82.7 191.6L81 192.7Z' fill='%23EBCB83'/%3E%3Ccircle cx='78' cy='192' r='2.6' fill='%235A3420'/%3E%3Ccircle cx='79.4' cy='192' r='.7' fill='%23C99A3B'/%3E%3Ccircle cx='78.9' cy='193.1' r='.7' fill='%23C99A3B'/%3E%3Ccircle cx='77.7' cy='193.4' r='.7' fill='%23C99A3B'/%3E%3Ccircle cx='76.7' cy='192.6' r='.7' fill='%23C99A3B'/%3E%3Ccircle cx='76.7' cy='191.4' r='.7' fill='%23C99A3B'/%3E%3Ccircle cx='77.7' cy='190.6' r='.7' fill='%23C99A3B'/%3E%3Ccircle cx='78.9' cy='190.9' r='.7' fill='%23C99A3B'/%3E%3Cpath d='M108 220q-6 18-15 30M116 220q8 16 20 25' stroke='%23A4492A' stroke-width='4.4' fill='none'/%3E%3Cpath d='M108 220q-6 18-15 30M116 220q8 16 20 25' stroke='%23C99A3B' stroke-width='1.2' stroke-dasharray='2 2.4' fill='none'/%3E%3Cpath d='M91 249l-1.5 5M93 251l-.6 5M95 252l.4 4.4M134 244l2.4 4.4M136 243l3 3.8M137.5 241l3.4 3' stroke='%23EFE3CD' stroke-width='.9' stroke-linecap='round'/%3E%3Crect x='101' y='208' width='22' height='13' rx='2' fill='%23A4492A'/%3E%3Cpath d='M101 211h22M101 218h22' stroke='%23C99A3B' stroke-width='1.3'/%3E%3Cpath d='M105 214.5l2.5-2.5 2.5 2.5-2.5 2.5zM114 214.5l2.5-2.5 2.5 2.5-2.5 2.5z' fill='%23EFE3CD'/%3E%3Crect x='101' y='208' width='22' height='13' rx='2' fill='none' stroke='%233A2418' stroke-opacity='.35' stroke-width='.8'/%3E%3C/svg%3E");
  --tl-pampa: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 70 300'%3E%3Cdefs%3E%3Cfilter id='fz' x='-45%25' y='-8%25' width='190%25' height='116%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.42 .028' numOctaves='2' seed='5' result='n'/%3E%3CfeDisplacementMap in='SourceGraphic' in2='n' scale='13' xChannelSelector='R' yChannelSelector='G' result='d'/%3E%3CfeColorMatrix in='n' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 -3 0 0 0 1.62' result='s'/%3E%3CfeColorMatrix in='n' values='0 0 0 0 .52 0 0 0 0 .38 0 0 0 0 .22 0 -3 0 0 1.5' result='k'/%3E%3CfeComposite in='k' in2='d' operator='in' result='k'/%3E%3CfeComposite in='s' in2='d' operator='in' result='s'/%3E%3CfeMerge%3E%3CfeMergeNode in='d'/%3E%3CfeMergeNode in='k'/%3E%3CfeMergeNode in='s'/%3E%3C/feMerge%3E%3C/filter%3E%3ClinearGradient id='pf' x1='0' y1='1' x2='.3' y2='0'%3E%3Cstop offset='0' stop-color='%23C9AD80'/%3E%3Cstop offset='.45' stop-color='%23E6D4B3'/%3E%3Cstop offset='1' stop-color='%23FBF4E6'/%3E%3C/linearGradient%3E%3ClinearGradient id='pg' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23fff' stop-opacity='.35'/%3E%3Cstop offset='.6' stop-color='%23fff' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='%23704A1C' stop-opacity='.3'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M40 298Q30 220 28 168' stroke='%23A3824F' stroke-width='1.3' fill='none'/%3E%3Cg transform='translate(28 170) rotate(-3) translate(-312 0)'%3E%3Cpath d='M312 6V-138' stroke='%23B0915F' stroke-width='1.1'/%3E%3Cpath d='M312 2C290 -16 292 -96 308 -160C332 -99 334 -16 312 2Z' fill='url(%23pf)' filter='url(%23fz)'/%3E%3C/g%3E%3C/svg%3E");
  --tl-pampas: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 420'%3E%3Cdefs%3E%3Cfilter id='fz' x='-45%25' y='-8%25' width='190%25' height='116%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.42 .028' numOctaves='2' seed='5' result='n'/%3E%3CfeDisplacementMap in='SourceGraphic' in2='n' scale='13' xChannelSelector='R' yChannelSelector='G' result='d'/%3E%3CfeColorMatrix in='n' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 -3 0 0 0 1.62' result='s'/%3E%3CfeColorMatrix in='n' values='0 0 0 0 .52 0 0 0 0 .38 0 0 0 0 .22 0 -3 0 0 1.5' result='k'/%3E%3CfeComposite in='k' in2='d' operator='in' result='k'/%3E%3CfeComposite in='s' in2='d' operator='in' result='s'/%3E%3CfeMerge%3E%3CfeMergeNode in='d'/%3E%3CfeMergeNode in='k'/%3E%3CfeMergeNode in='s'/%3E%3C/feMerge%3E%3C/filter%3E%3ClinearGradient id='pf' x1='0' y1='1' x2='.3' y2='0'%3E%3Cstop offset='0' stop-color='%23C9AD80'/%3E%3Cstop offset='.45' stop-color='%23E6D4B3'/%3E%3Cstop offset='1' stop-color='%23FBF4E6'/%3E%3C/linearGradient%3E%3ClinearGradient id='pg' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23fff' stop-opacity='.35'/%3E%3Cstop offset='.6' stop-color='%23fff' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='%23704A1C' stop-opacity='.3'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M70 420Q64 330 44 262M70 420Q76 300 92 196M70 420Q66 330 60 236' stroke='%23A3824F' stroke-width='1.6' fill='none'/%3E%3Cpath d='M70 420Q48 356 12 330Q50 350 72 408ZM72 420Q100 352 128 322Q104 362 76 410Z' fill='%23C4A774' fill-opacity='.8'/%3E%3Cg transform='translate(44 262) rotate(-15) translate(-359 0)'%3E%3Cpath d='M359 6V-103' stroke='%23B0915F' stroke-width='1.1'/%3E%3Cpath d='M359 2C340 -12 342 -72 354 -120C376 -74 378 -12 359 2Z' fill='url(%23pf)' filter='url(%23fz)'/%3E%3C/g%3E%3Cg transform='translate(92 196) rotate(8) translate(-406 0)'%3E%3Cpath d='M406 6V-148' stroke='%23B0915F' stroke-width='1.1'/%3E%3Cpath d='M406 2C382 -17 384 -103 412 -172C428 -107 430 -17 406 2Z' fill='url(%23pf)' filter='url(%23fz)'/%3E%3C/g%3E%3Cg transform='translate(60 236) rotate(-5) translate(-453 0)'%3E%3Cpath d='M453 6V-131' stroke='%23B0915F' stroke-width='1.1'/%3E%3Cpath d='M453 2C431 -15 433 -91 450 -152C473 -94 475 -15 453 2Z' fill='url(%23pf)' filter='url(%23fz)'/%3E%3C/g%3E%3C/svg%3E");
  --tl-gancho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 72'%3E%3Cdefs%3E%3ClinearGradient id='w' x1='0' x2='1'%3E%3Cstop offset='0' stop-color='%23E2B886'/%3E%3Cstop offset='.45' stop-color='%23C8925C'/%3E%3Cstop offset='1' stop-color='%239C6638'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M5 3q0-3 3-3h3.4q1.6 0 1.6 2v68q0 2-2 2H8q-3 0-3-3z' fill='url(%23w)'/%3E%3Cpath d='M13 2q0-2 1.6-2H18q3 0 3 3v66q0 3-3 3h-3.4q-1.6 0-1.6-2z' fill='url(%23w)'/%3E%3Cpath d='M13 1v70' stroke='%236E4423' stroke-width='.8'/%3E%3Cpath d='M8 10q1 14 0 26M17 8q-1 18 .6 40M9.4 48q.6 10-.4 18' stroke='%23855630' stroke-opacity='.35' stroke-width='.5' fill='none'/%3E%3Crect x='3' y='28' width='20' height='8' rx='2' fill='%23757069'/%3E%3Cpath d='M3.5 30h19M3.5 32h19M3.5 34h19' stroke='%23C9C5BD' stroke-width='.7'/%3E%3Cpath d='M3 36.2h20' stroke='%233B3631' stroke-opacity='.4' stroke-width='.8'/%3E%3C/svg%3E");
  --tl-valle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 240' preserveAspectRatio='xMidYMax slice'%3E%3Cdefs%3E%3ClinearGradient id='f' x2='0' y2='1'%3E%3Cstop offset='.15' stop-color='%23F4E9D6'/%3E%3Cstop offset='1' stop-color='%23E4CDA8'/%3E%3C/linearGradient%3E%3ClinearGradient id='m' x2='0' y2='1'%3E%3Cstop offset='.4' stop-color='%23E0C29B'/%3E%3Cstop offset='1' stop-color='%23D2AF84'/%3E%3C/linearGradient%3E%3Cpattern id='h' width='5' height='5' patternUnits='userSpaceOnUse' patternTransform='rotate(38)'%3E%3Cpath d='M0 0V5' stroke='%23A4492A' stroke-opacity='.13'/%3E%3C/pattern%3E%3Cpath id='F' d='M0 120L7 118L19 113L36 105L42 94L51 88L68 88L73 92L90 92L107 100L112 103L116 103L132 111L142 112L149 105L158 107L170 108L175 98L189 91L204 91L213 88L222 82L228 74L240 65L250 58L256 72L274 78L278 79L288 87L298 91L304 94L313 93L330 100L338 97L352 97L367 98L376 94L392 92L398 89L419 79L430 76L435 72L451 71L459 67L479 65L491 57L505 52L515 41L520 30L533 35L548 48L556 57L566 69L576 74L584 82L601 89L610 90L624 84L628 80L634 76L650 70L663 65L680 66L694 65L700 66L715 61L725 57L737 49L740 38L747 36L760 26L777 25L790 26L794 27L804 30L818 40L830 45L840 53L857 65L873 76L880 84L887 83L900 74L910 66L924 66L932 67L938 62L945 58L960 60L969 68L983 74L1002 79L1011 82L1018 81L1036 88L1049 96L1060 98L1068 97L1079 89L1094 86L1105 80L1117 78L1127 77L1127 71L1140 70L1148 70L1156 75L1162 78L1176 84L1174 90L1185 89L1189 87L1200 92V240H0Z'/%3E%3Cpath id='M' d='M0 160L29 153L62 139L95 129L130 124L155 135L185 139L214 147L250 150L280 135L306 124L330 118L360 116L388 120L421 128L447 142L480 150L504 149L525 144L552 137L580 124L606 131L630 142L655 147L690 156L714 143L749 136L781 130L810 120L842 125L867 132L904 141L930 150L959 143L993 131L1016 134L1050 128L1087 129L1123 136L1161 150L1200 156V240H0Z'/%3E%3Cpath id='N' d='M0 194Q160 172 245 182Q330 192 415 181Q500 170 580 182Q660 194 750 183Q840 172 930 182Q1020 192 1110 184L1200 176V240H0Z'/%3E%3CclipPath id='k'%3E%3Cuse href='%23F'/%3E%3C/clipPath%3E%3CclipPath id='c'%3E%3Cuse href='%23N'/%3E%3C/clipPath%3E%3C/defs%3E%3Cuse href='%23F' fill='url(%23f)'/%3E%3Cpath d='M0 0H1200L1200 63L1185 64L1170 74L1155 65L1140 62L1125 78L1110 69L1095 61L1080 79L1065 62L1050 60L1035 76L1020 69L1005 63L990 76L975 64L960 68L945 76L930 59L915 64L900 78L885 60L870 60L855 77L840 64L825 68L810 74L795 60L780 62L765 75L750 63L735 63L720 76L705 67L690 61L675 78L660 62L645 63L630 71L615 62L600 65L585 75L570 63L555 69L540 76L525 59L510 66L495 73L480 69L465 65L450 73L435 60L420 68L405 75L390 60L375 62L360 69L345 62L330 60L315 74L300 62L285 61L270 83L255 61L240 69L225 79L210 59L195 66L180 75L165 60L150 67L135 70L120 63L105 61L90 67L75 66L60 62L45 80L30 65L15 64L0 81Z' fill='%23FCF7EE' clip-path='url(%23k)'/%3E%3Cpath d='M0 120L7 118L19 113L36 105L42 94L51 88L68 88L73 92L90 92L107 100L112 103L116 103L132 111L142 112L149 105L158 107L170 108L175 98L189 91L204 91L213 88L222 82L228 74L240 65L250 58L256 72L274 78L278 79L288 87L298 91L304 94L313 93L330 100L338 97L352 97L367 98L376 94L392 92L398 89L419 79L430 76L435 72L451 71L459 67L479 65L491 57L505 52L515 41L520 30L533 35L548 48L556 57L566 69L576 74L584 82L601 89L610 90L624 84L628 80L634 76L650 70L663 65L680 66L694 65L700 66L715 61L725 57L737 49L740 38L747 36L760 26L777 25L790 26L794 27L804 30L818 40L830 45L840 53L857 65L873 76L880 84L887 83L900 74L910 66L924 66L932 67L938 62L945 58L960 60L969 68L983 74L1002 79L1011 82L1018 81L1036 88L1049 96L1060 98L1068 97L1079 89L1094 86L1105 80L1117 78L1127 77L1127 71L1140 70L1148 70L1156 75L1162 78L1176 84L1174 90L1185 89L1189 87L1200 92' fill='none' stroke='%23C99A3B' stroke-opacity='.75' stroke-width='1.6' stroke-linejoin='round'/%3E%3Cuse href='%23M' fill='url(%23m)'/%3E%3Cuse href='%23M' fill='url(%23h)'/%3E%3Cpath d='M0 160L29 153L62 139L95 129L130 124L155 135L185 139L214 147L250 150L280 135L306 124L330 118L360 116L388 120L421 128L447 142L480 150L504 149L525 144L552 137L580 124L606 131L630 142L655 147L690 156L714 143L749 136L781 130L810 120L842 125L867 132L904 141L930 150L959 143L993 131L1016 134L1050 128L1087 129L1123 136L1161 150L1200 156' fill='none' stroke='%23A4492A' stroke-opacity='.5' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cuse href='%23N' fill='%23D0A87E'/%3E%3Cpath d='M19 199Q160 173 301 199M28 206Q160 180 292 206M37 213Q160 187 283 213M46 220Q160 194 274 220M55 227Q160 201 265 227M359 197Q500 171 641 197M368 204Q500 178 632 204M377 211Q500 185 623 211M386 218Q500 192 614 218M395 225Q500 199 605 225M699 199Q840 173 981 199M708 206Q840 180 972 206M717 213Q840 187 963 213M726 220Q840 194 954 220M735 227Q840 201 945 227' fill='none' stroke='%23F6EBD8' stroke-opacity='.6' stroke-width='1.5' clip-path='url(%23c)'/%3E%3Cpath d='M0 230C180 218 330 238 560 228S960 214 1200 230' fill='none' stroke='%23F6EBD8' stroke-opacity='.7' stroke-width='2.4'/%3E%3Cpath d='M262 186v-7M292 190v-7M700 190v-7M968 186v-7M1100 182v-7' stroke='%236E4A2A' stroke-width='1.6'/%3E%3Ccircle cx='262' cy='177' r='6' fill='%236F7B4C'/%3E%3Ccircle cx='292' cy='182' r='4.5' fill='%236F7B4C'/%3E%3Ccircle cx='700' cy='182' r='5' fill='%236F7B4C'/%3E%3Ccircle cx='968' cy='177' r='6' fill='%236F7B4C'/%3E%3Ccircle cx='1100' cy='174' r='4.5' fill='%236F7B4C'/%3E%3Cpath d='M0 194Q160 172 245 182Q330 192 415 181Q500 170 580 182Q660 194 750 183Q840 172 930 182Q1020 192 1110 184L1200 176' fill='none' stroke='%237A3F24' stroke-opacity='.5' stroke-width='2'/%3E%3C/svg%3E");
  --tl-dia: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 140' preserveAspectRatio='xMidYMid slice'%3E%3Cdefs%3E%3ClinearGradient id='c' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23F8E9CF'/%3E%3Cstop offset='1' stop-color='%23F1D2A6'/%3E%3C/linearGradient%3E%3CradialGradient id='s'%3E%3Cstop offset='.42' stop-color='%23F0C365'/%3E%3Cstop offset='.5' stop-color='%23F4CF80' stop-opacity='.5'/%3E%3Cstop offset='1' stop-color='%23F8E2B2' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Crect width='400' height='140' fill='url(%23c)'/%3E%3Ccircle cx='292' cy='50' r='52' fill='url(%23s)'/%3E%3Cpath d='M0 92L40 70L78 84L130 46L170 74L214 58L262 30L300 66L340 52L400 80V140H0Z' fill='%23E6D0AF'/%3E%3Cpath d='M118 56L130 46L143 57L136 55L130 60L124 55ZM250 41L262 30L275 42L268 40L262 45L256 40Z' fill='%23FBF4E8'/%3E%3Cpath d='M0 108Q70 86 140 102T280 96T400 100V140H0Z' fill='%23D9B183'/%3E%3Cpath d='M0 108Q70 86 140 102T280 96T400 100' fill='none' stroke='%23A4492A' stroke-opacity='.4' stroke-width='1.2'/%3E%3Cpath d='M0 124Q100 112 200 122T400 118V140H0Z' fill='%23C49763'/%3E%3Cpath d='M66 128q-2-30 2-62' stroke='%235A3B25' stroke-width='4' fill='none' stroke-linecap='round'/%3E%3Cpath d='M67 92q-14-10-26-12M68 80q14-12 30-12' stroke='%235A3B25' stroke-width='2' fill='none'/%3E%3Cdefs%3E%3Ccircle id='h0' r='2.6' fill='%235F7148'/%3E%3Ccircle id='h1' r='2' fill='%234E6B4A'/%3E%3Ccircle id='h2' r='1.6' fill='%23788A58'/%3E%3C/defs%3E%3Cuse href='%23h0' x='44' y='44'/%3E%3Cuse href='%23h1' x='83' y='76'/%3E%3Cuse href='%23h2' x='44' y='82'/%3E%3Cuse href='%23h0' x='86' y='58'/%3E%3Cuse href='%23h1' x='48' y='71'/%3E%3Cuse href='%23h2' x='96' y='56'/%3E%3Cuse href='%23h0' x='30' y='88'/%3E%3Cuse href='%23h1' x='65' y='48'/%3E%3Cuse href='%23h2' x='47' y='91'/%3E%3Cuse href='%23h0' x='103' y='69'/%3E%3Cuse href='%23h1' x='43' y='76'/%3E%3Cuse href='%23h2' x='47' y='86'/%3E%3Cuse href='%23h0' x='90' y='76'/%3E%3Cuse href='%23h1' x='72' y='59'/%3E%3Cuse href='%23h2' x='100' y='62'/%3E%3Cuse href='%23h0' x='67' y='80'/%3E%3Cuse href='%23h1' x='78' y='63'/%3E%3Cuse href='%23h2' x='89' y='89'/%3E%3Cuse href='%23h0' x='63' y='52'/%3E%3Cuse href='%23h1' x='82' y='45'/%3E%3Cuse href='%23h2' x='83' y='90'/%3E%3Cuse href='%23h0' x='37' y='60'/%3E%3Cuse href='%23h1' x='68' y='81'/%3E%3Cuse href='%23h2' x='45' y='43'/%3E%3Cuse href='%23h0' x='46' y='45'/%3E%3Cuse href='%23h1' x='30' y='43'/%3E%3Cuse href='%23h2' x='59' y='89'/%3E%3Cuse href='%23h0' x='57' y='58'/%3E%3Cuse href='%23h1' x='34' y='74'/%3E%3Cuse href='%23h2' x='34' y='90'/%3E%3Cuse href='%23h0' x='66' y='52'/%3E%3Cuse href='%23h1' x='49' y='68'/%3E%3Cuse href='%23h2' x='102' y='54'/%3E%3Cuse href='%23h0' x='84' y='62'/%3E%3Cuse href='%23h1' x='87' y='55'/%3E%3Cuse href='%23h2' x='73' y='85'/%3E%3Cuse href='%23h0' x='96' y='82'/%3E%3Cuse href='%23h1' x='46' y='76'/%3E%3Cpath d='M51 64q-2.7 15.2 -1.7 33.1M58.1 61q12.3 14.4 -13.9 35.3M62.5 58q-5.3 12.2 7.1 33.3M67.6 55q-11.2 19.6 14.7 42M73.4 52q-12.6 15.8 -15.4 35.7M78.1 55q7.1 12.9 3.1 35.1M85.5 58q2.3 12.5 5.7 39.4M89.1 61q-9.9 12.8 12.5 40.1M96.4 64q4.4 19 -15.6 41.3' fill='none' stroke='%23566A44' stroke-width='1' stroke-opacity='.8'/%3E%3C/svg%3E");
  --tl-noche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 140' preserveAspectRatio='xMidYMid slice'%3E%3Cdefs%3E%3ClinearGradient id='n' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23232C52'/%3E%3Cstop offset='.7' stop-color='%23443A5E'/%3E%3Cstop offset='1' stop-color='%23744B4B'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='400' height='140' fill='url(%23n)'/%3E%3Ccircle cx='338' cy='32' r='1' fill='%23FBF1DD' fill-opacity='.6'/%3E%3Ccircle cx='356' cy='70' r='1.1' fill='%23FBF1DD' fill-opacity='.7'/%3E%3Ccircle cx='351' cy='47' r='1' fill='%23FBF1DD' fill-opacity='.9'/%3E%3Ccircle cx='43' cy='41' r='.4' fill='%23FBF1DD' fill-opacity='.9'/%3E%3Ccircle cx='82' cy='42' r='1.1' fill='%23FBF1DD' fill-opacity='.7'/%3E%3Ccircle cx='375' cy='59' r='1' fill='%23FBF1DD' fill-opacity='.7'/%3E%3Ccircle cx='389' cy='23' r='1.1' fill='%23FBF1DD' fill-opacity='.8'/%3E%3Ccircle cx='323' cy='11' r='.9' fill='%23FBF1DD' fill-opacity='.5'/%3E%3Ccircle cx='54' cy='21' r='.7' fill='%23FBF1DD' fill-opacity='1'/%3E%3Ccircle cx='85' cy='14' r='.4' fill='%23FBF1DD' fill-opacity='.5'/%3E%3Ccircle cx='120' cy='16' r='1.1' fill='%23FBF1DD' fill-opacity='.5'/%3E%3Ccircle cx='170' cy='31' r='.7' fill='%23FBF1DD' fill-opacity='.5'/%3E%3Ccircle cx='92' cy='29' r='.5' fill='%23FBF1DD' fill-opacity='.7'/%3E%3Ccircle cx='200' cy='10' r='.6' fill='%23FBF1DD' fill-opacity='.9'/%3E%3Ccircle cx='339' cy='68' r='.5' fill='%23FBF1DD' fill-opacity='.6'/%3E%3Ccircle cx='244' cy='57' r='.5' fill='%23FBF1DD' fill-opacity='.8'/%3E%3Ccircle cx='23' cy='31' r='.9' fill='%23FBF1DD' fill-opacity='.4'/%3E%3Ccircle cx='276' cy='62' r='.5' fill='%23FBF1DD' fill-opacity='1'/%3E%3Ccircle cx='251' cy='42' r='.4' fill='%23FBF1DD' fill-opacity='.5'/%3E%3Ccircle cx='160' cy='56' r='1' fill='%23FBF1DD' fill-opacity='.8'/%3E%3Ccircle cx='348' cy='37' r='.8' fill='%23FBF1DD' fill-opacity='.8'/%3E%3Ccircle cx='117' cy='58' r='1.3' fill='%23FBF1DD' fill-opacity='.5'/%3E%3Ccircle cx='171' cy='4' r='.5' fill='%23FBF1DD' fill-opacity='.8'/%3E%3Ccircle cx='131' cy='10' r='.8' fill='%23FBF1DD' fill-opacity='.7'/%3E%3Ccircle cx='150' cy='42' r='1' fill='%23FBF1DD' fill-opacity='.7'/%3E%3Ccircle cx='114' cy='44' r='.4' fill='%23FBF1DD' fill-opacity='.9'/%3E%3Ccircle cx='209' cy='25' r='1' fill='%23FBF1DD' fill-opacity='1'/%3E%3Ccircle cx='45' cy='65' r='.4' fill='%23FBF1DD' fill-opacity='.5'/%3E%3Cdefs%3E%3Cg id='l'%3E%3Ccircle r='9' fill='%23FFD889' fill-opacity='.18'/%3E%3Ccircle r='2.6' fill='%23FFE3A6'/%3E%3C/g%3E%3C/defs%3E%3Cpath d='M332 18a17 17 0 1 0 14 27a14 14 0 1 1-14-27z' fill='%23F6E9CF'/%3E%3Cpath d='M0 112L60 88L104 100L160 76L210 98L262 84L318 104L360 90L400 100V140H0Z' fill='%23262B45'/%3E%3Cpath d='M150 140L200 86L250 140Z' fill='%23F3E6D0'/%3E%3Cpath d='M200 86L188 140M200 86L212 140M200 86L200 140' stroke='%23D9C7A8' stroke-width='1'/%3E%3Cpath d='M150 140L200 86L250 140' fill='none' stroke='%23C9B48F' stroke-width='1.2'/%3E%3Cpath d='M191 140Q200 118 209 140Z' fill='%23F6C978' fill-opacity='.85'/%3E%3Cpath d='M-10 136H410' stroke='%231C2036' stroke-width='10'/%3E%3Cpath d='M-10 20Q200 70 410 30M-10 34Q200 84 410 16' fill='none' stroke='%23140F14' stroke-opacity='.7' stroke-width='1.1'/%3E%3Cuse href='%23l' x='13' y='30'/%3E%3Cuse href='%23l' x='60' y='39'/%3E%3Cuse href='%23l' x='107' y='46'/%3E%3Cuse href='%23l' x='153' y='50'/%3E%3Cuse href='%23l' x='200' y='53'/%3E%3Cuse href='%23l' x='247' y='53'/%3E%3Cuse href='%23l' x='293' y='50'/%3E%3Cuse href='%23l' x='340' y='46'/%3E%3Cuse href='%23l' x='387' y='39'/%3E%3Cuse href='%23l' x='-5' y='40'/%3E%3Cuse href='%23l' x='41' y='49'/%3E%3Cuse href='%23l' x='88' y='56'/%3E%3Cuse href='%23l' x='135' y='59'/%3E%3Cuse href='%23l' x='181' y='60'/%3E%3Cuse href='%23l' x='228' y='58'/%3E%3Cuse href='%23l' x='275' y='53'/%3E%3Cuse href='%23l' x='321' y='44'/%3E%3Cuse href='%23l' x='368' y='33'/%3E%3C/svg%3E");
  --tl-pieza: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 16'%3E%3Cpath d='M12 5l-7 -1M52 5l8.6 -1M12 7l-8.6 -.3M52 7l7 -.3M12 9l-7 .4M52 9l8.6 .4M12 11l-8.6 1.1M52 11l7 1.1' stroke='%23C7B08A' stroke-width='.8' stroke-linecap='round'/%3E%3Crect x='12' y='2.5' width='40' height='11' rx='1' fill='%23EFE3CD'/%3E%3Cpath d='M12 3.4h40M12 12.6h40' stroke='%23A4492A' stroke-width='1.8'/%3E%3Cpath d='M18.6 8l3.6-3.6 3.6 3.6-3.6 3.6z' fill='%23A4492A'/%3E%3Cpath d='M26.6 8l3.6-3.6 3.6 3.6-3.6 3.6z' fill='%23C99A3B'/%3E%3Cpath d='M34.6 8l3.6-3.6 3.6 3.6-3.6 3.6z' fill='%239E2B2B'/%3E%3Cpath d='M42.6 8l3.6-3.6 3.6 3.6-3.6 3.6z' fill='%23C99A3B'/%3E%3Ccircle cx='14.6' cy='8' r='.9' fill='%232F3E6B'/%3E%3Ccircle cx='49.4' cy='8' r='.9' fill='%232F3E6B'/%3E%3Crect x='12' y='2.5' width='40' height='11' rx='1' fill='none' stroke='%233A2418' stroke-opacity='.25' stroke-width='.6'/%3E%3C/svg%3E");
  --tl-ovillo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3CradialGradient id='o' cx='.35' cy='.3' r='.8'%3E%3Cstop offset='0' stop-color='%23fff' stop-opacity='.35'/%3E%3Cstop offset='.55' stop-color='%23fff' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='%23000' stop-opacity='.28'/%3E%3C/radialGradient%3E%3CclipPath id='k'%3E%3Ccircle cx='12' cy='12' r='12'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg clip-path='url(%23k)' fill='none' stroke-linecap='round'%3E%3Cpath d='M1 9c6-4 15-4 22 1M0 13c7-4 16-3 24 2M3 18c5-4 12-4 18 0M8 1c-4 6-4 15 1 22M14 0c4 7 4 15-1 24' stroke='%23fff' stroke-opacity='.42' stroke-width='.8'/%3E%3Cpath d='M1 10.2c6-4 15-4 22 1M3.4 19.2c5-4 12-4 18 0M15.2 .4c4 7 4 15-1 24' stroke='%23000' stroke-opacity='.18' stroke-width='.6'/%3E%3C/g%3E%3Ccircle cx='12' cy='12' r='12' fill='url(%23o)'/%3E%3C/svg%3E");
  --tl-semilla: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 24'%3E%3Cpath d='M3 19Q18 10 38 3' fill='none' stroke='%23F7EEDD' stroke-width='.9'/%3E%3Cpath d='M8.1 14.9l3.4 -4.4M8.1 14.9l4.6 1.6M11.2 12.7l3.2 -4.1M11.2 12.7l4.3 1.7M14.2 10.6l3 -3.9M14.2 10.6l4 1.8M17.3 8.8l2.8 -3.6M17.3 8.8l3.7 1.9M20.3 7.4l2.6 -3.4M20.3 7.4l3.4 2M23.4 6.2l2.4 -3.2M23.4 6.2l3.1 2.1M26.5 5.3l2.2 -2.9M26.5 5.3l2.8 2.2M29.5 4.8l2 -2.7M29.5 4.8l2.5 2.3M32.6 4.4l1.8 -2.4M32.6 4.4l2.2 2.4' stroke='%23F7EEDD' stroke-opacity='.85' stroke-width='.55' stroke-linecap='round'/%3E%3Cellipse cx='3' cy='19' rx='2' ry='1.2' fill='%23B88A4A' transform='rotate(-30 3 19)'/%3E%3C/svg%3E");
  --tl-cordel: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 40' preserveAspectRatio='none'%3E%3Cpath d='M3 40L50 4L97 40' fill='none' stroke='%237E5C36' stroke-width='1.4' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
  --tl-cantaro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 380'%3E%3Cdefs%3E%3Cfilter id='fz' x='-45%25' y='-8%25' width='190%25' height='116%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.42 .028' numOctaves='2' seed='5' result='n'/%3E%3CfeDisplacementMap in='SourceGraphic' in2='n' scale='13' xChannelSelector='R' yChannelSelector='G' result='d'/%3E%3CfeColorMatrix in='n' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 -3 0 0 0 1.62' result='s'/%3E%3CfeColorMatrix in='n' values='0 0 0 0 .52 0 0 0 0 .38 0 0 0 0 .22 0 -3 0 0 1.5' result='k'/%3E%3CfeComposite in='k' in2='d' operator='in' result='k'/%3E%3CfeComposite in='s' in2='d' operator='in' result='s'/%3E%3CfeMerge%3E%3CfeMergeNode in='d'/%3E%3CfeMergeNode in='k'/%3E%3CfeMergeNode in='s'/%3E%3C/feMerge%3E%3C/filter%3E%3ClinearGradient id='pf' x1='0' y1='1' x2='.3' y2='0'%3E%3Cstop offset='0' stop-color='%23C9AD80'/%3E%3Cstop offset='.45' stop-color='%23E6D4B3'/%3E%3Cstop offset='1' stop-color='%23FBF4E6'/%3E%3C/linearGradient%3E%3ClinearGradient id='pg' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23fff' stop-opacity='.35'/%3E%3Cstop offset='.6' stop-color='%23fff' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='%23704A1C' stop-opacity='.3'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cdefs%3E%3ClinearGradient id='b' x1='0' x2='1'%3E%3Cstop offset='0' stop-color='%23C76A42'/%3E%3Cstop offset='.4' stop-color='%23A4492A'/%3E%3Cstop offset='1' stop-color='%236F2C17'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M96 232Q86 210 80 186M104 232Q114 206 120 181M100 232Q100 200 100 150' stroke='%23A3824F' stroke-width='1.4' fill='none'/%3E%3Cg transform='translate(80 186) rotate(-13) translate(-30 0)'%3E%3Cpath d='M30 6V-136' stroke='%23B0915F' stroke-width='1.1'/%3E%3Cpath d='M30 2C8 -16 10 -95 24 -158C50 -98 52 -16 30 2Z' fill='url(%23pf)' filter='url(%23fz)'/%3E%3C/g%3E%3Cg transform='translate(100 152) rotate(-1) translate(-77 0)'%3E%3Cpath d='M77 6V-103' stroke='%23B0915F' stroke-width='1.1'/%3E%3Cpath d='M77 2C59 -12 61 -72 80 -120C93 -74 95 -12 77 2Z' fill='url(%23pf)' filter='url(%23fz)'/%3E%3C/g%3E%3Cg transform='translate(120 181) rotate(10) translate(-124 0)'%3E%3Cpath d='M124 6V-151' stroke='%23B0915F' stroke-width='1.1'/%3E%3Cpath d='M124 2C100 -18 102 -106 130 -176C146 -109 148 -18 124 2Z' fill='url(%23pf)' filter='url(%23fz)'/%3E%3C/g%3E%3Cellipse cx='100' cy='372' rx='62' ry='7' fill='%233A2418' fill-opacity='.18'/%3E%3Cpath d='M78 214h44q-2 10 6 20q44 30 42 82q-2 40-30 54H60q-28-14-30-54q-2-52 42-82q8-10 6-20z' fill='url(%23b)'/%3E%3Cpath d='M74 212h52v7H74z' fill='%238C3A20'/%3E%3Cpath d='M38 290q62 14 124 0' stroke='%23EFE3CD' stroke-width='3' fill='none'/%3E%3Cpath d='M36 312q64 14 128 0' stroke='%23EFE3CD' stroke-width='3' fill='none'/%3E%3Cpath d='M44 301l5-5 5 5-5 5zM58 303.5l5-5 5 5-5 5zM72 305.6l5-5 5 5-5 5zM86 307l5-5 5 5-5 5zM100 307.5l5-5 5 5-5 5zM114 307l5-5 5 5-5 5zM128 305.6l5-5 5 5-5 5zM142 303.5l5-5 5 5-5 5zM156 301l5-5 5 5-5 5z' fill='%23C99A3B'/%3E%3Cpath d='M58 262q-14 30-6 66' stroke='%23fff' stroke-opacity='.25' stroke-width='6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
}
/* @recursos:fin */

/* =====================================================================
   PÁGINA · algodón crudo y luz de tarde
   ===================================================================== */
html[data-theme="telar"] {
  background-color: #EFE2CC;
  background-image:
    radial-gradient(60vw 50vh at 50% -10%, rgba(255, 244, 222, .9), transparent 70%),
    radial-gradient(50vw 50vh at 100% 100%, rgba(201, 154, 59, .18), transparent 70%),
    var(--tl-tela);
  background-size: auto, auto, 8px 8px;
}
html[data-theme="telar"] ::selection { background: rgba(201, 154, 59, .35); }
html[data-theme="telar"] .inv-page { background-color: var(--bg); background-image: var(--tl-tela); background-size: 8px 8px; }
html[data-theme="telar"] .inv-section { background-color: var(--bg); background-image: var(--tl-tela); background-size: 8px 8px; }
html[data-theme="telar"] .inv-section.is-alt { background-color: var(--bg-alt); }
/* orillo tejido: una cenefa fina arriba de cada sección alterna (dosis justa) */
html[data-theme="telar"] .inv-section.is-alt::before {
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: 9px; pointer-events: none;
  background: var(--tl-cenefa-fina) 0 0 / auto 100% round no-repeat;
  box-shadow: 0 1px 0 rgba(58, 36, 24, .08);
}

/* ---------- títulos: pieza tejida, eyebrow terracota y Young Serif ---------- */
html[data-theme="telar"] .inv-head::before,
html[data-theme="telar"] .inv-section--rsvp .inv-head::before {
  content: ''; display: block; width: 64px; height: 16px; margin: 0 auto 16px;
  background: var(--tl-pieza) center / contain no-repeat;
}
html[data-theme="telar"] .inv-eyebrow { font-weight: 600; font-size: .7rem; letter-spacing: .3em; color: var(--accent); }
html[data-theme="telar"] .inv-title {
  font-weight: 400; font-size: clamp(2rem, 8.4vw, 2.6rem); line-height: 1.1; letter-spacing: -.005em; color: var(--ink);
}
html[data-theme="telar"] .inv-text { line-height: 1.75; }
html[data-theme="telar"] .inv-head .inv-text { font-size: 1rem; }

/* ---------- tarjetas y botones ---------- */
html[data-theme="telar"] .inv-card {
  border-color: rgba(58, 36, 24, .1);
  background-image: var(--tl-grano); background-size: 180px;
}
html[data-theme="telar"] .inv-btn {
  border-radius: 999px; font-weight: 600; letter-spacing: .03em;
  box-shadow: 0 12px 22px -14px rgba(122, 50, 24, .9), inset 0 1px 0 rgba(255, 255, 255, .14);
}
html[data-theme="telar"] .inv-btn--ghost { box-shadow: none; border-width: 1.5px; }
html[data-theme="telar"] .inv-btn.is-draft { color: var(--ink); }

/* =====================================================================
   HERO · la foto cuelga como un tapiz: vara, cordel, cenefas, flecos y un ramillete seco
   ===================================================================== */
html[data-theme="telar"] .inv-hero { color: var(--ink); }
html[data-theme="telar"] .inv-hero--framed,
html[data-theme="telar"] .inv-hero--type,
html[data-theme="telar"] .inv-hero--noimg {
  background-color: var(--bg);
  background-image:
    radial-gradient(70% 36% at 50% 24%, rgba(255, 248, 232, .95), rgba(255, 248, 232, 0) 72%),
    radial-gradient(95% 46% at 50% 20%, rgba(233, 178, 98, .26), transparent 70%),
    var(--tl-tela);
  background-size: auto, auto, 8px 8px;
}
/* cerros del valle al pie de la portada */
html[data-theme="telar"] .inv-hero::before {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; z-index: -1; height: 132px; pointer-events: none;
  background: var(--tl-valle) 50% 100% / cover no-repeat; opacity: .5;
  -webkit-mask: linear-gradient(transparent, #000 45%); mask: linear-gradient(transparent, #000 45%);
}
html[data-theme="telar"] .inv-hero--photo::before { display: none; }

html[data-theme="telar"] .inv-hero--framed { justify-content: flex-start; padding-top: clamp(66px, 9vh, 104px); }
html[data-theme="telar"] .inv-hero--framed .inv-hero__media {
  width: min(58vw, 256px); aspect-ratio: auto;
  padding: 40px 13px 42px; border: 0; border-radius: 3px;
  background:
    var(--tl-cenefa) 0 10px / auto 22px round no-repeat,
    var(--tl-cenefa) 0 calc(100% - 11px) / auto 22px round no-repeat,
    linear-gradient(90deg, transparent 3px, #B4573A 3px 5px, transparent 5px 7px, #C99A3B 7px 8px, transparent 8px calc(100% - 8px), #C99A3B 0 calc(100% - 7px), transparent 0 calc(100% - 5px), #B4573A 0 calc(100% - 3px), transparent 0),
    linear-gradient(90deg, rgba(58, 36, 24, .14), transparent 6%, transparent 94%, rgba(58, 36, 24, .14)),
    var(--tl-grano) 0 0 / 180px,
    var(--tl-tela) 0 0 / 7px 7px,
    var(--tl-algodon);
  box-shadow: 0 34px 46px -30px rgba(58, 36, 24, .6), 0 3px 6px -2px rgba(58, 36, 24, .18);
  transform-origin: 50% -44px;
}
html[data-theme="telar"] .inv-hero--framed .inv-hero__img {
  height: auto; aspect-ratio: 4 / 5; border-radius: 2px; transform: none;
  background: var(--tl-barro);
  box-shadow: 0 0 0 1px rgba(58, 36, 24, .2), 0 0 0 4px rgba(251, 246, 236, .7);
}
/* vara de madera y cordel con su clavo */
html[data-theme="telar"] .inv-hero--framed .inv-hero__media::before {
  content: ''; position: absolute; inset: auto; left: -18px; right: -18px; top: -52px; height: 64px;
  border: 0; border-radius: 0; pointer-events: none;
  background:
    radial-gradient(circle at 50% 4px, #6E4A2A 0 3px, transparent 3.6px) 0 0 / 100% 100% no-repeat,
    var(--tl-cordel) 50% 0 / calc(100% - 40px) 48px no-repeat,
    radial-gradient(circle at 6px 50%, #8E5A2F 0 5px, transparent 5.5px) 0 100% / 12px 12px no-repeat,
    radial-gradient(circle at 6px 50%, #8E5A2F 0 5px, transparent 5.5px) 100% 100% / 12px 12px no-repeat,
    linear-gradient(180deg, #E2B47C, #B98048 52%, #8A562C) 6px 100% / calc(100% - 12px) 12px no-repeat;
  filter: drop-shadow(0 4px 3px rgba(58, 36, 24, .25));
}
/* flecos que cuelgan */
html[data-theme="telar"] .inv-hero--framed .inv-hero__media::after {
  content: ''; position: absolute; left: 5px; right: 5px; top: calc(100% - 3px); height: 42px; pointer-events: none;
  background: var(--tl-flecos) 0 0 / auto 100% round no-repeat;
  transform-origin: 50% 0;
}
/* ramillete metido en la esquina y velo cálido de revelado sobre la foto */
html[data-theme="telar"] .inv-hero--framed .inv-hero__shade { display: block; inset: 0; z-index: 2; background: none; pointer-events: none; }
html[data-theme="telar"] .inv-hero--framed .inv-hero__shade::before {
  content: ''; position: absolute; left: -50px; top: -84px; width: 128px; height: 158px;
  background: var(--tl-ramillete) center / contain no-repeat;
  transform: rotate(-24deg); transform-origin: 51% 79%;
  filter: drop-shadow(0 6px 5px rgba(58, 36, 24, .2));
}
html[data-theme="telar"] .inv-hero--framed .inv-hero__shade::after {
  content: ''; position: absolute; left: 13px; right: 13px; top: 40px; bottom: 42px; opacity: 0;
  background: radial-gradient(120% 90% at 50% 40%, rgba(255, 243, 222, .55), rgba(222, 178, 126, .8));
}
/* una pampa alta asoma detrás del tapiz */
html[data-theme="telar"] .inv-hero--framed::after {
  content: ''; position: absolute; z-index: -1; pointer-events: none;
  top: calc(clamp(66px, 9vh, 104px) - 22px); left: calc(50% + min(29vw, 128px) - 30px);
  width: 64px; height: 280px; background: var(--tl-pampa) 0 0 / contain no-repeat;
  transform: rotate(14deg); transform-origin: 50% 100%;
}

/* entrada: el tapiz se cuelga y se mece; la foto revela su color. Arranca con .is-revealing (sin marco vacío). */
html[data-theme="telar"] .inv-hero--framed .inv-hero__media { opacity: 0; }
html[data-theme="telar"].is-revealing .inv-hero--framed .inv-hero__media,
html[data-theme="telar"].is-revealed .inv-hero--framed .inv-hero__media { animation: tlColgar 2.8s cubic-bezier(.3, .7, .3, 1) both; }
html[data-theme="telar"].is-revealing .inv-hero--framed .inv-hero__media::after,
html[data-theme="telar"].is-revealed .inv-hero--framed .inv-hero__media::after { animation: tlFlecos 3.2s cubic-bezier(.3, .7, .3, 1) .25s both; }
html[data-theme="telar"] .inv-hero--framed .inv-hero__shade::after { opacity: 1; transition: opacity 2s cubic-bezier(.3, 0, .2, 1) .35s; }
html[data-theme="telar"].is-revealing .inv-hero--framed .inv-hero__shade::after,
html[data-theme="telar"].is-revealed .inv-hero--framed .inv-hero__shade::after { opacity: 0; }
html[data-theme="telar"] .inv-hero--framed .inv-hero__shade::before { opacity: 0; transform: rotate(-44deg) scale(.6); transition: transform 1.2s var(--spring) 1s, opacity .5s ease 1s; }
html[data-theme="telar"].is-revealed .inv-hero--framed .inv-hero__shade::before { opacity: 1; transform: rotate(-24deg); }
html[data-theme="telar"] .inv-hero--framed::after { opacity: 0; transform: rotate(4deg) translateY(30px); transition: transform 1.6s var(--ease) .7s, opacity 1s ease .7s; }
html[data-theme="telar"].is-revealed .inv-hero--framed::after { opacity: .95; transform: rotate(14deg); }
@keyframes tlColgar {
  0% { opacity: 0; transform: translateY(-22px) rotate(-5deg); }
  30% { opacity: 1; transform: translateY(0) rotate(3.2deg); }
  52% { transform: rotate(-1.8deg); }
  72% { transform: rotate(.8deg); }
  88% { transform: rotate(-.3deg); }
  100% { opacity: 1; transform: none; }
}
@keyframes tlFlecos {
  0% { transform: skewX(0); }
  25% { transform: skewX(-9deg); }
  48% { transform: skewX(6deg); }
  68% { transform: skewX(-3deg); }
  86% { transform: skewX(1.2deg); }
  100% { transform: none; }
}
/* modo accesible (§14.3): todo quieto y a la vista desde el primer cuadro */
html[data-theme="telar"][data-access='1'] .inv-hero--framed .inv-hero__media { opacity: 1; animation: none; }
html[data-theme="telar"][data-access='1'] .inv-hero--framed .inv-hero__media::after { animation: none; }
html[data-theme="telar"][data-access='1'] .inv-hero--framed .inv-hero__shade::after { opacity: 0; transition: none; }
html[data-theme="telar"][data-access='1'] .inv-hero--framed .inv-hero__shade::before { opacity: 1; transform: rotate(-24deg); transition: none; }
html[data-theme="telar"][data-access='1'] .inv-hero--framed::after { opacity: .95; transform: rotate(14deg); transition: none; }

@media (min-width: 700px) {
  html[data-theme="telar"] .inv-hero--framed .inv-hero__media { width: 292px; }
  html[data-theme="telar"] .inv-hero--framed::after { left: calc(50% + 116px); }
}
/* textos del hero */
html[data-theme="telar"] .inv-hero--framed .inv-hero__content { padding-top: 46px; }
html[data-theme="telar"] .inv-hero__eyebrow { color: var(--accent); opacity: 1; letter-spacing: .3em; line-height: 1.6; margin-bottom: .3rem; }
html[data-theme="telar"] .inv-hero--photo .inv-hero__eyebrow { color: inherit; }
html[data-theme="telar"] .inv-hero__title {
  font-family: var(--font-display); font-weight: 400; color: var(--ink);
  font-size: clamp(2.8rem, 12.8vw, 4.1rem); line-height: .96; letter-spacing: -.01em; margin: .14em 0 .12em;
}
html[data-theme="telar"] .inv-amp {
  display: flex; align-items: center; justify-content: center; gap: .55em;
  font-family: var(--font-display); color: var(--accent); font-size: .4em; line-height: 1.2; margin: .12em 0 .16em;
}
html[data-theme="telar"] .inv-amp::before,
html[data-theme="telar"] .inv-amp::after { content: ''; width: 2.4em; height: 6px; background: var(--tl-zigzag) 0 50% / auto 100% repeat-x; }
html[data-theme="telar"] .inv-hero--photo .inv-amp { color: inherit; }
html[data-theme="telar"] .inv-hero__subtitle {
  font-family: var(--font-body); font-style: normal; font-size: 1.02rem; line-height: 1.55; color: var(--ink-soft);
  opacity: 1; max-width: 19rem; margin-top: .55rem;
}
html[data-theme="telar"] .inv-hero--photo .inv-hero__subtitle { color: inherit; }
html[data-theme="telar"] .inv-hero__date { gap: 12px; max-width: 19rem; margin: 1.4rem auto .8rem; font-size: .66rem; letter-spacing: .28em; }
html[data-theme="telar"] .inv-hero__date-side {
  border: 0; padding: .95em 0;
  background: var(--tl-zigzag) 0 0 / auto 5px repeat-x, var(--tl-zigzag) 0 100% / auto 5px repeat-x;
}
html[data-theme="telar"] .inv-hero__date-day { font-family: var(--font-display); font-size: 3.4rem; color: var(--accent); }
html[data-theme="telar"] .inv-hero--photo .inv-hero__date-day { color: inherit; }
html[data-theme="telar"] .inv-hero__time { font-size: .74rem; letter-spacing: .16em; text-transform: none; color: var(--ink-soft); opacity: 1; padding-top: 4px; }
html[data-theme="telar"] .inv-hero--photo .inv-hero__time { color: inherit; }
html[data-theme="telar"] .inv-hero__place { color: var(--ink-soft); opacity: 1; font-size: .9rem; }
html[data-theme="telar"] .inv-hero__place .inv-icon { color: var(--accent); }
html[data-theme="telar"] .inv-hero--photo .inv-hero__place,
html[data-theme="telar"] .inv-hero--photo .inv-hero__place .inv-icon { color: inherit; }
html[data-theme="telar"] .inv-hero__cue { color: var(--ink-soft); }
html[data-theme="telar"] .inv-hero--photo .inv-hero__cue { color: inherit; }

/* pase del invitado: etiqueta tejida con pespunte */
html[data-theme="telar"] .inv-guest {
  border-radius: 4px; padding: 16px 24px 15px;
  background: var(--tl-cenefa-fina) 0 0 / auto 8px round no-repeat, var(--tl-grano) 0 0 / 180px, var(--surface);
  border: 1px solid rgba(58, 36, 24, .14);
  outline: 1px dashed rgba(150, 63, 34, .45); outline-offset: -6px;
  box-shadow: 0 16px 28px -20px rgba(58, 36, 24, .55);
}
html[data-theme="telar"] .inv-guest__label { color: var(--accent); opacity: 1; letter-spacing: .3em; }
html[data-theme="telar"] .inv-guest__name { font-family: var(--font-display); font-weight: 400; font-size: 1.4rem; }
html[data-theme="telar"] .inv-guest__passes { color: var(--ink-soft); opacity: 1; }
html[data-theme="telar"] .inv-hero--photo .inv-guest { color: var(--ink); }
html[data-theme="telar"] .inv-hero__guest { margin-top: 1.4rem; }

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

/* insignia de arcilla (íconos de eventos, vestimenta, regalos, hospedaje, aviso, preguntas) */
html[data-theme="telar"] .inv-event__icon,
html[data-theme="telar"] .inv-dress__icon,
html[data-theme="telar"] .inv-gift__icon,
html[data-theme="telar"] .inv-hotel__icon,
html[data-theme="telar"] .inv-note__icon,
html[data-theme="telar"] .inv-album__icon {
  border-radius: 50%; border: 0; color: var(--accent-ink);
  background: var(--tl-arcilla);
  box-shadow: inset 0 0 0 3px rgba(255, 249, 240, .16), inset 0 -3px 6px rgba(60, 20, 8, .3), 0 8px 16px -8px rgba(122, 50, 24, .7);
}

/* — frase: una manta de terracota tejida, con su cenefa arriba y abajo (el momento de color de la página) — */
html[data-theme="telar"] .inv-section.inv-section--quote {
  padding-block: clamp(92px, 24vw, 124px); color: #FBF1E2;
  background-color: #8E3B20;
  background-image:
    var(--tl-cenefa), var(--tl-cenefa),
    radial-gradient(90% 70% at 50% 45%, rgba(255, 200, 140, .14), transparent 70%),
    linear-gradient(90deg, rgba(40, 14, 6, .3), transparent 9%, transparent 91%, rgba(40, 14, 6, .3)),
    var(--tl-tela);
  background-size: auto 24px, auto 24px, auto, auto, 6px 6px;
  background-position: 0 0, 0 100%, 0 0, 0 0, 0 0;
  background-repeat: round no-repeat, round no-repeat, no-repeat, no-repeat, repeat;
}
html[data-theme="telar"] .inv-section.inv-section--quote::before { display: none; }
html[data-theme="telar"] .inv-quote__mark { font-family: var(--font-display); color: #E9BF6A; opacity: .9; font-size: 5.4rem; top: -.28em; }
html[data-theme="telar"] .inv-quote__text p {
  font-family: var(--font-display); font-style: normal; font-size: clamp(1.4rem, 6vw, 1.75rem); line-height: 1.42; color: #FBF1E2;
  text-wrap: balance;
}
html[data-theme="telar"] .inv-quote__author { color: #F8E6C2; letter-spacing: .26em; }
html[data-theme="telar"] .inv-quote__author::before {
  width: 54px; height: 6px; background: #E9BF6A;
  -webkit-mask: var(--tl-zigzag) 0 50% / auto 100% repeat-x; mask: var(--tl-zigzag) 0 50% / auto 100% repeat-x;
}

/* — historia: polaroid con gancho y una ramita seca — */
html[data-theme="telar"] .inv-story__figure {
  width: min(76%, 292px); padding: 11px 11px 44px; margin-bottom: 2.6rem;
  background: var(--tl-grano) 0 0 / 180px, linear-gradient(170deg, #FFFCF5, #F4EADA);
  border-radius: 2px;
  box-shadow: 0 28px 40px -26px rgba(58, 36, 24, .6), 0 2px 4px rgba(58, 36, 24, .12);
}
html[data-theme="telar"] .inv-story__figure.reveal { transform: translateY(28px) rotate(-2.5deg); }
html[data-theme="telar"] .inv-story__figure.reveal.is-in { transform: rotate(-2.5deg); }
html[data-theme="telar"] .inv-story__figure img { aspect-ratio: 4 / 5; border-radius: 1px; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1); }
html[data-theme="telar"] .inv-story__figure::after {
  inset: auto; left: 50%; top: -30px; width: 22px; height: 62px; border: 0; border-radius: 0;
  background: var(--tl-gancho) center / contain no-repeat; transform: translateX(-50%) rotate(5deg);
  filter: drop-shadow(0 4px 3px rgba(58, 36, 24, .3));
}
html[data-theme="telar"] .inv-story__figure::before {
  content: ''; position: absolute; z-index: 2; right: -40px; bottom: -34px; width: 96px; height: 118px; pointer-events: none;
  background: var(--tl-ramillete) center / contain no-repeat; transform: rotate(32deg);
  filter: drop-shadow(0 6px 5px rgba(58, 36, 24, .2));
}
html[data-theme="telar"] .inv-story__glow { inset: 30% -30% -14%; background: radial-gradient(closest-side, rgba(233, 178, 98, .32), transparent); }
html[data-theme="telar"] .inv-story__body .inv-text:first-child::first-letter { font-family: var(--font-display); color: var(--accent); font-size: 3.5em; padding-right: .08em; }
html[data-theme="telar"] .inv-story__sig { font-size: 2.5rem; color: var(--accent); margin-top: 1.8rem; }

/* — cuenta regresiva: muestras de tejido con orillo de color — */
html[data-theme="telar"] .inv-countdown { gap: 9px; }
html[data-theme="telar"] .inv-countdown__unit {
  padding: 24px 4px 14px; border-radius: 6px; border-color: rgba(58, 36, 24, .12);
  background: var(--tl-grano) 0 0 / 180px, var(--surface);
  outline: 1px dashed rgba(150, 63, 34, .32); outline-offset: -5px;
}
html[data-theme="telar"] .inv-countdown__unit::before {
  left: 0; right: 0; top: 0; height: 9px; opacity: 1;
  background: var(--tl-terracota) var(--tl-tela) 0 0 / 5px 5px;
}
html[data-theme="telar"] .inv-countdown__unit:nth-child(2)::before { background-color: var(--tl-ocre); }
html[data-theme="telar"] .inv-countdown__unit:nth-child(3)::before { background-color: var(--tl-anil); }
html[data-theme="telar"] .inv-countdown__unit:nth-child(4)::before { background-color: var(--tl-verde); }
html[data-theme="telar"] .inv-countdown__num { font-family: var(--font-display); font-weight: 400; color: var(--ink); }
html[data-theme="telar"] .inv-countdown__lbl { color: var(--ink-soft); }
html[data-theme="telar"] .inv-countdown__date { color: var(--ink-soft); }
html[data-theme="telar"] .inv-countdown__done { font-family: var(--font-display); font-style: normal; }

/* — lugares: tarjetas con la tarde (sol y molle) y la noche (luces y carpa) pintadas — */
html[data-theme="telar"] .inv-event { border-radius: 8px; overflow: hidden; }
html[data-theme="telar"] .inv-event:not(.has-img) { padding-top: 0; }
html[data-theme="telar"] .inv-event:not(.has-img)::before {
  content: ''; display: block; height: 132px; margin-bottom: -2px;
  background: var(--tl-cenefa) 0 100% / auto 16px round no-repeat, var(--tl-dia) 50% 0 / cover no-repeat;
  border-bottom: 2px solid var(--tl-terracota);
}
html[data-theme="telar"] .inv-event:not(.has-img):nth-child(2n)::before { background-image: var(--tl-cenefa), var(--tl-noche); }
html[data-theme="telar"] .inv-event:not(.has-img) .inv-event__icon { position: relative; margin-top: -30px; }
html[data-theme="telar"] .inv-event.has-img .inv-event__icon { background: var(--tl-arcilla); }
html[data-theme="telar"] .inv-event__name { font-family: var(--font-display); font-weight: 400; }
html[data-theme="telar"] .inv-event__meta .inv-icon { color: var(--accent); }

/* — programa: hilo pespunteado y botones de arcilla — */
html[data-theme="telar"] .inv-timeline::before {
  width: 2px; background: repeating-linear-gradient(180deg, var(--tl-terracota) 0 7px, transparent 7px 12px);
}
html[data-theme="telar"] .inv-timeline__dot {
  color: var(--accent); background: var(--surface);
  border: 1.5px solid var(--tl-terracota);
  box-shadow: 0 0 0 6px var(--bg), inset 0 0 0 4px var(--surface), inset 0 0 0 5px rgba(201, 154, 59, .55);
}
html[data-theme="telar"] .inv-section.is-alt .inv-timeline__dot { box-shadow: 0 0 0 6px var(--bg-alt), inset 0 0 0 4px var(--surface), inset 0 0 0 5px rgba(201, 154, 59, .55); }
html[data-theme="telar"] .inv-timeline__item:nth-child(even) .inv-timeline__dot { border-color: var(--tl-ocre); }
html[data-theme="telar"] .inv-timeline__time { color: var(--accent); letter-spacing: .18em; }
html[data-theme="telar"] .inv-timeline__title { font-family: var(--font-display); font-weight: 400; }

/* — vestimenta: manta con cenefa y muestras como ovillos — */
html[data-theme="telar"] .inv-dress {
  position: relative; overflow: hidden; padding: 46px 22px 40px; border-radius: 8px;
  background: var(--tl-grano) 0 0 / 180px, var(--surface);
  border: 1px solid rgba(58, 36, 24, .1); box-shadow: var(--shadow);
}
html[data-theme="telar"] .inv-dress::before,
html[data-theme="telar"] .inv-dress::after { content: ''; position: absolute; left: 0; right: 0; height: 20px; background: var(--tl-cenefa) 0 0 / auto 100% round no-repeat; }
html[data-theme="telar"] .inv-dress::before { top: 0; }
html[data-theme="telar"] .inv-dress::after { bottom: 0; height: 9px; background-image: var(--tl-cenefa-fina); }
html[data-theme="telar"] .inv-dress__code { font-family: var(--font-display); }
html[data-theme="telar"] .inv-dress__label { color: var(--ink-soft); }
html[data-theme="telar"] .inv-chip { background: var(--surface); border-color: rgba(58, 36, 24, .14); }
html[data-theme="telar"] .inv-chip__swatch { position: relative; width: 26px; height: 26px; }
html[data-theme="telar"] .inv-chip__swatch::after { content: ''; position: absolute; inset: 0; border-radius: 50%; background: var(--tl-ovillo) center / cover; }

/* — galería: instantáneas colgadas sobre una manta cacao (segundo momento de color) — */
html[data-theme="telar"] .inv-section.inv-section--gallery {
  background-color: #3E271B;
  background-image:
    var(--tl-cenefa), var(--tl-cenefa),
    radial-gradient(80% 50% at 50% 30%, rgba(201, 154, 59, .16), transparent 70%),
    linear-gradient(90deg, rgba(0, 0, 0, .25), transparent 10%, transparent 90%, rgba(0, 0, 0, .25)),
    var(--tl-tela);
  background-size: auto 24px, auto 24px, auto, auto, 6px 6px;
  background-position: 0 0, 0 100%, 0 0, 0 0, 0 0;
  background-repeat: round no-repeat, round no-repeat, no-repeat, no-repeat, repeat;
  padding-block: clamp(84px, 22vw, 116px);
}
html[data-theme="telar"] .inv-section.inv-section--gallery::before { display: none; }
html[data-theme="telar"] .inv-section--gallery .inv-eyebrow { color: #E9BF6A; }
html[data-theme="telar"] .inv-section--gallery .inv-title { color: #FBF1E2; }
html[data-theme="telar"] .inv-section--gallery .inv-head .inv-text { color: #EADCC6; }
html[data-theme="telar"] .inv-gallery--polaroids { gap: 34px 16px; padding-top: 22px; }
html[data-theme="telar"] .inv-gallery--polaroids .inv-gallery__item {
  padding: 8px 8px 40px; border-radius: 2px;
  background: var(--tl-grano) 0 0 / 180px, linear-gradient(170deg, #FFFCF5, #F3E9D8);
  box-shadow: 0 16px 26px -14px rgba(58, 36, 24, .5), 0 2px 4px rgba(58, 36, 24, .1);
}
html[data-theme="telar"] .inv-gallery--polaroids .inv-gallery__item::before {
  content: ''; position: absolute; z-index: 2; left: 50%; top: -22px; width: 16px; height: 44px;
  background: var(--tl-gancho) center / contain no-repeat; transform: translateX(-50%) rotate(4deg);
  filter: drop-shadow(0 3px 2px rgba(58, 36, 24, .3));
}
html[data-theme="telar"] .inv-gallery__cap { color: var(--ink); font-size: 1.12rem; bottom: 10px; }
html[data-theme="telar"] .inv-gallery__dots span { background: rgba(251, 241, 226, .3); }
html[data-theme="telar"] .inv-gallery__dots span.is-on { background: #E9BF6A; }

/* — regalos y hospedaje: tarjetas de algodón con orillo tejido — */
html[data-theme="telar"] .inv-gift,
html[data-theme="telar"] .inv-hotel { overflow: hidden; padding-top: 30px; border-radius: 8px; }
html[data-theme="telar"] .inv-gift::before,
html[data-theme="telar"] .inv-hotel::before {
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: 9px;
  background: var(--tl-cenefa-fina) 0 0 / auto 100% round no-repeat;
}
html[data-theme="telar"] .inv-gift__title,
html[data-theme="telar"] .inv-hotel__name { font-family: var(--font-display); font-weight: 400; }
html[data-theme="telar"] .inv-gift__copy { background: var(--bg); border-color: rgba(150, 63, 34, .35); }
html[data-theme="telar"] .inv-hotel__code strong { color: var(--accent); }
/* la lluvia de sobres va a un cántaro de barro */
html[data-theme="telar"] .inv-gift--envelope { padding-right: 92px; }
html[data-theme="telar"] .inv-gift--envelope::after {
  content: ''; position: absolute; right: 8px; bottom: -6px; width: 76px; height: 144px; pointer-events: none;
  background: var(--tl-cantaro) center bottom / contain no-repeat;
}

/* — aviso: manta con orillo, cerros al pie — */
html[data-theme="telar"] .inv-note {
  position: relative; overflow: hidden; padding: 34px 20px 66px 18px; border-radius: 8px;
  background: var(--tl-grano) 0 0 / 180px, var(--surface);
  border: 1px solid rgba(201, 154, 59, .45); box-shadow: var(--shadow);
}
html[data-theme="telar"] .inv-note::before {
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: 9px;
  background: var(--tl-cenefa-fina) 0 0 / auto 100% round no-repeat;
}
html[data-theme="telar"] .inv-note::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 58px; pointer-events: none;
  background: var(--tl-valle) 50% 100% / cover no-repeat; opacity: .7;
}
html[data-theme="telar"] .inv-note__title { font-family: var(--font-display); font-weight: 400; }

/* — álbum: el QR en un marco de algodón — */
html[data-theme="telar"] .inv-album { overflow: hidden; border-radius: 8px; padding-top: 38px; }
html[data-theme="telar"] .inv-album::before {
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: 18px;
  background: var(--tl-cenefa) 0 0 / auto 100% round no-repeat;
}
html[data-theme="telar"] .inv-album__qr { box-shadow: 0 0 0 7px var(--tl-algodon), 0 0 0 8px rgba(58, 36, 24, .16), 0 22px 36px -18px rgba(58, 36, 24, .5); }

/* — preguntas — */
html[data-theme="telar"] .inv-faq { gap: 12px; }
html[data-theme="telar"] .inv-faq__item { border-radius: 8px; border-color: rgba(58, 36, 24, .12); background: var(--tl-grano) 0 0 / 180px, var(--surface); border-left: 4px solid var(--tl-ocre); }
html[data-theme="telar"] .inv-faq__item.is-open { border-left-color: var(--tl-terracota); }
html[data-theme="telar"] .inv-faq__q { font-family: var(--font-display); font-weight: 400; font-size: 1.12rem; }
html[data-theme="telar"] .inv-faq__icon { background: rgba(201, 154, 59, .18); color: var(--accent); }

html[data-theme="telar"] .inv-wish { border-radius: 6px; }
html[data-theme="telar"] .inv-wish__msg p { font-family: var(--font-display); font-size: 1.08rem; }

/* — confirmación: sol que sale detrás de la tarjeta — */
html[data-theme="telar"] .inv-section--rsvp {
  background-image:
    radial-gradient(70% 34% at 50% 0%, rgba(233, 178, 98, .32), transparent 72%),
    var(--tl-tela);
  background-size: auto, 8px 8px;
}
html[data-theme="telar"] .inv-rsvp__form,
html[data-theme="telar"] .inv-rsvp__done,
html[data-theme="telar"] .inv-rsvp__closed { position: relative; overflow: hidden; border-radius: 10px; }
html[data-theme="telar"] .inv-rsvp__form { padding-top: 34px; }
html[data-theme="telar"] .inv-rsvp__form::before,
html[data-theme="telar"] .inv-rsvp__done::before {
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: 12px;
  background: var(--tl-cenefa) 0 0 / auto 100% round no-repeat;
}
html[data-theme="telar"] .inv-rsvp__done { padding-top: 44px; }
html[data-theme="telar"] .inv-rsvp__face { border-radius: 8px; }
html[data-theme="telar"] .inv-rsvp__done-title { font-family: var(--font-display); font-weight: 400; }

/* — pie: cerros del valle, ramillete y firma a mano — */
html[data-theme="telar"] .inv-footer {
  padding-top: 232px; overflow: hidden;
  background: var(--tl-tela) 0 0 / 8px 8px, var(--bg);
}
html[data-theme="telar"] .inv-footer::before {
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: 120px; pointer-events: none;
  background: var(--tl-valle) 50% 100% / cover no-repeat; opacity: .75;
  -webkit-mask: linear-gradient(#000 70%, transparent); mask: linear-gradient(#000 70%, transparent);
}
html[data-theme="telar"] .inv-footer::after {
  content: ''; position: absolute; left: 50%; top: 92px; width: 104px; height: 128px; pointer-events: none;
  background: var(--tl-ramillete) center / contain no-repeat; transform: translateX(-50%) rotate(-8deg);
}
html[data-theme="telar"] .inv-footer__orn { display: none; }
html[data-theme="telar"] .inv-footer__text { font-size: 2.5rem; line-height: 1.25; color: var(--ink); text-wrap: balance; }
html[data-theme="telar"] .inv-footer__date { color: var(--ink-soft); }

/* — barra de acciones: algodón translúcido — */
html[data-theme="telar"] .inv-actionbar { background: color-mix(in srgb, var(--surface) 86%, transparent); border-color: rgba(58, 36, 24, .12); }

/* =====================================================================
   APERTURA «polaroid» (solo CSS sobre intros.css): instantánea de algodón con orillo tejido, gancho y
   ramillete, sobre una cinta de telar; detrás, sol y cerros. Se agita, revela (oscuro → pálido → color)
   y la cámara entra en la foto. Solo transform y opacity animados.
   ===================================================================== */
html[data-theme="telar"] .inv-intro--polaroid { background: var(--intro-bg); }
/* sol de la tarde arriba a la derecha (disco suave, sin rostro ni rayos) y luz cálida que baja hacia el valle */
html[data-theme="telar"] .inv-intro--polaroid .inv-intro__bg {
  --tl-sol: calc(50% + min(26vw, 150px)) 19%;
  background-image:
    radial-gradient(circle at var(--tl-sol), #FFF7E4 0 min(7vw, 40px), rgba(255, 238, 200, .8) min(9.5vw, 54px), rgba(246, 204, 136, .34) min(20vw, 112px), transparent min(44vw, 250px)),
    radial-gradient(90% 55% at 60% 26%, rgba(238, 182, 98, .3), transparent 72%),
    linear-gradient(180deg, #F9EDD7 0%, #F2DFC0 52%, #E7C9A0 100%);
}
/* haces de luz de tarde, en diagonal desde el sol (paralelos, no rayos de un disco); se mecen despacio */
html[data-theme="telar"] .inv-intro--polaroid .inv-intro__bg::before {
  content: ''; position: absolute; inset: -10% -45% 20%;
  background: repeating-linear-gradient(118deg, rgba(255, 247, 228, 0) 0 34px, rgba(255, 247, 228, .5) 58px, rgba(255, 247, 228, 0) 84px 132px);
  -webkit-mask: radial-gradient(60% 55% at 74% 22%, #000 20%, transparent 78%); mask: radial-gradient(60% 55% at 74% 22%, #000 20%, transparent 78%);
  transform: translateX(-24px); transition: opacity .9s ease;
}
html[data-theme="telar"] .inv-intro--polaroid.is-ready .inv-intro__bg::before { animation: tlLuz 9s ease-in-out infinite alternate; }
html[data-theme="telar"] .inv-intro--polaroid.is-opening .inv-intro__bg::before { opacity: 0; }
@keyframes tlLuz { to { transform: translateX(24px); } }
/* cerros del valle al pie, con textura de fibra */
html[data-theme="telar"] .inv-intro--polaroid .inv-intro__bg::after {
  content: ''; position: absolute; inset: auto 0 0; height: max(30vh, 180px); opacity: 1; mix-blend-mode: normal;
  background: var(--tl-valle) 50% 100% / cover no-repeat;
}
/* pampas en primer plano, mecidas por la brisa */
html[data-theme="telar"] .inv-intro--polaroid::before,
html[data-theme="telar"] .inv-intro--polaroid::after {
  content: ''; position: absolute; z-index: 3; bottom: -8px; pointer-events: none; aspect-ratio: 1 / 3;
  background: var(--tl-pampas) 0 100% / contain no-repeat; transform-origin: 50% 100%;
  transition: opacity .5s ease;
}
html[data-theme="telar"] .inv-intro--polaroid::before { left: -44px; height: min(50vh, 430px); }
html[data-theme="telar"] .inv-intro--polaroid::after { right: -34px; height: min(42vh, 360px); transform: scaleX(-1) rotate(-4deg); }
@media (min-width: 900px) {
  html[data-theme="telar"] .inv-intro--polaroid::before { left: max(-30px, calc(50% - 640px)); height: min(74vh, 640px); }
  html[data-theme="telar"] .inv-intro--polaroid::after { right: max(-24px, calc(50% - 630px)); height: min(60vh, 520px); }
}
html[data-theme="telar"] .inv-intro--polaroid.is-ready::before { animation: tlBrisa 6.5s ease-in-out infinite; }
html[data-theme="telar"] .inv-intro--polaroid.is-ready::after { animation: tlBrisa2 7.5s ease-in-out -2s infinite; }
html[data-theme="telar"] .inv-intro--polaroid:has(.pol.s2)::before,
html[data-theme="telar"] .inv-intro--polaroid:has(.pol.s2)::after { opacity: 0; }
@keyframes tlBrisa { 0%, 100% { transform: rotate(-2deg); } 50% { transform: rotate(3deg); } }
@keyframes tlBrisa2 { 0%, 100% { transform: scaleX(-1) rotate(-4deg); } 50% { transform: scaleX(-1) rotate(2deg); } }

html[data-theme="telar"] .inv-intro--polaroid .inv-intro__eyebrow { color: var(--ink); letter-spacing: .34em; }

/* escena */
html[data-theme="telar"] .pol { isolation: isolate; margin-top: 6%; }
/* cinta de telar cruzada detrás de la foto */
html[data-theme="telar"] .pol::before {
  content: ''; position: absolute; z-index: -1; left: 50%; top: 60%;
  width: min(180vw, 1500px); height: clamp(28px, 8vw, 36px);
  background: var(--tl-cenefa) 0 0 / auto 100% repeat-x;
  box-shadow: 0 7px 14px -6px rgba(58, 36, 24, .35);
  transform: translate(-50%, -50%) rotate(-11deg);
  transition: opacity .45s ease;
}
/* una pampa suelta detrás, arriba a la derecha */
html[data-theme="telar"] .pol::after {
  content: ''; position: absolute; z-index: -1; right: -50px; top: -70px; width: 62px; height: 260px;
  background: var(--tl-pampa) 0 0 / contain no-repeat; transform: rotate(26deg);
  transition: opacity .45s ease;
}
html[data-theme="telar"] .pol.s2::before,
html[data-theme="telar"] .pol.s2::after { opacity: 0; }

/* la instantánea: algodón con fibra y orillo tejido */
html[data-theme="telar"] .pol__card {
  background: var(--tl-grano) 0 0 / 180px, linear-gradient(170deg, #FFFCF4, #F3E8D5);
  border-radius: 2px;
  box-shadow: 0 36px 50px -24px rgba(70, 40, 20, .55), 0 3px 8px rgba(58, 36, 24, .16), inset 0 0 0 1px rgba(58, 36, 24, .05);
  will-change: transform;
}
html[data-theme="telar"] .pol__card::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: calc(var(--w) * .036); min-height: 8px;
  background: var(--tl-cenefa-fina) 0 0 / auto 100% round no-repeat;
}
/* gancho de madera con un ramillete seco (la «cinta» del motor se vuelve gancho) */
html[data-theme="telar"] .pol__tape {
  left: 23%; top: calc(var(--w) * -.12); width: calc(var(--w) * .085); height: calc(var(--w) * .23);
  background: none; clip-path: none; box-shadow: none; transform: rotate(-9deg);
}
html[data-theme="telar"] .pol__tape::before,
html[data-theme="telar"] .pol__tape::after { content: ''; position: absolute; pointer-events: none; }
html[data-theme="telar"] .pol__tape::before {
  left: 50%; top: 50%; width: calc(var(--w) * .44); aspect-ratio: 220 / 272;
  background: var(--tl-ramillete) center / contain no-repeat;
  transform: translate(-51%, -79%) rotate(-26deg); transform-origin: 51% 79%;
  filter: drop-shadow(0 6px 5px rgba(58, 36, 24, .22));
}
html[data-theme="telar"] .pol__tape::after {
  inset: 0; background: var(--tl-gancho) center / contain no-repeat;
  filter: drop-shadow(0 4px 3px rgba(58, 36, 24, .35));
}
/* revelado: oscuro → pálido → color (capas que solo cambian de opacidad) */
html[data-theme="telar"] .pol__photo { background: #2A1C14; }
html[data-theme="telar"] .pol__photo img {
  filter: none; transform: scale(1.06);
  transition: transform 2.8s cubic-bezier(.3, 0, .2, 1);
}
html[data-theme="telar"] .pol__photo.is-art > span:not(.pol__dev):not(.pol__gloss) { filter: none; }
html[data-theme="telar"] .pol__photo::after {
  content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(160deg, rgba(255, 244, 222, .82), rgba(236, 200, 152, .66));
  transition: opacity 1.5s cubic-bezier(.3, 0, .2, 1) 1.05s;
}
html[data-theme="telar"] .pol__dev {
  z-index: 2;
  background: radial-gradient(78% 78% at 46% 42%, rgba(96, 64, 40, .62), rgba(34, 22, 15, .97));
  transition: opacity 1.9s cubic-bezier(.3, 0, .2, 1) .1s;
}
html[data-theme="telar"] .pol__gloss { z-index: 3; }
/* capas listas antes del toque: al tocar no se rasteriza nada nuevo (sin tirón en gama media) */
html[data-theme="telar"] .inv-intro--polaroid.is-ready :is(.pol__photo img, .pol__dev, .inv-intro__bottom, .inv-intro__eyebrow) { will-change: transform, opacity; }
html[data-theme="telar"] .inv-intro--polaroid.is-ready .pol__photo::after { will-change: opacity; }
html[data-theme="telar"] .inv-intro.is-ready .pol__dev { animation: none; }
html[data-theme="telar"] .pol.s1 .pol__photo img { transform: scale(1); }
html[data-theme="telar"] .pol.s1 .pol__photo::after { opacity: 0; }
html[data-theme="telar"] .pol__photo.is-art { background: linear-gradient(180deg, #F9E9CC, #EBC891); }
html[data-theme="telar"] .pol__art-mono { font-family: var(--font-display); }
html[data-theme="telar"] .pol__hill.is-1 { background: #CFA67C; }
html[data-theme="telar"] .pol__hill.is-2 { background: #A4492A; }
/* pie de la foto: monograma escrito a mano y fecha */
html[data-theme="telar"] .pol__caption { color: var(--ink); font-family: var(--font-display); font-size: calc(var(--w) * .105); letter-spacing: .02em; padding-top: calc(var(--w) * .05); line-height: 1.15; }
html[data-theme="telar"] .pol__date { color: var(--ink-soft); font-family: var(--font-body); letter-spacing: .32em; padding-bottom: calc(var(--w) * .085); }
/* se agita (más suave que el motor) y la cámara entra en la foto */
html[data-theme="telar"] .pol.s1 .pol__card { animation: tlAgitar 1.25s cubic-bezier(.45, 0, .3, 1); }
@keyframes tlAgitar {
  0% { transform: rotate(-4deg); }
  14% { transform: rotate(-9deg) translate(-10px, 3px); }
  30% { transform: rotate(3deg) translate(10px, -3px); }
  46% { transform: rotate(-7deg) translate(-7px, 2px); }
  62% { transform: rotate(1deg) translate(5px, -1px); }
  80% { transform: rotate(-5deg); }
  100% { transform: rotate(-4deg); }
}
html[data-theme="telar"] .pol.s2 .pol__card {
  transform: rotate(0) translateY(-6%) scale(2.6); opacity: 0;
  transition: transform .9s cubic-bezier(.55, 0, .25, 1), opacity .5s ease .38s;
}
/* destello final con luz de tarde */
html[data-theme="telar"] .inv-intro--polaroid .inv-intro__bloom { background: radial-gradient(circle, #FFF9EC 0%, rgba(255, 230, 182, .9) 35%, rgba(246, 205, 130, 0) 70%); }
html[data-theme="telar"] .inv-intro--polaroid .inv-intro__flash-spark { filter: drop-shadow(0 0 18px rgba(255, 216, 155, .95)) drop-shadow(0 0 40px rgba(201, 154, 59, .6)); }
/* todos los destellos con degradado (apertura, modo accesible, confirmación) en ocre y terracota */
html[data-theme="telar"] .inv-sparkle stop:nth-child(1) { stop-color: #F2C76E; }
html[data-theme="telar"] .inv-sparkle stop:nth-child(2) { stop-color: #D9783F; }
html[data-theme="telar"] .inv-sparkle stop:nth-child(3) { stop-color: #A4492A; }

/* saludo del pase: etiqueta tejida cosida */
html[data-theme="telar"] .inv-intro__guest {
  border-radius: 4px; padding: 12px 22px 10px;
  background: var(--tl-cenefa-fina) 0 0 / auto 7px round no-repeat, var(--tl-grano) 0 0 / 180px, #FBF6EC;
  border: 1px solid rgba(58, 36, 24, .15);
  outline: 1px dashed rgba(150, 63, 34, .45); outline-offset: -5px;
}
html[data-theme="telar"] .inv-intro__guest .inv-guest__label { color: var(--accent); opacity: 1; }
html[data-theme="telar"] .inv-intro__guest .inv-guest__name { font-family: var(--font-script); font-size: 1.5rem; line-height: 1.3; color: var(--ink); }
html[data-theme="telar"] .inv-intro__cta { box-shadow: 0 16px 30px -14px rgba(58, 36, 24, .75); }

/* =====================================================================
   EFECTOS · semillas de pampa que cruzan con el viento del valle (una sola pasada al abrir)
   ===================================================================== */
html[data-theme="telar"] .inv-fx::before,
html[data-theme="telar"] .inv-fx::after {
  content: ''; position: absolute; inset: 0; opacity: 0; background-repeat: no-repeat;
  filter: drop-shadow(0 1px 1px rgba(58, 36, 24, .4));
  will-change: transform;
}
html[data-theme="telar"] .inv-fx::before {
  background-image: var(--tl-semilla), var(--tl-semilla), var(--tl-semilla), var(--tl-semilla);
  background-size: 38px 23px, 28px 17px, 44px 26px, 24px 14px;
  background-position: 12% 34%, 34% 64%, 58% 20%, 80% 46%;
}
html[data-theme="telar"] .inv-fx::after {
  background-image: var(--tl-semilla), var(--tl-semilla), var(--tl-semilla);
  background-size: 32px 19px, 40px 24px, 26px 16px;
  background-position: 22% 52%, 48% 80%, 70% 30%;
}
html[data-theme="telar"].is-revealed .inv-fx::before { animation: tlViento 12s cubic-bezier(.4, .1, .5, .9) .6s 1 both; }
html[data-theme="telar"].is-revealed .inv-fx::after { animation: tlViento2 14s cubic-bezier(.4, .1, .5, .9) 2.6s 1 both; }
@keyframes tlViento {
  0% { opacity: 0; transform: translate(-70vw, 8vh) rotate(-4deg); }
  12% { opacity: .95; }
  50% { transform: translate(-5vw, -2vh) rotate(3deg); }
  85% { opacity: .9; }
  100% { opacity: 0; transform: translate(75vw, -10vh) rotate(-2deg); }
}
@keyframes tlViento2 {
  0% { opacity: 0; transform: translate(-80vw, -4vh) rotate(3deg); }
  15% { opacity: .85; }
  55% { transform: translate(0, 6vh) rotate(-3deg); }
  85% { opacity: .8; }
  100% { opacity: 0; transform: translate(80vw, 0) rotate(2deg); }
}

/* =====================================================================
   ESCRITORIO · la invitación sobre una manta, con un cántaro y un ramillete a los lados
   ===================================================================== */
@media (min-width: 900px) {
  html[data-theme="telar"] {
    background-image:
      radial-gradient(60vw 50vh at 50% -10%, rgba(255, 244, 222, .9), transparent 70%),
      var(--tl-valle),
      var(--tl-tela);
    background-size: auto, 100% 30vh, 8px 8px;
    background-position: 0 0, 50% 100%, 0 0;
    background-repeat: no-repeat, no-repeat, repeat;
  }
  html[data-theme="telar"] body.inv::before,
  html[data-theme="telar"] body.inv::after { content: ''; position: fixed; z-index: -1; pointer-events: none; background-repeat: no-repeat; background-size: contain; }
  html[data-theme="telar"] body.inv::before { left: max(2vw, calc(50% - 600px)); bottom: 2vh; width: 230px; height: 437px; background-image: var(--tl-cantaro); background-position: center bottom; }
  html[data-theme="telar"] body.inv::after { right: max(2vw, calc(50% - 590px)); top: 7vh; width: 210px; height: 260px; background-image: var(--tl-ramillete); transform: rotate(16deg); }
  html[data-theme="telar"] .inv-page { box-shadow: 0 0 0 1px rgba(201, 154, 59, .35), 0 50px 120px -40px rgba(58, 36, 24, .45); }
}

/* =====================================================================
   MOVIMIENTO REDUCIDO · todo quieto, la foto ya revelada y el tapiz en su sitio
   ===================================================================== */
@media (prefers-reduced-motion: reduce) {
  html[data-theme="telar"] .inv-fx::before,
  html[data-theme="telar"] .inv-fx::after { display: none; }
  html[data-theme="telar"] .inv-hero--framed .inv-hero__media,
  html[data-theme="telar"].is-revealing .inv-hero--framed .inv-hero__media,
  html[data-theme="telar"].is-revealed .inv-hero--framed .inv-hero__media { opacity: 1; animation: none; }
  html[data-theme="telar"] .inv-hero--framed .inv-hero__media::after { animation: none !important; }
  html[data-theme="telar"] .inv-hero--framed .inv-hero__shade::after { opacity: 0; transition: none; }
  html[data-theme="telar"] .inv-hero--framed .inv-hero__shade::before { opacity: 1; transform: rotate(-24deg); transition: none; }
  html[data-theme="telar"] .inv-hero--framed::after { opacity: .95; transform: rotate(14deg); transition: none; }
  html[data-theme="telar"] .pol__dev,
  html[data-theme="telar"] .pol__photo::after { opacity: 0; }
  html[data-theme="telar"] .pol__photo img { transform: none; }
  html[data-theme="telar"] .inv-intro.is-ready .pol__card,
  html[data-theme="telar"] .inv-intro--polaroid.is-ready::before,
  html[data-theme="telar"] .inv-intro--polaroid.is-ready::after,
  html[data-theme="telar"] .inv-intro--polaroid.is-ready .inv-intro__bg::before { animation: none; }
}
