/* =========================================================
   PharmaGive — landing · identidad oficial
   Paleta oficial: teal #115157 · dorado #a88c10 · durazno #e1b08e,
   con neutros cálidos (papel, lino) y tonos derivados de la paleta.
   Tipografía: Fraunces (títulos) · Nunito (texto, como el brochure)
   ========================================================= */

:root {
  /* Teal oficial ("celeste negro") y sus derivados */
  --teal-950: #0d373b;     /* sombra del teal oficial, para fondos oscuros */
  --ink:      #0c3030;
  --teal-800: #115157;
  --teal-700: #115157;     /* color principal oficial */
  --teal-100: #d6e5e2;
  --teal-50:  #eaf2ef;

  /* Dorado mostaza oficial y derivados */
  --gold:       #a88c10;
  --gold-text:  #7b670b;   /* sombra del dorado: contraste para texto pequeño */
  --gold-light: #c4ae55;   /* aclarado del dorado para fondos oscuros */
  --gold-100:   #efe5c2;

  /* Durazno pastel oficial */
  --peach:     #e1b08e;
  --peach-100: #f6e6d9;

  /* Papel, lino y arena */
  --cream: #f7f2e8;
  --sand:  #efe6d6;
  --linen: #e6dccb;

  --muted: #4d6260;
  --faint: #879593;
  --line:  rgba(17, 81, 87, .16);

  --font-serif: "Fraunces", Georgia, "Times New Roman", serif;
  --font-sans: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;

  --radius-sm: 10px;
  --radius: 18px;
  --radius-lg: 28px;
  --shadow-sm: 0 1px 2px rgba(13, 55, 59, .06);
  --shadow: 0 24px 50px -24px rgba(13, 55, 59, .38);
  --ease: cubic-bezier(.22, .61, .36, 1);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --header-h: 96px;

  /* Texturas (SVG en línea, sin peticiones extra) */
  --tex-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .25 0 0 0 0 .24 0 0 0 0 .18 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --tex-weave: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23efe6d6' stroke-width='.9' stroke-linecap='round'%3E%3Cpath d='M1 3h10M1 6h10M1 9h10M13 15h10M13 18h10M13 21h10M15 1v10M18 1v10M21 1v10M3 13v10M6 13v10M9 13v10'/%3E%3C/svg%3E");
  /* fibras de lino: ruido estirado en horizontal y vertical */
  --tex-fiber: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.012 .9' numOctaves='2' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .3 0 0 0 0 .2 0 0 0 1.4 -.55'/%3E%3C/filter%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9 .012' numOctaves='2' seed='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .3 0 0 0 0 .2 0 0 0 1.4 -.55'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
  /* tejido de yute: trama gruesa de cesta */
  --tex-jute: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' fill='none' stroke='%237a6640' stroke-linecap='round'%3E%3Cg stroke-width='2.2'%3E%3Cpath d='M2 4.5h14M2 9h14M2 13.5h14M20 22.5h14M20 27h14M20 31.5h14'/%3E%3Cpath d='M22.5 2v14M27 2v14M31.5 2v14M4.5 20v14M9 20v14M13.5 20v14'/%3E%3C/g%3E%3C/svg%3E");
  /* veta de madera */
  --tex-wood: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='300'%3E%3Cfilter id='w'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.004 .09' numOctaves='3' seed='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .95 0 0 0 0 .9 0 0 0 0 .8 0 0 0 .9 -.32'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23w)'/%3E%3C/svg%3E");
  /* olas: líneas suaves que evocan el mar */
  --tex-sea: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='28' fill='none' stroke='%23115157' stroke-width='1'%3E%3Cpath d='M0 14c15-9 30-9 45 0s30 9 45 0 22-6 30-3'/%3E%3C/svg%3E");
  --rope: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='14' fill='none' stroke='%23a88c10' stroke-width='1.1'%3E%3Cpath d='M1 12C4 12 9 2 15 2'/%3E%3Cpath d='M1 12C7 12 12 2 15 2' opacity='.5'/%3E%3C/svg%3E");
  /* Árbol con raíces del brochure (vector original en assets/marca/arbol.svg),
     incrustado para que la máscara funcione también al abrir el archivo localmente */
  --tree: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='1004 32 712 757'%3E%3Cpath fill='%23000'  d='M1677.4 547.4C1701.4 550.3 1702.9 556.7 1713.4 566.0C1715.6 562.1 1708.8 555.7 1706.8 553.5C1687.2 532.2 1642.1 537.8 1621.8 533.4C1593.2 527.0 1590.2 517.7 1552.0 520.4C1500.5 524.3 1426.5 509.1 1407.2 455.5C1401.6 439.8 1393.0 403.1 1393.0 385.7C1393.0 372.2 1395.4 361.7 1400.3 350.9C1403.8 343.5 1407.7 337.4 1413.6 332.0C1415.5 330.3 1416.5 328.8 1418.5 327.1C1429.7 317.5 1447.6 308.0 1464.0 310.4C1467.5 310.9 1469.4 311.4 1472.4 312.9C1473.8 313.6 1474.3 313.9 1475.6 314.6C1480.9 318.3 1478.5 325.6 1482.2 332.5C1489.3 345.7 1507.4 351.9 1522.8 348.7C1523.1 346.7 1518.2 332.7 1516.9 329.1C1513.5 318.5 1506.7 312.2 1495.9 310.4C1491.0 309.7 1486.6 310.9 1482.9 310.4C1480.7 310.2 1476.8 307.0 1474.1 306.0L1467.0 303.3C1466.7 303.3 1466.5 303.3 1466.2 303.1L1464.5 302.3C1484.6 295.2 1518.9 298.4 1533.8 313.1C1547.3 325.9 1532.9 330.5 1543.2 344.2C1548.1 350.3 1560.3 360.4 1568.6 361.6C1573.8 348.4 1570.8 333.2 1559.8 325.9C1557.6 324.1 1554.4 322.7 1551.5 321.9C1540.0 319.0 1544.4 314.6 1532.6 305.0C1540.9 305.0 1552.2 310.4 1558.8 313.6C1576.2 322.7 1570.3 320.7 1573.5 333.7C1577.9 351.3 1596.8 358.2 1618.4 358.7C1618.6 337.4 1610.3 322.7 1592.4 319.0C1586.3 317.5 1582.3 319.0 1577.7 318.7C1574.8 318.5 1557.1 307.0 1551.7 304.3L1546.8 301.4C1550.8 298.9 1563.0 294.0 1568.6 293.5C1580.9 292.5 1580.4 300.1 1585.5 305.0C1597.0 316.1 1611.5 315.8 1630.6 314.1C1630.4 308.0 1626.9 301.6 1623.7 297.4C1621.0 293.8 1619.5 292.2 1618.2 291.1C1616.9 290.0 1615.8 289.5 1614.2 288.1C1614.2 288.1 1605.4 281.5 1591.3 280.9C1577.1 280.2 1572.4 288.1 1572.4 288.1L1543.0 295.0L1548.8 289.4C1548.8 289.4 1557.2 290.0 1564.2 286.2C1571.2 282.3 1572.4 271.4 1572.4 271.4C1572.4 271.4 1563.6 267.2 1552.6 272.6C1541.6 278.0 1546.3 287.4 1546.3 287.4L1538.5 295.0L1494.0 287.2L1510.2 271.5C1510.2 271.5 1559.1 264.5 1564.8 264.5C1570.4 264.5 1608.6 274.7 1612.6 276.4C1626.3 280.8 1616.1 288.6 1631.8 297.7C1642.1 303.8 1659.0 303.6 1670.8 299.0C1670.1 291.6 1661.0 280.8 1657.3 277.2C1651.4 271.3 1641.2 267.6 1630.9 270.6C1623.5 272.3 1624.3 275.0 1616.7 272.3C1612.3 270.8 1607.1 270.1 1603.2 268.6C1594.6 264.9 1584.3 263.2 1574.5 261.7C1576.8 260.3 1580.4 258.5 1582.6 257.1C1585.6 255.1 1587.3 253.4 1590.5 251.5C1595.4 248.8 1603.5 245.3 1609.8 245.6C1613.5 249.5 1617.7 251.2 1622.6 254.1C1622.6 254.1 1629.4 256.1 1635.8 256.6L1640.7 256.6C1650.0 254.9 1660.1 249.0 1667.7 243.8C1663.8 231.6 1635.1 215.9 1614.8 234.5C1605.2 243.4 1609.9 239.4 1597.6 242.9C1590.0 245.3 1586.1 247.3 1579.2 251.0C1558.9 262.7 1537.8 261.7 1513.8 263.7C1516.3 260.0 1518.5 256.6 1520.9 252.9C1523.6 249.0 1526.3 248.3 1531.0 246.3C1539.6 243.0 1542.3 242.4 1544.7 243.1C1547.5 245.5 1552.8 248.2 1562.8 248.5C1566.1 248.8 1569.3 248.6 1572.4 248.1C1572.5 248.1 1572.5 248.1 1572.5 248.1C1598.5 245.3 1602.9 225.9 1602.9 225.9C1602.9 225.9 1583.3 212.3 1562.2 216.2C1561.0 216.3 1559.8 216.6 1558.6 217.0C1544.2 221.4 1542.3 234.1 1542.1 238.4L1526.1 242.2C1529.5 230.2 1538.3 221.6 1545.9 216.2C1556.2 208.3 1565.8 205.4 1581.4 207.1C1586.6 207.6 1587.1 207.4 1589.3 210.8C1598.1 223.8 1616.5 226.5 1630.4 219.9C1634.6 217.7 1641.5 213.3 1642.9 210.1C1616.9 181.9 1597.4 200.3 1589.0 202.5C1586.6 203.0 1570.7 201.0 1565.3 201.2C1567.2 198.0 1570.2 196.6 1573.4 194.9C1576.8 193.4 1580.0 192.2 1583.4 190.9C1586.6 189.5 1590.0 188.0 1593.4 186.8C1603.5 183.8 1622.4 202.4 1641.5 172.8L1640.5 171.8C1640.5 171.8 1640.2 171.6 1640.0 171.6C1629.9 163.5 1612.8 163.7 1603.7 171.6C1600.8 173.8 1599.8 174.8 1597.8 178.9C1595.4 183.3 1594.9 181.9 1590.0 183.3C1583.9 185.6 1578.2 188.7 1571.6 190.2C1573.4 182.6 1577.8 177.2 1580.9 172.8C1593.2 172.6 1603.2 169.4 1608.4 162.3C1613.8 154.9 1617.5 144.9 1617.7 133.1C1571.9 133.1 1578.0 165.2 1575.3 170.4C1572.9 174.8 1569.9 178.5 1568.0 183.6C1563.5 193.6 1557.9 198.8 1548.4 204.4C1543.7 207.1 1541.0 210.5 1536.1 212.5C1536.8 208.3 1539.5 200.0 1542.0 198.1C1547.1 193.6 1560.1 195.1 1561.6 178.5C1562.3 173.3 1561.8 166.5 1560.1 161.8C1556.9 162.1 1550.1 167.4 1548.1 169.2C1523.1 149.3 1512.6 174.8 1508.4 176.8L1490.1 178.2L1499.4 167.9C1503.8 164.0 1503.8 162.5 1509.4 159.1C1514.8 155.7 1531.2 149.1 1538.3 151.0C1550.6 154.5 1561.6 152.0 1568.2 145.1C1571.6 141.7 1580.7 128.5 1581.0 120.9L1564.5 120.6C1566.3 117.7 1568.7 113.8 1569.7 109.9C1556.7 105.0 1543.7 109.9 1538.6 119.7C1536.1 124.6 1537.8 123.1 1533.9 126.8C1531.5 129.0 1530.7 129.7 1528.3 131.7C1524.9 134.1 1517.0 137.5 1513.6 139.0C1514.3 134.1 1517.7 124.8 1520.7 122.4C1529.3 115.2 1551.3 114.5 1540.0 76.3C1522.1 81.4 1506.7 95.2 1514.1 118.4C1516.3 125.3 1508.4 137.1 1505.5 143.7C1501.8 152.0 1499.4 158.9 1490.5 163.8C1491.0 158.4 1489.8 148.1 1492.5 144.7C1492.8 144.2 1497.4 140.5 1498.4 139.8C1500.1 138.0 1501.3 136.6 1502.8 134.1C1507.9 125.1 1505.0 113.5 1499.6 105.0C1498.9 103.7 1499.4 104.5 1498.6 103.5C1484.2 112.6 1473.4 135.6 1487.1 143.7C1485.4 166.5 1481.7 171.6 1469.2 182.2C1460.2 189.7 1445.2 196.9 1435.4 203.7C1435.4 194.6 1440.1 191.9 1443.8 187.3C1453.1 176.3 1447.9 183.1 1459.2 178.0C1470.2 173.1 1476.1 157.9 1468.8 143.2C1462.9 143.9 1452.6 151.3 1449.2 154.7C1440.8 163.3 1444.5 167.5 1445.0 177.7C1442.3 179.9 1439.4 184.1 1436.7 185.6C1434.7 181.4 1433.5 160.1 1433.5 156.4C1433.7 148.8 1434.5 149.3 1438.6 145.9C1441.3 143.9 1445.0 139.8 1447.0 138.8C1454.8 134.1 1466.3 142.0 1473.9 118.5C1474.4 117.2 1474.7 116.0 1474.9 115.0C1475.3 111.6 1475.2 104.6 1475.2 104.6C1475.2 104.6 1470.8 105.4 1466.2 106.9C1463.5 107.8 1458.8 109.6 1455.5 111.0C1442.3 119.5 1445.8 131.7 1443.0 135.4C1441.1 137.8 1437.6 140.3 1434.9 141.7C1432.2 116.3 1447.9 108.4 1459.4 97.4C1462.5 94.4 1464.6 93.0 1466.2 92.3L1466.2 91.7C1466.2 91.7 1482.7 89.6 1488.6 79.5C1494.5 69.5 1493.0 53.0 1493.0 53.0C1487.8 53.5 1477.8 57.7 1474.1 60.1C1469.0 63.3 1465.5 67.7 1463.4 75.1C1460.2 86.3 1465.6 87.3 1456.7 93.9C1454.3 95.9 1445.0 103.7 1442.0 104.0C1442.5 97.9 1444.5 91.5 1446.2 85.9C1447.9 81.2 1448.4 82.2 1451.6 79.7C1453.6 77.8 1455.3 75.8 1456.5 73.9C1463.4 62.6 1457.0 46.7 1449.9 41.3C1443.8 47.4 1431.8 57.9 1436.9 72.9C1441.8 87.6 1447.0 73.9 1434.7 106.7C1432.8 102.3 1432.0 96.9 1427.9 88.6C1422.2 77.5 1427.9 79.7 1427.4 68.0C1426.9 54.0 1415.9 44.2 1404.6 41.0C1395.8 56.9 1399.9 75.3 1414.1 81.7C1421.7 85.1 1422.0 84.6 1427.4 98.1C1430.6 105.7 1430.6 114.0 1428.3 122.4L1419.0 110.6C1412.7 102.5 1420.0 86.8 1383.3 83.9C1383.3 83.9 1383.3 96.6 1389.0 103.0C1401.1 116.5 1416.1 114.5 1416.1 114.5C1420.0 119.7 1426.9 125.8 1425.6 135.4C1424.4 145.1 1424.2 154.5 1423.2 164.3C1421.7 162.3 1416.6 156.4 1416.3 154.5C1414.9 147.6 1426.4 140.5 1414.4 127.5C1412.9 125.8 1406.3 120.7 1403.8 120.2C1401.6 125.1 1399.9 135.1 1401.4 141.2C1404.1 151.3 1410.5 153.2 1411.9 155.0L1420.8 169.9C1423.5 173.6 1423.7 172.3 1423.9 178.7C1423.9 182.6 1423.9 186.8 1423.5 191.0C1420.3 216.4 1407.8 225.5 1393.6 244.4L1389.6 249.5C1389.6 249.8 1389.4 250.0 1389.4 250.0C1389.1 250.3 1389.1 250.3 1388.9 250.5L1388.2 251.2C1384.5 241.4 1386.2 237.0 1388.6 228.0C1392.8 212.5 1391.6 220.4 1400.2 212.0C1413.6 199.0 1406.0 185.8 1400.4 171.1C1398.5 172.1 1382.5 187.5 1380.6 195.9C1376.4 213.5 1388.9 209.8 1384.2 221.8C1383.3 225.0 1382.5 228.2 1380.3 229.9C1377.9 222.6 1369.3 210.3 1367.6 203.2C1365.1 193.4 1375.7 182.4 1378.6 174.1C1383.0 161.6 1380.6 169.2 1387.2 163.1C1401.4 150.1 1393.1 127.3 1384.8 120.2C1381.8 121.4 1374.5 131.0 1372.5 134.1C1368.8 139.5 1366.4 147.9 1369.1 155.4C1372.3 163.8 1378.1 162.8 1373.2 173.1L1362.5 189.5C1361.7 188.5 1362.2 189.2 1361.2 187.5L1358.0 179.0C1356.8 174.8 1356.1 170.4 1355.6 166.0C1354.4 156.4 1355.1 147.1 1358.3 139.0C1362.7 128.0 1362.7 127.3 1371.0 121.4C1375.8 118.0 1379.3 114.7 1381.8 111.9C1381.4 110.7 1380.3 109.5 1377.4 109.2C1374.1 113.0 1370.6 117.2 1365.7 119.4C1366.6 110.6 1363.4 96.6 1367.9 90.0C1369.6 87.6 1374.5 85.1 1376.7 82.9C1393.8 65.8 1384.3 37.8 1371.5 31.7C1364.2 42.2 1347.8 57.2 1354.9 78.0C1361.0 95.2 1361.7 79.5 1359.3 103.7C1358.3 112.6 1357.3 122.4 1352.7 129.0C1350.5 126.0 1348.0 118.2 1346.1 114.3C1336.3 96.2 1353.4 87.6 1346.8 73.1C1345.1 69.9 1345.1 68.5 1341.9 68.0C1339.7 73.1 1345.8 88.3 1338.7 97.6C1337.3 96.4 1329.9 85.6 1329.7 83.7C1328.9 80.0 1334.1 72.9 1333.8 64.8C1333.3 56.7 1330.6 53.0 1327.0 48.6L1316.4 37.1C1303.4 46.7 1302.2 73.1 1321.3 82.0C1326.0 84.2 1324.8 84.7 1327.2 89.3C1330.4 95.4 1334.6 100.3 1336.0 107.7C1332.6 106.9 1329.9 104.8 1326.2 102.8C1324.6 102.1 1323.4 101.7 1322.4 101.3C1321.4 101.0 1320.6 100.6 1319.8 100.0C1319.1 99.3 1318.3 98.3 1317.4 96.7C1316.4 94.8 1315.1 92.9 1313.6 91.1C1311.0 88.6 1307.6 86.2 1303.3 85.3C1295.4 83.8 1289.9 83.5 1287.4 83.5C1285.6 95.7 1294.5 105.0 1304.2 106.7C1310.8 107.9 1316.7 104.3 1321.8 106.2C1354.9 119.9 1338.2 150.6 1343.4 181.7C1338.5 177.8 1333.1 175.1 1331.9 168.0C1328.7 148.6 1329.2 156.2 1332.6 147.9C1338.2 135.0 1321.8 118.9 1313.2 118.5C1312.4 121.7 1310.5 131.0 1312.8 139.6C1315.5 150.0 1324.7 154.0 1325.2 154.2C1325.3 154.2 1325.3 154.2 1325.3 154.2L1326.2 167.7C1324.4 167.0 1322.4 165.9 1320.6 164.5C1315.6 161.6 1308.4 157.0 1303.0 152.1C1293.9 143.9 1291.1 135.2 1291.1 135.2C1288.3 129.2 1287.2 120.7 1283.9 114.6C1279.7 107.2 1270.1 99.9 1271.9 90.5C1276.8 66.1 1260.8 50.9 1239.0 49.4C1237.6 55.8 1237.6 66.5 1239.3 72.7C1241.0 79.5 1244.7 84.2 1248.8 87.9C1258.9 96.9 1268.7 89.8 1274.6 111.9C1271.6 111.4 1268.7 109.2 1266.5 110.1C1269.2 114.1 1274.1 115.0 1276.3 118.0C1278.5 120.7 1280.0 127.5 1281.2 131.4C1283.9 140.7 1288.8 147.4 1294.4 154.5C1298.3 159.6 1307.9 167.0 1314.0 171.1C1343.9 192.7 1364.5 224.3 1364.2 264.5C1364.2 277.0 1361.5 283.6 1359.1 294.8C1355.4 290.7 1347.6 277.5 1342.9 271.6C1340.0 267.6 1335.8 265.2 1333.4 261.5C1330.9 258.1 1330.7 250.0 1329.5 245.6C1326.5 234.8 1329.2 239.7 1332.2 231.4C1333.9 226.2 1332.9 219.6 1330.7 214.7C1327.8 208.8 1313.8 196.1 1311.3 195.1C1306.0 201.5 1300.8 221.3 1312.3 233.1C1316.2 237.0 1318.7 237.0 1322.4 240.2L1322.9 252.2C1319.7 251.2 1314.0 246.1 1311.3 243.9C1296.4 231.9 1300.6 226.0 1295.7 202.5C1294.7 197.8 1294.9 198.6 1297.1 195.6C1301.8 189.2 1302.8 180.4 1299.6 173.3C1296.9 167.4 1284.8 154.3 1278.6 152.4C1272.0 164.4 1270.7 183.1 1280.9 192.7C1287.8 198.8 1290.3 196.3 1292.0 207.4C1293.0 214.7 1293.4 222.3 1294.7 229.9C1287.3 226.2 1275.3 210.5 1270.7 201.2C1262.8 185.8 1264.3 173.8 1264.5 155.4C1267.5 152.0 1269.9 152.0 1272.6 146.3C1274.4 142.2 1274.6 136.5 1273.1 132.1C1270.9 125.8 1261.4 116.2 1257.0 114.2C1252.5 120.6 1246.9 134.3 1250.8 143.6C1253.1 149.0 1258.2 151.2 1259.4 153.9C1260.7 156.6 1259.4 166.9 1258.4 170.1C1256.0 167.2 1254.3 163.2 1251.8 160.0C1239.6 144.6 1235.9 144.9 1244.2 124.5C1248.4 114.7 1246.4 110.3 1248.9 103.0C1252.8 91.4 1242.8 81.2 1232.2 78.7C1229.5 83.8 1229.5 90.2 1232.0 95.6C1234.2 100.8 1237.6 103.7 1243.2 105.7C1243.7 117.7 1238.6 122.8 1236.6 132.9L1233.7 128.7C1232.7 127.0 1232.2 126.2 1231.5 125.0C1225.1 114.2 1233.4 109.3 1229.3 96.6C1226.1 86.8 1214.1 77.2 1202.3 75.0C1200.1 96.3 1198.6 106.6 1214.8 116.2C1226.6 123.1 1221.2 114.7 1228.8 130.2C1231.7 136.0 1235.6 142.9 1237.4 149.5C1222.4 143.4 1230.5 144.9 1222.2 136.0C1216.3 129.7 1209.9 130.4 1202.3 126.7C1204.0 112.8 1191.6 100.8 1186.2 98.6C1179.1 105.7 1174.2 119.1 1180.5 130.7C1188.6 145.1 1190.3 129.4 1188.6 164.0C1184.9 161.5 1178.3 151.7 1175.4 148.0C1172.7 144.6 1170.7 144.1 1170.7 139.0C1169.7 113.7 1144.2 104.4 1130.0 110.1C1129.5 116.9 1134.9 129.4 1137.9 133.6C1141.5 139.5 1147.2 144.6 1156.0 146.1C1168.3 148.0 1166.5 142.9 1182.2 165.9C1184.4 169.3 1187.1 171.5 1188.6 174.7C1181.7 173.5 1172.6 171.0 1165.6 169.3C1160.6 168.4 1160.9 166.4 1158.2 162.7C1146.7 148.5 1120.0 148.5 1108.5 160.5C1109.9 164.7 1126.1 176.9 1130.0 178.6C1146.5 185.5 1153.3 177.4 1160.2 174.7C1166.6 172.3 1186.4 179.8 1190.8 182.8C1194.7 185.5 1198.4 188.9 1201.8 191.9C1205.5 194.8 1210.2 197.8 1212.1 201.2C1205.3 200.9 1192.8 202.9 1188.3 199.2C1185.6 197.0 1185.6 195.8 1182.0 193.3C1173.2 187.5 1161.9 187.0 1152.8 191.6C1148.4 193.8 1140.1 197.7 1137.6 200.9C1138.6 203.1 1141.5 206.3 1144.2 208.5C1144.9 209.0 1145.4 209.4 1145.9 209.8C1146.5 210.2 1146.9 210.5 1147.4 210.7C1149.6 212.2 1153.1 213.9 1158.0 215.6C1185.9 219.8 1183.7 208.5 1191.8 206.5C1201.1 204.3 1222.7 208.5 1230.0 212.2C1233.9 214.1 1245.4 220.3 1247.9 223.0C1215.8 226.2 1233.2 227.4 1217.3 221.5C1214.1 220.5 1210.7 219.8 1206.7 220.0C1196.7 220.8 1183.4 232.0 1178.1 239.6C1181.3 243.6 1195.5 248.2 1201.8 248.7C1212.9 249.5 1220.5 245.0 1224.4 239.2C1228.3 233.5 1225.6 232.3 1232.5 230.8C1247.2 227.6 1260.4 230.1 1272.4 236.7C1288.8 245.5 1311.4 268.3 1320.7 284.7C1325.1 292.3 1327.3 300.1 1328.3 310.0C1324.1 308.5 1318.7 304.8 1313.8 302.4C1308.7 300.1 1303.8 298.2 1298.6 296.0C1288.6 291.3 1284.4 283.0 1277.1 274.9C1267.5 264.4 1271.4 275.2 1269.5 261.0C1266.5 241.1 1234.0 236.2 1227.8 240.6C1226.6 241.6 1227.3 243.1 1227.8 244.8C1241.0 284.2 1260.1 267.3 1268.5 274.9C1271.7 277.9 1277.8 286.4 1279.5 290.1C1261.1 286.7 1235.9 279.8 1219.0 272.7C1192.0 261.4 1164.8 252.1 1146.9 229.1C1144.2 225.7 1134.0 217.3 1133.0 214.4C1131.3 208.8 1132.0 193.3 1113.1 186.5C1098.9 181.1 1093.0 184.8 1081.3 188.2C1081.8 192.6 1091.1 206.1 1093.8 209.0C1098.9 214.6 1104.1 219.3 1114.6 220.3C1136.4 222.5 1123.9 211.7 1152.8 244.6C1145.7 244.3 1133.7 239.9 1123.9 239.2C1116.3 238.7 1112.1 229.9 1103.1 225.9C1088.4 219.8 1062.4 225.7 1055.6 240.6C1063.9 244.3 1072.0 250.9 1081.0 253.9C1096.0 259.0 1105.8 254.3 1116.6 246.0C1122.4 241.6 1133.7 245.8 1140.1 247.7C1145.5 249.2 1163.6 255.6 1166.0 259.0C1150.1 258.7 1139.7 262.6 1133.0 264.0L1121.4 268.0C1121.3 268.0 1121.3 268.0 1121.2 268.1C1120.7 268.3 1120.1 268.4 1119.5 268.6C1119.3 268.7 1119.0 268.8 1118.8 268.8C1113.4 271.0 1109.5 273.7 1103.6 271.8C1096.0 269.1 1089.4 268.8 1081.5 271.3C1072.2 274.2 1059.0 290.6 1056.3 299.9C1080.6 305.6 1098.7 307.8 1109.0 281.3C1111.2 275.7 1120.5 273.7 1125.6 272.0C1123.2 276.7 1117.1 281.8 1113.1 285.5C1111.2 287.2 1110.2 287.7 1110.4 290.6C1115.8 291.8 1119.8 286.0 1122.2 283.0C1134.2 269.3 1137.9 265.9 1164.6 266.6C1176.9 267.1 1186.2 270.0 1195.7 274.7C1201.3 277.4 1218.0 284.5 1221.7 287.4C1218.0 289.1 1194.7 292.8 1189.3 292.3C1183.7 292.1 1178.6 290.4 1172.9 289.9C1161.9 288.4 1166.8 290.4 1159.9 284.7C1144.5 271.8 1121.0 283.8 1112.2 299.0L1115.4 300.4C1116.6 300.9 1117.1 300.9 1118.3 301.4C1132.5 306.8 1148.2 311.0 1160.7 299.0C1167.0 292.8 1162.9 292.8 1177.8 295.8C1179.8 296.3 1182.0 296.5 1183.9 297.0L1189.3 298.2C1181.7 302.9 1170.9 306.6 1162.6 311.0C1144.7 321.0 1150.6 318.6 1134.0 316.4C1110.4 313.2 1093.8 331.6 1091.3 351.9C1116.1 352.4 1133.2 353.1 1143.5 335.7C1145.5 332.3 1146.4 326.2 1149.1 324.0C1150.6 322.7 1157.5 319.3 1159.7 318.1C1167.3 314.4 1175.1 310.7 1183.7 308.3C1183.4 308.8 1175.1 323.2 1174.4 323.7C1173.1 325.0 1169.0 326.2 1166.3 327.9C1145.5 341.8 1149.5 366.3 1154.4 371.2C1156.6 371.2 1158.3 368.3 1160.2 366.6C1166.8 361.2 1175.2 358.5 1179.4 351.1C1182.5 345.7 1184.5 339.6 1182.8 332.8C1180.6 323.4 1177.9 327.6 1184.2 317.1C1189.9 307.5 1197.5 301.4 1211.9 299.4C1225.6 297.7 1241.1 298.0 1253.3 302.4C1250.9 304.1 1247.4 304.6 1244.7 306.1C1240.8 308.3 1241.3 309.2 1235.9 308.5C1228.1 307.3 1222.2 308.2 1216.3 312.2C1208.2 317.1 1200.9 330.5 1199.9 343.8C1218.5 344.0 1235.2 342.1 1241.0 326.1C1242.0 323.2 1242.5 318.8 1243.3 316.8C1248.2 304.6 1296.4 307.3 1320.4 343.5C1334.6 364.9 1332.7 394.0 1326.8 420.2C1320.7 449.4 1315.8 468.7 1298.9 484.7C1283.9 498.4 1263.8 509.9 1237.1 516.0C1197.0 525.3 1183.0 518.5 1150.4 522.6C1136.0 524.3 1125.7 527.0 1112.9 531.9C1072.0 547.6 1065.6 533.9 1032.5 540.7C1019.6 543.4 1008.8 549.6 1004.1 559.1C1007.5 557.7 1009.8 555.2 1012.9 553.5C1040.1 538.8 1069.3 554.2 1098.7 549.6C1095.7 553.7 1085.9 562.3 1081.5 565.0C1067.6 573.6 1049.9 570.6 1036.2 583.1C1032.3 586.8 1026.5 594.7 1026.2 600.8C1026.2 600.9 1026.3 601.4 1026.4 602.5L1038.7 589.0C1053.4 576.3 1077.1 583.1 1096.2 567.2C1099.2 564.8 1100.4 564.3 1103.3 561.3C1110.4 554.5 1116.8 548.8 1126.6 544.9C1142.5 538.5 1155.8 539.8 1173.4 540.3C1172.9 542.0 1173.4 540.7 1172.4 542.0C1168.8 546.1 1164.8 545.9 1149.9 565.8C1125.9 598.1 1109.2 589.3 1088.6 603.5C1082.3 607.9 1066.1 623.6 1070.3 632.1C1072.5 630.2 1073.9 625.3 1075.9 622.8C1083.0 613.5 1091.8 609.1 1104.1 606.7C1116.1 604.0 1137.9 599.8 1145.0 589.8C1143.3 599.6 1134.9 617.7 1130.0 625.0C1117.8 642.9 1107.2 640.2 1097.4 643.7C1100.9 649.3 1119.2 642.9 1123.4 640.7C1130.0 637.0 1136.4 631.2 1140.6 625.8C1164.8 595.2 1148.2 553.0 1245.4 537.8C1243.5 541.5 1236.1 547.6 1232.9 550.6C1225.8 557.2 1218.0 563.1 1210.4 569.4C1180.7 594.4 1183.4 599.1 1174.1 631.2C1169.5 646.6 1161.9 662.8 1150.4 672.6C1147.4 675.3 1144.7 677.5 1140.6 679.4C1137.6 680.9 1134.0 681.2 1130.5 681.7L1128.3 682.4C1128.3 682.1 1128.1 682.4 1127.8 682.7C1135.7 690.5 1158.2 677.3 1163.3 670.9C1167.3 666.2 1170.7 662.6 1174.4 657.2C1177.1 653.5 1181.5 643.7 1183.4 641.7C1196.2 661.8 1182.5 673.6 1182.0 677.3C1189.3 677.5 1194.2 662.6 1193.5 652.8C1192.7 639.5 1186.6 636.8 1190.8 622.4C1193.5 612.8 1199.4 605.2 1204.0 599.4C1207.2 595.7 1218.2 585.6 1223.1 582.9C1221.4 589.1 1219.2 594.0 1218.7 600.8C1218.2 605.5 1219.2 616.5 1221.7 619.5C1226.6 617.2 1223.9 608.9 1223.9 603.3C1224.1 588.1 1235.6 572.4 1245.9 564.6C1257.4 555.5 1266.7 545.2 1279.0 536.4C1282.7 533.7 1286.6 530.0 1290.5 528.3C1279.7 545.9 1252.5 556.3 1238.3 587.4C1230.5 604.8 1234.9 618.2 1229.5 634.6C1220.2 662.1 1205.7 656.9 1202.1 662.8C1203.8 663.6 1206.0 663.1 1208.0 662.8C1225.6 659.1 1228.0 650.6 1235.1 641.5C1235.9 688.0 1215.5 675.6 1201.3 701.5C1198.9 706.2 1194.5 722.6 1200.6 726.0C1202.1 720.4 1201.1 715.7 1204.0 709.9C1209.6 697.4 1220.9 694.9 1230.5 686.8C1232.4 685.1 1233.2 683.6 1235.4 681.7C1255.5 663.8 1248.1 636.9 1249.3 619.0C1250.8 594.5 1267.0 580.5 1279.0 569.5L1319.9 532.8C1315.0 555.5 1278.5 579.6 1269.2 614.1C1261.3 642.5 1269.4 660.2 1247.6 683.4C1239.5 692.0 1246.9 686.9 1238.5 690.8C1233.9 692.7 1226.1 697.2 1227.8 703.3C1230.7 702.0 1235.9 696.4 1240.5 694.5C1237.6 704.0 1234.9 713.6 1237.6 725.1C1239.5 733.2 1245.9 741.3 1252.0 743.2C1252.3 741.5 1244.5 731.9 1243.5 723.1C1242.7 713.6 1245.4 705.5 1249.3 699.1C1257.4 686.1 1268.2 684.2 1274.1 664.6C1277.3 668.7 1273.6 670.9 1284.6 682.7C1293.9 692.3 1287.1 696.9 1287.6 705.5C1295.6 702.6 1293.7 684.9 1289.0 678.3C1286.3 674.6 1283.9 672.4 1282.6 666.5C1279.2 646.0 1283.9 624.4 1294.4 607.3C1296.6 603.6 1298.8 598.9 1302.3 596.5C1301.8 618.8 1305.4 625.4 1314.0 642.0C1333.1 679.0 1315.7 684.7 1307.2 702.6C1305.7 705.8 1304.7 709.9 1303.5 712.9C1302.3 715.1 1298.8 717.3 1296.4 719.7C1291.7 724.6 1287.6 727.8 1285.6 736.9C1283.9 744.5 1285.6 755.2 1291.5 757.9C1289.5 749.8 1286.8 745.9 1291.0 736.6C1293.0 732.0 1299.3 724.6 1303.0 723.2C1303.0 734.4 1307.7 740.8 1312.8 749.4C1320.9 763.1 1314.7 772.4 1317.0 778.5C1325.5 775.1 1323.3 752.8 1319.4 744.7C1304.2 711.9 1324.3 708.9 1335.8 686.7C1351.0 657.0 1334.4 642.8 1329.0 620.3C1324.6 602.4 1329.0 585.2 1339.2 571.3C1341.9 567.6 1345.6 562.7 1348.1 558.8C1358.6 542.1 1356.2 539.9 1361.5 529.9C1363.5 533.3 1365.9 541.9 1367.6 546.0C1374.5 561.5 1384.1 571.5 1389.4 588.7C1399.0 618.8 1382.1 634.5 1375.0 655.8C1363.2 691.3 1381.9 701.1 1388.5 721.5C1394.1 738.6 1386.7 743.0 1383.8 757.0C1382.3 764.1 1384.1 786.6 1393.9 788.6C1390.4 776.6 1385.3 771.0 1392.6 756.8C1398.5 745.2 1401.2 743.8 1401.7 727.8C1423.0 740.3 1408.8 759.5 1408.8 763.1C1411.5 763.4 1411.2 763.1 1413.0 760.7C1429.4 737.9 1404.1 722.7 1401.7 717.6C1400.2 714.1 1399.7 710.7 1398.0 707.3C1394.3 701.2 1390.9 695.8 1389.9 687.2C1386.0 654.1 1418.1 643.1 1417.4 602.2C1418.8 603.6 1417.6 601.9 1418.8 603.9C1422.3 608.8 1424.2 618.6 1422.0 625.5C1417.6 639.9 1406.8 650.4 1405.1 666.4C1404.4 675.7 1408.5 683.8 1414.7 686.2C1413.0 675.7 1406.4 673.0 1415.4 656.6C1419.4 649.5 1426.7 641.1 1429.1 633.0L1431.4 637.0C1431.8 638.4 1432.3 639.4 1432.8 640.9C1434.1 643.8 1434.8 645.5 1436.2 648.5C1449.2 676.4 1433.3 679.8 1433.3 701.6C1433.6 726.1 1461.5 732.3 1453.2 756.3C1452.2 759.7 1450.2 760.9 1451.4 763.6L1453.9 761.2C1454.6 760.4 1455.1 759.5 1455.8 758.2C1459.5 751.1 1460.7 741.8 1458.5 734.2C1455.1 723.2 1447.5 720.5 1445.1 708.8C1441.1 688.7 1463.7 680.6 1451.2 644.8C1443.8 623.3 1444.8 605.4 1432.8 585.8C1424.2 571.6 1409.5 552.7 1405.1 536.5C1407.1 537.8 1412.7 544.6 1414.7 547.1C1435.3 571.6 1471.8 584.1 1473.0 622.5C1473.5 634.3 1469.1 645.1 1468.8 657.1C1468.6 683.6 1487.4 686.5 1491.6 710.3C1493.1 718.3 1491.6 727.2 1486.2 733.3C1484.3 735.7 1482.8 735.7 1483.0 738.4C1487.7 737.9 1494.6 730.3 1496.5 725.4C1499.9 717.4 1499.4 711.2 1498.7 702.4C1503.1 703.6 1517.3 713.0 1519.8 715.9C1527.4 725.0 1526.4 726.9 1528.6 740.6C1529.0 740.3 1529.3 740.2 1529.4 740.1C1529.4 740.0 1529.4 739.8 1529.8 739.2L1531.3 733.8C1531.8 726.4 1529.6 718.1 1525.4 712.5C1519.0 703.9 1509.3 699.2 1500.9 691.9C1499.2 690.2 1498.0 688.9 1496.3 687.2C1485.5 675.9 1483.0 662.2 1487.0 646.6C1489.2 649.0 1490.6 653.7 1493.6 657.1C1503.6 668.4 1514.2 665.7 1515.1 678.4C1515.4 678.9 1515.4 682.1 1515.4 682.1C1516.1 684.5 1515.4 683.8 1517.3 684.8C1519.3 680.9 1518.3 674.2 1517.3 670.3C1516.4 666.7 1512.9 664.7 1510.3 662.5C1504.9 657.8 1500.0 654.4 1496.8 646.6C1489.9 629.9 1496.0 613.0 1488.9 594.9C1476.9 563.3 1446.6 548.1 1435.8 528.7L1477.4 557.9C1481.1 560.6 1484.3 563.0 1487.7 565.5C1489.5 566.7 1491.7 568.2 1493.1 569.4C1497.3 573.3 1502.7 578.0 1505.9 582.9C1525.5 613.0 1509.1 630.4 1518.9 656.6C1528.2 681.8 1551.9 690.2 1558.0 686.0L1554.4 684.5C1537.7 680.1 1528.9 666.6 1525.7 649.7C1521.3 625.7 1533.8 618.6 1522.3 589.5C1530.4 593.1 1538.7 603.4 1543.1 612.5C1548.3 622.5 1550.7 634.1 1557.8 641.4C1569.1 652.9 1587.4 655.9 1597.0 668.4C1599.9 672.0 1601.2 679.9 1604.1 682.8C1606.6 679.6 1604.6 672.3 1603.4 668.6C1597.3 653.4 1589.4 652.7 1577.9 644.6C1558.3 631.4 1563.7 623.8 1554.4 602.0C1547.8 586.3 1535.8 575.7 1523.0 567.4C1516.9 563.3 1491.4 545.4 1486.5 538.3C1528.4 544.4 1559.8 553.0 1575.0 588.0C1577.9 594.6 1578.7 602.2 1581.3 608.8C1586.7 622.3 1602.7 636.0 1611.2 631.6C1609.8 629.4 1602.7 627.4 1600.5 625.2C1597.3 622.5 1594.6 620.1 1592.4 615.9C1588.2 608.3 1587.7 597.8 1585.5 588.7C1593.8 591.9 1594.6 600.0 1627.7 606.1C1661.7 612.5 1656.6 624.5 1665.4 629.4C1663.9 616.2 1652.9 606.6 1642.6 602.0C1618.1 590.7 1604.4 595.9 1582.6 565.0C1569.8 547.1 1569.6 551.5 1558.6 540.2C1575.7 539.5 1588.7 540.5 1602.2 547.6C1634.3 564.2 1627.4 577.2 1670.8 581.4C1694.3 583.6 1695.7 600.0 1700.9 601.5C1701.7 583.6 1680.1 574.0 1665.1 572.3C1648.7 570.1 1643.1 565.0 1632.1 555.7L1623.5 547.3C1642.6 549.8 1658.8 545.4 1677.4 547.4M1516.5 144.6C1519.4 142.6 1522.4 140.2 1525.5 138.0C1545.6 123.8 1534.6 130.9 1546.8 128.4C1538.8 133.1 1535.1 143.9 1532.9 145.3C1532.1 145.8 1510.6 152.0 1508.4 152.4C1511.1 145.8 1511.1 147.8 1516.5 144.6M1465.5 198.5C1470.9 194.6 1477.8 188.9 1485.1 186.5C1524.1 173.7 1507.7 193.8 1535.8 184.3C1534.8 191.4 1536.1 189.7 1536.8 194.6C1537.1 196.8 1534.1 200.0 1532.9 202.4C1529.7 209.3 1530.9 214.9 1526.5 220.5C1516.9 233.0 1515.5 239.9 1507.9 250.4C1502.2 258.3 1491.7 267.1 1480.2 271.7C1469.2 276.1 1455.7 281.8 1443.9 284.7C1444.4 282.0 1449.1 272.0 1450.5 269.8C1452.5 268.0 1464.3 268.0 1469.2 254.1C1473.1 242.8 1468.2 234.5 1465.2 224.5C1475.3 228.1 1469.4 227.9 1473.1 234.5C1474.8 237.2 1479.4 241.1 1482.4 242.3C1492.4 247.0 1502.0 243.3 1511.0 240.6C1510.3 236.9 1505.1 231.6 1502.7 228.6C1490.2 213.9 1479.9 222.0 1475.7 223.2C1473.3 224.2 1465.2 219.1 1462.3 217.3C1463.3 216.6 1474.5 212.4 1477.5 214.2C1498.8 225.9 1506.1 211.2 1514.0 205.6C1515.4 204.3 1515.2 204.8 1516.7 203.4C1518.1 201.9 1518.4 201.9 1519.1 199.9C1514.0 196.5 1492.2 189.4 1482.4 198.0C1472.8 206.1 1478.7 207.8 1470.6 210.2C1464.7 212.0 1454.7 212.7 1448.5 212.2C1455.2 206.6 1456.2 204.9 1465.5 198.5M1415.8 246.8C1420.4 239.7 1428.3 230.3 1434.6 225.9C1442.0 220.8 1452.3 216.6 1461.1 221.8L1464.0 224.0C1456.7 231.8 1435.8 241.9 1441.5 259.8C1443.7 266.9 1450.3 265.6 1433.9 284.5C1424.3 295.3 1423.1 291.1 1409.4 299.7C1405.5 302.1 1400.6 305.8 1396.9 307.5C1398.4 279.8 1403.0 266.1 1415.8 246.8M1237.9 204.9C1228.8 200.2 1220.3 195.3 1212.4 189.9C1205.3 184.8 1196.5 176.7 1194.3 167.6C1193.3 163.0 1193.6 154.2 1193.6 148.8C1193.1 138.5 1194.3 140.7 1199.2 134.1C1202.4 136.8 1202.6 145.1 1210.7 150.5C1220.5 156.6 1223.7 147.8 1234.0 153.7C1247.2 161.0 1252.4 170.6 1256.3 189.0C1231.5 176.7 1246.0 179.7 1235.9 167.4C1228.1 158.1 1218.8 157.8 1203.6 160.0C1202.9 167.1 1209.0 177.7 1212.4 181.1C1226.6 194.8 1238.4 178.4 1256.3 196.5C1258.5 198.7 1259.2 203.4 1260.7 206.8C1262.4 211.0 1264.4 214.2 1265.8 217.6L1237.9 204.9'/%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; scroll-padding-top: 76px; }

body {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 17px;
  line-height: 1.7;
  color: var(--ink);
  background: var(--cream);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
figure { margin: 0; }
svg use { pointer-events: none; }

h1, h2, h3, h4, h5 { margin: 0; font-weight: 400; }
h1, h2 {
  font-family: var(--font-serif);
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 100;
  letter-spacing: -0.02em;
  line-height: 1.08;
  color: var(--ink);
}
h2 { font-size: clamp(2rem, 1.3rem + 2.4vw, 3.15rem); max-width: 18ch; }
h3 { font-weight: 800; font-size: 1.1rem; letter-spacing: -0.005em; }
p { margin: 0 0 1.1em; }

.container { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 40px; }
.section { position: relative; padding: clamp(88px, 10vw, 150px) 0; }

/* ---------- Texturas ---------- */
.tex-paper, .tex-linen, .tex-weave { position: relative; isolation: isolate; }
.tex-paper::before, .tex-linen::before, .tex-weave::before {
  content: "";
  position: absolute; inset: 0;
  z-index: -1;
  pointer-events: none;
}
.tex-paper::before { background-image: var(--tex-grain); opacity: .26; mix-blend-mode: multiply; }
/* Capas extra: se dibujan con ::after para sumarse al grano de papel */
.tex-fiber, .tex-jute, .tex-sea, .tex-wood { position: relative; isolation: isolate; }
.tex-fiber::after, .tex-jute::after, .tex-sea::after, .tex-wood::before {
  content: "";
  position: absolute; inset: 0;
  z-index: -1;
  pointer-events: none;
}
.tex-fiber::after { background-image: var(--tex-fiber); background-size: 300px; opacity: .22; mix-blend-mode: multiply; }
.tex-jute { background-color: var(--sand); }
.tex-jute::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: var(--tex-grain); opacity: .35; mix-blend-mode: multiply; }
.tex-jute::after { background-image: var(--tex-jute); background-size: 36px; opacity: .1; }
/* Las olas se desvanecen hacia el centro para no competir con el contenido */
.tex-sea::after {
  background-image: var(--tex-sea);
  background-size: 120px 28px;
  opacity: .14;
  -webkit-mask-image: linear-gradient(to bottom, #000, transparent 35%, transparent 65%, #000);
          mask-image: linear-gradient(to bottom, #000, transparent 35%, transparent 65%, #000);
}
.tex-wood::before { background-image: var(--tex-wood); background-size: 100% 300px; background-repeat: repeat-y; opacity: .09; }
.tex-linen { background-color: var(--sand); }
.tex-linen::before {
  background-image:
    repeating-linear-gradient(0deg, rgba(90, 80, 50, .055) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(90deg, rgba(90, 80, 50, .045) 0 1px, transparent 1px 4px),
    var(--tex-grain);
  opacity: .55;
  mix-blend-mode: multiply;
}
.tex-weave::before { background-image: var(--tex-weave); opacity: .06; }

/* Árbol con raíces: ilustración de marca */
.tree {
  position: absolute;
  z-index: -1;
  aspect-ratio: 712 / 757;
  background-color: currentColor;
  -webkit-mask: var(--tree) center / contain no-repeat;
          mask: var(--tree) center / contain no-repeat;
  pointer-events: none;
}

/* Separador tipo cuerda de macramé */
.rope {
  height: 14px;
  background: var(--rope) repeat-x center / 16px 14px;
  opacity: .85;
  margin: -7px 0;
  position: relative;
  z-index: 2;
}

/* ---------- Tipos de texto ---------- */
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 22px;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--teal-700);
}
.eyebrow::before {
  /* la cruz redonda del brochure */
  content: "";
  width: 16px; height: 16px;
  flex: none;
  border-radius: 50%;
  background:
    linear-gradient(var(--cream), var(--cream)) center / 8px 2px no-repeat,
    linear-gradient(var(--cream), var(--cream)) center / 2px 8px no-repeat,
    var(--gold);
}
.eyebrow-light { color: var(--gold-light); }
.about-copy > .eyebrow, .coverage-copy > .eyebrow, .contact-copy > .eyebrow, .values-copy > .eyebrow { color: var(--teal-700); }
.eyebrow-light::before {
  background:
    linear-gradient(var(--teal-950), var(--teal-950)) center / 8px 2px no-repeat,
    linear-gradient(var(--teal-950), var(--teal-950)) center / 2px 8px no-repeat,
    var(--gold-light);
}

/* ---------- Botones ---------- */
.btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 24px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-weight: 800;
  font-size: .95rem;
  line-height: 1.2;
  cursor: pointer;
  overflow: hidden;
  isolation: isolate;
  transition: color .45s var(--ease), border-color .45s var(--ease), transform .45s var(--ease), box-shadow .45s var(--ease);
}
/* relleno que sube desde abajo al pasar el cursor */
.btn::before {
  content: "";
  position: absolute;
  left: -10%; right: -10%;
  top: 100%;
  height: 220%;
  border-radius: 50% 50% 0 0;
  background: var(--fill, var(--teal-950));
  transition: top .6s var(--ease-out), border-radius .6s var(--ease-out);
  z-index: -1;
}
.btn:hover::before { top: -60%; border-radius: 0; }
.btn:hover { transform: translateY(-2px); box-shadow: 0 14px 28px -16px rgba(13, 55, 59, .7); }
.btn:active { transform: translateY(0); }
.btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .45s var(--ease); flex: none; }
.btn:hover svg { transform: translateX(3px); }
.btn-lg { padding: 17px 30px; font-size: 1rem; }

.btn-primary { background: var(--teal-700); color: var(--cream); --fill: var(--teal-950); }
.btn-outline { border-color: rgba(17, 81, 87, .5); color: var(--teal-700); --fill: var(--teal-700); }
.btn-outline:hover { color: var(--cream); border-color: var(--teal-700); }
.btn-light { background: var(--cream); color: var(--teal-950); --fill: var(--gold); }
.btn-light:hover { color: var(--cream); }
.btn-whatsapp { background: var(--teal-700); color: #fff; --fill: var(--teal-950); }
.btn-whatsapp svg, .btn-outline svg { width: 20px; height: 20px; }
.btn-whatsapp:hover svg, .btn-outline:hover svg { transform: scale(1.08); }

.link-arrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 800;
  color: var(--teal-700);
  padding-bottom: 4px;
  transition: gap .35s var(--ease), color .35s var(--ease);
}
.link-arrow::after { content: "→"; }
.link-arrow::before {
  content: "";
  position: absolute; left: 0; right: 0; bottom: 0;
  height: 1px;
  background: currentColor;
}
.link-arrow:hover { color: var(--gold-text); gap: 12px; }
.link-arrow:hover::before { animation: line-in .6s var(--ease-out); }
@keyframes line-in { from { transform: scaleX(0); transform-origin: left; } to { transform: scaleX(1); transform-origin: left; } }

/* ---------- Header ---------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 60;
  background: rgba(247, 242, 232, .88);
  backdrop-filter: saturate(130%) blur(10px);
  -webkit-backdrop-filter: saturate(130%) blur(10px);
  transition: box-shadow .4s var(--ease);
}
.site-header.is-scrolled { box-shadow: 0 1px 0 var(--line), 0 10px 30px -20px rgba(13, 55, 59, .35); }

.header-inner {
  display: flex;
  align-items: center;
  gap: 36px;
  height: var(--header-h);
  transition: height .45s var(--ease);
}
.site-header.is-scrolled .header-inner { height: 72px; }

.scroll-progress {
  position: absolute; left: 0; bottom: 0;
  height: 2px; width: 100%;
  background: var(--gold);
  transform: scaleX(var(--p, 0));
  transform-origin: left;
}

.brand { display: block; flex: none; }
.brand img { height: 78px; width: auto; transition: height .45s var(--ease), transform .6s var(--ease-out); }
.site-header.is-scrolled .brand img { height: 60px; }
.brand:hover img { transform: translateY(-1px); }

.main-nav { display: flex; gap: 30px; margin-left: auto; }
.main-nav a:not(.btn) {
  position: relative;
  font-size: .95rem;
  font-weight: 700;
  color: var(--muted);
  white-space: nowrap;
  transition: color .3s var(--ease);
}
.nav-num { display: none; }
.main-nav a:not(.btn)::after {
  content: "";
  position: absolute;
  left: 50%; bottom: -8px;
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--gold);
  transform: translateX(-50%) scale(0);
  transition: transform .4s var(--ease-out);
}
.main-nav a:not(.btn):hover, .main-nav a.is-active { color: var(--ink); }
.main-nav a:not(.btn):hover::after, .main-nav a.is-active::after { transform: translateX(-50%) scale(1); }
.nav-cta-mobile { display: none; }

.nav-toggle {
  display: none;
  width: 46px; height: 46px;
  margin-left: auto;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  position: relative;
}
.nav-toggle span {
  position: absolute;
  left: 14px; right: 14px;
  height: 1.5px;
  background: var(--ink);
  transition: transform .4s var(--ease), top .4s var(--ease);
}
.nav-toggle span:first-child { top: 19px; }
.nav-toggle span:last-child { top: 26px; }
.nav-toggle[aria-expanded="true"] span:first-child { top: 22.5px; transform: rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:last-child { top: 22.5px; transform: rotate(-45deg); }

/* ---------- Hero ---------- */
.hero { padding: clamp(40px, 5vw, 72px) 0 56px; overflow: hidden; }

.tree-hero { width: min(820px, 62vw); right: -8%; top: 4%; color: var(--teal-700); opacity: .07; }

.hero-grid {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: clamp(40px, 6vw, 96px);
  align-items: center;
}

.hero h1 {
  font-size: clamp(2.7rem, 1.4rem + 4.3vw, 4.9rem);
  font-weight: 330;
  line-height: 1.04;
  margin-bottom: 30px;
}
.hero h1 em { font-style: italic; color: var(--gold); font-weight: 300; }

.hero-lead { font-size: 1.15rem; color: var(--muted); max-width: 34rem; margin-bottom: 40px; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 30px; }

.hero-media { position: relative; padding: 0 0 40px 40px; }
.arch { overflow: hidden; border-radius: 999px 999px var(--radius-lg) var(--radius-lg); background: var(--linen); }
.arch img, .value-img img, .values-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  scale: 1.14;
}
.hero-photo { aspect-ratio: 4 / 5; }

.hero-photo-small {
  position: absolute;
  left: -10px; bottom: 0;
  width: 36%;
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  border: 8px solid var(--cream);
  box-shadow: var(--shadow);
}
.hero-photo-small img { width: 100%; height: 100%; object-fit: cover; }

.ring-badge {
  position: absolute;
  top: 6%; right: -34px;
  width: 136px; height: 136px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: var(--teal-700);
  box-shadow: var(--shadow);
}
.ring-badge svg { position: absolute; inset: 0; width: 100%; height: 100%; animation: spin 26s linear infinite; }
.ring-badge text {
  font-family: var(--font-sans);
  font-size: 12.2px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  fill: var(--cream);
}
.ring-dot { width: 14px; height: 14px; border-radius: 50%; background: var(--gold-light); }
@keyframes spin { to { transform: rotate(360deg); } }

.hero-note {
  position: absolute;
  right: -20px; bottom: 76px;
  display: flex; align-items: center; gap: 14px;
  max-width: 300px;
  padding: 16px 20px;
  background: var(--cream);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.hero-note strong { display: block; font-size: .95rem; font-weight: 800; line-height: 1.3; }
.hero-note div span { display: block; font-size: .82rem; line-height: 1.4; color: var(--muted); }
.hero-note-icon {
  flex: none;
  display: grid; place-items: center;
  width: 42px; height: 42px;
  border-radius: 50%;
  background: var(--gold-100);
  color: var(--gold-text);
}
.hero-note-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

.hero-strip {
  list-style: none;
  margin: 64px 0 0;
  padding: 26px 0 0;
  border-top: 1px solid var(--line);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.hero-strip a {
  display: flex; align-items: center; gap: 12px;
  font-size: .98rem; font-weight: 800; color: var(--muted);
  transition: color .3s var(--ease);
}
.hero-strip a:hover { color: var(--teal-700); }
.hero-strip svg { width: 30px; height: 30px; flex: none; fill: none; stroke: var(--gold-text); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; transition: transform .5s var(--ease-out); }
.hero-strip a:hover svg { transform: translateY(-2px); }
.hero-strip small { display: block; font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--gold-text); }
.hero-strip .is-main a { color: var(--teal-700); }
.hero-strip .is-main svg { stroke: var(--teal-700); }

/* ---------- Franja en movimiento ---------- */
.marquee {
  overflow: hidden;
  padding: 22px 0;
  border-block: 1px solid var(--line);
}
.marquee-track {
  display: flex; align-items: center; gap: 40px;
  width: max-content;
  animation: marquee 44s linear infinite;
}
.marquee span {
  font-family: var(--font-serif);
  font-variation-settings: "SOFT" 100;
  font-style: italic;
  font-weight: 300;
  font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.4rem);
  color: var(--teal-800);
  white-space: nowrap;
}
.marquee b { width: 10px; height: 10px; border-radius: 50%; background: var(--gold); flex: none; }
@keyframes marquee { to { transform: translateX(-50%); } }

/* ---------- Nosotros ---------- */
.about-grid {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: clamp(48px, 7vw, 120px);
  align-items: center;
}
.about-media { position: relative; padding: 0 0 90px; }
.about-img-main { width: 86%; aspect-ratio: 4 / 5.3; }
.about-img-small {
  position: absolute;
  right: 0; bottom: 0;
  width: 46%;
  aspect-ratio: 4 / 5;
  border-radius: var(--radius-lg) var(--radius-lg) 999px 999px;
  overflow: hidden;
  border: 8px solid var(--cream);
  box-shadow: var(--shadow);
}
.about-img-small img { width: 100%; height: 100%; object-fit: cover; }

.about-copy h2 { margin-bottom: 28px; max-width: 20ch; }
.about-copy > p { color: var(--muted); max-width: 36rem; }

.purpose {
  margin: 32px 0 0;
  padding: 4px 0 4px 22px;
  border-left: 2px solid var(--gold);
  max-width: 36rem;
}
.purpose-label { display: block; font-size: .74rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-text); margin-bottom: 6px; }
.purpose p { margin: 0; font-family: var(--font-serif); font-variation-settings: "SOFT" 100; font-size: 1.22rem; line-height: 1.45; color: var(--teal-800); }

.stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 44px 0 0;
  border-top: 1px solid var(--line);
}
.stats div { padding: 24px 20px 0 0; }
.stats div + div { padding-left: 22px; border-left: 1px solid var(--line); }
.stats dt {
  font-family: var(--font-serif);
  font-variation-settings: "SOFT" 100;
  font-weight: 350;
  font-size: clamp(2.4rem, 1.8rem + 1.6vw, 3.4rem);
  line-height: 1;
  color: var(--teal-700);
  margin-bottom: 10px;
  font-variant-numeric: tabular-nums;
}
.stats dd { margin: 0; font-size: .92rem; line-height: 1.45; color: var(--muted); max-width: 18ch; }

/* ---------- Cómo lo hacemos ---------- */
.section-head.split {
  display: grid;
  grid-template-columns: 1.3fr .7fr;
  gap: 48px;
  align-items: end;
  margin-bottom: 56px;
}
.section-aside { color: var(--muted); margin: 0; }

.features {
  list-style: none;
  margin: 0; padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.feature {
  position: relative;
  min-height: 230px;
  padding: 30px 30px 32px;
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, .72);
  border: 1px solid var(--line);
  display: flex; flex-direction: column; justify-content: space-between; gap: 28px;
  transition: transform .6s var(--ease-out), box-shadow .6s var(--ease-out), background-color .6s var(--ease), border-color .6s var(--ease);
}
@media (hover: hover) {
  .feature:hover { transform: translateY(-6px); background: #fff; box-shadow: var(--shadow); border-color: transparent; }
  .feature:hover .feature-icon { background: var(--teal-700); color: var(--cream); transform: rotate(-6deg); }
  .feature:hover .feature-icon.is-gold { background: var(--gold); color: var(--cream); }
}
.feature-num { position: absolute; top: 28px; right: 30px; font-family: var(--font-serif); font-style: italic; color: var(--faint); }
.feature-icon {
  display: grid; place-items: center;
  width: 64px; height: 64px;
  border-radius: 20px;
  background: var(--teal-50);
  color: var(--teal-700);
  transition: background-color .5s var(--ease), color .5s var(--ease), transform .6s var(--ease-out);
}
.feature-icon.is-gold { background: var(--gold-100); color: var(--gold-text); }
.feature-icon svg { width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.feature h3 { font-size: 1.12rem; line-height: 1.4; color: var(--ink); max-width: 24ch; }
.feature sup, .footnote { color: var(--gold-text); }
.footnote { margin: 24px 0 0; font-size: .82rem; color: var(--faint); }

.value {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(40px, 6vw, 96px);
  align-items: center;
  margin-top: clamp(72px, 9vw, 120px);
}
.value-img {
  aspect-ratio: 4 / 4.6;
  overflow: hidden;
  border-radius: var(--radius-lg) 999px var(--radius-lg) var(--radius-lg);
  background: var(--linen);
}
.value-img img { object-position: 60% center; }
.value-copy blockquote {
  margin: 0 0 26px;
  font-family: var(--font-serif);
  font-variation-settings: "SOFT" 100;
  font-weight: 330;
  font-size: clamp(1.7rem, 1.2rem + 1.6vw, 2.5rem);
  line-height: 1.18;
  letter-spacing: -0.015em;
  color: var(--ink);
}
.value-copy > p { color: var(--muted); margin-bottom: 14px; }
.value-steps { list-style: none; margin: 0 0 18px; padding: 0; position: relative; }
.value-steps::before { content: ""; position: absolute; left: 15px; top: 16px; bottom: 16px; width: 1px; background: var(--line); }
.value-steps li { position: relative; display: flex; align-items: center; gap: 16px; padding: 8px 0; font-weight: 700; }
.value-steps span {
  position: relative;
  display: grid; place-items: center;
  width: 32px; height: 32px; flex: none;
  border-radius: 50%;
  background: var(--cream);
  border: 1px solid var(--gold);
  font-family: var(--font-serif); font-style: italic; font-weight: 400;
  color: var(--gold-text);
  transition: background-color .4s var(--ease), color .4s var(--ease);
}
.value-steps li:hover span { background: var(--gold); color: var(--cream); }
.value-end { font-family: var(--font-serif); font-style: italic; font-size: 1.15rem; color: var(--teal-700) !important; margin: 4px 0 30px !important; }

/* ---------- Especialidades y productos ---------- */
.specialties {
  list-style: none;
  margin: 0 0 clamp(64px, 8vw, 104px); padding: 0;
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr 1fr;
  gap: 18px;
}
.spec {
  position: relative;
  padding: 30px 28px 32px;
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, .55);
  border: 1px solid var(--line);
  transition: transform .6s var(--ease-out), box-shadow .6s var(--ease-out), background-color .6s var(--ease);
}
.spec-icon { width: 44px; height: 44px; margin-bottom: 26px; fill: none; stroke: var(--teal-700); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.spec h3 { font-family: var(--font-serif); font-variation-settings: "SOFT" 100; font-weight: 400; font-size: 1.65rem; line-height: 1.15; margin-bottom: 10px; }
.spec p { margin: 0; font-size: .95rem; line-height: 1.55; color: var(--muted); }
.spec.is-main { background: var(--teal-700); border-color: transparent; color: var(--cream); box-shadow: var(--shadow); }
.spec.is-main .spec-icon { stroke: var(--gold-light); }
.spec.is-main h3 { color: var(--cream); font-size: 2.1rem; }
.spec.is-main p { color: #c7d8d5; }
.spec-tag {
  position: absolute; top: 26px; right: 24px;
  padding: 5px 12px;
  border-radius: 999px;
  background: var(--gold);
  color: var(--cream);
  font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
}
@media (hover: hover) {
  .js .spec.reveal.is-visible:hover { transform: translateY(-5px); box-shadow: var(--shadow); background: #fff; }
  .js .spec.is-main.reveal.is-visible:hover { background: var(--teal-700); }
}

.catalog-head {
  display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between;
  gap: 20px;
  margin-bottom: 28px;
}
.catalog-head h3 { font-family: var(--font-serif); font-variation-settings: "SOFT" 100; font-weight: 400; font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); line-height: 1.2; max-width: 22ch; }
.filters { display: flex; flex-wrap: wrap; gap: 8px; }
.filter {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, .5);
  font: inherit; font-size: .9rem; font-weight: 700;
  color: var(--muted);
  cursor: pointer;
  transition: background-color .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);
}
.filter span { font-size: .75rem; font-weight: 800; color: var(--gold-text); transition: color .35s var(--ease); }
.filter:hover { border-color: var(--teal-700); color: var(--teal-700); }
.filter.is-active { background: var(--teal-700); border-color: var(--teal-700); color: var(--cream); }
.filter.is-active span { color: var(--gold-light); }

.catalog {
  list-style: none;
  margin: 0; padding: 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
}
.item {
  display: flex; flex-direction: column;
  padding: 14px 14px 18px;
  border-radius: var(--radius);
  background: #fff;
  border: 1px solid rgba(17, 81, 87, .08);
  box-shadow: var(--shadow-sm);
}
.item[hidden] { display: none; }
.item figure {
  aspect-ratio: 1;
  display: grid; place-items: center;
  margin-bottom: 14px;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}
.item img { width: 100%; height: 100%; object-fit: contain; transition: transform .8s var(--ease-out); }
.item-cat { font-size: .66rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--gold-text); margin-bottom: 4px; }
.item h3 { font-family: var(--font-serif); font-variation-settings: "SOFT" 100; font-weight: 400; font-size: 1.2rem; line-height: 1.2; margin-bottom: 4px; }
.item p { margin: 0; font-size: .88rem; line-height: 1.4; font-weight: 700; color: var(--teal-700); }
.item small { display: block; margin-top: 2px; font-weight: 600; font-size: .8rem; color: var(--faint); }
@media (hover: hover) {
  .js .item.reveal.is-visible { transition: opacity 1.1s var(--ease-out) var(--stagger, 0s), transform .6s var(--ease-out), box-shadow .6s var(--ease-out); }
  .js .item.reveal.is-visible:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
  .item:hover img { transform: scale(1.05); }
}
.item.is-collapsed { display: none; }
.catalog-more { display: flex; justify-content: center; margin-top: 28px; }
.catalog-more[hidden] { display: none; }
.catalog-more svg { transform: rotate(90deg); }
.catalog-more .btn:hover svg { transform: rotate(90deg) translateX(3px); }
.catalog-more [aria-expanded="true"] svg { transform: rotate(-90deg); }
.catalog-more [aria-expanded="true"]:hover svg { transform: rotate(-90deg) translateX(3px); }
.catalog-note { margin: 22px 0 0; font-size: .8rem; color: var(--faint); }

.products-cta {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 20px;
  margin-top: 40px;
  padding: 24px 26px 24px 34px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, .45);
}
.products-cta p { margin: 0; font-family: var(--font-serif); font-variation-settings: "SOFT" 100; font-size: 1.35rem; }
.products-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- Cobertura ---------- */
.coverage-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: clamp(40px, 6vw, 96px);
  align-items: center;
}
.coverage-copy h2 { margin-bottom: 24px; max-width: 16ch; }
.coverage-copy > p { color: var(--muted); max-width: 34rem; }
.coverage-copy em { font-style: italic; color: var(--teal-700); font-weight: 700; }

.coverage-points { list-style: none; margin: 30px 0 36px; padding: 0; }
.coverage-points li {
  display: flex; align-items: center; gap: 14px;
  padding: 14px 0;
  border-top: 1px solid var(--line);
  font-weight: 700;
}
.coverage-points li:last-child { border-bottom: 1px solid var(--line); }
.coverage-points svg { width: 30px; height: 30px; flex: none; fill: none; stroke: var(--gold-text); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }

.map { position: relative; }
.map svg { width: 100%; height: auto; overflow: visible; }
.map pattern circle { fill: var(--teal-700); opacity: .55; }
.map-outline { fill: none; stroke: var(--teal-700); stroke-width: 2; stroke-linejoin: round; opacity: .55; }
.map-route {
  fill: none;
  stroke: var(--gold);
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-dasharray: 2 10;
  animation: route 1.6s linear infinite;
}
@keyframes route { to { stroke-dashoffset: -24; } }
.map-pin circle { fill: var(--gold); stroke: var(--cream); stroke-width: 4; }
.map-pin .pulse { fill: var(--gold); stroke: none; opacity: .5; transform-box: fill-box; transform-origin: center; animation: pulse 2.6s var(--ease-out) infinite; animation-delay: calc(var(--i) * .5s); }
@keyframes pulse { 0% { transform: scale(1); opacity: .55; } 100% { transform: scale(4.2); opacity: 0; } }
.map-pin text { font-family: var(--font-sans); font-weight: 800; font-size: 30px; fill: var(--ink); paint-order: stroke; stroke: var(--sand); stroke-width: 8px; stroke-linejoin: round; }
.map-hub circle { fill: var(--teal-700); }
.map figcaption {
  display: flex; align-items: center; gap: 10px;
  margin-top: 18px;
  font-size: .9rem; font-weight: 700; color: var(--muted);
}
.map figcaption em { color: var(--teal-700); }
.map .dot { width: 10px; height: 10px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 4px rgba(168, 140, 16, .2); }

/* ---------- Cultura (DAR) ---------- */
.dar { background: var(--teal-950); color: #e6eeec; overflow: hidden; }
.tree-dar { width: 820px; left: -180px; bottom: -160px; color: var(--cream); opacity: .05; }

.dar-head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(32px, 6vw, 100px);
  align-items: end;
  margin-bottom: clamp(56px, 7vw, 100px);
}
.dar-word {
  margin: 0;
  font-family: var(--font-serif);
  font-variation-settings: "SOFT" 100;
  font-style: italic;
  font-weight: 300;
  font-size: clamp(6rem, 3rem + 12vw, 13.5rem);
  line-height: .8;
  letter-spacing: -0.04em;
  color: var(--cream);
}
.dar-word span { color: var(--gold-light); font-style: normal; }
.dar-intro h2 { color: var(--cream); margin-bottom: 18px; max-width: 16ch; }
.dar-intro p:last-child { color: #a9c0bd; max-width: 34rem; margin: 0; }

.dar-pillars {
  list-style: none;
  margin: 0; padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(230, 238, 236, .18);
}
.dar-pillars li { position: relative; padding: 44px 40px 8px 0; }
.dar-pillars li + li { padding-left: 40px; border-left: 1px solid rgba(230, 238, 236, .18); }
.pillar-num {
  position: absolute; top: 44px; right: 40px;
  font-family: var(--font-serif); font-style: italic;
  font-size: 1rem;
  color: rgba(230, 238, 236, .45);
}
.dar-pillars li:last-child .pillar-num { right: 0; }
.pillar-icon {
  width: 54px; height: 54px;
  margin-bottom: 28px;
  fill: none;
  stroke: var(--gold-light);
  stroke-width: 1.3;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke .4s var(--ease), transform .6s var(--ease-out);
}
.dar-pillars li:hover .pillar-icon { stroke: var(--peach); transform: translateY(-4px); }
.dar-pillars h3 {
  font-family: var(--font-serif);
  font-variation-settings: "SOFT" 100;
  font-weight: 400;
  font-size: 1.9rem;
  letter-spacing: -0.015em;
  color: var(--cream);
  margin-bottom: 14px;
}
.dar-pillars p { color: #a9c0bd; font-size: .98rem; margin: 0; max-width: 32ch; }

.dar-cta {
  display: grid;
  grid-template-columns: 120px 1fr auto;
  align-items: center;
  gap: 32px;
  margin-top: clamp(56px, 7vw, 96px);
  padding: 22px 28px 22px 22px;
  border: 1px solid rgba(230, 238, 236, .18);
  border-radius: 999px;
  background: rgba(230, 238, 236, .04);
}
.dar-cta-logo { width: 120px; height: auto; }
.dar-cta p {
  margin: 0;
  font-family: var(--font-serif);
  font-variation-settings: "SOFT" 100;
  font-size: clamp(1.2rem, 1rem + .8vw, 1.6rem);
  line-height: 1.3;
  color: var(--cream);
  max-width: 30ch;
}

/* ---------- Valores ---------- */
.values-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(48px, 7vw, 110px);
  align-items: center;
}
.values-copy h2 { margin-bottom: 22px; }
.values-copy > p { color: var(--muted); max-width: 34rem; }
.values-img {
  margin-top: 36px;
  width: 78%;
  aspect-ratio: 5 / 4;
  overflow: hidden;
  border-radius: var(--radius-lg) var(--radius-lg) var(--radius-lg) 999px;
  background: var(--linen);
}

.culture { margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--line); }
.culture-label { margin: 0 0 8px; font-size: .74rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-text); }
.culture-lead { margin: 0 0 22px; font-family: var(--font-serif); font-variation-settings: "SOFT" 100; font-size: 1.2rem; line-height: 1.45; color: var(--teal-800); max-width: 34rem; }
.culture-list { list-style: none; margin: 0; padding: 0; }
.culture-list li { display: flex; gap: 18px; align-items: flex-start; padding: 16px 0; border-top: 1px solid var(--line); }
.culture-list svg { width: 38px; height: 38px; flex: none; fill: none; stroke: var(--gold-text); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.culture-list h3 { font-family: var(--font-serif); font-variation-settings: "SOFT" 100; font-weight: 400; font-size: 1.35rem; line-height: 1.2; margin-bottom: 4px; }
.culture-list p { margin: 0; font-size: .95rem; line-height: 1.55; color: var(--muted); max-width: 36rem; }

.values-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(40px, 5vw, 64px);
  border-radius: var(--radius-lg);
  background: var(--teal-800);
  color: var(--cream);
  box-shadow: var(--shadow);
}
.values-logo { width: 120px; margin-top: 28px; opacity: .95; }
.tree-values { width: 460px; right: -110px; bottom: -90px; color: var(--gold-light); opacity: .16; }
.values-list { list-style: none; margin: 8px 0 0; padding: 0; }
.values-list li {
  padding: 14px 0;
  border-bottom: 1px solid rgba(247, 242, 232, .14);
  font-family: var(--font-serif);
  font-variation-settings: "SOFT" 100;
  font-weight: 330;
  font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.3rem);
  line-height: 1.15;
  transition: padding .5s var(--ease-out), color .4s var(--ease);
}
.values-list li:last-child { border-bottom: 0; }
.values-list li:hover { padding-left: 12px; color: var(--peach); }
.values-list .is-main { font-style: italic; color: var(--gold-light); }

/* ---------- Contacto ---------- */
.contact-grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: clamp(48px, 7vw, 120px);
  align-items: center;
}
.contact-copy h2 { margin-bottom: 22px; max-width: 18ch; }
.contact-copy > p { color: var(--muted); max-width: 32rem; margin-bottom: 34px; }
.contact-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 44px; }

.contact-list { list-style: none; margin: 0; padding: 0; }
.contact-list li {
  display: flex; gap: 18px; align-items: flex-start;
  padding: 20px 0;
  border-top: 1px solid var(--line);
}
.contact-list svg { width: 22px; height: 22px; flex: none; margin-top: 3px; fill: none; stroke: var(--gold-text); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.contact-list span { display: block; font-size: .74rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--faint); }
.contact-list a, .contact-list p { margin: 0; font-size: 1.08rem; transition: color .3s var(--ease); }
.contact-list a:hover { color: var(--teal-700); }
.contact-list div a { display: block; width: fit-content; }
.contact-list .soon { color: var(--faint); font-style: italic; }

/* Panel de marca: eco de la portada del brochure */
.brand-panel {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  aspect-ratio: 4 / 4.7;
  border-radius: var(--radius-lg);
  background: #fffdf8;
  box-shadow: var(--shadow);
  display: flex; flex-direction: column; justify-content: center;
  padding: 0 0 0 9%;
}
.tree-panel { width: 360px; left: -120px; bottom: -70px; color: var(--teal-700); opacity: .06; }
.bands { position: absolute; top: 0; right: 0; height: 100%; width: 100%; z-index: -1; }
.band-gold { fill: var(--gold); }
.band-teal { fill: var(--teal-700); }
.band-dark { fill: var(--teal-950); }
.brand-panel-logo { width: 62%; margin-left: -2%; }
.brand-panel-tag { margin: 18px 0 0; font-size: .82rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--teal-800); }

.social-card {
  position: absolute;
  left: 9%; bottom: 28px;
  display: flex; align-items: center; gap: 18px;
}
.social-card-label { font-size: .74rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--faint); }
.social-card-links { display: flex; gap: 16px; }
.social-card-links a { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: .92rem; transition: color .3s var(--ease), transform .3s var(--ease); }
.social-card-links span { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: .92rem; color: var(--muted); }
.social-card-links em { font-style: normal; font-weight: 600; font-size: .78rem; color: var(--faint); }
.social-card-links svg { width: 20px; height: 20px; fill: none; stroke: var(--teal-700); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- Footer ---------- */
.site-footer {
  position: relative;
  overflow: hidden;
  background: var(--teal-950);
  color: #a9c0bd;
  padding: 0 0 32px;
  font-size: .95rem;
}
.tree-footer { width: 620px; right: -140px; top: -40px; color: var(--cream); opacity: .045; }
.footer-top {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 28px;
  padding-top: 80px; padding-bottom: 64px;
  border-bottom: 1px solid rgba(230, 238, 236, .14);
}
.footer-motto {
  margin: 0;
  font-family: var(--font-serif);
  font-variation-settings: "SOFT" 100;
  font-weight: 300;
  font-size: clamp(2rem, 1.2rem + 3vw, 3.6rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--cream);
  max-width: 16ch;
}
.footer-motto em { color: var(--gold-light); }

.footer-grid {
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr 1fr;
  gap: 48px;
  padding-top: 56px; padding-bottom: 56px;
  border-bottom: 1px solid rgba(230, 238, 236, .14);
}
.footer-logo img { width: 190px; }
.footer-brand p { margin: 18px 0 0; max-width: 30ch; }

.footer-nav { display: flex; flex-direction: column; gap: 10px; }
.footer-nav h5 { font-size: .74rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: rgba(230, 238, 236, .45); margin-bottom: 6px; }
.footer-nav a { width: fit-content; transition: color .3s var(--ease), transform .3s var(--ease); }
.footer-nav a:hover { color: var(--cream); transform: translateX(3px); }
.footer-nav .is-soon { color: rgba(230, 238, 236, .45); }
.footer-nav a[href^="mailto"] { word-break: break-all; }
.fs-label { pointer-events: none; }
.fs.is-soon:hover .fs-label, .fs.is-soon:focus-visible .fs-label { max-width: 220px; }

.footer-bottom {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px;
  padding-top: 28px;
  font-size: .85rem;
  color: rgba(230, 238, 236, .5);
}
.footer-bottom p { margin: 0; }
.footer-bottom a { text-decoration: underline; text-underline-offset: 3px; }
.footer-bottom a:hover { color: var(--cream); }

/* ---------- Botones flotantes ---------- */
.float-social {
  position: fixed;
  right: 24px; bottom: 24px;
  z-index: 70;
  display: flex; flex-direction: column-reverse; align-items: flex-end; gap: 10px;
}
.fs {
  position: relative;
  display: flex; align-items: center; justify-content: flex-end;
  height: 48px; min-width: 48px;
  padding: 0 13px;
  border-radius: 999px;
  background: var(--cream);
  color: var(--teal-700);
  box-shadow: 0 10px 24px -12px rgba(13, 55, 59, .55), 0 0 0 1px var(--line);
  transition: background-color .4s var(--ease), color .4s var(--ease), transform .4s var(--ease-out);
}
.fs svg { width: 22px; height: 22px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.fs-label {
  max-width: 0;
  overflow: hidden;
  white-space: nowrap;
  font-size: .85rem; font-weight: 800;
  opacity: 0;
  transition: max-width .5s var(--ease-out), opacity .3s var(--ease), margin .5s var(--ease-out);
}
.fs:hover, .fs:focus-visible { background: var(--teal-700); color: var(--cream); transform: translateX(-2px); }
.fs.is-soon { cursor: default; color: var(--faint); }
.fs.is-soon:hover { background: var(--cream); color: var(--teal-700); }
.fs:hover .fs-label, .fs:focus-visible .fs-label { max-width: 120px; opacity: 1; margin-right: 10px; }

.fs-wa { height: 58px; min-width: 58px; padding: 0 17px; background: var(--teal-700); color: #fff; box-shadow: 0 14px 30px -12px rgba(13, 55, 59, .6); }
.fs-wa:hover, .fs-wa:focus-visible { background: var(--teal-950); color: #fff; }
.fs-wa svg { width: 24px; height: 24px; }
.fs-wa::after {
  content: "";
  position: absolute; inset: 0;
  border-radius: inherit;
  border: 2px solid var(--gold);
  animation: ripple 3.2s var(--ease) infinite;
  pointer-events: none;
}
@keyframes ripple {
  0% { transform: scale(1); opacity: .7; }
  60%, 100% { transform: scale(1.45); opacity: 0; }
}

/* entrada escalonada de los botones flotantes */
.js .fs { opacity: 0; translate: 0 16px; }
.js.is-loaded .fs { opacity: 1; translate: 0 0; transition: opacity .7s var(--ease-out), translate .7s var(--ease-out), background-color .4s var(--ease), color .4s var(--ease), transform .4s var(--ease-out); }
.js.is-loaded .fs:nth-child(1) { transition-delay: 1.5s, 1.5s, 0s, 0s, 0s; }
.js.is-loaded .fs:nth-child(2) { transition-delay: 1.62s, 1.62s, 0s, 0s, 0s; }
.js.is-loaded .fs:nth-child(3) { transition-delay: 1.74s, 1.74s, 0s, 0s, 0s; }

/* ---------- Animaciones de entrada ---------- */
/* Titular: palabra por palabra desde una máscara */
.split-title .w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .08em; margin-bottom: -.08em; }
.split-title .w > span { display: inline-block; }
.js .split-title .w > span { transform: translateY(105%); }
.js.is-loaded .split-title .w > span { transform: none; transition: transform 1.1s var(--ease-out); }
.js.is-loaded .split-title .w:nth-child(1) > span { transition-delay: .25s; }
.js.is-loaded .split-title .w:nth-child(2) > span { transition-delay: .31s; }
.js.is-loaded .split-title .w:nth-child(3) > span { transition-delay: .37s; }
.js.is-loaded .split-title .w:nth-child(4) > span { transition-delay: .43s; }
.js.is-loaded .split-title .w:nth-child(5) > span { transition-delay: .49s; }
.js.is-loaded .split-title .w:nth-child(6) > span { transition-delay: .55s; }
.js.is-loaded .split-title .w:nth-child(7) > span { transition-delay: .61s; }
.js.is-loaded .split-title .w:nth-child(8) > span { transition-delay: .67s; }
.js.is-loaded .split-title .w:nth-child(9) > span { transition-delay: .73s; }

.js .intro { opacity: 0; transform: translateY(16px); }
.js.is-loaded .intro { opacity: 1; transform: none; transition: opacity 1s var(--ease-out) var(--d, 0s), transform 1s var(--ease-out) var(--d, 0s); }

/* El árbol del hero "crece" desde las raíces */
.js .tree-hero { clip-path: inset(100% 0 0 0); }
.js.is-loaded .tree-hero { clip-path: inset(0 0 0 0); transition: clip-path 2.4s var(--ease-out) .3s; }

/* Imagen del hero: se descubre de abajo hacia arriba */
.js .hero-photo { clip-path: inset(100% 0 0 0 round 999px 999px 28px 28px); }
.js.is-loaded .hero-photo { clip-path: inset(0 0 0 0 round 999px 999px 28px 28px); transition: clip-path 1.6s var(--ease-out) .2s; }
.js .hero-photo-small, .js .ring-badge, .js .hero-note { opacity: 0; scale: .92; }
.js.is-loaded .hero-photo-small, .js.is-loaded .ring-badge, .js.is-loaded .hero-note { opacity: 1; scale: 1; transition: opacity 1s var(--ease-out), scale 1.2s var(--ease-out); }
.js.is-loaded .hero-photo-small { transition-delay: 1s; }
.js.is-loaded .ring-badge { transition-delay: 1.15s; }
.js.is-loaded .hero-note { transition-delay: 1.3s; }

/* Aparición al hacer scroll */
.js .reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 1.1s var(--ease-out), transform 1.1s var(--ease-out);
  transition-delay: var(--stagger, 0s);
}
.js .reveal.is-visible { opacity: 1; transform: none; }
/* las tarjetas conservan su propio hover una vez visibles */
.js .feature.reveal.is-visible { transition: opacity 1.1s var(--ease-out) var(--stagger, 0s), transform .6s var(--ease-out), box-shadow .6s var(--ease-out), background-color .6s var(--ease), border-color .6s var(--ease); }
@media (hover: hover) { .js .feature.reveal.is-visible:hover { transform: translateY(-6px); } }

/* Las fotografías de sección se descubren con una cortina suave */
.js .about-media.reveal .about-img-main,
.js .value.reveal .value-img { clip-path: inset(0 0 100% 0); transition: clip-path 1.5s var(--ease-out) .1s; }
.js .about-media.is-visible .about-img-main,
.js .value.is-visible .value-img { clip-path: inset(0 0 0 0); }

/* Iconos de cultura: el trazo se dibuja al aparecer */
.js .pillar-icon { stroke-dasharray: 180; stroke-dashoffset: 180; transition: stroke-dashoffset 1.8s var(--ease-out) .3s, stroke .4s var(--ease), transform .6s var(--ease-out); }
.js .dar-pillars li.is-visible .pillar-icon { stroke-dashoffset: 0; }

/* Mapa: el contorno se dibuja y los puntos aparecen */
.js .map .map-outline { stroke-dasharray: 3200; stroke-dashoffset: 3200; }
.js .map.is-visible .map-outline { stroke-dashoffset: 0; transition: stroke-dashoffset 2.6s var(--ease-out) .2s; }
.js .map .map-pin, .js .map .map-route { opacity: 0; }
.js .map.is-visible .map-pin, .js .map.is-visible .map-route { opacity: 1; transition: opacity .8s var(--ease) 1.4s; }

/* Bandas del panel de marca: entran desde la derecha */
.js .brand-panel .bands path { transform: translateX(60px); opacity: 0; }
.js .brand-panel.is-visible .bands path { transform: none; opacity: 1; transition: transform 1.4s var(--ease-out), opacity 1s var(--ease); }
.js .brand-panel.is-visible .band-teal { transition-delay: .12s; }
.js .brand-panel.is-visible .band-dark { transition-delay: .24s; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition-duration: 0s !important; transition-delay: 0s !important; }
  .js .reveal, .js .intro, .js .fs { opacity: 1 !important; transform: none !important; translate: none !important; }
  .js .split-title .w > span { transform: none !important; }
  .js .hero-photo, .js .tree-hero, .js [class*="-img"] { clip-path: none !important; }
  .js .hero-photo-small, .js .ring-badge, .js .hero-note { opacity: 1 !important; scale: 1 !important; }
  .js .pillar-icon, .js .map .map-outline { stroke-dashoffset: 0 !important; }
  .js .map .map-pin, .js .map .map-route, .js .brand-panel .bands path { opacity: 1 !important; transform: none !important; }
  [data-parallax] { translate: none !important; }
}

/* Hero a la medida de la pantalla en escritorio y laptop:
   la foto toma su altura del alto disponible para que todo el hero quepa sin cortes. */
@media (min-width: 901px) {
  .hero {
    --ph: clamp(340px, calc(100svh - var(--header-h) - 250px), 660px);
    min-height: calc(100svh - var(--header-h));
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(20px, 4vh, 56px) 0 clamp(20px, 4vh, 48px);
  }
  .hero h1 { font-size: clamp(2.7rem, min(1.4rem + 4.3vw, 9.6vh), 4.9rem); margin-bottom: clamp(18px, 3.5vh, 30px); }
  .hero .eyebrow { margin-bottom: clamp(14px, 2.6vh, 22px); }
  .hero-lead { margin-bottom: clamp(24px, 4.4vh, 40px); }
  .hero-media { width: min(100%, calc(var(--ph) * .8 + 40px)); justify-self: end; }
  .hero-photo { aspect-ratio: auto; height: var(--ph); }
  .hero-strip { margin-top: clamp(28px, 5.5vh, 64px); padding-top: clamp(16px, 2.6vh, 26px); }
}

/* ---------- Responsive ---------- */
@media (max-width: 1180px) {
  .main-nav { gap: 22px; }
  .main-nav a:not(.btn) { font-size: .9rem; }
}

@media (max-width: 1180px) {
  .catalog { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 1080px) {
  .features { grid-template-columns: repeat(2, 1fr); }
  .specialties { grid-template-columns: repeat(2, 1fr); }
  .ring-badge { right: -10px; width: 116px; height: 116px; }
  .hero-note { right: 0; }
  .footer-grid { grid-template-columns: 1fr 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 1000px) {
  :root { --header-h: 80px; }
  .container { padding: 0 24px; }
  .site-header.is-scrolled .header-inner { height: 66px; }
  .brand img { height: 64px; }
  .site-header.is-scrolled .brand img { height: 54px; }

  .header-cta { display: none; }
  .nav-toggle { display: block; }
  .main-nav {
    position: fixed;
    top: 0; left: 0; right: 0;
    height: 100vh; height: 100dvh;
    margin: 0;
    z-index: -1;
    flex-direction: column;
    gap: 0;
    padding: calc(var(--header-h) + 24px) 24px 32px;
    background: var(--cream);
    clip-path: inset(0 0 100% 0);
    visibility: hidden;
    transition: clip-path .7s var(--ease-out), visibility .7s;
  }
  .main-nav::before { content: ""; position: absolute; inset: 0; background-image: var(--tex-grain); opacity: .2; mix-blend-mode: multiply; pointer-events: none; }
  .main-nav.is-open { clip-path: inset(0 0 0 0); visibility: visible; }
  .main-nav a:not(.btn) {
    display: flex; align-items: baseline; gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid var(--line);
    font-family: var(--font-serif);
    font-variation-settings: "SOFT" 100;
    font-size: 1.85rem;
    font-weight: 300;
    color: var(--ink);
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .6s var(--ease-out), transform .6s var(--ease-out);
  }
  .main-nav.is-open a:not(.btn) { opacity: 1; transform: none; }
  .main-nav.is-open a:nth-child(1) { transition-delay: .15s; }
  .main-nav.is-open a:nth-child(2) { transition-delay: .21s; }
  .main-nav.is-open a:nth-child(3) { transition-delay: .27s; }
  .main-nav.is-open a:nth-child(4) { transition-delay: .33s; }
  .main-nav.is-open a:nth-child(5) { transition-delay: .39s; }
  .nav-num { display: inline; font-family: var(--font-sans); font-size: .8rem; font-weight: 800; color: var(--gold-text); letter-spacing: .1em; }
  .main-nav a:not(.btn)::after { display: none; }
  .nav-cta-mobile { display: inline-flex; margin-top: 32px; padding: 17px; }
}

@media (max-width: 900px) {
  .hero-grid, .about-grid, .coverage-grid, .values-grid, .contact-grid, .value { grid-template-columns: 1fr; }
  .hero-media { padding: 0 0 36px 24px; max-width: 560px; }
  .hero-strip { grid-template-columns: repeat(2, 1fr); margin-top: 48px; }
  .tree-hero { width: 520px; right: -200px; top: auto; bottom: 0; }

  .about-media { max-width: 560px; }
  .section-head.split { grid-template-columns: 1fr; gap: 16px; }
  .value-img { max-width: 560px; }


  .dar-head { grid-template-columns: 1fr; gap: 20px; }
  .dar-pillars { grid-template-columns: 1fr; }
  .dar-pillars li, .dar-pillars li + li { padding: 34px 0; border-left: 0; border-bottom: 1px solid rgba(230, 238, 236, .18); }
  .pillar-num, .dar-pillars li:last-child .pillar-num { top: 38px; right: 0; }
  .dar-cta { grid-template-columns: 96px 1fr; border-radius: var(--radius-lg); padding: 22px; }
  .dar-cta-logo { width: 96px; }
  .dar-cta .btn { grid-column: 1 / -1; justify-self: start; }

  .values-img { width: 100%; max-width: 560px; }
  .catalog { grid-template-columns: repeat(3, 1fr); }
  .products-cta { border-radius: var(--radius-lg); padding: 26px; }
  .brand-panel { max-width: 520px; width: 100%; }
}

@media (max-width: 600px) {
  body { font-size: 16px; }
  .container { padding: 0 20px; }
  .section { padding: 80px 0; }
  .brand img { height: 60px; }
  .site-header.is-scrolled .brand img { height: 52px; }

  .hero { padding-top: 28px; }
  .hero h1 { font-size: 2.6rem; }
  .hero-lead { font-size: 1.05rem; margin-bottom: 32px; }
  .hero-actions { gap: 22px; }
  .hero-actions .btn { width: 100%; }
  .hero-media { padding: 0 0 30px 18px; margin-top: 8px; }
  .hero-photo { aspect-ratio: 4 / 4.3; }
  .hero-photo-small { width: 38%; border-width: 6px; left: 0; }
  .ring-badge { width: 96px; height: 96px; right: -6px; top: 4%; }
  .ring-dot { width: 10px; height: 10px; }
  .hero-note { left: auto; right: 10px; bottom: 50px; max-width: 220px; padding: 12px 14px; gap: 10px; }
  .hero-note-icon { width: 36px; height: 36px; }
  .hero-strip { gap: 14px 16px; }
  .hero-strip a { font-size: .9rem; }
  .hero-strip svg { width: 26px; height: 26px; }

  .marquee { padding: 16px 0; }
  .marquee-track { gap: 26px; }

  .about-media { padding-bottom: 64px; }
  .stats { grid-template-columns: 1fr; }
  .stats div, .stats div + div { display: flex; align-items: center; gap: 18px; padding: 16px 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .stats dt { margin: 0; min-width: 96px; }

  .features { grid-template-columns: 1fr; gap: 14px; }

  .specialties { grid-template-columns: 1fr; gap: 12px; }
  .spec { padding: 22px 22px 24px 84px; }
  .spec-icon { position: absolute; left: 22px; top: 24px; width: 40px; height: 40px; margin: 0; }
  .spec.is-main { padding-top: 54px; }
  .spec.is-main .spec-icon { top: 56px; }
  .spec-tag { top: 18px; left: 84px; right: auto; }
  .spec h3, .spec.is-main h3 { font-size: 1.45rem; margin-bottom: 4px; }
  .catalog-head { margin-bottom: 20px; }
  .filters { flex-wrap: nowrap; overflow-x: auto; margin: 0 -20px; padding: 0 20px 4px; scrollbar-width: none; }
  .filter { flex: none; }
  .catalog { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .item { padding: 10px 10px 14px; }
  .item h3 { font-size: 1.05rem; }
  .item p { font-size: .82rem; }
  .products-cta-actions, .products-cta-actions .btn { width: 100%; }
  .feature { min-height: 0; flex-direction: row; justify-content: flex-start; align-items: center; gap: 18px; padding: 22px; }
  .feature-icon { width: 56px; height: 56px; flex: none; border-radius: 16px; }
  .feature-num { top: 12px; right: 18px; font-size: .85rem; }
  .feature h3 { font-size: 1.02rem; padding-right: 14px; }

  .value-steps li { align-items: flex-start; }
  .value-copy .btn { width: 100%; }


  .coverage-copy .btn { width: 100%; }
  .map-pin text { font-size: 40px; }

  .dar-cta { grid-template-columns: 1fr; }
  .dar-cta-logo { width: 90px; }
  .dar-cta .btn { width: 100%; }

  .values-card { padding: 36px 28px; }

  .contact-actions .btn { width: 100%; }
  .brand-panel { aspect-ratio: 4 / 4.4; }
  .brand-panel-tag { font-size: .68rem; letter-spacing: .12em; max-width: 64%; }
  .social-card { flex-direction: column; align-items: flex-start; gap: 8px; bottom: 22px; }

  .footer-top { padding-top: 64px; padding-bottom: 48px; }
  .footer-top .btn { width: 100%; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
  .footer-bottom { flex-direction: column; padding-bottom: 72px; }

  .float-social { right: 14px; bottom: 14px; gap: 8px; }
  .fs { height: 42px; min-width: 42px; padding: 0 10px; }
  .fs svg { width: 20px; height: 20px; }
  .fs-wa { height: 54px; min-width: 54px; padding: 0 15px; }
}
