/* Latin Barber UK — global.css
   Un único CSS para todo el sitio (WordPress + Elementor, sin Pro).
   Escaparate de tienda latina del barrio: pared añil, cartulinas flúor con tinta negra, cinta adhesiva y banderines.
   Orden: 1) base de la maqueta  2) puente con Elementor  3) secciones nativas (precios, FAQ)  4) formulario (Fluent Forms). */

:root {
  --anil: #1a35c9;
  --anil-deep: #10228f;
  --anil-night: #0b1763;
  --anil-soft: #2c49dc;
  --on-anil: #ffffff;
  --on-anil-2: #d6ddff;

  --amarillo: #ffe14d;
  --rosa: #ff78b6;
  --verde: #5cf29a;
  --naranja: #ff9a3d;
  --blanco: #fbfaf6;

  --ink: #121212;
  --ink-2: #3a3a3a;
  --paper: #f3f2ec;
  --paper-line: #d9d7cc;

  --chat-bg: #efe9df;
  --chat-in: #ffffff;
  --chat-out: #d9fdd3;

  --tape: rgba(255, 252, 235, 0.62);

  --f-display: 'Anybody', 'Arial Narrow', sans-serif;
  --f-body: 'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-marker: 'Permanent Marker', 'Comic Sans MS', cursive;

  --wrap: 1200px;
  --gutter: clamp(1rem, 4vw, 2.5rem);
  --section: clamp(4.5rem, 10vw, 8.5rem);

  --shadow-card: 0 1px 1px rgba(0, 0, 0, .18), 0 10px 24px -6px rgba(0, 0, 0, .45);
  --shadow-lift: 0 2px 2px rgba(0, 0, 0, .16), 0 22px 38px -10px rgba(0, 0, 0, .55);

  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --focus: #ffe14d;
  --logo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='186 90 1350 226' width='1350' height='226' role='img' aria-label='Latin Barber UK'%3E%3Cg transform='translate(200,256.0) rotate(-2.5 652.4 -60)'%3E%3Cg transform='translate(9,11)' stroke='%23000000' stroke-width='17' stroke-linejoin='round' paint-order='stroke'%3E %3Cpath d='M73.2 -44.5 71.7 -9.6 6.3 -1.1Q5.4 -28.3 4.5 -55.2Q3.7 -82.2 3.1 -109.5L43.7 -111.6Q42.8 -94.4 42.1 -77.3Q41.3 -60.1 41.5 -42.8Q45.2 -42.8 48.8 -43.0Q52.4 -43.2 56.0 -43.4Q60.4 -43.6 64.6 -43.9Q68.8 -44.2 73.2 -44.5Z M177.1 -8.9 138.2 -5.3 134.1 -23.1 116.3 -23.7 111.8 -6.2 72.1 -11.5 106.8 -114.4 150.3 -115.1ZM132.1 -47.1 127.2 -74.5 120.4 -47.5Z M265.1 -110.2 265.5 -77.0 242.2 -75.3 238.9 -1.1 206.0 1.8 203.6 -72.2 180.3 -70.2 180.0 -107.1Z' fill='%23000000'/%3E %3Cg transform='translate(275.4,0) rotate(-3) scale(1,0.7)'%3E%3Cpath d='M46.2 -110.0 37.6 -3.6 4.6 -1.9V-107.8Z' fill='%23000000' stroke-width='20.6'/%3E%3C/g%3E %3Ccircle cx='297.2' cy='-105.4' r='16.8' fill='%23000000'/%3E %3Cg transform='translate(326.9,0)'%3E%3Cpath d='M112.2 -113.1 102.8 -7.4 61.8 -5.1 41.9 -62.6 36.5 -4.9 1.3 -6.1 8.0 -116.8 47.1 -117.3 72.2 -60.1 75.3 -113.2Z M247.7 -34.5Q247.9 -28.0 245.7 -23.2Q243.5 -18.5 239.6 -15.0Q235.8 -11.6 230.6 -9.4Q225.5 -7.1 219.9 -5.8Q214.3 -4.4 208.7 -3.8Q203.1 -3.2 198.1 -3.0Q193.3 -2.9 188.1 -3.0Q182.9 -3.2 177.7 -3.9Q172.5 -4.6 167.5 -5.8Q162.4 -7.1 157.9 -9.1L154.2 -109.7Q158.6 -111.7 163.4 -113.3Q168.3 -114.9 173.4 -116.0Q178.4 -117.2 183.5 -117.9Q188.6 -118.6 193.3 -118.7Q198.9 -118.9 204.6 -118.4Q210.2 -117.9 215.5 -116.5Q220.8 -115.0 225.4 -112.5Q230.1 -110.1 233.6 -106.4Q237.1 -102.7 239.2 -97.7Q241.3 -92.7 241.5 -86.0Q241.7 -81.6 240.6 -77.8Q239.4 -73.9 237.2 -70.8Q235.0 -67.7 231.7 -65.4Q228.4 -63.1 224.2 -62.0Q229.3 -60.8 233.6 -58.4Q237.9 -56.0 240.9 -52.4Q244.0 -48.8 245.8 -44.3Q247.5 -39.7 247.7 -34.5ZM206.5 -77.6Q206.4 -79.9 205.4 -81.4Q204.4 -83.0 203.0 -84.0Q201.6 -84.9 200.0 -85.3Q198.4 -85.8 197.1 -85.7Q195.6 -85.7 194.1 -85.1Q192.6 -84.6 191.2 -83.9L191.4 -66.6Q193.2 -66.7 195.8 -67.1Q198.5 -67.5 200.9 -68.6Q203.3 -69.8 205.0 -71.9Q206.6 -74.0 206.5 -77.6ZM196.3 -51.8Q194.0 -51.7 191.9 -51.1L192.2 -33.3Q193.4 -33.1 194.6 -33.0Q195.7 -32.8 196.8 -32.9Q198.4 -32.9 200.4 -33.3Q202.3 -33.8 204.0 -34.9Q205.7 -36.0 206.7 -37.8Q207.8 -39.6 207.7 -42.6Q207.6 -45.6 206.4 -47.4Q205.2 -49.2 203.5 -50.2Q201.8 -51.2 199.9 -51.5Q197.9 -51.8 196.3 -51.8Z M350.8 -1.0 311.8 1.9 308.0 -15.9 290.2 -16.9 285.4 0.5 245.8 -5.4 282.3 -107.7 325.8 -107.6ZM306.5 -40.0 302.0 -67.4 294.8 -40.6Z M449.5 -81.7Q449.9 -75.7 449.1 -70.7Q448.3 -65.6 446.2 -61.4Q444.2 -57.1 440.8 -53.4Q437.4 -49.7 432.5 -46.3L452.8 -14.2L418.0 -5.5L404.2 -38.1L394.6 -37.2L394.9 -4.7L361.3 -3.0Q360.8 -20.8 360.2 -38.4Q359.7 -56.1 359.2 -73.9Q358.9 -82.9 358.6 -91.7Q358.3 -100.5 358.3 -109.5Q363.6 -111.8 368.9 -113.4Q374.1 -115.0 379.4 -116.0Q384.7 -117.1 390.2 -117.6Q395.7 -118.2 401.4 -118.5Q410.3 -119.0 418.8 -116.9Q427.2 -114.9 433.9 -110.3Q440.5 -105.8 444.8 -98.6Q449.0 -91.5 449.5 -81.7ZM414.7 -77.4Q414.5 -80.7 413.5 -83.4Q412.5 -86.1 410.6 -88.0Q408.7 -89.9 406.1 -90.8Q403.4 -91.8 399.9 -91.7Q398.3 -91.6 396.9 -91.3Q395.4 -91.0 394.0 -90.6L394.3 -61.5L396.1 -61.6Q399.5 -61.8 402.9 -62.8Q406.3 -63.8 409.0 -65.8Q411.7 -67.7 413.3 -70.6Q414.9 -73.5 414.7 -77.4Z M549.9 -24.2Q549.7 -17.7 547.1 -13.1Q544.6 -8.5 540.5 -5.3Q536.4 -2.2 531.1 -0.3Q525.9 1.6 520.2 2.5Q514.6 3.5 508.9 3.7Q503.2 3.9 498.3 3.7Q493.4 3.5 488.3 3.0Q483.1 2.5 478.0 1.4Q472.8 0.4 467.9 -1.2Q462.9 -2.8 458.6 -5.2L461.9 -105.7Q466.4 -107.4 471.3 -108.6Q476.3 -109.9 481.4 -110.7Q486.6 -111.5 491.7 -111.8Q496.8 -112.2 501.6 -112.0Q507.1 -111.8 512.7 -110.9Q518.4 -110.0 523.5 -108.2Q528.7 -106.4 533.1 -103.6Q537.6 -100.8 540.9 -96.9Q544.1 -92.9 545.9 -87.8Q547.6 -82.7 547.4 -76.0Q547.2 -71.6 545.8 -67.9Q544.4 -64.1 542.0 -61.1Q539.5 -58.1 536.1 -56.1Q532.7 -54.1 528.4 -53.2Q533.5 -51.7 537.5 -49.0Q541.6 -46.3 544.4 -42.5Q547.2 -38.7 548.7 -34.1Q550.1 -29.4 549.9 -24.2ZM511.8 -70.1Q511.9 -72.3 511.0 -74.0Q510.1 -75.6 508.8 -76.7Q507.5 -77.7 505.9 -78.2Q504.3 -78.8 503.1 -78.8Q501.5 -78.9 500.0 -78.5Q498.5 -78.0 497.1 -77.5L496.0 -60.1Q497.8 -60.1 500.4 -60.3Q503.1 -60.5 505.6 -61.5Q508.1 -62.5 509.9 -64.5Q511.7 -66.5 511.8 -70.1ZM499.8 -45.0Q497.6 -45.1 495.4 -44.7L494.5 -26.9Q495.7 -26.6 496.8 -26.4Q497.9 -26.1 499.0 -26.1Q500.7 -26.1 502.6 -26.3Q504.6 -26.6 506.3 -27.6Q508.1 -28.6 509.3 -30.4Q510.5 -32.1 510.6 -35.1Q510.7 -38.0 509.6 -40.0Q508.6 -41.9 507.0 -43.0Q505.4 -44.1 503.4 -44.5Q501.5 -44.9 499.8 -45.0Z M631.1 -116.0Q630.8 -108.6 630.7 -101.5Q630.6 -94.2 630.2 -86.9L597.1 -84.0L596.7 -74.2L620.0 -75.0L619.1 -50.7L595.7 -49.1L595.3 -37.7L614.7 -38.4L628.4 -38.8Q628.3 -30.2 628.0 -21.7Q627.8 -13.2 627.8 -4.7L560.5 -0.8L559.1 -113.5Z M731.9 -69.7Q731.7 -63.6 730.5 -58.6Q729.2 -53.7 726.9 -49.7Q724.4 -45.6 720.7 -42.2Q717.0 -38.8 711.8 -35.8L729.2 -2.0L693.9 3.6L683.0 -30.1L673.3 -30.1L670.8 2.3L637.2 1.1Q638.2 -16.6 639.2 -34.3Q640.1 -51.9 641.2 -69.7Q641.7 -78.7 642.2 -87.5Q642.6 -96.3 643.4 -105.3Q649.0 -107.1 654.3 -108.2Q659.7 -109.4 665.0 -109.9Q670.4 -110.5 675.9 -110.6Q681.5 -110.7 687.2 -110.5Q696.1 -110.2 704.4 -107.4Q712.6 -104.7 718.8 -99.5Q725.0 -94.4 728.6 -86.9Q732.3 -79.4 731.9 -69.7ZM696.9 -68.4Q697.0 -71.7 696.2 -74.4Q695.4 -77.2 693.7 -79.2Q692.0 -81.3 689.4 -82.5Q686.8 -83.7 683.3 -83.9Q681.8 -83.9 680.3 -83.8Q678.8 -83.6 677.4 -83.3L675.1 -54.3L677.0 -54.2Q680.3 -54.1 683.8 -54.8Q687.3 -55.6 690.2 -57.3Q693.0 -59.0 694.9 -61.7Q696.7 -64.5 696.9 -68.4Z' fill='%23000000'/%3E%3Cpath d='M868.2 -91.5Q868.5 -85.7 868.1 -78.8Q867.8 -71.8 866.9 -64.3Q865.9 -56.9 864.1 -49.2Q862.4 -41.5 859.7 -34.4Q857.0 -27.2 853.2 -21.0Q849.5 -14.7 844.6 -10.0Q839.6 -5.2 833.4 -2.4Q827.1 0.4 819.4 0.7Q810.4 1.0 803.6 -1.7Q796.8 -4.4 791.9 -9.2Q786.9 -13.9 783.6 -20.4Q780.4 -26.9 778.4 -34.2Q776.4 -41.6 775.5 -49.2Q774.6 -56.9 774.3 -64.0Q773.9 -74.9 774.6 -85.9Q775.4 -96.8 777.0 -107.7L813.6 -107.6Q811.9 -95.2 810.8 -82.8Q809.7 -70.4 810.2 -57.9Q810.2 -56.6 810.4 -54.0Q810.6 -51.4 811.1 -48.1Q811.5 -44.9 812.2 -41.5Q812.9 -38.1 814.0 -35.4Q815.1 -32.6 816.6 -30.8Q818.1 -29.1 820.1 -29.2Q822.4 -29.2 824.1 -31.5Q825.8 -33.7 827.0 -37.3Q828.3 -40.9 829.1 -45.7Q830.0 -50.4 830.5 -55.5Q831.0 -60.6 831.3 -65.7Q831.5 -70.8 831.6 -75.2Q831.8 -79.5 831.7 -82.9Q831.7 -86.2 831.6 -87.9Q831.4 -94.0 831.0 -100.0Q830.6 -106.1 830.0 -112.1L866.5 -113.3Q867.9 -102.6 868.2 -91.5Z M981.5 -107.0 941.2 -57.0 970.0 -0.1 933.4 4.4 911.5 -30.5 908.4 4.7 875.9 4.2 884.6 -115.2 920.9 -111.2 916.2 -76.1 942.4 -112.2Z' fill='%23000000'/%3E%3C/g%3E%3C/g%3E%3Cg transform='translate(0,0)' stroke='%23000000' stroke-width='17' stroke-linejoin='round' paint-order='stroke'%3E %3Cpath d='M73.2 -44.5 71.7 -9.6 6.3 -1.1Q5.4 -28.3 4.5 -55.2Q3.7 -82.2 3.1 -109.5L43.7 -111.6Q42.8 -94.4 42.1 -77.3Q41.3 -60.1 41.5 -42.8Q45.2 -42.8 48.8 -43.0Q52.4 -43.2 56.0 -43.4Q60.4 -43.6 64.6 -43.9Q68.8 -44.2 73.2 -44.5Z M177.1 -8.9 138.2 -5.3 134.1 -23.1 116.3 -23.7 111.8 -6.2 72.1 -11.5 106.8 -114.4 150.3 -115.1ZM132.1 -47.1 127.2 -74.5 120.4 -47.5Z M265.1 -110.2 265.5 -77.0 242.2 -75.3 238.9 -1.1 206.0 1.8 203.6 -72.2 180.3 -70.2 180.0 -107.1Z' fill='%23FFFFFF'/%3E %3Cg transform='translate(275.4,0) rotate(-3) scale(1,0.7)'%3E%3Cpath d='M46.2 -110.0 37.6 -3.6 4.6 -1.9V-107.8Z' fill='%23FFFFFF' stroke-width='20.6'/%3E%3C/g%3E %3Ccircle cx='297.2' cy='-105.4' r='16.8' fill='%23FFFFFF'/%3E %3Cg transform='translate(326.9,0)'%3E%3Cpath d='M112.2 -113.1 102.8 -7.4 61.8 -5.1 41.9 -62.6 36.5 -4.9 1.3 -6.1 8.0 -116.8 47.1 -117.3 72.2 -60.1 75.3 -113.2Z M247.7 -34.5Q247.9 -28.0 245.7 -23.2Q243.5 -18.5 239.6 -15.0Q235.8 -11.6 230.6 -9.4Q225.5 -7.1 219.9 -5.8Q214.3 -4.4 208.7 -3.8Q203.1 -3.2 198.1 -3.0Q193.3 -2.9 188.1 -3.0Q182.9 -3.2 177.7 -3.9Q172.5 -4.6 167.5 -5.8Q162.4 -7.1 157.9 -9.1L154.2 -109.7Q158.6 -111.7 163.4 -113.3Q168.3 -114.9 173.4 -116.0Q178.4 -117.2 183.5 -117.9Q188.6 -118.6 193.3 -118.7Q198.9 -118.9 204.6 -118.4Q210.2 -117.9 215.5 -116.5Q220.8 -115.0 225.4 -112.5Q230.1 -110.1 233.6 -106.4Q237.1 -102.7 239.2 -97.7Q241.3 -92.7 241.5 -86.0Q241.7 -81.6 240.6 -77.8Q239.4 -73.9 237.2 -70.8Q235.0 -67.7 231.7 -65.4Q228.4 -63.1 224.2 -62.0Q229.3 -60.8 233.6 -58.4Q237.9 -56.0 240.9 -52.4Q244.0 -48.8 245.8 -44.3Q247.5 -39.7 247.7 -34.5ZM206.5 -77.6Q206.4 -79.9 205.4 -81.4Q204.4 -83.0 203.0 -84.0Q201.6 -84.9 200.0 -85.3Q198.4 -85.8 197.1 -85.7Q195.6 -85.7 194.1 -85.1Q192.6 -84.6 191.2 -83.9L191.4 -66.6Q193.2 -66.7 195.8 -67.1Q198.5 -67.5 200.9 -68.6Q203.3 -69.8 205.0 -71.9Q206.6 -74.0 206.5 -77.6ZM196.3 -51.8Q194.0 -51.7 191.9 -51.1L192.2 -33.3Q193.4 -33.1 194.6 -33.0Q195.7 -32.8 196.8 -32.9Q198.4 -32.9 200.4 -33.3Q202.3 -33.8 204.0 -34.9Q205.7 -36.0 206.7 -37.8Q207.8 -39.6 207.7 -42.6Q207.6 -45.6 206.4 -47.4Q205.2 -49.2 203.5 -50.2Q201.8 -51.2 199.9 -51.5Q197.9 -51.8 196.3 -51.8Z M350.8 -1.0 311.8 1.9 308.0 -15.9 290.2 -16.9 285.4 0.5 245.8 -5.4 282.3 -107.7 325.8 -107.6ZM306.5 -40.0 302.0 -67.4 294.8 -40.6Z M449.5 -81.7Q449.9 -75.7 449.1 -70.7Q448.3 -65.6 446.2 -61.4Q444.2 -57.1 440.8 -53.4Q437.4 -49.7 432.5 -46.3L452.8 -14.2L418.0 -5.5L404.2 -38.1L394.6 -37.2L394.9 -4.7L361.3 -3.0Q360.8 -20.8 360.2 -38.4Q359.7 -56.1 359.2 -73.9Q358.9 -82.9 358.6 -91.7Q358.3 -100.5 358.3 -109.5Q363.6 -111.8 368.9 -113.4Q374.1 -115.0 379.4 -116.0Q384.7 -117.1 390.2 -117.6Q395.7 -118.2 401.4 -118.5Q410.3 -119.0 418.8 -116.9Q427.2 -114.9 433.9 -110.3Q440.5 -105.8 444.8 -98.6Q449.0 -91.5 449.5 -81.7ZM414.7 -77.4Q414.5 -80.7 413.5 -83.4Q412.5 -86.1 410.6 -88.0Q408.7 -89.9 406.1 -90.8Q403.4 -91.8 399.9 -91.7Q398.3 -91.6 396.9 -91.3Q395.4 -91.0 394.0 -90.6L394.3 -61.5L396.1 -61.6Q399.5 -61.8 402.9 -62.8Q406.3 -63.8 409.0 -65.8Q411.7 -67.7 413.3 -70.6Q414.9 -73.5 414.7 -77.4Z M549.9 -24.2Q549.7 -17.7 547.1 -13.1Q544.6 -8.5 540.5 -5.3Q536.4 -2.2 531.1 -0.3Q525.9 1.6 520.2 2.5Q514.6 3.5 508.9 3.7Q503.2 3.9 498.3 3.7Q493.4 3.5 488.3 3.0Q483.1 2.5 478.0 1.4Q472.8 0.4 467.9 -1.2Q462.9 -2.8 458.6 -5.2L461.9 -105.7Q466.4 -107.4 471.3 -108.6Q476.3 -109.9 481.4 -110.7Q486.6 -111.5 491.7 -111.8Q496.8 -112.2 501.6 -112.0Q507.1 -111.8 512.7 -110.9Q518.4 -110.0 523.5 -108.2Q528.7 -106.4 533.1 -103.6Q537.6 -100.8 540.9 -96.9Q544.1 -92.9 545.9 -87.8Q547.6 -82.7 547.4 -76.0Q547.2 -71.6 545.8 -67.9Q544.4 -64.1 542.0 -61.1Q539.5 -58.1 536.1 -56.1Q532.7 -54.1 528.4 -53.2Q533.5 -51.7 537.5 -49.0Q541.6 -46.3 544.4 -42.5Q547.2 -38.7 548.7 -34.1Q550.1 -29.4 549.9 -24.2ZM511.8 -70.1Q511.9 -72.3 511.0 -74.0Q510.1 -75.6 508.8 -76.7Q507.5 -77.7 505.9 -78.2Q504.3 -78.8 503.1 -78.8Q501.5 -78.9 500.0 -78.5Q498.5 -78.0 497.1 -77.5L496.0 -60.1Q497.8 -60.1 500.4 -60.3Q503.1 -60.5 505.6 -61.5Q508.1 -62.5 509.9 -64.5Q511.7 -66.5 511.8 -70.1ZM499.8 -45.0Q497.6 -45.1 495.4 -44.7L494.5 -26.9Q495.7 -26.6 496.8 -26.4Q497.9 -26.1 499.0 -26.1Q500.7 -26.1 502.6 -26.3Q504.6 -26.6 506.3 -27.6Q508.1 -28.6 509.3 -30.4Q510.5 -32.1 510.6 -35.1Q510.7 -38.0 509.6 -40.0Q508.6 -41.9 507.0 -43.0Q505.4 -44.1 503.4 -44.5Q501.5 -44.9 499.8 -45.0Z M631.1 -116.0Q630.8 -108.6 630.7 -101.5Q630.6 -94.2 630.2 -86.9L597.1 -84.0L596.7 -74.2L620.0 -75.0L619.1 -50.7L595.7 -49.1L595.3 -37.7L614.7 -38.4L628.4 -38.8Q628.3 -30.2 628.0 -21.7Q627.8 -13.2 627.8 -4.7L560.5 -0.8L559.1 -113.5Z M731.9 -69.7Q731.7 -63.6 730.5 -58.6Q729.2 -53.7 726.9 -49.7Q724.4 -45.6 720.7 -42.2Q717.0 -38.8 711.8 -35.8L729.2 -2.0L693.9 3.6L683.0 -30.1L673.3 -30.1L670.8 2.3L637.2 1.1Q638.2 -16.6 639.2 -34.3Q640.1 -51.9 641.2 -69.7Q641.7 -78.7 642.2 -87.5Q642.6 -96.3 643.4 -105.3Q649.0 -107.1 654.3 -108.2Q659.7 -109.4 665.0 -109.9Q670.4 -110.5 675.9 -110.6Q681.5 -110.7 687.2 -110.5Q696.1 -110.2 704.4 -107.4Q712.6 -104.7 718.8 -99.5Q725.0 -94.4 728.6 -86.9Q732.3 -79.4 731.9 -69.7ZM696.9 -68.4Q697.0 -71.7 696.2 -74.4Q695.4 -77.2 693.7 -79.2Q692.0 -81.3 689.4 -82.5Q686.8 -83.7 683.3 -83.9Q681.8 -83.9 680.3 -83.8Q678.8 -83.6 677.4 -83.3L675.1 -54.3L677.0 -54.2Q680.3 -54.1 683.8 -54.8Q687.3 -55.6 690.2 -57.3Q693.0 -59.0 694.9 -61.7Q696.7 -64.5 696.9 -68.4Z' fill='%23FFFFFF'/%3E%3Cpath d='M868.2 -91.5Q868.5 -85.7 868.1 -78.8Q867.8 -71.8 866.9 -64.3Q865.9 -56.9 864.1 -49.2Q862.4 -41.5 859.7 -34.4Q857.0 -27.2 853.2 -21.0Q849.5 -14.7 844.6 -10.0Q839.6 -5.2 833.4 -2.4Q827.1 0.4 819.4 0.7Q810.4 1.0 803.6 -1.7Q796.8 -4.4 791.9 -9.2Q786.9 -13.9 783.6 -20.4Q780.4 -26.9 778.4 -34.2Q776.4 -41.6 775.5 -49.2Q774.6 -56.9 774.3 -64.0Q773.9 -74.9 774.6 -85.9Q775.4 -96.8 777.0 -107.7L813.6 -107.6Q811.9 -95.2 810.8 -82.8Q809.7 -70.4 810.2 -57.9Q810.2 -56.6 810.4 -54.0Q810.6 -51.4 811.1 -48.1Q811.5 -44.9 812.2 -41.5Q812.9 -38.1 814.0 -35.4Q815.1 -32.6 816.6 -30.8Q818.1 -29.1 820.1 -29.2Q822.4 -29.2 824.1 -31.5Q825.8 -33.7 827.0 -37.3Q828.3 -40.9 829.1 -45.7Q830.0 -50.4 830.5 -55.5Q831.0 -60.6 831.3 -65.7Q831.5 -70.8 831.6 -75.2Q831.8 -79.5 831.7 -82.9Q831.7 -86.2 831.6 -87.9Q831.4 -94.0 831.0 -100.0Q830.6 -106.1 830.0 -112.1L866.5 -113.3Q867.9 -102.6 868.2 -91.5Z M981.5 -107.0 941.2 -57.0 970.0 -0.1 933.4 4.4 911.5 -30.5 908.4 4.7 875.9 4.2 884.6 -115.2 920.9 -111.2 916.2 -76.1 942.4 -112.2Z' fill='%23FFFFFF'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: clip; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 5rem; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  margin: 0;
  background: var(--anil);
  color: var(--on-anil);
  font-family: var(--f-body);
  font-size: clamp(1rem, .96rem + .2vw, 1.0625rem);
  line-height: 1.55;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
  caret-color: var(--amarillo);
}
img, svg { display: block; max-width: 100%; }
h1, h2, h3, p, ul, ol, dl, dd, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
a { color: inherit; text-underline-offset: .22em; text-decoration-thickness: 1.5px; }
::selection { background: var(--amarillo); color: var(--ink); }

html { scrollbar-color: var(--amarillo) var(--anil-night); }
::-webkit-scrollbar { width: 12px; }
::-webkit-scrollbar-track { background: var(--anil-night); }
::-webkit-scrollbar-thumb { background: var(--amarillo); border-radius: 6px; border: 3px solid var(--anil-night); }

:focus { outline: none; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; border-radius: 4px; }
.on-light :focus-visible, .faq :focus-visible, .card :focus-visible, .flyer :focus-visible { --focus: var(--anil); }

.wrap { width: 100%; max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter); }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip { position: absolute; left: 1rem; top: -4rem; z-index: 100; background: var(--amarillo); color: var(--ink); padding: .7rem 1rem; font-weight: 700; border-radius: 6px; text-decoration: none; transition: top .2s var(--ease-out); }
.skip:focus { top: 1rem; }

.ico { width: 1.25em; height: 1.25em; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- Tipografía ---------- */
.display {
  font-family: var(--f-display);
  font-weight: 880;
  font-variation-settings: 'wdth' 96;
  font-size: clamp(2.75rem, 1.1rem + 6.2vw, 5.6rem);
  line-height: .94;
  letter-spacing: -.02em;
  text-wrap: balance;
}
.display-md { font-size: clamp(2.6rem, 1.3rem + 4.8vw, 4.75rem); }
.display .line { display: block; white-space: nowrap; clip-path: inset(-.2em -1em -.12em -.2em); padding-bottom: .06em; margin-bottom: -.06em; }
.display .line > span { display: inline-block; }
.hl { color: var(--amarillo); }
.section-title {
  font-family: var(--f-display);
  font-weight: 850;
  font-variation-settings: 'wdth' 100;
  font-size: clamp(2.1rem, 1.3rem + 3vw, 3.5rem);
  line-height: .98;
  letter-spacing: -.015em;
  text-wrap: balance;
  max-width: 18ch;
}
.section-lede { margin-top: 1.1rem; max-width: 56ch; font-size: clamp(1.05rem, 1rem + .35vw, 1.25rem); color: var(--on-anil-2); text-wrap: pretty; }
.lede { font-size: clamp(1.1rem, 1rem + .45vw, 1.35rem); line-height: 1.45; color: var(--on-anil-2); max-width: 40ch; text-wrap: pretty; }
.marker { font-family: var(--f-marker); font-weight: 400; letter-spacing: .01em; }

/* ---------- Botones ---------- */
.btn {
  --bg: var(--amarillo); --fg: var(--ink); --rot: -1.2deg;
  position: relative;
  display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
  min-height: 48px;
  padding: .8rem 1.35rem;
  border: 0; border-radius: 3px;
  background: var(--bg); color: var(--fg);
  font-weight: 750; font-size: 1rem; line-height: 1.15; text-decoration: none; text-align: center;
  transition: transform .35s var(--ease-out), box-shadow .35s var(--ease-out), background-color .2s;
}
.btn .ico { transition: transform .35s var(--ease-out); }
.btn:hover .ico { transform: translateX(4px); }
.btn-card { transform: rotate(var(--rot)); box-shadow: var(--shadow-card); }
.btn-card::before { /* trocito de cinta */
  content: ''; position: absolute; top: -9px; left: 50%; width: 46px; height: 18px;
  transform: translateX(-50%) rotate(3deg); background: var(--tape);
  box-shadow: 0 1px 2px rgba(0,0,0,.12); pointer-events: none;
}
.btn-card:hover { transform: rotate(0deg) translateY(-3px); box-shadow: var(--shadow-lift); }
.btn-card:active { transform: rotate(0deg) translateY(0) scale(.98); box-shadow: var(--shadow-card); transition-duration: .1s; }
.btn-lg { min-height: 58px; padding: 1rem 1.6rem; font-size: 1.08rem; }
.btn-sm { min-height: 42px; padding: .55rem 1rem; font-size: .92rem; --rot: 1.5deg; }
.btn-sm::before { width: 34px; height: 14px; top: -7px; }
.btn-block { width: 100%; }
.btn-ink { --bg: var(--ink); --fg: #fff; border-radius: 3px; }
.btn-ink:hover { transform: translateY(-2px); box-shadow: 0 10px 20px -8px rgba(0,0,0,.5); }
.btn-ink:active { transform: translateY(0) scale(.98); }
.btn-ghost { --bg: transparent; --fg: var(--ink); box-shadow: inset 0 0 0 2px var(--ink); }
.btn-ghost:hover { --bg: rgba(0,0,0,.06); }

.link-quiet { font-weight: 700; color: var(--on-anil); text-decoration: underline; text-decoration-color: rgba(255,255,255,.45); padding: .6rem .2rem; }
.link-quiet:hover { text-decoration-color: var(--amarillo); }

/* ---------- Header ---------- */
.site-header { position: sticky; top: 0; z-index: 50; background: var(--anil); transition: background-color .3s, box-shadow .3s; }
.site-header.is-scrolled { background: rgba(16, 34, 143, .94); box-shadow: 0 8px 24px -12px rgba(0,0,0,.5); }
@supports (backdrop-filter: blur(8px)) { .site-header.is-scrolled { background: rgba(16, 34, 143, .86); backdrop-filter: blur(10px) saturate(1.2); } }
.header-inner { display: flex; align-items: center; gap: 1.5rem; min-height: 68px; }
.brand { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; font-family: var(--f-display); font-weight: 800; font-variation-settings: 'wdth' 110; font-size: 1.15rem; letter-spacing: -.01em; white-space: nowrap; }
.brand b { color: var(--amarillo); font-weight: 900; }
/* El logo va dentro del CSS (SVG de 13 KB) para no depender de la biblioteca de medios, que no admite SVG. */
.brand-logo { display: block; height: var(--logo-h, 38px); aspect-ratio: 1350 / 226; background: var(--logo) left center / contain no-repeat; }
@media (max-width: 700px) { .brand-logo { --logo-h: 30px; } }
@media (max-width: 380px) { .brand-logo { --logo-h: 28px; } }
.nav { margin-left: auto; }
.nav ul { display: flex; gap: .25rem; }
.nav a { display: block; padding: .55rem .75rem; font-weight: 600; font-size: .95rem; text-decoration: none; border-radius: 4px; color: var(--on-anil-2); transition: color .2s, background-color .2s; }
.nav a:hover { color: #fff; background: rgba(255,255,255,.08); }
@media (max-width: 900px) {
  .nav { display: none; }
  .site-header .btn-sm { margin-left: auto; }
}
@media (max-width: 380px) { .header-inner { gap: .75rem; } .site-header .btn-sm { padding-inline: .8rem; font-size: .85rem; } }

/* ---------- Banderines ---------- */
.bunting { position: relative; height: 64px; overflow: hidden; pointer-events: none; }
.bunting svg.string { position: absolute; inset: 0; width: 100%; height: 100%; }
.bunting .string path { fill: none; stroke: rgba(255,255,255,.55); stroke-width: 1.4; }
.bunting .flag {
  position: absolute; top: 0; width: 36px; height: 25px;
  transform-origin: 50% 0;
  filter: drop-shadow(0 4px 4px rgba(0, 0, 0, .35));
}
.bunting .flag svg { width: 100%; height: 100%; border-radius: 1px; }
.motion .bunting .flag { animation: sway var(--dur, 5s) ease-in-out var(--delay, 0s) infinite alternate; }
@keyframes sway { from { rotate: calc(var(--r, 0deg) - 3deg); } to { rotate: calc(var(--r, 0deg) + 3deg); } }
.bunting-footer { height: 58px; }

/* ---------- Hero ---------- */
.hero { padding: clamp(1.5rem, 4vw, 3.5rem) 0 var(--section); position: relative; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.hero-copy { position: relative; z-index: 2; }
.hero .lede { margin-top: 1.6rem; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 2.2rem; }
.hero-note { margin-top: 1.4rem; max-width: 44ch; font-size: .95rem; color: var(--on-anil-2); }

.hero-stage { position: relative; display: grid; justify-items: center; padding: 1.5rem 0 2.5rem; }
.phone {
  position: relative; width: min(100%, 340px); aspect-ratio: 9 / 18.2;
  padding: 11px; border-radius: 44px;
  background: #0d0d10;
  box-shadow: 0 0 0 2px #2a2a33 inset, 0 30px 60px -18px rgba(0, 0, 0, .75), 0 8px 18px rgba(0, 0, 0, .35);
  transform: rotate(2.5deg);
}
.phone-screen { position: relative; height: 100%; border-radius: 34px; overflow: hidden; background: var(--chat-bg); color: var(--ink); display: flex; flex-direction: column; }
.phone-top { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .85rem 1rem .6rem; background: #fff; border-bottom: 1px solid #e6e1d6; }
.phone-time { font-weight: 700; font-size: .82rem; font-variant-numeric: tabular-nums; }
.seg { display: inline-flex; padding: 3px; border-radius: 999px; background: #ecebe6; }
.seg-btn { border: 0; background: transparent; padding: .38rem .75rem; min-height: 32px; border-radius: 999px; font-size: .8rem; font-weight: 700; color: #4a4a4a; transition: background-color .25s, color .25s, box-shadow .25s; }
.seg-btn[aria-pressed="true"] { background: var(--ink); color: #fff; box-shadow: 0 2px 6px rgba(0,0,0,.2); }
.seg-btn:focus-visible { outline-color: var(--anil); }
.view { flex: 1; min-height: 0; padding: .75rem .8rem 1rem; overflow: hidden; }
.view[hidden] { display: none; }

.chat { display: flex; flex-direction: column; gap: .45rem; font-size: .86rem; line-height: 1.35; }
.chat-head { display: flex; align-items: center; gap: .6rem; margin: -.1rem 0 .35rem; }
.chat-head .av { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--naranja); font-weight: 800; }
.chat-head b { display: block; font-size: .9rem; }
.chat-head small { color: #125c32; font-size: .76rem; font-weight: 600; }
.bubble { position: relative; min-width: 4.6rem; max-width: 84%; padding: .45rem .6rem 1.05rem; border-radius: 10px; background: var(--chat-in); box-shadow: 0 1px 1px rgba(0,0,0,.08); align-self: flex-start; }
.bubble time { position: absolute; right: .5rem; bottom: .2rem; font-size: .66rem; color: #666; font-variant-numeric: tabular-nums; }
.bubble.out { align-self: flex-end; background: var(--chat-out); }
.bubble.in:first-of-type { border-top-left-radius: 2px; }
.missed { align-self: center; display: inline-flex; align-items: center; gap: .35rem; padding: .3rem .7rem; border-radius: 8px; background: #fff5c4; color: #6b3a00; font-size: .76rem; font-weight: 700; }
.missed svg { width: 14px; height: 14px; fill: none; stroke: #b3261e; stroke-width: 2.2; }

.agenda-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: .7rem; }
.agenda-head b { font-size: 1rem; }
.agenda-head span { font-size: .75rem; color: #555; font-weight: 600; }
.slots { display: grid; gap: .45rem; }
.slots li { display: grid; grid-template-columns: 2.7rem 1fr; gap: .15rem .6rem; align-items: center; padding: .55rem .65rem; border-radius: 10px; background: #fff; box-shadow: 0 1px 1px rgba(0,0,0,.07); font-size: .84rem; }
.slots time { font-weight: 800; font-variant-numeric: tabular-nums; }
.slots b { display: block; line-height: 1.2; }
.slots small { color: #555; font-size: .74rem; }
.slots .tag { grid-column: 2; justify-self: start; padding: .12rem .45rem; border-radius: 4px; font-size: .68rem; font-weight: 800; }
.tag.ok { background: #c9f7dc; color: #0c5a2c; }
.tag.rem { background: #ffe9a8; color: #6b4300; }
.slots .free { background: transparent; box-shadow: inset 0 0 0 1.5px #b7b1a3; box-shadow: none; outline: 1.5px dashed #a19a8a; outline-offset: -1.5px; }
.slots .free b { color: #3f3f3f; }

.sticker-hero {
  position: absolute; left: max(-1.5rem, -4vw); bottom: 3.5rem; z-index: 3;
  width: 200px; padding: 1.2rem 1.1rem 1rem; transform: rotate(-7deg);
}
.sticker-hero .marker { font-size: 1.45rem; line-height: 1; margin-bottom: .35rem; }
.sticker-hero p:last-child { font-size: .95rem; line-height: 1.3; font-weight: 600; }
.demo-label { position: absolute; right: .2rem; bottom: 0; font-size: .8rem; color: var(--on-anil-2); font-style: italic; }

/* ---------- Cartulinas ---------- */
.card {
  --bg: var(--amarillo);
  position: relative; background: var(--bg); color: var(--ink);
  border-radius: 2px; box-shadow: var(--shadow-card);
}
.card-amarillo { --bg: var(--amarillo); }
.card-rosa { --bg: var(--rosa); }
.card-verde { --bg: var(--verde); }
.card-naranja { --bg: var(--naranja); }
.card-blanco { --bg: var(--blanco); }
.tape {
  position: absolute; top: -12px; left: 50%; width: 88px; height: 26px;
  transform: translateX(-50%) rotate(-2.5deg);
  background: var(--tape);
  box-shadow: 0 1px 2px rgba(0,0,0,.12);
  -webkit-mask: linear-gradient(90deg, transparent 0 2px, #000 2px calc(100% - 2px), transparent calc(100% - 2px));
  pointer-events: none;
}
.tape::before, .tape::after { /* bordes dentados de cinta cortada a mano */
  content: ''; position: absolute; top: 0; bottom: 0; width: 4px;
  background: radial-gradient(circle at 0 50%, transparent 1.6px, var(--tape) 1.8px) 0 0 / 4px 5px;
}
.tape::before { left: -3px; transform: scaleX(-1); }
.tape::after { right: -3px; }

/* ---------- Problema (díptico) ---------- */
.problem { padding: var(--section) 0; background: var(--anil-deep); }
.diptych { display: grid; grid-template-columns: minmax(0, 1fr) 56px minmax(0, 1fr); margin-top: clamp(2.5rem, 5vw, 4rem); align-items: stretch; }
.panel { padding: clamp(1.5rem, 3.5vw, 2.75rem); border-radius: 4px; }
.panel h3 { font-family: var(--f-display); font-weight: 800; font-variation-settings: 'wdth' 105; font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); line-height: 1.05; margin-bottom: 1.5rem; }
.panel ul { display: grid; gap: 1.1rem; }
.panel li { display: grid; grid-template-columns: auto 1fr; gap: .9rem; align-items: start; font-size: 1.05rem; line-height: 1.45; }
.panel li .ico { margin-top: .12rem; width: 1.4rem; height: 1.4rem; }
.panel-before { background: var(--chat-bg); color: var(--ink); position: relative; }
.panel-before::after { /* garabato de "no leídos" */
  content: 'sin leer'; position: absolute; top: -14px; right: 18px; padding: .25rem .6rem;
  font-family: var(--f-marker); font-size: .95rem; background: var(--rosa); color: var(--ink); transform: rotate(4deg); box-shadow: var(--shadow-card);
}
.panel-before .ico { color: #b3261e; }
.panel-after { background: var(--amarillo); color: var(--ink); }
.panel-after .ico { color: #0c6a33; stroke-width: 2.6; }
.seam { position: relative; display: grid; place-items: center; }
.seam span { width: 2px; height: 100%; background: repeating-linear-gradient(to bottom, rgba(255,255,255,.55) 0 8px, transparent 8px 16px); }

/* ---------- Pasos ---------- */
.steps { padding: var(--section) 0; }
.step-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 2.5rem); margin-top: clamp(3rem, 6vw, 4.5rem); counter-reset: s; }
.step { padding: 2.4rem 1.6rem 1.8rem; }
.step:nth-child(1) { transform: rotate(-2deg); }
.step:nth-child(2) { transform: rotate(1.5deg) translateY(1.5rem); }
.step:nth-child(3) { transform: rotate(-1deg); }
.step-n { position: absolute; top: .6rem; right: 1rem; font-size: 3.4rem; line-height: 1; color: rgba(0,0,0,.82); }
.step h3 { font-family: var(--f-display); font-weight: 820; font-variation-settings: 'wdth' 100; font-size: 1.5rem; line-height: 1.05; max-width: 15ch; margin-bottom: .75rem; padding-right: 2.2rem; }
.step p { font-size: 1rem; line-height: 1.5; color: var(--ink-2); }

/* ---------- Funcionalidades ---------- */
.features { padding: var(--section) 0; background: var(--paper); color: var(--ink); }
.features .section-title { color: var(--ink); }
.features-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(2.5rem, 6vw, 5.5rem); align-items: start; }
.feature-list { margin-top: 2.5rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0 2rem; }
.feature-list li { display: grid; grid-template-columns: auto 1fr; gap: .9rem; padding: 1.35rem 0; border-top: 1.5px solid var(--paper-line); }
.feature-list .ico { width: 1.6rem; height: 1.6rem; color: var(--anil); margin-top: .1rem; }
.feature-list h3 { font-size: 1.08rem; font-weight: 800; line-height: 1.25; margin-bottom: .25rem; }
.feature-list p { color: var(--ink-2); font-size: .98rem; line-height: 1.5; }

.booking-mock { position: sticky; top: 6.5rem; }
.bm-window { background: #fff; border-radius: 18px; padding: 1.1rem; box-shadow: 0 1px 2px rgba(0,0,0,.08), 0 30px 60px -24px rgba(10, 20, 90, .35); transform: rotate(1.2deg); }
.bm-cover { display: flex; align-items: center; gap: .9rem; padding: 1rem; border-radius: 12px; background: var(--ink); color: #fff; margin-bottom: 1.1rem; }
.bm-logo { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--naranja); color: var(--ink); font-family: var(--f-display); font-weight: 900; font-size: 1.2rem; }
.bm-name { font-family: var(--f-display); font-weight: 800; font-size: 1.2rem; line-height: 1.1; }
.bm-loc { display: flex; align-items: center; gap: .3rem; font-size: .85rem; color: #d7d7d7; margin-top: .2rem; }
.bm-loc .ico { width: 1em; height: 1em; }
.bm-step { font-size: .78rem; font-weight: 800; color: #555; margin: .2rem 0 .5rem; }
.bm-services { display: grid; gap: .45rem; margin-bottom: 1rem; }
.bm-services li { display: flex; justify-content: space-between; align-items: center; padding: .7rem .85rem; border-radius: 10px; box-shadow: inset 0 0 0 1.5px #e3e1d8; }
.bm-services b { display: block; font-size: .95rem; }
.bm-services small { color: #666; font-size: .78rem; }
.bm-services .is-picked { box-shadow: inset 0 0 0 2px var(--anil); background: #eef1ff; }
.bm-price { font-weight: 800; font-variant-numeric: tabular-nums; }
.bm-barbers { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1.1rem; }
.bm-barbers span { padding: .4rem .75rem; border-radius: 999px; font-size: .85rem; font-weight: 600; box-shadow: inset 0 0 0 1.5px #e3e1d8; }
.bm-barbers .is-picked { background: var(--ink); color: #fff; box-shadow: none; }
.bm-cta { text-align: center; padding: .85rem; border-radius: 10px; background: var(--anil); color: #fff; font-weight: 800; }
.booking-mock figcaption { margin-top: 1.4rem; font-size: 1rem; color: var(--ink-2); max-width: 44ch; }
.booking-mock figcaption b { color: var(--ink); }
.demo-inline { font-style: italic; color: #5a5a5a; }

/* ---------- Precios ---------- */
.pricing { padding: var(--section) 0; }
.price-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.25rem, 2.5vw, 2rem); margin-top: clamp(3rem, 6vw, 4.5rem); align-items: stretch; }
.price { display: flex; flex-direction: column; padding: 2.2rem 1.6rem 1.6rem; min-height: 100%; }
.price:nth-child(1) { transform: rotate(-1.5deg); }
.price:nth-child(2) { transform: rotate(.8deg) translateY(-.75rem); }
.price:nth-child(3) { transform: rotate(-.6deg); }
.price-name { font-family: var(--f-display); font-weight: 880; font-variation-settings: 'wdth' 120; font-size: 1.9rem; line-height: 1; letter-spacing: -.01em; }
.price-for { margin-top: .4rem; font-weight: 600; color: var(--ink-2); }
.price-amount { display: flex; align-items: baseline; gap: .5rem; margin: 1.1rem 0 1.25rem; padding-bottom: 1.1rem; border-bottom: 2px dashed rgba(0,0,0,.28); }
.price-amount .marker { font-size: clamp(3.5rem, 2.8rem + 2.5vw, 4.75rem); line-height: .9; }
.price-amount .per { font-weight: 700; color: var(--ink-2); }
.price-list { display: grid; gap: .65rem; margin-bottom: 1.8rem; flex: 1; }
.price-list li { display: grid; grid-template-columns: auto 1fr; gap: .6rem; align-items: start; line-height: 1.4; }
.price-list .ico { margin-top: .1rem; stroke-width: 2.6; }
.price .btn { width: 100%; }
.fineprint { margin-top: 2.5rem; font-size: .92rem; color: var(--on-anil-2); max-width: 60ch; }

/* ---------- Fundadoras ---------- */
.founders { padding: var(--section) 0; background: var(--anil-deep); }
.founders-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(2.5rem, 6vw, 5rem); align-items: center; }
.perks { margin-top: 2.5rem; display: grid; grid-template-columns: 1fr 1fr; gap: 1.75rem 2rem; }
.perks > div { padding-top: 1rem; border-top: 2px solid var(--amarillo); }
.perks dt { font-weight: 800; font-size: 1.1rem; line-height: 1.25; }
.perks dd { margin-top: .35rem; color: var(--on-anil-2); }

.flyer { background: var(--blanco); color: var(--ink); padding: 2.5rem 1.8rem 0; transform: rotate(1.8deg); box-shadow: var(--shadow-lift); max-width: 420px; justify-self: center; width: 100%; }
.flyer .tape-l { left: 14%; transform: rotate(-8deg); }
.flyer .tape-r { left: 86%; transform: translateX(-100%) rotate(7deg); }
.flyer-kick { font-size: 2rem; color: #c21a6b; transform: rotate(-3deg); line-height: 1; }
.flyer-title { font-family: var(--f-display); font-weight: 900; font-variation-settings: 'wdth' 108; font-size: clamp(2rem, 1.5rem + 1.5vw, 2.6rem); line-height: .92; letter-spacing: -.02em; margin-top: .6rem; }
.flyer-body { margin-top: 1rem; font-size: 1.05rem; color: var(--ink-2); }
.flyer-limit { display: inline-block; margin-top: 1.1rem; padding: .3rem .7rem; background: var(--ink); color: var(--amarillo); font-weight: 800; font-size: .9rem; transform: rotate(-1.5deg); }
.flyer-hint { margin-top: 1.4rem; font-size: .9rem; font-weight: 700; color: var(--ink-2); }
.tabs { display: grid; grid-template-columns: repeat(5, 1fr); margin: .6rem -1.8rem 0; border-top: 2px dashed rgba(0,0,0,.35); }
.tab {
  position: relative; border: 0; background: var(--blanco); min-height: 132px; padding: .8rem 0;
  border-right: 1.5px dashed rgba(0,0,0,.3); transform-origin: 50% 0;
  transition: transform .35s var(--ease-out), background-color .2s;
}
.tab:last-child { border-right: 0; }
.tab span { display: inline-block; writing-mode: vertical-rl; transform: rotate(180deg); font-family: var(--f-marker); font-size: 1.1rem; color: var(--anil); }
.tab:hover { transform: rotate(-4deg) translateY(4px); background: #fff; z-index: 1; box-shadow: 0 10px 14px -8px rgba(0,0,0,.4); }
.tab:focus-visible { outline-offset: -4px; }
.tab.is-torn { visibility: hidden; }

/* ---------- FAQ ---------- */
.faq { padding: var(--section) 0; background: var(--paper); color: var(--ink); }
.faq-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.faq .section-title { color: var(--ink); position: sticky; top: 6.5rem; }
.faq-list { border-top: 2px solid var(--ink); }
.faq details { border-bottom: 1.5px solid var(--paper-line); }
.faq summary {
  display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  padding: 1.3rem 0; cursor: pointer; list-style: none;
  font-weight: 750; font-size: clamp(1.05rem, 1rem + .3vw, 1.2rem); line-height: 1.3;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary .ico { width: 1.5rem; height: 1.5rem; color: var(--anil); transition: transform .35s var(--ease-out); }
.faq details[open] summary .ico { transform: rotate(45deg); }
.faq summary:hover { color: var(--anil-deep); }
.faq-a { padding: 0 2.5rem 1.4rem 0; color: var(--ink-2); max-width: 62ch; }

/* ---------- CTA final ---------- */
.final { padding: var(--section) 0; }
.final-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 5rem); align-items: end; }
.final-side { display: grid; gap: 1.8rem; justify-items: start; padding-bottom: .6rem; }

/* ---------- Footer ---------- */
.site-footer { background: var(--anil-night); color: var(--on-anil-2); }
.footer-inner { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 2.5rem; padding-top: 3rem; padding-bottom: 2.5rem; }
.footer-inner .brand { color: #fff; }
.footer-tag { margin-top: 1rem; max-width: 34ch; font-size: .95rem; }
.footer-links { display: grid; gap: .2rem; }
.footer-links a, .footer-contact a { display: inline-block; padding: .35rem 0; text-decoration: none; color: #fff; font-weight: 600; }
.footer-links a:hover, .footer-contact a:hover { text-decoration: underline; text-decoration-color: var(--amarillo); }
.footer-contact p { font-size: .9rem; }
.footer-contact a { font-size: 1.05rem; }
.footer-legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 2rem; padding-top: 1.4rem; padding-bottom: 2rem; border-top: 1px solid rgba(255,255,255,.14); font-size: .85rem; }

/* ---------- Estado inicial para animaciones (solo si hay motion y GSAP) ---------- */
.motion [data-hero-title] .line > span { transform: translateY(105%); }
.motion [data-hero-fade], .motion [data-reveal], .motion [data-slap], .motion [data-slap-hero], .motion [data-phone] { opacity: 0; }

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
  .feature-list { grid-template-columns: 1fr; }
}
@media (max-width: 960px) {
  .hero-grid { grid-template-columns: 1fr; }
  .hero-stage { padding-top: 1rem; }
  .sticker-hero { left: 0; }
  .features-grid, .founders-grid, .faq-grid, .final-inner { grid-template-columns: 1fr; }
  .booking-mock { position: relative; top: 0; max-width: 460px; }
  .feature-list { grid-template-columns: 1fr 1fr; }
  .faq .section-title { position: static; }
  .final-inner { align-items: start; }
}
@media (max-width: 700px) {
  .diptych { grid-template-columns: 1fr; gap: 0; }
  .seam { height: 44px; }
  .seam span { width: 100%; height: 2px; background: repeating-linear-gradient(to right, rgba(255,255,255,.55) 0 8px, transparent 8px 16px); }
  .step-row { grid-template-columns: 1fr; gap: 2.25rem; max-width: 520px; }
  .step:nth-child(2) { transform: rotate(1.2deg); }
  .price-row { grid-template-columns: 1fr; max-width: 460px; margin-inline: auto; gap: 2.25rem; }
  .price:nth-child(2) { transform: rotate(.8deg); }
}
@media (max-width: 640px) {
  .feature-list, .perks { grid-template-columns: 1fr; }
  .field-row { grid-template-columns: 1fr; }
  .footer-inner { grid-template-columns: 1fr; gap: 2rem; }
  .hero-actions .btn-lg { width: 100%; }
  .final-side .btn-lg { width: 100%; }
  .phone { width: min(88%, 320px); }
  .sticker-hero { width: 168px; bottom: 2.5rem; padding: 1rem .9rem .85rem; }
  .sticker-hero .marker { font-size: 1.2rem; }
  .sticker-hero p:last-child { font-size: .85rem; }
  .tab { min-height: 116px; }
  .bunting { height: 52px; }
  .bunting .flag { width: 30px; height: 21px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media (forced-colors: active) {
  .card, .btn, .panel { border: 2px solid CanvasText; }
  .tape { display: none; }
}

/* ---------- Ajustes de la ronda 2 ---------- */
.show-sm { display: none; }
@media (max-width: 640px) {
  .hide-sm { display: none; }
  .show-sm { display: inline; }
  .hero-actions .btn-lg, .final-side .btn-lg { width: calc(100% - 10px); margin-inline: 5px; --rot: -.8deg; }
  .phone { width: min(80%, 290px); aspect-ratio: 9 / 16.5; }
  .price:nth-child(1) { transform: rotate(-.8deg); }
  .price:nth-child(2) { transform: rotate(.6deg); }
  .price:nth-child(3) { transform: rotate(-.4deg); }
  .step:nth-child(1) { transform: rotate(-1deg); }
  .step:nth-child(3) { transform: rotate(-.6deg); }
  .flyer { transform: rotate(1deg); }
}
@media (min-width: 641px) {
  .phone { width: min(100%, 320px); aspect-ratio: 9 / 16.8; }
  .sticker-hero { bottom: auto; top: 58%; left: max(-2.5rem, -3vw); }
}
@media (min-width: 701px) and (max-width: 1024px) {
  .price { padding: 2rem 1.1rem 1.3rem; }
  .price-name { font-size: 1.6rem; }
  .price-list { font-size: .94rem; }
  .step { padding: 2.2rem 1.2rem 1.5rem; }
  .step h3 { font-size: 1.3rem; }
  .step-n { font-size: 2.6rem; }
}
.price-list { align-content: start; }
.price-amount .per { white-space: nowrap; }
@media (min-width: 701px) and (max-width: 1024px) {
  .price-amount .marker { font-size: 3.1rem; }
}
@media (min-width: 641px) and (max-width: 960px) {
  .sticker-hero { top: auto; bottom: 22%; left: calc(50% - 280px); }
}
/* Texto secundario teñido del color de cada cartulina (nunca gris sobre color) */
.card-amarillo, .panel-after { --ink-2: #4a3c00; }
.card-verde { --ink-2: #0d4527; }
.card-naranja { --ink-2: #532400; }
.card-rosa { --ink-2: #5c0f35; }
.bubble.out time { color: #2f5a2c; }
@media (max-width: 700px) { .step-row, .price-row { padding-inline: 6px; } }
.hero-stage { align-self: center; display: block; }
.card.sticker-hero { position: absolute; }
.hero-stage .phone { margin-inline: auto; }

/* ---------- Audit 04/10/2026: objetivos táctiles y banderines ---------- */
.seg-btn { min-height: 44px; padding-inline: .9rem; }
.link-quiet { display: inline-flex; align-items: center; min-height: 44px; }
.footer-links a, .footer-contact a { display: inline-flex; align-items: center; min-height: 44px; padding: 0; }
.footer-links { gap: 0; }
.bunting.is-paused .flag { animation-play-state: paused; }

/* ==========================================================================
   2) PUENTE CON ELEMENTOR
   Cada sección va en un contenedor con la clase "lb-sec". Estas reglas quitan
   el relleno y los huecos que Elementor pone por defecto, para que el HTML de
   la maqueta ocupe todo el ancho como en el diseño.
   ========================================================================== */
.e-con.lb-sec { display: block; width: 100%; max-width: none; padding: 0 !important; gap: 0 !important; }
.e-con.lb-sec > .e-con-inner { display: block; max-width: none; padding: 0 !important; gap: 0 !important; }
.lb-sec .elementor-widget { width: 100%; max-width: 100%; }
.lb-sec > .elementor-widget:not(:last-child) { margin-block-end: 0; }
/* La cabecera se queda pegada arriba: el sticky va en el contenedor, no en el HTML de dentro. */
.e-con.lb-header, .lb-header { position: sticky; top: 0; z-index: 50; }
.lb-header .site-header { position: static; }
/* Las tiras y los botones ahora son enlaces al formulario (#apuntate). */
a.btn, a.tab { text-decoration: none; }
a.tab { display: grid; place-items: center; color: inherit; }
.footer-legal-links { display: flex; flex-wrap: wrap; gap: 0 1.25rem; }
.footer-legal-links a { display: inline-flex; align-items: center; min-height: 44px; color: #fff; }
.final-wa { margin-top: 1.4rem; color: var(--on-anil-2); max-width: 40ch; }
.final-wa a { color: #fff; font-weight: 700; }
.final-copy .lede { margin-top: 1.6rem; }

/* ==========================================================================
   3) SECCIONES NATIVAS (las que Jose edita): precios, FAQ y bloque del formulario
   Contenedor con las clases "lb-sec lb-native" + la de la sección.
   El selector va doblado (.lb-native.lb-native) para ganar a los estilos de
   Elementor sin usar !important en cada línea.
   ========================================================================== */
.e-con.lb-native {
  padding: var(--section) max(var(--gutter), calc((100% - var(--wrap)) / 2 + var(--gutter))) !important;
}
.lb-native.lb-native .e-con { width: auto; max-width: none; gap: 0; }
.lb-native.lb-native .elementor-widget { margin-block-end: 0; }
.lb-native.lb-native .elementor-heading-title {
  margin: 0; font: inherit; font-variation-settings: inherit; color: inherit;
  letter-spacing: inherit; line-height: inherit; text-wrap: inherit;
}
.lb-native.lb-native .elementor-widget-text-editor { font-family: var(--f-body); color: inherit; }
.lb-native.lb-native .elementor-widget-text-editor p { margin: 0; }
.lb-native.lb-native .elementor-widget-text-editor p + p { margin-top: .6em; }

/* Títulos y entradillas (mismas clases que en la maqueta, puestas en el widget) */
.lb-native.lb-native .section-title { color: var(--on-anil); max-width: 18ch; }
.lb-native.lb-native .section-lede { max-width: 56ch; color: var(--on-anil-2); font-size: clamp(1.05rem, 1rem + .35vw, 1.25rem); line-height: 1.55; }
.lb-native.lb-native .fineprint { max-width: 60ch; color: var(--on-anil-2); font-size: .92rem; line-height: 1.55; }

/* ----- Precios ----- */
.lb-native.lb-native .price-row { display: grid !important; }
.lb-native.lb-native .price {
  display: flex !important; flex-direction: column; align-items: stretch;
  padding: 2.2rem 1.6rem 1.6rem !important;
  width: 100%; margin: 0;
  background: var(--bg); color: var(--ink); border-radius: 2px; box-shadow: var(--shadow-card);
}
.lb-native .price::after { /* cinta adhesiva (en la maqueta era un <span class="tape">) */
  content: ''; position: absolute; top: -12px; left: 50%; width: 88px; height: 26px;
  transform: translateX(-50%) rotate(-2.5deg); background: var(--tape);
  box-shadow: 0 1px 2px rgba(0,0,0,.12); pointer-events: none;
}
.lb-native.lb-native .price-name { font-family: var(--f-display); font-weight: 880; font-variation-settings: 'wdth' 120; font-size: 1.9rem; line-height: 1; letter-spacing: -.01em; color: var(--ink); }
.lb-native.lb-native .price-for { margin-top: .4rem; font-weight: 600; color: var(--ink-2); }
.lb-native.lb-native .price-amount { display: block; margin: 1.1rem 0 1.25rem; padding-bottom: 1.1rem; border-bottom: 2px dashed rgba(0,0,0,.28); }
.lb-native.lb-native .price-amount .elementor-heading-title {
  display: flex; align-items: baseline; gap: .5rem;
  font-family: var(--f-marker); font-weight: 400; letter-spacing: .01em;
  font-size: clamp(3.5rem, 2.8rem + 2.5vw, 4.75rem); line-height: .9; color: var(--ink);
}
.lb-native.lb-native .price-amount small { font-family: var(--f-body); font-size: 1rem; font-weight: 700; line-height: 1.2; letter-spacing: 0; color: var(--ink-2); white-space: nowrap; }
.lb-native.lb-native .price-list { display: block; flex: 1; margin-bottom: 1.8rem; color: var(--ink); }
.lb-native.lb-native .price-list ul { display: grid; gap: .65rem; margin: 0; padding: 0; list-style: none; }
.lb-native.lb-native .price-list li { position: relative; padding-left: 1.85rem; line-height: 1.4; }
.lb-native.lb-native .price-list li::before { /* el check, dibujado en CSS para que la lista se edite como texto normal */
  content: ''; position: absolute; left: 0; top: .1rem; width: 1.25em; height: 1.25em; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l4.5 4.5 10.5-10.5'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l4.5 4.5 10.5-10.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.lb-native.lb-native .elementor-button {
  display: flex; align-items: center; justify-content: center; width: 100%; min-height: 48px;
  padding: .8rem 1.35rem; border: 0; border-radius: 3px;
  background: var(--ink); color: #fff; fill: #fff;
  font-family: var(--f-body); font-weight: 750; font-size: 1rem; line-height: 1.15; text-decoration: none;
  transition: transform .35s var(--ease-out), box-shadow .35s var(--ease-out);
}
.lb-native.lb-native .elementor-button:hover { transform: translateY(-2px); box-shadow: 0 10px 20px -8px rgba(0,0,0,.5); }
.lb-native.lb-native .elementor-button:active { transform: translateY(0) scale(.98); }
.lb-native .card :focus-visible { outline: 3px solid var(--anil); outline-offset: 3px; }
@media (min-width: 701px) and (max-width: 1024px) {
  .lb-native.lb-native .price { padding: 2rem 1.1rem 1.3rem !important; }
  .lb-native.lb-native .price-name { font-size: 1.6rem; }
  .lb-native.lb-native .price-amount .elementor-heading-title { font-size: 3.1rem; }
  .lb-native.lb-native .price-list { font-size: .94rem; }
}

/* ----- FAQ (acordeón nativo de Elementor: vale el clásico y el nuevo) ----- */
.e-con.lb-native.faq { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 6vw, 5rem) !important; align-items: start; background: var(--paper); color: var(--ink); }
.lb-native.lb-native.faq .section-title { color: var(--ink); position: sticky; top: 6.5rem; max-width: 18ch; }
.lb-native.lb-native .faq-list { border-top: 2px solid var(--ink); color: var(--ink); }
/* clásico */
.lb-native.lb-native .faq-list .elementor-accordion-item { border: 0; border-bottom: 1.5px solid var(--paper-line); }
.lb-native.lb-native .faq-list .elementor-tab-title {
  display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: center; gap: 1rem;
  padding: 1.3rem 0; border: 0; cursor: pointer; color: var(--ink);
  font-family: var(--f-body); font-weight: 750; font-size: clamp(1.05rem, 1rem + .3vw, 1.2rem); line-height: 1.3;
}
.lb-native.lb-native .faq-list .elementor-accordion-title { flex: 1; color: inherit; text-decoration: none; font: inherit; }
.lb-native.lb-native .faq-list .elementor-accordion-icon { float: none; width: 1.5rem; flex: none; text-align: center; color: var(--anil); fill: var(--anil); }
.lb-native.lb-native .faq-list .elementor-accordion-icon svg { width: 1.1rem; height: 1.1rem; fill: var(--anil); }
.lb-native.lb-native .faq-list .elementor-tab-title:hover { color: var(--anil-deep); }
.lb-native.lb-native .faq-list .elementor-tab-content { padding: 0 2.5rem 1.4rem 0; border: 0; color: var(--ink-2); max-width: 62ch; font-family: var(--f-body); line-height: 1.55; }
/* nuevo (e-n-accordion, con <details>) */
.lb-native.lb-native .faq-list .e-n-accordion { --n-accordion-item-title-space-between: 0px; --n-accordion-item-title-distance-from-content: 0px; }
.lb-native.lb-native .faq-list .e-n-accordion-item { border: 0; border-bottom: 1.5px solid var(--paper-line); }
.lb-native.lb-native .faq-list .e-n-accordion-item-title {
  display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  padding: 1.3rem 0; border: 0; background: none; cursor: pointer; color: var(--ink);
}
.lb-native.lb-native .faq-list .e-n-accordion-item-title-text { font-family: var(--f-body); font-weight: 750; font-size: clamp(1.05rem, 1rem + .3vw, 1.2rem); line-height: 1.3; color: inherit; }
.lb-native.lb-native .faq-list .e-n-accordion-item-title-icon { color: var(--anil); fill: var(--anil); }
.lb-native.lb-native .faq-list .e-n-accordion-item-title-icon svg { width: 1.1rem; height: 1.1rem; fill: var(--anil); }
.lb-native.lb-native .faq-list .e-n-accordion-item > .e-con { display: block; padding: 0 2.5rem 1.4rem 0 !important; border: 0; background: none; color: var(--ink-2); max-width: 62ch; }
.lb-native.lb-native .faq-list a { color: inherit; text-decoration: underline; }
.lb-native .faq-list :focus-visible { outline: 3px solid var(--anil); outline-offset: 3px; }

/* ----- Cierre + formulario (#apuntate) ----- */
.e-con.lb-native.final { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 5rem) !important; align-items: start; scroll-margin-top: 4rem; }
.lb-native.lb-native .form-card {
  display: block !important; position: relative; padding: clamp(1.75rem, 4vw, 2.5rem) !important;
  background: var(--blanco); color: var(--ink); border-radius: 3px; box-shadow: var(--shadow-lift);
  transform: rotate(.6deg); --focus: var(--anil);
}
.lb-native .form-card::after { /* cinta */
  content: ''; position: absolute; top: -12px; left: 50%; width: 88px; height: 26px;
  transform: translateX(-50%) rotate(-2.5deg); background: var(--tape); box-shadow: 0 1px 2px rgba(0,0,0,.12); pointer-events: none;
}
.lb-native.lb-native .form-title { font-family: var(--f-display); font-weight: 880; font-variation-settings: 'wdth' 112; font-size: clamp(1.75rem, 1.3rem + 1.8vw, 2.35rem); line-height: 1; letter-spacing: -.015em; color: var(--ink); }
.lb-native.lb-native .form-sub { margin-top: .6rem; color: var(--ink-2); }
.lb-native.lb-native .form-card .elementor-widget-shortcode { margin-top: 1.6rem; }

@media (max-width: 960px) {
  .e-con.lb-native.faq, .e-con.lb-native.final { grid-template-columns: minmax(0, 1fr); }
  .lb-native.lb-native.faq .section-title { position: static; }
}
@media (max-width: 640px) {
  .lb-native.lb-native .form-card { transform: none; }
}

/* ==========================================================================
   4) FLUENT FORMS (formulario de fundadoras, dentro de .form-card)
   Se apoya en las clases que genera el plugin (.ff-el-group, .ff-el-form-control…).
   ========================================================================== */
.form-card .fluentform { font-family: var(--f-body); color: var(--ink); }
.form-card .fluentform .ff-el-group { margin-bottom: 1.1rem; }
.form-card .fluentform .ff-el-input--label { margin-bottom: .4rem; }
.form-card .fluentform .ff-el-input--label label { font-weight: 700; font-size: .95rem; color: var(--ink); }
.form-card .fluentform .ff-el-is-required.asterisk-right label::after { content: none; } /* marcamos los opcionales, no los obligatorios */
.form-card .fluentform .ff-el-form-control {
  width: 100%; min-height: 48px; padding: .7rem .85rem;
  border: 1.5px solid #8d8a80; border-radius: 4px; background: #fff; color: var(--ink);
  font: inherit; font-size: 1rem; caret-color: var(--anil); box-shadow: none;
  transition: border-color .2s, box-shadow .2s;
}
.form-card .fluentform textarea.ff-el-form-control { min-height: 88px; resize: vertical; }
.form-card .fluentform .ff-el-form-control::placeholder { color: #6b6860; opacity: 1; }
.form-card .fluentform .ff-el-form-control:hover { border-color: var(--ink); }
.form-card .fluentform .ff-el-form-control:focus,
.form-card .fluentform .ff-el-form-control:focus-visible { outline: none; border-color: var(--anil); box-shadow: 0 0 0 3px rgba(26, 53, 201, .3); }
.form-card .fluentform .ff-el-is-error .ff-el-form-control { border-color: #b3261e; box-shadow: 0 0 0 3px rgba(179, 38, 30, .15); }
.form-card .fluentform .error.text-danger, .form-card .fluentform .text-danger { margin-top: .35rem; color: #a1231b; font-size: .88rem; font-weight: 600; }
.form-card .fluentform .ff-t-container { display: flex; gap: 1.1rem; }
.form-card .fluentform .ff-t-cell { flex: 1; min-width: 0; padding: 0; }
/* Planes: las opciones de radio se ven como pastillas */
.form-card .fluentform .ff-el-form-check:not(.ff-el-tc) { display: inline-block; margin: 0 .5rem .5rem 0; }
.form-card .fluentform .ff-el-form-check:not(.ff-el-tc) .ff-el-form-check-label {
  position: relative; display: inline-flex; align-items: center; min-height: 44px; padding: .5rem .95rem;
  border-radius: 999px; box-shadow: inset 0 0 0 1.5px #8d8a80; font-weight: 650; font-size: .92rem; cursor: pointer;
  transition: background-color .2s, box-shadow .2s, color .2s;
}
.form-card .fluentform .ff-el-form-check:not(.ff-el-tc) input[type="radio"] { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.form-card .fluentform .ff-el-form-check:not(.ff-el-tc) .ff-el-form-check-label:hover { box-shadow: inset 0 0 0 1.5px var(--ink); }
.form-card .fluentform .ff-el-form-check:not(.ff-el-tc) .ff-el-form-check-label:has(input:checked) { background: var(--ink); color: #fff; box-shadow: none; }
.form-card .fluentform .ff-el-form-check:not(.ff-el-tc) .ff-el-form-check-label:has(input:focus-visible) { outline: 3px solid var(--anil); outline-offset: 2px; }
/* Casilla de consentimiento */
.form-card .fluentform .ff-el-tc .ff-el-form-check-label, .form-card .fluentform .ff_tc_label { display: flex; align-items: flex-start; gap: .7rem; font-weight: 500; font-size: .92rem; line-height: 1.4; cursor: pointer; }
.form-card .fluentform .ff-el-tc input[type="checkbox"], .form-card .fluentform .ff_tc_checkbox input { width: 22px; height: 22px; margin: .1rem 0 0; flex: none; accent-color: var(--anil); }
.form-card .fluentform .ff-el-tc a, .form-card .fluentform .ff_t_c a { color: var(--anil-deep); font-weight: 700; text-decoration: underline; }
/* Botón de enviar: la cartulina amarilla de la maqueta */
.form-card .fluentform .ff_submit_btn_wrapper { margin: 1.4rem 0 0; }
.form-card .fluentform .ff-btn-submit {
  display: flex; align-items: center; justify-content: center; width: 100%; min-height: 58px; padding: 1rem 1.6rem;
  border: 0; border-radius: 3px; background: var(--amarillo) !important; color: var(--ink) !important;
  font: inherit; font-weight: 750; font-size: 1.08rem; line-height: 1.15; cursor: pointer;
  transform: rotate(-.8deg); box-shadow: var(--shadow-card);
  transition: transform .35s var(--ease-out), box-shadow .35s var(--ease-out);
}
.form-card .fluentform .ff-btn-submit:hover { transform: rotate(0deg) translateY(-3px); box-shadow: var(--shadow-lift); opacity: 1; }
.form-card .fluentform .ff-btn-submit:active { transform: scale(.98); }
.form-card .ff-message-success { margin-top: 1.2rem; padding: 1.1rem 1.2rem; border: 0; border-radius: 3px; background: #c9f7dc; color: #0c5a2c; font-weight: 600; box-shadow: none; }
.form-card .ff-errors-in-stack { margin-top: 1rem; color: #a1231b; font-weight: 600; }
@media (max-width: 640px) { .form-card .fluentform .ff-t-container { display: block; } }

/* ==========================================================================
   5) MOVIMIENTO: estado inicial de los bloques nativos (no pueden llevar data-*)
   ========================================================================== */
.motion .lb-native .section-title, .motion .lb-native .section-lede, .motion .lb-native .fineprint,
.motion .lb-native .faq-list, .motion .lb-native .price, .motion .lb-native .form-card { opacity: 0; }
/* En el editor de Elementor no se anima nada: todo visible para poder editar. */
.elementor-editor-active [data-reveal], .elementor-editor-active [data-slap], .elementor-editor-active [data-hero-fade],
.elementor-editor-active [data-phone], .elementor-editor-active [data-slap-hero], .elementor-editor-active .lb-native * { opacity: 1 !important; }
.elementor-editor-active [data-hero-title] .line > span { transform: none !important; }

/* ==========================================================================
   6) PÁGINAS DE TEXTO (privacidad, cookies, términos)
   Contenedor con las clases "lb-sec lb-legal" y un widget Editor de texto dentro.
   ========================================================================== */
.e-con.lb-legal { padding: clamp(3rem, 7vw, 5.5rem) var(--gutter) var(--section) !important; background: var(--paper); color: var(--ink); }
.lb-legal.lb-legal .elementor-widget { max-width: 68ch; margin-inline: auto; font-family: var(--f-body); color: var(--ink); line-height: 1.65; }
.lb-legal.lb-legal h1 { font-family: var(--f-display); font-weight: 880; font-size: clamp(2.1rem, 1.3rem + 3vw, 3.2rem); line-height: 1; letter-spacing: -.015em; margin: 0 0 1.5rem; color: var(--ink); }
.lb-legal.lb-legal h2 { font-family: var(--f-body); font-weight: 800; font-size: 1.35rem; line-height: 1.25; margin: 2.2rem 0 .6rem; color: var(--ink); }
.lb-legal.lb-legal h3 { font-family: var(--f-body); font-weight: 800; font-size: 1.1rem; margin: 1.6rem 0 .4rem; color: var(--ink); }
.lb-legal.lb-legal p, .lb-legal.lb-legal li { color: var(--ink-2); }
.lb-legal.lb-legal ul { list-style: disc; padding-left: 1.3rem; margin: .6rem 0; }
.lb-legal.lb-legal a { color: var(--anil-deep); font-weight: 600; }
.lb-legal.lb-legal table { width: 100%; border-collapse: collapse; margin: 1rem 0; font-size: .95rem; }
.lb-legal.lb-legal th, .lb-legal.lb-legal td { padding: .6rem .7rem; border: 1px solid var(--paper-line); text-align: left; vertical-align: top; }
.lb-legal :focus-visible { outline: 3px solid var(--anil); outline-offset: 3px; }

/* Cierre con botón de WhatsApp (versión sin formulario) */
.final { scroll-margin-top: 4rem; }
.final-note { margin-top: -.4rem; color: var(--on-anil-2); font-weight: 600; }

/* El tema padre (Bluehost Blueprint) pone color propio a los titulares: aquí heredan el de su sección. */
.lb-sec h1, .lb-sec h2, .lb-sec h3, .lb-sec h4 { color: inherit; }
.lb-native.lb-native .section-title .elementor-heading-title { max-width: 18ch; }
