/* Cabinet Grotesk (Fontshare) inlined as woff2 data URIs. Replaces Cormorant
   Garamond as the display face 2026-08-29: the logo wordmark is a geometric
   sans, and Curated Events already owns Cormorant. Inlined rather than linked
   because source ships absolute /assets/ paths and dist ships relative ones. */
@font-face{font-family:'Cabinet Grotesk';size-adjust:86%;font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2')}
@font-face{font-family:'Cabinet Grotesk';size-adjust:86%;font-style:normal;font-weight:500;font-display:swap;src:url(data:font/woff2;base64,d09GMgABAAAAAE8kAA8AAAAA99gAAE7DAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cGoF4G950HJUaBmAAh14RCAqCq1CB5xcLhyYAATYCJAOOSAQgBZQOB5gjG/HQN9Db/iDB7YDXj+/2ATjZuDDQHRzDFa2Nk3HMBDYOACj6T8r+//8zko4xHKgbYJr1/6AnSSAYkZU2Zsa1hEjOsAquuMhI1sZEVGDa2xDF0xLtj8su5QkJTrynW7BfNV1TXa5xXvMBzZtuDljOAbtvupteycgKJ1c+dqe7Bwz/bp/DfHHWL8z9T34sZ7giWYaiKyN1+bcf0CM4kDppRBk5P3qCWle3RWDcwkfNqVcTKWCTyiy0vVdz5Xh+m3fvfyrELgycAwOxcWt0VeUiWoyuscqycoh0q6FISWhVWgggPYEEEoGEtE36prRNIxBaaFWa0JUi6gnIYQERbOUUW8fWKXonZz+9Zrn3/20nWlSX1aOFeRFeCYX+Hmg7bf+dJBBPCMphUA6P8AbLg++3+TEZoogc71+wCGLd8sJCSYt1/FMcrPd3pziDNLHIOsdj3/s5+6bormjpfqVeCtVuZkPEC3kUxDGAj7A+fwH8zzvnt/eVOiWm74Q6YU9pQuwY/qADzk9hKVBKsBQAGmS2xYZgeghrBlwLv/wgzMl+6dJ22W09JBZjUHgkQjiEkm/SWh5OltDYGlljnylbMFmatQEJIbBivKy3Kd0pzpX2KtX/777NhPfNYGIdb8dA1p3g8pRIAmFY1v7+eMuegGcAy+d8ley43SS/5TYkFBj7v8u4cbzulKzXIWFgCH9vatruxwd8oCK/YM6JnTjSKuXpQeVQOhaVy933NuDv2z2QAJgAggHkjUXhAoDjWYwWAskDGC4pUsF1CJE8pQzHECrXKkoXjUuXKl26bOxObeOycuvpc2kiatns9T8pShQsofwKTVEeJx91A1lS71CsfIlHWKQI0YJC4j3CKK6mlXTXITI/4CY4Q37brVbvaiTrQ9Q5fojIKavDyDMj7SfkkNlDG8AQscuQ+v/met8WUVWhqyRhWltZp7ZZzt2eOZ19JYLMbLY38zKvm+xk3kmBcV8BSFaRrKwC/kDGkfrKfGPVh9hM7Ckkn4VNQpEtSBAJfby2k328lxT0vW3HPETkcE5K6foyKSULIZRS5AD3+S3DWUhLKkqgNqgR2In///ibOaqrcuI1TGIvQpCyfvxkoVyPsdX/i9y4/X1RBiAG6lqIO8SA/Ps/wAjg2c/YD3j3HfsF8O7vBQQQIQROBM5EGEKR0GZbEds0QI0aEU26oG7dKD1JwgxnispMfWFOOhXJaafDnHE2kijaMNESI0mSFCZZRiSZMsNkyYokW02YWnejcs/9EA0UEBQwIjA+MDPE0J1BmvMuhtiZJoPJKTfdctudCFaG0we5V1386OgS5oILiXLJtcS57kaGueNuRhAY2lwnUIv+fRBgsEWFasFhW1Mw4IUGdB0rIIhb0QK9zF8/GbBYTnIYYmXJUawq35fGFFLb/OMMGPxWDYDZdoU2BHagDKvAJGhcHWhMQkasSMkFoB+kHG8/g+qYxHCoycH7ic/Cz8vQ6giCjQyr/rUCYO/XtyNGnwCfb0UMLqhZg5p76AHU4iN6pFYezdCy/mRPgdxRm3afpamDZx+0HD+nJnrrC4O6fHID6ZunElvun0tzY+OL82ReQb0fz7f5M03zZQHVB4BmWEriNo65gRt6DE29cSecfSnLXN6K06uuDtMbbu67adutOOKe2xQ0h6aP3mPQdPrGrnzxZm5+0Ny61atz+ThNz+6D9Jv7xqU+3R/49v+4/99/A2iLZtNCgHbUW3iYY3ryi8Hbn/kWX+pBJzjpqSG97mVC05ZX0rTr1b+9B96eOxS0J1/UxV/qZQftjVceSN97F6DpybvT9Oq9aPrwvqS+vYbh7f/z5j9rAOgNzRAHvdGD3rgf9vhOT/nhvoSgN/dH/zhBb9mgt/KnaerorY+BTcXWX9loSIKH4IzEa/3mBgIc9s5Smok8lIeKEBKyAZKncSM+lU/lo9goWBTHFusAwLhkdCQQzCUbuMrnvLcD4ohPN3WiA3TJtcGCJ9MzSCbFPeyGJBBPv83fD4H7cznXd/VhN6RFxmupj6LBvbvggbuRG3ITbiIAOA35NudV4Oo5dJwlOavU11FByBqIC8SG0VMCUbwANPt5FOoOcIGRHQnSfMZ76drbEmcbxLVA444OZqINFkQuJNHGGcTIhRPxPu5yPjRkWorCcnv7xT/zD/wF0wGvCEjBBcQ7gdPuk2QLbcXRUuD/fP+a/b8C+rMlG8GCsb43mbKbEUBp+enqUxzQko1rkZoTSSueyjTycDeqdlBOBPE36Dd/adl6jQfDui0G6/n0EHocuQDT8MQgp8DjzY+AP38SgYLo60/D0DBTWdprQiZDeGho7BNuPM9WSn2bKMnbJ3m1zG7v3LUT5IOgdBM0YaOF/jXV5wycD6VC2VAhVA7VQhega9Ad6BH0AnoHfQG+BX5GaUPrQYcGOlzAiMMYRWIRiV0YaZDpw3gFmTtMSJgBYTRhRoYZH5WpYWZHZ2F0lkdnbXQiw+wI4xxIJnmpxusn7ssCIl9XAGwggA+ztxWs4QA2iUcoTTPwWgQbOj6pWni48c64RFzCe3yO+5E+yk00EiUSH8EkRwgZMGPDCVRB3/+GSukkJsOY9D0iSTT2TF0Ykk/EeNTrEI9vJOls1i1ZZW+xzR6HnBB1T10AsB+BAELUKaEf/9iltYXc9uLh0qwfn3saiY+BT8KEFYcyYu+UM5GdZrZ4KNuNlu7eOQYwOjAuMDEwJTA9L4twX5pZMBLu+L9PaOjTmoQwtREk05iCPONOFBYwPjApMDUwIzA7MC+wsP5nqNIhTa7I9tHnM+bJRwC1QSKMNtF0cy220npb7HLAMWfESpYpXymryrqYlmXfuPP1fClfGd7DdtSKYtmpA9jUqPhyIVyxBqJJB0/o4yQy4XZUdv1zGfn3PYyB9YFNga2BHYHdgX2Bg4EjgeOBU4GzgQuBy4FrgZuBO4H7gUeBp4EXgdeBd4GPLVLZECVQ2QSlcI/t0mhgA9c8iY/VtaTTvZcexBO/Ij08w3GZwAN4dxFH4JOx9h0cVzGAx46J/eK0s78OBozCj2d2Ls/u/xxWLvRqR424yT+MEoGjBScD4xDw6HDKbp6qg/mPuvn+Efzm7Dk2xYP6uzmZR7egyo1zt82teXSXUhBvamUHU3Vy/nVgh9t3v3bSKaedcZY28ZWrrrvpttfeep+P1M23Aq93S0BEr9g+yJ5jrXgy74eRwyD9d3MyTyzYWvL+UfrFUBgDhLDbFnZTYTLfvefmfY1xG6GPFubCnUBjdV9SMLsPTy4fUGQ/Xb+OCrDtn99qPUcGnLoo545O6nGZXOMWuZPpE0/0JY8i5xVv51OU3af8mqr7nr/UgZ2M72zHQJt2HZZZrjNdT3THiMVqszucrnJLG7DWoB+ty3o8Xl/55f7Ovz1kVJO4lCt4yjOeKy+MvOQVr3kjb+Gd8l7aBz7ySfls5Atf+cZ3fvCTX/zhL//4r+vmXZoFKwvYsi/oXpqAiF7093jCuwS/T+w5xhmRiUYsvPia+L7zfu/43g3OIIw3pf9p5mSZJxZkkaS4Ol4m6KjOzpjds9vzSIjugijLe7+SOe2PZkTZNVJ1KP9rHNj1VdbH+wTb12AvHHtFPsf7ii/pH83JPCzIkj3LyCqstrZfx7dD09BYhBxJuXIn46Fvn7zuTUn13wQKMz6B0KZdh2WWW2mV1X6wRp9+A9Ya9KN11ttgo2EjzquqGxgZ4yEimUqHEdWoOStkIAs5yEMBitAWVogwi4SLFC0WXjyiRGQMbBw5zPIVKzUq6dPVqP1mlhy5kXH/DBqM+qVJR6h4hJwB4KEJAAFxWfdC4DVEfVjn+7NgfYBg+uM9JhjrRYaGUWc4Ocu1kBC6ho6RAQA6QIy6x7qKG2Y38zdhg2ahm/Oi3iHIMhxgs2GslazvVQu6I1Jl3Y6G1A4wQncIdV9EmGr5bXAmobzb/JUTyr1HDILEd4rLcB+BVZBh44zKQC6In2eYL0kSdStFPurNrsDdWan261bOCOGn9YO+cb4EKFdwi0W0i/X8Ufjm07l2mKU7zx/LPCZ7WS6xy9ZCzJG8wFWC7GdHK9xOiwNts1FvF0MprStuu1vW9ulAQITy3bGJEfrNtiGGHFRo729EwLg3xrD2OH1+VNCT9DmmXakWqXOeB0pzrGy7xIGlndCSRwfZUKLt59q3tZc2OKLylO8uhpH/unmgpZASuGaDyRG3m1CNjMvbKZ0J105leLiz309W07/OhtsHX352j+wX/yrymX+Gd22EEGc/kd/0iOchDX9XwypXfwD8jnAHBc3irUzOW6K1zXt79hyfF9Szl+PQtrON9PEHnOff/diWn+E9x5paU1PWUDm6FpLr2+/okqvVKmlrkmX0kGflCevBnlbpy1RQSn94ww8ues9649SQneeUqx7b+BuJRTmrBX6Y2bfFEGhqq35pbEMn6pCeyHEjJ4Lq+l6mG65kNOeiXaOb+qOtubylYNHh4F+Ph4JSF39KOepqaAakM5tdNg1xLLIFiXOJtGgKZoLIvfMxrcFbJeexRWyetxDCgDmPk/7mKjXHPv3ldHl/Q9WNCAcpmyz+KYNYfy1w/gd2h5cXeFNX4n4xeqg7sm3RUM9CtfOwRmRY3qzVtSMmVmmGqTzSfhGLusfW124t6Hbz7s9T68mDksvs9lmDsBIvrIGHBcOWR7UmkyZRizZrut+ZTeZo/FKMpooWzoT5mz9f8Kbt6HHn2XWqSjRElx0NyysHuy+He+3BniqriBOjNQA+qWrWdZGEetDxOzktNDJUP/X7B7lMerBhlwcKcF+uGQSnR3fw3FwdpryKjOR2I1ljpxTSlhy8Iu4WM+5giYe22C52//Dn5kvTLob9G4rTVx116V/uVr3BlGWJXv8w97lsj0IMYbt4iqwSLvJaFlmH1Idr6Wr7v6Cm6sfu3TadJEO0WSXXyV0ktvp08by+uvkefPepQkvWyXZmpbjYqIx5+13h3LNGpnazBaJq9bl9ZSVcBuPmAvERdKvDWKTZ53zq/aXWQEFfcEUSby+zBh6fr11UW3o2dhgYcm5ozObFRCfL9YyrCNBgR8Noo+GtAs4y7csfZKScxpe2jZZZYudt03aYoOprqfFEJXlcY3W7nRteHNfSczZlxhRGNGDkZNkXJGq5cdk5OyJUXQDdYIFpnmGGEjqLHWSfQce8cJltcVtOSEioiJR7abiY/tNKMe31b3OY+4RSuOXN7PZSy67OnJFYupHcEpduZBb6lKrej3Kk0GXRegOWacpKJEmav09Xt64DpeY3IX3ps7d3FVr/btCxadGdK1RHTdjVX39GzWgJbV+DjcnZ+THqvzbnRvPLctJFltcfh+QwfIUSDabN6TbVdmhdYE2CHzOWaPWI680evBd+4c5c57JFQp4lmS6s5VcVrpXyXOOVIZTFn85jE7a1qNJpzj2isHInzqR2ogSSCysxtWqcN3ThCn3dsNES/WqVachbY8PWyCAM7MrMKY1mcH03U1SgM6/EBC+eZB3emDLWcEtrf8ohvyqmRM11ZLTRGW18FgMCpHmayFBBRQ2X9j1KEUfPrKuDUKf94VdCkdBl8+xwevXm9vDhxWwGKCPgi/QrwAk/EoSQlY8QbsHVPDHicn1zVFqfAAAAAMYGMBMLAACFl7GWjE67usm0M6QZ3jTwjnygZrbr1T6I9kV/4yfypQoBESDiaIGqcPTyORY6ZO8xKDoyWFCtvD0GNtZKuHjAFlz59AGBXTxhXT6CY64KPrCSozUdBnCMibW17OIeXcQ0KtcZnbmly+Qw5I6mziiJcYtiW01Ib/4IlHAWooway73wiQrANTrAwk1zI/Vm4zyTwLYykyXthSCAwpPl3vBkQkmfn6znRJbXr/MFfKPWqjfYHSazVR+8VivogMVNIT3jqmsV7XFOe0JjsgclLpBHNQWnOBspBSHJEwKMZOEArPOi1Bl0T1QhZXNRMBBUlTKUvi5NoDWiWkfmLAc0WIgZM1wy3ZWgw9CnaM/y5lsswcUEe3buljbSUI3EsjmU4nKPhWtDHKASFBuzPxFBFOVaFI+F1IWTDIzFrr+YClB9QLUcyFxUX4WuqEZlRm3O8IUG4FgcgzMKWRvzcP+NBiw24ulwg1Fs9q+7Pf0NpDCYho9hhlEZYRp/M800xGyzDbXEEhrLLRdupVUirLfecJEijbBNrpGK3LfVQ98l+umnCr/9Vumvv6r891+1Ro1qNGtWq1W7Op066XTrdT5EhEtRGNjlgnEA3EwtO9xkKX9NmgVqt5ONHgfYWuUoO2sc56DfKY4GneFsSCypEalktsniZbcqSnfdMzAEho5y4u7bc9Wa6QGnFIWuF8BcVkBIVM9mH2HfzedBfCbfs8TsRAy2dl4qczy9rNPLPmVOoaQRJlNRFSj5gx+/IliSlVVcBpZmF+WbQcf/iLkd9Pwmm8APRaVZRWBw4Rv52IQdpRXZJWBfZXL+ocrKuHhwAkEAlwUR3BQJ4P6dJ4KHldVlleAxkg1UZSHjXYiJQ4bI9bgR53MBF3IRl2w24IouiezKkzYiKFaCZiEYwBP/ajKTFWu+HlowIaeiNsRIE8203HrbHHBCtGTZilW74IZHXvnklyYIxA0UkER+Q2UfroETgVhxJebUNq8GyIxT4uloooBeBDZUa3G6Q0d7BANX/D379kjAIOAUco12lSTrezu+dG9IF+U+CHb0I51b6P4CD4IipnK30WprGqJVLVOuQnnyFStQpFSJMhXKVamUJQyEjeOyWhfcdU2dyy654aqLzrvujltuynEu5M6QEWP9DRVutzhJkqVIlSbdBZdc8cY7H3zSWIBAwbCkZOQUlFTUEBpaBmmMfxDn3nbRhYQQG0n9biJmYgQXyT4TIieZh1CWHNHYrhdghpuo8l6hEFf/3J6VEGNEWz4qKTo0Y49SYS8ya/V4iggX4eLtPzNMBj2sIVjtkAgxhakkth9JtZ0Eg0HPFd3PRNZlipd69el5yieeliF7Qns4cuJMeqkit6HHQx+M+zHSq/f78L0l87QBAgX9vO61z34HHHToxoyXMD46rrruptvuuu+hx5567qXX3nrv410abCIvX6duvaF7Nfesx50nb778BAgSfMum0nD/iyWjoGFgYcuUdd/GKRzhpg0MbzAPBhri6rpGN+qkCFo6AlY54YLHiD5JsbK4dJFDqwDvmP7kIQ+4FckddxPD9hsm8UUnXEmyr0y4bVMfGDGzJITCEUJ03YGKbtWJGXrLpfbyUTVuGKIqkq5syCPj8kLjkjBjZzMq2zJZG+jTln3IyBYyalFpoa0Rga2EV2EyZjvcjEbx/uw46o9ABixB+KIKo7CgjMU2zQD/lMaRQn+joF0MefKiFCBEP4NoDDfaeJNNN9t8iy232nqRtsFEhdGGyQyTG6YwTF6Y/DDFYQrCFIUpDVMSpixMRZjyMFVhKsNkhakPkxPmXMhQf0Nruaer0iS/rqWsSJmrl5+EiJ42RnyD6CRFjH8Hkj/+lCHGFxo6BrGJ2JDypBRikOHGm2q2hZZbK9KOMqLpxzU0vG2hYW0NRTQYCm9LSNN4ckCjZ7W39hbDGxHDGhYRDYjwNghN/WJI69MDoF5upZSeqvXWitSBLkP/jQHq6BkfWGZ9rZD1kyem6bgHgiVeAB4XLfVdn0FH8M9Zzf1fMHFz+fwRcAogn058YEIioAEaYFwIyKtREBgXncrA1kIwuBLYIkVpvnia9Ok9qoY8V+b10hSb4lOSjdjEXbwDm7W635fptD7oMx50hJkcbh7MHo4nNmduF+wP7C/Y39wtL7/YDGxO2PVO+jsBDMdGojTl+RHo0zU+Q57L82yB6lNcSrKLNnHJ59xbi07pP/qEO40Bj1O7wkl1ZdkK+EcixM2dfOH55551j6zv0d9d5tvmK+al85J58Tx/njQfNR/57fa3E9+2PP/t+f7nDc9rnhmf6Z/pnmmfqZ/Bz9jPKE9nnl57anpqfIo86XjS+qTuSe2T8iclTzKfcJ7gn8Q8umrTryRAc3+K3ceJTRGnp+ExLhc3O8y+f71IXBEp/6Q0uVJrtLpPOjQOc94pPL7984+BiQXCxsHFwycgJAITk5CSkVNQUlFDaGjp6BmkMUqXweTGzQQOs8c+B5xwVpxkSVKkSZUuU7YsOXLly1OgULFSJcpUKFejWq26NrTSHHMtqKF1Ei23qPbWWtjq9tJ2qFX94HjzQA633z6zrWyxTWWVoco2sy1thSCr7G2JyJY2y3a7nEmPm3IVlqhRqarKTqTLV4vttmg24LSNra9arcZ2OmiHQ/Z3S3S4U0qBU7qkb65oDfGIW5GAkKgNScD4gXSEJSAvBzSXBs1hwXRPAMz3BAC4F6AHgM9lcpbom/MbqmdlQxtp7fgEtoILzGkVHZIAe5xdYiA7Cxv4VTznua/tPsCwCxJl8CrDJd7UuL7ezk5FtAZ0+ktE8rO3Lx0kk7vc9UKmK4uX5XAG5ESMvRJyOvsqEAORc1661vjg10Bp6GWWnsQvbD+9Ki3r2C5MO5VPYhmSk5o3ZgODdv5y4Rzdp/0uP0HG8Y5YKApk/J0oShlUky9zYT4958ubY65b4UMGoATQEZ8LhxpTZ1ZxhdXYapbMW2m88pia5spgAk7JSrcyUV8kNwC14raxWOlf6cvcUqu9fsC7I/jE/wvgYwVE9gcmikhxQ0hi8wNmdM5CBM6X4BkP+RJHcAAH4uAcAA7GwS7foFBSIP8YSK+3fFWvyKIUUlxizdGJGWMVIdDL/Fz4EadUKaQ4YN3GUeYvpG+YSCgk0dv5Kd7YwAorzBimDnaRNkZI6GVjtyL7J9R/A8BLs4Ob8JoO7Z1G6/OuiNm0qM4FiokeEetwm7O7J1KS48npVsTclIBDuKp+M9ImHPwIT9LG1IirHwA5h4yGquIKRCBa0gV4anN3RZORlhqpELs9gdLIYnsbOzgZGw9KaIyOA9qVYFXqWLHQSsvv73+6/Y0ux85246M3jLRGG60tjtppUOah3d5Qq2R+ZhgZ1WE04QZ2iYWUTbB7q6suyjrrQGQ8HishDeQSrr5lVHu93Bh8g/aM89VdfSJkdM/eBWxNYlOSXR1iIvIy+OqNoz6frgh8Bd2MZTabRDjepO3xNj2mWubyXNYPt8tR11d9/ZTK17SmD+lbAjgMcMKnJjVihEqJSUGQo+JkR5HDHJmvNa0oAyzyB5gq9f9Fw4lUMkoOCNGYvvuDhqKbaVp9OnLWeG4wp/YnbL0fciAvIGPBHib30NmbZW+AfiV9903VEI4bzWdnzrB7ll//ataCiVuGZCZeOdswni9e+3IGcFo6vVtn2A/0t9bbZ5or+jDbPuCMetMZlvAf87MWvNVzCshxomNXMW1EfNZuPtpSnzRkVFuj8/52qqGbZJse8PwJDyzf9e9mnOG4+qZBr6uqh3FDuAxcJO9oPUnx9qSdPVWch7Agq1Yei6h3UiGsvoMSIRwVVqAAqx24fbvF8SDw3JxJMhYoLeE/F/nITU8+sowVVjM5mlgJ4eA0dDdFn5SeRx5qY/whIfu7GJ5arFR6aPqz1hwlR/02b0xCHsw6qUkak9jpyfuvEYQpLuCIARtznAJiTt/eQ60P4NZ8equHtMG1YEjPIcqD951Rl9c6SzAARCuoDflTNAeLACpQMM72vbhUKuLCLPFw05dOyj0UmZHElcBQWIQeZ819lDdTAjlC+KypGFZoMi3mQIa5QF2OXzCNc2ZjM4fq7q/vTLa1X7Fo5Iub50A9CREzLqHAru92K/Wq3+6MoOWOYRgcEPAeTlJebcwndwoav3BRx2m0lvAisrQUNgtpEjJx5G3qLIAc02pQkDrThNmNZcS0lhEqS55qqI5KjvJ6otJJTjbOakUKnNfOYeiACJoJrfkKEweGiIqhxkzkKMTcoTg9FHNwqOeoF3aPUEOc586jQrppwp0wzeTqZYJCl4wK03Vynloekfme3pky1zU95pLeG8RlSSVFNG1eNhuRGK1blvd42/cH5Qu84k+QVbwKZU9dT8ehVNE6rFKFbXg2Am+dUd85Qd17AoCOBFmUga87iwr7C9/GVlSYMJWFq6m2LM+PHwgLVnUv6Ka4wEVFrpwpPShrCtFyQ4tZGShRq0gpesiacHYJGWtNoOXDsMirweqG6AY4GuueoRGPRIkI6P6mAiSof1eLlkqEar1Ay3tP5ePsAjjmg9GNebFcJn0cZrbdsmHn7DbEjyNaMSGH1LEP/QIMCazRT94D7ERHN1S4y480YMNHICrRUWeqvhj6pncvr1ANeqUI7yFIDR1rWXKIQsVw+POtXN5XI8+i87TFwA1p8kVJyYnBGpccQ5C0VjOwP83AEm/nSreWbegpVzxo4UAhzIh5NpuYxSnFdtbTvwVGoHYjj0XvseqdlK2+Rj47swKkPOTXh8Y9dZzNboKAswjkGAc0VO/NPvO2n2qHHyqXqWTAG631F8RfluPPut3YO4hFyfTE5IHI3mzSQX5QvPqqoR9xwUlKFAZoSZ21fxsB32iYV0a+5hwDzpxAGajYXSIFqs+4vO4NKlWomfR0ssXxiMPfs79LO+CjLU6C+2W8jgb73JuOp5C3VUxPx845FL0XnJIxOxPm6Dub++Dej4CDfm7CIqXAx6zJ7IHwRUITZc3frJoq/U2N5uSvLxbsi7Lg9+rwXqlN9LNn3bq141hPTzTAWWAoax/YwWMeHmyewHl808hC1YwgtZJCRydPlVYl1OPlgnjQOhTzDKi1lF0B0eRrHDUqQ2dtY4i4fLv4vkiqPtx1HmKTYDRHHuJWJHGOXAXuLEQhC1bP6chNyWE9wnnyANGI2seATdRd7wTvmS7DCQvOQ+5CeX/cZF9UqYO3vNG+4mw29QEEqC0clKYPR18HOemcnZ8LwWoWGQjqdyQFA5CwYu3TKp6RKNwZlA7jAloAr3G/hzMWvL3iNBWk87X07ACyHJA7/0KyRYr+PTeH39lFPab1e1JKxfn/MLurZDMPTUnR6uEvthdvkvaeu4dfsvdfiHJuPog4ZN26vYfDH9jqwqCyUtnKDV/fkrg33Wq7RyHogytOAzfLWoS1Lw8OQl8XZdD/+RiiRDdU/bhEV/HcqE0+H0PZY/jC6oy+S6rRh/B9/yEhz8m1klFqq9/CW5yJKRK16FAzZ5e3vwCAfrZVR3O3j8k3vo7Oi2s9d2LwC/uid4IdKF+4q1rkhmgkUTLtlp3wGh8HYLFHmKLiJaAK4M7753Ah55jtgaVlejtwQpnhBlCTXnEFAGtx2m6wFm6Nn4wCWQyUcNRw+WeVBFyawiaELiTE1x9HCsCO5hhwZC8BsTV7CigG27NCZH6G6y/VLoNpNwP+IYuiVp6IqE9SIScoTf1DBTycgllRnZ9Phhk8423w8NTsbzuiAwy8s1LwzrqwMDaXkRaCsKwXOIVqAjb2vNXPGbpX97h6gYh7V5AETxNQ0QSZ4uI63X8iujhfowkoD/89Z1RnmF1rJ6BXtbZWe7Xz0KVgHdka9UTpIXUzXeD4TiPqvrBDXp8fcWEN1LD3nVl0xd3M1EfebJD1IzXFobrHz/iWPsPzyIj4ddua8lDkekM+zCHxUpANrbd9ZobWgHLQA+Vf4Rx0u/xLCgmmkkbVaBzrq2Kkrhfc0BSDbHsXxdITFZ0+eYlC5p80BiBnnthRebxcaXt4tJKo8daFhHGVM3+5Tgiwzmc1UGkeNshRNrapZOnafSwGNzx+L3moGRPwQ1P4rNyyjr96Uvw50E8fhNx5zCdJZ61a85dbzDQi820q3uJsFpYyx2UZ1vTccGXcQDsj5qtm+qu2YFpiG9m0sePatJl5BCl1oxJbo4EH9+qkTgPBpqZ7eUxZY2OaDWNSniamSZzV5tAp1gA79bCsEN+6L7yhO90tPIuW58b23MjOXj2i9ldELSrlTddUh/PaXwXkTs83wi2VKOfu/8KpQhS2b3Njt2wBVVOPytjVxZBWRy4IHXmRwUvAriIHDOgcY6kocXb4YWdIg83urYk2WtK1A96Cy7+r13LyHmjuZFKCVDhc/nwQeCH61g119sDkB3NpkZsP8jqtNq/xmrrnVGJKOvtBjCI+zt2uooVpPoDS7SNToZRwBa5Y2xuh+6qUFUwvP1e5z1Q8RR84t7MO0crNfHD4F/HZeF7M0ARKy8AUC/orvFVIswS+ziyEKbkQ5HXVOqHoHitsUZQSdDiEeF+7L5bxwVN1N81uu25mG8tCm3k31uM1HtHDEsABOH3FgqlFaDrN4UVdJWw2lWB+DqwtFKMNMyyoFa5SrXgLRBX7+k05oRtvMMXYgDs3PbOdA71x7JxIMW74Nsa3UBjETJtHM861xtZZFua6RMDGT4RnY2vi3ZP1GjdNuQxz4i8aNjFNBS2ZPgVl/WaXI6E6YTXdPO0xpJ7kcjII4SoQ7kVhBE3k2SMu4NK5RhJbusGEWWDAjgmeBaSFVNB+Q72r6fBvpo1BPXQ3QsxGZJsltgPDNlRUJaEz6bkmB2mt683X8ixmVkQqG6daDHp4SIWGGqovb7rAzCBD9yZR6kzl+mcthHEdemebbGwijmkR5ZNBKXiX1/4CYFHznxFxmqoXTNAu4KFoFOvxDT05ewj32DbS+qwoWZ7PhlpzZ7gy8Yb6mWAqqB6jMTgc10ibfaLwoQSi8X4hSV0HH8XNxOU3krUosIpmBI2FKj8wksqCQBOoR+t+fnmv5QE4wzPVE8Uwj03A2ak3hflXogt9Pt2oxQ5Pg9KNZuqh/0+CvmbuiebCeospzUJhIUUGHe9UosFlq6fA43BG04B+6AKW7YWDVOfQ92ED/m8s082ZdbdeYlHifDY+dxt6wKbGZLP8CCMizTdFI4bF7w4smNpYYthQlEHD7FFYrskZhm+3Atup0b8H0r7vrkj1OV2Sv6fRyi+ZfLkNcbxMT5vpQ9y8ERC98f3gXs95cKq/XVE/933eZH1GXj9JH1GQ9y9BQmBDM4z2SLipQbBqUigUPp8DetpuFKZqHXXHBpUfGp81FLjxqipXDIRy2CUE6YcP+/ZxKIKVSkk/94AUjBwgJxxr+89K01pgHPMdrMmtiZd56WD5pC9BwXf7exL3i5qEDiXUcTcT7frqOWiQ+mAnzVsCFWI+3MHL5bUetPire+4a93rNzX9sN4xHvUfkB9/I6tmyZ8hnGH31TjylIjnBetcMRUbYrTA8AQ4HH55s8XSI+MdOA3uUr69koeTc/V+rcx4BwGTDCJ+daV3NWTXnHUtVkX9KqqLkPIuKuMsu47ERTaWfAAmelN7YP3E+gHweJ/E+A6TEola5zGQemcrgIyk7lYmEMU2Km26cjH14HPn2qBEo4koUOQMVZhu5lA0GGbPh6zJJWTwp907bb0HWDW8OzAb1+o6xBCGofxTSrNVA0Ay+9H3TqgxuxtU2cUbVs1XbmRu/2bnT4k7VKXA/SQF9yO2RsId/vnxYmId/bNzTznX9/fTeEXEXie19WRA21nWG9LZXuhxr7edzUVZoCNoV4Tpz+dhVY0o3WDhgZtsNCw3yRpDJm8t83cfF6ixFo/ISxWgHTiZVn4tpy/4G9SPNpLjaItUW93Q8ndA0JyGegIjj3EAQchgW0kD7ulDtXGpeg2bMGJJDA6bOCqhczyW4r4H7WgmvFcCszJnzNVWpNTGu5yudLJy36Qigd9MRh7v21w+9AG2tt0ADbcSfUoljwv/f8/8R0vgz1W2OvlhG6HLgovkdz74roP86THVKMhToHZMc7fLb8gHxGuQ2VXB8isXuOh9sgPD7s6lVhDNV1I64Q1BBY4553rMMtz/UOM76GhmTX2IgOwsyHHNLHGQkBaZxrj3ZmrdtB4YVq27M0lnooQwIlSPs5SUFp2u8H0l3bvuCgfDS8iyd9bnP+Cfv7mewExJGjI1n7xPB7lq6TN7F4nTax+9SUat/MKz/7SVnVUTkKk5TZMTo60mXieb71Qis0MY6g27JEAPW8HnpeoPCqOtJM3Jdd0yQGNgeJHhEl/46FDtkF2a8PhvBg5hq6JRbkL+2KUYZwTES2Q0kEYmuZEXtPRLc7eZOYoPeawB8aVgHQP7I2ZZW5NxCaFQ4+V54EZQFsPeLLr4XTY6yFyLnWluQswD3YilFQhH3LpanYd5l+FtmxVtmp/u/MwaDtz9RW1q0aKY2P0LAy8GPl3o4xbflt+GlwGf+b+rfYBT0/4+QGy62eiMGk/Z23WfXr+s+Y9d1Zt16dNEBW5sDEza24D/IolqK7iQfeF2FfnnAoNMMhFhBokpV4GCSElBZvd2VxvQseXggTBF1O5tNXIpsgSdIsTe35btK+QxnhUKlpXOSiMnyJH6xsKSpgJjKoDKVPDsWn+rJadIjhfmFApJAc1VlIzFy5S3Z4GdkVAZJjyMHauFaSPSWCIT2SJtqIYPNd2NqhWyILWCJVHwqiR0VjFLZeTQ3ysNdgZMsmWbKq8s2N9QBon2yGsMWhnSaHMaX71nKL+HOCaghguSE0QV8W0Vumjwzsz4zq6XVLKeLJFQIEnFYMhZtA/g9PSN4W0yZqLRgKE9+NKu2onIeyOzrG0zKJLZe5PYHTUmV1ORN1+SJKZD6D5GbwLBYudRU20LnUOPjmLQuBi2uFIXDViYIGL0CRgLwtheUcOf41KiS/E2lrstF7t3w3rhsRxWdJWXRNvTRYQkVYovAJnF+W/49NL53UZNEljP6X0FJK12vwA/RgOGWImrRr7IbjMYccgShSKiGP3/EgMN1OTYmlMWDmJjIpsVSQbZ7uoTgbmpsrUwrkCmjw5n1tbWhqOeZf6lKxK0/rmk69Mv9PStWrW5M9TcLBUnkdDW2IotMFzIMxko2scjWuZDvf00z4xMVnc82FRWWd+zcNphVUpot+g9alh3ykPCJyTRdwBHIAnr0LWAyOA4j+vgZvBNhZRj51B8fckweyPQa8TPmGMTJYpnE7pT7oKrOuEy67f6ujvt1QYdeHpAKEinJcjIotB3Yej6G3dVA6doyTB5MCD1xsLR05XvWVnpw01xtr52NBUlvRt5s3LSXqY+/U9pl3VVTW+PxFQK8ro9chyunCDDhZSUYR0bOwwXvI+FIwLJtX3Vy49CWs/35fTnB6TDBVZinU5aUrHxfsDLfYEhz192CI6SkhZZWlS2DiQYRjAnTx+NNR/WDBfZ5bQ3O+TDBRq/KlylTkapuZKivuDHkrf1i1ZGZ9/Z/xZYoj/1qrxU1DcDyyAgiS1+/FdMeIauP2bdXaKrGVNgd4m9d7aLSGcFW1KGQdwmO2gmZrXP2ICNiwkSKxloDqu1XH7o00H/oYiB/a/0DE5fm5U9rV9csQb2MLamJ/3FwyGuvLDW3l+Ud3la8PXg7R0sTDgLLSSFQ51lJOm12Tq5O+ZvtGT7X7OCZHRlfG4vPpitMjrl8zkJzmgozxRlZYtTb6ZrbudW3MBsIhWfYZ7+dZSmTmK1AbJ8zpAhEGEkegkYejyqKT0hkx8Bub5rUt1XTmpVm6BQH8HlJMc2rkrgJOPyT7zzX5YdY1ZQNUtWyaXgengY0+7aG3rXLkeWlonS9QWQsW65evra+F2iQL8MZa8fj94zfS4PjehCVc3w4O2cEszdyd+1oyZLRiN3Be80jmSeHc+oPRoyFj4GK4vfaX1mlez0Oe+T8yn6PFJ/HAgT5+vllYfk17lpBf+2NzM+jwHuejR/MqDNYY+BZNu8oW8OyTgd/B+z+ZTfPKDCCghruO/ZiwGaeUqDkbQbNjfzaIHpNEF98EygpBCoBrMTKy6srwFZ7Cosar6xO2AdbZ+ZkRBv2bChiCjTGTORKoF+QZLHagJ1VSouWJkJUMSeR1ctgBoF1yAiyeE4kYBgKul8VdBsYIsGcnEGRMFLFOq1GrEs95AKUfV5D1yv93ubpyw2uIiXWpb2WKUjbJTAya106lFhXUbkB/I3WJ/fpcxYjI8jSuSV/379aWEdl1m1shmljUp1vR+Bsn9fcVVnR2J2TW91Y6BlvthKKFYyyKKOQUdC3L4UP2TL9bBh8NjiLjEogSSxXLuEQuFF+3xwoDF7CRmgjmO9P6O/z9TgY2gcJEkncDlVtWtHiODIc9JaQJKQIcemi/AwVrjmgUhukyeLj06B+JRN/LPMYHnct45qvSq4ND43lX3YICGRhiL+rlH/lMIsnU4jE6qTCQmaRxwRD8UjRZeIl8l2P3VSmNpGL5/yZhJmMskEc+FJ5qntXWrI47JEfiy+fvBaev/EfEc+nHayr3r2Wf8UiKpPHs4LeSsSpXJ4MlqiTCwoSSTK6G7KwBIy0QGvJOXn215u6X+q268025yWdIdQe5N0MuqDWeBIMHYdVebSeoS/ogjr2SMEjl8ovTo3/bc8LX1fDo6XnTn6Epf9vz9+wODnqaDwpJv0qzrvXF89JSwXf7CX1kDf96a9KGisGgwn0j55fjclnpgkl/DymnBG3yJAd/jQw6JboidiNwUyAsjjgBYoi4KWGiiFxqprWtAnahIoOxgRe2emvQrFDwUN7nkwukqiTCwuZVCnDXf1S3fFGIQEhJfteGNMDIzsiOoyBaeBLeeMLU2qkV31APRJZqI4MrPeqp0aalr6okC8MbMG0gILsPR9G32U3Xmi5kL3r7/H/50gbcRwcB3QPx/NjAI4R14cJrPhlRDp2Lc1MCjYHm3NJacfREdXgwiauBfa71uqiuJX33d8zx2oWbA3AGaPC4or9yExvozeT7BdXHBZljMVbi6+/dw0I9CAWhkW/JhJfR4cRCz0CAl2fXpOEgDIDTUMDDQExIRJUBDYgwk8mMDjCT2wdFyuODIsryfLdAyumGN2EsCuYOCF9xtnLJ3ANoyc+7CgGz0/96OpeDZBf5LflO/L6lp8kgLJHxwcU/xRQSPfl1iGVDV153tjAsp8Cy4yLfEuUWHvRU73Uofr9QXn1tQaKNMilzkxBGhA6hUv+6SYEBVZAgmhBRnvZ04pG6wwJwdogyJRxOLxEB0819cfwR8DyMPRjfSCanTm9kThUrjx6zEAQRJYEu7kTweCAMtKFEaOihLSF4AQAQS5Nw5fhzXDlEGi87nYdqIBH4UvwfdAzQMulafAjBBzs08qEf0KxPvnNaRTvZkOBT54XZxGDeDWSybBMNcpUiizhl6APd1Gkpb8PRW/0vNUcFkEnHo5ksSxpBtFQJNMJVRbgq69d/9not/ArSApHMpEBU/3DCIqwDdv3fdm+v6F+2/4v2/bNUS629+Rkt6/INHWsuPqXVKQ3S8T6XFGSNBmXOsSIwqekUCj4KMZQKk6aDKp2+zv7xl5Vh3Ai8W8f/M406vXOTs6ERVE498JrOKYXJcvfjRN0Arw+zjohE5yQMruIJuLPNBAvoRbtoZb2P8f9ua2CwaplQPZTTKU8DD+VnXMqR5Ts35CEWxToYcl0SbDgAkeMFd/VdjIgKMDN2QWMkv5i/wU2uzNvYoNvMm9AGahFiKcHIq/u4QmKqyjUluYer1Z9JwKjczhpqPdwJCkl9tsWhm+zSiNIpdHjaSqhjIFPQzUAV/vlStbW1y3fY9nkJFkKhcJKIqeE2LGnvktSktjfY7BWl6oSwxOAH1Yuq64ACzLuywlxcdrW2Z8kJuGCjF5cTluZuaS1MneZGlZpwCaHXtVHKPp4oPVuq3tRQb4+oU5uNqGM5GeyNf4hdmAfmkfmkRMnaGDH7kSK7x5KTGBCSYuZbBmOEh4eEU4RY8DrqydkrG6iei7mCelD/mEVkJfIC86y49+9lMMjJvfTzg5z4LuLbznwFiTQE67Q2rYCcyI/lN3GMq5L7DDt8i35eSrteB+usKApmZJy9sl3qTV8bmFH4i8g0olXnQe6dl1RvCvOJCifa19vFv1B0UOMyeegvWYvVkCO3ZzUWA3rV1CawHJ8ERz6cNBzKfZBgXg/V8ev/7ZcHJ09C5L8n+Y7X+zin52dnL36PifoPPRMG24W/QEKvCeTwWFDOQ77SvQKG9vusD7gjgYsQwODQsOCAsGzGG9rTs7W4Tdw1RQRJr6sgq+f/A9ONEkDmeJ/Q+tHB35kjm5eqGWogdOrBvu2MweYukqzbHbJCGSDFHIhKnq1wAbHu+CFB/oKSsiJFexLthMWciFCa9iVcX/rcUUHm+nJMHaE6Bn1t5wMviB/Z9DfegJazyp7E6uDdLE98JZZMbefHoaarqe3QZAAimZ/7vnCTlxW3eJF2hUwdCMZwC4rBqJh7z7alWBiuerWE9ZJyV+QrLrFB3GsYZWPTlcO9eaqIsb4vvrpigpQbd+MSGB4XiajaxvTplndishgsXs3qbq6gYlLNVotPivnWGZZ7erfl8pInQoQA7eDKiYpTKX1qjNKcNxUBiEUW1YBuEeHoyMkKbwQr0mqtDD73+lx/kZ0DJlb88wZrdnmoW5uz9eekVqhmgzWI6/VORk6ZZZRTGKpt0psRXpIVZWRHQ27D1UkS8mQpxjdmk9IiI6vTQKhV+GaY8Zm4F0/V/SLVFOdxMrSq2G9h2UJkLA8afYMVpLq+7vUo1zreh3JvmgnF0/Az46YW2rNMf0pp/FyF3yEPuKZXGvFCwziBYWb0w/dikqB4tuo83En5M1Mxvg/n5vZDG5DqJFobMip7qpwS8m14QrFtPJIox+9oBcuh32h62maAwv9F3D5ImoqH45+mcAmi8l726NQ/Zz5lcCmQzx0nwx2hcuKKm+GZnZmZ+pENusawwYpWB1hY7c8ECsHFbI6Kroneh225fFJo3B0LOpfwyYCqGDo3yHoww4KD4hUNI02n5Hn+VJB9/ofR4B92bJl+aaqjixJjsaBjVkFS3+g5VYQnHMiag236hKXGCJyzDt0kW0CtjqIKGepZAKeWsDhimUMSI6AR6qpEEW7eYLFqCq2jt1CQRQBbomh6DZZilnlUSTuYae4j5+M1MOk2taP5dy7MnIzhp70UftM97UksLJXrCS/WhnLNFaQS+XoDo/M0DnhDHVF2jzvvpI/P3rDpqjz96AZQq2WOPHwTxxIZYSC+9itF8Qxwc21EDTNAIX48mDSQoGCW/8a3CXnvxrOk2TrzLBru6FBSF2fk5OsylbHWhHB7yQn3v/F/suTSIJHkXD3a83nlqmWP2TxrLEszjnJEYfzZfs4JjnFeyjsuPth/Gk0H0Qqijslvy1G1V7u5F18vyaFGMJ7G0PH3dnCfZiM5dpUAtVb42raTuodmYAbzIBrx1xCOHrbDjgeWSq6P9cCWpTzPo29z9SZakt3EdeexPCogBH9/GjnXFMPfyKUAEltJ66D8dmgDSpr7w2Uy3vldlMKhzDfjfY935zHj6V7OsW3FbTjpLeuO3HsaLZWfh/TmQPQARJCokLUUITO3LZkQjYfSMDbXLpUdBQt2yyEGfIRsp2yK0lIkgsdRqRU0zDeIXQ/9NUkjGw1bB4Kl709tgTQ0GcCL49c0ckNxPKVXssoZM5w44qQgfUu+GDooNgZUiGN2zoKl5tqFnnzBuArErT4FGmGsdBzMnQNUtpQX1LiMSFZmCLCG0UFLKXE1FBGFUznaAEOj5AeKO/KN38a6B3GNWbn7iKIMGaYKzf7uDhm1wRYY9YKkQgQsfyX6//qzaNn5po1D/BjemfbeE2BPEoHCE7/nb0L8BNCZ5t4wv1mIP/pEUJbBfuAMNkYrj7BRbirOIK85sLcAqTAhMM4MOd1Un/YlB8+KhlKhagkhHQAOnDhW9Uc4srrIBIs65Mu+WxqSyTpROYSrY2Cv1RMf+t+ErH5TLVQXkOScOts6281YZct3DCLaDJM6jtusbn1Ch1B7QdaViLvUmEx5OUPCjZPncHAHULqo9afCmO7xyxaCv258J/0MNFftN0TgFeOgcqLaB6ILJFT21jFuAljYpqP4c39H2ZC0Ig/nccJy3mGjs4dvsfBo+vKhuEtfKBziCKcB/0vszZTCAlYvvf9N4ZfyPpF0yFGkl07PkWX/lyY/Pr2Ez9Q6V1E1sihXc2PJV2PpA7Cg+7Iu42psG7fMx3sQySiReJ2LJBZYRicBbnC1HPP4qEpkKBVFHccgvR8/6N3ZX9H+Ewe2T/5qFZBq7grBEgqajdfm/EMdyYThFF+eM4idhJdiMd+L9CQZb9ZWgosN3L7DgcvJWous1A1K5EZhkAo0NTLmFwBkyhKNEZ+UCsv46v55zJYdVsF3R1j1smHossyQ0G4RWpW3abSrTQhcTkpWiIlf1L352hR1fm/V9MiqwsQr4IMLJ1bjonVP2FNPO44dm7i6v5UTSfmkMjz9cZZWVvFWQMH+9wirze3nVCSXNKWU9VW6p9stuHCYlpZlNGPUbCiI6UkoaSFx+BrtTq+hsEUaHRagTb0rr81ly+i0gQwQL6uplulwnsMrhOv+p/8cJjd8HPYsT1+JuZSilNw7iw/uFtWE5Mz091DMTNsma+8/rRwONheDa0NY2FAi2N37VlMRdePdq+Zev3KGyHC49hb/qBHQv9xZGN2ZqczR/DSEbRHUL+nM0nNiZwO5PAsyrBoipVq0z5GyelQwfkDVZbqFN5xRvTToFCG024Iwc+t3an9H2R2go93kLXIvl2dLR61YFyhLmP4Pw6pE1P+UGsLFFEF1IBAceQ4IWozvPmXIulf1rhnuXobMpKnjejIY5FxxMUVxq3dwhIPgIqCD9+pAYfVtUIWnaPZvFIrbFvGJi5dpRXa3XgIk5SzwhDCb7GcW4KP0CvRK7fpKlgSsQcRHl9VcDQfHMNrvZsPjnmcq+JdiBEkfjTNjuolXSoPS6q80QgBNqyLloaGVMvqoBTBUTgWrStQpXl3gfO/fiR2mAAf1eCCsGxcT45RDxSbTyYabSnar9j/Az7rbhHSUMSCyQSuK3VkQQXMAPumyHj3AVNdGm7GK0uqj/J4Nb4O6CKOi3cZ9mWTUxxY/K01DqwlbnkohlrAiIfiHu9dyCamoJluBQNo1oBgG5qh5IPEtq08lKjwMMLx439q2bibPhloy3eIKo4IaxwaQ1eXZdSZZ92MJpDnXTeO5UWTe9i81lMwJPedOR7dNFkRx0m7BP1vxhcA2STxBbqViQL17PMD0vWlFwjCWxDBAJP5FHbCBUolvsMtHsdgaYo9HtGIi5waadlXwhTXWrm1w44MEz4E7J9cuZx2T3A73/fWN2h4K8D46Lta8bsaEHz39MtXZ16AvOVflmd/Xu56dnVd6aq68CJAtoBvvki+3bJlX+j4vpbbz5NvwhaCUbZNYUdJTn7X8/yunJLCDrbNKDiOjGZCGKjYlUOMWbeQW81NYgppmHFg6XtdLbtKxSoJo1c4kHJIPWaeA2q5CW7Qf5JDfybQKrladlkQR/JivAIpu7lKzGsDHtxnhE5iehrpkPNRO2KMUWCu99lgbKpUlh9E6qN7hV2qzAn4IvNrbd+wfr6EWgLs5ueoc2Dl/n3bXt7Eqy5yHKFUCjkLWNjJjpfFnTc/VzEfAJ9ZDa1+CD+0xivjHsbeJc6lwfEPInbYIrZIJQKeCf3yT7SaGsftfQxiLOHe7y3SPKLTLcL7q5ywzx80kj4huCdLHJg1sqkM1Mcq/T8QaHcutFje5FabwzKivN3TWFmuzWuW1xS1tVunS4gL0rRm+eDCQ0/dmFNuPqj7bsxjfuP9cm3uAqOEYG3qbQdTBRtvrtHHYcU9LH5Yqh/sr/aHp+FMdSacZc3IloltmzuAxfPok2RfxtP3vgzyyWianfqPRnzjH3ZIDTWmjxT5Y2Ti+vCvZ4lt38mzQz0nJrvXnL74w9//5cTlw90KDCSN5v+otefdY914ZVaBv+0z83P1xcv6CmClXOjhlS7Z1EhUJ0+8WVrPFeQW1lczvZoIVVwkj0iWSzNyhSQokS7QpHMWP1Fcb5ow4/tukZPfToL3kwqdQjc5x10OX9NYfXDlfXDTWF2Dl3PBcFwRtQgcLO1a08MMFv3ATU8PDOoI7Bh9aACnd6Zw5DwGQ07Wemgj0wyvXjRdlpjmkZ66NWd94FM/uwtHqzcha8N3Wn2ID8118XXtVXTs+kQMNWMDn4F/sFyJhCWL5rxxwPn/ho3nSiVMOav57XcOZOlhvUnBMYB6Jj5kZRI2ypW6P27t2zsHw0+vEQryF0kzqI34zL3U64R8bZgknbq0WngPGG0qpdJSy/5fAw1BLj2WfJghRT+biwYK8LrT4Zqxnva0cT/UxWOHmjcr2alOxDe/s5AvTE3m0+rqpLTUOOfUaOgSJ/XeJx0oR3ARKymvyFOJYZI8ivzm2Cp5lOtLdW8pY0EyL2kgRz2ifk+/w2RvE2SqYgP1ilQ2M+eYJD2I1LpCLqWEI4N8wFd73V7jkroGTGcj8hJpxnT9pVpIdKn1UiUMih/2anZmQ3mdnBKkuF3KSGEKs+jZ7WLvVS9cigjk63pv5zqbmecEd7idOT05NekgdPDSW0W/FEN1ahdq/rjM6MCXyCk5RJx4I6EhURcGiePIJTvFWJ0CqGBQPSJPLDZOZ0z174yjY6bfbEgMnIzCnUxVQb2L4yl8XmroSXAftaQ9QhtMXzYcmuqC93HZY9FSX49TZ92Q3613neIAVu6ssjme1lmmGpI7uEmOtsfYes59ebDH0Kas2B3X3OveAnUwLWUAGTymdUtBMhGpyRTNGI5GKBFpm99a6WyGCY5JRlCieScyOKMjgogRcFWfo8PV/66yzaTCGwKtZDXtVtFDoS/PPCBKjR4Fn+2uA6CCw8ATY6rD8QwFtE1MVoLEwJb9BxBqZvIWDRFRLIXAtuYCEi81tMA4Pgchx44J3IawmL1GkOYflilpNv7iIqyAkCxS9cp8rvaW6A/NDuWsDqpZpplRdo7uEtFM7meKf1wouTsO8paGyUHni4i3W9Pgd/AFOgwwBOwPK3SP/fsAHJIhOD4Ag2ovZWSi/zmvWHYp2WxhZYE6+AkrjZRCUODko2DUocm1VEVSbHEq0Frd0Div2wEXRmPr4J8AqHu1Ed4IPkYOwUPWTNBmvKzdek/xfH+Ppf8P7415d+vhzeh3tT/fG13G+3oPPt1+8xYARYwGj+Yc25KuIAd/37wFUmbBn8KIP1S9PKjRZ0dSkOe8rbxL14m2ph0efFtlXKTfnW/3TOrEZ9+lc9WnfLozvYlpGdUed/IaH0XTrEtrq2ovx2gPYO6xOmNaJ7NQWufpaDOZH+n1Cf/33wvKfxVNfQt49+9sIT7gxofpp60pMAQBCPj7fHs+bxTV9odD02vJyzO+voAsF2TawLvA25RpzLdWZF+ZyWtvZvVn7p7yDWG+vnsGC85ock/5hJPM/zzbM62W5EnIvqAiJrOQKahvFTVu5PnlQ1ZlSFmalLHExjQ5Repu8vXhfU3aoMC3GmPUpjRzNnltd0mbLFpORmVbgz8j5Hi1Rlr80ixFbhP5d+WlIWtkpvd+UQbVlno0MZv4eDU/Ro2NWZ6ZxjV1Heu745BN+aY2+9J0o97UwgpJPQ7gXFh92z2TJjvTfMm2fFJ7Qe3lNfq4ZTYutW9wvLI5ddTxK2Zb6u5lkaZE18cpOD/HrBfx8i5mPrx5r7IPNjMp5MEmy63keJ9Q3jmXMNMcH4YnNH1PxZWm8rnckKTK3ip3gfNg8sB/hAgoMtrTmdLJvQT6xy+ERj/wk3XkafdY57Ouz1k3nNzyOXuuK85DTU3AP6fZcKA/97qdn7N/NmHVxuW+LMazDcmW/xIEKAxL08fCuK6IwSYSELgvwQO9uLmg0IZ7tenjcJJCWRjM/5O7Y8h/CQKATLBCmXBWWYSy8eyZIOpSZgOlSxnADeQ3K6RJnS/OFrq3pdEjPGFuZzJW5M996sW9pQGyj4q4AZP5MBnTNKrXK9hhsAVos32qI/tIfiFr9Sll/ygC89kYnW0WyAf7GSH9zeO8NhBsDmaauqR2A82bGPXfJ03JbTAjBHuiRUqQNYNGQKq5QLA22GufGmtZHGxWds3kyTutbdAXaBP1US4X5C+tKW1WLgdZNPSUvWR5LCpww0s7VpfHeeWxXlTIa529B+nsACu9Y+/KCerqrKowKKHsamvHLs3AZ3M1WZGS1VOYm1OSr/BJZehA9vcUmV+J8m2+ZBbPZA+EPR3NtIJyzbmk5xf+kkvJs80H7em+qjWrljlBTSwgK9/zPc6BqZP/HL/WZFpuoglNR8TnK3wbvSuF9vJwDxcnN5DcmMgVtEsybTNTdGF0ZU+8mmr1lX0ar4YCyIx0s5pPwQ20v77DhcpUfVkGlu5dXd1WuTpYxFDU3pBJedrwZuVpZ4+d6VKDVT/Q/o2WQpCXG4gFUEAgsKDpaFNnPpSeT+SmhpFvamFFpDZsolVbjOxRewTJVPsYuaAOyAunDqFf3epQJDWpDsOycVOH5dGsUofz5xGjDs+8f0Edkajfc8hImAOLYwQMPwTVgNngqlrAH+xWG+ANprH29v2jYMsBsDd4qMhdtUoI9aqUkLxVGjcbVQaz9KpM3JSrLLO7qrI5lUnlcKhhlUdVsyrf5I1TBXm1daqQT79HFbPqPz5ED38gPAYCjDt4oSJ4DfpUAiaDQpUCowGX0e9tSGHLAWswcYhWC5jXXnrlg2SQr3lvGc6QCDIYYTJQmDUr+lucSdoz01k1IyO/k8qZko/2XFIKLjWdHuwLcJJhBpgWLYPdB2ivYYebfpc/nbTOD7oKku4BKhBDYbzlhmOFMg5uMcetSdSDIf6N3jgblG8f39Z4gBtFi51E6cGIM2wJ8Erq5fNP4gtOWDv7Uly5xSkkzqv7/gf/vYL3pVxz9oQkW0EdHARG76cAvkKT9YgFuAgBD+zdwCwrpSsPBBHg94aYwEGS0hMIsKSsyvc5VVNitQEsfvRCRXYKm/Y4VxTb9oCMF4KEIwB3dSEekE7kgoggLTmA4aIuuKcHshN2HQ7KxR47ULhfIRh4n2UyBAEvLOarKJOlv6wHYylNhIwMmVvNYIACKYDxmdKUZNQ6GdilnZoymEGATBvClBlaZFymhAHbDWCYBTiYAeuBDyd95kk8e2KkAIPL3hoVwdyzlWDkNFNGaHRQVCrfeyVGuv5gjqRDihhJYWKMgh0jHgBpCPEs+pUly06zQFmvIMGFoxTzY4oxSeMISxFYorzIlLKsMkkpamE1Y3ySKUIBF8S8pGTP6eL8ITU9peqzRu4ghPMMlaIyZYv2SwxhZISzqUQOIOeoE4KQoglkOVyzXgqG6QCDbrLGv9+2yQHtWbGGvFpmOAt25QR/25aVTIdjOjp4OIIQ1vDAhrhYMwlMsWKy3dWw4MUMrHkaViF42UVF/dy454b24xy0h4Jd5SxsMUfiuby+FnP4JmqoXaYsyv7a1lVAF+13wN/seDbdQ/kOYR6ov80JtGYlqo9K0a/BIKQWocNb4WnAZdxueS34bl49kznKZYoo1JCsGp+cZsA/b84kqdHDi0JrXCFTTNTVsYS/LQ9A3QLQ7ZrK09+083IgSAhQZnXkZQUpdsEJz/hmjyMOPr7KkhoNB7yw00kNGh22z0Vv/BcvW7MmLZLlue6qfDPNcsxsN81xzQ133XLbHd/N9dA99xWY55/jnnjksfmH8pc3uhXIV6hYkRKjSpUrU6FStSpL1PhTrXp1GjRa6pjNmjVp0epvb52AhBjIRBaykYNc6NYTGvkoQCH0BjgCirmyQAl3Hjx58ebD10J+/AXUpr1AQTDGOXuhSxkBMgrqjxFbh6d5wIsTj4AoQSKSKUEyCd6ZlD74WACqVDR0DEzTmKZy8fArVGTAxyCYGEyjll5nnbp88tm4pWU6egOX0EAhmQ0yF+rPk19NCxUqUtwXX6W3VKkyg0Pe20pVqi3pmfdeeuW1d5572zq16tSb1sUbwRQRuaOtf5fd9thrX5kSxLTfAQcdctjcLnbMObH4uqxYiXIVLilV5rIdLtgrxxX1zqnttDMd6qyootIWTeuvNCfEynDUKadVFZ3O+WLEihMvwbzprVOkSpNu5rSTvURjnESBQlYcKYVVlatQqUq1GuOEGtS/YzrnXXDRJZddcdU1192wzSPmrnUf9+qBhx557MmPWqwbmWIUg8CmlZ2O/795VJpm/QNT0GY/pjErHvxAHDjTAo4dqopyMSa76sUIR1kjSb6TLg+FaiEfvNrc1aJoOctgWa4GzI7kh+5pdv2KaVVYQPlXXO2kVpmsUVq8iYJfadzIjdTHznqDULgO26zRnWZz/5/Mo3C9s97mEVbnT9ti9Z5qMxk8nK7bHWjZQZyKAPm5S2wLcD+91oHvBmr0Lv+wZhezxyi8bcNhzjbeoZvtYg5xWncGHLzLnw7ywVNnEjil9ZtWp1bGf+ImZ1yZw6iwg870Baz/zO2APdctrMW+jna7rhpbe5LArUy/a3Vr5fw37hK4p+B+Z30HKsy3CfHU1tvT9boS4SsBkdQNlDtCWL7gz/0xkAeiP+cxNudDoYnN8X1Xm1PVKnZQLlQvVojwb9XjIfxH2JTAT/r4807qp4KueU7RbBXSS6hAGHX219XneODWgLTVvcZvWonwkBHSsqU0u57l3eSUu8vYWmaE31UOR/QEyNBxlYsewCp0ohZZcNeZawtwHcFC+KoJLiZF8YBDBSPDVh0ckA14cF+Uo6f5iwgYYGMU6861xy87q2wQaWSIfcxt4vooP45vZCYwfrjfmM/HTvkN5U45fiewkhmuEviRxJ0+3B8eNDnOZMm0q28Jg+92ld14rm/Srp5aOS6dODigkbH6t58xvjgtM1dgagZcDHojEwNyjcEjoJbRN3kWwYswdFl3unkMwhXSrQnMgNbv/MjP/NLHbkYF5JwhEN99MqKhMKaDHru6PF6XRu8bJYSVIuDZLg6nSgKCgU5MIbdjyQvZQgeUFHQ6073QphJjFeNh/bnEcJjiWRZraNyc8HrK29sUVZrHqemdMsP9+wwubz7urfzd+2XqOK2ruHyOThfUj8+SjB+7aXF5k0R9oIs+4TnCDFnITla1hX06X/n4lPSA6cHKxiUI1Sd8hXbwJWqQjNOWibIJjp98/IrW6d3dAqUeuPgGAA==) format('woff2')}
@font-face{font-family:'Cabinet Grotesk';size-adjust:86%;font-style:normal;font-weight:700;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2')}

/* Celebrate Event Rentals: Direction A "Warm Editorial"
   Brand applied 2026-07-22: real logo + brand pink #ea326e (single locked accent).
   Cormorant Garamond + Inter · ivory / warm ink / brand pink / greige neutral */

:root{
  --ivory:#FAF6EF;
  --ivory-deep:#F2EBDE;
  --ink:#221D16;
  --mut:#6E6455;
  --bronze:#ea326e;        /* brand pink (accent) */
  --bronze-deep:#c81e59;   /* deep pink (hover) */
  --sage:#9C9488;          /* warm greige neutral (secondary, not a 2nd accent) */
  --sage-soft:rgba(234,50,110,.07); /* soft pink band tint */
  --line:rgba(34,29,22,.16);
  --serif:'Cabinet Grotesk','Inter',system-ui,sans-serif;
  --sans:'Inter',-apple-system,'Segoe UI',sans-serif;
  /* height of the phone action bar. ONE number, because four rules need it and they
     must not drift: the bar's tabs, the padding at the foot of the document, the
     toast's offset, and the hamburger panel's bottom padding. Declared at the root
     rather than inside the phone media query so a future consumer outside that query
     does not silently resolve to an invalid calc(). */
  --mbar-h:60px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.75;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* type */
h1,h2,h3,.serif{font-family:var(--serif);font-weight:500;letter-spacing:-.01em;line-height:1.08}
h1{font-size:clamp(46px,7.2vw,92px)}
h2{font-size:clamp(34px,4.6vw,58px)}
h3{font-size:clamp(24px,2.6vw,30px)}
em{font-style:italic}
.label{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze-deep)}
.caption{font-family:var(--sans);font-style:italic;font-size:16px;color:var(--mut)}
.lead{font-size:clamp(19px,1.7vw,22px);color:var(--mut);max-width:56ch}
p{max-width:64ch}

/* utility bar (secondary nav) */
.util{background:#1A150F;color:#D8CFC0}
/* padding-top/bottom, NOT the `9px 0` shorthand this used to be. Every one of these
   elements also carries .wrap, and a shorthand here resets .wrap's side gutter to zero,
   so the price-match line ran flush to both screen edges on every page. Same bug was in
   .gpagehead and .f-bottom. Any rule on a .wrap companion sets padding one axis at a time. */
.util-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:9px;padding-bottom:9px;font-size:13.5px}
.util-note{color:#B7AC99;letter-spacing:.01em;max-width:none}
/* wraps rather than pushing the page sideways. Six items (three links, the phone and two
   icons) do not fit a 320px screen at any size a person can read, and this bar was already
   forcing 10px of horizontal scroll on every page at that width before the type went up. */
.util-right{display:flex;align-items:center;gap:6px 20px;flex-wrap:wrap;justify-content:flex-end}
.util-phone{font-weight:600;letter-spacing:.03em;color:#FBF7EF}
.util-phone:hover{color:var(--bronze)}
.util-link{font-size:13.5px;font-weight:500;letter-spacing:.03em;color:#B7AC99}
.util-link:hover{color:var(--bronze)}
.soc{display:inline-flex;align-items:center;justify-content:center;color:#B7AC99;line-height:0;transition:color .16s ease}
.soc:hover{color:var(--bronze)}

/* nav */
.nav{border-bottom:1px solid var(--line);background:var(--ivory);position:sticky;top:0;z-index:50}
.nav-in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:18px 0}
.wordmark{display:block;width:min(206px,52vw);height:48px;background:url(assets/logo.png) no-repeat left center;background-size:contain}
.wordmark span{display:none}
.nav-links{display:flex;gap:22px;align-items:center;list-style:none;justify-self:center}
.nav-links a{font-size:15px;font-weight:500;letter-spacing:.06em;padding:6px 2px;border-bottom:2px solid transparent}
.nav-links a:hover{border-bottom-color:var(--bronze)}
.nav-links a.active{border-bottom-color:var(--ink)}
.nav-actions{justify-self:end;display:flex;align-items:center;gap:18px}
.search-tgl,.cart-tgl{background:none;border:none;cursor:pointer;color:var(--ink);display:inline-flex;padding:6px}
.search-tgl:hover,.cart-tgl:hover{color:var(--bronze-deep)}
.search-bar{position:absolute;left:0;right:0;top:100%;background:var(--ivory);border-bottom:1px solid var(--line);box-shadow:0 18px 40px rgba(34,29,22,.1);z-index:55}
.search-bar form{display:flex;gap:12px;max-width:1180px;margin:0 auto;padding:16px 32px}
.search-bar input{flex:1;font-family:var(--sans);font-size:15px;padding:12px 14px;border:1px solid var(--line);background:#fff;color:var(--ink)}
.search-bar input::placeholder{color:var(--mut)}
.search-bar input:focus{outline:none;border-color:var(--bronze)}

/* mega menu */
.has-mega>a{display:inline-flex;align-items:center;gap:7px}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--ivory);border-bottom:1px solid var(--line);box-shadow:0 26px 50px rgba(34,29,22,.14);opacity:0;visibility:hidden;transition:opacity .16s ease .22s,visibility 0s linear .4s;z-index:60}
.has-mega:hover .mega,.has-mega:focus-within .mega{opacity:1;visibility:visible;transition-delay:.06s,0s}
/* 28px, not 36px. Five columns pay the gap four times, so the wider gutter cost each column
   ~7px, and at 1024 that was the difference between "Entertainment & Games" sitting on one
   line and breaking onto two once the links went up to 15px. The separation still reads. */
.mega-in{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;padding-top:30px;padding-bottom:22px}
/* align-content:start matters. The columns are grid items stretched to the tallest
   column, so without it the implicit rows stretch too and a 4 link column renders
   its links in taller boxes than a 6 link column. The gap stays 11px either way,
   which is why a gap measurement passes, but the text pitch visibly drifts column
   to column. Caught in a screenshot, not by the numbers. */
.mg-col{display:grid;row-gap:11px;align-content:start}
.mg-h{display:block;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze-deep);margin-bottom:1px}
.mg-col a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:14.5px;font-weight:500;letter-spacing:.01em;padding:2px 0;border-bottom:2px solid transparent}
.mg-col a i{font-style:normal;color:var(--mut);font-size:12.5px}
.mg-col a:hover{color:var(--bronze-deep);border-bottom-color:transparent}
.mega-foot{background:var(--bronze)}
.mega-foot a{display:block;text-align:center;padding:15px 20px;color:#fff;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;border-bottom:none}
.mega-foot a:hover{background:var(--bronze-deep);color:#fff}
.btn{display:inline-block;background:var(--bronze);color:#fff;font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.08em;padding:14px 29px;border-radius:0;border:1px solid var(--bronze);transition:background .18s ease}
.btn:hover{background:var(--bronze-deep)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--ivory)}
.nav-m{display:none}

/* hero: the caption edge (signature) */
.hero{position:relative}
.hero-img{height:min(74vh,680px);overflow:hidden;position:relative}
.hero-img img,.hero-vid{width:100%;height:100%;object-fit:cover;filter:saturate(.92) sepia(.08) contrast(.98)}
.hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(34,29,22,.18),rgba(34,29,22,0) 40%,rgba(34,29,22,.12))}
.hero-cap{position:absolute;top:26px;right:34px;color:#FBF7EF;font-family:var(--sans);font-style:italic;font-size:16px;text-shadow:0 1px 8px rgba(34,29,22,.5)}
.hero-state{margin-top:-118px;position:relative;z-index:2}
.hero-panel{background:var(--ivory);padding:44px 52px 0 0;max-width:820px}
.hero-panel .label{display:block;margin-bottom:18px}
.hero-panel h1{margin-bottom:22px}
.hero-panel .lead{margin-bottom:30px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;padding-bottom:8px}
@media (prefers-reduced-motion:no-preference){
  .hero-panel{animation:rise .9s cubic-bezier(.22,.9,.26,1) both}
  @keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
}

/* section rhythm */
section{padding:84px 0}
.sect-head{margin-bottom:52px}
.sect-head .label{display:block;margin-bottom:14px}

/* how it works: numbered circles on a connecting line */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:14px;position:relative}
.steps::before{content:"";position:absolute;top:26px;left:12.5%;right:12.5%;height:2px;background:var(--bronze)}
.step{text-align:center}
.step .num{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--bronze);color:#fff;font-family:var(--serif);font-size:26px;font-weight:600}
.step h3{margin:16px 0 8px;font-size:24px}
.step p{font-size:16px;color:var(--mut);margin:0 auto;max-width:30ch}

/* editorial collection rows */
.rows{display:flex;flex-direction:column;gap:76px}
.row{display:grid;grid-template-columns:7fr 5fr;gap:56px;align-items:center}
.row:nth-child(even){grid-template-columns:5fr 7fr}
.row:nth-child(even) .row-img{order:2}
.row-img{position:relative}
.row-img img{width:100%;height:420px;object-fit:cover;border-radius:0;filter:saturate(.92) sepia(.07)}
.row-img .caption{margin-top:10px}
.row-txt .label{display:block;margin-bottom:12px}
.row-txt h3{font-size:clamp(28px,3vw,38px);margin-bottom:14px}
.row-txt p{color:var(--mut);margin-bottom:18px}
.textlink{font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--bronze);padding-bottom:3px}
.textlink:hover{color:var(--bronze-deep)}

/* statement band */
.statement{background:var(--sage-soft);text-align:center;padding:96px 0}
.statement h2{max-width:21ch;margin:0 auto 18px}
.statement p{margin:0 auto;color:var(--mut);max-width:52ch}

/* planning from afar */
.afar-grid{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:center}
.afar-grid h2{font-style:italic;font-weight:500}
.afar-grid .body p{margin-bottom:16px;color:var(--mut)}
.afar-grid .body strong{color:var(--ink);font-weight:600}

/* trust + corporate */
.trustline{text-align:center;padding:66px 0}
.trustline .rule{width:56px;height:2px;background:var(--bronze);margin:0 auto 26px}
.trustline p{font-family:var(--serif);font-size:clamp(22px,2.6vw,30px);line-height:1.4;max-width:34ch;margin:0 auto;color:var(--ink)}
.corp{padding:0 0 84px}
.corp p{color:var(--mut);font-size:17px;max-width:58ch}
.corp strong{color:var(--ink)}

/* closing cta */
.closing{background:var(--ink);color:var(--ivory);text-align:center;padding:96px 0}
.closing h2{color:var(--ivory);margin-bottom:26px;max-width:18ch;margin-left:auto;margin-right:auto}
.closing .btn{background:var(--bronze);border-color:var(--bronze)}

/* reviews */
.rev-head{margin-bottom:40px}
.rev-head .lead{margin-top:14px}
.rev-carousel{display:flex;align-items:stretch;gap:14px}
.rev-viewport{flex:1;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;min-width:0}
.rev-viewport::-webkit-scrollbar{display:none}
.rev-track{display:flex;gap:24px}
.rev{flex:0 0 calc(50% - 12px);scroll-snap-align:start;background:#fff;border:1px solid var(--line);padding:26px 28px;display:flex;flex-direction:column}
.rev-top{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.rev-av{width:44px;height:44px;border-radius:50%;background:var(--bronze);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:21px;flex:none}
.rev-who{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.rev-name{font-weight:600;font-size:15.5px;letter-spacing:.02em}
.rev-meta{font-size:13.5px;color:var(--mut);letter-spacing:.04em}
.rev-g{flex:none}
.rev-stars{display:block;color:#FBBC04;letter-spacing:3px;font-size:15px;margin-bottom:10px}
.rev blockquote{font-family:var(--sans);font-size:19px;line-height:1.55;font-style:italic;color:var(--ink);max-width:none;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.rev-nav{flex:none;align-self:center;width:44px;height:44px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:border-color .16s ease,color .16s ease}
.rev-nav:hover{border-color:var(--bronze);color:var(--bronze-deep)}
.rev-cta{display:inline-block;margin-top:30px}
@media (max-width:820px){.rev{flex-basis:100%}}

/* faq */
.faq{max-width:880px}
.fq{border:1px solid var(--line);background:#fff;margin-bottom:14px}
.fq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 24px;font-family:var(--serif);font-size:22px;font-weight:500}
/* round 11: each question is an h3 so the page has a real heading tree. The h3 has
   to inherit the summary's type or it renders at h3 scale and breaks the accordion
   rhythm. The native disclosure is untouched: the heading sits inside <summary>. */
.fq summary h3{font:inherit;letter-spacing:inherit;line-height:1.35;margin:0}
.fq-group{font-size:clamp(21px,2.2vw,26px);margin:44px 0 16px;letter-spacing:0}
.fq-group:first-child{margin-top:0}
.fq summary::-webkit-details-marker{display:none}
.fq summary::after{content:"+";color:var(--bronze);font-size:24px;line-height:1;flex:none}
.fq[open] summary::after{content:"\2212"}
.fq p{padding:0 24px 20px;color:var(--mut);font-size:16.5px;max-width:70ch}
.faqprev .textlink{display:inline-block;margin-top:10px}

/* catalog */
.page-head{padding:72px 0 30px}
.page-head h1{font-size:clamp(42px,5.6vw,72px);margin:14px 0 18px}
.feat-band{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin:26px 0 0}
.feat{position:relative;border-radius:0;overflow:hidden}
.feat img{height:230px;width:100%;object-fit:cover;filter:saturate(.9) sepia(.08);transition:transform .35s ease}
.feat:hover img{transform:scale(1.03)}
.feat span{position:absolute;left:14px;bottom:12px;color:#FBF7EF;font-family:var(--serif);font-size:20px;text-shadow:0 1px 10px rgba(34,29,22,.65)}
.feat::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(34,29,22,.55))}
/* minmax(min(Npx,100%),1fr), never minmax(Npx,1fr). A bare pixel minimum is a floor the
   track cannot go under, so on a 320px phone the widest of these (300px on .jperks) pushed
   the whole document 4px sideways and jobs.html scrolled horizontally. The min() lets the
   track collapse to the container when the container is the smaller of the two. Applied to
   all four auto-fit/auto-fill grids, not just the one that happened to be caught. */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:26px}
.cat{border:1px solid var(--line);border-radius:0;overflow:hidden;background:#fff;transition:box-shadow .2s ease}
.cat:hover{box-shadow:0 10px 30px rgba(34,29,22,.1)}
.cat img{height:190px;width:100%;object-fit:cover;filter:saturate(.9)}
.cat-body{padding:16px 18px 18px}
.cat-body h3{font-size:23px;line-height:1.15}
.cat-body .count{font-size:13.5px;color:var(--mut);letter-spacing:.04em;margin-top:4px;display:block}
.cat.newcat .cat-ph{height:190px;background:linear-gradient(135deg,var(--sage-soft),var(--ivory-deep));display:flex;align-items:center;justify-content:center}
.cat.newcat .cat-ph span{font-family:var(--sans);font-style:italic;font-size:19px;color:var(--sage)}
.newpill{display:inline-block;background:var(--sage);color:#fff;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:3px 9px;border-radius:0;margin-bottom:6px}

/* embed zone + wishlist */
.embed-zone{position:relative}
.mock-items{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.mock{border:1px solid var(--line);border-radius:0;background:#fff;overflow:hidden}
.mock img{height:170px;width:100%;object-fit:cover}
.mock-b{padding:13px 15px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.mock-b span{font-size:15px;font-weight:500}
.addbtn{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--bronze-deep);border:1px solid var(--bronze);padding:6px 12px;border-radius:0;background:transparent;cursor:pointer}
.addbtn:hover{background:var(--bronze);color:#fff}
.wl-grid{display:grid;grid-template-columns:7fr 5fr;gap:44px;align-items:start}
.wishlist{border:1px solid var(--line);border-radius:0;background:#fff;padding:26px}
.wishlist h3{font-size:24px;margin-bottom:4px}
.wishlist .caption{display:block;margin-bottom:18px}
.wl-item{display:flex;gap:14px;align-items:center;padding:10px 0}
.wl-item img{width:58px;height:58px;object-fit:cover;border-radius:0}
.wl-item span{font-size:15.5px}
.wishlist .btn{width:100%;text-align:center;margin-top:18px}
.wl-note{font-size:14px;color:var(--mut);margin-top:12px;line-height:1.6}

/* about */
.story{display:grid;grid-template-columns:5fr 6fr;gap:64px}
.story .body p{margin-bottom:18px;color:var(--mut)}
.story .body p strong{color:var(--ink)}
.pull{font-family:var(--sans);font-style:italic;font-size:clamp(24px,2.8vw,32px);line-height:1.35;color:var(--ink);border-left:2px solid var(--bronze);padding-left:26px;margin:8px 0}
.moments{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:56px}
.moments figure img{height:340px;width:100%;object-fit:cover;border-radius:0;filter:saturate(.9) sepia(.06)}
.moments figcaption{margin-top:10px}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:16px}
.tm{text-align:center}
.tm .ph{width:120px;height:120px;border-radius:0;background:var(--ivory-deep);border:1px solid var(--line);margin:0 auto 14px;display:flex;align-items:center;justify-content:center}
.tm .ph span{font-family:var(--sans);font-style:italic;font-size:14px;color:var(--mut)}
.tm h3{font-size:22px}
.tm .caption{display:block}
.venues{background:var(--sage-soft);padding:70px 0}
.venue-list{display:flex;flex-wrap:wrap;gap:14px 34px;margin-top:22px}
.venue-list span{font-family:var(--sans);font-size:20px;color:var(--mut);font-style:italic}
.towns{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:22px}
.towns span{font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.towns span::before{content:"·";color:var(--bronze);margin-right:10px}
.towns span:first-child::before{content:""}

/* footer */
footer{background:var(--ink);color:#CFC6B8;padding:64px 0 40px;font-size:15px}
.f-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:44px}
.f-grid .wm-main{display:block;width:196px;height:44px;background:url(assets/logo-white.png) no-repeat left center;background-size:contain;font-size:0;text-indent:-9999px;margin-bottom:16px}
.f-grid .wm-sub{display:none}
.f-grid ul{list-style:none}
.f-grid li{margin-bottom:9px}
.f-grid a:hover{color:var(--ivory)}
.f-label{font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#8E8272;margin-bottom:14px}
.f-map{overflow:hidden;height:100%;min-height:240px}
.f-map iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.85) contrast(.95)}
.f-nap{font-style:normal;color:#CFC6B8;line-height:1.75;margin:2px 0 16px}
.f-nap a{color:#CFC6B8}
.f-nap a:hover{color:var(--ivory);text-decoration:underline;text-underline-offset:3px}
.f-soc{display:flex;gap:14px}
.f-soc .soc{color:#8E8272}
.f-soc .soc:hover{color:var(--bronze)}
.copybar{background:#000}
.f-bottom{padding-top:16px;padding-bottom:16px;display:flex;justify-content:center;text-align:center;gap:6px 18px;flex-wrap:wrap;font-size:13.5px;color:#8E8272}

/* toast */
.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%) translateY(12px);background:var(--ink);color:var(--ivory);font-size:13.5px;padding:13px 22px;border-radius:0;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;z-index:100;max-width:92vw;text-align:center}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}

:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* responsive */
@media (max-width:960px){
  .row,.row:nth-child(even){grid-template-columns:1fr}
  .row:nth-child(even) .row-img{order:0}
  .row-img img{height:320px}
  .afar-grid,.wl-grid,.story{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr;gap:30px}
  .steps::before{display:none}
  .feat-band{grid-template-columns:1fr 1fr}
  .mock-items{grid-template-columns:1fr}
  .moments{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr 1fr}
  .f-grid{grid-template-columns:1fr 1fr}
  .f-map{grid-column:1/-1;height:240px}
}
/* The nav switches to the hamburger at 860, not at 720 with everything else.
   Its own contents decide the number: a 206px wordmark + four links + the Build a Quote
   button and two icons stop fitting a little under 800px, so between 721 and 860 the
   desktop nav was already pushing .nav-actions past the container edge (8px at 762px,
   measured, before the round 18 type bump made it 32px). The band is real tablet width,
   so the fix is to stop rendering the desktop nav in it rather than to shrink the type
   back down in the one place legibility was the point. */
@media (max-width:860px){
  /* The vertical padding is restated here because .wrap's `0 24px` inside the 720 query
     lands after .nav-in's own shorthand and wipes it, so the header was exactly as tall
     as the 48px logo and the wordmark sat hard against the top rule and the gutter. */
  .nav-in{display:flex;justify-content:space-between;align-items:center;padding-top:13px;padding-bottom:13px}
  .nav-links,.nav-actions,.mega{display:none}
  .nav-m{display:block;position:static}

  /* Mobile nav logo: 10% smaller, and lifted off the bar edges. It was 48px and
     flush top and bottom, so the swoosh clipped on the bottom rule. The vertical
     padding sits on `.nav .nav-in` (specificity 0,2,0) so the 720-query
     `.wrap{padding:0 24px}` shorthand cannot wipe it the way it wiped the 13px on
     `.nav-in` above. Horizontal gutter is left to .wrap, so the logo still lines
     up with the page. */
  .nav .wordmark{height:43px;width:min(185px,47vw)}
  .nav .nav-in{padding-block:11px}

  /* The hamburger. The markup is a <summary> carrying the word "Menu" and it is
     lifted into six generated pages, so the icon is drawn on the element rather
     than added as markup: two bars are ::before/::after (they have to rotate into
     the X) and the middle bar is a background gradient (it only has to vanish).
     font-size:0 hides the word from the page; it is still the accessible name. */
  .nav-m summary{
    list-style:none;cursor:pointer;position:relative;width:46px;height:46px;
    margin-right:-9px;font-size:0;color:transparent;z-index:120;
    background:linear-gradient(var(--ink),var(--ink)) center/23px 2px no-repeat;
    transition:background-size .18s ease;
  }
  .nav-m summary::-webkit-details-marker{display:none}
  .nav-m summary::before,.nav-m summary::after{
    content:"";position:absolute;left:50%;top:50%;width:23px;height:2px;
    background:var(--ink);transition:transform .22s cubic-bezier(.3,.9,.3,1);
  }
  .nav-m summary::before{transform:translate(-50%,-50%) translateY(-7px)}
  .nav-m summary::after{transform:translate(-50%,-50%) translateY(7px)}
  .nav-m[open] summary{background-size:0 2px}
  .nav-m[open] summary::before{transform:translate(-50%,-50%) rotate(45deg)}
  .nav-m[open] summary::after{transform:translate(-50%,-50%) rotate(-45deg)}

  /* The panel. A <details> child is display:none when closed, which kills a
     transition, so the slide is an animation: those do run on a display change. */
  .nav-m ul{
    position:fixed;top:0;right:0;bottom:0;width:min(86vw,370px);
    background:var(--ivory);border-left:1px solid var(--line);
    /* Round 22: the panel and its scrim now sit ABOVE the bottom action bar (110/105 vs
       the bar's 95). It was the other way round on the theory that the Menu tab had to
       stay live to close the panel, and it read as the menu being trapped behind the bar.
       Nothing is lost: a tap where the bar was lands on the scrim, which closes the panel.
       Because the bar no longer overlaps, the panel only reserves its own bottom breathing
       room here instead of the bar's height.
       No padding-top: .mm-top is the spacer, because a sticky child cannot be pinned
       above its containing block and the containing block starts after the padding.
       With 92px of padding here the band pinned at 92 and covered a category row. */
    list-style:none;margin:0;padding:0 0 calc(30px + env(safe-area-inset-bottom));
    overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:110;
    box-shadow:-14px 0 44px rgba(34,29,22,.18);
    animation:mpanel .26s cubic-bezier(.22,.9,.26,1) both;
  }
  @keyframes mpanel{from{transform:translateX(100%)}to{transform:none}}
  /* The scrim rides on <details> itself so that no extra element has to be added to
     six generated pages. It CANNOT ride on the panel: the panel is a stacking context
     (position + z-index), so a z-index:-1 pseudo inside it paints over the panel's own
     background and under its links, which reads as a see-through menu. `.nav-m` is
     position:static here on purpose, so this pseudo lands in the header's context and
     stacks against the panel normally. */
  .nav-m[open]::before{
    content:"";position:fixed;inset:0;background:rgba(26,21,15,.45);
    z-index:105;animation:mfade .26s ease both;
  }
  @keyframes mfade{from{opacity:0}to{opacity:1}}
  .nav-m li a{display:block;padding:14px 26px;font-size:17px;font-weight:500}
  .nav-m li a:active{background:var(--ivory-deep)}
  /* the page must not scroll behind an open panel */
  body:has(.nav-m[open]){overflow:hidden}
  /* THIS is what actually puts the panel over the bottom bar. The panel is position:fixed
     but .nav-m is static, so its z-index:110 resolves inside the HEADER's stacking context
     (.nav is sticky with z-index:50) — and 50 loses to the bar's 95 at the root no matter
     how large the number inside is. Raising the header itself is the only lever that works.
     Only while open, so the header keeps its normal 50 the rest of the time. */
  header.nav:has(.nav-m[open]){z-index:120}
}
@media (max-width:720px){
  .wrap{padding:0 24px}
  section{padding:60px 0}
  .util-note{display:none}
  .hero-img{height:56vh}
  .hero-state{margin-top:-70px}
  .hero-panel{padding:26px 22px 0 0}
  .steps{grid-template-columns:1fr}
  .feat-band{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr}
  .f-grid{grid-template-columns:1fr}
  .hero-cap{font-size:13px;right:18px;top:16px}
  .btn{padding:14px 24px}
}

/* round 6: cart flow (nav, drawer, cart, checkout) */
.nav-actions .btn{padding:10px 20px}
.cart-tgl{position:relative}
.cart-count{position:absolute;top:-3px;right:-5px;min-width:15px;height:15px;padding:0 3px;background:var(--bronze);color:#fff;font-family:var(--sans);font-size:9.5px;font-weight:600;line-height:15px;text-align:center;letter-spacing:0}
gspro-wishlist,.gspro-c-item-card__wishlist-count{display:none!important}
.cartoverlay{position:fixed;inset:0;background:rgba(0,0,0,.38);z-index:200}
.cartdrawer{position:fixed;top:0;right:0;height:100dvh;width:min(400px,92vw);background:var(--ivory);border-left:1px solid var(--line);z-index:201;display:flex;flex-direction:column;transform:translateX(103%);transition:transform .3s ease}
.cartdrawer.open{transform:none}
.cd-head{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid var(--line)}
.cd-title{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.cd-close{background:none;border:none;font-size:24px;line-height:1;cursor:pointer;color:var(--ink);padding:2px 8px}
.cd-close:hover{color:var(--bronze-deep)}
.cd-items{flex:1;overflow-y:auto;padding:4px 22px}
/* round 13: remove on the left of the thumbnail, quantity on the right, one action per
   side. Both stacked on the right made a 400px drawer read as a controls strip with a
   picture attached, and left nothing for the name. The X track is 20px and the stepper
   is the small variant, which buys the title ~150px instead of ~120. */
.cd-row{display:grid;grid-template-columns:20px 56px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.cd-thumb{width:56px;height:42px;object-fit:cover;background:var(--line);display:block}
.cd-name{font-size:14.5px;font-weight:600;line-height:1.35}
/* same treatment as .cq-x on the quote page: muted at rest, brand pink on intent. A
   delete that is pink before you reach for it reads as the row's main event. */
/* min-height, not padding: the row is already 66px tall because of the thumbnail, so
   the button can fill it and cost no layout. Measured at 20x25 before this, which is
   a thumb-sized miss on a phone. */
.cd-x{background:none;border:none;cursor:pointer;font-size:17px;line-height:1;color:var(--mut);padding:0;width:20px;min-height:40px;text-align:center}
.cd-x:hover,.cd-x:focus-visible{color:var(--bronze-deep)}
/* Undo. No confirm dialog anywhere: a modal on every delete taxes the 95% of removals
   that are deliberate to protect the 5% that are not. Undo charges only the mistake. */
.undobar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--sage-soft);border:1px solid rgba(234,50,110,.28);padding:10px 14px;margin:12px 0 4px}
.undobar-msg{font-size:14px;color:var(--ink);line-height:1.4}
.undobar-btn{background:none;border:none;cursor:pointer;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze-deep);border-bottom:1px solid var(--bronze);padding:2px 0;flex:none}
.undobar-btn:hover{color:var(--ink);border-bottom-color:var(--ink)}
.cq .undobar{max-width:560px;margin:0 auto 22px}
/* Phone: buy the delete a real tap target out of the thumbnail's width rather than
   out of the item title, which is the only thing on the row a visitor reads. */
@media (max-width:720px){
  .cd-row{grid-template-columns:34px 46px 1fr auto;gap:8px}
  .cd-thumb{width:46px;height:36px}
  .cd-x{width:34px;min-height:44px}
}
.cd-empty{padding:30px 22px}
.cd-empty p{color:var(--mut);margin-bottom:18px}
.cd-foot{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px 22px;border-top:1px solid var(--line)}
.cd-foot .btn{text-align:center;padding:13px 8px}
.cq,.co{padding:64px 0 96px}
.cq .label,.co .label{display:block;margin-bottom:14px}
.cq h1,.co h1{margin:0 0 14px}
.cq .lead,.co .lead{margin-bottom:38px}
.cq-list{border-top:1px solid var(--line)}
.cq-row{display:grid;grid-template-columns:96px 1fr auto;gap:22px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.cq-thumb{width:96px;height:66px;object-fit:cover;background:var(--line);display:block}
.cq-name{font-weight:600;font-size:16px}
.cq-cat{display:block;font-size:13px;color:var(--mut);margin-top:3px}
/* round 11: price left, stepper fixed right. Each .cq-row is its own grid
   container, so an `auto` track resolves per row: a row carrying a price put its
   stepper 61.9px left of a row without one, measured across four rows. Fixed
   tracks make every row resolve identically, so the steppers hold a straight line
   whether pricing is switched on or off. Widths are the measured intrinsics of the
   stepper (113.66) and the remove button (22.51). */
.cq-right{display:grid;grid-template-columns:108px 114px 24px;gap:18px;align-items:center}
.qty{display:inline-flex;align-items:stretch;border:1px solid var(--line)}
.qty button{width:34px;background:none;border:none;cursor:pointer;font-size:15px;color:var(--ink);font-family:var(--sans)}
.qty button:hover{color:var(--bronze-deep)}
.qty input{width:44px;height:38px;border:none;border-left:1px solid var(--line);border-right:1px solid var(--line);text-align:center;font:inherit;font-size:14px;background:transparent;color:inherit;-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
/* the drawer's stepper. Same control, ~22px narrower, which is the difference between
   the item title getting two lines and getting four in a 400px panel. */
.qty-sm button{width:26px;font-size:14px}
.qty-sm input{width:34px;height:32px;font-size:13px}
.cq-rate{font-size:14px;color:var(--mut);white-space:nowrap;text-align:right}
.cq-x{background:none;border:none;cursor:pointer;font-size:18px;color:var(--mut);padding:6px;line-height:1}
.cq-x:hover{color:var(--bronze-deep)}
.cq-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.cq-note{font-size:14px;color:var(--mut);margin-top:14px}
.cq-empty p{color:var(--mut);margin-bottom:20px}
/* round 12: centre the CONTAINER, never the h2 string. quote.html rewrites that
   h2 to "More from <category>" at runtime, so a string-level fix is destroyed on
   render and only the container survives it. */
.related{margin-top:76px;text-align:center}
.related .label{display:block;margin-bottom:10px}
.related h2{font-size:clamp(24px,3vw,34px);margin-bottom:26px}
.rel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.rel-card{border:1px solid var(--line);display:flex;flex-direction:column}
.rel-img{aspect-ratio:4/3;object-fit:cover;width:100%;background:var(--line);display:block}
.rel-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1;align-items:center;text-align:center}
.rel-name{font-weight:600;font-size:15px;line-height:1.35}
.rel-rate{font-size:13.5px;color:var(--mut)}
.rel-add{margin-top:auto;align-self:center;padding:9px 16px;font-size:12px}
.rel-add[disabled]{opacity:.55;cursor:default}
.co-grid{display:grid;grid-template-columns:1fr 360px;gap:56px;align-items:start}
.co-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fld{display:flex;flex-direction:column;gap:6px}
.fld.full,.co-form .btn,.co-form .cq-note{grid-column:1/-1}
.fld label{font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.fld label .opt{text-transform:none;letter-spacing:0;font-weight:400}
.fld input{border:1px solid var(--line);background:transparent;padding:12px 14px;font:inherit;font-size:15.5px;color:inherit;border-radius:0}
.fld input:focus{outline:2px solid var(--bronze);outline-offset:0}
.co-form .btn{justify-self:start}
.co-form .cq-note{margin-top:0}
.co-sum{border:1px solid var(--line);padding:22px 24px}
.co-sum h2{font-size:19px;margin-bottom:12px}
.co-sum ul{list-style:none}
.co-sum li{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.co-sum li:last-child{border-bottom:none}
.co-sum li span:last-child{color:var(--mut);white-space:nowrap}
.co-edit{display:inline-block;margin-top:14px;font-size:13.5px;text-decoration:underline;text-underline-offset:3px}
.co-edit:hover{color:var(--bronze-deep)}
.co-ok{border:1px solid var(--line);padding:34px;max-width:640px}
.co-ok h2{margin-bottom:12px}
.co-ok p{color:var(--mut);margin-bottom:10px}
.co-ok-note{font-size:13.5px}
.co-ok .btn{margin-top:12px}
@media (max-width:900px){.rel-grid{grid-template-columns:repeat(2,1fr)}.co-grid{grid-template-columns:1fr;gap:34px}}
@media (max-width:700px){.cq-row{grid-template-columns:72px 1fr}.cq-thumb{width:72px;height:52px}.cq-right{display:flex;grid-column:2;justify-content:flex-start;flex-wrap:wrap;gap:12px}.cq-rate{text-align:left}.co-form{grid-template-columns:1fr}}

/* round 7: home revamp, Gallatin direction */
.hero-full{position:relative;height:min(86vh,820px);min-height:540px;overflow:hidden}
.hero-full .hero-vid,.hero-full>video img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.92) sepia(.08) contrast(.98)}
.hero-full::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,20,15,.62),rgba(34,29,22,.18) 48%,rgba(34,29,22,.5))}
.hero-over{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 26px}
.hero-over .label{color:#F3E9DC;margin-bottom:20px}
.hero-over h1{color:#FBF7EF;max-width:19ch;margin-bottom:20px;text-shadow:0 1px 14px rgba(34,29,22,.35)}
.hero-over h1 em{color:#FBF7EF}
.hero-over .lead{color:#F3E9DC;max-width:62ch;margin-bottom:32px;text-shadow:0 1px 10px rgba(34,29,22,.4)}
.hero-over .hero-ctas{justify-content:center}
.btn.ghost.light{color:#FBF7EF;border-color:#FBF7EF}
.btn.ghost.light:hover{background:#FBF7EF;color:var(--ink)}
.pillarsec{padding:78px 0 84px}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
/* The three pillars carry different copy lengths, and the grid stretches them to equal
   height, so without this the three underlined links land at three different heights and
   the row reads as ragged. Push the link to the foot of its own column instead of
   tuning paragraph lengths to match, which only holds at one viewport width. */
.pillar{border-top:1px solid var(--ink);padding-top:26px;display:flex;flex-direction:column}
.pillar .textlink{margin-top:auto;align-self:flex-start}
.pillar h3{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;margin-bottom:14px}
.pillar p{font-size:16.5px;color:var(--mut);margin-bottom:20px}
/* Trust badges. They sit at the foot of the pillars rather than in the footer, so the
   credentials land in the same viewport as the three ways in, where somebody deciding
   whether to trust us is still looking. The six logos arrive from the old site as white
   JPGs in six unrelated color systems, so `multiply` drops the white box onto the ivory
   and grayscale holds the row together as one quiet line; color returns on hover and
   focus. Capped on BOTH axes on purpose: height alone gives the two wide wordmarks
   (NFIB at 732x200, ARA at 674x200) roughly three times the optical width of the square
   chamber marks, and the row reads as two logos and four afterthoughts. */
.badgerow{margin-top:64px;text-align:center}
.badgerow .label{display:block;margin-bottom:22px}
.badges{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:26px 46px}
.badges img{max-width:118px;max-height:52px;width:auto;height:auto;mix-blend-mode:multiply;filter:grayscale(1);opacity:.72;transition:filter .22s ease,opacity .22s ease}
.badges a:hover img,.badges a:focus-visible img{filter:none;opacity:1}
.badges a:focus-visible{outline:2px solid var(--bronze);outline-offset:6px}
@media (prefers-reduced-motion:reduce){.badges img{transition:none}}
.bigband{position:relative;padding:0 0 96px}
.bb-img{width:100%;height:min(76vh,700px);object-fit:cover;display:block}
.bigband.bw .bb-img{filter:grayscale(1) contrast(1.03)}
.bb-card{position:relative;z-index:2;background:var(--ivory);border:1px solid var(--line);padding:46px 50px;max-width:600px;margin:-200px auto 0 7vw}
.bb-card.right{margin:-200px 7vw 0 auto}
.bb-card .label{display:block;margin-bottom:16px}
.bb-card h2{margin-bottom:16px}
.bb-card p{color:var(--mut);margin-bottom:24px}
.bb-card .btn{margin-bottom:0}
.bb-alt{font-size:14.5px;margin:16px 0 0 !important}
.bb-alt a{border-bottom:1px solid var(--bronze)}
/* The 96px stays on desktop and comes off below 980 (see that query). Operator ruling,
   2026-08-29, after seeing both: side by side the strip is image / quote / image, and it
   needs the ivory under it to read as its own band rather than as the top of the photo
   below. Stacked, the trailing image is dropped, so the quote runs straight into that
   photo and the padding would be a gap in the middle of one continuous column. Same rule,
   opposite answer, because the layout underneath it is not the same layout. */
.midstrip-sec{padding:0 0 96px}
.midstrip{display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:stretch;background:var(--sage-soft)}
.midstrip>img{width:100%;height:100%;min-height:420px;object-fit:cover}
.ms-quote{display:flex;flex-direction:column;justify-content:center;text-align:center;padding:60px 46px}
.ms-quote h2{margin-bottom:16px}
.ms-quote p{color:var(--mut);margin:0 auto;max-width:44ch}
.hiwsec{padding:0 0 96px}
.hiw{display:grid;grid-template-columns:120px 1fr;border:1px solid var(--ink)}
.hiw-tag{background:var(--ink);display:flex;align-items:center;justify-content:center;padding:30px 0}
.hiw-tag span{writing-mode:vertical-rl;transform:rotate(180deg);color:#FBF7EF;font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;white-space:nowrap}
.hiw-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;padding:48px 46px 30px}
.hs h3{font-family:var(--sans);font-size:13.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--bronze);padding-bottom:10px;margin-bottom:12px}
.hs p{font-size:15px;color:var(--mut);margin:0}
.hiw-note{padding:0 46px 40px;font-family:var(--sans);font-style:italic;font-size:17px;color:var(--mut);margin:0}
.hiw-note a{border-bottom:1px solid var(--bronze)}
.sect-head.center{text-align:center}
.sect-head.center .lead{margin:14px auto 0;max-width:62ch}
.center-cta{text-align:center;margin-top:40px}
.newarr{padding:0 0 96px}
.na-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.na-card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}
.na-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.na-body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center}
.na-name{font-family:var(--serif);font-size:21px;font-weight:600;line-height:1.25}
.na-rate{font-size:14.5px;color:var(--mut)}
.na-body .addbtn{margin-top:8px}
.galsec{padding:0 0 96px}
/* round 12: full-bleed seamless marquee, replacing the 4-up grid. The track holds
   two identical halves; the second is aria-hidden and exists only so the loop point
   is invisible.
   NO `gap` on the track. A flex container with gap yields N-1 gaps, which makes the
   two halves unequal widths, so translateX(-50%) lands mid-gap and the loop visibly
   stutters once per cycle. margin-right on EVERY item (including the last) keeps the
   halves exactly equal, which is what makes -50% the true seam.
   68s and linear on purpose: easing makes the loop point legible, and ~20s reads as
   a clearance carousel rather than a luxury drift. */
/* round 13: the drift is driven by scrollLeft, not by a transform.
   A transform-animated track cannot be grabbed: the scroll region never moves, so a
   drag either does nothing or exposes blank space at the far right mid-cycle. Moving
   the same motion onto a real scroll container makes grab-to-scroll, wheel, trackpad,
   touch-drag with momentum, and keyboard arrows all work for free, because they are
   the browser's own scrolling. See gallery-scroll in index.html for the loop. */
.galmarq{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain;cursor:grab}
/* scroll-behavior is not inherited, so <html>'s `smooth` never reached here. Pinned
   anyway: a smooth scroller would ease every one of the 60 wrap jumps a minute into a
   visible slide. */
.galmarq{scroll-behavior:auto}
.galmarq::-webkit-scrollbar{display:none}
.galmarq.dragging{cursor:grabbing}
.galmarq.dragging .galtrack{user-select:none}
.galtrack{display:flex;width:max-content}
.galtrack img{flex:0 0 auto;width:clamp(210px,23vw,320px);height:clamp(280px,30vw,410px);object-fit:cover;display:block;margin-right:14px;filter:saturate(.94);-webkit-user-drag:none;user-select:none}
.galmarq:focus-visible{outline:2px solid var(--bronze);outline-offset:-2px}
/* Reduced motion: the drift never starts, so the clones are a duplicated row sitting
   in the scroll region with nothing to do. Drop them and it reads as one plain strip
   that still scrolls by hand. */
/* `.galtrack img` is (0,1,1) and sets display:block, so a bare `.galclone` (0,1,0)
   loses on specificity no matter where it sits in the file. Qualify it, or reduced
   motion renders a frozen DOUBLED row — which is the one outcome this rule exists
   to prevent, and it fails silently. Verified by computing the styles, not by
   reading the cascade. */
@media (prefers-reduced-motion:reduce){.galtrack img.galclone{display:none}}
/* item 4: the CTA sits closer to the images than the 40px default */
.galsec .center-cta{margin-top:28px}
/* round 13: the home page's lower half breathed too hard. Section padding stacks, so
   the gap between two neighbours is the sum of both: galleries to reviews was 96+84,
   reviews to FAQ and FAQ to Instagram were 84+84. These four values pull those three
   joints to 110, 116 and 116, roughly a third out, without touching the rhythm of the
   page above the galleries. */
.galsec{padding-bottom:52px}
.reviews{padding:58px 0}
.faqprev{padding:58px 0}
.igband{padding-top:58px}
.rev3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.rev3 .rev{flex:none}
.reviews .center-cta{margin-top:36px}
.faqprev.center .sect-head{text-align:center}
.faqprev.center .faq{max-width:780px;margin:0 auto}
@media (max-width:980px){
  .pillars{grid-template-columns:1fr;gap:34px}
  .midstrip{grid-template-columns:1fr}
  .midstrip>img{min-height:300px}
  /* Stacked, the strip reads image / quote / image, and the section directly below opens
     with its own full-bleed image — so the chandelier shot and the first-dance shot ran
     back to back with nothing between them. Drop the trailing one and let the quote run
     straight into the band below, which is the image that carries the "Planning from
     afar" card and is the one doing the work. Side by side on a desktop both images
     frame the quote, so this is a phone-and-tablet edit only. */
  .midstrip>img:last-child{display:none}
  .midstrip-sec{padding-bottom:0}
  .hiw-steps{grid-template-columns:repeat(2,1fr);padding:38px 32px 22px}
  .hiw-note{padding:0 32px 32px}
  .na-grid{grid-template-columns:repeat(2,1fr)}
  .rev3{grid-template-columns:1fr}
  .bb-card{margin:-140px 20px 0;padding:34px 30px}
  .bb-card.right{margin:-140px 20px 0}
  .bb-img{height:min(56vh,480px)}
}
@media (max-width:560px){
  .hiw{grid-template-columns:1fr}
  .hiw-tag{padding:14px 0}
  .hiw-tag span{writing-mode:horizontal-tb;transform:none}
  .hiw-steps{grid-template-columns:1fr}
  .na-grid{grid-template-columns:1fr}
  .hero-full{min-height:480px}
  /* Six logos on a phone want two rows of three. Flex wrap gives four-and-two, because
     the marks are six different widths and it fills each row until it runs out. A
     three-column grid is the only thing that makes the break deterministic. */
  .badgerow{margin-top:46px}
  .badges{display:grid;grid-template-columns:repeat(3,1fr);place-items:center;gap:24px 14px}
  .badges img{max-width:88px;max-height:40px}
}

/* round 8: cart + checkout centering */
.cq .label,.cq h1,.cq .lead,.cq-note,.cq-empty{text-align:center}
.cq .lead,.co .lead{margin-left:auto;margin-right:auto}
.cq-actions{justify-content:center}
.co .label,.co h1,.co .lead,.co-form .cq-note{text-align:center}
.co-form .btn{justify-self:stretch;width:100%}

/* round 8: gspro heart -> plus (cart language). The button + its document-level
   listeners are untouched (they record to gspro.wishlist storage = the cart);
   only the glyph is swapped. Scoped by :has() to heart-icon buttons inside the embed. */
.embed-zone button:has(use[*|href*="gspro-icon-heart"]) svg{display:none}
/* round 11: the plus is drawn as two centred bars, not typeset as a "+" character.
   A glyph centres on the font's math axis, which sits above the em box centre, so a
   text plus rides high inside its button no matter how the box is aligned. Two
   background bars on a box pinned to the button's own edges are centred by geometry.
   The button computes position:static, so the inset:0 needs this relative. */
.embed-zone button:has(use[*|href*="gspro-icon-heart"]){position:relative}
.embed-zone button:has(use[*|href*="gspro-icon-heart"])::after{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor);
  background-size:26px 2px,2px 26px;
  background-position:center,center;
  background-repeat:no-repeat;
  color:currentColor;
}

/* round 8: About revamp + Instagram band (Warm Editorial) */
.abhero{position:relative;height:min(66vh,620px);min-height:420px;overflow:hidden}
.abhero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.abhero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,21,15,.6),rgba(26,21,15,.22) 46%,rgba(26,21,15,.46))}
.abhero .ah-in{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:center;padding-bottom:0}
.abhero .label{color:#F3E9DC;display:block;margin-bottom:16px}
.abhero h1{color:#FBF7EF;max-width:16ch}
.abhero h1 em{color:#FBF7EF}
.imgband{padding:0}
/* round 13: the clip and the two `position:relative` hooks here were scaffolding for
   the parallax (a scaled image needs clipping, a sheen pseudo-element needs a
   positioned parent). The parallax is gone, so they are too. Nothing overflows now. */
.imgband img{width:100%;height:min(58vw,540px);object-fit:cover;display:block}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.duo img{width:100%;height:min(42vw,440px);object-fit:cover;display:block}
.promise{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:8px}
.promise .pr{text-align:center}
.promise .pr b{display:block;font-family:var(--sans);font-weight:500;font-size:clamp(22px,2.2vw,30px);font-style:italic;line-height:1.25;margin-bottom:10px}
.promise .pr span{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--mut)}
.igband .ig-head{text-align:center;margin-bottom:40px}
.igband .ig-head h2{margin-bottom:12px}
.igband .ig-head p{color:var(--mut);margin:0 auto;max-width:52ch}
/* four across, so the eight mirrored posts fill two clean rows. Five columns left a
   ragged 5+3 the moment the tile count went from five to eight. */
.ig-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ig-grid a{position:relative;overflow:hidden;display:block}
.ig-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .45s ease}
.ig-grid a:hover img{transform:scale(1.04)}
.ig-grid a::after{content:"";position:absolute;inset:0;background:rgba(26,21,15,0);transition:background .3s ease}
.ig-grid a:hover::after{background:rgba(26,21,15,.16)}
@media (max-width:1000px){.duo{grid-template-columns:1fr}.duo img{height:60vw}.promise{grid-template-columns:1fr;gap:26px}}
@media (max-width:720px){.duo img,.imgband img{height:64vw}
  /* A phone gets the feed as a swipe rail, not a 2-up grid: eight posts in a grid is four
     rows of cropped squares and a lot of scrolling past, and a rail is what every visitor
     already does on Instagram itself. grid-auto-flow:column keeps the same markup — the
     tiles just lay out sideways instead of wrapping.
     It bleeds through the .wrap gutter deliberately (negative margin + matching padding)
     so a half-visible tile sits at the right edge and says "there is more" without a hint
     line. scroll-snap makes the swipe land on a tile instead of anywhere. */
  .ig-grid{
    display:grid;grid-auto-flow:column;grid-template-columns:none;
    grid-auto-columns:60%;gap:8px;
    margin:0 -24px;padding:0 24px;
    overflow-x:auto;-webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;scrollbar-width:none;
    /* scroll-padding, not just padding. `scroll-snap-align:start` snaps to the SCROLLPORT
       edge, which ignores the container's own padding — so mandatory snap immediately
       scrolled the rail 24px and parked the first tile flush against the screen edge,
       exactly the gutter this section was supposed to keep. */
    scroll-padding-inline:24px;
  }
  .ig-grid::-webkit-scrollbar{display:none}
  .ig-grid a{scroll-snap-align:start}
}

/* round 9: About finish pass (Warm Editorial) */

/* hero headline breaks on the em so it always sets two lines */
.abhero h1{max-width:none}
.abhero h1 em{display:block}

/* story: one centered column, no pull quote */
.story{display:block;max-width:720px;margin:0 auto;text-align:center}
.story .body p{max-width:none;margin-left:auto;margin-right:auto}
.story .body p:last-child{margin-bottom:0}

/* centered heads */
.sect-head.center .label{display:block}
.sect-head.center h2{text-wrap:balance;max-width:24ch;margin-left:auto;margin-right:auto}

/* promise trio: captions share one baseline even when a line wraps */
.promise{align-items:stretch}
.promise .pr{display:flex;flex-direction:column;justify-content:space-between}
.promise .pr b{margin-bottom:14px}
.venues.center{text-align:center}
.venues.center .label{display:block;margin-bottom:14px}
.venues.center .venue-list{justify-content:center}

/* masonry gallery: natural aspect ratios, no captions */
.masonry{columns:3;column-gap:18px}
.masonry img{width:100%;margin:0 0 18px;break-inside:avoid;filter:saturate(.92) sepia(.05);transition:filter .55s ease,transform .55s ease}
.masonry img:hover{filter:none;transform:translateY(-5px)}

/* service area: hairline index of the towns we run */
.area{background:var(--ivory-deep)}
.area .sect-head{margin-bottom:44px}
/* round 12, item 11: the 4-col grid of town names is replaced by a real map with a
   shaded delivery boundary. Inline SVG on purpose — no dependency, no API key on a
   client's public page, no tile requests, and the brand tokens apply directly.
   The projection is not decorative: at 48N a degree of longitude is ~74.6km against
   ~111.2km for latitude, so x is scaled by cos(48) and the viewBox aspect (1:2.24)
   equals the true ground aspect. Get that wrong and every local sees a stretched
   valley immediately. The service area really is a tall north-south corridor. */
/* True geography here is a 1:2.24 portrait, so a centred map leaves the page's whole
   width empty beside it. Two columns spend that width on the copy instead, which also
   halves how tall the section reads. */
/* 380 not 340 (round 13): the map now carries a graticule, two labelled highways and
   an inset. At 340 the 11-unit grid labels rendered under 10px. */
.area-layout{display:grid;grid-template-columns:1fr 520px;gap:56px;align-items:center}
.area-copy .sect-head{margin-bottom:26px}
.area-copy .sect-head h2{max-width:15ch}
.area .area-note{max-width:44ch;margin:0;text-align:left}
.area-legend{list-style:none;margin:28px 0 0}
.area-legend li{display:grid;grid-template-columns:26px 1fr;align-items:center;gap:14px;font-size:15.5px;color:var(--mut);margin-bottom:12px}
.area-legend li:last-child{margin-bottom:0}
.area-legend span{justify-self:center}
.area-legend .lg-area{display:block;width:24px;height:14px;border-radius:7px;background:rgba(234,50,110,.30)}
.area-legend .lg-hq{display:block;width:14px;height:14px;border-radius:50%;background:var(--bronze);box-shadow:0 0 0 3px rgba(234,50,110,.28)}
.area-legend .lg-road{display:block;width:24px;height:0;border-top:2px dashed rgba(34,29,22,.34)}
/* width:100% is load-bearing. `margin:0 auto` on a grid item makes the auto margins
   absorb the free space instead of stretching, so the box shrank to the SVG's default
   300x150 intrinsic size and the map rendered 80px narrower than its own column. */
.area-mapwrap{width:100%;max-width:520px;margin:0 auto}
@media (max-width:900px){
  .area-layout{grid-template-columns:1fr;gap:44px;justify-items:center;text-align:center}
  .area-copy .sect-head h2{margin-left:auto;margin-right:auto}
  .area .area-note{text-align:center;margin-left:auto;margin-right:auto}
  .area-legend{display:inline-block;text-align:left}
}
.area-map{display:block;width:100%;height:auto}
/* round 13: graticule, highways and the state locator. Everything here is drawn UNDER
   the region and the towns, or inside its own panel, so the map still reads at a
   glance: the grid is at 10% alpha and the roads at 28%. A graticule that competes
   with the delivery boundary tells a couple in Nashville nothing. */
/* Round 14 map. Draw order IS the design: county fills, park and reservation, ZIP
   line work, the delivery band, then water on top — a printed map stacks water above
   administrative tint, and painting the band over Flathead Lake turned the lake purple.
   The band is one fat round-capped stroke along the roads we actually drive: it claims
   a delivery corridor, which is true, instead of a shaded ZIP polygon, which in rural
   Montana would claim the Bob Marshall Wilderness. */

/* Base sheet — a shade deeper than the page so the map reads as a printed object. */
.area-map .am-land{fill:#F4EEE3}

/* County lines: the outlines people already know, kept quiet. */
.area-map .am-county path{fill:none;stroke:rgba(34,29,22,.17);stroke-width:1;stroke-linejoin:round}
.area-map .am-county-lbl text{font-family:var(--sans);font-size:11.5px;font-weight:600;letter-spacing:.18em;fill:rgba(34,29,22,.26)}

/* Public land and the reservation the south half of the lake sits in. */
.area-map .am-park{fill:rgba(122,140,110,.16);stroke:rgba(122,140,110,.42);stroke-width:1}
.area-map .am-park-lbl{font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.16em;fill:rgba(96,116,86,.85)}
.area-map .am-tribal{fill:none;stroke:rgba(34,29,22,.30);stroke-width:1.3;stroke-dasharray:7 4}

/* Water. */
.area-map .am-water path{fill:#CBDAE2;stroke:rgba(74,110,132,.38);stroke-width:.8;stroke-linejoin:round}
.area-map .am-water-lbl text{font-family:var(--sans);font-style:italic;font-size:15.5px;fill:rgba(58,94,116,.9)}

/* The delivery area, drawn as real ZIP boundaries. */
.area-map .am-zip path{fill:none;stroke:rgba(34,29,22,.13);stroke-width:.9;stroke-linejoin:round;stroke-dasharray:3 2.5}
/* The opacity lives on the GROUP, not the shapes. The cover is now a corridor path plus
   a filled region, and at .14 each they would double to .26 everywhere the two overlap,
   drawing a seam along the join. A group composites once, so the whole area reads as one
   flat wash no matter how many pieces it is cut from. */
.area-map .am-cover{opacity:.14}
.area-map .am-cover path{fill:none;stroke:var(--bronze);stroke-width:46;stroke-linecap:round;stroke-linejoin:round}
.area-map .am-cover .am-cover-area{fill:var(--bronze);stroke:var(--bronze);stroke-width:22;stroke-linecap:round}

/* Roads, cased: a wide light stroke under a narrow dark one. */
.area-map .am-road-case{fill:none;stroke:#F4EEE3;stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round}
.area-map .am-road-2{fill:none;stroke:rgba(34,29,22,.30);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}
.area-map .am-road-case1{fill:none;stroke:#F4EEE3;stroke-width:5.4;stroke-linecap:round;stroke-linejoin:round}
.area-map .am-road-1{fill:none;stroke:rgba(34,29,22,.46);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Towns. */
.area-map .am-dot{fill:var(--ink)}
.area-map .am-halo{fill:#F4EEE3;stroke:none}
.area-map .am-town{font-family:var(--sans);font-size:15px;font-weight:600;fill:var(--ink);paint-order:stroke;stroke:#F4EEE3;stroke-width:3;stroke-linejoin:round}
.area-map .am-hq{fill:var(--bronze);stroke:#F4EEE3;stroke-width:2.5}
.area-map .am-hq-ring{fill:none;stroke:var(--bronze);stroke-width:1.6;opacity:.5}
.area-map .am-hq-town{font-size:17px;fill:var(--bronze-deep)}
.area-map .am-tag{font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.16em;fill:var(--bronze-deep);paint-order:stroke;stroke:#F4EEE3;stroke-width:3}
.area-map .am-shield rect{fill:#F4EEE3;stroke:rgba(34,29,22,.45);stroke-width:1}
.area-map .am-shield text{font-family:var(--sans);font-size:10.5px;font-weight:700;fill:var(--ink);letter-spacing:.02em}

/* Scale bar. */
.area-map .am-scale path{stroke:var(--ink);stroke-width:1.2;fill:none}
.area-map .am-scale text{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.08em;fill:var(--mut)}

.area-map .am-north path{fill:var(--mut)}
.area-map .am-north text{font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.06em;fill:var(--mut)}
.area-map .am-inset-bg{fill:#FAF6EF;stroke:var(--line);stroke-width:1.2}
.area-map .am-inset-state{fill:rgba(34,29,22,.07);stroke:rgba(34,29,22,.34);stroke-width:1.3;stroke-linejoin:round}
.area-map .am-inset-box{fill:rgba(234,50,110,.20);stroke:var(--bronze);stroke-width:2}
.area-map .am-inset-lbl{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.2em;fill:var(--mut)}
.area-note{max-width:56ch;margin:34px auto 0;text-align:center;font-size:17px;color:var(--mut)}
.area-note a{color:var(--bronze-deep);font-weight:600;border-bottom:1px solid rgba(200,30,89,.35)}
.area-note a:hover{border-bottom-color:var(--bronze-deep)}

/* nav: the Event Rentals chevron is an inline svg sitting on the text baseline,
   which lifted that one label off the line the other items share. Flex the anchor.
   Scoped to the top-level anchors only: `.nav-links a` also matched all 25 mega
   category links and the browse bar (the whole .mega lives inside a .nav-links li),
   beat `.mg-col a{display:flex}` and `.mega-foot a{display:block}` on source order,
   and made the categories flow inline two to a row, which is what read as one
   run-on item. Keep the child combinators. */
.nav-links > li > a{display:inline-flex;align-items:center;gap:6px}
.nav-links > li > a svg{display:block;flex:none}

/* footer legal links live in the centred copy bar */
.f-bottom a{color:inherit;border-bottom:1px solid transparent}
.f-bottom a:hover{color:var(--bronze);border-bottom-color:var(--bronze)}

/* legal pages: readable prose column */
.legal{max-width:760px;margin:0 auto}
.updated{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);margin-top:6px}
.legal h2{font-size:clamp(24px,2.4vw,32px);margin:44px 0 14px}
.legal h3{font-size:20px;margin:26px 0 8px}
.legal p,.legal li{color:var(--mut);max-width:none}
.legal p{margin-bottom:16px}
.legal ul{margin:0 0 16px 22px}
.legal li{margin-bottom:8px}
.legal strong{color:var(--ink);font-weight:600}
.legal a{color:var(--bronze-deep);border-bottom:1px solid rgba(200,30,89,.35)}
.legal a:hover{border-bottom-color:var(--bronze-deep)}

/* cart: the empty-state line and the note are capped at 64ch by the base p rule,
   so text-align alone centred them inside a left-anchored box. Centre the box too. */
.cq-empty p,.cq-note{margin-left:auto;margin-right:auto}

/* FAQ page head centered */
.page-head.center{text-align:center}
.page-head.center .lead,.page-head.center p{margin-left:auto;margin-right:auto}

/* hero title block centered over the photo, on both axes (round 12) */
.abhero .ah-in{align-items:center;text-align:center}

/* closing CTA: brand-pink band so the ask reads apart from the ink footer */
.closing.cta{background:var(--bronze);padding:104px 0}
.closing.cta h2{color:#FFF7FA;max-width:none;margin-bottom:30px}
.closing.cta .btn{background:#FFF7FA;border-color:#FFF7FA;color:var(--bronze-deep);padding:16px 34px}
.closing.cta .btn:hover{background:var(--ink);border-color:var(--ink);color:#FFF7FA}

@media (max-width:900px){.masonry{columns:2}}
@media (max-width:600px){.masonry{columns:1}.story{text-align:left}.story .body p{text-align:left}.closing.cta{padding:76px 0}}

/* ====== round 11 ====== */

/* Price display switch. `data-price` on <html>: "off" (default) or "on".
   Our own surfaces are killed at the source instead of hidden here: money() in
   index.html and cart.html returns '' while the switch is off, so .na-rate,
   .cq-rate and .rel-rate are never created. This block exists for the GoodShuffle
   embed, whose price nodes we do not build and cannot suppress at the source.
   The vendor prints "$0.00" for an item with no price set, which is why the
   default is off: 13 of the 15 price nodes on the tents category read $0.00. */
html[data-price="off"] .gspro-c-item-card__price,
html[data-price="off"] .gspro-o-price,
html[data-price="off"] .gspro-c-item-detail__price{display:none!important}

/* round 12: the lightbox is retired (operator: "we don't need that"). lightbox.js
   was the only thing that ever created .lb-* nodes, so all of its CSS went with it. */

/* ROUND 13: THE PARALLAX IS GONE. Operator ruling, 2026-08-05: "let's remove the
   parallax on the About page and just anywhere. It's not looking good right now and
   I don't like it. Let's just keep it static."

   Removed, not disabled. What went with it: the crop pan on the About hero, the pan
   on the single image band, the opposed pan on the duo pair, and the specular sheen
   on all three. The images below now render at their natural crop and hold still.

   SEAMS rules 9 and 10 stay in that file on purpose. They are not about this effect,
   they are about the two traps any future scroll-driven work here will hit again:
   view() resolving against an overflow:hidden ancestor and freezing silently, and
   motion that moves enough to pass a glance while travelling almost nothing. Do not
   delete them because the parallax is gone.

   Nothing replaced this block. If a later round wants motion here, start from the
   measurement harness in SEAMS rule 10, not from this comment. */

/* ============================================================================
   GALLERIES (round 15)
   Index page + sub-gallery grid + lightbox. One block, used by every gallery page.
   ========================================================================== */

/* --- page head + breadcrumbs -------------------------------------------
   Centred as a block: crumbs, eyebrow, title and lede all share one axis. A
   left-aligned crumb over a centred title reads as a mistake, so the centring
   is on the container and the ol has to be told to follow it. */
/* padding-top only. As a `64px 0 0` shorthand this beat .wrap's `0 32px` on source order
   and left the crumbs, the h1 and the lede running edge to edge on galleries, every
   gallery-*, contact, resources and jobs. Invisible on a desktop because the block is
   centred and narrow; on a phone it was every page head touching both screen edges. */
.gpagehead{padding-top:64px;text-align:center}
.crumbs{font-family:var(--sans);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-bottom:22px}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin:0;padding:0}
.crumbs a{color:var(--mut);border-bottom:1px solid transparent;padding-bottom:2px}
.crumbs a:hover{color:var(--bronze-deep);border-bottom-color:var(--bronze)}
.crumbs li+li::before{content:"/";margin-right:10px;color:var(--line);color:rgba(34,29,22,.32)}
.crumbs [aria-current]{color:var(--ink)}
.gpagehead h1{margin-bottom:0}
.gpagehead .lead{margin:18px auto 0}

/* --- gallery index mosaic -----------------------------------------------
   Five galleries, five placed slots. Auto-masonry solves an unknown-length list;
   this list is exactly five and stays five, so placing them by hand buys a
   deliberate mix of shapes AND a grid with no holes and a flush bottom edge,
   which auto-flow cannot promise. A sixth set, if one ever lands, auto-places as
   a half-width band instead of breaking the layout.

   Mobile first, and each breakpoint restates every slot it changes. Placement
   rules are :nth-child (0,2,0) and would beat any .gindex>* reset (0,1,0)
   regardless of source order, so overrides have to match on the same selector. */
.gindex{display:grid;grid-template-columns:1fr;gap:12px}
.gindex>*{aspect-ratio:16/10}
.gindex>:nth-child(1){aspect-ratio:4/3}
@media (min-width:621px){
  .gindex{grid-template-columns:repeat(2,1fr);grid-auto-rows:clamp(150px,20vw,208px);gap:14px}
  .gindex>*{aspect-ratio:auto;grid-row:span 1}
  .gindex>:nth-child(1){aspect-ratio:auto;grid-column:1/3;grid-row:span 2}
}
@media (min-width:1000px){
  .gindex{grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(96px,9.4vw,138px);gap:18px}
  .gindex>:nth-child(1){grid-column:1/8;grid-row:span 3}
  .gindex>:nth-child(2){grid-column:8/13;grid-row:span 3}
  .gindex>:nth-child(3){grid-column:1/5;grid-row:span 2}
  .gindex>:nth-child(4){grid-column:5/9;grid-row:span 2}
  .gindex>:nth-child(5){grid-column:9/13;grid-row:span 2}
  .gindex>:nth-child(n+6){grid-column:span 6;grid-row:span 2}
}

/* --- a gallery card (index mosaic + the two at the foot of a gallery) ----
   The scrim is what makes white type legible over a photograph nobody vetted for
   contrast. It sits at .60 through the middle band, which is where the centred
   title lands. On hover it lifts rather than deepens: the point of the zoom is to
   show more of the photo, and darkening it further would hide the thing that moved. */
.gcard{position:relative;display:block;overflow:hidden;background:var(--ink)}
.gcard>img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.94);transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.gcard::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(20,16,12,.42) 0%,rgba(20,16,12,.60) 50%,rgba(20,16,12,.50) 100%);transition:opacity .45s ease}
.gcard:hover>img,.gcard:focus-visible>img{transform:scale(1.07);filter:saturate(1.02)}
.gcard:hover::after,.gcard:focus-visible::after{opacity:.68}
.gcard:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}
.gcard-body{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px}
.gcard-body h2{color:var(--ivory);font-size:clamp(25px,2.5vw,38px);line-height:1.08;margin:0;text-shadow:0 2px 22px rgba(0,0,0,.45)}
/* The tile carries no button, so the rule is the affordance: it grows on hover and
   is the one piece of the card that says this is a thing you can click. */
.gcard-body .rule{display:block;width:34px;height:1px;background:var(--ivory);opacity:.55;margin:16px 0 0;transition:width .45s cubic-bezier(.2,.7,.2,1),opacity .45s ease}
.gcard:hover .rule,.gcard:focus-visible .rule{width:72px;opacity:.95}
.gcard-body .count{display:block;font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:rgba(250,246,239,.86);margin-top:14px}
@media (prefers-reduced-motion:reduce){
  .gcard>img,.gcard-body .rule{transition:none}
  .gcard:hover>img,.gcard:focus-visible>img{transform:none}
}

/* --- the photo grid -----------------------------------------------------
   A justified grid: rows of varying height, each row filled edge to edge. This is
   what every serious photo gallery converges on, and here it is the only thing that
   answers "no blanks". These sources run 0.60 to 2.08 in aspect with no larger
   originals to recrop from, and both obvious alternatives were measured and rejected:
   a fixed-cell grid crops the panoramas to their middle third and strands an empty
   cell in the last row, and a column masonry (column-fill:balance) left the third
   column ending 507px short of the first, because balancing picks a height and fills
   greedily rather than redistributing.

   How a row fills exactly: flex-grow AND flex-basis are both proportional to the
   tile's own aspect ratio, so every tile on a line settles at width = k x ratio for
   one shared k. Equal k means equal height, and the line consumes the full width with
   nothing left over. Photos keep their own shape, rows differ in height, and there is
   no hole anywhere, including the last row, which grows to fill like any other.
   --rowh is the only knob: raise it for taller rows with fewer photos in each.

   The x100 on flex-grow is load-bearing, not decoration. When a line's grow factors
   sum to LESS than 1, the spec distributes only that fraction of the free space, so a
   lone portrait (ratio 0.75) on a phone came up 53px short of the right edge while
   every landscape filled. Scaling every factor by the same constant keeps the widths
   proportional and puts the sum safely over 1 on every possible line. */
.pgrid{display:flex;flex-wrap:wrap;gap:16px;--rowh:260px}
/* max-height is the ceiling on a lonely last row. A gallery with a prime-ish photo count
   (13, here) leaves one photo to fill a row by itself, and at full width a 4:3 resolves to
   837px of a source that is only 600px wide. Capping the height keeps the row full — flex
   already fixed the width, so the cap clamps the cross axis only and object-fit crops —
   and turns that row into a deliberate wide banner instead of a soft billboard. */
.pgrid a{position:relative;display:block;overflow:hidden;background:var(--ivory-deep);min-width:0;aspect-ratio:var(--ar);max-height:640px;flex-grow:calc(var(--ar) * 100);flex-shrink:1;flex-basis:calc(var(--ar) * var(--rowh))}
.pgrid img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.93);transition:transform .55s cubic-bezier(.2,.7,.3,1),filter .3s ease}
.pgrid a::after{content:"";position:absolute;inset:0;background:rgba(20,16,12,0);transition:background .3s ease}
.pgrid a:hover img,.pgrid a:focus-visible img{transform:scale(1.05);filter:saturate(1)}
.pgrid a:hover::after,.pgrid a:focus-visible::after{background:rgba(20,16,12,.14)}
.pgrid a:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}
@media (max-width:999px){.pgrid{--rowh:225px}}
@media (max-width:620px){.pgrid{gap:10px;--rowh:185px}}
@media (prefers-reduced-motion:reduce){
  .pgrid img{transition:none}
  .pgrid a:hover img,.pgrid a:focus-visible img{transform:none}
}

/* --- lightbox -----------------------------------------------------------
   Built on <dialog> deliberately. showModal() gives Escape-to-close, a real focus trap
   and inert page content for free; hand-rolling those is how a lightbox ends up letting
   you tab into the page behind it. */
.glx{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100%;height:100%;overflow:hidden}
.glx::backdrop{background:rgba(0,0,0,.9)}
/* The side padding is an arrow gutter, not decoration: the buttons end at 90px from each edge,
   so the photo has to start outside that or a pale arrow lands on a busy photograph and vanishes.
   Bottom padding clears the counter the same way. */
/* Padding is symmetric on purpose. The brief asks for the photo centred in the viewport, and an
   asymmetric box centres it in the content box instead, which lands it visibly high. The vertical
   value is the larger of the two clearances needed (counter at the bottom, close at the top). */
.glx-stage{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:clamp(78px,10vh,104px) clamp(78px,8vw,128px)}
/* Never upscale. Each image carries its own natural size as --iw/--ih, so a 438px photo
   presents at 438px on the scrim instead of being blown up 3x into mush.
   The cap is 100%, NOT 92vw: a viewport unit ignores the stage's padding, so the image spilled
   into the arrow gutters and out past the frame. Percent resolves against the padded box. */
.glx-img{display:block;max-width:min(100%,var(--iw,100%));max-height:min(100%,var(--ih,100%));width:auto;height:auto;object-fit:contain;box-shadow:0 30px 90px rgba(0,0,0,.5)}
.glx-btn{position:fixed;top:50%;transform:translateY(-50%);width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:rgba(250,246,239,.1);border:1px solid rgba(250,246,239,.34);color:#FAF6EF;cursor:pointer;transition:background .18s ease,border-color .18s ease}
.glx-btn:hover{background:rgba(250,246,239,.22);border-color:#FAF6EF}
.glx-btn:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}
.glx-prev{left:clamp(10px,2.4vw,34px)}
.glx-next{right:clamp(10px,2.4vw,34px)}
.glx-close{position:fixed;top:clamp(12px,2.4vw,28px);right:clamp(10px,2.4vw,34px);width:46px;height:46px}
.glx-count{position:fixed;left:50%;bottom:clamp(16px,3.4vw,34px);transform:translateX(-50%);font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.22em;color:#FAF6EF;background:rgba(0,0,0,.42);padding:9px 18px;font-variant-numeric:tabular-nums}
@media (max-width:620px){
  .glx-btn{width:46px;height:46px}
  .glx-prev{left:8px}.glx-next{right:8px}
  /* On a phone there is no room for gutters. Arrows overlay the photo, which is what every
     phone gallery does, and the image gets the width instead. */
  .glx-stage{padding:64px 10px 76px}
}
@media (prefers-reduced-motion:no-preference){
  .glx[open]{animation:glxin .22s ease both}
  @keyframes glxin{from{opacity:0}to{opacity:1}}
}

/* --- more galleries -----------------------------------------------------
   Two cards, not one row with a link. A single "next gallery" line was a dead end
   dressed as navigation; two tiles carrying their own photograph are the same
   invitation the index makes, at the point where someone has just run out of photos.
   Short and horizontal on purpose: the block has to read as a footer to the gallery,
   not as a second gallery. */
.gmore{margin-top:66px;padding-top:46px;border-top:1px solid var(--line);text-align:center}
.gmore>.label{display:block;margin-bottom:24px}
.gmore-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.gmore-grid .gcard{aspect-ratio:2.15/1}
.gmore-grid .gcard-body h2{font-size:clamp(23px,2.1vw,31px)}
@media (max-width:620px){.gmore-grid{grid-template-columns:1fr;gap:12px}.gmore-grid .gcard{aspect-ratio:2/1}}

/* ============================================================================
   RESOURCES  (round 17)

   The card here is deliberately NOT .gcard. Round 16's gallery card overlays its
   title on the photo behind a scrim; the brief for this page is "an image of what
   it is ... and then a title underneath it, like a card". Image box on top, text
   block beneath. Reusing .gcard would have shipped the wrong thing while looking
   consistent, which is the worst kind of wrong.

   Image fit is chosen per item, not globally. A tent layout is a line drawing whose
   edges carry the entrance, the bar and the dance floor, so cover would crop away
   the content; layouts render contain on a white mat. Product photos are
   photographs and keep cover. Document crops are already cropped to their masthead
   by the asset build, so they fill.

   The filter is radio inputs + :has(), with no JavaScript at all. Selection state,
   keyboard traversal and focus all come from the platform. A JS filter would have
   to re-implement three things the browser already does correctly, which is the
   afternoon this round was warned about.
   ============================================================================ */

/* capacity table: promoted above the filter, because "what size tent do I need" is
   the question people arrive with and it should not need a click to reach. */
.rband{background:var(--sage-soft);padding:54px 0 58px;margin-top:52px}
.rband .rb-head{text-align:center;max-width:62ch;margin:0 auto 30px}
.rband h2{margin:10px 0 12px}
.rband .rb-note{font-size:16px;color:var(--mut);margin:0}
.rtable-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.rtable{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:15px;min-width:520px;background:var(--ivory)}
.rtable caption{caption-side:bottom;padding-top:16px;font-size:14px;color:var(--mut);text-align:center}
.rtable th,.rtable td{padding:11px 16px;text-align:right}
.rtable th:first-child,.rtable td:first-child{text-align:left;font-weight:600}
.rtable thead th{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze-deep);border-bottom:1px solid var(--line)}
.rtable tbody tr+tr td{border-top:1px solid rgba(34,29,22,.08)}
.rtable tbody tr:hover td{background:rgba(234,50,110,.05)}

/* filter */
/* The resources page reads as a directory, not a brochure: the filter and the sections it
   controls sit close enough together that a customer scanning for one document can see the
   controls and the results without scrolling between them. The global section{padding:84px 0}
   is the brochure rhythm and is wrong here, so .rmain overrides the top of it. */
.rmain{padding:44px 0 56px}
.rfilter{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 26px;padding:0;border:0}
.rfilter legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.rfilter input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.rfilter label{display:inline-block;font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);padding:11px 21px;border:1px solid var(--line);cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}
.rfilter label:hover{color:var(--bronze-deep);border-color:var(--bronze)}
.rfilter input:checked+label{background:var(--bronze);border-color:var(--bronze);color:#fff}
.rfilter input:focus-visible+label{outline:2px solid var(--bronze);outline-offset:3px}

/* One rule per section, so adding a section is one line rather than a cascade puzzle. */
/* .rsec is a <section>, so it inherits section{padding:84px 0} — 168px of brochure air stacked
   between every pair of sections on top of the margin. Killing the padding is what actually
   tightens this page; the margins alone barely moved it. */
.rsec{padding:0;margin-bottom:64px}
.rsec:last-of-type{margin-bottom:0}
.rsec-head{text-align:center;margin-bottom:22px}
.rsec-head h2{margin:8px 0 10px}
.rsec-head p{font-size:16px;color:var(--mut);max-width:58ch;margin:0 auto}
/* provenance on the legal sections. These are mirrors of the client's own documents; if his
   terms move and ours do not, the page publishes superseded terms under his name. */
.rsec-asof{font-family:var(--sans);font-size:13.5px;line-height:1.6;color:var(--sage);max-width:60ch;margin:14px auto 0}
.rwrap:has(#f-layouts:checked) .rsec:not([data-section="layouts"]),
.rwrap:has(#f-instructions:checked) .rsec:not([data-section="instructions"]),
.rwrap:has(#f-forms:checked) .rsec:not([data-section="forms"]),
.rwrap:has(#f-policies:checked) .rsec:not([data-section="policies"]){display:none}

.rgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(258px,100%),1fr));gap:26px}

/* the card */
.rcard{display:flex;flex-direction:column;background:var(--ivory);border:1px solid var(--line);transition:border-color .3s ease,transform .3s cubic-bezier(.2,.7,.2,1)}
.rcard:hover,.rcard:focus-visible{border-color:var(--bronze);transform:translateY(-3px)}
.rcard:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}
.rcard .shot{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#fff;border-bottom:1px solid var(--line)}
.rcard .shot img{width:100%;height:100%;display:block}
.rcard.plan .shot img{object-fit:contain;padding:10px}
.rcard.doc .shot{aspect-ratio:16/9}
.rcard.doc .shot img{object-fit:cover;object-position:top center}
.rcard.photo .shot img{object-fit:cover;filter:saturate(.94)}
.rcard .body{padding:20px 20px 22px;display:flex;flex-direction:column;gap:7px;flex:1}
.rcard h3{font-size:clamp(19px,1.5vw,22px);line-height:1.2;margin:0}
.rcard .meta{font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze-deep);margin:0}
.rcard .detail{font-size:15px;line-height:1.5;color:var(--mut);margin:0}
.rcard .code{font-family:var(--sans);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--sage);margin:auto 0 0;padding-top:10px}
/* every card opens a new tab; a screen reader has to hear that before the link is followed */
.rvh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

.rempty{display:none;text-align:center;color:var(--mut);font-size:16px;padding:34px 0}
.rsec:has(.rgrid:empty) .rempty{display:block}

@media (max-width:720px){
  /* The capacity table was min-width:520px inside a 342px column, so it scrolled sideways
     with nothing on screen saying so — four columns of at most four digits each, hidden
     behind a gesture nobody knew to make. It fits: the headings wrap, the digits do not,
     and 15px of type was never load bearing on a phone. A table that fits beats any
     amount of "swipe me" signage. overflow-x stays on the wrapper as the safety net. */
  .rtable{min-width:0;font-size:13px;table-layout:fixed}
  .rtable th,.rtable td{padding:9px 4px}
  /* overflow-wrap:anywhere on the headings only. table-layout:fixed still honours the
     min-content width of the longest unbreakable word, and "Rectangles" at 10.5px was
     enough to keep the table 14px wider than a 320px screen. Letting the heading break
     mid-word is the price of the table fitting; the digits below never break. */
  .rtable thead th{font-size:10.5px;letter-spacing:.06em;line-height:1.3;vertical-align:bottom;overflow-wrap:anywhere}
  .rtable caption{font-size:13px;text-align:left}
}
@media (max-width:620px){
  .rgrid{grid-template-columns:1fr;gap:18px}
  .rband{padding:40px 0 44px}
  .rmain{padding:32px 0 40px}
  .rfilter{margin:0 0 20px;gap:8px}
  .rsec{margin-bottom:44px}
  .rfilter label{padding:9px 15px;font-size:12px}
}
@media (prefers-reduced-motion:reduce){
  .rcard{transition:none}
  .rcard:hover,.rcard:focus-visible{transform:none}
}

/* ============================================================================
   CONTACT  (round 17)

   Phone, email and hours sit ABOVE the form on purpose. This client's business runs
   on conversations and the phone is a channel that already works. The form sends to
   the same inbox now, but the order stays: a customer who would rather call should
   never have to scroll past a form to find the number.
   ============================================================================ */
.cnow{background:var(--sage-soft);padding:44px 40px}
/* long addresses must wrap inside their own column instead of running across the next one:
   bigfork@celebraterentals.com is 28 characters against a 210px minimum track. */
.cnow .v{overflow-wrap:anywhere}
/* FLAT 15px, not a clamp, and this is the one value in the block that is not scaled.
   Above 1200px the grid settles on four columns and the column stops growing at 229px,
   while a vw clamp keeps growing the font, so the WIDEST screens got the tightest fit.
   At 18px the address broke as "bigfork@celebraterentals.c" / "om" on every desktop
   from 1440px up. 15px fits all 28 characters on one line at 229px with room left,
   and it is the only width in the block that is safe at four columns. */
.cnow .v.email{font-size:15px;letter-spacing:-.01em}
/* "10:00 AM to 5:00 PM" is ~11em wide. At the .v size it wraps the PM onto a third line
   inside a 210px minimum column, so it gets the email's smaller clamp plus nowrap: 11em x 18px
   = 198px, which clears 210px at the narrowest the column ever gets. */
.cnow .v.hours{font-size:clamp(15px,1.2vw,18px);white-space:nowrap}
.cnow-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:30px 40px;align-items:start}
.cnow .k{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze-deep);margin:0 0 9px}
.cnow .v{font-size:clamp(19px,1.7vw,24px);line-height:1.35;margin:0}
.cnow .v a{border-bottom:1px solid var(--line)}
.cnow .v a:hover{color:var(--bronze-deep);border-bottom-color:var(--bronze)}
.cnow .sub{font-size:15px;color:var(--mut);margin:7px 0 0}
/* Centred, and pulled up under the columns. It is a note about the whole block, not a fifth
   column, so hanging it flush left under a four-column grid read as a stray line. `max-width:none`
   for the same reason as .cf-note below: the global p{max-width:64ch} capped it at 606px inside a
   1036px block, and a capped box with no auto margin sits left however its text is aligned. */
.cmatch{grid-column:1/-1;font-size:16px;color:var(--mut);max-width:none;text-align:center;margin:0 auto;padding-top:14px;font-style:italic}

.cform-wrap{padding:52px 40px;border:1px solid var(--line);border-top:0}
.cform-wrap>.label{display:block;text-align:center}
.cform-wrap h2{text-align:center;margin:10px 0 8px}
.cform-wrap>.lead{margin:0 auto 34px;text-align:center}
.cform{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:760px;margin:0 auto}
.cf-row{display:flex;flex-direction:column;gap:7px}
.cf-row.wide{grid-column:1/-1}
/* Control styling has ONE home and both forms share it. The enquiry form and the job
   application are the same component wearing different questions; forking the selectors is how
   the two drift until a focus ring exists on one page and not the other. */
.cform label,.jform label{font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.cform input,.cform select,.cform textarea,.jform input,.jform select,.jform textarea{font-family:var(--sans);font-size:16px;color:var(--ink);background:var(--ivory);border:1px solid var(--line);padding:13px 14px;border-radius:0;width:100%}
.cform textarea,.jform textarea{min-height:132px;resize:vertical}
.cform input:focus,.cform select:focus,.cform textarea:focus,.jform input:focus,.jform select:focus,.jform textarea:focus{outline:2px solid var(--bronze);outline-offset:1px;border-color:var(--bronze)}
.cform input:user-invalid,.cform select:user-invalid,.jform input:user-invalid,.jform textarea:user-invalid{border-color:var(--bronze-deep)}
.cf-send{grid-column:1/-1;text-align:center;margin-top:8px}
.cf-send .btn{border:0;cursor:pointer;font-family:var(--sans)}
/* `max-width:none` belongs on the base rule, not on one page's copy of it. The global
   p{max-width:64ch} capped this note at 525px inside a 760px form, and `text-align:center`
   only centres text INSIDE the box — the box itself stayed flush left, so the note sat 118px
   left of the button it belongs to. `grid-column:1/-1` sets the grid area and does not
   override a max-width, which is why the contact form looked fixed and was not. The jobs form
   is a block rather than a grid and had the identical defect; fixing it there and not here
   left the same bug on the page nobody was looking at. */
.cf-note{grid-column:1/-1;text-align:center;font-size:14px;color:var(--mut);max-width:none;margin:2px 0 0}

.cok{display:none;text-align:center;padding:52px 30px;background:var(--sage-soft);border:1px solid var(--bronze)}
.cok.on{display:block}
.cok h3{font-size:clamp(24px,2.2vw,31px);margin:0 0 12px}
.cok p{color:var(--mut);max-width:52ch;margin:0 auto 8px}
.cok .cok-call{font-size:20px;margin-top:18px}

.cmap{border:1px solid var(--line);border-top:0;height:clamp(280px,34vw,420px)}
.cmap iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.85) contrast(.95)}

@media (max-width:720px){
  .cform{grid-template-columns:1fr}
  .cnow,.cform-wrap{padding:34px 22px}
}

/* ============================================================================
   JOBS — the application, rebuilt from the client's JotForm as a first-party form.

   The JotForm renders one flat column of 35 questions with no grouping, which is why an
   applicant looking for "when can you start" scrolls past two employers and a reference to
   find it. Five numbered groups is the whole redesign: About You, When You Can Work, Where
   You Have Worked, References, Your Resume. Groups 3 and 4 are optional and say so in their
   own blurb, because a 14 year old applying for their first summer is exactly who this page
   is written for and they have neither.
   ============================================================================ */
/* .gpagehead is padding:64px 0 0, so with no margin here the ivory lede and the pink band met
   at zero and the two backgrounds read as one collision. Measured, not eyeballed: the painted
   gap was 0px. */
.jband{margin-top:48px}
/* 300px, so a perk heading gets a column wide enough to hold it on ONE line. At 196 five perks
   fit across but "Overtime Through Summer" and "A Crew You Will Like" each broke mid-phrase,
   and a heading that breaks where the column runs out reads as an accident. Three wider columns
   beat five cramped ones. `balance` and `pretty` keep any remaining wrap even instead of
   leaving one orphaned word. */
.jperks{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:30px 34px;margin:0;padding:0}
.jperks li{border-top:2px solid var(--bronze);padding-top:17px}
.jperks h3{font-family:var(--serif);font-size:clamp(20px,1.7vw,24px);font-weight:600;line-height:1.2;margin:0 0 9px;text-wrap:balance}
.jperks p{font-size:16px;color:var(--mut);line-height:1.55;margin:0;max-width:none;text-wrap:pretty}

/* section{padding:84px 0} is the brochure rhythm and it is wrong under a band that already
   carries 58px of its own. Rule 17b, one page later. */
.jmain{padding:54px 0 76px}
/* No box around the application. `.cform-wrap` draws a border because the contact page stacks
   three panels (details, form, map) that need to read as one card; there is nothing to stack
   here, so the outline was just a frame around the page's only content. The form sits on the
   page. `.jmain` already supplies the vertical rhythm the padding was giving. */
.jform-wrap{border:0;padding:0}
.jform{max-width:760px;margin:0 auto}
/* The group blurb should align with the field grid underneath it rather than stopping at the
   global 64ch reading measure. The note under the submit button needed the same escape and now
   gets it from the base .cf-note rule; only the gap is local, because .cform is a grid whose
   20px row gap already supplies it and .jform is a block with nothing between the two. */
.jgrp-b{max-width:none}
.jform .cf-note{margin-top:22px}
.jgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}

.jgrp{border:0;padding:0;margin:0 0 44px;min-width:0}
.jgrp>legend{display:flex;align-items:center;gap:13px;width:100%;padding:0;margin:0 0 7px}
.jgrp-n{flex:0 0 auto;width:27px;height:27px;display:grid;place-items:center;background:var(--bronze);color:#fff;font-family:var(--sans);font-size:12px;font-weight:600;border-radius:50%}
.jgrp-h{font-family:var(--serif);font-size:clamp(22px,2vw,28px);font-weight:600;line-height:1.2}
.jgrp-b{font-size:16px;color:var(--mut);line-height:1.55;margin:0 0 21px}

/* Each employer and each reference is its own fieldset, so a screen reader announces
   "Second Employer, Company Name" instead of the JotForm's three identical "Company Name"
   and two identical "Relationship". They are full-width rows inside the two-column grid. */
.jgrid>.jsub,.jtri{grid-column:1/-1}
.jtri{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:20px}
/* No rule and no indent. These carried a left border to bind each employer's six fields
   together, which was fine while the form sat inside a bordered card; with the card gone it
   was the only vertical line on the page and read as a leftover frame. The pink legend and
   34px of separation do the grouping, and the fieldset still does it for a screen reader. */
.jsub{border:0;padding:0;margin:0 0 34px;min-width:0}
.jsub:last-of-type{margin-bottom:0}
.jsub>legend{font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze-deep);padding:0;margin:0 0 15px}

.jhint{font-family:var(--sans);font-size:14px;color:var(--mut);line-height:1.5}
.jhint a{border-bottom:1px solid var(--line)}
.jhint a:hover{color:var(--bronze-deep);border-bottom-color:var(--bronze)}
.jreq{color:var(--bronze-deep);margin-left:3px}

.jform input[type=file]{padding:10px 12px;cursor:pointer}
.jform input[type=file]::file-selector-button{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:var(--ivory-deep);border:1px solid var(--line);border-radius:0;padding:9px 15px;margin-right:14px;cursor:pointer}
.jform input[type=file]::file-selector-button:hover{background:var(--bronze);border-color:var(--bronze);color:#fff}

/* Spam trap, the same one the JotForm carried. Off-screen rather than display:none, which a
   bot reads as "do not fill". aria-hidden and tabindex=-1 keep it away from real people. */
.jhp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

@media (max-width:720px){
  .jgrid,.jtri{grid-template-columns:1fr}
  .jmain{padding:38px 0 52px}
  .jband{margin-top:32px}
  /* beats the .cform-wrap phone padding above, which would put the frame's gutter back */
  .jform-wrap{padding:0}
}

/* ==========================================================================
   round 21: the phone. A bottom action bar, a real hamburger panel, and the
   handful of things that were only wrong below 860px.
   ========================================================================== */

/* --- the bottom action bar -----------------------------------------------
   Five things a visitor on a phone actually wants, in the half of the screen
   a thumb reaches. It is built by mobile-nav.js rather than added to markup,
   because six of the seventeen pages are generated from about.html's chrome
   (SEAMS 15/17) and one script beats one slice plus two generators. */
.mbar{display:none}
@media (max-width:860px){
  /* --mbar-h is at :root. It is a fixed height rather than a min-height because the
     first version derived the number and was already 7px wrong: the label inherited
     the body's 1.75 line-height and pushed the tabs past the min-height they were
     given, so the document's bottom padding no longer matched the bar it was for. */
  .mbar{
    display:grid;grid-template-columns:repeat(5,1fr);
    position:fixed;left:0;right:0;bottom:0;z-index:95;
    background:var(--ivory);border-top:1px solid var(--line);
    padding-bottom:env(safe-area-inset-bottom);
    box-shadow:0 -8px 26px rgba(34,29,22,.10);
  }
  .mbar a,.mbar button{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
    height:var(--mbar-h);padding:6px 2px;background:none;border:none;cursor:pointer;
    font-family:var(--sans);font-size:11.5px;font-weight:600;letter-spacing:.055em;
    line-height:1.15;color:var(--mut);-webkit-tap-highlight-color:transparent;
  }
  .mbar svg{display:block;flex:none}
  .mbar a:active,.mbar button:active{background:var(--ivory-deep)}
  .mbar .on{color:var(--bronze-deep)}
  body{padding-bottom:calc(var(--mbar-h) + 1px + env(safe-area-inset-bottom))}
  /* and lift the toast clear of it */
  .toast{bottom:calc(var(--mbar-h) + 18px + env(safe-area-inset-bottom))}
}
/* the quote count, same badge the desktop nav icon carries */
.mb-cart{position:relative}
.mb-cart .cart-count{top:2px;right:calc(50% - 18px)}

/* --- what the hamburger panel holds --------------------------------------
   The desktop mega menu is 25 category links inside a hover panel, and hover
   does not exist here: below 860 every one of them was simply gone. They are
   cloned into the panel as five collapsible groups. */
/* An opaque band pinned under the close X. The panel scrolls and the X does not, so
   without this the category rows slide up behind a floating X and their plus markers
   collide with it. It is also the panel's top spacer, so with JavaScript off (no band)
   the ul takes the padding instead. */
.nav-m .mm-top{position:sticky;top:0;height:92px;background:var(--ivory);z-index:2}
.nav-m ul:not(:has(.mm-top)){padding-top:92px}
.nav-m .mm-sec{border-top:1px solid var(--line);margin-top:12px;padding-top:8px}
/* padding-right reserves the marker's lane. Without it the longest two headings
   ("Tents & Structures", "Entertainment & AV") run straight under the plus. */
.nav-m .mm-cat>summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;
  padding:15px 54px 15px 26px;font-size:17px;font-weight:500;width:auto;height:auto;
  background:none;color:var(--ink);position:relative;margin:0;z-index:auto;
}
.nav-m .mm-cat>summary::-webkit-details-marker{display:none}
/* left:auto is load-bearing. The hamburger's own bars are `left:50%` on
   `.nav-m summary::before`, which this rule inherits by not resetting it — and an
   absolutely positioned box given left AND right AND a width is over-constrained,
   so the browser drops `right` and the marker lands mid-heading, touching the text.
   It reads as a padding bug and no amount of padding fixes it. */
.nav-m .mm-cat>summary::before,.nav-m .mm-cat>summary::after{
  content:"";position:absolute;left:auto;right:26px;top:50%;width:14px;height:2px;background:var(--mut);
  transform:translateY(-50%);transition:transform .2s ease;
}
.nav-m .mm-cat>summary::after{transform:translateY(-50%) rotate(90deg)}
.nav-m .mm-cat[open]>summary::after{transform:translateY(-50%) rotate(0deg)}
.nav-m .mm-cat[open]>summary{color:var(--bronze-deep)}
.nav-m .mm-cat[open]>summary::before,.nav-m .mm-cat[open]>summary::after{background:var(--bronze-deep)}
.nav-m .mm-grp{padding:2px 0 10px;background:var(--ivory-deep)}
.nav-m .mm-grp .mg-h{padding:12px 26px 4px;margin:0;font-size:11.5px}
.nav-m .mm-grp a{display:block;padding:10px 26px 10px 34px;font-size:15.5px;font-weight:400;color:var(--mut)}
.nav-m .mm-grp a:active{background:var(--ivory);color:var(--ink)}
.nav-m .mm-cta{padding:18px 26px 6px}
.nav-m .mm-cta .btn{display:block;text-align:center;padding:15px 20px}
.nav-m .mm-mini{display:flex;flex-wrap:wrap;gap:6px 22px;padding:16px 26px 4px;border-top:1px solid var(--line);margin-top:14px}
.nav-m .mm-mini a{padding:8px 0;font-size:15px;color:var(--mut)}
.nav-m .mm-tel{display:block;padding:12px 26px 2px;font-family:var(--serif);font-size:26px;line-height:1.2}
.nav-m .mm-mail{display:block;padding:4px 26px 12px;font-size:15px;color:var(--mut)}
.nav-m .mm-soc{display:flex;gap:8px;padding:4px 22px 0}
.nav-m .mm-soc .soc{width:44px;height:44px;color:var(--mut)}

/* --- catalog: the vendor feed is unreachable ------------------------------
   Shown by catalog.html only after the embed has had 7s to render a card. See the
   comment on that poller for why it is a poll and not a one-shot. */
.embed-down{border:1px solid var(--line);background:var(--ivory-deep);padding:48px 32px;text-align:center;margin-top:22px}
.embed-down .ed-msg{font-family:var(--serif);font-size:clamp(24px,3vw,32px);line-height:1.2;margin:0 auto 14px;max-width:none}
.embed-down .ed-sub{color:var(--mut);margin:0 auto;max-width:52ch}
.embed-down .ed-sub a{border-bottom:1px solid var(--bronze);white-space:nowrap}
.embed-down .ed-acts{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:26px}
.embed-down .ed-file{margin:24px auto 0;max-width:56ch;font-size:13.5px;line-height:1.6;color:var(--sage)}
@media (max-width:720px){
  .embed-down{padding:36px 22px}
  .embed-down .ed-acts .btn{flex:1 1 100%;text-align:center}
}

/* --- fixes the audit turned up -------------------------------------------- */
@media (max-width:860px){
  /* iOS Safari zooms the whole page when a control under 16px takes focus, and it
     never zooms back out. Every text control on the site was 15 to 15.5px.
     !important on purpose: this has to beat six component rules (.search-bar input,
     .co-form input, .cform input, .jform input, .qty input) that each set their own
     size, and an unprefixed `input{}` loses to every one of them on specificity.
     The rule is "no control on a phone is under 16px", which is exactly the kind of
     blanket floor !important is for. Radios and checkboxes are exempt: they have no
     text and iOS does not zoom for them. */
  input:not([type=radio]):not([type=checkbox]),select,textarea{font-size:16px!important}
  /* the quantity steppers were sized around 13-14px digits, so give the boxes the
     three extra pixels back rather than leaving 16px text in a 34px well */
  .qty input{width:50px;height:42px}
  .qty button{width:38px}
  .qty-sm input{width:42px;height:36px}
  .qty-sm button{width:30px}
  .search-bar form{padding:14px 20px;gap:10px}
  .search-bar input{min-width:0}
  .search-bar .btn{flex:none;padding:12px 18px}

  /* The utility bar carried six 24px-tall targets and two 15px icons across the
     top of a phone. Every one of them now lives in the panel or the bottom bar,
     so the strip goes back to being the one thing it is good at on a phone:
     the price-match line, which until now was the only copy on the whole site
     that a phone visitor never saw. */
  /* One line, always. The full sentence needs a ~9px face to fit 320px, so the phone drops
     the "Just give us a call" tail (the Call tab is two taps away in the bottom bar) and
     keeps the promise, which is the part that is worth the strip. nowrap plus a vw-scaled
     size is belt and braces: the clamp keeps it inside the gutter at every width from 320
     up, and nowrap means a future copy edit shows up as overflow in the harness rather
     than as a silent second line. */
  .util-note{display:block;text-align:center;white-space:nowrap;font-size:clamp(11px,3.35vw,13.5px);line-height:1.5}
  .un-tail{display:none}
  .util-right{display:none}
  .util-in{justify-content:center;padding-top:8px;padding-bottom:8px}

  /* the quote drawer's two footer buttons at 320px: 115px each is narrower than
     the words on them, so they pushed 7px past the screen edge. */
  .cd-foot{grid-template-columns:1fr;gap:8px}

  /* GoodShuffle sets `white-space:nowrap` on the card title, presumably meaning to
     truncate, but never clips the box — so "Tent Wall, 7X20 Eureka Window Pole"
     rendered 294px wide inside a 242px title and hung 7px off a 320px screen.
     Wrapping beats truncating here anyway: on a phone the product name is the only
     thing distinguishing two near-identical tent walls. !important because the
     component injects its stylesheet at runtime, which puts it after this file. */
  .gspro-c-item-card__title,.gspro-c-item-card__title a{white-space:normal!important;overflow-wrap:anywhere}
}

/* Emphasis inside display-face headings. Cabinet Grotesk ships roman only, so the
   inherited em{font-style:italic} would render a faux oblique. Emphasis moves to
   weight in the same family, which is what the family gives us. */
h1 em,h1 i,h2 em,h2 i,h3 em,h3 i,.serif em,.serif i,.trustline p em,.trustline p i,.embed-down .ed-msg em,.jgrp-h em,.jperks h3 em,.na-name em{font-style:normal;font-weight:700}

/* Display-scale editorial accents. Inter's italic carries noticeably more weight
   than Cormorant's did at the same nominal size, so the two statement-scale accents
   drop to 400 and tighten a touch. Without this they read as bolded body copy and
   the promise strip wraps a line it did not wrap before. */
.pull,.promise .pr b{font-weight:400;letter-spacing:-.01em}
