/* Schriften lokal (DSGVO): Dateien liegen in /fonts */
@font-face { font-family: "Bricolage Grotesque"; font-style: normal; font-weight: 200 800; font-display: swap; src: url("/fonts/bricolage-grotesque.woff") format("woff"); }
@font-face { font-family: "Instrument Sans"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("/fonts/instrument-sans.woff") format("woff"); }
@font-face { font-family: "DM Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/dm-mono-400.woff") format("woff"); }
@font-face { font-family: "DM Mono"; font-style: normal; font-weight: 500; font-display: swap; src: url("/fonts/dm-mono-500.woff") format("woff"); }

/* Layout: ruhige Editorial-Seite auf Warmgrau-Papier, Kobaltblau als einzige laute Farbe, Hero mit Redaktionsplan-Wochenraster als Leitmotiv */
:root {
  color-scheme: light;
  --bg: #F5F3EE;
  --surface: #FBFAF7;
  --fg: #141F28;
  --muted: #566069;
  --line: #D8D3C6;
  --primary: #141F28;
  --on-primary: #F5F3EE;
  --tint: #E7E3D8;
  --logo: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAC2CAQAAADjePQxAABarElEQVR42u2dd5zU1NrHv+cks/SOFEWqCoIK9oLYsYJYsDcsKHa96r2vvbdrL9eOqNfeGyooFlAs2BtVEERBeofdSXLeP3I2m2QyszOzmV3g5slHP+zuzMmpz3nq7xH8H51xiIcUKeZwO8sRKBJKKKGE1nL6HhXrM5O2gEwmNqGEElrbyaQCB4WIpTUHSXki+yWUUELrCgMUyNgYIMjYWkoooYQSKjElqmpCCSWUMMCEEkoooYQBJpRQQgklDDChhBJKKGGACSWUUEIJA0wooYQSShhgQgkllFDCABNKKKGEEgaYUEIJJZQwwIQSSiihhAEmlFBCCSUMMKGEEkooYYAJJZRQQgkDTCihhBJKGGBCCSWUUMIAE0oooYQSBphQQgkllDDAhBJKKKGEASaUUEIJJQwwoYQSSihhgAkllFBCxFMVLqGEyKjlp7L+haTsaUIJA0xo/SJVxF8SSihRgRNKKKGEEgkwoXX3EjyDrUl7l6FFfZ5iHGVUsAMn+z7pYDCNh1iBSCTDhNYPmoDCQcXy2Cim0iaRLFmXbH8mYzJW8jygEXBKxl9+om2yvgklEmBC6w8tJY3l7YUKyliNa/1bQxpQ2hViY7AIJ5mwhBIGmND6QwYphLcXFClPwpOkfAxQYiQ7JiESJ0hCCSWUUMIAE0oooYQSBphQQgkllDDAhBJKKCESJ0hCrDN5IArH8+66QVGVf3F8ThAHmcT/JZQwwITWt10gKPN+KkP4vMAypC8kOyahhAEmtF7RXOazwhcH2IrlgAOs4A8t+QHY1OcvLRMmlBDrQybABLbzVJyakoNkGn2Zh4wpXFbGrHQJFHay7CFqSSPfrCjKWMBKBIoGtAitx5okFDqhRAKsrd5ZyWGrBVrEooirRyFZzepkehJKGGBdyKYSi850xY5JPnVzHBbxQyIDRqIBSgQCgSKtFWAFCJ0LUuUaSdTfhBIGWPIjqbA5lkvZLEYGaFOfzzgoRjQTUWuoeaJkCH1Ct1p1LbT1/i1ZQkXoswkSTEJ1yRfWewYocVC05m6OJBVryw6S+pQGSNTAKSljUAHZOJ53ufJeZUtbsTPd2IZGtPQMD4I1LGUOv/AVPzJHf1ZqCTGhhAlRywFbMb997WOAJhaSw7idToAda6i2g6jm4AoUjbiCnVhd7ZsFy/mVqUxgDkuxdd/z2z6XcDBL8559wTImMYev+Z1lrMFG5PUuqoFAcKP8WrA5RzOANjTMIWtXsIYpvMPbTGK579vVUQPupitWDaR4h0Ycx2yGcTxLarxjLVpxDt9gYAMGNltwE/VwIsH/DZYylCUxHDsDmx24ATtLmQGTmVxQtG4iUDxGZ9K+tiVHsqQGPT6VY6kIaB4p/uZKphfl4jSw2ZIbAzOdZgOu5d2MvSxxaMt1bEK57xQq6jOam4ucIYnDeRwcmCFg7cIDFBhAFx72QnNVrI+F4gsaR27BKhWvGR8X2O53XMnOAKSqPeju358tcgSLeIvz2EHj+Mka3OKubN2LS5gamiMLO/BY2IFPfMkQNs1rtAJozJQYVq47cF9s+2B/wNDHEvbAqubTIgYjjMTg+pzvmUGLHDszd9uCrSnPaPF0ZA16fkdkLx8ghVlEqwawZ2gnKRTDIEPPk0AXJmddO1nUBQSPZ7Yn1yrVV2FzOO9wOg4qlm1XHFVoZpnv04frGM8T7Ec6z5CiNIqKIo5uCwZwD5/yBPtiefF5xcx0mq25jw/5N5votis3ioEMPIZ+S2UfdmAEo7iKbnmOtryGV6yle2cVOWfBpzxDcnVy9NBBcYZvdmpi1mnOMVpIiH5PeY2U0tMpC4zBQXFyjQwVVsasONicxt5F6x7hmS7PEZTm/tUKvR/uzCnAVH/qnLWTAQrAoSn38iw9SNfo5orHNlbI42DhcBIvcydNUHmwJVHko3BIY3IiL/MiXYpgge5MN+Em3uQc2mgmls9lUzXaNF24lne4jLI8LioRwxNfS1G9zf5JiWAvuhV95PwW3D3ohsIooF/5rqhDG/pFjGQreue1G/NdOYkgxb00LzpyuJAxR62GQw8uw9HyewznWq4ldj8FHMBnnEsZdsyuj9qQXU0EaRpzIZ/Qs+gFyi84KAWkacIRfM6hBb7LDSs/kM+4lA6kcfJQ2jPbSOFgsRk3MpZ+qPUcVKMJJ9V4hArBabElHGSenv3oEWLSAkV9TvKU/fgclJtyUY0vhJoISmezK1Zco5JrAfMwsGjL7YxkCxxUyZhHqZfGZQtb8wI9Y3beRL1LYdOWV7kAO2/HgMShITcyki1xcHzIz8HD6gRsgE4Wlu+g2JEP+SdG0cr42k8OgkMpi3SSFCJ59GS/khh1BDYm+2JkmPcdJHvTPNPsX8P3OVxMvzpacYFFU66kYY3WYy1igBIHmwN4j4sAVceqbxySoMUWPE+HuBYop8NIAXdxOlZe6yhw2JhnuAyFCsEc4MUCWvpSqnpkFjYoEShMbmU4G6y3LFCg6MxBqBr4nyWK00q0H1y1cJ8IwcHAoScHQawalQDqcytN6uisprDZl1PjCoaRdZzr4dCKO3idPth16PSoGZBUWCGx2ZKnYw4wUpGGeDeK7y52yUMRlii68gaHRM608piqicM0PuYjPuJjxvAN8zUbjArCFoDFibzKZllZoKihwiSy/Lu2dqlNYwbVIPJR4NCYA0sULq+A3WgXeQnamOxDWcyZTwKL7Tm7RqFNNeNZNv9Ht3gMCmYduhkcFPtxG1vqemPrbhJZ8OgbOOzO+dwRGyQEXlW28K0rsGnIHQxkYc63Gdh05SW29lV/86tKbqvf8B6f8idLWe6LvWpMG3ZkNw6gnnahyNAeSrMrb3IiX5EiXQu5MIWFvte0JYlid7ozWccOUnAAhsUBdC7RnDg0ZnAWV4cB7ENXJhXZ8+yCi+Qi3uTXWNst5P0bcieD4giKNusMh9qhBVdzFikcHf+3tpKFySiOJ+2bcIGiHduyN3vTCRli4AKHCxnO0jyXyMbgG47l7wgmJujANuzKbnShLOJIG6TZiaHcmuNYS2w68wLbkA6pQ0pbEGfyNP9lJmsivz+N8dzLBgzjaLojsTACb0uRpjtPMogpgREoYCU7RRxOicMIDvXd4grBIrpmGcFy4P+4usArNsWr9A3MmEMZE5lS0NGRVNCZ/kwpWuKQHENZxNUTDzvoyR5ZNABJmg7sxqSYZU+JRWtu4CjsOskLETgczGk8FoeIUfuB0O5S9ed77zu19eQbCP1+IAIpjeKtHDaJa5iXEdXloLg60vrivvmpQEyb26/W1azUUbyGEzFjNg7T2Dirv08gaM4neiThuC7FRK6iWQCATIaCD6RvtJcwOTJIPY1iNC0LYBLPBXaeg2JBzAflyNBsOVikOdV38RvAbqzKOAPzWRXaN+NoWpQUagDb8Zee68qRzuDvjNFPLjIQ+u6MUQZP5BjqFdXurTk5g43i1ALaNYDdWZ0RBzg0SyB0Z37KEY1ro5jGhgWITgbwyNoQB2hg05i7eIfeOOtMAIWbOSEyGIskzTUcyrRQtq4N7EejAoAc3Lq8MgsDk0he4FBOYWYGQqLEphv75rAxKe5itwxvsUIgeYz9uY6lnl3QyWBuji8z2OI2DuBxHZMY1CUc+vNwnpYZWdKVdxl3a+4MvUVh8CWvVaO4WcDLTPdZ/QwcdskINMmfDqS9z0ZnAe8zIaZ86nocFxqlCKnve7FliZxDt9CGunOeduN6ZE3twrLWVV+bnRjDBZglDhWhlippQIrPGIYVgkaA7mwbS0RgJRMyMHiCgXytGWxwmx+TJZ9VojiTIRlWVhvBSk5mKDNJBUARcvfEZDqnciqLInphM5h/1chfGtfKSBRXslFgTApYxWUsqsYd4QBjmRBC4JGcVATLkti04kCfjc711r7F3zE4RSQwOKA5KAjJ0QrFsSXCEGrNnXUWtiawOIr+NeUishaZn8ShHtcwih2w1tl4PyISbEzG8HiAIQgsWrJNrH5LG4cUP3EaMzECR1ECu9Myy025FddlGMltDP5kAE9gIEkXcDwsDAwe52hmZ0hSEof/izNMtQZaxs4cnzEqyQuMzctwn+KxwNoZwNGRM1w9bc/2vutHIfmTj2gck0BxbODqUsC/mBuSho+I5W1RV8XRDC4gDjXOmAuBpBG30bZmAWey1rakg8MOjOFqmmIXlU69NsuCghFYAeVUAZtpSSu+96Qp4wfOozxDGjHpG+kvq88dtA5tEoXBnxzLx5g+BbcQRmzwPvsyWcci+o3TzbmFRnUaFSiBRlxNy8DcKxRLuTJPKa4+nzE7JBW35Ehfuaj8vdCDQ757xThW0CiWcJA+7BiSU5fwLu/58p0FsCEDIuM+a8qCFJIr2CDPONR4TBvB8W/BP2om28pau5EbcQVj6bsO53rk3hZ/8FOGT2oDymLHzatA8iYvRaxc/8gAjMH0C6kJCpjH0YzFwCpq+yhsJBM5hoUh5crEpi+nlCjpK//IvUHslyGZSK7izzy9lhJ4IvBZBQwpcLYE0J6jAzteUsFjEEP4iIFiMK18O8xG8Tbz+SjQcwfJsbHsw5k8G9BzDGx6c0WtSICuYWJugAUbwPnsWJPdJmuFa9vsxttcT711PtcjezDq30wNSBcS2IjmJQjeFQgeYlWGM2SrCEbQkmHUy9gggjP4tIYxXA6S7xgWMTqHS9igziy8EodmXBGaGxvB5zxR0Go8R3no0z3YvmCr7jEBWU8BP/JhDA4QgU0L9tTJengFDN7F4gsWhhj9zmxRQ3u0A8znUuYGMDUNLE5hp5LnPbkXxsc8EHqPoh5306j4UyZLbvdTmFzN6xp1bf1jflULZFUjssf3JsEXzM74/cYRfrp92Zl04IZOI7iR1zFrLIMoTF7mFkRg5AaKjTmuzjCjFYqL2TwgdSkkNjezLGQ7zU0zeMU3NoFDM4YUBC6gEJwcMhK4IVDxGJV2ZjvfOBUGf/ADMJsPkb6yBg6tOCwGWIRm/MFdOgWyysjSmDt0iHypqRW3MyHA2gUOO3F28Y43WVKMFweHbRjHNbTAWs/sflEQAlHZsqVit99k/K7MV9y8MkfgQmRg29uk+DSmHBWFg+QWxmGGXDKKf9G8zjJ3t+CCkA3SAV7l7QLYnwJW81KGF3kvOpPO89QYSPana2gPLOfpWHaFg8G+lPkS0mwE7/Er9VjF+wHThIOgP82pqOF5dxDcx+cBGVCi2IFLa8XqK1jNuaSxA+vicAHbky6OvcsSJi1bNOdffMGOOnxi/ab6EQHWKwIFheJVub/PeFt9uodk7G3ZIbAxFYJy7mZxTEl6DpKl3Eh5oD2BoB3H10mMp0BwK40Ds+AgWcz1qAKDQSRf8J3PUODCDuyRN8KewOEk6vvUQxt4vIBSCLkV/fYMCsh/JuV8onfA58wmFYhj7MMONV4RB8VqLswwDSjOZctaYIEKwVfcFbhwJTbtuZay4pAPZcmyNtP04xVuIVWn2M6153fciC0D8+kAc1hcsopxZhY7jZ9JnhFiiArJm7wdYwanhWQUb4aYsQKOrIMCmikcjqJ/yCLl2kx/8imF+V5pc3kroO7ZwME0zsuzL7HpyA6h45vm+VicgArYk84+puMgmMG7CNIYTOEbn6NFYNGYvautiJPfHH/J/QH7s0DRkttpUAvnXAG38iOGz+xi4nAAxxVXKEzGnm5WqRydwyvsRbmuL1uz9lgHIBE2oVMAeU0BM1Aa7JWSeMVy96gJ+2Swv9UMpzxm1iS4LkMmgD5sXSM04uLcAm34J6mQ4iqYzk1FyLwOgjeZ45M3TBQH0DWvcZkoDqeTL0TERvIZk2KZfYXBsYHrTQA/sggDG0kFH6F8QUomcBQbxiClKSTX802AmQos9uSEWoE0MVjENaz2sWChs1I6FuNjkKQ01HUcj4EghcXmfMh9bADUq3Hb64L85yA5DdNn83NV/qklA3CKyoH0/04A/TNySxXf8EHMCB4Oip8ZnxEh1oiBMaMR5+MWGELvUBi2A1zByiKYjoPBt0zwMSyBTX0G5hHEIknTnAEZ4UcvsiSGK1Eg2JR9AlGJkjTPa7ZkIxjNXB+TkFh0YtcYoAsUsJTLsAPzIklxdcmBgCut2G/wckgGhTbcVMxpM1nIwti8s5IVzORILmBDFsRw/ysa0WAtZ38GYHMugwNhBg6SmXwdS7xXtHVpFy3d4PPvLg8wg4MxAze+AB4vwRYVwCPsGThaNiZ9C/K5xhEWvAUXhEKVbQxe5dWMkKH8g35f4KBAFJ/iRO6vFudH4LA1u/r2hE2K33g/JvQUxTEBI4iLpTNat+1gMJFfaR/S9U7hhZgSDUfzCGf6JD6JxYZcxokl19lc8I9/shftA/vf4She45VCr3eTS2gSU5FtWMR+7MNyzohl4wtshnLSWqPmiggwBDdM4nzuzmD3gs/4tST4eAJFC7aIkFhm6OMlcEjRO0PZWsGbJQlPUbzHPNr4NqQANmYjZtUaYpxCcTntA2qYApZxM+VFsmIbwatc5wPflCg2Yw/erFZ6TDGAshD82BimYcaSKNiQ4zMuwNGsDLDX19gjwLqhP12ZHgsDlNxGfzbxXbAmiuN4hddKDpClkMzlah4L6RwmNzOWRYUZO0y+i7Frp3Em9XmV1bG1uFfGMlNHlSEqMtiJ0vkXp3JUyLaikKzi3liMztEAm/3ZMEPgn+79LLHZirYhp4zkAxaVyDC9ilGc4JN3JNCJnsyqpbUTKPbgqJCDwcbkSX6sQcyjYA3PcFXIkHAGb1RTz0zRnON8riqFwSreiIU5GNjsz8YZ6//fkOL/OrdjhBAXT+LqGCIAbExmcDOPBk6nQHE74/m7Vuq0DGc/jvCdOxcT6Z9cEohTzIMBGjEsSBpFL25nf2CKjjdyYtnU9dYSF0cr+mF5EytwaEQXtqAv3WmSwaIVkgf5smC/Y76zAkNC6i0ovvD6IYAutMhgU++jSnI/Syr4PMAAwaYhHWoRxN7grtDYHAymcDMVoYzlQgMvnuTSgBwn2IWunrSdjfrT1rdCCpjI+7HsCAEcSSrQumAu34ZW+0/GZqRHHsnVsay/hcnTHMygUGtduYJzS4oLXjUH17APLXyzIIBzeZ/RhWgdNc8HMKmgPkO4hWbYCF1CR8XEAB3WDivfznwU6pkIePdEyO40jktLIv8J6rGGszggIr1tTGB7dKR+hsT6ucdA49+OUwPypsDGoG0tor+cR5/QnAgEdzMHs+hC3i4jmcXbHOIxd4GiGcdzXY5jphAMDfRGAk/mHUJd3Vi7s1MGts9LoZArAbzAvqHV7sRA3q7RjPgzn85lF1qFYi6HMCrWQKvsDqpfuYY7fUF2Ept6XM7nIVNACeMABRKL3jzNgzRbr+vDilCdtMoiQY4udR3cjNM5MuZihFWgqWvYl+tRGYd9oY9FS6Ab+LIEFAaLWVbCGfqTPwKWNgF0CvShlOyvE5dkxEEKvuLhDNTCYnDnhocOORyeI/9UINia3UM240U8GUsAjESxH50CsY4CwaiMXF/FB6wI+bAbcGxMF6BC8AfXhkLgFY25nqYlrIztN+k8ydhAULSBzW6cX4jgIWssoZ3DOxyOVbLMV9byEBiRYZ0Yw76hlPG4XDCKNEfwKC1DLhcLeJJVXkK8BTQJHFAHmMqyElYmW8LcjNbLaiEYWgAGl4XcH5X1a50a90AAX/FjICNEsQkDs+LgGRlFMB3gtVhmX2DRiP4BmDUbg6n8GGpdAXMYnbEPd6BbbHiNkkcYjfTJkwY2fbigFiz3CsFSrgiBghgoLqNX/m+XNch9UGzM89zHhqF0+/9tkmxAB20HLKbaVvgxMLxQ8o15lKfoGGrbwWANLwZCbs2ICiNLKS9hfP4KFmQccLuWwl/24vgQJp0NPMynMbAcB4P5vBiQpCwasrcPhyUcANOe/TK87Y8UjCWYTf7bgr0DqaU2MIo/M+zukjTvBFbBwKIL/WOKz3QzW64O1SOU2FzCtrVgvLKRjOeeDHW3AXfkX/tPFqmIORgczVcchcKJtfDyup8UtxXv82/qFRh1r6jAwdI1OaoeGxtoTC/u5UdOC+SWVsp/gv8wIUMBzZRMSnknLw9BzUtgc9qU2A0iUNTnQhoG9A8Hg78zKoLUhMYw3ze/Bor96BUZU2ngMIjOPhnERvAJv8aS12QjGEQDn/ynMHH4IovS+TlzfDnB7owNoElMBhobky95KBSULGnMv0u826rU4KuZFIrydNiPC/NFH5BF2v26MZznaLcOlTWiFnFhUlzCS2xcEAtM0Z4NaEcb79mAjmzJThzKrYzhZ86lOSoC3L6MX7g3j+OlahGt16XVJfcGurDsB4TUXwebO5hWVPhz9DH7grE+ZVJiszG7ZpnTFPsjfbZPB8FTrKiBL9p/rbXg0ECwj4PkFz6KMLm4SYDjQxCmDnvRK7YkRQe4mQkZlsA9ObsWMAJdjPRzWOXLAxaA4ny654cPYxaR9mVzLDfQBTsmmO11g5y8D75bPHwgHRnMtLwCgiSwGSMo9x0SF/CynVeHQkVKdq4a8g9m5eHZE7XKAB0MppcQDKKSWnNLSKWzMfmax3WeO7Hk3Tq8zgAf3JgATuDpDH+jicVO9PWxKIcUs/kstvFuS4+Mi/VH/opYf0WKNXzC4QHvvEUD+vNVTCqqg2Qll/Bxxu66ljeZGRPqUO6z8yHDOddXddlN+7uWUyiv3hssC9ziDh14jmfogl0rQu7apNxGPyKjVkLlIvRmBC3zMscKoDHb0Zed2Fk/O9GXnrTEIY2NE5kZ7QbjnBUyRGdjd1bJWJEAWtIhYz+VlXiHSBTX0TYD/GA1t7AwRjeUheBVZvhaNHDoS++MUCQHOIDWPoukA4xkWggzsXhb65mBHaUwqOBdjMi9CZKx/BUwjpjAEBrG5qRwEHzCXQERwQWPvbUWrl0X4uw2fg0E3phYHMm++aD2mAUovjaC47iRTutlXY/ct9wM3sLJuE8UZfShF80Q2hvnn9k0u3IzZ+bBdmwMPmYZAzOWTOiKxNEgBAYOZ/JYRtSVwApl4whgc1qwrGSJSvUjKo+t0AUqKVn4Sz+Oi6j99j6vxhLr5m9zFSPpEQo9P5bxGQywDQeHUJqX8wZ2CKOm+EKU+2Qc6j94JovDyQF+4GsODoQLK7rSl9Gxzs7NHBqwewocBnMyj8e8DlFjNPmDWxmho3OrojNu53PmVbffzQLq+XbgZo7X3pf/Jbufa2W5MOsN3oS9OYPdaBhigSkcTmcUr+bFdMq4kA3ZLq+bWWGRAmZyBqMy2J+ijArmhMJiHTrSsIQSYDs2DckmMEsHypcqAKk+V9HUp/y4713NFaiYPdAOggc5x5eZ5JakvNQHQOHSjvTx9cjB4AfejZDQi0uBPIMmGb+fzVZZExpMLGZknHPFKYyKTTZTCObzD17QeFCVO0LwD95ndsnVYAuTpxjAET6ro1s4/RrOrO4ClnlD2x/PpzoB2/gfjPdzoaZEFv/n6xzAcfycYeYWwHV5FkAsYxEXsLpaWEcHC0GKlYygL6OyJlctCFjGXOVswxLO0IY0DoSiGFBSC6DA4nD2CkXjKSQ38VPscq5C8RujQ7lJLRgSACFzEJwcOFUGDm9qZT2OxNBDQtZoAezOD3zD95HP13zP+RFt9Q8ZDmpuJR3JMwGgLwObXlxZK5ieNnBNqCC8QHEKe1YXki3zsPtZdOEJ/ksn7FrM7Vy37IMpXmcA34UOngB6cmBePjeHBnzGzdXilkhMVvMggzglIvarSvWZREXg2ElgjxKVKnII16RzMFjB9JKVRpLYtOKq0Lw6wG88WJI9KiDUsgMcGWKJG7O/71S52HnPxhIRKbHpR/dIR5iV83EiRtKMU4twgeayxFVwDXMC17GJw2nsUwtgJgrBr1yW4Ysu4/YQJEhBDFBoP9qhjOIknFpIb1l3leQ0KWYygNkZCfmCU/O8NgSSW3kLI0fwyFLe4x/syFmMwcyqXDjA5FDNXgEcUJKAdTcBav+AxOkm408vmQSogEvYLLAnFQ6Ca1hSMrvjN0z2OUIE0JvdvYgzCZxMg9C7P8y7FnH1ZqhBNI5ILRSYOR8ZGUI8IEsgd7EymMFMbgjZyQVwB41qhQVKnmBMgAELLLbmnNwImDKnjcWhFf/hRTbVMAcJZac0Bn9xbsSm2oxOecGQOjhUcEWgnE3V3x7lcPrQkUHcxU/auuPkuBF/ZE7Gvb8tm5YkYVHQhV1C5ZdgJjNiiH3LxnJ7c15G7TeTN3muRBAaCsl8nvRF1QlsmjDIu94cDI7JGO/9scy3xKIze8TESiTQi/6xijQ2Bg/ySWBFBIqtuCFGWTO3SeQfLPcJBUIXTt8p1+mTOeDFHQYwjrN03kei+uYTpf86H2XIXW3ZKu+Ao3r8yOUZASsKSVdG8gPLqNCXk1Vt5NqPEZLnySW5jRXHhBirgeKbQFWKuEOSbqNBRu23VdyKXaJ3una80SwNBbTsy0akMTAQDKJTKP/6e76KpTcSRT+2iAnPW2DRlP1j3gkOinNZEiqO4HAS/WohWdZB8iM3oQJB0Q5N+HcAFTEvBmhgsxH38BabJ7keBVI4JMGmYQEMMI3kKZ7OOMQOe3Mj6NrK1de/coDnQuqSAg6ndewsUOmC4eFYvDElygY2sRkcguB3t/tTjA/UC4s/9/RHRvpkQAObzdnHy40/LpCo6CB4hFWxKMA2DTkoxrg6t2ZMu1AGdc0tcb9wXSgxzqEFN9G65AHRCoXBY3wTcsUo+nFa9hWQEXYosDmEUZyHUyvljlmPfMXwJcsC+RwWsEGB2+hiJoZsKQKLszgsbxwPB/iIvzJKFXXmjJhrNJvA6aH6DKCYxuclAYSVOLTjUsxQ0I3krxA4U/xHzCDNGNK+I+YgGUQjLGx6sL1P+lcYzGdcLCxLotiQQTGunIFFD/rGLNwIBI8wNhD0Y2KxK8eQLrkD1QEWcAkrMwLAbmKTbNeizPjJoSUP8hy9sBK7XxG0NOQIEQXKQQpYyBk4IeYlacDDbFbAnZ3mpYz0NMkxbBjjvS+xac2pIWeHQPAGq0pWg+80eofGoICrmFvioAsLwcsBR4iJYgDdUMBBdPBdUBaCN5kYi0PGAQ6hfqzMXZHicOrlVeO4sMS4a1kRiGWQKK5ly1qIILEx+IRnM+a8Bfdle7sZCNxNA/txD911RmVChfsmVzKHniEG2FpbCFXeksY4LuNmHe5cdfBb8wAD8gwsFiie5FytNPtjs4ZxTWySkoHNRXQPhYArynm0ROD7NttwTujqdpCM5Zla8DWaLGMUvXx5FRYpDuQnWnJoKEWtnLexY4KHL+PYQDCVi4Z3LzMoy2OWBWk24LxAXWCXdXdiSqw+c5sUH/IwF/mslRKHFtyqVfjS2+EvZg82CWWl7M0QnsiNWmUCG2lUEUfLH4U+NoqptIlJsHbDiFWRfYl6LBRf0DjHXeTGSL2vP+s+aRRvk8rjBnPrk34R+HYFioc8611lG0/pv1T160vaefMmMWjOe3pGqx4Hxa15zq5AYDJc979qhWwWsENMK+TGFi7GCvTTRvFYHt98IbC2DioUypptVM+GxuSQZkWR6pwB7MaqQE/KUZwBkcdFAJuyzPd5B8VUYDcsbO+3FopPaZIBmFsFFPtaYBQOiskZdZyrxrxHxEn7qsCxPheaNwvFuTmiAm4NzIqN4tc8kAQlkg5MDJ1bB8WRbEVFxkwPjZhpCXTmp4xzdH8eVlAB7IfC8r3HwmEGrbg7k5tI70sWh/EW52qw9cTnWzxcUdDl4UqFheUCOMASLmBRRkK/w0UcgZOHdK4QWDwayv6VQCsepmEMMWACRUtuo3nGeMt5pCSuM4FiLw4Pjd/G5AW+Lpn3NzyrU/kitOabsD+DMDx10pXVPmR5LH2SKIaGlHuB4nUkqawgHcGnHpL3AmhD7vqcHrvRwAFmc2GG3OtwBb1ZQ22kJXzEU4EEUQObzlwYJcRIXUTO5FaeZmsNbZ9QTSLiGgS8rxJYWpQ1YxKXZUAjgMGdbJWXM8TB4BueC+UKSxz6hFLHi2VGinvYLhRNZiEZwTclckeUcXcIY8bB4Hdup7wW4PcrR35/xkzfzokBSUawgBE1rkdS5fTZPWMnrObpSADd6KcCxavMyrBOb8FOsYs7DpL3eDZweQsEvbipRHnhmVkp1zEtYIc0sLmQ/TP3pMRBsRNf8E8aYAcsRgkVM/0nhGw1Jg6zizicNgYP80KIkUgsOnAL9fNkX2nu54+MNmyO5FovVLTYSnkm93F8RDDyXzwQq2ndH9JwAVtE1H77DxNJ1VIBdlB8zG8h9OteoRIEirEB+KyayX+H0T4j5GMUswrYVQrJct7KSMpUnBYbOGpQTr40tO8Ekg60rAUByyHFb9ypr+iqoOiGdM0cqaQdV/Mp2/6PQVxREngmh504OuA7V8BcvikqJ9YBhjEjxL5MbA7gurwClGxMfuaGjE9KFFdyAzLkvKCASDzJXZyTEfzi4PBvfoqh3GqUu6UbF4VUNgX8wmPVBIbHfbiX8UiIuakMq939MUmkihQHaTA6/xv+WyArcRA8E5olB8EBtIj9ulII5nApaewMrMbaIAvJQ7yXUSUv8n65i2uQqCzm2oQK8U825z8Rtr5ZTKwW4iDbNlrCGdrkHmS0lzAor21rIXiU10K9cmHDL+cRWhWRWyCxaMMIzsEJHUKFySgeLEH8nwBSXEGbkLwiEFzMklpTfyv7MoblGeqk/6BN4rNY+mRgsw07Bt6gEPztqwKdf6Dwt6HacRJFK45GxB7xoTB4nXdCcrmoxWgMxXmBoqBZ3i7pldj9ahj6KXX8ZBueYZuQc0EAY6koOiTE4APu13XhghLcg2yal/KigGH8EJJY3HySkxnJbpqNyTx83FJ/b0dGcQJO6DsKySzO097t+K+XPTkyxFgd4CXeKxnIa/aL6WfeycrmHeAhKmI5U27GRqtA1KMFPFZEholA8kBoJ9nUY38NIxF/QNilITRqahGeRDCV6/OBxF+dxPvlCXiV+Zhe0FCK/fmQA0PylFsu8pGijeHuxryOcRkuBUV7HgplQ2Tf+PM4myWhNlyM7x15mxtppcMDzCw53wJJSqfgteQGRtMnI5jarU5yFr+VAItFYNOIi2gY8jdLHG6kHmWRq5PrMWoYDVjOWziRI1VIljIypgwQi3YcHsp5MUkzsqhgdof3Q1VMJIqdc8MFUHzFuIncWYcRJQb38UF12ohMcj3yotWsIk0F6cBjAQ3ZhAN4kXfpFWFFFbwcMpgXLm2Ucx6LQneZWw33FiSpajeYg8lnHEtFRk6KgUMTLuNbhtINsLBBsxMTA5MUKcp0rJ1iMy5gIpfTNCMQx8HCZggjS+T9FRzLvgHft8ImzZn8QDnloXWp/rFrHG47mu8ix2ojeJ4ZsUmlvekTsPfaCMbwS5Ht/8UzgetYYrMB/UuWN3MHn9ayfO4XPlZzLStyZ84n0l9+4b7dOT/i0DSkE+3ZUSMth6UxhWI+18aQgv89/8cjITVFYnMW43k1D4nLQvIuZ/JwhszofrcjjzCbt/mIX/k1IlTBpAvbsDuH0VZvLZkx0hT/ikhCimsz19dQEMFeraIz5xTMchWCCXxZQz/jfMaxbQQ4qSTNKOxYamE4GAyO2FmjWVZEhonCwOZdTkYG8iTgYB5kQYkY1dlMqKPYEhvJp9zHpblcfQkDzBc97e5qGIzMYH8guYrfa7yxHASPsifHBBZSIGjAPXyXl7ThYPA4cAfNQ/5joaWpDgxjGDOYwp/MYhW/sYTWdEGyKR3oSHc90kwl2VUFL+Ce2ApRRu3TDSKsYw25tMj27uHLGq2LDYzgZJqFmJNbKvyjWJCwBYrWGVWATWbzXg3a/4KJbOXbSW5yYW/GlIABuriUt3F5kdEGcajBd3MAfbK/P2GA+TIhK4cTxMxStmiErk4bBxO+mC3YMrCQEocOPMFeeR0GG4PH+Z2XaKmLbAYxhR1sDLrQxVP6K6hH/UCxcSNjpG6h9nKO45USsj93Ps3IOEdVpHc9DvS5r9gn4rJ8jyWx1UI7lFYZpaYmMKnIDGObFPN4l618wesChcHhfFQiZ4XgTvqzQ52wQAeTedzAc9kRARMLYL4MqCzySUVCjjtYpHiKoTr3Mo6b9C+uJh0KiJE47MZNecIk2Zh8SD++1JBnmW4egaOrSCga0Iz6OpPSwkaQyhipixM+mX4lZn/ZQyhSWdaluseIZU0eCF0kDpLZPB9bRWLByaE4OoO0zqGmaLfaKJYEinQawDElClFWGCziOuySVYepzvhj8ApPFo4InVDNwjBTPMapBSDA5GMNeo17A2CPlUgXF3BonjiBFpJf6c/dpDEipCdXmjU1vGdlVrgZ6R1WpDGo4GF2ZAJGHiCtrGc5P4rRoWwMAXzNlFgcQQLYJqP0OvzB2zVIsbOQfMSPoTLm0JwDS2Sns5CMjE0TKi43+V/8nT0QOqF4D4WDyQLOYmiM7M9t2eQWvgyl1wugjPvpnid8mYNgORcymC9JBZKFMlX77AEMLmtM8S2DGcbSWHJe10VaxfAQK3FigwEzUZxCvYDqJoCRrKwRqzKAt7ECDEkBZ5VQgje4ilm1AlYRLakv4vzCIPFrelTXB0aW7+Mmm7spPy7TuI89eVBLUYW8o/qSSQs4ixWabSlPRrPYkLtpmmcsl0Jg8BaDOJ8/NZNz8pTf3NG645zG6QzkLYyiD7wqaA5UrE/N1qLq7LzCmsB6TGVUngpq7l4JbFqyewi+CeCRGjJYC3hG50j4n63YIkMJLm5eomqFzOWyGFa8eAb8Es8hAmBgATisOO00LemxzmeWCJ8MlOtB54FIDAQWcxlBL87jZx0iXX0Wib+lfAzv33KRljmqvmtQwf5cnLdlSGFj8jf30ptLmIWtfdhpbf2LYns2aW3xk6xhKmeyPY/yF2Yo27Mms5x7DkSMT3Vtq7wjzabyOhILgcBB8FDeebVCGxiiR2/gsD+b6AJYwruoxjOphiKGa08eHRi1RFHG6RFO0UL3aPad+yxPI7X7Lb+ZDu8PVYOIQIeb+ZNUxvuFLIG4W7ZWy3Z2XrkTIk/Q0XLmM4/JfMpwTqALpzBRR/CrAt4g84yXV0ge5/mQvU9QBlzpK9CYn2VGsJDb6cIpjGQGjnboCNJU6JDvCiqoQCAxSGGwgok8wyFsxkMsQQRqPxSXRijynnMZa/qiyGhbZKT85WPgr+A1z/hgsILXC0pMk1nnwqGMw6kXiP1USEZE1AUuhv6bEQdgsAdNA60H+yRrnNNxHfMzdm6umQ6fkeLRCmxMfuIO0pmWcrME4YcVrL3BLAbNqg0gWM2dvJpXLqdgMX/iMNOrwSu0xFQdDecrVnrLoUjxF0ur9ZQpwOICxlKREYpsFhgY4XgZwU/xFJuyCzvQnc60pyHhUJNFzOB3JvEd4zVqs6ihsUMBD/NhCDkxexWRck6PTatQmEzwUuZhCmcGAsRtmvFJXpVcHGAMQ2iIgyLFbGbnHUX4Hz5kpbeKrrd0VSDU+hnGBHahTWNeiWkORjIshGZjsJomLPO972Wm+9ZHUca8on25DjCVQ9iaNYGslmaMjZhpty7O1Wzge79NY77OjuqS14zPoXn4AhFMYLvYYGoUkOZUno4lDkqguI4rY+qd28pCzueZEqRrmVq6ZJ2E8aoEk2rKhrSmHSlMNgVdm24OS/mLv6kMPLHrJKAhIdZ54JC10DtgxjxEhzI6rHU2QKUDP9/gMn7N4xbLP3VHaTnCKpjpyIhQX/I0vhtZblm76KwGt81lLMuxtqbOCY6P8RYyB6mY9RQnMLJcf69uzxs+KcmKcfRRu9CKjYmkIs1DKqY9ms1kIPOeaRGZc2TXiDtFQH2YJci/67rWKb4Kg7+5kft08HA+njJKnKdo12A8TgnmyNF2nsrLy/YK4CjN6NN1OgdpSnc9pmuYo1Ka0Zd2F6ZLukdr3qKKffyRLZol8J9uSmMdrLE2kJuC8yaX8YuWURPKZamp3YsgoYSo60T/uBlgN7quJUqwwsZgLudzKL9UG5mXUEIJJQyQmtl10nSgVx71Q2vD7ueG/O7NvRo8M6GEEkqopJkgbhlng3SdyoAOCslCzmIwv2LUUSp2Qgkl9D/GAA0U+4XK+FEHUIiS0fTjQSqQNchWSCihhBIGWGD9hk7sX8duj+X8i4OYqMsVJZRQQgnVEhqMgeJcqLNKAAZj6c+/sRK7X0IJJVTbDFAg2IpDat0T7OjKZJcykC8xk5CXhBJKqPYZoCuHXUGDWi2G4qb3f05fbmEZRowx8wkllFDCAAtkgVszjHStAa5amCzlavoxAfk/C9CZUEIJrQUMUKCQXMTmtVIKRQEmYxjIddiI/zlw9oQSSqhoBqhK1K7NRtxA/diQZnKFO1dwOYMZp0HeE0oooYRqhCxCDL5gi8MY5ivARwkCXgSSL9mFm1iCWVSRxIQSSuh/mAEup3Q4c3AbA/OsWEYReBYGq7iHXfgGPEy7hBJKKKG8GeAkSgmAaPJfepfAEqiAFF9xJBdoJTuR/RJKKKGibICqhCywGS/RJ8+ijfmDkAoUdzCIkRqLOaGEWCtQj0WNa2ckRG0iQs8t8Yaw2ZTnOY1PMWpQ0Z4Qvt8vnMeHEAv0flS5mkxXS2HXiogI0q7La04UOZL4ZtLJKOku15LZITZ86yp0YxNqIQO9tHOYa9fU1Y4qAR2PgxVz1dXgY6NYwWDPLlgItuB1gcqoDmkUy7mHZpGMqrSFMkvx2YTWDz2qUr+pR0saURoY/4RKIgH+XvIDK1E04iWu4Q5W1EBmc+P9vuVq3tbQ9qW5YeuzSQAw3GAlMwvqZ3taBkaZ4m/m19kal9HRq4i6lL9qsQROM9rpfxnM9tUbESia0F5D1ArmsWidZn8ODluxPZvRifYs4S8mM52PWYasYRXf3PPbiA7eOZ4T+xxuTGMUCoM1zAykFgja01zXkiln9lpcBzIP6sJinED9+VI8rpQ5mh09S0lhEqCDjULxb9qXpJinPzB8C2Ywkan6mcxvfM12eUqvEujAu0xnktfCRGZwcR1JhhLoyJdMYzJTmMbdJcz+ySy2cBhTmcoUJjE9kBtuAPvyM1OZwlSmcdo6LDdLoA/D+T1jx3/CBSVMNjCA3ZnIVCYzkRmcGvsc/pdpTGEyvzGaloFxGNzJb0xiMr/xAd1qbU+VZJsu5Rf6ljxjwy2i3Z+teYLrtSxg5C3D2RgIfuYiRpfI7heUADtn/O4Ivs5rexk47BgBBta2Dte4jM1p4t3qtWk0aMEm3s8tQn9vQk9vRluvwxqUxVCupy1umSGB0AwwxW7sxkBO57eSoBIJoAk9vJ9bl0A06pah4le+u4NX+ixFvXXZ7CNZxFe1YsgUmNi05mImcgEbaSNxilS1Fd/TGFTwBHsxWjNSSg6mX4HjPWkc9qIddrX3nCCNySGowPfLYy0mWcx4VuNgY+NQXqtvtnBwsEnjZKyarXvlRPyNdcbxYXExj9CWNA4pD4HIoEyXsNyLD+mJUyIGYVOBo/8f/xyuwcHGwmFNhqDi7unov61zAvy3tca/DRSwIXfxI9ezB81Jk8YBykhhYmQ8CpsyJjGEk5mPoHbgTWXgMYGt2QGVBwOEHhyIIhVqQ9TxKlc91LIXONsMiLVmdmoS4XAMtwIOKS3lGaQwkVi62rBNRx6gWYlCY0o7h7l2TV3tqJIwwB+ZS6qWnNlCu+xbcgUf8Qq3cBw9EVSQxsIOPBY2EoOHOYDnMLwy5HWx0Q0GUa9ajBkFHEjLEuc/ry9UZS9bV/vfnvuQ+mJ0/z+Wx3mVv7XKKJDY7MbpJU0Irdu1U+u6F1jyK+M4Ig8FL16/sIXBXuyFYiZ/M58ZrOJ3Fnm9cDApoyHH8SyQqlMlMoXDUdzAjGqsOYoyTslDUkwIJPU8uchYR32//6CVvuxsDMZzGT+zkPp0YwA3YOoLX3AyLzILYz0CaUtpCRfqrduXvYlBms85HKNW5RZBCoWFIkVnz+ngYOm0NpsGrOYZ/sliBKIO2Z+j2VkjjuTWnOxPIOhPd/3TapbRtsA5FZ4RvWbZLVWtlCbToaY9VMBcRlIfG4HBtDx1B6FtbKrGvVc1ngeHBgzW1j0Hg484nMWAYA2/8AvTeR6BwCDN5mzHzDwjH+LZAaWW/76lDauBMmaxIo++ioCDKI79pwr+XhYNUiDowHQdsFz7j2totTJCcaZxnJYORC2bBLZFkdbz8Qm/obQzYyL1qv3uc/rTihnciKJC/3dzNZ4yg1QgbNagLCAXVVlFZQaaT+VT6Woq871JAt2Y7/Xq+YiQBRGwusqsowv20CSV9bMCg/oYnOILgRqCoa28Ig+EomBfJCnfbAjKcrw7+/yaod4bkTMg8w5CGcgqb16XsB1oh57AQCB4Qu+jChR3V2OlExk9NAI9jA4zOpC0lx4QDLTy74vq3ps52+7PH3nhZ5Npp/sji2BZ4b1sVjOycL+Et7NTBbZSKWqlfJJrCKXetWDMZlSd2a2EnvBKdchVE55kd55B1kpCEVl9bPAtn3jXRA92zmHMFijacYD38zeMzfMWlxjYpElj0oI+bEgDbCp0cc/KvlQ+Tkg+rfqL2weLChTtaZF3cIIKWF6dLGvkkCZNfTZgC1pRH4s0ThYjuMJmDTarfb9bra261a+nE+qLgUMam3p0YEsaAxWkcfK+Gl1LXBqLFE3oTTvKsEj75ldVM/5s8aINvJ/f42skaX2J20gUz7FGj9emA2U5TphE6R6W0ZbebEQD7EAPC9dbqkak8lx7J/Rdy9fact0fpwhjl7uX69OaPrT15j53HpcK9d81mqUxaE1v2vtWUFT7/jRpGtGNbjQkjRVcB1PH4t/DqaTq3Hjvxp3P4BJegbXCZtKExzmG+noTDeXjrL0ySTOMxt4cPug7Hrnj+R1gJ/akJ+1pxEYsZCmLmc4oRmsmVp+daaA3zV98p2FfJQ5b0ZU1GtbsSypowGHsTCc24i7+i1HthhUo6rMTDbUyJ1nO2AzlRaHYjMFsSTsa05p5rGQJPzGSr7xW/C22ZmsasJLtferH9ixBAoIJzAfa0kdHBQgmMd03pt50YQ1gMoufcbDZhGPZmua0pBmzWM1sfuANZobenG18CsWu9KcHralHR+azlIVMZQxj9Piasw31cACTaXnjIxn67AB8HwEtvJz63ue60IA1WVRDhUMD9mJHetCaprRhEUtYzM984F2/hQoBPehOOSBJ8xVLI1sQKJqzk+65ZBqTESh60QULaONdoU0YyBIEKeYxARvJlmyMBZgs52tWRrTv/sYhRX/604WmNKYd81jGAiYzlvf12kePbCO2IQ0YrOY7FuPQlMPYlU40pR0LWcIiJvMmX+aYH9c40YDT2JX2bADM408+5BlWh78hgBcDWbd1oQq7GcnPspF2s9eVV3xbn+ryDAbfaRVY8RddstxcEkEjvkBpZX4hJoeiKM+pArstHclHLIiYkWV8zqEAdGEay1nGMpbztPe9MuBBVrKIZSzna1IcxBTK9bfP1ypZbhVYAmeymKUsYxmLWcWQQE9dJaMPr/NXRA/n8y3HY4SyBGBv/mQ5S1jt++xqlrGc5SxnHwAGMp/l+nfne+8sAx5lJYtYwgqGA214nD8j3v0Ht9M+Zw6C0Ax3IJ+xKKKFJXzDEAygLzNZzjKWsoIb83QCwOW+E/N/Id1AAG04gZM5mSGczOE0zFqQYgOuZhLLI3q4mF84SwcaizxVYPeTN3j7Yg7bZnEzCWBHlrJcr8N1+nP3sIKlLPMhBNisYBlLWMFoGgJlDGcFS1jKCn6ge0T7Uof/X5llZEv5igt11rSI6Ncxuv3lzGA74DR+I53RygI+YL+c+fdnMDkDmeAnBoS/IYDOrMCuMxbovnkOp9aB3S83A4TTNIN2UPxflkS8FDCAFTqs12V4g6thgCbQk7f1nLsqpqUtomm9/RxGUJ+NWejN1KsBBvikZ7v9mRt1SxYrsTg7DwYogF1Y4luH56jvO2wG0JLb9dZzQ1+relhpM/6UPr4jYAD7sSLHWrt5ModR4f3mXwEG+Iw3pkfZiZkZs5P2jsIM+meFHBAYwM585qmlwRYqez+WTdiBxV5f7sybAV7tpWkqXtB9LzSZrR5D+MM7A8EdUNnDiRwccchzM8A7vDlcxQ45GGBf37rcpj/3aI61+5xGQBnPeb+ZQc+M9iVQjzO9a8fy7Rz/3E/loIhkQQGc5LU/j124X/87agUd7qQsY3YEgnqM8L5n6adyJ19e+VbpfWEm9yPrSOl0S1q+zu4M13F3aq3xd8ErLNK9goOoHxHXL3AwGUQj0ghgJS9Vmx9pYHEIH3CQh3BoILyrQCB1vZMhPEZ9n7ndDtkpXZlT0YHLdEEo19mQn3WsMQ/QDEdbPH/lYtZ46oHEZnPe5SJMr4fo7A2F9NT3vozn1EAypevfDyY6hiPHqj4TzkOqGtMWvEpH/R3hmeSl7o9DZ97mWD3nUdGbQxnHLloNdnUKR9uxKnuv6McnDGKN17qd975Y4vvsQHalgrKMo5wLH9CmHU8wgg66J/4euj+5M9ODN7jVZ1zJz35dOYdWtTZApd9v+74bPoFKt2QF2rcj25c4dOFJHqCFhumqHEvl3Eu9ppvwNjfSMMJQo3z9v4OzvarflfMjMLwTciH30SikMwoUNzFEf8/Qp0dg6u/cwPFufEelEViguJtfSp5nG233M/mToRzKFORa6P5fwpOAhYFiS3aLCGqV2HThIJ0bavAek6rJWZHYDONF2muUFjSDMUnpnBihTbgOx3Ev9RDawygijphE0Exbciqd/WZeoRy30BuFxEGwiOP407MbChz6MJIdsDxbldDeajfbQej3OdTnMc7DjlRmyAoSlo09VI1pJ9rrbS8Db65UcBVl3M8OEaxB4HA5j+i4TeFltAZ774bVbMhltMwyv9mdDDBB275cO+oTDKRCr6aoNtRbAN15g6Ox9XWX2UO89XT4J8NpWkDOraiG+eb6pKhR+wYO3XmNozRDlXqtzIz1cy+my3iG5ll2gUTQnp20tbDqfKS0sCC0c+R0Lg18P4XDQZytr0uhPcgppP6OA9zERoAwfdFuc7mU56jvRb7VDvOTwAtcy0Qvyou1KuLJwOZ1LkQCFs04kNE4ISOqAvrS3qt+8harqpH+bA7kXlJabnIP8G+M4WumAT3Ylv509Fjl/nn1VHj/rwf8Vc1VkiLNyZyFhalZ5xV8712AAkUbnqILlucog8m8xVcsoClb0p/d9BslDhZ3spQnvbbqRW7pQkuxOl4IxFRG8RWzaUAvBtEXgaOluBY8oFmgCkAUnMsNVOhN7777Kz7gJ/6mIZuzK/1pqPe9KkJ9dZB8x29s7bHbbjzHqzzMZ75ROjmhrB5hB9/sCuAdPmEiK9iALdmbnX0rWs6RLGOoZhuUODZYZFzxQl+pZXmEh7fjUXqTJqXnSWDxIWP4lZW0ojf92N03MptDmM/p1fAIB0maV/mEKUB79mKghn8QOiP7bb7wrjub+pxJPSzNJhdzL5/QltPY2ztT7TmOfwfHk0LwoLZ/1cbjirjzOY1Undr9ctkA/4sAmjIKpcMAJtMpdIgF0JhxOqJR8SMbI3LYACWwIT96M51GMZvTaRZwJTTnDP7Qf3U8R5Hi5YANcIRuv+rvs7iKnrTRS5vNBmgA2zFHq30Wiv8ELDlC2xctzz31E8fQ1DfqBmzNSM8GZqNYwrb66JTRho1oy3k+99Y5tKUdbWmro8IOZbU3sksCNsD/hsZUzhU08725IXswTb/T7f+pAYnXQLC/F0LhjnsCfX1ApVBGJx5keWh+bRS3k39S55F6hpSnSq5kPOfQUc++kUU5NzF5Ru8O95sVPE3XQJxpQ3ZitKeOOpSj+JePNeW2Ad6mATkUy9k+hw1wF58KfKtutSltaUtbPvXmdxo99eq11KzwGU8FnsbmXvuurDUiMLJyhrO59odX7pztect7q9v7y322XAGc6JtZ91/v0yuwxi15GEubCywUz3unxwD66L3tui63phLn6Q5tEVyDxZuBiFn9YteTadcK+1MoXmHTEmKmxcEA3U0xDNsLaj4hgwEKtvfMra4ZvUEOBmhgcKd3yC0U73nAliIQuroRHwc2Qi4G6GDh8BzNM8aTyQAFkgZ87Av4/jSgYEngkMAGfcYD1JKBcNjzWK4/l0bxemgdj/cxwGND5v98GKCDwyrtCceLF3XDPP7QI0rj8L4vKFYALfnOZ2O0uTkUIFw5zm34IbDbC2GA7pue9hhNFWalwuINBtMmS5qfoQ94lctxMUcF1l/6vJgLdb9sHFaytbf6pWOAlfSBN6ZJgQsoOwOUwKHexW6j+J3DA8H8/p2zyOcAXcDO3tvDDNB1MhkR83Of9ykHxSY+SXWQbrfCc7G5qQKtfe7EKXSJmpLN9HEpPfv7nbPXKuaXjQEaQGemeEv+QcjvKICHvM2ykO21EhrNAA1gC+Z6IbKKkTSODAYQQCs+9B3R3AxQMZKUZnAiJwOUwM16FWwUf7KlrwcCSUO+82QPxZPUj/DVuZarISzV8+Kg2MU7hmUITvYxwJM8K1thDPDfEZKUBI7S37ZQzGRLnxQCJ3jsz6aCKzybVeZad2JCkRKgO0+NeV0H7Sqvx5WtjecfNMqYNwm0ZIJP9pxH/4g6MpU9PoC/fO6G171PlZIBuu/+0JcJ0sbLb8nFACHFD3oGLBTT2TyyQo67c/ZnlZ6rtN5jlZZZPwN0ta7GGfNoItiIyb6LrnIGUtqLXK7/G6jzlgWC+tzDL3zHd/zIex7eYWhS9mVeSaVAd9Dv0DNyctY+BuhO6ePelk3TM8SwWrLA2yyfYGCQysoABYLrdFsWNj/SLuslIIGN+MmLkczOAB0Ua+gVGZAQZoAmcKhW1x1sVnFM4HsmMICV3ne+pWEW07igDLhTf9LG4bVAoMgQHwM8MYQIXT0DdFDMpUWkIikoY6rHcCwO96lQDZjkU41GaONOtvndkgUe0yqMAbpr2ZQbAqFclf+u0EE2O4fmztDySdrr/aE5XFZlwNmBtrf0yTmllQD9DHCDwB6NZoCVRoFKaXgZB+eoi5ICzvEuWYtlbONr50SPsaVRHB85AhO4Qs9NZShSmAGmUTzmAXgJBBvQlY50ohNdaEhE/bMUo7lQGwopAbSAg2AFF3Mkv+pwBtYJ7LdnWa5N/CZDQxv6CFp6iTcjsHO4H9zo+xO0ax4kt+UAI3NI8Se3oiLyDDJpFL/ktWoW3fiPlgNtJA/yPGW+HghgEA21CRkuYVWW9yssJFfqDAKJYC82iBUf+BUWR+KGKyxe126SNAadveMPe9MdqUHMfuVSHRwUPb8mP3GHDnEqxkUmWMYV7MlnevyWl7qVwsamH+9wBsqnoNvU43jdHxvBQ7xGKmvsRZoyHuVtbd5XoYtkbTsjcLaea4XkZd6iXtaRWRg8zEgktq4Rc5CXCBtcod/5MnLECsk4lno8rLfPJTmHclIoTBQnchkpzSQN5jOdWcxkJjNYFSV5pEnxDOewIo9EKoqI95OMYxfuYAVGNTFKaw9ZCD5gssfYBtPQ67nA5FjPfz2P5yKWMUid6YzSB/RT3s7JtGwkb/F1Xv7xUXl4CAWSRgynPbaOXhzNv/RNWSkVpdmQbVHa0/oxX1LmhR+EH4N6rOZt71A2Zv9YD+h7WdoSOHztu2hMn0x2oBfH6PA8c3OmVCrgJX7DLHKvu2EvH9OPIxjHIh3A5M6mgYFFc+7nxECUZDP21OEiJrO4L2fAlCtL3skqL21w4FoKHiZw6ERPDxtxAXeBb19FXR5pHqJCf15xAE0y9o4CPuO3yDlSOPzKQm8XtPB95zf+0FGUghQ38jXHsgn1sYAyzCoQWRl56wj+w1EsirmWQRqTeVzBbvyEKPrWrTsa7qkB7Tha2xUMbPrRx3PYD88DdL7KTqZ4h8U5D5+DyVI+yYupzMjjOhE4XMnuOBgoJLM42ZP0qu7xLnT1VugZVlBBBeksz2ocHvXCpyXdY2WA32YZkwRm+Big8h2LflrmE6zg2WquIxuDaYyr9tLKHcolULzCbhzMA3yDIuVdWCY2BtfTw8cCO2kUQRv4lInV5LzbCD72AYa1okPJIPZrajzamsbez2P4qRr+4SAYx5cYejy9ItCWbOBPHMoi9oGDwXxWBJhlpdDwGx8HtJateIbveILT2ZwKLISWCLPYHhQG73AYD9EjpqhAB0mKUVzDFzoGaN0iB3iJW2mq5aYjeNxTaQfQVMPJCm2HUDkljm28OV7O19UePRsYzxoPkIGcAEnVqSjL2JFhWHpzpDmdv0L9ldi0oym2ljm25vRq8cIbecxV0idW80m6oPEKHFr6gnWm8Vu1UrGBwyRtvqAG+UISwWd8Rlt2Zi9O9jI3DCw6ciYXe8rgdl6pUPhBY9VUd2l9xVZ6JA3owcy1EHJXAJtSzwtK/7BarcUhxVIm0U9rG03pyILQvJrA31llZJHjLzexKz18aQYOjTmKo5jOW9zDjOoOjY3JJxzAQ+yneaqoEfOTlHMpw1lGap1RfMO0kGcZpie8D9vwLSksOrG/xr0weCcvJJEOngqw0KdW5zpcE1kWiKTK/snqPrEJT9AMB4mFyVWMisz9aaEVdAM4q0BG0LZW0xSjLKxVmaH5gJA6KGZribimV6SBwd+8zus8yf8x2GOBDidyG7M1k93Qu2pW8GOeBcmm+ZwHzddaC2AL33UzPa/UPcE0ffkIFB35NiJkaF5RhokZDOItNtMytNT1hRy6cj4HcyPD3b7KHHYvg985mCu0/aHYO91CAp+yA3exDCOHVYC13A0ieEwn11i00747RT966jQ5eJmKgiSJfKu0xVV5S9GQDj4FfCeaRiSwZVpaqnv8Pv5y6tpeq0KQTNWz0b9YQlxV2iQmkm84loe0/O6y5R4RLNvKu6R4OuD+Ya21lVdRRZ47cpUvPkJl9RcXk8E1hf48z3IMJJYG7yrDwaILj3KpK1/KnMspqeBGDmMcEoOKIo6hhcl8Lmc3flwn7X7BSZ3EGO21goFsxGrqcbD27ZlM5+O87F8qZ4Zs9lJScdhpfmUI5aS1F3oQN0XCe4kslceyPcKXv9tgLVqxdF4yCLT22a4oAGO68hGBS81CYZDmCr7E0JnUim29lffnM5gFWNiCEGVxFikrRWtGnkJFI9+JKCtSs8nGvWZxDPvxOvMwMTWDlpjYCC7nYCwMWa1YLxnFHpzPL5QViNPihox8zKHcVMIqFbWZFbySV7Wly2YrdgR6sp+nPr3F73mBuJb54FY3rnYTulBlDWJSGevzCsO1SVmiOJszQuWwFLDGdx8vYxkrWZHns5qpdWzh9UOed8hDDXMjJcsKvpptnyNIRfhuy1jIm75VrCpJv8D7VCO655UIIDy1Gey8anAUgnpOrBjqldQ+TwfSplplVcAs4rXbCySfcyiHcjlv66AYlzmnacTltEaZeTRj4HAvb3Ek57JRIE1dVJvCfCN3sbgOMGZKRR8ynS4oHAwO5A0O0kqkwVLezuO4CRST2VOzn1bsyIRqjOASm740CaX7Fy8DCq6kJ3to55bi30xhTGiFFuLoqrYGzzAih1ovvET+yvZnxn6sCmHxkrms9hLte9KR2TnnTWBRxvZ6n6s85RwFHMIuLMfAphl3R7xFIZirzSRB9XCi92aTbTwsptzj2sNjeuXMrKGllEAIv4jRTTjTg9YQ9OfZasYlsWhMN28XlfNb7LKoC8U1nvE0YAeGMMRTqy22YXveNfPi64IUM7iVJ9mHf9Ldwz2zfCk7IhRcIPiWi/hYY3OsD2RjMo3RDNMYHoP5N8dqRm/wE5/k6f0czzCvvb24PwNbJuwBlOypnRJxjEGxiNP5UEtHDo15gIFM8WRXB/iNGXTTqn5XJsTgnqg9BriKCXTWe7IJA3gg5/6T2HTLmiuRiwZ5hwnGRbLZbO6Nn/XlI4Ad6czMnPtG4rANXb2f5zJZo6PkwwAcGkViUVd+pmtsDFAB41mmUwJgb1qxOCcLlFhsx/aeE+S7GO3HKrAKBpLVfMJnvMP9tNFXToqdeVfm2VwaiWAuT7MV/biXH1iAwsTE0LBEFb7HYDm3sSsfI5DrjfTnzsTLLCUFKJrxGJtpnDKHl0jn6QD5QhvqJYo92T1nRWYDm4PYKbZqLW4S1VTO9WA302zGraS82DKFZDLfeUBX+zFAl0+NflKk6MRmbMKmbEaXOg7QUAhe1ezPRjKURjnrNEvgRDYmXUC/FWXAZI3QYqHYNGLlXUzizFBtmMdoFDYGFptzTM7+CVKY/INmen0UH1ZzntzWFun4RAuZVRkVKHaP7bpykEzmNx18rNiYc7Qekf1qFwylkY7KE4xheUxgX30ZxlBO5wyOpzXgkNawWS9xjXbouhpCg0Kw2SqVna84nz4MYhgPMobv+ZsKJGW+5wuO5J+69IizHrE/G8k4JnoqVj+N5gdzeTFvF88fjPcsic25nrKs97mrJFxNo1jL1iskr3OTzvRJYXMIN3vH0I29GkOFJ6XcTHOd65v5CNLsxgeMYxyfMI4L63i9FYrRzPFMMH24XOsj0fObpi8X6DEXJl8sR+pqKIJDI5LtHBS9qXTEKG35U0jW8LQH0epwNr1zsF+DcgZwiM/kNLxaliWBqdq5ZQD7R1qm3aolfWOU1xVwvw6YUzgMpRfprJK1xGEAx2rLnGAVI2MDRjmVB3mEh3mIEWzlwcq6+2A0M7QbBOpX5wSJ2l6V0DLjeYSzGKifwxnGMIZxBsM4lQG8p4Ee1y9SSCp4xQsdUd5Weoe5eQZdSNbwiA4SNXHoxwMapltElKJMMZxtc96kxdbeu4F3tY/SwOEihnhMNo3geWZqnGjFFtzsgeCHq25YdOY/bEIb2tGeNrxRx5mqLvzlLQi9RhZncTzpLGgrDpsxnPoF99kBvmY+pr42dmC30OE1sejCIF/dxU99n3iTzzF0gNhGPEKLiPVHa099uJNGXubIW1o2r653s3SGkUQxkI0jWIuJzTDaxAh/rIBXme6ltm3E07SPiCEWOh6kJ/f7TGYv811smWdLdRWSCmCTkHnD9lXnqxEGqUEqBz6ssY6yuGg0mOA0NWNJBmDYDqENbGZFg5EIWvClh5pmoXgoS/nzJjznAcdWjwYzIOIgZwNElUBbfvAwNxwWsksA1+1kHx6Hxa36neEeduErjclXjuKlQAnqONBg2mRhTm7BI/dz5Sj+6XnXBYJWfOWDSVrO0d6quH2vhGXvwY9F4QEKJCk+1FglDopvdCaq6ZUzqMezHuCYzUwv/tLt+xBvXV0EoW6hcuCmp8zN9hBTHCrYzgtbyl4Y3cX1/MAHuPVsRrF0gAEsDdQEqSkajPuJwwN4gOM15p4IvRt2Z7qH12izkL4ReIDu7hiSNRbQBA3b5iIHVWLhnKRnPo3iXRoBKQwMyoCBuuBYBQ73FCoBhsMAKnSMtRlKlpfrdLxfdZt/Kc/77mAHh7F8n3eQj4NkCdfj6PvOwOYMxrMz9QJFqpuwF+M4uoAC4IXJMAZ/c5GuGOumkD1MO+1qcRCMYCQGlsaB+ycj2Y6yQA+bcQgfsz02JooyFnNdQba00knpC/kXtifBNuZpHqGrxmpxS347tOIUPmNLXcRcFRwSleYdr/Cmwza8wWY64NZG0Y6HOUZXj3GQvMscbxVtUjzFExhaMrXZjc84mRa+cuCu7e5yPmAjLcelEVzL19XUmqlEdFrJB57arDiG22kZMGLU5xCeo2lO+2Nx8vcrPIpJhVZyd2Y8p9IyUOhc0IlbeIsuWkq3kdzLZzkwcQq1cn/GGiQKE5v9uQCDNDY2FXTmSi9QSvADthmDOvW/RoIRnOFLwzcYQUUB5lsbk7e5ihtIaxeKYmfG8wqv8QergMZszlHaQC10NGb89kyDD7iUB3SNLYsteJwjWe0pImfTg26eBW1/9uc53uRPViNoRB+OYic9foWFwT/4aa0oZu9g8BHncT+2jj81GMpxPMkYjRHSmp6cRk+v96IofKDHOJ7eXpmdfnzOS7xPmhTbcgptNXNxECzhYWzf3FgoLqQ7O+uEQ0VbHuc8/ssPunx8B/bmKFp7To00ZbzCnXm62SwkTzKETb3KKRexLw/yK6uAFB05gsO8ABwR6+UjuIkt2QkLE4miHY9xAU/yA0sAyYb05yha6rkHixQvcG0oj6RmTHg2L3Iilq6OeAPdeJbFpNiES+mprcMmi/iGhIpQgaHMKxxgo5hNhwi82tx1gSsxmR0PTt3xSkYv9QFsuirIy/zlfSYeFbjqthzuw951a8NW4fJ2Z6IPdLyyp0tY5sM/rlRxbwzZ2epKBa4a2T988LuVs7uCZV4NYNv7/wJt1LBR3FGApLEHq33zEgX764790sjaty4adbCmiGIJy7xS4rYPav+dkCUvuwpcOT8nhLDEFYplLPVq44Z7W3MVuHLHdeZL37tt793LWBmaHRvFSzQMGJBqpgJX7o0lun+V71rMKt9PNoqHSNVEBV6fKXs5Q3eJK7w8Twt4mblZzbfZ2nGQXMq1Xr1bN52uAkVTmuKQ1uqbQvI+1/rqguT/jnzGI7iQsV7ClsW5HKtH4obDHMIUrcZV9hCa0UT3EM8pdinXRKqSKo9+Fzcm/+eildQ7OZ/VHmKIwqKCRjShORZpbYJwkEzhOd8BXl2ApPEx12pniruOlg4Ds7x1FRg8zn0ZTiyFZCaDeFPPrtubNDbNaEJjr43KGtEjOI4/IvBVss2hjeS/PKRlULelNA5NaIpJGlvPiuNV5ih2hVSE/P07hzHSK+lZObImNKGhtsBVQiNLRnASqyIcOyrPPaAyPmlj8BU3YSB10VELm+Y08E6VhWQqV5GGhAFm29y5FYNPmI6BhclK3tb+vGxwmSLLBpJcw0Am6xxaS6tjtgZcsHUU+9scwRLtqRQ53lGdtBL1GYVkGf/gbx0YYFCPB+nplaA2mExfXteF6y0dslDVQ6Fx+Q7lFi1XZKsgW0iv8NXyzQeONBp2ybUs7cvXWjK1EJjaCiU95if5hb35wZcLPCVvn7DC5N8MZRUSoVlqpQ3cjTyTWNzPmazQJcHDjOIvjuJmViGR2FpddXtoIHTmqmAOZ3E6iyPV3+y1fx0E53OPXru0Vjgrx+/o3l2tg7pyZeuSdf2i/2Yj+ZMjuJrVGuzLPzKp/dkSyTyGMpRVWU5IflWaRURPHBR3cK22n1va62xrY43AZCaHMQ+BnTDAaBnP0FmlMgt7nMFIHY8/ns+zyH9Cw84bkWBibqDqO+zKjUzE8oLKqwKMJZM5j4N14HUV4ECwp1LXUci1WWSWb7v2yG+4hDVeNYamvMqGvlDiBRzKsXzDKkyNpFvVQ5jOnezA69rSlO2IGJFBHob398wAIDOPejHCi8STWSDTBZ+yCxfzMw4p3+xK7Qn+nZvZmdlspq16AIsKRD95jL58zErdfuUsG6Rw+J4jOTerfdhGsobL2IXXmYURWn+DFIIZPMKOPKiDhYksLhQ9v6Co4AKO4lss3bvg2v3M0dygd7mMLBpVCXAhI3eUkeVvrn6zmuvYlVf4M2JkJoIpPMTWPKYB8aN2jpHjigz2ROrP+7M/bK7hBL7Xvn/pW/dVvMtB/OxeKCLhdhnR8RtwEiuRODTkBz6IAOoxsOnBQaygEeP5IsL0L3HoxmCWYmDTmE/5IkdeaXMG0o/NaEdnLZXN5Rcm8AQLddXhwTTRgD5TeE9/y8Bmb7ZhOQYKkzf5PaOnAkVTBtMIGzCZxOjIDXc4HVmjlZZ6fO4bk9CS4kD2pRedaItEsZC5TGEcI5mVBchI4tCDvbV8UY93dOWQyl51pb/OP5F8yne+Me3D1qzQwTqP6XD6qHlrxwleNu7oQBSZDOQbKBpwNDuzORvRHjBYyCIm8TUv8htQn+c4BAsTB5tu/FFQPoL72YM5iN50oCUCk3nMYhof8lS1PubKN23GkfRmc9rRBIXid5YykW95k5k55rcjB2KgUDRkDN9HfM419x/NvnSnPa2QmCxkJtMZywjWYDCIDlgIJF+HrvJBdMICUizg1cA6SPamFxWAySJG5kx568UR9GRTOtIIsJnLXH7jS15kfpaRCRTdOZByvfvGMCmLiCFxOIoNKQdMljMihG2uKGMou9GLjpQhmcccfuENXqt6c8IA657lVgYNNaMNHVEIljNfY9bWjle1ugDUykPclI5sgMRhMfP50wv5XbupsoctaE9bBJJFLGE6APUoZ3tGaxRpyXfsw6ICE7IqV7ANG9ICgcECZuvjnU8tF6FtsNCN1jRGofiDZRoI1CwIgSn72ralLS2RGCxiNn/nte7x7e2N2YiGgMPfzGNhLCPLZ+zuvu3GhqSQLGQuc3TovyoFHtj6wpJMnzBv51ST8/lE7k9VHoFwGID0FY0SvljAYEv+UtPZkLazfzsaRIoIi5XQxX4IvdvOeYT8MxD+ZPa/+ceUznOd/C0YXpCSQ2PGMkHDf6Uzvu36BB/jFCxMLEzu57yiDqUZOTv5Y59LTKzQDJmIauY32wxUv7uqemdm3RumD1PFyvDCSx/0lypwZNXPTa6dQ969RNt9g7tLrFfoBOuV5VFi+gAm1k7b6NrdQ3fTP6dZm4NiJjvrTIBw790osVO9TIs0FeyZR22VUs2O8LUgY3dP1uXaibXk7Wvzrk0oodjwbvqwzBftNot9AEj5MG1MLWEM9UIoLBRv0Tg5IgkllNC6LUkLrvACad1s4Ot8iMx42agP+IK5bZazTw3kv4TW2fsyoYTWNwZYn1fZlzSmBh6DKXzPN8zWPule7EIPWupAbvf/N3DlWpHKl1BCCSVUw4TGVoz10rUcL5OmKlNDaRSbymS0B0KOoIQSSiihdZgFtuYVXajT9vJXqnJfLf3bchRp7k6mLKGEEmI9M+5czCzt4rB9gBOOhplwZb8JnJBHxkFCCSWU0DpWyh624AZmhJBaqp4vGEb7PNLuEkqcIAkltA6GtKeBDmxHP7ZiG1rqAoy/MI2vGMd0FsB6VLY1oQLp/wGG8/z8bVclzAAAAABJRU5ErkJggg==");
  --mark: url("data:image/png;base64,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");
  --font-display: "Bricolage Grotesque", "Segoe UI", Helvetica, Arial, sans-serif;
  --font-body: "Instrument Sans", "Segoe UI", Helvetica, Arial, sans-serif;
  --font-mono: "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: var(--bg);
  color: var(--fg);
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.6;
  padding-left: max(var(--gut), env(safe-area-inset-left, 0px));
  padding-right: max(var(--gut), env(safe-area-inset-right, 0px));
  padding-block: 0;
}
body::before {
  content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px);
  z-index: 10; background: var(--bg);
}
a { color: inherit; }
:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; }
h1, h2, h3 { font-family: var(--font-display); line-height: 1.05; margin: 0; text-wrap: balance; letter-spacing: -0.02em; }
h1 { font-size: clamp(2.6rem, 7vw, 5.4rem); font-weight: 700; }
h2 { font-size: clamp(1.9rem, 4vw, 3rem); font-weight: 650; }
h3 { font-size: 1.35rem; font-weight: 600; letter-spacing: -0.01em; }
p { margin: 0; }
.wrap { max-width: var(--wrapw); margin: 0 auto; }
.label { font-family: var(--font-mono); font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.lead { font-size: clamp(1.1rem, 2vw, 1.3rem); color: var(--muted); max-width: 56ch; }

/* Header */
.site-header {
  position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20;
  background: var(--bg); border-bottom: 1px solid var(--line);
  margin-left: calc(-1 * max(var(--gut), env(safe-area-inset-left, 0px)));
  margin-right: calc(-1 * max(var(--gut), env(safe-area-inset-right, 0px)));
  padding-left: max(var(--gut), env(safe-area-inset-left, 0px));
  padding-right: max(var(--gut), env(safe-area-inset-right, 0px));
}
.site-header .wrap { display: flex; align-items: center; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; padding-block: 14px; }
.brand { display: inline-flex; text-decoration: none; }
.logo { display: block; height: 46px; aspect-ratio: 785 / 223; background: var(--fg); -webkit-mask: var(--logo) center / contain no-repeat; mask: var(--logo) center / contain no-repeat; }
.site-footer .logo { height: 54px; }
.mark-lg { width: clamp(96px, 16vw, 190px); aspect-ratio: 524 / 703; background: var(--fg); -webkit-mask: var(--mark) center / contain no-repeat; mask: var(--mark) center / contain no-repeat; flex: none; }
.about-head > .page-head { min-width: 0; }
.about-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; }
.head-right { display: flex; align-items: center; gap: 14px; min-width: 0; max-width: 100%; }
.site-header .soc { gap: 8px; }
.site-header .soc a { width: 34px; height: 34px; }
.site-header .soc a svg { width: 16px; height: 16px; }
.nav { display: flex; gap: 4px; align-items: center; overflow-x: auto; max-width: 100%; }
.nav a { text-decoration: none; padding: 8px 12px; font-weight: 500; font-size: 0.97rem; white-space: nowrap; border-bottom: 2px solid transparent; }
.nav a:hover { border-bottom-color: var(--line); }
.nav a[aria-current="page"] { border-bottom-color: var(--primary); }
.nav a.cta { background: var(--primary); color: var(--on-primary); border-radius: 6px; margin-left: 8px; border-bottom: 0; }
.nav a.cta:hover { filter: brightness(1.08); }

/* Buttons */
.btn { display: inline-flex; align-items: center; gap: 8px; padding: 14px 22px; border-radius: 6px; font-weight: 600; font-size: 1rem; text-decoration: none; border: 2px solid var(--primary); cursor: pointer; font-family: var(--font-body); }
.btn-primary { background: var(--primary); color: var(--on-primary); }
.btn-primary:hover { filter: brightness(1.08); }
.btn-ghost { background: transparent; color: var(--fg); border-color: var(--fg); }
.btn-ghost:hover { background: var(--fg); color: var(--bg); }
.btn-row { display: flex; flex-wrap: wrap; gap: 12px; }

/* Views */
.view { padding-block: clamp(40px, 8vw, 96px); }
.view > .wrap { display: flex; flex-direction: column; gap: clamp(56px, 9vw, 112px); }
.section { display: flex; flex-direction: column; gap: 32px; }
.section-head { display: flex; flex-direction: column; gap: 14px; max-width: 760px; }

/* Hero */
.hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.hero-copy { display: flex; flex-direction: column; gap: 28px; }
.hero h1 em { font-style: normal; text-decoration: underline; text-decoration-thickness: 0.07em; text-underline-offset: 0.1em; }
.plan { background: var(--surface); border: 1px solid var(--line); padding: 20px; display: flex; flex-direction: column; gap: 16px; }
.plan-head { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.plan-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.plan-day { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.plan-day .d { font-family: var(--font-mono); font-size: 0.72rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.06em; text-align: center; }
.slot { aspect-ratio: 3 / 5; border: 1px dashed var(--line); display: flex; align-items: flex-end; padding: 6px 4px; font-family: var(--font-mono); font-size: 0.62rem; line-height: 1.2; overflow: hidden; word-break: break-word; }
.slot.on { border: 0; background: var(--primary); color: var(--on-primary); }
.slot.soft { border: 0; background: var(--tint); color: var(--fg); }
.plan-foot { display: flex; gap: 16px; flex-wrap: wrap; }
.key { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: 0.72rem; color: var(--muted); }
.key i { width: 10px; height: 10px; display: inline-block; background: var(--primary); }
.key i.soft { background: var(--tint); outline: 1px solid var(--line); }

.platforms { display: flex; flex-wrap: wrap; gap: 8px 28px; border-block: 1px solid var(--line); padding-block: 18px; font-family: var(--font-mono); font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); }


/* Pakete und Zusatzleistungen */
.packages { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.pkg { background: var(--surface); border: 1px solid var(--line); padding: 24px; display: flex; flex-direction: column; gap: 22px; min-width: 0; }
.pkg .name { font-family: var(--font-display); font-weight: 600; font-size: 1.3rem; letter-spacing: -0.01em; }
.pkg .price { display: flex; flex-direction: column; gap: 2px; margin-top: auto; }
.pkg .amount { font-family: var(--font-display); font-weight: 700; font-size: clamp(2rem, 3.4vw, 2.7rem); line-height: 1; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.pkg .unit { font-family: var(--font-mono); font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.pkg.top { background: var(--primary); color: var(--on-primary); border-color: var(--primary); }
.pkg.top .unit { color: var(--on-primary); opacity: 0.75; }
.pkg.top .btn { background: var(--on-primary); color: var(--primary); border-color: var(--on-primary); }
.pkg .btn { justify-content: center; padding: 12px 18px; }
.offers { display: flex; flex-direction: column; }
.offer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 0.9fr); gap: 12px 40px; padding-block: 28px; border-top: 1px solid var(--line); align-items: start; }
.offer:last-child { border-bottom: 1px solid var(--line); }
.offer h3 { font-size: clamp(1.4rem, 2.6vw, 1.9rem); }
.offer p { color: var(--muted); }
.offer .cost { display: flex; flex-direction: column; gap: 10px; }
.cost-line { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.cost-line .what { font-family: var(--font-mono); font-size: 0.78rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); }
.cost-line .val { font-family: var(--font-display); font-weight: 700; font-size: 1.6rem; letter-spacing: -0.02em; white-space: nowrap; font-variant-numeric: tabular-nums; }
.cost-note { font-size: 0.9rem; color: var(--muted); }
.offer .link { color: var(--fg); font-weight: 600; text-decoration: underline; text-underline-offset: 0.2em; }


/* Smartphone-Referenzen */
.phone { position: relative; width: min(100%, 250px); aspect-ratio: 9 / 18.2; background: #0B1219; border-radius: 38px; padding: 9px; box-shadow: 0 0 0 1px var(--line), 0 24px 40px -24px rgba(11, 18, 25, 0.5); flex: none; font-size: 11px; line-height: 1.3; }
.phone::before { content: ""; position: absolute; top: 15px; left: 50%; width: 28%; height: 17px; transform: translateX(-50%); background: #0B1219; border-radius: 12px; z-index: 2; }
.phone-screen { height: 100%; border-radius: 30px; overflow: hidden; background: var(--surface); color: var(--fg); display: flex; flex-direction: column; gap: 12px; padding: 40px 12px 12px; }
.ph-top { display: flex; align-items: center; gap: 12px; }
.avatar { position: relative; width: 48px; height: 48px; border-radius: 50%; background: var(--primary); flex: none; }
.avatar::after { content: ""; position: absolute; inset: 24%; background: var(--on-primary); -webkit-mask: var(--mark) center / contain no-repeat; mask: var(--mark) center / contain no-repeat; }
.ph-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; flex: 1; text-align: center; min-width: 0; }
.ph-stats b { display: block; font-family: var(--font-display); font-size: 1.15em; }
.ph-stats span { display: block; color: var(--muted); font-size: 0.85em; }
.ph-name { display: flex; flex-direction: column; gap: 2px; }
.ph-name b { font-size: 1.1em; }
.ph-name span { color: var(--muted); }
.ph-bars { display: flex; flex-direction: column; gap: 5px; }
.ph-bars i { display: block; height: 5px; background: var(--line); border-radius: 3px; }
.ph-bars i:last-child { width: 60%; }
.ph-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; margin-top: auto; }
.tile { position: relative; aspect-ratio: 1; background: var(--tint); overflow: hidden; }
.tile.p { background: var(--primary); }
.tile.l { background: var(--line); }
.tile.p::after { content: ""; position: absolute; inset: 28%; background: var(--on-primary); opacity: 0.55; -webkit-mask: var(--mark) center / contain no-repeat; mask: var(--mark) center / contain no-repeat; }

.ref-teasers { display: flex; gap: 32px; overflow-x: auto; scroll-snap-type: x proximity; padding-bottom: 8px; }
.ref-card { flex: 1 0 230px; display: flex; flex-direction: column; align-items: center; gap: 18px; scroll-snap-align: start; text-align: center; }
.ref-card .meta { display: flex; flex-direction: column; gap: 4px; }
.ref-card .meta b { font-family: var(--font-display); font-size: 1.2rem; font-weight: 600; }
.ref-card .meta span { color: var(--muted); font-size: 0.95rem; }
.section-foot { display: flex; }

.ref { display: grid; grid-template-columns: minmax(0, 260px) minmax(0, 1fr); gap: clamp(28px, 6vw, 80px); align-items: center; padding-block: clamp(32px, 5vw, 56px); border-top: 1px solid var(--line); }
.ref:last-child { border-bottom: 1px solid var(--line); }
.ref .phone { justify-self: center; }
.ref-body { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.ref-body h2 { font-size: clamp(1.8rem, 3.4vw, 2.6rem); }
.ref-body p { color: var(--muted); max-width: 58ch; }
.ref-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border: 1px solid var(--line); background: var(--surface); }
.ref-metric { padding: 16px 18px; display: flex; flex-direction: column; gap: 2px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); margin-top: -1px; margin-left: -1px; }
.ref-metric b { font-family: var(--font-display); font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 700; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.ref-metric span { color: var(--muted); font-size: 0.93rem; }
.ph-tag { align-self: flex-start; font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; background: var(--tint); padding: 4px 10px; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }


/* Animation: Intro und Hero-Sequenz */
:root { --t0: 0ms; }
@keyframes rise { from { opacity: 0; transform: translateY(0.45em); } to { opacity: 1; transform: none; } }
@keyframes fade { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes pop { from { opacity: 0; transform: scale(0.55); } to { opacity: 1; transform: none; } }
@keyframes float-in { from { opacity: 0; transform: translateY(48px) rotate(3deg); } to { opacity: 1; transform: none; } }
@keyframes chip-in { from { opacity: 0; transform: translateY(16px) scale(0.92); } to { opacity: 1; transform: none; } }
@keyframes fill { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes wipe { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes curtain { to { transform: translateY(-101%); } }

.hero.go .w { display: inline-block; animation: rise 0.75s cubic-bezier(0.2, 0.7, 0.2, 1) both; animation-delay: calc(var(--t0) + var(--d, 0) * 90ms); }
.hero.go .fade-in { animation: fade 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) both; animation-delay: calc(var(--t0) + 750ms); }
.hero.go .stage .phone { animation: float-in 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) both; animation-delay: var(--t0); }
.hero.go .stage .avatar { animation: pop 0.5s cubic-bezier(0.3, 1.4, 0.5, 1) both; animation-delay: calc(var(--t0) + 400ms); }
.hero.go .stage .tile { animation: pop 0.45s cubic-bezier(0.3, 1.4, 0.5, 1) both; animation-delay: calc(var(--t0) + 600ms + var(--i, 0) * 80ms); }
.hero.go .stage .chip { animation: chip-in 0.6s cubic-bezier(0.2, 0.7, 0.2, 1) both; animation-delay: calc(var(--t0) + 1300ms); }
.hero.go .stage .chip.b { animation-delay: calc(var(--t0) + 1600ms); }

.stage { display: flex; flex-direction: column; align-items: center; gap: 26px; min-width: 0; }
.stage-device { position: relative; width: 100%; max-width: 420px; display: flex; justify-content: center; padding-block: 6px; }
.stage .phone { width: min(100%, 270px); }
.chip { position: absolute; z-index: 3; display: flex; flex-direction: column; gap: 2px; padding: 12px 16px; background: var(--primary); color: var(--on-primary); box-shadow: 0 18px 30px -18px rgba(11, 18, 25, 0.55); }
.chip.a { right: 0; top: 30%; }
.chip.b { left: 0; bottom: 12%; background: var(--surface); color: var(--fg); border: 1px solid var(--line); }
.chip .k { font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase; opacity: 0.8; }
.chip .v { font-family: var(--font-display); font-weight: 700; font-size: 1.9rem; line-height: 1.05; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.chip.b .v { font-size: 1.3rem; }
.stage-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.stab { position: relative; overflow: hidden; font: inherit; font-weight: 600; font-size: 0.92rem; padding: 10px 16px; background: var(--surface); color: var(--fg); border: 1px solid var(--line); border-radius: 999px; cursor: pointer; }
.stab:hover { border-color: var(--fg); }
.stab[aria-pressed="true"] { border-color: var(--primary); }
.stab[aria-pressed="true"]::after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 3px; background: var(--primary); transform-origin: left; animation: fill var(--dur, 6500ms) linear both; animation-delay: var(--t0); }
.stage.paused .stab::after { animation-play-state: paused; }

.intro { position: fixed; inset: 0; z-index: 100; background: var(--primary); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 30px; animation: curtain 0.8s cubic-bezier(0.7, 0, 0.2, 1) 1.9s forwards; }
.intro-mark { height: min(34vh, 250px); aspect-ratio: 524 / 703; background: var(--on-primary); -webkit-mask: var(--mark) center / contain no-repeat; mask: var(--mark) center / contain no-repeat; animation: wipe 0.9s cubic-bezier(0.6, 0, 0.2, 1) 0.2s both; }
.intro-logo { height: 44px; aspect-ratio: 785 / 223; background: var(--on-primary); -webkit-mask: var(--logo) center / contain no-repeat; mask: var(--logo) center / contain no-repeat; animation: fade 0.6s ease 1s both; }
.intro-skip { position: absolute; right: max(var(--gut), env(safe-area-inset-right, 0px)); bottom: max(var(--gut), env(safe-area-inset-bottom, 0px)); font: inherit; font-family: var(--font-mono); font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase; background: transparent; color: var(--on-primary); border: 1px solid var(--on-primary); padding: 8px 14px; cursor: pointer; opacity: 0.8; }
.intro-skip:hover { opacity: 1; }

@media (hover: hover) {
  .pkg { transition: transform 0.25s ease, box-shadow 0.25s ease; }
  .pkg:hover { transform: translateY(-4px); box-shadow: 0 18px 30px -22px rgba(11, 18, 25, 0.5); }
}
@media (max-width: 640px) {
  .chip { padding: 8px 12px; }
  .chip .v { font-size: 1.45rem; }
  .chip.b .v { font-size: 1.05rem; }
}
@media (prefers-reduced-motion: reduce) {
  .hero.go *, .hero.go .stage .phone, .stab::after { animation: none !important; }
  .intro { display: none !important; }
}

/* Vorstellungsvideo im Smartphone */
.intro-video { align-items: center; }
.intro-video .phone { justify-self: center; width: min(100%, 270px); }
.phone-video .phone-screen { padding: 0; gap: 0; background: #0B1219; }
.phone-video video { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; background: #0B1219; }


/* Über uns: Inhaber, Überzeugungen, Ablauf */
.founder { display: flex; flex-direction: column; gap: 22px; min-width: 0; }
.quote { margin: 0; font-family: var(--font-display); font-weight: 600; font-size: clamp(1.5rem, 3vw, 2.3rem); line-height: 1.15; letter-spacing: -0.02em; text-wrap: balance; border-left: 4px solid var(--primary); padding-left: 20px; }
.byline { display: flex; align-items: center; gap: 14px; }
.byline .avatar { width: 46px; height: 46px; }
.byline b { display: block; font-family: var(--font-display); font-size: 1.1rem; }
.byline span { color: var(--muted); font-size: 0.93rem; }
.founder-text { color: var(--muted); max-width: 52ch; }

.belief { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr); gap: 24px clamp(24px, 4vw, 56px); align-items: stretch; }
.belief-tabs { display: flex; flex-direction: column; border-bottom: 1px solid var(--line); align-self: start; }
.btab { position: relative; font: inherit; font-family: var(--font-display); font-weight: 600; font-size: clamp(1.1rem, 2vw, 1.35rem); letter-spacing: -0.01em; line-height: 1.2; text-align: left; background: none; border: 0; border-top: 1px solid var(--line); padding: 22px 0 22px 16px; color: var(--muted); cursor: pointer; transition: color 0.25s ease, padding 0.25s ease; }
.btab::before { content: ""; position: absolute; left: 0; top: -1px; bottom: 0; width: 4px; background: var(--primary); transform: scaleY(0); transform-origin: top; transition: transform 0.35s cubic-bezier(0.3, 0.7, 0.2, 1); }
.btab:hover { color: var(--fg); }
.btab[aria-selected="true"] { color: var(--fg); padding-left: 26px; }
.btab[aria-selected="true"]::before { transform: scaleY(1); }
.belief-panel { background: var(--surface); border: 1px solid var(--line); padding: clamp(22px, 3vw, 36px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr); gap: 28px; align-items: center; min-height: 300px; }
.belief-panel.swap > * { animation: fade 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
.belief-panel.swap > *:nth-child(2) { animation-delay: 0.08s; }
.belief-text { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.belief-text p { color: var(--muted); }
.belief-visual { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; min-width: 0; }

.v-dots { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 8px; width: 100%; max-width: 300px; }
.v-dots i { display: block; aspect-ratio: 1; border-radius: 50%; background: var(--line); }
.v-dots i.on { animation: light 0.6s cubic-bezier(0.3, 1.4, 0.5, 1) both; animation-delay: calc(var(--k, 0) * 160ms + 250ms); }
@keyframes light { from { background: var(--line); transform: scale(0.7); } to { background: var(--primary); transform: scale(1.2); } }
.v-chart { width: 100%; max-width: 340px; height: auto; overflow: visible; }
.v-chart path { fill: none; stroke-linecap: round; }
.v-chart .axis { stroke: var(--line); stroke-width: 2; }
.v-chart .a, .v-chart .b { stroke-dasharray: 1; stroke-dashoffset: 1; animation: draw 1.8s ease forwards; }
.v-chart .a { stroke: var(--muted); stroke-width: 3; }
.v-chart .b { stroke: var(--primary); stroke-width: 5; animation-delay: 0.5s; }
@keyframes draw { to { stroke-dashoffset: 0; } }
.legend { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 0.88rem; color: var(--muted); }
.legend li { display: inline-flex; align-items: center; gap: 8px; }
.legend i { display: inline-block; width: 18px; height: 4px; background: var(--muted); }
.legend i.b { background: var(--primary); height: 5px; }
.v-mark { position: relative; width: min(100%, 220px); aspect-ratio: 1; display: grid; place-items: center; }
.v-mark .ring { position: absolute; inset: 0; border: 2px solid var(--primary); border-radius: 50%; opacity: 0; animation: ring 3.2s ease-out infinite; }
.v-mark .ring.r2 { animation-delay: 1.05s; }
.v-mark .ring.r3 { animation-delay: 2.1s; }
@keyframes ring { 0% { transform: scale(0.35); opacity: 0.7; } 100% { transform: scale(1); opacity: 0; } }
.v-mark .mark-lg { width: 66px; }

.flow-scroll { overflow-x: auto; padding-bottom: 4px; }
.flow-track { position: relative; display: grid; grid-template-columns: repeat(5, minmax(92px, 1fr)); padding-top: 8px; }
.flow-line { position: absolute; left: 10%; right: 10%; top: 22px; height: 3px; background: var(--line); }
.flow-fill { display: block; height: 100%; width: var(--p, 0%); background: var(--primary); transition: width 0.7s cubic-bezier(0.3, 0.7, 0.2, 1); }
.fstep { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 10px; font: inherit; font-weight: 600; font-size: 0.95rem; color: var(--muted); background: none; border: 0; padding: 0 4px 10px; cursor: pointer; transition: color 0.25s ease; }
.fstep .dot { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--bg); border: 3px solid var(--line); font-family: var(--font-mono); font-size: 0.72rem; color: var(--muted); transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s cubic-bezier(0.3, 1.4, 0.5, 1), color 0.3s ease; }
.fstep.done .dot { border-color: var(--primary); }
.fstep[aria-selected="true"] { color: var(--fg); }
.fstep[aria-selected="true"] .dot { background: var(--primary); border-color: var(--primary); color: var(--on-primary); transform: scale(1.18); }
.fstep:hover { color: var(--fg); }
.flow-panel { margin-top: 20px; background: var(--surface); border: 1px solid var(--line); padding: clamp(22px, 3vw, 36px); display: flex; flex-direction: column; gap: 14px; min-height: 200px; }
.flow-panel.swap > * { animation: fade 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
.flow-panel p { color: var(--muted); max-width: 62ch; }
.pills { display: flex; flex-wrap: wrap; gap: 8px; }
.pill { background: var(--tint); color: var(--fg); padding: 6px 14px; border-radius: 999px; font-size: 0.92rem; text-decoration: none; }
a.pill:hover { text-decoration: underline; }

@media (max-width: 880px) {
  .belief { grid-template-columns: minmax(0, 1fr); }
  .belief-panel { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .v-chart .a, .v-chart .b { animation: none; stroke-dashoffset: 0; }
  .v-dots i.on { animation: none; background: var(--primary); }
  .v-mark .ring { animation: none; opacity: 0.25; transform: none; }
  .belief-panel.swap > *, .flow-panel.swap > * { animation: none; }
}


/* Scroll-Story */
.story { position: relative; height: 340vh; }
.story-pin { position: sticky; top: calc(env(safe-area-inset-top, 0px) + 76px); height: min(680px, calc(100svh - 96px)); min-height: 520px; background: var(--primary); color: var(--on-primary); overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(16px, 4vw, 48px); padding: clamp(20px, 4vw, 52px); }
.story-text { display: flex; flex-direction: column; justify-content: center; gap: 28px; min-width: 0; z-index: 2; }
.story-text .label { color: var(--on-primary); opacity: 0.7; }
.story-words { display: grid; }
.sw { grid-area: 1 / 1; display: flex; flex-direction: column; gap: 16px; opacity: 0; transform: translateY(28px); transition: opacity 0.6s ease, transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1); pointer-events: none; }
.sw.on { opacity: 1; transform: none; pointer-events: auto; }
.sw.past { transform: translateY(-28px); }
.sw h2 { font-size: clamp(2.3rem, 5.6vw, 4.6rem); font-weight: 700; line-height: 1; }
.sw p { font-size: clamp(1rem, 1.6vw, 1.2rem); opacity: 0.8; max-width: 34ch; }
.story-steps { display: flex; flex-wrap: wrap; gap: 8px; }
.sst { font: inherit; font-family: var(--font-mono); font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase; background: transparent; color: var(--on-primary); border: 1px solid currentColor; opacity: 0.55; padding: 8px 14px; border-radius: 999px; cursor: pointer; transition: opacity 0.25s ease, background 0.25s ease, color 0.25s ease; }
.sst:hover { opacity: 0.9; }
.sst.on { opacity: 1; background: var(--on-primary); color: var(--primary); }
.sst:focus-visible { outline-color: var(--on-primary); }
.story-visual { position: relative; container-type: size; min-width: 0; min-height: 0; }
.smark { position: absolute; left: 50%; top: 50%; height: 62cqmin; width: auto; aspect-ratio: 524 / 703; transform: translate(-50%, -50%); transition: transform 0.9s cubic-bezier(0.3, 0.7, 0.2, 1), opacity 0.8s ease; overflow: visible; }
.smark path { fill: var(--on-primary); transform-box: fill-box; transform-origin: center; will-change: transform, opacity; }
.smark .p3 { opacity: 0.55; }
.story[data-scene="1"] .smark { transform: translate(-50%, -50%) scale(0.5); }
.story[data-scene="2"] .smark { transform: translate(-50%, -50%) scale(0.36); opacity: 0.1; }
.sc-chip { position: absolute; left: 50%; top: 50%; white-space: nowrap; font-weight: 600; font-size: 0.88rem; padding: 8px 14px; border-radius: 999px; background: var(--on-primary); color: var(--primary); opacity: 0; transform: translate(-50%, -50%) rotate(var(--a)) translateX(0) rotate(calc(var(--a) * -1)) scale(0.6); transition: transform 0.9s cubic-bezier(0.3, 1.2, 0.4, 1), opacity 0.5s ease; transition-delay: calc(var(--i) * 70ms); }
.story[data-scene="1"] .sc-chip { opacity: 1; transform: translate(-50%, -50%) rotate(var(--a)) translateX(40cqmin) rotate(calc(var(--a) * -1)) scale(1); }
.story[data-scene="2"] .sc-chip { opacity: 0; transform: translate(-50%, -50%) rotate(var(--a)) translateX(52cqmin) rotate(calc(var(--a) * -1)) scale(0.7); transition-delay: 0ms; }
.sring { position: absolute; left: 50%; top: 50%; width: 78cqmin; aspect-ratio: 1; margin: -39cqmin 0 0 -39cqmin; border: 2px solid var(--on-primary); border-radius: 50%; opacity: 0; }
.story[data-scene="2"] .sring { animation: ring 3.2s ease-out infinite; }
.story[data-scene="2"] .sring.r2 { animation-delay: 1.05s; }
.story[data-scene="2"] .sring.r3 { animation-delay: 2.1s; }
.count { width: max-content; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -46%); display: flex; flex-direction: column; align-items: center; gap: 6px; opacity: 0; transition: opacity 0.6s ease 0.2s, transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) 0.2s; text-align: center; }
.count b { white-space: nowrap; font-family: var(--font-display); font-weight: 700; font-size: clamp(2.6rem, 14cqmin, 6.5rem); line-height: 1; letter-spacing: -0.04em; font-variant-numeric: tabular-nums; }
.count span { font-family: var(--font-mono); font-size: 0.8rem; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.8; }
.story[data-scene="2"] .count { opacity: 1; transform: translate(-50%, -50%); }
.story-hint { position: absolute; left: clamp(20px, 4vw, 52px); bottom: 16px; font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.6; transition: opacity 0.4s ease; }
.story:not([data-scene="0"]) .story-hint { opacity: 0; }
.story-bar { position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: rgba(128, 128, 128, 0.25); }
.story-bar i { display: block; height: 100%; width: 0; background: var(--on-primary); }

/* Einblenden beim Scrollen, Inhalt ist ohne Script sichtbar */
.pre { opacity: 0; transform: translateY(26px); }
.pre.in { opacity: 1; transform: none; transition: opacity 0.7s ease, transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1); transition-delay: var(--rd, 0ms); }

@media (max-width: 760px) {
  .story { height: 320vh; }
  .story-pin { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto; min-height: 0; padding: 18px; gap: 8px; }
  .story-visual { order: -1; }
  .story-text { gap: 14px; justify-content: flex-end; }
  .sw h2 { font-size: clamp(2rem, 9vw, 2.6rem); }
  .sw p { font-size: 0.95rem; }
  .sc-chip { font-size: 0.7rem; padding: 6px 10px; }
  .story-hint { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .story { height: auto; }
  .story-pin { position: static; height: auto; min-height: 0; }
  .sw { display: none; }
  .sw[data-s="2"] { display: flex; opacity: 1; transform: none; }
  .story-visual { min-height: 320px; }
  .story-hint, .story-bar, .story-steps { display: none; }
  .pre { opacity: 1; transform: none; }
}


/* Scroll-Story, Stufe 2: Partikel, Raum, Typo */
.story-canvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; }
.story-pin::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: radial-gradient(540px circle at var(--mx, 72%) var(--my, 34%), color-mix(in srgb, var(--on-primary) 12%, transparent), transparent 62%); }
.story-text { z-index: 3; }
.story-visual { z-index: 2; will-change: transform; }
.story-hint, .story-bar { z-index: 3; }
.flash { position: absolute; left: 50%; top: 50%; width: 60cqmin; aspect-ratio: 1; margin: -30cqmin 0 0 -30cqmin; border-radius: 50%; border: 3px solid var(--on-primary); opacity: 0; pointer-events: none; }
.flash.go { animation: flash 1.1s cubic-bezier(0.2, 0.7, 0.2, 1); }
@keyframes flash { 0% { transform: scale(0.2); opacity: 0.9; border-width: 7px; } 100% { transform: scale(2.2); opacity: 0; border-width: 1px; } }
.count { top: 41%; }
.minis { position: absolute; left: 0; right: 0; bottom: 2cqmin; display: flex; justify-content: center; gap: clamp(16px, 7cqmin, 44px); opacity: 0; transform: translateY(18px); transition: opacity 0.6s ease 0.7s, transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) 0.7s; }
.story[data-scene="2"] .minis { opacity: 1; transform: none; }
.minis > div { display: flex; flex-direction: column; align-items: center; gap: 2px; text-align: center; }
.minis b { font-family: var(--font-display); font-weight: 700; font-size: clamp(1.25rem, 6.5cqmin, 2.1rem); letter-spacing: -0.02em; white-space: nowrap; font-variant-numeric: tabular-nums; }
.minis span { font-family: var(--font-mono); font-size: 0.66rem; letter-spacing: 0.08em; text-transform: uppercase; opacity: 0.75; }
.sw h2 .wd { display: inline-block; white-space: nowrap; }
.sw h2 .ch { display: inline-block; opacity: 0; transform: translateY(0.55em) rotate(7deg); filter: blur(10px); transition: opacity 0.7s ease, transform 0.9s cubic-bezier(0.2, 0.8, 0.2, 1), filter 0.7s ease; transition-delay: calc(var(--ci, 0) * 28ms); }
.sw.on h2 .ch { opacity: 1; transform: none; filter: blur(0); }
.sw.past h2 .ch { opacity: 0; transform: translateY(-0.5em); filter: blur(8px); transition-delay: 0ms; }
@media (max-width: 760px) { .count { top: 38%; } .minis span { font-size: 0.58rem; } }
@media (prefers-reduced-motion: reduce) { .story-canvas, .flash { display: none; } .sw h2 .ch { opacity: 1; transform: none; filter: none; } }


/* Scroll-Story, Stufe 3: volle Breite, Korn, Abschluss */
.story { height: 420vh; margin-block: clamp(56px, 9vw, 112px); margin-left: calc(-1 * max(var(--gut), env(safe-area-inset-left, 0px))); margin-right: calc(-1 * max(var(--gut), env(safe-area-inset-right, 0px))); }
.story-pin { height: min(780px, calc(100svh - 96px)); padding-block: clamp(24px, 4vw, 56px); padding-inline: max(max(var(--gut), env(safe-area-inset-left, 0px)), calc((100% - var(--wrapw)) / 2)); }
.story-pin::before { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: 0.09; mix-blend-mode: overlay; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"); }
.story-hint { left: max(max(var(--gut), env(safe-area-inset-left, 0px)), calc((100% - var(--wrapw)) / 2)); }
.sw > div:last-child:not(:first-child) { margin-top: 6px; }
.story-cta { background: var(--on-primary); color: var(--primary); border-color: var(--on-primary); transition: transform 0.25s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.3s ease; will-change: transform; }
.story-cta:hover { box-shadow: 0 0 0 6px color-mix(in srgb, var(--on-primary) 22%, transparent); }
.story-cta:focus-visible { outline-color: var(--on-primary); }
@media (max-width: 760px) { .sc-chip { font-size: 0.6rem; padding: 5px 8px; } .story[data-scene="1"] .sc-chip { transform: translate(-50%, -50%) rotate(var(--a)) translateX(35cqmin) rotate(calc(var(--a) * -1)) scale(1); } }
@media (max-width: 760px) { .story { height: 380vh; } .story-pin { padding-inline: max(var(--gut), env(safe-area-inset-left, 0px)); } .story-hint { left: 16px; } }
@media (prefers-reduced-motion: reduce) {
  .story { height: auto; }
  .sw[data-s="2"] { display: none; }
  .sw[data-s="3"] { display: flex; opacity: 1; transform: none; }
}


/* Scroll-Reveal: ruhig und präzise */
.mw { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: 0.1em; margin-bottom: -0.1em; }
.mi { display: inline-block; transform: translateY(108%); transition: transform 0.95s cubic-bezier(0.2, 0.8, 0.2, 1); transition-delay: calc(var(--wi, 0) * 70ms); }
.rvh.in .mi { transform: none; }
.pre.in { transition-duration: 0.8s, 0.95s; }
.band.pre { transform: translateY(34px) scale(0.975); }
.offer, .row, .ref { position: relative; }
.offer::after, .row::after { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 1px; background: var(--fg); transform: scaleX(0); transform-origin: left; opacity: 0; pointer-events: none; }
.offer.in::after, .row.in::after { animation: rulesweep 1.2s cubic-bezier(0.6, 0, 0.2, 1) var(--rd, 0ms) both; }
@keyframes rulesweep { 0% { transform: scaleX(0); opacity: 1; } 65% { transform: scaleX(1); opacity: 1; } 100% { transform: scaleX(1); opacity: 0; } }
.offer h3 { transition: transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1); }
@media (hover: hover) { .offer:hover h3 { transform: translateX(8px); } }

.pkg { position: relative; overflow: hidden; transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.35s ease, border-color 0.3s ease; }
.pkg::before { content: ""; position: absolute; inset: 0; z-index: 0; opacity: 0; pointer-events: none; transition: opacity 0.35s ease; background: radial-gradient(280px circle at var(--mx, 50%) var(--my, 0%), color-mix(in srgb, var(--fg) 9%, transparent), transparent 70%); }
.pkg.top::before { background: radial-gradient(280px circle at var(--mx, 50%) var(--my, 0%), color-mix(in srgb, var(--on-primary) 18%, transparent), transparent 70%); }
.pkg > * { position: relative; z-index: 1; }
@media (hover: hover) { .pkg:hover { border-color: var(--fg); } .pkg:hover::before { opacity: 1; } .pkg.top:hover { border-color: var(--on-primary); } }

.steps { position: relative; border-top: 2px solid var(--line); }
.steps::before { content: ""; position: absolute; left: 0; right: 0; top: -2px; height: 2px; background: var(--fg); transform: scaleX(var(--sp, 1)); transform-origin: left; }
.ref-card .phone { transform: translateY(calc(var(--py, 0) * 1px)); will-change: transform; }
.ref-card.pre:not(.in) .tile { transform: scale(0); }
.ref-card.in .tile { animation: pop 0.5s cubic-bezier(0.3, 1.4, 0.5, 1) both; animation-delay: calc(var(--rd, 0ms) + 350ms + var(--i, 0) * 70ms); }
.band::after { transform: translateY(calc(var(--by, 0) * 1px)); }
.band .btn { transition: transform 0.3s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.3s ease; }
.band .btn:hover { box-shadow: 0 0 0 7px color-mix(in srgb, var(--on-primary) 24%, transparent); }
.site-header::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--primary); transform: scaleX(var(--pp, 0)); transform-origin: left; pointer-events: none; }
@media (prefers-reduced-motion: reduce) {
  .mi { transform: none; transition: none; }
  .offer::after, .row::after { display: none; }
  .ref-card .phone { transform: none; }
  .ref-card.in .tile { animation: none; }
  .band.pre { transform: none; }
}


/* Feinschliff: Bedienung und Übergänge */
.view { position: relative; isolation: isolate; }
.ambient { position: absolute; top: 0; left: calc(-1 * max(var(--gut), env(safe-area-inset-left, 0px))); width: calc(100% + max(var(--gut), env(safe-area-inset-left, 0px)) + max(var(--gut), env(safe-area-inset-right, 0px))); height: 640px; z-index: -1; pointer-events: none; }
.view.vin { animation: viewin 0.6s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
@keyframes viewin { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.btn { transition: transform 0.28s cubic-bezier(0.2, 0.7, 0.2, 1), background 0.2s ease, color 0.2s ease, filter 0.2s ease, box-shadow 0.3s ease; }
.skip { position: absolute; left: 16px; top: -64px; z-index: 200; background: var(--primary); color: var(--on-primary); padding: 10px 16px; border-radius: 6px; font-weight: 600; text-decoration: none; transition: top 0.2s ease; }
.skip:focus { top: 12px; }
.field-err { color: var(--fg); font-size: 0.9rem; font-weight: 500; padding: 6px 10px; border-left: 3px solid var(--primary); background: var(--tint); }
input[aria-invalid="true"], textarea[aria-invalid="true"] { border-color: var(--fg); box-shadow: 0 0 0 3px var(--tint); animation: nudge 0.35s ease; }
@keyframes nudge { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-5px); } 75% { transform: translateX(5px); } }
.result { animation: fade 0.6s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
.result-head { display: flex; align-items: center; gap: 12px; }
.tick { width: 34px; height: 34px; flex: none; border-radius: 50%; background: var(--primary); padding: 7px; }
.tick path { fill: none; stroke: var(--on-primary); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 24; stroke-dashoffset: 24; animation: tick 0.6s 0.15s cubic-bezier(0.6, 0, 0.2, 1) forwards; }
@keyframes tick { to { stroke-dashoffset: 0; } }
@media (max-width: 640px) { .ambient { height: 520px; } }
@media (prefers-reduced-motion: reduce) { .ambient { display: none; } .view.vin { animation: none; } .tick path { animation: none; stroke-dashoffset: 0; } input[aria-invalid="true"] { animation: none; } }

.foot-right { display: flex; flex-direction: column; gap: 14px; align-items: flex-end; }
.foot-contact .fc { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--muted); transition: color .2s; }
.foot-contact .fc:hover, .foot-contact .fc:focus-visible { color: var(--fg); }
.foot-contact .fc svg { width: 17px; height: 17px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; padding: 9px; box-sizing: content-box; border: 1px solid var(--line); border-radius: 50%; background: var(--surface); transition: background .2s, color .2s, border-color .2s; }
.foot-contact .fc:hover svg, .foot-contact .fc:focus-visible svg { background: var(--primary); color: var(--on-primary); border-color: var(--primary); }
.foot-contact { display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 0; color: var(--muted); font-size: 0.95rem; justify-content: flex-end; }
.aside dd a { text-underline-offset: 0.2em; }
.aside { position: sticky; top: 96px; background: radial-gradient(90% 70% at 20% 0%, #22333F 0%, #141F28 70%); color: #F5F3EE; border: 0; padding: clamp(22px, 3vw, 34px); gap: 26px; overflow: hidden; }
.aside::after { content: ""; position: absolute; right: 0; bottom: 0; width: 150px; aspect-ratio: 524 / 703; background: rgba(245, 243, 238, .06); -webkit-mask: var(--mark) center / contain no-repeat; mask: var(--mark) center / contain no-repeat; pointer-events: none; }
.aside > * { position: relative; z-index: 1; }
.aside-kick { font-family: var(--font-mono); font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; color: #9CC3E8; }
.aside dt { color: rgba(245, 243, 238, .6); }
.aside dd, .aside dd a { color: #F5F3EE; font-size: 1.05rem; }
.aside .soc a { background: transparent; color: #F5F3EE; border-color: rgba(245, 243, 238, .35); }
.aside .soc a:hover, .aside .soc a:focus-visible { background: #F5F3EE; color: #141F28; border-color: #F5F3EE; }
.nx { display: flex; flex-direction: column; gap: 14px; border-top: 1px solid rgba(245, 243, 238, .18); padding-top: 22px; }
.nx ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; counter-reset: nx; }
.nx li { counter-increment: nx; display: grid; grid-template-columns: 30px 1fr; column-gap: 12px; position: relative; opacity: 0; animation: fade .6s cubic-bezier(.2, .7, .2, 1) forwards; }
.nx li:nth-child(1) { animation-delay: .5s; } .nx li:nth-child(2) { animation-delay: .8s; } .nx li:nth-child(3) { animation-delay: 1.1s; }
.nx li::before { content: counter(nx); grid-row: span 2; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font-family: var(--font-mono); font-size: .8rem; border: 1px solid #9CC3E8; color: #9CC3E8; }
.nx li:not(:last-child)::after { content: ""; position: absolute; left: 14.5px; top: 34px; bottom: -14px; width: 1px; background: linear-gradient(#9CC3E8, transparent); }
.nx li b { font-weight: 600; } .nx li span { color: rgba(245, 243, 238, .65); font-size: .92rem; }
.aside-loc { margin: 0; font-size: .85rem; color: rgba(245, 243, 238, .55); }
@media (max-width: 860px) { .aside { position: static; } }
@media (prefers-reduced-motion: reduce) { .nx li { animation: none; opacity: 1; } }

@media (max-width: 640px) { .foot-right { align-items: flex-start; } .foot-contact { justify-content: flex-start; } }

[hidden] { display: none !important; }


/* Smartphone-Feed */
.phone .avatar { width: 40px; height: 40px; display: grid; place-items: center; }
.phone .avatar::after { display: none; }
.phone .avatar svg { width: 22px; height: 22px; }
.phone:not(.phone-video) .phone-screen { gap: 8px; padding-bottom: 8px; }
.ph-hl { display: flex; gap: 8px; }
.ph-hl .hl { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 4px; }
.ph-hl .c { display: block; width: 100%; max-width: 42px; aspect-ratio: 1; border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 1.5px var(--surface), 0 0 0 2.5px var(--line); }
.ph-hl .c svg, .ph-hl .c img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ph-hl i { display: block; height: 4px; width: 64%; border-radius: 2px; background: var(--line); }
.ph-tabs { display: flex; border-bottom: 1px solid var(--line); color: var(--muted); }
.ph-tabs span { flex: 1; display: grid; place-items: center; padding: 3px 0 5px; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.ph-tabs span.on { color: var(--fg); border-bottom-color: var(--fg); }
.ph-tabs svg, .ph-nav svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ph-nav { display: flex; justify-content: space-around; padding: 6px 4px 0; border-top: 1px solid var(--line); color: var(--fg); }
.tile { background: var(--tint); }
.tile svg, .tile img { display: block; width: 100%; height: 100%; object-fit: cover; }
.phone .ph-tiles { gap: 2px; }


/* Social-Icons */
.soc { display: inline-flex; gap: 10px; }
.soc a { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--fg); background: var(--surface); transition: background .2s, color .2s, border-color .2s, transform .2s; }
.soc a svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.soc a:hover, .soc a:focus-visible { background: var(--primary); color: var(--on-primary); border-color: var(--primary); transform: translateY(-2px); }
.aside .soc a { width: 36px; height: 36px; }
.foot-right .soc { align-self: flex-end; }
@media (max-width: 640px) { .foot-right .soc { align-self: flex-start; } }

/* Hero: Leistungs-Showreel */
.orb-stage { gap: 0; }
.reel { position: relative; width: 100%; max-width: 540px; aspect-ratio: 1 / 1.04; margin-inline: auto; overflow: hidden; isolation: isolate; color: #F5F3EE; border-radius: 4px; background: radial-gradient(90% 70% at 50% 28%, #22333F 0%, #141F28 62%, #0F1820 100%); box-shadow: 0 50px 80px -46px rgba(11, 18, 25, .8), inset 0 0 0 1px rgba(245, 243, 238, .07); }
.reel::before { content: ""; position: absolute; inset: 0; z-index: 0; background-image: radial-gradient(rgba(245, 243, 238, .13) 1px, transparent 1.2px); background-size: 22px 22px; -webkit-mask: linear-gradient(to bottom, #000 0%, transparent 78%); mask: linear-gradient(to bottom, #000 0%, transparent 78%); }
.reel-top { position: absolute; left: 0; right: 0; top: 0; z-index: 4; display: flex; justify-content: space-between; padding: 18px 22px; font-family: var(--font-mono); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(245, 243, 238, .6); }
.reel-top b { font-weight: 500; color: #F5F3EE; }
.reel-scenes { position: absolute; inset: 44px 24px 27% 24px; z-index: 2; }
.sc { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; transition: opacity .45s ease; overflow: visible; }
.sc.on { opacity: 1; }
.sc .l { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.sc .f { fill: currentColor; }
.sc .ac { stroke: #9CC3E8; } .sc .af { fill: #9CC3E8; }
.sc text { font-family: var(--font-mono); font-size: 11px; letter-spacing: .08em; fill: currentColor; }
.sc .d { stroke-dasharray: 1; stroke-dashoffset: 1; }
.sc.on .d { animation: r-draw 1s cubic-bezier(.5, 0, .2, 1) forwards; animation-delay: var(--d, 0s); }
.sc .p { opacity: 0; transform-box: fill-box; transform-origin: center; }
.sc.on .p { animation: r-pop .55s cubic-bezier(.3, 1.5, .5, 1) forwards; animation-delay: var(--d, 0s); }
.sc .wx { transform-box: fill-box; transform-origin: left center; transform: scaleX(0); }
.sc.on .wx { animation: r-wx .6s cubic-bezier(.2, .7, .2, 1) forwards; animation-delay: var(--d, 0s); }
.sc .wy { transform-box: fill-box; transform-origin: center bottom; transform: scaleY(0); }
.sc.on .wy { animation: r-wy .7s cubic-bezier(.2, .7, .2, 1) forwards; animation-delay: var(--d, 0s); }
@keyframes r-draw { to { stroke-dashoffset: 0; } }
@keyframes r-pop { from { opacity: 0; transform: scale(.3); } to { opacity: 1; transform: none; } }
@keyframes r-wx { to { transform: none; } }
@keyframes r-wy { to { transform: none; } }
@keyframes r-rise { 0% { opacity: 0; transform: translateY(0) scale(.6); } 15% { opacity: 1; } 100% { opacity: 0; transform: translateY(-150px) scale(1.15); } }
@keyframes r-spin { to { transform: rotate(360deg); } }
@keyframes r-blink { 0%, 55% { opacity: 1; } 56%, 100% { opacity: .15; } }
@keyframes r-flash { 0% { opacity: 0; } 15% { opacity: .5; } 100% { opacity: 0; } }
@keyframes r-focus { from { opacity: 0; transform: scale(1.9); } to { opacity: 1; transform: none; } }
@keyframes r-fly { 0% { transform: translate(40px, 232px); } 30% { transform: translate(125px, 172px); } 62% { transform: translate(235px, 118px); } 100% { transform: translate(350px, 72px); } }
@keyframes r-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
@keyframes r-cur { 0% { transform: translate(320px, 236px); } 55%, 100% { transform: translate(104px, 150px); } }
@keyframes r-ring { 0% { opacity: .9; transform: scale(.4); } 100% { opacity: 0; transform: scale(2.6); } }
@keyframes r-shim { from { transform: translateX(-120px) skewX(-20deg); } to { transform: translateX(380px) skewX(-20deg); } }
@keyframes r-steam { 0% { opacity: 0; transform: translateY(6px); } 40% { opacity: .8; } 100% { opacity: 0; transform: translateY(-14px); } }
@keyframes r-conf { 0% { opacity: 0; transform: translateY(-20px); } 20% { opacity: 1; } 100% { opacity: 0; transform: translateY(105px) rotate(180deg); } }
.sc.on .hrt { animation: r-rise 2.6s ease-in infinite; animation-delay: var(--d, 0s); transform-box: fill-box; transform-origin: center; }
.sc .hrt { opacity: 0; }
.sc.on .spin { animation: r-spin .5s linear infinite; transform-box: fill-box; transform-origin: center; }
.sc.on .spin.slow { animation-duration: 3s; }
.sc.on .rec { animation: r-blink 1s steps(1) infinite; }

.region { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.2fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.region-text { display: flex; flex-direction: column; gap: 24px; align-items: flex-start; min-width: 0; }
.rmap { aspect-ratio: 400 / 280; border: 1px solid var(--line); }
.sc .rm-pulse { opacity: 0; transform-box: fill-box; transform-origin: center; }
.sc.on .rm-pulse { animation: r-ring 3s ease-out 2.2s infinite; }
@media (max-width: 860px) { .region { grid-template-columns: minmax(0, 1fr); } }
.about-head .mark-lg { background: linear-gradient(110deg, var(--fg) 38%, #4E7FA8 50%, var(--fg) 62%) 0 0 / 260% 100%; animation: markshine 5s ease-in-out 1.2s infinite; }
@keyframes markshine { 0% { background-position: 100% 0; } 55%, 100% { background-position: 0 0; } }
@media (prefers-reduced-motion: reduce) { .about-head .mark-lg { animation: none; background: var(--fg); } .sc .rm-pulse { animation: none !important; } }
.sc .fl { opacity: 0; }
.sc.on .fl { animation: r-flash .7s ease-out 2.1s both; }
.sc .fx { opacity: 0; transform-box: fill-box; transform-origin: center; }
.sc.on .fx { animation: r-focus .5s cubic-bezier(.2, .7, .2, 1) 1.1s forwards; }
.sc.on .drn { animation: r-fly 3.4s cubic-bezier(.45, 0, .35, 1) forwards; }
.sc .drn { transform: translate(40px, 232px); }
.sc.on .bob { animation: r-bob 1s ease-in-out infinite; }
.sc.on .cur { animation: r-cur 2s cubic-bezier(.5, 0, .2, 1) .9s both; }
.sc .cur { transform: translate(320px, 236px); }
.sc .rg { opacity: 0; transform-box: fill-box; transform-origin: center; }
.sc.on .rg { animation: r-ring .9s ease-out 2.9s both; }
.sc.on .shim { animation: r-shim 1.6s ease-in-out 1.6s infinite; }
.sc.on .steam { animation: r-steam 1.8s ease-in-out infinite; animation-delay: var(--d, 0s); }
.sc .steam { opacity: 0; }
.sc .cf { opacity: 0; }
.sc.on .cf { animation: r-conf 2.4s ease-in infinite; animation-delay: var(--d, 0s); }
.reel-cap { position: absolute; left: 0; right: 0; bottom: 0; z-index: 4; padding: 0 22px 20px; display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; text-decoration: none; color: #F5F3EE; }
.reel-cap .label { color: rgba(245, 243, 238, .6); }
.reel-cap b { font-family: var(--font-display); font-size: clamp(1.35rem, 3.4vw, 1.85rem); letter-spacing: -.015em; min-height: 1.2em; }
.reel-cap b.sw { animation: cos-word .6s cubic-bezier(.2, .7, .2, 1) both; }
@keyframes cos-word { from { opacity: 0; transform: translateY(.5em); filter: blur(4px); } to { opacity: 1; transform: none; filter: none; } }
.reel-dots { position: absolute; left: 0; right: 0; bottom: 0; z-index: 5; display: flex; justify-content: center; gap: 6px; padding-bottom: 8px; }
.reel-dots button { position: relative; overflow: hidden; width: 20px; height: 18px; padding: 0; border: 0; background: none; cursor: pointer; }
.reel-dots button::before { content: ""; position: absolute; left: 0; right: 0; top: 8px; height: 3px; background: rgba(245, 243, 238, .22); transition: background .3s; }
.reel-dots button.on { width: 38px; }
.reel-dots button.on::after { content: ""; position: absolute; left: 0; top: 8px; height: 3px; width: 100%; background: #F5F3EE; transform-origin: left; animation: fill var(--dur, 3800ms) linear both; }
.reel.paused .reel-dots button.on::after { animation-play-state: paused; }
.reel-cap { padding-bottom: 36px; }
.hero.go .reel { animation: cos-in 1.1s cubic-bezier(.2, .7, .2, 1) both; animation-delay: var(--t0); }
@keyframes cos-in { from { opacity: 0; transform: translateY(36px); } to { opacity: 1; transform: none; } }
.hero.go .reel-cap { animation: fade .8s ease both; animation-delay: calc(var(--t0) + 900ms); }
@media (max-width: 640px) { .reel { aspect-ratio: 1 / 1.12; } .reel-scenes { inset: 40px 14px 28% 14px; } }
@media (prefers-reduced-motion: reduce) {
  .hero.go .reel, .hero.go .reel-cap { animation: none; }
  .sc .d { stroke-dashoffset: 0; } .sc .p, .sc .fx { opacity: 1; } .sc .wx, .sc .wy { transform: none; } .sc .drn { transform: translate(350px, 72px); } .sc .cur { transform: translate(104px, 150px); }
  .reel-dots button.on::after { animation: none; }
}

/* Social-Media-Ablauf als Film */
.cine { --fw: 520px; position: relative; margin-top: 28px; overflow: hidden; isolation: isolate; color: #F5F3EE; border-radius: 4px; background: radial-gradient(90% 70% at 50% 35%, #22333F 0%, #141F28 60%, #0F1820 100%); box-shadow: 0 50px 80px -50px rgba(11, 18, 25, .8), inset 0 0 0 1px rgba(245, 243, 238, .07); }
.cine-top { display: flex; justify-content: space-between; padding: 16px 24px 10px; font-family: var(--font-mono); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(245, 243, 238, .6); }
.cine-top b { font-weight: 500; color: #F5F3EE; }
.perf { height: 14px; margin: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='14'%3E%3Crect x='7' y='2' width='14' height='10' rx='3' fill='%23F5F3EE' fill-opacity='.2'/%3E%3C/svg%3E") repeat-x 0 0; animation: perf-run 1.4s linear infinite; }
@keyframes perf-run { to { background-position-x: -28px; } }
.cine-view { position: relative; overflow: hidden; padding-block: 18px; }
.cine-view::before, .cine-view::after { content: ""; position: absolute; top: 0; bottom: 0; width: 14%; z-index: 3; pointer-events: none; }
.cine-view::before { left: 0; background: linear-gradient(to right, #141F28, transparent); }
.cine-view::after { right: 0; background: linear-gradient(to left, #141F28, transparent); }
.cine-track { display: flex; gap: 24px; will-change: transform; transition: transform .95s cubic-bezier(.65, 0, .25, 1); touch-action: pan-y; }
.cine-track.fast { transition-duration: 1.5s; transition-timing-function: cubic-bezier(.5, 0, .2, 1); }
.cf { flex: none; width: var(--fw); opacity: .3; transform: scale(.88); transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1); }
.cf.act { opacity: 1; transform: none; }
.cf-in { position: relative; aspect-ratio: 400 / 260; border-radius: 4px; background: rgba(245, 243, 238, .04); box-shadow: inset 0 0 0 1px rgba(245, 243, 238, .14); padding: 18px 22px; }
.cf-in .sc { position: absolute; inset: 0; width: 100%; height: 100%; padding: 16px 20px; box-sizing: border-box; }
.cf-no { position: absolute; left: 14px; top: 10px; z-index: 2; font-family: var(--font-mono); font-size: .68rem; letter-spacing: .1em; color: rgba(245, 243, 238, .5); }
.cine-cap { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px 28px; align-items: center; padding: 18px 28px 16px; }
.cine-num { font-family: var(--font-display); font-weight: 700; font-size: clamp(2.6rem, 6vw, 4.4rem); line-height: 1; letter-spacing: -.03em; color: transparent; -webkit-text-stroke: 1.5px rgba(245, 243, 238, .75); min-width: 2ch; }
.cine-txt { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cine-phase { font-family: var(--font-mono); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: #9CC3E8; }
.cine-txt h3 { font-size: clamp(1.3rem, 2.6vw, 1.8rem); letter-spacing: -.01em; color: #F5F3EE; }
.cine-txt p { color: rgba(245, 243, 238, .72); max-width: 60ch; }
.cine-txt.swap > * { animation: cos-word .6s cubic-bezier(.2, .7, .2, 1) both; }
.cine-ctl { display: flex; gap: 8px; }
.cine-ctl button { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(245, 243, 238, .28); background: transparent; color: #F5F3EE; cursor: pointer; transition: background .2s, color .2s, transform .2s; }
.cine-ctl button:hover { background: #F5F3EE; color: #141F28; transform: translateY(-2px); }
.cine-ctl svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.cine-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 28px 20px; flex-wrap: wrap; }
.cine-dots { display: flex; gap: 6px; }
.cine-dots button { position: relative; overflow: hidden; width: 24px; height: 18px; padding: 0; border: 0; background: none; cursor: pointer; }
.cine-dots button::before { content: ""; position: absolute; left: 0; right: 0; top: 8px; height: 3px; background: rgba(245, 243, 238, .22); }
.cine-dots button.on { width: 44px; }
.cine-dots button.on::after { content: ""; position: absolute; left: 0; top: 8px; height: 3px; width: 100%; background: #F5F3EE; transform-origin: left; animation: fill var(--dur, 5600ms) linear both; }
.cine.paused .cine-dots button.on::after { animation-play-state: paused; }
.cine-loop { font-size: .9rem; color: rgba(245, 243, 238, .6); display: inline-flex; align-items: center; gap: 10px; opacity: 0; transform: translateY(6px); transition: opacity .5s, transform .5s; }
.cine-loop svg { width: 18px; height: 18px; flex: none; fill: none; stroke: #9CC3E8; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; animation: r-spin 6s linear infinite; }
.cine-loop.show { opacity: 1; transform: none; }
.cf:not(.act) .sc { opacity: 1; }
.cf:not(.act) .sc .d { stroke-dashoffset: 0; }
.cf:not(.act) .sc .p, .cf:not(.act) .sc .fx { opacity: 1; }
.cf:not(.act) .sc .wx, .cf:not(.act) .sc .wy { transform: none; }
.cf:not(.act) .sc .drn { transform: translate(350px, 72px); }
.cf:not(.act) .sc .cur { transform: translate(104px, 150px); }
.cf:not(.act) .sc .clap { transform: none; }
.sc.on .clap { animation: r-clap 1.8s ease-in-out .6s infinite; }
.sc .clap { transform: rotate(-26deg); }
.sc.on .press { animation: r-press 1.6s ease-in-out 2.2s infinite; }
@keyframes r-clap { 0%, 45% { transform: rotate(-26deg); } 58%, 100% { transform: rotate(0deg); } }
@keyframes r-press { 0%, 60%, 100% { transform: scale(1); } 72% { transform: scale(.93); } }
@media (max-width: 760px) {
  .cine-cap { grid-template-columns: minmax(0, 1fr); padding: 14px 20px 8px; }
  .cine-num { font-size: 2.4rem; }
  .cine-ctl { display: none; }
  .cine-foot { padding: 0 20px 18px; }
  .cine-top { padding: 14px 20px 8px; }
  .cine-view::before, .cine-view::after { width: 6%; }
}
@media (prefers-reduced-motion: reduce) { .perf, .cine-loop svg { animation: none; } .cine-track { transition: none; } .sc .clap { transform: none; } }

/* Weitere Leistungen als Karten */
.ocards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 28px; }
.ocard { display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--line); transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s; }
.ovis { position: relative; aspect-ratio: 400 / 240; overflow: hidden; color: #F5F3EE; background: radial-gradient(90% 80% at 50% 30%, #22333F 0%, #141F28 70%); }
.ovis::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(245, 243, 238, .12) 1px, transparent 1.2px); background-size: 22px 22px; -webkit-mask: linear-gradient(to bottom, #000, transparent 85%); mask: linear-gradient(to bottom, #000, transparent 85%); }
.ovis .sc { position: absolute; inset: 0; width: 100%; height: 100%; padding: 14px 20px; box-sizing: border-box; }
.onum { position: absolute; left: 16px; top: 12px; z-index: 2; font-family: var(--font-mono); font-size: .72rem; letter-spacing: .1em; color: rgba(245, 243, 238, .55); }
.obody { padding: 22px 24px 24px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.obody h3 { font-size: clamp(1.3rem, 2.4vw, 1.65rem); }
.obody p { color: var(--muted); }
.obody .cost { display: flex; flex-direction: column; gap: 10px; margin-top: auto; padding-top: 8px; }
.obody .link { color: var(--fg); font-weight: 600; text-decoration: underline; text-underline-offset: .2em; }
@media (hover: hover) { .ocard:hover { transform: translateY(-5px); box-shadow: 0 30px 50px -34px rgba(11, 18, 25, .55); } }
@media (max-width: 760px) { .ocards { grid-template-columns: minmax(0, 1fr); } }
.phone:not(.phone-video) .ph-tiles { flex: 1; min-height: 0; margin-top: 0; grid-auto-rows: 1fr; }
.phone:not(.phone-video) .ph-tiles .tile { aspect-ratio: auto; min-height: 0; }
/* Referenzen: grosse Bühne */
.ref.ref-x { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(32px, 7vw, 96px); padding-block: clamp(44px, 7vw, 88px); }
.ref.ref-x:nth-child(even) .ref-stage { order: 2; }
.ref-stage { position: relative; display: grid; place-items: center; padding-block: 28px; min-height: 520px; }
.ref-bg { position: absolute; left: 4%; right: 4%; top: 12%; bottom: 12%; overflow: hidden; border-radius: 4px; background: radial-gradient(90% 80% at 50% 30%, #22333F 0%, #141F28 70%); box-shadow: 0 40px 70px -46px rgba(11, 18, 25, .75); }
.ref-bg::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(245, 243, 238, .13) 1px, transparent 1.2px); background-size: 22px 22px; }
.ref-bg em { position: absolute; right: 18px; bottom: 6px; font-style: normal; font-family: var(--font-display); font-weight: 700; font-size: clamp(5rem, 11vw, 9rem); line-height: 1; letter-spacing: -.05em; color: transparent; -webkit-text-stroke: 1.5px rgba(245, 243, 238, .18); }
.ref.ref-x .phone { position: relative; z-index: 2; width: min(78%, 280px); transition: transform .35s cubic-bezier(.2, .7, .2, 1); will-change: transform; }
.ref-x .tile img { animation: kb 9s ease-in-out infinite alternate; animation-delay: calc(var(--i, 0) * -1.1s); transform-origin: center; }
@keyframes kb { from { transform: scale(1); } to { transform: scale(1.12); } }
.rh { position: absolute; z-index: 3; left: var(--x); bottom: 22%; width: 22px; height: 22px; opacity: 0; pointer-events: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21C4 15 2 11 2 8a5 5 0 0 1 10-1 5 5 0 0 1 10 1c0 3-2 7-10 13z' fill='%239CC3E8'/%3E%3C/svg%3E") center / contain no-repeat; }
.ref-x.lit .rh { animation: rhrise 4.2s ease-in infinite; animation-delay: var(--d); }
@keyframes rhrise { 0% { opacity: 0; transform: translateY(0) scale(.5); } 12% { opacity: 1; } 100% { opacity: 0; transform: translate(14px, -200px) scale(1.15); } }
.ref-x .ref-body { gap: 20px; }
.ref-x .ref-body h2 { font-size: clamp(2.2rem, 4.4vw, 3.4rem); letter-spacing: -.02em; }
.ref-x .ref-metrics { display: flex; flex-direction: column; gap: 26px; border: 0; background: none; margin-top: 10px; }
.ref-x .ref-metric.big { border: 0; margin: 0; padding: 0; background: none; gap: 6px; }
.ref-x .ref-metric.big b { font-size: clamp(3.8rem, 9vw, 6.8rem); line-height: .95; letter-spacing: -.045em; }
.ref-x .ref-metric.big span { font-family: var(--font-mono); font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.ref-months { display: flex; align-items: center; gap: 14px 16px; flex-wrap: wrap; padding-top: 20px; border-top: 1px solid var(--line); }
.rm-l { font-family: var(--font-mono); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.rm-d { display: flex; gap: 6px; }
.rm-d i { width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--line); transition: background .4s, border-color .4s, transform .4s cubic-bezier(.3, 1.5, .5, 1); transition-delay: calc(var(--m) * 160ms + 400ms); }
.ref-x.lit .rm-d i { background: var(--primary); border-color: var(--primary); }
.ref-months b { font-family: var(--font-display); font-size: 1.15rem; }
@media (max-width: 1000px) { .ref.ref-x .phone { width: min(66%, 250px); } }
@media (max-width: 700px) {
  .ref.ref-x { grid-template-columns: minmax(0, 1fr); }
  .ref.ref-x:nth-child(even) .ref-stage { order: 0; }
  .ref-stage { min-height: 440px; }
  .ref.ref-x .phone { width: min(64%, 250px); }
  .ref-bg { left: 0; right: 0; }
}
@media (prefers-reduced-motion: reduce) { .ref-x .tile img, .ref-x.lit .rh { animation: none; } .ref-x .rm-d i { transition: none; } }
.ref-scope { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ref-scope li { display: inline-flex; align-items: baseline; gap: 6px; padding: 8px 14px; background: var(--surface); border: 1px solid var(--line); border-radius: 999px; font-size: .95rem; }
.ref-scope b { font-family: var(--font-display); font-size: 1.1rem; }
.ref-quote { margin: 4px 0 0; padding: 20px 0 0 22px; border-top: 1px solid var(--line); position: relative; }
.ref-quote::before { content: ""; position: absolute; left: 0; top: 24px; bottom: 2px; width: 3px; background: var(--primary); transform: scaleY(0); transform-origin: top; transition: transform .8s cubic-bezier(.2, .7, .2, 1) .9s; }
.ref-x.lit .ref-quote::before { transform: none; }
.ref-quote blockquote { margin: 0; font-family: var(--font-display); font-size: clamp(1.2rem, 2.2vw, 1.5rem); line-height: 1.3; letter-spacing: -.01em; }
.ref-quote figcaption { margin-top: 8px; font-family: var(--font-mono); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
@media (prefers-reduced-motion: reduce) { .ref-quote::before { transition: none; transform: none; } }
/* Rows */
.rows { display: flex; flex-direction: column; }
.row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 12px 40px; padding-block: 28px; border-top: 1px solid var(--line); }
.row:last-child { border-bottom: 1px solid var(--line); }
.row h3 { font-size: clamp(1.4rem, 2.6vw, 1.9rem); }
.row p { color: var(--muted); }
.row .more { color: var(--fg); font-weight: 600; text-decoration: underline; text-underline-offset: 0.2em; display: inline-block; margin-top: 10px; }
.row .more:hover { text-decoration: underline; }
.check { list-style: none; padding: 0; margin: 14px 0 0; display: flex; flex-wrap: wrap; gap: 8px 8px; }
.check li { background: var(--tint); padding: 4px 12px; font-size: 0.9rem; border-radius: 999px; }

/* Steps */
.steps { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 2px solid var(--line); }
.step { padding: 20px 20px 8px 0; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.step .n { font-family: var(--font-mono); color: var(--muted); font-size: 0.85rem; }
.step p { color: var(--muted); font-size: 0.97rem; }

/* Metrics */
.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.metrics { display: flex; flex-direction: column; border: 1px solid var(--line); background: var(--surface); }
.metric { padding: 18px 20px; display: grid; grid-template-columns: 9.5rem minmax(0, 1fr); gap: 4px 16px; border-top: 1px solid var(--line); }
.metric:first-child { border-top: 0; }
.metric b { font-family: var(--font-display); font-size: 1.1rem; font-weight: 600; }
.metric span { color: var(--muted); font-size: 0.95rem; }
.formula { font-family: var(--font-mono); font-size: 0.82rem; background: var(--tint); padding: 10px 14px; margin-top: 8px; overflow-x: auto; white-space: nowrap; }

/* CTA band */
.band { position: relative; overflow: hidden; background: var(--primary); color: var(--on-primary); padding: clamp(32px, 6vw, 64px); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 24px; }
.band > * { position: relative; z-index: 1; }
.band::after { content: ""; position: absolute; right: 3%; bottom: -22%; height: 150%; aspect-ratio: 524 / 703; background: var(--on-primary); opacity: 0.08; -webkit-mask: var(--mark) center / contain no-repeat; mask: var(--mark) center / contain no-repeat; }
.band h2 { max-width: 20ch; }
.band .btn { background: var(--on-primary); color: var(--primary); border-color: var(--on-primary); }
.band .btn:hover { filter: none; transform: translateY(-1px); }

/* Page head */
.page-head { display: flex; flex-direction: column; gap: 20px; max-width: 820px; }
.page-head h1 { font-size: clamp(2.4rem, 6vw, 4.4rem); }

/* Principles */
.principles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 48px; }
.principle { display: flex; flex-direction: column; gap: 10px; border-top: 2px solid var(--fg); padding-top: 16px; }
.principle p { color: var(--muted); }

/* Formats table */
.table-scroll { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; min-width: 620px; background: var(--surface); }
th, td { text-align: left; padding: 16px 18px; border: 1px solid var(--line); vertical-align: top; font-size: 0.97rem; }
th { font-family: var(--font-display); font-weight: 600; font-size: 1.02rem; background: var(--tint); }

/* Contact */
.contact { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
form { display: flex; flex-direction: column; gap: 20px; }
.field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.field label, .field legend { font-weight: 600; font-size: 0.95rem; }
legend { padding: 0; }
.two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
input[type="text"], input[type="email"], input[type="tel"], select, textarea {
  font: inherit; color: var(--fg); background: var(--surface); border: 1px solid var(--line);
  border-radius: 6px; padding: 12px 14px; width: 100%;
}
textarea { min-height: 140px; resize: vertical; }
fieldset { border: 0; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.opts { display: flex; flex-wrap: wrap; gap: 8px; }
.ms { position: relative; }
.req { color: #B4432F; font-weight: 600; }
.opt { color: var(--muted); font-weight: 400; font-size: .88em; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.chk { display: flex; align-items: flex-start; gap: 12px; font-weight: 400 !important; font-size: .92rem !important; line-height: 1.5; cursor: pointer; color: var(--muted); }
.chk input { margin-top: 3px; width: 18px; height: 18px; flex: none; accent-color: var(--primary); }
.chk a { color: var(--fg); text-underline-offset: .2em; }
.consent.has-err .chk { color: var(--fg); }
.req-note { margin: 0; font-size: .85rem; color: var(--muted); }
.ms.open { z-index: 30; }
.ms-btn { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; text-align: left; font: inherit; color: var(--fg); background: var(--surface); border: 1px solid var(--line); border-radius: 8px; padding: 14px 16px; cursor: pointer; min-height: 54px; transition: border-color .2s, box-shadow .2s; }
.ms-btn:hover, .ms.open .ms-btn { border-color: var(--primary); }
.ms-btn:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.ms-btn svg { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .3s cubic-bezier(.2, .7, .2, 1); }
.ms.open .ms-btn svg { transform: rotate(180deg); }
.ms-val { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; color: var(--muted); }
.ms-val.has { color: var(--fg); }
.ms-tag { background: var(--tint); border: 1px solid var(--primary); border-radius: 999px; padding: 2px 10px; font-size: .88rem; font-weight: 500; color: var(--fg); }
.ms-panel { position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 40; background: var(--surface); border: 1px solid var(--primary); border-radius: 10px; box-shadow: 0 18px 40px -12px rgba(20, 31, 40, .28); padding: 14px; transform-origin: top; animation: msin .25s cubic-bezier(.2, .7, .2, 1); }
.ms-panel[hidden] { display: none; }
@keyframes msin { from { opacity: 0; transform: translateY(-6px) scaleY(.96); } to { opacity: 1; transform: none; } }
.ms-panel .opts { display: flex; flex-wrap: wrap; gap: 8px; max-height: 340px; overflow: auto; }
.ms-group { flex: 0 0 100%; font-family: var(--font-mono); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-top: 4px; }
.ms-group:not(:first-child) { margin-top: 12px; }
.ms-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.ms-clear { background: none; border: 0; font: inherit; color: var(--muted); text-decoration: underline; text-underline-offset: .2em; cursor: pointer; padding: 6px 0; }
.ms-done { padding: 10px 22px; }
@media (prefers-reduced-motion: reduce) { .ms-panel { animation: none; } }

.opts label { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--line); background: var(--surface); padding: 8px 14px; border-radius: 999px; font-weight: 500; cursor: pointer; font-size: 0.95rem; }
.opts input { accent-color: var(--primary); }
.opts label:has(input:checked) { border-color: var(--primary); background: var(--tint); }
.error { color: var(--fg); background: var(--tint); border-left: 4px solid var(--primary); padding: 10px 14px; font-size: 0.95rem; }
.aside { display: flex; flex-direction: column; gap: 24px; border-top: 2px solid var(--fg); padding-top: 18px; }
.aside dl { margin: 0; display: flex; flex-direction: column; gap: 14px; }
.aside dt { font-family: var(--font-mono); font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.aside dd { margin: 2px 0 0; font-weight: 500; word-break: break-word; }
.result { background: var(--surface); border: 1px solid var(--primary); padding: 20px; display: flex; flex-direction: column; gap: 14px; }
.result textarea { min-height: 220px; font-family: var(--font-mono); font-size: 0.85rem; }
.result .addr { font-family: var(--font-mono); background: var(--tint); padding: 8px 12px; word-break: break-all; user-select: all; }

/* Legal */
.legal { max-width: 720px; display: flex; flex-direction: column; gap: 18px; }
.legal h2 { font-size: 1.4rem; margin-top: 12px; }
.legal .note { background: var(--tint); padding: 12px 16px; font-size: 0.95rem; }

/* Footer */
.site-footer { border-top: 1px solid var(--line); padding-block: 40px 48px; margin-top: 24px; }
.site-footer .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 24px; }
.foot-nav { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.foot-nav a { text-decoration: none; color: var(--muted); font-size: 0.95rem; }
.foot-nav a:hover { color: var(--fg); text-decoration: underline; }

@media (max-width: 1000px) {
  .packages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 880px) {
  .ref { grid-template-columns: minmax(0, 1fr); }
  .hero, .split, .contact { grid-template-columns: minmax(0, 1fr); }
  .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .step { padding-bottom: 20px; }
}
@media (max-width: 640px) {
  body { font-size: 16px; }
  .packages { grid-template-columns: minmax(0, 1fr); }
  .offer { grid-template-columns: minmax(0, 1fr); }
  .row { grid-template-columns: minmax(0, 1fr); }
  .principles, .two { grid-template-columns: minmax(0, 1fr); }
  .steps { grid-template-columns: minmax(0, 1fr); }
  .metric { grid-template-columns: minmax(0, 1fr); }
  .head-right { display: contents; }
  .site-header .soc { order: 1; margin-left: auto; }
  .nav { order: 2; width: 100%; justify-content: space-between; gap: 0; }
  .nav a { padding: 8px 5px; font-size: 0.8rem; }
  .nav a.cta { margin-left: 0; }
  .plan { padding: 14px; }
  .logo { height: 38px; }
  .about-head { align-items: flex-start; }
  .mark-lg { width: 72px; }
  .slot { font-size: 0.55rem; padding: 4px 2px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}

/* ---- Feinschliff: Desktop-Breite und mobile Ruhe ---- */
:root { --gut: 16px; --wrapw: 1320px; }
@media (min-width: 1500px) { :root { --wrapw: 1440px; } }
@media (min-width: 1800px) { :root { --wrapw: 1600px; } body { font-size: 18px; } }
@media (min-width: 1100px) { :root { --gut: 28px; } }
@media (min-width: 1100px) { .hero h1 { font-size: clamp(3.6rem, 6vw, 6.4rem); } .hero { gap: clamp(48px, 6vw, 110px); } }
@media (max-width: 640px) {
  :root { --gut: 22px; }
  body { font-size: 16.5px; }
  .view { padding-block: 28px 64px; }
  .view > .wrap { gap: 96px; }
  .section { gap: 30px; }
  .section-head { gap: 14px; }
  .page-head { gap: 16px; }
  h1 { font-size: clamp(2.3rem, 10.5vw, 2.9rem); }
  h2 { font-size: 1.8rem; line-height: 1.12; }
  .lead { font-size: 1.05rem; line-height: 1.7; }
  .hero { gap: 40px; }
  .hero-copy { gap: 24px; }
  .hero-copy .btn, .hero .btn { width: 100%; justify-content: center; }
  .packages { gap: 20px; }
  .pkg { padding: 28px 24px; gap: 28px; }
  .ocards { gap: 26px; margin-top: 8px; }
  .obody { padding: 26px 24px 28px; gap: 16px; }
  .obody p { line-height: 1.65; }
  .ref.ref-x { padding-block: 60px; gap: 36px; }
  .ref-x .ref-body { gap: 28px; }
  .ref-x .ref-metrics { gap: 24px; margin-top: 4px; }
  .ref-x .ref-metric.big b { font-size: 3.3rem; }
  .ref-months { padding-top: 24px; }
  .ref-quote { padding-top: 24px; }
  .ref-scope { gap: 10px; }
  .band { padding: 40px 26px; gap: 24px; }
  form { gap: 26px; }
  .two { gap: 26px; }
  .aside { padding: 30px 26px; gap: 32px; }
  .nx { padding-top: 26px; gap: 18px; }
  .nx ol { gap: 20px; }
  .founder { gap: 22px; }
  .belief { gap: 28px; }
  .step, .principle { padding-block: 6px; }
  .region { gap: 32px; }
  .region-text { gap: 28px; }
  .site-footer .wrap { gap: 32px; }
  .ref-teasers { gap: 22px; padding-bottom: 12px; }
  .ref-card { flex: 0 0 58%; gap: 14px; }
  .ref-card .phone { width: min(100%, 176px); border-radius: 30px; padding: 7px; font-size: 9px; }
  .ref-card .phone-screen { border-radius: 24px; }
  .ref-card .meta b { font-size: 1.05rem; }
  .ref-card .meta span { font-size: .88rem; }
}

/* Preisblatt: Paketdetails und Zusatzleistungen */
.pkg-head { display: flex; flex-direction: column; gap: 6px; }
.pkg .pk-tag { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.pkg.top .pk-tag { color: var(--on-primary); opacity: 0.75; }
.packages.detail { align-items: stretch; }
.pkg.detail { gap: 18px; }
.pkg.detail .price { margin-top: 0; }
.pkg .pk-intro { margin: 0; font-size: 0.92rem; line-height: 1.5; color: var(--muted); }
.pkg.top .pk-intro { color: var(--on-primary); opacity: 0.8; }
.pkg .pk-incl { list-style: none; margin: 0; padding: 16px 0 0; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 9px; font-size: 0.9rem; line-height: 1.4; }
.pkg.top .pk-incl { border-top-color: rgba(255,255,255,0.22); }
.pkg .pk-incl li { position: relative; padding-left: 20px; }
.pkg .pk-incl li::before { content: ""; position: absolute; left: 2px; top: 0.35em; width: 8px; height: 4px; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); opacity: 0.7; }
.pkg .pk-note { margin: 0; font-size: 0.88rem; line-height: 1.5; opacity: 0.85; }
.pkg.detail .btn { margin-top: auto; }
.addons { margin-top: clamp(40px, 6vw, 72px); }
.addons h3 { font-family: var(--font-display); font-weight: 600; font-size: clamp(1.4rem, 2.4vw, 1.8rem); letter-spacing: -0.01em; margin: 0 0 8px; }
.addons .lead { margin: 0 0 24px; }
.addon-list { border-top: 1px solid var(--line); }
.addon { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 32px; align-items: baseline; padding: 20px 0; border-bottom: 1px solid var(--line); }
.addon h4 { margin: 0 0 4px; font-family: var(--font-display); font-weight: 600; font-size: 1.1rem; }
.addon p { margin: 0; color: var(--muted); font-size: 0.95rem; line-height: 1.5; max-width: 60ch; }
.addon .val { font-family: var(--font-display); font-weight: 700; font-size: 1.15rem; white-space: nowrap; font-variant-numeric: tabular-nums; }
.addon-note { margin: 16px 0 0; color: var(--muted); font-size: 0.92rem; }
@media (max-width: 640px) {
  .addon { grid-template-columns: minmax(0, 1fr); padding: 22px 0; }
  .addon .val { white-space: normal; }
  .pkg.detail { padding: 28px 24px; gap: 22px; }
}

/* Pakete: Preise auf einer Linie, Leistungen ausklappbar */
.pkg.detail { gap: 0; }
.pkg.detail .pkg-head { margin-bottom: 14px; }
.pkg.detail .pk-intro { margin-bottom: 22px; }
.pkg.detail .price { margin: 0 0 22px; }
.pkg.detail .btn { margin-top: 22px; }
.pk-more { display: flex; flex-direction: column; gap: 14px; }
.pk-det { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pkg.top .pk-det { border-color: rgba(255,255,255,0.22); }
.pk-det summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 0; font-weight: 600; font-size: 0.92rem; user-select: none; }
.pk-det summary::-webkit-details-marker { display: none; }
.pk-det summary .pk-chev { flex: none; opacity: 0.7; transition: transform 0.25s ease; }
.pk-det[open] summary .pk-chev { transform: rotate(180deg); }
.pk-det summary:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.pk-det .pk-incl { border-top: 0; padding: 2px 0 16px; }
.pk-det .pk-note { margin: 0; padding: 0 0 16px; }
.pk-det .pk-incl + .pk-note { margin-top: -4px; }
@media (min-width: 641px) {
  @supports (grid-template-rows: subgrid) {
    .packages.detail { align-items: stretch; }
    .pkg.detail { display: grid; grid-row: span 5; grid-template-rows: subgrid; row-gap: 0; }
    .pkg.detail .pkg-head, .pkg.detail .pk-intro, .pkg.detail .price { margin-bottom: 0; }
    .pkg.detail .pkg-head { padding-bottom: 14px; }
    .pkg.detail .pk-intro { padding-bottom: 22px; }
    .pkg.detail .price { padding-bottom: 22px; align-self: end; }
    .pkg.detail .pk-more { align-self: start; }
    .pkg.detail .btn { align-self: end; margin-top: 0; }
  }
  @supports not (grid-template-rows: subgrid) {
    .pkg.detail .pk-intro { min-height: 6.6em; }
  }
}
@media (max-width: 640px) {
  .pkg.detail { padding: 26px 22px; }
}
