@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(data:application/font-woff2;base64,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) format('woff2');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(data:application/font-woff2;base64,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) format('woff2');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(data:application/font-woff2;base64,d09GMgABAAAAAB5EAAwAAAAAP3AAAB3xAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx4cLgZgAIFUCucw0gQLgzYAATYCJAOGaAQgBYNIB4QLGzgyRUbuF6kFE0WpogTB/5cEDY6w8FewiRFiiIiwCNViu/tsr9/4UWMvAr0KA7RHNBNdUmOa90P/zMU5SgCu8gU+V5YdQeyqIxiyfoQksy3R8/vxm7PnfQWSiIeulsgkLZGk1bOECKHRCMVCMY/8Ozy/zf+jPddGT5kBBiBSksIlqrXBAK6KOdRFtXPV/00252v7LV/kXvw/F/Wq3V+yuRxsSdsZNTlZB2Z8qhgm+oJKAgQ8OBCnE+KkZeJ6aXAi79TZnw/e9fJx5P1/deU/WePAvfbZqkmVOk1BsmTYWYe9icMwPunGRRPAjojGYfiICUgF8Pc6y/ablshB8oyTaqFoolCXGZWhjuurvt6XQforr2wvatHrA+vQsASWj2QHAKurcilZPtQBVt4AQEVcUZ1rg0Wdoiipi46hNqjdeWYRKXPd30//G3rXtrTCjhKGA/C8r/kMFWBRpkxhJ07JdCBWJMAYIHQiGlpEYurVmgAeEgVVEEGN0s6nttavooDcjwlwfphUV+BLAu2zvrDNeYvOXhYowTvAjtWR6UvPVE/etGwD8AAge3MDsE0kIIAGrBIhjImR6mGHxF7JeYAVgv5fpaXNSMbzZR5sS0SkI7IQOQgkgobgISYWMTnxOUnI8VItwtFizYkJiFREJpP6p2oN4+F4b2wbWwqvzX7zsiH/cdUl5+23TdG31z7+Dfpr5UvpezX10o5/seINK+vpVRX1FxwzNN8uq82IApQYvltSvkdaRsdzfSYIrOybI2e0UNIHWaW2ekaoBy0mGJBZoGnlMwOx2klfM+MLUc4EmQTvYGm1G6fNnEZ7yJR6mJk+MOsDwg1O3Y0FgTE2zmm+QL/zkJoEGciOzqm+GNE1RDML2D7/C19vhDBNKzVxSeNkc5Syb6sMFzF2mSF6eAe0VPyjYtJ3zbk6BJmw7qTheiSf250Fcx+feA6J+XbMAfBl5yaNW7RxYhFQjN2GR3TKFtzqRKoz9y4g1dlX/V5mDkMow/vkdJmKYLd8tZYw0lrOkkN8EfIpsavPMK8XgOJZBlHs7BRtEmvyGOmrLVZtU70JNnC5gSU3mW8oMHDliuU0sgRTN/6saVziHxuMm3bzlWv5K1MpSqMLrN8rgJEOny/z1eEbeHafObBXBfJuUq1DR8OuwWYPonwLHaq3WYXPnsQnV7mq9Nn7fGI8uHdOQLSeHoYtW9jd2O5suVA0I8SXsj3o6OS/W/PEqmcl9x6Ceo9CMFJPnt2epGLzGHvgZWTI3UZwxrr6kaWZD4FCXJ/QxciagQHxL7lpkHd+MIxvUbOKW97aNFmu2ILvnozESqA3Ck+UUjU+yiqB0gL3Sp6c/gRjiuQ2BooKFD/Q3QZuwuBUQY/iV2oWc3Egu959yrZNxB3+KaLD768G1+D7RCFg8hqrGxZA6pGatHgQZaDCFyTyb1KRTzzBwdYPJ3slNQbokwuB3eJ46POJeO9VzjfJOpposdjUTE7NGRm47wMHxSTV0wwBcOhfUhz42//wVYQr3tMx1bEUrwV+x8t4ZK1K4CHGYIz9bie7NCkwyNmGTeMvhnsCP5yw3DTxLt7LtOJZ2LuFL8i4lcDBiLblkhTp+/N8+HylOOgxl9RMDCXwQynBwr23B3++plEqUKH0QktsqYtb0MFCHL1Q5y0Nl14pwZLBx5bsMx1OfchXcPIURwl8Lv9RiZE+qu28D9PbCk7z+U43j5HPujQUwu8RICMj5d59BqbbOdMeNq0GhUe/+ZyupT1M5WFcWzI1ZWE065reXu7ZOmtY3Tx5ls3Db6CzeVrfoNrEYsEWfKjcK58+TS/HtqUXD2I62/nyfgz0mwGHu5kXCaxBljJyXBwLKihJ5paMWFC57eWAQygYPmEZl06A4lCmLs40LbIekSyRYvoK5LN0Jcsz68XiCGVIuHO+G5s+M0+hebLBa+mM6gW/B7GR1YY7bB27wYQCPWgorp5U6W5A9L3nGVY0b4XXkquxBBnZ40EvNkiWLPsO69+sIjlqTTV8pd3RdpXF9TjzSTWZPL5DBur/N5lRO/gvZx+Slbu94k0B5iCyL9TDUAqk7IJwCDR60yLWuethMdx0uZ5rVp213CxAdIU2TulfzT/Ub6PlzHMVoiwtQnkJRbc4du2ahZl3UsZ+DHB5P9JYg0nWa/NxcAmygTsLSzMkZcvXrJJeEEuLfUAPnrBcJzYKOnxIgwelUmZ7c4twKL9c9AsdIqJURogupVFdHS+MNjomAGeuKpf5QuTAarLbLeHt0JwaWEvxeBDdCMI30aXdSE8xTPDhOpJVV9tqgRySkrjZYhm5bSZKQrDlYPDIZomxF/ZwEqwD/D9tTNfY49gtkePG7WVV5nFjTlFdHB69ZwchG/aWOrdUUEwWkDRIeaS8wXrdFJfTQxuaH3bjDxsG3Uyac8qQva0n9/w4DLB5C130TOpiV9a9r2RZUML6mkd24vTVpe/lDJRgGn++wtqN+oFr12UwM+Ib95NPkxU9qO0nuuTmNvBOkLqKRTl4iPMFVaCs6p/Vt6QnE3ECLRGA8GtM9SCrBhBldSdM+kAeWAwVUkoB9hVBKVzFndougMVdXxBuwZmyC52dNmMKZt4VB+5veInGcJ2/fEi+8BdGdsMwN8qV97ElARg6vA8+WtBUdIRNDiKv6DmHJA8J1eHx4c5wH8ps26aTBrzS0kmDKNsZMNFRaA1zjBCLu7U9rdyz3ei/L3n6ck74AI2SQXylrDfeahxTgUGp0cmB8Yf6fZtc+uZPKtdK6r036mSHDug2T556OMn2hfiy0ESLz4RsecVodGdNppaPo19E3d3n+R/k5DvtAF5F2cF8TVi8u/cVSmrZdh9YbebxNQDtDrJqq+VpYL9y17SRpQzbdXcQN2V4ayRR3FNQna4zywSjnKs3VuO6eO9AcCM/qMD42p7+9xUA8H0VP+4xyp2soB3JCviLjawvNeicYlHPpPm0ybKsejEPqaSP6dnW2+1kxKvN+XxyPAyFuhWYn/Cs834Gq9Us1y8Hmez/63GOGsnmS3Zz/TCj5tkUwurqiuR99x5xwzfHdnxSuvKbe4m44/vd3oRQ2nqDXU/CBo186nyxqeXcMINjTgMHTBfxfaz/ydXe8bkZdyGy7sjRPPDz4TMmobg+L4R+a7JXyCqRtSDYDj+gU56UIMNsr31FrKC+wC4jn/Y/f7WD4gfX6c68nihmjOCW2RvdcCkOfDE0b8b5PA7x5r7sbDHreWNZIHbHkrm3FPNuvR4YgW1TeedXVu9DXW8yOgqdB6ovz+L2V19CXmsyOsoGVlXHjEaFj4LsHTijg86OUkNqe2xLlaYLeXX1A84ibQ5NytG2NG7cgZgxxuOIbm7YrQWfcxYWQJVwvPPm354+nouePphaUDDv9geg0K/TcLkcEYt1Wo3Xiis2bw757nn3lhlNrKw4jJH1+mTSzrFyOo0GYyiw+MMAqvX6xW04scRPYLrYIrVPhXivJx+LFRoLaXQNukDOgiNNS5euzsyYcYeGBK3d5n1rT59aphXKQtfbsE6ClMcIRWFgxlq/9ORZH6apIjAXdregDu1pSKt1zw0A7I25ij15z6FIgH2cw1n57MmVsRV2sOYkWrkWT+YYtd+cuNUWv9VvLdGtwa/BTXbYak7YZk/aBqoo03c9d6ddg68DJtZ2JEgECcAcnQzzjI8uL450+hb96gT0nNb3tmzhgQuXWkcVo/6lPapEL0vAYmHEqXUJfjb/hg3b31EdQPvq733R4gdd+52aZo+4hcagcJl0tiSrOdy/vKOmqau9WiRaWV0v500wnY+1gNW/vK5WUFNK0JPLIeM3kQOQQ0InWd1ESeP65si6ZqKYw2JCHJLARLOlOzJUQEeg4D6nUj43ewFmj0H53/Wf2Kvse317I99/4XoJFgeUE1JNfomuXohuYkoosA/SNK1omGfyXpSSqUKBXigSygSlHNyzxhPXwXX7IaJS3hG24UBVCY1TTaE0SAXkpoZyWV2rBXuipzm8Gm6Yo3BfO68T8fkKlZAlkkM8gYoP5vQl9bWktsIV/wOKyz4yydxAVMgbiSQzmULRPV4JOdgQVNVGkkpbSYrLWMjeGnebT2cyyvuWiheVU6liFn50QsNmUpUCPk8hpDBUEAd8tAMiUISQd43fkEeA3ERGvbS5b7l/LfzGzf6iQbfW0dDijda5h8/wJOV8kYzFEinYTIFCBISrHv1vr9n6+H/jwMY4V6Ir4X+3BcAr3Xr7lwAa3unyVtT01ngiFFWRB5dW1BLEpA/I5C+IDQySvZrAdUwUwH/PN1ed0Bp2V6vI22qtAsLB+id2DEFusKlk5Sv8CqGxqL+qdEneonRxBpIkSW8i9u5YtSkw7HW/39G3Z9UmpyBngdSC9DcNqs27q7esfPFi7S4pkYdDqbA4Ga6YTczRYks+LQGvNuWWbmr/M7Tyz1CH+rmP4+eA3y3yinISWVeH4yeH5ghrSggqPIOl1IRhNlH+hyuZoWz66F+oDE/g02m7v9gP8t5zDByzVHjPNyKr1p10klj8BiajRS5ntDSU81lO0sl1yKrzDd7KAYtjoBYcHDqpsxz2eCwHTmq8D0MPO839Kzo6+9d0+Wf9YMRy60f7j58ssPdd77ODh0N21O3H9sc4OASg7wedRAcxv1TKgHXnfHtL3TxTlLXXHKeyrdmpsrrR1WJKBG1DIRgnPCUBLhIWgRHXMATGhn6z+xpsNl/DK+/8MTT6U8xvYHoeueywCXM+YwvGireAEesLm92XAX6K2yvw4KOvlB9/9QAOdf+C+BkBVsOG6Bj4OmyIioYBMvqYxXHMtb+SZfuAV2I/llrJq2woZ7SGop3JD4ul9VcZ4K6W2ptohmA6HPpR1Uwm22lv+P4mw/3Bh0FQvaxzxS1yhenJLs1+EfbkZesmXbn5NlLAG0eSjMmaLWX/JHiKZnXCueygL8hms8jkf6EgeBbtxbHMjC7GMyodomByN0zYuYt1eXQ5xKCbG0qENX3V0cZgPkQil94vQdSHmLx4Qz5DwSFR7I0UCZg7ZL9hgS3DdnBz6KZSo5RINUrlTfiGXtzWTZVKu6jCNv0NMDAUObQyaqjrNnQHAkxO6PZQ/7b5++f3gtFQ5xbSAVLfVvxWPFhn+czSd/Cf7f/0fmb53Np3aHbHbC+QDz0a/hf+9/Fw71HdUR24XsmtmjZDf3NkH0Ay96SjZrDGec8F7l6MH3X6WAXKG/ec0/eN4x7YdyrwcmHjq4Xt51aBcygP1gMeD+geNFaAvHpeb0Agglz4MVULqkUzXkVgC9tEvOXa98hYrbQYjZYWYTVUKlYvQw/xrWCsjgq++LcaXy5u43P7tFru8oBIxK4sHVfBM/BCxaoVWVZ09cuqoF316xQDr+MzRKq7V6avk6+sXu5INnY/hTB4gabSbNZUCaqyDd0p2hWVlcpOAa9P75mhmFyPfRzXMtOiDVVuZ0MU+GxwwygnIiGjkm3Ll3WnSpe7KpQ9AkGfXs/r6+GrFZ1cbpcqkLvAKIXoWkkvKJ2qnW6ZhuwQylltaHQSd+NQtaC+pBJ/TdWCk7ECHVydb0f9HLN/Wkek83ValW28ksjyhmrDdoPe+p9PB/hkSSWJ4pby/USJWMFmSxQSIjwDz75nyieBGu/+ta4yEQpGXSv4K7VKJKe7ULnT2TtgkBc/G7//g5ev4Bn44sSPh8HIw8HDmAF4GFdLojnSWN0LFMy6os8v5dSVvdHvpjHBQMlvTCovigxm4EXsMoGwT68T9/fylUrG+srpdNL+5QJlcaWssETLYGA00kI0WlJYrGGYLS4++OKfKgJLFBBwewvgu8qqwD8ywBhYrVh9gsj+FNiVhOOqFkyL4XgNARK2nj5NnwANlhpYwuVxdTkwClaB+7G1WLpqcSDnDhbHW5J94ad78mwKREYTRK5ClgN2RKjhPCsW81Nm8uy9W2/LEL2RJQSxo5AN7k6VZk/nCpwWuVqoLoXs0LqWdavtgIlEwdCAAVkKBfUQnp+wlwSQXXPgnc77yLX3kF0A/zPqLLKjeTc9rY5zyFZ4uHW43Xvdfx2Qk68k9weGvcPtVxZcSeHMAdCQSblFAe/cz5f07h88Oggu2f62B+1/N/4jzwdYdvTXElRejDPWTBZqlDxuFRrxEpEapQSxVhoBz5WES6pMoA39YCakJn6+oau4PI1SSI41xzjzUCW/gi998HYY6Pna9skA8JBaVZ45cGXz7fg0F1O7QKsZu2274piNT49qwFvkjKTZ2VkY/nPnvJlOELT+PeSJ4Tc59bFGyNg8J7DF4wlsVW6IAxzixMfTM/Q3Wag1KxRakxBgLPa7zIMoEyeR36zUK+hcakUNkdvQ1B5mqycH6WQ2k7Pk2tH3lOcEiRUcAfiA8fxs/IMbDOr1mzn7pxnlz4dzvp6kUCe/jj/7krHLU48nmJBICoGAQoIr64Oa02HPsyY1kxvhjSJnPR/Ha5YdKO49oqE8fSB6x1J4Jeyff/u9DqZoD9AYgtSFhuytBgWMmsXgyMiUo2wEO7kix67nksu1106/HGtKYqgnQauIwaDz6Wi0iN75BToCoBty0tLe9Tt4RuDHtw9ZjAN1dcZjdlht7WELh5KBwyYWzGqpaKPdLtqwWm61MDbO3qcbV0mtLGUVhVLH41HrKylMWZMqHqq/+1MBiSUTiVhSEhI6Uh/Pb5ApQBYfrZJhsMWzKJzZYcZG/3vEybFoLdFKHCksOkcknisqHCaCte3Wi1TT7LzYonkzB7arD+H142ZQ/o6DRHQwGIwV79gEkmclxQlbDGaxGJ0isV4B3m/WN1QoolpWLImRsj6ryd2dDcfnxJ6OjT0VmwPa7+qb9SDDVufSkLRFJSoSCafSF5M01RWqFGJXAcpDIosKCtaRwIGWXVOuWdf0rmnu3OfZ5/1FgsJTovmcBsWcuekp6xPitYst2QJqeeHdiKy8U0tFWJC2SU4pR7IzlEuykk+F36BkFWkobLacFm8iXUtJmUhK/DQ1n5aTNpaYeDK1aLsePB5+0Kh70Ak4SBRsvGgpoTE2L/Fj9roPAiiucXAdNekLAgHYam1vacsAoyVCMh4vpJWtFDVlvp2U9HZmWbe0DCR087a4zJkgi1+qNqDJZENxqYZMwmuMMNGjcWryUsK5wsL1ZGKnGA0TwFak42KT7aKttmdd5LSCpaae3D36slBjMDTaiuGaucP43S96HmNWDFQOVAFjN1mwc8wIV9zf8G98QTkLC2KVhm2hBlzORefXhHFN5kacmDhcPykgdnz0g+mHr+abezdHyDb1BEO3zMH25ff7wbitT33YudY9nqqYYlowH12fMXaLXbPfWdvpLgCnh050tujEXGby5W554UyHs39dR2f/2k7/7avuq3f84Ld1e7qGEsnePTt3ikQ7sYd56u49YLvsMKZLcHjMw2zOffewtarhCDYgtmWmF5vYZLWGMFyN73ud/Slf2dFsjfdtw3GwB+CQneWwzfB1/6bex89V62xZ2Wso+CIISJu6Az3iOhxRjiHiONurBfPjz38sSeWqmJIGi8Pqc0YbWtN/xOihpbU4dbqovDSXy5n9PK3wZZmQAUG5MB5A/dGUkKOUK8jJLxMUftiTKg26bAw3PlZbqU2txjMOEdANPVVph9CgcCoOOQuY0jYe1CVvywBsi5JXblPOYf8w0whzUxvktwN2GbIN3UlSn0sXUxiNR6eZG1MnoXQo9P3WpoDh92G3eHufWKNs/S+osL+LLy2VZmRmsIu7UExFWravFSL0FDBV6d4yWTFWx2BgdNIiNFpcVOzVFOlFtwT0PzPrwf91uF67/qu4MQQkfsiRwb3EJlwCQpdSqoFkrX3GJitFxA3KCfXhV5EDtIPFJBHz4PdRQQq651gP+PzXShrUY3yXoArGe03wczhb0XYKjSCPUnv7ZP2Pph+/XGDu857toSnthy32Y7W19gHdvE25jHra02deIJcy4F8NXLBUyvDvwC8F7MXRlBMRPK2Kbe8h0Ypp/CY6StDG4NMlSiYxgQfT+fleurCnfCCdyv0f0LRXyoeAa1RBTK0yigf2Dm7WmzdraIwZPNnLpuNKuKQUX1KCmxv+j5tJiTdTkkcSk0aSweJ9w5iEm/Rn4vmLq/PYnUP3BxnpBfMW1xiCpn2uFBcgqve7vv803TnZU/9KBWxD5dBq/uo1A6/GXPPHVyObf34xeHf6WFFemVRKprC/TK8loVSO9M0tDuBDm0P+vhAQ4XIQB9chq841eNuuBXPdNoUkY9GiDInC5mE/3Na83P2DWVOWuJl76xPFi7yUlLwXik9uuy+8GKS8/RtPCTIsYRnKT7guTdirylfMip9/Ubtanb9X/w5+2uc64KrYQHwO2GGxWOci9QIKQrKq4RZuZNIika7Imr9gy1vB9bVtXGaAPW6UPeky2+Nd54THtgI212pmgD2uyenhsaHZXJHMAHt8vHB6xlOpFKFtxIa/JbdigRlgj/uBPekrp8dLG4XN9QUzwB73jtPjTYlxtl2y8EY3ro8AYAbY44bZk06yPULOCQ9sIjbXNWaAPe6g02Of5b17BHfinSrAMv6lzPNRUiOzHZM0tPS/bc6ZGWCPO8metN3pMSiZAI35gBlgjzvv9Dhjs7EDBms91tTGraU7LTY1LK0dKOTBEr/QrVnwJbmwD1d+e+S5gCCOAGPR6ufaDzf+8m5KIEabh+q7/X0RKxqM1V45QJ72BXBscNQ62uZtihSoN33BsSG+zQLAF3ghOMC/Mlc6sqxB0oa53bXyx1/JxOwbfFDbRoLcmcCxIbXNQiCXzKzjj1g7Eyrzt+MTaeZso0g8cR+rzN/SzDwCmcDPB+d44ACgHs8nkGu3Zer8oT2iMt/MyyuC8WfKO7Myf8fPiFv6H3rhgfOTETXli4TS+JZFZwPmUNebfVkYYKpo3sR57pzxbz4i4inA2xfbA4APa8i3Zp8YXng5kcpUCi+SZvBbo/LCp6mS9XBD+6Xnff0KbTV9n+tRpuLK6XrZWY/R6Yryl1zn5dRLPfxCZdSfWJlW67+iImb0E1zCATP9GOWACQQfTTR+DWx6SbIcKk5BgtkXvpvcb3CFg0i1yo4GnVHwJV3BFAYEuSEnAdKOAvkZI808oAjCR++WVqxKhE6nh0aCDUO4r8KinKCFJQF1RGJDy78xqFwlyZCEfiIhO+FjtzBY+HpkZ247XjP6slleZwl6LS4n5bMijYlxQO5oyaTy6DocfobN//9ThCk4LTRhnSlBSHUQD1afJibDVKvMzNwEYYtrqrj6RVwE4uoz6ESCYPG4sdySQnkpMMhVnKxWlLwNMBPR/eUoLIq4ToKtSdn1DCbr5LO3IFEAX8vF1TmZua2+dDLKIN5P4rKZNAG5fkWsFHHuS6wRM4n4nJWTN7nrsaVGCfSvjEV7n3kMzdPAURULFpT+3/Jyz5x0ZIRIbupWmp6SdAYAqeNylEzzyr6XTEySkhxuyIyjv0d+OjKyrlMsSlKiYQCQOhiSlBqXyZ+Q8v0MUXg7me/FVHVslLEP8uF+llYf4TNRdVIa9kprU747qhOEq0IYbBwfKULnSO9iqal6Z8IBUxjgva3maRMtTLgs0YCrgBYOmFcrQtg0BwDPvMNcYTIdd4VbYLcrAo1NHynqihJH44qWiSwseKrATa3k7tOCpoRTtQrMHQitXi1Wi9BoqhesLjdeSUBGxXs53set+dcIQ65GNbc2TYiwcHCIxHQElOgQigwEsHRltRKF5vno12nTqAJsgnLfaCd2WjerxQh4uO+cI+iC3DUo4E2ATfBkaJViF6RNaf1sQSx3AT1KHfc7l1crYVVdhKYQHoRaD1tis2qwTsvgMloo3JcLHa/gzXwPVMIiQMTfF/1vINYcceaaZ74FFlpksXgJEiVJliJVmnQZMi2RJRvCUjly5cmHhFKgUJFiaBhYJXBK4REQkZCVoaCi7YeOgakcCxuEg4uHT0BIRExCSkZOQUlFTUNLR8/AyMTMwsrGzsHJpaJIg1Za5U27PbXaZhsccsbxZqz3pRV2+NkvNjVrrfd94yeHnfWbX/3umAumTLioUpWtqn2gxqRpd91y2x3P1PrIPfddUudH23zqY5+o98Ir63i4NWjSqNlRXn6+lJL0fh4C2j3XoUunbsv0uG5Ar6A+/V763rDPXHalOZ/72heu+o8hIaPecM2YNc55y9tGmrfRD4Xpkl4mC+dqYtqa3TgchBvaeeUc0iCew438r8hwcRCPLyUBAAA=) format('woff2');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(data:application/font-woff2;base64,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) format('woff2');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(data:application/font-woff2;base64,d09GMgABAAAAAB6IAAwAAAAAPlAAAB40AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx4cLgZgAIFUCuUUzy4LgzYAATYCJAOGaAQgBYNEB4QLG94wM6PBxgECGX6rKEoGo5z9lwncGCL1IV1YsAiHmNnVzmZEIAZzo65J48q15fjh/igmqjoAnkvj9zM9Lwc/MLg/QhoTy/P87w++fc5930yqCsUaOQkhMc6a6qw2iXXWhAqHpCjc4flt9oxclDZSBkiUgKCIKKmISpWFCqKIWVh1c623Mhffc3VzcdNFXtV2tbjq9aV66N97t+bWkgjmqdD4iUJOXgoQ2X1bYZI4JpZCeRY5p9ao1yr03/9P1+sbzcLxvTP+LnpX7nxStEkHOCDwWgZW2CCHpXbVhggqrFhfRg7S3+ssW3llHbCP0XdVwm0cqlWmDtf8930Lvr61J9le8GpRS/Kh4UAbtBTybsjZEJYpkQwBO+gNIFSX1EBdig64aHqePpY2jVn3dGdlRsFwxhTxums/82fxaklimqUCIiercApq3ld9ngJYCwbG7dyFDBXw5QkwJ0AGITyoBySHPFxURwMBhcnHmY6CD7yMkl7iBfSV6gBX/ZQ8hJZMaFjtwrfKq3L5DlEWOAwc2OEZ9v+UV7g4W70PgFcBeqRXAfuELCpgkO2Fuq19nq7QQ1mv53rABm3WQo2yl3qrX/SrfQHIMCQciUbGIBOQAuQ8Co3eig6UFp30IR0eqViyDRmChGCB7F9VWXvx+GvH1ir/91sFK7+v/PZo8dGZR6cfnXg0/2ji0dgj3MOzD249uCEfLqOfR8lHzOc8xa2jzR5+BW5T9weXTYBkCFJU9d4ZZwwGJDov7p7qas/CmHkcQNGTRkln5SIHI5acXSfYmLiWNNe5wRRu4JZ5CVHRcyfa3UlAUM13xwx4SYAD+tLHDgIj9krRbuhuGmmap9qcJ5bDw4XbQOWq4EgJyJb/SIeJMaM7N8muzONkZFNGpmSn7F2XKqKxGloBBY3cm4qdKleWBOmwL1OuxdPoXlanymv7w68lluPIBvjw45emQ0aJHh2xQjT3a06osgKiTXCh1r6eggvZpuEridhpnZj/TfE+kWBtErIUPY/QJGMWLiS9aL10BPF8GahkK+PTGDZqlwVXpcgPfmH7Td0nNB/sZodg1druKCCNMFZxLJ0mZsWPP2vNJWnRkXx0cqzgYGuVovRG4LG24Xts4FSoVD0RhL3n2J6VyWFLnYFGs7mD125BdQQa6iLYspOx9UNwY4bZQohglvpz8QIFLFOA+/2hvBeaUKVfW0s/n9wrA+LYfDKh+aR6+/V/2P4r7bufZju/QuDV8O/3JxX7X+uHV95l/+ARXYjb9YFuOwSK4dUJY4qiV4S8OzlkXnjcYXOtmc+Q/9tiqewI4yFlsDWxPWPzC4AVCq7lVowqB8vmFvniDejzSz54Sd05tm8MKtF3qid2koOoNjOhQKAKx9rI81tAILGI955Sd+3I1cF4BrT9/kKr5i8LwjWjLaQU4rsPaGpXENsvVq1CaZTdvyGyoh31EHENTw9VN0NzKo+DqvZom8Vn8kgisBx0yKRzUmh9iHS+lqXqak0t6R3i92Byh0CPmxYDPIbsA2pt+Nswi+S9sMcVpDcup7sHGhrAGZYIOUrIYBx4TxBFy1tyvXEoOUPI098Hq8kwY1vLyEjAlzkL7VWzIdz/AM0CL/HEi1ZbTwzo9zXBZelBoYWQsBQKxErUlFpM4IoJxtu9rZqhrLyiRsw6Xo+gTZEEJlaXI0arxGhCRNfQNk+xFdywMVLMRG7OHUmRsCYrFrDpvW+j5lF2QalAv0Sh5PcgMjI8pIS+e0RLeHV4wzgp+rj/zaDYDDaXXbXxDdkm5YR7xxzZU+Psqa0XB1EKPaQXra+ir0GJWjDCGKpMmt6LmokR2XW9Cqs5K28e9Tzd6llxG4YNDkVOH5lmdSpQeYwSe4W8WR6tlZsFE4pZsvYm3rjWKE6hbOxKmptRiwTVYnJtnxlhHcnof3DK+l45aD1cJ6hm92lie9e9tlCbFyLPPaPX/J5hHv3Mqz6yFBVKg8kfPWczS6ChiNLRUuXTExB+X0fxCQ/f+9qHgK9YdkAvs27giPlQMIUrvmzp8JOh+dGKI2jMGm0p0gI4pg1NBDxBu7L/Z+PkR2VgII2vroI8clp703JBdN8TTCnwoG0TaNy0qyc+1MMFNJeP1D1f42lLIqhB+qGLOb7A09in/cTAfWd2POVx9BNjCqsKrxciWuKtBdL4qG4fbGrYNpl6fUE4kStzN4rVCw9HF0gvPjvHVq5qdoQikgorocsnROe6GpwEqUq6xUocE5jy9InoYoWI2IdbCbFx9ekbUXmoPwk8JcUadYzCfmvSHzuf3KVOaVrHU9dTe8Xg7HAr0nmLHsMxw/HjbLpPh9uU9DTtWjHhY6uGDKw8DzEXkZ1ctWxHd5zuuZxf8U65rsvklR9h23+F8u9T11oil31oE8Rh3dpOcStVcHLaeQHwFN4Lb2aCGTR/dktyb5Ft8b9NuYWMSuVFuxYa3+ukQeROLLIlh4l8LvJp5Z+wTrSmouGjCQ6wBC1DLiNoV3iFza+wva6xw0zGK4crTB9EJlAf0Pb2p9QdaHQ1lK9ke+aQRgnJ3mvEKYO3xLPQZKiT4hp2lQyVGOXQa5eZ7i+8WYxlNfVPKb5r8UuzySqb5+DxMvUfE7QtJyXCAYwb2TqPKeC8W2SgdCrq7oKyBNOtFzDGCFreetvrF6avcUekbHzW4f7pLme4CCMtXf+KC+I5VWhrGx81UhgcS8SS7YszbdaIE2Ca/b0p0wPGq0VG5EOFckX46FhhUKDMEnCoFmSDTo873Ivk0j0sHnNc3bM0JsNAW6fH5SDH6PowfUOh1/n6Q3TW913G4kdcUsUyf2ncfLQ2jzdtOLRbotu8MIVrScXWRc8d3vWRHuq5aMfpaa+nR89EZ6T++chsAiwbWN7jZphHDXXP2XQ/juEeW0hVRg3loQfKLfjOMM/R8WY1wMI5atG/DxlMv+ZkuM7hhR91cUWECw7wG3B6BNmnGLVX3c6gV/YgqmeVfp7IjP7ZQ5bzZX1vaiFp990Gdhhx1O3zoguo7/iD6r0qkv3LdGOQ/13oWfo+UEt978cr5TGn5AToMxfwcnhGG4XFGb/ia4XEw9Ttlj7pKno+M829sqfc2lx5uyxVN8syChQsmSLe4UvNgurmKPiDDY4vOKAEnyWz3oJKQ7HXT0LxLmzT3xx6adVQcIcnqZ5l4YuGSlutR8TNCYJDEGj6uFmM+uAv83lOnB5QHVu9jVcE/ZWVRIc+EwD87rYHY4+qqA+6MdgeIqEHi+kmgHVK5Pqvqgcq3eYDb50N72yYGEfuOww6B/quib8JYxOnEDsPC50jHS0TnLn24zgHsnexTOUJUnc5T1Hi6yrzMC8aKQdl20zRQmWasddR4i3nyW0+jSXe5nPq919VBOkjRQqJM/Trd4Zefxwx3hQNCwP/jQJ4lUmbnm7UyuVGMiZr7kDH5Vlz70M6oYASPIYWUhn1xkxMukYErsjkbQS9Ixhoedy8tD55PZ2Xl5IqsotQhwyRtDh5AUkgzKWSlVsm/d8JCfkvKPC1d4/PBThYmRBZczzq6OxMG+PVPeKo5JgpmgKeGrhWXRp9fN6JKzYf3WyzVqInxh3hFuvmY2DTB5sFVW18opVtS/noHtrX5o+f+4PlmcCexfiiJlxTbGKJRRviqg12FeiSSptwjRhWsVUT2lUf2gVYmxdOT51eGF84M3VmAbw4UA53sOEgz6cLksPPLG6+UTmr/oCA7r65a1d0fsFPXBgoxJcJhbAVCTbpvCkU7/AvSwDCEg4FfnE6EUimUfnZFVZZJTPWHBNzlD7rphJUVjCE9Q2NBaVjixWajUMv2wGzrqu6UmqPY+pZqSmKZc/OFK2Qy8opY0gbRms96ubWPSVh5qMpb/GRQ8i4b4hR9ZExMtQRQHENJl6/fFGxS9EJda4bO7JyFJAErEGGOBwnLeATS5Nru/obsmuZyfnkIzmfYclf0qjPSOiT9tkzH4MRdk00m1oA7AoFhlZQ1+xMS3BUJMkm6q+cXW47PywtTqDnSg41Xu4kU4RUQhSJHEgGq/p/9SdWRPE7vgWiC6XMeF0lXamsoEtZJpOWNadnG5LE4uImhlQqCJqYu/yISp5Dv2Ewv8di/o+JWcF0v7ODiOuhUIpwhC4SeNYrY+DN9hwpisyz0Fk2aTrHUZEo21V77kwn6Wi5Ni/DnsjKTzjYsryVQIkjEKJI+CgK8Oh466s86d7bX/UD1di9lL3k1dQDuAn3kn4QoPa7DmdxTpOtEHim7/G8wJFlR9MiteiohshJGDO/jCUr/61V/7s/fPWELudwiTphrEqTxRDEnl3U4ujpKp0sLbGjRJaq+rJ7EP8vaiMBQ6E1ZVdvd3VVLJZaL1Y0Dve0W2SRYWX5uKaqea15smzvyPO/5xNyjNsdFNqAIrCldFQwCjxt9o5tPrOydGtl6ax6TUMNwN6QlpOkayouFy9zShvyVVyePHeFXYG7ERV1E1dx9PgP0dF++JZX2wDytn7qsKG49VRXROUlaQaRmpXvMJnyHVnUDKL0UkTlqc7W4sMG/aQNnFma1RoO2qyGQ3Pacp9lH3VsaUl+fmlpvnyfHPxEH/2++/sJj4GF5YUB4L00AN91t+cuDFoGmx6iRVEUpaXMmG8rMyVrkhM/b6s5RDY4hvg625TBMGmzGaYmDba2+cbwUnBgaRlC+aOgZWib/zbw0+LTuQxeLD1wttTbnT2tNccJHDQiOOYB+PRXBhNahug/x725SRtaBH7qetQ9tAwBxo7lZWh2/8zggdk5aPmtG99f+x6chiJOnoKWoYjTZyAQ4z1jzJuxWvOmZ4wWy4wxZ9pqzZ2ZNlqUrxY6TebCcpW60JHDH2k1UB2ML6xO0tj/h5YDVdVsdlHqfe0KDrdCNZ80A2q9vqE+xsLIbpDs4lHGz1OaY65axS0BzIz5xvphEkJZ81YUckWZjoygycBml538Ow77O9kO/vBupEry3QSLzM+iY04jwlDRv/MD1LFJ8tSCkfKqGv2IeBZc2HI3CpGNQL/gB/KDVLFJWckcTn41OwswlwYuMiDGxQHw/dJMchKfw0nmJ89A0zlZrt4UpbKTJ+3MmQYfLP29dNe+hYuvbVnYAnipy4tL7zvfrX73/VNL5wpXW1Yv1a8WrYLfRu+23r32qPB73e3hj5s/vvYg/0cj2Lv09NOfoJ9CpWt90b3R4NkQafhxJ/4EwT0ECOOPDQ7LhocIBeDaxaGrs+cDwtDKx2CQAN6cmX8SNvc4bH6vClzBzpTNgH/frHtc2APCHTyXUyhM1JHrsiASlNWrIycKnCJep2aSK0qLixNJeDxROu1pPACEnpwgPIlOaxrNpuYUXSiuJfVmQt9BXs96RRJ6tsI7VC1O54Fwh8jVJlSUDDsCLYvOVHK8RCDQhyKnOhcD80ecNkWbUOTSCi4QbyDu8YC+g7Lrhz0jrF7qE9sVN4fn9SzelWgdVIGiXSh2abUiF189pbyVL2pVLRAIZ4j4SQdQHzIdhg5zR7mbrbX2qm0dY+6VBC8TyGA08PESZZyWljRzy3iNv+VY++sExm/8rF4tpVKqkWZI6EHVz/x5XHWbU3SczDpApR5gkaHvILddejwLFFu7MdhuIqF7eLk6FZsEkUBReDjqE1arwcwfi4XVhjZAYOexn3+59mLHj37z8Y/BPweCn779DvoOML+hN7VWiI6TmYM02iCT/P6dQiRItEOJZSQXME69a2EngmdxNXVAe1Wl79Li4sHPPp3CdJdWI+3sEioUimhpNBmd3bUcZadAzOeniqm0FJGAz4MJ3Ly0CGe04aFL0JF7dBALyipkE7hqJEKGMmo7b/dPJfuaIpYhqBYLXMpJIqENAW9LIhI5bXD4KJEIvFf19PizZN5LoQdEgszgnk8lNUXDOEZ4FonEBoQEtS5lwdmpbAo9s5goLmmw+qoPciYj4S8DQjDGhzJ4gsCPyswoxgtAzfYxrdlqsD4QjAr6of6K0YpHobUwUEgkQRm7dAQmL5/FKE1TgIdmB6xDDSOLN4kffz/x5wDjKWkPcUlbYii5tJcIZY6aR8/mDMuGQb99Qj9x4Rzs0uYr9nH9+IWLIZcDQD0x8Nv48+3h34Rd7jC1m8D94acjp/p/DPlh5Hg/MEy73Y0K98vy8dNEqq05WskwBvlGRJCPzDcPHk8X690NdBEL7pvnIw2OuITEDEu01pxTKKH0oFnh6M/cwA8d0EkIFId+hmbAaRZdigj2ke6QRRcZ3PV0cfw8WVDEG5x6uFF33foBkVtckolEu7dGbGX6prRvKbfOZ0a6jWxI8UtpBY8TR7cxBOLTIqavjW17cAGYuleaDngrGov1PnKe3OnXMuh0KvGboQZ1UNd2ACuJY/MSEvStjQNSV+9qsPJnvFno7qiWb+WzBRyLI05c09zqUXgguC0We5ISfGLmbPV+DwxCCQdPOER1SuraZHz8qTX6FW/gcGH16LPwCp32fkr+VDUx+ZT8KBY7jkSMP16+fQjge7Sw+hD4/0rVnV6o907Vlf8PgerC0YBrfcxe5hXgvZMMTUDHA+3PUuCLzo5jyq1EcVF9sYf6mIeAyaIGnvj6FzlaqUui0TJrRAmpJam09MZa8Tso1DsxMSQ/iCsdRyAmEMhxJOJYzvyyg99uHzLopm02nXnIaLUKUNZg1cV3pYn6TUbRQFe6Xg9EzWhaotau58oKmawigcAgvke8rEr9prSdgBa9l8ncGx0aW7xzk7RCmw1CJHi5FE/K7CC48ly4chklA4+Xx3dHX0AiL0avLNBRr1zIkw5qFlbzP6oBuy94Q92XOkHynQImMz+ZyyyglpysSfEF3OT4/HqV4nq1ViKBj07e6axgmlyBSfNOl3zijNyNqNkG27xp42YYGP+5bnsdCLFU5pnNFXlKZUWBKclMoMvjQ2KX4IglPP4dBHweD4YKcxf2ru5dCAv3LdRO1W7z4LXrC4WMvMa0qugND9aFR3bEGoQyiTSFGKVeBUFdSqFCqEogIRgvPdK2JZG0TIlalczuIcE3btq8hbcVzYJhUBtXN8G4TeDf848L6x5Xg1oiCVL0a0jsYO364yx7Vg40jnC4nJEtwXJ7AjUvQeR8voRyJ3gUJWOx2fIE9kROV0Dixo0JAWKXlQC2mSxLea4VECKkZZuIHA4QEhiMOLmJVB+1kUSTM7bFjCPgA1hMIwIxEQP6YzQLB5XKxAuHKMDQW6F5HUuz30cY1o7lurjXBWP3T3+OneqSdWQCi4mTGQnN/alzDh0mJexd7Mh5J6tomEuUr/f+0qQR2UhuS+KcdIj532awB5eZHeOOLkY9IzDM3P6w8+HBlb6jdT8m1l4oXoroO8IVz4jAyd1Tw1scVrijzbYBQ8futmnR+w3kSMdzbRPLfOD80pxWf9Bm1R9iUadPSPJocoiPGl9aOpmsNk/eu290X68c3C4ZHOwfKHf0D3Z3O8tV7gyM45hDQ2Cv/CCxSTxnu0tOGepKus3iWCA1iydhRRvMKWk2wuQpH/R9zrTLqko97IOaYCb2TwBUUfGW6kSNvQdaPtZZpqpmsQt49/VrONwa1fy6GVAMgpL2BK20isJVUoltKLRmu89GTHcGLFXGYTCyCggplsaCdcYDXCUi/GZQMByo4RIOEfHno8GqAMRWHINB8z8eBFK2rJceLE6NJ2GTji0GqJpL9Zwc0tHs6ewjejLb0T/fSqGIpcW/mTmZyVE3SioE3FbFQvRGPjOOzI9zvbzgCMVpwGcCqgaci1tVlaWq9dFYX/um4k3Ne2q0s563BUQKkueN1oyxrnSFvEckc2k0ko5WgYwzmnPPhuB/5M49cD8Hxt/Y4MUXCwRCEZkiEPHKYgrw/1ZTrvo/9t61vZ8ORjYBIfdSZdWOPjFfQhabZKpHqGYSUNQioehMk4nQ0XPT0WO/9mPk9Pqdn4ykCsR8gIorFdZI+C6lku+qEQttiVoj9Ae09gxxFI5oIxCJfjN4QZzQvEJPZ37o/GG/Z98JiSSz0z3/gNE4a7MZpw8a87hWjFZ0os8THVfonGgz5hpHKTPgVvowu5i1hJT5GlN+05wiHFZXgktSTFSOxinBi8VF+KT5W1nlQiRYJBLmsp9dEEj4Av6ziZoiHvPxJFQwMzshr5vIzIXrwMo+UQqdLkyJjxeSEeVJDzweGHA8KBAKuD9kIIA9rgpa3xKqWx9t0gXv/CpTpgUVs6P4UcC4OjcaNO74k1MnnOuqQeHS2IypYEzTwroFq1bFR4LWLagsNRQEttbWB58IMBhBLE4RkYevMbjYATjbnmmHDED+dBjYBDx6Q0o0/Cr3mFpOu5Dlmfpk363b/JLvy0I6Tnc0P59vh0FKoFKkscVHDNd9A7b6Xr/3mC0DTwVhnyEtSvDfc/Df7U0nLbmV7nduvaOUf/SxI3dONFUGv743en4UgPoMcMCWUrOqM2/C8O4j8gp3m3YDtTk55u+HU2zURr5f7AgE1vFveYd/xwzf7sKU2/5gsXy+wcA6/i2lU+z0LIHPtyGwjn9r/jnFPr9SqVKxEEu7ID8eEFjHv+U7/h2Xpth9xLL4fF8E1qm3aDgWe0zlFGLf9Ai2Hvg+AEhgHf+W0/w7Bvl2h6bc9okqkap3gScIrJtxyyvySijPfXmurSj+XrCbOp5b/46x/6jKZWH3qwpx7E1OIQUwqEcAIOfOC4lT7HapOhzYt706p8e/5bUpdhOsiV/nrM+u21fvrDtoi8f+6HzNFK88W3u9tBJcUoN3MvnhofuLEgDkKUBPSH7LHOz827Omoc12Njcl6duieWAl+2wG+vn4wOcgrosbO2Rf4gL5ZXzAQb4xwWQ1BBg9/5GP7q00fwBymuEm9IPRBdXV+gRuvheSwDcmkelzAw5CWOQD9K1rBpt/t2RwwRs6vk/UNWDTLipjpAIXsWsPEAVkx+B6vBcdG6HzmXGja00QedI8Wofvjajvi+At8wDs+W+LBhe8oVrXPh3//2FDL0iKdA2oOZ2ALnfd+9xPnOY/R3ljLHIDLPFmvI/pyd3E+c3Xw+MngG/fPXYH4IedzDdX3luZMq8tKm58uBtGCPxOo7bmwM6of0Ig4rzM/T7Phb682/Oy3LwKO1hFQHcgjGKIARflPmzg0b7dPg2S3hqJQQirAD1hsLnJv8OIaRDeRNE1w3UWtYNUbcVtMFj7MWs964E9PSNaMdg9T9AIyQ0TtrCk9Wubu3OI/wvVe0IiRI0MMl+ODiaeKqwXKnNfH3tAHnPRVqhWeAKY4WHWCtcsIb0qsV/wW2BC+zYqHeJTFVpWNQy0c6hs6E3wsR6oE8m/R8DU4NYMCIyNCd3yRadEp5MSM7+uHXTu8r8gKdpWGiiiZ57JJMjsEdh/euxW8RsFPJvBqw1zLY8h8owxkTjYIG4LGO55Wg/XvaKaIiDnM0qrkkrB4+Q/1oGYfCq0RMS+i0z86g4wmdHzfu/VqcVJO3TqbIoX8O9V0t4ACx4tbP7+EZC3aJNpYyvsYGisGc1QNOYnRLrGG7wJE+GAucEIHj3/2fBDv+LZBa7Q2VZC0qBuyCQA0F1m/0bF7AS9UQsRe4PYYF5SRDHeW81n7QDrAldItWC01gbPAQDQXeA/jaSQLhioZQtYElCTzj/ewC8TSD5HNKaIejQm2YoS2oiKFKFifUFYXijs37CRI+K+aU3gP2ACRrXwItD7xfvADfC97dar4c2NOzhvwMOAwR2wWjEPbosfAN52iSxzs9ECcd/n5pZ5YKpY5imEbpkXf5nEu8cxycZfHHhcTV65QrUE5P7VLKqUqBBfNRKqpIzE2SHWvf5ZRDJkc4ZFFUqUx4hS0b9MIToSSh6MTkYiP09pVESyJEKuITmTS1sB1sGtMOUHaKOs1NqItUg0lHsMSdUMXiQADqRKiL1PLYVjKWpJbY2DrMGxeBhWJcdYrYJHuoWTAzkaK+YMsXKF10ijuIjpiuXusp/zYzTH/R5I3TyAx1++dPPl99sEC22w0f9hm22x1TYBAgUJFiJUmHAwEeAQkFDQIkWJFgMDKxYOHgERCRkFFU0cOgameCxsCRJxJOFKxpMiFZ+AkIiYRJp0UhlkMmXJJqegpKKmoaWjZ2BkYpYjV578eIJp3Xos2eMnvUYNOeCYmXiBQV/ostNTz4zEG/S77oEnDjruhedemvKaN922oIDFdoXeVuSOt7zvHe96z8+KfewDHzrB6rExd33iUza/+t0AuxKlHMqUO8ypUoUq1WrVqFPvFw2aNGrWqsV5k9q16eDymz9cdM9Jp+IDPnPf5047Y9E5N7zurJv6QJZddim+YNif8fPMvDMjw51/m0/tsyUUSgrF9wrGpjJMWirf8//1wjeTRqMyAAAAAA==) format('woff2');
}

/* ===================================
    CSS Variables - 占位变量
   =================================== */
:root {
  /* --------------------------------------------------------
     中性默认色（占位）
     灰度系主色 + 中性背景/文字，仅作占位，
     项目启动后替换为正式品牌色。
     -------------------------------------------------------- */

  /* 主色调 */
  --color-primary: #4b5563;
  --color-primary-hover: #374151;
  --color-primary-light: #e5e7eb;
  --color-secondary: #6b7280;
  --color-secondary-hover: #4b5563;

  /* 文字颜色 */
  --color-text-heading: #111827;
  --color-text-body: #1a1a1a;
  --color-text-secondary: #6b7280;
  --color-text-muted: #9ca3af;

  /* 边框与分割 */
  --color-border: #e5e7eb;
  --color-border-light: #f3f4f6;

  /* 背景色 */
  --color-bg-primary: #ffffff;
  --color-bg-secondary: #f9fafb;
  --color-bg-tertiary: #f3f4f6;
  --color-bg-card: #ffffff;

  /* 链接与交互 */
  --color-link: #4b5563;
  --color-link-hover: #374151;

  /* 覆盖层 */
  --color-overlay-dark: rgba(17, 24, 39, 0.75);

  /* 标签/徽章背景 */
  --color-tag-bg: #f3f4f6;
  --color-tag-bg-hover: #e5e7eb;

  /* 社交媒体颜色（平台官方品牌色，非项目主色，按需替换） */
  --color-social-facebook: #1877F2;
  --color-social-twitter: #1DA1F2;
  --color-social-linkedin: #0A66C2;
  --color-social-whatsapp: #25D366;
  --color-social-pinterest: #BD081C;
  --color-social-email: #4b5563;

  /* 通用白（彩色背景上的对比文字） */
  --color-white: #ffffff;

  /* 浅遮罩（Mobile 导航，区别于 Modal 的深遮罩） */
  --color-overlay-light: rgba(0, 0, 0, 0.4);

  /* 阴影色 */
  --color-shadow-sm: rgba(0, 0, 0, 0.05);
  --color-shadow-md: rgba(0, 0, 0, 0.1);
  --color-modal-shadow: rgba(17, 24, 39, 0.5);

  /* Modal 专属 */
  --color-modal-close-bg: rgba(255, 255, 255, 0.85);
  --color-modal-panel-from: #111827;
  --color-modal-panel-to: #1f2937;
  --color-modal-text-muted: rgba(255, 255, 255, 0.82);
  --color-modal-text-soft: rgba(255, 255, 255, 0.92);
  --color-modal-accent: #fbbf24;

  /* MASA reference tokens. Values mirror the current homepage styling. */
  --masa-color-primary: #0d7c72;
  --masa-color-primary-hover: #075b53;
  --masa-color-accent: #fbd21e;
  --masa-color-accent-hover: #e6b900;
  --masa-color-dark: #071f20;
  --masa-color-navy: #03052c;
  --masa-color-surface: #ffffff;
  --masa-color-surface-soft: #F4F6F7;
  --masa-color-text: #071f20;
  --masa-color-text-muted: #525252;
  --masa-color-section-intro: #111111;
  --masa-color-line: rgba(0, 0, 0, 0.12);
  --masa-color-on-dark: #ffffff;
  --masa-font-display: "Poppins", sans-serif;
  --masa-font-body: "Poppins", sans-serif;
  --masa-font-utility: "Poppins", sans-serif;
  --masa-font-weight-heading: 600;
  --masa-font-size-h1: clamp(38px, calc(19px + 2.3vw), 62px);
  --masa-font-size-h2: clamp(32px, 3vw, 46px);
  --masa-font-size-h3: clamp(20px, 1.5vw, 24px);
  --masa-font-size-h4: 20px;
  --masa-font-size-h5: 18px;
  --masa-font-size-h6: 16px;
  --masa-line-h1: .95;
  --masa-line-h2: 1.1;
  --masa-line-h3: 1.1;
  --masa-line-h4: 1.2;
  --masa-line-h5: 1.2;
  --masa-line-h6: 1.3;
  --masa-letter-h1: -.03em;
  --masa-letter-h2: -.04em;
  --masa-letter-h3: -.025em;
  --masa-font-size-body: 16px;
  --masa-font-size-caption: 12px;
  --masa-font-size-card-title: 27px;
  --masa-font-size-section-title: clamp(38px, 3.5vw, 52px);
  --masa-font-size-section-intro: clamp(18px, 1.8vw, 23px);
  --masa-font-size-hero-title: clamp(62px, 8vw, 115px);
  --masa-font-size-supporting-copy: 16px;
  --masa-font-weight-supporting-copy: 400;
  --masa-font-weight-section-intro: 500;
  --masa-line-body: 1.45;
  --masa-line-section-intro: 1.3;
  --masa-line-supporting-copy: 1.45;
  --masa-line-heading: .98;
  --masa-letter-heading: -.035em;
  --masa-space-gutter: 32px;
  --masa-space-gutter-tablet: 24px;
  --masa-space-gutter-mobile: 20px;
  --masa-space-grid: 16px;
  --masa-space-section: clamp(88px, 9vw, 140px);
  --masa-space-heading: clamp(24px, 5vw, 78px);
  --masa-space-heading-tight: clamp(16px, 2vw, 28px);
}

/* ===================================
    Layout - 布局样式（通用）
   =================================== */
.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

/* Section - 通用区块容器
   页面由多个 section 垂直堆叠而成，统一控制上下间距。
   用法：<section class="section"><div class="container">...</div></section>
   变体：
   - .section--sm / .section--lg：紧凑 / 宽松间距
   - .section--gray / .section--dark：浅灰 / 深色背景，用于交替分块
   - .section--center：内容水平居中（标题组常用）
*/
.section {
  padding: 4rem 0;
}
.section--sm { padding: 2.5rem 0; }
.section--lg { padding: 6rem 0; }

.section--gray { background: var(--color-bg-secondary); }
.section--dark { background: var(--color-text-heading); color: var(--color-white); }

.section--center .container {
  text-align: center;
}

/* 响应式：移动端收紧间距 */
@media (max-width: 768px) {
  .section { padding: 2.5rem 0; }
  .section--sm { padding: 1.5rem 0; }
  .section--lg { padding: 4rem 0; }
}

/* ===================================
    Animations - 滚动显示动画（通用）
   =================================== */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

.animate-in {
  opacity: 0;
  transform: translateY(20px);
  animation: fade-up 0.6s ease forwards;
}

.animate-right {
  opacity: 0;
  transform: translateX(20px);
  animation: fade-left 0.6s ease forwards;
}

.animate-scale {
  opacity: 0;
  transform: scale(0.95);
  animation: scale-in 0.6s ease forwards;
}

.animate-delay-1 { animation-delay: 0.1s; }
.animate-delay-2 { animation-delay: 0.2s; }
.animate-delay-3 { animation-delay: 0.3s; }
.animate-delay-4 { animation-delay: 0.4s; }
.animate-delay-5 { animation-delay: 0.5s; }

@keyframes fade-up {
  to { opacity: 1; transform: translateY(0); }
}

@keyframes fade-left {
  to { opacity: 1; transform: translateX(0); }
}

@keyframes scale-in {
  to { opacity: 1; transform: scale(1); }
}

/* ===================================
    Buttons - 按钮样式（通用）
   =================================== */
.btn-primary {
  background: var(--color-primary, #4b5563);
  color: var(--color-white);
   padding: 1.25rem 16px;
  display: inline-block;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  text-transform: uppercase;
  font-size: 14px;
  letter-spacing: 0.05em;
  font-weight: 600;
}

.btn-primary:hover {
  background: var(--color-primary-hover, #374151);
  transform: translateY(-2px);
}

.btn-outline {
  background: var(--color-primary, #4b5563);
  color: var(--color-white);
  border: 1px solid var(--color-primary, #4b5563);
   padding: 1.25rem 16px;
  display: inline-block;
  transition: all 0.3s ease;
  text-transform: uppercase;
  font-size: 14px;
  letter-spacing: 0.05em;
  font-weight: 600;
}

.btn-outline:hover {
  background: var(--color-secondary);
  border-color: var(--color-secondary);
  color: var(--color-white);
  transform: translateY(-2px);
}

/* ===================================
    Card - 卡片样式（通用）
   =================================== */
.card {
  background-color: var(--color-bg-primary);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 4px 6px -1px var(--color-shadow-sm);
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

a:hover .card {
  transform: translateY(-5px);
  border-color: var(--color-border);
  box-shadow: 0 10px 15px -3px var(--color-shadow-md);
}

/* ===================================
    Breadcrumb Styles 面包屑组件（通用）
   =================================== */
.wxkn-breadcrumb-wrapper {
  padding: 0.75rem 0;
  background-color: var(--color-bg-primary);
  border-bottom: 1px solid var(--color-border);
}

.wxkn-breadcrumb-wrapper--has-container {
  padding: 0.75rem 0;
}

.wxkn-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  margin-left: 1rem;
}

.wxkn-breadcrumb-wrapper--has-container .wxkn-breadcrumb {
  margin-left: 0;
}

.wxkn-breadcrumb a {
  color: var(--color-text-secondary);
  text-decoration: none;
  transition: color 0.3s ease;
  display: inline-flex;
  align-items: center;
}

.wxkn-breadcrumb a:hover {
  color: var(--color-primary, #4b5563);
}

.wxkn-breadcrumb a:focus-visible {
  outline: 2px solid var(--color-primary, #4b5563);
  outline-offset: 2px;
}

.wxkn-breadcrumb-separator {
  color: var(--color-text-muted);
  margin: 0 0.75rem;
  user-select: none;
}

.wxkn-breadcrumb-current {
  color: var(--color-text-heading);
  font-weight: 600;
}

.wxkn-breadcrumb--light .wxkn-breadcrumb a {
  color: var(--color-text-secondary);
}

.wxkn-breadcrumb--light .wxkn-breadcrumb a:hover {
  color: var(--color-primary, #4b5563);
}

.wxkn-breadcrumb--light .wxkn-breadcrumb-separator {
  color: var(--color-text-muted);
}

.wxkn-breadcrumb--light .wxkn-breadcrumb-current {
  color: var(--color-text-heading);
}

.wxkn-breadcrumb--compact {
  padding: 0.5rem 0;
  margin-bottom: 0.75rem;
  border-bottom: none;
}

.wxkn-breadcrumb--compact .wxkn-breadcrumb {
  font-size: 13px;
}

.wxkn-breadcrumb--compact .wxkn-breadcrumb-separator {
  margin: 0 0.5rem;
}

.wxkn-breadcrumb--float {
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  z-index: 20;
  padding: 0;
  background: none;
  border: none;
}

.wxkn-breadcrumb--float .wxkn-breadcrumb {
  font-size: 14px;
  letter-spacing: 0.05em;
  margin-left: 0;
}

.wxkn-breadcrumb--float .wxkn-breadcrumb a {
  color: var(--color-text-secondary);
}

.wxkn-breadcrumb--float .wxkn-breadcrumb a:hover {
  color: var(--color-primary, #4b5563);
}

.wxkn-breadcrumb--float .wxkn-breadcrumb-separator {
  color: var(--color-text-muted);
  margin: 0 8px;
}

.wxkn-breadcrumb--float .wxkn-breadcrumb-current {
  color: var(--color-text-heading);
}

@media (max-width: 767px) {
  .wxkn-breadcrumb-wrapper {
    padding: 0.5rem 0;
  }

  .wxkn-breadcrumb {
    font-size: 13px;
    margin-left: 0;
  }

  .wxkn-breadcrumb-separator {
    margin: 0 0.5rem;
  }

  .wxkn-breadcrumb--float {
    bottom: 12px;
  }

  .wxkn-breadcrumb--float .wxkn-breadcrumb {
    font-size: 13px;
  }

  .wxkn-breadcrumb--float .wxkn-breadcrumb-separator {
    margin: 0 6px;
  }
}

/* ===================================
    Prose - 内容排版样式（通用）
   =================================== */
.prose {
  color: var(--color-text-body);
  line-height: 1.8;
}

.prose h2, .prose h3, .prose h4 {
  color: var(--color-text-heading);
  font-weight: 700;
  margin-top: 2.5rem;
  margin-bottom: 1.25rem;
}

.prose p {
  margin-bottom: 1.5rem;
}

.prose ul, .prose ol {
  margin-bottom: 1.5rem;
  padding-left: 1.5rem;
}

.prose li {
  margin-bottom: 0.5rem;
}

.prose blockquote {
  border-left: 4px solid var(--color-secondary);
  padding-left: 1.5rem;
  font-style: italic;
  color: var(--color-text-heading);
  margin: 2rem 0;
}

.prose img {
  margin: 2.5rem 0;
}

.prose a {
  color: var(--color-link, #4b5563);
  text-decoration: underline;
  text-underline-offset: 4px;
  transition: color 0.3s ease;
}

.prose a:hover {
  color: var(--color-link-hover, #374151);
}

/* ===================================
    Single Product Page - 产品详情页
   =================================== */
.single-product-page {

}

.single-product-page .text-body p {
  margin-bottom: 1.5rem;
  color: var(--color-text-secondary);
}

.single-product-page .text-body img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

.single-product-page .text-body h2,
.single-product-page .text-body h3,
.single-product-page .text-body h4 {
  color: var(--color-text-heading);
  margin-top: 2.5rem;
  margin-bottom: 1.25rem;
  font-weight: 600;
  line-height: 1.4;
}

.single-product-page .text-body h2 { font-size: 1.75rem; }
.single-product-page .text-body h3 { font-size: 1.5rem; }
.single-product-page .text-body h4 { font-size: 1.25rem; }

.single-product-page .text-body ul,
.single-product-page .text-body ol {
  margin-bottom: 1.5rem;
  padding-left: 1.5rem;
  color: var(--color-text-secondary);
}

.single-product-page .text-body ul { list-style-type: disc; }
.single-product-page .text-body ol { list-style-type: decimal; }
.single-product-page .text-body li { margin-bottom: 0.5rem; }

.single-product-page .product-card-bento {
  background: var(--color-bg-card);
  border: 1px solid var(--color-border);
  border-radius: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}

.single-product-page .product-card-title {
  color: var(--color-text-heading);
  transition: color 0.3s ease;
  font-weight: 600;
  font-size: 16px;
  line-height: 24px;
  text-align: left;
}

.single-product-page .card-overlay {
  position: absolute;
  inset: 0;
  background: var(--color-overlay-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.single-product-page .product-card-bento:hover .card-overlay {
  opacity: 1;
}

.single-product-page .card-overlay-arrow {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--color-secondary);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-white);
  transform: translate(0, 12px);
  opacity: 0;
  transition: all 0.35s ease;
}

.single-product-page .product-card-bento:hover .card-overlay-arrow {
  transform: translate(0, 0);
  opacity: 1;
}

.single-product-page .form-card-hover {
  position: relative;
  overflow: hidden;
}

.single-product-page .form-card-hover::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 4px;
  background: var(--color-secondary);
  transition: width 0.5s ease;
}

.single-product-page .form-card-hover:hover::before {
  width: 100%;
}

.single-product-page .section-product-matrix {
  background: transparent;
}

/* ===================================
    Single Post Page - 博客详情页
   =================================== */
.single-post-page {

}

.single-post-page .single-post-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
}

@media (min-width: 992px) {
  .single-post-page .single-post-grid {
    grid-template-columns: 2fr 1fr;
  }
}

.single-post-page .single-post-main {
  padding-top: 100px;
  background-color: var(--color-bg-secondary);
}

.single-post-page .single-post-section {
  padding-top: 2rem;
}

.single-post-page .post-content .post-featured-image {
  margin-bottom: 2rem;
}

.single-post-page .post-content .post-featured-image img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}

.single-post-page .post-content .post-meta {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2rem;
}

.single-post-page .post-content .post-cat-label {
  color: var(--color-primary, #4b5563);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.single-post-page .post-content .post-date-label {
  color: var(--color-text-muted);
  font-size: 13px;
}

.single-post-page .post-content .post-title {
  color: var(--color-text-heading);
  margin-bottom: 2rem;
  font-size: 32px;
  line-height: 1.3;
  font-weight: 700;
}

.single-post-page .post-content .post-body {
  color: var(--color-text-body);
  line-height: 1.8;
  font-size: 16px;
}

/* 正文基础排版（the_content 输出裸标签，需主题提供样式）*/
.single-post-page .post-content .post-body p {
  margin: 0 0 1.5rem;
}

.single-post-page .post-content .post-body h2,
.single-post-page .post-content .post-body h3,
.single-post-page .post-content .post-body h4 {
  color: var(--color-text-heading);
  margin: 2.75rem 0 1.25rem;
  font-weight: 700;
  line-height: 1.35;
}

.single-post-page .post-content .post-body h2 { font-size: 1.75rem; }
.single-post-page .post-content .post-body h3 { font-size: 1.375rem; }
.single-post-page .post-content .post-body h4 { font-size: 1.125rem; }

.single-post-page .post-content .post-body ul,
.single-post-page .post-content .post-body ol {
  margin: 0 0 1.5rem;
  padding-left: 1.5rem;
}

.single-post-page .post-content .post-body ul { list-style-type: disc; }
.single-post-page .post-content .post-body ol { list-style-type: decimal; }
.single-post-page .post-content .post-body li { margin-bottom: 0.5rem; }

.single-post-page .post-content .post-body img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin: 0 0 1.5rem;
}

.single-post-page .post-content .post-body a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.2s ease;
}

.single-post-page .post-content .post-body a:hover {
  color: var(--color-text-heading);
}

.single-post-page .post-content .post-body blockquote {
  margin: 0 0 1.5rem;
  padding: 1rem 1.5rem;
  border-left: 4px solid var(--color-primary);
  background: var(--color-bg-tertiary);
  border-radius: 0 8px 8px 0;
  color: var(--color-text-secondary);
  font-style: italic;
}

.single-post-page .post-content .post-body blockquote p:last-child {
  margin-bottom: 0;
}

.single-post-page .post-content .post-tags {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--color-border);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.single-post-page .post-content .post-tags .tags-label {
  color: var(--color-text-heading);
  font-size: 14px;
  font-weight: 600;
  margin-right: 0.5rem;
}

.single-post-page .post-content .post-tags a {
  color: var(--color-primary, #4b5563);
  background: var(--color-tag-bg);
  font-size: 13px;
  padding: 0.3rem 0.8rem;
  border-radius: 4px;
  text-decoration: none;
  transition: background 0.2s;
}

.single-post-page .post-content .post-tags a:hover {
  background: var(--color-tag-bg-hover);
}

.single-post-page .post-content .post-share {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  margin-bottom: 2rem;
  border-top: 1px dashed var(--color-border);
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.single-post-page .post-content .post-share .share-label {
  color: var(--color-text-heading);
  font-size: 14px;
  font-weight: 600;
}

.single-post-page .post-content .post-share a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: var(--color-bg-tertiary);
  color: var(--color-text-secondary);
  text-decoration: none;
  transition: all 0.2s ease;
}

.single-post-page .post-content .post-share a:hover {
  transform: translateY(-2px);
}

.single-post-page .post-content .post-share a svg {
  width: 18px;
  height: 18px;
}

.single-post-page .post-content .post-share a.share-facebook:hover {
  background-color: var(--color-social-facebook);
  color: var(--color-white);
}

.single-post-page .post-content .post-share a.share-twitter:hover {
  background-color: var(--color-social-twitter);
  color: var(--color-white);
}

.single-post-page .post-content .post-share a.share-linkedin:hover {
  background-color: var(--color-social-linkedin);
  color: var(--color-white);
}

.single-post-page .post-content .post-share a.share-whatsapp:hover {
  background-color: var(--color-social-whatsapp);
  color: var(--color-white);
}

.single-post-page .post-content .post-share a.share-pinterest:hover {
  background-color: var(--color-social-pinterest);
  color: var(--color-white);
}

.single-post-page .post-content .post-share a.share-email:hover {
  background-color: var(--color-social-email);
  color: var(--color-white);
}

.single-post-page .post-content .post-share a.share-copy:hover {
  background-color: var(--color-text-heading);
  color: var(--color-white);
}

/* Meta: author link next to date */
.single-post-page .post-content .post-meta-separator {
  color: var(--color-text-muted);
  font-size: 13px;
}

.single-post-page .post-content .post-author-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-text-heading);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s ease;
}

.single-post-page .post-content .post-author-link:hover {
  color: var(--color-primary);
}

.single-post-page .post-content .post-author-link .post-author-avatar-sm {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid var(--color-border);
}

/* Author Card (end of article) */
.single-post-page .post-content .post-author-card {
  margin-top: 2rem;
  padding: 2rem;
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  background: var(--color-bg-tertiary);
  border: 1px solid var(--color-border);
  border-radius: 12px;
}

@media (min-width: 600px) {
  .single-post-page .post-content .post-author-card {
    gap: 1.75rem;
    padding: 2.25rem;
  }
}

.single-post-page .post-content .post-author-card-avatar {
  flex-shrink: 0;
  display: block;
}

.single-post-page .post-content .post-author-card-avatar .author-avatar-img {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid var(--color-bg-card);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

@media (min-width: 600px) {
  .single-post-page .post-content .post-author-card-avatar .author-avatar-img {
    width: 88px;
    height: 88px;
  }
}

.single-post-page .post-content .post-author-card-body {
  display: flex;
  flex-direction: column;
}

.single-post-page .post-content .post-author-card-label {
  color: var(--color-text-muted);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.25rem;
}

.single-post-page .post-content .post-author-card-name {
  color: var(--color-text-heading);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
  transition: color 0.2s ease;
}

.single-post-page .post-content .post-author-card-name:hover {
  color: var(--color-primary);
}

.single-post-page .post-content .post-author-card-role {
  color: var(--color-primary);
  font-size: 14px;
  font-weight: 600;
  margin-top: 0.25rem;
}

.single-post-page .post-content .post-author-card-bio {
  color: var(--color-text-secondary);
  font-size: 15px;
  line-height: 1.6;
  margin-top: 0.75rem;
}

.single-post-page .post-content .post-author-card-viewall {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 1rem;
  color: var(--color-primary);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.single-post-page .post-content .post-author-card-viewall svg {
  width: 16px;
  height: 16px;
  transition: transform 0.2s ease;
}

.single-post-page .post-content .post-author-card-viewall:hover svg {
  transform: translateX(3px);
}

/* Table of Contents (auto H2 outline) */
.single-post-page .post-content .post-toc {
  margin: 0 0 2.5rem;
  padding: 1.25rem 1.5rem;
  background: var(--color-bg-tertiary);
  border: 1px solid var(--color-border);
  border-radius: 12px;
}

.single-post-page .post-content .post-toc-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.75rem;
}

.single-post-page .post-content .post-toc-title {
  color: var(--color-text-heading);
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.single-post-page .post-content .post-toc-toggle {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--color-primary);
  font-size: 13px;
  font-weight: 600;
  padding: 0;
}

.single-post-page .post-content .post-toc-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.15rem;
  counter-reset: toc;
}

.single-post-page .post-content .post-toc[aria-expanded="false"] .post-toc-list {
  display: none;
}

.single-post-page .post-content .post-toc-list li {
  counter-increment: toc;
}

.single-post-page .post-content .post-toc-list a {
  display: flex;
  align-items: baseline;
  gap: 0.6rem;
  padding: 0.4rem 0.6rem;
  border-radius: 6px;
  color: var(--color-text-secondary);
  font-size: 14px;
  line-height: 1.45;
  text-decoration: none;
  border-left: 2px solid transparent;
  transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.single-post-page .post-content .post-toc-list a::before {
  content: counter(toc, decimal-leading-zero);
  color: var(--color-text-muted);
  font-weight: 600;
  font-size: 12px;
  flex-shrink: 0;
}

.single-post-page .post-content .post-toc-list a:hover,
.single-post-page .post-content .post-toc-list a.is-active {
  color: var(--color-primary);
  background: var(--color-bg-card);
  border-left-color: var(--color-primary);
}

.single-post-page .post-content .post-toc-list a:hover::before,
.single-post-page .post-content .post-toc-list a.is-active::before {
  color: var(--color-primary);
}

/* 锚点偏移：固定页头不遮挡滚到的标题 */
.single-post-page .post-content .post-body h2 {
  scroll-margin-top: calc(var(--header-height, 90px) + 30px);
}

/* Sidebar */
.single-post-page .post-sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  position: sticky;
  top: 100px;
  align-self: start;
  max-height: calc(100vh - 120px);
  overflow-y: auto;
}

.single-post-page .post-sidebar .sidebar-widget {
  padding: 1.5rem;
}

.single-post-page .post-sidebar .sidebar-widget h4 {
  color: var(--color-text-heading);
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--color-border-light);
}

.single-post-page .related-posts-sidebar {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.single-post-page .related-posts-sidebar .related-item {
  display: flex;
  gap: 0.75rem;
  text-decoration: none;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--color-border-light);
  transition: background 0.2s;
}

.single-post-page .related-posts-sidebar .related-item:last-child {
  border-bottom: none;
}

.single-post-page .related-posts-sidebar .related-item:hover {
  background: var(--color-border-light);
}

.single-post-page .related-posts-sidebar .related-thumb {
  width: 60px;
  height: 60px;
  flex-shrink: 0;
  border-radius: 6px;
  overflow: hidden;
}

.single-post-page .related-posts-sidebar .related-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.single-post-page .related-posts-sidebar .related-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.25rem;
}

.single-post-page .related-posts-sidebar .related-title {
  color: var(--color-text-heading);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3;
}

.single-post-page .related-posts-sidebar .related-date {
  color: var(--color-text-muted);
  font-size: 13px;
}

/* ===== Exit-Intent Modal ===== */
.wxkn-modal {
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.wxkn-modal.is-open { opacity: 1; visibility: visible; }

.wxkn-modal__overlay {
  position: absolute;
  inset: 0;
  background: var(--color-overlay-dark);
  backdrop-filter: blur(4px);
}

.wxkn-modal__dialog {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 5fr 6fr;
  width: min(960px, 94vw);
  max-height: 88vh;
  background: var(--color-bg-card);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 30px 60px -15px var(--color-modal-shadow);
  transform: translateY(12px) scale(0.98);
  opacity: 0;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.wxkn-modal.is-open .wxkn-modal__dialog {
  transform: translateY(0) scale(1);
  opacity: 1;
}

.wxkn-modal__close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 5;
  width: 38px;
  height: 38px;
  border: none;
  border-radius: 50%;
  background: var(--color-modal-close-bg);
  color: var(--color-text-heading);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s, transform 0.2s;
}
.wxkn-modal__close:hover { background: var(--color-white); transform: rotate(90deg); }

.wxkn-modal__left {
  background: linear-gradient(135deg, var(--color-modal-panel-from) 0%, var(--color-modal-panel-to) 100%);
  color: var(--color-white);
  padding: 48px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
.wxkn-modal__eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-modal-accent);
  margin-bottom: 16px;
}
.wxkn-modal__title {
  font-size: clamp(26px, 2.6vw, 34px);
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 18px;
}
.wxkn-modal__title em {
  color: var(--color-modal-accent);
  font-style: normal;
}
.wxkn-modal__lede {
  font-size: 15px;
  line-height: 1.65;
  color: var(--color-modal-text-muted);
  margin: 0 0 24px;
}
.wxkn-modal__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.wxkn-modal__list li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 14px;
  color: var(--color-modal-text-soft);
}
.wxkn-modal__list li::before {
  content: "✓";
  color: var(--color-modal-accent);
  font-weight: 700;
  flex-shrink: 0;
}

.wxkn-modal__right {
  padding: 48px 44px;
  overflow-y: auto;
  background: var(--color-bg-card);
}
.wxkn-modal__form-title {
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 6px;
  color: var(--color-text-heading);
}
.wxkn-modal__form-sub {
  font-size: 13px;
  color: var(--color-text-secondary);
  margin: 0 0 24px;
}

/* Lead form inside the modal */
.wxkn-form { display: flex; flex-direction: column; gap: 14px; }
.wxkn-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.wxkn-form__field { display: flex; flex-direction: column; gap: 6px; }
.wxkn-form__field label {
  font-size: 12px;
  font-weight: 600;
  color: var(--color-text-secondary);
}
.wxkn-form__field input,
.wxkn-form__field textarea,
.wxkn-form__field select {
  width: 100%;
  padding: 11px 13px;
  font-size: 14px;
  font-family: inherit;
  color: var(--color-text-heading);
  background: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
  box-sizing: border-box;
}
.wxkn-form__field input:focus,
.wxkn-form__field textarea:focus,
.wxkn-form__field select:focus {
  outline: none;
  border-color: var(--color-primary);
  background: var(--color-bg-primary);
  box-shadow: 0 0 0 3px var(--color-shadow-md);
}
.wxkn-form__field textarea { min-height: 90px; resize: vertical; }
.wxkn-form__submit {
  margin-top: 8px;
  padding: 14px;
  background: var(--color-primary);
  color: var(--color-white);
  border: none;
  border-radius: 9999px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.25s, transform 0.25s, box-shadow 0.25s;
}
.wxkn-form__submit:hover {
  background: var(--color-primary-hover);
  transform: translateY(-2px);
  box-shadow: 0 10px 24px var(--color-shadow-md);
}
.wxkn-form__note {
  font-size: 11px;
  color: var(--color-text-muted);
  text-align: center;
  margin: 10px 0 0;
}

@media (max-width: 768px) {
  .wxkn-modal__dialog {
    grid-template-columns: 1fr;
    width: 100vw;
    max-height: 100vh;
    border-radius: 0;
  }
  .wxkn-modal__left { display: none; }
  .wxkn-modal__right { padding: 60px 22px 32px; }
  .wxkn-form__row { grid-template-columns: 1fr; }
}


.border-fine-b { border-bottom: 1px solid var(--color-border); }

/* Mobile Navigation */
.wxkn-mobile-nav {
    position: fixed;
    inset: 0;
    z-index: 60;
    background: var(--color-overlay-light);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.wxkn-mobile-nav.active {
    opacity: 1;
    visibility: visible;
}

.wxkn-mobile-nav-inner {
    position: absolute;
    top: 0;
    right: 0;
    width: 85%;
    max-width: 380px;
    height: 100%;
    background: var(--color-bg-primary);
    transform: translateX(100%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.wxkn-mobile-nav.active .wxkn-mobile-nav-inner {
    transform: translateX(0);
}

.wxkn-mobile-nav-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 24px;
    height: 80px;
    border-bottom: 1px solid var(--color-border);
    flex-shrink: 0;
}

.wxkn-mobile-nav-body {
    flex: 1;
    overflow-y: auto;
    padding: 12px 0 32px;
}

/* Mobile Nav Groups (accordion) */
.wxkn-mobile-nav-group {
    border-bottom: 1px solid var(--color-border-light);
}

.wxkn-mobile-nav-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 16px 24px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-text-body);
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.wxkn-mobile-nav-toggle i {
    transition: transform 0.3s ease;
}

.wxkn-mobile-nav-toggle.active {
    background-color: var(--color-primary, #4b5563);
    color: var(--color-white);
}

.wxkn-mobile-nav-toggle.active i {
    transform: rotate(180deg);
}

.wxkn-mobile-subnav {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
    background-color: var(--color-bg-tertiary);
}

.wxkn-mobile-subnav.active {
    max-height: 800px;
}

.wxkn-mobile-subnav-link {
    display: block;
    padding: 16px 24px 16px 36px;
    font-size: 15px;
    color: var(--color-text-body);
    font-weight: 700;
    text-decoration: none;
    border-top: 1px solid var(--color-border-light);
    transition: color 0.2s ease;
    white-space: nowrap;
}

.wxkn-mobile-subnav-link:hover {
    color: var(--color-primary, #4b5563);
}

/* Mobile Nav Simple Links */
.wxkn-mobile-nav-link {
    display: block;
    padding: 16px 24px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-text-body);
    text-decoration: none;
    border-bottom: 1px solid var(--color-border-light);
}

/* Mobile CTA */
.wxkn-mobile-cta {
    display: block;
    margin: 20px 24px;
    padding: 14px 0;
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-white);
    background: var(--color-secondary);
    text-decoration: none;
    transition: background 0.2s ease;
}

.wxkn-mobile-cta:hover {
    background: var(--color-secondary-hover);
}

/* ===================================
    Back to Top - 返回顶部浮动按钮
    风格对齐：cubic-bezier(0.4,0,0.2,1)、hover translateY(-2px)、
    focus 2px/2px、卡片级中性阴影、断点 767px；主色引用 --color-primary / --color-primary-hover。
   =================================== */
.gb-back-to-top {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 52px;
    height: 52px;
    border: none;
    border-radius: 50%;
    background: var(--color-primary);
    color: var(--color-white);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99999;
    box-shadow: 0 4px 6px -1px var(--color-shadow-md);
    opacity: 0;
    visibility: hidden;
    transform: translateY(16px);
    transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                visibility 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                background 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.gb-back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.gb-back-to-top:hover {
    background: var(--color-primary-hover);
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px var(--color-shadow-md);
}

.gb-back-to-top:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.gb-back-to-top svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media (max-width: 767px) {
    .gb-back-to-top {
        right: 16px;
        bottom: 16px;
        width: 46px;
        height: 46px;
    }
    .gb-back-to-top svg {
        width: 22px;
        height: 22px;
    }
}
/* --- Styles from MASA-HOME3.html --- */

/* 隐藏主题默认的头部和底部，完全还原当前页面的独立样式 */
body > nav.fixed,
body > footer:not([class]),
body > #section_cta {
    display: none !important;
}
    :root {
      --blue: #0D7C72;
      --blue-bright: #387dd5;
      --cyan: #86d6d2;
      --cyan-soft: #c4dad9;
      --page: #fffbf0;
      --white: #fffdf9;
      --navy: #0c1058;
      --navy-deep: #03052c;
      --peach: #ffc5a7;
      --ink-soft: #525252;
      --line: rgba(0, 0, 0, 0.12);
      --display: "Poppins", sans-serif;
      --body: "Poppins", sans-serif;
      --utility: "Poppins", sans-serif;
      --gutter: 32px;
      --gap: 16px;
      --section-space: clamp(88px, 9vw, 140px);
      --section-heading-gap: clamp(24px, 5vw, 78px);
      --section-heading-gap-tight: clamp(16px, 2vw, 28px);
      --partner-block-space: clamp(40px, 10vw, 130px);
      --grid-cols: 24;
    }
    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: auto; }
    body {
      margin: 0;
      color: var(--blue);
      background: var(--page);
      font-family: var(--body);
      font-size: 16px;
      line-height: 1.45;
      text-rendering: optimizeLegibility;
    }
    body { overflow-x: clip; }
    body.modal-open { overflow: hidden; }
    a { color: inherit; text-decoration: none; }
    img { display: block; width: 100%; }
    button, input, textarea, select { font: inherit; }
    button { color: inherit; }
    ::selection { color: var(--white); background: var(--blue-bright); }
    :focus-visible { outline: 3px solid var(--peach); outline-offset: 4px; }
    .container { width: 100%; padding-inline: var(--gutter); max-width: none !important; }
    .grid-24 {
      display: grid;
      grid-template-columns: repeat(var(--grid-cols, 24), minmax(0, 1fr));
      column-gap: var(--gap);
    }
    .container.grid-24 {
      position: relative;
      z-index: 1;
      --grid-line: var(--line);
    }
    .hero .container.grid-24,
    .solutions .container.grid-24,
    .quote-section .container.grid-24,
    .logos .container.grid-24 {
      --grid-line: rgba(255, 255, 255, 0.15);
    }
    .partner .container.grid-24 {
      --grid-line: #0d6c5e;
    }
    .container.grid-24::before {
      content: "";
      position: absolute;
      top: -100vmax;
      bottom: -100vmax;
      left: var(--gutter);
      right: var(--gutter);
      border-left: 1px solid var(--grid-line);
      border-right: 1px solid var(--grid-line);
      pointer-events: none;
      z-index: -1;
    }
    .section { position: relative; padding-block: var(--section-space); overflow: clip; }
    .section-rule { border-top: 1px solid var(--line); }
    .section-kicker {
      grid-column: 2 / span 4;
      margin: 9px 0 0;
      font-family: var(--utility);
      font-size: 12px;
      line-height: 1;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .section-head { grid-column: 2 / span 22; }
    .section-title {
      margin: 0;
      max-width: 1050px;
      font-family: var(--display);
      font-size: clamp(38px, 3.5vw, 52px);
      font-weight: 600;
      line-height: .98;
      letter-spacing: -.035em;
    }
    .section-intro {
      max-width: 720px;
      margin: var(--section-heading-gap-tight) 0 0;
      font-size: clamp(19px, 1.6vw, 24px);
      font-weight: 300;
      line-height: 1.3;
    }
    .eyebrow {
      font-family: var(--utility);
      font-size: 12px;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .announcement {
      position: relative;
      z-index: 60;
      display: flex;
      min-height: 54px;
      align-items: center;
      justify-content: center;
      gap: 28px;
      padding: 10px 70px;
      color: var(--blue);
      background: var(--peach);
      font-size: 16px;
    }
    .announcement .tag {
      padding: 7px 12px 6px;
      border-radius: 0;
      background: var(--cyan);
      font-family: var(--utility);
      font-size: 10px;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .announcement-close {
      position: absolute;
      right: 28px;
      border: 0;
      background: transparent;
      cursor: pointer;
      font-size: 20px;
    }
    .hero {
      position: relative;
      min-height: calc(100vh - 54px);
      color: #111111;
      background: #F4F6F7;
    }
    .hero-media, .hero-shade, .hero-ridges { position: absolute; inset: 0; }
    .hero-media { display: none !important; }
    .hero-shade { display: none !important; }
    .hero-ridges {
      opacity: .74;
      background:
        repeating-linear-gradient(90deg,
          rgba(255,255,255,.02) 0,
          rgba(255,255,255,.18) 2px,
          rgba(25,57,105,.16) 13px,
          rgba(255,255,255,.1) 23px,
          rgba(255,255,255,.02) 31px);
      box-shadow: inset 0 -180px 160px rgba(3,5,44,.38);
    }
    .hero::after { display: none !important; }
    @keyframes drift { to { transform: translate3d(2.5%, -1.5%, 0) scale(1.04); } }
    .site-nav {
      position: fixed;
      z-index: 50;
      top: 54px;
      left: 0;
      width: 100%;
      color: var(--white);
      transition: color .5s ease, background .7s ease, transform .5s ease;
    }
    .site-nav.is-solid { background: rgba(25,57,105,.96); backdrop-filter: blur(12px); }
    .nav-inner { min-height: 88px; display: flex; align-items: center; justify-content: space-between; }
    .site-nav .logo {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: #FBD21E;
      padding: 0 16px;
      align-self: stretch;
    }
    .logo {
      display: inline-flex;
      align-items: baseline;
      gap: 8px;
      font-family: var(--utility);
      font-size: 25px;
      letter-spacing: -.04em;
    }
    .logo small { font-size: 9px; letter-spacing: .12em; text-transform: uppercase; opacity: .72; }
    .nav-links { display: flex; align-items: stretch; gap: 8px; font-size: 14px; align-self: stretch; }
    .nav-link { 
      position: relative; 
      display: flex;
      align-items: center;
      padding: 0 16px;
      height: 100%;
      transition: background 0.3s ease;
    }
    .nav-link:hover, .nav-item:hover > .nav-link {
      background: #f1f1f1;
    }
    .nav-link.nav-group { cursor: default; }
    .nav-right { display: flex; align-items: center; gap: 12px; }
    .lang-toggle { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 0; background: transparent; cursor: pointer; font-size: 18px; }
    .hamburger { display: none; flex-direction: column; justify-content: center; gap: 5px; width: 36px; height: 36px; border: 0; background: transparent; cursor: pointer; padding: 0; }
    .hamburger span { display: block; width: 24px; height: 2px; background: currentColor; transition: transform .3s ease, opacity .3s ease; }
    .hamburger.is-active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .hamburger.is-active span:nth-child(2) { opacity: 0; }
    .hamburger.is-active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    .nav-item { position: relative; display: flex; align-items: stretch; padding: 0; }
    .mega-menu, .nav-dropdown {
      position: absolute;
      top: 100%;
      left: 0;
      min-width: 220px;
      padding: 12px 0;
      border-radius: 0;
      background: #ffffff;
      color: #111111;
      box-shadow: 0 20px 48px rgba(0,0,0,.15);
      opacity: 0;
      visibility: hidden;
      transform: translateY(8px);
      transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
      z-index: 60;
    }
    .nav-item:hover .mega-menu,
    .nav-item:hover .nav-dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
    .mega-menu { left: -20px; padding: 24px; }
    .mega-inner { display: grid; grid-template-columns: 1fr; gap: 6px; min-width: 260px; }
    .mega-link { display: block; padding: 8px 16px; font-size: 14px; color: #111111; border-radius: 0; transition: background .2s ease, color .2s ease; white-space: nowrap; }
    .mega-link:hover { background: #f1f1f1; color: var(--blue); }
    .mega-link.mega-all { margin-top: 6px; padding-top: 10px; border-top: 1px solid var(--line); font-weight: 600; }
    .nav-dropdown a { display: block; padding: 8px 20px; font-size: 14px; color: #111111; border-radius: 0; transition: background .2s ease, color .2s ease; white-space: nowrap; }
    .nav-dropdown a:hover { background: #f1f1f1; color: var(--blue); }
    .mobile-nav-panel {
      display: none;
      position: fixed;
      z-index: 55;
      inset: 0;
      top: 0;
      padding: 100px 24px 32px;
      background: #ffffff;
      color: #111111;
      overflow-y: auto;
      flex-direction: column;
      gap: 8px;
    }
    .mobile-nav-panel.is-open { display: flex; }
    .mobile-nav-panel .mobile-link,
    .mobile-nav-panel .mobile-group { display: block; padding: 12px 0; font-size: 18px; font-weight: 500; border-bottom: 1px solid var(--line); }
    .mobile-nav-panel .mobile-group { width: 100%; border-left: 0; border-right: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
    .mobile-nav-panel .mobile-sub { display: none; flex-direction: column; padding-left: 16px; }
    .mobile-nav-panel .mobile-sub.is-open { display: flex; }
    .mobile-nav-panel .mobile-sub a { display: block; padding: 10px 0; font-size: 15px; color: var(--ink-soft); border-bottom: 1px solid rgba(0,0,0,.06); }
    .mobile-nav-panel .mobile-cta { margin-top: 16px; }
    .pill-button {
      display: inline-flex;
      min-height: 48px;
      align-items: center;
      gap: 14px;
      padding: 6px 22px 6px 6px;
      border: 1px solid transparent;
      border-radius: 999px;
      color: var(--white);
      background: var(--blue);
      cursor: pointer;
      font-family: var(--utility);
      font-size: 12px;
      letter-spacing: .08em;
      text-transform: uppercase;
      transition: color .3s ease, background .3s ease, border-color .3s ease;
    }
    .pill-button .button-icon {
      display: grid;
      width: 36px;
      height: 36px;
      place-items: center;
      border-radius: 50%;
      color: var(--blue);
      background: var(--white);
      transition: transform .4s ease, color .3s ease, background .3s ease;
    }
    .pill-button:hover { color: var(--blue); background: var(--cyan); }
    .pill-button:hover .button-icon { transform: rotate(45deg); }
    .pill-button.is-light { color: var(--blue); background: var(--white); }
    .pill-button.is-light .button-icon { color: var(--white); background: var(--blue); }
    .pill-button.is-outline { border-color: rgba(255,255,255,.5); background: transparent; }
    .pill-button.is-outline:hover { border-color: var(--cyan); color: var(--blue); background: var(--cyan); }
    .hero-content {
      position: relative;
      z-index: 3;
      min-height: calc(100vh - 54px);
      align-items: center;
      justify-content: center;
      padding-top: 110px;
      padding-bottom: 132px;
      text-align: center;
    }
    .hero-copy { grid-column: 1 / -1; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; }
    .hero-brand { margin-bottom: 28px; opacity: .9; }
    .hero-title-wrap { position: relative; }
    .hero-title {
      position: relative;
      z-index: 3;
      margin: 0;
      font-family: var(--display);
      font-size: clamp(62px, 8vw, 115px);
      font-weight: 600;
      line-height: .9;
      letter-spacing: -.055em;
      text-align: center; /* 确保标题文字居中 */
    }
    .hero-title-copy {
      position: absolute;
      inset: 0;
      z-index: 1;
      margin: 0;
      color: var(--cyan);
      transform: translateY(8px);
      opacity: .3;
      filter: blur(.4px);
    }
    .hero-body {
      max-width: 790px;
      margin: 34px auto 0;
      font-size: clamp(17px, 1.5vw, 22px);
      font-weight: 300;
      line-height: 1.35;
    }
    .hero-actions { display: flex; justify-content: center; gap: 12px; margin-top: 30px; }
    .hero-scroll {
      position: absolute;
      z-index: 4;
      bottom: 32px;
      left: 32px;
      display: flex;
      align-items: center;
      gap: 10px;
      font-family: var(--utility);
      font-size: 10px;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .hero-scroll::before { content: ""; width: 42px; height: 1px; background: currentColor; }
    .data-strip {
      position: relative;
      z-index: 5;
      margin-top: 0;
      padding-inline: var(--gutter);
    }
    .data-strip-inner {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      overflow: hidden;
      border: none;
      border-radius: 16px;
      color: var(--white);
      background: rgba(25,57,105,.84);
      box-shadow: 0 20px 70px rgba(3,5,44,.22);
      backdrop-filter: blur(18px);
    }
    .data-item { min-height: 112px; padding: 25px 28px; border-right: 1px solid rgba(255,255,255,.22); }
    .data-item:last-child { border-right: 0; }
    .data-value { display: block; font-family: var(--display); font-size: 29px; font-weight: 300; line-height: 1; }
    .data-label { display: block; margin-top: 10px; font-size: 12px; opacity: .8; }
    .data-note { margin: 10px 0 0; color: rgba(25,57,105,.68); font-size: 11px; text-align: right; }
    .intro-statement { padding-top: calc(var(--section-space) + 62px); }
    .intro-statement .statement { grid-column: 3 / span 20; }
    .statement h2 {
      max-width: 1170px;
      margin: 0;
      font-family: var(--display);
      font-size: clamp(46px, 5vw, 76px);
      font-weight: 600;
      line-height: .94;
      letter-spacing: -.055em;
    }
    .statement h2 span { color: var(--blue-bright); }
    .cards-grid { grid-column: 2 / span 22; display: grid; gap: var(--gap); margin-top: var(--section-heading-gap); }
    .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .card {
      position: relative;
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: 0;
      background: rgba(255,253,249,.46);
      transition: transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s ease, background .3s ease;
    }
    .card.quote-trigger { cursor: pointer; }
    .card:hover { transform: translateY(-6px); background: var(--white); box-shadow: 0 20px 48px rgba(25,57,105,.12); }
    .card-media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--cyan-soft); }
    .card-media img { height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
    .card:hover .card-media img { transform: scale(1.035); }
    .card-index {
      position: absolute;
      top: 14px;
      left: 14px;
      z-index: 2;
      padding: 7px 10px;
      border-radius: 999px;
      color: var(--blue);
      background: var(--cyan);
      font-family: var(--utility);
      font-size: 10px;
      letter-spacing: .08em;
    }
    .card-copy { min-height: 218px; display: flex; flex-direction: column; padding: 28px; }
    .card h3 { margin: 0; font-family: var(--display); font-size: 27px; font-weight: 600; line-height: 1.05; letter-spacing: -.025em; }
    .card p { margin: 16px 0 24px; color: var(--ink-soft); font-size: 14px; }
    .arrow-link {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin-top: auto;
      font-family: var(--utility);
      font-size: 11px;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .arrow-link::before { content: "↗"; display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid var(--line); border-radius: 50%; transition: transform .3s ease, background .3s ease; }
    .arrow-link:hover::before { transform: rotate(45deg); background: var(--cyan); }
    .center-cta { grid-column: 2 / span 22; display: flex; justify-content: center; margin-top: 48px; }
    .solutions { color: var(--white); background: #1b1b1b; padding-bottom: 0; }
    .solutions .section-title { color: var(--white); }
    .solutions .section-kicker, .solutions .section-intro { color: rgba(255,255,255,.72); }
    .solutions-accordion { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-top: var(--section-heading-gap); align-items: stretch; }
    .sa-image-col { position: relative; border-radius: 0; overflow: hidden; background: rgba(0,0,0,0.2); aspect-ratio: 4 / 3; }
    .sa-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.05); transition: opacity 0.6s ease, transform 0.6s ease; pointer-events: none; }
    .sa-image.is-active { opacity: 1; transform: scale(1); }
    .sa-tabs-col { display: flex; flex-direction: column; justify-content: space-between; padding: 0; background: rgba(0,0,0,0.05); }
     .sa-tab { flex: 1; display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 24px; padding: 16px var(--gutter); border-bottom: 1px solid rgba(255,255,255,.15); cursor: pointer; transition: all 0.3s ease; }
    .sa-tab:first-child { border-top: 1px solid rgba(255,255,255,.15); }
    .sa-tab-info { flex: 1; display: flex; flex-direction: column; justify-content: center; }
    .sa-tab-title { margin: 0; font-family: var(--display); font-size: clamp(20px, 1.8vw, 26px); font-weight: 600; line-height: 1.2; letter-spacing: -.02em; color: rgba(255,255,255,.4); transition: color 0.3s ease; }
    .sa-tab.is-active .sa-tab-title, .sa-tab:hover .sa-tab-title { color: var(--white); }
    .sa-tab-content { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows 0.4s cubic-bezier(0.2,0.8,0.2,1), opacity 0.4s ease; overflow: hidden; }
    .sa-tab.is-active .sa-tab-content { grid-template-rows: 1fr; opacity: 1; }
    .sa-tab-inner { min-height: 0; display: flex; flex-direction: column; align-items: flex-start; }
    .sa-tab-inner p { margin: 16px 0 0; font-family: var(--body); font-size: clamp(13px, calc(9px + .5vw), 18px); line-height: 1.5; color: rgba(255,255,255,.7); max-width: 520px; }
    .sa-tab-btn { width: 56px; height: 56px; border: none; display: flex; align-items: center; justify-content: center; color: var(--white); flex-shrink: 0; transition: all 0.3s ease; opacity: 0; transform: translateX(-10px); pointer-events: none; }
    .sa-tab-btn svg { width: 40px; height: 40px; }
    .sa-tab.is-active .sa-tab-btn { opacity: 1; transform: translateX(0); pointer-events: auto; }
    .sa-tab-btn:hover { color: rgba(255,255,255,.7); }
    .application-grid { grid-column: 1 / span 24; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; margin-top: var(--section-heading-gap); }
    .application-card { display: flex; align-items: stretch; gap: 0; background: transparent; overflow: hidden; border-radius: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); min-height: 280px; }
    .application-card:first-child { border-right: 1px solid var(--line); }
    .application-image { flex: 0 0 50%; display: flex; overflow: hidden; border-radius: 0; }
    .application-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
    .application-card:hover img { transform: scale(1.03); }
    .application-copy { flex: 0 0 50%; padding: 48px; display: flex; flex-direction: column; justify-content: center; }
    .application-copy h3 { margin: 0; font-family: var(--display); font-size: 24px; font-weight: 600; line-height: 1.1; letter-spacing: -.025em; }
    .application-copy p { margin: 16px 0 24px; font-family: var(--body); font-size: 16px; color: rgba(0,0,0,.45); }
    @media (max-width: 1200px) {
      .application-grid { grid-template-columns: 1fr; gap: 32px; }
    }
    @media (max-width: 900px) {
      .application-card { flex-direction: column; }
      .application-image { flex: auto; aspect-ratio: 16 / 10; }
    }
    #machines { position: relative; z-index: 2; background: var(--page); }
    #applications {
      position: relative; z-index: 2;
      background: #ffffff;
    }
    .factory-layout { margin-top: var(--section-heading-gap); }
    #factory {
      background: url(https://masa.wxkntest.com/wp-content/uploads/2026/08/bg1.webp) center / cover no-repeat;
    }
    .factory-image { grid-column: 2 / span 11; min-height: 720px; overflow: hidden; border-radius: 16px; }
    .factory-image img { height: 100%; object-fit: cover; }
    .factory-copy { grid-column: 14 / span 9; display: flex; flex-direction: column; justify-content: center; }
    .factory-copy > p { margin: 0 0 22px; font-size: 18px; line-height: 1.5; }
    .factory-stats { display: grid; grid-template-columns: repeat(2, 1fr); align-items: start; grid-auto-rows: auto; margin: 22px 0 32px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
    .factory-stat { min-height: 0; height: auto; padding: 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
    .factory-stat strong { display: block; color: var(--blue); font-family: var(--display); font-size: 26px; font-weight: 300; line-height: 1.05; }
    .factory-stat span { display: block; margin-top: 10px; color: var(--ink-soft); font-size: 12px; }
    .brands-label { margin: 0 0 12px; font-family: var(--utility); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
    .component-brands { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
    .component-brands span { min-height: 66px; display: flex; align-items: center; justify-content: center; padding: 8px; border: 0; border-radius: 0; background: var(--white); }
    .component-brands img { display: block; width: auto; max-width: 100%; height: auto; max-height: 48px; object-fit: contain; }
    .config-note { margin: 10px 0 28px !important; color: var(--ink-soft); font-size: 11px !important; }
    .logos { background: var(--white); }
    .logos .section-head { grid-column: 2 / span 8; }
    .logos .section-title { font-size: clamp(32px, 2.8vw, 42px); }
    .logo-wall { grid-column: 11 / span 13; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); }
    .logo-track { display: contents; }
    .customer-logo { min-height: 110px; display: flex; align-items: center; justify-content: center; padding: 20px; }
    .customer-logo img { max-width: 160px; max-height: 70px; object-fit: contain; }
    .process-line { grid-column: 1 / span 24; display: grid; grid-template-columns: repeat(4, 1fr); margin-top: var(--section-heading-gap); border-top: 1px solid var(--line); }
    .step { position: relative; min-height: 310px; padding: 60px 40px; border-right: 1px solid var(--line); }
    .step:last-child { border-right: 0; }
    .step-number { font-family: var(--utility); font-size: clamp(16px, 1.3vw, 20px); letter-spacing: .08em; }
    .step h3 { margin: 72px 0 18px; font-family: var(--display); font-size: clamp(20px, 1.5vw, 24px); font-weight: 600; line-height: 1.1; }
    .step p { margin: 0; color: var(--ink-soft); font-size: 14px; }
    .company { background: #F4F6F7; padding-block: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
    .company .container.grid-24 { row-gap: 0; padding-bottom: 0; }
    .company-heading-line { grid-column: 1 / -1; grid-row: 1; border-bottom: 1px solid var(--line); }
    .company-heading { grid-column: 2 / span 22; grid-row: 1; padding-block: 80px clamp(32px, 3.6vw, 56px); }
    .company-heading h2 {
      margin: 0;
      max-width: 1080px;
      font-family: var(--display);
      font-size: clamp(38px, 3.5vw, 52px);
      font-weight: 600;
      line-height: .98;
      letter-spacing: -.035em;
    }
    .company-sidebar { grid-column: 1 / span 10; grid-row: 2; border-right: 1px solid var(--line); padding: 56px 0 0 0; display: flex; flex-direction: column; --indent: calc((100% + var(--gap)) / 10); }
    .company-intro { margin-bottom: 80px; padding: 0 calc(var(--indent) * 1.5) 0 var(--indent); }
    .company-intro h3 { margin: 0 0 20px; font-family: var(--display); font-size: 28px; font-weight: 600; line-height: 1.2; color: var(--blue); }
    .company-intro p { margin: 0 0 32px; color: var(--ink-soft); }
    .cases-panel { margin-top: auto; padding-bottom: 0; }
    .cases-panel > .eyebrow { display: block; padding-left: var(--indent); margin-bottom: 8px; }
    .cases-panel h3 { margin: 0 0 24px; font-family: var(--display); font-size: 24px; font-weight: 600; line-height: 1.2; padding-left: var(--indent); }
    .cases-list { display: flex; flex-direction: column; border-top: 1px solid var(--line); }
    .case-item { position: relative; padding: 24px 0 24px var(--indent); border-bottom: 1px solid var(--line); }
    .case-item.quote-trigger { cursor: pointer; }
    .case-item::before { content: ""; position: absolute; left: calc(var(--indent) - 24px); top: 31px; width: 8px; height: 8px; background: #FBD21E; }
    .case-item strong { display: block; font-family: var(--display); font-size: 18px; font-weight: 500; line-height: 1.3; margin-bottom: 4px; }
    .ms-list-supporting-copy {
      display: block;
      color: var(--ink-soft);
      font-size: var(--masa-font-size-supporting-copy, 16px);
      font-weight: var(--masa-font-weight-supporting-copy, 400);
      line-height: var(--masa-line-supporting-copy, 1.45);
    }
    .case-link { margin-top: 32px; margin-bottom: 24px; display: inline-flex; align-items: center; margin-left: var(--indent); color: var(--blue); font-family: var(--display); font-weight: 600; font-size: 16px; gap: 8px; transition: color 0.3s ease; }
    .case-link svg { width: 24px; height: 24px; transition: transform 0.3s ease; }
    .case-link:hover,
    .case-link:focus-visible { color: #FBD21E; }
    .case-link:hover svg { transform: translate(4px, -4px); }
    .company-image { grid-column: 11 / span 14; grid-row: 2; padding: 0; margin-left: calc(var(--gap) * -1); margin-bottom: 0; width: calc(100% + var(--gap)); }
    .company-image img {
      width: 100%;
      height: 100%;
      min-height: 100%;
      object-fit: cover;
    }
    .partner { overflow: hidden; color: var(--white); background: linear-gradient(180deg, var(--navy), var(--navy-deep)); padding-block: 0; }
    .partner .container.grid-24 { align-items: stretch; }
    .partner-copy { grid-column: 12 / span 13; position: relative; z-index: 2; padding: var(--partner-block-space) 0; display: flex; flex-direction: column; justify-content: center; }
    .partner-copy h2 { margin: 0; font-family: var(--display); font-size: clamp(38px, 3.5vw, 48px); font-weight: 600; line-height: 52px; letter-spacing: -.045em; }
    .partner-copy > p { max-width: 680px; margin: var(--section-heading-gap-tight) 0; color: rgba(255,255,255,.76); font-size: 18px; }
    #partner .partner-copy > p:nth-of-type(2) { margin-block: 0; }
    #partner .partner-copy > p:nth-of-type(3) { margin-top: 0; }
    .partner-features { margin: 32px 0 40px; display: flex; flex-direction: column; border-top: 1px solid rgba(255,255,255,.24); }
    .partner-features .feature-item { display: flex; align-items: flex-start; gap: 18px; border-bottom: 1px solid rgba(255,255,255,.18); padding: 16px 0; }
    .partner-features .feature-icon { width: 22px; height: 22px; flex: 0 0 22px; margin-top: 1px; color: #FBD21E; }
    .partner-features .feature-title { width: 140px; flex-shrink: 0; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: #FBD21E; margin-top: 2px; }
    .partner-features .feature-desc { font-size: 15px; color: rgba(255,255,255,.8); line-height: 1.5; }
    .partner-actions { display: flex; gap: 12px; }
    .partner-image { grid-column: 1 / span 10; position: relative; z-index: 2; min-height: 100%; overflow: hidden; border-radius: 0; display: flex; }
    .partner-image img { height: 100%; object-fit: cover; }
    .insights-section { padding: 100px 0; border-top: 1px solid var(--line); }
    .articles-layout { grid-column: 2 / span 22; display: flex; flex-direction: column; gap: 48px; }
    
    .articles-sidebar { display: flex; justify-content: space-between; align-items: flex-end; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
    .articles-sidebar .title-wrap { max-width: 540px; }
    .articles-sidebar .section-title { margin: 0 0 clamp(14px, 1.2vw, 18px) 0; font-size: clamp(32px, 3.5vw, 42px); line-height: 1.1; letter-spacing: -0.02em; }
    .articles-sidebar .section-intro { margin: 0; font-size: 16px; color: var(--gray); line-height: 1.5; }
    
    .articles-feed { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
    .article-card { display: flex; flex-direction: column; gap: 20px; text-decoration: none; color: inherit; group: article; }
    
    .article-image { width: 100%; aspect-ratio: 16 / 10; overflow: hidden; background: #f5f5f7; position: relative; }
    .article-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1); }
    .article-card:hover .article-image img { transform: scale(1.05); }
    
    .article-info { display: flex; flex-direction: column; gap: 12px; }
    .article-meta { display: flex; justify-content: space-between; font-size: 11px; color: var(--gray); text-transform: uppercase; letter-spacing: 0.06em; font-weight: 600; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
    .article-meta .date { color: var(--blue); opacity: 0.6; }
    .article-title { margin: 0; font-size: 20px; font-weight: 500; line-height: 1.35; color: var(--blue); transition: color .3s ease; }
    .article-desc { display: none; } /* Hide description to save space */
    .article-read { display: none; } /* Hide read more link to keep it clean */
    .quote-section { color: var(--white); background: var(--blue); }
    .quote-copy { grid-column: 2 / span 10; }
    .quote-copy h2 { margin: 0; font-family: var(--display); font-size: clamp(42px, 4vw, 62px); font-weight: 600; line-height: .94; letter-spacing: -.045em; color: #fff; }
    .quote-copy > p, .quote-copy .section-intro { margin: var(--section-heading-gap-tight) 0; color: rgba(255, 255, 255, 0.78) !important; font-family: var(--masa-font-body, "Poppins", sans-serif); font-size: var(--masa-font-size-section-intro, clamp(18px, 1.8vw, 23px)); font-weight: var(--masa-font-weight-section-intro, 500); line-height: var(--masa-line-section-intro, 1.3); }
    .quote-benefits { margin: 36px 0 0; padding: 0; list-style: none; color: #fff; }
    .quote-benefits li { display: flex; gap: 18px; padding: 22px 0; border-top: 1px solid rgba(255,255,255,.2); }
    .quote-benefits li svg { width: 24px; height: 24px; color: #FBD21E; flex-shrink: 0; }
    .quote-form { grid-column: 13 / span 11; padding: 36px; border-radius: 16px; color: var(--blue); background: var(--page); }
    .quote-form-confidentiality { margin: 16px 0 0; color: rgba(17,17,17,.58); font-size: 12px; line-height: 1.55; }
    .form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px 16px; }
    .field.full { grid-column: 1 / -1; }
    .field label { display: block; margin-bottom: 9px; font-size: 13px; }
    .field input, .field textarea, .field select {
      width: 100%;
      border: 1px solid var(--line);
      border-radius: 20px;
      outline: 0;
      color: var(--blue);
      background: transparent;
      transition: border-color .3s ease, background .3s ease;
    }
    .field input, .field select { min-height: 48px; padding: 0 16px; }
    .field textarea { min-height: 96px; padding: 14px 16px; resize: vertical; }
    .field input:focus, .field textarea:focus, .field select:focus { border-color: var(--blue-bright); background: var(--white); }
    .file-field { position: relative; min-height: 48px; display: flex; align-items: center; padding: 0 16px; border: 1px dashed var(--line); border-radius: 20px; color: var(--ink-soft); font-size: 13px; }
    .file-field input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
    .privacy { margin: 18px 0; color: var(--ink-soft); font-size: 11px; }
    .form-message { display: none; margin: 14px 0 0; padding: 12px 14px; border-radius: 10px; background: var(--cyan-soft); font-size: 13px; }
    .form-message.is-visible { display: block; }
    .footer { padding: 82px 0 30px; color: var(--blue); background: var(--cyan-soft); }
    .footer-main { display: grid; grid-template-columns: 1fr; gap: 64px; padding-bottom: 72px; }
    @media (min-width: 1024px) {
      .footer-main { display: flex; justify-content: space-between; gap: 48px; }
    }
    .footer-brand { max-width: 320px; flex: 0 1 auto; }
    .footer-brand .logo { font-size: 36px; }
    .footer-brand p { font-size: 15px; line-height: 1.6; margin: 24px 0 16px; }
    .trust-badge { display: inline-block; padding: 6px 12px; background: rgba(0,0,0,.05); border-radius: 4px; font-size: 13px; font-weight: 500; margin-bottom: 24px; }
    .social-links { display: flex; gap: 16px; }
    .social-links a { color: currentColor; transition: opacity .2s ease; opacity: .8; }
    .social-links a:hover { opacity: 1; }
    .footer-columns { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px; }
    @media (min-width: 1024px) {
      .footer-columns { display: contents; }
    }
    .footer-col { font-size: 14px; flex: 0 1 auto; }
    .footer-col h3 { margin: 0 0 20px; font-family: var(--utility); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; }
    .footer-col h3.mt-4 { margin-top: 32px; }
    .footer-col a { display: block; margin: 12px 0; color: inherit; opacity: .85; transition: opacity .2s ease; }
    .footer-col a:hover { opacity: 1; text-decoration: underline; }
    .footer-col a.all-link { margin-top: 16px; font-weight: 600; opacity: 1; }
    .footer-download { margin-top: 20px; padding: 10px 0; border: none; background: transparent; color: inherit; font-size: 14px; font-weight: 600; text-decoration: underline; cursor: pointer; text-align: left; }
    .footer-download:hover { opacity: .8; }
    .contact-col p { margin: 12px 0; line-height: 1.5; opacity: .85; }
    .contact-col address { font-style: normal; margin: 12px 0; line-height: 1.6; opacity: .7; font-weight: 400; }
    .contact-col strong { display: block; font-size: 12px; opacity: .7; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 4px; }
    .contact-col a { display: inline-block; margin: 2px 0 0; opacity: 1; text-decoration: none; font-size: 16px; font-weight: 600; color: inherit; }
    .contact-col a:hover { text-decoration: underline; opacity: .8; }
    .footer-bottom { display: flex; flex-direction: column; gap: 16px; padding-top: 24px; border-top: 1px solid var(--line); font-size: 13px; opacity: .7; }
    @media (min-width: 768px) {
      .footer-bottom { flex-direction: row; justify-content: space-between; align-items: center; }
    }
    .modal {
      position: fixed;
      z-index: 100;
      inset: 0;
      display: none;
      align-items: stretch;
      justify-content: flex-end;
      background: linear-gradient(270deg, rgba(3,5,44,.96), rgba(3,5,44,.7));
    }
    .modal.is-open { display: flex; }
    .modal-panel { width: min(760px, 100%); height: 100%; overflow-y: auto; padding: 72px 42px 42px; background: var(--page); animation: panelIn .5s cubic-bezier(.2,.7,.2,1); }
    @keyframes panelIn { from { transform: translateX(100%); } }
    .modal-close { position: absolute; top: 20px; right: 24px; width: 46px; height: 46px; border: 1px solid var(--line); border-radius: 50%; background: var(--white); cursor: pointer; }
    .modal h2 { margin: 0 0 12px; font-family: var(--display); font-size: 42px; font-weight: 600; line-height: 1; }
    .modal-subtitle { margin: 0 0 32px; color: var(--ink-soft); }
    /* .reveal animations are now handled by GSAP */
    .reveal { visibility: hidden; }
    @media (max-width: 1100px) {
      :root { --gutter: 24px; }
      .nav-links .nav-link { display: none; }
      .section-kicker { grid-column: 2 / span 5; }
      .section-head { grid-column: 8 / span 15; }
      .product-grid { grid-template-columns: repeat(2, 1fr); }
      .factory-image { grid-column: 2 / span 10; min-height: 610px; }
      .factory-copy { grid-column: 13 / span 10; }
      .solution-card {
      min-height: 540px;
    }
      .solution-copy h3 { font-size: 32px; }
    }
    @media (max-width: 760px) {
      :root { --gutter: 16px; --gap: 20px; --section-space: 82px; }
      .partner { padding-block: 0; }
      .partner .container.grid-24 { padding-inline: var(--gutter); }
      .partner-copy { padding: 0; }
      .partner-image { grid-column: 2 / span 22; min-height: 430px; margin-top: 48px; border-radius: 8px; }
      .announcement { justify-content: flex-start; min-height: 62px; padding: 10px 50px 10px 16px; gap: 10px; font-size: 11px; }
      .announcement .tag:nth-of-type(2) { display: none; }
      .announcement-close { right: 14px; }
      .site-nav { top: 62px; }
      .nav-inner { min-height: 70px; }
      .logo { font-size: 21px; }
      .nav-links { display: none; }
      .nav-right .pill-button { display: none; }
      .hamburger { display: flex; }
      .hero, .hero-content { min-height: 760px; }
      .hero-content { padding-top: 105px; padding-bottom: 160px; }
      .hero-copy { grid-column: 2 / span 22; }
      .hero-title { font-size: clamp(48px, 14vw, 68px); }
      .hero-body { font-size: 16px; }
      .hero-actions { flex-direction: column; align-items: center; }
      .hero-scroll { left: 16px; bottom: 92px; }
      .data-strip { margin-top: 0; height: 200px; }
      .data-strip-inner { grid-template-columns: repeat(2, 1fr); align-items: stretch; }
      .data-item { height: auto; min-height: 100px; padding: 20px; border-bottom: 1px solid rgba(255,255,255,.22); border-right: 1px solid rgba(255,255,255,.22); }
      .data-item:nth-child(2n) { border-right: 0; }
      .data-item:nth-child(3), .data-item:nth-child(4) { border-bottom: 0; }
      .data-value { font-size: 23px; }
      .data-note { text-align: left; }
      .intro-statement { padding-top: 116px; }
      .intro-statement .statement { grid-column: 2 / span 22; }
      .statement h2 { font-size: 38px; }
      .section-kicker, .section-head, .cards-grid, .application-grid, .center-cta,
      .logos .section-head, .logo-wall, .process-line, .articles-head, .articles-list,
      .quote-copy, .quote-form {
        grid-column: 2 / span 22;
      }
      .solutions-accordion { grid-template-columns: 1fr; gap: 0; }
      .sa-tabs-col { padding: 0; background: transparent; }
      .sa-image-col { aspect-ratio: 4 / 3; }
      .section-kicker { margin: 0 0 24px; }
      .section-title { font-size: 34px; }
      .section-intro { margin-top: var(--section-heading-gap-tight); font-size: 18px; }
      .cards-grid, .solutions-grid, .application-grid { grid-template-columns: 1fr; margin-top: var(--section-heading-gap); }
      .product-grid { grid-template-columns: 1fr; }
      .card-copy { min-height: 0; }
      .solution-card { min-height: 0; border-right: 0; border-left: 0; padding: 24px; }
      .solution-card:not(:last-child) { border-bottom: 0; }
      .solution-copy { padding: 0; }
      .solution-copy h3 { font-size: 24px; }
      .factory-layout { margin-top: var(--section-heading-gap); }
      .factory-image, .factory-copy, .company-heading, .company-sidebar, .company-image, .partner-copy, .partner-image {
         grid-column: 2 / span 22;
         grid-row: auto;
       }
       .company-heading-line { display: none; }
         .company-heading { border-bottom: 1px solid var(--line); }
         .company-sidebar { padding: 42px 0; border-right: 0; border-bottom: 1px solid var(--line); --indent: 0; }
        .company-image { padding: 0; margin-left: 0; width: 100%; }
      .company-image img { min-height: 320px; }
      .factory-image { min-height: 420px; }
      .factory-copy { margin-top: 42px; }
      .logos .section-head { grid-column: 2 / span 22; margin-bottom: var(--section-heading-gap); }
      .logo-wall { grid-column: 2 / span 22; grid-template-columns: repeat(2, 1fr); }
      .process-line { grid-template-columns: 1fr; margin-top: var(--section-heading-gap); }
      .step, .step + .step { min-height: 0; padding: 26px 0; border-right: 0; border-bottom: 1px solid var(--line); }
      .step h3 { margin: 30px 0 12px; }
      .cases-panel { margin-top: 52px; }
      .partner-image { grid-column: 1 / -1; min-height: 430px; margin-top: 48px; border-radius: 8px; margin-left: 0; width: 100%; }
      .partner-copy h2, .quote-copy h2 { font-size: 38px; line-height: 1.2; }
      .partner-features .feature-item { flex-direction: row; gap: 14px; }
      .partner-features .feature-title { width: auto; margin-top: 0; }
      .partner-actions { flex-direction: column; align-items: flex-start; }
      .articles-sidebar { flex-direction: column; align-items: flex-start; gap: 24px; }
      .articles-feed { grid-template-columns: 1fr; }
      .quote-form { margin-top: 50px; padding: 26px 20px; }
      .form-grid { grid-template-columns: 1fr; }
      .field.full { grid-column: auto; }
      .modal-panel { padding: 72px 20px 30px; }
      .modal h2 { font-size: 34px; }
    }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
      .reveal { visibility: visible !important; opacity: 1 !important; transform: none !important; }
    }
    /* Long-card composition: a continuous page surface on a colored canvas. */
    body {
      min-height: 100vh;
      padding: 20px;
      background: var(--page);
    }
    body::before,
    body::after {
      display: none;
    }
    .page-shell {
      position: relative;
      z-index: 1;
      width: min(1600px, 100%);
      margin: 0 auto;
      overflow: clip;
    }
    .page-card {
      position: relative;
      overflow: clip;
      border: 1px solid rgba(255, 255, 255, .2);
      border-radius: 32px;
      background: var(--page);
      box-shadow: 0 36px 100px rgba(3, 5, 44, .42);
      isolation: isolate;
    }
    .page-card .announcement {
      position: relative;
      inset: auto;
      min-height: 58px;
    }
    .page-card .site-nav {
      position: sticky;
      top: 0 !important;
      color: var(--white);
      background: rgba(25, 57, 105, .93);
      border-bottom: 1px solid rgba(255, 255, 255, .16);
      backdrop-filter: blur(18px);
    }
    .page-card .site-nav.is-solid { background: rgba(12, 16, 88, .96); }
    .page-card .hero,
    .page-card .hero-content { min-height: min(860px, calc(100vh - 170px)); }
    .page-card .hero-content { padding-top: 70px; }
    .page-card .data-strip { margin-top: 0; }
    .page-card .section:first-of-type { border-radius: 0; }
    .page-card .footer { border-radius: 0 0 32px 32px; }
    .canvas-caption {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 16px 8px 14px;
      color: rgba(255, 253, 249, .72);
      font-family: var(--utility);
      font-size: 10px;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .canvas-caption span:last-child { color: var(--cyan); }
    @media (max-width: 760px) {
      body { padding: 20px; }
      .page-card { border-radius: 22px; }
      .page-card .announcement { min-height: 62px; }
      .page-card .site-nav { top: 0 !important; }
      .page-card .hero,
      .page-card .hero-content { min-height: 720px; }
      .page-card .hero-content { padding-top: 76px; }
      .page-card .footer { border-radius: 0 0 22px 22px; }
      .canvas-caption { padding-inline: 6px; }
      .canvas-caption span:first-child { display: none; }
      .canvas-caption { justify-content: flex-end; }
    }
    /* Industrial-blue variant: heavier type, steel palette, restrained radii. */
    :root {
      --blue: #0D7C72;
      --blue-bright: #1c70a8;
      --cyan: #72adc8;
      --cyan-soft: #d1e1e8;
      --page: #edf2f4;
      --white: #f8fafb;
      --navy: #092a43;
      --navy-deep: #051923;
      --peach: #b7d3df;
      --ink-soft: #526c7b;
      --line: rgba(0, 0, 0, 0.12);
      --display: "Poppins", sans-serif;
      --body: "Poppins", sans-serif;
      --utility: "Poppins", sans-serif;
    }
    body {
      font-weight: 500;
      background:
        linear-gradient(rgba(114, 173, 200, .05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(114, 173, 200, .05) 1px, transparent 1px),
        radial-gradient(circle at 8% 8%, rgba(28, 112, 168, .28), transparent 25%),
        linear-gradient(150deg, #04141e 0%, #092a43 52%, #103b5c 100%);
      background-size: 64px 64px, 64px 64px, auto, auto;
      background-attachment: fixed;
    }
    body::before,
    body::after { border-radius: 10px; transform: rotate(12deg); }
    .page-card {
      border-radius: 12px;
      border-color: var(--line);
      box-shadow: 0 34px 90px rgba(2, 13, 20, .56);
    }
    .canvas-caption { font-weight: 600; }
    .announcement {
      background: #b7d3df;
      border-bottom: 1px solid var(--line);
      font-weight: 600;
    }
    .announcement .tag,
    .component-brands span,
    .card-index { border-radius: 4px; }
    .page-card .site-nav {
      background: rgba(16, 59, 92, .97);
      border-bottom-color: var(--line);
    }
    .page-card .site-nav.is-solid { background: rgba(5, 25, 35, .97); }
    .nav-links,
    .logo { font-weight: 700; }
    .hero-shade {
      background:
        linear-gradient(90deg, rgba(5,25,35,.7), rgba(28,112,168,.2) 52%, rgba(5,25,35,.76)),
        radial-gradient(circle at 20% 28%, rgba(114,173,200,.7), transparent 24%),
        radial-gradient(circle at 72% 62%, rgba(28,112,168,.72), transparent 34%);
    }
    .hero-ridges { opacity: .58; }
    .hero-title,
    .statement h2,
    .section-title,
    .solution-copy h3,
    .application-copy h3,
    .card h3,
    .factory-stat strong,
    .step h3,
    .company-heading h2,
    .company-intro h3,
    .cases-panel h3,
    .partner-copy h2,
    .quote-copy h2,
    .modal h2 {
      font-weight: 600;
      letter-spacing: -.045em;
    }
    .hero-title {
      font-size: clamp(58px, 7vw, 100px);
      line-height: .88;
    }
    .hero-body,
    .section-intro { font-weight: 500; }
    .section-title { font-size: clamp(34px, 3vw, 46px); line-height: .96; }
    .statement h2 { font-size: clamp(42px, 4.5vw, 68px); }
    .eyebrow,
    .section-kicker,
    .data-label,
    .arrow-link { font-weight: 600; }
    .pill-button {
      min-height: 46px;
      border-radius: 6px;
      font-weight: 600;
      letter-spacing: .055em;
    }
    .pill-button .button-icon {
      width: 34px;
      height: 34px;
      border-radius: 4px;
    }
    .pill-button:hover .button-icon { transform: translate(2px, -2px); }
    .arrow-link::before { border-radius: 4px; }
    .arrow-link:hover::before { transform: translate(2px, -2px); }
    .modal-close { border-radius: 6px; }
    .data-strip-inner,
    .card,
    .solution-card,
    .application-card,
    .factory-image,
    .company-image,
    .partner-image,
    .quote-form { border-radius: 8px; }
    .card { background: rgba(248, 250, 251, .7); }
    .card:hover { background: #f8fafb; box-shadow: 0 16px 36px rgba(8, 45, 69, .16); }
    .application-card { background: transparent; }
    .company { background: #c5d9e2; }
    .solutions,
    .partner { background: linear-gradient(180deg, #092a43, #051923); }
    .quote-section { background: #103b5c; }
    .footer { background: #b7d3df; }
    .field input,
    .field textarea,
    .field select,
    .file-field { border-radius: 6px; }
    .form-message { border-radius: 4px; }
    .page-card .footer { border-radius: 0 0 12px 12px; }
    @media (max-width: 760px) {
      .page-card { border-radius: 8px; }
      .page-card .footer { border-radius: 0 0 8px 8px; }
      .hero-title { font-size: clamp(46px, 12vw, 62px); }
      .section-title { font-size: 30px; }
      .partner-copy h2,
      .quote-copy h2 { font-size: 34px; line-height: 1.2; }
    }
    /* Bright blue + industrial gray variant. */
    :root {
      --blue: #0D7C72;
      --blue-bright: #2e91cc;
      --cyan: #8dc9e5;
      --cyan-soft: #dbe7ed;
      --page: #f1f3f5;
      --white: #fbfcfd;
      --navy: #125985;
      --navy-deep: #0b3855;
      --peach: #d8dde1;
      --ink-soft: #5d6c76;
      --line: rgba(0, 0, 0, 0.12);
    }
    body {
      color: #19577f;
      background:
        linear-gradient(rgba(255, 255, 255, .22) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .22) 1px, transparent 1px),
        radial-gradient(circle at 10% 4%, rgba(46, 145, 204, .48), transparent 27%),
        radial-gradient(circle at 92% 78%, rgba(23, 106, 166, .25), transparent 30%),
        linear-gradient(150deg, #899aa6 0%, #b8c2c9 46%, #7f919d 100%);
      background-size: 72px 72px, 72px 72px, auto, auto, auto;
      background-attachment: fixed;
    }
    body::before,
    body::after { border-color: rgba(255, 255, 255, .3); }
    .page-card {
      border: 0;
      background: #f1f3f5;
      box-shadow: 0 30px 82px rgba(32, 49, 60, .3);
    }
    .canvas-caption { color: rgba(251, 252, 253, .9); }
    .canvas-caption span:last-child { color: #e7f5fb; }
    .announcement {
      color: #274a61;
      background: #d8dde1;
      border-bottom-color: var(--line);
    }
    .announcement .tag {
      color: #fbfcfd;
      background: #2e91cc;
    }
    .page-card .site-nav { background: rgba(23, 106, 166, .97); }
    .page-card .site-nav.is-solid { background: rgba(11, 56, 85, .97); }
    .hero { background: #f1f1f1; color: #111111; }
    .hero-media { opacity: 0 !important; }
    .hero-shade { display: none !important; }
    .hero::before { display: none !important; }
    .hero-title-copy { color: #8dc9e5; opacity: .34; }
    .data-strip-inner {
      background: rgba(23, 106, 166, .9);
      box-shadow: 0 18px 52px rgba(32, 49, 60, .22);
    }
    .card {
      border-color: var(--line);
      background: #e5e9ec;
    }
    .card:hover { background: #fbfcfd; box-shadow: 0 16px 34px rgba(32, 49, 60, .14); }
    .card-index { color: #fbfcfd; background: #2e91cc; }
    .application-card { background: transparent; }
    .factory-stats { border-color: var(--line); }
    .factory-stat { border-color: var(--line); }
    .logos { border-color: var(--line); }
    .customer-logo { border-color: var(--line); }
    .solutions,
    .partner { background: linear-gradient(180deg, #176aa6 0%, #0b3855 100%); }
    .company { background: #d1d8dd; }
    .quote-section { background: #176aa6; }
    .quote-form { color: #19577f; background: #eef1f3; }
    .footer { color: #274a61; background: #c9d0d5; }
    .pill-button { background: #176aa6; }
    .pill-button:hover { color: #0b3855; background: #8dc9e5; }
    .pill-button.is-light { color: #176aa6; background: #fbfcfd; }
    .pill-button.is-light .button-icon { background: #176aa6; }
    .arrow-link::before { border-color: var(--line); }
    .arrow-link:hover::before { background: #8dc9e5; }
    .field input,
    .field textarea,
    .field select,
    .file-field { border-color: var(--line); }
    .field input:focus,
    .field textarea:focus,
    .field select:focus { border-color: #2e91cc; }
    /* Lightened correction: airy blue, silver gray, no navy-heavy surfaces. */
    :root {
      --blue: #0D7C72;
      --blue-bright: #57a8d4;
      --cyan: #a7d7e9;
      --cyan-soft: #e0ebf0;
      --page: #f4f6f7;
      --white: #ffffff;
      --navy: #438fbd;
      --navy-deep: #2f709b;
      --peach: #e1e5e8;
      --ink-soft: #62737d;
      --line: rgba(0, 0, 0, 0.12);
    }
    body {
      color: #28668d;
      background:
        linear-gradient(rgba(255, 255, 255, .38) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .38) 1px, transparent 1px),
        radial-gradient(circle at 10% 4%, rgba(87, 168, 212, .34), transparent 27%),
        radial-gradient(circle at 92% 78%, rgba(50, 127, 175, .18), transparent 30%),
        linear-gradient(150deg, #b9c7cf 0%, #dce2e5 48%, #afbec7 100%);
      background-size: 72px 72px, 72px 72px, auto, auto, auto;
      background-attachment: fixed;
    }
    .canvas-caption { color: #31566d; }
    .canvas-caption span:last-child { color: #28668d; }
    .page-shell > .announcement {
      margin-bottom: 12px;
      overflow: hidden;
      border-radius: 8px;
    }
    .page-shell > .site-nav {
      position: sticky;
      top: 20px !important;
      left: auto;
      width: 100%;
      margin-bottom: 0;
      border: 0;
      border-radius: 8px 8px 0 0;
      color: #ffffff;
      background: rgba(67, 143, 189, .97);
      box-shadow: none;
      backdrop-filter: blur(18px);
      z-index: 60;
    }
    .page-shell > .site-nav.is-solid { background: rgba(47, 112, 155, .97); }
    .page-shell > main { position: relative; }
    .page-shell > main .hero {
      min-height: calc(100vh - 154px);
      border-radius: 0 0 8px 8px;
    }
    .page-shell > main .hero .hero-content { min-height: calc(100vh - 154px); }
    .page-shell > main > .page-card {
      position: relative;
      z-index: 5;
      margin-top: 0;
    }
    .page-shell > main > .page-card .data-strip {
      margin-top: 0;
      padding-top: 40px;
    }
    .page-card { background: #f4f6f7; box-shadow: 0 28px 72px rgba(56, 75, 86, .22); }
    .announcement { color: #35586d; background: #e1e5e8; }
    .announcement .tag { color: #ffffff; background: #57a8d4; }
    .page-card .site-nav { background: rgba(67, 143, 189, .97); }
    .page-card .site-nav.is-solid { background: rgba(47, 112, 155, .97); }
    .hero { background: #f1f1f1; color: #111111; }
    .hero-media { opacity: .55; filter: saturate(.68) contrast(.9) brightness(1.08); }
    .hero-shade { display: none !important; }
    .hero-ridges { opacity: .42; }
    .data-strip-inner { background: rgba(50, 127, 175, .9); }
    .solutions,
    .partner { background: linear-gradient(180deg, #4c9cca 0%, #2f709b 100%); }
    .quote-section { background: #438fbd; }
    .card { background: #e9edef; }
    .card:hover { background: #ffffff; }
    .application-card { background: transparent; }
    .company { background: #d9e0e4; }
    .logos { background: #edf0f2; }
    .quote-form { color: #28668d; background: #f2f4f5; }
    .footer { color: #35586d; background: #d6dde1; }
    .pill-button { background: #327faf; }
    .pill-button:hover { color: #245b7c; background: #a7d7e9; }
    .pill-button.is-light { color: #327faf; background: #ffffff; }
    .pill-button.is-light .button-icon { background: #327faf; }
    .card-index { background: #57a8d4; }
    .arrow-link:hover::before { background: #a7d7e9; }
    /* Reference-style announcement: tags / message / action / close. */
    .page-shell > .announcement {
      min-height: 76px;
      display: grid;
      grid-template-columns: auto minmax(280px, 560px) auto;
      justify-content: center;
      gap: 42px;
      padding: 12px 64px 12px 28px;
    }
    .banner-tags { display: flex; align-items: center; gap: 8px; }
    .announcement .banner-tags .tag {
      display: inline-flex;
      min-height: 30px;
      align-items: center;
      padding: 7px 12px 6px;
      color: #28668d;
      background: #a7d7e9;
      white-space: nowrap;
    }
    .banner-message {
      margin: 0;
      font-size: 16px;
      font-weight: 600;
      line-height: 1.25;
      text-align: center;
    }
    .banner-action {
      display: inline-flex;
      min-height: 44px;
      align-items: center;
      gap: 10px;
      padding: 6px 15px 6px 6px;
      border-radius: 6px;
      color: #ffffff;
      background: #327faf;
      font-family: var(--utility);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: .055em;
      text-transform: uppercase;
      white-space: nowrap;
      transition: color .3s ease, background .3s ease;
    }
    .banner-action .banner-icon {
      display: grid;
      width: 32px;
      height: 32px;
      place-items: center;
      border-radius: 4px;
      color: #327faf;
      background: #ffffff;
    }
    .banner-action:hover { color: #245b7c; background: #a7d7e9; }
    @media (max-width: 900px) {
      .page-shell > .announcement {
        grid-template-columns: auto 1fr auto;
        gap: 16px;
      }
      .banner-message { text-align: left; }
    }
    @media (max-width: 760px) {
      .page-shell > .announcement {
        min-height: 0;
        grid-template-columns: 1fr auto;
        padding: 12px 44px 12px 12px;
      }
      .banner-tags { grid-column: 1; grid-row: 1; }
      .banner-message { grid-column: 1 / -1; grid-row: 2; font-size: 12px; }
      .banner-action { grid-column: 2; grid-row: 1; min-height: 38px; padding-right: 10px; }
      .banner-action .banner-icon { width: 28px; height: 28px; }
    }
    /* Split Hero: copy left, product image right, no background photograph. */
    .hero-media { display: none; }
    .hero { background: #f1f1f1; color: #111111; }
    .hero-shade { display: none !important; }
    .hero-ridges { opacity: .14; }
    .hero-content {
      align-items: center;
      justify-content: initial;
      padding-top: 56px;
      padding-bottom: 92px;
      text-align: left;
    }
    .hero-copy { grid-column: 2 / span 11; align-self: center; }
    .hero-title { font-size: clamp(52px, 5.4vw, 78px); }
    .hero-body { max-width: 640px; margin: 28px 0 0; }
    .hero-actions { justify-content: flex-start; }
    .hero-product {
      position: relative;
      grid-column: 14 / span 10;
      min-height: 520px;
      height: min(68vh, 620px);
      align-self: center;
      margin: 0;
      overflow: hidden;
      border-radius: 8px;
      background: #d9e0e4;
      box-shadow: 0 22px 60px rgba(40, 78, 102, .22);
    }
    .hero-product img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: saturate(.78) contrast(.94) brightness(1.04);
    }
    .hero-product::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, transparent 58%, rgba(24, 77, 108, .76));
      pointer-events: none;
    }
    .hero-product figcaption {
      position: absolute;
      z-index: 2;
      right: 24px;
      bottom: 22px;
      left: 24px;
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 20px;
      color: #ffffff;
    }
    .hero-product figcaption strong { display: block; max-width: 330px; font-size: 20px; line-height: 1.1; }
    .hero-product figcaption span {
      font-family: var(--utility);
      font-size: 10px;
      font-weight: 600;
      letter-spacing: .055em;
      text-align: right;
      text-transform: uppercase;
    }
    @media (max-width: 900px) {
      .page-shell > main .hero,
      .page-shell > main .hero .hero-content { min-height: auto; }
      .hero-content { padding-top: 72px; padding-bottom: 88px; }
      .hero-copy,
      .hero-product { grid-column: 2 / span 22; }
      .hero-title { font-size: clamp(46px, 10vw, 66px); }
      .hero-product { height: 440px; min-height: 0; margin-top: 48px; }
    }
    /* Food Compliance International-inspired visual system: blue geometric fields, monochrome imagery, editorial scale. */
    :root {
      --blue: #0D7C72;
      --blue-bright: #2e5ee6;
      --cyan: #a9b7f8;
      --cyan-soft: #d9ddf4;
      --page: #ffffff;
      --white: #ffffff;
      --navy: #0D7C72;
      --navy-deep: #111111;
      --peach: #f8f8f8;
      --ink-soft: #525252;
      --line: #cccccc;
      --display: "Poppins", sans-serif;
      --body: "Poppins", sans-serif;
      --utility: "Poppins", sans-serif;
     --gutter: 40px;
     --section-space-desktop: 120px;
     --section-space-laptop: 104px;
     --section-space-tablet: 88px;
    }
    body { padding: 0; color: #111111; background: var(--page); }
    body::before, body::after { display: none; }
    .page-shell { width: 100%; max-width: none; }
    .canvas-caption, .announcement { display: none; }
    .page-shell > .site-nav {
      position: absolute;
      z-index: 60;
      top: 0 !important;
      left: 0;
      margin: 0;
      border-radius: 0;
      box-shadow: none;
      border-bottom: 1px solid var(--line);
      color: #111111;
      background: transparent;
      backdrop-filter: none;
      transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
    }
    .page-shell > .site-nav:hover {
      background: #ffffff;
      border-bottom-color: var(--line);
    }
    .page-shell > .site-nav.is-solid { 
      position: fixed; 
      background: #ffffff; 
      border-bottom: 1px solid var(--line);
      box-shadow: none; 
    }
    .nav-inner { min-height: 56px; }
    .logo { font-size: 31px; font-weight: 800; }
    .nav-links { font-size: 14px; font-weight: 600; }
    .nav-links .pill-button { min-height: 0; height: auto; padding: 18px 16px; border-radius: 0; background: var(--blue); color: #ffffff; border: none; }
    .nav-links .pill-button .button-icon { border-radius: 50%; color: var(--blue); background: #ffffff; }
    .nav-links .pill-button:hover { background: #111111; color: #ffffff; }
    .nav-links .pill-button:hover .button-icon { background: #ffffff; color: #111111; }
    .page-shell > main .hero {
      min-height: calc(100vh - 125px); /* 减去数据条高度 */
      min-height: calc(100svh - 125px);
      margin-top: 0;
      overflow: visible; /* 移除 overflow: hidden 避免裁切图片 */
      border-radius: 0;
      background: #f1f1f1;
      color: #111111;
      padding-top: 56px; /* 为绝对定位的导航栏留出空间，使内容在视觉上真正居中 */
      box-sizing: border-box;
    }
    .page-shell > main .hero .hero-content { 
      min-height: calc(100vh - 56px - 125px);
      min-height: calc(100svh - 56px - 125px);
      display: grid; 
      align-items: center; 
      padding: 0;
    }
    .hero::before { display: none; }
    .hero-shade { display: none; }
    .hero::after { display: none; }
    .hero .container.grid-24 { --grid-line: var(--line); z-index: 1; }
    .hero-ridges { display: none; }
    .hero-content { 
      position: relative; 
      z-index: 3; 
      width: 100%; 
    }
    .hero-copy { grid-column: 2 / span 9; width: auto; align-self: center; text-align: left; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; z-index: 10; margin-bottom: 0; }
    .hero-brand { margin-bottom: clamp(16px, 3vh, 34px); filter: invert(1); }
    .hero-title { max-width: 1400px; margin: 0; font-size: clamp(42px, 4.5vw, 68px); font-weight: 600; line-height: .95; letter-spacing: -.03em; text-align: left; }
    .hero-title-copy { display: none; }
    .hero-body { max-width: 580px; margin: clamp(20px, 3vh, 38px) 0 0; font-size: clamp(16px, 1.8vw, 20px); font-weight: 500; line-height: 1.5; color: rgba(0,0,0,.6); text-align: left; }
    .hero-actions { margin-top: clamp(24px, 4vh, 48px); }
    .hero-product {
      display: flex !important;
      position: relative;
      grid-column: 11 / span 14;
      width: 100%;
      height: auto !important;
      margin: 0;
      z-index: 5;
      justify-content: flex-end;
      align-items: center;
      background: transparent !important;
      box-shadow: none !important;
      clip-path: none !important;
      border-radius: 0 !important;
    }
    .hero-product img { width: 100%; height: auto; max-height: calc(100vh - 250px) !important; max-height: calc(100svh - 250px) !important; max-width: none !important; object-fit: contain; transform: none; filter: none !important; mix-blend-mode: multiply !important; box-shadow: none !important; }
    .hero-product::before, .hero-product::after { display: none !important; }
    .hero-product figcaption { right: 28px; bottom: 26px; left: 42px; }
    .hero-product figcaption strong { font-size: 18px; }
    .hero-scroll { display: none; }
    .page-shell > main > .page-card { z-index: 5; margin-top: 0; border-radius: 0; background: var(--page); box-shadow: none; }
    .page-shell > main > .page-card .data-strip { margin-top: 0; padding-top: 0; }
    .data-strip { margin-top: 0; padding-inline: 0; background: #ffffff; overflow: hidden; height: 125px; }
    .data-strip .container.grid-24 { padding-inline: 0; height: 100%; }
    .data-strip-inner { grid-column: 2 / span 22; display: grid; grid-template-columns: repeat(4, 1fr); border: none; border-radius: 0; color: #111111; background: #ffffff; box-shadow: none; height: 100%; align-items: center; }
    .data-item { height: auto; border-right: 1px solid var(--line); display: flex; flex-direction: column; justify-content: center; padding: 0 24px; }
    .data-item:last-child { border-right: 0; }
    .data-value { font-size: 34px; font-weight: 700; }
    .data-label { font-weight: 600; }
    .data-note { padding-right: var(--gutter); }
     .section,
     .insights-section { padding-block: var(--section-space-desktop); }
     .company.section { padding-block: 0; }
    .section-rule { border-top-color: var(--line); }
    .section-kicker { grid-column: 2 / span 5; color: #111111; font-size: 11px; }
    .section-head { grid-column: 2 / span 22; }
    .section-title { font-size: clamp(32px, 3vw, 46px); font-weight: 600; line-height: 1.1; letter-spacing: -.04em; }
    .section-intro { font-size: 23px; color: #333333; }
    .intro-statement { padding-top: 150px; background: #fafafa; }
    .statement h2 { font-size: clamp(54px, 6vw, 98px); font-weight: 600; line-height: .84; }
    .statement h2 span { color: var(--blue); }
    .cards-track-wrap { grid-column: 2 / 25; overflow: hidden; margin-top: var(--section-heading-gap); padding-bottom: 24px; margin-right: calc(-1 * var(--gutter)); position: relative; }
    .horizontal-track { display: flex !important; width: max-content; flex-wrap: nowrap; gap: 0 !important; margin-top: 0 !important; transform: translate3d(0, 0, 0); will-change: transform; }
    .horizontal-track .card { width: calc((100vw - var(--gutter) * 2) / 4); flex-shrink: 0; }
    .cards-grid, .solutions-grid, .application-grid { gap: 0; margin-top: var(--section-heading-gap); }
    .card, .solution-card { border-radius: 0; box-shadow: none; }
    .application-card { border-radius: 0; box-shadow: none; border-left: 0; border-right: 0; }
    .application-card:first-child { border-right: 1px solid var(--line); }
    .card { border: 1px solid var(--line); border-left: 0; background: transparent; transition: background 0.3s ease, color 0.3s ease; }
    .card:nth-child(3n) { border-right: 1px solid var(--line); }
    .card:hover { transform: none; color: #ffffff; background: var(--blue); box-shadow: none; }
    .card:hover p { color: rgba(255, 255, 255, 0.7); }
    .card-media { aspect-ratio: 1 / .76; border-radius: 0; padding: 44px; background: transparent; transition: background 0.3s ease; }
    .card-media img { filter: none; object-fit: contain; }
    .application-image img { width: 100%; height: 100%; object-fit: cover; }
    .card-index { border-radius: 50%; color: #ffffff; background: var(--blue); }
    .card-copy { min-height: 240px; padding: 26px; }
    .card h3 { font-size: 24px; font-weight: 600; }
    .card p { font-family: var(--display); color: rgba(0,0,0,.45); font-weight: 500; }
    .card-arrow-btn { display: inline-flex; align-items: center; justify-content: center; background: transparent; color: #111111; border: none; margin-top: auto; align-self: flex-start; transition: all 0.3s ease; }
    .card-arrow-btn svg { width: 36px; height: 36px; }
    .card:hover .card-arrow-btn, .card-arrow-btn:hover { color: #fff; transform: translate(4px, -4px); }
    .card:hover .card-media { background: transparent; }
    .arrow-link::before { border-radius: 50%; }
    .center-cta { justify-content: flex-start; }
    .pill-button { border-radius: 0; background: #111111; }
    .pill-button .button-icon { border-radius: 50%; }
    .pill-button:hover { color: #ffffff; background: var(--blue); }
    .solutions { color: var(--white); background: #1b1b1b; }
    .partner { color: #ffffff; background: #0D7C72; padding-block: 0; }
    .solutions .section-kicker { color: rgba(255,255,255,.72); }
    .solution-card { min-height: 0; border: 1px solid rgba(255,255,255,.15); border-left: 0; background: transparent; }
    .solution-card:nth-child(4n) { border-right: 0; }
    .solution-card img { filter: none; }
    .solution-copy h3 { font-size: 24px; font-weight: 600; color: var(--white); }
    .solution-copy p { color: rgba(255,255,255,.6); }
    .application-card { background: transparent; }
    .application-copy { min-height: 300px; }
    .application-copy h3 { font-size: 24px; font-weight: 700; }
    .factory-image, .company-sidebar, .partner-image, .quote-form { border-radius: 0; }
    .factory-stats, .factory-stat { border-color: var(--line); }
    .logos { background: #ffffff; color: #111111; border-bottom: 1px solid var(--line); }
    .logos .container.grid-24 { --grid-line: var(--line); }
    .logos .section-title, .logos .section-intro { color: #111111; }
    .logo-wall, .customer-logo { border: none; }
    .logo-track { display: contents; }
    .logo-track .customer-logo { width: auto; flex-shrink: unset; }
    .customer-logo { filter: none; }
    .process-line, .step { border-color: var(--line); }
    .process-line { grid-column: 1 / span 24; }
    #process { padding-bottom: 0; background: var(--page); }
    #process .container.grid-24 { --grid-line: var(--line); }
    .step:first-child { background: var(--blue); color: #ffffff; border-right-color: #0d6c5e; }
    .step:first-child h3, .step:first-child p { color: #ffffff; }
    .step:not(:first-child) { background: #e8e8e8; color: #111111; }
    .step:not(:first-child) h3, .step:not(:first-child) p { color: #111111; }
    .step h3 { margin-top: 58px; }
    .company { background: #f7f7f7; }
    .quote-section { background: linear-gradient(90deg, rgba(8, 25, 23, 0.85) 0%, rgba(8, 25, 23, 0.7) 100%), url(https://masa.wxkntest.com/wp-content/uploads/2026/08/Tell-Us-What-You-Need-to-Sand.webp) bottom left / cover no-repeat; }
    .quote-form { background: #fafafa; color: #111111; }
    .partner .container.grid-24 { --grid-line: #0d6c5e; }
    .footer { border-radius: 0; color: #ffffff; background: #0D7C72; position: relative; overflow: hidden; --grid-line: #0d6c5e; z-index: 1; }
    .footer::before {
      content: ""; position: absolute; top: 0; bottom: 0; left: var(--gutter); right: var(--gutter);
      border-left: 1px solid var(--grid-line); border-right: 1px solid var(--grid-line);
      pointer-events: none; z-index: -1;
    }
    .footer-main, .footer-bottom { position: relative; z-index: 1; }
    .footer-bottom { border-top-color: rgba(255,255,255,.2); }
    @media (max-width: 760px) {
      .data-item { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
      .data-item:nth-child(2n) { border-right: 0; }
      .data-item:nth-child(3), .data-item:nth-child(4) { border-bottom: 0; }
    }
    /* One shared, reference-style button system: 56px pill, 1px outline, no separate icon badge. */
    .pill-button,
    .arrow-link {
      display: inline-flex;
      align-items: center;
      min-height: 0;
      box-sizing: border-box;
      gap: 12px;
      padding: 18px 16px;
      border: 1px solid #0D7C72;
      border-radius: 0;
      color: #ffffff;
      background: #0D7C72;
      font-family: var(--body);
      font-size: 16px;
      font-weight: 600;
      letter-spacing: -.01em;
      line-height: 1;
      text-transform: none;
      transition: color .28s ease, background .28s ease, border-color .28s ease;
    }
    .pill-button .button-icon { display: none; }
    .pill-button:hover,
    .pill-button:focus-visible,
    .arrow-link:hover,
    .arrow-link:focus-visible {
      color: #0D7C72;
      border-color: #0D7C72;
      background: #ffffff;
    }
    .pill-button.is-light {
      color: #0D7C72;
      border-color: #ffffff;
      background: #ffffff;
    }
    .pill-button.is-light:hover,
    .pill-button.is-light:focus-visible {
      color: #ffffff;
      background: transparent;
    }
    .pill-button.is-outline {
      color: #ffffff;
      border-color: rgba(255,255,255,.55);
      background: transparent;
    }
    .pill-button.is-outline:hover,
    .pill-button.is-outline:focus-visible {
      color: #0D7C72;
      border-color: #ffffff;
      background: #ffffff;
    }
    .pill-button.is-dark {
      color: #ffffff;
      border-color: #111111;
      background: #111111;
    }
    .pill-button.is-dark:hover,
    .pill-button.is-dark:focus-visible {
      color: #111111;
      border-color: #111111;
      background: #ffffff;
    }
    .pill-button.is-outline-dark {
      color: #111111;
      border-color: #111111;
      background: transparent;
    }
    .pill-button.is-outline-dark .button-icon {
      color: #ffffff;
      background: #111111;
    }
    .pill-button.is-outline-dark:hover,
    .pill-button.is-outline-dark:focus-visible {
      color: #ffffff;
      border-color: #111111;
      background: #111111;
    }
    .pill-button.is-outline-dark:hover .button-icon,
    .pill-button.is-outline-dark:focus-visible .button-icon {
      color: #111111;
      background: #ffffff;
    }
    .arrow-link { display: inline-flex; align-self: flex-start; margin-top: auto; }
    .arrow-link::before { display: none; }
    .solutions .arrow-link { display: flex; justify-content: center; align-self: stretch; width: auto; margin-left: -40px; margin-right: -40px; padding: 18px 16px; color: #ffffff; border: none; border-top: 1px solid rgba(255,255,255,.3); background: transparent; }
    .partner .arrow-link { color: #ffffff; border-color: rgba(255,255,255,.3); background: transparent; }
    .solutions .arrow-link:hover,
    .partner .arrow-link:hover { color: #ffffff; border-color: var(--blue); background: var(--blue); }
    .nav-links .pill-button { border-radius: 0; }
    .nav-links .pill-button:not(.is-outline) { color: #ffffff; border-color: transparent; background: var(--blue); }
    .modal-close { border-radius: 0; border-color: #0D7C72; color: #0D7C72; }
    @media (max-width: 900px) {
      .nav-links .nav-link { display: none; }
      /* mobile: hero fills viewport, content centered by grid */
      .page-shell > main .hero { min-height: calc(100vh - 200px); min-height: calc(100svh - 200px); margin-top: 0; padding-top: 70px; }
      .page-shell > main .hero .hero-content { min-height: calc(100vh - 70px - 200px); min-height: calc(100svh - 70px - 200px); padding: 0; }
      .hero-content { padding: 0; }
      .hero-copy { grid-column: 2 / span 22; text-align: center; align-items: center; }
      .hero-title { font-size: clamp(48px, 13vw, 94px); text-align: center; }
      .hero-product { grid-column: 1 / -1; margin-top: 54px; background: transparent !important; clip-path: none !important; box-shadow: none !important; height: auto; }
    }
    /* Pure CSS Sticky Cover System */
    .hero-cover-wrapper,
    .process-cover-wrapper {
      position: relative;
      z-index: 10;
    }
    
    @media (min-width: 901px) {
      .hero#hero:not(.ms-hero-split) { position: sticky; top: 0; z-index: 1; }
      .data-strip { position: relative; z-index: 2; background: #ffffff; }
      #machines { position: relative; z-index: 2; background: #ffffff; }
      
      .process#process { position: sticky; top: 0; z-index: 1; }
      .company { position: relative; z-index: 2; }
    }
    
    /* Ensure solid backgrounds so sticky elements don't bleed through */
    .insights-section { background: #f4f6f7; position: relative; z-index: 5; overflow: hidden; }
    .quote-section { position: relative; z-index: 6; }
    #machines { position: relative; z-index: 5; background: #ffffff !important; }
    #factory { position: relative; z-index: 5; background: #f4f6f7; }
    .logos { position: relative; z-index: 5; background: #ffffff; }
     #partner { position: relative; z-index: 5; }

     /* Tablet: reduce vertical section spacing without changing mobile rules. */
     @media (min-width: 1024px) and (max-width: 1439px) {
       .page-shell > main section.section:not(.company):not(.partner),
       .page-shell > main .insights-section {
         padding-block: var(--section-space-laptop);
       }
     }

     @media (min-width: 761px) and (max-width: 1023px) {
       .page-shell > main section.section:not(.company):not(.partner),
       .page-shell > main .insights-section {
         padding-block: var(--section-space-tablet);
       }
     }
    .pin-spacer { background: #ffffff !important; }
  

/* ===== 全站询盘弹窗 (.ms-modal) ===== */
.ms-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.ms-modal.is-open { display: flex; }

.ms-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(3, 5, 44, 0.72);
}

.ms-modal__dialog {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  width: min(960px, 100%);
  max-height: calc(100vh - 48px);
  overflow: hidden;
  background: var(--white);
  box-shadow: 0 30px 80px rgba(3, 5, 44, 0.35);
}

.ms-modal__close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  background: var(--white);
  color: var(--blue);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

.ms-modal__left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 56px 48px;
  background: var(--blue);
  color: #ffffff;
}

#ms-modal-quote .ms-modal__left {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: var(--blue);
  background-image: url("https://masa.wxkntest.com/wp-content/uploads/2026/08/Get-a-Custom-Sanding-Machine-Quote.webp");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

#ms-modal-quote .ms-modal__left::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(145deg, rgba(13, 124, 114, .9) 0%, rgba(6, 54, 50, .78) 54%, rgba(3, 5, 44, .64) 100%);
  content: "";
}

#ms-modal-quote .ms-modal__left > * {
  position: relative;
  z-index: 1;
}

#ms-modal-exit .ms-modal__left {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: var(--blue);
  background-image: url("https://masa.wxkntest.com/wp-content/uploads/2026/08/Get-a-Custom-Sanding-Machine-Quote.webp");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

#ms-modal-exit .ms-modal__left::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(145deg, rgba(13, 124, 114, .9) 0%, rgba(6, 54, 50, .78) 54%, rgba(3, 5, 44, .64) 100%);
  content: "";
}

#ms-modal-exit .ms-modal__left > * {
  position: relative;
  z-index: 1;
}

#ms-modal-exit .ms-modal__right {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.ms-modal__exit-primary {
  align-self: flex-start;
  margin-top: 8px;
}

.ms-modal__exit-secondary {
  align-self: flex-start;
  margin-top: 18px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink-soft);
  font: inherit;
  font-size: 13px;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ms-modal__exit-secondary:hover,
.ms-modal__exit-secondary:focus-visible {
  color: var(--blue);
}

.ms-modal__eyebrow {
  margin: 0 0 14px;
  font-family: var(--utility);
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #FBD21E;
}

.ms-modal__title {
  margin: 0 0 20px;
  font-family: var(--display);
  font-size: clamp(30px, 3vw, 40px);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: #ffffff;
}
.ms-modal__title em { font-style: normal; color: #FBD21E; }

.ms-modal__lede {
  margin: 0 0 26px;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.82);
}

.ms-modal__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.ms-modal__list li {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 11px 0;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.92);
  border-top: 0;
}
.ms-modal__list li::before {
  display: none;
}
.ms-modal__list-icon {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  margin-top: 1px;
  color: #FBD21E;
}

.ms-modal__right {
  padding: 56px 48px;
  overflow-y: auto;
}
.ms-modal__form-title {
  margin: 0 0 8px;
  font-family: var(--display);
  font-size: 24px;
  font-weight: 600;
  color: var(--blue);
}
.ms-modal__form-sub {
  margin: 0 0 28px;
  font-size: 14px;
  color: var(--ink-soft);
}

/* G03 global modal refinements */
.ms-modal__form-sub strong { color: var(--blue); font-weight: 600; }
.ms-modal__right .g03-form-shell { min-width: 0; }
.ms-modal__confidentiality { margin: 14px 0 0; color: rgba(25, 87, 127, .68); font-size: 12px; line-height: 1.55; }
.ms-modal--catalog .ms-modal__dialog { grid-template-columns: 1fr 1fr; }
.ms-modal--catalog .ms-modal__left { background: var(--cyan-soft); color: var(--blue); }
.ms-modal--catalog .ms-modal__title,
.ms-modal--catalog .ms-modal__lede,
.ms-modal--catalog .ms-modal__list li { color: var(--blue); }
.ms-modal--catalog .ms-modal__title em,
.ms-modal--catalog .ms-modal__eyebrow { color: #FBD21E; }
.g03-catalog-form { display: flex; flex-direction: column; gap: 16px; }
.g03-catalog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.g03-field { display: flex; flex-direction: column; gap: 8px; color: var(--blue); font-size: 12px; font-weight: 600; }
.g03-field span b { color: #c54b3c; font-weight: 600; }
.g03-field input {
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 0;
  color: var(--blue);
  background: var(--white);
  outline: 0;
}
.g03-field input:focus { border-color: var(--blue-bright); box-shadow: 0 0 0 3px rgba(13, 124, 114, .12); }
.g03-field input::placeholder { color: rgba(25, 57, 105, .48); }
.g03-privacy { margin: 0; color: var(--ink-soft); font-size: 11px; line-height: 1.5; }
.g03-privacy a { color: inherit; text-decoration: underline; }
.g03-submit {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 50px;
  padding: 0 18px;
  border: 0;
  border-radius: 0;
  color: var(--white);
  background: var(--blue);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.g03-submit:hover { background: var(--blue-bright); }
.g03-submit:disabled { opacity: .65; cursor: default; }
.g03-catalog-success { padding: 14px; color: var(--blue); background: var(--cyan-soft); font-size: 13px; line-height: 1.55; }
.g03-catalog-success strong { display: block; margin-bottom: 4px; }
.g03-catalog-download { display: block; margin-top: 8px; color: var(--blue); font-weight: 600; text-decoration: underline; }

/* Keep the country picker scroll inside its own option list instead of
   handing the wheel gesture to the page/Lenis scroller. */
.infility-country-dropdown {
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
}
.infility-country-dropdown.open {
  pointer-events: auto;
}

/* Use the MASA theme for the selected country and its interactive option
   states, with a very light themed background for hover/active feedback. */
.infility-country-input:not(:placeholder-shown) {
  color: var(--masa-color-text, #111111) !important;
  -webkit-text-fill-color: var(--masa-color-text, #111111) !important;
}

.infility-country-input[data-surface-tone="dark"]:not(:placeholder-shown) {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.infility-country-dropdown .infility-country-option:hover,
.infility-country-dropdown .infility-country-option.active {
  color: var(--masa-color-primary, #0d7c72) !important;
  background-color: rgba(13, 124, 114, 0.08) !important;
}

@media (max-width: 720px) {
  .ms-modal { padding: 0; }
  .ms-modal__dialog { grid-template-columns: 1fr; max-height: 100vh; }
  .ms-modal__left, .ms-modal__right { padding: 44px 24px; }
  .ms-modal--catalog .ms-modal__dialog { grid-template-columns: 1fr; }
  .g03-catalog-grid { grid-template-columns: 1fr; }
}

/* =================================================================
   首页各端适配修正 (page-home.php)
   Food Compliance 变体的基础样式会覆盖更早的移动端媒体查询，
   这里在文件末尾重新声明平板/移动端布局，确保各端正确堆叠。
   ================================================================= */

/* 平板及以下：产品卡片横向滚动轨道恢复为纵向网格 */
@media (max-width: 900px) {
  .cards-track-wrap {
    grid-column: 2 / span 22;
    overflow: visible;
    margin-top: var(--section-heading-gap);
    padding-bottom: 0;
    margin-right: 0;
  }
  .horizontal-track {
    display: grid !important;
    grid-template-columns: 1fr !important; /* Force single column */
    width: auto;
    gap: var(--gap) !important;
    transform: none !important;
  }
  .horizontal-track .card {
    width: auto;
    flex-shrink: 1;
    border-left: 1px solid var(--line);
  }
  .solutions-accordion {
    grid-template-columns: 1fr;
  }
  .sa-tab {
    padding-top: 24px;
    padding-bottom: 24px;
  }
  .sa-tab-title {
    font-size: 18px;
  }
}

/* 移动端：数据条恢复 2x2 网格，并修正被覆盖的间距 */
@media (max-width: 760px) {
  .data-strip,
  .data-strip .container.grid-24,
  .data-strip-inner {
    height: auto;
  }
  .data-strip-inner {
    grid-template-columns: repeat(2, 1fr);
    align-items: stretch;
  }
  .data-item {
    min-height: 100px;
    padding: 16px 12px;
  }
  .data-value {
    font-size: 20px;
  }
  .data-label {
    font-size: 10px;
    margin-top: 8px;
  }
  .section,
  .insights-section {
    padding-block: 40px;
  }
  .section-kicker {
    grid-column: 1 / -1;
  }
  .card-copy {
    min-height: 0;
    padding: 20px;
  }
  .card-media {
    padding: 10px;
  }
  .card h3 {
    font-size: 20px;
  }
  .application-copy {
    padding: 20px;
    min-height: 0;
  }
  .arrow-link {
    margin-top: 0;
  }
  .application-card {
    border-right: 0;
    min-height: auto;
  }
  .cards-grid,
  .solutions-accordion,
  .application-grid,
  .factory-layout,
  .process-line,
  .logo-wall,
  .cards-track-wrap {
    margin-top: var(--section-heading-gap) !important;
  }
  .cards-grid,
  .application-grid {
    gap: var(--gap) !important;
  }

  .footer-columns { grid-template-columns: 1fr; gap: 28px; }
  .contact-col a { overflow-wrap: anywhere; }
  .card-arrow-btn,
  .lang-toggle,
  .hamburger { min-width: 44px; min-height: 44px; }
  .factory-image,
  .partner-image { min-height: 0; aspect-ratio: 4 / 3; }
}

/* Keep homepage headings continuously fluid above the mobile breakpoint. */
@media (min-width: 761px) {
  .page-shell > main .hero-title {
    font-size: clamp(40px, calc(21px + 2.5vw), 68px);
  }

  .page-shell > main h2,
  .page-shell > main .section-title {
    font-size: clamp(32px, calc(22.8px + 1.21vw), 46px);
  }
}

/* Keep solution accordion copy inside its column on compact desktop screens. */
.solutions-accordion {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.sa-image-col,
.sa-tabs-col,
.sa-tab,
.sa-tab-info,
.sa-tab-content,
.sa-tab-inner {
  min-width: 0;
}

.sa-tab-title,
.sa-tab-inner p {
  overflow-wrap: anywhere;
}

@media (min-width: 901px) and (max-width: 1439px) {
  .solutions-accordion {
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  }

  .sa-tab {
    gap: 16px;
    padding-inline: clamp(20px, 2.4vw, 32px);
  }

  .sa-tab-title {
    font-size: clamp(18px, 1.7vw, 22px);
  }

  .sa-tab-btn {
    width: 44px;
    height: 44px;
  }

  .sa-tab-btn svg {
    width: 32px;
    height: 32px;
  }
}

@media (max-width: 900px) {
  .solutions-accordion {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Stack before the copy column becomes too narrow; this also covers browser zoom. */
@media (min-width: 901px) and (max-width: 1280px) {
  .solutions-accordion {
    grid-template-columns: minmax(0, 1fr);
  }

  .sa-image-col {
    aspect-ratio: 16 / 7;
  }

  .sa-tabs-col {
    width: 100%;
  }
}

/* Footer composition: use all existing content in a clear responsive hierarchy. */
.footer {
  padding: 72px 0 24px;
}

.footer-main {
  display: grid;
  grid-template-columns: minmax(240px, 1.1fr) minmax(0, 2.9fr);
  gap: 64px;
  align-items: start;
  padding-bottom: 56px;
}

.footer-brand {
  max-width: 360px;
}

.footer-brand .logo {
  display: inline-flex;
  align-items: center;
}

.footer-brand .logo img {
  display: block;
  max-width: 100%;
}

.footer-brand p {
  max-width: 34ch;
  margin: 22px 0 16px;
  line-height: 1.65;
}

.trust-badge {
  margin-bottom: 22px;
  line-height: 1.45;
}

.footer-columns {
  display: grid;
  grid-template-columns: minmax(150px, 1.25fr) repeat(3, minmax(120px, 1fr));
  gap: 28px;
  align-items: start;
}

.footer-col {
  min-width: 0;
}

.footer-col h3 {
  margin-bottom: 16px;
  color: rgba(255,255,255,.72);
}

.footer-col h3.mt-4 {
  margin-top: 28px;
}

.footer-col a {
  margin: 9px 0;
  line-height: 1.4;
}

.footer-col a.all-link {
  margin-top: 14px;
}

.footer-download {
  margin-top: 16px;
  line-height: 1.4;
}

.contact-col p,
.footer-address {
  margin: 0 0 18px;
}

.contact-col p:last-child,
.footer-address:last-child {
  margin-bottom: 0;
}

.footer-address address {
  margin-top: 6px;
}

.footer-bottom {
  padding-top: 20px;
  line-height: 1.5;
}

@media (min-width: 768px) and (max-width: 1199px) {
  .footer-main {
    display: block;
    padding-bottom: 48px;
  }

  .footer-brand {
    max-width: 620px;
    margin-bottom: 44px;
  }

  .footer-columns {
    grid-template-columns: minmax(180px, 1.25fr) repeat(3, minmax(0, 1fr));
    gap: 24px;
  }
}

@media (min-width: 768px) and (max-width: 899px) {
  .footer-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px 24px;
  }
}

@media (max-width: 767px) {
  .footer {
    padding-block: 0;
  }

  .footer-main {
    display: block;
    padding-bottom: 36px;
  }

  .footer-brand {
    max-width: none;
    margin-bottom: 36px;
  }

  .footer-brand p {
    max-width: 42ch;
  }

  .footer-columns {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .footer-col h3 {
    margin-bottom: 12px;
  }

  .footer-col h3.mt-4 {
    margin-top: 24px;
  }

  .footer-col a {
    margin: 8px 0;
  }

  .footer-bottom {
    align-items: flex-start;
    gap: 10px;
    font-size: 12px;
  }
}

/* Replacement footer: keep the approved hidden navigation state and redesign the visible content. */
.footer-columns > .footer-col:not(.contact-col) {
  display: none !important;
}

.footer-columns {
  grid-template-columns: minmax(0, 1fr);
  max-width: 780px;
  width: 100%;
  margin-inline: auto;
}

.footer {
  background: #0D7C72;
  padding-top: 0;
}

.footer-main {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 44px;
  text-align: center;
  padding: 64px var(--gutter) 64px;
}

.footer-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 760px;
}

.footer-brand p {
  max-width: 64ch;
}

.footer-brand .trust-badge {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 24px;
}

.trust-badge__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.trust-badge__icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  color: #fbd21e;
}

.footer-brand .social-links {
  justify-content: center;
}

.contact-col {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 28px;
  align-content: start;
  width: 100%;
}

.contact-col > h3 {
  grid-column: 1 / -1;
  margin-bottom: 0;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255,255,255,.2);
  text-align: center;
}

.contact-col .footer-address {
  grid-column: 1 / -1;
  margin: 0 0 18px;
  padding: 18px 0 20px;
}

.contact-col > p {
  margin: 0;
  padding: 16px 0 4px;
  text-align: center;
}

.contact-col > p strong,
.footer-address > strong {
  margin-bottom: 7px;
  color: rgba(255,255,255,.62);
}

.contact-col a {
  font-size: 17px;
  line-height: 1.35;
}

.footer-bottom {
  justify-content: center;
  flex-wrap: wrap;
  text-align: center;
  border-top-color: rgba(255,255,255,.2);
}

@media (min-width: 768px) and (max-width: 1199px) {
  .footer-main {
    gap: 40px;
    padding: 64px var(--gutter) 52px;
  }

  .footer-brand {
    max-width: 680px;
    margin-bottom: 0;
  }
}

@media (max-width: 767px) {
  .footer-main {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    padding: 64px var(--gutter) 40px;
  }

  .footer-brand {
    margin-bottom: 0;
  }

  .footer-brand .trust-badge {
    align-items: flex-start;
    flex-direction: column;
    text-align: left;
  }

  .contact-col {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .contact-col .footer-address,
  .contact-col > h3 {
    grid-column: 1;
  }

  .contact-col > p {
    padding: 15px 0 5px;
  }

  .footer-bottom {
    align-items: center;
    text-align: center;
  }
}

/* Keep the mobile header contact CTA compact. */
@media (max-width: 760px) {
  .page-shell > .site-nav .nav-right .pill-button {
    display: inline-flex !important;
    width: 44px;
    height: 44px;
    min-height: 0;
    padding: 0;
    gap: 0;
    justify-content: center;
    flex: 0 0 auto;
  }
  .page-shell > .site-nav .nav-right .pill-button .button-icon {
    display: grid !important;
    width: 28px;
    height: 28px;
    font-size: 18px;
    color: currentColor;
    background: transparent;
    border-radius: 0;
  }
  .page-shell > .site-nav .nav-right .pill-button .button-icon svg {
    width: 17px;
    height: 17px;
  }
  .page-shell > .site-nav .nav-right .pill-button > span:last-child {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}
  
/* Keep the two approved hero paragraphs visually grouped. */
.hero-body + .hero-body {
  margin-top: 12px;
}
/* =================================================================
   栅格自适应列数 (Grid column adaptive system)
   桌面 24 列 → 平板 12 列 → 移动 4 列
   ================================================================= */

/* 平板：12 列 */
@media (max-width: 1100px) {
  .grid-24 { --grid-cols: 12; }

  /* 全宽内容：占满 12 列 */
  .section-head,
  .data-strip-inner,
  .cards-grid,
  .cards-track-wrap,
  .center-cta,
  .application-grid,
  .process-line,
  .company-heading,
  .articles-layout,
  .intro-statement .statement {
    grid-column: 1 / -1;
  }
  .section-kicker { grid-column: 1 / span 4; }

  /* 左右分栏布局 → 12 列各半 */
  .factory-image { grid-column: 1 / span 6; min-height: 610px; }
  .factory-copy { grid-column: 7 / span 6; }
  .logos .section-head { grid-column: 1 / span 4; }
  .logo-wall { grid-column: 5 / span 8; }
  .company-sidebar { grid-column: 1 / span 5; }
  .company-image { grid-column: 6 / span 7; }
  .partner-image { grid-column: 1 / span 5; }
  .partner-copy { grid-column: 6 / span 7; }
  .quote-copy { grid-column: 1 / span 5; }
  .quote-form { grid-column: 6 / span 7; }

  /* 产品卡平板两列 */
  .product-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Partner: stack the image above the copy before the split layout gets too narrow. */
@media (min-width: 761px) and (max-width: 1100px) {
  #partner .partner-image,
  #partner .partner-copy {
    grid-column: 1 / -1;
  }

  #partner .partner-image {
    width: 100%;
    min-height: 0;
    margin: 0;
    aspect-ratio: 16 / 9;
  }

  #partner .partner-copy {
    padding-block: clamp(48px, 6vw, 72px);
  }
}

/* Factory: use a wide stacked composition on laptops to avoid a tall, narrow image. */
@media (min-width: 761px) and (max-width: 1366px) {
  #factory .factory-image,
  #factory .factory-copy {
    grid-column: 1 / -1;
  }

  #factory .factory-image {
    width: 100%;
    min-height: 0;
    aspect-ratio: 16 / 7;
    background-image: url("https://masa.wxkntest.com/wp-content/uploads/2026/08/verify-the-factory-behind-the-sanding-machine.webp");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
  }

  #factory .factory-image img {
    opacity: 0;
  }

  #factory .factory-copy {
    margin-top: clamp(32px, 4vw, 56px);
  }
}

@media (min-width: 761px) and (max-width: 1366px) and (prefers-reduced-motion: reduce) {
  #factory .factory-image {
    background-attachment: scroll;
  }
}

/* About section: stack the factory image above the copy on smaller laptops. */
@media (min-width: 761px) and (max-width: 1366px) {
  #about .company-heading-line {
    display: none;
  }

  #about .company-heading {
    grid-column: 1 / -1;
    grid-row: 1;
    padding-block: 56px 32px;
  }

  #about .company-image {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    min-height: 0;
    margin: 0;
    aspect-ratio: 16 / 7;
    overflow: hidden;
  }

  #about .company-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
  }

  #about .company-sidebar {
    grid-column: 1 / -1;
    grid-row: 3;
    border-right: 0;
    padding: 48px 0 0;
    --indent: 0px;
  }
}

/* 首屏：901–1100px 文案左、产品右 */
@media (min-width: 901px) and (max-width: 1100px) {
  .hero-copy { grid-column: 1 / span 5; }
  .hero-product { grid-column: 6 / span 7; }
  .sa-tab { padding-block: 16px; }
}

/* 首屏：≤900px 堆叠为单列（图片在上、文字在下） */
@media (max-width: 900px) {
  .page-shell > main .hero .hero-content { padding: 40px 20px; }
  .hero-product { grid-column: 1 / -1; order: -1; margin-top: 0; margin-bottom: 36px; }
  .hero-copy { grid-column: 1 / -1; text-align: center; align-items: center; order: 1; }
  .hero-title { font-size: 40px; text-align: center; }
  .hero-body { text-align: center; }
}

/* 移动：4 列，全部堆叠为单列 */
@media (max-width: 760px) {
  :root { --gutter: 20px; }
  .grid-24 { --grid-cols: 4; }
  .container.grid-24::before { display: none; }

  .section-kicker,
  .section-head,
  .data-strip-inner,
  .cards-grid,
  .cards-track-wrap,
  .center-cta,
  .solutions-accordion,
  .application-grid,
  .factory-image,
  .factory-copy,
  .logos .section-head,
  .logo-wall,
  .process-line,
  .company-heading,
  .company-sidebar,
  .company-image,
  .partner-copy,
  .partner-image,
  .articles-layout,
  .quote-copy,
  .quote-form,
  .intro-statement .statement,
  .hero-copy,
  .hero-product {
    grid-column: 1 / -1;
    grid-row: auto;
  }
  .company-heading-line { display: none; }
  .hero-actions { width: 100%; align-items: stretch; }
  .hero-actions .pill-button { width: 100%; justify-content: center; }
}

/* Final mobile refinements for the current home template. */
@media (max-width: 900px) {
  .page-shell > main .hero .hero-content { padding: 20px 20px 40px; }
  .hero-product { order: -1; margin-top: 0; margin-bottom: 8px; }
  .hero-copy { order: 0; }
}

@media (max-width: 760px) {
  .data-item { min-height: 110px; }
  .data-value { font-size: 22px; }
  .data-label { font-size: 11px; }
  .hero-title { font-size: 36px; }
  .section-title { font-size: clamp(30px, 8vw, 32px); }
  .company-intro h3 { font-size: 24px; }
  .page-shell > main h2,
  .page-shell > main .section-title { font-size: 32px; line-height: 1.1; }
  .page-shell .pill-button {
    width: 100%;
    justify-content: center;
    font-size: 14px;
  }
  #factory .factory-stat strong { font-size: 20px; }
  #factory .factory-stats { align-items: start; grid-auto-rows: auto; }
  #factory .factory-stat { min-height: 0; height: auto; }
  .logos .section-intro {
    margin-bottom: 20px;
    font-size: 15px;
  }
  .logos .logo-wall { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .logos .logo-wall { gap: 10px; }
  .logos .customer-logo { min-height: 0; height: auto; padding: 0; }
  .logos .customer-logo img { max-width: 100%; }
  #machines .cards-track-wrap { margin-top: var(--section-heading-gap) !important; }
  #machines .cards-grid { margin-top: 0 !important; }
  #machines .center-cta { margin-top: 20px; }
  #solutions .sa-tab { padding-left: 0; padding-right: 0; }
  #factory .factory-layout { display: contents; }
  #factory .factory-image { order: 1; margin-top: 0; }
  #factory .section-head { order: 2; margin-top: 20px; }
  #factory .factory-copy { order: 3; margin-top: var(--section-heading-gap-tight); }
  #factory .factory-copy > p:nth-of-type(2) { margin-bottom: 0; }
  #factory .factory-stats { margin-top: 20px; }
  #partner .partner-image { margin-top: 0; }
  #partner .partner-copy h2 { margin-top: 20px; }
  #partner .partner-copy > p {
    margin: var(--section-heading-gap-tight) 0;
    font-size: 15px;
  }
  #partner .partner-features { margin-top: 0; margin-bottom: 0; }
  #about .company-heading { padding-block: 0 var(--section-heading-gap); }
  #about .company-image { order: 1; margin-bottom: 20px; }
  #about .company-heading { order: 2; }
  #about .company-sidebar { order: 3; }
  #about .company-sidebar {
    padding-block: 24px 0;
    border-bottom: 0;
  }
  #about .company-intro { margin-bottom: 40px; }
  #about .company-intro h3 { margin-bottom: 14px; }
  #about .company-intro p { margin-bottom: 20px; }
  #about .cases-panel { margin-top: 0; }
  #about .case-link { margin-bottom: 0; }
  #about .cases-panel h3 { margin-bottom: 16px; }
  #about .case-item { padding-left: 20px; }
  #about .case-item::before { left: 0; }
  .section-title,
  .company-heading h2,
  .company-intro h3,
  .partner-copy h2,
  .quote-copy h2,
  .article-title { text-wrap: balance; }

  /* Keep mobile spacing on a simple 16/24/32/48 rhythm. */
  .page-shell > main .section,
  .page-shell > main .insights-section { padding-block: 40px; }
  #machines,
  #solutions,
  #applications,
  #factory,
  .logos,
  #process,
  #about,
  #insights,
  #quote { padding-block: 40px; }
  #partner { padding-block: var(--partner-block-space); }
  .cards-track-wrap,
  .cards-grid,
  .solutions-accordion,
  .application-grid,
  .factory-layout,
  .process-line,
  .logo-wall { margin-top: var(--section-heading-gap) !important; }
  #process .section-head { display: contents !important; }
  #process .section-title { grid-column: 1 / -1; order: 1; }
  #process .process-line { grid-column: 1 / -1; order: 2; }
  #process .quote-trigger {
    grid-column: 1 / -1;
    order: 3;
    justify-self: start;
    margin-top: 20px;
  }
  .factory-copy,
  .quote-form { margin-top: 32px; }
  .partner-image,
  .cases-panel { margin-top: 32px; }
  .logos .section-head { margin-bottom: 0; }
  .logos .logo-wall { margin-top: 0 !important; }
  #insights .articles-sidebar { gap: 0; }
  #insights .articles-layout { gap: 0; }
  #insights .articles-sidebar { display: contents; }
  #insights .articles-sidebar .title-wrap { order: 1; }
  #insights .articles-feed { order: 2; }
  #insights .articles-sidebar > div:last-child {
    order: 3;
    width: 100%;
    margin-top: 20px;
  }
  #insights .articles-sidebar .section-intro {
    margin-bottom: 20px;
    font-size: 15px;
  }
  #insights .article-title { font-size: 15px; }
  #quote .quote-copy > p, #quote .quote-copy .section-intro {
    margin: var(--section-heading-gap-tight) 0;
    font-size: 18px;
    color: rgba(255, 255, 255, 0.78) !important;
  }
  #quote .quote-benefits { margin-top: 0; }

  .card-copy { padding: 20px; }
  .application-copy { padding: 24px 20px; }
  #applications .application-copy {
    flex: 0 0 auto;
    padding: 26px 20px !important;
    box-sizing: border-box;
    justify-content: flex-start;
  }
  #applications .application-copy .arrow-link { margin-block: 0; }
  #applications .application-card { border: 1px solid var(--line); }
  .sa-tab { padding: 20px; }
  #process .step,
  #process .step + .step { padding: 24px 20px; }
  .factory-stat { padding: 16px; }

  #process .step h3 { margin-top: 18px; }
  .footer { padding-block: 0; }
  .footer-columns { grid-template-columns: 1fr; gap: 28px; }
  .contact-col a { overflow-wrap: anywhere; }
  .card-arrow-btn,
  .lang-toggle,
  .hamburger { min-width: 44px; min-height: 44px; }
  .factory-image,
  .partner-image { min-height: 0; aspect-ratio: 4 / 3; }
}
  
/* Footer contact links bypass the homepage inquiry gate. */
.footer-contact-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  gap: 8px 14px;
}

.contact-col .footer-call-link {
  color: #fbd21e;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

@media (max-width: 767px) {
  #factory .component-brands {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  #factory .component-brands span {
    min-height: 56px;
    padding: 8px;
  }

  #factory .component-brands img {
    max-height: 40px;
  }
}

/* Mobile homepage Hero: keep the video full-bleed without squeezing the copy. */
@media (max-width: 760px) {
  .page-shell > main .hero {
    min-height: 0;
    height: auto;
    padding-top: 70px;
  }

  .page-shell > main .hero .hero-content {
    min-height: 0;
    padding: 80px 20px 72px;
    align-items: center;
  }

  .page-shell > main .hero-copy {
    grid-column: 1 / -1 !important;
    width: 100%;
    max-width: 560px;
    text-align: center;
    align-items: center;
  }

  .page-shell > main .hero-title-wrap,
  .page-shell > main .hero-title {
    width: 100%;
    max-width: 100%;
  }

  .page-shell > main .hero-title {
    font-size: 36px;
    line-height: 1.02;
    text-align: center;
  }

  .page-shell > main .hero-body {
    width: 100%;
    max-width: 100%;
    margin: 18px auto 0;
    font-size: 15px;
    line-height: 1.45;
    text-align: center;
  }

  .page-shell > main .hero-actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    margin-top: 28px;
  }

  .page-shell > main .hero-actions .pill-button {
    width: 100%;
    min-height: 48px;
  }
}

/* Homepage Hero: full-bleed video background. */
.page-shell > main .hero {
  overflow: hidden;
  background: linear-gradient(90deg, #0d7c72 0%, #438f8a 34%, #b9d1cf 68%, #f1f1f1 100%);
  color: #ffffff;
}

.page-shell > main .hero-media {
  display: block !important;
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background: #071f20;
  opacity: 1 !important;
  filter: none !important;
  pointer-events: none;
}

.page-shell > main .hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(6, 91, 83, .97) 0%, rgba(6, 91, 83, .72) 28%, rgba(6, 91, 83, 0) 72%);
}

.page-shell > main .hero-video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
}

.page-shell > main .hero .hero-content {
  z-index: 3;
}

.page-shell > main .hero .container.grid-24 {
  --grid-line: rgba(255, 255, 255, 0.15);
}

.page-shell > .site-nav:not(:hover):not(.is-solid) {
  color: #ffffff;
  border-bottom-color: rgba(255, 255, 255, .08);
}

.page-shell > .site-nav:not(:hover):not(.is-solid) .nav-link,
.page-shell > .site-nav:not(:hover):not(.is-solid) .nav-item:hover > .nav-link,
.page-shell > .site-nav:not(:hover):not(.is-solid) .hamburger {
  color: #ffffff;
}

.page-shell > main .hero-copy {
  grid-column: 2 / span 13;
}

.page-shell > main .hero-title,
.page-shell > main .hero-body {
  color: #ffffff;
}

.page-shell > main .hero-body {
  width: 100%;
  max-width: 1100px;
}

.page-shell > main .hero-title-wrap {
  width: 100%;
  max-width: 1100px;
}

.page-shell > main .hero-title {
  width: 100%;
}

/* Give the Insights heading and description 80% of the available desktop width. */
@media (min-width: 761px) {
  #insights .articles-sidebar .title-wrap {
    width: 80%;
    max-width: 80%;
  }
}

#insights .articles-sidebar .section-intro {
  width: 100%;
  max-width: 100%;
}

/* Center the quote copy vertically against the form on larger screens. */
.quote-section .container.grid-24 {
  align-items: center;
}

@media (max-width: 760px) {
  .quote-section .container.grid-24 {
    align-items: stretch;
  }
}

/* Keep the product-section action beside its heading as a text link. */
#machines .machines-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
}

#machines .machines-section-head .section-title {
  margin-bottom: 0;
}

#machines .machines-view-all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
  color: var(--blue);
  font-family: var(--display);
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: color .28s ease;
}

#machines .machines-view-all svg {
  width: 24px;
  height: 24px;
  transition: transform .28s ease, color .28s ease;
}

#machines .machines-view-all:hover,
#machines .machines-view-all:focus-visible {
  color: #FBD21E;
}

#machines .machines-view-all:hover svg,
#machines .machines-view-all:focus-visible svg {
  transform: translate(4px, -4px);
}

.page-shell > main .hero-title > span {
  color: #FBD21E !important;
}

.page-shell > main .hero-actions .is-outline-dark {
  color: #ffffff;
  border-color: rgba(255, 255, 255, .65);
}

.page-shell > main .hero-actions .is-outline-dark:hover,
.page-shell > main .hero-actions .is-outline-dark:focus-visible {
  color: #071f20;
  border-color: #FBD21E;
  background: #FBD21E;
}

.page-shell > main .hero-actions .quote-trigger {
  color: #0D7C72;
  border-color: #ffffff;
  background: #ffffff;
}

.page-shell > main .hero-actions .quote-trigger:hover,
.page-shell > main .hero-actions .quote-trigger:focus-visible {
  color: #071f20;
  border-color: #FBD21E;
  background: #FBD21E;
}

@media (min-width: 901px) and (max-width: 1100px) {
  .page-shell > main .hero-copy { grid-column: 2 / span 12; }
}

@media (min-width: 761px) {
  .page-shell > main .hero-title {
    font-size: clamp(38px, calc(19px + 2.3vw), 62px);
  }
}

.page-shell > main #factory .factory-copy > .pill-button {
  margin-top: 20px;
}

@media (max-width: 900px) {
  .page-shell > main .hero-copy { grid-column: 2 / span 22; }
  .page-shell > main .hero-media::after {
    background: linear-gradient(180deg, rgba(3, 20, 22, .62) 0%, rgba(3, 20, 22, .8) 100%);
  }
}

.gb-back-to-top {
  background: #0D7C72;
  color: #ffffff;
}

.gb-back-to-top:hover {
  background: #075b53;
}

.gb-back-to-top:focus-visible {
  outline-color: #FBD21E;
}

/* Use the MASA theme color for the video banner overlay. */
.page-shell > main .hero-media::after {
  background: linear-gradient(90deg, rgba(6, 91, 83, .97) 0%, rgba(6, 91, 83, .72) 28%, rgba(6, 91, 83, 0) 72%);
}

@media (max-width: 900px) {
  .page-shell > main .hero-media::after {
    background: linear-gradient(180deg, rgba(6, 91, 83, .82) 0%, rgba(6, 91, 83, .96) 100%);
  }
}

/* G03-C exit-intent modal: use one themed vertical panel instead of a white split. */
.ms-modal--exit .ms-modal__dialog {
  grid-template-columns: 1fr;
  width: min(680px, 100%);
  background: var(--blue);
  background-image: none;
}

.ms-modal--exit .ms-modal__left {
  padding: 56px 56px 24px;
  align-items: center;
  text-align: center;
  background-color: var(--blue);
  background-image: url("https://masa.wxkntest.com/wp-content/uploads/2026/08/Get-a-Custom-Sanding-Machine-Quote.webp");
  background-position: center;
  background-size: cover;
}

.ms-modal--exit .ms-modal__left::before {
  display: block;
  background: linear-gradient(145deg, rgba(13, 124, 114, .9) 0%, rgba(6, 54, 50, .82) 54%, rgba(3, 5, 44, .76) 100%);
}

.ms-modal--exit .ms-modal__right {
  padding: 0 56px 56px;
  overflow: visible;
  align-items: center;
  text-align: center;
  background: transparent;
}

.ms-modal--exit .ms-modal__exit-primary {
  align-self: center;
  color: #071f20;
  border-color: #FBD21E;
  background: #FBD21E;
}

.ms-modal--exit .ms-modal__exit-primary:hover,
.ms-modal--exit .ms-modal__exit-primary:focus-visible {
  color: #071f20;
  border-color: #ffffff;
  background: #ffffff;
}

.ms-modal--exit .ms-modal__exit-secondary {
  align-self: center;
  color: rgba(255, 255, 255, .78);
}

.ms-modal--exit .ms-modal__exit-secondary:hover,
.ms-modal--exit .ms-modal__exit-secondary:focus-visible {
  color: #FBD21E;
}

@media (max-width: 720px) {
  .ms-modal--exit .ms-modal__left {
    padding: 44px 24px 20px;
  }

  .ms-modal--exit .ms-modal__right {
    padding: 0 24px 44px;
  }
}

/* Keep the G03-C background on the highest-level panel so it cannot be
   overridden by the legacy ID-based left-column rule. */
#ms-modal-exit .ms-modal__dialog {
  background-color: var(--blue);
  background-image: linear-gradient(145deg, rgba(13, 124, 114, .9) 0%, rgba(6, 54, 50, .82) 54%, rgba(3, 5, 44, .76) 100%), url("https://masa.wxkntest.com/wp-content/uploads/2026/08/Get-a-Custom-Sanding-Machine-Quote.webp");
  background-position: center;
  background-size: cover;
}

#ms-modal-exit .ms-modal__left {
  background: transparent;
}

#ms-modal-exit .ms-modal__left::before {
  display: none;
}

#ms-modal-exit .ms-modal__title {
  font-size: clamp(26px, 2.4vw, 34px);
}

/* Homepage inline-style replacements with equivalent values. */
.factory-layout { grid-column: 1 / -1; }

.process-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
}

.process-section-head .section-title { margin-bottom: 0; }
.process-section-head .quote-trigger { flex-shrink: 0; }

.footer-logo-image {
  display: block;
  width: auto;
  height: 48px;
  object-fit: contain;
}

/* ==========================================================================
   Catalog & Product Layout System (Reusable MASA `ms-` Component System)
   - Site Breadcrumbs: .ms-breadcrumbs
   - Sticky Hero Cover Wrapper: .ms-hero-cover-wrapper
   - Split Hero Banner: .ms-hero-split
   - Catalog Layout & Filter Sidebar: .ms-catalog-layout, .ms-filter-sidebar
   - Product Card Component: .ms-product-card
   - Split Quote CTA Section: .ms-quote-split-section
   ========================================================================== */

/* Breadcrumbs Component */
.ms-breadcrumbs {
  padding-top: 100px;
  padding-bottom: 16px;
  background-color: var(--masa-color-primary, #0D7C72) !important;
}
.ms-breadcrumb-list {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.75);
  list-style: none;
  margin: 0;
  padding: 0;
}
.ms-breadcrumb-list a {
  color: rgba(255, 255, 255, 0.75);
  text-decoration: none;
  transition: color 0.2s ease;
}
.ms-breadcrumb-list a:hover {
  color: #FFFFFF;
}
.ms-breadcrumb-sep {
  font-size: 11px;
  opacity: 0.5;
  color: rgba(255, 255, 255, 0.6);
}
.ms-breadcrumb-current {
  color: #FFFFFF;
  font-weight: 500;
}

/* Sticky Hero Cover System (Curtain Effect) */
.ms-hero-cover-wrapper {
  position: relative;
  z-index: 1;
}
@media (min-width: 901px) {
  .ms-hero-cover-wrapper {
    position: sticky;
    top: 0;
    z-index: 1;
  }
}

/* Split Hero Section */
.ms-hero-split {
  position: relative;
  background-color: var(--masa-color-primary, #0D7C72) !important;
  color: #FFFFFF !important;
  padding-top: 24px;
  padding-bottom: clamp(60px, 7vw, 100px);
  overflow: hidden;
}
.ms-hero-split::before {
  display: none !important;
}
.ms-hero-split__grid {
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  gap: var(--masa-space-grid, 16px);
  align-items: center;
  position: relative;
  z-index: 2;
}
.ms-hero-split__grid::before {
  content: "";
  position: absolute;
  top: -100vmax;
  right: var(--gutter, var(--masa-space-gutter, 32px));
  bottom: -100vmax;
  left: var(--gutter, var(--masa-space-gutter, 32px));
  border-right: 1px solid rgba(255, 255, 255, 0.15);
  border-left: 1px solid rgba(255, 255, 255, 0.15);
  pointer-events: none;
  z-index: 0;
}
.ms-hero-split__copy {
  grid-column: 2 / span 13;
}
.ms-hero-split__copy > .ms-breadcrumbs {
  padding: 0;
  margin: 0 0 clamp(40px, 5vw, 64px);
  background: transparent !important;
  background-color: transparent !important;
  position: relative;
  z-index: auto;
}
.ms-hero-split__copy > .ms-breadcrumbs .ms-breadcrumb-list {
  color: rgba(255, 255, 255, 0.78);
}
.ms-hero-split__eyebrow {
  display: inline-block;
  font-family: var(--masa-font-utility, "Poppins", sans-serif);
  font-size: var(--masa-font-size-caption, 12px);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--masa-color-accent, #FBD21E);
  margin-bottom: 16px;
}
.ms-hero-split__title {
  margin: 0 0 24px;
  font-family: var(--masa-font-display, "Poppins", sans-serif);
  font-size: var(--masa-font-size-h1, clamp(38px, calc(19px + 2.3vw), 62px));
  font-weight: var(--masa-font-weight-heading, 600);
  line-height: var(--masa-line-h1, .95);
  letter-spacing: var(--masa-letter-h1, -.03em);
  color: #FFFFFF !important;
}
.ms-hero-split__desc {
  font-size: clamp(15px, 1.25vw, 17px);
  font-weight: 400;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.85) !important;
  margin: 0 0 16px;
  max-width: 620px;
}
.ms-hero-split__desc:last-of-type {
  margin-bottom: 32px;
}
.ms-hero-split__actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.ms-hero-split__actions .pill-button {
  background: var(--masa-color-accent, #FBD21E);
  color: var(--masa-color-text, #071F20);
  border: none;
}
.ms-hero-split__actions .pill-button:hover {
  background: #FFFFFF;
  color: var(--masa-color-primary, #0D7C72);
}
.ms-hero-split__media {
  grid-column: 15 / span 9;
  position: relative;
}
.ms-hero-split__media-card {
  position: relative;
  border-radius: 0;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: transparent;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.25);
}
.ms-hero-split__media-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.ms-hero-split__media-card:hover img {
  transform: scale(1.03);
}
.ms-hero-split__media-badge {
  position: absolute;
  bottom: 16px;
  left: 16px;
  background: rgba(7, 31, 32, 0.88);
  backdrop-filter: blur(8px);
  padding: 8px 14px;
  border-radius: 0;
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #FFFFFF;
  font-size: 12px;
  font-weight: 500;
}

/* Section Catalog Directory (Solid Curtain Cover) */
.ms-catalog-section {
  position: relative;
  z-index: 10;
  background: #ffffff !important;
  border-top: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  padding-block: var(--masa-space-section, clamp(88px, 9vw, 140px));
  box-shadow: none !important;
}
.ms-catalog-head {
  grid-column: 2 / span 22;
  margin-bottom: clamp(36px, 4vw, 56px);
}
.ms-catalog-head .section-title {
  margin-bottom: 16px;
}
.ms-catalog-intro {
  font-size: clamp(16px, 1.4vw, 19px);
  font-weight: 400;
  color: var(--masa-color-text-muted, #525252);
  max-width: 860px;
  line-height: 1.6;
  margin: 0;
}
.ms-catalog-intro a {
  color: var(--masa-color-primary, #0D7C72);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}
.ms-catalog-intro a:hover {
  color: var(--masa-color-primary-hover, #075B53);
}

/* Reusable recommended-product category tags for solution pages. */
.ms-recommended-products__filters {
  margin-bottom: clamp(28px, 3vw, 44px);
}
.ms-recommended-products__filters .ms-tag-filter {
  justify-content: flex-start;
}

/* Catalog Layout (Sidebar + Grid) */
.ms-catalog-layout {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 32px;
  align-items: start;
}

/* Sidebar Filter */
.ms-filter-sidebar {
  background: transparent;
  border: none;
  box-shadow: none;
  border-radius: 0;
  padding: 0;
  position: sticky;
  top: 90px;
}
.ms-filter-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  margin-bottom: 18px;
}
.ms-filter-title {
  font-family: var(--masa-font-display, "Poppins", sans-serif);
  font-size: 17px;
  font-weight: 600;
  margin: 0;
  color: var(--masa-color-text, #071F20);
}
.ms-filter-reset {
  background: transparent;
  border: none;
  font-family: var(--masa-font-utility, "Poppins", sans-serif);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--masa-color-text-muted, #525252);
  cursor: pointer;
  padding: 0;
  transition: color 0.2s ease;
}
.ms-filter-reset:hover {
  color: var(--masa-color-primary, #0D7C72);
}
.ms-filter-search {
  position: relative;
  margin-bottom: 18px;
}
.ms-filter-search__input {
  width: 100%;
  padding: 9px 12px 9px 34px;
  font-size: 13px;
  border: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  border-radius: 0;
  background: #FAFAFA;
  box-sizing: border-box;
  outline: none;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.ms-filter-search__input:focus {
  border-color: var(--masa-color-primary, #0D7C72);
  background: #FFFFFF;
}
.ms-filter-search__icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--masa-color-text-muted, #525252);
  font-size: 12px;
  pointer-events: none;
}
.ms-filter-group__title {
  font-family: var(--masa-font-utility, "Poppins", sans-serif);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--masa-color-text-muted, #525252);
  margin: 0 0 10px;
}
.ms-filter-group + .ms-filter-group {
  margin-top: 40px;
}

/* Multi-Select Checkboxes */
.ms-checkbox-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ms-checkbox-item {
  display: flex;
  align-items: center;
  padding: 7px 0;
  cursor: pointer;
  user-select: none;
  transition: opacity 0.2s ease;
  border-radius: 0;
  position: relative;
}
.ms-checkbox-item input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.ms-checkbox-custom {
  width: 17px;
  height: 17px;
  border: 1.5px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  background: #FFFFFF;
  margin-right: 11px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.ms-checkbox-item input[type="checkbox"]:checked ~ .ms-checkbox-custom {
  background: var(--masa-color-primary, #0D7C72);
  border-color: var(--masa-color-primary, #0D7C72);
}
.ms-checkbox-item input[type="checkbox"]:checked ~ .ms-checkbox-custom::after {
  content: "";
  width: 4px;
  height: 8px;
  border: solid #FFFFFF;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) translate(-1px, -1px);
}
.ms-checkbox-text {
  font-family: var(--masa-font-body, "Poppins", sans-serif);
  font-size: 13.5px;
  font-weight: 500;
  color: var(--masa-color-text, #071F20);
  flex-grow: 1;
  line-height: 1.3;
}
.ms-checkbox-item:hover .ms-checkbox-text {
  color: var(--masa-color-primary, #0D7C72);
}
.ms-filter-count {
  font-size: 11px;
  padding: 2px 7px;
  border-radius: 0;
  background: rgba(0, 0, 0, 0.06);
  color: var(--masa-color-text-muted, #525252);
  font-weight: 600;
  margin-left: 8px;
}
.ms-checkbox-item input[type="checkbox"]:checked ~ .ms-filter-count {
  background: rgba(13, 124, 114, 0.12);
  color: var(--masa-color-primary, #0D7C72);
}

/* Product Cards Grid */
.ms-product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

/* Product Card Component */
.ms-product-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  border-radius: 0;
  background: rgba(255, 253, 249, 0.46);
  display: flex;
  flex-direction: column;
  transition: transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.5s ease, background 0.3s ease;
}
.ms-product-card:hover {
  transform: translateY(-6px);
  background: #ffffff;
  box-shadow: 0 20px 48px rgba(25, 57, 105, 0.12);
}
.ms-product-card__media {
  position: relative;
  aspect-ratio: 4 / 3;
  background: #ffffff;
  border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.ms-product-card__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.ms-product-card:hover .ms-product-card__media img {
  transform: scale(1.04);
}
.ms-product-card__body {
  padding: 28px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  min-height: 218px;
}
.ms-product-card__title {
  margin: 0 0 12px;
  font-family: var(--masa-font-display, "Poppins", sans-serif);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--masa-color-text, #071F20);
}
.ms-product-card__desc {
  margin: 0 0 24px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.55;
  color: var(--masa-color-text-muted, #525252);
  flex-grow: 1;
}
.ms-product-card__footer {
  margin-top: 40px;
  padding-top: 14px;
  border-top: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.08));
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.ms-product-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--masa-font-utility, "Poppins", sans-serif);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--masa-color-primary, #0D7C72);
  text-decoration: none;
  transition: color 0.2s ease, gap 0.2s ease;
}
.ms-product-card__link i {
  font-size: 11px;
  transition: transform 0.2s ease;
}
.ms-product-card__link:hover {
  color: var(--masa-color-primary-hover, #075B53);
  gap: 12px;
}
.ms-product-card__link:hover i {
  transform: translateX(3px);
}

/* Split Quote Section (S03 CTA) */
.ms-quote-split-section {
  position: relative;
  background: linear-gradient(135deg, var(--masa-color-dark, #071F20) 0%, var(--masa-color-navy, #03052C) 100%);
  color: var(--masa-color-on-dark, #FFFFFF);
  padding-block: var(--masa-space-section, clamp(88px, 9vw, 140px));
  overflow: hidden;
  z-index: 10;
}
.ms-quote-split__grid {
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  gap: var(--masa-space-grid, 16px);
  align-items: center;
}
.ms-quote-split__copy {
  grid-column: 2 / span 11;
}
.ms-quote-split__title {
  margin: 0 0 20px;
  font-family: var(--masa-font-display, "Poppins", sans-serif);
  font-size: var(--masa-font-size-section-title, clamp(38px, 3.5vw, 52px));
  font-weight: 600;
  line-height: var(--masa-line-heading, 1.05);
  letter-spacing: var(--masa-letter-heading, -0.035em);
  color: #FFFFFF;
}
.ms-quote-split__desc {
  font-size: clamp(15px, 1.2vw, 17px);
  font-weight: 400;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.82);
  margin: 0 0 32px;
}
.ms-quote-checklist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.ms-quote-checklist__item {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 15px;
  color: rgba(255, 255, 255, 0.9);
}
.ms-quote-checklist__icon {
  width: 20px;
  height: 20px;
  color: var(--masa-color-accent, #FBD21E);
  flex-shrink: 0;
}
.ms-quote-split__form-col {
  grid-column: 14 / span 10;
}
.ms-quote-split__form-card {
  background: var(--page, #FFFBF0);
  color: var(--masa-color-text, #071F20);
  border-radius: 0;
  padding: clamp(28px, 4vw, 40px);
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.35);
}
.ms-form-confidential {
  margin: 16px 0 0;
  font-size: 12px;
  color: var(--masa-color-text-muted, #525252);
  text-align: center;
  line-height: 1.4;
}

/* Mobile Filter Bar */
.ms-mobile-filter-bar {
  display: none;
  margin-bottom: 20px;
}
.ms-mobile-filter-toggle {
  width: 100%;
  padding: 12px 18px;
  border-radius: 0;
  background: #FFFFFF;
  border: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  font-family: var(--masa-font-body, "Poppins", sans-serif);
  font-size: 15px;
  font-weight: 600;
  color: var(--masa-color-text, #071F20);
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}

/* Responsive Breakpoints for Catalog Layout */
@media (max-width: 1100px) {
  .ms-hero-split__copy {
    grid-column: 1 / span 14;
  }
  .ms-hero-split__media {
    grid-column: 16 / span 9;
  }
  .ms-catalog-layout {
    grid-template-columns: 240px 1fr;
    gap: 24px;
  }
  .ms-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
  .ms-quote-split__copy {
    grid-column: 1 / span 12;
  }
  .ms-quote-split__form-col {
    grid-column: 13 / span 12;
  }
}

@media (max-width: 900px) {
  .ms-hero-split__copy {
    grid-column: 1 / -1;
    margin-bottom: 32px;
  }
  .ms-hero-split__media {
    grid-column: 1 / -1;
  }
  .ms-catalog-layout {
    grid-template-columns: 1fr;
  }
  .ms-mobile-filter-bar {
    display: block;
  }
  .ms-filter-sidebar {
    display: none;
    position: static;
    margin-bottom: 24px;
  }
  .ms-filter-sidebar.is-open {
    display: block;
  }
  .ms-product-grid {
    grid-template-columns: 1fr;
  }
  .ms-quote-split__copy {
    grid-column: 1 / -1;
    margin-bottom: 36px;
  }
  .ms-quote-split__form-col {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .ms-hero-split__actions {
    flex-direction: column;
    align-items: stretch;
  }
  .ms-hero-split__actions .pill-button {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 760px) {
  .ms-hero-split__grid::before {
    display: none;
  }
}

/* ========================================================================== 
   CORE SHARED MASA DESIGN SYSTEM (.ms-*) BASE COMPONENTS
   ========================================================================== */

/* 1. Breadcrumbs */
.ms-breadcrumbs {
  padding-top: clamp(96px, 10vw, 140px);
  padding-bottom: 16px;
  background: #FFFFFF;
  position: relative;
  z-index: 2;
}
.ms-breadcrumbs-col {
  grid-column: 2 / span 22;
}
.ms-breadcrumb-list {
  display: flex;
  align-items: center;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 13px;
  font-family: var(--masa-font-body, "Poppins", sans-serif);
  color: var(--masa-color-text-muted, #525252);
}
.ms-breadcrumb-list a {
  color: #FFFFFF;
  text-decoration: none;
  transition: color 0.2s ease;
}
.ms-breadcrumb-list a:hover {
  color: #FFFFFF;
  text-decoration: underline;
}
.ms-breadcrumb-sep {
  opacity: 0.4;
  font-size: 11px;
  color: #FFFFFF;
}
.ms-breadcrumb-current {
  color: #FFFFFF;
  font-weight: 600;
}

/* 2. Hero Split (.ms-hero-split) & Pure CSS Sticky Cover System */
.ms-hero-cover-wrapper {
  position: relative;
  z-index: 10;
  background: #FFFFFF;
}

@media (min-width: 901px) {
  .ms-hero-split {
    position: sticky;
    top: 0;
    z-index: 1;
  }
}

.ms-hero-split {
  padding: 0 0 clamp(48px, 5vw, 72px);
  padding-top: calc(56px + clamp(24px, 3vw, 40px));
  background: #FFFFFF;
}
@media (max-width: 760px) {
  .ms-hero-split {
    padding-top: calc(70px + 24px);
  }
}
.ms-hero-split__grid {
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  gap: var(--masa-space-grid, 16px);
  align-items: center;
}
.ms-hero-split__copy {
  grid-column: 2 / span 12;
}
.ms-hero-split__title {
  margin: 0 0 20px;
  font-family: var(--masa-font-display, "Poppins", sans-serif);
  font-size: var(--masa-font-size-h1, clamp(38px, calc(19px + 2.3vw), 62px));
  font-weight: var(--masa-font-weight-heading, 600);
  line-height: var(--masa-line-h1, .95);
  letter-spacing: var(--masa-letter-h1, -.03em);
  color: var(--masa-color-navy, #03052C);
}
.ms-hero-split__desc {
  font-size: clamp(15px, 1.1vw, 16.5px);
  font-weight: 400;
  line-height: 1.6;
  color: var(--masa-color-text-muted, #525252);
  margin: 0 0 14px;
  width: 100%;
  max-width: none;
}
.ms-hero-split__actions {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 28px;
}
.ms-hero-split__media {
  grid-column: 15 / span 9;
}
.ms-hero-split__media-card {
  position: relative;
  border-radius: 0;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.12);
  background: #FFFFFF;
  aspect-ratio: 16 / 9;
}
.ms-hero-split__media-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ms-hero-split__media-badge {
  position: absolute;
  bottom: 16px;
  left: 16px;
  background: rgba(7, 31, 32, 0.88);
  backdrop-filter: blur(8px);
  color: #FFFFFF;
  font-family: var(--masa-font-utility, "IBM Plex Mono", monospace);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 6px 14px;
  border: 1px solid rgba(255, 255, 255, 0.15);
}

/* 3. Product Cards Base */
.ms-product-card {
  background: #FFFFFF;
  border: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.08));
  border-radius: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: none;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.ms-product-card:hover {
  transform: translateY(-6px);
  box-shadow: none;
}
.ms-product-card__thumb {
  position: relative;
  aspect-ratio: 4 / 3;
  background: #F4F6F7;
  overflow: hidden;
}
.ms-product-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 16px;
  display: block;
  transition: transform 0.4s ease;
}
.ms-product-card:hover .ms-product-card__thumb img {
  transform: scale(1.05);
}
.ms-product-card__badge {
  position: absolute;
  top: 14px;
  right: 14px;
  background: var(--masa-color-navy, #03052C);
  color: #FFFFFF;
  font-family: var(--masa-font-utility, "IBM Plex Mono", monospace);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 4px 10px;
}
.ms-product-card__content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.ms-product-card__category {
  font-family: var(--masa-font-utility, "IBM Plex Mono", monospace);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--masa-color-text-muted, #525252);
  margin-bottom: 6px;
  display: block;
}
.ms-product-card__title {
  margin: 0 0 12px;
  font-family: var(--masa-font-display, "Poppins", sans-serif);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--masa-color-navy, #03052C);
}
.ms-product-card__desc {
  font-size: 16px;
  line-height: 1.5;
  color: var(--masa-color-text-muted, #525252);
  margin: 0 0 20px;
  flex: 1;
}
.ms-product-card__specs {
  border-top: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.06));
  border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.06));
  padding: 12px 0;
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ms-spec-item {
  display: flex;
  justify-content: space-between;
  font-size: 12.5px;
}
.ms-spec-label {
  color: var(--masa-color-text-muted, #525252);
}
.ms-spec-val {
  font-weight: 600;
  color: var(--masa-color-navy, #03052C);
}
.ms-product-card__actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.ms-card-btn {
  padding: 10px 14px;
  font-family: var(--masa-font-body, "Poppins", sans-serif);
  font-size: 13px;
  font-weight: 600;
  border-radius: 0;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
  border: 1px solid transparent;
}
.ms-card-btn--outline {
  border-color: var(--masa-color-line, rgba(0, 0, 0, 0.15));
  background: transparent;
  color: var(--masa-color-navy, #03052C);
}
.ms-card-btn--outline:hover {
  background: rgba(3, 5, 44, 0.05);
}
.ms-card-btn--primary {
  background: var(--masa-color-navy, #03052C);
  color: #FFFFFF;
}
.ms-card-btn--primary:hover {
  background: var(--masa-color-blue, #103b5c);
}

/* ==========================================================================
   PRODUCT CATEGORY TEMPLATE SECTIONS (ALTERNATING BACKGROUND RHYTHM)
   ========================================================================== */

/* 1. S02 Process Selection Split Carousel */
.ms-process-section {
  position: relative;
  z-index: 5;
  padding-block: var(--masa-space-section, clamp(80px, 8vw, 120px));
  background: #F4F6F8 !important; /* Matches image background */
}
.ms-process-container {
  grid-column: 2 / span 22;
  display: grid;
  grid-template-columns: 3fr 7fr;
  gap: clamp(40px, 5vw, 80px);
  align-items: start;
}
.ms-process-head {
  position: sticky;
  top: 120px;
}
.section-eyebrow {
  font-family: var(--masa-font-body, "Inter", sans-serif);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--masa-color-text-muted, #525252);
  margin-bottom: 24px;
  display: block;
}
.ms-process-head .section-title {
  font-size: clamp(32px, 3.5vw, 48px);
  line-height: 1.1;
  margin-bottom: 24px;
  color: var(--masa-color-navy, #03052C);
}
.ms-process-head .section-intro {
  font-size: var(--masa-font-size-section-intro, clamp(18px, 1.8vw, 23px));
  font-weight: var(--masa-font-weight-section-intro, 500);
  line-height: var(--masa-line-section-intro, 1.3);
  color: var(--masa-color-section-intro, #111111);
  margin-bottom: 40px;
}
.ms-process-controls {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Canonical H2 supporting description style.
 * Based on the homepage "Selected Customer References" section.
 * Use .section-title followed by .section-intro for new section headings.
 */
.section-intro {
  max-width: 720px;
  margin-top: var(--masa-space-heading-tight, clamp(16px, 2vw, 28px));
  font-family: var(--masa-font-body, "Poppins", sans-serif);
  font-size: var(--masa-font-size-section-intro, clamp(18px, 1.8vw, 23px));
  font-weight: var(--masa-font-weight-section-intro, 500);
  line-height: var(--masa-line-section-intro, 1.3);
  color: var(--masa-color-section-intro, #111111);
}

@media (max-width: 900px) {
  .section-intro {
    font-size: 18px;
  }
}

/* 产品分类页：除 FAQ 外的 H2 描述字号上限统一为 18px */
.tax-product-category .section-intro {
  font-size: 18px;
}

/* 产品分类页：卡片描述文案统一使用 supporting-copy 字级 */
.tax-product-category .ms-process-card__text,
.tax-product-category .ms-product-card__desc,
.tax-product-category .ms-tech-card__text,
.tax-product-category .ms-app-card__text,
.tax-product-category .ms-adv-item__desc {
  font-size: var(--masa-font-size-supporting-copy, 16px);
  font-weight: var(--masa-font-weight-supporting-copy, 400);
  line-height: var(--masa-line-supporting-copy, 1.45);
}

/* Global semantic heading baseline based on the homepage hierarchy.
 * Component classes may refine size or color for a specific composition.
 */
main h1,
main h2,
main h3,
main h4,
main h5,
main h6 {
  font-family: var(--masa-font-display, "Poppins", sans-serif);
  font-weight: var(--masa-font-weight-heading, 600);
  margin-block: 0;
}

main h1 {
  font-size: var(--masa-font-size-h1, clamp(38px, calc(19px + 2.3vw), 62px));
  line-height: var(--masa-line-h1, .95);
  letter-spacing: var(--masa-letter-h1, -.03em);
}

main h2 {
  font-size: var(--masa-font-size-h2, clamp(32px, 3vw, 46px));
  line-height: var(--masa-line-h2, 1.1);
  letter-spacing: var(--masa-letter-h2, -.04em);
}

main h3 {
  font-size: var(--masa-font-size-h3, clamp(20px, 1.5vw, 24px));
  line-height: var(--masa-line-h3, 1.1);
  letter-spacing: var(--masa-letter-h3, -.025em);
}

main h4 {
  font-size: var(--masa-font-size-h4, 20px);
  line-height: var(--masa-line-h4, 1.2);
}

main h5 {
  font-size: var(--masa-font-size-h5, 18px);
  line-height: var(--masa-line-h5, 1.2);
}

main h6 {
  font-size: var(--masa-font-size-h6, 16px);
  line-height: var(--masa-line-h6, 1.3);
}
.ms-process-track {
  display: flex;
  gap: 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-bottom: 20px; /* space for shadow */
}
.ms-process-track::-webkit-scrollbar {
  display: none;
}
.ms-process-card {
  flex: 0 0 calc(50% - 12px);
  min-width: 340px;
  scroll-snap-align: start;
  background: #FFFFFF;
  border-radius: 0; /* Changed to no rounded corners per request */
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
}
.ms-process-card__media {
  position: relative;
  aspect-ratio: 16 / 10;
  background: #071F20;
  overflow: hidden;
}
.ms-process-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ms-process-card__body {
  padding: clamp(24px, 3vw, 36px) 0 0;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.ms-process-card__tag {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--masa-color-primary, #0D7C72);
  margin-bottom: 16px;
}
.ms-process-card__title {
  font-family: var(--masa-font-display, "Poppins", sans-serif);
  font-size: clamp(24px, 2vw, 28px);
  font-weight: 600;
  line-height: 1.2;
  color: var(--masa-color-navy, #03052C);
  margin: 0 0 16px;
}
.ms-process-card__text {
  font-size: 16px;
  line-height: 1.6;
  color: var(--masa-color-text-muted, #525252);
  margin: 0;
  flex: 1;
}

@media (max-width: 1024px) {
  .ms-process-card {
    min-width: 300px;
  }
}
@media (max-width: 900px) {
  .ms-process-container {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .ms-process-head {
    position: relative;
    top: 0;
  }
}

/* 2. S03 Product Catalog Carousel & Component Brand Strip (Pure White) */
.ms-catalog-carousel-section {
  position: relative;
  z-index: 5;
  padding-block: var(--masa-space-section, clamp(72px, 8vw, 120px));
  padding-bottom: 80px;
  background: #FFFFFF !important;
  border-top: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.06));
  overflow: hidden;
}
.ms-catalog-carousel-head {
  grid-column: 2 / span 22;
  display: block;
  margin-bottom: 32px;
}
.ms-catalog-carousel-head__copy .section-title,
.ms-catalog-carousel-head__copy .section-intro {
  width: 80%;
  max-width: none;
}
.ms-catalog-carousel-head__actions {
  margin-top: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.ms-tag-filter {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}
.ms-tag-btn {
  padding: 8px 20px;
  border-radius: 0;
  background: transparent;
  border: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.15));
  color: var(--masa-color-text, #071F20);
  font-family: var(--masa-font-body, "Poppins", sans-serif);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.25s ease;
}
.ms-tag-btn:hover,
.ms-tag-btn.is-active {
  background: var(--masa-color-primary, #0D7C72);
  border-color: var(--masa-color-primary, #0D7C72);
  color: #FFFFFF;
}
.ms-carousel-controls {
  display: flex;
  align-items: center;
  gap: 12px;
}
.ms-carousel-btn {
  width: 44px;
  height: 44px;
  border-radius: 9999px;
  border: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.15));
  background: #FFFFFF;
  color: var(--masa-color-navy, #03052C);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 16px;
}
.ms-carousel-btn:hover {
  background: var(--masa-color-navy, #03052C);
  color: #FFFFFF;
  border-color: var(--masa-color-navy, #03052C);
}
.ms-carousel-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
}
.ms-carousel-container {
  grid-column: 2 / span 22;
  position: relative;
  overflow: hidden;
  padding-bottom: 20px;
}
.ms-carousel-track {
  display: flex;
  flex-wrap: nowrap;
  gap: clamp(20px, 2.5vw, 32px);
  width: 100%;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}
.ms-carousel-track > .ms-product-card {
  flex: 0 0 calc((100% - (2 * clamp(20px, 2.5vw, 32px))) / 3);
  min-width: 0;
}

/* Component Brand Logo Strip */
.ms-brand-strip {
  grid-column: 2 / span 22;
  width: 80%;
  justify-self: center;
  margin-top: calc(clamp(48px, 6vw, 72px) + 40px);
  padding-top: 80px;
  border-top: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.08));
}
.ms-brand-strip__label {
  font-family: var(--masa-font-display, "Poppins", sans-serif);
  font-size: clamp(18px, 2vw, 28px);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 1.15;
  color: var(--masa-color-navy, #03052C);
  margin-bottom: 28px;
  text-align: center;
}
.ms-brand-strip__marquee {
  overflow: hidden;
  user-select: none;
  display: flex;
  justify-content: center;
  width: 100%;
  mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}
.ms-brand-strip__track {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: clamp(52px, 6vw, 88px);
  row-gap: 24px;
  width: 100%;
  animation: none;
  white-space: normal;
}
.ms-brand-logo-item {
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ms-brand-logo-item img {
  max-height: 64px;
  width: auto;
  object-fit: contain;
}
.ms-brand-logo-text {
  font-family: var(--masa-font-display, "Poppins", sans-serif);
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--masa-color-navy, #03052C);
}

@media (max-width: 640px) {
  .ms-catalog-carousel-head__actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .ms-brand-strip {
    width: 100%;
  }
  .ms-brand-strip__label {
    margin-bottom: 22px;
  }

  .ms-brand-strip__track {
    gap: 36px;
  }

  .ms-brand-logo-item {
    height: 56px;
  }

  .ms-brand-logo-item img {
    max-height: 48px;
  }

  .ms-brand-logo-text {
    font-size: 22px;
  }
}

/* 3. S04 Core Technology (1 Row of 3 Columns Card Grid) */
.ms-tech-grid-section,
.ms-tech-zigzag-section {
  position: relative;
  z-index: 5;
  padding-block: var(--masa-space-section, clamp(72px, 8vw, 120px));
  background: #ECEEF1 !important;
}
.ms-tech-head,
.ms-tech-zigzag-head {
  grid-column: 2 / span 22;
  margin-bottom: clamp(36px, 4vw, 56px);
}
.ms-tech-grid {
  grid-column: 2 / span 22;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(24px, 3vw, 36px);
}
.ms-tech-card {
  background: #FFFFFF;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}
.ms-tech-card__media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #071F20;
}
.ms-tech-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ms-tech-card__body {
  padding: clamp(24px, 2.5vw, 32px) 0 0;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.ms-tech-card__title {
  margin: 0 0 14px;
  font-family: var(--masa-font-display, "Poppins", sans-serif);
  font-size: clamp(19px, 1.6vw, 22px);
  font-weight: 600;
  line-height: 1.25;
  color: var(--masa-color-navy, #03052C);
}
.ms-tech-card__text {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--masa-color-text-muted, #525252);
  margin: 0 0 10px;
}
.ms-tech-card__text:last-child {
  margin-bottom: 0;
}

/* 4. S05 Applications Grid (Pure White) */
.ms-apps-section {
  position: relative;
  z-index: 5;
  padding-block: var(--masa-space-section, clamp(72px, 8vw, 120px));
  background: #F5F7F8 !important;
}
.ms-apps-head {
  grid-column: 2 / span 22;
  margin-bottom: clamp(36px, 4vw, 56px);
}
.ms-tech-head .section-title,
.ms-tech-head .section-intro,
.ms-apps-head .section-title,
.ms-apps-head .section-intro {
  width: 80%;
  max-width: none;
}
.ms-apps-grid {
  grid-column: 2 / span 22;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 2.5vw, 32px);
}
.ms-app-card {
  position: relative;
  background: transparent;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 0;
  box-shadow: none;
}
.ms-app-card__media {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.ms-app-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ms-app-card__body {
  padding: 18px 20px 20px;
}
.ms-app-card__title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0;
  font-family: var(--masa-font-display, "Poppins", sans-serif);
  font-size: clamp(18px, 1.5vw, 22px);
  font-weight: 600;
  line-height: 1.25;
  color: var(--masa-color-text, #111111);
}
.ms-app-card__title-text {
  min-width: 0;
}
.ms-app-card__toggle {
  position: relative;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  transition: transform 0.3s ease;
}
.ms-app-card__toggle::before,
.ms-app-card__toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: var(--masa-color-primary, #0D7C72);
  transform: translate(-50%, -50%);
}
.ms-app-card__toggle::before {
  width: 16px;
  height: 1.5px;
}
.ms-app-card__toggle::after {
  width: 1.5px;
  height: 16px;
}
.ms-app-card__text {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  color: var(--masa-color-text-muted, #525252);
  transition: max-height 0.35s ease, opacity 0.35s ease, margin-top 0.35s ease;
}
.ms-app-card:hover .ms-app-card__toggle {
  transform: rotate(45deg);
}
.ms-app-card:hover .ms-app-card__text {
  max-height: 240px;
  opacity: 1;
  margin-top: 12px;
}

/* 5. S06 Brand Advantages (Deep Contrast Industrial Background) */
.ms-adv-section {
  position: relative;
  z-index: 5;
  padding-block: var(--masa-space-section, clamp(80px, 9vw, 130px));
  background: #1b1b1b !important;
  color: #FFFFFF;
}
.ms-adv-section > .container.grid-24 {
  --grid-line: rgba(255, 255, 255, 0.15);
}
.ms-adv-section .section-title {
  color: #FFFFFF !important;
}
.ms-adv-section .section-intro {
  color: rgba(255, 255, 255, 0.75) !important;
}
.ms-adv-grid {
  grid-column: 2 / span 22;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: clamp(32px, 4vw, 56px);
  align-items: stretch;
}
.ms-adv-copy {
  grid-column: 1 / span 6;
  display: flex;
  flex-direction: column;
}
.ms-adv-list {
  list-style: none;
  margin: auto 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.ms-adv-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-left: 20px;
  border-left: 3px solid var(--masa-color-accent, #FBD21E);
}
.ms-adv-item + .ms-adv-item {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}
.ms-adv-item__title {
  margin: 0;
  font-family: var(--masa-font-display, "Poppins", sans-serif);
  font-size: 19px;
  font-weight: 600;
  color: #FFFFFF;
}
.ms-adv-item__title a {
  color: #FFFFFF;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color 0.2s ease;
}
.ms-adv-item__icon {
  width: 1em;
  height: 1em;
  flex-shrink: 0;
}
.ms-adv-item__title a:hover {
  color: var(--masa-color-accent, #FBD21E);
  text-decoration: underline;
}
.ms-adv-item__desc {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.75);
}
.ms-adv-item__desc strong {
  color: #FFFFFF;
}
.ms-adv-media-cluster {
  grid-column: 7 / span 6;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.ms-adv-media-card {
  position: relative;
  overflow: hidden;
  background: #03052C;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}
.ms-adv-media-card--main {
  grid-column: 1 / -1;
  aspect-ratio: 16 / 9;
}
.ms-adv-media-card--sub {
  aspect-ratio: 4 / 3;
}
.ms-adv-media-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 6. Shared S07 FAQ component (Split editorial layout) */
.ms-faq-section {
  position: relative;
  z-index: 5;
  padding-block: 0;
  background: var(--masa-color-surface-soft, #F4F6F7) !important;
}
.ms-faq-section > .container.grid-24 {
  align-items: stretch;
  column-gap: 0;
}
.ms-faq-head {
  grid-column: 1 / span 7;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  margin-bottom: 0;
  padding: clamp(48px, 7vw, 104px) clamp(24px, 4vw, 64px) clamp(48px, 7vw, 104px) 0;
  border-right: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}
.ms-faq-head .section-title {
  max-width: 340px;
  margin: 0;
  color: var(--masa-color-text, #071f20);
}
.ms-faq-head .section-intro {
  display: block;
  max-width: 420px;
  margin: 24px 0 0;
  color: var(--masa-color-text-muted, #525252);
  font-size: clamp(15px, 1.15vw, 18px);
  line-height: 1.5;
}
.ms-faq-wrap {
  grid-column: 8 / -1;
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: none;
}
.ms-faq-group {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(24, minmax(0, 1fr));
  gap: var(--masa-space-grid, 16px);
  align-items: start;
  border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}
.ms-faq-group--last {
  margin-bottom: 0;
}
.ms-faq-group-title {
  grid-column: 1 / span 7;
  position: sticky;
  top: 32px;
  margin: 0;
  padding: 40px clamp(24px, 4vw, 64px) 0 0;
  color: var(--masa-color-text, #071f20);
  font-family: var(--masa-font-display, "Poppins", sans-serif);
  font-size: clamp(24px, 1.8vw, 32px);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
}
.ms-faq-group-list {
  grid-column: 8 / -1;
  min-width: 0;
  border-left: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}
.ms-faq-card {
  border: 0;
  border-top: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  background: transparent;
  transition: background-color 0.35s ease;
}
.ms-faq-card:hover {
  background: rgba(255, 255, 255, 0.42);
}
.ms-faq-question {
  width: 100%;
  padding: 24px clamp(24px, 4vw, 64px);
  background: transparent;
  border: none;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  cursor: pointer;
  font-family: var(--masa-font-display, "Poppins", sans-serif);
  font-size: clamp(16px, 1.25vw, 22px);
  font-weight: 500;
  line-height: 1.15;
  color: var(--masa-color-text, #071f20);
  list-style: none;
}
.ms-faq-question::-webkit-details-marker {
  display: none;
}
.ms-faq-icon {
  width: 40px;
  height: 40px;
  border-radius: 0;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(30px, 3vw, 44px);
  font-weight: 300;
  line-height: 1;
  color: var(--masa-color-text, #071f20);
  flex-shrink: 0;
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}
.ms-faq-card.is-active .ms-faq-icon {
  transform: rotate(45deg);
}
.ms-faq-card[open] .ms-faq-icon {
  transform: rotate(45deg);
}
.ms-faq-card > .ms-faq-answer {
  /* Keep native details content in the layout so closing can animate. */
  display: block;
}
.ms-faq-answer {
  max-height: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  overflow: hidden;
  padding-top: 0;
  padding-inline: clamp(24px, 4vw, 64px);
  padding-bottom: 0;
  will-change: max-height, opacity, transform;
  transition:
    max-height 0.48s cubic-bezier(0.22, 0.61, 0.36, 1),
    opacity 0.24s ease,
    transform 0.48s cubic-bezier(0.22, 0.61, 0.36, 1),
    padding-bottom 0.38s ease,
    visibility 0s linear 0.48s;
}
.ms-faq-card.is-active .ms-faq-answer {
  max-height: calc(var(--faq-answer-height, 640px) + 32px);
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  padding-bottom: 32px;
  transition:
    max-height 0.48s cubic-bezier(0.22, 0.61, 0.36, 1),
    opacity 0.3s ease 0.06s,
    transform 0.48s cubic-bezier(0.22, 0.61, 0.36, 1),
    padding-bottom 0.38s ease,
    visibility 0s linear 0s;
}
.ms-faq-card[open] .ms-faq-answer {
  max-height: calc(var(--faq-answer-height, 640px) + 32px);
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  padding-bottom: 32px;
  transition:
    max-height 0.48s cubic-bezier(0.22, 0.61, 0.36, 1),
    opacity 0.3s ease 0.06s,
    transform 0.48s cubic-bezier(0.22, 0.61, 0.36, 1),
    padding-bottom 0.38s ease,
    visibility 0s linear 0s;
}
.ms-faq-card.is-closing .ms-faq-icon {
  transform: rotate(0deg);
}
.ms-faq-card.is-closing .ms-faq-answer {
  max-height: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  padding-bottom: 0;
}
.ms-faq-answer p {
  margin: 0 0 12px;
  max-width: none;
  font-size: 16px;
  line-height: 1.65;
  color: var(--masa-color-text-muted, #525252);
}
.ms-faq-answer p:last-child {
  margin-bottom: 0;
}

/* Category Responsive Rules */
@media (max-width: 1024px) {
  .ms-faq-head {
    grid-column: 1 / -1;
    padding: 56px 0 32px;
    border-right: 0;
  }
  .ms-faq-wrap {
    grid-column: 1 / -1;
  }
  .ms-faq-group-title {
    padding-right: 32px;
  }
  .ms-process-grid {
    grid-template-columns: 1fr;
  }
  .ms-carousel-track {
    gap: clamp(20px, 2.5vw, 32px);
  }

  .ms-carousel-track > .ms-product-card {
    flex-basis: calc((100% - clamp(20px, 2.5vw, 32px)) / 2);
  }
  .ms-apps-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .ms-adv-grid {
    grid-template-columns: 1fr;
  }
  .ms-adv-copy {
    grid-column: 1 / -1;
  }
  .ms-adv-media-cluster {
    grid-column: 1 / -1;
  }
  .ms-tech-row__copy,
  .ms-tech-row__media,
  .ms-tech-row--reverse .ms-tech-row__copy,
  .ms-tech-row--reverse .ms-tech-row__media {
    grid-column: 1 / -1;
  }
  .ms-tech-row--reverse .ms-tech-row__media {
    grid-row: auto;
  }
}

@media (max-width: 640px) {
  .ms-catalog-carousel-head__copy .section-title,
  .ms-catalog-carousel-head__copy .section-intro {
    width: 100%;
  }
  .ms-tech-head .section-title,
  .ms-tech-head .section-intro,
  .ms-apps-head .section-title,
  .ms-apps-head .section-intro {
    width: 100%;
  }
  .ms-carousel-track {
    gap: 20px;
  }

  .ms-carousel-track > .ms-product-card {
    flex-basis: 100%;
  }
  .ms-apps-grid {
    grid-template-columns: 1fr;
  }
  .ms-faq-question {
    padding: 18px 20px;
    font-size: clamp(16px, 2.8vw, 21px);
  }
  .ms-faq-answer {
    padding-inline: 20px;
  }
}

/* --------------------------------------------------------------------------
   Product detail template
   -------------------------------------------------------------------------- */

.ms-product-detail {
  --masa-color-dark: #111111;
  --masa-color-line: #CCCCCC;
  --masa-color-surface-soft: #F7F7F7;
  --masa-color-text: #111111;
  --masa-color-text-muted: #525252;
  --ms-detail-line: var(--masa-color-line, #CCCCCC);
  --ms-detail-soft: var(--masa-color-surface-soft, #F7F7F7);
  --ms-detail-muted: var(--masa-color-text-muted, #525252);
  color: var(--masa-color-text, #111111);
  background: var(--masa-color-surface, #ffffff);
}

.ms-product-detail,
.ms-product-detail * {
  box-sizing: border-box;
}

.ms-product-detail .ms-breadcrumbs {
  margin: 0;
}

.ms-product-detail .ms-breadcrumb-list {
  overflow-x: auto;
  scrollbar-width: none;
}

.ms-product-detail .ms-breadcrumb-list::-webkit-scrollbar {
  display: none;
}

.ms-product-hero {
  padding: clamp(56px, 7vw, 112px) 0 clamp(72px, 9vw, 136px);
  background: var(--masa-color-surface, #ffffff);
  border-bottom: 1px solid var(--ms-detail-line);
}

.ms-product-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, 1fr);
  gap: clamp(32px, 5vw, 96px);
  align-items: center;
}

.ms-product-hero__gallery {
  grid-column: auto;
  min-width: 0;
}

.ms-product-hero__content {
  grid-column: auto;
  min-width: 0;
}

.ms-product-gallery {
  width: 100%;
}

.ms-product-gallery__main {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #ffffff;
  border: 1px solid var(--ms-detail-line);
}

.ms-product-gallery__view,
.ms-product-gallery__video {
  width: 100%;
  height: 100%;
}

.ms-product-gallery__view[hidden],
.ms-product-gallery__video[hidden] {
  display: none;
}

.ms-product-gallery__view {
  display: grid;
  place-items: center;
}

.ms-product-gallery__view img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 0;
}

.ms-product-gallery__empty {
  padding: 32px;
  color: var(--ms-detail-muted);
  font-size: 14px;
  text-align: center;
}

.ms-product-gallery__video {
  position: absolute;
  inset: 0;
  background: #111111;
}

.ms-product-gallery__video > div,
.ms-product-gallery__video iframe {
  width: 100%;
  height: 100%;
}

.ms-product-gallery__video iframe {
  display: block;
  border: 0;
}

.ms-product-gallery__video-trigger,
.ms-product-gallery__close,
.ms-product-gallery__nav {
  position: absolute;
  z-index: 2;
  border: 0;
  cursor: pointer;
  font: inherit;
}

.ms-product-gallery__video-trigger {
  right: 20px;
  bottom: 20px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 16px;
  color: var(--masa-color-text, #071f20);
  background: var(--masa-color-accent, #fbd21e);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ms-product-gallery__play-icon {
  font-size: 10px;
}

.ms-product-gallery__close {
  top: 18px;
  right: 18px;
  width: 42px;
  height: 42px;
  color: #ffffff;
  background: var(--masa-color-primary, #0d7c72);
  font-size: 24px;
  line-height: 1;
}

.ms-product-gallery__nav {
  top: 50%;
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  color: var(--masa-color-text, #071f20);
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid var(--ms-detail-line);
  transform: translateY(-50%);
  transition: background-color 180ms ease, color 180ms ease;
}

.ms-product-gallery__nav:hover,
.ms-product-gallery__nav:focus-visible {
  color: #ffffff;
  background: var(--masa-color-primary, #0d7c72);
}

.ms-product-gallery__nav--prev {
  left: 18px;
}

.ms-product-gallery__nav--next {
  right: 18px;
}

.ms-product-gallery__thumbs {
  display: flex;
  gap: 12px;
  margin-top: 16px;
  overflow-x: auto;
  scrollbar-width: none;
}

.ms-product-gallery__thumbs::-webkit-scrollbar {
  display: none;
}

.ms-product-gallery__thumb {
  flex: 0 0 clamp(84px, 9vw, 124px);
  aspect-ratio: 4 / 3;
  padding: 0;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid var(--ms-detail-line);
  cursor: pointer;
  opacity: 0.62;
  transition: border-color 180ms ease, opacity 180ms ease;
}

.ms-product-gallery__thumb:hover,
.ms-product-gallery__thumb:focus-visible,
.ms-product-gallery__thumb.is-active {
  border-color: var(--masa-color-primary, #0d7c72);
  opacity: 1;
}

.ms-product-gallery__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ms-product-hero__eyebrow,
.ms-section-eyebrow {
  display: inline-block;
  margin-bottom: 18px;
  color: var(--masa-color-primary, #0d7c72);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1.2;
  text-transform: uppercase;
}

.ms-product-hero__title {
  width: auto;
  max-width: 100%;
  margin: 0;
  color: var(--masa-color-text, #071f20);
  font-size: clamp(28px, 2.8vw, 42px);
  font-weight: 600;
  letter-spacing: -0.055em;
  line-height: 1.12;
}

.ms-product-hero__summary {
  max-width: 62ch;
  margin: 28px 0 0;
  color: var(--ms-detail-muted);
  font-size: clamp(16px, 1.35vw, 20px);
  line-height: 1.6;
}

.ms-product-highlights {
  margin-top: 36px;
  padding-top: 24px;
  border-top: 1px solid var(--ms-detail-line);
}

.ms-product-detail .ms-product-highlights__title {
  margin: 0 0 14px;
  color: var(--masa-color-text, #071f20);
  font-size: 20px;
  letter-spacing: -0.01em;
}

.ms-product-highlights__list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--ms-detail-muted);
  font-size: 15px;
  line-height: 1.5;
}

.ms-product-highlights__list li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}

.ms-product-detail .ms-product-highlights__icon {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin-top: 1px;
  color: var(--masa-color-primary, #0d7c72);
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.ms-product-hero__actions,
.ms-product-bottom-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 36px;
}

.ms-product-detail .pill-button {
  min-height: 50px;
  padding-inline: 24px;
  color: var(--masa-color-text, #071f20);
  background: var(--masa-color-accent, #fbd21e);
  border: 1px solid var(--masa-color-accent, #fbd21e);
}

.ms-product-detail .pill-button:hover,
.ms-product-detail .pill-button:focus-visible {
  color: #ffffff;
  background: var(--masa-color-primary, #0d7c72);
  border-color: var(--masa-color-primary, #0d7c72);
}

.ms-product-details-section {
  padding: var(--masa-space-section, clamp(88px, 9vw, 140px)) 0;
  background: var(--ms-detail-soft);
}

.ms-product-details__grid {
  display: grid;
  grid-template-columns: minmax(0, 2.15fr) minmax(280px, 1fr);
  gap: 20px;
  align-items: start;
}

.ms-product-details__main {
  display: grid;
  grid-column: auto;
  gap: 32px;
  min-width: 0;
}

.ms-product-richtext,
.ms-product-specs,
.ms-product-features,
.ms-product-inquiry__card {
  padding: clamp(28px, 4vw, 56px);
  background: var(--masa-color-surface, #ffffff);
  border: 0;
}

.ms-product-richtext h2,
.ms-product-specs h2,
.ms-product-features h2,
.ms-product-inquiry h2,
.ms-related-section h2,
.ms-product-bottom-cta h2 {
  margin: 0;
  color: inherit;
  font-size: clamp(30px, 3.2vw, 48px);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.08;
}

.ms-product-specs h2 {
  font-size: clamp(26px, 2.4vw, 36px);
  font-weight: 600;
}

.ms-product-richtext h2,
.ms-product-features h2,
.ms-product-inquiry h2 {
  font-size: clamp(26px, 2.4vw, 36px);
  font-weight: 600;
}

.ms-product-features h2 {
  padding-bottom: 20px;
  border-bottom: 1px solid var(--ms-detail-line);
}

.ms-product-detail .ms-product-inquiry h2 {
  font-size: 32px;
  color: var(--masa-color-primary, #0d7c72);
}

.ms-product-richtext > p:first-of-type,
.ms-product-richtext > h2 + p,
.ms-product-inquiry > p,
.ms-product-inquiry__card > p {
  color: var(--ms-detail-muted);
}

.ms-product-richtext > p,
.ms-product-richtext li,
.ms-product-feature__description,
.ms-product-inquiry__card > p {
  font-size: 16px;
  line-height: 1.75;
}

.ms-product-richtext > :not(.ms-section-eyebrow):first-child,
.ms-product-richtext h2 + *,
.ms-product-specs h2 + *,
.ms-product-features h2 + * {
  margin-top: 24px;
}

.ms-product-richtext p,
.ms-product-richtext ul,
.ms-product-richtext ol,
.ms-product-richtext blockquote {
  margin-bottom: 18px;
}

.ms-product-richtext a,
.ms-product-feature__description a {
  color: var(--masa-color-primary, #0d7c72);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.ms-product-richtext img {
  max-width: 100%;
  height: auto;
}

.ms-product-table-wrap {
  overflow-x: auto;
}

.ms-product-table {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  color: var(--masa-color-text, #071f20);
  font-size: 15px;
  line-height: 1.5;
}

.ms-product-table th,
.ms-product-table td {
  padding: 18px 16px;
  border-bottom: 1px solid var(--ms-detail-line);
  text-align: left;
  vertical-align: top;
}

.ms-product-table thead th {
  color: var(--masa-color-primary, #0d7c72);
  background: var(--ms-detail-soft);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ms-product-table tbody th {
  width: 34%;
  font-weight: 700;
}

.ms-product-table tbody tr:last-child th,
.ms-product-table tbody tr:last-child td {
  border-bottom: 0;
}

.ms-product-feature-list {
  display: grid;
  gap: 40px;
}

.ms-product-feature {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
  padding-top: 40px;
  border-top: 1px solid var(--ms-detail-line);
}

.ms-product-feature:first-child {
  padding-top: 0;
  border-top: 0;
}

.ms-product-feature--reverse .ms-product-feature__media {
  order: 2;
}

.ms-product-feature--reverse .ms-product-feature__copy {
  order: 1;
}

.ms-product-feature--text-only {
  display: block;
}

.ms-product-feature__media {
  overflow: hidden;
  background: var(--ms-detail-soft);
}

.ms-product-feature__media img {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
  object-fit: contain;
}

.ms-product-feature__media iframe,
.ms-product-feature__media video {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: contain;
}

.ms-product-feature__media:has(iframe),
.ms-product-feature__media:has(video) {
  aspect-ratio: 16 / 10;
}

.ms-product-feature__copy h3 {
  margin: 0 0 16px;
  color: var(--masa-color-text, #111111);
  font-size: 28px;
  letter-spacing: -0.03em;
  line-height: 1.15;
}

.ms-product-feature__description {
  color: var(--ms-detail-muted);
}

.ms-product-feature__description p:last-child {
  margin-bottom: 0;
}

.ms-product-inquiry {
  grid-column: auto;
  min-width: 0;
  position: sticky;
  top: 96px;
}

.ms-product-inquiry__card {
  color: #ffffff;
  background: var(--masa-color-primary, #0d7c72);
  box-shadow: none;
}

.ms-product-detail .ms-product-inquiry h2 {
  color: #ffffff;
}

.ms-product-detail .ms-product-inquiry__card > p,
.ms-product-detail .ms-product-inquiry .ms-form-confidential,
.ms-product-detail .ms-product-inquiry .g03-form-shell label {
  color: rgba(255, 255, 255, 0.86);
}

.ms-product-inquiry__card > p {
  margin: 18px 0 28px;
}

.ms-product-inquiry .g03-form-shell {
  margin-top: 24px;
}

.ms-product-inquiry .g03-form-shell label {
  display: block;
  margin-bottom: 7px;
  color: var(--masa-color-text, #071f20);
  font-size: 13px;
  font-weight: 700;
}

.ms-product-inquiry .g03-form-shell input,
.ms-product-inquiry .g03-form-shell select,
.ms-product-inquiry .g03-form-shell textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  color: var(--masa-color-text, #071f20);
  background: #ffffff;
  border: 1px solid var(--ms-detail-line);
  border-radius: 0;
  font: inherit;
}

.ms-product-inquiry .g03-form-shell select option {
  color: #000000 !important;
  background: #ffffff;
}

.ms-product-inquiry .g03-form-shell select {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff;
}

.ms-product-inquiry .g03-form-shell textarea {
  min-height: 60px;
  resize: vertical;
}

/* 统一所有询盘表单的 Message / Market Plan 输入框高度 */
.g03-form-shell textarea,
.quote-form textarea {
  min-height: 60px;
  resize: vertical;
}

.ms-product-inquiry .g03-form-shell input:focus,
.ms-product-inquiry .g03-form-shell select:focus,
.ms-product-inquiry .g03-form-shell textarea:focus {
  outline: 2px solid var(--masa-color-primary, #0d7c72);
  outline-offset: 1px;
  border-color: var(--masa-color-primary, #0d7c72);
}

.ms-product-inquiry .g03-form-shell button,
.ms-product-inquiry .g03-form-shell input[type="submit"] {
  min-height: 48px;
  padding: 12px 20px;
  color: var(--masa-color-text, #071f20);
  background: var(--masa-color-accent, #fbd21e);
  border: 1px solid var(--masa-color-accent, #fbd21e);
  border-radius: 0;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
}

.ms-form-confidential {
  margin: 20px 0 0;
  color: var(--ms-detail-muted);
  font-size: 12px;
  line-height: 1.55;
}

.ms-related-section {
  padding: var(--masa-space-section, clamp(88px, 9vw, 140px)) 0;
  background: var(--masa-color-surface, #ffffff);
}

.ms-related-section__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 40px;
}

.ms-related-section__head h2 {
  margin-top: 0;
}

.ms-related-section__head .ms-text-link {
  flex: 0 0 auto;
}

.ms-related-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.ms-related-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid var(--ms-detail-line);
  box-shadow: none !important;
  transform: none !important;
}

.ms-related-card__media {
  display: grid;
  aspect-ratio: 4 / 3;
  place-items: center;
  overflow: hidden;
  color: var(--ms-detail-muted);
  background: var(--ms-detail-soft);
}

.ms-related-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 220ms ease;
}

.ms-related-card__media:hover img,
.ms-related-card__media:focus-visible img {
  transform: scale(1.03);
}

.ms-related-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: 24px;
}

.ms-related-card__body h3 {
  margin: 0;
  font-size: 20px;
  letter-spacing: -0.025em;
  line-height: 1.2;
}

.ms-related-card__body h3 a {
  color: inherit;
  text-decoration: none;
}

.ms-related-card__body p {
  margin: 14px 0 24px;
  color: var(--ms-detail-muted);
  font-size: 16px;
  line-height: 1.55;
}

.ms-related-card__link {
  margin-top: auto;
  color: var(--masa-color-primary, #0d7c72);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
}

.ms-related-card__link:hover,
.ms-related-card__link:focus-visible {
  color: var(--masa-color-text, #071f20);
}

.ms-product-bottom-cta {
  padding: var(--masa-space-section, clamp(88px, 9vw, 140px)) 0;
  color: #ffffff;
  background-color: var(--masa-color-dark, #071f20);
  background-image: linear-gradient(rgba(17, 17, 17, 0.9), rgba(17, 17, 17, 0.9)), url("https://masasanding.com/wp-content/uploads/2026/09/Need-a-Complete-Automated-Sanding-Line.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.ms-product-bottom-cta__inner {
  width: 100%;
  max-width: none;
  text-align: center;
}

.ms-product-bottom-cta .ms-section-eyebrow {
  color: var(--masa-color-accent, #fbd21e);
}

.ms-product-bottom-cta h2 {
  max-width: none;
  margin-inline: auto;
}

.ms-product-bottom-cta p {
  max-width: none;
  margin: 24px auto 0;
  color: rgba(255, 255, 255, 0.74);
  font-size: 17px;
  line-height: 1.65;
}

.ms-product-bottom-cta__actions {
  justify-content: center;
}

.ms-product-detail .pill-button.is-outline-light {
  color: #ffffff;
  background: transparent;
  border-color: rgba(255, 255, 255, 0.72);
}

.ms-product-detail .pill-button.is-outline-light:hover,
.ms-product-detail .pill-button.is-outline-light:focus-visible {
  color: var(--masa-color-text, #071f20);
  background: #ffffff;
  border-color: #ffffff;
}

@media (max-width: 1100px) {
  .ms-product-hero__grid {
    grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.9fr);
    gap: 32px;
  }

  .ms-product-details__grid {
    grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.9fr);
    gap: 20px;
  }

  .ms-product-hero__gallery {
    grid-column: auto;
  }

  .ms-product-hero__content {
    grid-column: auto;
  }

  .ms-product-details__main {
    grid-column: auto;
  }

  .ms-product-inquiry {
    grid-column: auto;
  }

  .ms-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .ms-product-hero__grid,
  .ms-product-details__grid {
    display: grid;
    grid-template-columns: 1fr;
  }

  .ms-product-details__grid {
    gap: 32px;
  }

  .ms-product-hero__gallery,
  .ms-product-hero__content,
  .ms-product-details__main,
  .ms-product-inquiry {
    grid-column: auto;
  }

  .ms-product-hero__content {
    max-width: 720px;
  }

  .ms-product-inquiry {
    position: static;
  }

  .ms-product-feature {
    grid-template-columns: 1fr;
  }

  .ms-product-feature--reverse .ms-product-feature__media,
  .ms-product-feature--reverse .ms-product-feature__copy {
    order: initial;
  }
}

@media (max-width: 640px) {
  .ms-product-hero {
    padding-block: 48px 64px;
  }

  .ms-product-hero__title {
    max-width: none;
    font-size: clamp(28px, 7vw, 36px);
  }

  .ms-product-gallery__nav--prev {
    left: 10px;
  }

  .ms-product-gallery__nav--next {
    right: 10px;
  }

  .ms-product-gallery__video-trigger {
    right: 12px;
    bottom: 12px;
  }

  .ms-product-details-section,
  .ms-related-section,
  .ms-product-bottom-cta {
    padding-block: 64px;
  }

  .ms-product-richtext,
  .ms-product-specs,
  .ms-product-features,
  .ms-product-inquiry__card {
    padding: 24px;
  }

  .ms-related-section__head {
    display: block;
    margin-bottom: 28px;
  }

  .ms-related-section__head .ms-text-link {
    display: inline-block;
    margin-top: 20px;
  }

  .ms-related-grid {
    grid-template-columns: 1fr;
  }

  .ms-product-hero__actions,
  .ms-product-bottom-cta__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .ms-product-detail .pill-button {
    justify-content: center;
    width: 100%;
  }
}

/* ==========================================================================
   Solution Page System: Linked / Automated Production Lines
   Reusable across solution pages with hero, process, proof, configuration,
   timeline, decision and quote sections.
   ========================================================================== */

/* Product detail hero: keep the gallery and copy visually equal on wider
   screens, while giving the copy one grid column of breathing room on the
   right. */
@media (min-width: 821px) {
  .ms-product-detail .ms-product-hero__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
  }

    .ms-product-detail .ms-product-hero__content {
      padding-left: calc(100% / 12);
    }
  }

  @media (max-width: 820px) {
    .ms-product-detail .ms-product-hero__content {
      padding-left: 0;
    }
  }

.page-automated-sanding-lines {
  overflow: hidden;
  color: var(--masa-color-text, #071f20);
  background: var(--masa-color-surface, #ffffff);
}

.page-automated-sanding-lines,
.page-automated-sanding-lines * {
  box-sizing: border-box;
}

.page-automated-sanding-lines .section-title {
  color: var(--masa-color-navy, #03052c);
}

.ms-solution-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: clamp(560px, 48vw, 760px);
  align-items: center;
  padding-block: clamp(80px, 8vw, 128px);
  color: var(--masa-color-on-dark, #ffffff);
  background-image: linear-gradient(90deg, rgba(7, 31, 32, 0.72) 0%, rgba(7, 31, 32, 0.5) 42%, rgba(7, 31, 32, 0.14) 100%), url("https://masasanding.com/wp-content/uploads/2026/09/continuous-double-sided-sanding-line-clean.webp");
  background-position: center;
  background-size: cover;
}

.page-automated-sanding-lines .ms-solution-hero {
  background-image: linear-gradient(90deg, rgba(7, 31, 32, 0.72) 0%, rgba(7, 31, 32, 0.5) 42%, rgba(7, 31, 32, 0.14) 100%), url("https://masasanding.com/wp-content/uploads/2026/09/modern-industrial-wood-processing-factory-production-line.webp");
}

.page-wood-bamboo-sanding-applications .ms-solution-hero--wood-bamboo,
.page-solution .ms-solution-hero--wood-bamboo {
  background-image: linear-gradient(90deg, rgba(7, 31, 32, 0.72) 0%, rgba(7, 31, 32, 0.5) 42%, rgba(7, 31, 32, 0.14) 100%), url("https://masasanding.com/wp-content/uploads/2026/09/wooden-cabinet-doors-on-factory-conveyor-belt.webp");
}

.page-metal-profile-finishing .ms-solution-hero--metal,
.page-solution .ms-solution-hero--metal {
  background-image: linear-gradient(90deg, rgba(7, 31, 32, 0.72) 0%, rgba(7, 31, 32, 0.5) 42%, rgba(7, 31, 32, 0.14) 100%), url("https://masasanding.com/wp-content/uploads/2026/09/industrial-factory-floor-with-aluminum-extrusion-components.webp");
}

.page-wood-bamboo-sanding-applications .ms-solution-hero .ms-solution-hero__grid {
  --grid-line: rgba(255, 255, 255, 0.15);
}

.page-wood-bamboo-sanding-applications .ms-solution-hero > .container.grid-24::before {
  display: block;
}

.page-metal-profile-finishing .ms-solution-hero .ms-solution-hero__grid {
  --grid-line: rgba(255, 255, 255, 0.15);
}

.page-metal-profile-finishing .ms-solution-hero > .container.grid-24::before {
  display: block;
}

.page-metal-profile-finishing .ms-faq-section {
  border-top: 1px solid var(--masa-color-line, #CCCCCC);
}

.page-metal-profile-finishing .ms-faq-wrap > .ms-faq-card:first-child {
  border-top: 0;
}

.page-metal-profile-finishing .quote-section.ms-quote-split-section {
  background:
    linear-gradient(90deg, rgba(8, 25, 23, 0.85) 0%, rgba(8, 25, 23, 0.7) 100%),
    url("https://masa.wxkntest.com/wp-content/uploads/2026/08/Tell-Us-What-You-Need-to-Sand.webp") bottom left / cover no-repeat;
}

.page-wood-bamboo-sanding-applications .quote-section.ms-quote-split-section {
  background:
    linear-gradient(90deg, rgba(8, 25, 23, 0.85) 0%, rgba(8, 25, 23, 0.7) 100%),
    url("https://masa.wxkntest.com/wp-content/uploads/2026/08/Tell-Us-What-You-Need-to-Sand.webp") bottom left / cover no-repeat;
}

.page-wood-bamboo-sanding-applications .quote-section.ms-quote-split-section > .container.grid-24 {
  --grid-line: rgba(255, 255, 255, 0.15);
}

.page-wood-bamboo-sanding-applications .quote-section.ms-quote-split-section > .container.grid-24::before {
  border-left-color: rgba(255, 255, 255, 0.15);
  border-right-color: rgba(255, 255, 255, 0.15);
}

.ms-solution-hero__grid {
  display: grid;
  grid-template-columns: repeat(24, minmax(0, 1fr));
  width: 100%;
  align-items: center;
}

.ms-solution-hero .ms-solution-hero__grid {
  --grid-line: rgba(255, 255, 255, 0.15);
}

.ms-solution-hero__copy {
  grid-column: 2 / span 16;
  max-width: 920px;
}

.ms-solution-hero__copy > .ms-breadcrumbs {
  padding: 0;
  margin: 0 0 clamp(32px, 4vw, 48px);
  background: transparent !important;
  background-color: transparent !important;
  position: relative;
  z-index: auto;
}

.ms-solution-hero__copy > .ms-breadcrumbs .ms-breadcrumb-list,
.ms-solution-hero__copy > .ms-breadcrumbs .ms-breadcrumb-list a {
  color: rgba(255, 255, 255, 0.78);
}

.ms-solution-hero__copy > .ms-breadcrumbs .ms-breadcrumb-sep {
  color: rgba(255, 255, 255, 0.56);
}

.ms-solution-hero__copy > .ms-breadcrumbs .ms-breadcrumb-current,
.ms-solution-hero__copy > .ms-breadcrumbs .ms-breadcrumb-list a:hover {
  color: #ffffff;
}

.ms-solution-hero .ms-hero-split__title {
  max-width: 900px;
  margin-bottom: 22px;
  color: #ffffff !important;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.1;
}

.ms-solution-hero__body {
  max-width: 800px;
  margin: 0 0 16px;
  color: rgba(255, 255, 255, 0.8);
  font-size: clamp(16px, 1.25vw, 18px);
  font-weight: 400;
  line-height: 1.65;
}

.ms-solution-hero__body:last-of-type {
  margin-bottom: 34px;
}

.ms-solution-hero__actions,
.ms-solution-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.ms-solution-hero__actions .pill-button,
.ms-solution-actions .pill-button,
.ms-solution-centered-action .pill-button {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 50px;
  padding-inline: 22px;
  border: 1px solid var(--masa-color-accent, #fbd21e);
  color: var(--masa-color-text, #071f20);
  background: var(--masa-color-accent, #fbd21e);
}

.ms-solution-hero__actions .pill-button:hover,
.ms-solution-hero__actions .pill-button:focus-visible,
.ms-solution-actions .pill-button:hover,
.ms-solution-actions .pill-button:focus-visible,
.ms-solution-centered-action .pill-button:hover,
.ms-solution-centered-action .pill-button:focus-visible {
  color: var(--masa-color-text, #071f20);
  background: #ffffff;
  border-color: #ffffff;
}

.ms-solution-hero__actions .pill-button.is-outline-dark,
.ms-solution-actions .pill-button.is-outline-dark {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.55);
  background: transparent;
}

.ms-solution-hero__actions .pill-button.is-outline-dark:hover,
.ms-solution-hero__actions .pill-button.is-outline-dark:focus-visible,
.ms-solution-actions .pill-button.is-outline-dark:hover,
.ms-solution-actions .pill-button.is-outline-dark:focus-visible {
  color: var(--masa-color-text, #071f20);
  background: #ffffff;
  border-color: #ffffff;
}

/* Hero/banner buttons use text-only labels; hide decorative icons in banner action groups. */
:is(.hero-actions, .ms-hero-split__actions, .ms-solution-hero__actions) .pill-button .button-icon,
:is(.hero-actions, .ms-hero-split__actions, .ms-solution-hero__actions) .pill-button > i,
:is(.hero-actions, .ms-hero-split__actions, .ms-solution-hero__actions) .pill-button > .icon,
:is(.hero-actions, .ms-hero-split__actions, .ms-solution-hero__actions) .pill-button > .pill-button__icon {
  display: none;
}

.ms-solution-configuration__media img,
.ms-solution-timeline-item__media img,
.ms-solution-flow__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ms-solution-section-head {
  grid-column: 2 / span 22;
  margin-bottom: clamp(36px, 5vw, 68px);
}

.ms-solution-section-head .section-title {
  max-width: 930px;
}

.ms-solution-section-head .section-intro {
  max-width: 760px;
  margin: var(--masa-space-heading-tight, clamp(16px, 2vw, 28px)) 0 0;
  color: var(--masa-color-section-intro, #111111);
  font-size: clamp(16px, 1.35vw, 18px);
  line-height: 1.6;
}

.ms-solution-problem {
  padding-block: var(--masa-space-section, clamp(88px, 9vw, 140px));
  background: var(--masa-color-surface-soft, #F4F6F7);
}

.ms-solution-signal-grid {
  grid-column: 2 / span 22;
  display: grid;
  grid-template-columns: 1fr;
  border-top: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.ms-solution-signal-grid .ms-solution-section-head {
  grid-column: 1 / -1;
  margin-bottom: 0;
  padding: clamp(32px, 5vw, 64px) var(--masa-space-container-gutter, clamp(16px, 4vw, 32px));
  padding-left: 0;
  border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

@media (min-width: 901px) {
  .ms-solution-signal-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .ms-solution-signal-grid .ms-solution-section-head {
    grid-column: span 1;
    border-bottom: none;
    border-right: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
    padding: clamp(32px, 4vw, 56px);
    padding-left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .ms-solution-signal-grid .ms-solution-section-head .section-title {
    font-size: clamp(28px, 2.5vw, 36px);
  }

  


  .ms-solution-signal-grid--3cols {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.ms-solution-signal-card {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  border-left: 0;
  border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  background: var(--masa-color-surface, #ffffff);
  transition: background-color 0.3s ease;
}


@media (min-width: 901px) {
  .ms-solution-signal-card {
    border-left: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  }

  .ms-solution-signal-card:nth-child(4n + 1) {
    border-left: 0;
  }

  .ms-solution-signal-grid--3cols .ms-solution-signal-card:nth-child(4n + 1) {
    border-left: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  }

  .ms-solution-signal-grid--3cols .ms-solution-signal-card:nth-child(3n + 1) {
    border-left: 0;
  }
}

.ms-solution-signal-card__media {
  width: 100%;
  aspect-ratio: 3 / 2;
  margin: 0;
  overflow: hidden;
  background: #e8eceb;
}

.ms-solution-signal-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ms-solution-signal-card__body {
  flex: 1;
  padding: 30px 24px 32px;
}

.ms-solution-signal-card__icon {
  display: block;
  font-size: 28px;
  color: var(--masa-color-primary, #0d7c72);
  margin-bottom: 20px;
}

.ms-solution-signal-card h3,
.ms-solution-flow-step h3,
.ms-solution-configuration-card h3,
.ms-solution-timeline-item__copy h3 {
  margin: 0 0 12px;
  color: var(--masa-color-navy, #03052c);
  font-size: clamp(19px, 1.6vw, 24px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.2;
}

.ms-solution-signal-card p,
.ms-solution-flow-step p,
.ms-solution-configuration-card p,
.ms-solution-timeline-item__copy p {
  margin: 0;
  color: var(--masa-color-text-muted, #525252);
  font-size: 15px;
  line-height: 1.65;
}

.ms-solution-flow {
  padding-block: var(--masa-space-section, clamp(88px, 9vw, 140px));
  background: #ffffff;
}

.ms-solution-flow__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(42px, 6vw, 96px);
  align-items: start;
}

.ms-solution-flow__media {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  background: var(--masa-color-surface-soft, #F4F6F7);
}

.ms-solution-flow__media img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.ms-solution-flow__content {
  min-width: 0;
}

.ms-solution-flow__content .ms-solution-section-head {
  margin-bottom: 30px;
}

.ms-solution-flow__content .ms-solution-section-head .section-title,
.ms-solution-flow__content .ms-solution-section-head .section-intro {
  width: 100%;
  max-width: none;
}

.ms-solution-flow__steps {
  display: grid;
  grid-template-columns: 1fr;
  border-top: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.ms-solution-flow-step {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  column-gap: 14px;
  padding: 18px 0;
  border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.ms-solution-flow-step__icon {
  display: grid;
  grid-row: 1 / span 2;
  width: 28px;
  height: 28px;
  place-items: center;
  color: var(--masa-color-primary, #0d7c72);
  border: 0;
}

.ms-solution-flow-step__icon svg {
  display: block;
  width: 18px;
  height: 18px;
  stroke-width: 1.6;
}

.ms-solution-image-cards {
  padding-block: var(--masa-space-section, clamp(88px, 9vw, 140px));
  background: #ffffff;
}

.ms-solution-image-cards--staggered {
  padding-block: clamp(64px, 6vw, 96px) !important;
}

.ms-solution-image-cards__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 4vw, 48px);
  grid-column: 2 / span 22;
}

@media (min-width: 901px) {
  .ms-solution-image-cards--split .ms-solution-image-cards__grid {
    grid-column: 4 / span 10;
    grid-row: 1;
  }
  .ms-solution-image-cards--split .ms-solution-section-head {
    grid-column: 15 / span 7;
    grid-row: 1;
    margin-bottom: 0;
  }
}

.ms-image-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  background: var(--masa-color-surface, #ffffff);
}

.ms-image-card__media {
  margin: 0;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.ms-image-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ms-image-card__body {
  padding: clamp(24px, 3vw, 40px);
  flex-grow: 1;
}

.ms-image-card__body h3 {
  margin: 0 0 12px;
  color: var(--masa-color-navy, #03052c);
  font-size: clamp(19px, 1.6vw, 24px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.2;
}

.ms-image-card__body p {
  margin: 0 0 12px;
  color: var(--masa-color-text-muted, #525252);
  font-size: 15px;
  line-height: 1.65;
}

.ms-image-card__body p:last-child {
  margin-bottom: 0;
}

@media (min-width: 901px) {
  .ms-solution-image-cards--staggered .ms-solution-section-head,
  .ms-solution-image-cards--staggered .ms-solution-image-cards__grid {
    grid-column: 2 / span 22 !important;
  }
  
  .ms-solution-image-cards--staggered .ms-solution-section-head {
    margin-bottom: 0;
    padding-bottom: clamp(24px, 4vw, 40px);
    border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  }

  .ms-solution-image-cards--staggered .ms-solution-image-cards__grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  
  .ms-solution-image-cards--staggered .ms-image-card {
    border: none;
    border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
    background: transparent;
  }
  
  .ms-solution-image-cards--staggered .ms-image-card__step {
    font-family: 'Courier New', Courier, monospace;
    font-size: 13px;
    color: var(--masa-color-primary, #0D7C72);
    letter-spacing: 0.15em;
    margin-bottom: 24px;
    text-transform: uppercase;
    display: flex;
    align-items: center;
  }
  
  .ms-solution-image-cards--staggered .ms-image-card__step::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    background-color: var(--masa-color-primary, #0D7C72);
    margin-right: 12px;
  }
  
  .ms-solution-image-cards--staggered .ms-image-card__body {
    padding: clamp(32px, 5vw, 64px) 0;
  }

  .ms-image-card--horizontal {
    flex-direction: row;
  }
  
  .ms-image-card--horizontal .ms-image-card__media {
    width: 38%;
    border-bottom: none;
    border-right: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
    aspect-ratio: 16 / 9;
  }
  
  .ms-image-card--horizontal .ms-image-card__body {
    width: 62%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(24px, 3vw, 40px) clamp(32px, 4vw, 56px);
  }
  
  .ms-image-card--horizontal.ms-image-card--reverse {
    flex-direction: row-reverse;
  }
  
  .ms-image-card--horizontal.ms-image-card--reverse .ms-image-card__media {
    border-right: none;
    border-left: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  }
}

@media (max-width: 900px) {
  .ms-solution-image-cards__grid {
    grid-template-columns: 1fr;
    grid-column: 1 / -1;
  }
  
  .ms-solution-image-cards--staggered .ms-solution-image-cards__grid {
    gap: 0;
  }
  
  .ms-solution-image-cards--staggered .ms-image-card {
    border: none;
    border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
    background: transparent;
  }
  
  .ms-solution-image-cards--staggered .ms-image-card:first-child {
    border-top: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  }
  
  .ms-solution-image-cards--staggered .ms-image-card__step {
    font-family: 'Courier New', Courier, monospace;
    font-size: 13px;
    color: var(--masa-color-primary, #0D7C72);
    letter-spacing: 0.15em;
    margin-bottom: 24px;
    text-transform: uppercase;
    display: flex;
    align-items: center;
  }
  
  .ms-solution-image-cards--staggered .ms-image-card__step::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    background-color: var(--masa-color-primary, #0D7C72);
    margin-right: 12px;
  }
  
  .ms-solution-image-cards--staggered .ms-image-card__media {
    aspect-ratio: 16 / 9;
  }
}

/* --------------------------------------------------------------------------
   Market Grid (Industrial Design for Custom Engineering)
   -------------------------------------------------------------------------- */
.ms-market-grid {
  padding-top: var(--masa-space-section, clamp(88px, 9vw, 140px));
  padding-bottom: 0;
  background: #1B1B1B;
  color: #fff;
}

.ms-market-grid h2,
.ms-market-grid h3,
.ms-market-grid p,
.ms-market-grid .ms-list-supporting-copy,
.ms-market-grid .section-title {
  color: #fff !important;
}

.ms-market-grid__header {
  padding: clamp(32px, 5vw, 64px) var(--masa-space-container-gutter, clamp(16px, 4vw, 32px));
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.ms-market-grid__header .section-title {
  margin-bottom: 0;
  max-width: 930px;
}

.ms-market-grid__content {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.ms-market-card {
  display: flex;
  flex-direction: column;
  background: transparent;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.ms-market-card:last-child {
  border-bottom: none;
}

.ms-market-card__media {
  margin: 0;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.ms-market-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ms-market-card__body {
  padding: clamp(32px, 5vw, 64px) var(--masa-space-container-gutter, clamp(16px, 4vw, 32px));
  flex-grow: 1;
}

.ms-market-card__step {
  font-family: 'Courier New', Courier, monospace;
  font-size: 13px;
  color: #fff !important;
  letter-spacing: 0.15em;
  margin-bottom: 24px;
  text-transform: uppercase;
  display: flex;
  align-items: center;
}

.ms-market-card__step::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  background-color: #fff;
  margin-right: 12px;
}

.ms-market-card__body h3 {
  margin: 0 0 16px;
  color: #fff !important;
  font-size: clamp(20px, 1.8vw, 28px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.2;
}

.ms-market-card__body p {
  margin: 0 0 16px;
}

.ms-market-card__body p:last-child {
  margin-bottom: 0;
}

@media (min-width: 901px) {
  .ms-market-grid__content {
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr) minmax(0, 1.2fr);
  }
  
  .ms-market-grid__header {
    grid-column: span 1;
    border-bottom: none;
    border-right: 1px solid rgba(255, 255, 255, 0.15);
    padding: clamp(32px, 4vw, 56px);
    padding-left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  
  .ms-market-card {
    grid-column: span 1;
    border-bottom: none;
    border-right: 1px solid rgba(255, 255, 255, 0.15);
  }

  .ms-market-card:first-of-type {
    grid-column: span 1;
  }

  .ms-market-card:last-child {
    grid-column: span 1;
    border-right: none;
  }
  
  .ms-market-card__media {
    aspect-ratio: 4 / 3;
  }
}

/* Keep solution-page outer grid lines on the approved MASA line token. */
.page-automated-sanding-lines .ms-solution-problem > .container.grid-24,
.page-automated-sanding-lines .ms-solution-flow > .container.grid-24,
.page-automated-sanding-lines .ms-solution-configuration > .container.grid-24,
.page-automated-sanding-lines .ms-solution-project-path > .container.grid-24,
.page-automated-sanding-lines .ms-solution-decision > .container.grid-24 {
  --grid-line: var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.page-automated-sanding-lines .ms-solution-signal-grid,
.page-oem-odm-custom-engineering .ms-solution-signal-grid:not(.ms-solution-signal-grid--stacked) {
  grid-column: 1 / -1 !important;
}

.page-automated-sanding-lines .ms-solution-problem {
  padding-block: 0 !important;
}

@media (max-width: 768px) {
  .ms-faq-group {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .ms-faq-group-title,
  .ms-faq-group-list {
    grid-column: 1 / -1;
  }
  .ms-faq-group-list {
    border-left: 0;
  }
  .ms-faq-group-title {
    position: static;
    padding: 0 0 18px;
  }
}

/* Give the first problem section a measured breathing space below the hero. */
.page-automated-sanding-lines .ms-solution-problem {
  background: #FFFFFF;
  padding-top: clamp(56px, 7vw, 112px) !important;
}

.page-automated-sanding-lines .ms-solution-problem .ms-solution-section-head {
  margin-bottom: 0;
}

.page-automated-sanding-lines .ms-solution-problem-process {
  margin-top: 40px;
}

.page-automated-sanding-lines .ms-solution-problem-process .step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  font-size: clamp(20px, 1.5vw, 24px);
  letter-spacing: 0;
  line-height: 1;
}

.page-automated-sanding-lines .ms-solution-problem-process .step h3 {
  margin-top: 24px;
}

.page-automated-sanding-lines .ms-solution-proof > .container.grid-24,
.page-automated-sanding-lines .ms-solution-quote > .container.grid-24 {
  --grid-line: rgba(255, 255, 255, 0.15);
}

.ms-solution-flow-step h3 {
  grid-column: 2;
  margin-bottom: 6px;
  font-size: clamp(16px, 1.15vw, 18px);
  letter-spacing: -0.015em;
}

.ms-solution-flow-step p {
  grid-column: 2;
}

.ms-solution-centered-action {
  display: flex;
  justify-content: flex-start;
  margin-top: 30px;
}

.ms-solution-proof {
  padding-block: var(--masa-space-section, clamp(88px, 9vw, 140px));
  color: #ffffff;
  background: var(--masa-color-primary, #0d7c72);
}

.ms-solution-proof .section-title {
  color: #ffffff;
}

.ms-solution-proof__content {
  grid-column: 2 / span 10;
}

.ms-solution-proof__content p,
.ms-solution-proof__note {
  max-width: 650px;
  margin: 24px 0 0;
  color: rgba(255, 255, 255, 0.8);
  font-size: 16px;
  line-height: 1.7;
}

.ms-solution-proof__content strong {
  color: #ffffff;
  font-weight: 600;
}

.ms-solution-proof__evidence {
  grid-column: 14 / span 10;
  padding: clamp(24px, 3vw, 40px);
  background: rgba(3, 5, 44, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.22);
}

.ms-solution-microcopy {
  margin: 26px 0 16px;
  color: var(--masa-color-accent, #fbd21e);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.ms-solution-stat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 24px;
}

.ms-solution-stat-grid > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ms-solution-stat-grid strong {
  color: #ffffff;
  font-size: 16px;
  font-weight: 600;
}

.ms-solution-stat-grid span {
  color: rgba(255, 255, 255, 0.65);
  font-size: 12px;
}

.ms-solution-proof__note {
  grid-column: 2 / span 22;
  max-width: none;
  margin-top: 34px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.22);
  font-size: 13px;
}

.ms-solution-configuration {
  padding-block: var(--masa-space-section, clamp(88px, 9vw, 140px));
  background: var(--masa-color-surface-soft, #F4F6F7);
}

.ms-solution-configuration__layout {
  grid-column: 2 / span 22;
  --ms-solution-configuration-gap: clamp(48px, 7vw, 104px);
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
  gap: var(--ms-solution-configuration-gap);
  align-items: stretch;
}

.ms-solution-configuration__copy,
.ms-solution-configuration__media {
  min-width: 0;
}

.ms-solution-configuration__copy {
  padding-left: calc((100% - var(--ms-solution-configuration-gap)) / 12);
}

.ms-solution-configuration__copy .ms-solution-section-head {
  margin-bottom: 34px;
}

.ms-solution-configuration__media {
  align-self: center;
  aspect-ratio: 4 / 3;
  width: calc(100% + clamp(48px, 7vw, 104px));
  margin-right: calc(-1 * clamp(48px, 7vw, 104px));
  overflow: hidden;
  background: #ffffff;
  border: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.ms-solution-configuration-card {
  padding: 0;
  border-top: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.ms-solution-configuration-card:last-child {
  border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.ms-solution-configuration-card h3 {
  margin: 0;
}

.ms-solution-configuration-card h3 button {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 0;
  color: inherit;
  text-align: left;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.ms-solution-configuration-card h3 button:focus-visible {
  outline: 2px solid #0D7C72;
  outline-offset: 4px;
}

.ms-solution-configuration-card__toggle {
  position: relative;
  display: block;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  color: #0D7C72;
}

.ms-solution-configuration-card__toggle::before,
.ms-solution-configuration-card__toggle::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 1px;
  background: currentColor;
  content: "";
  transform: translate(-50%, -50%);
  transition: transform 0.25s ease;
}

.ms-solution-configuration-card__toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.ms-solution-configuration-card.is-open .ms-solution-configuration-card__toggle::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.ms-solution-configuration-card__body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.ms-solution-configuration-card__body-inner {
  padding: 0 0 24px;
}

.ms-solution-actions {
  margin-top: 32px;
}

.ms-solution-project-path {
  padding-block: var(--masa-space-section, clamp(88px, 9vw, 140px));
  background: #ffffff;
}

.ms-solution-timeline {
  grid-column: 2 / span 22;
  display: grid;
  gap: 0;
  border-top: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.ms-solution-timeline-item {
  display: grid;
  grid-template-columns: minmax(220px, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(28px, 5vw, 80px);
  align-items: center;
  padding: 34px 0;
  border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.ms-solution-timeline-item__media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--masa-color-surface-soft, #F4F6F7);
}

.ms-solution-timeline-item__copy p + p {
  margin-top: 16px;
}

.ms-solution-timeline-item__copy strong {
  color: var(--masa-color-text, #071f20);
  font-weight: 600;
}

.ms-solution-decision {
  position: relative;
  isolation: isolate;
  padding-block: var(--masa-space-section, clamp(88px, 9vw, 140px));
  background: var(--masa-color-surface-soft, #F4F6F7);
}

.ms-solution-decision__background {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: url("https://masasanding.com/wp-content/uploads/2026/09/is-a-linked-sanding-line-worth-reviewing-for-your-factory.webp") center / cover no-repeat;
}

.ms-solution-decision::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(245, 245, 245, 0.9);
  content: "";
}

.ms-solution-decision__content {
  grid-column: 2 / span 14;
  max-width: 820px;
  padding: clamp(28px, 5vw, 64px);
  background: rgba(255, 255, 255, 0.88);
  border-left: 4px solid var(--masa-color-primary, #0d7c72);
}

.ms-solution-decision__content > p {
  margin: 24px 0 0;
  color: var(--masa-color-text-muted, #525252);
  font-size: 16px;
  line-height: 1.7;
}

.ms-solution-decision__content ul {
  display: grid;
  gap: 12px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.ms-solution-decision__content li {
  position: relative;
  padding-left: 28px;
  color: var(--masa-color-text, #071f20);
  font-size: 15px;
  line-height: 1.6;
}

.ms-solution-decision__content li::before {
  position: absolute;
  top: 0.55em;
  left: 0;
  width: 9px;
  height: 9px;
  background: var(--masa-color-accent, #fbd21e);
  content: "";
}

.ms-solution-decision__content strong {
  font-weight: 600;
}

.ms-solution-quote .ms-quote-split__copy {
  align-self: center;
}

.ms-solution-quote .ms-quote-split__desc + .ms-quote-split__desc {
  margin-top: 16px;
}

@media (max-width: 900px) {
  .ms-solution-flow__layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .ms-solution-hero__copy,
  .ms-solution-proof__content,
  .ms-solution-proof__evidence,
  .ms-solution-decision__content {
    grid-column: 1 / -1;
  }

  .ms-solution-configuration__layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .ms-solution-configuration__copy {
    padding-left: 0;
  }

  .ms-solution-hero__copy {
    margin-bottom: 20px;
  }

  .ms-solution-proof__evidence {
    margin-top: 36px;
  }

  .ms-solution-configuration__media {
    width: 100%;
    max-width: 720px;
    margin-top: 0;
    margin-right: 0;
    order: -1;
  }

  .ms-solution-decision__content {
    max-width: none;
  }
}

@media (max-width: 1100px) {
  .ms-solution-signal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ms-solution-signal-card,
  .ms-solution-signal-card:nth-child(4n + 1) {
    padding: 0;
    border-left: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  }

  .ms-solution-signal-card:nth-child(2n + 1) {
    border-left: 0;
  }

  .ms-solution-signal-card__body {
    padding-inline: 24px;
  }

}

@media (max-width: 680px) {
  .ms-solution-hero__grid {
    display: block;
  }

  .ms-solution-hero__actions,
  .ms-solution-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .ms-solution-hero__actions .pill-button,
  .ms-solution-actions .pill-button,
  .ms-solution-centered-action .pill-button {
    justify-content: center;
    width: 100%;
  }

  .ms-solution-signal-grid,
  .ms-solution-flow__steps,
  .ms-solution-stat-grid {
    grid-template-columns: 1fr;
  }

  .ms-solution-signal-card {
    padding: 0;
    border-left: 0;
  }

  .ms-solution-signal-card__body {
    padding-inline: 0;
  }

  .ms-solution-flow-step {
    min-height: 0;
  }

  .ms-solution-timeline-item {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .ms-solution-decision__background {
    background-image: none;
  }

  .ms-solution-decision__content {
    padding: 28px 22px;
  }
}

/* Homepage-aligned typography colors for the automated sanding lines page. */
.page-automated-sanding-lines {
  color: #111111;
}

.page-automated-sanding-lines .ms-solution-problem .section-title,
.page-automated-sanding-lines .ms-solution-flow .section-title,
.page-automated-sanding-lines .ms-solution-configuration .section-title,
.page-automated-sanding-lines .ms-solution-project-path .section-title,
.page-automated-sanding-lines .ms-solution-decision .section-title,
.page-automated-sanding-lines .ms-solution-signal-card h3,
.page-automated-sanding-lines .ms-solution-flow-step h3,
.page-automated-sanding-lines .ms-solution-configuration-card h3,
.page-automated-sanding-lines .ms-solution-timeline-item__copy h3 {
  color: #111111;
}

.page-automated-sanding-lines .ms-solution-signal-card p,
.page-automated-sanding-lines .ms-solution-flow-step p,
.page-automated-sanding-lines .ms-solution-configuration-card p,
.page-automated-sanding-lines .ms-solution-timeline-item__copy p,
.page-automated-sanding-lines .ms-solution-decision__content > p {
  color: #525252;
}

.page-automated-sanding-lines .ms-solution-section-head .section-intro {
  color: #333333;
}

.page-automated-sanding-lines .ms-solution-configuration-card {
  padding-right: 24px;
}

.page-automated-sanding-lines .ms-solution-configuration-card:first-child {
  border-top: 0;
}

.page-automated-sanding-lines .ms-solution-hero__body {
  color: #FFFFFF;
}

.page-automated-sanding-lines .ms-solution-decision__content li {
  color: #111111;
}

.page-automated-sanding-lines .ms-solution-quote .ms-quote-split__desc {
  color: rgba(255, 255, 255, 0.78);
}

.page-automated-sanding-lines .ms-solution-quote .ms-quote-split__form-card {
  color: #111111;
}

.page-automated-sanding-lines .ms-solution-quote .ms-form-confidential {
  color: rgba(17, 17, 17, 0.58);
}

/* Keep the secondary configuration action visible on its light section background. */
.page-automated-sanding-lines .ms-solution-configuration .ms-solution-actions .pill-button.is-outline-dark {
  color: #111111;
  border-color: #111111;
  background: transparent;
}

.page-automated-sanding-lines .ms-solution-configuration .ms-solution-actions .pill-button.is-outline-dark:hover,
.page-automated-sanding-lines .ms-solution-configuration .ms-solution-actions .pill-button.is-outline-dark:focus-visible {
  color: #ffffff;
  border-color: #111111;
  background: #111111;
}

/* Keep primary actions aligned with the homepage theme color. */
.page-automated-sanding-lines .ms-solution-hero__actions .pill-button:not(.is-outline-dark),
.page-automated-sanding-lines .ms-solution-actions .pill-button:not(.is-outline-dark),
.page-automated-sanding-lines .ms-solution-centered-action .pill-button {
  color: #FFFFFF;
  border-color: #0D7C72;
  background: #0D7C72;
}

.page-automated-sanding-lines .ms-solution-hero__actions .pill-button:not(.is-outline-dark):hover,
.page-automated-sanding-lines .ms-solution-hero__actions .pill-button:not(.is-outline-dark):focus-visible,
.page-automated-sanding-lines .ms-solution-actions .pill-button:not(.is-outline-dark):hover,
.page-automated-sanding-lines .ms-solution-actions .pill-button:not(.is-outline-dark):focus-visible,
.page-automated-sanding-lines .ms-solution-centered-action .pill-button:hover,
.page-automated-sanding-lines .ms-solution-centered-action .pill-button:focus-visible {
  color: #0D7C72;
  border-color: #FFFFFF;
  background: #FFFFFF;
}

.page-automated-sanding-lines .ms-solution-quote .g03-submit {
  color: #FFFFFF;
  border-color: #0D7C72;
  background: #0D7C72;
}

.page-automated-sanding-lines .ms-solution-quote .g03-submit:hover {
  background: #075B53;
}

/* Reframe the proof section as a minimalist editorial panel. */
.page-automated-sanding-lines .ms-solution-proof__layout {
  grid-column: 2 / span 22;
  display: grid;
  grid-template-columns: repeat(22, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--grid-line, rgba(255, 255, 255, 0.15));
  border-bottom: 1px solid var(--grid-line, rgba(255, 255, 255, 0.15));
}

.page-automated-sanding-lines .ms-solution-proof__content {
  grid-column: 1 / span 11;
  align-self: stretch;
  margin-top: 0;
  padding: clamp(56px, 7vw, 96px) clamp(32px, 4vw, 56px) clamp(40px, 5vw, 72px) 0;
  border-right: 1px solid var(--grid-line, rgba(255, 255, 255, 0.15));
  border-top: 0;
}

.page-automated-sanding-lines .ms-solution-proof__content .section-title {
  width: 100%;
  max-width: none;
  margin: 0 0 clamp(22px, 2.5vw, 34px);
}

.page-automated-sanding-lines .ms-solution-proof__content p {
  width: 100%;
  max-width: none;
  margin: 0;
}

.page-automated-sanding-lines .ms-solution-proof__content p + p {
  margin-top: 20px;
}

.page-automated-sanding-lines .ms-solution-proof__evidence {
  grid-column: 12 / span 11;
  align-self: stretch;
  margin-top: 0;
  padding: clamp(40px, 5vw, 72px) 0 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.page-automated-sanding-lines .ms-solution-proof__conditions {
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
}

.page-automated-sanding-lines .ms-solution-proof__conditions .ms-solution-microcopy {
  margin: 0;
  padding: 0 clamp(16px, 1.8vw, 24px) 16px;
  border-bottom: 1px solid var(--grid-line, rgba(255, 255, 255, 0.15));
  border-left: 0;
  color: #FBD21E;
}

.page-automated-sanding-lines .ms-solution-proof__conditions .ms-solution-stat-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
}

.page-automated-sanding-lines .ms-solution-proof__conditions .ms-solution-stat-grid > div {
  min-width: 0;
  min-height: 128px;
  justify-content: flex-end;
  padding: 24px clamp(16px, 1.8vw, 24px);
  border-right: 1px solid var(--grid-line, rgba(255, 255, 255, 0.15));
  border-bottom: 1px solid var(--grid-line, rgba(255, 255, 255, 0.15));
  background: transparent;
}

.page-automated-sanding-lines .ms-solution-proof__conditions .ms-solution-stat-grid > div:nth-child(1),
.page-automated-sanding-lines .ms-solution-proof__conditions .ms-solution-stat-grid > div:nth-child(2) {
  grid-column: span 3;
}

.page-automated-sanding-lines .ms-solution-proof__conditions .ms-solution-stat-grid > div:nth-child(3),
.page-automated-sanding-lines .ms-solution-proof__conditions .ms-solution-stat-grid > div:nth-child(4),
.page-automated-sanding-lines .ms-solution-proof__conditions .ms-solution-stat-grid > div:nth-child(5) {
  grid-column: span 2;
  min-height: 112px;
}

.page-automated-sanding-lines .ms-solution-proof__conditions .ms-solution-stat-grid > div:nth-child(2),
.page-automated-sanding-lines .ms-solution-proof__conditions .ms-solution-stat-grid > div:nth-child(5) {
  border-right: 0;
}

.page-automated-sanding-lines .ms-solution-proof__conditions .ms-solution-stat-grid > div:nth-child(3),
.page-automated-sanding-lines .ms-solution-proof__conditions .ms-solution-stat-grid > div:nth-child(4),
.page-automated-sanding-lines .ms-solution-proof__conditions .ms-solution-stat-grid > div:nth-child(5) {
  border-bottom: 0;
}

.page-automated-sanding-lines .ms-solution-proof__conditions .ms-solution-stat-grid strong {
  font-size: clamp(17px, 1.55vw, 22px);
  line-height: 1.18;
}

.page-automated-sanding-lines .ms-solution-proof__conditions .ms-solution-stat-grid span {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-automated-sanding-lines .ms-solution-proof__note {
  grid-column: 2 / span 22;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 0;
}

@media (max-width: 900px) {
  .page-automated-sanding-lines .ms-solution-proof__layout {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
  }

  .page-automated-sanding-lines .ms-solution-proof__content,
  .page-automated-sanding-lines .ms-solution-proof__evidence,
  .page-automated-sanding-lines .ms-solution-proof__note {
    grid-column: 1 / -1;
  }

  .page-automated-sanding-lines .ms-solution-proof__content {
    padding-right: 0;
    border-right: 0;
    border-bottom: 1px solid var(--grid-line, rgba(255, 255, 255, 0.15));
  }

  .page-automated-sanding-lines .ms-solution-proof__evidence {
    padding-top: 28px;
    padding-left: 0;
  }

  .page-automated-sanding-lines .ms-solution-proof__note {
    margin-top: 18px;
  }
}

@media (max-width: 680px) {
  .page-automated-sanding-lines .ms-solution-proof__conditions .ms-solution-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-automated-sanding-lines .ms-solution-proof__conditions .ms-solution-stat-grid > div:nth-child(n) {
    grid-column: auto;
    min-height: 104px;
    border-bottom: 1px solid var(--grid-line, rgba(255, 255, 255, 0.15));
  }

  .page-automated-sanding-lines .ms-solution-proof__conditions .ms-solution-stat-grid > div:nth-child(2n) {
    border-right: 0;
  }

  .page-automated-sanding-lines .ms-solution-proof__conditions .ms-solution-stat-grid > div:last-child {
    border-bottom: 0;
  }
}

/* Match the line-flow section to the homepage Partner Program composition:
   full-bleed teal background, full-height media, and a centered copy column. */
.page-automated-sanding-lines .ms-solution-flow {
  padding-block: clamp(56px, 7vw, 112px);
  color: #ffffff;
  background: #0D7C72;
}

.page-automated-sanding-lines .ms-solution-flow__layout {
  display: grid;
  grid-template-columns: repeat(24, minmax(0, 1fr));
  gap: var(--gap, 16px);
  align-items: stretch;
}

.page-automated-sanding-lines .ms-solution-flow__head {
  grid-column: 1 / -1;
  grid-row: 1;
  min-width: 0;
  margin-bottom: clamp(8px, 1vw, 16px);
}

.page-automated-sanding-lines .ms-solution-flow__head .section-title {
  width: 100%;
  max-width: none;
  margin: 0 0 clamp(16px, 2vw, 24px);
  color: #ffffff;
}

.page-automated-sanding-lines .ms-solution-flow__head .section-intro {
  margin: 0;
  color: rgba(255, 255, 255, 0.8);
}

.page-automated-sanding-lines .ms-solution-flow__media {
  grid-column: 1 / span 10;
  grid-row: 2;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 0;
  background: transparent;
}

.page-automated-sanding-lines .ms-solution-flow__content {
  min-width: 0;
}

.page-automated-sanding-lines .ms-solution-flow__content .ms-solution-section-head {
  margin-bottom: 30px;
}

.page-automated-sanding-lines .ms-solution-flow__content .section-title {
  color: #ffffff;
}

.page-automated-sanding-lines .ms-solution-flow__content .section-intro {
  color: rgba(255, 255, 255, 0.78);
}

.page-automated-sanding-lines .ms-solution-flow__steps {
  border-top-color: rgba(255, 255, 255, 0.24);
}

.page-automated-sanding-lines .ms-solution-flow-step {
  column-gap: 18px;
  padding: 16px 0;
  border-bottom-color: rgba(255, 255, 255, 0.18);
}

.page-automated-sanding-lines .ms-solution-flow-step__icon {
  color: #FBD21E;
}

.page-automated-sanding-lines .ms-solution-flow-step h3 {
  color: #ffffff;
}

.page-automated-sanding-lines .ms-solution-flow-step p {
  color: rgba(255, 255, 255, 0.8);
}

.page-automated-sanding-lines .ms-solution-centered-action {
  margin-top: 30px;
}

.page-automated-sanding-lines .ms-solution-centered-action .pill-button {
  color: #0D7C72;
  background: #ffffff;
  border-color: #ffffff;
}

@media (min-width: 901px) {
  .page-automated-sanding-lines .ms-solution-flow__media {
    display: flex;
    min-height: 100%;
    aspect-ratio: auto;
  }

  .page-automated-sanding-lines .ms-solution-flow__media img {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
  }

  .page-automated-sanding-lines .ms-solution-flow__content {
    grid-column: 12 / span 13;
    grid-row: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0;
  }
}

@media (max-width: 900px) {
  .page-automated-sanding-lines .ms-solution-flow__layout {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .page-automated-sanding-lines .ms-solution-flow__media,
  .page-automated-sanding-lines .ms-solution-flow__content {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .page-automated-sanding-lines .ms-solution-flow__media {
    order: 0;
    aspect-ratio: 4 / 3;
  }

  .page-automated-sanding-lines .ms-solution-flow__content {
    order: 1;
    padding: 0;
  }

  .page-automated-sanding-lines .ms-solution-flow__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

/* Dark output benchmark section for the automated sanding lines page. */
.page-automated-sanding-lines .ms-solution-proof {
  position: relative;
  overflow: hidden;
  padding-top: 0;
  padding-bottom: clamp(56px, 6vw, 88px);
  color: #ffffff;
  background: #1B1B1B;
}

.page-automated-sanding-lines .ms-solution-hero ~ .ms-solution-proof {
  background-color: #1B1B1B;
}

.page-automated-sanding-lines .ms-solution-proof > .container.grid-24 {
  position: relative;
  --grid-line: rgba(255, 255, 255, 0.15);
}

.page-automated-sanding-lines .ms-solution-proof .section-title {
  color: #ffffff;
}

.page-automated-sanding-lines .ms-solution-proof__content p,
.page-automated-sanding-lines .ms-solution-proof__note {
  color: rgba(255, 255, 255, 0.8);
}

.page-automated-sanding-lines .ms-solution-proof__content strong {
  color: #ffffff;
}

.page-automated-sanding-lines .ms-solution-proof__conditions .ms-solution-microcopy {
  color: rgba(255, 255, 255, 0.68);
}

.page-automated-sanding-lines .ms-solution-proof__conditions .ms-solution-stat-grid strong {
  color: #FBD21E;
}

.page-automated-sanding-lines .ms-solution-proof__conditions .ms-solution-stat-grid span {
  color: rgba(255, 255, 255, 0.65);
}

.page-automated-sanding-lines .ms-solution-proof__note {
  color: rgba(255, 255, 255, 0.8);
}

/* White line-flow section with the image and list joined edge to edge. */
.page-automated-sanding-lines .ms-solution-flow {
  color: #111111;
  background: #ffffff;
}

.page-automated-sanding-lines .ms-solution-flow__layout {
  column-gap: 0;
  row-gap: 0;
}

.page-automated-sanding-lines .ms-solution-flow__head {
  margin-bottom: 0;
  padding-bottom: clamp(24px, 2.5vw, 40px);
  border-bottom: 1px solid rgba(17, 17, 17, 0.18);
}

.page-automated-sanding-lines .ms-solution-flow__head .section-title {
  color: #111111;
}

.page-automated-sanding-lines .ms-solution-flow__head .section-intro {
  width: 100%;
  max-width: none;
  color: #525252;
  font-family: var(--masa-font-body, "Poppins", sans-serif);
  font-size: clamp(16px, 1.35vw, 18px);
  font-weight: var(--masa-font-weight-section-intro, 500);
  line-height: var(--masa-line-section-intro, 1.3);
}

.page-automated-sanding-lines .ms-solution-flow__steps {
  border-top: 0;
}

.page-automated-sanding-lines .ms-solution-flow-step {
  border-bottom: 0;
  grid-template-columns: max-content 40px minmax(0, 1fr);
  column-gap: 18px;
  padding: 22px 0;
}

.page-automated-sanding-lines .ms-solution-flow-step__icon {
  position: relative;
  display: flex;
  grid-column: 2;
  grid-row: 1 / span 3;
  align-items: flex-start;
  justify-content: center;
  width: 40px;
  min-width: 40px;
  height: 100%;
  padding-top: 2px;
  color: #0d7c72;
}

.page-automated-sanding-lines .ms-solution-flow-step__icon::after {
  content: "";
  position: absolute;
  top: 34px;
  bottom: -22px;
  left: 50%;
  width: 1px;
  background: rgba(13, 124, 114, 0.2);
  transform: translateX(-50%);
}

.page-automated-sanding-lines .ms-solution-flow-step:last-child .ms-solution-flow-step__icon::after {
  display: none;
}

.page-automated-sanding-lines .ms-solution-flow-step__marker {
  position: relative;
  display: block;
  width: 16px;
  height: 16px;
  border: 0;
  border-radius: 999px;
  background: #ffffff;
}

.page-automated-sanding-lines .ms-solution-flow-step__marker::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 999px;
  background: #0d7c72;
}

.page-automated-sanding-lines .ms-solution-flow-step__eyebrow {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
  margin-top: 4px;
  display: inline-flex;
  align-items: center;
  font-family: var(--utility);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
  color: rgba(13, 124, 114, 0.88);
}

.page-automated-sanding-lines .ms-solution-flow-step p {
  color: #525252;
}

.page-automated-sanding-lines .ms-solution-flow-step p.ms-list-supporting-copy {
  color: #525252;
  font-size: 15px;
  font-weight: var(--masa-font-weight-supporting-copy, 400);
  line-height: 1.65;
}

.page-automated-sanding-lines .ms-solution-configuration-card p.ms-list-supporting-copy {
  display: block;
  color: #525252;
  font-size: 15px;
  font-weight: var(--masa-font-weight-supporting-copy, 400);
  line-height: 1.65;
}

.page-automated-sanding-lines .ms-solution-configuration-card__body-inner {
  padding: 0 0 20px;
}

.page-automated-sanding-lines .ms-solution-configuration-card__body p.ms-list-supporting-copy {
  max-width: none;
  margin: 0;
  overflow-wrap: anywhere;
  color: #525252;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.65;
}

.page-automated-sanding-lines .ms-solution-configuration-card__body p + p {
  margin-top: 16px;
}

.page-automated-sanding-lines .ms-solution-configuration-card__body strong {
  color: #111111;
  font-weight: 600;
}

.page-automated-sanding-lines .ms-solution-signal-card p.ms-list-supporting-copy {
  display: block;
  color: var(--ink-soft);
  font-size: var(--masa-font-size-supporting-copy, 16px);
  font-weight: var(--masa-font-weight-supporting-copy, 400);
  line-height: var(--masa-line-supporting-copy, 1.45);
}

.page-automated-sanding-lines .ms-solution-flow-step__icon svg {
  width: 22px;
  height: 22px;
  stroke-width: 1.8;
}

.page-automated-sanding-lines .ms-solution-flow .ms-solution-centered-action .pill-button {
  color: #ffffff;
  background: #0d7c72;
  border-color: #0d7c72;
}

.page-automated-sanding-lines .ms-solution-flow .ms-solution-centered-action .pill-button:hover,
.page-automated-sanding-lines .ms-solution-flow .ms-solution-centered-action .pill-button:focus-visible {
  color: #ffffff;
  background: #075b53;
  border-color: #075b53;
}

@media (min-width: 901px) {
  .page-automated-sanding-lines .ms-solution-flow__head {
    padding-left: calc(100% / 24);
  }

  .page-automated-sanding-lines .ms-solution-flow__media {
    grid-column: 1 / span 12;
  }

  .page-automated-sanding-lines .ms-solution-flow__content {
    grid-column: 13 / span 12;
    align-self: end;
    justify-content: flex-end;
    padding: 0 0 0 calc(100% / 12);
  }

  .page-automated-sanding-lines .ms-solution-flow__media {
    display: block;
    min-height: 0;
    height: auto;
    aspect-ratio: 4 / 3;
    align-self: start;
  }

  .page-automated-sanding-lines .ms-solution-flow__media img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }
}

@media (max-width: 900px) {
  .page-automated-sanding-lines .ms-solution-flow__head {
    padding-left: 0;
  }

  .page-automated-sanding-lines .ms-solution-flow__content {
    padding: 0;
  }
}

/* Let the configuration section run edge to edge vertically. */
.page-automated-sanding-lines .ms-solution-configuration {
  background: #FFFFFF;
  padding-block: 0;
}

.page-automated-sanding-lines .ms-solution-configuration__media {
  border: 0;
}

@media (min-width: 901px) {
  .page-automated-sanding-lines .ms-solution-configuration__media {
    align-self: stretch;
    height: auto;
    aspect-ratio: auto;
  }

  .page-automated-sanding-lines .ms-solution-configuration__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

@media (max-width: 900px) {
  .page-automated-sanding-lines .ms-solution-configuration__media {
    height: auto;
    aspect-ratio: 4 / 3;
  }
}

/* Remove the extra left grid-column inset and give the configuration copy
   comfortable vertical breathing room beside the full-height image. */
.page-automated-sanding-lines .ms-solution-configuration__layout {
  grid-column: 1 / -1;
}

@media (min-width: 901px) {
  .page-automated-sanding-lines .ms-solution-configuration__layout {
    gap: 0;
  }

  .page-automated-sanding-lines .ms-solution-configuration__media {
    width: 100%;
    margin-right: 0;
  }

  .page-automated-sanding-lines .ms-solution-configuration__layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-automated-sanding-lines .ms-solution-configuration__copy {
    display: flex;
    flex-direction: column;
    padding-top: var(--partner-block-space, clamp(40px, 10vw, 130px));
    padding-bottom: var(--partner-block-space, clamp(40px, 10vw, 130px));
  }

  .page-automated-sanding-lines .ms-solution-configuration__cards {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }

  .page-automated-sanding-lines .ms-solution-configuration .ms-solution-actions {
    margin-top: 40px;
  }

}

@media (max-width: 900px) {
  .page-automated-sanding-lines .ms-solution-configuration__layout {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
  }

  .page-automated-sanding-lines .ms-solution-configuration__copy {
    padding-top: 0;
    padding-bottom: 0;
  }
}

/* Restore the numbered accordion layout for the project path section. */
.page-automated-sanding-lines .ms-solution-project-path {
  padding-block: 0;
  padding-bottom: clamp(56px, 7vw, 112px);
}

.page-automated-sanding-lines .ms-solution-project-path__layout {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  align-items: stretch;
}

.page-automated-sanding-lines .ms-solution-project-path__copy {
  display: flex;
  min-width: 0;
  grid-column: 1 / -1;
  flex-direction: column;
}

.page-automated-sanding-lines .ms-solution-project-path__copy .ms-solution-section-head {
  margin-bottom: clamp(48px, 6vw, 78px);
  padding-left: calc(100% / 12);
}

.page-automated-sanding-lines .ms-solution-project-path__copy .section-title {
  width: 100%;
  max-width: none;
  margin: 0;
  padding-right: clamp(20px, 2.4vw, 36px);
}

.page-automated-sanding-lines .ms-solution-project-path__accordion {
  margin-top: auto;
  padding-left: 0;
  border-top: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.page-automated-sanding-lines .ms-solution-project-path__item {
  margin: 0;
  border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.page-automated-sanding-lines .ms-solution-project-path__item-heading {
  margin: 0;
}

.page-automated-sanding-lines .ms-solution-project-path__item-heading button {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  width: 100%;
  gap: 24px;
  align-items: center;
  padding: 16px 0 16px calc(100% / 12);
  border: 0;
  color: #111111;
  background: transparent;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.page-automated-sanding-lines .ms-solution-project-path__item-heading button:focus-visible {
  outline: 2px solid #0D7C72;
  outline-offset: 4px;
}

.page-automated-sanding-lines .ms-solution-project-path__number {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 0;
  color: #0D7C72;
  background: #F1F5F9;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1;
}

.page-automated-sanding-lines .ms-solution-project-path__item.is-open .ms-solution-project-path__number {
  color: #0D7C72;
  background: #E5F3F1;
}

.page-automated-sanding-lines .ms-solution-project-path__item-heading button > span:last-child {
  color: #111111;
  font-size: clamp(16px, 1.2vw, 19px);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.3;
  transition: color 0.38s ease;
}

.page-automated-sanding-lines .ms-solution-project-path__item.is-open .ms-solution-project-path__item-heading button > span:last-child {
  color: #0D7C72;
}

.page-automated-sanding-lines .ms-solution-project-path__body {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-height: 0;
  padding: 0 0 0 calc(68px + 100% / 12);
  opacity: 0;
  overflow: hidden;
  transform: translateY(-8px);
  transition: max-height 0.58s cubic-bezier(0.2, 0.7, 0.2, 1), padding 0.45s ease, opacity 0.3s ease, transform 0.45s ease;
  will-change: max-height, opacity, transform;
}

.page-automated-sanding-lines .ms-solution-project-path__item.is-open .ms-solution-project-path__body {
  max-height: 420px;
  padding-top: 0;
  padding-bottom: 20px;
  opacity: 1;
  transform: translateY(0);
}

.page-automated-sanding-lines .ms-solution-project-path__body-inner {
  box-sizing: border-box;
  width: 100%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}

.page-automated-sanding-lines .ms-solution-project-path__body p {
  max-width: none;
  margin: 0;
  overflow-wrap: anywhere;
  color: #525252;
  font-size: 15px;
  line-height: 1.65;
}

.page-automated-sanding-lines .ms-solution-project-path__body p + p {
  margin-top: 16px;
}

.page-automated-sanding-lines .ms-solution-project-path__body strong {
  color: #111111;
  font-weight: 600;
}

@media (max-width: 900px) {
  .page-automated-sanding-lines .ms-solution-project-path__layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .page-automated-sanding-lines .ms-solution-project-path__copy {
    display: block;
  }

  .page-automated-sanding-lines .ms-solution-project-path__accordion {
    margin-top: 0;
  }

  .page-automated-sanding-lines .ms-solution-project-path__copy .ms-solution-section-head {
    margin-bottom: 42px;
    padding-left: 0;
  }
}

@media (max-width: 680px) {
  .page-automated-sanding-lines .ms-solution-project-path__item-heading button {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 16px;
    padding-left: 0;
  }

  .page-automated-sanding-lines .ms-solution-project-path__number {
    width: 32px;
    height: 32px;
  }

  .page-automated-sanding-lines .ms-solution-project-path__body {
    padding-left: 48px;
  }

  .page-automated-sanding-lines .ms-solution-project-path__item.is-open .ms-solution-project-path__body {
    padding-left: 48px;
  }
}

/* Restore the project-path image and keep it synchronized with the active step. */
.page-automated-sanding-lines .ms-solution-project-path__copy {
  grid-column: auto;
}

.page-automated-sanding-lines .ms-solution-project-path__media {
  min-width: 0;
  position: static;
  margin: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 0;
  background: #F4F6F7;
}

.page-automated-sanding-lines .ms-solution-project-path__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.25s ease;
}

@media (min-width: 901px) {
  .page-automated-sanding-lines .ms-solution-project-path__layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
  }

  .page-automated-sanding-lines .ms-solution-project-path__copy {
    padding-top: var(--partner-block-space, clamp(40px, 10vw, 130px));
  }

  .page-automated-sanding-lines .ms-solution-project-path__media {
    align-self: stretch;
    height: auto;
    aspect-ratio: auto;
  }
}

@media (max-width: 900px) {
  .page-automated-sanding-lines .ms-solution-project-path__layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .page-automated-sanding-lines .ms-solution-project-path__media {
    order: -1;
    height: auto;
    aspect-ratio: 4 / 3;
  }
}

/* Product category pages use the global homepage heading hierarchy. */
.tax-product-category .section-hero.ms-hero-split {
  background: var(--masa-color-primary, #0D7C72) !important;
  color: #FFFFFF !important;
}

.tax-product-category .ms-hero-split__grid::before {
  display: none;
}

.tax-product-category .ms-hero-split__media-card {
  border: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
  box-sizing: border-box;
  aspect-ratio: auto;
}

/* Product category S01: show the complete banner image without cover-cropping. */
.tax-product-category .ms-hero-split__media-card img {
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.tax-product-category .ms-breadcrumbs {
  background: transparent !important;
}

.tax-product-category .ms-breadcrumb-list,
.tax-product-category .ms-breadcrumb-list a,
.tax-product-category .ms-breadcrumb-sep {
  color: rgba(255, 255, 255, 0.72);
}

.tax-product-category .ms-breadcrumb-current {
  color: #FFFFFF;
}

.tax-product-category .ms-hero-split__title {
  font-family: var(--masa-font-display, "Poppins", sans-serif);
  font-size: var(--masa-font-size-h1, clamp(38px, calc(19px + 2.3vw), 62px));
  font-weight: var(--masa-font-weight-heading, 600);
  line-height: var(--masa-line-h1, .95);
  letter-spacing: var(--masa-letter-h1, -.03em);
  color: #FFFFFF !important;
}

.tax-product-category .ms-hero-split__desc {
  color: rgba(255, 255, 255, 0.85) !important;
}

.tax-product-category .section-title,
.tax-product-category .quote-copy h2 {
  font-family: var(--masa-font-display, "Poppins", sans-serif);
  font-size: var(--masa-font-size-h2, clamp(32px, 3vw, 46px));
  font-weight: var(--masa-font-weight-heading, 600);
  line-height: var(--masa-line-h2, 1.1);
  letter-spacing: var(--masa-letter-h2, -.04em);
}

.tax-product-category .ms-process-card__title,
.tax-product-category .ms-product-card__title,
.tax-product-category .ms-tech-card__title,
.tax-product-category .ms-app-card__title,
.tax-product-category .ms-adv-item__title {
  font-family: var(--masa-font-display, "Poppins", sans-serif);
  font-size: var(--masa-font-size-h3, clamp(20px, 1.5vw, 24px));
  font-weight: var(--masa-font-weight-heading, 600);
  line-height: var(--masa-line-h3, 1.1);
  letter-spacing: var(--masa-letter-h3, -.025em);
}

.tax-product-category .ms-product-card__title {
  font-size: 18px;
}

.tax-product-category .section-title,
.tax-product-category .ms-process-card__title,
.tax-product-category .ms-product-card__title,
.tax-product-category .ms-tech-card__title,
.tax-product-category .ms-app-card__title,
.tax-product-category .ms-faq-group-title,
.tax-product-category .ms-faq-question {
  color: #111111;
}

/* 去除产品分类页卡片的白色背景和阴影 */
.tax-product-category .ms-process-card,
.tax-product-category .ms-tech-card,
.tax-product-category .ms-product-card {
  background: transparent;
  box-shadow: none;
}

.tax-product-category .ms-process-track {
  padding-bottom: 0;
}

.tax-product-category .ms-product-card:hover {
  background: transparent;
  box-shadow: none;
}

.tax-product-category .ms-app-card {
  box-shadow: none;
}

.tax-product-category .ms-faq-card:hover {
  background: transparent;
}

.tax-product-category .ms-process-section {
  background: #FFFFFF !important;
}

.tax-product-category .ms-process-card__text {
  font-size: 18px;
  font-weight: 500;
}

.tax-product-category .ms-process-head .section-intro {
  font-size: 18px;
}

/* Product category S02: when three cards use the stacked layout, let the H2
   scroll normally instead of sticking beside the card track. */
.tax-product-category .ms-process-container--stacked .ms-process-head {
  position: relative;
  top: auto;
}

.tax-product-category .ms-app-card__body {
  padding-left: 0;
  padding-right: 0;
}

.tax-product-category .ms-app-card__toggle {
  width: 40px;
  height: 40px;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(30px, 3vw, 44px);
  font-weight: 300;
  line-height: 1;
  color: var(--masa-color-text, #071f20);
}

.tax-product-category .ms-app-card__toggle::before {
  content: "+";
  position: static;
  width: auto;
  height: auto;
  background: none;
  transform: none;
}

.tax-product-category .ms-app-card__toggle::after {
  content: none;
}

.tax-product-category .ms-adv-item {
  gap: 0;
}

.tax-product-category .ms-adv-item__desc {
  margin-top: 20px;
  color: rgba(255, 255, 255, 0.6);
}

.tax-product-category .ms-process-card__media,
.tax-product-category .ms-tech-card__media,
.tax-product-category .ms-adv-media-card--sub {
  aspect-ratio: 3 / 2;
}

.tax-product-category .ms-app-card__media {
  aspect-ratio: 3 / 2;
}

.tax-product-category .ms-apps-section {
  background: #FFFFFF !important;
}

.tax-product-category .ms-adv-media-card--main {
  aspect-ratio: 16 / 9;
}

.tax-product-category .ms-catalog-carousel-section {
  background: var(--masa-color-surface-soft, #F4F6F7) !important;
}

/* Product category S03: use the MASA theme colors for carousel controls. */
.tax-product-category .ms-catalog-carousel-section .ms-carousel-btn {
  background: var(--masa-color-primary, #0D7C72);
  border-color: var(--masa-color-primary, #0D7C72);
  color: #FFFFFF;
}

.tax-product-category .ms-catalog-carousel-section .ms-carousel-btn:hover,
.tax-product-category .ms-catalog-carousel-section .ms-carousel-btn:focus-visible {
  background: var(--masa-color-primary-hover, #075B53);
  border-color: var(--masa-color-primary-hover, #075B53);
  color: #FFFFFF;
}

.tax-product-category .ms-tech-grid-section {
  background: #F4F6F7 !important;
}

/* Automated sanding lines follows the homepage heading hierarchy. Keep the
   page-specific colors, spacing, and layout rules above; standardize only the
   semantic heading typography and section supporting descriptions here. */
.page-automated-sanding-lines .ms-hero-split__title {
  font-family: var(--masa-font-display, "Poppins", sans-serif);
  font-size: var(--masa-font-size-h1, clamp(38px, calc(19px + 2.3vw), 62px));
  font-weight: var(--masa-font-weight-heading, 600);
  line-height: var(--masa-line-h1, .95);
  letter-spacing: var(--masa-letter-h1, -.03em);
}

.page-automated-sanding-lines .section-title,
.page-automated-sanding-lines .ms-quote-split__title {
  font-family: var(--masa-font-display, "Poppins", sans-serif);
  font-size: var(--masa-font-size-h2, clamp(32px, 3vw, 46px));
  font-weight: var(--masa-font-weight-heading, 600);
  line-height: var(--masa-line-h2, 1.1);
  letter-spacing: var(--masa-letter-h2, -.04em);
}

.page-automated-sanding-lines .ms-solution-signal-card h3,
.page-automated-sanding-lines .ms-solution-flow-step h3,
.page-automated-sanding-lines .ms-solution-configuration-card h3,
.page-automated-sanding-lines .ms-solution-timeline-item__copy h3 {
  font-family: var(--masa-font-display, "Poppins", sans-serif);
  font-size: var(--masa-font-size-h3, clamp(20px, 1.5vw, 24px));
  font-weight: var(--masa-font-weight-heading, 600);
  line-height: var(--masa-line-h3, 1.1);
  letter-spacing: var(--masa-letter-h3, -.025em);
}

.page-automated-sanding-lines .ms-solution-problem .ms-solution-signal-card h3 {
  font-size: clamp(19px, 1.6vw, 24px);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.025em;
}

.page-automated-sanding-lines .ms-solution-configuration-card h3 {
  font-size: clamp(16px, 1vw, 18px);
}

.page-automated-sanding-lines .ms-solution-configuration-card h3 button > span:first-child {
  color: #111111;
  font-size: clamp(16px, 1.2vw, 19px);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.3;
  transition: color 0.38s ease;
}

.page-automated-sanding-lines .ms-solution-configuration-card.is-open h3 button > span:first-child {
  color: #0D7C72;
}

.page-automated-sanding-lines .ms-solution-configuration-card__toggle {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 0;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(30px, 3vw, 44px);
  font-weight: 300;
  line-height: 1;
  color: var(--masa-color-text, #071f20);
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.page-automated-sanding-lines .ms-solution-configuration-card__toggle::before {
  position: static;
  width: auto;
  height: auto;
  background: none;
  content: "+";
  transform: none;
  transition: none;
}

.page-automated-sanding-lines .ms-solution-configuration-card__toggle::after {
  display: none;
}

.page-automated-sanding-lines .ms-solution-configuration-card.is-open .ms-solution-configuration-card__toggle {
  transform: rotate(45deg);
}

.page-automated-sanding-lines .ms-solution-section-head .section-intro {
  font-family: var(--masa-font-body, "Poppins", sans-serif);
  font-size: clamp(16px, 1.35vw, 18px);
  font-weight: var(--masa-font-weight-section-intro, 500);
  line-height: var(--masa-line-section-intro, 1.3);
}

/* Automated sanding lines uses a 60% content measure for standard H2 +
   description pairs. The homepage keeps its existing composition. */
.page-automated-sanding-lines .section-title:has(+ .section-intro),
.page-automated-sanding-lines .section-title:has(+ .section-intro) + .section-intro {
  width: 60% !important;
  max-width: none !important;
}

@media (max-width: 900px) {
  .page-automated-sanding-lines .section-title:has(+ .section-intro),
  .page-automated-sanding-lines .section-title:has(+ .section-intro) + .section-intro {
    width: 100% !important;
  }
}

/* Flow-step labels are supporting subheadings; make the step numbers carry
   more visual emphasis without changing the list geometry. */
.page-automated-sanding-lines .ms-solution-flow-step__icon {
  font-size: inherit;
}

/* Let the configuration section intro use the full width of its content
   column instead of the page-level 70% measure. */
.page-automated-sanding-lines .ms-solution-configuration .ms-solution-section-head .section-title,
.page-automated-sanding-lines .ms-solution-configuration .ms-solution-section-head .section-intro {
  width: 100% !important;
  max-width: none !important;
  padding-right: clamp(20px, 2.4vw, 36px);
}

/* Keep CTA buttons text-only on the automated sanding lines page. */
.page-automated-sanding-lines .pill-button > i {
  display: none;
}

/* Show the decision section background image without the full-section tint. */
.page-automated-sanding-lines .ms-solution-decision::before {
  display: none;
}

/* Reuse the product-category bottom CTA visual treatment while preserving
   the automated-lines page copy and its existing form embed. */
.page-automated-sanding-lines .ms-solution-quote {
  background: linear-gradient(90deg, rgba(8, 25, 23, 0.85) 0%, rgba(8, 25, 23, 0.7) 100%), url("https://masa.wxkntest.com/wp-content/uploads/2026/08/Tell-Us-What-You-Need-to-Sand.webp") bottom left / cover no-repeat;
}

.page-automated-sanding-lines .ms-solution-quote .ms-quote-split__copy {
  grid-column: 2 / span 10;
}

.page-automated-sanding-lines .ms-solution-quote .ms-quote-split__form-col {
  grid-column: 13 / span 11;
  padding: 36px;
  border-radius: 0;
  color: #111111;
  background: #fafafa;
  box-shadow: none;
}

.page-automated-sanding-lines .ms-solution-quote .ms-quote-split__form-card {
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.page-automated-sanding-lines .ms-solution-quote .ms-quote-split__title {
  margin: 0;
}

.page-automated-sanding-lines .ms-solution-quote .ms-quote-split__desc {
  margin: var(--masa-space-heading-tight, clamp(16px, 2vw, 28px)) 0;
  font-family: var(--masa-font-body, "Poppins", sans-serif);
  font-size: clamp(16px, 1.4vw, 18px);
  font-weight: var(--masa-font-weight-section-intro, 500);
  line-height: var(--masa-line-section-intro, 1.3);
  color: rgba(255, 255, 255, 0.78);
}

@media (max-width: 900px) {
  .page-automated-sanding-lines .ms-solution-quote .ms-quote-split__copy,
  .page-automated-sanding-lines .ms-solution-quote .ms-quote-split__form-col {
    grid-column: 1 / -1;
  }

  .page-automated-sanding-lines .ms-solution-quote .ms-quote-split__form-col {
    padding: 26px 20px;
  }
}

/* Give the automated-lines hero copy a wider desktop reading measure. */
.page-automated-sanding-lines .ms-solution-hero__copy {
  grid-column: 2 / span 20;
  max-width: 1100px;
}

.page-automated-sanding-lines .ms-solution-hero .ms-hero-split__title {
  max-width: 1100px;
}

.page-automated-sanding-lines .ms-solution-hero__body {
  max-width: 1000px;
}

/* ========================================================================
   P03 Solution Pages
   Shared structure for Sealer & Primer, Multi-Material, and OEM/ODM pages.
   ======================================================================== */

body.page-id-211 .page-shell,
body.page-id-266 .page-shell,
body.page-id-302 .page-shell,
body.page-id-211 .page-shell > main.page-automated-sanding-lines,
body.page-id-266 .page-shell > main.page-solution,
body.page-id-302 .page-shell > main.page-solution {
  overflow: visible;
}

.page-solution {
  overflow: clip;
  color: #111111;
  background: #ffffff;
}

.page-solution,
.page-solution * {
  box-sizing: border-box;
}

.page-solution .section-title,
.page-solution h3 {
  color: #111111;
}

/* Let specific dark sections override the default color */
.ms-market-grid .section-title,
.ms-market-grid h3,
.page-solution .ms-market-grid h3 {
  color: #fff !important;
}

.page-solution .section-title {
  max-width: 930px;
}

.page-solution .section-intro {
  max-width: 760px;
  margin: 22px 0 0;
  color: var(--masa-color-section-intro, #111111);
  font-size: clamp(16px, 1.8vw, 18px);
  font-weight: 500;
  line-height: 1.3;
}

.page-solution .ms-solution-hero {
  min-height: clamp(560px, 48vw, 760px);
  padding-block: clamp(112px, 11vw, 168px) clamp(80px, 8vw, 128px);
}

.page-solution .ms-solution-hero__copy {
  grid-column: 2 / span 20;
  max-width: 1100px;
}

.page-solution .ms-solution-hero .ms-hero-split__title {
  max-width: 1100px;
  font-size: var(--masa-font-size-h1, clamp(38px, calc(19px + 2.3vw), 62px));
  line-height: var(--masa-line-height-h1, .95);
}

.page-solution .ms-solution-hero__body {
  max-width: 1000px;
}

.page-solution .ms-solution-hero--primer {
  background-image: linear-gradient(90deg, rgba(7, 31, 32, .78), rgba(7, 31, 32, .48) 46%, rgba(7, 31, 32, .16)), url("https://placehold.co/1600x900?text=Controlled+Primer+Sanding");
}

.page-solution .ms-solution-hero--multi-material {
  background-image: linear-gradient(90deg, rgba(7, 31, 32, .78), rgba(7, 31, 32, .48) 46%, rgba(7, 31, 32, .16)), url("https://placehold.co/1600x900?text=Wood+and+Metal+Sanding");
}

.page-solution .ms-solution-hero--custom-engineering {
  background-image: linear-gradient(90deg, rgba(7, 31, 32, .78), rgba(7, 31, 32, .48) 46%, rgba(7, 31, 32, .16)), url("https://masasanding.com/wp-content/uploads/2026/08/Built-in-Foshan-for-Real-Production-Needs-1.webp");
}

/* ==========================================================================
   Multi-Material Sanding Hero Banner & Parallax Overlap Effect
   ========================================================================== */
.page-solution .ms-solution-hero--multi-material {
  background-image: linear-gradient(90deg, rgba(7, 31, 32, .85), rgba(7, 31, 32, .65) 46%, rgba(7, 31, 32, .25)), url("https://masasanding.com/wp-content/uploads/2026/09/multi-material-hero.png");
}

@media (min-width: 901px) {
  .ms-hero-parallax,
  .page-solution .ms-solution-hero {
    position: sticky;
    top: 0;
    z-index: 0;
  }
}

/* Ensure subsequent sections cover the sticky hero smoothly */
  :where(.ms-hero-parallax ~ .section, .ms-solution-hero ~ .section, .ms-hero-split ~ .section, .hero ~ .section) {
    position: relative;
    z-index: 2;
    background-color: #ffffff;
  }

/* Global Dark Theme Background */
  .ms-theme-dark {
    background-color: #1b1b1b;
    color: #ffffff;
    --grid-line: rgba(255, 255, 255, 0.15);
  }

  .page-solution .ms-solution-problem,
.page-solution .ms-solution-configuration {
  background: #F4F6F7;
}

.page-solution .ms-solution-problem,
.page-solution .ms-solution-flow,
.page-solution .ms-solution-configuration,
.page-solution .ms-solution-project-path,
.page-solution .ms-solution-decision,
.page-solution .ms-solution-quote {
  padding-block: clamp(88px, 9vw, 140px);
}

.page-solution .ms-solution-signal-grid,
.page-solution .ms-solution-timeline,
.page-solution .ms-solution-flow__steps,
.page-solution .ms-solution-configuration-card,
.page-solution .ms-solution-project-path__item {
  border-color: rgba(0, 0, 0, .12);
}

.page-solution .ms-solution-signal-grid {
  grid-column: 2 / span 22;
}

.page-solution .ms-solution-signal-card {
  padding-block: 30px 32px;
}

.page-solution .ms-solution-signal-card h3,
.page-solution .ms-solution-configuration-card h3,
.page-solution .ms-solution-timeline-item__copy h3,
.page-solution .ms-solution-flow-step h3 {
  font-size: clamp(18px, 1.35vw, 22px);
  font-weight: 500;
  line-height: 1.25;
}

h3.ms-solution-step-title,
.page-solution h3.ms-solution-step-title,
.page-automated-sanding-lines h3.ms-solution-step-title {
  font-size: clamp(16px, 1.2vw, 19px);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.3;
  color: #111111;
  margin: 0 0 12px;
}

.page-automated-sanding-lines .ms-solution-configuration-card h3.ms-solution-step-title,
.page-automated-sanding-lines .ms-solution-project-path__item-heading.ms-solution-step-title {
  margin: 0;
}

.page-automated-sanding-lines .ms-solution-configuration-card h3.ms-solution-step-title button,
.page-automated-sanding-lines .ms-solution-project-path__item-heading.ms-solution-step-title button {
  font: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  color: inherit;
}

.page-automated-sanding-lines .ms-solution-configuration-card h3.ms-solution-step-title button > span:first-child,
.page-automated-sanding-lines .ms-solution-project-path__item-heading.ms-solution-step-title button > span:last-child {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
}

.page-automated-sanding-lines .ms-solution-project-path__item.is-open .ms-solution-project-path__item-heading.ms-solution-step-title button > span:last-child {
  color: #0D7C72;
}

.page-automated-sanding-lines .ms-solution-flow-step h3.ms-solution-step-title {
  margin-top: 8px;
}

.page-automated-sanding-lines .ms-solution-flow-step__heading {
  grid-column: 3;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  align-items: start;
  row-gap: 8px;
}

.page-automated-sanding-lines .ms-solution-flow-step__heading h3.ms-solution-step-title {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  margin: 0;
}

.page-automated-sanding-lines .ms-solution-flow-step__heading > p.ms-list-supporting-copy {
  grid-column: 1;
  grid-row: 2;
  margin: 0;
}

.page-solution .ms-solution-signal-card p,
.page-solution .ms-solution-configuration-card p,
.page-solution .ms-solution-timeline-item__copy p,
.page-solution .ms-solution-flow-step p,
.page-solution .ms-solution-decision__content p,
.page-solution .ms-solution-decision__content li {
  color: #525252;
  font-size: 15px;
  line-height: 1.65;
}

.page-solution .ms-solution-flow__layout,
.page-solution .ms-solution-configuration__layout,
.page-solution .ms-solution-project-path__layout {
  grid-column: 2 / span 22;
}

.page-solution .ms-solution-flow__layout {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: clamp(42px, 6vw, 96px);
  align-items: start;
}

.page-solution .ms-solution-flow__head {
  grid-column: 1 / -1;
  margin-bottom: 8px;
}

.page-solution .ms-solution-flow__head .section-title,
.page-solution .ms-solution-flow__head .section-intro {
  width: 100%;
  max-width: 900px;
}

.page-solution .ms-solution-flow__media,
.page-solution .ms-solution-timeline-item__media {
  overflow: hidden;
  margin: 0;
  border: 1px solid rgba(0, 0, 0, .12);
  background: #F4F6F7;
}

.page-solution .ms-solution-flow__media img,
.page-solution .ms-solution-timeline-item__media img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.page-solution .ms-solution-flow__content {
  min-width: 0;
}

.page-solution .ms-solution-flow-step {
  padding-block: 20px;
}

.page-solution .ms-solution-list {
  display: grid;
  gap: 10px;
  margin: 10px 0 18px;
  padding-left: 20px;
  color: #525252;
  font-size: 15px;
  line-height: 1.65;
}

.page-solution .quote-benefits li svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.page-solution .ms-solution-flow-step__icon {
  width: 32px;
  height: 32px;
  color: #0d7c72;
  background: #e5f3f1;
  font-size: 14px;
  font-weight: 700;
}

.page-solution .ms-solution-configuration__layout {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: clamp(48px, 7vw, 104px);
  align-items: stretch;
}

.page-solution .ms-solution-configuration__media {
  width: 100%;
  margin: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, .12);
  background: #ffffff;
}

.page-solution .ms-solution-configuration__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-solution .ms-solution-configuration__copy {
  min-width: 0;
  padding-left: 0;
}

.page-solution .ms-solution-configuration__copy .ms-solution-section-head {
  margin-bottom: 34px;
}

.page-solution .ms-solution-configuration-card {
  padding: 24px 0;
}

.page-solution .ms-solution-timeline {
  grid-column: 2 / span 22;
}

.page-solution .ms-solution-timeline-item {
  grid-template-columns: minmax(220px, .82fr) minmax(0, 1.18fr);
  padding-block: 34px;
}

.page-solution .ms-solution-timeline-item__copy strong,
.page-solution .ms-solution-decision__content strong {
  color: #111111;
  font-weight: 600;
}

.page-solution .ms-solution-decision {
  background: #F4F6F7;
}

.page-solution .ms-solution-decision__content {
  grid-column: 2 / span 16;
  max-width: 920px;
  padding: clamp(28px, 5vw, 64px);
  background: #ffffff;
  border-left: 4px solid #0d7c72;
}

.page-solution .ms-solution-decision__content ul {
  display: grid;
  gap: 12px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.page-solution .ms-solution-decision__content li {
  position: relative;
  padding-left: 28px;
  color: #111111;
}

.page-solution .ms-solution-decision__content li::before {
  position: absolute;
  top: .62em;
  left: 0;
  width: 9px;
  height: 9px;
  background: #fbd21e;
  content: "";
}

.page-solution .ms-solution-quote {
  color: #ffffff;
  background: #0d7c72;
}

.page-solution .ms-solution-quote .ms-quote-split__copy {
  align-self: center;
}

.page-solution .ms-solution-quote .ms-quote-split__desc + .ms-quote-split__desc {
  margin-top: 16px;
}

.page-solution .ms-solution-quote .ms-quote-split__desc {
  color: rgba(255, 255, 255, .82);
}

.page-solution .ms-solution-quote .ms-quote-benefits {
  margin-top: 32px;
}

.page-solution .ms-solution-quote .quote-benefits li {
  color: #ffffff;
}

.page-solution .ms-solution-quote .quote-benefits li > i {
  width: 24px;
  flex: 0 0 24px;
  color: #fbd21e;
  text-align: center;
}

.page-solution .ms-solution-quote .ms-quote-split__form-col {
  padding: clamp(24px, 3vw, 36px);
  background: #fafafa;
}

.page-solution .ms-solution-quote .ms-quote-split__form-card {
  box-shadow: none;
}

@media (max-width: 900px) {
  .page-solution .ms-solution-flow__layout,
  .page-solution .ms-solution-configuration__layout,
  .page-solution .ms-solution-project-path__layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .page-solution .ms-solution-flow__head,
  .page-solution .ms-solution-configuration__layout,
  .page-solution .ms-solution-project-path__layout {
    grid-column: 1 / -1;
  }

  .page-solution .ms-solution-configuration__media {
    order: -1;
  }

  .page-solution .ms-solution-decision__content,
  .page-solution .ms-solution-timeline {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  .page-solution .ms-solution-hero__copy {
    grid-column: 1 / -1;
  }

  .page-solution .ms-solution-signal-grid {
    grid-template-columns: 1fr;
  }

  .page-solution .ms-solution-signal-card,
  .page-solution .ms-solution-signal-card:nth-child(even) {
    padding-inline: 0;
    border-left: 0;
  }

  .page-solution .ms-solution-timeline-item {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .page-solution .ms-solution-hero__actions,
  .page-solution .ms-solution-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .page-solution .ms-solution-hero__actions .pill-button,
  .page-solution .ms-solution-actions .pill-button {
    justify-content: center;
    width: 100%;
  }

  .page-solution .ms-solution-decision__content {
    padding: 28px 22px;
  }
}

@media (max-width: 900px) {
  .page-automated-sanding-lines .ms-solution-hero__copy {
    grid-column: 1 / -1;
    max-width: none;
  }

  .page-automated-sanding-lines .ms-solution-hero .ms-hero-split__title,
  .page-automated-sanding-lines .ms-solution-hero__body {
    max-width: none;
  }
}


/* Premium Split Layout - Big Tech Industrial Style */
.section-requirements {
  padding-bottom: 0 !important;
}
.ms-premium-split {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  border-top: 1px solid var(--masa-color-line);
}
.ms-premium-split__header {
  grid-column: 1 / 10;
  padding-block: clamp(48px, 6vw, 80px);
  padding-right: clamp(32px, 4vw, 64px);
  border-right: 1px solid var(--masa-color-line);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ms-premium-split__content {
  grid-column: 10 / -1;
  display: flex;
  flex-direction: column;
}
.ms-premium-card {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 32px;
  padding: clamp(32px, 4vw, 56px) clamp(32px, 4vw, 64px);
  border: 1px solid transparent;
  border-bottom-color: var(--masa-color-line);
  position: relative;
  background: transparent;
}
.ms-premium-card:last-child {
  border-bottom-color: transparent;
}
.ms-premium-card__icon-wrapper {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--masa-color-primary, #0D7C72);
  background: var(--masa-color-primary, #0D7C72);
}
.ms-premium-card__icon {
  font-size: 20px;
  color: #fff;
}
.ms-premium-card__body h3 {
  font-size: clamp(20px, 1.5vw, 24px);
  font-weight: 500;
  color: var(--masa-color-navy-deep, #111);
  margin-top: 0;
  margin-bottom: 12px;
}

@media (max-width: 900px) {
  .ms-premium-split {
    grid-template-columns: 1fr;
    border-top: none;
  }
  .ms-premium-split__header {
    grid-column: 1 / -1;
    border-right: none;
    border-bottom: 1px solid var(--masa-color-line);
    padding-right: 0;
  }
  .ms-premium-split__content {
    grid-column: 1 / -1;
  }
  .ms-premium-card {
    padding: 32px 0;
  }
}
/* ==========================================================================
   Editorial Track Grid (.ms-editorial-grid)
   ========================================================================== */
.section-validation-editorial {
  padding-top: 4rem;
  padding-bottom: 4rem;
  border-top: 1px solid var(--grid-line, rgba(17, 17, 17, 0.15));
  border-bottom: 1px solid var(--grid-line, rgba(17, 17, 17, 0.15));
}
.section-validation-editorial > .container.grid-24 {
  --grid-line: rgba(17, 17, 17, 0.15);
}

.ms-editorial-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
.ms-editorial-grid__title,
.ms-editorial-grid__media,
.ms-editorial-grid__content {
  padding: 0;
}
.ms-editorial-grid__title h2 {
  margin: 0;
  font-size: clamp(32px, 3vw, 48px);
  line-height: 1.1;
  position: sticky;
  top: 120px;
}
.ms-editorial-grid__media {
  margin: 0;
  height: 100%;
}
.ms-editorial-grid__media img {
  width: 100%;
  height: 100%;
  min-height: 400px;
  object-fit: cover;
  display: block;
}
.ms-editorial-grid__content-wrapper {
  display: flex;
  flex-direction: column;
}

@media (min-width: 901px) {
  .ms-editorial-grid {
    grid-column: 1 / -1;
    grid-template-columns: repeat(24, 1fr);
    gap: 0;
    align-items: stretch;
  }
  .ms-editorial-grid__title {
    grid-column: 1 / 7;
    padding-right: 2.5vw;
  }
  .ms-editorial-grid__media {
    grid-column: 7 / 14;
    border-left: 1px solid var(--grid-line, rgba(17, 17, 17, 0.15));
    padding-left: 2.5vw;
    padding-right: 2.5vw;
  }
  .ms-editorial-grid__content {
    grid-column: 14 / -1;
    border-left: 1px solid var(--grid-line, rgba(17, 17, 17, 0.15));
    padding-left: 2.5vw;
  }
}

/* ==========================================================================
   Editorial Steps (.ms-editorial-step)
   ========================================================================== */
.ms-editorial-step {
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid var(--grid-line, rgba(17, 17, 17, 0.15));
}
.ms-editorial-step:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}
.ms-editorial-step-tag {
  font-family: 'Courier New', Courier, monospace;
  font-size: 13px;
  color: var(--masa-color-primary, #0D7C72);
  letter-spacing: 0.15em;
  margin-bottom: 0.75rem;
  font-weight: bold;
}
.ms-editorial-step h3 {
  font-size: 20px;
  margin-bottom: 0.75rem;
  color: #111111;
}
.ms-editorial-step p {
  margin: 0;
}

/* ==========================================================================
   Dark Capabilities Section (.ms-capabilities-dark)
   ========================================================================== */
.page-solution .ms-solution-configuration.ms-capabilities-dark {
  background-color: #1b1b1b;
}
.page-solution .ms-capabilities-dark > .container.grid-24 {
  --grid-line: rgba(255, 255, 255, 0.15);
}
.page-solution .ms-capabilities-dark .ms-solution-section-head {
  margin-bottom: 2.5rem;
}
.page-solution .ms-capabilities-dark .section-title {
  color: #fff;
  margin-bottom: 0;
}
.page-solution .ms-capabilities-dark .ms-solution-configuration__copy {
  display: flex;
  flex-direction: column;
}
.page-solution .ms-capabilities-dark .ms-solution-configuration__media {
  height: 100%;
  border: none;
}
.page-solution .ms-capabilities-dark .ms-solution-configuration__media img {
  height: 100%;
  object-fit: cover;
  border: none;
  border-radius: 0;
}
.page-solution .ms-capability-item {
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid var(--grid-line, rgba(255, 255, 255, 0.15));
}
.page-solution .ms-capability-item:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}
.page-solution .ms-capability-item h3 {
  color: #fff;
  font-size: 20px;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.page-solution .ms-capability-item h3 i {
  color: var(--masa-color-primary, #0D7C72);
  font-size: 20px;
}
.page-solution .ms-capability-item p {
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 0;
}

/* ==========================================================================
   Changeover Section Fixes (.ms-changeover-section)
   ========================================================================== */
.ms-changeover-section {
  background: #f7f7f7;
}
.ms-changeover-section .ms-solution-section-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.ms-changeover-section .section-title {
  margin-bottom: 0;
}

/* ==========================================================================
   Sealer & Primer Sanding Solutions Page (.page-sealer-primer-sanding-solutions)
   ========================================================================== */
.page-sealer-primer-sanding-solutions {
  --masa-color-text-muted: #525252;
  --ink-soft: #525252;
}

.page-sealer-primer-sanding-solutions .section-risks {
  background-color: #FFFFFF;
  border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.page-sealer-primer-sanding-solutions .section-risks .ms-solution-section-head {
  margin-bottom: 0;
}

.page-sealer-primer-sanding-solutions .section-risks .cards-grid.product-grid {
  grid-column: 1 / -1;
  gap: clamp(20px, 2.5vw, 32px);
}

.page-sealer-primer-sanding-solutions .section-risks .ms-image-card {
  border: 0;
  background: transparent;
}

.page-sealer-primer-sanding-solutions .section-risks .ms-image-card__media {
  border-bottom: 0;
}

.page-sealer-primer-sanding-solutions .section-risks .ms-image-card__body {
  padding: 0;
}

.page-sealer-primer-sanding-solutions .section-risks .ms-image-card__body h3 {
  font-weight: 600;
}

.page-sealer-primer-sanding-solutions .section-risks .ms-image-card + .ms-image-card {
  border: 0;
}

@media (min-width: 901px) {
  .page-sealer-primer-sanding-solutions .section-risks .cards-grid.product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .page-sealer-primer-sanding-solutions .section-risks .ms-image-card + .ms-image-card {
    border-top: 0;
    border-left: 0;
  }

  .page-sealer-primer-sanding-solutions .section-risks .ms-solution-section-head {
    display: block;
  }

  .page-sealer-primer-sanding-solutions .section-risks .ms-solution-section-head .section-title {
    width: 100%;
    max-width: none;
  }

  .page-sealer-primer-sanding-solutions .section-risks .ms-solution-section-head .section-intro {
    width: 100%;
    max-width: none;
    margin-top: clamp(16px, 2vw, 28px);
  }
}

.page-sealer-primer-sanding-solutions .ms-image-card__body p.ms-list-supporting-copy {
  display: block;
  font-size: var(--masa-font-size-supporting-copy, 16px);
  font-weight: var(--masa-font-weight-supporting-copy, 400);
  line-height: var(--masa-line-supporting-copy, 1.45);
}

.ms-solution-tuning-section {
  grid-column: 2 / span 22;
  margin-top: clamp(24px, 3vw, 40px);
  padding-top: clamp(16px, 2vw, 24px);
}

@media (max-width: 768px) {
  .ms-solution-tuning-section {
    grid-column: 1 / -1;
    padding-left: var(--masa-space-container-gutter, clamp(16px, 4vw, 32px));
    padding-right: var(--masa-space-container-gutter, clamp(16px, 4vw, 32px));
  }
}

.ms-tuning-title {
  font-size: clamp(20px, 2vw, 24px);
  margin-bottom: 32px;
  font-weight: 500;
  color: var(--masa-color-heading, #111111);
}

.ms-tuning-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-bottom: 32px;
}

@media (max-width: 1024px) {
  .ms-tuning-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .ms-tuning-item {
    border-left: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  }

  .ms-tuning-item:nth-child(2n) {
    border-left: 0;
  }
}

@media (max-width: 640px) {
  .ms-tuning-grid {
    grid-template-columns: 1fr;
  }

  .ms-tuning-item {
    border-left: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  }
}

.ms-tuning-item {
  padding: 32px 24px;
  border: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  background: #F4F6F7;
  transition: all 0.3s ease;
}

.ms-tuning-item + .ms-tuning-item {
  border-left: 0;
}

.ms-tuning-item:first-child {
  background: var(--masa-color-primary, #0D7C72);
  border-color: var(--masa-color-primary, #0D7C72);
  color: #ffffff;
}

.ms-tuning-item:first-child .ms-tuning-icon,
.ms-tuning-item:first-child h4,
.ms-tuning-item:first-child p {
  color: #ffffff;
}

.ms-tuning-item:hover {
  background: var(--masa-color-primary, #0D7C72);
  border-color: var(--masa-color-primary, #0D7C72);
  color: #ffffff;
}

.ms-tuning-item:hover .ms-tuning-icon,
.ms-tuning-item:hover h4,
.ms-tuning-item:hover p {
  color: #ffffff;
}

.ms-tuning-icon {
  font-size: 24px;
  color: var(--masa-color-primary, #0D7C72);
  margin-bottom: 16px;
  transition: color 0.3s ease;
}

.ms-tuning-item h4 {
  font-size: 16px;
  margin-bottom: 8px;
  font-weight: 600;
  transition: color 0.3s ease;
}

.ms-tuning-item p {
  font-size: 16px;
  color: var(--masa-color-body, rgba(17, 17, 17, 0.7));
  margin-bottom: 0;
  line-height: 1.5;
  transition: color 0.3s ease;
}

.ms-tuning-footer {
  font-size: 16px;
  color: var(--masa-color-body, rgba(17, 17, 17, 0.7));
  font-style: italic;
}

.ms-solution-section-footer {
  margin-top: 48px;
  text-align: center;
  grid-column: 1 / -1;
}

.ms-solution-section-footer .ms-solution-actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

.ms-button-outline {
  background: transparent;
  border: 1px solid var(--masa-color-primary, #0D7C72);
  color: var(--masa-color-primary, #0D7C72);
}

.ms-button-outline:hover {
  background: var(--masa-color-primary, #0D7C72);
  color: #ffffff;
}

.page-sealer-primer-sanding-solutions .section-process-routes.ms-theme-dark {
  background-color: #1b1b1b;
  color: #ffffff;
  --grid-line: rgba(255, 255, 255, 0.15);
  padding-block: 0 !important;
}

.page-sealer-primer-sanding-solutions .ms-solution-hero ~ .section-process-routes.ms-theme-dark {
  background-color: #1b1b1b;
}

.page-sealer-primer-sanding-solutions .section-process-routes.ms-theme-dark > .container.grid-24 {
  --grid-line: rgba(255, 255, 255, 0.15);
}

.page-sealer-primer-sanding-solutions .section-process-routes.ms-theme-dark .section-title {
    color: #ffffff;
  }
  .page-sealer-primer-sanding-solutions .section-process-routes.ms-theme-dark .section-intro {
    color: rgba(255, 255, 255, 0.78);
  }

  .page-sealer-primer-sanding-solutions .section-process-routes.ms-theme-dark .ms-image-card__body h3 {
    color: #ffffff;
  }
  .page-sealer-primer-sanding-solutions .section-process-routes.ms-theme-dark .ms-image-card__body p {
    color: rgba(255, 255, 255, 0.78);
  }

  .page-sealer-primer-sanding-solutions .section-process-routes.ms-theme-dark .ms-image-card {
    background: transparent;
  }

.page-sealer-primer-sanding-solutions .section-process-routes .ms-image-card__body h3 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 0;
  font-weight: 600;
}

.page-sealer-primer-sanding-solutions .section-process-routes .ms-image-card__body h3::after {
  content: "+";
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: #ffffff;
  font-size: clamp(30px, 3vw, 44px);
  font-weight: 300;
  line-height: 1;
  transition: transform 0.3s ease;
}

.page-sealer-primer-sanding-solutions .section-process-routes .ms-image-card__body p.ms-list-supporting-copy {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  margin: 0;
  transition: max-height 0.35s ease, opacity 0.35s ease, margin-top 0.35s ease;
}

.page-sealer-primer-sanding-solutions .section-process-routes .ms-image-card:hover .ms-image-card__body h3::after,
.page-sealer-primer-sanding-solutions .section-process-routes .ms-image-card:focus-within .ms-image-card__body h3::after {
  transform: rotate(45deg);
}

.page-sealer-primer-sanding-solutions .section-process-routes .ms-image-card:hover .ms-image-card__body p.ms-list-supporting-copy,
.page-sealer-primer-sanding-solutions .section-process-routes .ms-image-card:focus-within .ms-image-card__body p.ms-list-supporting-copy {
  max-height: 240px;
  opacity: 1;
  margin-top: 12px;
}

@media (min-width: 901px) {
  .page-sealer-primer-sanding-solutions .section-process-routes > .container.grid-24 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 0;
  }

  .page-sealer-primer-sanding-solutions .section-process-routes .ms-solution-section-head {
    grid-column: 1 !important;
    margin-bottom: 0;
    padding: clamp(32px, 5vw, 64px) clamp(24px, 3vw, 48px) 0 0;
    border-bottom: 0;
  }

  .page-sealer-primer-sanding-solutions .section-process-routes .ms-solution-image-cards__grid {
    grid-column: 2 / span 2 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    border-left: 1px solid var(--grid-line, rgba(255, 255, 255, 0.15));
  }

  .page-sealer-primer-sanding-solutions .section-process-routes .ms-image-card {
    flex-direction: column;
    border: 0;
    border-bottom: 0;
  }

  .page-sealer-primer-sanding-solutions .section-process-routes .ms-image-card + .ms-image-card {
    border-left: 1px solid var(--grid-line, rgba(255, 255, 255, 0.15));
  }

  .page-sealer-primer-sanding-solutions .section-process-routes .ms-image-card--reverse {
    flex-direction: column;
  }

  .page-sealer-primer-sanding-solutions .section-process-routes .ms-image-card__media,
  .page-sealer-primer-sanding-solutions .section-process-routes .ms-image-card--reverse .ms-image-card__media {
    width: 100%;
    aspect-ratio: 4 / 3;
    border: 0;
  }

  .page-sealer-primer-sanding-solutions .section-process-routes .ms-image-card__body,
  .page-sealer-primer-sanding-solutions .section-process-routes .ms-image-card--reverse .ms-image-card__body {
    width: 100%;
    padding: clamp(24px, 3vw, 40px);
  }
}

/* Page-specific card and action refinements. */
.page-sealer-primer-sanding-solutions .section-contact-control .ms-image-card:first-child .ms-image-card__body {
  padding-left: clamp(32px, 4vw, 56px);
}

.page-sealer-primer-sanding-solutions .section-contact-control .ms-image-card:nth-child(2) .ms-image-card__body {
  padding-right: clamp(32px, 4vw, 56px);
}

.page-sealer-primer-sanding-solutions .section-contact-control .ms-image-card__body h3 {
  font-size: clamp(24px, 2.2vw, 32px);
  font-weight: 600;
}

.page-sealer-primer-sanding-solutions .ms-tuning-item h4 {
  font-size: clamp(18px, 1.45vw, 22px);
}

.page-sealer-primer-sanding-solutions .section-risks .ms-image-card__body {
  padding: clamp(24px, 3vw, 40px) 0 0;
}

.page-sealer-primer-sanding-solutions .section-process-fit .cards-grid.product-grid {
  grid-column: 1 / -1;
  gap: 0;
  margin-top: 0;
}

.page-sealer-primer-sanding-solutions .section-process-fit {
  padding-bottom: 0;
  border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.page-sealer-primer-sanding-solutions .section-process-fit .ms-image-card {
  border: 0;
  background: transparent;
}

.page-sealer-primer-sanding-solutions .section-process-fit .ms-image-card__media {
  border-bottom: 0;
}

.page-sealer-primer-sanding-solutions .section-process-fit .ms-image-card__body {
  padding: clamp(24px, 3vw, 40px);
}

.page-sealer-primer-sanding-solutions .section-process-fit .ms-image-card__body h3 {
  font-weight: 600;
}

.page-sealer-primer-sanding-solutions .section-process-fit .ms-image-card + .ms-image-card {
  border-left: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.page-sealer-primer-sanding-solutions .section-validation .ms-solution-signal-grid {
  grid-column: 1 / -1;
}

.page-sealer-primer-sanding-solutions .section-validation {
  background: #FFFFFF;
  border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.page-sealer-primer-sanding-solutions .section-validation .ms-solution-signal-card {
  background: var(--masa-color-surface-soft, #F4F6F7);
}

.page-sealer-primer-sanding-solutions .section-validation .ms-solution-signal-card:first-child {
  background: var(--masa-color-primary, #0D7C72);
}

.page-sealer-primer-sanding-solutions .section-validation .ms-solution-signal-card:first-child .ms-solution-signal-card__icon,
.page-sealer-primer-sanding-solutions .section-validation .ms-solution-signal-card:first-child h3 {
  color: #ffffff;
}

.page-sealer-primer-sanding-solutions .section-validation .ms-solution-signal-card:first-child p {
  color: rgba(255, 255, 255, 0.68);
}

.page-sealer-primer-sanding-solutions .ms-image-card__body h3,
.page-sealer-primer-sanding-solutions .ms-solution-signal-card h3 {
  font-weight: 400;
}

.page-sealer-primer-sanding-solutions .section-validation .ms-solution-signal-card h3 {
  font-weight: 600;
}

@media (min-width: 901px) {
  .page-sealer-primer-sanding-solutions .section-validation .ms-solution-signal-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .page-sealer-primer-sanding-solutions .section-validation .ms-solution-signal-card {
    border-left: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  }

  .page-sealer-primer-sanding-solutions .section-validation .ms-solution-signal-card:nth-child(4n + 1) {
    border-left: 0;
  }
}

.page-sealer-primer-sanding-solutions .section-process-fit .ms-solution-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(24px, 4vw, 64px);
  margin-bottom: 40px;
}

.page-sealer-primer-sanding-solutions .section-process-fit .ms-solution-section-head .section-title {
  margin-bottom: 0;
  max-width: 720px;
}

.page-sealer-primer-sanding-solutions .ms-solution-hero__actions .pill-button > i {
  display: none;
}

.page-sealer-primer-sanding-solutions .section-process-fit .ms-solution-actions .pill-button > i {
  display: none;
}

.page-sealer-primer-sanding-solutions .section-process-fit .ms-solution-actions {
  justify-content: flex-end;
  align-items: center;
}

.page-sealer-primer-sanding-solutions .section-process-fit .ms-solution-actions .pill-button:first-child {
  color: #ffffff;
  border-color: var(--masa-color-primary, #0d7c72);
  background: var(--masa-color-primary, #0d7c72);
}

.page-sealer-primer-sanding-solutions .section-process-fit .ms-solution-actions .pill-button:first-child:hover,
.page-sealer-primer-sanding-solutions .section-process-fit .ms-solution-actions .pill-button:first-child:focus-visible {
  color: #ffffff;
  border-color: var(--masa-color-primary-hover, #075b53);
  background: var(--masa-color-primary-hover, #075b53);
}

.page-sealer-primer-sanding-solutions .section-process-fit .ms-solution-actions .ms-button-outline {
  color: #ffffff;
  border-color: #111111;
  background: #111111;
}

.page-sealer-primer-sanding-solutions .section-process-fit .ms-solution-actions .ms-button-outline:hover,
.page-sealer-primer-sanding-solutions .section-process-fit .ms-solution-actions .ms-button-outline:focus-visible {
  color: #ffffff;
  border-color: #333333;
  background: #333333;
}

@media (max-width: 900px) {
  .page-sealer-primer-sanding-solutions .section-process-fit .ms-solution-section-head {
    display: block;
  }

  .page-sealer-primer-sanding-solutions .section-process-fit .ms-solution-actions {
    justify-content: flex-start;
    margin-top: 24px;
  }

  .page-sealer-primer-sanding-solutions .section-process-fit .ms-image-card + .ms-image-card {
    border-left: 0;
    border-top: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  }
}

  .ms-process-routes-grid {
  grid-template-columns: 8fr 16fr;
  gap: 0;
  border-left: 1px solid var(--grid-line);
}

.ms-process-routes-head {
  padding-right: clamp(24px, 4vw, 48px);
  padding-top: clamp(32px, 5vw, 64px);
  border-right: 1px solid var(--grid-line);
}

.ms-process-routes-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid var(--grid-line);
  border-right: 1px solid var(--grid-line);
}

.ms-process-route-item {
  border-left: 1px solid var(--grid-line);
  display: flex;
  flex-direction: column;
}

.ms-process-route-media {
  margin: 0;
  border-bottom: 1px solid var(--grid-line);
  aspect-ratio: 4 / 3;
}

.ms-process-route-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(20%) contrast(1.1);
  transition: filter 0.4s ease;
}

.ms-process-route-item:hover .ms-process-route-media img {
  filter: grayscale(0%) contrast(1);
}

.ms-process-route-body {
  padding: clamp(24px, 3vw, 40px);
}

.ms-process-route-title {
  color: #ffffff;
  font-size: clamp(20px, 2vw, 24px);
  margin-bottom: 16px;
  font-weight: 500;
}

.ms-process-route-desc {
  color: rgba(255, 255, 255, 0.7);
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 0;
}

@media (max-width: 1024px) {
  .ms-process-routes-grid {
    grid-template-columns: 1fr;
  }
  .ms-process-routes-head {
    border-right: none;
    border-bottom: 1px solid var(--grid-line);
    padding-right: 0;
    padding-bottom: 32px;
  }
  .ms-process-routes-cards {
    border-top: none;
    border-right: none;
  }
  .ms-process-route-item {
    border-left: none;
    border-bottom: 1px solid var(--grid-line);
  }
  .ms-process-route-item:last-child {
    border-bottom: none;
  }
  .ms-process-route-media {
    border-bottom: none;
  }
  .ms-process-routes-cards {
    grid-template-columns: 1fr;
  }
  .ms-process-route-item {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    align-items: center;
  }
}

@media (max-width: 640px) {
  .ms-process-route-item {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .ms-process-route-body {
    padding: 24px 0;
  }
}


/* ==========================================================================
   Editorial Contact Features (S03)
   ========================================================================== */
.ms-contact-features-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  gap: 0;
  margin-bottom: 64px;
  border-top: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.ms-contact-feature {
  display: flex;
  flex-direction: column;
}

.ms-contact-feature--large {
  grid-column: 1 / span 14;
  padding: 40px 40px 40px 0;
  border-right: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.ms-contact-feature--small {
  grid-column: 15 / span 10;
  margin-top: 0; /* Remove vertical offset to save space */
  padding: 40px 0 40px 40px;
}

.ms-contact-feature__media {
  margin: 0 0 32px 0;
  overflow: hidden;
  position: relative;
  border: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.ms-contact-feature__media img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

.ms-contact-feature--large .ms-contact-feature__media img {
  aspect-ratio: 16 / 9;
}

.ms-contact-feature--small .ms-contact-feature__media img {
  aspect-ratio: 4 / 3;
}

.ms-contact-feature__label, .ms-image-card__body .ms-contact-feature__label {
    display: inline-block;
    font-family: 'Courier New', Courier, monospace;
    font-size: 13px;
    letter-spacing: 0.05em;
    color: var(--masa-color-primary, #0D7C72);
    margin-bottom: 20px;
    text-transform: uppercase;
    border-bottom: 1px solid var(--masa-color-primary, #0D7C72);
    padding-bottom: 4px;
  }

.ms-contact-feature__content h3 {
  font-size: 24px;
  margin-bottom: 16px;
  color: #111111;
  font-weight: 600;
}

/* Mobile responsive */
@media (max-width: 1024px) {
  .ms-contact-feature--large {
    grid-column: 1 / span 13;
    padding: 32px 24px 32px 0;
  }
  .ms-contact-feature--small {
    grid-column: 14 / span 11;
    padding: 32px 0 32px 24px;
    margin-top: 0;
    z-index: 1;
    background: transparent;
    border: none;
  }
}

@media (max-width: 768px) {
  .ms-contact-features-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 48px;
    border-bottom: none;
  }
  .ms-contact-feature--large {
    padding: 32px 0;
    border-right: none;
    border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  }
  .ms-contact-feature--small {
    padding: 32px 0;
    border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  }
  .ms-contact-feature--large .ms-contact-feature__media img,
  .ms-contact-feature--small .ms-contact-feature__media img {
    aspect-ratio: 16 / 9;
  }
}

/* ==========================================================================
   Policy & Single Column Section (e.g. Privacy Policy)
   ========================================================================== */
.ms-policy-section {
  padding: var(--masa-space-section, clamp(88px, 9vw, 140px)) 0;
  background-color: var(--masa-color-surface, #FFFFFF);
}

.ms-policy-container {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 var(--masa-space-gutter, 32px);
}

.ms-policy-header {
  margin-bottom: clamp(48px, 6vw, 80px);
}

.ms-policy-title {
  font-family: var(--masa-font-display, 'Poppins', sans-serif);
  font-size: var(--masa-font-size-hero-title, clamp(42px, 6vw, 64px));
  font-weight: 600;
  line-height: var(--masa-line-heading, 1.1);
  letter-spacing: var(--masa-letter-heading, -0.035em);
  color: var(--masa-color-text, #071F20);
  margin-bottom: 24px;
}

.ms-policy-content {
  font-family: var(--masa-font-body, 'Poppins', sans-serif);
  font-size: var(--masa-font-size-body, 16px);
  line-height: var(--masa-line-body, 1.6);
  color: var(--masa-color-text-muted, #525252);
}

.ms-policy-content h2,
.ms-policy-content h3 {
  font-family: var(--masa-font-display, 'Poppins', sans-serif);
  color: var(--masa-color-text, #071F20);
  font-weight: 600;
  margin-top: 48px;
  margin-bottom: 24px;
  line-height: 1.3;
}

.ms-policy-content h2 {
  font-size: 28px;
}

.ms-policy-content h3 {
  font-size: 22px;
}

.ms-policy-content p {
  margin-bottom: 24px;
}

.ms-policy-content ul {
  list-style-type: disc;
  padding-left: 24px;
  margin-bottom: 32px;
}

.ms-policy-content li {
  margin-bottom: 12px;
}

.ms-policy-content a {
  color: var(--masa-color-primary, #0D7C72);
  text-decoration: underline;
  text-underline-offset: 4px;
  transition: color 0.3s ease;
}

.ms-policy-content a:hover {
  color: var(--masa-color-primary-hover, #075B53);
}

.ms-policy-content strong {
  font-weight: 600;
  color: var(--masa-color-text, #071F20);
}

.ms-policy-actions {
  margin-top: 64px;
  padding-top: 48px;
  border-top: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  .ms-policy-container {
    padding: 0 var(--masa-space-gutter-mobile, 20px);
  }
}

.ms-patent-card h3 {
  color: #111111 !important;
}


/* ==========================================================================
   About Us Page Specific Styles
   ========================================================================== */

/* S01: Hero Data Strip */
.ms-hero-data-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
  font-family: var(--masa-font-mono, monospace);
  font-size: 0.85rem;
  color: var(--masa-color-primary, #0D7C72);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.ms-hero-data-strip__divider {
  width: 1px;
  height: 14px;
  background-color: var(--grid-line, rgba(0,0,0,0.1));
}
.ms-theme-dark .ms-hero-data-strip__divider {
  background-color: var(--grid-line, rgba(255,255,255,0.15));
}

/* S02: Story Media Stack */
.ms-story-media-stack {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--masa-space-gap, clamp(16px, 2vw, 24px));
}
.ms-story-media-stack img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border: 1px solid var(--grid-line, rgba(0,0,0,0.1));
}

/* S04: Patent Carousel Auto-Scroll */
.ms-patent-carousel-wrapper {
  grid-column: 1 / -1;
  overflow: hidden;
  margin-top: 2rem;
  border-top: 1px solid var(--grid-line, rgba(0,0,0,0.1));
  border-bottom: 1px solid var(--grid-line, rgba(0,0,0,0.1));
}

@media (min-width: 768px) {
  .ms-patent-carousel-wrapper {
    grid-column: 2 / span 22;
  }
}

.ms-patent-carousel-track {
  display: flex;
  width: max-content;
  gap: 0;
  animation: patent-scroll 40s linear infinite;
}

.ms-patent-carousel-track:hover {
  animation-play-state: paused;
}

@keyframes patent-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.ms-patent-card {
  flex: 0 0 280px;
  border-right: 1px solid var(--grid-line, rgba(0,0,0,0.1));
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.ms-patent-card figure {
  margin: 0;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border: 1px solid var(--grid-line, rgba(0,0,0,0.1));
}

.ms-patent-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.ms-patent-card:hover img {
  transform: scale(1.05);
}

.ms-patent-card h3 {
  margin: 0;
  font-size: clamp(16px, 1.2vw, 18px) !important;
  color: #111111 !important;
  font-weight: 500;
  line-height: 1.4;
}

/* S06: Partner Features */
.ms-partner-features {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-top: 3rem;
  border-top: 1px solid var(--grid-line, rgba(255,255,255,0.15));
  padding-top: 2rem;
}

.ms-partner-feature h3 {
  font-size: 1.1rem;
  color: #ffffff;
  margin: 0 0 0.5rem 0;
  font-weight: 500;
}

.ms-partner-feature p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.95rem;
  line-height: 1.6;
}


/* S05: Factory & Customers Panel */
.ms-factory-panel-wrapper {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr;
  border-top: 1px solid var(--grid-line, rgba(0,0,0,0.1));
  border-bottom: 1px solid var(--grid-line, rgba(0,0,0,0.1));
  background-color: transparent;
}

@media (min-width: 1024px) {
  .ms-factory-panel-wrapper {
    grid-column: 2 / span 22;
    grid-template-columns: repeat(22, 1fr);
    border-left: 1px solid var(--grid-line, rgba(0,0,0,0.1));
    border-right: 1px solid var(--grid-line, rgba(0,0,0,0.1));
  }
}

.ms-factory-panel__info {
  padding: 3rem 1.5rem;
  display: flex;
  flex-direction: column;
}

@media (min-width: 1024px) {
  .ms-factory-panel__info {
    grid-column: 1 / span 9;
    padding: 4rem 3rem;
    border-right: 1px solid var(--grid-line, rgba(0,0,0,0.1));
  }
}

.ms-factory-panel__sticky {
  position: sticky;
  top: 100px;
}

.ms-factory-panel__info h2 {
  font-size: clamp(24px, 2.5vw, 36px);
  margin-bottom: 1.5rem;
  line-height: 1.2;
  color: #111111;
}

.ms-factory-panel__info p {
  font-size: clamp(16px, 1.1vw, 18px);
  color: var(--masa-color-body, #444);
  margin-bottom: 2rem;
  line-height: 1.6;
}

.ms-factory-panel__visuals {
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--grid-line, rgba(0,0,0,0.1));
}

@media (min-width: 1024px) {
  .ms-factory-panel__visuals {
    grid-column: 10 / span 13;
    border-top: none;
  }
}

.ms-factory-panel__image {
  border-bottom: 1px solid var(--grid-line, rgba(0,0,0,0.1));
  flex-grow: 1;
}

.ms-factory-panel__image img {
  width: 100%;
  height: 100%;
  min-height: 300px;
  max-height: 500px;
  object-fit: cover;
  display: block;
}

.ms-factory-panel__logos {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 768px) {
  .ms-factory-panel__logos {
    grid-template-columns: repeat(3, 1fr);
  }
}

.ms-factory-panel__logo-cell {
  padding: 2.5rem 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid var(--grid-line, rgba(0,0,0,0.1));
  border-bottom: 1px solid var(--grid-line, rgba(0,0,0,0.1));
  transition: background-color 0.3s ease;
}

.ms-factory-panel__logo-cell:hover {
  background-color: rgba(0,0,0,0.02);
}

@media (max-width: 767px) {
  .ms-factory-panel__logo-cell:nth-child(2n) {
    border-right: none;
  }
  .ms-factory-panel__logo-cell:nth-last-child(-n+2) {
    border-bottom: none;
  }
}
@media (min-width: 768px) {
  .ms-factory-panel__logo-cell:nth-child(3n) {
    border-right: none;
  }
  .ms-factory-panel__logo-cell:nth-last-child(-n+3) {
    border-bottom: none;
  }
}

.ms-factory-panel__logo-cell img {
  max-width: 120px;
  max-height: 60px;
  width: auto;
  height: auto;
  opacity: 0.5;
  filter: grayscale(100%);
  transition: all 0.4s ease;
}

.ms-factory-panel__logo-cell:hover img {
  opacity: 1;
  filter: grayscale(0%);
  transform: scale(1.05);
}


/* S02: Story Split Layout */
.ms-story-panel-wrapper {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr;
  border-top: 1px solid var(--grid-line, rgba(0,0,0,0.1));
  border-bottom: 1px solid var(--grid-line, rgba(0,0,0,0.1));
  background-color: transparent;
}

@media (min-width: 1024px) {
  .ms-story-panel-wrapper {
    grid-column: 2 / span 22;
    grid-template-columns: repeat(22, 1fr);
    border-left: 1px solid var(--grid-line, rgba(0,0,0,0.1));
    border-right: 1px solid var(--grid-line, rgba(0,0,0,0.1));
  }
}

.ms-story-panel__media {
  display: block;
}

@media (min-width: 1024px) {
  .ms-story-panel__media {
    grid-column: 1 / span 10;
    border-right: 1px solid var(--grid-line, rgba(0,0,0,0.1));
  }
}

.ms-story-media-layer {
  width: 100%;
  aspect-ratio: 3 / 2;
  background-color: var(--masa-color-bg, #ffffff);
}

.ms-story-media-layer.is-sticky {
  position: sticky;
  top: 60px;
  z-index: 1;
}

@media (min-width: 1024px) {
  .ms-story-media-layer.is-sticky {
    top: 100px;
  }
}

.ms-story-media-layer.is-cover {
  position: relative;
  z-index: 2;
  border-top: 1px solid var(--grid-line, rgba(0,0,0,0.1));
}

@media (max-width: 1023px) {
  .ms-story-media-layer.is-cover {
    display: none;
  }
}

@media (min-width: 1024px) {
  .ms-story-media-layer.is-cover {
    position: sticky;
    top: 100px;
    margin-top: 0;
  }
}

.ms-story-media-layer img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ms-story-panel__content {
  padding: 3rem 1.5rem;
}

@media (min-width: 1024px) {
  .ms-story-panel__content {
    grid-column: 11 / span 12;
    padding: 4rem 3rem;
  }
}

.ms-story-panel__sticky {
  position: sticky;
  top: 100px;
}

.ms-story-panel__content h2 {
  font-size: clamp(24px, 2.5vw, 36px);
  margin-bottom: 1.5rem;
  line-height: 1.2;
  color: #111111;
}

.ms-story-panel__content .section-intro {
  font-size: clamp(16px, 1.1vw, 18px);
  color: var(--masa-color-body, #444);
  margin-bottom: 2.5rem;
  line-height: 1.6;
}

.ms-story-panel__content p {
  color: var(--masa-color-body, #444);
  line-height: 1.6;
}

/* Sealer/primer solution cards: keep copy flush to the card media/grid. */
.page-sealer-primer-sanding-solutions .ms-image-card__body {
  padding: 0;
}

/* Supporting card labels/copy use the lighter supporting weight. */
.page-sealer-primer-sanding-solutions .ms-list-supporting-copy,
.page-sealer-primer-sanding-solutions .ms-contact-feature__label,
.page-sealer-primer-sanding-solutions .ms-image-card__body .ms-contact-feature__label {
  font-weight: 400;
}

/* Multi-material sanding page refinements. */
.page-multi-material-sanding-finishing .section-material-strategies .ms-solution-section-head .section-title {
  max-width: 1200px;
}

.page-multi-material-sanding-finishing .section-material-strategies .ms-image-card__body {
  padding: 0;
}

.page-multi-material-sanding-finishing .section-material-strategies .ms-image-card:first-child .ms-image-card__body {
  padding-left: clamp(32px, 4vw, 56px);
}

.page-multi-material-sanding-finishing .section-material-strategies .ms-image-card:nth-child(2) .ms-image-card__body {
  padding-right: clamp(32px, 4vw, 56px);
}

.page-multi-material-sanding-finishing .section-material-strategies .ms-image-card__body h3 {
  font-size: clamp(24px, 2.2vw, 32px);
  font-weight: 600;
}

.page-multi-material-sanding-finishing .section-benefits .ms-premium-card__body h3 {
  font-weight: 600;
}

.page-multi-material-sanding-finishing .ms-solution-hero__actions .pill-button > i {
  display: none;
}

.page-multi-material-sanding-finishing .section-benefits > .container.grid-24,
.page-multi-material-sanding-finishing .section-material-strategies > .container.grid-24,
.page-multi-material-sanding-finishing .section-validation-project-path > .container.grid-24 {
  --grid-line: #CCCCCC;
}

.page-multi-material-sanding-finishing .ms-changeover-section {
  background: var(--masa-color-primary, #0d7c72);
}

.page-multi-material-sanding-finishing .ms-changeover-section > .container.grid-24 {
  --grid-line: rgba(255, 255, 255, 0.15);
}

.page-multi-material-sanding-finishing .ms-changeover-section .ms-solution-section-head .section-title {
  color: #ffffff;
}

.page-multi-material-sanding-finishing .ms-changeover-section .pill-button.is-outline-dark {
  color: var(--masa-color-primary, #0d7c72);
  border-color: #ffffff;
  background: #ffffff;
}

.page-multi-material-sanding-finishing .ms-changeover-section .pill-button.is-outline-dark:hover,
.page-multi-material-sanding-finishing .ms-changeover-section .pill-button.is-outline-dark:focus-visible {
  color: var(--masa-color-primary, #0d7c72);
  border-color: rgba(255, 255, 255, 0.92);
  background: rgba(255, 255, 255, 0.92);
}

.page-multi-material-sanding-finishing .ms-changeover-section .ms-solution-signal-grid {
  grid-column: 1 / -1;
  border-top-color: rgba(255, 255, 255, 0.15);
}

.page-multi-material-sanding-finishing .ms-changeover-section .ms-solution-signal-card {
  border-bottom-color: rgba(255, 255, 255, 0.15);
  background: transparent;
}

.page-multi-material-sanding-finishing .ms-changeover-section .ms-solution-signal-card__icon,
.page-multi-material-sanding-finishing .ms-changeover-section .ms-solution-signal-card h3 {
  color: #ffffff;
}

.page-multi-material-sanding-finishing .ms-changeover-section .ms-solution-signal-card p {
  color: rgba(255, 255, 255, 0.68);
}

@media (min-width: 901px) {
  .page-multi-material-sanding-finishing .ms-changeover-section .ms-solution-signal-card {
    border-left-color: rgba(255, 255, 255, 0.15);
  }
}

.page-multi-material-sanding-finishing .section-validation-project-path {
  background: #ffffff;
}

.page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__layout {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  align-items: stretch;
}

.page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__copy {
  display: flex;
  min-width: 0;
  grid-column: 1 / -1;
  flex-direction: column;
}

.page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__copy .ms-solution-section-head {
  margin-bottom: clamp(48px, 6vw, 78px);
  padding-left: calc(100% / 12);
}

.page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__copy .section-title {
  width: 100%;
  max-width: none;
  margin: 0;
  padding-right: clamp(20px, 2.4vw, 36px);
}

.page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__accordion {
  margin-top: auto;
  padding-left: 0;
  border-top: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__item {
  margin: 0;
  border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__item-heading.ms-solution-step-title {
  margin: 0;
}

.page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__item-heading.ms-solution-step-title button {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  width: 100%;
  gap: 24px;
  align-items: center;
  padding: 16px 0 16px calc(100% / 12);
  border: 0;
  color: #111111;
  background: transparent;
  cursor: pointer;
  font: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  text-align: left;
}

.page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__item-heading.ms-solution-step-title button:focus-visible {
  outline: 2px solid #0D7C72;
  outline-offset: 4px;
}

.page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__number {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 0;
  color: #0D7C72;
  background: #F1F5F9;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1;
}

.page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__item.is-open .ms-solution-project-path__number {
  color: #0D7C72;
  background: #E5F3F1;
}

.page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__item-heading.ms-solution-step-title button > span:last-child {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  transition: color 0.38s ease;
}

.page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__item.is-open .ms-solution-project-path__item-heading.ms-solution-step-title button > span:last-child {
  color: #0D7C72;
}

.page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__body {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-height: 0;
  padding: 0 0 0 calc(68px + 100% / 12);
  opacity: 0;
  overflow: hidden;
  transform: translateY(-8px);
  transition: max-height 0.58s cubic-bezier(0.2, 0.7, 0.2, 1), padding 0.45s ease, opacity 0.3s ease, transform 0.45s ease;
  will-change: max-height, opacity, transform;
}

.page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__item.is-open .ms-solution-project-path__body {
  max-height: none;
  padding-top: 0;
  padding-bottom: 24px;
  opacity: 1;
  transform: translateY(0);
}

.page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__body-inner {
  box-sizing: border-box;
  width: 100%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}

.page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__body p {
  max-width: none;
  margin: 0;
  overflow-wrap: anywhere;
  color: #525252;
  font-size: 15px;
  line-height: 1.65;
}

.page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__copy {
  grid-column: auto;
}

.page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__media {
  min-width: 0;
  position: static;
  margin: 0;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border-radius: 0;
  background: #F4F6F7;
}

.page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.25s ease;
}

.page-multi-material-sanding-finishing .section-validation-project-path .ms-project-path-parallax {
  position: relative;
  overflow: hidden;
}

.page-multi-material-sanding-finishing .section-validation-project-path .ms-project-path-parallax img {
  position: absolute;
  inset: -8% 0;
  width: 100%;
  height: 116%;
  max-width: none;
  object-fit: cover;
  transform: translate3d(0, 0, 0);
  will-change: transform, opacity;
  transition: transform 0.12s linear, opacity 0.25s ease;
}

@media (min-width: 901px) {
  .page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    align-items: stretch;
  }

  .page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__copy {
    padding-top: var(--partner-block-space, clamp(40px, 10vw, 130px));
  }

  .page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__media {
    align-self: stretch;
    min-height: 100%;
    height: auto;
    aspect-ratio: auto;
  }

  .page-multi-material-sanding-finishing .section-validation-project-path .ms-project-path-parallax {
    min-height: 100%;
  }

  .page-multi-material-sanding-finishing .section-validation-project-path .ms-project-path-parallax img {
    inset: 0;
    height: 100%;
  }
}

@media (max-width: 900px) {
  .page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__copy {
    display: block;
  }

  .page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__accordion {
    margin-top: 0;
  }

  .page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__copy .ms-solution-section-head {
    margin-bottom: 42px;
    padding-left: 0;
  }

  .page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__media {
    order: -1;
    height: auto;
    aspect-ratio: 3 / 2;
  }

  .page-multi-material-sanding-finishing .section-validation-project-path .ms-project-path-parallax img {
    position: static;
    inset: auto;
    height: 100%;
    max-width: 100%;
    transform: none !important;
  }
}

@media (max-width: 680px) {
  .page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__item-heading.ms-solution-step-title button {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 16px;
    padding-left: 0;
  }

  .page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__number {
    width: 32px;
    height: 32px;
  }

  .page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__body {
    padding-left: 48px;
  }

  .page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__item.is-open .ms-solution-project-path__body {
    padding-left: 48px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-multi-material-sanding-finishing .section-validation-project-path .ms-project-path-parallax img {
    position: static;
    inset: auto;
    height: 100%;
    max-width: 100%;
    transform: none !important;
  }
}

.page-multi-material-sanding-finishing .section-validation-editorial .ms-editorial-grid__media {
  height: auto;
  aspect-ratio: 3 / 2;
}

.page-multi-material-sanding-finishing .section-validation-editorial .ms-editorial-grid__media img {
  min-height: 0;
  aspect-ratio: 3 / 2;
}

.page-multi-material-sanding-finishing .section-validation-editorial .ms-editorial-grid__title h2 {
  position: static;
  max-width: none;
}

.page-multi-material-sanding-finishing .section-validation-editorial .ms-editorial-step-tag {
  display: none;
}

.page-multi-material-sanding-finishing .section-validation-editorial .ms-editorial-step {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  column-gap: clamp(16px, 2vw, 24px);
  padding: clamp(24px, 3vw, 32px) clamp(24px, 3vw, 32px) clamp(24px, 3vw, 32px) 0;
  margin-bottom: 0;
}

.page-multi-material-sanding-finishing .section-validation-editorial .ms-editorial-step-number {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: start;
  color: var(--masa-color-primary, #0d7c72);
  font-family: 'Courier New', Courier, monospace;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.2;
}

.page-multi-material-sanding-finishing .section-validation-editorial .ms-editorial-step h3,
.page-multi-material-sanding-finishing .section-validation-editorial .ms-editorial-step p {
  grid-column: 2;
}

.page-multi-material-sanding-finishing .section-capabilities .ms-capability-item:first-of-type {
  margin-top: auto;
}

.page-multi-material-sanding-finishing .section-capabilities .ms-capability-item {
  padding-right: clamp(20px, 2.4vw, 36px);
}

.page-multi-material-sanding-finishing .section-capabilities .ms-capability-item p {
  color: rgba(255, 255, 255, 0.55);
}

@media (min-width: 901px) {
  .page-multi-material-sanding-finishing .section-capabilities .ms-solution-configuration__layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0;
  }

  .page-multi-material-sanding-finishing .section-validation-editorial .ms-editorial-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(32px, 5vw, 72px);
    align-items: start;
  }

  .page-multi-material-sanding-finishing .section-validation-editorial .ms-editorial-grid__media {
    grid-column: 1;
    grid-row: 1;
    border: 0;
    padding: 0;
  }

  .page-multi-material-sanding-finishing .section-validation-editorial .ms-editorial-grid__content {
    grid-column: 2;
    grid-row: 1;
    border-left: 0;
    padding: 0;
  }

  .page-multi-material-sanding-finishing .section-validation-editorial .ms-editorial-grid__title {
    padding: 0;
    margin-bottom: clamp(32px, 4vw, 56px);
  }
}

/* OEM/ODM custom engineering page refinements. */
.page-oem-odm-custom-engineering .section-requirements > .container.grid-24,
.page-oem-odm-custom-engineering .section-custom-options > .container.grid-24,
.page-oem-odm-custom-engineering .section-verification-project-path > .container.grid-24 {
  --grid-line: #CCCCCC;
}

.page-oem-odm-custom-engineering .section-market-requirements > .container.grid-24 {
  --grid-line: rgba(255, 255, 255, 0.15);
}

.page-oem-odm-custom-engineering .section-specification > .container.grid-24 {
  --grid-line: rgba(255, 255, 255, 0.15);
}

.page-oem-odm-custom-engineering .section-custom-options .ms-solution-section-head .section-title {
  max-width: 1200px;
}

.page-oem-odm-custom-engineering .section-custom-options .ms-image-card__body {
  padding: 0;
}

.page-oem-odm-custom-engineering .section-custom-options .ms-image-card:first-child .ms-image-card__body {
  padding-left: clamp(32px, 4vw, 56px);
}

.page-oem-odm-custom-engineering .section-custom-options .ms-image-card__body h3 {
  font-size: clamp(24px, 2.2vw, 32px);
  font-weight: 600;
}

.page-oem-odm-custom-engineering .section-requirements .ms-premium-card__body h3 {
  font-weight: 600;
}

.page-oem-odm-custom-engineering .section-verification-project-path {
  padding-block: 0;
  padding-bottom: clamp(56px, 7vw, 112px);
  background: #ffffff;
}

.page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__layout {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  align-items: stretch;
}

.page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__copy {
  display: flex;
  min-width: 0;
  grid-column: 1 / -1;
  flex-direction: column;
}

.page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__copy .ms-solution-section-head {
  margin-bottom: clamp(48px, 6vw, 78px);
  padding-left: calc(100% / 12);
}

.page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__copy .section-title {
  width: 100%;
  max-width: none;
  margin: 0;
  padding-right: clamp(20px, 2.4vw, 36px);
}

.page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__copy .section-intro {
  width: 100%;
  max-width: none;
  margin-top: 18px;
  padding-right: clamp(20px, 2.4vw, 36px);
}

.page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__accordion {
  margin-top: auto;
  padding-left: 0;
  border-top: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__item {
  margin: 0;
  border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__item-heading.ms-solution-step-title {
  margin: 0;
}

.page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__item-heading.ms-solution-step-title button {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  width: 100%;
  gap: 20px;
  align-items: center;
  padding: 20px clamp(20px, 2.4vw, 36px) 20px calc(100% / 12);
  border: 0;
  color: #111111;
  background: transparent;
  cursor: pointer;
  font: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  text-align: left;
}

.page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__item-heading.ms-solution-step-title button:focus-visible {
  outline: 2px solid #0D7C72;
  outline-offset: 4px;
}

.page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__number,
.page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__item.is-open .ms-solution-project-path__number {
  display: grid;
  width: auto;
  height: auto;
  min-width: 48px;
  place-items: center;
  border-radius: 0;
  color: #0D7C72;
  background: transparent;
  font-size: 40px;
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 0.95;
}

.page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__item-heading.ms-solution-step-title button > span:last-child {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  transition: color 0.38s ease;
}

.page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__item.is-open .ms-solution-project-path__item-heading.ms-solution-step-title button > span:last-child {
  color: #0D7C72;
}

.page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__body {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-height: 0;
  padding: 0 0 0 calc(68px + 100% / 12);
  opacity: 0;
  overflow: hidden;
  transform: translateY(-8px);
  transition: max-height 0.58s cubic-bezier(0.2, 0.7, 0.2, 1), padding 0.45s ease, opacity 0.3s ease, transform 0.45s ease;
  will-change: max-height, opacity, transform;
}

.page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__item.is-open .ms-solution-project-path__body {
  max-height: none;
  padding-top: 0;
  padding-bottom: 24px;
  opacity: 1;
  transform: translateY(0);
}

.page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__body-inner {
  box-sizing: border-box;
  width: 100%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}

.page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__body p {
  max-width: none;
  margin: 0;
  overflow-wrap: anywhere;
  color: #525252;
  font-size: 15px;
  line-height: 1.65;
}

.page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__body p + p {
  margin-top: 16px;
}

.page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__body strong {
  color: #111111;
  font-weight: 600;
}

.page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__copy {
  grid-column: auto;
}

.page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__media {
  min-width: 0;
  position: static;
  margin: 0;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border-radius: 0;
  background: #F4F6F7;
}

.page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.25s ease;
}

.page-oem-odm-custom-engineering .section-verification-project-path .ms-project-path-parallax {
  position: relative;
  overflow: hidden;
}

.page-oem-odm-custom-engineering .section-verification-project-path .ms-project-path-parallax img {
  position: absolute;
  inset: -8% 0;
  width: 100%;
  height: 116%;
  max-width: none;
  object-fit: cover;
  transform: translate3d(0, 0, 0);
  will-change: transform, opacity;
  transition: transform 0.12s linear, opacity 0.25s ease;
}

.page-oem-odm-custom-engineering .section-market-requirements .ms-market-card__step {
  display: none;
}

.page-oem-odm-custom-engineering .ms-solution-hero ~ .section-market-requirements.ms-market-grid {
  background-color: #1b1b1b;
}

.page-oem-odm-custom-engineering .ms-solution-hero ~ .section-specification.ms-solution-project-path {
  background-color: var(--masa-color-primary, #0D7C72);
  color: var(--masa-color-on-dark, #FFFFFF);
}

.page-oem-odm-custom-engineering .section-market-requirements .ms-market-card__body p {
  color: rgba(255, 255, 255, 0.65) !important;
}

@media (min-width: 901px) {
  .page-oem-odm-custom-engineering .section-market-requirements .ms-market-card:last-child {
    border-right: 1px solid rgba(255, 255, 255, 0.15);
  }

  .page-oem-odm-custom-engineering .section-market-requirements .ms-market-grid__header {
    justify-content: flex-start;
  }

  .page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
  }

  .page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__copy {
    padding-top: var(--partner-block-space, clamp(40px, 10vw, 130px));
  }

  .page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__media {
    align-self: stretch;
    min-height: 100%;
    height: auto;
    aspect-ratio: auto;
  }

  .page-oem-odm-custom-engineering .section-verification-project-path .ms-project-path-parallax {
    min-height: 100%;
  }

  .page-oem-odm-custom-engineering .section-verification-project-path .ms-project-path-parallax img {
    inset: 0;
    height: 100%;
  }
}

@media (max-width: 900px) {
  .page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__copy {
    display: block;
  }

  .page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__accordion {
    margin-top: 0;
  }

  .page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__copy .ms-solution-section-head {
    margin-bottom: 42px;
    padding-left: 0;
  }

  .page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__copy .section-intro {
    padding-right: 0;
  }

  .page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__media {
    order: -1;
    height: auto;
    aspect-ratio: 3 / 2;
  }

  .page-oem-odm-custom-engineering .section-verification-project-path .ms-project-path-parallax img {
    position: static;
    inset: auto;
    height: 100%;
    max-width: 100%;
    transform: none !important;
  }
}

@media (max-width: 680px) {
  .page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__item-heading.ms-solution-step-title button {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 16px;
    padding-left: 0;
  }

  .page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__number {
    min-width: 32px;
    font-size: 32px;
  }

  .page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__body,
  .page-oem-odm-custom-engineering .section-verification-project-path .ms-solution-project-path__item.is-open .ms-solution-project-path__body {
    padding-left: 48px;
  }
}

.page-oem-odm-custom-engineering .section-specification .ms-solution-signal-card {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.2);
}

.page-oem-odm-custom-engineering .section-specification .ms-solution-signal-grid {
  border-top-color: rgba(255, 255, 255, 0.15);
}

.page-oem-odm-custom-engineering .section-specification .ms-solution-section-head .section-title,
.page-oem-odm-custom-engineering .section-specification .ms-solution-signal-card h3,
.page-oem-odm-custom-engineering .section-specification .ms-solution-signal-card p {
  color: #ffffff;
}

.page-oem-odm-custom-engineering .section-specification .ms-solution-signal-card__number {
  display: block;
  margin-bottom: 20px;
  color: #ffffff;
  font-family: 'Courier New', Courier, monospace;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.2;
}

.page-oem-odm-custom-engineering .section-verification .ms-solution-configuration-card {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  column-gap: clamp(16px, 2vw, 24px);
  align-items: start;
}

.page-oem-odm-custom-engineering .section-verification .ms-solution-configuration-card__number {
  grid-column: 1;
  grid-row: 1 / span 2;
  color: var(--masa-color-primary, #0d7c72);
  font-family: 'Courier New', Courier, monospace;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.2;
}

.page-oem-odm-custom-engineering .section-verification .ms-solution-configuration-card h3,
.page-oem-odm-custom-engineering .section-verification .ms-solution-configuration-card p {
  grid-column: 2;
}

.page-oem-odm-custom-engineering .section-verification .ms-solution-configuration-card p.ms-list-supporting-copy {
  display: block;
  color: var(--ink-soft);
  font-size: var(--masa-font-size-supporting-copy, 16px);
  font-weight: var(--masa-font-weight-supporting-copy, 400);
  line-height: var(--masa-line-supporting-copy, 1.45);
}

/* Wood and bamboo S02: reuse the homepage's Workpiece Review process-card treatment. */
:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-risks {
  padding-bottom: 0;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-risks .cards-grid.product-grid {
  grid-column: 1 / -1 !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin-top: var(--section-heading-gap);
  border-top: 1px solid var(--line);
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-risks .ms-solution-section-head {
  margin-bottom: 0;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-risks .ms-premium-card {
  display: flex;
  flex-direction: column;
  min-height: 310px;
  gap: 0;
  padding: 60px 40px;
  border: 0;
  border-right: 1px solid var(--line);
  border-bottom: 0;
  background: #e8e8e8;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-risks .ms-premium-card:first-child {
  color: #ffffff;
  background: var(--blue);
  border-right-color: #0d6c5e;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-risks .ms-premium-card:last-child {
  border-right: 0;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-risks .ms-premium-card__icon-wrapper {
  width: auto;
  height: auto;
  min-height: 24px;
  justify-content: flex-start;
  border: 0;
  background: transparent;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-risks .ms-premium-card__icon {
  color: var(--blue);
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-risks .ms-premium-card:first-child .ms-premium-card__icon,
:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-risks .ms-premium-card:first-child .ms-premium-card__body h3,
:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-risks .ms-premium-card:first-child .ms-premium-card__body p {
  color: #ffffff;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-risks .ms-premium-card__body {
  min-width: 0;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-risks .ms-premium-card__body h3 {
  margin: 58px 0 18px;
  color: #111111;
  font-size: clamp(18px, 1.2vw, 20px);
  font-weight: 600;
  line-height: 1.1;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-risks .ms-premium-card__body p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 16px;
  line-height: 1.5;
}

@media (max-width: 900px) {
  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-risks .cards-grid.product-grid {
    grid-template-columns: 1fr !important;
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-risks .ms-premium-card,
  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-risks .ms-premium-card:last-child {
    min-height: 0;
    padding: 32px 20px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-risks .ms-premium-card:last-child {
    border-bottom: 0;
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-risks .ms-premium-card__body h3 {
    margin-top: 18px;
  }
}

/* Wood and bamboo S03: image-led accordion matching the workpiece-use-case reference. */
:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-section {
  background: #ffffff;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-section .ms-solution-section-head {
  margin-bottom: clamp(32px, 4vw, 56px);
}

/* Wood and bamboo S02/S05: widen the section copy and reuse the catalog carousel treatment. */
.page-wood-bamboo-sanding-applications .section-risks .ms-solution-section-head .section-title,
.page-wood-bamboo-sanding-applications .section-recommended-products .ms-catalog-head .section-title,
.page-wood-bamboo-sanding-applications .section-recommended-products .ms-catalog-intro {
  width: 70%;
  max-width: 70%;
}

.page-wood-bamboo-sanding-applications .section-recommended-products .ms-catalog-head {
  margin-bottom: clamp(32px, 4vw, 48px);
}

.page-wood-bamboo-sanding-applications .ms-faq-section {
  border-top: 1px solid var(--masa-color-line, #CCCCCC);
}

.page-wood-bamboo-sanding-applications .ms-faq-wrap > .ms-faq-card:first-child {
  border-top: 0;
}

.page-wood-bamboo-sanding-applications .ms-wood-product-carousel {
  position: relative;
  grid-column: 2 / span 22;
  min-width: 0;
}

.page-wood-bamboo-sanding-applications .ms-wood-product-carousel__state {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.page-wood-bamboo-sanding-applications .ms-wood-product-carousel .ms-product-grid--recommendations {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  gap: clamp(20px, 2.5vw, 32px);
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  align-items: stretch;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}

.page-wood-bamboo-sanding-applications .ms-wood-product-carousel .ms-product-grid--recommendations::-webkit-scrollbar {
  display: none;
}

.page-wood-bamboo-sanding-applications .ms-wood-product-carousel:has(#wood-product-carousel-page-2:checked) .ms-product-grid--recommendations {
  transform: translateX(-100%);
}

.page-wood-bamboo-sanding-applications .ms-wood-product-carousel__controls .ms-carousel-btn {
  background: var(--masa-color-primary, #0D7C72);
  border-color: var(--masa-color-primary, #0D7C72);
  color: #FFFFFF;
  cursor: pointer;
}

.page-wood-bamboo-sanding-applications .ms-wood-product-carousel__controls .ms-carousel-btn:hover,
.page-wood-bamboo-sanding-applications .ms-wood-product-carousel__controls .ms-carousel-btn:focus-visible {
  background: var(--masa-color-primary-hover, #075B53);
  border-color: var(--masa-color-primary-hover, #075B53);
  color: #FFFFFF;
}

.page-wood-bamboo-sanding-applications .ms-wood-product-carousel .ms-product-grid--recommendations > .ms-product-card {
  flex: 0 0 calc((100% - (2 * clamp(20px, 2.5vw, 32px))) / 3);
  min-width: 0;
}

.page-wood-bamboo-sanding-applications .ms-wood-product-carousel__controls {
  position: absolute;
  top: 16px;
  right: 0;
  justify-content: flex-end;
  margin-top: 0;
  z-index: 4;
}

@media (max-width: 1024px) {
  .page-wood-bamboo-sanding-applications .ms-wood-product-carousel .ms-product-grid--recommendations > .ms-product-card {
    flex-basis: calc((100% - clamp(20px, 2.5vw, 32px)) / 2);
  }
}

@media (max-width: 640px) {
  .page-wood-bamboo-sanding-applications .ms-wood-product-carousel__controls {
    position: static;
    margin-top: 20px;
  }

  .page-wood-bamboo-sanding-applications .ms-wood-product-carousel .ms-product-grid--recommendations {
    gap: 20px;
  }

  .page-wood-bamboo-sanding-applications .ms-wood-product-carousel .ms-product-grid--recommendations > .ms-product-card {
    flex-basis: 100%;
  }
}

/* Metal Profile S05: reuse the wood/bamboo carousel pattern for recommended products. */
.page-metal-profile-finishing .section-recommended-products .ms-catalog-head {
  margin-bottom: clamp(32px, 4vw, 48px);
}

.page-metal-profile-finishing .ms-metal-product-carousel {
  position: relative;
  grid-column: 2 / span 22;
  min-width: 0;
}

.page-metal-profile-finishing .ms-metal-product-carousel__state {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.page-metal-profile-finishing .ms-metal-product-carousel .ms-product-grid--recommendations {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  gap: clamp(20px, 2.5vw, 32px);
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  align-items: stretch;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}

.page-metal-profile-finishing .ms-metal-product-carousel .ms-product-grid--recommendations::-webkit-scrollbar {
  display: none;
}

.page-metal-profile-finishing .ms-metal-product-carousel:has(#metal-product-carousel-page-2:checked) .ms-product-grid--recommendations {
  transform: translateX(-100%);
}

.page-metal-profile-finishing .ms-metal-product-carousel__controls .ms-carousel-btn {
  background: var(--masa-color-primary, #0D7C72);
  border-color: var(--masa-color-primary, #0D7C72);
  color: #FFFFFF;
  cursor: pointer;
}

.page-metal-profile-finishing .ms-metal-product-carousel__controls .ms-carousel-btn:hover,
.page-metal-profile-finishing .ms-metal-product-carousel__controls .ms-carousel-btn:focus-visible {
  background: var(--masa-color-primary-hover, #075B53);
  border-color: var(--masa-color-primary-hover, #075B53);
  color: #FFFFFF;
}

.page-metal-profile-finishing .ms-metal-product-carousel .ms-product-grid--recommendations > .ms-product-card {
  flex: 0 0 calc((100% - (2 * clamp(20px, 2.5vw, 32px))) / 3);
  min-width: 0;
}

.page-metal-profile-finishing .ms-metal-product-carousel__controls {
  position: absolute;
  top: 16px;
  right: 0;
  justify-content: flex-end;
  margin-top: 0;
  z-index: 4;
}

@media (max-width: 1024px) {
  .page-metal-profile-finishing .ms-metal-product-carousel .ms-product-grid--recommendations > .ms-product-card {
    flex-basis: calc((100% - clamp(20px, 2.5vw, 32px)) / 2);
  }
}

@media (max-width: 640px) {
  .page-metal-profile-finishing .ms-metal-product-carousel__controls {
    position: static;
    margin-top: 20px;
  }

  .page-metal-profile-finishing .ms-metal-product-carousel .ms-product-grid--recommendations {
    gap: 20px;
  }

  .page-metal-profile-finishing .ms-metal-product-carousel .ms-product-grid--recommendations > .ms-product-card {
    flex-basis: 100%;
  }
}

/* Wood and bamboo S04: dark capability grid. */
:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities .ms-solution-section-head {
  grid-column: 1 / span 12;
  margin-bottom: 40px;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities .section-title {
  color: #ffffff;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities > .container.grid-24 {
  --grid-line: rgba(255, 255, 255, 0.15);
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities > .container.grid-24::before {
  z-index: 3;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities .cards-grid {
  grid-column: 1 / -1 !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin-top: 0;
  border-top: 1px solid var(--grid-line);
  border-bottom: 1px solid var(--grid-line);
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities .ms-premium-card {
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-height: 360px;
  padding: 40px;
  border: 0;
  background: transparent !important;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities .ms-premium-card__icon-wrapper {
  display: block;
  width: auto;
  height: auto;
  border: 0;
  background: transparent;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities .ms-premium-card__icon {
  color: var(--masa-color-accent) !important;
  font-size: 24px;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities .ms-premium-card:not(:last-child) {
  border-right: 1px solid var(--grid-line);
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities .ms-premium-card__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities .ms-premium-card__body h3 {
  font-size: clamp(19px, 1.35vw, 24px);
  font-weight: 600;
  line-height: 1.12;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities .ms-premium-card__body .ms-card-link {
  margin-top: auto !important;
  color: #ffffff !important;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities .ms-capability-card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .35s ease;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities .ms-capability-card::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities .ms-capability-card::before {
  z-index: 0;
  background-position: center;
  background-size: cover;
  opacity: 0;
  transform: scale(1.04);
  transition: opacity .45s ease, transform .65s ease;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities .ms-capability-card--edge-profile::before {
  background-image: url('https://masasanding.com/wp-content/uploads/2026/09/wood-bamboo-edge-profile-sanding.webp');
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities .ms-capability-card--door-frame::before {
  background-image: url('https://masasanding.com/wp-content/uploads/2026/09/wood-bamboo-door-frame-sanding-line.webp');
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities .ms-capability-card--abrasives::before {
  background-image: url('https://masasanding.com/wp-content/uploads/2026/09/wood-bamboo-matched-abrasives-1.webp');
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities .ms-capability-card--run-off::before {
  background-image: url('https://masasanding.com/wp-content/uploads/2026/09/wood-bamboo-pre-shipment-material-run-off-1.webp');
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities .ms-capability-card > * {
  position: relative;
  z-index: 2;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities .ms-capability-card:hover::before,
:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities .ms-capability-card:focus-visible::before {
  opacity: 1;
  transform: scale(1);
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities .ms-capability-card:focus-visible {
  outline: 2px solid var(--masa-color-accent);
  outline-offset: -2px;
}

/* Metal profile finishing reuses the Wood & Bamboo capability-card treatment with metal-specific hover imagery. */
.page-metal-profile-finishing .section-capabilities .ms-capability-card--metal-presets::before {
  background-image: url('https://masasanding.com/wp-content/uploads/2026/09/multi-material-sanding-finishing-1.webp');
}

.page-metal-profile-finishing .section-capabilities .ms-capability-card--metal-abrasives::before {
  background-image: url('https://masasanding.com/wp-content/uploads/2026/09/quick-change-disc-sanding-head-interface.webp');
}

.page-metal-profile-finishing .section-capabilities .ms-capability-card--metal-testing::before {
  background-image: url('https://masasanding.com/wp-content/uploads/2026/09/Need-a-Complete-Automated-Sanding-Line.webp');
}

.page-metal-profile-finishing .section-capabilities .ms-capability-card--metal-multi-material::before {
  background-image: url('https://masasanding.com/wp-content/uploads/2026/09/multi-material-sanding-finishing.webp');
}

/* S04 capability cards: use the MASA theme color on hover instead of imagery. */
:is(.page-wood-bamboo-sanding-applications, .page-metal-profile-finishing) .section-capabilities .ms-capability-card:hover,
:is(.page-wood-bamboo-sanding-applications, .page-metal-profile-finishing) .section-capabilities .ms-capability-card:focus-visible {
  background-color: var(--masa-color-primary, #0D7C72) !important;
}

:is(.page-wood-bamboo-sanding-applications, .page-metal-profile-finishing) .section-capabilities .ms-capability-card:hover::before,
:is(.page-wood-bamboo-sanding-applications, .page-metal-profile-finishing) .section-capabilities .ms-capability-card:focus-visible::before {
  opacity: 0 !important;
  background-image: none !important;
  transform: none;
}

@media (max-width: 900px) {
  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities .ms-solution-section-head {
    grid-column: 1 / -1;
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities .cards-grid {
    grid-template-columns: 1fr !important;
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities .ms-premium-card {
    min-height: 0;
    padding: 32px 0;
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-capabilities .ms-premium-card:not(:last-child) {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  }

  .page-wood-bamboo-sanding-applications .section-recommended-products .ms-catalog-head .section-title,
  .page-wood-bamboo-sanding-applications .section-recommended-products .ms-catalog-intro {
    width: 100%;
    max-width: none;
  }
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-accordion {
  grid-column: 2 / span 22;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-accordion__media {
  min-height: 620px;
  margin: 0;
  overflow: hidden;
  border-right: 1px solid var(--line);
  background: #F4F6F7;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-accordion__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity .25s ease;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-accordion__list {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-accordion__item {
  margin: 0;
  border-bottom: 1px solid var(--line);
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-accordion__item:last-child {
  border-bottom: 0;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-accordion__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: clamp(24px, 3vw, 40px);
  cursor: pointer;
  list-style: none;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-accordion__summary::-webkit-details-marker {
  display: none;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-accordion__summary::marker {
  display: none;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-accordion__summary h3 {
  margin: 0;
  color: #111111;
  font-size: clamp(20px, 1.7vw, 28px);
  font-weight: 600;
  line-height: 1.15;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-accordion__toggle {
  flex: 0 0 auto;
  color: #111111;
  font-size: 28px;
  font-weight: 300;
  line-height: 1;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-accordion__content {
  padding: 0 clamp(24px, 3vw, 40px) clamp(28px, 3vw, 40px);
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-accordion__content p {
  margin: 0 0 14px;
  color: var(--ink-soft);
  font-size: 15px;
  line-height: 1.65;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-accordion__content p:last-of-type {
  margin-bottom: 24px;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-accordion__content .ms-card-link {
  color: #111111;
  font-size: 14px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-accordion__item.is-active .ms-wood-workpiece-accordion__summary {
  padding-bottom: 24px;
}

@media (max-width: 900px) {
  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-section .ms-solution-section-head {
    margin-bottom: 32px;
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-accordion {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-accordion__media {
    min-height: 0;
    aspect-ratio: 16 / 10;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-accordion__summary {
    padding: 24px 20px;
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-accordion__summary h3 {
    font-size: 20px;
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-accordion__content {
    padding: 0 20px 28px;
  }
}

/* Wood and bamboo S03: scroll-driven stacked cards inspired by the reference layout. */
body.page-id-336,
body.page-id-336 .page-shell,
:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout),
:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-section {
  overflow: visible;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-section > .container {
  align-content: start;
  --grid-line: #CCCCCC;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-section > .container.grid-24::before {
  z-index: 5;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-stack {
  position: relative;
  align-self: start;
  container-type: inline-size;
  grid-column: 1 / -1;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-stack.reveal {
  transform: none !important;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-stack__spacer {
  height: 50vh;
  pointer-events: none;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-stack__item {
  position: sticky;
  top: 0;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-height: calc(100cqi / 3);
  max-height: calc(100cqi / 3);
  overflow: hidden;
  border-top: 1px solid var(--line);
  background: #ffffff;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-stack__item:last-of-type {
  border-bottom: 1px solid var(--line);
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-stack__item:nth-child(2) {
  top: 84px;
  z-index: 2;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-stack__item:nth-child(3) {
  top: 168px;
  z-index: 3;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-stack__item:nth-child(4) {
  top: 252px;
  z-index: 4;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-stack__number {
  padding: 28px 24px;
  color: #111111;
  font-family: var(--utility, 'Poppins', sans-serif);
  font-size: clamp(18px, 1.6vw, 26px);
  font-weight: 600;
  letter-spacing: .04em;
  line-height: 1;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-stack__media {
  width: 100%;
  height: 100%;
  min-height: 0;
  aspect-ratio: 3 / 2;
  align-self: stretch;
  margin: 0;
  overflow: hidden;
  border-right: 1px solid var(--line);
  background: #f4f4f4;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-stack__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transition: transform .75s cubic-bezier(.2, .75, .25, 1);
}

.page-wood-bamboo-sanding-applications .ms-wood-workpiece-stack__media {
  box-sizing: border-box;
  padding-block: 40px;
  background: #ffffff;
}

.page-metal-profile-finishing .ms-wood-workpiece-stack__media {
  box-sizing: border-box;
  padding-block: 40px;
  background: #ffffff;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-stack__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(24px, 3vw, 40px);
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-stack__body h3 {
  margin: 0;
  color: #111111;
  font-size: clamp(22px, 1.8vw, 32px);
  font-weight: 500;
  line-height: 1.15;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-stack__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 620px;
  margin-top: auto;
  opacity: 1;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-stack__copy p {
  margin: 0 0 14px;
  color: var(--ink-soft);
  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.6;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-stack__copy p:last-of-type {
  margin-bottom: 24px;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-stack__copy .pill-button {
  align-self: flex-start;
  font-size: clamp(12px, 0.9vw, 14px);
}

@media (max-width: 900px) {
  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-section > .container {
    padding-bottom: 0;
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-stack {
    position: static;
    top: auto;
    grid-column: 1 / -1;
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-stack__spacer {
    display: none;
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-stack__item,
  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-stack__item.is-active {
    position: relative;
    top: auto !important;
    z-index: auto;
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    max-height: none;
    aspect-ratio: auto;
    overflow: visible;
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-stack__number {
    grid-column: 1;
    grid-row: 1;
    padding: 24px 16px;
    font-size: 16px;
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-stack__media {
    grid-column: 1;
    grid-row: 1;
    min-height: 0;
    aspect-ratio: 3 / 2;
    border-right: 0;
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-stack__body {
    grid-column: 1 / -1;
    grid-row: 2;
    padding: clamp(20px, 6vw, 24px) clamp(16px, 5vw, 20px) clamp(28px, 7vw, 32px);
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .ms-wood-workpiece-stack__copy {
    margin-top: 20px;
    opacity: 1;
    transform: none;
  }
}

/* Shared S06 editorial validation layout: reuse Multi-Material's “Verify Both Materials Before Shipment” treatment. */
:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid__media {
  height: auto;
  aspect-ratio: 3 / 2;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid__media img {
  min-height: 0;
  aspect-ratio: 3 / 2;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid__title h2 {
  position: static;
  max-width: none;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-step {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  column-gap: clamp(16px, 2vw, 24px);
  padding: clamp(24px, 3vw, 32px) clamp(24px, 3vw, 32px) clamp(24px, 3vw, 32px) 0;
  margin-bottom: 0;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-step-number {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: start;
  color: var(--masa-color-primary, #0d7c72);
  font-family: 'Courier New', Courier, monospace;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.2;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-step h3,
:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-step p {
  grid-column: 2;
}

@media (min-width: 901px) {
  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(32px, 5vw, 72px);
    align-items: start;
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid__media {
    grid-column: 1;
    grid-row: 1;
    border: 0;
    padding: 0;
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid__content {
    grid-column: 2;
    grid-row: 1;
    border-left: 0;
    padding: 0;
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid__title {
    padding: 0;
    margin-bottom: clamp(32px, 4vw, 56px);
  }
}

/* S06 stacked variant: full-width sticky image followed by four editorial columns. */
:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial {
  overflow: visible;
  padding-top: 0;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked {
  display: block;
  width: 100%;
  grid-column: 1 / -1;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-grid__media {
  position: sticky;
  top: clamp(72px, 8vw, 112px);
  z-index: 1;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 7;
  margin: 0;
  padding: 0;
  border: 0;
  background: #e8e8e8;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-grid__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  aspect-ratio: auto;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-grid__content {
  width: 100%;
  padding: 0;
  border: 0;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-grid__content-wrapper {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 0;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-grid__title,
:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-step {
  min-width: 0;
  min-height: 100%;
  padding: clamp(32px, 4vw, 56px) clamp(20px, 2.5vw, 36px) clamp(36px, 4vw, 56px);
  border-top: 1px solid var(--grid-line, rgba(17, 17, 17, 0.15));
  border-bottom: 1px solid var(--grid-line, rgba(17, 17, 17, 0.15));
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-grid__title {
  margin: 0;
  padding-left: 0;
  grid-column: auto;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-grid__title h2 {
  margin: 0;
  max-width: none;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-step {
  display: flex;
  flex-direction: column;
  grid-template-columns: none;
  grid-column: auto;
  column-gap: 0;
  margin: 0;
  border-left: 1px solid var(--grid-line, rgba(17, 17, 17, 0.15));
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-step-number {
  display: block;
  flex: 0 0 auto;
  margin: 0 0 24px;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-step h3 {
  margin: 0 0 14px;
  font-size: clamp(19px, 1.45vw, 24px);
  line-height: 1.15;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-step p {
  margin: 0;
  font-size: clamp(15px, 1.05vw, 17px);
  line-height: 1.6;
}

@media (max-width: 900px) {
  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-grid__media {
    position: relative;
    top: auto;
    aspect-ratio: 16 / 10;
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-grid__content-wrapper {
    grid-template-columns: 1fr;
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-grid__title,
  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-step {
    padding: 28px 0 32px;
    border-left: 0;
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-step-number {
    margin-bottom: 14px;
  }
}

/* S06 support cards: a continuous bordered grid with restrained descriptions. */
.page-manufacturing .section-support .ms-card-grid--4 {
  gap: 0 !important;
  border: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  border-inline: 0;
}

.page-manufacturing .section-support .ms-card.ms-card--icon {
  min-width: 0;
  padding: 28px 24px !important;
  border: 0;
  border-right: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  border-radius: 0 !important;
  background: transparent !important;
}

.page-manufacturing .section-support .ms-card.ms-card--icon:last-child {
  border-right: 0;
}

.page-manufacturing .section-support .ms-card__icon {
  margin-bottom: 18px !important;
}

.page-manufacturing .section-support .ms-card__body {
  padding: 0 !important;
}

.page-manufacturing .section-support .ms-card__body h3 {
  margin: 0 0 12px !important;
  font-size: clamp(18px, 1.25vw, 22px) !important;
  line-height: 1.15;
}

.page-manufacturing .section-support .ms-card__body p {
  margin: 0;
  color: var(--masa-color-text-muted, #525252);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.005em;
}

@media (max-width: 900px) {
  .page-manufacturing .section-support .ms-card-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .page-manufacturing .section-support .ms-card.ms-card--icon:nth-child(2n) {
    border-right: 0;
  }

  .page-manufacturing .section-support .ms-card.ms-card--icon:nth-child(-n + 2) {
    border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  }
}

@media (max-width: 620px) {
  .page-manufacturing .section-support .ms-card-grid--4 {
    grid-template-columns: 1fr !important;
  }

  .page-manufacturing .section-support .ms-card.ms-card--icon,
  .page-manufacturing .section-support .ms-card.ms-card--icon:nth-child(2n) {
    border-right: 0;
    border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  }

  .page-manufacturing .section-support .ms-card.ms-card--icon:last-child {
    border-bottom: 0;
  }
}

/* Final S03 card alignment override: mirror S02's simple image-and-copy cards. */
.page-manufacturing .section-engineering .ms-card-grid--3 {
  gap: 1.5rem !important;
}

.page-manufacturing .section-engineering .ms-card {
  display: block;
  min-width: 0;
  min-height: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  transition: none;
}

.page-manufacturing .section-engineering .ms-card__media {
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
}

.page-manufacturing .section-engineering .ms-card__body {
  display: block;
  padding: 20px 0 0;
}

.page-manufacturing .section-engineering .ms-card__body h3 {
  margin: 0 0 10px;
  font-size: clamp(20px, 1.5vw, 24px);
  line-height: 1.1;
}

.page-manufacturing .section-engineering .ms-card__body p {
  width: 100%;
  max-width: none;
  margin: 0;
}

/* Contact page layout: keep the editorial sections on the shared 24-column grid. */
.ms-contact-cards-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--masa-space-grid, 16px);
  margin-top: clamp(36px, 4vw, 56px);
}

.ms-contact-cards-row__item {
  min-width: 0;
}

.ms-contact-card {
  display: flex;
  height: 100%;
  flex-direction: column;
  gap: 12px;
  padding: clamp(22px, 2.4vw, 30px);
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
}

.ms-contact-card__icon {
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.12);
  font-size: 15px;
}

.ms-factory-visit-section {
  position: relative;
  z-index: 5;
  padding-block: var(--masa-space-section, clamp(88px, 9vw, 140px));
  color: var(--masa-color-text, #071f20);
  background: var(--masa-color-surface-soft, #f4f6f7);
  overflow: hidden;
}

.ms-factory-visit-section > .container > .grid-24 {
  align-items: start;
}

.ms-factory-visit__copy {
  grid-column: 2 / span 10;
}

.ms-factory-visit__media {
  display: flex;
  grid-column: 14 / span 10;
  flex-direction: column;
  gap: var(--masa-space-grid, 16px);
}

.ms-factory-visit__media img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.ms-factory-visit__media .ms-factory-img-1 {
  aspect-ratio: 4 / 3;
}

.ms-factory-visit__media .ms-factory-img-2 {
  aspect-ratio: 16 / 9;
}

.ms-routing-section {
  position: relative;
  z-index: 5;
  padding-block: var(--masa-space-section, clamp(88px, 9vw, 140px));
  color: var(--masa-color-text, #071f20);
  background: var(--masa-color-surface, #ffffff);
  overflow: hidden;
}

.ms-routing-section .ms-section-header {
  margin-bottom: clamp(32px, 4vw, 56px);
}

.ms-routing-section > .container > .grid-24 {
  row-gap: var(--masa-space-grid, 16px);
}

.ms-routing-section > .container > .grid-24 > .col-12 {
  grid-column: span 12;
}

.ms-routing-card {
  height: 100%;
  padding: clamp(24px, 3vw, 40px);
  border-top: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.ms-faq-link-section {
  position: relative;
  z-index: 5;
  padding-block: clamp(48px, 6vw, 88px);
  color: var(--masa-color-text, #071f20);
  background: var(--masa-color-surface-soft, #f4f6f7);
}

@media (max-width: 1100px) {
  .ms-contact-cards-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ms-factory-visit__copy {
    grid-column: 1 / span 6;
  }

  .ms-factory-visit__media {
    grid-column: 7 / span 6;
  }

  .ms-routing-section > .container > .grid-24 > .col-12 {
    grid-column: span 6;
  }
}

@media (max-width: 900px) {
  .ms-factory-visit__copy,
  .ms-factory-visit__media {
    grid-column: 1 / -1;
  }

  .ms-factory-visit__copy {
    margin-bottom: 36px;
  }
}

@media (max-width: 760px) {
  .ms-contact-cards-row {
    grid-template-columns: 1fr;
  }

  .ms-routing-section > .container > .grid-24 > .col-12 {
    grid-column: 1 / -1;
  }
}

/* Contact page redesign: an industrial editorial system built from the MASA tokens. */
.ms-hero-contact {
  position: relative !important;
  top: auto !important;
  z-index: 1 !important;
  padding: 0 0 clamp(72px, 8vw, 128px);
  overflow: hidden;
  color: var(--masa-color-on-dark, #ffffff) !important;
  background: linear-gradient(118deg, #0d7c72 0%, #075b53 48%, #071f20 100%) !important;
}

.ms-hero-contact::after {
  content: "";
  position: absolute;
  top: 0;
  right: 7%;
  bottom: 0;
  width: 1px;
  background: rgba(255, 255, 255, 0.16);
  box-shadow: -220px 0 0 rgba(255, 255, 255, 0.06), 220px 0 0 rgba(255, 255, 255, 0.06);
  pointer-events: none;
}

.ms-hero-contact > .container {
  position: relative;
  z-index: 1;
}

.ms-hero-contact .ms-hero-split__grid {
  align-items: center;
  row-gap: clamp(32px, 5vw, 72px);
}

.ms-hero-contact .ms-hero-split__copy {
  grid-column: 2 / span 11;
  padding-top: clamp(42px, 6vw, 96px);
}

.ms-hero-contact .ms-breadcrumbs {
  margin-bottom: clamp(48px, 7vw, 96px);
}

.ms-hero-contact .ms-hero-split__title {
  max-width: 880px;
  margin-bottom: 28px;
  color: #ffffff !important;
  font-size: clamp(48px, 5.2vw, 84px);
  line-height: 0.98;
}

.ms-hero-contact .ms-hero-split__desc {
  max-width: 740px;
  margin-bottom: 10px;
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.55;
}

.ms-hero-contact .ms-hero-split__media {
  grid-column: 14 / span 10;
  padding-top: clamp(32px, 5vw, 72px);
}

.ms-hero-contact .ms-hero-split__media-card {
  aspect-ratio: 4 / 3;
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 24px 28px 0 rgba(7, 31, 32, 0.22), 0 30px 70px rgba(0, 0, 0, 0.22);
}

.ms-hero-contact .ms-hero-split__media-card img {
  object-fit: cover;
}

.ms-hero-contact .ms-contact-cards-row {
  position: relative;
  z-index: 1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: clamp(56px, 8vw, 112px);
}

.ms-hero-contact .ms-contact-card {
  position: relative;
  min-height: 216px;
  padding: clamp(24px, 2.6vw, 36px);
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.24);
  transition: transform 240ms ease, background-color 240ms ease, border-color 240ms ease;
}

.ms-hero-contact .ms-contact-card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: var(--masa-color-accent, #fbd21e);
  transform: scaleX(0.22);
  transform-origin: left;
  transition: transform 240ms ease;
}

.ms-hero-contact .ms-contact-card:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.42);
  transform: translateY(-6px);
}

.ms-hero-contact .ms-contact-card:hover::before {
  transform: scaleX(1);
}

.ms-hero-contact .ms-contact-card__icon {
  width: 44px;
  height: 44px;
  color: var(--masa-color-text, #111111);
  background: var(--masa-color-accent, #fbd21e);
}

.ms-hero-contact .ms-contact-card h3 {
  margin: 4px 0 0;
  color: #ffffff;
  font-size: clamp(18px, 1.35vw, 22px);
  line-height: 1.1;
}

.ms-hero-contact .ms-contact-card p {
  margin: 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  line-height: 1.5;
}

.ms-hero-contact .ms-contact-card p strong {
  color: #ffffff;
  font-size: 15px;
}

.ms-contact-inquiry-section {
  z-index: 2;
  background: linear-gradient(120deg, #071f20 0%, #03052c 100%);
}

.ms-contact-inquiry-section .ms-quote-split__grid {
  align-items: start;
}

.ms-contact-inquiry-section .ms-quote-split__copy {
  grid-column: 2 / span 10;
  padding-top: 8px;
}

.ms-contact-inquiry-section .ms-quote-split__title {
  max-width: 820px;
  margin-bottom: 24px;
}

.ms-contact-inquiry-section .ms-quote-split__desc {
  max-width: 720px;
  color: rgba(255, 255, 255, 0.78);
}

.ms-contact-inquiry-section .ms-quote-checklist {
  margin: 28px 0 32px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.ms-contact-inquiry-section .ms-quote-checklist__item {
  position: relative;
  padding: 15px 0 15px 28px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.45;
}

.ms-contact-inquiry-section .ms-quote-checklist__item::before {
  content: "↗";
  position: absolute;
  top: 15px;
  left: 0;
  color: var(--masa-color-accent, #fbd21e);
  font-weight: 600;
}

.ms-contact-inquiry-section .ms-inquiry-img {
  display: block;
  width: 100%;
  margin-top: 40px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.ms-contact-inquiry-section .ms-quote-split__form-col {
  grid-column: 14 / span 10;
}

.ms-contact-inquiry-section .ms-quote-split__form-card {
  border-left: 4px solid var(--masa-color-accent, #fbd21e);
  padding: clamp(28px, 4vw, 52px);
}

.ms-contact-inquiry-section .ms-form-confidential {
  margin-top: 18px;
  color: var(--masa-color-text-muted, #525252);
}

.ms-factory-visit-section {
  z-index: 5;
  padding-block: clamp(96px, 11vw, 168px);
  color: var(--masa-color-text, #111111);
  background: var(--masa-color-surface-soft, #f7f7f7);
  border-top: 1px solid var(--masa-color-line, #cccccc);
  border-bottom: 1px solid var(--masa-color-line, #cccccc);
}

.ms-factory-visit-section > .container > .ms-contact-editorial-grid {
  align-items: start;
}

.ms-factory-visit__copy {
  grid-column: 2 / span 9;
  padding-top: 8px;
}

.ms-factory-visit__title {
  max-width: 740px;
  margin: 0 0 30px;
  color: var(--masa-color-text, #111111);
  font-family: var(--masa-font-display, "Poppins", sans-serif);
  font-size: var(--masa-font-size-section-title, clamp(38px, 3.5vw, 52px));
  font-weight: var(--masa-font-weight-heading, 600);
  line-height: var(--masa-line-heading, 0.98);
  letter-spacing: var(--masa-letter-heading, -0.035em);
}

.ms-factory-visit__copy > p {
  max-width: 680px;
  margin: 0 0 18px;
  color: var(--masa-color-text-muted, #525252);
  font-size: 16px;
  line-height: var(--masa-line-body, 1.45);
}

.ms-factory-visit__copy > p a,
.ms-routing-card a,
.ms-faq-link-section a {
  color: var(--masa-color-primary, #0d7c72);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.ms-factory-visit__subheading {
  max-width: 680px;
  margin: 44px 0 14px;
  padding-top: 18px;
  border-top: 1px solid var(--masa-color-line, #cccccc);
  color: var(--masa-color-text, #111111);
  font-size: var(--masa-font-size-h3, clamp(20px, 1.5vw, 24px));
  line-height: 1.1;
}

.ms-factory-visit__copy .ms-ordered-list {
  display: grid;
  max-width: 680px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 24px;
  margin: 0 0 32px;
  padding: 0;
  list-style: none;
  counter-reset: factory-check;
}

.ms-factory-visit__copy .ms-ordered-list li {
  counter-increment: factory-check;
  padding: 13px 0 13px 30px;
  border-bottom: 1px solid var(--masa-color-line, #cccccc);
  color: var(--masa-color-text-muted, #525252);
  font-size: 14px;
  line-height: 1.45;
}

.ms-factory-visit__copy .ms-ordered-list li::before {
  content: counter(factory-check, decimal-leading-zero);
  display: inline-block;
  width: 26px;
  margin-left: -30px;
  color: var(--masa-color-primary, #0d7c72);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.ms-factory-visit__copy .pill-button {
  min-height: 48px;
  background: var(--masa-color-primary, #0d7c72);
  color: #ffffff;
}

.ms-factory-visit__copy .pill-button:hover {
  background: var(--masa-color-accent, #fbd21e);
  color: var(--masa-color-text, #111111);
}

.ms-factory-visit__media {
  display: block;
  grid-column: 13 / span 11;
}

.ms-factory-visit__media img {
  display: block;
  width: 100%;
  object-fit: cover;
}

.ms-factory-visit__media .ms-factory-img-1 {
  aspect-ratio: 4 / 3;
}

.ms-factory-visit__media .ms-factory-img-2 {
  position: relative;
  width: 58%;
  margin: -96px 0 0 auto;
  aspect-ratio: 4 / 3;
  border: 16px solid var(--masa-color-surface-soft, #f7f7f7);
}

.ms-routing-section {
  z-index: 5;
  padding-block: clamp(96px, 10vw, 152px);
  color: var(--masa-color-on-dark, #ffffff);
  background: var(--masa-color-dark, #111111);
}

.ms-routing-section .ms-section-header {
  margin-bottom: clamp(40px, 6vw, 76px);
}

.ms-routing-section__title {
  max-width: 760px;
  margin: 0;
  color: #ffffff;
  font-family: var(--masa-font-display, "Poppins", sans-serif);
  font-size: var(--masa-font-size-section-title, clamp(38px, 3.5vw, 52px));
  font-weight: var(--masa-font-weight-heading, 600);
  line-height: var(--masa-line-heading, 0.98);
  letter-spacing: var(--masa-letter-heading, -0.035em);
}

.ms-contact-route-grid {
  row-gap: 0;
}

.ms-contact-route-grid > .col-12 {
  grid-column: span 12;
}

.ms-routing-card {
  position: relative;
  height: 100%;
  min-height: 190px;
  padding: clamp(26px, 3vw, 44px);
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.22);
  transition: background-color 240ms ease, border-color 240ms ease;
}

.ms-routing-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 52px;
  height: 3px;
  background: var(--masa-color-accent, #fbd21e);
}

.ms-routing-card:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.52);
}

.ms-routing-card h3 {
  margin: 0 0 16px;
  color: #ffffff;
  font-size: var(--masa-font-size-h3, clamp(20px, 1.5vw, 24px));
  line-height: 1.1;
}

.ms-routing-card p {
  max-width: 620px;
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 15px;
  line-height: 1.55;
}

.ms-routing-card a {
  color: var(--masa-color-accent, #fbd21e);
}

.ms-faq-link-section {
  position: relative;
  z-index: 5;
  padding-block: clamp(72px, 9vw, 128px);
  color: var(--masa-color-text, #111111);
  background: var(--masa-color-surface, #ffffff);
  border-top: 1px solid var(--masa-color-line, #cccccc);
}

.ms-faq-link-section__title {
  margin: 0 0 20px;
  color: var(--masa-color-text, #111111);
  font-family: var(--masa-font-display, "Poppins", sans-serif);
  font-size: var(--masa-font-size-section-title, clamp(38px, 3.5vw, 52px));
  font-weight: var(--masa-font-weight-heading, 600);
  line-height: var(--masa-line-heading, 0.98);
  letter-spacing: var(--masa-letter-heading, -0.035em);
}

.ms-faq-link-section .ms-text-link {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 0 20px;
  color: #ffffff;
  background: var(--masa-color-primary, #0d7c72);
  text-decoration: none;
  transition: background-color 200ms ease, color 200ms ease;
}

.ms-faq-link-section .ms-text-link:hover {
  color: var(--masa-color-text, #111111);
  background: var(--masa-color-accent, #fbd21e);
}

@media (max-width: 1100px) {
  .ms-hero-contact .ms-hero-split__copy {
    grid-column: 1 / span 6;
  }

  .ms-hero-contact .ms-hero-split__media {
    grid-column: 7 / span 6;
  }

  .ms-hero-contact .ms-contact-cards-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ms-contact-inquiry-section .ms-quote-split__copy {
    grid-column: 1 / span 6;
  }

  .ms-contact-inquiry-section .ms-quote-split__form-col {
    grid-column: 7 / span 6;
  }

  .ms-factory-visit__copy {
    grid-column: 1 / span 6;
  }

  .ms-factory-visit__media {
    grid-column: 7 / span 6;
  }
}

@media (max-width: 900px) {
  .ms-hero-contact .ms-hero-split__copy,
  .ms-hero-contact .ms-hero-split__media,
  .ms-contact-inquiry-section .ms-quote-split__copy,
  .ms-contact-inquiry-section .ms-quote-split__form-col,
  .ms-factory-visit__copy,
  .ms-factory-visit__media {
    grid-column: 1 / -1;
  }

  .ms-hero-contact .ms-hero-split__copy {
    padding-top: 48px;
  }

  .ms-hero-contact .ms-hero-split__media {
    padding-top: 0;
  }

  .ms-contact-inquiry-section .ms-quote-split__copy,
  .ms-factory-visit__copy {
    margin-bottom: 36px;
  }

  .ms-factory-visit__media .ms-factory-img-2 {
    width: 66%;
    margin-top: -72px;
  }
}

@media (max-width: 760px) {
  .ms-hero-contact .ms-hero-split__grid,
  .ms-contact-inquiry-section .ms-quote-split__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .ms-hero-contact .ms-hero-split__title {
    font-size: clamp(46px, 13vw, 68px);
  }

  .ms-hero-contact .ms-contact-cards-row {
    grid-template-columns: 1fr;
  }

  .ms-contact-inquiry-section .ms-quote-split__form-card {
    padding: 24px 20px;
  }

  .ms-factory-visit__copy .ms-ordered-list {
    grid-template-columns: 1fr;
  }

  .ms-factory-visit__media .ms-factory-img-2 {
    width: 78%;
    margin-top: -48px;
    border-width: 10px;
  }

  .ms-contact-route-grid > .col-12 {
    grid-column: 1 / -1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ms-hero-contact .ms-contact-card,
  .ms-routing-card,
  .ms-faq-link-section .ms-text-link {
    transition: none;
  }
}

/* Contact refinements: solid hero, restrained type, and section-wide grid rails. */
.ms-contact-grid-lines {
  --ms-contact-grid-line: rgba(17, 17, 17, 0.15);
  position: relative;
}

.ms-contact-grid-lines::before {
  content: "";
  position: absolute;
  top: -100vmax;
  right: var(--gutter, 32px);
  bottom: -100vmax;
  left: var(--gutter, 32px);
  z-index: 0;
  border-right: 1px solid var(--ms-contact-grid-line);
  border-left: 1px solid var(--ms-contact-grid-line);
  pointer-events: none;
}

.ms-contact-grid-lines > * {
  position: relative;
  z-index: 1;
}

.ms-hero-contact {
  background: var(--masa-color-primary, #0d7c72) !important;
  background-image: none !important;
}

.ms-hero-contact::after {
  display: none !important;
}

.ms-hero-contact .ms-contact-grid-lines {
  --ms-contact-grid-line: rgba(255, 255, 255, 0.18);
}

.ms-hero-contact .ms-hero-split__grid::before {
  display: none;
}

.ms-hero-contact .ms-hero-split__title {
  font-size: clamp(42px, 4vw, 68px);
}

/* Contact hero: remove the frame and drop shadow from the right-side image. */
.ms-hero-contact .ms-hero-split__media-card {
  border: 0;
  box-shadow: none;
}

.ms-contact-inquiry-section {
  background: #1b1b1b !important;
  background-image: none !important;
}

.ms-contact-inquiry-section .ms-contact-grid-lines {
  --ms-contact-grid-line: rgba(255, 255, 255, 0.16);
}

.ms-contact-inquiry-section .ms-inquiry-img {
  display: none;
}

.ms-factory-visit-section .ms-contact-grid-lines {
  --ms-contact-grid-line: rgba(17, 17, 17, 0.15);
}

.ms-factory-visit__media .ms-factory-img-1 {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
}

.ms-factory-visit__media .ms-factory-img-2 {
  display: none;
}

.ms-routing-section .ms-contact-grid-lines {
  --ms-contact-grid-line: rgba(255, 255, 255, 0.18);
}

.ms-routing-section .ms-contact-route-grid {
  --ms-contact-grid-line: rgba(255, 255, 255, 0.18);
}

.ms-routing-section .ms-image-card--contact {
  display: flex;
  min-height: 190px;
  flex-direction: column;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.ms-routing-section .ms-image-card--contact .ms-image-card__body {
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: center;
  padding: clamp(26px, 3vw, 44px);
}

.ms-routing-section .ms-image-card--contact h3 {
  margin: 0 0 16px;
  color: #ffffff;
  font-size: var(--masa-font-size-h3, clamp(20px, 1.5vw, 24px));
}

.ms-routing-section .ms-image-card--contact p {
  max-width: 620px;
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 15px;
  line-height: 1.55;
}

.ms-routing-section .ms-image-card--contact a {
  color: var(--masa-color-accent, #fbd21e);
}

.ms-routing-section .ms-image-card--contact::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 52px;
  height: 3px;
  background: var(--masa-color-accent, #fbd21e);
}

.ms-routing-section .ms-image-card--contact:hover {
  border-color: rgba(255, 255, 255, 0.52);
  background: rgba(255, 255, 255, 0.08);
}

.ms-faq-link-section .ms-contact-grid-lines {
  --ms-contact-grid-line: rgba(17, 17, 17, 0.15);
}

@media (max-width: 1100px) {
  .ms-hero-contact .ms-hero-split__title {
    font-size: clamp(42px, 5vw, 60px);
  }
}

@media (max-width: 760px) {
  .ms-hero-contact .ms-hero-split__title {
    font-size: clamp(40px, 11vw, 58px);
  }

  .ms-contact-grid-lines::before {
    right: var(--gutter, 20px);
    left: var(--gutter, 20px);
  }
}

/* Contact routes: reuse the continuous process-card treatment from the automated-line page. */
.ms-routing-section .ms-routing-section__title {
  width: fit-content;
  max-width: 100%;
}

.ms-routing-section .ms-contact-route-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: 0;
  margin-top: 40px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.ms-routing-section .ms-contact-route-grid > .col-12 {
  grid-column: auto !important;
  min-width: 0;
}

.ms-routing-section .ms-image-card--contact {
  min-height: 310px;
  padding: 0;
  border: 0;
  border-right: 1px solid rgba(204, 204, 204, 0.9);
  border-radius: 0;
  background: #e8e8e8;
  box-shadow: none;
  color: #111111;
  transition: background-color 240ms ease, color 240ms ease;
}

.ms-routing-section .ms-contact-route-grid > .col-12:last-child .ms-image-card--contact {
  border-right: 0;
}

.ms-routing-section .ms-image-card--contact .ms-image-card__body {
  justify-content: flex-start;
  padding: 60px 40px;
}

.ms-routing-section .ms-image-card--contact h3 {
  margin: 24px 0 18px;
  color: #111111;
  font-size: clamp(20px, 1.5vw, 24px);
  line-height: 1.1;
}

.ms-routing-section .ms-image-card--contact p {
  color: #111111;
  font-size: 14px;
  line-height: 1.5;
}

.ms-routing-section .ms-image-card--contact a {
  color: #111111;
  text-decoration-color: rgba(17, 17, 17, 0.45);
}

.ms-routing-section .ms-image-card--contact::before {
  display: none;
}

.ms-routing-section .ms-contact-route-grid > .col-12:first-child .ms-image-card--contact {
  background: var(--masa-color-primary, #0d7c72);
  color: #ffffff;
  border-right-color: #0d6c5e;
}

.ms-routing-section .ms-contact-route-grid > .col-12:first-child .ms-image-card--contact h3,
.ms-routing-section .ms-contact-route-grid > .col-12:first-child .ms-image-card--contact p,
.ms-routing-section .ms-contact-route-grid > .col-12:first-child .ms-image-card--contact a {
  color: #ffffff;
}

.ms-routing-section .ms-image-card--contact:hover {
  transform: none;
  border-color: rgba(204, 204, 204, 0.9);
  background: #e8e8e8;
}

.ms-routing-section .ms-contact-route-grid > .col-12:first-child .ms-image-card--contact:hover {
  border-right-color: #0d6c5e;
  background: var(--masa-color-primary, #0d7c72);
}

@media (max-width: 1100px) {
  .ms-routing-section .ms-contact-route-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ms-routing-section .ms-contact-route-grid > .col-12:nth-child(2n) .ms-image-card--contact {
    border-right: 0;
  }

  .ms-routing-section .ms-contact-route-grid > .col-12:nth-child(n + 3) .ms-image-card--contact {
    border-top: 1px solid rgba(204, 204, 204, 0.9);
  }
}

@media (max-width: 760px) {
  .ms-routing-section .ms-contact-route-grid {
    grid-template-columns: 1fr;
  }

  .ms-routing-section .ms-image-card--contact,
  .ms-routing-section .ms-contact-route-grid > .col-12:nth-child(2n) .ms-image-card--contact {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid rgba(204, 204, 204, 0.9);
  }

  .ms-routing-section .ms-contact-route-grid > .col-12:nth-child(n + 3) .ms-image-card--contact {
    border-top: 0;
  }

  .ms-routing-section .ms-contact-route-grid > .col-12:last-child .ms-image-card--contact {
    border-bottom: 0;
  }

  .ms-routing-section .ms-image-card--contact .ms-image-card__body {
    padding: 32px 24px;
  }
}

/* Wood & Bamboo S06: use the same project-path accordion as the multi-material page. */
.page-wood-bamboo-sanding-applications .section-validation-project-path {
  padding-block: 0;
  padding-bottom: clamp(56px, 7vw, 112px);
  border-top: 1px solid var(--masa-color-line, #CCCCCC);
  background: #ffffff;
}

.page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__layout {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  align-items: stretch;
}

.page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__copy {
  display: flex;
  min-width: 0;
  grid-column: 2;
  grid-row: 1;
  flex-direction: column;
  padding-top: var(--partner-block-space, clamp(40px, 10vw, 130px));
}

.page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-section-head {
  margin-bottom: clamp(48px, 6vw, 78px);
  padding-left: calc(100% / 12);
}

.page-wood-bamboo-sanding-applications .section-validation-project-path .section-title {
  width: 100%;
  max-width: none;
  margin: 0;
  padding-right: clamp(20px, 2.4vw, 36px);
}

.page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__accordion {
  margin-top: auto;
  padding-left: 0;
  border-top: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__item {
  margin: 0;
  border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__item-heading.ms-solution-step-title {
  margin: 0;
}

.page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__item-heading.ms-solution-step-title button {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  width: 100%;
  gap: 20px;
  align-items: center;
  padding: 24px clamp(20px, 2.4vw, 36px) 24px calc(100% / 12);
  border: 0;
  color: #111111;
  background: transparent;
  cursor: pointer;
  font: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  text-align: left;
}

.page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__item-heading.ms-solution-step-title button:focus-visible {
  outline: 2px solid #0d7c72;
  outline-offset: 4px;
}

.page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__number,
.page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__item.is-open .ms-solution-project-path__number {
  width: auto;
  height: auto;
  min-width: 48px;
  border-radius: 0;
  color: #0d7c72;
  background: transparent;
  font-size: 40px;
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 0.95;
}

.page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__item-heading.ms-solution-step-title button > span:last-child {
  color: inherit;
  transition: color 0.38s ease;
}

.page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__item.is-open .ms-solution-project-path__item-heading.ms-solution-step-title button > span:last-child {
  color: #0d7c72;
}

.page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__body {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-height: 0;
  padding: 0 clamp(20px, 2.4vw, 36px) 0 calc(68px + 100% / 12);
  opacity: 0;
  overflow: hidden;
  transform: translateY(-8px);
  transition: max-height 0.58s cubic-bezier(0.2, 0.7, 0.2, 1), padding 0.45s ease, opacity 0.3s ease, transform 0.45s ease;
}

.page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__item.is-open .ms-solution-project-path__body {
  max-height: 420px;
  padding-bottom: 24px;
  opacity: 1;
  transform: translateY(0);
}

.page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__body-inner {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  overflow: hidden;
}

.page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__body p {
  max-width: none;
  margin: 0;
  color: #525252;
  font-size: 15px;
  line-height: 1.65;
}

.page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__media {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  position: relative;
  align-self: stretch;
  margin: 0;
  overflow: hidden;
  background: #f4f6f7;
}

.page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate3d(0, 0, 0);
  transition: opacity 0.25s ease, transform 0.12s linear;
}

@media (max-width: 900px) {
  .page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__copy {
    display: block;
    grid-column: 1;
    grid-row: 2;
    padding-top: 0;
  }

  .page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__media {
    grid-column: 1;
    grid-row: 1;
    aspect-ratio: 3 / 2;
  }

  .page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-section-head {
    margin-bottom: 42px;
    padding-left: 0;
  }

  .page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__accordion {
    margin-top: 0;
  }

  .page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__item-heading.ms-solution-step-title button {
    padding-left: 0;
  }

  .page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__body {
    padding-left: 68px;
  }
}

@media (max-width: 680px) {
  .page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__item-heading.ms-solution-step-title button {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 16px;
  }

  .page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__body,
  .page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__item.is-open .ms-solution-project-path__body {
    padding-left: 64px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-wood-bamboo-sanding-applications .section-validation-project-path .ms-solution-project-path__media img {
    transition: none;
  }
}

/* Metal Profile S06: mirror the Wood & Bamboo validation accordion treatment. */
.page-metal-profile-finishing .section-validation-project-path {
  padding-block: 0;
  padding-bottom: clamp(56px, 7vw, 112px);
  border-top: 1px solid var(--masa-color-line, #CCCCCC);
  background: #ffffff;
}

.page-metal-profile-finishing .section-validation-project-path .ms-solution-project-path__layout {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  align-items: stretch;
}

.page-metal-profile-finishing .section-validation-project-path .ms-solution-project-path__copy {
  display: flex;
  min-width: 0;
  grid-column: 2;
  grid-row: 1;
  flex-direction: column;
  padding-top: var(--partner-block-space, clamp(40px, 10vw, 130px));
}

.page-metal-profile-finishing .section-validation-project-path .ms-solution-section-head {
  margin-bottom: clamp(48px, 6vw, 78px);
  padding-left: calc(100% / 12);
}

.page-metal-profile-finishing .section-validation-project-path .section-title {
  width: 100%;
  max-width: none;
  margin: 0;
  padding-right: clamp(20px, 2.4vw, 36px);
}

.page-metal-profile-finishing .section-validation-project-path .ms-solution-project-path__accordion {
  margin-top: auto;
  border-top: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.page-metal-profile-finishing .section-validation-project-path .ms-solution-project-path__item {
  margin: 0;
  border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.page-metal-profile-finishing .section-validation-project-path .ms-solution-project-path__item-heading.ms-solution-step-title {
  margin: 0;
}

.page-metal-profile-finishing .section-validation-project-path .ms-solution-project-path__item-heading.ms-solution-step-title button {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  width: 100%;
  gap: 20px;
  align-items: center;
  padding: 24px clamp(20px, 2.4vw, 36px) 24px calc(100% / 12);
  border: 0;
  color: #111111;
  background: transparent;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.page-metal-profile-finishing .section-validation-project-path .ms-solution-project-path__item-heading.ms-solution-step-title button:focus-visible {
  outline: 2px solid #0d7c72;
  outline-offset: 4px;
}

.page-metal-profile-finishing .section-validation-project-path .ms-solution-project-path__number,
.page-metal-profile-finishing .section-validation-project-path .ms-solution-project-path__item.is-open .ms-solution-project-path__number {
  width: auto;
  height: auto;
  min-width: 48px;
  border-radius: 0;
  color: #0d7c72;
  background: transparent;
  font-size: 40px;
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 0.95;
}

.page-metal-profile-finishing .section-validation-project-path .ms-solution-project-path__item-heading button > span:last-child {
  transition: color 0.38s ease;
}

.page-metal-profile-finishing .section-validation-project-path .ms-solution-project-path__item.is-open .ms-solution-project-path__item-heading button > span:last-child {
  color: #0d7c72;
}

.page-metal-profile-finishing .section-validation-project-path .ms-solution-project-path__body {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-height: 0;
  padding: 0 clamp(20px, 2.4vw, 36px) 0 calc(68px + 100% / 12);
  opacity: 0;
  overflow: hidden;
  transform: translateY(-8px);
  transition: max-height 0.58s cubic-bezier(0.2, 0.7, 0.2, 1), padding 0.45s ease, opacity 0.3s ease, transform 0.45s ease;
}

.page-metal-profile-finishing .section-validation-project-path .ms-solution-project-path__item.is-open .ms-solution-project-path__body {
  max-height: 420px;
  padding-bottom: 24px;
  opacity: 1;
  transform: translateY(0);
}

.page-metal-profile-finishing .section-validation-project-path .ms-solution-project-path__body p {
  max-width: none;
  margin: 0;
  color: #525252;
  font-size: 15px;
  line-height: 1.65;
}

.page-metal-profile-finishing .section-validation-project-path .ms-solution-project-path__media {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  position: relative;
  align-self: start;
  margin: 0;
  overflow: hidden;
  background: #f4f6f7;
  aspect-ratio: 3 / 2;
}

.page-metal-profile-finishing .section-validation-project-path .ms-solution-project-path__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.25s ease, transform 0.12s linear;
}

@media (min-width: 901px) {
  .page-metal-profile-finishing .section-validation-project-path .ms-solution-project-path__media {
    align-self: stretch;
    min-height: 100%;
    height: auto;
    width: 100%;
    aspect-ratio: auto;
  }

  .page-metal-profile-finishing .section-validation-project-path .ms-project-path-parallax {
    min-height: 100%;
  }
}

@media (max-width: 900px) {
  .page-metal-profile-finishing .section-validation-project-path .ms-solution-project-path__layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .page-metal-profile-finishing .section-validation-project-path .ms-solution-project-path__copy {
    display: block;
    grid-column: 1;
    grid-row: 2;
    padding-top: 0;
  }

  .page-metal-profile-finishing .section-validation-project-path .ms-solution-project-path__media {
    grid-column: 1;
    grid-row: 1;
    aspect-ratio: 3 / 2;
  }

  .page-metal-profile-finishing .section-validation-project-path .ms-solution-section-head {
    margin-bottom: 42px;
    padding-left: 0;
  }

  .page-metal-profile-finishing .section-validation-project-path .ms-solution-project-path__accordion {
    margin-top: 0;
  }

  .page-metal-profile-finishing .section-validation-project-path .ms-solution-project-path__item-heading.ms-solution-step-title button {
    padding-left: 0;
  }

  .page-metal-profile-finishing .section-validation-project-path .ms-solution-project-path__body {
    padding-left: 68px;
  }
}

@media (max-width: 680px) {
  .page-metal-profile-finishing .section-validation-project-path .ms-solution-project-path__item-heading.ms-solution-step-title button {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 16px;
  }

  .page-metal-profile-finishing .section-validation-project-path .ms-solution-project-path__body,
  .page-metal-profile-finishing .section-validation-project-path .ms-solution-project-path__item.is-open .ms-solution-project-path__body {
    padding-left: 64px;
  }
}

/* Keep the section's outer grid rules visible above the validation image. */
:is(.page-wood-bamboo-sanding-applications, .page-metal-profile-finishing) .section-validation-project-path > .container.grid-24::before {
  z-index: 3;
}

:is(.page-wood-bamboo-sanding-applications, .page-metal-profile-finishing) .section-validation-project-path .ms-solution-project-path__media {
  z-index: 0;
}

/* Metal Profile S04: match the Wood & Bamboo capability grid and let the heading fill its column. */
.page-metal-profile-finishing .section-capabilities .ms-solution-section-head {
  grid-column: 1 / -1;
  margin-bottom: 40px;
}

.page-metal-profile-finishing .section-capabilities .section-title {
  width: 100%;
  max-width: none;
  color: #ffffff;
}

.page-metal-profile-finishing .section-capabilities > .container.grid-24 {
  --grid-line: rgba(255, 255, 255, 0.15);
}

.page-metal-profile-finishing .section-capabilities > .container.grid-24::before {
  z-index: 3;
}

.page-metal-profile-finishing .section-capabilities .cards-grid {
  grid-column: 1 / -1 !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border-top: 1px solid var(--grid-line);
  border-bottom: 1px solid var(--grid-line);
}

.page-metal-profile-finishing .section-capabilities .ms-premium-card {
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-height: 360px;
  padding: 40px;
  border: 0;
  background: transparent !important;
}

.page-metal-profile-finishing .section-capabilities .ms-premium-card__icon-wrapper {
  display: block;
  width: auto;
  height: auto;
  border: 0;
  background: transparent;
}

.page-metal-profile-finishing .section-capabilities .ms-premium-card__icon {
  color: var(--masa-color-accent) !important;
  font-size: 24px;
}

.page-metal-profile-finishing .section-capabilities .ms-premium-card:not(:last-child) {
  border-right: 1px solid var(--grid-line);
}

.page-metal-profile-finishing .section-capabilities .ms-premium-card__body {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: column;
}

.page-metal-profile-finishing .section-capabilities .ms-premium-card__body h3 {
  font-size: clamp(18px, 1.15vw, 20px) !important;
  font-weight: 600;
  line-height: 1.12;
}

.page-metal-profile-finishing .section-capabilities .ms-premium-card__body .ms-list-supporting-copy {
  margin: 0;
  color: rgba(255, 255, 255, 0.62) !important;
}

.page-metal-profile-finishing .section-capabilities .ms-premium-card__body .ms-card-link {
  margin-top: auto !important;
  color: #ffffff !important;
}

/* Keep all four capability cards aligned to a consistent 40px top inset. */
:is(.page-wood-bamboo-sanding-applications, .page-metal-profile-finishing) .section-capabilities .ms-premium-card {
  padding-top: 40px !important;
}

@media (max-width: 900px) {
  .page-metal-profile-finishing .section-capabilities .ms-solution-section-head {
    grid-column: 1 / -1;
  }

  .page-metal-profile-finishing .section-capabilities .cards-grid {
    grid-template-columns: 1fr !important;
  }

  .page-metal-profile-finishing .section-capabilities .ms-premium-card {
    min-height: 0;
    padding: 40px 0 32px;
  }

  .page-metal-profile-finishing .section-capabilities .ms-premium-card:not(:last-child) {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  }
}

/* Wood & Bamboo S04: tighten the capability-card hierarchy and CTA rhythm. */
.page-wood-bamboo-sanding-applications .section-capabilities .ms-premium-card {
  padding-top: 40px !important;
}

.page-wood-bamboo-sanding-applications .section-capabilities .ms-premium-card__body h3 {
  font-size: clamp(18px, 1.15vw, 20px) !important;
}

.page-wood-bamboo-sanding-applications .section-capabilities .ms-premium-card__body .ms-list-supporting-copy {
  margin: 0;
  color: rgba(255, 255, 255, 0.62) !important;
  opacity: 1;
}

.page-wood-bamboo-sanding-applications .section-capabilities .ms-premium-card__body .ms-card-link {
  margin-top: auto !important;
}

/* Wood & Bamboo S06: reuse the Multi-Material validation panel's split, bordered treatment. */
.page-wood-bamboo-sanding-applications .section-validation-editorial {
  background: #ffffff;
  padding-block: 0;
  padding-bottom: clamp(56px, 7vw, 112px);
  border-top: 0;
  border-bottom: 0;
}

.page-wood-bamboo-sanding-applications .section-validation-editorial .ms-editorial-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
}

.page-wood-bamboo-sanding-applications .section-validation-editorial .ms-editorial-grid__content {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  min-width: 0;
  flex-direction: column;
  border: 0;
  padding: var(--partner-block-space, clamp(40px, 10vw, 130px)) 0 0;
}

.page-wood-bamboo-sanding-applications .section-validation-editorial .ms-editorial-grid__media {
  grid-column: 1;
  grid-row: 1;
  align-self: stretch;
  height: auto;
  min-height: 0;
  aspect-ratio: auto;
  border: 0;
  padding: 0;
  background-attachment: scroll;
}

.page-wood-bamboo-sanding-applications .section-validation-editorial .ms-editorial-grid__title {
  margin: 0 0 clamp(48px, 6vw, 78px);
  padding: 0 clamp(20px, 2.4vw, 36px) 0 calc(100% / 12);
}

.page-wood-bamboo-sanding-applications .section-validation-editorial .ms-editorial-grid__title h2 {
  width: 100%;
  max-width: none;
  margin: 0;
  color: #111111;
}

.page-wood-bamboo-sanding-applications .section-validation-editorial .ms-editorial-step {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  column-gap: 20px;
  margin: 0;
  padding: 24px clamp(20px, 2.4vw, 36px) 24px calc(100% / 12);
  border-top: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  border-bottom: 0;
}

.page-wood-bamboo-sanding-applications .section-validation-editorial .ms-editorial-step:last-child {
  border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.page-wood-bamboo-sanding-applications .section-validation-editorial .ms-editorial-step-number {
  display: block;
  grid-column: 1;
  grid-row: 1 / span 2;
  width: auto;
  height: auto;
  min-width: 48px;
  align-self: start;
  color: #0d7c72;
  background: transparent;
  font-size: 40px;
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 0.95;
}

.page-wood-bamboo-sanding-applications .section-validation-editorial .ms-editorial-step h3 {
  grid-column: 2;
  margin: 0 0 8px;
  color: #111111;
  font-size: clamp(18px, 1.25vw, 20px);
  line-height: 1.25;
}

.page-wood-bamboo-sanding-applications .section-validation-editorial .ms-editorial-step p {
  grid-column: 2;
  margin: 0;
  color: #525252;
  font-size: 15px;
  line-height: 1.65;
}

@media (max-width: 900px) {
  .page-wood-bamboo-sanding-applications .section-capabilities .ms-premium-card {
    padding-top: 40px !important;
  }

  .page-wood-bamboo-sanding-applications .section-validation-editorial .ms-editorial-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .page-wood-bamboo-sanding-applications .section-validation-editorial .ms-editorial-grid__content {
    grid-column: 1;
    grid-row: 2;
    display: block;
    padding-top: 0;
  }

  .page-wood-bamboo-sanding-applications .section-validation-editorial .ms-editorial-grid__media {
    grid-column: 1;
    grid-row: 1;
    min-height: 0;
    aspect-ratio: 3 / 2;
    background-attachment: scroll;
  }

  .page-wood-bamboo-sanding-applications .section-validation-editorial .ms-editorial-grid__title {
    margin-bottom: 42px;
    padding: 0;
  }

  .page-wood-bamboo-sanding-applications .section-validation-editorial .ms-editorial-step {
    grid-template-columns: 48px minmax(0, 1fr);
    column-gap: 20px;
    padding-left: 0;
  }
}

@media (max-width: 680px) {
  .page-wood-bamboo-sanding-applications .section-validation-editorial .ms-editorial-step {
    grid-template-columns: 32px minmax(0, 1fr);
    column-gap: 16px;
  }

  .page-wood-bamboo-sanding-applications .section-validation-editorial .ms-editorial-step-number {
    min-width: 48px;
    font-size: 40px;
  }
}

/* S03 interaction cleanup: keep capability cards static and center both CTAs. */
.page-manufacturing .section-engineering .ms-card:hover,
.page-manufacturing .section-engineering .ms-card:focus-within {
  transform: none !important;
  border-top-color: transparent !important;
  box-shadow: none !important;
}

.page-manufacturing .section-engineering .ms-section-actions {
  justify-content: center !important;
}

/* S03 interaction cleanup: keep capability cards static and center both CTAs. */
.page-manufacturing .section-engineering .ms-card:hover,
.page-manufacturing .section-engineering .ms-card:focus-within {
  transform: none !important;
  border-top-color: transparent !important;
  box-shadow: none !important;
}

.page-manufacturing .section-engineering .ms-section-actions {
  justify-content: center !important;
}

/* Center the Manufacturing hero copy within the full background banner. */
.page-manufacturing .section-hero.ms-hero-split {
  display: flex;
  align-items: center;
}

.page-manufacturing .section-hero.ms-hero-split > .ms-hero-split__grid {
  width: 100%;
}

/* Match S03 capability cards to the S02 manufacturing card treatment. */
.page-manufacturing .section-engineering .ms-card-grid--3 {
  gap: 1.5rem !important;
}

.page-manufacturing .section-engineering .ms-card {
  display: block;
  min-width: 0;
  min-height: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  transition: none;
}

.page-manufacturing .section-engineering .ms-card__media {
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
}

.page-manufacturing .section-engineering .ms-card__body {
  display: block;
  padding: 20px 0 0;
}

.page-manufacturing .section-engineering .ms-card__body h3 {
  margin: 0 0 10px;
  font-size: clamp(20px, 1.5vw, 24px);
  line-height: 1.1;
}

.page-manufacturing .section-engineering .ms-card__body p {
  width: 100%;
  max-width: none;
  margin: 0;
}

/* Manufacturing S05 dark treatment. */
.page-manufacturing #outgoing-testing.ms-solution-project-path {
  background: #1b1b1b;
  color: #ffffff;
}

.page-manufacturing #outgoing-testing .section-title,
.page-manufacturing #outgoing-testing .section-intro,
.page-manufacturing #outgoing-testing .ms-solution-project-path__item-heading button > span:last-child {
  color: #ffffff;
}

.page-manufacturing #outgoing-testing .section-intro {
  color: rgba(255, 255, 255, 0.72);
}

.page-manufacturing #outgoing-testing .ms-solution-project-path__accordion,
.page-manufacturing #outgoing-testing .ms-solution-project-path__item {
  border-color: rgba(255, 255, 255, 0.2);
}

.page-manufacturing #outgoing-testing .ms-solution-project-path__number {
  color: #a9e2dc;
  background: #2a3434;
}

.page-manufacturing #outgoing-testing .ms-solution-project-path__item.is-open .ms-solution-project-path__number {
  color: #ffffff;
  background: #0d7c72;
}

.page-manufacturing #outgoing-testing .ms-solution-project-path__item.is-open .ms-solution-project-path__item-heading button > span:last-child {
  color: #a9e2dc;
}

.page-manufacturing #outgoing-testing .ms-solution-project-path__body p {
  color: rgba(255, 255, 255, 0.72);
}

/* Use light grid rails on the dark S05 background. */
.page-manufacturing #outgoing-testing > .container.grid-24 {
  --grid-line: rgba(255, 255, 255, 0.2);
}

/* S05 numbering: use oversized editorial numerals without a background tile. */
.page-manufacturing #outgoing-testing .ms-solution-project-path__item-heading button {
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 20px;
}

.page-manufacturing #outgoing-testing .ms-solution-project-path__number,
.page-manufacturing #outgoing-testing .ms-solution-project-path__item.is-open .ms-solution-project-path__number {
  width: auto;
  height: auto;
  min-width: 48px;
  background: transparent;
  font-size: 40px;
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 0.95;
}

/* Automated line project path: keep the reference page's numbering treatment
   consistent with Manufacturing's enlarged editorial numerals. */
.page-automated-sanding-lines .ms-solution-project-path__item-heading button {
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 20px;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: clamp(20px, 2.4vw, 36px);
}

.page-automated-sanding-lines .ms-solution-project-path__number,
.page-automated-sanding-lines .ms-solution-project-path__item.is-open .ms-solution-project-path__number {
  width: auto;
  height: auto;
  min-width: 48px;
  border-radius: 0;
  background: transparent;
  font-size: 40px;
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 0.95;
}

.page-automated-sanding-lines .ms-solution-project-path__body,
.page-automated-sanding-lines .ms-solution-project-path__item.is-open .ms-solution-project-path__body {
  padding-right: clamp(20px, 2.4vw, 36px);
}

.page-multi-material-sanding-finishing .section-validation-project-path {
  padding-block: 0;
  padding-bottom: clamp(56px, 7vw, 112px);
}

.page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__item-heading.ms-solution-step-title button {
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 20px;
  padding-top: 24px;
  padding-bottom: 24px;
  padding-right: clamp(20px, 2.4vw, 36px);
}

.page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__number,
.page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__item.is-open .ms-solution-project-path__number {
  width: auto;
  height: auto;
  min-width: 48px;
  border-radius: 0;
  background: transparent;
  font-size: 40px;
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 0.95;
}

.page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__body,
.page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__item.is-open .ms-solution-project-path__body {
  padding-left: calc(68px + 100% / 12);
  padding-right: clamp(20px, 2.4vw, 36px);
}

@media (min-width: 901px) {
  .page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__copy {
    grid-column: 2;
    grid-row: 1;
  }

  .page-multi-material-sanding-finishing .section-validation-project-path .ms-solution-project-path__media {
    grid-column: 1;
    grid-row: 1;
  }
}

/* Manufacturing S05: match the numbered project-path treatment used on the
   automated sanding lines page while preserving the testing copy. */
.page-manufacturing .ms-solution-project-path {
  padding-block: 0;
  padding-bottom: clamp(56px, 7vw, 112px);
  background: #ffffff;
}

.page-manufacturing .ms-solution-project-path__layout {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  align-items: stretch;
}

.page-manufacturing .ms-solution-project-path__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.page-manufacturing .ms-solution-project-path__copy .ms-solution-section-head {
  margin-bottom: clamp(40px, 5vw, 68px);
  padding: var(--partner-block-space, clamp(40px, 7vw, 96px)) calc(100% / 12) 0;
}

.page-manufacturing .ms-solution-project-path__copy .section-title {
  width: 100%;
  max-width: none;
  margin: 0;
}

.page-manufacturing .ms-solution-project-path__copy .section-intro {
  max-width: 42ch;
  margin-top: 18px;
}

.page-manufacturing .ms-solution-project-path__accordion {
  margin-top: auto;
  padding-left: 0;
  border-top: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.page-manufacturing .ms-solution-project-path__item {
  margin: 0;
  border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.page-manufacturing .ms-solution-project-path__item-heading {
  margin: 0;
}

.page-manufacturing .ms-solution-project-path__item-heading button {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  width: 100%;
  gap: 24px;
  align-items: center;
  padding: 16px 0 16px calc(100% / 12);
  border: 0;
  color: #111111;
  background: transparent;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.page-manufacturing .ms-solution-project-path__item-heading button:focus-visible {
  outline: 2px solid #0D7C72;
  outline-offset: 4px;
}

.page-manufacturing .ms-solution-project-path__number {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  color: #0D7C72;
  background: #F1F5F9;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1;
}

.page-manufacturing .ms-solution-project-path__item.is-open .ms-solution-project-path__number {
  color: #0D7C72;
  background: #E5F3F1;
}

.page-manufacturing .ms-solution-project-path__item-heading button > span:last-child {
  color: #111111;
  font-size: clamp(16px, 1.2vw, 19px);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.3;
  transition: color 0.38s ease;
}

.page-manufacturing .ms-solution-project-path__item.is-open .ms-solution-project-path__item-heading button > span:last-child {
  color: #0D7C72;
}

.page-manufacturing .ms-solution-project-path__body {
  display: block;
  max-height: 0;
  padding: 0 0 0 calc(60px + 100% / 12);
  opacity: 0;
  overflow: hidden;
  transform: translateY(-8px);
  transition: max-height 0.58s cubic-bezier(0.2, 0.7, 0.2, 1), padding 0.45s ease, opacity 0.3s ease, transform 0.45s ease;
  will-change: max-height, opacity, transform;
}

.page-manufacturing .ms-solution-project-path__item.is-open .ms-solution-project-path__body {
  max-height: 420px;
  padding-top: 8px;
  padding-bottom: 26px;
  opacity: 1;
  transform: translateY(0);
}

.page-manufacturing .ms-solution-project-path__body-inner {
  min-height: 0;
  overflow: hidden;
}

.page-manufacturing .ms-solution-project-path__body p {
  max-width: none;
  margin: 0;
  color: #525252;
  font-size: 15px;
  line-height: 1.65;
}

.page-manufacturing .ms-solution-project-path__media {
  min-width: 0;
  margin: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #F4F6F7;
}

.page-manufacturing .ms-solution-project-path__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.25s ease;
}

@media (min-width: 901px) {
  .page-manufacturing .ms-solution-project-path__media {
    align-self: stretch;
    height: auto;
    aspect-ratio: auto;
  }
}

@media (max-width: 900px) {
  .page-manufacturing .ms-solution-project-path__layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .page-manufacturing .ms-solution-project-path__copy {
    display: block;
  }

  .page-manufacturing .ms-solution-project-path__copy .ms-solution-section-head {
    margin-bottom: 42px;
    padding: 0;
  }

  .page-manufacturing .ms-solution-project-path__accordion {
    margin-top: 0;
  }

  .page-manufacturing .ms-solution-project-path__media {
    order: -1;
    height: auto;
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 680px) {
  .page-manufacturing .ms-solution-project-path__item-heading button {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 16px;
    padding-left: 0;
  }

  .page-manufacturing .ms-solution-project-path__number {
    width: 32px;
    height: 32px;
  }

  .page-manufacturing .ms-solution-project-path__body,
  .page-manufacturing .ms-solution-project-path__item.is-open .ms-solution-project-path__body {
    padding-left: 48px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-manufacturing .ms-solution-project-path__body,
  .page-manufacturing .ms-solution-project-path__item-heading button > span:last-child,
  .page-manufacturing .ms-solution-project-path__media img {
    transition: none;
  }
}

/* Restore the S06 desktop split layout: media on the left, editorial content on the right. */
:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial {
  padding-top: 4rem;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid__media--fixed {
  position: relative;
  top: auto;
  overflow: hidden;
  height: auto;
  min-height: 0;
  aspect-ratio: 3 / 2;
  padding: 4px;
  border: 0;
  background-color: #e8e8e8;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
}

.page-wood-bamboo-sanding-applications .section-validation-editorial .ms-editorial-grid__media--fixed {
  background-image: url('https://masasanding.com/wp-content/uploads/2026/09/sealer-primer-sanding-solutions-1.webp');
}

.page-metal-profile-finishing .section-validation-editorial .ms-editorial-grid__media--fixed {
  background-image: url('https://masasanding.com/wp-content/uploads/2026/09/Need-a-Complete-Automated-Sanding-Line.webp');
}

@media (max-width: 900px) {
  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid__media--fixed {
    background-attachment: scroll;
  }
}

/* About Us hero: use the generated factory scene as a full banner background. */
.page-about-us .section-hero.ms-hero-background {
  position: relative;
  isolation: isolate;
  background-color: #F4F6F7;
  background-image: url('https://masasanding.com/wp-content/uploads/2026/09/masa-machinery-factory-exterior-concept-render.webp');
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.page-about-us .section-hero.ms-hero-background::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.9) 30%, rgba(255, 255, 255, 0.48) 58%, rgba(255, 255, 255, 0.08) 100%);
}

/* Match the solution-page banner treatment: sticky hero covered by the next section. */
.page-about-us .ms-solution-hero--about-us {
  background-image: linear-gradient(90deg, rgba(7, 31, 32, 0.78), rgba(7, 31, 32, 0.52) 46%, rgba(7, 31, 32, 0.16) 100%), url('https://masasanding.com/wp-content/uploads/2026/09/masa-machinery-factory-exterior-concept-render.webp');
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.page-about-us .ms-solution-hero--about-us .ms-hero-split__title,
.page-about-us .ms-solution-hero--about-us .ms-solution-hero__body,
.page-about-us .ms-solution-hero--about-us .ms-hero-data-strip {
  color: #ffffff !important;
}

.page-about-us .ms-solution-hero--about-us .ms-hero-data-strip__divider {
  background-color: rgba(255, 255, 255, 0.3);
}

.page-about-us .section-hero.ms-hero-background .ms-hero-split__grid {
  z-index: 1;
}

.page-about-us .section-hero.ms-hero-background .ms-hero-split__title,
.page-about-us .section-hero.ms-hero-background .ms-hero-split__desc {
  color: #071f20 !important;
}

.page-about-us .section-hero.ms-hero-background .ms-hero-data-strip {
  color: #0d7c72;
}

@media (max-width: 900px) {
  .page-about-us .section-hero.ms-hero-background {
    background-position: 68% center;
  }

  .page-about-us .section-hero.ms-hero-background::after {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.82) 72%, rgba(255, 255, 255, 0.4) 100%);
  }

  .page-about-us .ms-solution-hero--about-us {
    background-position: 68% center;
  }
}

/* S03: keep the heading-to-card spacing and use the supporting-copy type scale. */
.page-about-us .section-expertise .ms-solution-section-head {
  margin-bottom: 40px;
}

.page-about-us .section-expertise .ms-image-card__body {
  padding-top: clamp(24px, 3vw, 40px);
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
}

.page-about-us .section-expertise .ms-image-card__body p {
  color: rgba(255, 255, 255, 0.56) !important;
  font-size: var(--masa-font-size-supporting-copy, 16px);
  font-weight: var(--masa-font-weight-supporting-copy, 400);
  line-height: var(--masa-line-supporting-copy, 1.45);
}

.page-about-us .section-expertise .ms-solution-section-head .section-title {
  max-width: 1200px;
}

.page-about-us .section-expertise .ms-solution-section-head .section-intro {
  max-width: 1000px;
}

.page-about-us .section-expertise .cards-grid.product-grid {
  gap: var(--gap) !important;
  margin-top: 0 !important;
}

/* S03: use the dark-section grid token for the side rules and card borders. */
.page-about-us .section-expertise > .container.grid-24 {
  --grid-line: rgba(255, 255, 255, 0.15);
}

.page-about-us .section-expertise .cards-grid.product-grid {
  --masa-color-line: rgba(255, 255, 255, 0.15);
}

.page-about-us .section-expertise .ms-image-card {
  border: 0;
}

.page-about-us .section-expertise .ms-image-card__media {
  border-bottom: 0;
}

/* S04: smaller, lighter patent card labels. */
.page-about-us .section-patents .ms-solution-section-head {
  margin-bottom: 40px;
}

.page-about-us .section-patents .ms-solution-section-head .section-title {
  max-width: 1200px;
}

.page-about-us .section-patents .ms-solution-section-head .section-intro {
  max-width: 1000px;
}

.page-about-us .section-patents .ms-patent-carousel-wrapper {
  margin-top: 0;
}

.page-about-us .section-patents .ms-patent-card h3 {
  font-size: clamp(14px, 1vw, 16px) !important;
  font-weight: 400;
  line-height: 1.3;
}

/* S05: remove the divider beside the left copy column. */
@media (min-width: 1024px) {
.page-about-us .ms-factory-panel__info {
    border-right: 0;
  }
}

/* S05: remove all content-panel divider lines on About Us. */
.page-about-us .section-validation-editorial,
.page-about-us .ms-factory-panel-wrapper,
.page-about-us .ms-factory-panel__visuals,
.page-about-us .ms-factory-panel__image,
.page-about-us .ms-factory-panel__logo-cell {
  border: 0;
}

/* Restore the customer-logo grid dividers while keeping the S05 content-panel rules removed. */
.page-about-us .ms-factory-panel__logo-cell {
  border-right: 1px solid var(--grid-line, rgba(17, 17, 17, 0.15));
  border-bottom: 1px solid var(--grid-line, rgba(17, 17, 17, 0.15));
}

@media (max-width: 767px) {
  .page-about-us .ms-factory-panel__logo-cell:nth-child(2n) {
    border-right: 0;
  }

  .page-about-us .ms-factory-panel__logo-cell:nth-last-child(-n + 2) {
    border-bottom: 0;
  }
}

@media (min-width: 768px) {
  .page-about-us .ms-factory-panel__logo-cell:nth-child(3n) {
    border-right: 0;
  }

  .page-about-us .ms-factory-panel__logo-cell:nth-last-child(-n + 3) {
    border-bottom: 0;
  }
}

@media (min-width: 1024px) {
  .page-about-us .ms-factory-panel-wrapper {
    border-left: 0;
    border-right: 0;
  }
}

/* S06: restore contrast for the dark partner section heading and description. */
.page-about-us .section-partner .ms-premium-split__header .section-title,
.page-about-us .section-partner .ms-premium-split__header .section-intro {
  color: #ffffff !important;
}

/* S06: use the dark-theme grid line for the split edges and feature list. */
.page-about-us .section-partner,
.page-about-us .section-partner > .container.grid-24,
.page-about-us .section-partner .ms-premium-split {
  --grid-line: rgba(255, 255, 255, 0.15);
  --masa-color-line: rgba(255, 255, 255, 0.15);
}

.page-about-us .section-partner .ms-partner-feature {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  column-gap: 12px;
  align-items: start;
}

.page-about-us .section-partner .ms-partner-feature__icon {
  grid-column: 1;
  grid-row: 1 / span 2;
  margin-top: 3px;
  color: var(--masa-color-accent, #fbd21e);
  font-size: 16px;
  line-height: 1;
}

.page-about-us .section-partner .ms-partner-feature h3,
.page-about-us .section-partner .ms-partner-feature p {
  grid-column: 2;
}

.page-about-us .section-partner .ms-partner-feature p {
  font-family: var(--masa-font-body, "Poppins", sans-serif);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.01em;
  color: rgba(255, 255, 255, 0.62);
}

.page-about-us .section-partner .ms-partner-features {
  gap: 0;
}

.page-about-us .section-partner .ms-partner-feature {
  padding-bottom: 2rem;
  padding-right: clamp(24px, 3vw, 48px);
}

.page-about-us .section-partner .ms-partner-feature + .ms-partner-feature {
  padding-top: 2rem;
  border-top: 1px solid var(--grid-line, rgba(255, 255, 255, 0.15));
}

.page-about-us .section-partner .ms-partner-feature:last-child {
  padding-bottom: 0;
}

/* About Us S06: keep the top rule on the right copy side only. */
@media (min-width: 901px) {
  .page-about-us .section-partner .ms-premium-split {
    border-top: 0;
  }

  .page-about-us .section-partner .ms-premium-split__header {
    border-top: 1px solid var(--grid-line, rgba(255, 255, 255, 0.15));
  }
}

/* About Us S02: remove the top inset and divider treatment from the story copy. */
.page-about-us .section-story .ms-story-panel__content {
  padding-top: 0 !important;
  border: 0 !important;
}

/* About Us S02: keep the top rule on the image side only; the copy side starts clean. */
.page-about-us .section-story .ms-story-panel-wrapper {
  border-top: 0 !important;
}

.page-about-us .section-story .ms-story-panel__media {
  border-top: 1px solid var(--grid-line, rgba(0, 0, 0, 0.1));
}

/* About Us S02: increase the reading size and highlight emphasized facts in brand color. */
.page-about-us .section-story .ms-story-panel__content .section-intro {
  font-size: clamp(18px, 1.35vw, 22px);
}

.page-about-us .section-story .ms-story-panel__content .ms-editorial-step p {
  font-size: clamp(17px, 1.1vw, 19px);
}

.page-about-us .section-story .ms-story-panel__content strong {
  color: var(--masa-color-primary, #0D7C72);
}

/* About Us S02: remove the remaining outer rule along the story copy side. */
@media (min-width: 1024px) {
  .page-about-us .section-story .ms-story-panel-wrapper {
    border-right: 0 !important;
  }
}

/* The section container also draws a full-height right rail; hide it for S02. */
.page-about-us .section-story > .container.grid-24::before {
  border-right: 0 !important;
}

/* About Us S05: complete the customer-logo grid and keep the supplied marks in color. */
.page-about-us .ms-factory-panel__logos {
  border-top: 1px solid var(--grid-line, rgba(17, 17, 17, 0.15));
  border-left: 1px solid var(--grid-line, rgba(17, 17, 17, 0.15));
}

.page-about-us .ms-factory-panel__logo-cell,
.page-about-us .ms-factory-panel__logo-cell:nth-child(2n),
.page-about-us .ms-factory-panel__logo-cell:nth-child(3n),
.page-about-us .ms-factory-panel__logo-cell:nth-last-child(-n + 2),
.page-about-us .ms-factory-panel__logo-cell:nth-last-child(-n + 3) {
  border-right: 1px solid var(--grid-line, rgba(17, 17, 17, 0.15)) !important;
  border-bottom: 1px solid var(--grid-line, rgba(17, 17, 17, 0.15)) !important;
}

.page-about-us .ms-factory-panel__logo-cell:hover {
  background-color: transparent;
}

.page-about-us .ms-factory-panel__logo-cell img {
  opacity: 1;
  filter: none;
  transition: none;
}

.page-about-us .ms-factory-panel__info .ms-quote-checklist li i {
  color: var(--masa-color-primary, #0d7c72);
}

@media (min-width: 901px) {
  /* S06: swap the desktop media/copy order and use an even 50/50 split. */
  .page-about-us .section-partner .ms-premium-split {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-about-us .section-partner .ms-premium-split__content {
    grid-column: 1;
    grid-row: 1;
  }

  .page-about-us .section-partner .ms-premium-split__header {
    grid-column: 2;
    grid-row: 1;
    padding-right: 0;
    padding-left: clamp(32px, 4vw, 64px);
    border-right: 0;
    border-left: 0;
  }

  .page-about-us .section-partner .ms-premium-split__content img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

/* About Us: use the MASA theme color for every page CTA button. */
.page-about-us .pill-button,
body:has(.page-about-us) .site-nav .pill-button,
body:has(.page-about-us) .mobile-cta .pill-button {
  color: #ffffff;
  border-color: var(--masa-color-primary, #0d7c72);
  background: var(--masa-color-primary, #0d7c72);
}

.page-about-us .ms-solution-hero__actions .pill-button.is-outline-dark,
.page-about-us .ms-solution-actions .pill-button.is-outline-dark {
  color: #ffffff !important;
  border-color: var(--masa-color-primary, #0d7c72) !important;
  background: var(--masa-color-primary, #0d7c72) !important;
}

.page-about-us .pill-button:hover,
.page-about-us .pill-button:focus-visible,
body:has(.page-about-us) .site-nav .pill-button:hover,
body:has(.page-about-us) .site-nav .pill-button:focus-visible,
body:has(.page-about-us) .mobile-cta .pill-button:hover,
body:has(.page-about-us) .mobile-cta .pill-button:focus-visible {
  color: #ffffff;
  border-color: var(--masa-color-primary-hover, #075b53);
  background: var(--masa-color-primary-hover, #075b53);
}

.page-about-us .ms-solution-hero__actions .pill-button.is-outline-dark:hover,
.page-about-us .ms-solution-hero__actions .pill-button.is-outline-dark:focus-visible,
.page-about-us .ms-solution-actions .pill-button.is-outline-dark:hover,
.page-about-us .ms-solution-actions .pill-button.is-outline-dark:focus-visible {
  color: #ffffff !important;
  border-color: var(--masa-color-primary-hover, #075b53) !important;
  background: var(--masa-color-primary-hover, #075b53) !important;
}

.page-about-us #quote .quote-form button[type="submit"],
.page-about-us #quote .quote-form input[type="submit"] {
  color: #ffffff !important;
  border-color: var(--masa-color-primary, #0d7c72) !important;
  background: var(--masa-color-primary, #0d7c72) !important;
}

.page-about-us #quote .quote-form button[type="submit"]:hover,
.page-about-us #quote .quote-form button[type="submit"]:focus-visible,
.page-about-us #quote .quote-form input[type="submit"]:hover,
.page-about-us #quote .quote-form input[type="submit"]:focus-visible {
  border-color: var(--masa-color-primary-hover, #075b53) !important;
  background: var(--masa-color-primary-hover, #075b53) !important;
}

/* Two-button groups: first is primary, second is the outlined secondary action. */
.page-about-us .ms-solution-hero__actions .pill-button:nth-child(2) {
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.65) !important;
  background: transparent !important;
}

.page-about-us .ms-solution-hero__actions .pill-button:nth-child(2):hover,
.page-about-us .ms-solution-hero__actions .pill-button:nth-child(2):focus-visible {
  color: #ffffff !important;
  border-color: var(--masa-color-primary, #0d7c72) !important;
  background: var(--masa-color-primary, #0d7c72) !important;
}

.page-about-us .ms-hero-split__actions .pill-button:nth-child(2) {
  color: var(--masa-color-primary, #0d7c72) !important;
  border: 1px solid var(--masa-color-primary, #0d7c72) !important;
  background: transparent !important;
}

.page-about-us .ms-hero-split__actions .pill-button:nth-child(2):hover,
.page-about-us .ms-hero-split__actions .pill-button:nth-child(2):focus-visible {
  color: #ffffff !important;
  border-color: var(--masa-color-primary-hover, #075b53) !important;
  background: var(--masa-color-primary-hover, #075b53) !important;
}

/* About Us buttons use text-only labels without decorative arrow or phone icons. */
.page-about-us .pill-button > i,
body:has(.page-about-us) .site-nav .pill-button .button-icon,
body:has(.page-about-us) .mobile-cta .pill-button .button-icon,
body:has(.page-about-us) .ms-modal .pill-button .button-icon {
  display: none !important;
}

.page-about-us .ms-solution-hero__actions .pill-button,
.page-about-us .ms-hero-split__actions .pill-button {
  padding-left: 22px;
}

/* Manufacturing page: keep content visible and stabilize the shared card layout. */
.page-manufacturing .reveal {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}

.page-manufacturing .ms-card__media {
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
}

.page-manufacturing .ms-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-manufacturing .ms-card__body {
  padding: 20px 0 0;
}

.page-manufacturing .ms-card__body h3 {
  margin: 0 0 10px;
}

.page-manufacturing .ms-card__body p {
  margin: 0;
}

/* The component-logo assets are landscape files; preserve their intrinsic ratio. */
.page-manufacturing .ms-logo-wall__grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--gap);
  justify-items: center;
}

.page-manufacturing .ms-logo-wall__grid img {
  display: block;
  width: auto !important;
  height: 35px !important;
  max-width: min(180px, 100%) !important;
  max-height: 35px !important;
  object-fit: contain;
}

.page-manufacturing .section-brands .ms-section-head .section-title,
.page-manufacturing .section-brands .ms-section-head .section-intro {
  margin-inline: auto;
}

/* Two-button hero: keep the second action outlined on the dark background. */
.page-manufacturing .ms-hero-split__actions .pill-button:nth-child(2) {
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.72);
  background: transparent;
}

.page-manufacturing .ms-hero-split__actions .pill-button:nth-child(2):hover,
.page-manufacturing .ms-hero-split__actions .pill-button:nth-child(2):focus-visible {
  color: #071f20;
  border-color: #fbd21e;
  background: #fbd21e;
}

@media (max-width: 900px) {
  .page-manufacturing .ms-logo-wall__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Manufacturing page refinements: background hero, section hierarchy, and brand carousel. */
.page-manufacturing .ms-hero-split__media {
  min-height: clamp(360px, 34vw, 560px);
  background-image: linear-gradient(90deg, rgba(7, 31, 32, 0.08), rgba(7, 31, 32, 0.02)), url("https://masasanding.com/wp-content/uploads/2026/08/masa-factory-interior.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* Manufacturing hero: use the factory image as a full banner background. */
.page-manufacturing .section-hero.ms-hero-split {
  min-height: clamp(520px, 42vw, 700px);
  background-image: linear-gradient(90deg, rgba(7, 31, 32, 0.94) 0%, rgba(7, 31, 32, 0.76) 52%, rgba(7, 31, 32, 0.42) 100%), url("https://masasanding.com/wp-content/uploads/2026/08/masa-factory-interior.webp") !important;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.page-manufacturing .section-hero.ms-hero-split .ms-hero-split__media {
  display: none;
}

.page-manufacturing .section-capabilities {
  border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.page-manufacturing .section-capabilities .ms-section-head .section-intro {
  max-width: 760px;
  margin-top: 18px;
  font-size: clamp(16px, 1.8vw, 18px);
  font-weight: 500;
  line-height: 1.3;
  color: var(--masa-color-text-muted, #525252);
}

/* Keep S02 content on the same inset 22-column reading width as the other
   editorial sections; the full-width data strip remains unchanged. */
@media (min-width: 901px) {
  .page-manufacturing .section-capabilities .ms-section-head,
  .page-manufacturing .section-capabilities .ms-card-grid--3 {
    grid-column: 2 / span 22 !important;
  }
}

.page-manufacturing .section-capabilities .ms-card__body p {
  max-width: 42ch;
  font-family: var(--masa-font-body, "Poppins", sans-serif);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.01em;
  color: var(--masa-color-text-muted, #525252);
}

.page-manufacturing .section-capabilities {
  padding-bottom: 0;
}

.page-manufacturing .section-capabilities .ms-card__body {
  width: 100%;
  min-width: 0;
}

.page-manufacturing .section-capabilities .ms-card__body p {
  width: 100%;
  max-width: none;
}

.page-manufacturing .section-intro {
  font-size: clamp(16px, 1.8vw, 18px);
  font-weight: 500;
  line-height: 1.3;
}

.page-manufacturing .manufacturing-factory-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 60px;
  margin-bottom: 0;
  border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
}

.page-manufacturing .manufacturing-factory-stats .factory-stat {
  background: var(--masa-color-primary, #0D7C72);
  border-color: rgba(255, 255, 255, 0.24);
}

.page-manufacturing .manufacturing-factory-stats .factory-stat strong,
.page-manufacturing .manufacturing-factory-stats .factory-stat span {
  color: #ffffff;
}

.page-manufacturing .section-engineering {
  background: #f3f4f4;
}

.page-manufacturing .section-brands {
  overflow: hidden;
}

.page-manufacturing .ms-logo-wall__grid {
  --manufacturing-logo-gap: clamp(32px, 4vw, 72px);
  display: flex !important;
  width: 100%;
  justify-content: flex-start;
  align-items: center;
  gap: 0;
  overflow: hidden;
}

.page-manufacturing .ms-logo-wall__track {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: var(--manufacturing-logo-gap);
  padding-right: var(--manufacturing-logo-gap);
  animation: manufacturing-logo-marquee 28s linear infinite;
}

.page-manufacturing .ms-logo-wall__track img {
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: 220px !important;
  max-height: 56px !important;
  object-fit: contain;
  flex: 0 0 auto;
}

@keyframes manufacturing-logo-marquee {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

@media (max-width: 900px) {
  .page-manufacturing .ms-hero-split__media {
    min-height: 300px;
  }

  .page-manufacturing .manufacturing-factory-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .page-manufacturing .section-hero.ms-hero-split {
    min-height: clamp(480px, 115vw, 620px);
    background-image: linear-gradient(180deg, rgba(7, 31, 32, 0.92) 0%, rgba(7, 31, 32, 0.64) 100%), url("https://masasanding.com/wp-content/uploads/2026/08/masa-factory-interior.webp") !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-manufacturing .ms-logo-wall__track {
    animation: none;
  }
}

/* FAQ page refinements: text-only hero, full-width FAQ groups, and template CTA. */
.ms-hero-split--text-only {
  min-height: clamp(320px, 28vw, 440px);
  display: flex;
  align-items: center;
}

.ms-hero-split--text-only .ms-hero-split__copy {
  grid-column: 2 / -2;
  max-width: none;
  width: 100%;
}

.ms-hero-split--text-only .ms-hero-split__title,
.ms-hero-split--text-only .ms-hero-split__desc {
  width: 100%;
  max-width: none;
}

/* Reusable text-only hero alignment used by FAQ and catalog landing pages. */
.ms-hero-split.ms-hero-split--text-only {
  padding-block: clamp(64px, 7vw, 88px);
}

.ms-hero-split.ms-hero-split--text-only > .ms-hero-split__grid {
  justify-content: center;
}

.ms-hero-split.ms-hero-split--text-only .ms-hero-split__copy {
  text-align: center;
}

.ms-hero-split.ms-hero-split--text-only .ms-breadcrumb-list {
  justify-content: center;
}

.ms-hero-split.ms-hero-split--text-only .ms-hero-split__actions {
  justify-content: center;
}

.page-faq #faq-hero {
  padding-block: clamp(64px, 7vw, 88px);
}

.page-faq #faq-hero .ms-hero-split--text-only {
  grid-column: 1 / -1;
  justify-content: center;
}

.page-faq #faq-hero .ms-hero-split__copy {
  text-align: center;
}

.page-faq #faq-hero .ms-breadcrumb-list {
  justify-content: center;
}

.page-faq #faq-hero .ms-hero-split__grid::before {
  border-left-color: var(--masa-color-line, #CCCCCC);
  border-right-color: var(--masa-color-line, #CCCCCC);
}

@media (min-width: 901px) {
  .page-faq #faq-hero .ms-hero-split__copy {
    width: 50%;
    max-width: 50%;
    margin-inline: auto;
  }

  .page-faq #faq-hero .ms-hero-split__title {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
  }

  .page-faq #faq-hero .ms-hero-split__desc {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
  }
}

.ms-faq-section--full > .container.grid-24 {
  --grid-line: var(--masa-color-line, rgba(0, 0, 0, 0.12));
  align-items: stretch;
  column-gap: 0;
}

.ms-faq-section--full > .container.grid-24 > .ms-faq-wrap {
  grid-column: 1 / -1;
}

#inquiry-form.quote-section {
  color: var(--masa-color-on-dark, #ffffff);
  background: linear-gradient(90deg, rgba(8, 25, 23, 0.85) 0%, rgba(8, 25, 23, 0.7) 100%), url("https://masa.wxkntest.com/wp-content/uploads/2026/08/Tell-Us-What-You-Need-to-Sand.webp") bottom left / cover no-repeat;
}

#inquiry-form.quote-section .quote-copy,
#inquiry-form.quote-section .quote-form {
  min-width: 0;
}

#inquiry-form.quote-section .quote-copy h2 {
  max-width: none;
}

#inquiry-form.quote-section .quote-form {
  border-radius: 0;
}

/* Case studies page: tighter hero copy, explicit section rails, minimal case cards, and template CTA. */
.page-case-studies #case-studies-hero {
  --case-studies-hero-header-offset: 56px;
  --case-studies-hero-space: clamp(20px, 2.4vw, 32px);
  box-sizing: border-box;
  min-height: clamp(320px, 28vw, 440px);
  padding-top: calc(var(--case-studies-hero-header-offset) + var(--case-studies-hero-space));
  padding-bottom: var(--case-studies-hero-space);
  align-items: center;
}

.page-case-studies #case-studies-hero .ms-hero-split__grid {
  --grid-line: #CCCCCC;
  min-height: 0;
  width: 100%;
}

.page-case-studies #case-studies-hero .ms-hero-split__copy > .ms-breadcrumbs {
  margin-bottom: clamp(20px, 2.6vw, 32px);
}

.page-case-studies #case-studies-hero .ms-hero-split__desc,
.page-case-studies #case-studies-hero .ms-hero-split__desc:last-of-type {
  margin-bottom: 0;
}

.page-case-studies .ms-catalog-section > .container.grid-24 {
  --grid-line: #CCCCCC;
  align-items: start;
  row-gap: 0;
}

/* Keep the first content section's grid rails inside its own section. */
.page-wood-bamboo-sanding-applications .ms-solution-hero + .section-risks,
.page-metal-profile-finishing .ms-solution-hero + .section-risks,
.page-manufacturing .section-hero + .section-capabilities,
.page-case-studies #case-studies-hero + .ms-catalog-section {
  isolation: isolate;
  overflow: clip;
}

.page-wood-bamboo-sanding-applications .ms-solution-hero + .section-risks > .container.grid-24::before,
.page-metal-profile-finishing .ms-solution-hero + .section-risks > .container.grid-24::before,
.page-manufacturing .section-hero + .section-capabilities > .container.grid-24::before {
  top: calc(-1 * clamp(88px, 9vw, 140px));
  bottom: calc(-1 * clamp(88px, 9vw, 140px));
}

/* Keep the following applications grid from bleeding its rails upward into the hero. */
.page-wood-bamboo-sanding-applications .ms-solution-hero + .section-risks + .section-applications,
.page-metal-profile-finishing .ms-solution-hero + .section-risks + .section-applications {
  isolation: isolate;
  overflow: clip;
}

/* Products hero: match FAQ's dark translucent rail treatment. */
#products-hero .ms-hero-split__grid::before {
  border-left-color: rgba(0, 0, 0, 0.12);
  border-right-color: rgba(0, 0, 0, 0.12);
}

/* Align Browse by Application rails with the catalog section edges, across its top padding. */
.page-case-studies #case-studies-hero + .ms-catalog-section > .container.grid-24::before {
  top: calc(-1 * var(--masa-space-section, clamp(88px, 9vw, 140px)));
  bottom: calc(-1 * var(--masa-space-section, clamp(88px, 9vw, 140px)));
}

/* Align the Manufacturing capabilities rails with the section edges, across its top padding. */
.page-manufacturing .section-hero + .section-capabilities > .container.grid-24::before {
  top: calc(-1 * var(--masa-space-section, clamp(88px, 9vw, 140px)));
  bottom: calc(-1 * var(--masa-space-section, clamp(88px, 9vw, 140px)));
}

.page-case-studies #inquiry-form > .container.grid-24 {
  --grid-line: rgba(255, 255, 255, 0.15);
}

.page-case-studies #inquiry-form .quote-copy h2 {
  font-family: var(--masa-font-display, "Poppins", sans-serif);
  font-size: var(--masa-font-size-h2, clamp(32px, 3vw, 46px));
  font-weight: var(--masa-font-weight-heading, 600);
  line-height: var(--masa-line-h2, 1.1);
  letter-spacing: var(--masa-letter-h2, -.04em);
}

.page-case-studies .ms-catalog-layout {
  grid-column: 2 / span 22;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: clamp(24px, 3vw, 40px);
}

.page-case-studies .ms-filter-sidebar {
  top: 96px;
}

.page-case-studies .ms-product-grid {
  counter-reset: case-study-card;
  grid-template-columns: 1fr;
  gap: 0;
  border-top: 1px solid var(--masa-color-line, #CCCCCC);
  border-bottom: 1px solid var(--masa-color-line, #CCCCCC);
  background: #FFFFFF;
}

.page-case-studies .ms-case-study-card {
  counter-increment: case-study-card;
  display: grid;
  grid-template-columns: minmax(300px, 0.85fr) minmax(0, 1.15fr);
  min-height: 0;
  border: 0;
  border-bottom: 1px solid var(--masa-color-line, #CCCCCC);
  background: #FFFFFF;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

.page-case-studies .ms-case-study-card:hover {
  transform: none;
  background: #FAFAFA;
  box-shadow: none;
}

.page-case-studies .ms-case-study-card:last-child {
  border-bottom: 0;
}

.page-case-studies .ms-case-study-card:nth-child(even) .ms-product-card__media {
  order: 2;
  border-right: 0;
  border-left: 1px solid var(--masa-color-line, #CCCCCC);
}

.page-case-studies .ms-case-study-card .ms-product-card__media {
  min-height: clamp(260px, 28vw, 360px);
  aspect-ratio: 5 / 4;
  border-right: 1px solid var(--masa-color-line, #CCCCCC);
  border-bottom: 0;
  background: #F5F5F5;
}

.page-case-studies .ms-case-study-card .ms-product-card__media img {
  object-fit: cover;
  filter: grayscale(0.08) saturate(0.9) contrast(0.96);
}

.page-case-studies .ms-case-study-card:hover .ms-product-card__media img {
  transform: scale(1.015);
  filter: grayscale(0) saturate(1) contrast(1);
}

.page-case-studies .ms-case-study-card .ms-product-card__body {
  min-height: 0;
  padding: clamp(28px, 3.2vw, 52px);
  gap: 0;
}

.page-case-studies .ms-case-study-card .ms-product-card__body::before {
  content: counter(case-study-card, decimal-leading-zero);
  display: block;
  margin-bottom: 20px;
  color: rgba(7, 31, 32, 0.34);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1;
}

.page-case-studies .ms-case-study-card .ms-product-card__title {
  max-width: none;
  margin: 0 0 16px;
  font-size: clamp(24px, 2vw, 32px);
  font-weight: 600;
  letter-spacing: -0.05em;
  line-height: 0.98;
}

.page-case-studies .ms-case-study-card .ms-product-card__desc {
  max-width: none;
  margin: 0;
  font-size: 16px;
  line-height: 1.65;
  color: rgba(7, 31, 32, 0.62);
}

.page-case-studies .ms-case-study-card .ms-product-card__footer {
  justify-content: flex-start;
  margin-top: 32px;
  padding-top: 18px;
  border-top: 1px solid rgba(17, 17, 17, 0.1);
}

.page-case-studies .ms-case-study-card .pill-button {
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--masa-color-text, #071F20);
}

.page-case-studies .ms-case-study-card .pill-button:hover,
.page-case-studies .ms-case-study-card .pill-button:focus-visible {
  color: var(--masa-color-primary, #0D7C72);
  border-color: transparent;
  background: transparent;
}

.page-case-studies .ms-case-study-card .pill-button__icon {
  display: none;
}

.page-case-studies .ms-case-study-card .pill-button__text {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

@media (min-width: 901px) {
  .page-case-studies #case-studies-hero .ms-hero-split__copy {
    width: 60%;
    max-width: 60%;
    margin-inline: auto;
  }

  .page-case-studies #case-studies-hero .ms-hero-split__title,
  .page-case-studies #case-studies-hero .ms-hero-split__desc {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
  }
}

@media (max-width: 900px) {
  .ms-hero-split--text-only .ms-hero-split__copy {
    grid-column: 1 / -1;
  }

  .page-case-studies .ms-catalog-layout {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
  }

  .page-case-studies .ms-product-grid {
    grid-template-columns: 1fr;
  }

  .page-case-studies .ms-case-study-card,
  .page-case-studies .ms-case-study-card:nth-child(odd) {
    grid-template-columns: 1fr;
  }

  .page-case-studies .ms-case-study-card:nth-child(even) .ms-product-card__media {
    order: 0;
    border-left: 0;
  }

  .page-case-studies .ms-case-study-card .ms-product-card__media {
    min-height: 0;
    aspect-ratio: 4 / 3;
    border-right: 0;
    border-bottom: 1px solid var(--masa-color-line, #CCCCCC);
  }

  .page-case-studies #case-studies-hero .ms-hero-split__copy {
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 760px) {
  .page-case-studies #case-studies-hero {
    --case-studies-hero-header-offset: 132px;
  }
}

/* Blog page: reuse the case-studies page rhythm, but switch cards to a journal-style article layout. */
.page-blog #blog-hero {
  --blog-hero-header-offset: 56px;
  --blog-hero-space: clamp(20px, 2.4vw, 32px);
  box-sizing: border-box;
  min-height: clamp(320px, 28vw, 440px);
  padding-top: calc(var(--blog-hero-header-offset) + var(--blog-hero-space));
  padding-bottom: var(--blog-hero-space);
  align-items: center;
}

.page-blog #blog-hero .ms-hero-split__grid {
  --grid-line: var(--masa-color-line, #CCCCCC);
  min-height: clamp(320px, 28vw, 440px);
  width: 100%;
  justify-content: center;
}

.page-blog #blog-hero > .container.grid-24::before {
  border-left-color: var(--masa-color-line, #CCCCCC);
  border-right-color: var(--masa-color-line, #CCCCCC);
}

.page-blog #blog-hero::before,
.page-blog #blog-hero::after {
  display: none !important;
  border: 0 !important;
}

.page-blog #blog-hero + .ms-catalog-section > .container.grid-24::before {
  /* Keep the catalog grid lines aligned to the section edges, not its content padding. */
  top: calc(-1 * var(--masa-space-section, clamp(88px, 9vw, 140px)));
  bottom: calc(-1 * var(--masa-space-section, clamp(88px, 9vw, 140px)));
}

.page-blog #blog-hero .ms-hero-split__copy {
  grid-column: 2 / -2;
  width: 100%;
  max-width: none;
  margin-inline: auto;
  text-align: center;
}

.page-blog #blog-hero .ms-breadcrumb-list {
  justify-content: center;
}

.page-blog #blog-hero .ms-hero-split__title,
.page-blog #blog-hero .ms-hero-split__desc {
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
}

.page-blog #blog-hero .ms-hero-split__copy > .ms-breadcrumbs {
  margin-bottom: clamp(20px, 2.6vw, 32px);
}

.page-blog #blog-hero .ms-hero-split__desc,
.page-blog #blog-hero .ms-hero-split__desc:last-of-type {
  margin-bottom: 0;
}

.page-blog .ms-catalog-section > .container.grid-24 {
  --grid-line: #CCCCCC;
  align-items: start;
  row-gap: 0;
}

.page-blog #inquiry-form > .container.grid-24 {
  --grid-line: rgba(255, 255, 255, 0.15);
}

.page-blog #inquiry-form > .container.grid-24::before {
  border-left-color: rgba(255, 255, 255, 0.15);
  border-right-color: rgba(255, 255, 255, 0.15);
}

.page-blog #inquiry-form .quote-copy h2 {
  font-family: var(--masa-font-display, "Poppins", sans-serif);
  font-size: var(--masa-font-size-h2, clamp(32px, 3vw, 46px));
  font-weight: var(--masa-font-weight-heading, 600);
  line-height: var(--masa-line-h2, 1.1);
  letter-spacing: var(--masa-letter-h2, -.04em);
}

.page-blog .ms-catalog-layout {
  grid-column: 2 / span 22;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: clamp(24px, 3vw, 40px);
}

.page-blog .ms-filter-sidebar {
  top: 96px;
}

.page-blog .ms-product-grid {
  counter-reset: blog-card;
  grid-template-columns: 1fr;
  gap: 0;
  border-top: 1px solid var(--masa-color-line, #CCCCCC);
  border-bottom: 1px solid var(--masa-color-line, #CCCCCC);
  background: #FFFFFF;
}

.page-blog .ms-blog-card {
  counter-increment: blog-card;
  display: grid;
  grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.08fr);
  min-height: 0;
  border: 0;
  border-bottom: 1px solid var(--masa-color-line, #CCCCCC);
  background: #FFFFFF;
  cursor: pointer;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

.page-blog .ms-blog-card:focus-visible {
  outline: 2px solid var(--masa-color-primary, #0D7C72);
  outline-offset: -2px;
}

.page-blog .ms-blog-card:hover {
  transform: none;
  background: #FAFAFA;
  box-shadow: none;
}

.page-blog .ms-blog-card:last-child {
  border-bottom: 0;
}

.page-blog .ms-blog-card .ms-product-card__body {
  grid-column: 2;
  grid-row: 1;
  min-height: 0;
  padding: clamp(28px, 3.2vw, 52px);
  padding-left: clamp(40px, 4vw, 68px);
  gap: 0;
  justify-content: flex-start;
}

.page-blog .ms-blog-card .ms-product-card__body::before {
  display: none;
  content: none;
}

.page-blog .ms-blog-card .ms-article-date {
  display: inline-flex;
  align-items: center;
  margin-bottom: 16px;
  color: var(--masa-color-primary, #0D7C72);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

.page-blog .ms-blog-card .ms-product-card__title {
  max-width: none;
  margin: 0 0 16px;
  font-size: clamp(20px, 1.6vw, 26px);
  font-weight: 600;
  letter-spacing: -0.05em;
  line-height: 0.98;
}

.page-blog .ms-blog-card .ms-product-card__desc {
  max-width: none;
  margin: 0;
  font-size: 16px;
  line-height: 1.65;
  color: rgba(7, 31, 32, 0.62);
}

.page-blog .ms-blog-card .ms-product-card__footer {
  justify-content: flex-start;
  margin-top: 28px;
  padding-top: 0;
  border-top: 0;
}

.page-blog .ms-blog-card .ms-product-card__media {
  grid-column: 1;
  grid-row: 1;
  min-height: clamp(260px, 28vw, 360px);
  aspect-ratio: 3 / 2;
  border-bottom: 0;
  border-right: 1px solid var(--masa-color-line, #CCCCCC);
  border-left: 0;
  background: #F5F5F5;
}

.page-blog .ms-blog-card .ms-product-card__media img {
  object-fit: cover;
  filter: saturate(0.9) contrast(0.96);
}

.page-blog .ms-blog-card:hover .ms-product-card__media img {
  transform: scale(1.015);
  filter: saturate(1) contrast(1);
}

.page-blog .ms-blog-card .ms-product-card__link {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
}

@media (min-width: 901px) {
  .page-blog #blog-hero .ms-hero-split__copy {
    width: 60%;
    max-width: 60%;
    margin-inline: auto;
  }

  .page-blog #blog-hero .ms-hero-split__title,
  .page-blog #blog-hero .ms-hero-split__desc {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
  }
}

@media (max-width: 900px) {
  .page-blog .ms-catalog-layout {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
  }

  .page-blog .ms-product-grid {
    grid-template-columns: 1fr;
  }

  .page-blog .ms-blog-card {
    grid-template-columns: 1fr;
  }

  .page-blog .ms-blog-card .ms-product-card__media {
    order: -1;
    min-height: 0;
    aspect-ratio: 4 / 3;
    border-left: 0;
    border-bottom: 1px solid var(--masa-color-line, #CCCCCC);
  }

  .page-blog #blog-hero .ms-hero-split__copy {
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 760px) {
  .page-blog #blog-hero {
    --blog-hero-header-offset: 132px;
  }
}

/* S03 Engineering: editorial split layout with a focused capability stack. */
@media (min-width: 901px) {
  .page-manufacturing .section-engineering > .container.grid-24 {
    align-items: start;
    row-gap: 0;
  }

  .page-manufacturing .section-engineering .ms-section-head {
    grid-column: 2 / span 7 !important;
    grid-row: 1;
    align-self: start;
    margin: 0 !important;
    padding: 18px clamp(24px, 3vw, 48px) 0 0;
  }

  .page-manufacturing .section-engineering .ms-section-head .section-title {
    max-width: 11ch;
    font-size: clamp(34px, 3vw, 48px);
    line-height: 1.02;
    letter-spacing: -0.04em;
  }

  .page-manufacturing .section-engineering .ms-section-head .section-intro {
    max-width: 32ch;
    margin-top: 24px;
  }

  .page-manufacturing .section-engineering .ms-card-grid--3 {
    grid-column: 10 / span 14 !important;
    grid-row: 1;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    margin-top: 0 !important;
    border-top: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
    border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
  }

  .page-manufacturing .section-engineering .ms-card {
    display: grid;
    grid-template-columns: minmax(220px, 0.9fr) minmax(0, 1.1fr);
    min-width: 0;
    min-height: 230px;
    border: 0;
    border-bottom: 1px solid var(--masa-color-line, rgba(0, 0, 0, 0.12));
    background: #ffffff;
    transition: background-color 0.3s ease, border-color 0.3s ease;
  }

  .page-manufacturing .section-engineering .ms-card:last-child {
    border-bottom: 0;
  }

  .page-manufacturing .section-engineering .ms-card__media {
    height: 100%;
    min-height: 230px;
    aspect-ratio: auto;
  }

  .page-manufacturing .section-engineering .ms-card__body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 32px clamp(24px, 3vw, 48px);
  }

  .page-manufacturing .section-engineering .ms-card__body h3 {
    margin-bottom: 12px;
    font-size: clamp(20px, 1.5vw, 26px);
    line-height: 1.1;
  }

  .page-manufacturing .section-engineering .ms-card__body p {
    max-width: 46ch;
    margin: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: var(--masa-color-text-muted, #525252);
  }

  .page-manufacturing .section-engineering .ms-section-actions {
    grid-column: 10 / span 14 !important;
    grid-row: 2;
    justify-content: flex-start !important;
    margin-top: 32px !important;
  }
}

@media (max-width: 900px) {
  .page-manufacturing .section-engineering .ms-card-grid--3 {
    grid-template-columns: 1fr !important;
  }

  .page-manufacturing .section-engineering .ms-card {
    background: #ffffff;
  }
}

/* S03 Engineering: compact editorial header with a three-card capability row. */
@media (min-width: 901px) {
  .page-manufacturing .section-engineering > .container.grid-24 {
    align-items: start;
    row-gap: 0;
  }

  .page-manufacturing .section-engineering .ms-section-head {
    grid-column: 2 / span 22 !important;
    grid-row: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
    align-items: end;
    gap: clamp(24px, 5vw, 80px);
    margin: 0 0 36px !important;
    padding: 0;
  }

  .page-manufacturing .section-engineering .ms-section-head .section-title {
    max-width: 900px;
    font-size: clamp(34px, 3.5vw, 52px);
    line-height: 0.98;
    letter-spacing: -0.045em;
  }

  .page-manufacturing .section-engineering .ms-section-head .section-intro {
    max-width: 520px;
    margin: 0;
    justify-self: end;
  }

  .page-manufacturing .section-engineering .ms-card-grid--3 {
    grid-column: 2 / span 22 !important;
    grid-row: 2;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--gap) !important;
    margin-top: 0 !important;
    border: 0;
  }

  .page-manufacturing .section-engineering .ms-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
    border: 0;
    border-top: 2px solid rgba(13, 124, 114, 0.28);
    background: #ffffff;
    box-shadow: 0 10px 26px rgba(7, 31, 32, 0.07);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  }

  .page-manufacturing .section-engineering .ms-card:nth-child(2) {
    border-top-color: var(--masa-color-primary, #0D7C72);
  }

  .page-manufacturing .section-engineering .ms-card:hover {
    transform: none !important;
    border-top-color: transparent !important;
    box-shadow: none !important;
  }

  .page-manufacturing .section-engineering .ms-card__media {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 10;
  }

  .page-manufacturing .section-engineering .ms-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: flex-start;
    padding: 24px clamp(20px, 2.2vw, 32px) 28px;
  }

  .page-manufacturing .section-engineering .ms-card__body h3 {
    margin-bottom: 12px;
    font-size: clamp(20px, 1.5vw, 26px);
    line-height: 1.1;
  }

  .page-manufacturing .section-engineering .ms-card__body p {
    width: 100%;
    max-width: none;
    margin: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.01em;
    color: var(--masa-color-text-muted, #525252);
  }

  .page-manufacturing .section-engineering .ms-section-actions {
    grid-column: 2 / span 22 !important;
    grid-row: 3;
    justify-content: center !important;
    margin-top: 32px !important;
  }
}

@media (max-width: 900px) {
  .page-manufacturing .section-engineering .ms-section-head {
    display: block;
    margin-bottom: 32px !important;
  }

  .page-manufacturing .section-engineering .ms-section-head .section-intro {
    margin-top: 18px;
  }

  .page-manufacturing .section-engineering .ms-card-grid--3 {
    gap: 20px !important;
    margin-top: 0 !important;
  }

  .page-manufacturing .section-engineering .ms-card__body {
    padding: 20px 0 24px;
  }

  .page-manufacturing .section-engineering .ms-section-actions {
    margin-top: 28px !important;
  }
}

/* S06 image parallax: keep the media frame in flow while the image layer moves at a slower rate. */
:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-grid__media {
  position: relative;
  top: auto;
  overflow: hidden;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-grid__media img {
  position: absolute;
  inset: -10% 0;
  width: 100%;
  height: 120%;
  max-width: none;
  object-fit: cover;
  opacity: 0;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-grid__media {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
}

.page-wood-bamboo-sanding-applications .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-grid__media {
  background-image: url('https://masasanding.com/wp-content/uploads/2026/09/sealer-primer-sanding-solutions-1.webp');
}

.page-metal-profile-finishing .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-grid__media {
  background-image: url('https://masasanding.com/wp-content/uploads/2026/09/Need-a-Complete-Automated-Sanding-Line.webp');
}

@media (max-width: 900px) {
  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-grid__media {
    background-attachment: scroll;
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-grid__media img {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-grid__media {
    background-attachment: scroll;
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-grid__media img {
    opacity: 1;
  }
}

/* Keep the S06 parallax image shorter, fixed-height, and fully visible. */
:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-grid__media {
  height: clamp(260px, 28vw, 400px);
  min-height: 260px;
  max-height: 400px;
  aspect-ratio: auto;
  background-color: #e8e8e8;
  background-attachment: fixed;
  position: static;
  top: auto;
  padding: 4px;
}

:is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-grid__media img {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: transform;
}

@media (max-width: 900px) {
  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-grid__media {
    height: clamp(220px, 58vw, 320px);
    min-height: 220px;
    max-height: 320px;
  }

  :is(.page-wood-bamboo-sanding-applications, .page-solution-reference-layout) .section-validation-editorial .ms-editorial-grid--stacked .ms-editorial-grid__media img {
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}

/* Final S03 card alignment override: mirror S02's simple image-and-copy cards. */
.page-manufacturing .section-engineering .ms-card-grid--3 {
  gap: 1.5rem !important;
}

.page-manufacturing .section-engineering .ms-card {
  display: block;
  min-width: 0;
  min-height: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  transition: none;
}

.page-manufacturing .section-engineering .ms-card__media {
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 4 / 3;
  margin: 0;
  overflow: hidden;
}

.page-manufacturing .section-engineering .ms-card__body {
  display: block;
  padding: 20px 0 0;
}

.page-manufacturing .section-engineering .ms-card__body h3 {
  margin: 0 0 10px;
  font-size: clamp(20px, 1.5vw, 24px);
  line-height: 1.1;
}

.page-manufacturing .section-engineering .ms-card__body p {
  width: 100%;
  max-width: none;
  margin: 0;
}
