/* Oswald (variable, latin subset) by Vernon Adams et al.
   License: SIL Open Font License 1.1 (https://openfontlicense.org).
   Embedded as a data URI so the page stays self-contained: no runtime
   external requests, ever. 21 KB woff2. */
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 200 700;
  font-display: swap;
  src: url(data:font/woff2;base64,d09GMgABAAAAAFOkABMAAAAArNgAAFM3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoJxG9xSHIRiP0hWQVKDCQZgP1NUQVRYJx4AhRQvRBEICvMo2k4Lg2QAMN0+ATYCJAOHRAQgBYUMB4YTG0ydJTK3eczcDmCv7O7xCrgxcnscAmOOZiMi2DgASFu+5P/PSSpjaFJd0gKiqNsPRbIyuaqS002Jpp7V3UZmGZ3zSCSmkIJ51jmlVldQlrFMKbo7XUK7orGOTQfSkPAgEyfuyJhIdBq9Cg8KbyiF2u3LN//g6Px6TfpRBp0UiBSIFMh/CryaWF1wJO0mBTdskh6saG1qWDzguD7F49Xhl7ThUSr6VxM9nElm7XMGto3tk0xeJkRk06runl0BWlrZLOBjgCDUW88QE2BM0XMEAPp5fm5/7ls9tjFwRY3xmDjGY9CO6JESMhGnn25hVFqFhVGIGI2IUT1EJT9WYTXP/79//DvXPvc9d18BVGWkEqrfBVAl3gAsxYqoYFTEGZ6fW49QRm4MYdGs/7IYi78uKnX7o0wQA08BI9E78xLvlKtGL8uouiivYkin1VhkjNdJNmEvoA8IyqvqL+pX8k353bfYMYXAkMSSzZIlHmk0KP6fOvidt/ux8SSjsEnqg0YQGAYB3wQUAHC6wJYVwKrU5d7vAz226yg5nSZBgaQIPa74JqSFBWTRtaalZCvn/Tk7w/H/32Z9txKSQLCH6EMs8AIhEBKiFen2P2J69rPYVE3Ndiu2F5P+KtW/6l5b9qlKUombB23+/wggA0zSe/n2eu/iEJjMY48HGiQCZKy9iSMNb3RqOCyEzAjRPQL90va6Kx3M7PMPYVHHVRArQMH59CEERWOz1N61tgMMNZWpUhARFGzzQSxWjbJgSmEH6nAef6+hm9BkaG6FXEcdeaKG6AkviJ/4fWs6386+uANWAbJRskQKVY2uDdPuFZBVj9Zand15dDC/bXfgORHS3qtYQyxUKiFSMzHx96am7X/EcbRQXOhMeXlOyzuFvxdmABcVec6drMpqre7Glavd/VjuLhbQLYHjHIKgW4K0BotLC0C0FlRCUIBCrBxCIh2VP0iFJZVAUiHnSjqHGCsXnTvXrV3ZrV26KNt4/X6tina8eaN0SGKhkph+s8t7e2LaMItf30f8RDN4ZuiR3A54vqYp1foR3SGtnd5dGiAJCwyD0m6KpO8qtpJ7V1pFKIAGwLtsKvQcDKMk8P/81fRNt2vZslkDFOAcjZ5p2/KBEo4CacDCSAcokUz2Zv6MBHFo61RZTLACMtt+X+/wnai9n3xrpARhhBE+YYyr3zO5/LnS/rGuMmPY85fciygdIeplLYo8rscl9zE2W+D21ejPouJI+fw7BEULIAP4Asg0HDQaaq5kDGGQSrUAQUWJQgeMHyP5ymbXFRd9o/LYcrmA9mmGgvINX0S+wBSLvQxf0phPtx4bogvRQ0LkgiAh1JApMiBZciB5KlpMYdqfAaTXpug30LDDnpIuy4FuQJqnEDQqIHS9WukWeOxJBtjHAnFht52ARHz39f8fnl1etzuD6dyyF44bPMIkRRkmlHGRA3IhSb1s9r+A9r8tdZ+FUULKaTVrVh9vBQsIAvP5AgFEyUTBtl0aHg2cIw9oCoCDCqDzj63KySOOFGvE4oBaIDoq95kDPgBRG6qTMT/Am/7bGztosNHpQ5iawHjjDeeMIdnphvXnl4MCtbn1OPkWKMCmgdrDIGDrQQfh60PdfabWAhSQkiJCeV4EoBPDRBnhV28WwpvveYPW9NQ4ND0VNmw6DjdrVBYLsaHs8BhnKbnaJAPLnk2HfK3htrAmgZIYnFr7py3VDz7Lij3iMmcrNPbOQgRcNK3FZpnoIsWwxeheU/Xpri7rZPjadWmHWtWi+WpShXrVGWZXr5DMUkuoauFVRkJ2DPDqpuzjXfsyT7Kr/dnawdWcywaWMct2phigjXpKySGZWEyPEhEQNoZwH9dxFofx2u1BO1ZjLhqgDPJapSCFAGzQQ4otxQEZWKB4LBi+s3YN1f26XmeLJg8Du6+1t9WtOcRmor0aK7YUi7IQ8zalQUY0jM3kKuk/9bFewABof7au1uk6WLuqrVbWwppeVVqkGRqnURqi3uHCnRVSulZpiar8mRcZCK21uYpiDxg5D2Bfcvgoi9TF5xvZbFubuYMBK6QhnjJGzdntc8A7MF6U0ot5kDow8pMLtY7UPnAGVGaVUlZA62ukOy2Ae0kppTur3gaFU27POa/XXDvi9N1joLIvgHKUFbWj0Mft4TD1aWCA3M8wQO4FDFLzURjcbHaEss3SRDbc7m5444GyGLQRORjTZGMlCdA8RgYijem9aDjiVd/sEFhc4/NHsxlo3ka8UGVz7QNloLmRcsmmha/Hbb4on0H93dtYJ82XLKlupDSzvp7gmD0aLblCu7pGDUKkuaopAQYlaEZZrlv9INvTXrhETT7rxydZP3ZBc6S62jg08Hrd3Jhwj2iFe+5SHbgXZb7RZs9XWtYZ2Ri+2YOGL6ZN7oDGpgBSqCGHIWz4FSxtFnd0sgSoUFqVlYqjVxveOEzMhOrUiJE5psmGqkWbd2yGPoyUspp6BzQedPQu4Pz2h4FbS0sEqO1ebWRNJe9UNtisSEI507yJpFgI/mBp3R8qGbbTDls/TwKoP3pmUL3D7MFW+Q0pVL4Mb8OF+0gKFdodbh3PZs5VRY6Uj4ezlCuJfCMjdzzSSFwMWy0SjrNfF3HVnFhK0n5c+Xsz7+QOUN4WQNjIsrtwmYK0ChRWUFCBmw/bj6upEyN9HachTKW/7ZVA7TlUjaydHDbKf+So8NEdvodrN5Ktcb503QpXoeMRBy6Zbyet5sGVXAH4U6fzHR6kDyjsqBhU8NbiQH7/qo3MTxmRcG0DKI2sSdShgZt3bl8H+fVkfYkRpi53qhdStaGlHUH+UdMhf5TKQP6FrK0b11w4/B+A2zMfPR1zfbzJt7OAr1zytY1Qvu1IJgYTXNdUk8tW6Z5+cWfgIgZlUPkx2qzY7JRivAWHgLpohQE4EVN+n44BqM77iDgJcLmhW39lvBvyr57C4LDFu4EJW3AeAkBuBT4VyJiZfn7j0FKQ+762SX6ssxkqeqIv0tbA1/SKGhf1/Mv13af5Gi/i7tGJFNZUJRVD50I6Rlq5vt2qZZa/PfNWSfqLsN1nSQqNxuPDNx/1F1QqJEqiibNv0thHN8Lwq51y9Spw9LyGEpt6PiYcra5X7XEzoepmXed7Mt/J4w6LYCCImtBTI6E4bsZaNn5FI8eu+Op+ryPuRS/5ojrj0vHwP6yLeeL4xIUjQkbvfDUj14rgZRAchFv2DvC04XYtetgD6IrSePzWIumAHsnaVsJl3mJeL3BpLAXc8p29fN3w1OKAv+mpfWXT5h5ZA2ph8rOYCmkgd0fbPpZPzoVhd0tyJpxuxk0pP67z8gZJb+dSlRz8Ics2SuOhHMdrr///1sUMaU4pFTwz+14VjJYXipF8iM+N7RMsqzed61L0ZLTSJbDl9/v0BLVElLYLo4TvBGARLaHUtwq1ZxllpVlMPX+WpCCN08D67VIcX7y2U6+zL6g86SGC5aAy7mc91lA2t2XNFGEyZLaI2dePHvDVwVN7j8I3NtfxE9ED25oLD3QWrUYs/D7nJtw6e6WIdw1HjA05Az2BWk7e8HWRu4YF+8EAKQHLBy0CPQJqtKd3EGG2IGvFES1SBRk9W8BQIOYa90hjCaGtMiAtW33DGoPWlAP7knEhLyGLgv+/Jt1Tq1t9PMiJR2t1I9//39VuCbMjilIFnIG+LkJJM9c5j59IzNbw1PZZnrDAeGBq1TDHGjQl1ftMEQtxWm5dsG/r6c6GlsNHv0Fp8KzvrvwG5EB0wRHrAemAAQ93lxfM1PTdB74i40Gj+bwZ36wjmLVrROP90Y5+HTdEJ1CNU9ttfcNp8av2nfw2pQD2er+4ZmvGII7WbNqXQ/ya85KYrktfX1Rjk13EdtlIyygm3lu07jCbtRxDzjXt+Y0BRpKsGvYhB/Ib0oDmnnyG54ikRLE804KdOPJ9o2UVOHtLJ+l1mQ0Abj7yo82q8gGyAbIaIKaptjF1lCFp2nnLI2GvYthAC4vjEx+7BdtthWkBYIPeZbB96SOQa5rqZR4A0pjUGNsHP20pWiW/oag3eiVhxNOGaxr15N7qfB3qugnI2d1KH4L/jx0lgBMxwydBMiTnzJyCAslVEGshIrn7Tw6lPCWilaoUp1q1ZLVqpVhupVR7dcl0xFH5gNAIwBsBpEcAUiOA+AhgzghA3wjA6BFQthAcjQ4dRpiYEBY2Cl26ED18iIAAhZAJRETEmCkxxIwZEwRziIQVCpI1RE6OwoYNxJYtDjt29NlzRqegwOPKDYs7dwIelKgChMNEiMA03ni6VNR0TDaFoVjxcAnSYTJkEMuSBZMtGy5HDj158nDlm4qhRAm+UuXYKlQwUKkWU516ppZrIbTCSiJ7dRDap8soRxw1CsYJgsMwMUmwsOnTw8PAxzeagIAuEREjpkyZExMTMWPGghUrDCTSGDZscImABw1jmGrUph8K5VNT+Q9HAgTiC6qLhQhHJQgzxxZJjftPE2ImBTRtpkHSWafKkAmRheX9Bhg6umKKDmWYoKNYMbWZahF0nQiIwxQppgjbCyF/BQBaXTWDXJc0VZ9xZxu1BJgW+Tp96Yh9eP0XWLzv3SnNy54rPd+eJxjWD7pz2fvnB8dXb7vDLScX+narBnsaY5Ri9B0NHqZ/2aKk/d19nVUXO7iNrdRbw1Ycxukrh7Fe34+JlfqjgprXo7pbu6q9mmt2aaCyb6fK893INxUmH4nT0s5PW7IwM2GES1xxhD8kxzFlRo+EDBfJjREPYqXGVpW8XFYJh+skatDE69PNkeZyrHvqAq3DC7XZpMjm4cX22qfE/uFlDjio3PF3KyF2XW879/P/F8a117ua28VoHahf2p8wKFChQYcBrnX6fqEbdtZhbE/2LEV3m4JLrzca15y4kTPA8itb2ECAhNFYMAYplsiwQu637fgvs+swEuxTcQCOOOGcjo153m2Kzv9criXiRrlZO+Fvs0CAhNFYMAYplsiwQm4QeRKw/FoEgiCCCWEcoYQRTgKJJJFMCqmkkU7WUYyo4zS4vDTPUA5qMXfdDsfZRoeMHbvzsPZvb3NVcQIOYOQIs1kr7iDKFrnZY1ji++XwQaZHLIWeZ0ksNNIksz742b6s9hWZHa4nAUxjm6mdks95m4RjIbXuOo9QueRBoxaOq2HJ0F/FQQaYAEiAFGm6yJAloJseeumjn4H6YI9fAaap5EGREiMZxZhgmjcyC9Xy9NWnJfoeo1cf6jJ6Su9nj3ozN6B+cpHv3DgM2fX7p5AP3fEoOvZ11/4JMIP883pVfwWk322BgSCCCWEcoYQRTgKJJJFcT8n1kFRIGkgnSygtqhhfeNu1JKsCuqyC3oTeZnk0FMOcr9HTRa50sBKIjYbVizFvh7eFJbse8tcpvnoRlUlnWBUl6TUsoWXiLsYS4Y22RBDBhDCOUMIIJ4FEkkgmhVTSSCfLn5MqffLK+S6fpAAUUsTUzovL+K6kkI80FbKltJQ3ygLlUtHbJjBxhExhgmqYw64/U1zHVkHh4rIvpRaNrKoucGy2AP86vtxKwiYWgL9ZbCnNs4sVoPfzpv/CXT3CFr3E+mzbwmf59CR/SoEHqfTaXiiLHQXyIxAZqcLNa8wy3sLp8Ye3XQeT399HdBY3uU4Pe9icOo5P6ycMe1tTnW0NXWFWHopdYHe25KfqtDW8c7OEdLlmRb/jHYlPd/m5qz1jQNOyUTfFri/jg3Lnj2dYca4KYMpKZqfc4AzRLI32reryZnqYD8wMVuHMZr3b4rnaZnewJpb7rNJhgSVylKlQpUadBk1GMDqmr8kqPDqmlifwwhsffPFDGQScP3MFEkQwIYwjlDDC0wgunzbjTYpYk+yO7JG9RCJJJJNCqqSBdLIkG/WTQWrl1UiLpfCb4U7ctFSSmJSBcqmEVIFqaqjtXdeHaqj3N+SKQ2uYq23yS+7En2DsCPiy8kOkeF92FBpstaVdoW+4zu88nwrqD30RBihQoUGHAe7XAToJq/8KgHgg5x/soJ/MunMGElEqoEqNOg2ajFCjzcHWvTOiU322wAtvfPDFD2XM6NMXLQgimBDGEUoY4Xp8D71jgxNAHPGSoJBEkEQyKaSSRvpmRqHeaURcZU2CnGm94GG0nPzigBQwCiliqhkFJd8CDdOUm4EI9dNGyg9X9OHr6sLVRfXovbwnT6Gl94rwfLTStVUH3OYSyl7kHcg61hjJCFBlFGMYUFIXbaGerVlljvcInanfym2EYXYv6ToOC2/aAly3uVodwLvHcxEFELEbn7kGRS44hkx7CwFwuyzpJyw7rSSnjmrAgdZCwRgUqNCgwwBXOno3u+gNLmfkDa7n2cpN3HMVkGlGlFQ2i7NEUvpazpjGZml6Ce/6/ItTHcubpdLSnFDrWqLW1o1yGnVMNru+o870WkUA84xlFmMSPapXpMM3hbDJu6XKeXeDRmOan9W2OKwvfLf/td7Isimixs0OidPZKWpd/aBypIhQR1kFLKggk8FCohjgKKvuypG/QQp8CohVvUabzeGbANVVQS2qwL7LaR2WoWJTttklsI79U+J00VCfKB3iENuEJWFWasgqSapcJFys+Xj/m5giYyxcSZKvioc9cgDc+CJIsSaN7uyCrm/Tsfs/o5VIkSKNWQGVuhSan9FA1HTabyrvzKGq4FvtDCRA+e4XLQHnbaK6lR9+MexnZHh30ldkRPzplws8o8LIN6GDk24nRRN81J0MUi59UE4/4FB+EYSwZu+/yfh8wPXI7MxkcDyyMDUP5GFZKUBQfRQfA9EVqywG5unxNAXPiD6tllDjrgIuw1DwYhopMcPh1WOrhYlRA6NSCROhGkWEGFXoUUFQlgpsyuUwQsyWihegaDOd6zno5gnZJvMzh0YwjaZB5RuE6OikzMDJIOttgZ4VQ/cBwOuKgYiklht0IYuoPqUGTJkZWG9ydaOmP7mbGHZRpTXSTPqli1fRVHxZoAAyuH6TnZKs68W6XAegMbAIKhYzmYhpQC6JIJ+tnvnQBtjoWzMfaPppabtJItELeYsgsVS5tMQmEjAYYosuZvoCORefLsTyuDxGefks+TIUvVZbI13CqDGxNC/EFbuEdotF10qpq9KLa4wyCmSCGPJjlFdEaDa7DSwzloFmsfkMphLPmpkDdhYKiZTCB4RG7oLDUmpxqUOUJFEqhbgiHJFncegKKsgclZNMZmCx+QFIlEsV4UtHvBw1ocxahvL2VyqrPcEQhUSqro4wrjcXYwoTKq2WVewpmVW4NwILQS4QV2P2b2EMxAC4uIyThy9e/fGnJCM0J4zG0GHrcvSxPxoiJin95jNZbA6XxxcIRWKJVCZXKFVqjVanN9QYa01m2GZ3uNwefzgSSzY0Ns/u7bMbikq+g+SCXR5MMxrQC2sKwCr+iWVvHNPAxLfAMduu9Ojh7E+5Bk7TXS1HnfqfAN6GMlQEdB0A3dpIgCIKBMEhQIAKGIQdfyxLgwBgNAJfMRqZ1BdA+uwJ3R4Y5FcwXmNyraqVWZL2tCfAgXI7mePQ/ROTOsuClumBKg2QN2btz0agEtFlx02dXf4hSSZIlHdTXaxH1deQOYtYpcgnjAkxISGkhBPhTgQQu0oSCVci+OdBAsGeu1Z7DLoieqwHKM3CS3iEISF6ZUfCrewSwHpTTwflBPfv/2uIUUKf9/83CPz37GdLAXx26lDJ0OLP6oaChsSDGz458clhCDATsNWArwDk6rQIAbnUXsrFafbPpuutdsRGVzxy3FHb7dDqphabLddmhZW07rpnrWMQJhZdevgEhAyImBIzQ5AgydmwZcfeWAouXLnbbZM9HtjmBQ/+AgQJEWG8SCqT/SdGrDgJMmTJliNPvmIlNEpV2OmCXe5bao1LrrnsuotOeu6UOgf0OO2ts7ot0uylh05Y752F6h003zwLrEOHocLRMOhg49E3CpcJQ0aMcZiTGs2CzBi3WXLmwJETN9Zy+fDkxY83X0qBwo0TKoxalImiBYuXIlGSNMnuSDVVgUJFymQqZyXdiPd6PbFfl7326dQBAdIwCB8VvhBQszrU5QjUAFkfKvyKJsiCNCZ15KzQ/0mZ/D/5acsXQACpT0BwF2CXA90EABTWA3ndaiAOmELKqlNfCqvVTMQEdde4iCS1dRmmXvTGgNqEgagOY22f1aBR+0otYl1TospNlKpqlkxKamCqesV1d42bIEVqNfWtGiVXM/dFBgU1l0ehKRsfFt6ECfDw+kQ23UVdbcgSjkOIGxYcJXB9fijLlCyrHM8ixpPRcErrA55jhim/EzgNZYo4Uj3WKpHKaBRFSZTEUZk2M1nI7JS4icmWJxNLW6Qqw5pqMOV7LJI5V9E/Z7tpIg0CJCSIGjhTtkux1IuP0r20H4VEZ+jApjke0zTPD54QRXvfexPLiztBHatYVmR4GnFUZZmgdp0YFCfyXloo4cz+QKf+AQkPMgI3TGmU2SOmq2VR7IDvfyWSi7HABMbEiQmoZaJDovAaH+L+89Eo0dI73YBcd/793rqtZTrfxVFiN5nCu3ndnxl0v/J0w+4jnXjPpaFuiDlFOclsdv9wpEeoHfMA4zMMLVG2Gyarac9s6G4AuhyzvkzEOhFKDqvwY2sZLzhRKgwl7vZ1pYJGIVqUTFasTrsMe8iR0ZQnLB1QjUhtWmcgTKA3wJj0ux8myhM2R7E6U1XlN6KmdRRN/aOdpBjODU5drTtNVc+iM8gjvlvshrlktI8obW6m/5JGMTrrtzOQ9uWW/jDl9NPPWXJWZPYfxnWukjoXKpWNp51HuL4mxGTt8mp/h56ZCqPEvN0dQ4l7RMbcNNcROVyl7C2P5axcuEOiIWJUsjTWo+E4a9yYxuhbci1rdSTUGNF6roLu44WuAg9IzbsLss2jEyV+r8eDk624SetEapWk5PYatsz7zu3XRitCkx+vLnYoVtdkIct6XDxSfxcRVPI2lVvH76U2oHU2UU08Yi04HpjZXDrFt8FldX98/S2kHJacC/523IyajHY6VEwSs4R6xcjdz4g1USOq7uf1K03NTZ7YhwnfqH3iho6hNKug+DoFRQo/X03OWyb0/OJCgUANVA513HdAv8uMDfxLpvb/qZen2BsBUj0ky2B+Y00p1RVClqWK+YYYcPKFIpEmTaNb+ShGLbGiUgkm7SYpzXXiQD4tU1xHPK4o6Wdxd3ZAwh5bBibFpagFpB7zM1VE+DKL2rc1yXbWjHWKVkNO2W5/Wtr8eCEMiHjpvkNKdNLcJFGFHFmfQe+dtokNnotCa4qa1+hVb+t/UhpcQnmYIAXSi+UkveOR+Nn0XWJ9SAHyN0hGAZepHT0JUKszVbOKXSOl6z6d3u6EFMk1Tq112+ZL+9b23Q4M3RdtkMacfDPk9dsKa+dYfe9kS5CnTYjZbNIUCzZp8iVTH7iCnq/4HvE71u3ShJqsGebTMz7X/UB8QFbS+API9dhUp51CKGHF0+amatkDlxQ13cr9IZTT3F79MNf/MTmriElMZas2ZZJTlW8GQ77UCxLLBHYGfM0dM9EmJrWPb5lDNw4Vk9Y2ofEDRvg5YeUC8pZcS/9AyMlia+vTzti0vR7JD+oJpbeBlgkOaQNV1f69/aQ36I1kNUB+nfoqgyZaGlhI/jRWgghJxjSMFLn3JOd6gqjeymsHzIk8unb9RBTOwaH5oIRv9bjs7ecp2aE5WBgima3LiUhMCrDEdJigd7hr0bxZ+ez40sXkZ8vraxcFOLzDPSihUYMxwS2fRuRVhMDsQBTojnc97NwpguZF5nYu/n5tbRIioC6Vu2iAtUu1uiwcUMaGqYYmZqAKIxwWqtQS3SExACaLRatVYpN5lEiEW71mZFTNizTKjWONiIarBGEyTgr27xM/s9Fm1yf73c7Sfn1IaST20LGnRAZ4KbNckmZAhKpm+Pp/2axBWszbZpcI/QxzAqNBG/ZQ4ZB5dWyViaO0hrRVBhR+6UncR6t4Im2SUUxPlNSR/RCweLJfaorVXcIhUGw7vK/BmjSnxzZHU/VDDHT0oQoo+D665pgboNcfyvE/3lPDxf+h5ajdZIo2kp3j4TS54iJ9RbTg/ShH0g1fsFIUUX9MJHsq4sCKoEsyDd83r/M+iO1H7BHvvHUwB83cxdYOwvB1YUAVIDFsJUEPbxOYqPiRsfUMf4ROajFoU6f/MAugxDkWfSYsoPxYi2+cRYmlFNy6YU+RO+1kJkXM5rboYVk/ldY3YblNpozAkLAqA2Fn4kmty2HLp2jWQHWY0/RE90GXJEU5TY5rs60pReUto5R5FYM0Q+LB6/a2BBoM7xsgkSDGC6mOPUlN3mpH0wbHluL7aPITny+iFoZBld9Lv9uKlBGWKlp0Isn6AHvOdeD866I7GuhrUV1XK6+y2/RHa+LebxCtWyf/u2RpX0jMMzzaF+WLcl2PTgD1ZCLf1uBiV1sLei66ecnm1oIakZ9u7uKvibp9Wrvx4vjcTg1HDqDdEOmkvCFRgkJKKQhPK/aV6lK0W/earuLu6jOTdXn5qQRmt2lm6itYaTKPuaSiCGQv4PZizLMGt+r4kX7iOjpd+Q7Q1P4xn22QiG2qbxPRLQRqTdF41UZT16hzfWggrWcnpAFeOLBc1MXCrURXUqshnUkirt/AGDgvjgEAJnqYV0CoLVEEDdUdtvzno8hHfi+YQVu9Eib5FUnFpGDtzHhIq2Dl9ZhkN6XMaokxUXxmpN2WREYEndwkbrnjCm2C5Qja58v5TNu9rfPnqBQ9EUBZVAYseW30TWg4Fsm+3vewQT5Yq5QSJGd2pcAMWvQ9q590uFXvX00O77Wei/oABbYMJ7w7af1xY485j+QaOVvJuH5KSZyUnaaOM3w2at6wQ45I7mJzudqYjdlbOl6L9nylJSjdk99drCIhL5JU/6PJtwvilWcwGzJ1JjBaN8WSNPPkS0C8pftjvzUhtpROI/1XoYPte5ikFVekywncSeQaGKHVbu17UniDV1RKl61fSjFbmru5wnKSgusWUKy6cSXujlctGuzct0WasUKNv93Kz7shlh/R29ttFnFJtPxVhtSmO9h9CDQycLBQJMIcmwH7jk3/vHoQJ7yOtecjgs5/sfTvwuvd5qHfoI11vIU8UMH8EOopOgEhrC+f5HypIo/DWaAQRCFD5FDJ1vBW/qGI7tCD8a/mURaZgIk8oAnhwgSfUo538RcUvUqO6JW4uCBAV3eHfD65I6gg2p6QwwlYWt8g1ZY7S/QkUIirm52sIS81whpqtiZ8KQ1nttuM6EQo2wKJ9M0Sj9xirHBc4ooHC53SGqTGw+xP1gIT+WL9HLWwJwIlhAs6a+LOkLnWVNRgKTCh/VG9EZimyyyyrmmpcqMl+hQk9bHPSyZDk/wvw8BE6sKfle0O7R4G/7ev3swbTqLrWEuaLXFfo5w/J0TNEFSl1sfE8kNFAblQj/H/KhT+WR42ameHDm1xFjX+A+uAiRxoPto8AA0MHx0GdqgPAu1h9rk1mzkD/fMclJQXctzMsGx6afrRzumPencNK5qog85zR8LACPcv2Rs3b9rc++JqQHlXe83j3pskd5X/FoHYDLnu8vigFI9qM/EXhhQhaG5rTSTSYoQGQsogtKDFHE6JTqKtog4R2nxcJLqONn/80mu9CR51I+gPnx9C3e+bH6UbEQR3XZchvjD2cfFj4cf4n4Z7oupRrTFQXG8tMqL9UWAiP3cnlNwOp1nYlJRb64a+UMoWLJTrS5M6lYy/EzILbDEdN+3UEZKGIFXdfs/mgL+JB5pNUfDy5HPwdwJp0QwOfa3nbcC1KmyPv/PiwTdf3yW+6y3+VzwTORlOQ/Jmv6TC96ph7oM96eHUkkMC6RvTSmetXw7+xR2NBkk6z95BhGYFfxYI3xNrZNbw+KK57IixrqstJXXh88gBWwuBW279DIK+FbI3vbl60Rl7r69GlkiIwI7Ta2LLY6OnARqf0mRnLIsTslRlafyaRHqsNK6kIoQ4Y1mjHXzFikKZ5bGh2OxiBQT2o2CoOWHPWkM99pirEcWEIv3JgSQo3bbvyRXpxZQ+Snpq7UuPpFdKB6TgIPX54vTw2NBY5rliKuBM+G78Sjgp+2vf3xPA+oJq9cVqNdN9PcI+xmcuHSNUTb5KoKTzchKj9amEs6kORWJ4sO2SkYotawsaMC8l1Hs3HCzjEJjbwSsFDtinU7HsdsG3/lle8WwO7o0D5AwIJVtCys/TaG/2PMdpdxq1z9nIcxxly+lLmYSde8gEBK+nhWGhWrznZGTuLF9xBPfR1/Tmy+OGKmLVixPvo7LcCi5xG4Mw/RYN5DPMyrAQAiFV7CBbFCA4ClzE9UZc1mgNRMmDM+zQetaSreRKy/l553vBCYbTpcXPto+6Cd0utcNk4xFCNdVtTM7urXjiG6tlr3teYpFW91AkbTw9MWoTgIMFbmdmpN9a2V8DGyh/VpciEMJmfpYTRROLhs9RZ7EJDvkkD2V+FXyL10a03Dku2I1bZHVamb9dXGJcpxay1HUEp4vgAPmBrWBAiJ7HUKdwflJjaXfteg+jN1BjiVFuvCAgqTVq0pdKHBVXEjbZUI1loJthcyvJ3d5VfkqXR2F12wyV/UHJzfnMLz/C4cfWUphzqpLujh2tw0pW/2oScd8OOUjdtwftVDXGV6eedZ0ZWBEppKGqpalg6j642aWKVaG51LfeHaz6cvAvDPFzvS5DwZ6m/LwU3ZnEs1aIDUlyWXH+ilYUPMNit0iFljq6pdvgVlQ3GGB2vUes0Tm1jCadgVrvkNX4qjYfCVCppqNbKqseuxqkkfzHnth7bXzp0L8k+/EfQkBHIqwvnVxhNXyLfBJ5jVZOrhilHQVGJWLNbO9H+rGfQ8BcXHp90m8un4Hb8sIsI+KyeZy5eWR/tv/ivQX6IeTG7j+Lxq+tbEEQrtR9CZghBAJqZYfmPTuNTZfsv+Wq5pHPH5B+0v4u9Cyu6g9VPop2n7prPxM+IKL7ws6GmJx5YTupx8FJhtmtoLZY9lsO4su+ZrOrR+SvdKYAbaWH/hrDvYpG2+ZmvEb3bAUtzX8V/uDduX2meY1x5c6WU5stz1ooTU5FLf1q2dYn/SaaxaKt6gnK7rLEM4NH6dRdXC7CqXOH/QoLG315TJSkTSTpz9JTEzTqREryyYlPUUvLV5PaSiU/sYgOVCcAIma3eP7nrrXqaP8x7/kKwf+FEr4w9+tmoD5xF6masS1pNZr0WSZAOHGD+Rllf4psBDxbiCb/Av5fQaBTIpFf7j/KL1AtfPU2hjAmfQocLHDGUzNcKeLCBJtylExIrmqPndukEAesdJHLm2r2Eo3/nDWJ1/Hor/7tarJ6F7FlXIuTDi7jdXzmU/tZ0KMxqI61GAOzlBRYTiN9xO5COk28xpC8pqUx0+WUxQt3jVKCCh2xbmkdDRxhiNo2QENGp3EKmWpyNs2tbqShLJuDcixYXVAdtffCV2nYP42IFdEdcLDBigFL1nHUeXROjwUMNVpShinfVMS3z7Av1WKpD2z3bweFjZJl5d2x1z2vp1dSR6u76z/0fwiEzRHuaXl54aW5877J+l/wvJBd07bmx9BKFaCHvDj1aAirf+n158ORuD32fmxscKvckh+tmftj91+N0rCYAyOVwaovXo9CDpUfKxUPDzDo0ZtC7u+SKqLb/1xxsF1UeoG10Mukem30eO9rytL3fwptYaBoMp70Wytyf8X9udv72/snheccjY1SGoVBnf/BDeabhRulvKpRB8mrYv9Eqpj9ECGV43bWw5rnKuO1ooT52zkgXEkeGHj229NkQh045mOAhaSodlXc2pGKOrojq9TUqFWs89NGErQsPTZCoz7WSc/Suh4HuXhgyggh9iYnP5MyOBxJAz/jbHJASLLGluQgZTZ2C7fUluZyh0pt3BZ2mW0deOYRMFW3PSecd+jGczfCEOCHHzJ39OBtIq1JxNmJhrkkhOzmzEnoXO0tve1KvJ8Lz5smgXrwHW5NygRNZlImv5BGednG5s4vhYVmcWiSXpiXm4eiNOIsGpZFo2G68PmF1BySRdCQklnhpEzQaHHXJoMeNimicXEzST2oePhN//Gry35uaGk4d0+zqh/8zHDHNay0G2EV27I8YaQwodEU+1J8xtmphpebkH9mXlHu41g9RiriqC3PCAN+AQCooKSDN+gpDzJXJPw+U0IkTpbl0il5hiYVZdssb83wH88LYK+ONsfp5i5KOlwp1iAG5klR4ZC4yrRj6RAfYx8ETVtOnYvZlA/+Cj9wd1LHybj4l563Ni2WJWAztykmt1gicm6T2SaNr22yPv8d38XJJHSuGHd7GQxxMNZdbPZUuZULoeF9nE0Y7uVqOdMukbDt8urLTvALbkqJRXXoXBqWq2/WUOdX+AzDd58Xwl49dY7Dw12YsrvUmOsiDybAXBkP+HYyX351EELbBpnMNRgrv8Wt4DGcAmqsf2HAMy92NjDtD1i4nwLfi8bhsSvCG1jqixTOVUmwTEhxmPkqi9tRKxd7sJH4tANc2CK//hUPE8xn32dQHqfRV9CJVhzxCIM8QWG8wcgPYmCfzVLrqjWI5kztf1dl8VnAnx3Is4Z36Aaa0ChEnt7XNAFk5cgioG0q3f8tTTevd0B1GRjWz83ORWqzN/CKqNeeoOrm9vWr9tjuLcqG9Z3UrygE2gHRZxlLsswlzmd7s71Atq96mJPiyMGeG/DhL5aQQklJm15SKuF9xypVizqwgRA61NHZ0JLOtMMyJN7ga+v4oheJL5fYv4QYSjH8S9tohE8n2N7V2JxB2myyzC7O9GNwx76KZpGfZLImySw2eS+TtZcMJk7eCvQuEBLgfkPxmnDJmgEDHl4gCvaY2aYloFrGEIQ0pa1wOMCegSiqRxkaP6wsazWHvHwGAq1ujlUM1LesAxTdSaip9BUI/P4CjecJJH69gV7A/RG+Er66AoHXA2AsnAqD4jMjLi2/A7s8b4vbk7cZO9LTXTqdi872oZfm7vAHqtgeiO2lA/IZl3TYtxMtyUid+sWLRvI2eWDFHaEFs06anCU8VBDeoFk1gvfgV4yq18OoIM9ZYgoS3ngDw9/jNZ05bfI+DGHeeJ0ABCd39DoDPczcvsPs4WffIATX6V6vHl3x3JFVmg104H3o+kXNwPwBDSAcaq/svAHtpeuAosTL8H5Bso1zvVOn6gdSgnutS6saWPDOHRAkwCre5A3lh2ssvCg8+MGqJ/oFT7jB6tH6wfpFY8+6aypv3KBnLPCT7JNG+2SOnb9oftIQN8YZ5i8c//iGClQ4/NHG+T2MFPxvXNA9I/mgrK/buCczbv1kcMVeU0fDKlO8l7cWeKyM+aZUUq4mv7azuPeNlyusUnpMpmXMNbUkdMrihQ0LNge0vVjaJIae4NmrGpRltAFrMiPzBJbXNMyVPdFlp2S1waCynaCjPPnNXay/L412GDpe3Fp9t+14Ac9hFfTZKN//Dl7gmoCYF1b5bf3FFTwXOSBQ84N+oUrmY4qsEpW01R5BD7279+Yzggy3Ks70QUd24HvzCyinz8LoxxNCQ4qj5Ay/s4wcEeIOnGcNu1gwzsemSCmsM0wxtR58ktjhbvK4FAJzhKY9vdaf9CfBKYbcxufbd4SIHRkhgeIjUxfzi+d6KosUcokleMIoEDzjpcnlcIyBx++o9hSFSEZTSraBBSPRSpa9RLzxxy1TAk+TV+or+IkAZnotQN0hYqj7wPNFyHZ365DoIZ9P9GArShQZQg8ywofu+B3u9JjBzegtS6kRHxkJaf0OL58cNZHSJN7hD4nUPw4qHlHe+YVE/XwjjZ4mGCkJr8ha37jKFEf4404Xf0ywVbWNjaO1GG/M5eSNe46awMGSzEOulkHhNq9PuBWiRDMH/1ZfRzNFVrfcGElzH7DbqysyZ3lNXd1IjSqHB0p6xFibwe4xeJjVsFx+sbXl97bYTeMtHKN2nUYgFmtArH/a0yzvlsPTtZgUmtFQhmaXheHvYN9CcG1I4eXyvCoVz02HQunh8t09y/d62nLyTwmEJ/n8k0LBKUDxK7vTprpDdlLZicSJptMfzMC29Z3Od0Dtol2JXXHezsRO8FLAvfCZijbTKFzZNtXlqnaYYD4h+A2HXusEyiPfBwPrKG4+v2rrOtf3gcC0iwJB1KYpFnEIJFFju/dJ6ubNpExvLJF4RAK/RAKxPZFEjG9B8Fu4vTunY0V+97fdOWxnlvGSba3RXJgJT3w7iffIrnnb5xMT95iN0+d9XmmlhxUafsQjmeX4VeaU+HqDvlNfoyf+OrM7CGFags6aTtMMuepXmmdxEM6dnKuYwhpChkZD4WxGGBbplBdIfkVRVU6IumCCTN4+jN47GBos/yoMpufVOeosdfbA5NfpxWNDY8gTX/vtp+KbpnkJddZ7T0yuD6+fDE1uCW+ZBMKysCAMukviKYvHk28WpEyAfV+pCn98sC/eF6tjCFDdCivC8pemA7o7yKGOQ21Z6g4E6O9k8a5lz8TzUwD4w+Ge8FU+kxuKqyb4SFWlY+LI5cc/LScIyFVopyl0eOUUwCn6fwyb3weMZ6PWrD6D7vjPiZ+B456fclrdBwD24HgbtuBZwNC9L2gsvSF4azjq7kqY6pwt8bizIeVMutqiIeL6TSQn383l6vlO0sb15ceirs6kKeVojSccjcdUytUae5U9y4muYkA72pftw9c0UK2vojT81N6PEe3HgDRV36K+K7R+cfz5nsTz4ZpBwyAAIy69X1+bd5vNucM06XsKiMkvKhQX5PILzVPkYiXxPxL5XyLpOzLpe+A9SN6frCrPwRmpV4VUwviiyvKf8DXUl/6FxGct71kAGMZ9pauoZBBLJj5UpyFa+Wkq5VMiUO0dyA6AkleYyjz1hxMlREYlVtk4GVVr5Yd4dNRKcJtnFteHZJ7q6OF2W03qtTNqfvyEciyOPc2YNYPmb9HiWlyPd367Inis99vK9OnOLoMyL2h4NdjyCntjru94gc13P7C1QICQAV+9sORAHvKtPRhv9wL7+b+HxVo+CwYUvZIa2gMH2et+GeQBNRxkr/tFDIeDS5IHwuEge9nvYdnngehzkL3uL6516EPxgOlVwEH2sp//e1gBw2dulhD/fg84yF73VxO+fANHnzYHm73NPvWXOEzqU8LngG7HQfay38PKzwP6OMhe96s0Dzjf6w0UMYzw93XhXydLcxcdqRdt4P/I/ovKh4u3c9j8v9etoe2YQRf4b/cs26rjGHpI7U8879cFoL6Ll6Wtus0k73b0YBP+27zzfxQJBoPnK7xpd9u5LUEEkM8AgI0gC+T9gTgctA/rBq4Jm3AYvAyx74Gcbg74ADk5okAfLolBoDZJf4drM/R3hD5NNBzkianGazmTRq89xffhVscChrhqz0VxK+MKCdhA3l7RqFsVm2sfstp1OvH2WPegW0Ox1qoiilsZibviBfiP6aSmINbJADrE2/deYackusePwj6n2SNfRbXKYV9S9VIUHFGj4vqQxCXZvVBUNx0JD+iyVoobsKXU4wgrg8dkO5oD4j7NMtNXW0sAU7DfwlIM4ZKuKhAMQFBySj05xc8y9RmWYfnTh8//p/8bEGFMguTInVKoKLnWuOaeDzEUnkhFK2YJkckyN6uzKTuzP8dyLg/zOt+Kqf1arQFVa4JmaIGury11o143li2yVFvVtrTz7XrTtr72pI0MmMs5jhO7WjfkGoc5w+Jh1bBx2N5GSJdvZRvTnOA9UclTI7JYsmmfzuqWHmhILzSizIBxZLU9jnrEa7zJt9zjQT/3+2W2uGtw7V23149ebnsP9a4+2Cf7Yt/s+z3cn3fRnm9oy7d1e/boPrWfHh333tNxNp32c/Vy/PkN3Q13zf0/puFEEm2sCWQge9KRQzmZC7mV4YxMMZsNZ9TTPKtn6eycs/NyPg59Wl4+8uM++Yu8uW/yad/wG3nZb8zG/KEU7dCHzbbQqOU2ppb/T0d3LMPlhnEzufMyyzLtmb2ZE5mPPKViAa8xuyt7lXeP94T3nk+ZFfAlfAe+Lz+ar+E3BIuCXcFnARDMVAYCM4GNQClIFtQLZuc25XblrgkeCp4KPgiBcBWhrzBMOFEYK0zxBRA45ipQCuqE/vnnhyYQnNEqAPH6YanrX1yxwIVOw+OMCzn4Kfz463IbCBy+CtA6YjzOuMj7TOv5Ix+AdAdrOUZHl5fHxVWxzYeGxuWn3OcH434fyC9dqNPZdV70W+RSTHOP8/uTIOUqfvm64s9OhtVs97vjvSB9FXtHi8ZgMw2PR9/k5BUpinsmOLWTpaC2mQBJaGMipnrzOviQUzsP1THPfu5d3IZLQNIet1QaiOnGJosVelWAiovycB/TpdZgG6OPvJoR1BqcZ0goJAWCIckjX4P/9nGrGPxLC2Kn8e5ERIhHtSR3bUINSs0KDG3nq62GrDLliPsb2AauHh1hp+1JCdEU6+414Mp///+M+W87jBccehjWcB1aiapGQyqffZdy47mXIRLT1SqOV1Bqmedp/efZ+uSm1h+HMyL88IAA/VdK41vH8bEiF9Zrvty6RM/eB3LEh1Dlmr4s4ZTjk+PmWASWdLaf10FNG2CSV0C9hcfz1tBLAlQ+qO85MYvY5ftkVqtKXZ8haiZRE0Im5Czne0hP5Bt3/Xq8lFvP/kSX1usXpFuZ+KVOw7jP6ryAZ963PzYvfSu7QIjnKyj63L1d9vk5tC55Z7ehPeJDwCwSiQYYGnr/Ms2KDGq+eDVPXR5aR/MUESIyFfiRf3Xkv9Bk/sNrzwceD+OEbzrYre+kIXSc4lVoPLoxn14goxAonsJAf6j6zzs1R2+BZAiTTwie70CbWzr3+imYAdiRv/mC9yx59cMlhL/2Cbe15zdxWkFXA0II2qMaL8EEIkyDYiooAr23sgShnI4PD3FjBpUKx0Shz1F48kSlyPjT2O7eNK4nfYw/ocXzsh0zgd2A6ogPEaa+9xed72B8WsD3VwCVhJGwLReXCGsXhVeM7lqpXqlkJT0A9fL+Lj30AcQuGKof+f8Zehzudntdf2K3CGzaT3kKbXTw8nJGrnhvfW/zhsmZxdMj90gTqkmnfkD0WWdW4KR9bpABVSzQvn9yEQbQINvx0Qo5sz35TR3bKzbHdHATrmBnOCfwakXv46zAMDZn385ulOpg9uecLcpEV1X9BxzIS+HqdrPtOdep+/nGQEyzPYnC0jgVOlzv83QTxmqTNzqZoNXwmvXJ9nHK8MamunihfeQe1uR+e+UjE3y47RcNRI4j3fs+UMFrWPW74Zqhg15VRUL+7mUTcoNJfmg8xh2PabY+LEnyxEHZWfMe8I0dlCSbYeTC2BjOkVgR5ETsKTSX9MMTY4EFg1b9vp8+jDvndhNdDm42FUQ7Kc8Im+gJgagQN+zlOuj89O+HRJHCAUZN6kdD32HGsd69m6O3vFMMJcc5tG09fOmvjpBXXrzU7exooOiz61Ae8SHAXBz9p3za+9PGEjTD2J0Lhqfwa/SW4R8Kv/zVV5UfOE34Wz6I/Si3882VLAZEpQHfeeKDzmuPzsnkBY4g1ILd4s8znTOvQGg5/O+MvZ//XSPLgLufko35xi/A5rSOhRor6ZdSBAgugLYnoXoPU1AHvwOHrRX0DC2yvDdOMlZegKrc0Wy1bCg1H2XLFdsnlTdHBicilm3cmKEhzOWFKEhcwFjvRl18EI5BRKSfYqrKIaN6WfQjFQ3UHznCjBeELchmn8H8zy8EL1nHpOmEU7PQG4WZx+MdnGn5RJHEQlG9Eblxnha8J4pNgHaouiRFka7JfaiY3UmrfSWbe7xijp538Xmo2HhZngNWZowXXXAGdXeD3Hgxsb+5bUuJp5bSM4WgHbeUH0gwuoUFuPTTwQPaUzsZNgwxJRnBMZrJGgP1ZYLeiNlAluRA0JUe+Wrn82taiw/vsWmb5bkstdqrNAorLKN6SK8D2DEhmHQxqECk96zazn5yMBe18vTiD3NepdfYSEU51LkhbpN2rDwlthJhe3JC+QKZLcmi5Sc2xwX6sENow0Z9F8SDbsvl3NLYO79+6wyJueXgP2X/lKWncEV+DWLR0q4mbMA9FL/wnG5FW6IY8xFLycP6kSUUOyziZi2Tr0rYiwnh/ut7ramVdLjoKmFckUU3ZiGt1eInPUcpAkP2cOEpHZnzMtOYdoxM7nWWsBjt9s2skuJZXtayPx+5qBMBkychaZZe8zHMTKc0sKOvBqQWbtu0KByZGWrY4S07mZ/8NR/pSFq/7k1pJZ/9+/zWL6iuTmud5RI0Cqiz85YvDsTqx7YULlGDVYnFK4PexeKG4ckvSWPBTJPOdNppWQyyvCr3b2W8suChU8O6/losKrboXt/xjS3VIZLdgdkRHwKtw34IhAiECgsl0i0Le15BYFpWkWeVChkM9OSSNbKjdX9Lwai/CQsMvJ07DjWG17YpXD9ZHirLJDI+IbqYeIApUnkN33P7MJcq89iEmYNsenhviHGS+TqWJVz302q9P7S1X1fn823Vnmw+NzCa57rBGpQ0o4gA0r7AHdTHiOI4SZVGcbGhYAdjC/FcjrFbZiSS4IjoCkYqc+QalqhJDtDFhceDQtJP3L5dyLqQBUskiGn6N323aedVvb1HVBIvLOPtgtNwqByQQXwIdcL+6E168IWqPI3tW2+8lVzqkmdmc5Wi+HAJa9/6SA6BrJU+slhEibyDCq+Zr8aFBplYvz8c1zjHc+S7VCfX7df44OsFfit5FShD643DnvDeyUE1EVCZBDQa39M3ysHn3cGioM3Dhy1X6+ySL9HAQiS18hU68s4MSohMS375p9v9+e5wOMF22O0XhF688Iv9PVRgFXo4n5MHw3iiPCakoiobV4+obkKjbdYkfMz6Tmp60TTKL/+gXa/mi8MjQRhLdUez0wG4L6+YKyd2IxO8J30C99MdjyeiaOnYsSdHE0xsV1BGoLKjyWJmLSawlVIh4Hy6bc5xFD+3/zOHcQfTxXqovj3R8XHj/8MpYc/uwvaIDxF47xP8FRk+reX7S3MSMMJO+/gopcA8cp2IUknIcg09yIFafpGq9IBebeVbOhdsrHVRCkHM6qdkRE3d9kaUI1Xn+fJKa1DNozQcj96beojdog1FsD4+fzX+9Xf8Mh7htv1aoaczIWjZrI3+Z43RRX4+3/11dorXyoOCtdV9o8X6gc7JLV97fO+/OOvwgYCJGWUAHvlFs7adnXS45ER7Y1ZgbuuSV3Mn39Fb80X3a5uiajVfrx45dac5HjoGlla7E2eiuQ2V4VTul9fz3gw8FXHKwjqmQqia3BDF2o9a6bZwLGTLeLYEWdGsVrIqivpqYdzL7rtHXE88cL2VH/b+oib1YrNeb/aH3cImhYNhify9cC7OV4MH58YOWmjlMtGuly1PYSL58G6939G1iWEUG9uUZSMsgb23jUXmW3qdQWOUEJYrKy6oXGSk8ruJFz5QCViQ95O+8RUG+2R6dY83ShHE/VKZvo9G12I1CQKVc8ItA1KgV/lI3Dub8MRK293sm9QDrJs0XZ1l/5HQsmpcjNLERpAXtlXkJPyce6whJhLZs0XcOdDl7Qb1FNPMssK9UUZRy3JR1LO6XoVQuEajEv/pVpeiamNt8lm50I1tS0nMApIRvSCKea+kzgKJ8/O9p3HM7ITgat76kp/rBAS6UEbMCvsITkd8iNj80JG+pr71egxJ7ySvFX7FeHPndbth/0/FwIAnhSm9d0+DvfoxoTk57K4bCbRAukiOsAW9IHKoNV0wVn8Xebd95rPvOWybyRTWwlaJNj6bMrIlxa3AC5YlBL51jW80CnyVfMVbm2lJnf0etF9cCmrnPegptFc22razBfOWa20LOTTUaUVNEnlJkhaTHayPRIh289V08Cwk5MNhALdkNFpqaIZIrPtlZD9R82sz0DRAPOYHd4KJBNVL5+uTw26moBAxdOJXk8XNVprGq2fpTOEjppE2bWixsJAOkl3YkF1j0zNKLGXeUFmA88GtS3uhu34aC8rafGqmI7MeOjBoF2W/B3ZQY5+SSjnlrbm05lYKFz5rakDmErUMHQ6ORUCAqyKQ10/Qpe1hOyuaa7lxojAcnCUXmbs/RkafYN98nJhdsptsKjILqLw2uhGSel5f081JuX0EnKxoKvEUVvNIMod7nCzLeEEYF7K818k8fEi1JN8N2STXVLBMo20IsCcKkawNRT1fs7vRS1sCDvQuiARBVpqHwRUMTeBbH2N/cLerfbtnw/mz6eEQuv75SwzPoxRsz39hkACKBg8VOD6IoGAL3U8EroI691NBgIU321mNByFfjxAUxyrQH5OMfLTKhR24PP0PRp/aIKu/dgVQff3RZe/USPkui1zHGq/rMGhb0dnQvOteCKaC/XYzc5d5GDueNnA2Qa/zrFy5E1eK9fPxGJIv7sFXFYRYuD5mcM+B/52lT1xxYJKG0A4pogvL0/s6NevLyJ3bltjDfWwtCtqmLGOShJNc3uSbBGnSUSxVIy6Vbw5tVbaTBzAyi5DSEcnzMvJxPAUe8hLunAXEfBj7s/bYeXI3ur2NOpmKpwUdg5go3ij2l2UbZPTf0yVE1CkMPxi1THqF/vMckDtAbgBA1CPLDIixd5s60bqPnrURDpUqSF4UBzgODVWwTQAt6tqDUA5joK1lxSdBqA/13p4yvzAMPVEom5JQmliMFFPBgQaKYFkeJkIhVaowwTb+fwusNicbQVtnySjjfY1+WuB+rrhFu5lhFkFsMueU8GWJpTkVMSLj9r1nrt20JFlFQj2I/KGvtUn2ccTRVtz5vPaLw6wx9L+kG/HpNpgx18nV1eUQWHnDHlOwhTCJPMdDe5RyzeYL33V8kpMkDGNfHUZnNBp7oDIhc8XGxnDvWBy0p4U3waCbw5jsAo45JIpEzrtBFJ14Ti4Fx4cnymudPnLoYS9NwmhohhgHPWwMOsjKWKGvqC2cMZRh4b3bEWKk0+FEI4iUAlEs7IRgmSt372wsEoVbb0uWI0hMulQ3IOm6WUXiYSn6P2fBrQt7JJFA0hXcCSUZmy7qld2bAcdxops0HBn1FXYlP4InKPxc1D0ywbF+McFdf33bAT/rKD5oUoBJQf3WexQzAgFoK8s2E7jRAsYiNyJ6yoiphZfn3R7Kaiuk5/foASy0Uqtww+ZMaHEyH20xFXtEk9i2KoxCgelwC84ABSBygcA72Ufx/cZbygPAVzs0RBXxhHRUhbMszcho5NZX4drM6I3yLrZ+4k9JciJq+YEYD8g5eG2jCD2N30TvXIRImRXW2AAw86O7wEQ7gEqMLt82jK+vIS6EKOKId5Xk+5fmTdXUgTlDgkFdvMyUm0UzmipGSFO97Tnqw/nxu6KDAdhuVDDUJGHM2+z7zqX1O1p4mPzdS6/+9egIro2D33xZGf7v5se50qcW/pG67+vLTyDGBFUFxqcPvIW8G2b8xzfiMbyGmQG4S8c8Vo/GN+L1CbhC66/B9Sf31ScFkMuE8JHsXx4bN8b2iA+iVwOXg6NMVmEZRoC6rl8VKzkJPsbX1OZ7iecZcxh78myk9F47y0QbJcHriOMqTB3lBivziD/4L+o5l7izsdU7u7gIePzqEkhtSUlF60q8Ji3Fnh9UqY0GFuekDSBxkf19UMe5d2kjDgVvajrNEwBsc17aq9GbijXqzd22xR5tFjAv9fMHnnnPLWVzfOKUvrn67QNt4r3rbwZUfYJNl59H+LrMCChxAYob+sWMja8gcNMD5LjxIZxisXJdSUkMPdIZ3QQunx9jbmIKiwgjhKHWksVCt1Ulzy+lIhN7/dKXnbkn0nTFTUH2+oxhKjX43DcI9lU1lXbRq8qayCrvmlqneIsrJmnaKH2lixWfyabZ6Q2kcYE1tln2Z2IUDNwyjvMJSfCTH0+LGIiehmAFgMxqiUH8XTcK0946P97urnI4YjQSIZOSWE6UHZFqjqKKuAKz8bu13Tg3kdKwq05b6phC4QWwfJtdQLMP5a4iylApan2QGFq7zV2rxbhpuVW4akvbzf6OFXh8e6VSYX9iOJ63bWOyeTfNCs7d8KvywvWHE1qk2/P7puM6TpGiT0yEROyWyx6FYiQYl4/JZCifzOcHiTbxGKZXffczJjPVX9zmlH798rXwhqwobtil/BOCbftxGhzjuKpIdOT5ll7fZ+q3fsyzYgLx0EHrtwWh9kC118teYgzrEyiu6K5n4AV57VxN+1Dd7SosLxN1vh/o1+4yXkBh5xJj7dIGW/yiOxjY1uzmzowebjwBwxLQFFZxmy9ty1TR9NSem23j4VB3JI5s0eq/5XnpP+A4+/14T/r0aqISCCWYRH6j1Ps16ck1LHzw9cyY6dDLCfActdrb1Ai9AlA5hsaeSuhxCTmeO9FuZkgmBN+4M9dNnsC98D93x3+7Pj1SBcxTyjdpTfM5GDRzTZeDOsg1ALTWs1GvsaFATL14+XAM/a99F8VyoVrB9OSw6NrlZlFMIpVTrIT2cYKC6XiB0w7C1nLVVrmnIMXwMhJjRbWxwh6+Zc9SIwtsmQazoAWM8jkb03VdC6bC5jkrT3b2IO5/iC56bt5F8H0UJCXcz2OD1WYeT+ZtlX3bbj4KHX6wR366uS/B+ep7Fk3uG5zcdl3a6XP+5O2rTl/RdynHKRnB9vzxjycuecueL0IsCJMMZxaT1bV7RcbD6dRDW+jb9sy8NY3+YBSK9cTIOpmY0hE5E770PCKLcXZRn8d5yRjf8AIhSo8Y+w6SshYax7b7vOIjUHKgGGcwjCBflroJxWrBZ2WIxRT52hO+DmhuhhEYafSaFLzUoRbnJue1ZhQtb2YFayG/kOtrzUe7b1A4lhGr5KnvYV3hnMWHaeGMkw1aQWRKqRoBySVZM20/Uqzan4rEU86x04waSYJSZK2vJRNeSGRi8yQUOmSViXEfG0jRLZ9zmeFDChmR84mmKZyQxEdGVccHjJrYsX0SWTKSOy8nJhroDnkR2ALbJ/RUZrnV+b9YE6WBN3BP+VC+8hQAioN8BxeyzHutVGicKYedEyTJDM2n0+crg35zREisv9Vrb3Kh1TfxabsczmcIU/pCE3naWteHz9RrT9qPR/nfyqt35+fG+p9XHIffuvX/OSh1eEGsYcQow0TDIFQcjALem6vfIcIHdEloUeaC8xUlwBhloQv/TmcGt/eAJ4BntyAFsTQKAPhA4ypKJYyJ5YANfuuMRkWRdB8hsB9JFD/Ha+rf+sWI6VuxenewvPuB6QmMJY5BkR2+Oj7uTMDkeCoyOcBdi1SWWBMVi/t+3qYsmhXXFGlAT+GTA//5z5kxcagAtXcm/bP/dDrmxArxjvbE7NjbFS+c9EoN0gguCGGapKxSWOGDDtekY13r8Mn0TeNCTCDcXOO1Rq9L+ucYtRXDdBTF6NqY+hk/HsfVEXUW87DIGr4wGZaLPnSF61Gew4PRB7z3zW7LFyV/R9thOWTv/MpTqw/MVp0ntfhcNHhrRX4NiUIUKUQuohVjR+DrdwAVIsvhAuUzX2L/CYCjlqk/arDnP4tcbjs7wI4PanTnemftUQMFma+gX7eHJBy3wN4fKORL2YEYRPYX39ngbH813Ty+yGPjKB17Xb4yP83RdRLJ/Pfm4KrEaysjNz7RIgdsJq48tEQlf0o57ybN4SToHwwU49XjQCIScSIxWBpL8BR9XWao4Gja41WHupd7/6+xaT5mtcPAxIE4NGtcSH3c6uUtCwL2qKyoahVtaR2PqkepulZE28vqzV2H0+ngjLEYaGyVXpC/GnUhBLcodWyHV91hX5jueb53e7HEj9d8srGnSJFAeSsZ9h2YzP8xy8Ed9E7ml9XCjX6AyJTMC8+7RGUPkChbTFyEYM19zMFJgjzTiUf9PtOSZsn4+fnHcvvVN12u1bJ32lu0H2h3tQdV8M3YtaV4c3MeUP+/DlZHIVh/q/i86v7zNPTO7O/AuhK72TQVPzGmfAQPQFuDBxYwtqqAJQxXbxc1+klNWPYttj2b7WcTTEr+KlcuM5D6shrO3j83/TipswvZYm1k28yJI7NZISk90SYUVVuaqklJmgFFWmoILZe6QoZqlG6hQZ/CasxDUafwof43+kd09xf40+oySTqHEJ91DuE/IYAsYlzYd1d5aA2l/MC+jrXzKC6mU2h+wyKtcC1E5i5CCcmxfzKsrjiuPYD5Y41h92S8f0+PcTzOku5iTMqefPxYSboXjxvSPY0ulx3u9ricvjbcrhyY15qb5+wfwxn/B+pBTwxxOcR7xLTfzUeg2z3tKcKKsCfU0gXd7Jzx4gBbLrmuSkzMDy3PwlcUcP78L3DhDbhBRWQU3vT/jbPi+W76CqD7/+66fWUNRUFXRPb8H/u5ARVfef8ydtMXwfKJXz/xhcxnqt02D/jfmUohRM637dv9SCimumbaRk3XKUwGVdr4l+4F8SdmjXlEwokcdTBe9GzbqoH1tG2o3zRizD77Soarp0jpAiOqjXFUrV2GhUbYdRUaK2lnL6KmafRNa6vDyp4LSXB83arwzH0CnvubV8/2IE4r//YiyIJJZAsfJ0aWIl8ESBbSaAlOyFqfgIqGYshyMatGk1lXcFwkIRgQwi2HTAiZ50fCa+xF8prrzK3Z12MyGk+Ghu6naTjut68NPz+vnpUsuWXVVhRLwWsVuOi377cSWy6C92+CV8NBdzatNkrSwpHjfdd5lrnZeJUsqrxxjSTMOLFEDFdIqp1UIWFGI7hiVakEkDFWjJvGpdnkKDK7nimhYg2MZDadyAcKALyv7Kus2Yd51y5f00m44zkSSa5aFcFIO1n3mVgnRAWfGDqPANoLo0s7fRVgYGbqkl/pnuMJEMAtt/fo8Fh5op7nbzjFvgTwwQ+tBwGAzz55vqUPOoFdHggAHwYAAb+6f8BNBtCoLNZOp/dPtUPM3uBdT1nDnbtg41N52Acd3U98JpzcwgdofKBwMSQb8V0g/N2HoBjKBkZ+iMIGfhuvwhDsMQn7GJmjZwZydQ1+1ymqF/Rb8hzLPEyvCrjO+fzJoCIHtsh1uvkcG6+pW0mzk1FRrUPm3fXMbtaAA6t+hnOeZH3RNHiZxs/b3DzlZSj4exrL0kLJs04xpN1co6N9zzaKvIE9niKP7o9F9Ry3vCM973LJQd3ifa0XYlR5eESJMG9yjBe3gl6tRpRROrkUOwTvgigKvLrKNNRAvlGUN8ssQJZJLjUD9yxGnMuscsnXb4h9kV1+H83mAcLc55jfyB1qYPu4sZ24m4NHYqi2Rfh2GL9OvMBTMNcXODhG5gJPPdyLj9RtjsGfG3O9ykMHiyAEbCGb3EZkANMQag/7SJAVM8xskRQg6zFu1Igu9C7cgjwxfKLGWCdx2gnZZRD54f4ps1zjlgqsw8IzRfDV47fVPKoZ93yLyDPI1oxpG8S2rnDJx9ztIg6M2HuBtHyyinVxkOYblvmpp1oIy7uY7U73KKOMsslyHFIPT2xFFuBeDVF+tu8anZVkOUiSaU5tGAvQ0RCuQgU8gRKogWbIgVbo6Lj6R0rNPFOFWypxTRKzMDDPft4hY5tWVCuA7zYxBPhJLJow1GVumJROaEsGhsjWdd98d0HYmbwLhpP6LhSOPu9CJfJgFxq1Jp0+6szYmUPBfpQAcRZoMtsBcdJpuIuHPlz3u4sHFiqUJ81E6fJlSxABaXrpIDVZuhQyZdHM0k1YpIQ7u8oSqYplK9JUCVspzpbHViH1zEhxpCDhIvdMuWRz3EaUdJmS05OsmNooLp1toQIEZ7Yc2HPiIVMGjcpt2SVi2Y8Dbmx/2k5spUlXxpW1TPYcuUnnwE2G+KorIWqqSEylK9+PvUebtUKt2vDfnmJdpWKXWhMc2XOgQIh2Ib1OQ7pqIVUoZ2ik3mf8lLprFHrxJgkypyUa2Sq7VArbxXSh/AxxR8/c0ukyHCSH4ah2FWNBuWErmGkvO2s5uv9+AlRdCcYlKXZLtUezMaTSWHpJJt1lV11jhWRN7robbrq1XUnGQcZ6E3pHpnsW27vZyVvOG5m00uqW5T437rdiT695CVDIPXCOAvlaBbZdHuyVEEWuxKZuE3Lh4XpolCkfhVIRo25/cntOUCFKpWo1qmxUa5+J3ok2idock01Rp0Gj+o1SLtsbR8WPJr6EOO2MddbjbciibGfy95YJkeM+++JrcIlIVGJQEpcEo+gxJbYT1SYSbc6ZRRcdl0/K0NdpPyUWtgRJvPk674IuBxx0yHY7nHQKDdNoOmabaZ655ps2PUmT6IXpTmCkixlaxoXjvRGHEcyZWSpZO7/xwBNIpVQJTvBCEKKQhCwUoQqNhfwt8EC/hx4ZCCHLZsy0tM/tWthVmBZn+zqysYi3YEFvWipXaPK6W7pn1ERL+tLI5rJSq453yjsUI3KpRon9WaS5cKTqGOhiHSe+R8xHYEts5nHjRWeeOl0k/49zIE+QlctUjz5VViHV8pNqCv8TPdKVfE97YVvHOkmUfEzOO9XjWArnp7OdqjJl6Zy+PuQo7OTMcEln3/xTr6u6Tcg1sUtuhSNWAA==) format('woff2');
}

/* ansatz.photo: handmade, 2003-with-taste. No frameworks, no CDN, no analytics.
   v2: Positiv/Negativ/Safelight modes, true-ish 135 geometry, edge-print type, artefacts. */

/* ---------- palettes ----------
   POSITIV (default): matte RC print on warm paper. Prints are clean.
   NEGATIV: a C-41 strip glowing on a light table in a dark room 
            orange mask base, pale inverted-cyan text, bright perforations.
   SAFELIGHT: the darkroom. Red on black. Unchanged in spirit. */

:root {
  --paper: #EDE5D3;            /* page paper (positiv) */
  --ink: #26201A;
  --sepia: #7A5C3D;
  --red: #FF3B00;
  --film: #241f1c;             /* strip base */
  --film-edge: #16110d;        /* page background behind the strip */
  --frame-bg: #F4EEDF;         /* the print surface */
  --frame-ink: #26201A;
  --edge-text: #D9A648;        /* KODAK-ish edge print orange-cream */
  --hole: #EDE5D3;             /* perforation color (light through the holes) */
  --accent: #7A5C3D;           /* borders, rules */
  --smalltone: #7A5C3D;
  --grain-opacity: 0.045;
  --leak-opacity: 0.10;
}

body.negativ {
  --paper: #FFE9C4;
  --ink: #B8E0EE;
  --sepia: #C46A2B;
  --film: #3A1F0C;             /* the orange mask, backlit */
  --film-edge: #0C0805;        /* dark room around the light table */
  --frame-bg: #241105;         /* dense negative frame */
  --frame-ink: #B8E0EE;        /* inverted sky/skin cyan */
  --edge-text: #E8A33D;
  --hole: #FFE9C4;             /* backlight through the perforations */
  --accent: #C46A2B;
  --smalltone: #8FB8C6;
  --grain-opacity: 0.09;
  --leak-opacity: 0.28;
}

body.safelight {
  --paper: #000000;
  --ink: #FF3B00;
  --sepia: #B32900;
  --film: #000000;
  --film-edge: #000000;
  --frame-bg: #0a0000;
  --frame-ink: #FF3B00;
  --edge-text: #8A1500;
  --hole: #1c0500;
  --accent: #3d0d00;
  --smalltone: #b32900;
  --grain-opacity: 0.05;
  --leak-opacity: 0;
}
body.safelight img, body.safelight svg { filter: none; }
body.safelight a { color: #FF3B00; }
body.safelight .frame { border-color: #3d0d00; box-shadow: none; }

* { box-sizing: border-box; margin: 0; padding: 0; }

html, body { height: 100%; }

body {
  background: var(--film-edge);
  color: var(--frame-ink);
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  font-size: 13.5px;
  line-height: 1.6;
  transition: background 0.4s;
}

a { color: var(--sepia); }
a:hover { color: var(--red); }
body.negativ a { color: #9FD5E8; }
body.negativ a:hover { color: var(--edge-text); }

/* ---------- edge-print typography ----------
   The KODAK rebate lettering: wide bold condensed caps, generous tracking,
   slightly squashed. This is the site's voice. */
.edgeprint,
h1, h2,
.topbar .logo b,
.topbar button,
.modeswitch button,
.edge-marking span,
.badge88, .store-badge, .cta, .frameind {
  font-family: 'Oswald', "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
h1, h2 { display: inline-block; }

/* halation: bright lettering blooms on the negative */
body.negativ h1,
body.negativ h2,
body.negativ .edge-marking span,
body.negativ .cta {
  text-shadow: 0 0 14px rgba(232, 163, 61, 0.35), 0 0 3px rgba(232, 163, 61, 0.25);
}

/* ---------- language toggle ---------- */
.de { display: none; }
body.lang-de .de { display: revert; }
body.lang-de .en { display: none; }
span.de, body.lang-de span.de { display: none; }
body.lang-de span.de { display: inline; }
body.lang-de span.en { display: none; }

/* ---------- top bar ---------- */
.topbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 6px 12px;
  background: var(--film);
  color: var(--edge-text);
  border-bottom: 1px solid #000;
  font-size: 12px;
}
.topbar .logo { display: flex; align-items: center; gap: 8px; color: var(--edge-text); text-decoration: none; }
.topbar .logo b { font-size: 15px; letter-spacing: 0.25em; }
.topbar .logo span { font-family: Verdana, Geneva, sans-serif; text-transform: none; letter-spacing: 0.5px; font-size: 11px; }
.topbar .spacer { flex: 1; }
.topbar button {
  font-size: 11px;
  background: transparent;
  color: var(--edge-text);
  border: 1px solid var(--edge-text);
  padding: 3px 8px;
  cursor: pointer;
}
.topbar button:hover { color: var(--red); border-color: var(--red); }

/* the three-state mode switch: Positiv / Negativ / Safelight */
.modeswitch { display: flex; }
.modeswitch button { border-right-width: 0; }
.modeswitch button:last-child { border-right-width: 1px; }
.modeswitch button.on { background: var(--edge-text); color: var(--film); }
body.safelight .modeswitch button.on { background: var(--red); color: #000; border-color: var(--red); }

/* ---------- the roll ---------- */
.roll-wrap {
  min-height: 100vh;
  padding-top: 56px;
  padding-bottom: 24px;
  display: flex;
  align-items: center;
  overflow: visible;
}
.roll {
  display: flex;
  align-items: stretch;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: auto;
  width: 100%;
  /* one fixed strip height: every frame is exactly as tall as every other,
     like on real film. Content fits the frame, never the other way round. */
  height: 720px;
  background: var(--film-edge);
  scrollbar-width: none;          /* Firefox */
  -ms-overflow-style: none;       /* alte Edge */
}
.roll::-webkit-scrollbar { width: 0; height: 0; display: none; }
html, body { scrollbar-width: none; }
html::-webkit-scrollbar, body::-webkit-scrollbar { width: 0; height: 0; display: none; }
.seg, .leader, .tail { height: 100%; }

/* film leader + tail: film too, so they carry the same perforations */
.leader, .tail {
  flex: 0 0 auto;
  background: var(--film);
  color: var(--edge-text);
  display: flex;
  flex-direction: column;
  min-width: 340px;
}
.leader-body, .tail-body {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 38px;
}
.tail-body { align-items: center; }
.leader {
  /* Der Anschnitt sitzt links; rechts stoesst der Vorspann bündig an das
     erste Bild, damit die Rolle durchlaeuft statt abzureissen. */
  clip-path: polygon(0 0, 100% 0, 100% 100%, 22% 100%, 0 62%);
  margin-right: -1px;
}
.leader h1 { font-size: 46px; letter-spacing: 0.18em; margin-bottom: 8px; }
.leader .tagline { font-size: 15px; max-width: 280px; margin-bottom: 6px; }
.leader .warm { font-size: 12px; max-width: 270px; font-family: Verdana, Geneva, sans-serif; text-transform: none; letter-spacing: 0.2px; font-size: 11.5px; margin-bottom: 14px; opacity: 0.9; }
.tail { min-width: 220px; font-size: 12px; }

.cta {
  display: inline-block;
  font-size: 13px;
  background: var(--edge-text);
  color: var(--film);
  border: none;
  padding: 9px 16px;
  cursor: pointer;
  margin-bottom: 14px;
  align-self: flex-start;
}
.cta:hover { background: var(--red); color: #000; }

/* ---------- a strip segment ----------
   135 geometry at 16 px/mm:
   frame pitch 38 mm → 608 px per segment, 8 perforations per frame,
   perf pitch 4.75 mm → 76 px, perf (KS-1870) 2.79 × 1.98 mm → 45 × 32 px,
   corner radius 0.5 mm → 8 px. Perfs run in TWO rows, top and bottom;
   the edge print lives in the rebate between perfs and frame. */
.seg {
  flex: 0 0 auto;
  width: 608px;
  background: var(--film);
  display: flex;
  flex-direction: column;
  position: relative;
}
body.negativ .seg { background-image: linear-gradient(180deg, #452510 0%, #2E1A0D 55%, #452510 100%); }

.sprockets {
  height: 48px;
  flex: 0 0 48px;
  background: var(--hole);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='76' height='48'%3E%3Crect x='15.5' y='8' width='45' height='32' rx='8' fill='%23fff'/%3E%3C/svg%3E");
  -webkit-mask-repeat: repeat-x;
  -webkit-mask-position: var(--perfshift, 0px) center;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='76' height='48'%3E%3Crect x='15.5' y='8' width='45' height='32' rx='8' fill='%23fff'/%3E%3C/svg%3E");
  mask-repeat: repeat-x;
  mask-position: var(--perfshift, 0px) center;
}
/* browsers without mask support get the old dots rather than a solid bar */
@supports not ((mask-repeat: repeat-x) or (-webkit-mask-repeat: repeat-x)) {
  .sprockets {
    background: transparent;
    background-image: radial-gradient(circle at 38px 50%, var(--hole) 12px, transparent 13px);
    background-size: 76px 100%;
    background-repeat: repeat-x;
  }
}

.edge-marking {
  font-size: 10px;
  color: var(--edge-text);
  padding: 1px 18px 3px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.edge-marking span { font-size: 10px; letter-spacing: 0.3em; }

/* DX barcode dashes, decorative rebate detail */
.dx {
  display: inline-block;
  width: 52px; height: 7px;
  background-image: repeating-linear-gradient(90deg,
    currentColor 0 3px, transparent 3px 5px,
    currentColor 5px 6px, transparent 6px 11px,
    currentColor 11px 15px, transparent 15px 17px);
  opacity: 0.75;
}

.frame {
  flex: 1;
  margin: 0 18px;
  background: var(--frame-bg);
  color: var(--frame-ink);
  border: 2px solid #000;
  box-shadow: inset 0 0 0 1px var(--accent);
  padding: 26px 30px;          /* identical in every mode: colors may change, metrics never */
  overflow: hidden;            /* frames are prints, prints do not scroll */
  min-height: 0;
  position: relative;
}
/* POSITIV: the frame is a print, matte surface with a white border.
   Border lives in box-shadow only, so it cannot shift layout. */
body:not(.negativ):not(.safelight) .frame {
  box-shadow: inset 0 0 0 8px #FBF6EA, inset 0 0 0 9px var(--accent);
}
body.negativ .frame { border-color: #120800; box-shadow: inset 0 0 0 1px #5A3212, inset 0 0 40px rgba(0,0,0,0.55); }

.frame h2 {
  font-size: 18px;
  border-bottom: 1px solid var(--accent);
  padding-bottom: 6px;
  margin-bottom: 10px;
  color: var(--sepia);
}
body.negativ .frame h2 { color: var(--edge-text); }
body.safelight .frame h2 { color: #FF3B00; }
.frame p { margin-bottom: 9px; }
.frame ul { margin: 0 0 9px 20px; }
.frame li { margin-bottom: 4px; }
.small { font-size: 12px; color: var(--smalltone); }

.why-box {
  border: 1px dashed var(--accent);
  padding: 8px 10px;
  font-size: 12.5px;
  font-variant-numeric: tabular-nums;
  margin: 8px 0;
  white-space: pre-line;
}
body.negativ .why-box { box-shadow: 0 0 18px rgba(196, 106, 43, 0.12) inset; }

/* pricing table */
table.pricing { width: 100%; border-collapse: collapse; font-size: 13px; margin-bottom: 8px; }
table.pricing th, table.pricing td { border: 1px solid var(--accent); padding: 4px 6px; text-align: left; }
table.pricing th { background: var(--accent); color: var(--frame-bg); }
body.safelight table.pricing th { background: #3d0d00; color: #FF3B00; }

/* FAQ (now the carton's leaflet panel): one answer at a time, geometry constant. */
.faq-q { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; }
.faq-q button {
  text-align: left;
  font-family: Verdana, Geneva, sans-serif;
  font-size: 10.5px;
  font-weight: bold;
  background: transparent;
  color: inherit;
  border: 1px solid var(--accent);
  padding: 4px 7px;
  cursor: pointer;
  text-transform: none;
  letter-spacing: normal;
}
.faq-q button.on { background: var(--accent); color: var(--frame-bg); }
body.safelight .faq-q button.on { background: #3d0d00; color: #FF3B00; }
.faq-a { height: 250px; overflow: hidden; border-top: 1px solid var(--accent); padding-top: 8px; }
.faq-answer { display: none; }
.faq-answer.active { display: block; }
.faq-answer p { font-size: 11.5px; line-height: 1.45; margin-bottom: 7px; }

/* ---------- the carton ----------
   Price and notes are printed on the box, like on real film. Unfolded flat:
   front | contents | leaflet, dashed fold lines between the panels. */
.carton {
  flex: 0 0 auto;
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0 70px 0 60px;
}
.box {
  display: flex;
  align-items: stretch;
  background: var(--frame-bg);
  color: var(--frame-ink);
  border: 2px solid #000;
  box-shadow: inset 0 0 0 1px var(--accent);
}
body.negativ .box {
  background: #1E1207;
  color: #B8E0EE;
  box-shadow: inset 0 0 0 1px #5A3212, inset 0 0 40px rgba(0,0,0,0.5);
}
.panel { height: 480px; padding: 22px 20px; position: relative; }
.panel + .panel { border-left: 2px dashed var(--accent); }
.panel h3 {
  font-family: 'Oswald', "Arial Narrow", Arial, sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: 14px;
  color: var(--sepia);
  border-bottom: 1px solid var(--accent);
  padding-bottom: 6px;
  margin-bottom: 10px;
}
body.negativ .panel h3 { color: var(--edge-text); }
body.safelight .panel h3 { color: #FF3B00; }

.panel.front { width: 250px; display: flex; flex-direction: column; align-items: flex-start; }
.panel.side { width: 330px; }
.panel.back { width: 330px; }

.front .brandrow { display: flex; align-items: baseline; gap: 10px; margin-top: 8px; }
.front .brandrow b {
  font-size: 30px;
  letter-spacing: 0.22em;
}
.front .f135 {
  border: 2px solid currentColor;
  font-size: 13px;
  padding: 1px 6px;
  font-weight: 700;
}
.front .speed {
  font-family: 'Oswald', "Arial Narrow", Arial, sans-serif;
  font-weight: 700;
  font-size: 96px;
  line-height: 1;
  letter-spacing: 0.02em;
  color: var(--sepia);
  margin: 12px 0 14px;
}
body.negativ .front .speed { color: var(--edge-text); }
body.safelight .front .speed { color: #FF3B00; }
.boxline { font-size: 13px; letter-spacing: 0.2em; font-weight: 700;
  font-family: 'Oswald', "Arial Narrow", Arial, sans-serif;
  text-transform: uppercase; margin-bottom: 8px; }
.boxline.dim { font-size: 10px; opacity: 0.75; }
.boxcodes { margin-top: auto; display: flex; flex-direction: column; gap: 8px; }
.barcode {
  display: inline-block;
  width: 130px; height: 30px;
  background-image: repeating-linear-gradient(90deg,
    currentColor 0 2px, transparent 2px 4px,
    currentColor 4px 5px, transparent 5px 9px,
    currentColor 9px 12px, transparent 12px 14px,
    currentColor 14px 15px, transparent 15px 19px);
  opacity: 0.85;
}

/* the shop price sticker, slightly askew like a real one */
.sticker {
  position: absolute;
  top: 58px; right: 10px;
  transform: rotate(-9deg);
  width: 92px; height: 92px;
  border-radius: 50%;
  background: #F2C94C;
  color: #26201A;
  border: 2px solid #26201A;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  box-shadow: 1px 2px 4px rgba(0,0,0,0.35);
  z-index: 4;
}
.sticker b {
  font-family: 'Oswald', "Arial Narrow", Arial, sans-serif;
  font-size: 21px;
  letter-spacing: 0.02em;
}
.sticker span { font-size: 10px; text-transform: uppercase; letter-spacing: 0.1em; }
body.safelight .sticker { background: #000; color: #FF3B00; border-color: #FF3B00; box-shadow: none; }

/* 2003 relics, restrained */
.badge88 {
  display: inline-block;
  width: 88px; height: 31px;
  border: 1px solid var(--accent);
  font-size: 8px;
  letter-spacing: 0.08em;
  text-align: center;
  line-height: 1.3;
  padding-top: 3px;
  vertical-align: middle;
  background: var(--frame-bg);
}
.underc { font-size: 11px; color: var(--smalltone); }
.blink-dot { animation: blinkdot 1.4s steps(1) infinite; color: var(--red); }
@keyframes blinkdot { 50% { opacity: 0; } }

.store-badge {
  display: inline-block;
  border: 2px solid var(--frame-ink);
  padding: 6px 12px;
  font-size: 11px;
  margin: 4px 6px 4px 0;
}

.scrollhint {
  position: fixed;
  bottom: 8px; right: 14px;
  font-size: 11px;
  color: var(--edge-text);
  letter-spacing: 2px;
  z-index: 10;
}
.frameind {
  position: fixed;
  bottom: 8px; left: 14px;
  font-size: 10px;
  color: var(--edge-text);
  z-index: 10;
}

/* ---------- artefacts: reward looking closely, don't shout ---------- */

/* grain + two dust specks, per frame only: perforations are punched voids,
   nothing may render across them */
.frame::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  opacity: var(--grain-opacity);
  mix-blend-mode: overlay;
  background-image:
    radial-gradient(circle at 82% 12%, rgba(20,10,0,0.9) 0.7px, transparent 1.9px),
    radial-gradient(circle at 11% 79%, rgba(20,10,0,0.8) 0.5px, transparent 1.5px),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}


/* light leak bleeding into a corner, classic, stronger on the negative */
.leak .frame::after {
  content: "";
  position: absolute;
  top: -10%; right: -8%;
  width: 55%; height: 70%;
  pointer-events: none;
  background: radial-gradient(ellipse at top right,
    rgba(255, 92, 26, 0.85) 0%, rgba(255, 59, 0, 0.35) 35%, transparent 70%);
  opacity: var(--leak-opacity);
  mix-blend-mode: screen;
}
body:not(.negativ):not(.safelight) .leak .frame::after { mix-blend-mode: multiply; }

/* one lazy lab cut */
.miscut { transform: rotate(0.4deg) translateY(4px); }



/* ---------- mobile: ONE continuous vertical roll, like a developed film
   hanging to dry. The strip is rotated 90°: perforation columns run down
   the left and right edges, the rebate edge print reads sideways, the
   leader tongue hangs at the top, tail and carton at the bottom.
   Perf tile on mobile: 20 × 32 px (perf 13 × 19, r 3) — the KS hole is
   now taller than wide because the film is rotated. Segment heights are
   exact multiples of the 32 px pitch so the perforation rhythm never
   breaks across a joint: leader 384 (12), frame segs 608 (19), tail 192 (6). */
@media (max-width: 760px) {
  html, body { overflow-x: hidden; }

  .topbar { gap: 6px; padding: 6px 8px; }
  .topbar .logo span.en, .topbar .logo span.de { display: none; }   /* subtitle goes, the mark stays; beats the lang-toggle rules */
  .topbar button { font-size: 10px; padding: 3px 5px; letter-spacing: 0.08em; }

  body { font-size: 13px; }

  .roll-wrap { height: auto; padding: 44px 0 0; overflow: visible; display: block; }
  .roll {
    flex-direction: column;
    overflow: visible;
    height: auto;
    width: 100%;
    background: var(--film);
  }

  /* a segment turns sideways: [perfs][rebate][frame][rebate][perfs] */
  .seg {
    width: 100%;
    height: 608px;
    flex-direction: row;
    border: none;
  }
  body.negativ .seg { background-image: linear-gradient(90deg, #452510 0%, #2E1A0D 55%, #452510 100%); }

  .sprockets {
    height: auto;
    width: 20px;
    flex: 0 0 20px;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='32'%3E%3Crect x='3.5' y='6.5' width='13' height='19' rx='3' fill='%23fff'/%3E%3C/svg%3E");
    -webkit-mask-repeat: repeat-y;
    -webkit-mask-position: center top;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='32'%3E%3Crect x='3.5' y='6.5' width='13' height='19' rx='3' fill='%23fff'/%3E%3C/svg%3E");
    mask-repeat: repeat-y;
    mask-position: center top;
  }
  @supports not ((mask-repeat: repeat-y) or (-webkit-mask-repeat: repeat-y)) {
    .sprockets {
      background: transparent;
      background-image: radial-gradient(circle at 50% 16px, var(--hole) 6px, transparent 7px);
      background-size: 100% 32px;
      background-repeat: repeat-y;
    }
  }

  /* the rebate: edge print reads along the strip, i.e. vertically now */
  .edge-marking {
    writing-mode: vertical-rl;
    width: 18px;
    height: auto;
    padding: 14px 2px;
    flex: 0 0 18px;
    justify-content: space-between;
    align-items: center;
  }
  .edge-marking .dx { width: 7px; height: 52px;
    background-image: repeating-linear-gradient(180deg,
      currentColor 0 3px, transparent 3px 5px,
      currentColor 5px 6px, transparent 6px 11px,
      currentColor 11px 15px, transparent 15px 17px); }

  .frame {
    flex: 1 1 auto;
    min-width: 0;
    height: auto;          /* stretches to the segment's 608px */
    margin: 0;
    padding: 16px 14px;
  }

  /* leader: the tongue at the top, cut at an angle through the perf area,
     content sits low like writing on the base of the tongue */
  .leader {
    min-width: 0;
    height: 384px;
    flex-direction: row;
    clip-path: polygon(0 0, 44% 0, 100% 30%, 100% 100%, 0 100%);
  }
  .leader h1 { font-size: 34px; }
  .leader-body { padding: 20px 18px 26px; justify-content: flex-end; }

  .tail {
    min-width: 0;
    height: 192px;
    flex-direction: row;
    padding: 0;
  }
  .tail-body { padding: 12px 18px; }

  .scrollhint, .frameind { display: none; }
  .miscut { transform: none; }   /* the rotated seg pushed past 100% width: that was the overscroll */

  /* the carton stacks below the strip's end */
  .carton { height: auto; padding: 26px 12px 40px; }
  .box { flex-direction: column; width: 100%; }
  .panel { width: 100% !important; height: auto; }
  .panel.front { height: 340px; }
  .panel.side { height: 470px; }
  .panel.back { height: 480px; }
  .panel + .panel { border-left: none; border-top: 2px dashed var(--accent); }
  .sticker { right: 10px; }
  .faq-a { height: 260px; }
}

/* short desktop windows: shrink type a little instead of letting frames overflow */
@media (min-width: 761px) and (max-height: 760px) {
  body { font-size: 13px; }
  .frame h2 { font-size: 16px; }
  .why-box, .faq-answer p, .faq-q button, table.pricing { font-size: 12px; }
  .frame { padding: 18px 22px; }
}
