:root {
  /* =========================================
     1. JAGGED (Height: 390px)
     ========================================= */
  --mask1-height: 450px;
  --mask1-offset: 150px;
  /* Safe zone to prevent gradient covering teeth */
  --mask1-top-url: url('data:image/svg+xml;utf8,<svg width="1440" height="390" viewBox="0 0 1440 390" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"><path d="M0 390L1440 390L1440 17.626L1432.56 12.7372L1412.73 16.497L1396.99 31.4485L1376.86 35.1205L1358.73 40.5466L1339.41 28.9821L1321.72 33.5202L1303.3 42.0372L1285.87 29.322L1267.55 35.4056L1249.69 36.7757L1231.69 35.9426L1216.28 44.8435L1198.44 43.7473L1182.74 53.3386L1164.08 40.7768L1147.55 46.422L1127.84 46.5426L1110.42 37.8062L1096.58 24.0165L1078.43 18.0864L1059.72 12.7591L1040.21 12.0247L1020.63 15.0172L1000.69 18.3824L980.938 10.9066L962.877 20.191L942.406 16.1243L924.575 24.4332L906.865 32.3693L888.705 38.6392L870.512 45.0188L851.827 49.9406L830.623 42.6073L812.857 50.7408L795.924 57.0328L778.126 57.3616L761.215 63.8289L743.22 62.2723L725.739 64.6509L707.93 58.1726L690.811 60.376L673.276 63.1383L654.974 55.0815L634.306 50.6094L616.573 38.9681L595.445 45.0408L577.067 27.7215L557.155 30.2647L538.798 34.3862L521.449 29.2234L503.322 35.6577L485.688 36.9622L468.153 34.2218L450.376 27.1736L432.315 21.5284L415.317 35.2084L396.916 27.7216L378.833 26.4392L362.054 35.8989L345.515 45.3149L326.052 35.6139L307.936 35.603L295.724 58.0523L277.06 54.9939L259.185 46.17L243.194 49.1514L223.753 55.9147L210.051 39.9218L194.236 30.5387L173.908 32.2158L159.012 20.1802L138.026 24.7183L123.853 9.43777L105.836 5.72195L86.9538 8.31982L69.3636 2.24713L50.5139 6.48917L31.1605 2.12653L12.1904 2.75276e-06L-3.39578e-05 1.56757L-2.48867e-06 361.533L0.0438208 361.697L-2.46184e-06 361.84L0 390Z" fill="black"/></svg>');
  --mask1-btm-url: url('data:image/svg+xml;utf8,<svg width="1440" height="390" viewBox="0 0 1440 390" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"><path d="M0 -3.81849e-06L1440 0.00012207L1440 372.374L1432.56 377.263L1412.73 373.503L1396.99 358.551L1376.86 354.879L1358.73 349.453L1339.41 361.018L1321.72 356.48L1303.3 347.963L1285.87 360.678L1267.55 354.594L1249.69 353.224L1231.69 354.057L1216.28 345.156L1198.44 346.253L1182.74 336.661L1164.08 349.223L1147.55 343.578L1127.84 343.457L1110.42 352.194L1096.58 365.983L1078.43 371.914L1059.72 377.241L1040.21 377.975L1020.63 374.983L1000.69 371.618L980.938 379.093L962.877 369.809L942.406 373.876L924.575 365.567L906.865 357.631L888.705 351.361L870.512 344.981L851.827 340.059L830.623 347.393L812.857 339.259L795.924 332.967L778.126 332.638L761.215 326.171L743.22 327.728L725.739 325.349L707.93 331.827L690.811 329.624L673.276 326.862L654.974 334.918L634.306 339.391L616.573 351.032L595.445 344.959L577.067 362.278L557.155 359.735L538.798 355.614L521.449 360.777L503.322 354.342L485.688 353.038L468.153 355.778L450.376 362.826L432.315 368.472L415.317 354.792L396.916 362.278L378.833 363.561L362.054 354.101L345.515 344.685L326.052 354.386L307.936 354.397L295.724 331.948L277.06 335.006L259.185 343.83L243.194 340.849L223.753 334.085L210.051 350.078L194.236 359.461L173.908 357.784L159.012 369.82L138.026 365.282L123.853 380.562L105.836 384.278L86.9538 381.68L69.3636 387.753L50.5139 383.511L31.1605 387.873L12.1904 390L-3.39578e-05 388.432L-2.48867e-06 28.4671L0.0438208 28.3027L-2.46184e-06 28.1602L0 -3.81849e-06Z" fill="black"/></svg>');

  /* =========================================
     2. ROUGH PAINT (Height: 462px)
     ========================================= */
  --mask2-height: 520px;
  --mask2-offset: 270px;
  --mask2-top-url: url('data:image/svg+xml;utf8,<svg width="1440" height="462" viewBox="0 0 1440 462" fill="none" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"><path d="M1440 462L1440 83.0093C1436.22 84.1836 1428.6 82.5419 1424.45 73.5066C1421.19 83.1171 1403.92 106.376 1401.56 83.8719C1399.71 87.1913 1380.66 99.2703 1376.16 91.3735C1373.38 95.1122 1357.03 90.7385 1354.42 94.2016C1353.24 92.7516 1326.96 106.88 1326.96 108.246C1326.96 113.171 1304.43 86.4605 1304.43 94.0218C1304.43 109.888 1284.16 74.5491 1284.16 76.023C1284.16 76.9577 1259.43 79.5223 1259.43 76.886C1259.43 75.9993 1236.58 74.6931 1236.58 73.1113C1236.58 76.886 1213.25 64.6034 1213.25 61.1403C1213.25 60.9485 1191.25 79.5344 1191.25 81.2839C1191.25 60.7209 1166.41 72.4284 1166.41 73.6387C1166.41 73.9622 1143.33 86.3408 1143.33 79.5224C1143.33 81.1521 1122.45 92.0327 1122.45 94.2376C1122.45 96.7301 1098.24 114.13 1098.24 100.121C1098.24 90.5947 1075.02 125.37 1075.02 118.563C1075.02 115.687 1047.69 96.2028 1047.69 106.388C1047.69 108.917 1025.83 118.947 1025.83 110.906C1025.83 97.1974 1003.89 126.221 1003.89 121.871C1003.89 119.234 981.671 107.886 981.671 112.044C981.671 102.578 959.261 133.075 959.261 121.439C959.261 120.469 937.126 119.462 937.126 117.509C937.126 110.798 915.591 113.111 915.591 107.383C915.591 104.639 893.72 109.049 893.72 104.435C893.72 109.9 870.77 109.288 870.77 110.607C870.77 101.787 848.743 102.722 848.743 107.683C848.743 113.231 826.896 95.6995 826.896 103.62C826.896 98.4556 806.345 93.1951 806.345 92.8116C806.345 91.5294 784.749 82.8656 784.749 88.3419C784.749 79.6661 764.149 76.2629 764.149 77.4972C764.149 75.6398 741.703 79.103 741.703 74.7651C741.703 84.5792 718.081 68.6295 718.081 76.1909C718.081 71.0621 698.297 67.4193 698.297 62.7219C698.297 74.753 672.649 66.3049 672.649 71.5535C672.649 69.9957 650.442 77.7008 650.442 67.563C650.442 82.7936 631.593 58.3841 631.593 50.3314C631.593 33.3514 609.279 49.5645 609.279 46.6646C609.279 43.8845 585.274 67.0719 585.274 51.362C585.274 45.9576 564.854 28.0188 564.854 39.271C564.854 39.0553 542.791 30.5952 542.791 35.0409C542.791 51.2182 519.889 24.6276 519.889 37.6652C519.889 38.2404 499.205 23.0819 499.205 15.8441C499.205 0.218065 475.751 20.7451 475.751 30.092C475.751 27.1082 452.969 23.5012 452.969 15.3168C452.969 21.0447 430.427 20.9487 430.427 23.6689C430.427 33.1715 407.621 20.4333 407.621 25.2505C407.621 36.0354 385.762 35.9758 385.762 36.6588C385.762 29.2053 362.32 41.6675 362.32 45.0947C362.32 42.4704 338.279 40.9245 338.279 36.7184C338.279 35.9395 312.811 39.0554 312.811 26.3293C312.811 10.0323 287.475 16.8507 287.475 19.3551C287.475 31.2424 270.46 12.2969 270.46 9.67261C270.46 0.469567 251.119 -4.35978 251.119 5.26267C251.119 31.8053 232.858 14.9571 232.858 17.1979C232.858 24.4717 209.26 7.37187 209.26 5.95786C209.26 -6.72029 188.588 17.2341 188.588 26.5809C188.588 30.1759 164.583 17.5336 164.583 10.871C164.583 22.95 139.763 9.76839 142.868 20.1937C141.861 16.0835 118.887 13.3394 120.134 19.4268C118.311 17.0422 101.32 26.7487 98.1309 20.6852C103.131 39.9181 80.9008 27.8988 74.9174 17.5574C74.3539 21.4279 54.3773 24.9751 53.0103 24.8073C57.1471 28.3543 27.3744 32.7043 31.1994 32.8841C29.6646 34.0105 8.60917 40.4815 8.78903 39.8104C8.4413 31.2185 4.46047 26.4129 -3.82678e-05 24.2679L-3.13298e-09 461.964L1440 461.964L1440 462Z" fill="white"/></svg>');
  --mask2-btm-url: url('data:image/svg+xml;utf8,<svg width="1440" height="462" viewBox="0 0 1440 462" fill="none" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"><path d="M1440 0L1440 378.991C1436.22 377.816 1428.6 379.458 1424.45 388.493C1421.19 378.883 1403.92 355.624 1401.56 378.128C1399.71 374.809 1380.66 362.73 1376.16 370.626C1373.38 366.888 1357.03 371.261 1354.42 367.798C1353.24 369.248 1326.96 355.12 1326.96 353.754C1326.96 348.829 1304.43 375.539 1304.43 367.978C1304.43 352.112 1284.16 387.451 1284.16 385.977C1284.16 385.042 1259.43 382.478 1259.43 385.114C1259.43 386.001 1236.58 387.307 1236.58 388.889C1236.58 385.114 1213.25 397.396 1213.25 400.86C1213.25 401.051 1191.25 382.466 1191.25 380.716C1191.25 401.279 1166.41 389.571 1166.41 388.361C1166.41 388.038 1143.33 375.659 1143.33 382.477C1143.33 380.848 1122.45 369.967 1122.45 367.762C1122.45 365.27 1098.24 347.87 1098.24 361.879C1098.24 371.405 1075.02 336.63 1075.02 343.437C1075.02 346.312 1047.69 365.797 1047.69 355.611C1047.69 353.083 1025.83 343.053 1025.83 351.094C1025.83 364.803 1003.89 335.779 1003.89 340.129C1003.89 342.765 981.671 354.114 981.671 349.955C981.671 359.422 959.261 328.925 959.261 340.561C959.261 341.531 937.126 342.538 937.126 344.491C937.126 351.202 915.591 348.889 915.591 354.617C915.591 357.361 893.72 352.951 893.72 357.565C893.72 352.1 870.77 352.711 870.77 351.393C870.77 360.213 848.743 359.278 848.743 354.317C848.743 348.769 826.896 366.3 826.896 358.38C826.896 363.544 806.345 368.805 806.345 369.188C806.345 370.47 784.749 379.134 784.749 373.658C784.749 382.334 764.149 385.737 764.149 384.503C764.149 386.36 741.703 382.897 741.703 387.235C741.703 377.421 718.081 393.37 718.081 385.809C718.081 390.938 698.297 394.581 698.297 399.278C698.297 387.247 672.649 395.695 672.649 390.446C672.649 392.004 650.442 384.299 650.442 394.437C650.442 379.206 631.593 403.616 631.593 411.668C631.593 428.649 609.279 412.435 609.279 415.335C609.279 418.115 585.274 394.928 585.274 410.638C585.274 416.042 564.854 433.981 564.854 422.729C564.854 422.945 542.791 431.405 542.791 426.959C542.791 410.782 519.889 437.372 519.889 424.335C519.889 423.759 499.205 438.918 499.205 446.156C499.205 461.782 475.751 441.255 475.751 431.908C475.751 434.892 452.969 438.499 452.969 446.683C452.969 440.955 430.427 441.051 430.427 438.331C430.427 428.828 407.621 441.567 407.621 436.749C407.621 425.965 385.762 426.024 385.762 425.341C385.762 432.795 362.32 420.332 362.32 416.905C362.32 419.529 338.279 421.075 338.279 425.281C338.279 426.06 312.811 422.944 312.811 435.671C312.811 451.968 287.475 445.149 287.475 442.645C287.475 430.757 270.46 449.703 270.46 452.327C270.46 461.53 251.119 466.36 251.119 456.737C251.119 430.195 232.858 447.043 232.858 444.802C232.858 437.528 209.26 454.628 209.26 456.042C209.26 468.72 188.588 444.766 188.588 435.419C188.588 431.824 164.583 444.466 164.583 451.129C164.583 439.05 139.763 452.231 142.868 441.806C141.861 445.916 118.887 448.66 120.134 442.573C118.311 444.958 101.32 435.251 98.1309 441.315C103.131 422.082 80.9008 434.101 74.9174 444.442C74.3539 440.572 54.3773 437.025 53.0103 437.193C57.1471 433.646 27.3744 429.296 31.1994 429.116C29.6646 427.989 8.60917 421.518 8.78903 422.189C8.4413 430.781 4.46047 435.587 -3.82678e-05 437.732L-3.13298e-09 0.0357123L1440 0.0358382L1440 0Z" fill="white"/></svg>');

  /* =========================================
     3. CURVED ROUGH (Height: 319px)
     ========================================= */
  --mask3-height: 370px;
  --mask3-offset: 210px;
  --mask3-top-url: url('data:image/svg+xml;utf8,<svg width="1440" height="319" viewBox="0 0 1440 319" fill="none" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"><path d="M1440 318.983L1440 45.3082C1435.96 46.3509 1431.67 47.8054 1429.66 48.0595C1421.33 43.4944 1414.41 46.9817 1411.14 42.96C1412.88 33.1465 1391.55 41.6281 1392.69 42.3816C1389.08 39.5777 1377.93 36.6425 1374.14 35.521C1369.9 45.2031 1356.31 34.4082 1355.72 37.4837C1356.52 28.4675 1332.6 57.3561 1334.47 50.0836C1334.47 37.8605 1325.07 29.703 1325.07 29.8169C1325.07 15.412 1301.45 33.0852 1301.45 33.865C1301.45 32.5156 1285.54 23.1228 1285.54 26.9255C1285.54 15.9817 1269.24 23.3944 1269.24 19.1098C1269.24 7.78041 1252.32 -0.946776 1252.32 7.14937C1252.32 -6.31792 1232.7 2.84738 1232.7 5.70381C1232.7 2.32166 1213.89 3.78492 1213.89 14.4659C1213.89 22.8074 1196.19 23.412 1196.19 20.021C1196.19 18.0408 1176.52 18.6365 1176.52 18.6365C1176.52 15.3595 1157.42 14.1942 1157.42 21.7821C1157.42 22.7372 1143.56 29.922 1143.56 32.2703C1143.56 34.5396 1124.52 40.7258 1124.52 34.3295C1124.52 35.8803 1111.79 29.966 1111.79 45.7027C1111.79 36.7741 1096.57 53.0364 1096.57 53.7636C1096.57 59.31 1079.3 51.9849 1079.3 58.2411C1079.3 47.7529 1060.86 67.3624 1060.86 64.9616C1060.86 71.8135 1041.41 55.3409 1041.41 63.5159C1041.41 65.794 1024.8 62.3592 1024.8 56.3923C1024.8 51.5293 1007.4 49.3476 1007.4 54.4471C1007.4 56.9794 991.204 53.8864 991.204 47.972C991.204 48.1384 973.833 34.0578 973.833 42.1014C973.833 38.9821 955.311 34.9077 955.311 35.9066C955.311 38.6754 937.94 47.4989 937.94 47.2448C937.94 56.7779 918.014 35.5561 918.014 38.5439C918.014 35.2056 899.999 35.0042 899.999 42.2241C899.999 46.0619 883.979 56.4273 883.979 52.2478C883.979 50.4779 864.855 48.0245 864.855 51.0649C864.855 50.8196 848.815 59.6956 848.815 59.827C848.815 50.3552 830.683 62.2541 830.683 61.8335C830.683 58.5916 812.573 64.839 812.573 63.6298C812.573 68.2036 795.53 71.1214 795.53 69.3164C795.53 71.2528 777.968 80.3127 777.968 73.5747C777.968 83.0815 760.186 88.8908 760.186 78.35C760.186 82.8712 741.136 71.9888 741.136 71.3316C741.136 79.0072 722.825 72.5933 722.825 73.1015C722.825 68.3262 704.155 80.8911 704.155 75.6777C704.155 70.7709 685.485 73.6274 685.485 75.5287C685.485 64.9704 667.649 72.0502 667.649 69.8596C667.649 72.9001 649.138 72.0677 649.138 68.7293C649.138 69.1587 629.95 67.818 629.95 70.5518C629.95 72.3743 613.15 62.4907 613.15 61.1151C613.15 64.655 593.635 64.6725 593.635 64.4009C593.635 59.7394 574.785 56.4361 574.785 65.0755C574.785 59.0823 557.203 68.1773 557.203 59.5379C557.203 57.9256 538.829 61.7109 538.829 58.5215C538.829 61.0888 521.437 44.4496 521.437 48.042C521.437 42.2328 502.83 43.3806 502.83 43.6347C502.83 46.8153 484.002 48.2962 484.002 51.1088C484.002 53.6761 465.681 49.2687 465.681 53.7987C465.681 53.4395 445.712 40.8398 445.712 47.0959C445.712 52.7562 428.647 55.3233 428.647 57.3123C428.647 61.7985 422.353 70.9548 422.353 71.1125C422.353 64.5936 406.83 73.198 406.83 78.9284C406.83 82.3456 388.762 82.4069 388.762 81.338C388.762 86.3411 370.071 85.6313 370.071 89.0398C370.071 90.1 350.504 93.6311 350.504 91.5195C350.504 93.9729 333.165 77.614 333.165 75.3446C333.165 74.8627 312.858 80.6107 312.858 83.0903C312.858 88.9609 295.941 85.4736 295.941 71.8749C295.941 78.4727 274.874 88.1461 274.874 79.752C274.874 79.4541 256.827 81.9688 256.827 74.3108C256.827 72.278 237.882 73.3469 237.882 73.0402C237.882 74.5823 218.685 75.4761 218.685 74.0129C218.685 77.4476 201.884 59.3977 201.884 58.8457C201.884 54.7714 182.232 61.4655 182.232 64.0153C182.232 64.7776 163.868 63.0516 163.868 60.5894C163.868 62.1841 145.557 66.863 145.557 64.287C145.557 66.8893 127.489 61.5357 127.489 68.0634C127.489 68.5366 110.72 62.1139 108.355 59.6518C107.119 60.8872 90.2658 57.8644 89.8751 61.7898C84.648 59.8446 72.2293 61.2466 71.8808 65.689C70.2969 58.1886 54.1825 64.7777 53.9079 70.7096C51.1307 69.702 33.7704 80.3391 35.9035 76.1946C28.9974 83.73 8.18374 72.462 17.0963 66.5739C15.9136 67.8707 5.30105 69.8071 -2.16779e-05 71.0338L0 319L1440 319L1440 318.983Z" fill="white"/></svg>');
  --mask3-btm-url: url('data:image/svg+xml;utf8,<svg width="1440" height="319" viewBox="0 0 1440 319" fill="none" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"><path d="M1440 0.0176366L1440 273.692C1435.96 272.649 1431.67 271.195 1429.66 270.941C1421.33 275.506 1414.41 272.018 1411.14 276.04C1412.88 285.854 1391.55 277.372 1392.69 276.619C1389.08 279.423 1377.93 282.358 1374.14 283.479C1369.9 273.797 1356.31 284.592 1355.72 281.517C1356.52 290.533 1332.6 261.644 1334.47 268.917C1334.47 281.14 1325.07 289.297 1325.07 289.183C1325.07 303.588 1301.45 285.915 1301.45 285.135C1301.45 286.485 1285.54 295.877 1285.54 292.075C1285.54 303.019 1269.24 295.606 1269.24 299.89C1269.24 311.22 1252.32 319.947 1252.32 311.851C1252.32 325.318 1232.7 316.153 1232.7 313.296C1232.7 316.679 1213.89 315.215 1213.89 304.534C1213.89 296.193 1196.19 295.588 1196.19 298.979C1196.19 300.959 1176.52 300.364 1176.52 300.364C1176.52 303.641 1157.42 304.806 1157.42 297.218C1157.42 296.263 1143.56 289.078 1143.56 286.73C1143.56 284.461 1124.52 278.274 1124.52 284.671C1124.52 283.12 1111.79 289.034 1111.79 273.298C1111.79 282.226 1096.57 265.964 1096.57 265.237C1096.57 259.69 1079.3 267.015 1079.3 260.759C1079.3 271.247 1060.86 251.638 1060.86 254.039C1060.86 247.187 1041.41 263.659 1041.41 255.484C1041.41 253.206 1024.8 256.641 1024.8 262.608C1024.8 267.471 1007.4 269.653 1007.4 264.553C1007.4 262.021 991.204 265.114 991.204 271.028C991.204 270.862 973.833 284.942 973.833 276.899C973.833 280.018 955.311 284.093 955.311 283.094C955.311 280.325 937.94 271.501 937.94 271.755C937.94 262.222 918.014 283.444 918.014 280.456C918.014 283.795 899.999 283.996 899.999 276.776C899.999 272.938 883.979 262.573 883.979 266.752C883.979 268.522 864.855 270.976 864.855 267.935C864.855 268.181 848.815 259.305 848.815 259.173C848.815 268.645 830.683 256.746 830.683 257.167C830.683 260.409 812.573 254.161 812.573 255.37C812.573 250.797 795.53 247.879 795.53 249.684C795.53 247.747 777.968 238.688 777.968 245.426C777.968 235.919 760.186 230.109 760.186 240.65C760.186 236.129 741.136 247.011 741.136 247.669C741.136 239.993 722.825 246.407 722.825 245.899C722.825 250.674 704.155 238.109 704.155 243.323C704.155 248.229 685.485 245.373 685.485 243.472C685.485 254.03 667.649 246.95 667.649 249.141C667.649 246.1 649.138 246.933 649.138 250.271C649.138 249.842 629.95 251.182 629.95 248.448C629.95 246.626 613.15 256.51 613.15 257.885C613.15 254.345 593.635 254.328 593.635 254.599C593.635 259.261 574.785 262.564 574.785 253.925C574.785 259.918 557.203 250.823 557.203 259.462C557.203 261.075 538.829 257.289 538.829 260.479C538.829 257.911 521.437 274.551 521.437 270.958C521.437 276.767 502.83 275.62 502.83 275.366C502.83 272.185 484.002 270.704 484.002 267.891C484.002 265.324 465.681 269.732 465.681 265.202C465.681 265.561 445.712 278.16 445.712 271.904C445.712 266.244 428.647 263.677 428.647 261.688C428.647 257.202 422.353 248.045 422.353 247.888C422.353 254.407 406.83 245.802 406.83 240.072C406.83 236.655 388.762 236.593 388.762 237.662C388.762 232.659 370.071 233.369 370.071 229.96C370.071 228.9 350.504 225.369 350.504 227.481C350.504 225.027 333.165 241.386 333.165 243.656C333.165 244.138 312.858 238.39 312.858 235.91C312.858 230.039 295.941 233.527 295.941 247.125C295.941 240.528 274.874 230.854 274.874 239.248C274.874 239.546 256.827 237.031 256.827 244.689C256.827 246.722 237.882 245.653 237.882 245.96C237.882 244.418 218.685 243.524 218.685 244.987C218.685 241.553 201.884 259.603 201.884 260.155C201.884 264.229 182.232 257.535 182.232 254.985C182.232 254.223 163.868 255.949 163.868 258.411C163.868 256.816 145.557 252.137 145.557 254.713C145.557 252.111 127.489 257.465 127.489 250.937C127.489 250.464 110.72 256.886 108.355 259.348C107.119 258.113 90.2658 261.136 89.8751 257.21C84.648 259.156 72.2293 257.754 71.8808 253.311C70.2969 260.812 54.1825 254.223 53.9079 248.291C51.1307 249.298 33.7704 238.661 35.9035 242.806C28.9974 235.27 8.18374 246.538 17.0963 252.426C15.9136 251.13 5.30105 249.193 -2.16779e-05 247.966L0 -3.81849e-06L1440 0.00012207L1440 0.0176366Z" fill="white"/></svg>');

  /* =========================================
     4. SPIKES (Height: 573px)
     ========================================= */
  --mask4-height: 635px;
  --mask4-offset: 195px;
  --mask4-top-url: url('data:image/svg+xml;utf8,<svg width="1440" height="573" viewBox="0 0 1440 573" fill="none" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"><path d="M0 572.388L1440 572.388L1440 25.8691L1432.56 18.694L1412.73 24.2121L1396.99 46.1559L1376.86 51.5452L1358.73 59.5088L1339.41 42.536L1321.72 49.1964L1303.3 61.6965L1285.87 43.0348L1267.55 51.9635L1249.69 53.9745L1231.69 52.7517L1216.28 65.8152L1198.44 64.2063L1182.74 78.2831L1164.08 59.8466L1147.55 68.1318L1127.84 68.3088L1110.42 55.4869L1096.58 35.2482L1078.43 26.5447L1059.72 18.7262L1040.21 17.6482L1020.63 22.0402L1000.69 26.9792L980.938 16.0073L962.877 29.6336L942.406 23.665L924.575 35.8597L906.865 47.5073L888.705 56.7094L870.512 66.0725L851.827 73.296L830.623 62.5332L812.857 74.4704L795.924 83.7049L778.126 84.1875L761.215 93.6793L743.22 91.3948L725.739 94.8858L707.93 85.3778L690.811 88.6115L673.276 92.6657L654.974 80.8411L634.306 74.2775L616.573 57.192L595.445 66.1047L577.067 40.6859L557.155 44.4184L538.798 50.4673L521.449 42.8901L503.322 52.3335L485.688 54.248L468.153 50.2261L450.376 39.8817L432.315 31.5966L415.317 51.6741L396.916 40.6859L378.833 38.8038L362.054 52.6875L345.515 66.5071L326.052 52.2692L307.936 52.2533L295.724 85.2011L277.06 80.7126L259.185 67.762L243.194 72.1377L223.753 82.0639L210.051 58.5918L194.236 44.8206L173.908 47.282L159.012 29.6178L138.026 36.2781L123.853 13.8515L105.836 8.39794L86.9538 12.2107L69.3636 3.29809L50.5139 9.52398L31.1605 3.12109L12.1904 6.11277e-05L-3.39578e-05 2.30072L-2.48867e-06 530.608L0.0438208 530.849L-2.46184e-06 531.059L0 572.388Z" fill="white"/></svg>');
  --mask4-btm-url: url('data:image/svg+xml;utf8,<svg width="1440" height="573" viewBox="0 0 1440 573" fill="none" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"><path d="M0 5.93785e-05L1440 0.000244141L1440 546.519L1432.56 553.694L1412.73 548.176L1396.99 526.232L1376.86 520.843L1358.73 512.879L1339.41 529.852L1321.72 523.192L1303.3 510.692L1285.87 529.353L1267.55 520.425L1249.69 518.414L1231.69 519.637L1216.28 506.573L1198.44 508.182L1182.74 494.105L1164.08 512.542L1147.55 504.256L1127.84 504.079L1110.42 516.901L1096.58 537.14L1078.43 545.843L1059.72 553.662L1040.21 554.74L1020.63 550.348L1000.69 545.409L980.938 556.381L962.877 542.755L942.406 548.723L924.575 536.528L906.865 524.881L888.705 515.679L870.512 506.316L851.827 499.092L830.623 509.855L812.857 497.918L795.924 488.683L778.126 488.201L761.215 478.709L743.22 480.993L725.739 477.502L707.93 487.01L690.811 483.777L673.276 479.723L654.974 491.547L634.306 498.111L616.573 515.196L595.445 506.283L577.067 531.702L557.155 527.97L538.798 521.921L521.449 529.498L503.322 520.055L485.688 518.14L468.153 522.162L450.376 532.506L432.315 540.792L415.317 520.714L396.916 531.702L378.833 533.584L362.054 519.701L345.515 505.881L326.052 520.119L307.936 520.135L295.724 487.187L277.06 491.676L259.185 504.626L243.194 500.251L223.753 490.324L210.051 513.796L194.236 527.568L173.908 525.106L159.012 542.77L138.026 536.11L123.853 558.537L105.836 563.99L86.9538 560.177L69.3636 569.09L50.5139 562.864L31.1605 569.267L12.1904 572.388L-3.39578e-05 570.087L-2.48867e-06 41.7801L0.0438208 41.5388L-2.46184e-06 41.3296L0 5.93785e-05Z" fill="white"/></svg>');

  /* =========================================
     5. TORN (Height: 384px)
     ========================================= */
  --mask5-height: 384x;
  --mask5-offset: 255px;
  /* The specific 141px you wanted! */
  --mask5-top-url: url('data:image/svg+xml;utf8,<svg width="1437" height="384" viewBox="0 0 1437 384" fill="none" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"><path d="M1437 383.979L1437 54.5403C1432.96 55.7955 1428.67 57.5463 1426.66 57.8522C1418.33 52.3569 1411.41 56.5548 1408.14 51.7136C1409.88 39.9004 1388.55 50.1102 1389.69 51.0173C1386.08 47.6421 1374.93 44.1089 1371.14 42.7588C1366.9 54.4137 1353.31 41.4193 1352.72 45.1214C1353.52 34.2681 1329.6 69.043 1331.47 60.2887C1331.47 45.575 1322.07 35.7553 1322.07 35.8924C1322.07 18.5524 1298.45 39.8266 1298.45 40.7654C1298.45 39.1411 1282.54 27.8343 1282.54 32.4119C1282.54 19.2381 1266.24 28.1613 1266.24 23.0036C1266.24 9.36577 1249.32 -1.13969 1249.32 8.60613C1249.32 -7.6053 1229.7 3.42757 1229.7 6.86605C1229.7 2.79473 1210.89 4.55614 1210.89 17.4135C1210.89 27.4546 1193.19 28.1824 1193.19 24.1006C1193.19 21.7168 1173.52 22.4339 1173.52 22.4339C1173.52 18.4891 1154.42 17.0864 1154.42 26.2205C1154.42 27.3702 1140.56 36.019 1140.56 38.8457C1140.56 41.5775 1121.52 49.0241 1121.52 41.3245C1121.52 43.1914 1108.79 36.0719 1108.79 55.0151C1108.79 44.2673 1093.57 63.8431 1093.57 64.7186C1093.57 71.3951 1076.3 62.5775 1076.3 70.1083C1076.3 57.4831 1057.86 81.0882 1057.86 78.1982C1057.86 86.4463 1038.41 66.6172 1038.41 76.458C1038.41 79.2003 1021.8 75.0656 1021.8 67.8828C1021.8 62.029 1004.4 59.4027 1004.4 65.5413C1004.4 68.5895 988.204 64.8663 988.204 57.7468C988.204 57.9472 970.833 40.9975 970.833 50.68C970.833 46.9252 952.311 42.0206 952.311 43.223C952.311 46.556 934.94 57.1773 934.94 56.8714C934.94 68.3471 915.014 42.801 915.014 46.3977C915.014 42.3791 896.999 42.1367 896.999 50.8278C896.999 55.4476 880.979 67.925 880.979 62.8938C880.979 60.7633 861.855 57.81 861.855 61.47C861.855 61.1747 845.815 71.8592 845.815 72.0174C845.815 60.6157 827.683 74.9391 827.683 74.4329C827.683 70.5303 809.573 78.0507 809.573 76.5951C809.573 82.1009 792.53 85.6132 792.53 83.4404C792.53 85.7714 774.968 96.6774 774.968 88.5664C774.968 100.01 757.186 107.003 757.186 94.3147C757.186 99.7572 738.136 86.6573 738.136 85.8663C738.136 95.1058 719.825 87.3851 719.825 87.9968C719.825 82.2485 701.155 97.3736 701.155 91.0978C701.155 85.1913 682.485 88.6298 682.485 90.9186C682.485 78.2089 664.649 86.7312 664.649 84.0943C664.649 87.7543 646.138 86.7523 646.138 82.7337C646.138 83.2506 626.95 81.6367 626.95 84.9275C626.95 87.1214 610.15 75.2239 610.15 73.568C610.15 77.8291 590.635 77.8502 590.635 77.5233C590.635 71.912 571.785 67.9356 571.785 78.3354C571.785 71.1209 554.203 82.0691 554.203 71.6694C554.203 69.7286 535.829 74.2851 535.829 70.4459C535.829 73.5363 518.437 53.5067 518.437 57.8312C518.437 50.8382 499.83 52.2199 499.83 52.5257C499.83 56.3545 481.002 58.1371 481.002 61.5228C481.002 64.6132 462.681 59.3078 462.681 64.7608C462.681 64.3284 442.712 49.1613 442.712 56.6922C442.712 63.5058 425.647 66.5961 425.647 68.9904C425.647 74.3906 419.353 85.4127 419.353 85.6025C419.353 77.7552 403.83 88.113 403.83 95.011C403.83 99.1245 385.762 99.1982 385.762 97.9115C385.762 103.934 367.071 103.08 367.071 107.183C367.071 108.459 347.504 112.71 347.504 110.168C347.504 113.121 330.165 93.4287 330.165 90.697C330.165 90.1169 309.858 97.036 309.858 100.021C309.858 107.088 292.941 102.89 292.941 86.5202C292.941 94.4624 271.874 106.107 271.874 96.0024C271.874 95.6438 253.827 98.6709 253.827 89.4524C253.827 87.0054 234.882 88.2922 234.882 87.923C234.882 89.7793 215.685 90.8553 215.685 89.0938C215.685 93.2284 198.884 71.5007 198.884 70.8362C198.884 65.9316 179.232 73.9899 179.232 77.0592C179.232 77.9768 160.868 75.899 160.868 72.9352C160.868 74.8548 142.557 80.4871 142.557 77.3862C142.557 80.5188 124.489 74.0743 124.489 81.9321C124.489 82.5017 107.72 74.7703 105.355 71.8065C104.119 73.2937 87.2657 69.6549 86.8751 74.3801C81.6479 72.0386 69.2293 73.7263 68.8808 79.0738C67.2968 70.0452 51.1826 77.9769 50.9079 85.1175C48.1307 83.9045 30.7704 96.709 32.9035 91.7201C25.9973 100.791 5.18369 87.227 14.0963 80.1391C12.9135 81.7001 2.301 84.0311 -3.00003 85.5078L-3 384L1437 384L1437 383.979Z" fill="white"/></svg>');
  --mask5-btm-url: url('data:image/svg+xml;utf8,<svg width="1437" height="384" viewBox="0 0 1437 384" fill="none" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"><path d="M1437 0.0210833L1437 329.46C1432.96 328.205 1428.67 326.454 1426.66 326.148C1418.33 331.643 1411.41 327.445 1408.14 332.286C1409.88 344.1 1388.55 333.89 1389.69 332.983C1386.08 336.358 1374.93 339.891 1371.14 341.241C1366.9 329.586 1353.31 342.581 1352.72 338.879C1353.52 349.732 1329.6 314.957 1331.47 323.711C1331.47 338.425 1322.07 348.245 1322.07 348.108C1322.07 365.448 1298.45 344.173 1298.45 343.235C1298.45 344.859 1282.54 356.166 1282.54 351.588C1282.54 364.762 1266.24 355.839 1266.24 360.996C1266.24 374.634 1249.32 385.14 1249.32 375.394C1249.32 391.605 1229.7 380.572 1229.7 377.134C1229.7 381.205 1210.89 379.444 1210.89 366.587C1210.89 356.545 1193.19 355.818 1193.19 359.899C1193.19 362.283 1173.52 361.566 1173.52 361.566C1173.52 365.511 1154.42 366.914 1154.42 357.78C1154.42 356.63 1140.56 347.981 1140.56 345.154C1140.56 342.423 1121.52 334.976 1121.52 342.676C1121.52 340.809 1108.79 347.928 1108.79 328.985C1108.79 339.733 1093.57 320.157 1093.57 319.281C1093.57 312.605 1076.3 321.423 1076.3 313.892C1076.3 326.517 1057.86 302.912 1057.86 305.802C1057.86 297.554 1038.41 317.383 1038.41 307.542C1038.41 304.8 1021.8 308.934 1021.8 316.117C1021.8 321.971 1004.4 324.597 1004.4 318.459C1004.4 315.41 988.204 319.134 988.204 326.253C988.204 326.053 970.833 343.003 970.833 333.32C970.833 337.075 952.311 341.979 952.311 340.777C952.311 337.444 934.94 326.823 934.94 327.129C934.94 315.653 915.014 341.199 915.014 337.602C915.014 341.621 896.999 341.863 896.999 333.172C896.999 328.552 880.979 316.075 880.979 321.106C880.979 323.237 861.855 326.19 861.855 322.53C861.855 322.825 845.815 312.141 845.815 311.983C845.815 323.384 827.683 309.061 827.683 309.567C827.683 313.47 809.573 305.949 809.573 307.405C809.573 301.899 792.53 298.387 792.53 300.56C792.53 298.229 774.968 287.323 774.968 295.434C774.968 283.99 757.186 276.997 757.186 289.685C757.186 284.243 738.136 297.343 738.136 298.134C738.136 288.894 719.825 296.615 719.825 296.003C719.825 301.752 701.155 286.626 701.155 292.902C701.155 298.809 682.485 295.37 682.485 293.081C682.485 305.791 664.649 297.269 664.649 299.906C664.649 296.246 646.138 297.248 646.138 301.266C646.138 300.749 626.95 302.363 626.95 299.072C626.95 296.879 610.15 308.776 610.15 310.432C610.15 306.171 590.635 306.15 590.635 306.477C590.635 312.088 571.785 316.064 571.785 305.665C571.785 312.879 554.203 301.931 554.203 312.331C554.203 314.271 535.829 309.715 535.829 313.554C535.829 310.464 518.437 330.493 518.437 326.169C518.437 333.162 499.83 331.78 499.83 331.474C499.83 327.646 481.002 325.863 481.002 322.477C481.002 319.387 462.681 324.692 462.681 319.239C462.681 319.672 442.712 334.839 442.712 327.308C442.712 320.494 425.647 317.404 425.647 315.01C425.647 309.609 419.353 298.587 419.353 298.397C419.353 306.245 403.83 295.887 403.83 288.989C403.83 284.876 385.762 284.802 385.762 286.089C385.762 280.066 367.071 280.92 367.071 276.817C367.071 275.541 347.504 271.29 347.504 273.832C347.504 270.879 330.165 290.571 330.165 293.303C330.165 293.883 309.858 286.964 309.858 283.979C309.858 276.912 292.941 281.11 292.941 297.48C292.941 289.538 271.874 277.893 271.874 287.998C271.874 288.356 253.827 285.329 253.827 294.548C253.827 296.995 234.882 295.708 234.882 296.077C234.882 294.221 215.685 293.145 215.685 294.906C215.685 290.772 198.884 312.499 198.884 313.164C198.884 318.068 179.232 310.01 179.232 306.941C179.232 306.023 160.868 308.101 160.868 311.065C160.868 309.145 142.557 303.513 142.557 306.614C142.557 303.481 124.489 309.926 124.489 302.068C124.489 301.498 107.72 309.23 105.355 312.193C104.119 310.706 87.2657 314.345 86.8751 309.62C81.6479 311.961 69.2293 310.274 68.8808 304.926C67.2968 313.955 51.1826 306.023 50.9079 298.883C48.1307 300.095 30.7704 287.291 32.9035 292.28C25.9973 283.209 5.18369 296.773 14.0963 303.861C12.9135 302.3 2.301 299.969 -3.00003 298.492L-3 -0.000125889L1437 0L1437 0.0210833Z" fill="white"/></svg>');


/* =========================================
   6. FRAME (Top & Bottom in one SVG)
   ========================================= */
   --mask6-height: 582px;
   --mask6-offset: 180px;
   --mask6-url: url('data:image/svg+xml;utf8,<svg width="504" height="582" viewBox="0 0 504 582" fill="none" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"><path d="M10.9062 0.949219L17.6797 2.89551L24.2773 1.00293L30.4336 3.71191L37.043 2.55273L43.3486 4.21094L48.3096 11.0283L55.6543 9.00391L60.8672 14.373L67.9824 13.625L73.5176 17.8115L78.3135 24.9463L85.1182 21.9287L90.7148 20.5986L96.9707 24.5361L103.503 25.9004L107.777 15.8848L114.118 15.8896L120.931 20.2178L126.719 16.0166L132.592 11.7959L138.921 12.3682L145.361 15.708L151.311 9.60547L157.632 12.124L163.854 15.2686L169.991 16.4912L176.163 15.9092L182.507 13.0381L188.579 15.3418L195.004 13.5029L201.974 12.3682L208.406 20.0947L215.801 17.3857L222.007 22.5801L229.241 24.5752L235.646 28.1699L241.784 26.9375L247.775 25.9541L254.009 28.8447L260.127 27.7832L266.426 28.4775L272.344 25.5918L278.573 25.4453L284.5 22.6387L290.718 19.0098L298.14 22.2812L304.68 20.085L311.047 17.2393L317.402 14.4414L323.602 10.9014L329.842 7.19434L337.007 9.00879L343.328 4.86621L350.24 8.20117L357.221 6.7002L364.075 5.36523L370.902 5.69238L377.45 8.06934L383.802 10.7148L388.647 16.8672L394.742 20.7656L401.643 20.7109L407.428 18.1924L413.96 23.7969L419.453 19.5186L425.698 20.0068L431.092 16.0361L437.39 16.4072L443.643 15.7969L450.056 13.082L456.154 18.7549L462.603 14.9551L468.794 12.9307L475.556 18.0898L481.9 15.6689L488.946 14.0312L494.455 7.36035L501.397 5.68262L504 7.86426V537.333C502.435 538.292 501.044 540.441 500.923 544.285C500.987 544.585 493.612 541.695 493.078 541.187C494.416 541.104 483.995 539.163 485.442 537.57C484.965 537.643 477.976 536.059 477.775 534.326C475.68 538.95 467.904 544.334 469.65 535.726C468.536 538.441 462.587 534.094 461.95 535.164C462.386 532.438 454.348 533.663 453.992 535.508C455.076 530.84 446.394 536.737 446.394 531.334C446.393 534.321 437.993 539.971 437.992 538.364C437.992 534.181 430.754 523.462 430.754 529.136C430.754 529.765 422.492 537.42 422.492 534.161C422.491 533.156 416.104 540.696 416.104 528.821C416.104 524.512 409.335 526.672 409.335 530.792C409.334 531.97 403.381 540.45 403.381 535.125C403.381 534.007 394.514 530.956 394.514 538.248C394.513 543.945 385.606 542.553 385.601 542.9C385.601 544.784 377.184 545.472 377.184 546.648C377.184 545.114 368.979 539.531 368.979 542.872C368.979 542.567 361.331 542.591 361.331 537.769C361.331 535.619 353.351 541.317 353.351 537.062C353.35 535.842 345.461 535.885 345.46 533.324C345.459 536.989 337.487 538.601 337.486 539.938C337.486 535.754 329.278 526.565 329.278 533.562C329.278 536.799 322.047 543.577 322.04 543.327C322.04 537.493 314.026 549.393 314.025 542.155C314.025 540.168 306.32 543.942 306.302 544.043C306.301 539.013 299.155 547.035 299.154 549.451C299.154 556.481 290.753 546.111 290.753 547.351C290.751 548.646 282.947 541.396 282.946 548.991C282.946 552.589 276.349 563.516 276.349 556.699C276.349 561.236 268.58 557.789 268.58 558.486C268.58 556.138 259.602 559.914 259.602 554.53C259.602 556.632 252.679 558.259 252.679 560.554C252.679 557.169 244.409 564.301 244.409 559.914C244.409 561.851 236.55 560.302 236.55 561.135C236.55 560.583 229.338 562.103 229.338 565.985C229.337 563.536 221.781 567.414 221.781 567.99C221.781 568.16 214.589 570.518 214.589 572.827C214.589 569.283 206.941 577.131 206.941 574.647C206.941 572.43 199.229 572.009 199.229 575.955C199.229 575.364 191.2 575.635 191.199 573.19C191.199 575.252 183.545 573.278 183.544 574.507C183.544 577.073 176.006 576.037 176.006 579.039C176.005 579.91 168.26 580.361 168.26 580.797C168.259 586.005 160.416 572.358 160.416 576.594C160.416 574.73 152.64 579.809 152.64 580.99C152.639 582.931 144.958 569.952 144.958 576.081C144.957 579.678 137.307 575.185 137.307 574.057C137.306 569.506 127.745 578.221 127.745 579.509C127.745 582.558 119.616 566.993 119.616 571.259C119.616 577.523 111.143 569.742 111.143 568.624C111.14 567.635 103.838 562.772 103.836 562.04C103.835 565.088 95.7684 559.559 95.7568 559.406C95.7568 558.864 87.0596 553.625 87.0596 562.829C87.0596 562.05 79.3766 553.752 79.3623 553.818C79.3623 555.368 71.1972 560.863 71.1963 559.174C71.1941 559.881 63.1963 560.471 63.1963 560.863C63.1962 562.045 54.541 560.897 54.541 560.476C54.5384 559.828 47.4463 575.634 47.4463 568.532C47.4459 565.149 39.5609 577.102 39.5605 574.899C39.5605 574.289 30.3661 567.966 29.9492 568.615C29.0398 567.066 23.3143 569.021 22.3398 567.352C20.7669 570.885 14.0978 565.478 13.4531 563.996C12.6231 574.066 6.58306 563.657 5.44238 559.357C3.99095 563.395 1.3188 564.131 0 563.608V161.437L0.015625 161.373L0 161.3V0.699219L4.2666 0L10.9062 0.949219Z" fill="black"/></svg>');
   
   
   /* =========================================
      7. FRAME BOTTOM (Bottom pattern only)
      ========================================= */
   --mask7-height: 889px;
   --mask7-offset: 260px;
   --mask7-url: url('data:image/svg+xml;utf8,<svg width="584" height="889" viewBox="0 0 584 889" fill="none" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"><path d="M0 0H584V710.863L583.982 710.934L584 711.015V888.229L579.056 889L571.362 887.953L563.514 885.806L555.869 887.894L548.735 884.904L541.077 886.183L533.771 884.354L528.022 876.831L519.512 879.065L513.471 873.14L505.227 873.966L498.812 869.346L493.256 861.473L485.371 864.803L478.886 866.271L471.637 861.926L464.067 860.421L459.115 871.473L451.768 871.467L443.874 866.691L437.167 871.327L430.362 875.983L423.028 875.353L415.566 871.667L408.672 878.401L401.348 875.622L394.138 872.152L387.026 870.804L379.875 871.445L372.523 874.613L365.487 872.071L358.043 874.101L349.968 875.353L342.514 866.826L333.945 869.815L326.754 864.085L318.372 861.883L310.949 857.917L303.838 859.276L296.896 860.361L289.673 857.172L282.583 858.343L275.285 857.576L268.427 860.761L261.208 860.922L254.341 864.02L247.137 868.024L238.537 864.414L230.959 866.837L223.581 869.978L216.216 873.064L209.033 876.972L201.802 881.062L193.5 879.06L186.175 883.631L178.166 879.95L170.077 881.606L162.136 883.08L154.225 882.719L146.638 880.096L139.277 877.177L133.662 870.388L126.6 866.087L118.604 866.146L111.901 868.925L104.332 862.741L97.9668 867.463L90.7314 866.923L84.4814 871.305L77.1836 870.895L69.9385 871.569L62.5068 874.564L55.4395 868.305L47.9688 872.498L40.7949 874.731L32.959 869.038L25.6074 871.71L17.4434 873.518L11.0605 880.878L3.01562 882.729L0 880.322V0Z" fill="black"/></svg>');

}

/* =========================================
   BASE SETUP
   ========================================= */

/* Define Heights and Offsets dynamically per mask class */
.mask1-top,
.mask1-btm,
.mask1-both {
  --m-height: var(--mask1-height);
  --m-offset: var(--mask1-offset);
}

.mask2-top,
.mask2-btm,
.mask2-both {
  --m-height: var(--mask2-height);
  --m-offset: var(--mask2-offset);
}

.mask3-top,
.mask3-btm,
.mask3-both {
  --m-height: var(--mask3-height);
  --m-offset: var(--mask3-offset);
}

.mask4-top,
.mask4-btm,
.mask4-both {
  --m-height: var(--mask4-height);
  --m-offset: var(--mask4-offset);
}

.mask5-top,
.mask5-btm,
.mask5-both {
  --m-height: var(--mask5-height);
  --m-offset: var(--mask5-offset);
}

/* Common properties for all masks */
/* v1.0.4 - Constrain mask positioning to the element box */
[class*="mask"] {
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;

  /* Make positioning/clip area explicit so top/bottom anchoring stays on this element */
  -webkit-mask-origin: border-box;
  mask-origin: border-box;

  -webkit-mask-clip: border-box;
  mask-clip: border-box;

  /* Optional: allows using container query units (cqw) later */
  container-type: inline-size;
}

/* =========================================
   TOP ONLY IMPLEMENTATION
   ========================================= */
.mask1-top {
  -webkit-mask-image: var(--mask1-top-url), linear-gradient(#000, #000);
  mask-image: var(--mask1-top-url), linear-gradient(#000, #000);
}

.mask2-top {
  -webkit-mask-image: var(--mask2-top-url), linear-gradient(#000, #000);
  mask-image: var(--mask2-top-url), linear-gradient(#000, #000);
}

.mask3-top {
  -webkit-mask-image: var(--mask3-top-url), linear-gradient(#000, #000);
  mask-image: var(--mask3-top-url), linear-gradient(#000, #000);
}

.mask4-top {
  -webkit-mask-image: var(--mask4-top-url), linear-gradient(#000, #000);
  mask-image: var(--mask4-top-url), linear-gradient(#000, #000);
}

.mask5-top {
  -webkit-mask-image: var(--mask5-top-url), linear-gradient(#000, #000);
  mask-image: var(--mask5-top-url), linear-gradient(#000, #000);
}

/* SVG on top, gradient anchored to bottom */
[class*="mask"][class*="-top"]{

  -webkit-mask-position:
    top center,
    bottom center;

  mask-position:
    top center,
    bottom center;

  /* KEY FIX */
  -webkit-mask-size:
    max(100%, 1440px) auto,
    100% calc(100% - var(--m-offset));

  mask-size:
    max(100%, 1440px) auto,
    100% calc(100% - var(--m-offset));
}


/* =========================================
   BOTTOM ONLY IMPLEMENTATION
   ========================================= */
.mask1-btm {
  -webkit-mask-image: var(--mask1-btm-url), linear-gradient(#000, #000);
  mask-image: var(--mask1-btm-url), linear-gradient(#000, #000);
}

.mask2-btm {
  -webkit-mask-image: var(--mask2-btm-url), linear-gradient(#000, #000);
  mask-image: var(--mask2-btm-url), linear-gradient(#000, #000);
}

.mask3-btm {
  -webkit-mask-image: var(--mask3-btm-url), linear-gradient(#000, #000);
  mask-image: var(--mask3-btm-url), linear-gradient(#000, #000);
}

.mask4-btm {
  -webkit-mask-image: var(--mask4-btm-url), linear-gradient(#000, #000);
  mask-image: var(--mask4-btm-url), linear-gradient(#000, #000);
}

.mask5-btm {
  -webkit-mask-image: var(--mask5-btm-url), linear-gradient(#000, #000);
  mask-image: var(--mask5-btm-url), linear-gradient(#000, #000);
}

/* SVG on bottom, gradient anchored to top */
[class*="mask"][class*="-btm"] {
  -webkit-mask-position: bottom center, top center;
  mask-position: bottom center, top center;

  -webkit-mask-size:
  auto var(--m-height),
  100% calc(100% - var(--m-offset));

mask-size:
  auto var(--m-height),
  100% calc(100% - var(--m-offset));
}

/* =========================================
   BOTH (TOP & BOTTOM) IMPLEMENTATION
   ========================================= */
.mask1-both {
  -webkit-mask-image: var(--mask1-top-url), var(--mask1-btm-url), linear-gradient(#000, #000);
  mask-image: var(--mask1-top-url), var(--mask1-btm-url), linear-gradient(#000, #000);
}

.mask2-both {
  -webkit-mask-image: var(--mask2-top-url), var(--mask2-btm-url), linear-gradient(#000, #000);
  mask-image: var(--mask2-top-url), var(--mask2-btm-url), linear-gradient(#000, #000);
}

.mask3-both {
  -webkit-mask-image: var(--mask3-top-url), var(--mask3-btm-url), linear-gradient(#000, #000);
  mask-image: var(--mask3-top-url), var(--mask3-btm-url), linear-gradient(#000, #000);
}

.mask4-both {
  -webkit-mask-image: var(--mask4-top-url), var(--mask4-btm-url), linear-gradient(#000, #000);
  mask-image: var(--mask4-top-url), var(--mask4-btm-url), linear-gradient(#000, #000);
}

.mask5-both {
  -webkit-mask-image: var(--mask5-top-url), var(--mask5-btm-url), linear-gradient(#000, #000);
  mask-image: var(--mask5-top-url), var(--mask5-btm-url), linear-gradient(#000, #000);
}

[class*="mask"][class*="-both"] {
  -webkit-mask-position: top center, bottom center, center;
  mask-position: top center, bottom center, center;

  /* We subtract (2 * offset) from the gradient height so it floats exactly 
     between the top and bottom jagged edges without covering them.
  */
  -webkit-mask-size:
  auto var(--m-height),
  auto var(--m-height),
  100% calc(100% - (2 * var(--m-offset)));

mask-size:
  auto var(--m-height),
  auto var(--m-height),
  100% calc(100% - (2 * var(--m-offset)));
}


/* v1.0.6 - Full-frame mask (top + bottom in one SVG) */
.mask6 {
  -webkit-mask-image: var(--mask6-url);
  mask-image: var(--mask6-url);

  -webkit-mask-size: cover;
  mask-size: cover;

  -webkit-mask-position: center;
  mask-position: center;

  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

/* v1.0.7 - Full-element mask with bottom pattern SVG */
.mask7 {
  -webkit-mask-image: var(--mask7-url);
  mask-image: var(--mask7-url);

  -webkit-mask-size: cover;
  mask-size: cover;

  -webkit-mask-position: bottom center;
  mask-position: bottom center;

  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}