/* ================================================================
   AHAVA=ECHAD — Master Stylesheet (styles.css)
   Site: ahavaechad.org | Version: site-26
   Date: February 12, 2026 / 5786
   
   Purpose: Single shared CSS for all 28 root pages + 122 article pages.
   Extracted from shop.html (gold standard) + blockquote from site-19.
   site-24: social bar on all pages, mega-footer, explore-more sections.
   
   Contents:
     1. Variables & Reset
     2. Base Typography
     3. Social Bar (top-of-page icons)
     4. Header (sticky, glassmorphism)
     5. Mobile Nav Overlay
     6. Page Hero (light theme replacement)
     7. Common Utilities
     8. Grid & Card Helpers
     9. Blockquote
    10. Filters & Search (shared by shop + articles)
    11. Article Pages
    12. Explore More (parent page cross-links)
    13. Footer (4-column)
    14. Dark Mode
    15. Theme Toggle Button
    16. Responsive Breakpoints
    16. Responsive Breakpoints
   ================================================================ */

/* ========== 1. Variables & Reset ========== */
/* ═══════════════ TORAH FONT ═══════════════ */
@font-face {
    font-family: 'TorahFont';
    src: url('data:font/woff2;base64,d09GMk9UVE8AACQYAAsAAAAA/OQAACPMAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYG3IBtkBmAAixwBNgIkA4doEyQEBgWCqxYHIBsh/BPueNg4wAD9G2p2oHY7ilCh2TwqaiMnJSX4vx7IGLc9t1cFRCoEBUaRbscp4axLo5qatmzPcRdTKZexrNtyaihvQGwUUHd6E0dwaXY7Bx60KVf9Ir5YUPRYWxTFQwyN/2B0BraN/ElOXo3G2E6G/mHRrBRCppNdQgweiukPgqI59/4/ilpgHqi4IaJVS0NFTEPrSEU89jX3VgHl3gvQ5XY/FBiMKFtUQEJ2qkmY8vhqF9V2eGCASJQtE5W0gDSFT/jbmaXMBiCnuOiWYMuQfPpfp//+ljps6Tr7K+hKoqT5UL85JuD26oaNAAWMXiSB8RuWMXVPAPhmrc/Q7Faqq/oWdhDmB4ik4Al5Okjkrr+nMEm3AKNkP7tRhUtHdILzEOw3GyUToupxaIWQ+DTzbaHEtxw0ENav2ZfEknZzMTmXc1xwNjgw/BuxQcyILQ9M8W/EBudQt1+3/X+X32i5163LKKIobj+jOBjxnhKciQO1SOR4SpMtQ6tCvhgBdkeotM+Rrv9hwQYbTL5edR/ZUHmapEmQGaT8ZtfcYRJsscUGs8q/5tAqh1yQDbJb4nrp3/PA9zHWpl/OL/YTRDRbFUtni+5+8MSFSIMQEqkn/P9XtWwfAAVK60BtZKnxWZ6jyqmoNteOlasGuA8kgP/BGfADCgREWUNOpCYJ0gaRDqQEYZKGTjFrHPPp3bmoY2i7Dbly6FxtUbrq3Xbb1A4E5E13+4smQ53abpM8DKiAusDiIM6wMMOM/6vpbsfzBMOEBn2WpuOcbrCsl8DgJ+lgCsDDD5itoR5iMelG/AKh6/+x2UM8VmHxTcQCY1lnbYNsWk9lpnCFQtAIUSL6g2qi/7L2z6RUvW4uFyGEMEIIozQn3dcNRUII4ZgPp8e249uxOrdTFv+91UpLWYjS2Tf8hFRSLlPlcSLAtEs/9iZ/mDJl2kmf9OibeneNqfdfOXYEiuMPd9O9cF/dL/cfMprhIUSOCroxiHHMYhmbCEU0EpGOXHRCD5gxEMMxFpMxE/OxFKuxEduxF4dxEudxFbdxHwV4jrf4jJ/4T4WtFMYsWGMvhznJea6yFcMZy2Rmsh27sBctHMyRHM+pnM2FXM613Myd3M+jPM2LvE4rH7KIL/meX/m7QqWx0l4xGB99hW+s/68XJ0vzurkENYanfW/Z7O4hl9fMl46m6NQt4pNy2ResEkooQKwR1v5+a/Z+XIU73OaMU044YKwqueshdQ+cH/v4TQHy2UnO8BLdb5/Sc6/PkEI0XG2ldIeHcB6H8tGuwuWpnmTU+V37yRvZlyS0iZykI994hBoDxqoKmUZYkzXSeohYndVYdasSLLUMlkjo8SZllFb0RYG/RMqDNKx18zS5F6TZlSgRDKt+cZ09k5+ayqkW80KZXOrc4LCu0B6T4myedr5zvunAhtPbuUxzWzzkO/YMzQ6Ldrk3PJ469hGU6KABpTtBLqIbqydBP6AXigWoE2ZHk6VB2kvmtaxELeYh7/NdzixOjnRlrWXeN3v4WYYLL/wiL96M8oDgu9ufNuVncZKkj38irpX7jrak0gvWSVrku8Gv5omf0sQKOcyLZpBZHl7NAzceMmsvFtqMjuTxQ16cs4DAeT8g4/YsHqQ5l/jm7HpeE36yGscEmaG7JOkj2i7TfFFmIVPYeUkvdpwnIw5gsgpSJgldmMqJs8xR2/xPT7hEmW7DLIYuqnI6vMXxzawwBXp44CiLiqOtVHeRo5YHX9moA6GBz88FX3AxyULq+90T+RNRmknOXqx9kl1h8TFLs4CCWqhs0pDV5yOKC90+ZQG9WquiYItLDpO5eAFloQfrO8oHYo0po/ig7++igdmDVdFerITY/rRm/jMcpaxhWWg+zn+r8hdbD+QvXMlUbaouGb9aHlCBcz3SrIw+8koWOgE4yxw188d3+nlNp0sEzUJ2ZsWSjJcyJZRbE/G+kwKp9W5LO9kttPcBGgAc4g5e0q300Megaec9CN9aU9HdDQdixnqukYZn1sUagKAYm8Pl8QVCkTgmKSwYICjWgxFCCCGEEGHaEAwQFGNzuDy+QCgSdySllFJKOc0sBAMExdgcLo8vEIrEMUlzCwYIinVkbm5uPi0sBIPm0a/x3KqoESwhaM1Ia5zhrwXYGDtmhe7hZb2PzwkHuUO8Tf/sm2vSLUjBl9jGnepuc5+7fw78iRtxBxyHm/Ec3sBb+H5gBMASlO4wNm4ACA1ljla0GjYcNcwRKIpXHgCEBDVAAcJ4aRxCksO4y82CPgHnJge3uNJ4rEIxJfC1sZ53XTR5pKS93qIYpU6B0irjsMUTuBhNCuJRg7hpK2D1nUtJB7TGDgxINRVWRxFpMs94GoWy7CiloLQwHnXCwUQTVZeKWgQuTYbGSFRPrYka/1uVPaVAWO0mglo5F31LyTIAKIRk/El7JpMgHIphVAQdCCDJAE8o4KOwIfc8HcGJqi5SFuVarEaCbTDTO5TVKEUEDhvZBUMymFPmsDs4hNCEaSm8bHRgqlSArFKLLFK1srYIwCdKCb0WWJrGgHKDFAgZRmD+v4m5cphiyWYL3+ndyvIUgJScsm500WGmVjWKm57YZCFZtn5Lp8nBgEHczDhNvxkNBIvGrQoUyV6AYs0uYGqnd6LVJOlRNVKOWnoNZZDEbARxD55yfMbKzBbBC+0ChUNUWobSdWSVKWwi6aDLuAgyMGwas6ix+0mT86Q2zTeQ2nVhGb8R491uXnue25DwpdK1g7sjYYyp4DuLPge0WFJxKSgAxS+CLIVjUn4jFJGKrcRwZTOUHBx4iNj4jmogDosOiuLVHALr8pQ4jIB9RTpdRkXIj+dqcmdh/P2IK/fftsY1QWpHRq4XzYYoZMhaA7cw4rHuSuZm0BaVVJpYQyV0MJIkuy6RzGQSGiiTBSC7JoAwSWTzCK2fvmzY3nowomcSGPJ4G2JQA3iPWmhMKqBqUnQY4xBQ/JSinhz8xrszzx//4GNCxYEpPMKSi6kkF85ogOz5HJp4x1VK4K6+Tz3j9oc86Ncbmz7dZurS3hW9gfkZCHbse2BuxuiOOuQL+JBubJIGWFNGWUKSSCQ69aZeAntYQhGgO9x4pkIAt1ABQ9d8SSNVMjXmS6HA42beZ9hcPAKCVTHpgBSotyyEWaUM0NgcV6KAQJKaZ5TmSHbzYY2K6bgly3J3XlPIpvL0tGuRKg9zeQfduDEK0NxRvpjH2mqSFhW7XBFkpMhY/elp5pYqaquGkm7TmZjFRBMkilEvJqpbcNRwMkm65JTpzYMFXShaVBSdSwQ5ncyRaFghFJB4MLOGk/DS6frdN6AIhJZOYKiNwdDMX0w2tmKToe2lLdhGO2hPaec4QHvp4MyjOBTHSkcwhU6XTkhcKp0XXCldhMt0lW6WrklY6Rblz3wAdwUPS/dhFhX+O/6xRDFiqnEWMX2zJ0xAU9BDZ8gDC6zFb0cQSwJ9mFJ5m2CH3NsDvbm384v+NQyybwRH3QiNwbEhjUrdHJNLqdVUZzuO4FpeHHo77GRo1dq1ni2vDWsT2sy2uK1rO9qBdrK9bz9KONg5eFZgVaia1aRCKr4yqmP1qgE1qlbUvrpTsfrDMzgGeUPelLfk7YiWqr2e8gy31T4nXGJV6K1vBieDk7txpseMmjmzUZcGtaqbWbvXw1702fwTvQRipVOGZFpWZEeiJEmypLOYZZhMlDmyXDbJXjkhlyVfiuSd/FRZPc20qv06oYu6pRGaoBnaXnvqQB2j03WRrtUdeljP6U19pM/1k/71NX6zP+r/+m+DpsHq4GRQELwJjWF/eBFODueHq8OiKD0aFq2LdkRHogvRnZgY8XP8Of6fGJPeZCJ5S96nBzL/7DOz5uXy9/xA/tVi2+2TnW832IP2in1sX9vvRUiRUOS4+u4WZXDJLO6uVKjsVtXqX21f7Xu9aX1rZ63Oh853XSe6F/YYer3ek94rfdf6bw8MGLg0aB2K+YVxOP3wxu9n3Lpu3nreed5jPnA+Yj5xPmu+eY59/37n38E/bSPw79iIk1/F3vFy20EpbVizEqQhrGphdvr6jqdsQj2fVkxvQjljlNanFj7lYL5Qm1d/4TuOigk1CJFOvJNudCvfuk2do88cxznzOtV9tTbw+bYphU0lBCZNUZFZ67gZ28WPGYtSPAXFKAGBRJm11FuJng5h7WypSNgqqkBvnOxTEBZBjKFiYOZGIwGqEjjXbVh+AqDQZAJz6mnDcn5LGigk+CjqiQwCAAiAAwMA+p86rGkDzlwLPrrvSuM9w8zszFzbOb/zJSWu6441h7SVk3t0eun2ZlqmBz7yv4EvD/PlkMZ3ZOHfG2oJU9ADqEHPqxCKvV4PC3Nx47D6gJ7SIba+nVhf/c/Qpl9aXeRa9TFSpWYArBoopB+rQWrz5iOYGGkaUU+B8bJYzcqkDWO0ges2E1WeHiyYMgpOvlIMTTRCHDO+3Y7Ka7Z1FiP9iYpXhx5K1Bub9HEb4EQKyc7cDuFH4EKX0OGMigeQAMGO7zg3iEFJ5CGWngxxXtaYDHOOmVI6NRxsFBbFbwo7KdlG+3y4lZ4lv4Q2v3KUJpPSDLVaEAuzQ39TRFQtxFcEDZomAW97VJUvvBUMM8VGzvdOfuOENmwWpf5/gAXzQH9NLKQmidkH+cmrPc5BoTlKCkErFvYXoxTURtaJSR8J5tQbcdNOksbcFVlbtWG5vCUHw8qquTdUhFSKgZ/QDP4+Il2Lp+nW7i6xi3Aal0oBmEKKSQ0mJjPELBRqWyObASApKeUlwZgzxwPjYEB79YxaJTJPpRrW2DDV5G5aSbMisFAvTGGfNHEhsqvT6rDR62fbgekjpRGQimdiB89P8Fd88ZiRi5mse6qkTSGMRk4QOQK3Fb1i9wpi0fg3xJXNaUSrMMhGIIf9b2jyS3LlrXmZ6Z6cqbqZqUrpdzdClboK+JOC2slfZ+Nzji0SMIHPnQ6HYUkyNRSGvOisxyIx6XVsvBSwzzV2qHtOUQgJopm1JMZb458v978EcS0/FgVjdu98FIgrqznJS4Rcwis6UcvMQFRoDfb7HK91sQ6a2hBDr0nH/EqG4qxNMIW9MGJD23DV1proLBl/qBOy9GuoLtfmrIvAxjFAzGTAIMRCuDqUOGaDsxu9mgidDEs0U0cxLClZhKC2yYXWhu+p8vXU9eKhnpvysrOHi+dq0X/RadPlVYZaM1iz98qwFrZMhD5EitIQtEnYr1bc55Vbhw8bUVrxaskEnXmbGYZAi8Gp0uH/b18z3q3ozpi3rw+LFj9JhFBwNPMB3DW99oOaN6aB9vjFTVm7aYaSDKdi53GHTul+9GZdeDza7jW1w1SUU1y9YbVVl93tB6MAq9nY9oqnVB6x5PIwioMGu3yfzFfGSh7sEeXHvIVeIFF/f5BtwOwOJkxFlZdIxXrkeZTpHLHUOuzehvfv9NGwFgG5RqM58/yj0TurcdA8BefnTo9v/xHwmjXbvddSlvEFfJLLU7dETzCuKLwwRYLoaMv9hS6a0KqZwhBdAmQeqDsZ8s4wiLY+MuHZRIEQeN10CycceuwKQcnI2g5k4xpfCDJhLOQi+IdONr6lURxJZakCg4TwxGeu5hOPJHg3tGpJy66VEUB/FXoZ5RqDSpPC8vVAs62yNOw2lhNowNgReFmYrCJElMMMaoyyKgxUMQfU19q6dZrxYuEkH3++ZnE7feVRWWJDWE7PC+VrTurJrl/muf6aKir0jVarn25tiZc5rX6xJ/Fe9hS8sn+AllN5tXFWW37I2TxyJRyPQfHveh8/qj7YuHSl0xGpFYLSDK4lgFaEcd/WZ1ZaUqqasMd14vKQYuIPQTK4mYReeRXt1vMq7VKtiveqevKxHux+NXCdpMSrLyxI42lrrMaJxR9es6e+2xfo21plIQOx9nqLDSLuDAUzel3AbvTam9JmqCUXSfol1XurEWqkSl87DBKH5etKGYNphb5DG1peV4FvquuzaWm2oAi/ug4z2eHj68YxQSPgzhM0/zXhbbS4g30QuByevL8TEQGF0N3xfoPtg9Rf/8FOSAQXhBROi3YIGg7lRTCkYTlMu09pHF0dYqFCy+fLJS5nS21QRnBG8vf2X8taz5MEh0YD71YHpsrwwxaX1I5143SB0EuG2ccnVnztI2B+dTaRHdJuo4bJmuklG5Hyr3MIte3KWdddNGQ4u3Z77QKb7N8EmCs2rLFJM6BQeGjO1pf0b7cQlqOy1LP/g2vmOE9pJZjKFSUjkqBC9Ro7rO07oHgHZylRNow2YyEl0SNmOz2dbTNuXqRQymWwAS+S0QdOSGx25mG0evujvsbmloAxBp+c0dv2HXehWd3KQolXMNo+PK3Hs/wz5Tcs8dGnTtGdwyDO5qoS3OybbZ1dSrVhqGvNwzVjCgiAskNTdshdZWqXPpULFbmka3RXY8WRPNNqSot5y+fhzue+VNIlBTBuz7JL5k7jdsT2/nPq8nWfOe6PAF9K2rv59UJvYwciF2s4Az434TuTEUkMIv6X7qtxsloxdfpUfHp1tInHJOOppewMXC8lDIoYs2lir0TWlUAqGDmi+oMQEn+oJ4wpf1+FVJ+CThLPZ+4E0iFKbbDJ9mIu/XQYpUsYT71q678avges5yqAMKbwnynIMJAhe/3sAXfpDcKucLnYbL0+YbFDbMiV59yWX4rmhKmjSLoYDcwll0oJESoMy4QBjY3ba9jUQryNzvRUzYTvCLvMYqO0Ao6IyjvMKOw9scDGL/CsgASrpFJfTihwnDqhIw9NLmVyElZoK/L8TszRnRtUNbXKH2zy7jJZTKkXovymBMzMC6Ufo40JbeNlAEfyMcbxmWqbsR4k1ZQgARAOOOdz6f2jtYOQcTvIT9jNzzfzD+gEnYmRqzTlzHAdDbRuW1ETu0R9HiWUZMH4ERkyBtNq3R6apUXAvMR3eYHQykOivOeYje5SEL7Gbtb2D5maxB0Kpgxllb/mPow7t3SgVg0C1TCvHmLGj0z1mhfzBP42gI9f0ls8o6eGuXPXaSdP/jT0VwTeHbZaeL4Zow9si/TI9id7ATjYM0+voW2ur/1GYrWvqcM5w3L/63YJg63eaIEcHoaQuoerNtMybyxs1lxyl06BZ1wFMt9a66p1pEBvcRccN3nnCg293yYD3hOmOOXmxdmSVrxyuTjgg/ytmqa3RuqEZ2dWczGHoFCimbtC1wO6BEu6l6d79OohH9McLA8nu5xEk+RBWOHzL3o+fe62nfI0S3u2IzWWKHz9k3Tyo6u3+mqXffjto9qsIKK7BbvuXR4dXzecJO/9r7rS5zU+0nzkPn21XXBf3UJKQsc9T0enH0bEWy09rSaU4uGAORyRNSUTdZW8zRg4bDd7VTYMlVT3HZpcOFvotOl9SlPiiBIuWCCJjMrgOniCpH0r8qkdOcrwSnvV1BPqycR5K+LSCcRPLWx1qWA/7eKgWUnZkXPIsPJ3slfQ4/GiqbGm6D9jeLbSFNL+EDCca3QMpk7U3Xhvz1lveANBbfGXeC0DZiEvoYi3XeJTLMvXS3ftiJNhRBSk80M92YMirYNQ5bZ88wKMlJyREuJD1/qsOvHYd0tmC7U8fb1P6LqtClWuVRQl/WpZ3iDTyq75ERzUEwyHkNdyjqcQ1/yeOrB+2uhtGiHR9QLFhhLqMfjEFDraPLS9JJSG7ycl/SuKg+F/r9MvpwfyZ1+/ZksAR6A1pc8lTykArVBHa84EyT3yAnit6Wx9WdAACGBzTK485dEljWtMGye6cFeu7MqpjJMLFXAvvikUgOUbRHSgfOqXImfSZl7FgB1aIxuyoC52JlY/bPbhVNpkvK/x4BSCBYidfcjCRUbG5Pjr4N2sBlLq8H1h+fHigRH8QPmJS3b401tETCpf/PPveOwf4X5/rfNXbiWhs5/tlIFjY228DvcOBvN4E54HwtinVrolSrcToSI5r6fzF7QBZZ6LXYGLP9pfuS/0zTbGtdjSuYZrWOjSm7epY5kT5nKWa1UMMwf9luVwAvPvMQLblb5vJ8BcquJVmpU+HvStF6tWGMN9mIIEjmVYg2vIunDcL+KZ1v5LD39DdgmergC/jLMmorkaLkySS6ItyYeKx46GrnEYESo2hPiJ3jSRSJY4tgXH0E9MjaRXDGmwWIxKGPcqGsV0jP6Ejy+EFTYO5ySZwn0j81ei4vFu4L2FcCXUxege5f8Ag+jJIXckztzdPf6p67kOKL3WRA7KS4/JVLHjKEW9CZI4g8O1hjP5ckbi8//EWYmSY1yx7tMHDofrMBZkPfn4+Ds3OW4PxynHXUOrgYnAEoo5qVuOBuOpQYf6r8mizdcVveYAjSYsrX+Q6yvOUFj0E0Y1UkjskFBCCM37R+Zdqc3/SA77ARj2OVEtH8EmTUI2PwEKW3eG+HyBHHHZCysmUxkfYVEsd81LNcN1KFp+GO3B16765DxwNcA2UavOIZXs35P9s+D66xBp9Gbsdf8ztRn7/wCeOQd6WV9pFXPnRhinwENWaHT39r7QaiYhn2NTXUM4pVljRt1pmjWfWR0fuh5KIZRD2cbFqgvZDUGopjuWOBY0RWpJqwdYfFUFJI3uvkAfRqfhrTKovQtjacMQDa51gEHEceHd5qF35OXpF08P7icyeiMOWbe821a5FCvoZ4BYN/vxmtJhZByBU03UK4IpFWDXDr5y4RyqOy80sPHFawyD6y+qqOvL30JEovTqdniv7gg/NIDal0JFEuRbPls+mq1x/pUDp9ChrIyT6W0rRk2dtlXU9pN7+8KFY2xzgV3M92REWyiMPNg7dFOklM7uz65vbRtrI1J8lNqKXWODbF1EjY49u85BXSETJPP0z5/zYbH1i52nLsESM8A5oIGQ7+dsfvhK1luA1MAD5a2L/zLR1UTLCEGw5ZAWrthLWqHuMNLtbaJL4e8zHN5FdERXZgIFhdh/RuAG21qUcoVDosdclKZKKrSL+/bRHpElBOXhfZ6Lu8F1AwZHSmQfcT82uWHPvZoB+7CuHPz1iPnQ8axf8JkWcztCmZAIGDNCCA1BN9wHWXiKd4niNMbnOr3NmpvgjI/iQPwzk4L9rdmUbYYDVHrJrTx2WkGc70L94TCPG4xlwqZqrM0VEh9N1hgrMPwyrW4ZzPnFlQbP4EjWABB9QUvtXJEHl6Noj5azBC18I9K7a1OnMAQZeFchPsR/u0GJA3YxB2Zc3bbyCyVC1vNHiHiUnqSHjKsh1+jxdDsJIyFI+f5fXq/cm4QG5JLTyH7R88nUucZmyJFdu0EXlpp3e6cGyHK0RabKJduTXP1jIwAjAVRAdNsy90CPAqCiv90fd93rc8/nahsFCU0vgwwzZZzxxNSDk9QMgjqsLbathUDm8z9AUpbadGhQ5JfqALC1PLduXjs/gk/NU0Ev9/Ez3SouPpYmqEGuSqk+ARibcsmiCdsVIW3LUgAVAAmQAXdkBEh3oUinAVVQUXBmKMttcYZrWHnIMz7wHX9hExfW34bzHF/zyzxUd9VHDQhytdlANX6t45zjBncp4AWf8LNonO+Zwev8+Bg31Vs1/ee9bYU6rt1aqRVarmVarEVaqAWap7IKlO+v8Y///i96LrgteFhw//ELBB/c46eWfRH+WGN+Wps13uBdj+46gGdr7k/n3wb3f9oa/440BeiRjCY23WUw3EoV/vZs3jmLv6NnQT5fl9w0TZ+hPaqTObrOoeiH66/sNpDDVFwH2roaRYPFyi00ksZzIDf3wnRa2jheNrKtyslAOdi8iTmyIU6k6OwITWxxd+Pf+3EcaESS+/sEtv4EjcQ9pQz2q9PclmSy2SxNTlbdHZWzfGq+gY3VLkersCLEjTTCx0SWbYT18xl3VcXKaxavZRPNvSFOWTg3P5EC2r0g1ztEGlhi/hazxZQwobFIn5BT2VQc9xw2IaUBOelsJWhA8L7dx0PeA9e+pSUBzZ/+gof/XfnH9oRH5/KLSkR5uF/o9kGu8nBesD0T2X66Dv+gEc9eXnZPBVvaJ4gwm1WnmEAlXADq976HhejQOvwekJVV/gXzeXG9d1jcNiDP4J9+nl8wqYGqMZFLANoPhUMl9QmD5aPrwDvL8+lopPmidh5UoZebVemiReKH5naEBf9WiIkFvjHZwvQ84O5snd722Wv/v+MWzeKf+vMK6qLHfYup9qr8JbRg7Ys8PC+cHLB+YmIg2x3KhXAIBqtT4NNRFxv3CnkShKgxyPQrIrd5zeFeItWx0rMfNe3IaQQZD74k0fAbUEVqhQ+u9PvKMwW+V49LOJrGKMv4mkxlhXKmWmUNnqZsT5sdtZR1JJqml/VUMD0vG7D3nyobTbP+AWU7jtddr2xPj7q/yw6Uqtfpajdi6019NgHe9QrEs+bbdZ/KAoc2T2UJXZtnT/arc1nBI0RT1mAXMk3aR4aslXWUD6lW1uMZklE2oA25KRsdCRnQtiM7aeI8yrWT7omyW7Izolw2ORjxlot98sYgvlUM6+Dk5JlamO9Te/O+WnlgpmyeKsrm/aJsvirK5pei3K+RKPc7FuV+FlGeMVOUZ8aK8szjojzzuagvzKqD5vSkFwPoQ2c60gkzKiHEEUsN6hCOSjWqUI2qGNVZ2jcrGGLNTa6Z0Su6Kt2fW3FsQmNcI4fyzCv0tByQX9oLTdAAxUkfpCPbyJMKXL/fSKux4fCsq9288KSr4bzgOO1Vg5sS2m2dSVtX1nUFs3e+JvvO7Oj0Pz1PU6Q4Es1MRVqo5+X1G9bu42kcSmYmQgXmeb6G0M7MNqgR9eW0b9oLyz5/w0Oe4wGO04KypA+SIWlpUgokQQIS3yzB8jzul/Mq6q1KrDWCW3C2C4ukNIyrYQ3KYHa0nY0w09EpGCnnAoNW5c17d509270pUZtGiyEvng8GEg0RUlo0JV/O3Vos/3llYmAIekIlz0PjndRri/fO35gKt8VDvmO0+czBnwtxemZ5BF9yP286r+cNdfAII4HmWOXjcX7eLObhgZxS5jc8ooHtlvVeU81KZIC3yKLxx+h7CuXkbY/xiZaeiemf85Cblxuqt3ZJapioU7s8b4msIq/2szhRr8X0sQmsuvcgXmSHt3WQa6OXmN5wnxZ5aaRJDM0z3FPFs3mL4lqDn5+O9vYOmeGalJziWDK8bYm8nFDlolBOb53VzGDL9csae9vykE7a8opffmmXl1fZqAsW5y6uTYsauyU4kS+gjHMrbX8wXgw/rzHZNv2Qq06SX7/jTQ9BXtaVnf9bY7lLskwx3aJkeSFVfHnKlYcUvjZV8XOZ7fJ+CP55YVdp79Bd5LhO+HIe9hzdsMju7PKlVnkxbKfdLy+v5n4XGP7lUZqXvIcxvKRNXq742Gp52f16U8yxrfPOzFOERaIN8rKLVbvnVxBns+fA2VIc5ePoFBVTTuZ9axmZEWv+K9tFZ4Az5efDI9G87BPpZ9DJKWflZPw4nxT71FPuB/kNb0seIv5WzfBo/5HeNGLllzorr4h7Qfm1H8ahJA/WsrYa5p7HyCs35VkDZ8bB8J57BmTwTDtXCbP9RqUx7lAtz7rgXMhL3m8xi1okZOVf3RuWj0yUmN0YMzUex5FEd3kDq2xqssuV6q0d7C/4vRNLs90d1T+6VbXacj16YBc06y7fZey+q5WF90ZKenMPnWsHbWL3FU4A7KbmtbeYZZEU9zxN6A4m8s4i8W57g2Dac3GGnws/emivyZ41uJF40Pa8dvN4ZVLh2TITA8Dhckq1o9rofS36XWLn902lvlrjPw0sp4InibiCVcDyGvo5z8axw3J4Ll9/yke2v7sKr3Xs/y53YPdPl73Zxtx23vXPP68xXWX/eh7um1/8clCn9M8XfSYNRhggrEDanSMnqjN1qE0ZpZRQgFibU9eNucMfLjFFFSpRhxQZKpAhg4EhH4UAsfaEmAJpkkZWT4TUSQ1UhzwwYoYIAQIEKEWAAD5cBKhDCUqQwUYFbLioQQgfGWwUIUYEGy4KkCFDiAg+PHjIUIUihEiRIYMFFxZMuLAQw0QxfFh43E3lsIbzuKGPPNzxDDMkeBw+HpM1XIm4pbp13ZYqzUt/xeqNBeurszCClLsOpaCzSH1UqM/ywFe59Wp3XNsHnmf/6foO/2tGfF9kAcDBaYZjxH59V4Ca/q02H/+26gFhxL096b3/0F5XlQDN5gjWF+YGMyuV+k1bgAGcW6EV7fR+3/eTXLWFk2iJkVt41Z6r5q5x/D9kZQD++Et7URodZG/Q+YK+5YwKXvlnf1X183Df/DJ8v/Ci90vP6K8C') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

:root {
    --black: #0a0a0a;
    --white: #fafafa;
    --grey-100: #f5f5f5;
    --grey-200: #e5e5e5;
    --grey-400: #a3a3a3;
    --grey-500: #737373;
    --grey-600: #525252;
    --grey-800: #262626;
    --magenta: #e91e8c;
    --cyan: #00d4ff;
    --gold: #ffd700;
    --lime: #7fff00;
    /* Extended greys */
    --grey-300: #d4d4d4;
    --grey-700: #404040;
    --grey-900: #171717;
    /* Functional aliases */
    --text-primary: var(--black);
    --text-secondary: var(--grey-600);
    --text-muted: var(--grey-500);
    --bg-primary: var(--white);
    --bg-secondary: var(--grey-100);
    --border: var(--grey-200);
    /* Typography */
    --font-primary: 'Montserrat', sans-serif;
    --font-hebrew: 'TorahFont', serif;
    /* Spacing */
    --space-xs: 0.25rem;
    --space-sm: 0.5rem;
    --space-md: 1rem;
    --space-lg: 2rem;
    --space-xl: 4rem;
    --space-2xl: 8rem;
    /* Transitions */
    --transition-fast: 150ms ease;
    --transition-base: 300ms ease;
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
    font-family: 'Montserrat', sans-serif;
    background: var(--white);
    color: var(--grey-800);
    min-height: 100vh;
    text-align: center;
    -webkit-font-smoothing: antialiased;
    line-height: 1.8;
}

/* ========== 2. Base Typography ========== */
h1 {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(2rem, 5vw, 3rem);
    font-weight: 900;
    color: var(--black);
    line-height: 1.2;
    margin-bottom: 1rem;
}
h2 {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--black);
    margin: 2.5rem 0 1rem;
}
h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--black);
    margin: 1.5rem 0 0.75rem;
}
p {
    margin-bottom: 1.2rem;
    line-height: 1.8;
    color: var(--grey-600);
}
a { color: var(--magenta); transition: opacity 0.2s; }
a:hover { opacity: 0.8; }
img { max-width: 100%; height: auto; border-radius: 8px; margin: 1.5rem auto; display: block; }

.hebrew {
    font-family: 'TorahFont', serif;
    direction: rtl;
    text-align: right;
    font-size: 1.4rem;
}

/* ========== 3. Social Bar (top-of-page icons) ========== */
/* site-24: unified social bar on all root pages — scrolls away, header sticks */
.social-bar {
    background: var(--black);
    padding: var(--space-sm) 0;
}
.social-bar__inner {
    display: flex;
    justify-content: center;
    gap: var(--space-md);
    flex-wrap: wrap;
    max-width: 600px;
    margin: 0 auto;
}
.social-bar a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: var(--grey-400);
    transition: color var(--transition-fast);
}
.social-bar a:hover { color: var(--white); }
.social-bar svg { width: 20px; height: 20px; fill: currentColor; }

/* ========== 4. Header ========== */
.header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(250, 250, 250, 0.95);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid transparent;
    transition: border-color 0.3s, box-shadow 0.3s;
    height: 72px;
}
.header.scrolled {
    border-bottom-color: var(--grey-200);
    box-shadow: 0 1px 12px rgba(0,0,0,0.04);
}
.header__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.header__logo {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.5rem;
    font-weight: 900;
    color: var(--black);
    text-decoration: none;
    letter-spacing: 0.02em;
}
.header__logo span { color: var(--magenta); }
.header__nav {
    display: flex;
    gap: 2rem;
    align-items: center;
}
.header__nav a {
    color: var(--grey-500);
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    transition: color 0.2s;
}
.header__nav a:hover,
.header__nav a.active { color: var(--black); }
.header__cta {
    background: var(--lime);
    color: #1a1a1a;
    padding: 0.5rem 1.25rem;
    border-radius: 6px;
    font-size: 0.8rem;
    font-weight: 700;
    text-decoration: none;
    letter-spacing: 0.05em;
    transition: background 0.2s;
    border: 2px solid var(--lime);
}
.header__cta:hover { background: #1a1a1a; color: var(--lime); }

/* Hamburger */
.header__menu-btn {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
}
.header__menu-btn span {
    width: 24px;
    height: 2px;
    background: var(--black);
    border-radius: 2px;
    transition: all 0.3s;
}

/* ========== 5. Mobile Nav Overlay ========== */
.mobile-nav {
    display: none;
    position: fixed;
    inset: 0;
    background: var(--white);
    z-index: 999;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2rem;
}
.mobile-nav.open { display: flex; }
.mobile-nav a {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--black);
    text-decoration: none;
    transition: color 0.2s;
}
.mobile-nav a:hover { color: var(--magenta); }
.mobile-nav__close {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    background: none;
    border: none;
    font-size: 2rem;
    cursor: pointer;
    color: var(--black);
}

@media (max-width: 768px) {
    .header__nav, .header__cta { display: none; }
    .header__menu-btn { display: flex; }
}

/* ========== 6. Page Hero (light) ========== */
/* site-26: canonical hero for interior pages (about, contact, services, downloads, etc.)
   Accounts for 72px fixed header. Override h1 size with .page-hero--lg if needed. */
.page-hero {
    padding: calc(72px + var(--space-xl)) 0 var(--space-xl);
    background: var(--white);
    color: var(--black);
    text-align: center;
}
.page-hero .container {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 2rem;
}
.page-hero h1 {
    font-size: clamp(2rem, 5vw, 3rem);
    font-weight: 900;
    margin-bottom: var(--space-sm);
}
.page-hero--lg {
    padding-top: calc(72px + var(--space-2xl));
}
.page-hero--lg h1 {
    font-size: clamp(2.5rem, 6vw, 4rem);
    margin-bottom: var(--space-md);
}
.page-hero__hebrew {
    font-family: var(--font-hebrew);
    font-size: 1.5rem;
    color: var(--magenta);
    margin-bottom: var(--space-md);
}
.page-hero--lg .page-hero__hebrew {
    font-size: clamp(1.5rem, 4vw, 2.5rem);
}
.page-hero p {
    color: var(--grey-500);
    font-size: 1.1rem;
    max-width: 600px;
    margin: 0 auto;
}

/* ========== 7. Common Utilities ========== */
main {
    max-width: 1200px;
    margin: 0 auto;
    padding: 3rem 2rem 4rem;
}
.container { max-width: 800px; margin: 0 auto; padding: 0 2rem; }
.container--wide { max-width: 1200px; }
.page-subtitle {
    text-align: center;
    color: var(--grey-500);
    font-size: 0.9rem;
    margin-bottom: 2rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.center { text-align: center; }
.spacer { height: 2rem; }
.hero-img { width: 100%; max-width: 100%; border-radius: 0; margin: 0 auto 2rem; }
.hidden { display: none !important; }
.text-muted { color: var(--grey-500); }
.mt-sm { margin-top: 0.5rem; }
.mt-md { margin-top: 1rem; }
.mt-lg { margin-top: 2rem; }
.mb-sm { margin-bottom: 0.5rem; }
.mb-md { margin-bottom: 1rem; }
.mb-lg { margin-bottom: 2rem; }

/* ========== 8. Grid & Card Helpers ========== */
.grid-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; margin: 2rem 0; }
.grid-3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.5rem; margin: 2rem 0; }
.card {
    background: white;
    border: 1px solid var(--grey-200);
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.2s;
}
.card:hover { border-color: var(--magenta); box-shadow: 0 4px 16px rgba(0,0,0,0.06); }
.card img { border-radius: 0; margin: 0; width: 100%; }
.card-body { padding: 1.25rem; }
.card-title {
    font-family: 'Montserrat', sans-serif;
    color: var(--black);
    font-size: 1.05rem;
    font-weight: 700;
}


/* ========== 8b. Buy / CTA Buttons (lime green) ========== */
/* site-26: unified buy button — lime green (#7fff00) for all PayPal / purchase CTAs */
.buy-btn {
    display: inline-block;
    background: var(--lime);
    color: #1a1a1a;
    padding: 0.6rem 1.25rem;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 700;
    text-decoration: none;
    text-align: center;
    transition: all 0.2s;
    font-family: 'Montserrat', sans-serif;
    border: 2px solid var(--lime);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.buy-btn:hover {
    background: #1a1a1a;
    color: var(--lime);
}
.buy-btn.sold-out {
    background: var(--grey-200);
    color: var(--grey-500);
    border-color: var(--grey-200);
    cursor: not-allowed;
    pointer-events: none;
}
body.dark .buy-btn {
    background: var(--lime);
    color: #1a1a1a;
    border-color: var(--lime);
}
body.dark .buy-btn:hover {
    background: transparent;
    color: var(--lime);
}

/* .btn--lime for use with the .btn base class (index.html CTAs etc.) */
.btn--lime {
    background: var(--lime);
    color: #1a1a1a;
    border-color: var(--lime);
    font-weight: 700;
}
.btn--lime:hover {
    background: #1a1a1a;
    color: var(--lime);
}

/* ========== 9. Blockquote ========== */
blockquote {
    border-left: 6px solid #c9a84c;
    padding: 1.5rem 2rem;
    margin: 2rem 0;
    background: transparent;
    color: inherit;
    font-style: normal;
    font-weight: 900;
    font-size: 1.5rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    line-height: 1.4;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.15);
}

/* ========== 10. Filters & Search ========== */
.filters { display: flex; gap: 0.5rem; flex-wrap: wrap; justify-content: center; margin-bottom: 2rem; }
.filter-btn {
    background: var(--grey-100);
    border: 1px solid var(--grey-200);
    color: var(--grey-600);
    padding: 0.5rem 1rem;
    border-radius: 8px;
    cursor: pointer;
    font-size: 0.85rem;
    font-family: 'Montserrat', sans-serif;
    transition: all 0.2s;
}
.filter-btn:hover, .filter-btn.active { background: var(--black); color: var(--white); border-color: var(--black); }
.search-box { display: flex; justify-content: center; margin-bottom: 2rem; }
.search-box input {
    width: 100%;
    max-width: 500px;
    padding: 0.75rem 1.25rem;
    border: 1px solid var(--grey-200);
    border-radius: 8px;
    font-size: 0.95rem;
    font-family: 'Montserrat', sans-serif;
    outline: none;
    transition: border-color 0.2s;
}
.search-box input:focus { border-color: var(--magenta); }

/* ========== 11. Article Pages ========== */
/* site-26: shared CSS for all 122 article pages (articles/article-*.html) */
.back-link { max-width: 800px; margin: 0 auto; padding: 1rem 1.5rem 0; }
.back-link a { font-size: 0.85rem; font-weight: 600; color: var(--grey-500); text-decoration: none; }
.back-link a:hover { color: var(--magenta); }

.article-hero { margin-top: 72px; padding: 3rem 1.5rem 2rem; text-align: center; border-bottom: 1px solid var(--grey-200); }
.article-hero .container { max-width: 800px; margin: 0 auto; }
.article-meta { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-bottom: 1.5rem; flex-wrap: wrap; }
.category-badge { display: inline-block; padding: 0.25rem 0.75rem; border-radius: 20px; font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; background: #fff3e0; color: #e65100; }
.article-date { font-size: 0.85rem; color: var(--grey-500); }
.article-hero h1 { font-family: var(--font-hebrew); font-size: 2.2rem; font-weight: 900; line-height: 1.3; color: var(--black); max-width: 700px; margin: 0 auto; }

.article-content { max-width: 760px; margin: 0 auto; padding: 2.5rem 1.5rem 4rem; }
.article-content .container { max-width: 800px; margin: 0 auto; padding: 2rem 1.5rem; }
.article-content p { margin-bottom: 1.5rem; font-size: 1.05rem; line-height: 1.9; text-align: center; }
.article-content img { max-width: 100%; height: auto; margin: 2rem auto; display: block; border-radius: 4px; }
.article-content h2, .article-content h3 { font-family: var(--font-hebrew); margin: 2.5rem 0 1rem; }
.article-content h2 { font-size: 1.6rem; }
.article-content h3 { font-size: 1.3rem; }
.article-content blockquote { border-left: 6px solid #c9a84c; padding: 1.5rem 2rem; margin: 2rem 0; background: transparent; color: inherit; font-style: normal; font-weight: 900; font-size: 1.5rem; text-transform: uppercase; letter-spacing: 0.02em; line-height: 1.4; text-shadow: 1px 1px 2px rgba(0,0,0,0.15); }
.article-content ul, .article-content ol { margin: 1rem 0 1.5rem 1.5rem; }
.article-content li { margin-bottom: 0.5rem; line-height: 1.7; }
.article-content div { max-width: 100%; }
.article-content svg { max-width: 24px; max-height: 24px; }
.article-content figure.article-image { text-align: center; margin: 1.5rem 0; }
.article-content figure.article-image img { max-width: 100%; height: auto; }
.article-content a { color: var(--magenta); text-decoration: underline; }
.article-content a:hover { color: var(--black); }

/* Article footer — simple centered version with icon buttons */
/* footer--article removed in site-23 — articles now use full 4-col footer */

/* ========== 12. Explore More (parent page cross-links) ========== */
/* site-24: links orphan child pages from their parent pages */
.explore-more {
    padding: var(--space-xl) 2rem;
    background: var(--grey-100);
    text-align: center;
}
.explore-more h2 {
    font-size: 1.3rem;
    font-weight: 900;
    margin-bottom: var(--space-lg);
    letter-spacing: 0.03em;
}
.explore-more__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--space-md);
    max-width: 900px;
    margin: 0 auto;
}
.explore-more__card {
    background: var(--white);
    border: 1px solid var(--grey-200);
    border-radius: 8px;
    padding: var(--space-lg) var(--space-md);
    text-decoration: none;
    color: var(--grey-800);
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.explore-more__card:hover {
    border-color: var(--magenta);
    box-shadow: 0 4px 16px rgba(233, 30, 140, 0.1);
}
.explore-more__card h3 {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: var(--space-xs);
}
.explore-more__card p {
    font-size: 0.85rem;
    color: var(--grey-500);
    line-height: 1.5;
}

/* ========== 13. Footer ========== */
.footer {
    background: var(--black);
    color: var(--grey-400);
    padding: 4rem 2rem 2rem;
    text-align: left;
}
.footer__inner {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
}
.footer__col h4 {
    color: var(--white);
    font-family: 'Montserrat', sans-serif;
    font-size: 0.95rem;
    font-weight: 700;
    margin-bottom: 1rem;
    letter-spacing: 0.05em;
}
.footer__col a {
    display: block;
    color: var(--grey-400);
    text-decoration: none;
    font-size: 0.85rem;
    margin-bottom: 0.5rem;
    transition: color 0.2s;
}
.footer__col a:hover { color: var(--magenta); opacity: 1; }
.footer__bottom {
    max-width: 1200px;
    margin: 3rem auto 0;
    padding-top: 2rem;
    border-top: 1px solid var(--grey-800);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}
.footer__social {
    display: flex;
    gap: 1rem;
}
.footer__social a {
    color: var(--grey-400);
    font-size: 0.8rem;
    text-decoration: none;
    transition: color 0.2s;
}
.footer__social a:hover { color: var(--magenta); opacity: 1; }
.footer__copy {
    font-size: 0.8rem;
    color: var(--grey-500);
}

/* ========== 14. Dark Mode ========== */
body.dark {
    --black: #fafafa;
    --white: #0a0a0a;
    --grey-100: #1a1a1a;
    --grey-200: #2a2a2a;
    --grey-300: #333;
    --grey-400: #666;
    --grey-500: #999;
    --grey-600: #bbb;
    --grey-700: #ccc;
    --grey-800: #e5e5e5;
    --grey-900: #f0f0f0;
    background: #0a0a0a;
    color: #e5e5e5;
}
body.dark .header {
    background: rgba(10, 10, 10, 0.95);
}
body.dark .product,
body.dark .card,
body.dark .review-card,
body.dark .event-card,
body.dark .parshah-card,
body.dark .plan-card,
body.dark .donate-option,
body.dark .faq-question {
    background: #141414;
}
body.dark img { opacity: 0.92; }
body.dark .footer { background: #050505; }
body.dark .explore-more { background: #111; }
body.dark .explore-more__card { background: #141414; border-color: #2a2a2a; }
body.dark .explore-more__card:hover { border-color: var(--magenta); box-shadow: 0 4px 16px rgba(233, 30, 140, 0.15); }
body.dark .header__cta {
    background: var(--lime);
    color: #1a1a1a;
    border-color: var(--lime);
}
body.dark .header__cta:hover {
    background: transparent;
    color: var(--lime);
}

/* ========== 15. Theme Toggle Button ========== */
.theme-toggle {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    z-index: 1001;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid var(--grey-200);
    background: var(--white);
    color: var(--grey-600);
    font-size: 1.2rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.theme-toggle:hover {
    border-color: var(--magenta);
    transform: scale(1.1);
}
body.dark .theme-toggle {
    background: #1a1a1a;
    border-color: #333;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

/* ========== 16. Responsive Breakpoints ========== */
@media (max-width: 768px) {
    .footer__inner { grid-template-columns: repeat(2, 1fr); }
    .footer__bottom { flex-direction: column; text-align: center; }
    .article-hero h1 { font-size: 1.5rem; }
    .article-content { padding: 1.5rem 1rem 3rem; }
}
@media (max-width: 480px) {
    .footer__inner { grid-template-columns: 1fr; text-align: center; }
    main { padding: 2rem 1rem 3rem; }
}
