
      /* ============ WISH CONSTRUTIVA · tokens (light quente: laranja, amarelo, branco) ============ */
      :root {
        --laranja: #c98646;
        --laranja-esc: #9c5a24;
        --grafite: #2a2724;
        --gold: #e6c41e;
        /* #876e0b dava 4,24:1 na faixa mais escura do degrade da pagina.
           Este tom passa 4,5:1 sobre todos os fundos da pagina. */
        --gold-ink: #80680a;
        /* Ouro para traco fino e icone. Vale 3:1 SOMENTE sobre as
           superficies marfim (--surf, --surf-in): sobre o degrade da
           propria pagina cai para 2,82:1. Fora das superficies, use
           --gold-ink. */
        --gold-traco: #a78c12;
        --bg: #fbf7ea;
        /* Superficies claras. Translucidas de proposito: solidas elas nao
           acompanham o degrade da pagina e a faixa vira uma barra clara
           uniforme — foi o que fez o marquee destacar mais que o branco
           antigo. Assim ficam ~0,01 de luminancia acima do fundo local. */
        --surf: rgba(255, 253, 242, 0.45);
        --surf-card: rgba(255, 254, 246, 0.8);
        --surf-in: rgba(252, 246, 226, 0.75);
        --ink: #3b3834;
        --ink-60: rgba(59, 56, 52, 0.76);
        --ink-38: rgba(59, 56, 52, 0.44);
        --line: rgba(59, 56, 52, 0.14);
        --grad-construtiva: linear-gradient(120deg, #efd727 0%, #d59f2b 58%, #cf873f 100%);
        --font-display: "Comfortaa", system-ui, sans-serif;
        --font-head: "Manrope", system-ui, sans-serif;
        --font-mono: "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 {
        /* A matiz estava em ~32 graus: nessa claridade o pessego le como
           rosa ao lado do ouro citrico. Girada para ~46 graus, com o mesmo
           valor de luminancia — o contraste do texto nao muda. */
        background:
          radial-gradient(circle at 12% 8%, rgba(217, 181, 63, 0.2), transparent 26%),
          radial-gradient(circle at 88% 14%, rgba(199, 148, 60, 0.16), transparent 24%),
          radial-gradient(circle at 50% 72%, rgba(217, 181, 63, 0.08), transparent 32%),
          linear-gradient(180deg, #fdfaf0 0%, #f9f1d9 52%, #fdfbf3 100%);
        background-color: var(--bg);
        color: var(--ink);
        font-family: var(--font-head);
        font-weight: 500;
        font-size: 1rem;
        line-height: 1.6;
        -webkit-font-smoothing: antialiased;
        overflow-x: hidden;
      }
      ::selection {
        background: var(--laranja);
        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;
      }

      .eyebrow {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        font-family: var(--font-mono);
        font-weight: 500;
        font-size: 0.7rem;
        letter-spacing: 0.3em;
        text-transform: uppercase;
        color: var(--ink-60);
      }
      .eyebrow::before {
        content: "";
        width: 34px;
        height: 1px;
        background: var(--grad-construtiva);
        flex: none;
      }
      .eyebrow .n {
        color: var(--gold-ink);
        letter-spacing: 0.16em;
        white-space: nowrap;
      }
      @media (max-width: 520px) {
        .eyebrow {
          letter-spacing: 0.2em;
          font-size: 0.64rem;
        }
      }

      .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(--gold);
        margin-left: -0.177em;
        transform: translateY(-0.334em);
        animation: dotpulse 2.8s ease-in-out infinite;
      }
      .wm-word {
        font-family: var(--font-head);
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.2em;
        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(251, 244, 236, 0.85);
        backdrop-filter: blur(14px);
        padding-block: 0.7rem;
        box-shadow: 0 1px 0 var(--line);
      }
      .nav-logo {
        font-size: 1.05rem;
      }
      .nav-logo .wm-word {
        font-size: 0.6em;
      }
      .nav-links {
        display: flex;
        align-items: center;
        gap: 2rem;
        list-style: none;
      }
      .nav-links a {
        font-family: var(--font-mono);
        font-size: 0.74rem;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        color: var(--ink-60);
        transition: color 0.3s;
      }
      .nav-links a:not(.nav-cta):hover {
        color: var(--laranja-esc);
      }
      .nav-links .nav-cta,
      .nav-cta {
        font-family: var(--font-mono);
        font-size: 0.74rem;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        font-weight: 600;
        color: var(--ink);
        border: 1px solid var(--laranja);
        padding: 0.65rem 1.3rem;
        position: relative;
        overflow: hidden;
        isolation: isolate;
        transition: color 0.3s;
      }
      .nav-cta::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -1;
        background: var(--laranja-esc);
        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-links .nav-cta:hover,
      .nav-cta:hover {
        color: #fff;
        border-color: var(--laranja-esc);
      }
      /* ---------- 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: var(--surf-card);
        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: var(--surf-card);
        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.5rem, 3.4vw, 2.4rem);
      }
      .hero-lockup .wm-word {
        font-size: 0.6em;
        color: var(--laranja);
      }
      .hero-h1 {
        font-family: var(--font-display);
        font-weight: 600;
        font-size: clamp(1.9rem, 4.4vw, 3.9rem);
        line-height: 1.12;
        max-width: 21ch;
        letter-spacing: -0.01em;
        text-wrap: balance;
      }
      .hero-h1 .hl {
        color: var(--laranja-esc);
      }
      .hero-h1 .gd {
        color: var(--gold-ink);
      }
      .hero-sub {
        max-width: 46ch;
        font-size: clamp(1rem, 1.5vw, 1.18rem);
        font-weight: 500;
        color: var(--ink-60);
        line-height: 1.75;
        font-family: var(--font-head);
      }
      .hero-meta {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.9rem;
        font-family: var(--font-mono);
        font-size: 0.7rem;
        letter-spacing: 0.22em;
        text-transform: uppercase;
        color: var(--ink-38);
      }
      .hero-meta .sep {
        color: var(--gold-ink);
        font-size: 1rem;
        line-height: 0;
      }

      .marquee {
        border-block: 1px solid var(--line);
        padding-block: 0.95rem;
        overflow: hidden;
        white-space: nowrap;
        background: var(--surf);
      }
      .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 38s linear infinite;
      }
      .marquee span {
        font-family: var(--font-mono);
        font-weight: 500;
        text-transform: uppercase;
        font-size: clamp(0.9rem, 1.8vw, 1.2rem);
        letter-spacing: 0.18em;
        color: rgba(59, 56, 52, 0.4);
        padding-inline: 0.9rem;
      }
      .marquee i {
        font-style: normal;
        color: var(--gold-ink);
        font-size: clamp(0.9rem, 1.8vw, 1.2rem);
      }
      @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.6rem, 3.4vw, 2.6rem);
        line-height: 1.18;
        max-width: 26ch;
        margin-bottom: clamp(2rem, 4vh, 3rem);
        letter-spacing: -0.01em;
      }

      /* ---------- assinatura: planta do flat que se desenha (pinada) ---------- */
      .plan-pin {
        min-height: 100svh;
        position: relative;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        justify-content: center;
      }
      .plan-head {
        position: absolute;
        top: clamp(1.6rem, 5vh, 3.4rem);
        left: 0;
        right: 0;
      }
      .plan-grid {
        display: grid;
        grid-template-columns: 1.4fr 1fr;
        gap: clamp(2rem, 5vw, 5rem);
        align-items: center;
      }
      .plan-svg {
        width: 100%;
        height: auto;
        display: block;
        background: var(--surf);
        border: 1px solid var(--line);
      }
      .plan-svg path,
      .plan-svg line,
      .plan-svg rect,
      .plan-svg circle {
        fill: none;
        stroke-linecap: round;
        stroke-linejoin: round;
      }
      .pl-wall {
        stroke: var(--gold-ink);
        stroke-width: 3;
      }
      .pl-fur {
        /* era --laranja: 2,92:1 sobre a superficie, abaixo do minimo de
           3:1 para traco fino. --gold-traco existe exatamente para isso. */
        stroke: var(--gold-traco);
        stroke-width: 1.6;
      }
      .pl-dim {
        stroke: var(--gold-traco);
        stroke-width: 1.2;
      }
      .plan-svg text {
        font-family: var(--font-mono);
        font-size: 13px;
        fill: var(--ink-60);
        letter-spacing: 0.12em;
      }
      .plan-svg text.dim {
        fill: var(--gold-ink);
        font-size: 12px;
      }
      .plan-lead {
        margin-top: 0.9rem;
        max-width: 52ch;
        font-size: clamp(1rem, 1.6vw, 1.15rem);
        font-weight: 500;
        line-height: 1.7;
        color: var(--ink-60);
        text-wrap: pretty;
      }
      .plan-list {
        list-style: none;
        display: grid;
        gap: clamp(1rem, 2.6vh, 1.6rem);
      }
      .plan-item {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 1rem;
        align-items: baseline;
        opacity: 0.3;
        transition: opacity 0.45s;
      }
      .plan-item.is-on {
        opacity: 1;
      }
      .plan-item .k {
        font-family: var(--font-mono);
        font-weight: 600;
        font-size: 0.8rem;
        color: var(--gold-ink);
      }
      .plan-item h3 {
        font-family: var(--font-head);
        font-weight: 700;
        font-size: clamp(1.05rem, 1.9vw, 1.35rem);
        letter-spacing: 0.02em;
        text-transform: uppercase;
      }
      .plan-item p {
        font-size: 0.85rem;
        font-weight: 500;
        color: var(--ink-60);
        margin-top: 0.25rem;
        max-width: 40ch;
      }
      .plan-hint {
        position: absolute;
        left: var(--gutter);
        bottom: clamp(1.4rem, 4vh, 2.6rem);
        display: flex;
        gap: 0.9rem;
        font-family: var(--font-mono);
        font-size: 0.66rem;
        letter-spacing: 0.26em;
        text-transform: uppercase;
        color: var(--ink-38);
      }
      .plan-hint b {
        font-weight: 600;
        color: var(--ink-60);
        letter-spacing: 0.14em;
      }
      @media (max-width: 880px) {
        .plan-grid {
          grid-template-columns: 1fr;
          gap: 1.6rem;
        }
        .plan-list {
          grid-template-columns: 1fr 1fr;
          gap: 0.9rem;
        }
        .plan-item p {
          display: none;
        }
      }
      html:not(.js) .plan-pin {
        min-height: 0;
        padding-block: 4rem;
      }
      html:not(.js) .plan-head {
        position: static;
        margin-bottom: 2rem;
      }
      html:not(.js) .plan-item {
        opacity: 1;
      }
      html:not(.js) .plan-hint {
        display: none;
      }

      /* construção — checklist técnico */
      .build-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: clamp(2rem, 5vw, 4rem);
      }
      .build-col h3 {
        font-family: var(--font-display);
        font-weight: 600;
        font-size: 1.3rem;
        margin-bottom: 1.4rem;
      }
      .build-col h3 span {
        color: var(--laranja-esc);
      }
      .build-list {
        list-style: none;
        display: grid;
        gap: 0.1rem;
      }
      .build-list li {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 1rem;
        align-items: baseline;
        padding: 0.85rem 0;
        border-bottom: 1px solid var(--line);
      }
      .build-list .k {
        font-family: var(--font-mono);
        font-size: 0.74rem;
        font-weight: 600;
        color: var(--gold-ink);
      }
      .build-list b {
        font-family: var(--font-head);
        font-weight: 700;
        font-size: 0.98rem;
        letter-spacing: 0.02em;
      }
      .build-list small {
        display: block;
        font-size: 0.82rem;
        font-weight: 500;
        color: var(--ink-60);
        margin-top: 0.2rem;
      }
      /* fecha as duas colunas: uma frase so, para a pessoa nao sair da
         secao achando que reforma e construcao sao equipes diferentes */
      .build-note {
        margin-top: clamp(1.8rem, 3.5vh, 2.6rem);
        max-width: 62ch;
        font-size: 1.02rem;
        font-weight: 500;
        line-height: 1.7;
        color: var(--ink);
        text-wrap: pretty;
      }
      /* financiamento e pergunta de quem ja decidiu construir: fica destacado
         do checklist, mas dentro da mesma secao */
      .build-fin {
        margin-top: clamp(1.4rem, 3vh, 2rem);
        max-width: 62ch;
        padding: clamp(1.1rem, 3vw, 1.6rem);
        border: 1px solid rgba(201, 134, 70, 0.28);
        border-radius: 4px;
        background: linear-gradient(120deg, rgba(230, 196, 30, 0.16), var(--surf) 62%);
      }
      .build-fin h3 {
        font-family: var(--font-display);
        font-weight: 600;
        font-size: 1.15rem;
        margin-bottom: 0.5rem;
      }
      .build-fin h3 .q {
        color: var(--gold-ink);
      }
      .build-fin p {
        font-size: 0.92rem;
        font-weight: 500;
        line-height: 1.7;
        color: var(--ink-60);
        text-wrap: pretty;
      }

      /* 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(--gold-ink);
        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: var(--surf-in);
        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(156, 90, 36, 0.35);
        background: rgba(199, 130, 60, 0.08);
      }
      .portfolio-stage {
        position: relative;
        /* alto o bastante para o card mais longo caber inteiro */
        min-height: clamp(34rem, 52vw, 44rem);
        overflow: hidden;
        border-top: 1px solid rgba(59, 56, 52, 0.08);
        border-bottom: 1px solid rgba(59, 56, 52, 0.08);
        padding-block: 1.4rem;
        isolation: isolate;
        --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(251, 247, 234, 0.96), transparent);
      }
      .portfolio-stage::after {
        right: 0;
        background: linear-gradient(270deg, rgba(251, 247, 234, 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: 1px solid var(--line);
        border-radius: 22px;
        overflow: hidden;
        display: grid;
        /* era minmax(17rem, 1fr): a foto reservava 272px fixos e o texto
           embaixo estourava a altura do card, que corta com overflow
           hidden. Agora a foto cede o espaco que o texto precisar. */
        grid-template-rows: minmax(0, 1fr) auto;
        isolation: isolate;
        perspective: 900px;
        background: var(--surf-card);
        box-shadow: 0 18px 42px -30px rgba(156, 90, 36, 0.38);
        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(199, 130, 60, 0.08),
          rgba(218, 165, 32, 0.06) 55%,
          transparent
        );
      }
      .portfolio-card.is-prev,
      .portfolio-card.is-next {
        opacity: 0.42 !important;
        pointer-events: auto !important;
        z-index: 2 !important;
        filter: saturate(0.88) blur(0.35px) !important;
      }
      .portfolio-card.is-prev {
        transform: translate3d(calc(-50% - var(--pf-shift)), 0, 0) scale(0.88)
          rotateY(12deg) !important;
      }
      .portfolio-card.is-next {
        transform: translate3d(calc(-50% + var(--pf-shift)), 0, 0) scale(0.88)
          rotateY(-12deg) !important;
      }
      .portfolio-card.is-active {
        opacity: 1 !important;
        pointer-events: auto !important;
        z-index: 3 !important;
        transform: translate3d(-50%, 0, 0) scale(1) !important;
        filter: none !important;
        box-shadow: 0 26px 54px -30px rgba(156, 90, 36, 0.45) !important;
        border-color: rgba(199, 130, 60, 0.35) !important;
      }
      .portfolio-card.is-active:hover {
        border-color: var(--gold) !important;
        box-shadow:
          0 0 0 1px rgba(218, 165, 32, 0.35),
          0 30px 60px -28px rgba(218, 165, 32, 0.45),
          0 26px 54px -30px rgba(156, 90, 36, 0.45) !important;
      }
      .portfolio-media {
        position: relative;
        min-height: 11rem;
        background:
          linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2)),
          var(--pf-image) center/cover no-repeat;
      }
      .portfolio-media::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(0deg, rgba(0, 0, 0, 0.15), transparent 40%);
        pointer-events: none;
      }
      .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(59, 56, 52, 0.1);
        border-radius: 14px;
        padding: 0.95rem 1rem;
        display: flex;
        align-items: center;
        font-size: 0.88rem;
        line-height: 1.65;
        color: var(--ink-60);
        background: var(--surf-in);
      }
      .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.06em;
      }
      .portfolio-card:not(.is-active):nth-child(1) {
        opacity: 0.42;
        pointer-events: auto;
        z-index: 1;
        transform: translate3d(calc(-50% - var(--pf-shift)), 0, 0) scale(0.88)
          rotateY(12deg);
        filter: saturate(0.88) blur(0.35px);
      }
      .portfolio-card:not(.is-active):nth-child(2) {
        opacity: 1;
        pointer-events: auto;
        z-index: 3;
        transform: translate3d(-50%, 0, 0) scale(1);
        filter: none;
      }
      .portfolio-card:not(.is-active):nth-child(3) {
        opacity: 0.42;
        pointer-events: auto;
        z-index: 1;
        transform: translate3d(calc(-50% + var(--pf-shift)), 0, 0) scale(0.88)
          rotateY(-12deg);
        filter: saturate(0.88) blur(0.35px);
      }
      @media (max-width: 980px) {
        .portfolio-stage {
          min-height: 34rem;
          --pf-shift: 70vw;
        }
        .portfolio-card {
          width: min(82vw, 24rem);
        }
        .portfolio-card.is-prev,
        .portfolio-card.is-next,
        .portfolio-card:not(.is-active):nth-child(1),
        .portfolio-card:not(.is-active):nth-child(3) {
          opacity: 0;
          pointer-events: none;
          transform: translate3d(-50%, 0, 0) scale(0.92);
        }
      }
      @media (max-width: 640px) {
        .portfolio-toolbar {
          align-items: start;
        }
        .portfolio-stage {
          min-height: 33rem;
          --pf-shift: 78vw;
        }
        .portfolio-arrow {
          width: 2.7rem;
          height: 2.7rem;
        }
      }
      @media (prefers-reduced-motion: reduce) {
        .portfolio-card {
          transition: none;
        }
      }
      @media (max-width: 820px) {
        .build-grid {
          grid-template-columns: 1fr;
        }
      }

      /* processo */
      .steps {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 1.6rem;
        border-top: 1px solid var(--line);
        padding-top: clamp(2rem, 4vh, 3rem);
      }
      .step-idx {
        font-family: var(--font-mono);
        font-weight: 600;
        font-size: 1.1rem;
        color: var(--gold-ink);
      }
      .step h3 {
        font-family: var(--font-head);
        font-weight: 700;
        font-size: 1rem;
        margin: 0.7rem 0 0.4rem;
        text-transform: uppercase;
        letter-spacing: 0.04em;
      }
      .step p {
        font-size: 0.82rem;
        font-weight: 500;
        color: var(--ink-60);
      }
      @media (max-width: 900px) {
        .steps {
          grid-template-columns: 1fr 1fr;
        }
      }
      @media (max-width: 480px) {
        .steps {
          grid-template-columns: 1fr;
        }
      }

      /* lightbox do portfolio */
      .portfolio-card.has-gallery.is-active {
        cursor: pointer;
      }
      .portfolio-card.has-gallery.is-active .portfolio-body::after {
        content: "Explorar pranchas \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(59, 56, 52, 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(59, 56, 52, 0.25);
      }

      /* leitor de revista */
      .pf-reader {
        position: fixed;
        inset: 0;
        z-index: 90;
        display: flex;
        flex-direction: column;
        background: rgba(12, 10, 18, 0.75);
        backdrop-filter: blur(24px);
        -webkit-backdrop-filter: blur(24px);
      }
      .pf-reader[hidden] {
        display: none;
      }
      .pf-reader-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(12, 10, 18, 0.4);
      }
      .pf-reader-title {
        flex: 1 1 auto;
        min-width: 0;
        margin: 0;
        font-family: var(--font-display);
        font-size: clamp(0.85rem, 3vw, 1.05rem);
        letter-spacing: 0.05em;
        color: #ffffff;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      .pf-reader-counter {
        flex: none;
        margin: 0;
        font-size: 0.7rem;
        letter-spacing: 0.2em;
        color: rgba(255, 255, 255, 0.6);
      }
      .pf-reader-counter b {
        color: #ffffff;
      }
      .pf-reader-close {
        flex: none;
        /* 44px: piso de alvo de toque */
        width: 2.75rem;
        height: 2.75rem;
        border-radius: 999px;
        border: 1px solid rgba(255, 255, 255, 0.15);
        background: rgba(255, 255, 255, 0.05);
        color: #ffffff;
        font-size: 0.95rem;
        line-height: 1;
        cursor: pointer;
        transition: border-color 0.3s, background 0.3s;
        position: relative;
        z-index: 110;
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
      }
      .pf-reader-close:hover {
        border-color: var(--gold);
        background: rgba(218, 165, 32, 0.12);
      }

      body.pf-reader-open .nav {
        display: none !important;
      }
      .pf-reader-pages {
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
        overflow-y: auto;
        overflow-x: hidden;
        scroll-snap-type: y mandatory;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
      }
      .pf-reader-pages::-webkit-scrollbar {
        display: none;
      }
      .pf-page {
        position: relative;
        flex: 0 0 100%;
        height: calc(100vh - 4.2rem);
        height: calc(100vh - 4.2rem - env(safe-area-inset-top, 0px));
        height: calc(100dvh - 4.2rem - env(safe-area-inset-top, 0px));
        scroll-snap-align: center;
        scroll-snap-stop: always;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 1rem;
        padding: clamp(1rem, 2vw, 1.5rem);
        box-sizing: border-box;
        overflow: hidden;
      }
      /* a prancha vive dentro desta camada; a legenda fica fora dela para
         nao deslizar junto quando a pagina rola na horizontal */
      .pf-page-scroll {
        flex: 1 1 0;
        min-height: 0;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
      }
      /* contain: cabe inteira, nunca corta e nunca amplia alem do arquivo */
      .pf-page img {
        display: block;
        max-width: 100%;
        max-height: 100%;
        width: auto;
        height: auto;
        min-width: 30vw;
        min-height: 30vh;
        object-fit: contain;
        border-radius: 10px;
        background-color: rgba(255, 255, 255, 0.05);
      }
      /* prancha deitada em tela estreita: cabendo inteira ela ocuparia um
         quarto da altura e o texto ficaria ilegivel. Preenche a altura e
         desliza na horizontal — o eixo Y continua livre para folhear. */
      .pf-page.is-wide .pf-page-scroll {
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
        justify-content: flex-start;
      }
      .pf-page.is-wide .pf-page-scroll::-webkit-scrollbar {
        height: 0;
      }
      .pf-page.is-wide img {
        max-width: none;
        width: auto;
        height: 100%;
        border-radius: 0;
      }
      .pf-page-caption {
        flex: none;
        width: 100%;
        max-width: 42rem;
        margin: 0;
        padding: 0 1rem;
        background: transparent;
        text-align: center;
        text-wrap: pretty;
        font-size: 0.85rem;
        line-height: 1.45;
        color: rgba(255, 255, 255, 0.7);
        z-index: 10;
        pointer-events: auto;
      }
      .pf-page-caption p {
        margin: 0;
      }
      .pf-reader-cta {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-top: 0.6rem;
        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;
      }
      .pf-reader-cta:hover {
        background: #fff;
        color: #0c0a12;
      }
      .pf-reader-cta:active {
        transform: scale(0.98);
      }
      .pf-reader-nav {
        grid-area: nav;
        justify-self: center;
        display: flex;
        gap: 0.5rem;
      }
      /* rodape do leitor: a prancha anda no centro, a obra troca nas pontas.
         Cada botao de obra diz o que faz e mostra para onde vai, senao vira
         mais uma seta anonima ao lado das setas de prancha. */
      .pf-reader-foot {
        flex: none;
        display: grid;
        grid-template-areas: "prev nav next";
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        gap: 0.6rem;
        padding: 0.6rem clamp(0.75rem, 3vw, 1.6rem);
        border-top: 1px solid rgba(255, 255, 255, 0.12);
        background: rgba(12, 10, 18, 0.55);
        z-index: 100;
      }
      .pf-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.15);
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.05);
        color: #ffffff;
        text-align: left;
        cursor: pointer;
        transition: border-color 0.3s, background 0.3s, opacity 0.3s;
      }
      .pf-proj--next {
        grid-area: next;
        justify-self: end;
        text-align: right;
      }
      .pf-proj:hover:not(:disabled) {
        border-color: var(--gold);
        background: rgba(218, 165, 32, 0.12);
      }
      .pf-proj:disabled {
        opacity: 0.28;
        cursor: default;
      }
      .pf-proj-arrow {
        flex: none;
        font-size: 1rem;
        line-height: 1;
      }
      .pf-proj-txt {
        display: grid;
        min-width: 0;
      }
      .pf-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;
      }
      .pf-proj-name {
        font-family: var(--font-display);
        font-size: 0.82rem;
        letter-spacing: 0.03em;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      @media (max-width: 640px) {
        /* no celular a prancha ja e folheada com o dedo: as setas de prancha
           saem e sobram as duas obras, uma em cada metade. */
        .pf-reader-nav {
          display: none;
        }
        .pf-reader-foot {
          grid-template-areas: "prev next";
          grid-template-columns: 1fr 1fr;
        }
        .pf-proj {
          padding: 0.4rem 0.7rem;
          gap: 0.45rem;
        }
        .pf-proj-hint {
          font-size: 0.54rem;
          letter-spacing: 0.06em;
          white-space: normal;
          line-height: 1.3;
        }
        /* nome do projeto tambem quebra: numa pilula de meia tela um nome
           longo virava reticencias e deixava de dizer para onde o botao vai */
        .pf-proj-name {
          white-space: normal;
          line-height: 1.25;
        }
        .pf-page-caption {
          width: 100%;
        }
      }
      .pf-reader-nav button {
        width: 3.5rem;
        height: 3.5rem;
        border-radius: 999px;
        border: 1px solid rgba(255, 255, 255, 0.15);
        background: rgba(255, 255, 255, 0.05);
        color: #ffffff;
        font-size: 1.2rem;
        cursor: pointer;
        transition: border-color 0.3s, background 0.3s, opacity 0.3s;
        pointer-events: auto;
      }
      .pf-reader-nav button:hover:not(:disabled) {
        border-color: var(--gold);
        background: rgba(218, 165, 32, 0.12);
      }
      .pf-reader-nav button:disabled {
        opacity: 0.28;
        cursor: default;
      }
      .pf-reader-hint {
        position: absolute;
        top: 50%;
        left: 1.4rem;
        transform: translateY(-50%) rotate(-90deg);
        transform-origin: left top;
        margin: 0;
        font-size: 0.75rem;
        letter-spacing: 0.2em;
        color: rgba(255, 255, 255, 0.4);
        text-transform: uppercase;
        pointer-events: none;
        z-index: 10;
      }
      .pf-reader.is-read .pf-reader-hint {
        opacity: 0;
      }
      body.pf-reader-open {
        overflow: hidden;
      }
      @media (prefers-reduced-motion: reduce) {
        .pf-reader-pages {
          scroll-behavior: auto;
        }
        .pf-reader-close,
        .pf-reader-nav button,
        .pf-proj,
        .portfolio-card.has-gallery.is-active .portfolio-body::after {
          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 {
        color: var(--gold-ink);
      }
      .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-family: var(--font-mono);
        font-size: 0.78rem;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        font-weight: 600;
        padding: 1.05rem 2rem;
        border: 1px solid transparent;
        color: #fff;
        position: relative;
        overflow: hidden;
        isolation: isolate;
      }
      .btn--primary {
        background: var(--laranja-esc);
      }
      .btn--primary::after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -1;
        background: var(--gold);
        opacity: 0;
        transition: opacity 0.4s;
      }
      .btn--primary:hover,
      .btn--primary:active {
        color: var(--grafite);
      }
      .btn--primary:hover::after,
      .btn--primary:active::after {
        opacity: 1;
      }
      .btn--primary:active {
        transform: scale(0.97);
      }
      .btn--ghost {
        border-color: var(--line);
        color: var(--ink-60);
      }
      .btn--ghost:hover {
        border-color: var(--laranja-esc);
        color: var(--laranja-esc);
      }
      .cta-note {
        margin-top: 1.4rem;
        font-family: var(--font-mono);
        font-size: 0.76rem;
        color: var(--ink-38);
        letter-spacing: 0.06em;
      }

      footer {
        border-top: 1px solid var(--line);
        padding: clamp(3rem, 8vh, 5rem) 0 2rem;
        position: relative;
        z-index: 1;
        background: var(--surf);
      }
      .foot-grid {
        display: grid;
        grid-template-columns: 2fr 1fr 1fr 1fr;
        gap: 2.5rem;
      }
      .foot-brand .wm {
        font-size: 1.55rem;
      }
      .foot-brand .wm-word {
        font-size: 0.58em;
        color: var(--laranja);
      }
      .foot-brand p {
        margin-top: 1.1rem;
        max-width: 28ch;
        font-size: 0.85rem;
        font-weight: 500;
        color: var(--ink-60);
      }
      .foot-col h4 {
        font-family: var(--font-mono);
        font-size: 0.66rem;
        letter-spacing: 0.26em;
        text-transform: uppercase;
        color: var(--ink-38);
        font-weight: 600;
        margin-bottom: 1.1rem;
      }
      .foot-col ul {
        list-style: none;
        display: grid;
        gap: 0.85rem;
      }
      .foot-col a {
        font-size: 0.95rem;
        font-weight: 500;
        color: var(--ink-60);
        transition: color 0.3s;
        padding: 0.2rem 0; /* extra clickable area */
        display: inline-block;
      }
      .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-family: var(--font-mono);
        font-size: 0.7rem;
        letter-spacing: 0.12em;
        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;
}
