
:root {
  /* Surfaces */
  --bg: #ffffff;
  --surface: #ffffff;
  --surface-2: #f1f6fc;
  --surface-3: #e6eff9;

  /* Text */
  --ink: #0f2540;
  --ink-mid: #33506f;
  --ink-soft: #47637f;
  --ink-faint: #55708c;

  /* Brand blue (primary action) */
  --cyan: #1668d8;
  --cyan-bright: #2f83ef;
  --blue-deep: #0f4fa8;
  --blue-soft: #e7f0fd;

  /* Support */
  --mint: #16a34a;
  --green-deep: #146c33;
  --green-soft: #e9f8ee;
  --violet: #6d5ae0;
  --gold: #f5a623;
  --gold-deep: #b8730a;
  --gold-soft: #fff4e0;

  /* Lines + elevation */
  --line: rgba(15, 37, 64, 0.1);
  --line-strong: rgba(22, 104, 216, 0.28);
  --ring: rgba(22, 104, 216, 0.22);
  --shadow: 0 22px 50px rgba(15, 37, 64, 0.09), 0 2px 6px rgba(15, 37, 64, 0.05);
  --shadow-soft: 0 10px 26px rgba(15, 37, 64, 0.07);
  --shadow-lift: 0 26px 60px rgba(15, 37, 64, 0.14), 0 3px 8px rgba(15, 37, 64, 0.06);

  --radius-xl: 30px;
  --radius-lg: 23px;
  --content: 1400px;

  /* Motion */
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);

  --brand-logo: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAIAAAC2BqGFAAA1T0lEQVR42u19d3hVVdb+2nufdnt67yEhAUJI6EU6CgjYUXHsOqPYyzjjjDq2zxn1c+xdwc+CKIzYKCK9dwKhmpAGIT23l1P23r8/ThIQ0e8bDRrn54aHh+fec/c9571rr73Ku9ZGnHP4bZz5gX+D4DegfwP6t/Eb0L8B/RvQv42fZQg98J4YY08//fTSpUsNwxBF0el05ebm5ObmJiUllZSUJCQk2O32H/i4ruuUUkVRetRDoR5oRwcCgeLi4qqqqu++pVhsGelpQ4cOGTdu3JAhQ5KSkpqamnw+X3t7e3l5eV1dnc/nq6ysVFX17bffLikp+Q3obwmgx+Opq6vbu3dvTU3N9u3bm5qbDx08HAoFkmLEG85NUnXu9utNbr2xXatrirS4DQYAAKKkJCbEt7S2qpHwd6f98MMPL7vssv/fgW5ubq6srNyzZ8/OnTv37dv/TUWlx+PlTO+6wGnFLrs4KN9++cR4jAAAEEI6ZRGVN3v0I/XhA7WhimMhf8hw2QSnTYx1ifEu0Wkjn25o8wUpAMrJze2dn5+dnTV8+PC8vLz8/Pzo6Oj/L4D2er1lZWWbN29et25dWdnehob6jjsAiHHipBg5MUZKjpFS4qT4KMmuYJuFKDJm9MT9IQBAQDDCGDgHf4hGNGaVsUUmGHe8u3BN247D/na/4Q8aOj3x7RkZmUVF/caPHz98+PCioqIf1vK/SqCbmpq2bNmyePHilStXVVVVAXAAiLKhjERLVrKSk6KkxcmxLkEWsSggjBDjnHNgHDj/X24NIUAInXIZwUgzmKZzb5C2efWGdq22Ua1pDB9tUjUTd0QKeuePHz9u+vTpw4cPd7lc/wlAb926debMmXV1dQAgC9A7w1qYae2dYU2Ll6LsgqkTKAfOOAforhtBCBAAQghjQAiAg6rzNp9e3RA5VBc+WBusadTMK0eNGrV06dKfR7rPrHkXDofr6uriXMIlY+P7ZFrjogRJwIxxyrlBz9QPzDlwAOCcsk5nAUNitJQcK43s5wyrrL5VW7Xbs3y7p7KyklL6q3dYjh07tmDBAgCIsgsTSl2JMSIAqDrTKWfsZ9WPnANlXDe4ZnBBQL0zLKOLXRijpuaWq666qqam5lcM9GeffTZ6zJhXXnnFZRPGDnAZjBu0R5jsnENYZbkpyu0XpcQ78eeffz5x4sR169b9KnX0Sy+9dOedd1FqjCtxXXBWbHKspBs9zi2SRNzi1uYua9520B8TE/Pxxx9PmDDh1wT0ggULZs2aRcC4dmrS+NIoDkC/Xx2bZsMvhTUhyDD4e8ubl21zp6WlrVmzJjc399cBdH19/dChQxuO199yQcrYEpemsx+YHmMUiWiiKCCEfoKNgQD4j34Q0yR/eVHDhnLftOnTP120iBDyK9DRjz76aH19/bjSqNHFTlU7FWXUOTDGANDQ0N7S4iUEY4xO/vudcRpwEUIYI87B7fZXVNT7vEGM0bffxZ1T/XAACzBCvzs7ISFK/PKLLz7++ONfgUSvWrVq8uTJTgt/7PrMWKdIGT/Zs2CMa5qhqjoANwza3OzRdSMvL40xrmkaY9yEBGMTI9zxH4RQJ14IIc6Bc04p0zTd7w95PIFgMMwYCALOzEyKi3MhBK2tPq83YLHIsiwqiiQIRBBI18/ATdOPn6qvV+/2vLyooXfv3lu2bImKiuq5drSmaX/728O6rl80OSkhWtT0LpSRYdC2Np/b41fDKmMUACgDziEqyl5T0xAKRhAynx4QMn1CUyEAQohgjAnCGBOCTS3BKNMNwzAoZ6YrCAQDZaympsHQDUpZY1M7NRjGHT67KAqSJMqyaLVKFoskiqIoiuYyAg7motMNNrKvc22Zb9/hw2+99da9997bcyV63rx5V1xxRX6a5aFrMgjucPMwRsFAqLa2KRhUCYaQDk0ekASIdYBFAsoAAxgMGr1Q1QyBCGTHQ3osOBTgAIybDt4Js8ygYFAwGFB24l+DgiyAwwI2ufNLEYQ0aPWDywouC3AAxoBz8IbBHYQEF4q2C1araLMpDofdarN0CLWAdlcG//7+0dS0jF27dsbFxfVEifZ4PE888XeC4eKxcVYZRzRmyqPfH/p0dT1jNDseyo9C+VHwhAAAYmxQmAqFKdDghbIaqHd3zLPvGNgkyEmE/CSIdUBEA18EPEHwhcEXhmAEwhqoBkR0OEU6bBJkJ0DvFFB1ONoOtc3gCYNNgtwkyIqDRBdEWWFTBRyoB4nwBJee7NLjHKF4Z3ufXFdGRhIA6AYvzrUOKnBsO1j35ptv3n///T1Rol977bWbb75ZFNCQAse0ETE5yQrjAIx+sbZu3noVIbCKENRAluWxIwerqrp5R7mqRgQMZmh54IC+F02blJQYt3j52lXrt7s9HgAQEJxifFssVptVUWQ5ymV3OR0WRbZYFEWW2tq9ZfsPt7e7u6502O2F+TmVNUfNFzFAYhT4IxCIQEJ8bEublzMDAEQCFwyCSSPSHE47cN7s1ecsaSqrCCYlJe3atSs5ObnHSXReXl5hYeHBgwc37vP1SlPy0ywGg/oGz6q9qrnqNS5edemU2268orSokDFWfqjylbc//PizrwYUFdwz+5qJY4ZZHXYAuPay86vrjn29ZssnX35dc6whKT42Nys9v1dmZlpKQlxMXGx0TJTTYbdJkkSIuU9ijBGlrL6hedHiFcvXbMpKSxk6sP+Qgf1zs9KO1jeu3bxjzYbtO/YcOFxZw6hRmJ+zeP5rjU0t+w5Vrt24/YOFizce5n2z3fl2myjijeX+soogQshqtaqq2kN19Kuvvjp79uze6ZY/zUqzKSQSUVdvOfrOWqO0f59bb5yVkZo8YfQwQGDoBgAIosAZq66rT4yPtTnsVNMY4x27H8FIEKmm+vxBl8OOJcmMrALnwBgzo6jfuWlCMBKEjv0UACg1DEoIQQIBAK/bW1ldt21XeXHf3iOGlgIACEQNBIdNvqKs/OAVI9CYIanR0Y6ahvBDc2oZkleuXDFy5MieqKNVVX333XcRgovHxDltJKLSutrGmmYDAKZMHHXtDbMgFNE1ret6XdMRQHZGKqNMj6gnBSK4YVAwKELI6bAzzmkk8n+5AfNT33nRAMMAALvNOrC478CB/cGgHbehgWyzTjt7dFn5wXo3b25qsztsWcnKiH7Olbu8X331VbcD3T0Oy7ZtW7du25aTrBRmWSlFXm/Q7w+3+gEABg3oB2H1ZJQ7MAUwDPp9jiPn3JTebrk9xpiu63o4ouv6yXfQKzsTAAIR8PvDHk8AITSuJAojeP/9D/x+f08Eev78jzhjo/q7LBJCiK/f6/t4K9S3gyRKqUkJwH/eqOj/OZAnSyIAMA4coLXVoxssJ0XJS7NUV1etWbOmxwHt8/kWL1kqi1CaZ6MMdN3YVRmpaQV3COw2JcrlANYzgYZgOAwA1S3w2U5odYdVVZclPLyvAwAWLlzY44DevHlzbW1NQaYtKUZiHLx+1Rs0utxCRZF7KAMb48amVgBwB+FwA1Q3MV3TGIOiXJskwIoVK9vb23sW0EuWLAHOB/W2EwIYgceveoMQHxc7cmhJaXGfmGgX7ZESzSnLy83snZdd2r8PADR4gFLKGCTHSLmpluPH67ds2dKDgA4GgytXrpII9Mm0mp6ux6tGDMjLSV/60Wv/mvucIkk9s6jAUNULz51YtvaTfzx0FwDyhsCgnAOXRFSSZweApUuX9SDzLhAIHD/eIEvIYSWMAwBr86oAkBAX67DbGGOU9lAFbdo2iiInJ8ZhTIKq0XWnUXYBACoqKnqQRMfHx0+YMN4f5mWVQZEgQ6feoA4A8XExgHBPRrlLgVgVRZJEzQBqMISQbvDN+3wAMHPmJT0IaIzxNddcjRDaVO6jjGuaHo5QALDbLIB/FZxgTgRBliXdAF03CIbjrdq+mmBqatr06dN71mY4evTotLSMw0dD7X6qqZopxMiksfwahplSAADdoBijimMR3YCxY8fEx8f3LBc8GAxqmkoZp5SpIVUWTOM6AKfjppiBIDNhBSdnmXgHCYxzzvj/gRD27TnhpDzZiZnNbCLnjHNuRkl+cE5d0zkzWVPg9Xo55z8lmdn9QM+fP7+pqXF4gaIQ3R1WzchnMBQGzk9OchNBwBirkUhbc0t7S4vf549EwoamE0EQRVEQBIvNarPbrQ673e6QZFmQREyIoWnfhw5CSJAk4NzQdV3XNVUNBQJBfyAcChmGQQ2DUkYEoiiK3emMjo21OeyiLFPDYN+WAM6BM0YZhCO6qhmlefYYh7BixcqysrJuZFh3A9Dr1q0HgOJedp8vGAxp5UcBAM6dNBow5tzoiMmJwtGqmk0rV+3bVdZ8vCEcDmuqevIDY4wFUZJkSZREi8UaEx8XmxCfnJ529vkzLFbrd7FGCIWCwQ2ffdF0rL6tuaWluTng9emapmmaoeuMmoE+hjAWBEGSZavdlpqZUTSwdMjoUQnJyYaum3MyyuJio3rlpO8q23+8Tc/xBWNjXXlplq0H/Zs3b+5ZQI8dO2bRok8q68PJVv1Yq3G0HfoW5M2YPI7qRue6Rp/P++jzeR/53B5MMCYEISQIAgjCtyWLqeFwJBz2ebyN9fWGYVhttpETxtvs9u8y5DAhnrb2D19/KxQIEoEgjLGpazuVBhEIADEjSpFQKBQMNh9v2LVpy+IF/7royt+NnzbFDFoxzm1Ox5QJo3aW7a9uhgH+oMVmr20Ki5I8evTonrUZnnXWWaIkVxwLq5pxpAk4h4unT3REuxhjACCI4vJPP/vg1TeCgYCkyEQQzIc3dEPXdV3TdE3Tdd0wDMYY71TigihKsizJ8g9oSYSQKEmyIouSRAhBGCNAnHNGGaXU0A1DNwzDYJRxAIyxKEqSLLtbWt/65/OrlywTJLEruDdxzHCCSU0rAEKNbr3ZbfTt2ycvL69nbYY5OTmJCYltLXXeEKptAUEQJ08YBZSZevloVfWi9+dhjDnjmqFKsmyxWhwul83hkBVFEATOuWEYmhoJ+gNBf8Bc+7qmUUpFSQL+Q+6GoeuaqiGMBFEURJEQolgUm90hyTIRCAAwStVIJBgIhEMhNaJSwyCEcOAL5v5PYXH/pLRUahhUN4r65KenJh2rrw9r2B3QGIfCggJZlnsW0C6XKzUtpf5YXbOXN/sgJzu1b+9e1OjQG0s/WdR8vNEZ5copyO8/aGBO7/yktFSrzSZKkkAIwtgUcEqprmmaqgb9AU9be0tjY2P9cXdbuyAJp90MOeeiKPYtGRAVG5OUlpqQlBQVG+Nwuaw2qyCKRBAwQh0/hmHomu51uxuOHjty6PD+XWV11TWNx45/tejTa++4jQJwzqJdzpL+hTVH61t83KPqAJCZmdm9RmT3ZFhSkpM5wNE20BkMKunncNgNwyCENB6r37p2/YgJY6dfNrNXYYGkKMA5o/QUS4sQQgiRZRmcztiEhKxeuSZVi1LKKGWni0kxSuOSEu95/GEiCGapBTdtODjxx1TWMiiAUExcbE5B/siJ40PB4MGyvYs/XrhxxeqpF18Un5RIKUWiMKS0aNHiFUfbKAUEAAUFBT0R6JiYWACoawUAKCkqAIFwXccY11RUnj/rsikXXyiIoqHr+g9mPLug/79Twzlw4+SkyWmvAA4ADAAMAABJkgaOHF40qPSzefOrDn+TmJJMKQXKBpf0A0C1TZrDBgCQmprazW7RTwmt+Xy+p556au3atZWVlY2NjRgB4/D1v96aOGUcqDog0AJByekw86r/bryHGfR/peN3WC8dpUL/XugAACJen2LeHsbHao4Vjb5QwYFop3SwNlxUVHT55ZffeeedFovlF5ZoxtjNN988b968E69wsNus4Yj6ztsfenx+jDDCiHMO/85PKUmiLEnx8TGlRYUpKYlU1xk7/edFUdQ0bUfZ/m+O1IRVVdd0Tdf/je/qYAQyBCgvJ3PYoP45WWl79u73h1UAKC8vNytEX375ZdwdQZsfL9HLli2bMmVKXGz0nBceP3Co8s+PPQsAsiRFOeyEcsMwWKciNkkEAIAR7pJXzjl8CxUECJsUXA5AOXPFuK6edf59t18vK0oXiQAQBoxNDuj27WV/ffz58vJDzKCmCd3JRmBdE2OEoOPPSVxTQJRS3slNEAjRGZ0wYaTXH1i2cgMApKcmPXzfLXc/+KQ/EFq9enW3GNQ/XqLN+pQbfnfR9FnnZ23Y9sATLxiU6roea7F6w+Ho6GiEMOdcFIVIRK1vbOac67rOABSRYNGKiIwFASECCAFn3FBpxBfRdAZgEUWLLEd8waefeTMYDE+ZNHrztt3VdfWhUFgUhYS42P79eicnxP3+zr/527xIICqlqqapuo4BFEnEsgOIiIlghkE5NZgRoVowYjAMIEkSRig1JVEgRNN1hJAaUR1IWLt2a1pmivloGWnJ190wa+/+w8+/8f7ChQu7BegfKdGMsaKiogMHDuxavXDLrvL/+WDR7vIDhkEtkiSL4oP33zrr4mnMMARJPHKk7g/3PrJn3yEAGDp0yOgx4w75k6vaZbvdHlJ1UZCIKAPCWsjbLxWGpodXrfh62VdfRcJhhFBqTEwgEhEJIRwwMgUeceAG5xqjVlEisohEUnv0uMVqnXzOOWPHT9hUoxxoRDarJRTRBQEjLABjWtiXEx3OtdSvXbtm586dADCktOjFf/wlPS2FUerx+a+++f7aqroIZ+FwxAR641fzKo7UjJl2dXFx8e7du396dOlHap+Ghoampian0x4vSV99uuzAvm/6pWdkxMUhQIpFOXfSWQnxsUmJ8QTjW/702J59h0pLSxcvXrxu3frs0TeprgFP33PBB49dOGu4vXrVM9VrX/Yd3W2LST0SzsAZkxctWrRu7dri4mLOuTcUyoyPxwhZXfb4tMSkzJS4tARbtBML2GWxOiyKOxCoPXq8tLR0w/r1n3zyCU05xyv1+ufd57738IwLSnDVimdqN7wZbPnGkdirRSruc87tGzZuXLRoUVFR0bZd5fc8+LTDbk1NTuhb3GfY4OJQROUGLcrM7Jee0dzc9s3qTekul6LILa2tXq+3e9I5P2Ls2bNHEMWs9OTq9196/IoLhxfmRdltCCGbJOekp9bvW0Wby7n74BN/vQMAzj777La2Ns755gMtxTd+/uKiQx1WL9WGDh5o3kZiv6lDb1k8ZPbiDeVNnPPa2trCwkIEEG2z3XPrtbV7V3qrt0bqd/lrt9WXr1r12dycjNRYuwMA+vfvX19fzzlfXdZYdP3nby2pNCdXI6GS4iJz8uQBFwy9ZcmwW5bs+KaNc97Y2Dh27FgAePa//sTdh7j74N/+eLNFEEVBIBhjhIYX9Nr93CMH5j6XEBdjdzgqKir4Tx74x/88ANigWjD0+ynj5917U3ZivBmjIQRLoogQRELhef9anJySMmfOnJiYGABYtvWYbjAj2NKhtrCIBcn8f9O+Jd7a7ZSTZduPA0BGRsZLL71ksVgM3chOS8nITrdZFUKIRZZTkhMHFfe1WiyqrimK8uqrr6akpADAV9vrKWNGqLVj8xFlInb40A1li/zHynRGlm49BgCJiYlz5syJi4+ft3CxGg4Dxooic+CyJFHGbIry3O+vyEiMp8EQYYwxzroji/8jgbbb7VbF4g+EIqqGEKKUBTtJcpybhHCka3pzS9ttt93WZfw3uiOKLL/xyvMLPv6wsrLykUce2b59+4kEQssRQkizO2zWZIwfP760tFTVNN0wwKCmQcE4Z5Rqms4Zi6jqudOmjRgxAgAMylq8qiKJLz771GeL/lVRUfHAAw/s3r27a/JQWw0m6HhbR8OJ7Ozsm2++uabumMlVMz1Ks/yiT0ZKelwspUw3jFAobLVaHQ7HL2Z1pKSkxMfH11VXhTQVIaQZRljVzbSQGbgw9w5XlGv8uHEnbGQBE0K8mjjz0lkOh+MUfpslJoNzJosEd+48iixzOF2aAwEHYADnnHPOiUgewUSUWgP8/AsvttvtgUDgW5NHp3HGFfFExdWkiZPmvTvXtAQMw0AImfVY0XabIgm6wcKa5ouovdJd3ZLT+pESbbFY4uLjDM7rmlpxRybphFYxGTOSJDpsFs9JO0n/3GjD0FOLZ9gSC05BOS5/XEzOMEPX+2VHdU2FMOZmRuo03gYggK4AG8Gob5bL0LX00ouscbmnoJzQ55yojIHU0Af0OtGyw+v1JsbFyGaOhlIz+dC5aQHB+JujDRwgOTlZEIRfDGgAGDJ4MADsqaojGBNCZFEwJUs3jEhE5QCy1TJ25OB3332v6yMzRmRkJFhBie4z49GMYVc7kvtY47Kj0ktzx9/Ra+LdBiOpcZZpw9NPiX5ghIED8A6lxE2UMWIAoVCo6+LzRqYnRcvIEtfnvMfTh/7OkVRojc2OyhjYa8JdueNu0xnOSXGcO+zE5HPfeWfC6KGSRQHOg6EwQqAoctfPijHaf7QeAIYNG/YLu+CDBg0CgO0VVaquCwSLhJhAa5ruDwQRAqYbd9101eRLb/rDTTffcsvsjPR0l0X5y2UFj35wwB2Kzxx1Q/rwqznVERERwpqqxjvJQ1cVp8SeiC0E/H6MkMUid3iOJ0X7JEkSAC1btuymP/zBfDE93vbQlf0ffnevG8dmjrwhY/g1nFEsyAgTQ9eSbPCnmb1tEnW73dU1NS+88GLV4fKXH3+D6ToWRbfbC4CiXY76hiaEEQKkavrWQ5UA0F3ZrB8P9KhRoyRF2VVV2+z22qwK71zshqYHgiFAmFItLTX5s/dfeuSpl6664tKwalitNrvN0h4WGwIiESzE4hIs0ZI9QbJFFfVK+q/ZZ+enn2hTsujTT/fs3StLkt1mPSWSZPgDSNUsirJk8ZKlS5dOmTLFfGdYn/h/3jTgLy8uP1jTogfdaqDZCLtpxMv0SJJdu3O1HgiGI+GQVZEG9u/96fsvJcbHGrqBRfD6AgDgdDo6f0jU0OgurztmtdnMzfaXBDojI2PwwIEbN27c9s2RswcVm0KHMdZ0o7XdAwQDgK7rOZlp7772dGtLa92xhlA4zBhnVNc0ze32VtXVN7e2tbZXV9Y2HD4YvHbdM+kZ2cOGD4+Oiqo8cuSdOW8RhBBAdJTr21ERLsuSRSAIoRFD+t9z1x2bt2zNzspqd7dv3Lip8Xid3+eNd7p6ZSbFZDmTE+KzMwdEuxyiJJtFi1arJSs9JTouhhuGoRsIIUPVWtvdAsEuV0eHFAGTLYcrPaHIuHHjuite+uOBFkVx6tSpGzduXLpjz6TSog5CAcEykj76dOn5504QRdEwDLO+ITrKFRcb07n4UZciBISA0lAg6PMH9x2sKD9weOvapU0tbXnZGRdMHbtgwRLKeVxMNJwUwOOMW13OhMR4oaYeA3rlyfvf+/jzDSuXpKUkjB3Yr/iqaYW9cxx2m8VuA4yBceBdMaaOWhjaWc+BMSZWy7o1m745XG1VlLSkxM4wJF+yfQ8ATJs2rbtKw3/SfnrBBRc8/vjjK/YcqGlqIRgTjAeX9ttXdnDNqs033PHQn+64oVdWOhKFE7sY79jUOvRMJ6nJardZnY6kzLSJ0yeBQX3NLfMXLfv7M29ImKRkp/bulWUmxrp2SCxL40cMXLl5V8WBI8+/8cFj99/Wr08eWC2AEOgGGAZwDpRCR5cb3sWxAQSAMcGEIACEAl7fksUrHnjsOQURW2L04JJ+b763UCDkyPGmNfsO2+z2bmSF/SSgCwsLx40bt2TJks827xAJ0XV99nWXPfvquxX7K5d9uWrFqo3FRYXF/XpnZaTGx8VEOe1Wq0USRUEggiBApxWo6bqm6aqmt7V7qmqP7dl3aOeufc0NLTIhKuaP3n+b3W47pQSGUXbR5HHLVm/evOfgjk27zz7/uqL+BQOL+xbm56QmJ9qsFkkSZUk0K8kJwZQywzB0w4hENH8w6Hb76hubDldU79pzoK663iaK7nDw0Tvvjo+JBgCRCIs2bQ+o6vlTpnRjIvynlr998cUXM2bMSHDaBSIcd3s2Lv0gJzvj3gefWrFyPVMNShllzPQvEMayLAkCwQQTQsDM8CGgBtV1XdcNRpkZnSOEEEko7Jv32F9uP2v4oO8WGiGMNI+vra7+9a/WzJv/ud/tY5SZteEcgcl8EkUBY8QBCCEmAYFSqmm6WX+HACHgoiAggpNSE++74/orrrz4s0+WnH/l7QOy093+YF2be8mSJZMnT+4pQGuaNnXq1JUrVwIAwXjlp3PGjBnOVW3n3gPLV2/aWbb/eEOzPxCMRCJqRI1ENMMwzP4CnW4HIIQkSRAlUZZlp9OemBBb0r/PxDHDRgwpsVgUXTt9SpAzxjRdcTmrqmqXr9m0cevuyiO1Hq8vFAprmq5rumEYneS7ji8iBIuSqCiyIstWmyU6ylnYO/es4QMnnDUsLj4WEHz2xdfnX3W7Of/kyZM///xzURR7CtBm1mfChAktLS0dQI8cYui6IAhAMDCmRlSfPxgKR0LhSERVDcNQNV3TNAAQRQEhLEuiLEmSJCqyHOVyuJx2szST/nBXlc7uNYJAzOsj4Yjb4wsEQ5qmqZoeUTXaOQghiiyLoiCJosWiWC2yzWp12m1IEAAB03VKmajIXUAnJCSuXr2qT58+PSsLXlRUtGDBggsuuMDj8XTtV7qug97hXMRGu+JiojpInl2GR5cZ0BGIAjNmdEppJjI3/ZOqZbuYoxw40BPXC4QkxsckJcSd2PfgZP+9s0lbZ+mtQelp+a4ZGRnz58/vXpS7jW4wYsSI9PR0t9t92oAq/VGLBmHsO3Y8WN9oS0qQnA5BlgAjAOCUGeGI6vMHG1ucGamOtGSzuxvnnFIz1vSTxpAhQ4YPHw7dPboHaL2TnNmNg3NuiY5u2XOgdd8hLElEFLFAgHNqGEw3qKrZU5OUAX27/XvZmakh+2UadZtNjwjGpy+/4Bw4Z4xhhy170ujWAxWBY8c1f9AwvQyBWGKiHBmpMQW9iCQB58jsTtPRIfM0CSRKf/aehmcIaIyx6UFxs2/MD18pilTX25pbmpuaWlua/V5vMBjkjAmiKEmSw+WyO5w2m83pcjmcTovNmlhalNC/D1VVquoIAZFlQZGRQBiljDJd0wIBv8/r87S3e9zuYCAQCgU554Rgq9UeGx8XGxefmp5udzkZpSc7Pqf9/aHTt+mhQEuSZKYh1O/YvN/y2iXJ096+avnXm9asajhWEwl7GdMFk3Db6fsaBuccBEGWZIsoKaIk2+xOi9UqK4ooyQRjzrlh6LqmRULhYCgQCQV0TdW0sKaGEOIEI0w6OrRRyg2DiaLV4YorHTbyvItnpmdl6t9/h4FgyAwt9GiJNpsQhcIR+B6JECVp+6bNr/7zKU/b0ehoOS5GFgUnwoieromBmamjNMRZIOxrCXg6mh2YV5qdwzBBBGNZxBYZESIRcmpTf4EgADAMGom41y3/aMPKr27/80Mjxoz+PqwPflMFAN3eTambdXRCQgIA7DtUecGMc07zNaK4e/v2Jx64NyYK0tNdDITallCLx4cRz0pUHIqAEJh9107WPAQDx5gI6HvXeWeIinNm6KzDSOScca4ZcLg+CADZya5om5iaGu33h5//x6MZ2XNSUlNPx+pDFUdqAKC0tLRHAz1q1KjXX399y449nNHvbn2qqs595SWXg9ns1rTc/uv3uTdXVtx/9+1Ouy3eDr7WuqbG+lDAq2sqpQZjDGOCMSZEIIIoCILZCq/LKOacM0YpNRiljBqMUUoZwRgRIsmK1e5KS89OSut1rF1tbGp99pU5Myf15b4qhwM8nvb1K1defv31pwBNMPZ5vOUHKzDG+fn5PRrogQMHKoqyZfueo0ePp6ckGSc9CRHFfXv2Hq05mJHhMgwjOinHXl//p9vP2raj7KZrLx01bKBgtwOlLBI2dI1S2gk0woQQImAiAEaAOttuAwDjwBhnlDHKKGPM/AjGmIiSBJICGAHGDdW1T77wdkZ6mhSTm5EWtX/XeotFqKup/i61FQvC3gOHD1VUZ2ZmFhcX92igCwoKhg4dtnbtms+WrLpt9jUQDp8s0fv3lIkCMwsMjxwqYyzqntnXbN5R9vb7nzz/+vtOpz09JUkSBUkUASFGmaprmqZrum4YVNd1AMQY0w3DZDIaBjUTqYJACCECIYos2e3WKKcjNtrlctoxJpu37ynbd/CKS2eMHTl4z77DhqGbTr/P4zZ0/dTmsxi///GXnPOpU6eeoQbp3QY0Quj3v79x7do1L7394axLpkW7nCcvz8rDh6xWkXPAmHiaqs479xqEhRFDS0cMLS0/8M0Vf/hzRl5x/4ED3W63rutWi0WxWGRJkmRJkmQEgAkxzUdBIIQIwDnC2DSQqWEYlIZCQbfb3d7e3hwKr9y2e+HCj//+wB3v3/pkTHys3+PnoeaVn38qCCIhNBQKUMpMdmvnLi0eOHB4/qIloihec801PdqO7soDDBw4cOfOnc+8PPeJR+6lIdqRF1fV9tYmURLMhS9gVL512ZgxY5NTMwxdL+pX8PZzD//tv98aO3bspEkTvR6Pyak1qzwFQcCd/VxPckE63BBKzRCrzjknhMTGxh7+5puNG9b+z0uPX3zRuTSicoO2NR/fuGIh4hQQwRhpqsoZg06gEUKUsb/942WvL3DppZeaGecz4qN1rwv79ddfn3vuuYTgT9974ZxJY/RwBGMcDATuuek6AdolRTR1rKapWb0H3nLPI1arnVJDlKV9+w8/8t+vR8Wnz7riipIBxRaLRdO0SCSiqurJK6PzmApuhqtEUVQUxWKxYIyPHKma+847+8u23n/7dSNHDNIjKhGEgN/3wpP3H68+IEoSAKiqBiTx2TfeESXRnES0KM++OOfuB5+KjY3dtGnTGdoJ4Uw06r733nufeeaZjLTkrxa8UdA7l+pGe1v7vX+4xm4Ln8xEUVW1aPD4626+T5YVSg1RFDRNX7J87SdLV4c01Kdf0YCS0t69e2ekp1mt1tMm7ihlwWCgqrq6rKxsw7p1LY1Hzxk75MpLZjicDl3TCBE0TX37lX+U71gtS3Lnl2pAkp59Y64JtGi1fLl4xczr7g5H1Dlz5lx77bVnMOrQ7UAHg8GLL7542bJlJUUFn73/UnpmekNt3T1/uDo2hp9So6CqatGgcVfeeJfT6dJ1HSEkSCKntKrm6LZd+3aXH2xscXsDEacr2hUd7XA4JVkWBJFSQ9c0v9/vaW/zeNpinbbsjKSzhpUOLu1vdzqopjPGRFH0+/3vvfXs3m0rTy4XVCMaEpP/+cYcURQFRV6/YdtFV9/R0ua+9957n3766TMb3jkTfXgaGxunTp26e/fuISX9PvngZRnYrddcmhBPEDo1hKSqWnpuvyuuvysrN6+rvl4wOzAirIXDfp+/qbW9xe1xe3zhSIRShjGWZSna6YiPiUpNTnQ67YKiAKWGbpiaGhOh+sjhD+e+UFe592SUEYJQSJWtmU+/+obicGzetH3m9XcfO950+eWXz507t3vLN38moAGgtrZ2xowZe/fuLelf+MxDd8559tFoF0Oni9XpmqY4Yiaff+XocVMUi9XQdd7ZJw8TEqhv8FVUW1xOwWYlooAIBsaZbqiBoOCwO3MyOQKzjQIhBBBubWlau+LLDSs/VUNeUZROcSWDgbArrvC/33x7+Yr1V8++v7G5ddq0afPmzesWvugvAzQAVFdXX3rppdu3b0+Oix6aClkZ1u8prwLGqG6wjNx+4865sP+AwVabHXXEAqmh6zW7y6q27bASSRFlQBDRVJ8WSu9flFNaIlttAMA5C4WC9Udr9uzctGfHem9bgySK3/1REYKAP5yYNiB3yPg7/vJEIBC65JJL3nzzzZ/nFKcze2hEc3Pz1VdfvWzZsqxYMnlQglUhP3CgkGHojKP45MzMnD5RMbEAKOD3NDUca2mqCwf9iqQIiAACgxphNSwpVocz2uGMFkQxHAx6Pa0Bbxs1NFEUMCbfZ+lrEa3siLq5ygsAs2fP/uc//3mmNcbPBDQABAKBBx988Lnnnouz43HFsemxMv3BRjCUGpRSs7YQI4QJJpiY9YqdOUOEEOKcmQE94IAQnBIMOW0IimBUdTy0eHu7ZLM9/vjjd95558+a6/h5mtK9++67f7zvT81NjUPyHIN6ORQRG+zna4YnEBRS2bZvvLuqgn379nvppRfNGpb/QKABoLKy8r77/rRo0SexdjSqT0x2ogUhoGcYboIR47yyIbx+X3tAF26+6aaHH/7bGYo49xSgAYAx9s477zz22OM1NdW5SfKw3q4ElwRwRuAmGAHA8XZ1yyFPbateUlL6978/0VWK8R8OtDmampqefvq/X3v99WDAX5CqDMx1xkdJGIDybrgXhIAgxDhvcGu7jvgqGtTEpJT7/njPjTfe+DPYcD0LaHOUl5c/++xz8z/6OBwKZCeI/TKdGfGyLGLOgf37iCMEGCGEIKKxo62RPVW+ujYjJjbuxhuunz17dkZGBvzS4xc+RfnAgQOvvPLKgoX/am5qjHOKWQlydqIl3inKIkaoqxfeaVoWdB3DaV6m6qzFqx9pDNU0q+4gzcrOvfJ3s6699tqsrCzoGaNHnAve3Nw8derUnTt3Ikw4o1YR0uPl1FglMUq2KVgWsWQem9rJI+MAmsEiGgtEaKNbq28LH2vRIhRkWVHVyNChQ5ctW3YmjmHqKfHoHzcopX6/3+fzWWRh0bsvHqioWb560869Bw/vawfuBQCXAhYFW0SiyAQ4hFUa0WkwwvwqAADCJDU5cfI5heeePaZ3TsaUmb/3+Xxn6AS3X6VENzY0HKmq+vLLL1evXn348GGPx1OYk7J91Se2mBjQtMbmtoojNbv2Hjze2LJzz4HG5jZV1yMRFSGkyJIsS2nJCaX9C5MT44eU9MvJSouLjwVBCLa3DRp30Te1jbm5uX379i0pKTnrrLPy8/O7vW9PTwc6Eons379vzZq1y5d/tWvXrtbWtpPfnT7prE/nvcIo6wzCYTD5u6pm5lxC4QhCyKIoCIFACJYlAACDmllwhBDC6LxZsxev2HDytLExMYMHD54yZcrYceP69OnTLdWZPVR11NfXb968edXKlevXr688cgQRsV/JkKLBY1Yv/eTky/r0SsOiSI2IqU8opaCZZc8d5x86HXborPJknNPwt45o4ZwLktIvL2PxihMviqI0fsZlzQ3HH33iqYcefji/V69x48dPnDixtLQ0Njb2PwHoSCSyb9++devWLV++fNu2rW63x3y9dNjoW//8X7HxSbu2rF299JMxY0cTTFatWg0AY84acdqOSF1r7n9ffIwNGzoQXp13ciBp2FkTexX0C4eC8+e89OmHb2/fseOpp55KT08fNmzY5MmTR44cmZeXh898q+tuBrqtra28vHzx4sXLli07cGC/GRuKTUg6a+K00mGjKg/tB85j4hIMQzOfLSsz87nnn73n7nvfmfs/5QcqJ00YI8qSof1YEjBjQ0r7J8S4mtu9sbGxBQX527btZNTQNU1RLMlpGQOGjBw0YtyuLesO79+zYMGCBQsWWK2WwYOHTJw4ccKECb179zbbXfRcoIPB4Jo1axYsWLBm9eraujrTGMgrLC4qHdqvZEhWbm+HK0pRrHVVTwiiaHK2FKsNAFRVdbkcL7/y/ISJ4x566NGlqzf99e7fjz9rGBYF+t2jVL9/YIyJJDJN33Og0mB8wIDiF196/ssvvty4aSsRRA6cMqpYbIpiPe/Sa8+ZMbOtpaniUPme7Zv2l+1Yu3bt2rVrH3zwwczMzPHjx8+cOXP06NFWq7VnAd3a2jpv3ry33nqrvLwcAERJ7lM8aNCIMcWDRqakZ8mKhTNGqWHouooiPk97Vq/eJjvOarVjIpq62DDozJkXjxo18pVXXr/29r8V5KbPvn7W2eNG2px2MA/jPB3iJluPiAIg7G5r/3rNptff+aiituHW22+/efbvkxLT3nrzLYyxIIgmJc/udAUDvnAoyDmLiU8ckZQ6cuxkv89TV125b9fWPTs3Vx7aN3fu3Llz5w4YMODGG2+85JJLurEpuvATBfm2226bP38+APQfOHzUhCn5fQckp2SIssyoQSnV1MjJujbg9zqc0SZfwO50yYrCOccYcc7D4UhcXNzjjz9yzTVXvfM/79332AsPP/XyhVMnnH/uxML8XMmqAKXUoJxzjDEmGAjhutHW7t62q/yLZatXbdhOZMuFF5z/2tW/y87J1jTNoGGf34+JIFssZjtHh9OlqRFNi4iixCg1u1dbrLbC/qV9Bwy+4IobG47VHNpXtmHVkrLd22655Ra32/2Xv/ylu+jSPwlom8327LPPlQ4aYsixWb37y7LMGGWn4Nspf5TSUDDgjIoym95JshwVE1dTXe33BwRBMNuphMPhzMyMxx97+NZbbl6+fMX8+R/P+eiL1ISYiWOGnz12RN/CPIfd1tDUUlVzdNP23Ru37Nr/TTWRlGHDhj7+5D/GjB4VExOj63o4HMYYBwKhuto6RVFkWTFb4lhtDkqpGglLkty1RBhjjDEAHSGUlpWbnp0/5uwZTTUHc1Nck885uwe1nk9KSvzjPXdFDH6w6nj18XZN0zHCpztgGlQ1rEYiTldMR6pbEBKTUnZs3/jee/NuuunGcCdXzywfj4mJvvLKWZdfPrOqqnr16rWrV69988b7FEmIjYmurTvm8QXGjB0zbtzE2/44uF+/PnFxcQBc0/SuSSRJWrp02a5dZSlpWYQIJqqSJCOE1XDY4Yo+jYPKGKUs2iGU5mVmn13SQzdDRUAl+am5qbHf1LVUH283j384WRwQQmo4zBiz2Gym6hBFKTY+CQD+8fcnJ0+elJaWquvGyX65SVDKy8vt26dfbEz0po0bE6LsI0t67XG4tpQdtFrkS2de3KtXfjDkj3z7zEOEUCQSefGFlxFCVrudEGIWoZttvyORyClyajLcHTald2ZCTnK0IPT4A9idNmVQYfqkofkFmQmKJJp99rsePhwJIYQkxWIuZExwXFKKIAiKYv3bQ4909LI8RQoEIRgM3XLLLdfdcFtmwejpF10/feLIB/5w/r23zt5zsGHMmIkLFy6Qv9M1XVGUj+Z/XFNzND+/t2K1mz3YgXNRkgVBCIeDJtmdczA7YsW4rIMK088emp+fHneGUIZuP+keAKLsltKCtElD8wcWpMVFWQGAUsY5REIhhJAsKx2uHeNJKWmMsfMuuHDVqnXvvffBKX1tJUlqa2ufdflVn3y88PYbrh4waMTBZrT8AAtE9PH9HDddPtXr16677vevvfqGLMtdHgch5Pjxhr///amZl86SZdnhdBFBMNeQJMmyxeLztDMOlDFJxJmJUaMH5EwcnJefEW+2Kvr1eYY2ReqdkZCXFt/qDRxt8rT5wl53GyAsSh2n7nHGUjOyGWNWi3Lb7Xf95f4Hiov7l5QURyKqifLx+obLZ/2uoqJ6UL8+U4emVreGN1ULtW4UNsiEfBRprygt6XPppZc9+MBfG5sa//rX+82dTRSFxx/7L6crZtr0af9aMC8lty8hgqHrZtW/ICohvzcx2poQFZuWEG23/kxcgzMe68AYJUQ7EqIdBmVJVuqUqdOm+AJhxjgHwxUdp1jt7vbma++9bufOHddec8OSpV8kJiYAQGNj48UXz7Q7ol997bX77rnzcG1zQWacSIwNVUKzH62qIGvX7T/v4gtvuvl6xWK7/09/9Hp8Tz71hMNuf+/9Dz76+F9vvPF2Wmpcu7vdGRVjshcEgl1W8c/33dOvMC8vN+sM1bj98vFogeD+/Qr79yvUDaPdF2po8frCmlUiyWmZ69dv+MeTzgcffOCmm26eNevKRZ98TAThd7+7RhQtTz71dMmA3gsXDHl90fY/Xj8j1aWO62VsrBFrGty1DW3Tp51rGNqM6edIkvzHe+7knM04b/qdd9x7++13TZ06oab6CCFir9zc7KQoh4wSYl0uuwWhPPiFxi+ZYdENumPnzrqa6vPPm8o5L99Xceutt7hcdkEQ6o4ef/HFV0oGFFhtlk2bNk+fcdk5598wqX9UbqweMMTH3lianGBb+K+PdF1HCNzuwJq1mx975CFDV887/6KHHvyz0+nw+/xt7d7UtHSzydpvqaxvDa/Hs//AgeP1xwoKCrOzM0RJYIwTgv5y/18r63yDh44uSjaiFP35dz679e4/jh59lq6pCAECrFPk8Xipoaf3gDzsrwDo7x2chyNhURA5AALOAU5hivb88SsB+tc/8G8Q/Ab0f9T4f71Q5MWA3h93AAAAAElFTkSuQmCC");
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 92px;
}

body {
  min-width: 320px;
  margin: 0;
  overflow-x: hidden;
  color: var(--ink);
  background: #ffffff;
  font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  letter-spacing: 0.02em;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }

h1, h2, h3, h4, h5, h6 {
  font-family: "Poppins", "DM Sans", system-ui, sans-serif;
  letter-spacing: 0.01em;
}

.skip-link {
  position: fixed;
  left: 16px;
  top: 12px;
  z-index: 100;
  padding: 10px 14px;
  border-radius: 10px;
  color: #ffffff;
  background: var(--cyan);
  transform: translateY(-150%);
  transition: transform 160ms ease;
}

.skip-link:focus { transform: translateY(0); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  border-bottom: 1px solid rgba(22, 104, 216, 0.1);
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 10px 32px rgba(15, 37, 64, 0);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  transition: box-shadow 320ms var(--ease), border-color 320ms var(--ease);
}

.site-header.is-scrolled {
  border-bottom-color: rgba(22, 104, 216, 0.165);
  box-shadow: 0 10px 32px rgba(15, 37, 64, 0.07);
}

.header-inner {
  width: calc(100% - 40px);
  min-height: 62px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--ink);
  text-decoration: none;
  font-weight: 820;
}

.brand-mark {
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #ffffff var(--brand-logo) center / cover no-repeat;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 3.5px rgba(22, 104, 216, 0.32), 0 6px 16px rgba(15, 37, 64, 0.12);
  transition: transform 320ms var(--ease-out);
}

.brand:hover .brand-mark { transform: scale(1.06) rotate(-4deg); }

.nav-links {
  display: flex;
  align-items: center;
  gap: 7px;
}

.nav-links a,
.nav-cta {
  padding: 8px 11px;
  border-radius: 10px;
  color: #3f5c7a;
  text-decoration: none;
  font-size: 14px;
  font-weight: 720;
  transition: color 220ms var(--ease), background 220ms var(--ease), box-shadow 220ms var(--ease), transform 220ms var(--ease);
}

.nav-links a:hover,
.nav-links a:focus-visible,
.nav-links a[aria-current="true"] {
  color: var(--ink);
  background: rgba(22, 104, 216, 0.06);
  outline: none;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.nav-cta {
  color: #ffffff;
  background: linear-gradient(135deg, #1a6fd8, var(--blue-deep));
  box-shadow: 0 4px 12px rgba(15, 79, 168, 0.3);
}

.nav-cta:hover,
.nav-cta:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(15, 79, 168, 0.34);
  outline: none;
}

.nav-toggle {
  display: none;
  width: 40px;
  height: 40px;
  padding: 0;
  place-items: center;
  border: 1px solid rgba(22, 104, 216, 0.25);
  border-radius: 11px;
  color: var(--ink);
  background: #ffffff;
  cursor: pointer;
}

.nav-toggle svg { width: 18px; height: 18px; }
.nav-toggle .icon-close { display: none; }
.nav-toggle[aria-expanded="true"] .icon-menu { display: none; }
.nav-toggle[aria-expanded="true"] .icon-close { display: block; }

main {
  width: min(calc(100% - 40px), var(--content));
  margin: 0 auto;
}







.shop-heading { min-width: 0; }

.shop-kicker,
.eyebrow {
  margin: 0;
  color: var(--blue-deep);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.shop-kicker { color: var(--market-accent-text); }

.shop-name {
  margin: 18px 0 10px;
  color: var(--market-accent);
  font-size: clamp(40px, 3.5vw, 54px);
  font-weight: 850;
  line-height: 0.95;
  text-shadow: 0 0 30px var(--market-glow);
}

.shop-name span {
  display: block;
  color: var(--ink);
  font-weight: 550;
}

.shop-description {
  max-width: 31ch;
  margin: 0;
  color: #3f5c7a;
  font-size: 14px;
  line-height: 1.62;
}

.shop-performance {
  width: 100%;
  align-self: center;
  display: grid;
  gap: 13px;
}

.rating-block {
  padding: 13px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid rgba(22, 104, 216, 0.225);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.56);
}

.stars {
  --rating-fill: 100%;
  position: relative;
  display: inline-block;
  color: rgba(15, 37, 64, 0.18);
  font-size: 19px;
  line-height: 1;
  letter-spacing: 1px;
}

.stars::after {
  content: "★★★★★";
  position: absolute;
  inset: 0;
  width: var(--rating-fill);
  overflow: hidden;
  color: var(--gold);
  filter: drop-shadow(0 1px 1px rgba(184, 115, 10, 0.35));
}

.rating-value {
  color: var(--ink);
  font-size: 13px;
  font-weight: 830;
  white-space: nowrap;
}

.rating-value span {
  margin-left: 2px;
  color: var(--ink-faint);
  font-size: 10px;
  font-weight: 650;
}

.shop-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid rgba(22, 104, 216, 0.21);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.46);
}

.stat {
  min-height: 82px;
  padding: 15px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.stat:nth-child(odd) { border-right: 1px solid rgba(22, 104, 216, 0.084); }
.stat:nth-child(-n+2) { border-bottom: 1px solid rgba(22, 104, 216, 0.084); }

.stat strong {
  color: var(--ink);
  font-size: 23px;
  line-height: 1;
  letter-spacing: -0.035em;
  font-variant-numeric: tabular-nums;
}

.stat span {
  margin-top: 7px;
  color: var(--ink-faint);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.shop-link,
.button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 0;
  border-radius: 14px;
  cursor: pointer;
  text-decoration: none;
  font-size: 14px;
  font-weight: 820;
  transition: transform 240ms var(--ease), box-shadow 240ms var(--ease), background 240ms var(--ease);
}

.shop-link {
  width: 100%;
  padding: 0 18px;
  color: #ffffff;
  background: linear-gradient(135deg, #1a6fd8, var(--blue-deep));
  box-shadow: 0 6px 16px rgba(15, 79, 168, 0.26);
}

.shop-link:hover,
.shop-link:focus-visible,
.button:hover,
.button:focus-visible {
  transform: translateY(-2px);
  outline: none;
}

.shop-link:focus-visible,
.button:focus-visible {
  box-shadow: 0 0 0 4px rgba(22, 104, 216, 0.35);
}

.shop-link:active,
.button:active {
  transform: translateY(0) scale(0.985);
  transition-duration: 90ms;
}

.arrow { font-size: 18px; line-height: 1; }











.button { padding: 0 18px; }

.button-primary {
  color: #ffffff;
  background: linear-gradient(135deg, #1a6fd8, var(--blue-deep));
  box-shadow: 0 6px 16px rgba(15, 79, 168, 0.28), 0 1px 2px rgba(15, 37, 64, 0.12);
}

.button-primary:hover {
  background: linear-gradient(135deg, #1f7ae8, #1259b8);
  box-shadow: 0 12px 26px rgba(15, 79, 168, 0.36), 0 1px 2px rgba(15, 37, 64, 0.12);
}

.button-secondary {
  color: var(--blue-deep);
  background: #ffffff;
  border: 1.5px solid rgba(22, 104, 216, 0.35);
}


.section {
  padding: 72px 0;
  border-top: 1px solid rgba(22, 104, 216, 0.12);
}

.section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.75fr);
  gap: 40px;
  align-items: end;
  margin-bottom: 32px;
}

.section-heading h2 {
  max-width: 16ch;
  margin: 12px 0 0;
  color: var(--ink);
  font-size: clamp(38px, 5vw, 64px);
  font-weight: 820;
  line-height: 1;
}

.section-heading p:last-child {
  margin: 0;
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.68;
}

.launch-note {
  margin-top: 16px;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 11px;
  border: 1px solid rgba(22, 163, 74, 0.2);
  border-radius: 15px;
  color: var(--green-deep);
  background: rgba(22, 163, 74, 0.1);
  font-size: 12px;
  font-weight: 760;
}

.pulse-dot {
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--mint);
  box-shadow: 0 0 0 6px rgba(22, 163, 74, 0.08);
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.product-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #ffffff;
  box-shadow: var(--shadow-soft);
  transition: transform 280ms var(--ease), box-shadow 280ms var(--ease), border-color 280ms var(--ease);
}

.product-card:hover {
  transform: translateY(-4px);
  border-color: var(--line-strong);
  box-shadow: var(--shadow-lift);
}


.preview-window {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at 50% 50%, rgba(22, 104, 216, 0.096), transparent 12rem),
    linear-gradient(rgba(15, 37, 64, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15, 37, 64, 0.045) 1px, transparent 1px),
    #f1f6fc;
  background-size: auto, 26px 26px, 26px 26px, auto;
}

.preview-art {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  overflow: hidden;
  transform-origin: 50% 58%;
  transition: transform 900ms var(--ease-out);
}

.product-card:hover .preview-art { transform: scale(1.035); }

.preview-art text {
  font-weight: 700;
  fill: var(--ink-faint);
  letter-spacing: 0.06em;
}

.preview-art .art-label { font-size: 8.5px; text-transform: uppercase; }
.preview-art .art-sym { font-size: 11px; font-weight: 800; }
.preview-art .art-pole { font-size: 12px; font-weight: 800; fill: #ffffff; }

.art-flow { animation: artFlow 1.5s linear infinite; }
.art-jiggle { animation: artJiggle 2.6s ease-in-out infinite; }
.art-slider { animation: artSlide 4.4s cubic-bezier(0.5, 0, 0.85, 0.5) infinite; }
.art-gpe,
.art-ke {
  transform-box: fill-box;
  transform-origin: 50% 100%;
  animation: artGpe 4.4s cubic-bezier(0.5, 0, 0.85, 0.5) infinite;
}
.art-ke { animation-name: artKe; }
.art-glow {
  transform-box: fill-box;
  transform-origin: 50% 50%;
  animation: artGlow 2.4s ease-in-out infinite;
}
.art-wave { animation: artWave 2.6s linear infinite; }
.art-wave--slow { animation-duration: 4.1s; }
.art-twinkle { animation: artTwinkle 3s ease-in-out infinite; }
.art-halo {
  transform-box: fill-box;
  transform-origin: 50% 50%;
  animation: artGlow 4s ease-in-out infinite;
}
.art-orbit { transform-origin: 112px 112px; animation: artOrbit 14s linear infinite; }
.art-orbit--inner { animation-duration: 6s; }
.art-moon { transform-origin: 190px 112px; animation: artOrbit 3.2s linear infinite; }
.art-float { animation: artFloat 5s ease-in-out infinite; }
.art-alpha { animation: artAlpha 2.6s linear infinite; }
.art-beta { animation: artBeta 3.1s linear -1.2s infinite; }
.art-draw { stroke-dasharray: 1; animation: artDraw 5s ease-in-out infinite alternate; }
.art-deflect { animation: artDeflect 2.8s linear infinite; }

@keyframes artFlow { to { stroke-dashoffset: -28; } }
@keyframes artJiggle {
  0%, 100% { transform: translate(0, 0); }
  25% { transform: translate(2.6px, -2px); }
  50% { transform: translate(-1.8px, 2.6px); }
  75% { transform: translate(2px, 1.6px); }
}
@keyframes artSlide {
  0% { transform: translate(0, 0); opacity: 0; }
  8% { transform: translate(0, 0); opacity: 1; }
  86% { transform: translate(77.3px, 32.8px); opacity: 1; }
  100% { transform: translate(77.3px, 32.8px); opacity: 0; }
}
@keyframes artGpe {
  0%, 8% { transform: scaleY(1); }
  86%, 100% { transform: scaleY(0.3); }
}
@keyframes artKe {
  0%, 8% { transform: scaleY(0.12); }
  86%, 100% { transform: scaleY(0.82); }
}
@keyframes artGlow {
  0%, 100% { opacity: 0.45; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.1); }
}
@keyframes artWave { to { transform: translateX(-100px); } }
@keyframes artTwinkle {
  0%, 100% { opacity: 0.25; }
  50% { opacity: 1; }
}
@keyframes artOrbit { to { transform: rotate(360deg); } }
@keyframes artFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}
@keyframes artAlpha {
  0% { transform: translate(0, 0); opacity: 0; }
  10% { opacity: 1; }
  82% { opacity: 1; }
  100% { transform: translate(150px, -62px); opacity: 0; }
}
@keyframes artBeta {
  0% { transform: translate(0, 0); opacity: 0; }
  10% { opacity: 1; }
  82% { opacity: 1; }
  100% { transform: translate(128px, 62px); opacity: 0; }
}
@keyframes artDraw {
  from { stroke-dashoffset: 1; }
  to { stroke-dashoffset: 0; }
}
@keyframes artDeflect {
  0% { transform: translate(0, 0); opacity: 0; }
  8% { opacity: 1; }
  14.3% { transform: translate(20px, -0.9px); }
  28.6% { transform: translate(40px, -3.8px); }
  42.9% { transform: translate(60px, -8.5px); }
  57.1% { transform: translate(80px, -15px); }
  71.4% { transform: translate(100px, -23.5px); }
  85.7% { transform: translate(120px, -33.8px); opacity: 1; }
  100% { transform: translate(140px, -46px); opacity: 0; }
}


.preview-badge {
  position: absolute;
  left: 18px;
  top: 18px;
  z-index: 2;
  padding: 7px 10px;
  border: 1px solid rgba(22, 163, 74, 0.4);
  border-radius: 999px;
  color: var(--green-deep);
  background: rgba(255, 255, 255, 0.94);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}


.product-content {
  flex: 1 1 auto;
  padding: 23px 24px 24px;
  display: flex;
  flex-direction: column;
}

.product-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.level-label {
  color: #1668d8;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.status-label {
  padding: 6px 9px;
  border-radius: 999px;
  color: var(--green-deep);
  background: rgba(22, 163, 74, 0.1);
  font-size: 9px;
  font-weight: 820;
}

.product-card h3 {
  margin: 13px 0 10px;
  color: var(--ink);
  font-size: 23px;
  line-height: 1.12;
}

.product-description {
  min-height: 48px;
  margin: 0;
  color: #3f5c7a;
  font-size: 13px;
  line-height: 1.65;
}

.product-meta {
  margin: 18px 0 21px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  list-style: none;
}

.product-meta li {
  padding: 7px 9px;
  border: 1px solid rgba(22, 104, 216, 0.195);
  border-radius: 9px;
  color: #3f5c7a;
  background: rgba(255, 255, 255, 0.72);
  font-size: 10px;
  font-weight: 720;
}

.product-actions {
  margin-top: auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.product-actions .button { width: 100%; }
.product-actions .button-secondary { background: var(--blue-soft); }
.product-actions .button-secondary:hover { background: #dbe8fb; }



#website-login[hidden],#website-account[hidden],#website-logout[hidden],.account-dialog [hidden] { display: none !important; }
.website-signout { border: 0; background: transparent; color: var(--ink-soft); font: inherit; font-weight: 700; cursor: pointer; padding: 10px; }
.account-dialog label { display: block; margin-top: 18px; font-size: 16px; font-weight: 700; }
.account-dialog input { display: block; width: 100%; margin-top: 8px; padding: 12px; border: 1px solid var(--line-strong); border-radius: 10px; font: inherit; }
.account-dialog .button { margin-top: 12px; }
.account-dialog .button:disabled { opacity: .6; cursor: wait; }
#website-account-status:empty { display: none; }
#website-account-status { margin-top: 10px; overflow-wrap: anywhere; }

.subscription-banner {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 28px 30px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-lg);
  background: var(--blue-soft);
}
.subscription-banner h3 { margin: 0 0 8px; font-size: clamp(22px, 2vw, 28px); line-height: 1.25; }
.subscription-banner p { margin: 0; color: var(--ink-soft); font-size: 16px; line-height: 1.6; }
.subscription-banner .button { min-height: 48px; flex-shrink: 0; font-size: 16px; white-space: normal; text-align: center; }
.subscription-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; flex: 1 1 560px; }
.subscription-actions .button { min-width: 0; height: auto; padding: 14px 18px; line-height: 1.4; }
@media (max-width: 640px) { .subscription-actions { grid-template-columns: 1fr; flex-basis: 100%; } }
.purchase-dialog { width: min(560px, calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto; padding: 30px; border: 1px solid var(--line-strong); border-radius: var(--radius-lg); color: var(--ink); background: var(--surface); box-shadow: var(--shadow); }
.purchase-dialog::backdrop { background: rgba(15, 37, 64, .55); backdrop-filter: blur(8px); }
.purchase-dialog h2 { margin: 0 0 12px; font-size: 26px; line-height: 1.25; }
.purchase-dialog p { color: var(--ink-soft); font-size: 16px; line-height: 1.6; }
.purchase-options { display: grid; gap: 12px; margin: 24px 0; }
.purchase-options[hidden] { display: none; }
.purchase-options .button { justify-content: flex-start; min-height: 52px; height: auto; padding: 14px 18px; font-size: 16px; line-height: 1.4; white-space: normal; text-align: left; }
.purchase-dialog form { margin: 0; }
.purchase-dialog form .button { width: 100%; font-size: 16px; }
@media (max-width: 640px) {
  .subscription-banner { padding: 24px; }
  .subscription-banner .button { width: 100%; }
  .purchase-dialog { padding: 24px; }
}

.trust-strip {
  margin: 16px 0 82px;
  padding: 27px 31px;
  display: grid;
  grid-template-columns: 1.15fr repeat(3, 1fr);
  gap: 24px;
  align-items: center;
  border: 1px solid rgba(22, 104, 216, 0.27);
  border-radius: 22px;
  color: var(--ink);
  background: #ffffff;
  box-shadow: 0 24px 70px rgba(15, 37, 64, 0.108);
}

.trust-strip h2 {
  margin: 0;
  font-size: 25px;
  font-weight: 780;
  line-height: 1.15;
}

.trust-item {
  padding-left: 20px;
  border-left: 1px solid rgba(15, 37, 64, 0.072);
}

.trust-item strong { display: block; font-size: 13px; }

.trust-item span {
  display: block;
  margin-top: 5px;
  color: rgba(15, 37, 64, 0.66);
  font-size: 11px;
  line-height: 1.5;
}

footer {
  border-top: 1px solid rgba(22, 104, 216, 0.135);
  background: #ffffff;
}

.footer-inner {
  width: min(calc(100% - 40px), var(--content));
  min-height: 126px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.footer-copy p {
  margin: 5px 0 0;
  color: var(--ink-faint);
  font-size: 11px;
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.footer-links a {
  color: var(--ink-faint);
  font-size: 12px;
  font-weight: 720;
  text-decoration: none;
}

.footer-links a:hover { color: var(--cyan); }

.modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 60;
  padding: 20px;
  display: none;
  place-items: center;
  background: rgba(15, 37, 64, 0.55);
  backdrop-filter: blur(8px);
}

.modal-backdrop.open { display: grid; animation: fadeIn 220ms var(--ease); }
.modal-backdrop.open .modal { animation: popIn 360ms var(--ease-out); }

@keyframes fadeIn { from { opacity: 0; } }
@keyframes popIn { from { opacity: 0; transform: translateY(14px) scale(0.98); } }

.modal {
  width: min(100%, 500px);
  padding: 30px;
  border: 1px solid rgba(22, 104, 216, 0.33);
  border-radius: 24px;
  color: var(--ink);
  background: #ffffff;
  box-shadow: 0 28px 80px rgba(15, 37, 64, 0.15);
}

.modal-tag {
  margin: 0 0 10px;
  color: var(--cyan);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.modal h2 {
  margin: 0 0 12px;
  font-size: 28px;
}

.modal p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.7;
}

.modal .button {
  width: 100%;
  margin-top: 24px;
}

@media (max-width: 1080px) {
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trust-strip { grid-template-columns: repeat(3, 1fr); }
  .trust-strip h2 { grid-column: 1 / -1; }
  .trust-item:first-of-type { padding-left: 0; border-left: 0; }
}

@media (max-width: 760px) {
  .header-inner {
    width: min(calc(100% - 28px), var(--content));
    min-height: 67px;
  }

  .brand span:last-child { display: none; }
  .site-header { position: sticky; }
  .nav-toggle { display: grid; }
  .nav-cta { padding: 9px 12px; font-size: 13px; }
  .nav-links {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    padding: 8px 14px 14px;
    display: grid;
    gap: 2px;
    border-bottom: 1px solid rgba(22, 104, 216, 0.165);
    background: #ffffff;
    box-shadow: 0 22px 44px rgba(15, 37, 64, 0.12);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: opacity 260ms var(--ease), transform 260ms var(--ease), visibility 0s linear 260ms;
  }
  .nav-links.open {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition-delay: 0s;
  }
  .nav-links a { padding: 13px 14px; font-size: 15px; }
  main { width: min(calc(100% - 28px), var(--content)); }
  .section { padding: 52px 0; }
  .section-heading { grid-template-columns: 1fr; gap: 20px; }
  .section-heading h2 { font-size: 42px; }
  .product-grid { grid-template-columns: 1fr; }
  .trust-strip { grid-template-columns: 1fr; padding: 27px; }
  .trust-strip h2 { grid-column: auto; }
  .trust-item,
  .trust-item:first-of-type {
    padding: 15px 0 0;
    border-left: 0;
    border-top: 1px solid rgba(15, 37, 64, 0.072);
  }
  .footer-inner {
    min-height: 158px;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
  }
}

@media (max-width: 470px) {
  .product-actions { display: grid; grid-template-columns: 1fr; }
  .button { width: 100%; }
  .rating-block { align-items: flex-start; flex-direction: column; }
  .product-description { min-height: 0; }
}

/* V4 interactive-first landing experience */
.experience-hero {
  height: auto;
  min-height: 0;
  max-height: none;
  padding: 14px 0 18px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  align-items: stretch;
}

@keyframes heroIn {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: none; }
}

.live-demo-panel {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow), inset 0 1px rgba(15, 37, 64, 0.022);
  min-height: 760px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  background: #ffffff;
  animation: heroIn 820ms var(--ease-out) 160ms backwards;
}

.demo-panel-head {
  padding: 11px 15px 10px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  border-bottom: 1px solid rgba(22, 104, 216, 0.195);
}

.demo-title-wrap { min-width: 0; }

.demo-live-label {
  margin: 0 0 6px;
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--green-deep);
  font-size: 9px;
  font-weight: 880;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.demo-live-label::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--mint);
  box-shadow: 0 0 12px rgba(22, 163, 74, 0.85);
  animation: livePulse 1.8s ease-in-out infinite;
}

@keyframes livePulse {
  0%, 100% { opacity: 0.55; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.16); }
}

.demo-panel-head h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(21px, 2.2vw, 30px);
  line-height: 1;
}

.demo-iframe-shell {
  min-height: 0;
  margin: 7px;
  overflow: hidden;
  border: 1px solid rgba(22, 104, 216, 0.33);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 18px 45px rgba(15, 37, 64, 0.102), 0 0 30px rgba(22, 104, 216, 0.024);
}

.current-demo-frame {
  width: 100%;
  height: 100%;
  min-height: 0;
  display: block;
  border: 0;
  background: #ffffff;
}

.current-demo-frame:focus-visible,
.lesson-demo-frame:focus-visible {
  outline: 3px solid var(--cyan);
  outline-offset: -3px;
}

.credibility-section {
  padding: 56px 0 76px;
  border-top: 1px solid rgba(22, 104, 216, 0.12);
}

.credibility-heading {
  margin-bottom: 24px;
  display: block;
}

.credibility-heading h2 {
  max-width: none;
  margin: 11px 0 0;
  color: var(--ink);
  font-size: clamp(36px, 4.4vw, 58px);
  line-height: 0.98;
  white-space: nowrap;
}

.market-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.market-card {
  --market-accent: var(--cyan);
  --market-glow: rgba(22, 104, 216, 0.108);
  position: relative;
  overflow: hidden;
  padding: 25px;
  display: grid;
  grid-template-columns: minmax(150px, 0.72fr) minmax(0, 1.28fr);
  grid-template-rows: 1fr auto;
  gap: 18px 20px;
  border: 1px solid rgba(22, 104, 216, 0.255);
  border-radius: var(--radius-lg);
  background: #ffffff;
  box-shadow: var(--shadow-soft);
  transition: transform 300ms var(--ease), box-shadow 300ms var(--ease), border-color 300ms var(--ease);
}

.market-card:hover {
  transform: translateY(-3px);
  border-color: rgba(22, 104, 216, 0.4);
  box-shadow: var(--shadow-lift);
}

.market-card.tpt {
  --market-accent: #15803d;
  --market-accent-text: var(--green-deep);
  --market-glow: rgba(22, 163, 74, 0.16);
}


.market-card > * { position: relative; z-index: 1; }
.market-card .shop-name { margin: 14px 0 9px; font-size: clamp(35px, 3.3vw, 48px); }
.market-card .shop-description { max-width: 28ch; }
.market-card .shop-performance { align-self: stretch; }
.market-card .shop-link { grid-column: 1 / -1; }
.market-card.tpt .shop-link { background: linear-gradient(135deg, #12803f, #0d5c2c); box-shadow: 0 6px 16px rgba(13, 92, 44, 0.28); }

.landing-hero {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  display: grid;
  grid-template-columns: minmax(300px, 1fr) 3fr;
  min-height: 480px;
  background: #0f2540;
  border-top: 1px solid rgba(22, 104, 216, 0.12);
}

.landing-hero-card {
  padding: clamp(28px, 4vw, 56px) clamp(24px, 3.2vw, 44px);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 26px;
  background: #ffffff;
  padding-top: 24px;
}

.landing-hero-title {
  margin: 0;
  color: var(--cyan);
  font-size: clamp(28px, 2.6vw, 36px);
  line-height: 1.12;
}

.landing-hero-qa {
  display: grid;
  gap: 22px;
}

.landing-hero-qa-item h2 {
  margin: 0 0 6px;
  color: var(--ink);
  font-size: clamp(18px, 1.5vw, 21px);
  font-weight: 800;
}

.landing-hero-qa-item p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.45;
}

.landing-hero-media {
  position: relative;
  min-height: 320px;
  display: grid;
  place-items: center;
  background: #0f2540;
}

.landing-hero-video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  background: #0f2540;
}

@media (max-width: 900px) {
  .landing-hero { grid-template-columns: 1fr; min-height: 0; }
  .landing-hero-media { min-height: 260px; }
}




.lesson-demo-section {
  padding: 76px 0 88px;
  border-top: 1px solid rgba(22, 104, 216, 0.12);
}

.lesson-demo-heading {
  margin-bottom: 24px;
  display: grid;
  grid-template-columns: 1fr;
  align-items: end;
}

.lesson-demo-heading h2 {
  max-width: 28ch;
  margin: 11px 0 0;
  color: var(--ink);
  font-size: clamp(38px, 4.8vw, 64px);
  line-height: 0.98;
}




.lesson-frame-shell {
  overflow: hidden;
  border: 1px solid rgba(22, 104, 216, 0.36);
  border-radius: 24px;
  background: #f1f6fc;
  box-shadow: var(--shadow), 0 0 46px rgba(22, 104, 216, 0.024);
}

.lesson-frame-top {
  min-height: 68px;
  padding: 12px 14px 12px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid rgba(22, 104, 216, 0.21);
  background: linear-gradient(90deg, rgba(22, 104, 216, 0.048), transparent 44%);
}

.lesson-frame-label strong,
.lesson-frame-label span { display: block; }

.lesson-frame-label strong { color: var(--ink); font-size: 13px; }
.lesson-frame-label span { margin-top: 4px; color: var(--ink-faint); font-size: 10px; }

.lesson-nav {
  display: flex;
  gap: 8px;
}

.lesson-nav button {
  min-height: 42px;
  padding: 0 15px;
  border: 1px solid rgba(22, 104, 216, 0.3);
  border-radius: 11px;
  color: #0f4fa8;
  background: #e7f0fd;
  cursor: pointer;
  font-size: 12px;
  font-weight: 820;
  transition: color 220ms var(--ease), background 220ms var(--ease), transform 220ms var(--ease);
}

.lesson-nav button:active { transform: scale(0.97); }

.lesson-nav button:hover,
.lesson-nav button:focus-visible {
  color: #ffffff;
  background: var(--cyan);
  outline: none;
}

.lesson-frame-stage {
  aspect-ratio: 16 / 9;
  min-height: 560px;
  padding: 9px;
  background: #e6eff9;
}

.lesson-demo-frame {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  border-radius: 13px;
  background: #ffffff;
}

.lesson-inline-host { display: block; }

.mobile-lesson-launch { display: none; }

.mobile-lesson-dialog {
  position: fixed;
  inset: 0;
  width: 100dvw;
  height: 100dvh;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  overscroll-behavior: none;
  border: 0;
  color: var(--ink);
  background: #132033;
}

.mobile-lesson-dialog:not([open]) { display: none; }
.mobile-lesson-dialog[open] { display: block; }
.mobile-lesson-dialog::backdrop { background: #132033; }

.mobile-lesson-landscape {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #ffffff;
}

.mobile-lesson-rotate-prompt {
  display: none;
}

.mobile-lesson-close {
  position: fixed;
  top: max(9px, env(safe-area-inset-top));
  right: max(9px, env(safe-area-inset-right));
  z-index: 1001;
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid rgba(22, 104, 216, 0.45);
  border-radius: 999px;
  color: #0f2540;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 8px 30px rgba(15, 37, 64, 0.102);
  backdrop-filter: blur(12px);
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.02em;
}

.mobile-lesson-close:hover,
.mobile-lesson-close:focus-visible {
  color: #ffffff;
  background: var(--cyan);
  outline: none;
}

body.mobile-lesson-open { overflow: hidden; }


  @media (max-width: 1060px) {
  .live-demo-panel { min-height: 690px; }
  .credibility-heading { align-items: start; flex-direction: column; }
  .market-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px), (max-width: 960px) and (hover: none) and (pointer: coarse) {
  .experience-hero { padding-top: 14px; }
  .live-demo-panel { min-height: 620px; }
  .demo-panel-head { align-items: flex-start; flex-direction: column; gap: 10px; }
  .credibility-section { padding: 46px 0 58px; }
  .credibility-heading h2 { font-size: 42px; }
  .credibility-heading h2 { white-space: normal; }
  .market-card { grid-template-columns: 1fr; }
  .market-card .shop-link { grid-column: auto; }
  .lesson-demo-section { padding: 58px 0 68px; }
  .lesson-demo-heading h2 { font-size: 43px; }
  .lesson-inline-host { display: none; }
  .mobile-lesson-launch {
    position: relative;
    width: 100%;
    min-height: 218px;
    padding: 22px;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 104px;
    gap: 20px;
    align-items: center;
    border: 1px solid rgba(22, 104, 216, 0.45);
    border-radius: 22px;
    color: var(--ink);
    background: linear-gradient(110deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.98));
    box-shadow: var(--shadow), 0 0 40px rgba(22, 104, 216, 0.032);
    cursor: pointer;
    font: inherit;
    text-align: left;
  }
  .mobile-lesson-launch::before {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    top: -105px;
    right: -42px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(22, 104, 216, 0.132), transparent 68%);
    pointer-events: none;
  }
  .mobile-lesson-launch:hover,
  .mobile-lesson-launch:focus-visible {
    border-color: rgba(22, 104, 216, 0.45);
    outline: none;
    transform: translateY(-2px);
  }
  .mobile-lesson-launch-copy { position: relative; z-index: 1; }
  .mobile-lesson-launch-kicker {
    display: block;
    margin-bottom: 9px;
    color: var(--green-deep);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }
  .mobile-lesson-launch strong {
    display: block;
    color: var(--ink);
    font-size: clamp(25px, 7.7vw, 34px);
    line-height: 1.02;
    letter-spacing: -0.045em;
  }
  .mobile-lesson-launch-copy > span:last-child {
    max-width: 34ch;
    margin-top: 11px;
    display: block;
    color: #3f5c7a;
    font-size: 12px;
    line-height: 1.52;
  }
  .mobile-lesson-launch-visual {
    position: relative;
    z-index: 1;
    aspect-ratio: 4 / 3;
    display: grid;
    place-items: center;
    border: 1px solid rgba(22, 104, 216, 0.405);
    border-radius: 16px;
    background:
      linear-gradient(rgba(15, 37, 64, 0.045) 1px, transparent 1px),
      linear-gradient(90deg, rgba(15, 37, 64, 0.045) 1px, transparent 1px),
      rgba(255, 255, 255, 0.78);
    background-size: 15px 15px;
    box-shadow: inset 0 0 25px rgba(22, 104, 216, 0.032);
  }
  .mobile-lesson-launch-visual::before {
    content: "↗";
    width: 47px;
    height: 47px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #ffffff;
    background: linear-gradient(145deg, var(--mint), var(--cyan));
    box-shadow: 0 0 26px rgba(22, 104, 216, 0.152);
    font-size: 24px;
    font-weight: 900;
  }
  .mobile-lesson-launch-visual::after {
    content: "Click to view";
    position: absolute;
    bottom: 9px;
    color: #0f2540;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }
  .mobile-lesson-dialog .lesson-frame-shell {
    width: 100%;
    height: 100%;
    max-width: none;
    display: flex;
    flex-direction: column;
    border-radius: 0;
    box-shadow: none;
  }
  .mobile-lesson-dialog .lesson-frame-top {
    min-height: 50px;
    padding: 6px 70px 6px 10px;
    flex: 0 0 auto;
    align-items: center;
    flex-direction: row;
    gap: 8px;
  }
  .mobile-lesson-dialog .lesson-frame-label strong { font-size: 11px; }
  .mobile-lesson-dialog .lesson-frame-label span { display: none; }
  .mobile-lesson-dialog .lesson-nav { width: auto; flex: 0 0 auto; }
  .mobile-lesson-dialog .lesson-nav button {
    min-height: 36px;
    padding: 0 10px;
    flex: none;
    font-size: 10px;
  }
  .mobile-lesson-dialog .lesson-frame-stage {
    min-height: 0;
    padding: 4px;
    flex: 1 1 auto;
    aspect-ratio: auto;
  }
  .mobile-lesson-dialog .lesson-demo-frame { border-radius: 7px; }
}

@media (max-width: 760px) and (orientation: portrait) {
  .mobile-lesson-landscape { display: none; }
  .mobile-lesson-rotate-prompt {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 32px;
    text-align: center;
    color: #e2e8f0;
  }
  .mobile-lesson-rotate-prompt-icon {
    width: 46px;
    height: 46px;
    margin-bottom: 6px;
    color: #7fb2ff;
  }
  .mobile-lesson-rotate-prompt strong {
    font-size: 20px;
    font-weight: 850;
  }
  .mobile-lesson-rotate-prompt p {
    margin: 0;
    max-width: 320px;
    color: #9fb2ca;
    font-size: 14px;
    line-height: 1.5;
  }
  .mobile-lesson-dialog .lesson-frame-top { padding-right: 10px; }
}

@media (max-height: 520px) and (hover: none) and (pointer: coarse) {
  .mobile-lesson-dialog .lesson-frame-top {
    min-height: 42px;
    padding: 3px 66px 3px max(7px, env(safe-area-inset-left));
  }
  .mobile-lesson-dialog .lesson-frame-label strong { font-size: 10px; }
  .mobile-lesson-dialog .lesson-nav { gap: 5px; }
  .mobile-lesson-dialog .lesson-nav button {
    min-height: 32px;
    padding: 0 8px;
    font-size: 9px;
  }
  .mobile-lesson-dialog .lesson-frame-stage {
    padding: 2px max(3px, env(safe-area-inset-right)) max(5px, env(safe-area-inset-bottom)) max(3px, env(safe-area-inset-left));
  }
  .mobile-lesson-close {
    top: max(4px, env(safe-area-inset-top));
    right: max(5px, env(safe-area-inset-right));
    min-height: 33px;
    padding: 0 10px;
    font-size: 10px;
  }
}

@media (min-width: 1500px) {
  .experience-hero { gap: 22px; }
  .product-grid { gap: 24px; }
}

@media (min-width: 1061px) and (max-height: 820px) {
  .header-inner { min-height: 56px; }
  .brand-mark { width: 34px; height: 34px; }
  .experience-hero { padding: 9px 0 12px; }
  .demo-panel-head { padding-block: 8px; }
}

@media (max-width: 470px) {
  .live-demo-panel { min-height: 570px; }
  .demo-iframe-shell { margin: 7px; }
  .market-card { padding: 21px; }
  .mobile-lesson-launch { grid-template-columns: minmax(0, 1fr) 82px; padding: 19px; gap: 12px; }
}

/* Scroll-linked reveals (only when scripting is available; content stays visible otherwise). */
.js [data-reveal] { opacity: 0; }

.js [data-reveal].is-visible {
  opacity: 1;
  animation: revealUp 760ms var(--ease-out) backwards;
  animation-delay: var(--reveal-delay, 0ms);
}

.js [data-reveal].is-visible.no-anim { animation: none; }

@keyframes revealUp {
  from { opacity: 0; transform: translateY(26px); }
  to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
  .js [data-reveal] { opacity: 1; }
  .preview-art * { animation: none !important; }
}

  

/* Free demo topic previews: choose a key stage here, then open that builder on its own page. */
.free-demo-dialog {
  width: min(calc(100% - 32px), 700px);
  max-width: 700px;
  max-height: min(88svh, 720px);
  margin: auto;
  padding: 0;
  overflow: visible;
  border: 1px solid rgba(22, 104, 216, 0.42);
  border-radius: 24px;
  color: var(--ink);
  background: #ffffff;
  box-shadow: 0 34px 100px rgba(15, 37, 64, 0.186), 0 0 46px rgba(22, 104, 216, 0.032);
}

.free-demo-dialog[open] { animation: popIn 360ms var(--ease-out); }

.free-demo-dialog::backdrop {
  background: rgba(15, 37, 64, 0.55);
  backdrop-filter: blur(8px);
}

.free-demo-dialog[open]::backdrop { animation: fadeIn 220ms var(--ease); }

.free-demo-dialog-shell {
  position: relative;
  width: 100%;
  min-height: 0;
  padding: 34px;
  display: grid;
  gap: 24px;
  border-radius: inherit;
  background:
    radial-gradient(circle at 88% 0%, rgba(22, 104, 216, 0.078), transparent 20rem),
    linear-gradient(155deg, #ffffff, #eef4fb 78%);
}

.free-demo-dialog-head {
  min-width: 0;
  padding-right: 44px;
}

.free-demo-dialog-title-group { min-width: 0; }

.free-demo-dialog-kicker {
  margin: 0 0 9px;
  color: var(--green-deep);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.free-demo-dialog-head h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(28px, 4.4vw, 42px);
  line-height: 1;
}

.free-demo-dialog-head p:last-child {
  max-width: 56ch;
  margin: 11px 0 0;
  color: #3f5c7a;
  font-size: 13px;
  line-height: 1.55;
}

.free-demo-stage-picker {
  min-width: 0;
  display: grid;
  gap: 10px;
}

.free-demo-stage-picker .free-demo-browser-label {
  color: var(--ink-faint);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.free-demo-stage-picker .free-demo-ks-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.free-demo-stage-picker .free-demo-choice {
  min-width: 0;
  min-height: 76px;
  padding: 13px 12px;
  display: grid;
  place-items: center;
  gap: 4px;
  border: 1px solid rgba(22, 104, 216, 0.27);
  border-radius: 14px;
  color: #0f4fa8;
  background: rgba(255, 255, 255, 0.78);
  cursor: pointer;
  font: inherit;
  text-align: center;
  transition: transform 150ms ease, border-color 150ms ease, background 150ms ease;
}

.free-demo-stage-picker .free-demo-choice strong {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.15;
}

.free-demo-stage-picker .free-demo-choice span {
  color: #0f4fa8;
  font-size: 9px;
  font-weight: 820;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.free-demo-stage-picker .free-demo-choice:hover,
.free-demo-stage-picker .free-demo-choice:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(22, 104, 216, 0.45);
  background: rgba(231, 240, 253, 1);
  outline: none;
  box-shadow: 0 0 0 3px rgba(22, 104, 216, 0.032);
}

.free-demo-stage-picker .free-demo-choice:disabled {
  opacity: 0.28;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.free-demo-summary {
  min-width: 0;
  min-height: 40px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid rgba(22, 163, 74, 0.15);
  border-radius: 12px;
  color: #3f5c7a;
  background: rgba(22, 163, 74, 0.08);
  font-size: 10px;
  line-height: 1.4;
}

.free-demo-summary strong {
  color: var(--green-deep);
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}

.free-demo-dialog-close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(22, 104, 216, 0.33);
  border-radius: 50%;
  color: #0f2540;
  background: rgba(255, 255, 255, 0.94);
  cursor: pointer;
  font-size: 17px;
  font-weight: 820;
}

.free-demo-dialog-close:hover,
.free-demo-dialog-close:focus-visible {
  outline: none;
  border-color: rgba(22, 104, 216, 0.45);
  background: rgba(231, 240, 253, 1);
  box-shadow: 0 0 0 3px rgba(22, 104, 216, 0.032);
}

@media (max-width: 620px) {
  .free-demo-dialog { width: min(calc(100% - 20px), 700px); }
  .free-demo-dialog-shell { padding: 28px 18px 20px; gap: 18px; }
  .free-demo-dialog-head { padding-right: 38px; }
  .free-demo-dialog-head h2 { font-size: 30px; }
  .free-demo-dialog-head p:last-child { font-size: 12px; }
  .free-demo-stage-picker .free-demo-ks-tabs { grid-template-columns: 1fr; }
  .free-demo-stage-picker .free-demo-choice { min-height: 58px; grid-template-columns: 1fr auto; justify-items: start; text-align: left; }
  .free-demo-stage-picker .free-demo-choice span { justify-self: end; }
  .free-demo-summary { align-items: flex-start; flex-direction: column; gap: 4px; }
}

