
      /* ============ WISH REALIZA · tokens (light quente) ============ */
      :root {
        --laranja: #d9913f;
        --magenta: #d6409b;
        --vinho: #7a2878;
        --roxo: #4b2a7a;
        --roxo-profundo: #251949;
        --bg: #f9e2e8;
        --ink: #251949;
        --ink-60: rgba(37, 25, 73, 0.72);
        --ink-38: rgba(37, 25, 73, 0.4);
        --line: rgba(37, 25, 73, 0.14);
        --grad-realiza: linear-gradient(
          135deg,
          #d9913f 0%,
          #d6409b 50%,
          #4b2a7a 100%
        );
        --font-display: "Comfortaa", system-ui, sans-serif;
        --font-body: "Manrope", system-ui, sans-serif;
        --wish-mask: url("data:image/webp;base64,UklGRuZEAABXRUJQVlA4TNlEAAAvd8JDEBSHkSTFDeyxPKez8o/3WJBDiAgGbts2kprR9vb9ovxhvWofjvQ5JK5ask7H9n3fLgIo4kyN6xJHx96beETplvIrIkh6B6A10h2eeBN1lQRl7+a+pvMI8gjpXK732wJYm+MbAC/Jg3KgSuoKLytKXFlL+BIsQHikcy75XQf1w0Im4TG3HhKt+Vtr7ScDKMGIhIotl+8b2DzqGANQpoem1doeTLw/NxnkPtbfaWaJ7b4SpNcLZoygXscM8NhdqwlwTxYxOcMOE8otiedJrja9kbDP8CqwFOVHQZLkuJHk//81gAJAgMk594Bd21bbiC4m9f8vbEDyU3wkk0GMUzkQ2zaSJHVaG8XeXTR/l6ps9/0TM9zaevM2bFWy5XHLHunNAfzbcwJ4gmgEQSMwIxity8Az6HEiOJDkhm0OxuRDBUZBVaLjRy3JbSRJkvj/X2dkRri5NxA9y8Vh27aBHO4Yn0jq3f87bCQ3bsNskqHJu9t8kAIACWt55bordwIQYCvAEvgSzAZSQSqYYfwK8jPg2kCCJDduMxCKK8ow6NwnAX8ht40kSaL/Xnd1TR4xu/OGXNtu20ht+Lj/EjxplcMq4YAiQeD/r9CIw0i22kZFqhA5R/D/wAtO1AzHtvbGybQqVXpaPK39t3jUYy0AI3qDapLcktWRkzZA+Kckw0/rHD52BIlt20CScoNNCxQG+pzOxJl7um0bSZKYf9Y3O/1Ne2dBkGy3bcNLOj3sBSAFEoDqjC8PwW3bQHJ6fnsotrKtHpzadsNIaVW6Vu3pRcAExMAMPgRT+IHgxSAMWg4/fCQxtBu2zRMEsNtYJsJOlkN+Rj4xbtvIEfvvevc2zGy6LwRJkpxG+xC88N5DrxlWi+L4f8Q5zGMguW0jSNZUn6zjluM4qq5dYOHUthtJcupUUZ/jvKOJes2MQAx6jQWhKPyi4AIwmxvAruLwRQcSJLlxmwFRRA5my3dCkQGi/By0bSRI4c/673c66SCA0EaSJKk57P/A2SN5rFbTnZ1ZWXV1UBzatm0q95uy3UN6vEznhmfnvh6OAICFpJTr3crerWzb5tl3nW3btm3b9gOM10hi3DaQJM/sbmYPgeF7HbqvS3lLbiNJkiTTX+vwI3JmdjPr6ziSJCcyA82LF7hHaLByg6E76D7piCtJttJqc3H35MLTf+xeiMvanUYAgCiZ9LQ/RnC3ZBl+AY4FqM4K7iSNNOfd3aoDw8BBI0mSlNUJoo+69u/1Zdm23bbNsR1VuqlRvdfl+U8QIPgKBHvlE2IkSY6i898uNFXVwEtzHLaRpMhZH+PM3TPzwxEAsJA0H8hW2W5nq0HFSuWebRszZ9u2jXD8TUcImEaMWSErk7jj1UNlTweRJAVO+3cdOO65JQIg2LbV1MmUexDeEwSET2/W1KlCDOA2bpN1+5cAD4LtDA+ptp7gUbcs2dI1AiIgFcCvgCpIFQyVwEiYWJjUQurhIUgWbLtx21yEM88LDJLpKnogRvCX5EaSHEky/bUunpnVdWResmzbiuPG09KvQCDeozGgCxRqkEtTsJ1MJCvTlRhJkmNVOIkFBC2m+4nmS/MhZdsbtunVx/mq83w3ARP4h8BDoCJYBiE/BZVCRWEah994JEGSJLdNtSbUsaElLp/YxQyAJ8O2bcP4/6+3JZayC5gGAJiEL6aZuo2mc8Eqlc4RPMIl9gVRjmEjSbYSLvg/TuisYBERmR7cTW1tTkQLJe2jRgACxkASQOoZB4TdOoc6BwNjYRkFm/VIYiRJkpQDcJVw+T+bmc4efpDbSHIk0X+vR+yJ2d3IL4K2bZsj8SZrr6BtGzbEr92/jCJJivTHzvpAGj0rCwn0pYWR27aRqNmMecRgrgzaNpIU/qxvb6fPLAHHtW2rCaVRmjv8YfRL7OfzXl5ccUbU5TCS1LBJsymAZOTh9RxGLsA1u6lt1XLSUtKmpw8CroE4QMHggFh4EsJIyLUwRMNfjyTaduO2QYYKCx90HsiP/0B2x7ZtI0nsv+t59qIbxwwaSVK0/gXc7zHuMf2/QYcB27aNXk4nKYJxTmcT2U6gtFemTY8ABGAgDnAQB2j4FtCABs7Dw5Ajtm0jyR4Dmt019vJ7jy8jSVLC9P9/DVEUqswZYgS3caO0nv4yAhYB8t7TisNIklVVFDF89/958t2fGw4R4UQAAKVZJJE42mjWRtY2a9i2ptG35JJck7sLDl/ZhyCxbSNJilGAugZBTfdrUMm49vghK/2xi//95z8TRCc6Wv6GLdsoz4ClMcAlXBpdQCfaP8wXL/GAJJrQhCpbdYZR/YZenQGr34BIQxrSoNb1z/orMxMP5q41/Ua0zkwsDanoDCWlkl7aXwpEEIkna7otVKXWGRq6p4LOkJEM/Jzxb4JoeMBrPH0TTZVXtM78rDOkKxF6af8lC0/HOl6dIJUlIenqN4TbEvk/Ai9Tq/KK1pnBEq7OEG79iZyIbrWCdeZnVV6fFbyCxV/xVwIfz8cS/yB+XuMgDatFk/HwH1BrP0jHa3VdxkNGZTR+Pp85umaTBtn0WpxROStn5Wz8dCDy5/UmyNn1aDgqZ67fDfAMq/UmiJwSYZN330uv4UbriCY9/rMJvC6v2XSCyFAigR5epO4Pd7f7GVOvnbNXTXrWj2Y4bh5EoaXsakcE1tzd7tbaaw690ivP+k8mJkHOPFZvN8TVvXFT6JHX5S8mxtdslJzu7q9n3dlwVjvnFTVpxu+lR38zLnjxmYNX7CiXXno0Qo3UCNZ+LWGuh1cKJe7sf7Ee7260jmhA/McC2h1es5HB9EU7GqvrUiIl+pN++wCU8N9u5s7sLqszx0O/1KONUyKI/njfVoCzkeu4ddwacyPMjrQ1Dv8UC/gQrUQD+iIBPeAOcAf4DegV6BUI/EOJsDzBysfKx7oCjY2dBAH/YrNL//Cn6Isg6bZImHNcssWNgAhSfywuN4XVg7gab5mRGnMLRQtFM4QBY/Ax+Di8GSJrBpQIKgQNhgZDh6HD2BMcCY4EJwqxCTmI6fDeljjtwZ9njnf+BNjYYG2wZE+O5IhiNJ4AQzkQyDnVbwalJ5tx33wxNO+NgwgsmyVr/olYvyi7p5qtFtaKAxaKEjZBKLChSMPirMZwohgUg2IyXBmujLac7TjtZ2lXzXtbysH/n2C717A0KdoUbYwOxgm2E+p31Oc05k8QF0+QceLNwABBClKQ4p8MGmZ3WUncRy9dTanR6pokx5/mj9fDmMeM7vW1U7JTkrJaUTKbeEUWZyUGFWpYjp1CFN1CnNwp7VMmUoj/RTinknUF6iPWCb4m+JpgTDGnmFPKGfXZE3dGQpGdSwqmIOB+8RNXs7usvPuuWncwFtclW7IF638QTi/KSZ2H3OyT7pQEbJQEtlQcZ1tM8kpZOiuxEHnXIApvSZzeQ1w8QlzVqQq6Q/8ffHLE8tlkhMWZfbNr9spOGO/894LK2V1WdRPnlVSPyXVJWX8KDmMetXhIGrBPqjDJyyDSYt9sUs5+lOL6GQJ44bpiID8/gc+dK8Ocnuxd1WX3JQQhmOLf+zu7y6rwSiGIt9bFiZZoycc/Q8tl9k/JTslS1hKJwy0iea3E+WOjENAL+A38Bl6jV96eUKW8ZqusWvWRnTAEE/RrMcr6E2pz1eX9uAvXHmSr6/Jpvc/9Tb3N2DnZOVnCokicbYvIazaCSNurzYqslfj6zAH8DqH/hDB8ZNzyFH75lUrkzHbZud7sCYP8a9+UNKrR7fOll6fBpc1aXRPIHuehunN+Wkz1+hbziwheG+XsSmjfSRi/GL+Yv7L8ZPlhLWEln32WGJ2RSJcZhE7oBAf9WIHZo9vnPd2l6y959xiuS5B442UuKd5m7Jq8YYJXPhEMahA50TJk+8muya7JuWfCvfo8qd8tRM51ZTqhERr5axDf7TF6evIJNXf/atdfzZhah2vieT382fe5uyZvhsRSrxazrtkoIpl1WGTL2klOTU5Nia5EV6objz36SAlEeBmK3LM68V5PfOoH8lGhw2zMBtqfomV2Uw9M0+eNB2qBtdkJVg9e4hwvu8JEDpTjI6W6MkOFocJ4FpBSiLSr7owTnPA425fA7WYDzM+A3i8BQzP1wAhfD7lb1VsgXY5ew3W9yQ/K97m7Jb8mzy0CHbaLXGWVpNJUaaoyVZlm4v4f0JuP1mZbruqy6+KE/3Mo3+VDCcwyoAN0XgLTk0+oGQ9UIx67m4OTOAnWXxwOeWSpYe01G/NmXFenHQUdBW/yA8A0Vn4ANgE2gbRmI7FDVlLOViSn9pEyYyE1llpLrWXOtlv8TXBOBY6vyGDVR/aEfvQzQK+ingLPGKUeKJ9IJXivrouVPfh/51tyVUTxqrBZYXAAuyfpA5ATYAgWAkJAnHRMh5ZZ3GylIqlXc5GPVBgrqbXsbofs4Xi8hDcn4VMA5WNVl92X7kP3wV7LR4CjVWE6mM5DIJkEEfSA8WT5JvBG7zUHlrD0HD8v1jU/soiyGfep108MVtL9h/r43wN2kGlXzY7bgSleJVVZG32zSfZ0Qh7vK8kL3wnF0IoUs4xgAw09l2/g47sBA32KeooGJ6kH6jP8iBmTmwJLKOMxUi/TZtwos5X06QnIFztfV5Fda9jjOq7ZTCzyUc4m2ccNcfkvrqCHPeDOS5Myyc7syTQfzuCMfwPgOJRJx6TzEJWepB6o3wRWtnFIQhQGnuL8IF7zYxFpxkhDs5H1N+CXYW+Tq/r9IkvWgezl5rCfN0PEb+6kceenFEqfIm3WQg2q6heA81ytqJfAM/LNuI0ecJUXmNwUiKKBl7jNmOgliYxxMZL+pDfhi2C+hhgMz3s2h0XWrIo0RLYjFeCV0O17kRNv1kLJ+gGwua97a0N0EJ13SESdUyrRA44HLrBxiGKoh7jcFO5zZ1uzGWnoqfc0GBDcFiYWsbJE+pkhcpi7hK48fJhGZKx21UMJSvgA7HRY9C+jku2cUl2u2Q1W14S43jlDfc6PSeT7qU16M896OSalyGLWtnyTRUT2IXKYyGFQwqDa4x648XDQYFVRSpCDGomHk9LeyjKT5VZ7yLCRtjGAFz4+HhfoDknddVmpZ7pd02USqdFexhvCqh72bOZq3UUkb92OQA6DCpkBNQKa2o3HeOccclbt1EjZSLJ42OmW0jCjNeOtryGn6iBB93G0LsBoYml1VuoZLrOvb8Y1rBT4Chh7+bRI2LU9YulWAg0KGhR0KOxHNx4mzSGvyKqqKNlIRjLstcT/tOKWGS0mtFxqj1aQ4aw4ygtgo/caroumWNkjYRCZaLuo+7fOAdzJbF+E2d0VTU5SQY+BHoPDlQTgjR98ZrdqpGSESDhsdOstdUJfbOHnjCJt42JK3Uihx8Cn1uGaHgn9lNUM7yPppb0x47zy49Lk3bU9UlshMGBgxMGIgwmHrHDh8QvaNJFDUaIRjZQ1/OMvmzRO5VhuAXThqvDKppT2wAUYcnFdFuqJRZ7yrW/G1Rou8c0xO4XvzTjX5CAXAgGBALx14dFzWTUZamSDN9mwUtuPtGacD1tIZJ0sNJlSN/JJMayp13AWikI+EfpmXJgtEqAjYQ3n+ia6TUFGQEZAToL3+MKmHR1NdqoFpxoNK3F5a2nsyi73qIMEU+oCprXJjbBAFogkH+CQmzCUlcIx3orNrEJPIMxB0bdy12x0q0dKYMItyEn4JuGHcv18XziRo2bMTYaqyRleGv2s+iDNFgLoBJmm1AVQxuJakJAFh9LX9znMnnrKaqStkt8iGBlEk9OWBYGwpvBLOXV36cd3Le774mN1ozjDCW48GWZs1laJKqrgGUsIeVtew5TSNOuh4JPrrRacJrPs+6GesgqjaPBVsGC6kJrU1vJIb6Xgj3b6UcyTr+uafNqyaiQnOOEu3EXymzKZQ0oN0YlOlFiCy1vl485s44VL0Wjm4rpInM8f42NGtVNWcZQOsGzS12x2ZZ39dObpzPO+JslkM6my2lWDQYJhRuskMpGJDksUQfLqBvT63Gs4EodAfp39eOopqzDKB1DiqiaxtciZp4uXi5fr7m+DvRbJsawayQpWsNLgK9sjlsZqLRGDbLseU6p+E2js1XUR+v44qwdRTT3wmfNf8aOCK5lvsinqmpeLV8H13p7fy21N1HWnejDjuTDb8vJI9hTQW/qLRpDJNt6AYrVeiyNwCBzie3x8gXt9qTfUwpHSXwGmwVmabFsh3W5yv7f7vd1/n+uaKB9NVooWLXIvMJq6tnadolJW1wqsXgWJWOiFpI3k15wWMjkCh+D/x4/uJrtqTqlKui9ITCcCtw5uHTq6KdjLS0GQCVHHLqKJTfHGLWLCKeFSxvmUGT50/TUhCqPZu5WnybpVj2xbVnH3+7j/PsU8/9fLECKLJkP1oARUzWXfyv8Wau7ukAd5dgW2UTmWY/mO0TqHGYfA77dZjafmlKow6IyyaT2QqqzAyMNAQL+huZpuxqVdm8ZpXj50KyEhzPDI0mWHk/fVpaIE1UBdY3G8k1uhgt4OGIlYqO1YjZ3lKCrG3NXRTE+AnnrAG2bbeiBTWTFH/QwE/Bvaq+GajW2ySIOUiJSIRfyuCMhcNVRPsoFtsdhl7hXK+yBiBY4kLLQcn9ubqHEG0vjZN+0612rqgSpVXhuwHohUVriNKt7IXYPued1EDSElIi0iI2GM33VYRVtdqhaO8Vxyr1BoBZU7YOT7Gmxjdeo8X1/to+o0pDkcTR1XTT3Q07M7zjtPKSufD1RWYOFlIFC8EVlPN+OWJtOqNINI5mNCV4XTdaoaqgdsYJPLbVWlkYm2QbvRylgFLLSYpCn2+byM6qNisPPR6KkHOrDdNmQ9YFVWYN7EQKB5I7qxX7PhCJKCas1g++Jtgld97XBerQo2jgZQYl2RC69QfMAYNhCRgYWWE0c3iKohcPTtWmMuERHzcfsDdcuQRQ4CDgLU0GPWA88tYHoCqd6IbXw346omKYTSCFkZOQU5Bc9v/hi46TBaa9VQIx2NY1qsCfxtVRX09PQGbWaTVi/bWEsCu2V9kQ3aIPPK0Xl99JxSHQU57wgBNC49pUL5PFzJGAhUbyQ2tms2k/J5bJakW+SUGTQraFHRurkpDLJRjsbW2HT91lgpgHhPFmMiEwsVj5XESqzTJrLBs/uZLvVCKz1JHIScj671gFZZAaWZgUD3RodNdLyum+jWQouKVhWtKt47/+mvNplUC2tbKlZXU1aK3lpAWo+fV0msaVQNwaP72ciGfNx5o+ZuPGg9APTjUpgijzzdZFmb8KbhTcO7ho/VfwRkTKqmFaxYrFloV30AIN4zLKSXbRTMwk+Ik4/jf0W+CMGz+zEu9EIrb/LzGvfhPUsWieXzv4/di7zy3DWbSlELHzo+dHiM5HNph7IHRmCUjE8Ixjt0xjs0Ro2RSX8JqGupmlSP2K03183SyCD1nMzGRCYWWkgcTzvSOIKOyNG9odAKag6W9emk9QBYlbYTIAj5Jp+1aIpPHZ86PMf4/LRLr6qrjIqFnviW7QpNmVRNC1gg17exW6QWEM8pkbTrxUILieGpWtVI7Oj+M+eGfNxAyxy3zNvNU2rFeqCeAF1ztib5Dy8i1hRfBr4MKGMoYyy3GxTcoB73VXrga3Y/pWpSPQAl9kJXfYCSeo6KDCy0jBjZaXURBUn8aP8c2VJoBQLmzj1wvUjUoYYNTj0C8nrUNZtFtaVbCerksffB6C6Q4lGx0BNfK1Frb6tVNc1ghliI1q6gp5KvKZG468FCG1UBVAx99Wg+sBm91CzwuU0JJrs2aD3ANtLrogFCBHuuSbNK8b/MsDXn1fPGxUK/hqN7VzaYVA+gGrv7KLcrK0WmvbTH1JnN/O3AQjmzhlhmO/JF1Yjg7IUIpnzc2UOXcx/FuD3rgX4EusD0TVRej5n/ywzbz9iR1rQfFwv1E/m3cEyrVTXdwA0A19ypK9oV9KScx4jIJGqLiGW2I/MXOSTGz56gGKbVVGglu+mh9jylnJAZY04/A5Xw5804iPRW63KVonE/pRapa0p9DUBZq1NeY1baktz4v/kWFRlYKDarolIxkuXZ9PRsKrSS3ZRgpadUTQ9AN/FgCDJNW5uoU78XqRz0bLAzhE27yiPDw+fXP5xcq2qawFQEA5d9rZWv6ZHocZfA3NVoVOs4drb3JNkKreQPfsxT6q/7XAyB8/5v11yktUZ2vPMRV4lan3MsmoynhW9jIZaqhXFr8B0A0+1CK0LOU1RkYKGYzGNHJ1E1nHb4cYAe1m0V9PK3vmAiO5qc0APwyDgoGiBkfjh2lRncR7dIZVJ7O+jZxKP3vDuRCGMpCzZXdWUsjIUJC8bo6hdaYYmXKGtgoXm8sV6ki/Bh+aTDMRapxXTGQxR1aEpBdgl50sUU+MWKTepVhUjloEd2A6xwTT1uj/MbsTOge1djtaseBJZ8C4BUu9AKf/+9tId8d9AT9LCNDJnF+w59VP2LikMEW+nwt40V9NjaNv/2L00pJDZOpqCqyLIJ9VltjTyYMijNPZuM/zsDXGtVSaIgimiA3i+0wuXvISryYqFZUtahjVZHDaNq1F2d3vPUb6mgF8B2nG225oPZL0xsY08P/D5evMjn4OCezbj7ADBA3GL9FE0VeD0jY2sAslI9MCz6JtBy+loruR/q2JG4a2ChVjJ38VAU/EikdRge7xwEc/cB88GeSqPHXdMDN4geXWDg9Poexs1FGpNaBddhZWju2YR8BTeglCY18QIvsmG+R6H7WiuNrDJMZMjIOaKhKHKHI8ncfYATBebdzC5NKXSauplDXVp7ETIK38buuLczWkFWCmGp8AJn4uzZAD1mgW+kbXRlVCEig6jtZH6sRPqo+vFg1WJuK4Wz2vwNsKaNMWgFrE9KegDBLQ2Ymzngtl3ds1m3lWIqNa4XjdGKljVlc0zFSmFMbE+89vD7QCL7+bgdLc96ES0Sdg0sNE6kxPPXkD4/Hygf7W2luGXI/OXWpKMHEISOBoHbeyey6j5AwJZo5MZoJcZSqjepiTFbYnu61p5+I4iwUWglpB6wtzzrNZjIxEIpMtoaiWW32ggfh8gFzglwtJVCZW7+UjSB1pk3pdBt5quIVCuy6j6gOh9m0o3RitOBrBTDSrns6bJnPMz3CLfrQisx9YDegrXiCnpp18s2BomGgkjrMH6DcxCg1TxtpTgIjN8CSxlar9lU9AANmKuTzFyHcZm2UnTGAo2+MVpRPnsMRI1SNVQPtPZ4/JzB327n49Yj7aIGiASP28rIcUij4HakkXVoCe7YtEBjq6f7AGoG48Fe+USTgh5A9/DVJFi/XpFMWykGURyGdEYr+meOgcCGwphFoXuie+bDfI/y+9UiepPUA9oFrJdW0BurQNQGiDWRWPLM5nNAsZXugMYzV/cBgMnpoBbot8mNKUUEs1elon6tyrSVYoV8+qw0DnpqRs7uYFipKmqQHyxR5eNOUw+oqfxXJgMzm+hxd44LiYIdESQYh1ewlS7B2VYKYXr6HsBmRNyMK+iBM2gA2+5ZtRBpnrLS6G84Q+NlJp+WA86+UoY9DXuivJCVvvDi+PrJQpUUyNIV9D4LabCNJBl21bIOrTNcszcQAnrbSkFHHsNo1Fg3+11M98zw0Oj1pWni6QEcqq7KORW2n7VIdQRsvPOrmEXnoBe0PXjtpWqoHgauyEqfeE3SNipZWUQkYKFmcu8Og3Hl9LBlfiXa2GzGudpKoYk9hPHY3mWlbnkJHDvcDFq5MKVw1Hf296JaeR3GrUTKxTiP8x5oPm+8zJL8kf1HX+TcODcuCcZuHNt83MfUA7I8Cc1svhUf72tioQMckS4ajmrea+Vw0x58yEHVi6vn2bZRlnTd61I2Mns8Em4KaK66oBVLD9AAiW0M4XQiIoVpzwtj3AXd742DnqqaxGotcopdTPLIIjzrjtZ+IYeEF3AJshQiEthG+sPgp5hGZB5ZgvLLpm4CN1sZ2krBPlWCFaFyUbfPsybz6rgLbCMhNDkwpXChznUjWB3G7dpKeb+d/m+feNE/88bLTHIkbY/36KGJXdwOMHblsLfWtI2R1AOSkUFEAtvYwNyVjT5aZdWJtFH9OeYq8rSVAlJ2DrC19p2sB8CyyRTbpLdN3hWOH59nhXDen9sZgiNhuspsH6B7a1ZmGwc90T2K1VpkF7MoT9wZhV5mckpJlyCLgxF+vO/ENtIAWwl2tqNluUtQxJJeRS4jEcmQtlFJRxT1henTyXrA2T7IXUtBK70plRtalgwt43s2ZvsANaI5Nia11GeO4qFJ644145hT6pDdB9aikJWxUJpeFzJPRAaR9a4GKefuGWnJx33tKWWyZzJqKnvxDTWgxYmCbmIMWqlNKbkt56AP7UXsrZFFI3ggK0UxtC4tG0W/vku7cMm8UiOnVDj1AC+HtRgYyWzjcPn8+LDIkVGgZqMrWeiI9YA43gfm3NikNqXkfj+4OdN+oeTOC2sHPfm0KJyjpzUxyrFlqPFjTqnD9Hmel5gRwUTmKibSfD95I+wgyyIAr/kfKwWsT8C6RQySPe7alEp2t7AXyfM/7a2Rs1itRUbRy7VpgEy5POaUOkxk5pzYgPUjHJmmVFDEgtWVB3dCR9eXj3vEeoBpcPZCPEsGrUhTCo+N4O4o+5UIWwsHPT5rFlb10ESr7o0DjETqgWkMGKkwiQFWtgUjw5TadvVRnbG5FfbyfIVWRqwH2Ear+Lg0KU0pOG0FcU6lKF1NqUFbKUSTI3cYH6SX3yjc7qLNVzz1wGYwDjEoeAaJTGZ+PdZfEXz8iy7GV2hlxnpA/PHmcZemVHJ7BOyoptSKCGty0OMcYfszd7JJBw20zLWPcyX5GE09cBqMS9SYqGWilvFs4tkcI6PoW+1yNb5CKzPWA2w7YS90qvJBK4YewHsjuT+Cch/GVSKDtlL41si8exib2hqUNfLoQkAmOQ6pBxKzrITlrtlAOp6KrYStdDu5RcpG5q0EjJy1vQipzE0Wj1vQA9GS3MJmcc9GWJM1MvWZw5jWUFsF5RdnNwIy8Ri5LjI8GGciy6pu2rge9jYj8xRambEeoDB6py2KoBVDD0Q3yBBvRNT2AS3ZGWHbozzxRWUkP7wSkAnm+Qq1/WDcbxEI6oTNA6B/0VloZcZ6AFH5PgqU3UUTQQ+oqCfhoKBI9W2kp6UxdzLUluH2TmCN9eZVienzFNEzGxw7e8Im6njhK7Qy9GOlQJooPv5WPmhlpwewdKM7pJOrjBELkZVJbdr2GB116UsyyOzzUxEzsByr+hVqkVlWv0TqDzHvsP5BKwf0AKIVe9EAqYJWVnoA4yuK9VPca1LsQhmtaWjktBbJgECuEowF1hE2Yl5YiAZoT6kgHd2mucgJPYDYhhiF8GZN0Io3paJDy5J5nO1Ok9mkNm6cHo21aYIAkSH2YlpDXIjXdpZV1TkbCJ4Cj8X2QSsXx0oRhYJwG7SS6QHMjSg+3+XsMA63D2AUcbujVdNahEACRAuyGVZGY1OM4sE4S/AUaGL7P2vlwbFSjMdtmnhTCtuPZcmyP0eHcbh9ACOL46G2FKTw9+aCgiMSIMnEmcLzDzK/BecAAwet9MdKMbPgcM4ErXhTKjtUvsv2ME5ZC2vktGEr9OtbrUVSEEOif9tglpm5CD5JvJKzrEIfT7G6y6pq0tADpqg0QgStFB43js3sFunejp7Z4PYBVPcwlF88rYkUrb96kemmcVbRWMbgRP/K6iTL0BI+Bjkz3Z+18oAegKcuU0TILINWFnoAKVkUyo0mszUyOREGIldrqMxlpvunIbEmUkJZoWKm4C1gJbsHrRzQA4SsVrOQ6WEIWjnAQsOfgafFLjShxWyNHGbGjVgPtYXAt4OxeId5hZpGMofm8DG4XHztg1Z6egBdUlzuRRG0IthGsgv3XHmhycIa2T6ehcyu1kNlJM+nEUFL0hiCx2A8dnvQyp0pRV55ToFvg1YyPWATh/dIiV9osrBGzhqnZ+5kqM3tBWP5tF6h1q2oMTSGxvTHAI12i3E9PSAfR6PKIxe0Yk2p8FCNPDyMI5pMaq1tUX/5QVzgAhcF1IgguQVD+JprSE2122XV0gOENytHoaqCMmhlMaWUXXiPJPn2ME5YK2vkpDcWPaY11GbJfEppVmRbJbfwmq570EpJD+iD4PH3FLRBK5keAHG6H7cnh3G0VsrKGtnSGoS464PYwBr6FwFVIrW1yBDqQ2yl53TNg1ZaekA/9d0HrUR6IP1hs5Lj5JnNdvoACxGEsHdai8pgLKBWBMnVN5+D/wdk90u9iDhrZUcPkH6uHoV6Fd4Erdyv4wrYMKL7hSYLH3jLtJxTkoc6jGGshOJIq/gN3AvwzWJcRw98yIX9eBS0IoXLfCAMey3nTVbWyACPgW9fraEy60woEynpmrrmg64k1rSxO0RvRQ80h17cG61EeiD9Fce89KCJetVAIwMkBSH1UJs29C8SqkTO+njPu8B8Yf4vqzpoZXtCjYz2G9NH3a7XRiuRHhA26WY+jptINDLAUuBy1p0MlcFYQhmrpG1qmy+6lvgqWHeI3t6U6pBa9WiVRivretxCKb1F7rIHh3HCmmhk7DmHXKk72dSmrJAykVDlRcaxYKugld6UwnFdRwtURiuBetzpIYMsm5Dlpg8YhtwhV7q1QxrSkM6IqpGT1E11803XE1zJmqAVTQ/gpK+cA8rt3milKj3Ah0nvEDO+P4wTlkAjZ8CmXmpj8oiaMxuyQlu4pIre00P0/r/I9KAFG1Up9yJVwQsNKQ2t64MmsFaKRiObpkVA7+nWDmEIXzAWUSqSVTVVTWylV7XTQ/SSydPviy4wtYe8NlrJ4EX8/xKwf2YjLIFGJsoTwOQfRBhCEKqMgkgrqjKfdVVx7HA/Bv7Q48ZZ30HgCsXT3GhFmFL5jhdo6eaZjSCmeUlILUoJgPWY1g4uKPWMwpnNJqWpNB92ZUErQ3vcgh7AWf3FDDTWckYrT8RbXqAph00MGtmVVwCU9UFlMJZRM4LkVh5myJYjsn50iF4itz8j1B/XDnp1wYv47pDj62c2MnI+ioMetr8B0OahNvQOqWmVSEujMN92fUEcuDhEL87q6Qh/NAHhJWa0ciLefIAdOW4iIbXox8/rsLRFEyiggJohJSIthfkahG8BeRJiG6XHTWYLVMK/C7wojFYC9bjZCPG9gRNPDuOEVR300P33OkSqL90E/aAfJg+pHTlKIzffd50hoUCHSRu08m9yeThy+BSFSKIedxx769MmZvqAyUHv9bMSYs9uNXn8PPrBWEaFmRTjn62W3FQ4XnitURhNSCU6VamgFZz04UL9hKwcBq18PGU1ERGmVHxIfeYnh3HCmhz0UF5vv2u1HipDVUiFtaQY/yZiqXLHK0/6ABPwhFSia4i41iCvZ+zCUR8O68g0jQhtz78mb4vsk0Yr+XYrbIyHTcz0AZODnmF/X4bUnNYO5ge/LaVa5Ci5o/B4u/y4F6kKXvgZf3HsyIMmwpod9F7+Y+j9Xor5le98mKiaIRld4rGJN5p4TZDB2g0a9ZalkVb855nVAUvSaOW+VSjvORaKTIIeOetpyFOKqs2/fz8vJBGVNWW5fIzcMx5nst68JqzV4iIMf9eSVvwoikEKQaMVWXodXmdbKCIIek8xZo5LG2Uv9uL///n5FjDgcl9/6pS6m3ViOcooxERCGknFf2KCniZ6c0YrsuP+xEZdkQGpHSyzp3hk9+2Hl6PYy4+PHyE1w+ZrqT+VqMmCKMRAXKa1GRqYk+2ZZWFoZpOi/7mWpOJHsSxZ2UTvvh73/V95zCP3/TpHBEEPgi/zThnFOOvbDi6PxfbCdQqsDEZzQALTc+MlcJGsuOJHMRmeezY5oxVRGofpgbkY54oogh5U9jCvXrsZRa/s8ffXvTylami1rOzIpxT4Dsv571GOzQV7hTLGUywa6MxZlOOsCFrun2KCgia1ohEccfi/si/GCcs9nTeAfBfO2xtlFL18dMjvr3vvQtNbtRVFb88BQ75K9YpkjKeYrIwEpsSiCUqkthaJK0QVcdgAyEXEo4zHxGRSzOd2cAcCiA2/AM6p9iLL7+POl+AGy0UUy+xdfnjt9nXb7+7D84JSlbYf1bDmyI7j/faeC1BFirKQyDmfbRyyWm4QNni+LLpYJD/G5DIkvwYNj/n6h1BKOujljcxy3DM/szFPF2gFA57ljfqZXvli/7ygDS9UVQLfZ8C67DjdSPm5ANW5KMuuUEECjiyK4fmyMlySZKCgpPcyRS8/IYY5h3ExoxXfvYq35HaOaIIepvpV2OqH1zKteHrdvihZSCJ6W4OjKV/VLCRWHiODiZSECqFijou4rEclTu/N5IDk6qd/2UHvh4hkmaFTH+Wd0op61ifnXrWV68qfADL5KrQQztHOT7OytXY3vc7KUAYNUHArGS2PEadETqL7uULFHM+XH+WSkToZtSE35osfGlLQQc9X/08P6efyT2TifUgdb0JHt1dRWlGLXvnC9+5or8q6RW8fJnZgIbyKN2AtWCCDYkZKi8YxVkmgECgm308+95NFHRW0l0FO8NposHX3Aa3H7aNV6U7wfokIlhmp51Fe1TI1qOGmV36en4535kG+PwUA6KM3Jjm2C1lcYh3pr05inytQxXkuxplIaAJbtUabv2qbPavNmOvWMOmm+4DW484OwRC3Gactgfd5AvdxtBavotQgxy5/Tgu77F+ziRbMHr4x+XheiGAmx39Nn43gc18LKEONnMRX8BUj2GdIj4L2ybB664OR6+4DWo/b51iPQn8iKULJOyoyQSvEu16E3nl4raYEje7pdbv8SoP0vAA9fF+ScV4IlhekriXw2tcCCpO8ZUbICo1gRThnToucFG4/ZneyjzvD4bYOeutv9/HWqij0Q7cZJ6zxJEArL0I/Uby2UoJy8v7Ct06DADDcHTmfKeQ1ax70aFMLKIOKZHkKnmKgFhJJ1cdwceeDSb+rYkYryVLItGVREQreUREBWiEW9sNIO9UyOXb/A4KkQUJzNHnDIEQb/tnxTCHrXfWoR7s6ynEg0nJ7OEfHIlHU0Tez6xce5pHcbhmtJE1W6LrWigjQCpF7P7TaUrVJQQps633ndOQ+zYDKHVZNPt/3TNnuoEGfbi8Bzmwq8rzT884P4jkmGVKUzJuhhPOTox09cdDbJTMvkYKYNZuqiAKt7C8d6k21nEoKcmLQORHRBwZR4fCLqDoOxu1v9Cj58YPEZ3FmBOkbHtJDfnQzSagowaMCnwp8KnZ5cVTVYwe9rPvkhnRgsYhAXqzzzPTKoZaJgWdMYNKno5nBax4H41hn4Q7pS2RMgJGKPKRLvhFjSXa3PLQAvfhojmdjpViPOzek7Q4347R1u8CvA34Udgmy1c/kKQPwwfLMmXyG+HQcB+OwUQjsjPAu8Rm8EqZF6qwkl1wAGo9yc178wzHy0c30AaXH7TlSCrrUajMOSSEv/L97eG1ODYdaJrIn3RMX4/TpaGQ42g8+zbIqfhdVNNpmeUywI2daPyl8EOsnVIUK5jc+3T2zKT3u1JCmI92Ms9Z0gfffnywSY3nVJgQBpMoEjJjT0czg5edZVqW7xBFp8u1lENZGK9apAnojKlcdqsmnmnwzfOHj3EEv6j4prwuqnmozbkW6Nfy4sygJJZxKAIEcdY8i9ihIIpwgqM6zrGr3SZf4LIGJLLTQ+3x+ZjOYpFIaPP8XRsp6y0Ev+G2ptGXxmo22ph+370uTaPTtVRsPXGwEf1iV5ihIE0AWmGVVCxF8WR4zYGSjJcSajKrcsc934UGIPHPQ01hoBqou8wQy7lUmMv24/V5/SeTYeS8PP2NbR8yIpC54IzB93rRWS5v4LM6Y2YDVLsZNqRkzeuHh1EFvMaUiHitgiHsVUNe+yPDjzmbjrqo0Dp/1jyPmKEgTBDMwfZ6VlUKiX+KzDCJyW4yTQ7bHlEZX2SSPoiIVw4YLnx466C2mlKfsJaACpgjIfMPMtEWUC7zvzhw8ulS9lwMOeHSGjYzj0fBwAKcKPJgFBb9yjMNg5LIYB09I+D8OCyVorkIxpOx8dj6fvi58+nj6AMc2JiCHpsjXpAbhbRHlx+2r/znERPHa7cewgzIyj0cj5B381tB1kV9izWxOlmz1B0xjhu0U1fAHO3/3hb2WB9MHNB53YIhOdf+MOVPgtUXG02/bGMskxaV1igU2Nibr8ZV0HVSFyztoVSB0XSTF9SHuETkARauFpK9iLnyBm/F4+gDFNnrI3h4K0qzZAOY/ZkXwKqZhFhrLnCfGqtduLHBpQ2aEn/FtHI9mAKMZui6SQn3n4bVDW84R2dPlshEXzagMG+8LP602OQpa2QMxZjPuH7YSg+vNOGlNs9AUnWKBSUx7qD6typW7NMQGkkJXqFF4fYd3ZnOILP0kiQ0X7+xJfbzUsXtf+PTUQW8xpdyCtkC424y7TKaCVyFNs1DXhbMSevbhtYwBBp0iI/MEUhOOqQfma4VI8jNcZzad/w9iH/Yint1iXr8Ln7IzLjjoBd2nhuiRVZnNuDME3p8WazbvbwMW6rw9A5doFAPMMu5in9k0mnwzyjgZmIu9LMdrhXxuc0QOoVwpVFprxWa4reye3dM7CZ5Uy2wHtMJwH+2ioVNZYfArMHhfJLCN8pTIs7dXVcxC2wI4Co1vucrES0bD1Wf3K9TsnzOvnEG+UriNLbNP6yp72rMY9Zmn6QN2QCu0ZV1Adf1VVkFfZF8ksI02RgIu1ijrYl2ItDHmc4NMvyOtBEmU8NYD8GQWjsgJdNYD8GwumQ21n3QJjho/dNBbTCn63roAoVFZkZAjSLzyImHXkMzsJxLvvCpeRVkXGp93kmc2txUa33KUCeyGjM1eIW8Mdt5Ptxm39lppDq3ZZ4dyP5g+QLCNdDPdQLNuM26OcEwstEUi2xhYo2MY5d6lftALKZkDkbrJtwwtgrsKVrPhNLqdTsjc/g0bGzqqUjz30wdUftxVCpBG74I2xYgfdjNOWEEyM2pzPBLFayt6oTcDs2kj5bcaGH9EBvlkFtUQztzVdgqVFeT9RWMtVm9J3lIqX7MxbGMFbwQ8RmVF7BBfH0J3UoTf73tqEtlGvTmGrZxqGWlLICht3zLzNg1bRK0DWo2kM69splBZQdrH3TtxqWPLZrDVFqn8uKl7mkVDp7ICQxSddmzGlQhbwZTSK1MY9vKqjVqoRZ4SQEZC41spEuVqBDfu7c/OAkQ2UqmsBjY0Y2Myu8mW0aBqSNCzWGhBSebGMiqr04sr0mjNZl8ZpWYymz67U9RCeicmE06jFbt808sEiWhFBBez/M5YAOy8jUrIPLGpVEvdJMfvOWqCnjS8oOzI50p1Kis98iJCbYoYK5lSQ1jb9qrNslD0BGCV7VvqlX7MvHgvjMjdZ4lxQHcRWg/kMGu5enn4nm2PoPe9UTXzcbWdyspg4Nsi0ZSS0RnMZqMsC7kRmcuP2Eq6fMuQsg5FRO4+i49b72oPkXw+iRlLkyxpnjVBT1sPxNBQUtNYDxA5zW/BU2VlI9GUUuIjWIl1OZVlsRhCIwJ/cJB5I42dhOJ5slagHlBLOryyg0o+P7Fq+2rhbEWX36uUP5diBbSSppjr7FRWrhEXrvaRtOtIPTD6bwq1sdRqSxGGMJmpnBFHZ2jH1GsyclawHlBLAJH1NB1qI9i9E7VVhzonGu9TxfQBwpQih2GQkEZlRWC6rxS+YCN5daQeEJkDiLTzXsL8jLBlrmkgR4pGGlMkS4L5jAxsBesBNcVg59XkHWpTtJQOs/GYi5s+oPS4Q/cep7KyRiuwkHYxTkfO1ANiYgDNOrxWw03oynyxVTTSqBxTxMmqmc0kGlYXZYqb0cXEfZExqiSbpjfRxWs2zpSCOqLA4E5l5fGO2a/9FxFWbNKkHuDp96+8vA6FG1w7dS0NtXU1l5cjaYoPkVhlloa44a6WEvZFBllJUvX08DgVEPQKLBSEUZC4jcoKpfZfLdc1vhfj2BLWA1yujIPSKGq3H4CeupaG/DTI6tSgJ5IvPyMrwquU6d00pyykogcmCG60th4fpgcpQU+aUgmsFgxx8nlCPPDfvjxm00hZD3BazzjIzXVvVWYDHamZFDMbfX7LJLBzUkStUqY1YOdlNPTADJKeH/6vhAQ9a0qRgSCIHU7InHyzXFfMgwjrgdThh5RUtZvZwNEUNcLUX6chzSEhshd4mxe1pY2toqEHsDaCsrZon+yPaDDe90WCHlBvoDoIYtNo+xDOJFydwyD1rQc4rg+HdQuDtDfKbIAzNpEiIk8Nmn+tgQjPiqilttR2jXUNDXgxgzldok1t+oNsTA8WCXrfm0/RZc564LjoBWkgiOiLzJYOie92eC0DBtpi9Ig/Im0e5pW8SKioLVV3tVcr8ODFFBc6slE3MERNH7Dgx+3ZjUROI59HbGbfLMcVV0HYunuFsvY0wtaon3meEkNG5rFB86/5DnFYJDKtQkVZTXNKHqv7JDmQjb5SUX/zwxpoxR9TywmZkRlZ2DuPxbgLL6Lzxn7tEXxle22VLQHDfrp8pLXrNCRpK0RC5UWp+pBGmlJBbETSuJEOutGfmGs2K37cLiUWnHz+7LFF6dVinLBu+XxiakZoFFUrwIDNPQdZ/9N/CmlxnYYFX8tEZvWAyKvJI0mUKRVFn1puVI4uVRP0aiz0SmMhM1ydfrOMEzXIjVenS8jM5h9B4I7iVWpxgMmD8/haIrL7Py9DjLciq0YNEngrepZ5lSeuytIDM1hyb7qjHS4S9ND1Nik61cnn4XiMMrs5ZiOsWz4ftGxAyaH25emHkiAmsn2dhhABWn8wbsGoSfEzsrIUBds4hLA2uZZrlaPvWAWt6JTA4eTz51sVptfHbCpN+bwXk0Lt4lWKIoDpk5xGGRlU0arXaQjBglHDekBGqZQzjfeJ5CWzKSxFL+FzFbSiUWZIjZHPF3OlqifmQYR83vYKIR/1VMvQvZJQxDztXeOilUNuzmZacs8wlbLUU2JrRsM2mrUROLLpJjzqnj3QikGZocqU9UDpn6d0zoMo+bwLaKtF1tiXp9+kb3QW4dRPnyKYZTcoaE5fJjJL4C31FKcA9GYIaLSJpN4f6slV0IpKUVmmLxI32XiqzIMo+bzrBW/Uz0x6RVERfZ2GZTJxWCcySaUs8RTGs41DBJTaWl8Q2rJV0ApKEOF6har5PtWT8yBCyMzit3qABtDp6g7heUoUilhc/KCs0Zi+SmSWSllYFqXBQs3YCJKel5TXyiZohdAtNMyuQw0WUoEHusU4tsaT0Pb1v66hPl21KxC9s5PIEY1QnihsXCYySWor1CFIg4XOoCJLXEkL6SgmE4Je4XHPFLFpOtTct89OtPLlJSJlIzOh0b4y0OnqDuGtv8VG5sB4tVsAEX3aIhEHtfWDMrxRe1U1UqsjFtJBZZsEPZTeI8VK1dYD42Sh8kkpXAUZ1olCuKMD9W9X7QqXfLyIaDmWbaNYulSdfSoSrWpL40X93ytDY6ExmpU4S+2YfU6bBD2k3oPsg+d0nlLTXNx3x2zYWjsPkI/aXEHyUtqP+1AEPC8ewxFDFcVm/RHR9zA8GJcQMXhRX3qDVTILciKW6pFVbRL0kHrfKVxjOtSmyeB5+jSI6/+/U6p5kxXQq6t2hdt6vYYYcVTRHG3tH5ruaZGAG+8H5SySWZQn4qkfhG8S9G6EHhx31gPjk18I5DhI1WV1vqnU85Sj2hWftjL3/1pARAbz7I8b0ljV9iUikqXs5Y3JgF6YL+Jooz31qoOglUt3gJdl+iIdzXl62otjNkhVvwv47RV0r67aFS77+RKWSN+hrL7GxXHKRXUPRSQ9yoAePV9OKLBQHrj3pOzpBgPxAFYyfUDhcZ+lGliIsx6wd47h6YkgewkY1fsoO0StdsXOEWscdyhrXJKGpbL6tFzBeUEgBvTo8iYUWCgP0ndSJ2KIoXpkIJk+oPC4T4ovOOuBQIJaD/Lba0XKrMN/HgqRFK+6kTyiPYctw3dkyHsHRmldMOp++lRmIVgjglY+Sw8c1YkYcul6YEi0ZuM9bjz1F7jJA1pRHWq2emBYXKxdjLNWUYzD/Ngg+uxqVzyr7AdH7DUu3pM8IhVmB+PmpVlo5J7oCRILDWLp9VN8QHUyVkrhccNCsFKd9YCOBuDp314iUhTjUPl+5bbGGvCMDThirnHxpmSq8p5zIga5VyNl5CD29KMGwIC2yHIzDkvAyXSGF5FhXSzGsVUV45CPurcI2uzV0r67sIK8f6q9xsW7ktcQFgmotoBGtqhNcqAv9bMukiUz3L1j51M3gYd2b8ywAkGKsojPef5eud0hKH2xwGn/1BPXC4nK6hYWsVRb8SRoLPSmNN0X7Tb2RQpTSqNHYCWJINtO4To87VOvbl+qdL2xgC4ir3HxuqTWuIhB7olVUsjIR3X6xTDD/UgdavqAw6CV60NvhoaVCFLsFCISH/PtKvtB3Bu8EWX5a1y8uUyxx7iI5ouWeBn5qtTp7gugU9X0ATpoRZtSSmcImhUIUuwU7nZuEJRoKwBZmG3jCxKpijxHytryVFuCFdbjznGhm/zQZjJ9wJHHndqJBSk5FuMOkWKnsN+DL91ZWb+29Iy6hXKApX0Toca5SMAX9ZhT6kpmSXBmc1CXpjOlatDKR+oBLR4b1k2QbOeXqTg8l0uWqpm5gtiiXJL2zkmgzFf10jwXKSs9AqnZjdooAal2p2T1n6z6f0cQ1zkqcuJxy2gMkvWxGCes2rpkqS4dnovaolwwzxoOeSdfYycSqoBGRnZZzyJIa0t/hHvyIiUWukaVunlzzGZRwysRko+XO/RIALM96R+6JDg6EKmLKUc0HncGRUvopmEAImdepMNC5bOCw/oIYq36FFOWlq9HPC9+C00TOF9zsA6VL5BUeI87xY4oonsCVJkaK2URtPLbRW8QXLvzOkeiBF88LGEj4vogjzLuzxgYdShDVaI97hgU2XszIOSeqohmG+WT0VpXJoMECb5EX+L4oAIH0ZahelTnsrY1nDBJyshBunXQZwTlVNMH7IFWRGYSz1NCQdJWLdDu1uqhJbGi1/VBntbKqEMdKkABOxYaRVNGDAvA8WislNrjZluzpUwNBrkl+CJiixWx94s/DqcK6LXae7OoEB53mgvBDXe6zHpgC7QixsNFJf1ejJNWIjfall5bPBWR1wcZRikUkwvFFGU7dMVKS3g7VQI0FhopAx9cGBNpnYliAnhWsmbTetxrI27Rm59BptUIEkVu27LXKBG8X/xFn4rTLZ/fcSldJOySQfaSxuN2Xc9zWIIZ5g3geFFEY6Hxgld+LsZJK5EbTbQ1TouAMP/+E3Q71GRe7biYYT/lUitpPO4M1rLOaLPhH6cKlZXFQnlWGsyPu2M2jSBB97FR7q0dWwYrikCY7ndKycp2APesXwFjTtBYqMt6HuFEtNAyAp7WQpGPnFLrJHrhm59BrBV0H2uZe7RFQMyduxN0O9RkddsBkK1fgaLUIxtqCqI2g7K6I1z9aYsEvX0us7ih8j6zEVSc2MyDs5rJNgKiAI9x+h1qMq92UKtlsDlVSrwCHyKgMBfaARYSb8ZZBZ5n5kH3+ilyCfCFy0V6xJO7E/T7IiV12wCgqHK8MSfwwP8aC83gredkuadZtRkXF2lzSrGteZCPai/G9Z60FqItQhFL7qZAgm6r0IYOSNKvABROlZrC444iiRpqVnBcerX7AO9xc/iLYbmtB0GCxm0wbC5dtwJyd5zwXKTE03oUTWp4m6sBXoF/SreOvYyYV8dsvMfNo0/KwNjZjGt4XbKPgb4JWWv/IynpcVyRdTlyHGt472OA9bhzNOsoDTTRIlBtIEiTU2qN6kE62IyrTqdHTzHfswqRYyjHiQ+Br64A2mNOKsdD0qEuFprkRNDsYO/8vcsqdgY9D9abYTmt3mZc6wCYVuGPD1IylJuID4ELNS5G9l0dwIVTJWZhG6MERLMs9WsJR+sgyI6FUvQ3ONzdzbjqdHpOk1uriHW2NEM5TqYHhMeWAklSOZ57RTQetxYecaDMiuwnAkFqTimGfPUZQ5gGCRK3VbDLbeuZBAs9IDi2EP6PpE0GrDpVIhqP+zGOIpBQZga98273AcrjZm2vhuWwZ0GixG2i7TIjev8UCMJs9MC6xgbZ36jCn7mMRkZm4RFMbgmSITT6YPcBGxbKtr6CPrSDJH96NRu1i1hnS6K7E6z0AE+TPLIoliNpzgJDIY3H/YzLaZz3TWpNdh8QZWTrxrtPCMcoSOyYQSKWMVvPrFxbpTCluDos2VAkR90SyHujEO9xP+VAHxOjNth9QMZCSfTdsJLNuJ7XpTVaSW2v23GxqDjGlOKemXM0PZFD16g5i+fvrlKsx51DU2fHbBfjmqAVeco78E7h1XvkVSRym9NiUU1IU4p9jHVKa1b2Isnicw8xTkZOIiPvTsXPi5wamWYlRjXomzEE6XldUqO9tG0gsndtldqUIq+LEEyV0oquew46p5GRGXiEOt1CzBDqWfdBIhZKSl4Oq33NJpHzruRsr1qsUREJjA9TmVLKCC4xl+yV2rBqTpUGhcf9kBOBEUYwQ0iViyBCgac2/+GT1tI8T7JPajTQt6H/QohgJotw3W6dKbUMWciweoAAIrgMECSKwjP4mc23mrK52nlZcNqQGo/7GScSplfJz7sIskdekLa3JZtrBwm6ysVb64t2293tvIXPH2Sp+xTdWcbKXjxZO/DA0kpGfkJgOp0RRRpIITVdQ8ix790HCAUeaf2/ks1lGvKlrm0iUThLjykQrUdVso3ByraLqIPbnc1vunm4/ZWMbLX/LzhE/tQ687iXzHT6gHY7s69LNtcMkhwn2S7oqxS9FckV22NMixUqWN9TKtt6oP/08bpNR/N2TZ3H7ev+8fd0OiWkSALDVJN7gVyP35CjmD7gSBZKjj7Glt0OcgncFsAiNAcEEJjW7havZ0tv1xtaQ9+HOe49pbpRJ4Wz3iynDYmHnczdfstBK8qU8nX/+Hp6IrflgMC0Dgz3m+WAPQIv5Z+B07qV0wes08C/Ln5lshnXOtgvP2csgkBYRK49ozWmbCKv3qdThSAg0D9J5pRdx9DsLvDSlDpZDIi7dmrp3o7ZopFxr+fD0lsNr0RDPg+Z79kkIcJrz4RYEbH2vyJVxlwSu27MP7sL/A18pLoGLEQWuTrRCpQ8BwzZZlz9mDWwxCYUCM/ZMDUZ4+csC9DpT1zMnXAfSYIzY/7ZXeBv6mq9EHbHC45rj4uUFLW48/2otMzOg9YSj86N+Z5VFojU7RjUxpQV2RazhytN9l6UvTBX15/iTzC+Oiz0iH9IWEF34LSQFOmywEPbHwwL0M0Tmzv6tjlyl2B5jHrtmTmhLePbPD8ZG5hL0fdSouxOc/XzRN1md4H3bOMhB2uVoEOwT73HSolnXvgDAEi9ii4tdreEiSAqYjeLUhprLxFBSCCFDYqTwjpWIWHj+09HY/SrU8TpUeeZLFMVuX8jvltn/zAqogG9GqwexvLDSwUReCVjYSbMhLXQ95Y/HYQNBAmykY2H+xuEgaGcNqTw4mWT/QtZ6Y9d/P80YAwA");
        --gutter: clamp(1.25rem, 4vw, 4rem);
        --maxw: 1280px;
      }
      * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
      }
      html.lenis,
      html.lenis body {
        height: auto;
      }
      .lenis.lenis-smooth {
        scroll-behavior: auto !important;
      }
      body {
        background: #f6dde8;
        color: var(--ink);
        font-family: var(--font-body);
        font-size: 1rem;
        line-height: 1.6;
        -webkit-font-smoothing: antialiased;
        overflow-x: hidden;
      }
      /* gradiente de produção em versão clara, fixo na tela: laranja no canto
         superior, magenta no centro e roxo embaixo, como a amostra da marca */
      body::before {
        content: "";
        position: fixed;
        inset: 0;
        z-index: -1;
        pointer-events: none;
        background:
          radial-gradient(
            120% 90% at 0% 0%,
            rgba(217, 145, 63, 0.34),
            transparent 55%
          ),
          radial-gradient(
            90% 80% at 62% 48%,
            rgba(214, 64, 155, 0.18),
            transparent 62%
          ),
          radial-gradient(
            110% 90% at 100% 100%,
            rgba(75, 42, 122, 0.16),
            transparent 58%
          ),
          linear-gradient(135deg, #fbe6cf 0%, #f8d8e6 50%, #e6d9f1 100%);
      }
      ::selection {
        background: var(--magenta);
        color: #fff;
      }
      a {
        color: inherit;
        text-decoration: none;
      }
      .wrap {
        max-width: var(--maxw);
        margin-inline: auto;
        padding-inline: var(--gutter);
      }
      main {
        position: relative;
        z-index: 1;
      }

      .glow {
        position: fixed;
        pointer-events: none;
        z-index: 0;
      }
      .glow--a {
        width: 56vw;
        height: 56vw;
        top: -20vw;
        right: -16vw;
        background: radial-gradient(
          closest-side,
          rgba(217, 145, 63, 0.22),
          transparent
        );
      }
      .glow--b {
        width: 60vw;
        height: 60vw;
        bottom: -26vw;
        left: -20vw;
        background: radial-gradient(
          closest-side,
          rgba(214, 64, 155, 0.14),
          transparent
        );
      }

      .eyebrow {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        font-weight: 500;
        font-size: 0.72rem;
        letter-spacing: 0.38em;
        text-transform: uppercase;
        color: var(--ink-60);
      }
      .eyebrow::before {
        content: "";
        width: 34px;
        height: 1px;
        background: var(--grad-realiza);
        flex: none;
      }
      .eyebrow .n {
        color: var(--vinho);
        letter-spacing: 0.2em;
        white-space: nowrap;
      }
      @media (max-width: 520px) {
        .eyebrow {
          letter-spacing: 0.24em;
          font-size: 0.66rem;
        }
      }

      .wm {
        position: relative;
        display: inline-flex;
        align-items: baseline;
        line-height: 1;
        white-space: nowrap;
      }
      .wm-script {
        display: inline-block;
        width: 2.324em;
        height: 1em;
        overflow: hidden;
        background: var(--ink);
        color: transparent;
        line-height: 1;
        -webkit-mask: var(--wish-mask) center/contain no-repeat;
        mask: var(--wish-mask) center/contain no-repeat;
      }
      .wm-dot {
        display: inline-block;
        width: 0.14em;
        height: 0.14em;
        border-radius: 50%;
        background: var(--grad-realiza);
        margin-left: -0.177em;
        transform: translateY(-0.334em);
        animation: dotpulse 2.8s ease-in-out infinite;
      }
      .wm-word {
        font-family: var(--font-display);
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.22em;
        margin-left: 0.42em;
        display: inline-block;
        transform: translateY(-0.1em);
      }
      @keyframes dotpulse {
        0%,
        100% {
          transform: translateY(-0.334em) scale(1);
        }
        50% {
          transform: translateY(-0.334em) scale(1.18);
        }
      }

      .nav {
        position: fixed;
        inset: 0 0 auto 0;
        z-index: 50;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 1.1rem var(--gutter);
        transition:
          background 0.4s,
          backdrop-filter 0.4s,
          padding 0.4s,
          box-shadow 0.4s;
      }
      .nav.is-scrolled {
        background: rgba(250, 232, 236, 0.82);
        backdrop-filter: blur(14px);
        padding-block: 0.7rem;
        box-shadow: 0 1px 0 var(--line);
      }
      .nav-logo {
        font-size: 1.15rem;
      }
      .nav-logo .wm-word {
        font-size: 0.62em;
      }
      .nav-links {
        display: flex;
        align-items: center;
        gap: 2.2rem;
        list-style: none;
      }
      .nav-links a {
        font-size: 0.78rem;
        letter-spacing: 0.24em;
        text-transform: uppercase;
        font-weight: 500;
        color: var(--ink-60);
        transition: color 0.3s;
      }
      .nav-links a:hover {
        color: var(--ink);
      }
      .nav-cta {
        font-size: 0.78rem;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        font-weight: 600;
        color: var(--ink);
        border: 1px solid var(--line);
        border-radius: 999px;
        padding: 0.65rem 1.4rem;
        position: relative;
        overflow: hidden;
        isolation: isolate;
        transition:
          border-color 0.3s,
          color 0.3s;
      }
      .nav-cta::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -1;
        background: var(--grad-realiza);
        transform: scaleX(0);
        transform-origin: left;
        transition: transform 0.45s cubic-bezier(0.7, 0, 0.2, 1);
      }
      .nav-cta:hover::before {
        transform: scaleX(1);
      }
      .nav-cta:hover {
        border-color: transparent;
        color: #fff;
      }
      /* ---------- navegação: gaveta no mobile, barra no desktop ----------
         Base = telefone. O desktop é reconstruído em (min-width: 761px). */
      .nav-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 46px;
        height: 46px;
        flex: none;
        border: 1px solid var(--line);
        border-radius: 999px;
        background: rgba(255, 244, 249, 0.72);
        color: var(--ink);
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        transition:
          border-color 0.3s,
          background 0.3s;
      }
      .nav-toggle-box {
        position: relative;
        display: block;
        width: 18px;
        height: 12px;
      }
      .nav-toggle-bar {
        position: absolute;
        left: 0;
        right: 0;
        height: 1.5px;
        border-radius: 2px;
        background: currentColor;
        transition: transform 0.34s cubic-bezier(0.7, 0, 0.2, 1);
      }
      .nav-toggle-bar:nth-child(1) {
        top: 0;
      }
      .nav-toggle-bar:nth-child(2) {
        bottom: 0;
      }
      .nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(1) {
        transform: translateY(5.25px) rotate(45deg);
      }
      .nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(2) {
        transform: translateY(-5.25px) rotate(-45deg);
      }

      .nav-scrim {
        position: fixed;
        inset: 0;
        z-index: 45;
        background: rgba(12, 10, 18, 0.62);
        opacity: 0;
        transition: opacity 0.35s;
      }
      .nav-scrim.is-open {
        opacity: 1;
      }

      .nav-links {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        z-index: 46;
        width: min(86vw, 360px);
        padding: 5.5rem var(--gutter) 2rem;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        list-style: none;
        background: linear-gradient(170deg, #fbeadf 0%, #f7dcea 55%, #ebdff4 100%);
        border-left: 1px solid var(--line);
        overflow-y: auto;
        overscroll-behavior: contain;
        transform: translateX(101%);
        visibility: hidden;
        /* visibility vira 'visible' na hora ao abrir (senão o foco não entra na
           gaveta) e só volta a 'hidden' depois que a saída termina */
        transition:
          transform 0.42s cubic-bezier(0.7, 0, 0.2, 1),
          visibility 0s linear 0.42s;
      }
      .nav-links.is-open {
        transform: none;
        visibility: visible;
        transition:
          transform 0.42s cubic-bezier(0.7, 0, 0.2, 1),
          visibility 0s;
      }
      /* alvo de toque cheio: 52px de altura por item */
      .nav-links > li > a:not(.nav-cta) {
        display: flex;
        align-items: center;
        min-height: 52px;
        font-size: 0.82rem;
        letter-spacing: 0.2em;
        border-bottom: 1px solid var(--line);
        -webkit-tap-highlight-color: transparent;
      }
      .nav-cta-li {
        margin-top: auto;
        padding-top: 1.6rem;
      }
      .nav-cta-li .nav-cta {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 52px;
      }

      @media (min-width: 761px) {
        .nav-toggle,
        .nav-scrim {
          display: none;
        }
        .nav-links {
          position: static;
          width: auto;
          padding: 0;
          flex-direction: row;
          align-items: center;
          gap: 2.2rem;
          background: none;
          border-left: 0;
          overflow: visible;
          transform: none;
          visibility: visible;
        }
        .nav-links > li > a:not(.nav-cta) {
          display: inline;
          min-height: 0;
          font-size: 0.78rem;
          letter-spacing: 0.24em;
          border-bottom: 0;
        }
        .nav-cta-li {
          margin-top: 0;
          padding-top: 0;
        }
        .nav-cta-li .nav-cta {
          display: inline-block;
          min-height: 0;
        }
      }

      .hero {
        min-height: 100svh;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        padding-bottom: clamp(2rem, 5vh, 4rem);
        position: relative;
      }
      .hero-inner {
        display: flex;
        flex-direction: column;
        gap: clamp(1.4rem, 3vh, 2.2rem);
      }
      .hero-lockup {
        font-size: clamp(1.6rem, 3.6vw, 2.6rem);
      }
      .hero-lockup .wm-word {
        font-size: 0.62em;
        background: var(--grad-realiza);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
      }
      .hero-h1 {
        font-family: var(--font-display);
        font-weight: 600;
        font-size: clamp(2.5rem, 7vw, 6.2rem);
        line-height: 1.08;
        letter-spacing: -0.01em;
        max-width: 15ch;
      }
      .hero-h1 .hl {
        background: var(--grad-realiza);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
      }
      .hero-sub {
        max-width: 46ch;
        font-size: clamp(1rem, 1.5vw, 1.2rem);
        font-weight: 300;
        color: var(--ink-60);
        line-height: 1.75;
      }
      .hero-meta {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.9rem;
        font-size: 0.72rem;
        letter-spacing: 0.3em;
        text-transform: uppercase;
        color: var(--ink-38);
      }
      .hero-meta .sep {
        color: var(--laranja);
        font-size: 1rem;
        line-height: 0;
      }

      /* marquee */
      .marquee {
        border-block: 1px solid var(--line);
        padding-block: 1rem;
        overflow: hidden;
        white-space: nowrap;
      }
      .marquee:hover .marquee-track {
        animation-play-state: paused;
      }
      /* a camada de composicao so enquanto a faixa esta na tela */
      .marquee.na-tela .marquee-track {
        will-change: transform;
      }
      .marquee-track {
        display: inline-flex;
        animation: mq 36s linear infinite;
      }
      .marquee span {
        font-family: var(--font-display);
        font-weight: 500;
        text-transform: lowercase;
        font-size: clamp(1.3rem, 2.8vw, 2.1rem);
        color: rgba(37, 25, 73, 0.3);
        padding-inline: 0.85rem;
      }
      .marquee i {
        font-style: normal;
        background: var(--grad-realiza);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        font-size: clamp(1.3rem, 2.8vw, 2.1rem);
      }
      @keyframes mq {
        to {
          transform: translateX(-50%);
        }
      }

      .section {
        padding-block: clamp(5rem, 13vh, 9rem);
      }
      .section-head {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 2rem;
        margin-bottom: clamp(2.2rem, 5vh, 3.8rem);
      }
      .section-title {
        font-family: var(--font-display);
        font-weight: 600;
        font-size: clamp(1.7rem, 3.6vw, 2.8rem);
        line-height: 1.2;
        max-width: 24ch;
        margin-bottom: clamp(2rem, 4vh, 3rem);
      }

      /* ---------- assinatura: cronograma pinado ---------- */
      .tl-section {
        position: relative;
      }
      .tl-pin {
        min-height: 100svh;
        display: flex;
        flex-direction: column;
        justify-content: center;
        overflow: hidden;
        position: relative;
      }
      .tl-head {
        position: absolute;
        top: clamp(1.6rem, 5vh, 3.4rem);
        left: 0;
        right: 0;
      }
      .tl-viewport {
        position: relative;
        overflow: hidden;
      }
      .tl-track {
        display: flex;
        gap: clamp(3rem, 8vw, 7rem);
        padding-inline: var(--gutter);
        align-items: flex-start;
        position: relative;
        will-change: transform;
        width: max-content;
      }
      .tl-line {
        position: absolute;
        top: 9px;
        left: 0;
        height: 2px;
        width: 100%;
        background: var(--line);
      }
      .tl-line-fill {
        position: absolute;
        top: 9px;
        left: 0;
        height: 2px;
        width: 100%;
        background: var(--grad-realiza);
        transform: scaleX(0);
        transform-origin: left;
      }
      .tl-node {
        position: relative;
        width: min(64vw, 300px);
        flex: none;
        padding-top: 2.2rem;
      }
      .tl-dot {
        position: absolute;
        top: 0;
        left: 0;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        border: 2px solid var(--ink-38);
        background: var(--bg);
        transition:
          border-color 0.4s,
          background 0.4s;
      }
      .tl-node.is-done .tl-dot {
        border-color: transparent;
        background: var(--grad-realiza);
      }
      .tl-check {
        position: absolute;
        top: 1px;
        left: 4px;
        font-size: 12px;
        color: #fff;
        opacity: 0;
        transition: opacity 0.3s;
      }
      .tl-node.is-done .tl-check {
        opacity: 1;
      }
      .tl-days {
        font-size: 0.68rem;
        letter-spacing: 0.26em;
        text-transform: uppercase;
        color: var(--vinho);
        font-weight: 600;
      }
      .tl-node h3 {
        font-family: var(--font-display);
        font-weight: 600;
        font-size: clamp(1.25rem, 2.4vw, 1.7rem);
        margin: 0.5rem 0 0.55rem;
      }
      .tl-node p {
        font-size: 0.88rem;
        font-weight: 300;
        color: var(--ink-60);
        line-height: 1.7;
      }
      .tl-hint {
        position: absolute;
        left: var(--gutter);
        bottom: clamp(1.4rem, 4vh, 2.6rem);
        display: flex;
        gap: 0.9rem;
        font-size: 0.68rem;
        letter-spacing: 0.32em;
        text-transform: uppercase;
        color: var(--ink-38);
      }
      .tl-hint b {
        font-weight: 600;
        color: var(--ink-60);
        letter-spacing: 0.18em;
      }
      html:not(.js) .tl-track {
        flex-wrap: wrap;
        width: auto;
      }
      html:not(.js) .tl-line,
      html:not(.js) .tl-line-fill,
      html:not(.js) .tl-hint {
        display: none;
      }
      html:not(.js) .tl-pin {
        min-height: 0;
        padding-block: 4rem;
      }
      html:not(.js) .tl-head {
        position: static;
        margin-bottom: 2rem;
      }
      html:not(.js) .tl-node.is-done .tl-dot,
      html:not(.js) .tl-dot {
        background: var(--grad-realiza);
        border-color: transparent;
      }

      /* portes */
      .portes {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1.4rem;
      }
      .porte {
        position: relative;
        isolation: isolate;
        border-radius: 18px;
        background: linear-gradient(160deg, rgba(255, 246, 250, 0.66), rgba(255, 236, 246, 0.38));
        -webkit-backdrop-filter: blur(18px) saturate(140%);
        backdrop-filter: blur(18px) saturate(140%);
        box-shadow:
          inset 0 1px 0 rgba(255, 255, 255, 0.85),
          0 24px 50px -30px rgba(75, 42, 122, 0.35);
        padding: clamp(1.6rem, 3vw, 2.4rem);
        display: flex;
        flex-direction: column;
        gap: 1.1rem;
        transition:
          transform 0.4s cubic-bezier(0.7, 0, 0.2, 1),
          box-shadow 0.4s;
      }
      .porte:hover {
        transform: translateY(-6px);
        box-shadow:
          inset 0 1px 0 #fff,
          0 32px 60px -30px rgba(75, 42, 122, 0.45);
      }
      /* filete: contorno de 1.5px no gradiente de produção, recortado por máscara */
      .porte::before,
      .portfolio-card::after {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: inherit;
        padding: 1.5px;
        background: var(--grad-realiza);
        -webkit-mask:
          linear-gradient(#000 0 0) content-box,
          linear-gradient(#000 0 0);
        -webkit-mask-composite: xor;
        mask:
          linear-gradient(#000 0 0) content-box exclude,
          linear-gradient(#000 0 0);
        opacity: 0.55;
        pointer-events: none;
        transition: opacity 0.4s;
      }
      .porte::before {
        z-index: -1;
      }
      .portfolio-card::after {
        z-index: 4;
      }
      .porte:hover::before,
      .portfolio-card.is-active::after {
        opacity: 1;
      }
      .porte-tag {
        font-size: 0.66rem;
        letter-spacing: 0.3em;
        text-transform: uppercase;
        font-weight: 600;
        color: var(--vinho);
      }
      .porte-price {
        font-family: var(--font-display);
        font-weight: 600;
        font-size: clamp(2rem, 4vw, 3rem);
        line-height: 1.1;
        background: var(--grad-realiza);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
      }
      .porte-price small {
        display: block;
        font-size: 0.42em;
        -webkit-text-fill-color: var(--ink-38);
        letter-spacing: 0.14em;
        font-weight: 500;
        margin-bottom: 0.3rem;
      }
      .porte ul {
        list-style: none;
        display: grid;
        gap: 0.6rem;
        font-size: 0.9rem;
        font-weight: 300;
        color: var(--ink-60);
        flex: 1;
      }
      .porte ul li {
        display: flex;
        gap: 0.6rem;
        align-items: baseline;
      }
      .porte ul li::before {
        content: "✓";
        font-size: 0.8em;
        font-weight: 600;
        background: var(--grad-realiza);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
      }
      .porte-cta {
        display: block;
        font-size: 0.74rem;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        font-weight: 600;
        text-align: center;
        border: 1px solid var(--line);
        border-radius: 999px;
        padding: 0.85rem 1rem;
        transition:
          background 0.3s,
          border-color 0.3s,
          color 0.3s;
      }
      .porte-cta:hover {
        background: var(--grad-realiza);
        border-color: transparent;
        color: #fff;
      }
      .porte-note {
        margin-top: 1.6rem;
        max-width: 70ch;
        font-size: 0.85rem;
        font-weight: 300;
        color: var(--ink-60);
        line-height: 1.75;
      }
      @media (max-width: 820px) {
        .portes {
          grid-template-columns: 1fr;
        }
      }

      /* portfólio em carrossel */
      .portfolio {
        display: grid;
        gap: 1rem;
      }
      .portfolio-toolbar {
        display: flex;
        align-items: end;
        justify-content: space-between;
        gap: 1rem;
        flex-wrap: wrap;
      }
      .portfolio-controls {
        display: flex;
        align-items: center;
        gap: 0.8rem;
      }
      .portfolio-counter {
        font-family: var(--font-display);
        font-size: 0.76rem;
        letter-spacing: 0.26em;
        text-transform: uppercase;
        color: var(--ink-38);
        white-space: nowrap;
      }
      .portfolio-counter b {
        color: var(--ink);
        font-size: 1.2rem;
        letter-spacing: 0.08em;
      }
      .portfolio-counter small {
        color: var(--laranja);
        font-size: 1rem;
      }
      .portfolio-arrows {
        display: flex;
        gap: 0.55rem;
      }
      .portfolio-arrow {
        width: 3rem;
        height: 3rem;
        border-radius: 999px;
        border: 1px solid var(--line);
        background: rgba(255, 244, 249, 0.62);
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
        color: var(--ink);
        font-size: 1.05rem;
        cursor: pointer;
        transition:
          transform 0.35s cubic-bezier(0.2, 0, 0.2, 1),
          border-color 0.35s,
          background 0.35s,
          color 0.35s;
      }
      .portfolio-arrow:hover {
        transform: translateY(-1px);
        border-color: rgba(75, 42, 122, 0.35);
        background: rgba(214, 64, 155, 0.08);
      }
      .portfolio-stage {
        position: relative;
        min-height: clamp(31rem, 48vw, 38rem);
        overflow: hidden;
        border: 0;
        padding-block: 1.4rem;
        isolation: isolate;
        background:
          linear-gradient(90deg, rgba(217, 145, 63, 0.55), rgba(214, 64, 155, 0.55), rgba(75, 42, 122, 0.45)) top / 100% 1px no-repeat,
          linear-gradient(90deg, rgba(217, 145, 63, 0.55), rgba(214, 64, 155, 0.55), rgba(75, 42, 122, 0.45)) bottom / 100% 1px no-repeat,
          linear-gradient(180deg, rgba(255, 244, 249, 0.42), rgba(248, 226, 238, 0.26));
        box-shadow:
          inset 0 1px 0 rgba(255, 255, 255, 0.7),
          0 22px 60px -42px rgba(75, 42, 122, 0.28);
        --pf-shift: clamp(16rem, 20vw, 22rem);
      }
      .portfolio-stage::before,
      .portfolio-stage::after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        width: clamp(2rem, 7vw, 5rem);
        pointer-events: none;
        z-index: 2;
      }
      .portfolio-stage::before {
        left: 0;
        background: linear-gradient(90deg, rgba(248, 232, 219, 0.96), transparent);
      }
      .portfolio-stage::after {
        right: 0;
        background: linear-gradient(270deg, rgba(248, 232, 219, 0.96), transparent);
      }
      .portfolio-track {
        position: relative;
        width: 100%;
        height: 100%;
      }
      .portfolio-card {
        position: absolute;
        top: 0;
        left: 50%;
        width: min(25rem, 31vw);
        min-width: 18rem;
        height: 100%;
        border: 0;
        border-radius: 22px;
        overflow: hidden;
        display: grid;
        grid-template-rows: minmax(17rem, 1fr) auto;
        isolation: isolate;
        perspective: 900px;
        background: linear-gradient(165deg, rgba(255, 244, 249, 0.8), rgba(250, 232, 242, 0.66));
        box-shadow:
          inset 0 1px 0 rgba(255, 255, 255, 0.85),
          0 18px 42px -30px rgba(75, 42, 122, 0.32);
        opacity: 0;
        pointer-events: none;
        transform: translate3d(-50%, 0, 0) scale(0.82);
        filter: saturate(0.88) blur(0.8px);
        transition:
          transform 0.55s cubic-bezier(0.2, 0, 0.1, 1),
          opacity 0.55s,
          filter 0.55s,
          box-shadow 0.55s,
          border-color 0.55s;
      }
      .portfolio-card::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -1;
        background: linear-gradient(
          160deg,
          rgba(217, 145, 63, 0.12),
          rgba(214, 64, 155, 0.1) 55%,
          transparent
        );
      }
      .portfolio-card.is-prev,
      .portfolio-card.is-next {
        opacity: 0.42;
        pointer-events: auto;
        z-index: 2;
        filter: saturate(0.88) blur(0.35px);
      }
      .portfolio-card.is-prev {
        transform: translate3d(calc(-50% - var(--pf-shift)), 0, 0) scale(0.88)
          rotateY(12deg);
      }
      .portfolio-card.is-next {
        transform: translate3d(calc(-50% + var(--pf-shift)), 0, 0) scale(0.88)
          rotateY(-12deg);
      }
      .portfolio-card.is-active {
        opacity: 1;
        pointer-events: auto;
        z-index: 3;
        transform: translate3d(-50%, 0, 0) scale(1);
        filter: none;
        box-shadow:
          inset 0 1px 0 rgba(255, 255, 255, 0.9),
          0 26px 54px -30px rgba(75, 42, 122, 0.42);
      }
      .portfolio-card.is-active:hover {
        box-shadow:
          inset 0 1px 0 #fff,
          0 32px 62px -28px rgba(214, 64, 155, 0.34),
          0 26px 54px -30px rgba(75, 42, 122, 0.42);
      }
      .portfolio-media {
        position: relative;
        min-height: 17rem;
        background:
          linear-gradient(180deg, rgba(8, 8, 12, 0.02), rgba(8, 8, 12, 0.35)),
          var(--pf-image) center/cover no-repeat;
      }
      .portfolio-media::after {
        content: "";
        position: absolute;
        inset: 0;
        background:
          linear-gradient(160deg, rgba(37, 25, 73, 0.08), transparent 54%),
          linear-gradient(0deg, rgba(37, 25, 73, 0.42), transparent 48%);
      }
      .portfolio-body {
        display: grid;
        gap: 0.75rem;
        padding: 1rem 1.05rem 1.1rem;
        align-content: start;
      }
      .portfolio-meta {
        font-size: 0.68rem;
        letter-spacing: 0.24em;
        text-transform: uppercase;
        color: var(--ink-60);
      }
      .portfolio-meta b {
        display: block;
        font-family: var(--font-display);
        font-weight: 600;
        font-size: 1rem;
        letter-spacing: 0.06em;
        color: var(--ink);
        margin-bottom: 0.3rem;
      }
      .portfolio-copy {
        border: 1px solid rgba(37, 25, 73, 0.1);
        border-radius: 14px;
        padding: 0.95rem 1rem;
        min-height: 5.6rem;
        display: flex;
        align-items: center;
        font-size: 0.88rem;
        line-height: 1.65;
        color: var(--ink-60);
        background: rgba(255, 247, 239, 0.92);
      }
      .portfolio-copy.is-empty {
        color: var(--ink-38);
        font-style: italic;
      }
      .portfolio-note {
        margin-top: 1.2rem;
        font-size: 0.8rem;
        color: var(--ink-38);
        letter-spacing: -0.01em;
      }

      /* lightbox do portfolio */
      .portfolio-card.has-gallery.is-active {
        cursor: pointer;
      }
      .portfolio-card.has-gallery.is-active .portfolio-body::after {
        content: "Explorar galeria \2192";
        display: inline-flex;
        align-items: center;
        justify-content: center;
        justify-self: start;
        margin-top: 0.2rem;
        padding: 0.45rem 1.1rem;
        border-radius: 999px;
        border: 1px solid rgba(37, 25, 73, 0.2);
        background: transparent;
        color: var(--ink);
        font-family: var(--font-body);
        font-size: 0.68rem;
        font-weight: 500;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        transition: all 0.4s cubic-bezier(0.2, 0, 0.1, 1);
        transform: translateZ(0);
      }
      .portfolio-card.has-gallery.is-active:hover .portfolio-body::after,
      .portfolio-card.has-gallery.is-active:focus-visible .portfolio-body::after {
        border-color: var(--ink);
        background: var(--ink);
        color: #ffffff;
        transform: translateY(-2px) translateZ(0);
        box-shadow: 0 6px 16px -4px rgba(37, 25, 73, 0.25);
      }

      /* sem JS: o primeiro card fica legível no centro */
      html:not(.js) .portfolio-card:first-child {
        opacity: 1;
        pointer-events: auto;
        z-index: 3;
        transform: translate3d(-50%, 0, 0) scale(1);
        filter: none;
      }
      @media (max-width: 980px) {
        /* card de altura livre: o texto real varia de tamanho por projeto,
           então a altura da vitrine passa a ser calculada via JS (syncStageHeight)
           a partir do card ativo, em vez de um valor fixo que cortava a cópia. */
        .portfolio-stage {
          min-height: 0;
          height: auto;
          overflow: visible;
          contain: layout;
          transition: height 0.35s cubic-bezier(0.2, 0, 0.2, 1);
          --pf-shift: 70vw;
        }
        .portfolio-stage::before,
        .portfolio-stage::after {
          display: none;
        }
        .portfolio-card {
          height: auto;
          width: min(88vw, 24rem);
          grid-template-rows: minmax(12rem, 1fr) auto;
        }
        .portfolio-card.is-prev,
        .portfolio-card.is-next {
          opacity: 0;
          pointer-events: none;
          transform: translate3d(-50%, 0, 0) scale(0.92);
        }
        .portfolio-media {
          min-height: 12rem;
        }
        .portfolio-copy {
          min-height: 0;
        }
      }
      @media (max-width: 640px) {
        .portfolio-toolbar {
          align-items: start;
        }
        .portfolio-arrow {
          width: 2.7rem;
          height: 2.7rem;
        }
      }
      @media (prefers-reduced-motion: reduce) {
        .portfolio-card {
          transition: none;
        }
      }

      /* estruturas e cenografia (frente absorvida) */
      .svc-list {
        list-style: none;
        border-top: 1px solid var(--line);
      }
      .svc {
        border-bottom: 1px solid var(--line);
        display: grid;
        grid-template-columns: auto 1fr;
        gap: clamp(1rem, 3vw, 2.4rem);
        padding: clamp(1.5rem, 3.4vh, 2.2rem) 0;
        position: relative;
        isolation: isolate;
      }
      .svc::before {
        content: "";
        position: absolute;
        inset: 0 -1.2rem;
        z-index: -1;
        border-radius: 8px;
        background: linear-gradient(
          120deg,
          rgba(217, 145, 63, 0.18),
          transparent 60%
        );
        opacity: 0;
        transition: opacity 0.4s;
      }
      .svc:hover::before {
        opacity: 1;
      }
      .svc-idx {
        font-size: 0.78rem;
        letter-spacing: 0.22em;
        color: var(--ink-38);
        font-weight: 500;
        min-width: 2.2rem;
        transition: color 0.3s;
      }
      .svc:hover .svc-idx {
        color: var(--vinho);
      }
      .svc h3 {
        font-family: var(--font-display);
        font-weight: 600;
        font-size: clamp(1.4rem, 3.2vw, 2.2rem);
        transition: color 0.3s;
      }
      .svc:hover h3 {
        background: var(--grad-realiza);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
      }
      .svc p {
        margin-top: 0.5rem;
        max-width: 56ch;
        font-size: 0.92rem;
        font-weight: 300;
        color: var(--ink-60);
      }

      /* botão de expandir: fica fora de .portfolio-media para não herdar o tilt 3D */
      .pf-expand {
        position: absolute;
        top: 0.75rem;
        right: 0.75rem;
        z-index: 2;
        width: 2.75rem;
        height: 2.75rem;
        display: grid;
        place-items: center;
        border-radius: 999px;
        border: 1px solid rgba(237, 234, 244, 0.22);
        background: rgba(16, 15, 23, 0.55);
        backdrop-filter: blur(6px);
        color: var(--ink);
        opacity: 0;
        transform: translateY(4px);
        pointer-events: none;
        cursor: pointer;
        transition:
          opacity 0.35s,
          transform 0.35s,
          border-color 0.3s,
          background 0.3s;
      }
      .portfolio-card.is-active .pf-expand {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
      }
      .pf-expand:hover {
        border-color: var(--laranja);
        background: rgba(217, 145, 63, 0.18);
      }
      @media (prefers-reduced-motion: reduce) {
        .pf-expand {
          transition: none;
        }
      }

      /* visualizador em tela cheia das maquetes */
      .pj-viewer {
        position: fixed;
        inset: 0;
        z-index: 200;
        display: flex;
        flex-direction: column;
        background: rgba(10, 8, 16, 0.985);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
      }
      .pj-viewer[hidden] {
        display: none;
      }

      .pj-viewer-head {
        flex: none;
        display: flex;
        align-items: center;
        gap: 0.9rem;
        padding-top: env(safe-area-inset-top);
        padding-bottom: 0;
        padding-left: clamp(0.75rem, 3vw, 1.6rem);
        padding-right: clamp(0.75rem, 3vw, 1.6rem);
        min-height: calc(4.2rem + env(safe-area-inset-top));
        box-sizing: border-box;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        position: relative;
        z-index: 100;
        background: rgba(10, 8, 16, 0.6);
      }
      .pj-viewer-head > * {
        pointer-events: auto;
      }
      .pj-viewer-title {
        flex: 1 1 auto;
        min-width: 0;
        margin: 0;
        font-family: var(--font-display);
        font-size: clamp(0.85rem, 3vw, 1.05rem);
        font-weight: 500;
        letter-spacing: 0.05em;
        color: #ffffff;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
      }
      .pj-viewer-counter {
        flex: none;
        margin: 0;
        font-family: var(--font-display);
        font-size: 0.82rem;
        letter-spacing: 0.24em;
        text-transform: uppercase;
        color: rgba(255, 255, 255, 0.5);
      }
      .pj-viewer-counter b {
        color: #ffffff;
        font-size: 0.95rem;
        letter-spacing: 0.05em;
      }
      .pj-viewer-btn {
        width: 2.75rem;
        height: 2.75rem;
        flex: none;
        display: grid;
        place-items: center;
        border-radius: 999px;
        border: 1px solid rgba(255, 255, 255, 0.15);
        background: rgba(255, 255, 255, 0.05);
        color: #ffffff;
        font-size: 1rem;
        line-height: 1;
        cursor: pointer;
        transition: border-color 0.3s, background 0.3s, color 0.3s;
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        position: relative;
        z-index: 110;
      }
      .pj-viewer-btn:hover {
        border-color: var(--laranja);
        background: rgba(217, 145, 63, 0.12);
      }
      .pj-viewer-btn:disabled {
        opacity: 0.28;
        pointer-events: none;
      }

      /* area util: sobra da tela inteira menos as duas barras */
      .pj-viewer-body {
        flex: 1 1 0;
        min-height: 0;
        position: relative;
        display: flex;
        flex-direction: column;
      }
      .pj-viewer-stage {
        flex: 1 1 0;
        min-height: 0;
        position: relative;
        overflow: auto;
        overscroll-behavior: contain;
        scrollbar-width: none;
        display: grid;
        padding: 0 clamp(0.35rem, 1.5vw, 1rem);
      }
      .pj-viewer-stage::-webkit-scrollbar {
        width: 0;
        height: 0;
      }
      /* o quadro recebe a medida exata em px do JS; ampliar so muda essa
         medida e a rolagem nativa do .pj-viewer-stage cuida do resto */
      .pj-viewer-frame {
        position: relative;
        margin: auto;
        min-width: 30vw;
        min-height: 30vh;
        background-color: rgba(255, 255, 255, 0.05);
        border-radius: 10px;
      }
      .pj-viewer-frame img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: contain;
        opacity: 0;
        pointer-events: none;
        border-radius: 4px;
        transition: opacity 0.28s ease;
      }
      .pj-viewer-frame img.is-active {
        opacity: 1;
      }

      /* setas ficam sobre a imagem: precisam de fundo proprio para nao
         sumirem numa prancha clara */
      .pj-viewer-arrow {
        position: absolute;
        top: 50%;
        translate: 0 -50%;
        z-index: 2;
        background: rgba(10, 8, 16, 0.72);
        border-color: rgba(237, 234, 244, 0.28);
        backdrop-filter: blur(4px);
      }
      .pj-viewer-arrow--prev {
        left: clamp(0.35rem, 1.5vw, 1rem);
      }
      .pj-viewer-arrow--next {
        right: clamp(0.35rem, 1.5vw, 1rem);
      }

      .pj-viewer-foot {
        flex: none;
        position: relative;
        z-index: 3;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.6rem;
        padding: 0.8rem clamp(1rem, 3vw, 1.5rem);
        padding-bottom: max(1.2rem, env(safe-area-inset-bottom));
        background: transparent;
      }
      .pj-viewer-foot > * {
        pointer-events: auto;
      }
      /* barra do rodape: o zoom fica no centro e a realizacao troca nas
         pontas. Cada botao diz o que faz e mostra para onde vai, senao vira
         mais uma seta anonima ao lado das setas de imagem. */
      .pj-viewer-bar {
        width: 100%;
        display: grid;
        grid-template-areas: "prev zoom next";
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        gap: 0.6rem;
      }
      .pj-proj {
        grid-area: prev;
        justify-self: start;
        display: flex;
        align-items: center;
        gap: 0.6rem;
        max-width: 100%;
        padding: 0.45rem 0.8rem;
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.05);
        color: #ffffff;
        text-align: left;
        cursor: pointer;
        pointer-events: auto;
        transition: border-color 0.3s, background 0.3s, opacity 0.3s;
      }
      .pj-proj--next {
        grid-area: next;
        justify-self: end;
        text-align: right;
      }
      .pj-proj:hover:not(:disabled) {
        border-color: var(--laranja);
        background: rgba(217, 145, 63, 0.14);
      }
      .pj-proj:disabled {
        opacity: 0.28;
        cursor: default;
      }
      .pj-proj-arrow {
        flex: none;
        font-size: 1rem;
        line-height: 1;
      }
      .pj-proj-txt {
        display: grid;
        min-width: 0;
      }
      .pj-proj-hint {
        font-size: 0.6rem;
        letter-spacing: 0.13em;
        text-transform: uppercase;
        color: rgba(255, 255, 255, 0.45);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      .pj-proj-name {
        font-family: var(--font-display);
        font-size: 0.82rem;
        letter-spacing: 0.03em;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      .pj-viewer-zoom {
        grid-area: zoom;
        justify-self: center;
      }
      @media (max-width: 640px) {
        /* em meia tela a frase e o nome quebram em vez de virar reticencias,
           que apagariam justamente o que o botao faz e para onde vai */
        .pj-viewer-bar {
          grid-template-areas: "prev next" "zoom zoom";
          grid-template-columns: 1fr 1fr;
          gap: 0.5rem;
        }
        .pj-proj {
          padding: 0.4rem 0.7rem;
          gap: 0.45rem;
        }
        .pj-proj-hint {
          font-size: 0.54rem;
          letter-spacing: 0.06em;
          white-space: normal;
          line-height: 1.3;
        }
        .pj-proj-name {
          white-space: normal;
          line-height: 1.25;
        }
      }
      .pj-viewer-caption {
        flex: none;
        width: 100%;
        max-width: 42rem;
        margin: 0;
        padding: 0 1rem;
        text-align: center;
        font-size: 0.85rem;
        line-height: 1.45;
        text-wrap: pretty;
        color: rgba(255, 255, 255, 0.7);
      }
      .pj-viewer-cta {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-top: 0.4rem;
        padding: 0.6rem 1.2rem;
        border: 1px solid rgba(255, 255, 255, 0.3);
        background: rgba(255, 255, 255, 0.05);
        color: #fff;
        text-decoration: none;
        font-weight: 500;
        font-size: 0.75rem;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        border-radius: 999px;
        transition: all 0.3s;
      }
      .pj-viewer-cta:hover {
        background: #fff;
        color: #0c0a12;
      }
      .pj-viewer-cta:active {
        transform: scale(0.98);
      }
      .pj-viewer-zoom {
        display: none;
      }
      body.pj-viewer-open {
        overflow: hidden;
      }
      @media (max-width: 640px) {
        .pj-viewer-title {
          font-size: 0.8rem;
        }
        .pj-viewer-caption {
          font-size: 0.72rem;
          -webkit-line-clamp: 2;
        }
      }
      @media (prefers-reduced-motion: reduce) {
        .pj-viewer-frame img {
          transition: none;
        }
      }

      /* CTA + footer */
      .cta-big {
        font-family: var(--font-display);
        font-weight: 600;
        font-size: clamp(1.45rem, 2.4vw, 2rem);
        line-height: 1.2;
        letter-spacing: -0.01em;
      }
      .cta-big .q {
        background: var(--grad-realiza);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
      }
      .cta-row {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 1.6rem;
        margin-top: clamp(2rem, 5vh, 3rem);
      }
      .btn {
        display: inline-flex;
        align-items: center;
        gap: 0.8rem;
        font-size: 0.8rem;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        font-weight: 600;
        padding: 1.05rem 2rem;
        border-radius: 999px;
        border: 1px solid transparent;
        color: #fff;
        position: relative;
        overflow: hidden;
        isolation: isolate;
      }
      .btn--primary {
        background: var(--grad-realiza);
      }
      .btn--primary:hover {
        filter: brightness(1.08);
      }
      .btn--ghost {
        border-color: var(--line);
        color: var(--ink-60);
      }
      .btn--ghost:hover {
        border-color: var(--ink);
        color: var(--ink);
      }
      .cta-note {
        margin-top: 1.4rem;
        font-size: 0.8rem;
        color: var(--ink-38);
        letter-spacing: 0.08em;
      }

      footer {
        border-top: 1px solid var(--line);
        padding: clamp(3rem, 8vh, 5rem) 0 2rem;
        position: relative;
        z-index: 1;
      }
      .foot-grid {
        display: grid;
        grid-template-columns: 2fr 1fr 1fr 1fr;
        gap: 2.5rem;
      }
      .foot-brand .wm {
        font-size: 1.7rem;
      }
      .foot-brand .wm-word {
        font-size: 0.6em;
        background: var(--grad-realiza);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
      }
      .foot-brand p {
        margin-top: 1.1rem;
        max-width: 28ch;
        font-size: 0.85rem;
        font-weight: 300;
        color: var(--ink-60);
      }
      .foot-col h4 {
        font-size: 0.68rem;
        letter-spacing: 0.32em;
        text-transform: uppercase;
        color: var(--ink-38);
        font-weight: 600;
        margin-bottom: 1.1rem;
      }
      .foot-col ul {
        list-style: none;
        display: grid;
        gap: 0.55rem;
      }
      .foot-col a {
        font-size: 0.88rem;
        color: var(--ink-60);
        transition: color 0.3s;
      }
      .foot-col a:hover {
        color: var(--ink);
      }
      .foot-bottom {
        margin-top: clamp(2.5rem, 6vh, 4rem);
        padding-top: 1.4rem;
        border-top: 1px solid var(--line);
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 1rem;
        font-size: 0.72rem;
        letter-spacing: 0.16em;
        color: var(--ink-38);
      }
      @media (max-width: 880px) {
        .foot-grid {
          grid-template-columns: 1fr 1fr;
        }
      }
      @media (max-width: 520px) {
        .foot-grid {
          grid-template-columns: 1fr;
        }
      }

      /* crédito Nodus */
      .nodus-credit {
        font-family: "JetBrains Mono", ui-monospace, "IBM Plex Mono", monospace;
        font-size: 0.66rem;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        transition: color 0.3s;
      }
      .nodus-credit i {
        font-style: normal;
        color: #7cdf81;
      }
      .nodus-credit {
        color: var(--ink-38);
      }
      .nodus-credit:hover {
        color: var(--ink);
      }

      /* textura de grão (quebra o flat digital; camada fixa, sem custo de scroll) */
      .grain {
        position: fixed;
        inset: 0;
        z-index: 80;
        pointer-events: none;
        opacity: 0.045;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
        background-size: 160px;
      }

      /* estados de foco e toque (teclado + feedback físico) */
      a:focus-visible,
      button:focus-visible {
        outline: 2px solid currentColor;
        outline-offset: 3px;
      }
      .btn:active,
      .nav-cta:active,
      .plan-cta:active,
      .porte-cta:active,
      .emp-info-cta:active,
      .svc-btn:active {
        transform: scale(0.98);
      }

      /* rag limpo em títulos */
      .hero-h1,
      .section-title,
      .cta-big {
        text-wrap: balance;
      }

      /* ── apresentação em vídeo ─────────────────────────────────────
         O arquivo só é baixado quando a pessoa dá play (preload="none").
         Em repouso a seção pesa apenas a capa .webp, ~30 KB.
         O <video> já vem com controls no HTML: se o JS não rodar, o
         player nativo continua funcionando. O JS troca os controls
         pela capa com botão só depois de confirmar que está ativo. */
      .vid-grid {
        display: grid;
        grid-template-columns: minmax(0, 34rem) auto;
        justify-content: center;
        gap: clamp(1.5rem, 4vw, 3rem);
        align-items: center;
      }
      .vid-copy .section-title {
        margin: 0.75rem 0 0;
        font-size: clamp(1.9rem, 4vw, 3.05rem);
      }
      .vid-lead {
        margin: 1.1rem 0 0;
        max-width: 38ch;
        color: var(--ink-60);
        font-size: clamp(1.05rem, 1.35vw, 1.2rem);
        line-height: 1.65;
      }
      .vid-note {
        display: flex;
        align-items: center;
        gap: 0.6rem;
        margin: 1.4rem 0 0;
        color: var(--ink-60);
        font-size: 0.74rem;
        letter-spacing: 0.16em;
        text-transform: uppercase;
      }
      .vid-note i {
        width: 0.3rem;
        height: 0.3rem;
        border-radius: 50%;
        background: var(--vid-acc);
      }

      .vid-card {
        position: relative;
        margin: 0;
        width: clamp(15rem, 26vw, 19.5rem);
        aspect-ratio: 9 / 16;
        border-radius: 1.15rem;
        overflow: hidden;
        background: #000;
        border: 1px solid var(--line);
        box-shadow: 0 1.5rem 3.5rem rgba(0, 0, 0, 0.45);
      }
      .vid-card video {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        background: #000;
      }

      /* capa clicável: fica por cima do vídeo até o primeiro play */
      .vid-cover {
        position: absolute;
        inset: 0;
        display: grid;
        place-items: center;
        padding: 0;
        border: 0;
        cursor: pointer;
        background: transparent;
        color: var(--ink);
      }
      .vid-cover img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
      .vid-cover::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(
          180deg,
          rgba(0, 0, 0, 0.15),
          rgba(0, 0, 0, 0.55)
        );
      }
      .vid-play {
        position: relative;
        z-index: 1;
        display: grid;
        place-items: center;
        width: 4.5rem;
        height: 4.5rem;
        border-radius: 50%;
        background: var(--vid-acc);
        box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.5);
        transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
      }
      .vid-play svg {
        width: 1.5rem;
        height: 1.5rem;
        margin-left: 0.2rem;
        fill: #fff;
      }
      .vid-cover:hover .vid-play,
      .vid-cover:focus-visible .vid-play {
        transform: scale(1.09);
      }
      .vid-cover:focus-visible {
        outline: 2px solid var(--vid-acc);
        outline-offset: 3px;
      }
      .vid-cover-label {
        position: absolute;
        z-index: 1;
        left: 1rem;
        right: 1rem;
        bottom: 1rem;
        text-align: left;
        font-size: 0.72rem;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        color: rgba(255, 255, 255, 0.82);
      }
      .vid-card.is-playing .vid-cover {
        display: none;
      }

      @media (max-width: 860px) {
        .vid-grid {
          grid-template-columns: minmax(0, 1fr);
          justify-items: center;
          gap: 1.75rem;
        }
        .vid-copy {
          justify-self: stretch;
        }
        .vid-lead {
          max-width: none;
        }
        .vid-card {
          width: min(100%, 17rem);
        }
      }

      .js [data-reveal] {
        visibility: hidden;
      }
      @media (prefers-reduced-motion: reduce) {
        *,
        *::before,
        *::after {
          animation-duration: 0.001s !important;
          animation-iteration-count: 1 !important;
          transition-duration: 0.001s !important;
        }
        .js [data-reveal] {
          visibility: visible;
        }
      }
    

/* atalho de teclado: fora da tela ate receber foco */
.pular {
  position: fixed;
  left: 0.75rem;
  top: -4rem;
  z-index: 9999;
  padding: 0.7rem 1.1rem;
  border-radius: 0.5rem;
  background: var(--ink);
  color: var(--bg);
  font-size: 0.9rem;
  text-decoration: none;
  transition: top 0.18s ease;
}
.pular:focus {
  top: 0.75rem;
}
