/* Layout shared by the stand-alone pages: Terms, Privacy, Thanks, the Security disclosure policy,
   and the Insights pages (scripts/build-insights.mjs copies the Terms page's <head>).
   Load after /css/theme.css. The home page (index.html) has its own, larger stylesheet inline. */
*{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Inter",system-ui,sans-serif;font-size:17px;line-height:1.6;text-wrap:pretty;overflow-wrap:break-word}
img,svg{max-width:100%}
h1,h2,h3,h4{font-family:"Archivo",system-ui,sans-serif;font-weight:600;margin:0;letter-spacing:-0.022em;line-height:1.12;text-wrap:balance;-webkit-hyphens:none;hyphens:none}
p{margin:0;text-wrap:pretty}
code{text-wrap:wrap}
a{color:inherit}
.wrap{max-width:1280px;margin:0 auto;padding:0 32px}

/* header (from index.html) */
.site-head{border-bottom:1px solid var(--rule);background:var(--paper)}
/* flex-wrap so an over-wide nav moves to its own line instead of being clipped. The sub-page
   variant carries position:relative, which is why it needed its own edit - the home page rule
   is a different string and was patched separately. */
.site-head-in{display:flex;align-items:center;flex-wrap:wrap;row-gap:10px;gap:30px;padding:19px 32px;max-width:1280px;margin:0 auto;position:relative}
.logo{font-family:"Archivo",sans-serif;font-size:19px;letter-spacing:-0.03em;text-decoration:none;display:inline-flex;align-items:center;gap:0}
.logo .lmark{width:42px;height:48px;flex:0 0 auto;margin-right:11px;margin-top:-9px;margin-bottom:-9px;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAAB4CAYAAAAeyrc6AAAnwUlEQVR42u19aZgkVZn1OTcyqyrjRkZkdYHNvg3SLDqACzOyuoFiIygP44zAoCKyCQ4IA873ic6CjiOK84nbCCrKog7juOGC0LIKiorIIAhIszW00nQtuVVVZsY934+IrIrKriVr6abbMZ4naTo7MuLe99x3f+97gS338gCgUAhfZoPoBzaI6jaIYhtEYzaIfthXLB6YvW9LvbiFjtsAcIUgepMBriZpJU1OioSkcTmcXq+PXNm+/08AbTpwFATBCsG7F0AvgBaAXOaeOOUcQdyvVhu+b0sFyWypAInmPJK9AJod4LTFWpMkRb1vS5YWWyJAMbBznxxfJUGz6BhPkggdnHLZFgnSlgZQDoCAJ8ZBFAFxDqJTYiGdZ5ze6/0JoI1jsTHVNQiC6BgI+Tl0igHgSITWRjcUi6Wj0/u3KKC4BQDjEq4BCsXS0cbpfBoekrHaNNs8yMl/ktPtzvBjo5Xh72Tm3+auPwG0cGCKbzTO/D0MD5mktrLWWqtDGrhEB2GQxC8BHEESE5A63e6Mu2S0Uvnu5g6U2UxFWQxAfrF0lLXRrQbed2B4CJRAJuEWCK8h4sMArCWZA2kAGJCGZA4AjeEAhHsgvNpJN7HNb4aHGHjfsTa61S+Wjkq/3SxFn7eZjcMBgF8sHdWT772c5D+A3JmTy/wWMX53vVp+f7M5/lij0Xgqn/OuBUwjtdQcoNWArnbUeRR3MJ55uwBXr44cn8vl76LhjkD6zOTZx/fke1+d7ys812yMPZwRmV6bg/83X15WzPrF/pXWRrfYYkm2WJINko8flG72i8WVHaLZ20AC7LBDodPqsza8ohj2y9roJ+13FYqlN/pB6eb28yfeZ6Nb/GL/dO/53w5McWUQhDdPEKtNOBvd4vvFuQjG1Pxmhzk+8Q5row8FxX7ZILq7r69/p4n3+sVkQWSBCkoKgnCmBfG/DBi/uDIISjdPrOBiScHESi4dtQACcZq/ewDgB+H7imG/bBA93BtFu2ZvSnXdLUFmHLZYUhCUbu5igfxRAvOGtogJsuJsUmkvJUHaHAZrw3cHxZJsED2U4aRcB1C3trkpKGZErF98wx8jUJ3AHOkH4Y87RYq10a2FQumNG5kAuXQMJ6Vc+lBfX9+O6b/1ZMdZKJTemAVqUheGP/b94pF/DEBNB8yqLMekRLqtUNzowGSvfDKe0tuCYr9sMXqwr69/x8yYp4y7UCy90drotiljToBataUCNQ0wpSnA2Elgjn6eJpgHgEIQnhGE/bJBeM/AwECxwy/sBOpoa6Pb7AZAlbYYoKaYvL4fvr7NMRPyPHjegdlQ3AXh/w2K/fJtdAuwrZ/OgTMtuDZQwYaib5Xvh6/vCAB4myHHhK/3g/AmG0RTrCFro9s3E2A2AMna6OJi2C/fhtdNN6dZgLp9yhyDSH4Q3tQB1PM2z06OeZ0fhDdNsP/En9HthaB0zGYqAiatuyD8QjHslx+El3ZadrMCFZSOscXo9qlzLrWBet1ScxQ7HDxvmtXUCcwRfhDdOMXJSzjmjiCI3jQNMJmozZyfTQWSAZD3g+jGYtivQhCeOQdIGwAVBNGbrI3uaOsmO6Gjoht9PzxiFqA66exN43R3FTSdKsrCNjDRhMJM/YufBEH05sy9+TRGlps2NDM38doDzv5+qcEzABCG4TJroweSBRYe3mWsckOggugndipNEqDCKUB1I0lMdgU5ADYIwpMkvAbkDgQek8x3a7Wh65Dk/eH74REwPJ/k4VkqSbqbwEer1ZFvzIcyURSVJBmSksRcLtcaHBwszzfqvUQiO7bWvgjM/RRkPW7ypWNjQ0+hu2KTKemRIIjeLOB8kAdCAJn8g6Qb4fSxer38o/YCtrb/r0j3RgG7QlpDYlW1Wv4KgBoAw9Qv2NcYXQNyH2BqBkxOdwH6tMi3G/K1GVAA4EcQ/rVWG7mlvTKstVsDPcvlxdvDcQcKO4PaCeAAgK0kDCTpaoDAVh0raVzAcDIfrRX4HKknJT4M8gEP8SOVSuVRpJnV6YizSKOhFQTRX4HmP+XcnbXayCvTZ3f7/GmBInmg2kQVIOgmSlcCfDcNX9FJc0i/cY4n1OvDv2ahMLCd8Zp3k2Z7Sc2MGEkHRK+dlJTkANQJ/dyRVwvuN57MTg48EHL7k9gd4PYkk2XTfjMESZA0TKICYFAAKY4DelqAI9gDajsAngAP4nYkSiQNwHREgqS1BG6T3PXG4AeVSmV9hsAuM8+FJN/yAJrWRh82nvkHF8eX1GrlC9rgzZMjs0AdmwL1CilDmoQ2cUbsCYAjmZfc0y7OH0Brw8tpzCkpOPlpXtZ+UXsFrQP0ewm7GuOVSLSJ35KwmsBvRf2OwmoZPYbYrI3zGOpxrlKpVEbmMdFcFEWBpAHnvG0Bt5ekvxB4oDHciyScczUBV7iWuXRsbOjJaXSYFmg0yNroNhpzkJw7vFYbuaktBhcgOjcACsBLMjp1Or3cJJmXc1fQ2qgKwp8hGjx19EnFJiSsB3UfxbtI/AqIH8jn808PDQ2NzIMQ0xkoWVk/I3F7o2jXfKwjHXi6MebFLnbrQHwdwJ4ExiB9tVYrX5uV1PM0GlwYhrvHjr8CMOgZ7V8ul4enGeNCgKK10QMg9ky/mw4gpf+t0wbRXINPxaOG5cw5xpifV6uDjwIY78KyUeZPdUP8aUDsNL2zHMggCE8XzWc6V5Zz+ny9NnIaFlZRmgPQ8v3iO7xc7osujr9Yq5XfuQBRNx135mwQPgRw51kAmrJaugEIANfX68NfrlYHH0jBMRkT2HTI/lb6idNPVkx2u5rb97qOZ7bH3Yek7m27RMpqTFKciFo1jeGpGR9kvk5iC4BXr1e+FDt3E405OQiCQ9vfL8IQiTNGR1c0MBIemeNHjqQg3ZeCkU/BcBmiLYUVNd/V2ADgBPyVJKbj8jIOpoMxR6Zjy2FhBTJs0b0bQNPBfAoThZML8sXaVbBNCL8iqdloDsBJeMTL9xUqhnxzSuhOLz5OdY8X053SajSeyIDzfMb+HAAFQekwAO8A0dvBxW0DIcjn+n7WbI6vyRCoW+NBALy40XjOy/f25TzvuJ58zzONxvgvsPCCEgNAXl/PGgPzzo7xZsGJSeZEnuc1G2O/zvX0hIbm4A1XBg1J4+QuGq1WrsHzt0OgE5hD8z29nyN5Mch2FDrOiEQC8Ay5nIan5Xp6V+RzfaubzfFnFgCUKQb+L5qxO1ngK5uN8HNAvbEILjKtRuPJXE9PTJhDp2EKkvSc3KX16shHPQCm2Ri/oaenZx3APQGUJuS/8Fs5nl+vjVyWsUSeb2A+S5oPkdjdSddQOBfE3iR3ZFITZ0hSwmeJ+DyB2xiaN9OgDdSjzeb42nkA5Y2NjY325HtHPc97S0+++XSjMf7zjN+1IBHdbIzf3tPTezqAYmZRCcBqQhfVquUPZcWySez0YCvfRs8GxZKzQXRXxi8yzwMwZjLGFRxig+h7QbFfQbEkP4iu9v3SvhN3b7114AfRhTaIfmht6RvWhsdnHxYE/QfbILo+8/trfD/ab6b3TaPvuHz5cuvbaL1vo0cxmSLnAsUceoJgz6BYcn4QXWuD8JdBsSTfRg8CKExHcwLwli9fbm0QPR2kIfOMd/08AdN/cAcw0xHWmyPYOvG8vu6eZ2bOHYUfDYr9sjZ6zQKtw4lnFYLo2KDYryCI3mVt9JMksBr+svO52cHEzWYz68OYTEByUwETA3DtFQ/idpJvcHLXulj716sjJ9TrI/d23B9nUiUmA5oyZq0HwIxVh+6oVUdWQjpU0g8MzfHG468yHDnl/g1dDe8qQAB10qJD6MIBgBDH7j5QfXPRnAAwMDBQtEH0TMpBP94E4q2TYw5KRFGpvcKvnYcoWsD7SofaIPr+jKJz6v0EYHwbrrZBtHaOfNGcIs634U98G9WB/sgPovtTDvrVfPNAS5136cztxABcXxAcZIPouyDuILnSSV91sV5Sr44cPw3HLMZQmcIh1erwbbXqyBsgHZZy1AnGw71+EF1lbenPO+7PAzAkbiO5TRiGuyyAhgTgdthhhwKJfUncDwyNQOiZFc1NBI7riDC4IAUmx/wdJI9ycl/LAPOrJQRmPkD90NCcSINfJ0D1vzi9vwGgRfBOgIpj7thN/HI6STVYqexNehbSzemX3qwKa1OAEwTB3lLutYByjlhthHeC5ihCcHJfg8Ml9frIPRnRok2g/+Ls+6rV4dsA3BYEpcMEvc/QnAjqRN+PriFxJaAVkg4HRWPc6AKsOAPAKdYBMJCjuzNVcOLzBFCaXwnPFngpDXIAk+VCwMldA4dLlwiYjjzWvDiuE6hbAdyaAnWB8XiChBOym8DimMcB+OkCHFVQOFxypHN3zzVWs7HB8f3wCBrzSSS7rptpMLMBqAGnq1JwejqiAd3GztjhzGaDkWYB+mGKzqlWh2+Vw/sljQNqSWpBiiHFxjPnWRv+NSZ3+XX7/B6Ah8rhoXq9vnausNHGAiiXcE7xRBpeJ6lN+Pwk8dlDw/dk9JPLrLJW5u8epia3spUvbW5TsVjcwy9GJwdBeJHvRy/teGa2+CQ3jbHSmQKJJyINxGlpPwZkfgMAEnnKfPWPtf0rjOEAiJs6pMYmE3FJLiWITiX5H8lMFHcshjSBPbFTu+2Vq7+/PxpvutMd3W1jlcovU+U87VUoLNuBObefEV4aS3sR2kMASO3nB+EvRf14tFK5F8BYF2POddyXgG+wDaam0lMpBRDaah7iNF2I8SsBDwJu7NqrXWK/puX7xZWG5j8k9wsBdxny7ExKvc0hvQAezIZTAKjR0M6EXmFonLXRShFPCHwWxq1liy1AW8HjdhC3JdwySjsL/DMSPhxvFVWn4ZFGXCbhhdZGTwEYAvQsIEogSZdEJVF0ZBFigXL7xbE5d2xs+IkpkXHhThDHZHJgTKw59Ej8WXbe3egfkCsl5zzEd3bov40OkAHg+vpKO9PgKkmDntHflMvlp2wQvYHkn6VFJ4Zkr3N6zsXm453pC+dcLz1+F9JeIPcGsIuRqnKo0kgQixICUjvJYUAG643cNwl9vVKrPJKIkdKVgjtL5F+Q2B9CXWS1ncsSERNsOKiXDn2AexDgb43RAIAnMoRjzuiK2OHUdPwAIJI9chps5fDRLtMvqf5ZFgLxIRB+Xq1V13UTUV9KgAhAJue+RHr9MVpH18qVRwGYuGVe7eXdNSQPck5DgO4mWuePjdWezEwwMe6orSTtSGOOlPArSgWAuzEJIhLEOIF1cLjFkDdWK8N3dq7CtHnSqX19/Tt6Hg4B4/0AbkvBFyAKBFQGWBf1B4qnAbrbGFPMOpQAWC6XB/v6Sq/J5XSJhFeSHBD0E4lnjY8Mr0b3dXMta+MDaIwPp+9n80ObAiAPQOwH0SmeMa+KY/fZ0Vrlu+1A69jY0JM2X/wGkDuY0HG16siPOxJr2WRIC0ST0nCtmjsTGCwDyC9btqwAAIODg+OYph6iWCyucI47AYAxerJSqTyUFh5em35mvGwQvRxiXxzHY9OIJaZi7y3Whm+lMdeyGX+0Mlr5ddtS7drGpt5ACXHsfjiNYbLRAGq3B9tK4CXOuTX1Ws8FGbPZADASbVKiheGMNTbN5OjgMC6j0PfHbL2OGoDm4OBgc5oodiMISsc46VwnHEDDAgA4adS30d2G/ES1Ovzt1IzvTMtnq2p7ADQl5WfQHT0AWiTHAcAZWnRXz9G+WolwwJudtG50tHxvxriYs2hkKUSbczAXGcMSpAuAddUO2Txh8krKYfoaCKa26/Yw6uOkqRtnlHM2B9OwQXgJiG8Zw8NIFtL6PJAsGMPDQHzLFqOPpJagMtHvbBFKC8SoKD+X87aZIXzjsmIY8yv8MKlefDGN2YXAN9Px5Lr+8SJFmysWi3sYmjNd7H5Rq5W/itmL/NQF4JzmN+2PScRp+AHSnC8BklbL6XwiPoSID3HQBZJ7QgIIXugH0YUzOJTJ/J2ehbBNTDa6ssQWEL0WcRRISO7b804eLfJSLPMBQ+bI1nsX85xEB7kxgX8Q5KWVL52TjYvF4gudeFFakX4XGR9drVWfy9x3RxAEV0r8HsCXE/jnMAy/US6XfzeDUs8DeI6xG1sEEDNdiUkPd5wcq9b23VavV7oORZlF6h5XLBZXkPwbp/jmarV6OxbZlIiko1ifIRBpElOcp5LMCaob495erVafS/VEWzf1VKvVdWR8kqAayZ445tvmmPPGKBtr0+iFpNlfwHfWrVtXxTyqghYDEAEoduYckp6B+ael0mvSjM9wKSVfDlCQbqlUKg+3DYaMfmkA8KrV6m8Bd3tS36iDFhBEXQqAIPGtJAHHr843RWEW8eLYWrucxNvk4nur1eE297Q20mQ5aXFxm8Th5KOYLKb0Oj45ADnBPJpEZbhNymULLTxcaDrDOOF4F8cjhYJ3azfRg6UCCKL3DmNMAcJHuzEZu3YXOOsqb4DtRcBGuiDGOiy0OPWVWgRHMyKsMYNoIbjknOUBkO9H+xtjVgD4z/Xr11cwWZ260YyEibA5gbNi5/5Qr5W/iSUqMJGUc1CJScmx63BojbXRuZJ2ULJZ6BjfhjvPEDJJArLSfmlObHtro/NqtZF/nyb42aJYFGSWmONB4p0AERt9aSG6LrdQ8eYXi68lve3l4n9MV3BukeKNKftYQ5eDzDjJfgDr2k6tH5QuMob/5Fzic5LYnTS7zwF4ei9DY8zH/CDsqydFgRMrWWQfISOyMF8dMctcWsuXL7fV2tjxzsUPj9UqP13IIl7wiqHD2ZDivMcvL5HybRNrnWIMA/JaLYZTTQQdkqYuWhPfJAnAVpoMbKSfdmIwm1eKJcUUD+3wrZKtmOJaD/G6JbLoPACoVkePoTERjT4HzNpCesk4yACI+/r6dwR1hJO7uTpSfhxLWLPN2I2TDCTUSGzVIS5GO5zgKVnTdgPZ7DEBHava68gvJXpT8AENGWPGl9L3AXmunGvIxV+dr3GwUA4yAOB57jgaGgqfz8S0sCQcJA27xAgYgsftuhhvmxN+H0vHxdJxAv6AmfciTdlRUCwW+0X1gxyRNLwEHNQ2Dl5C8mUQvl6v13+PBe6ImC9h48S81ckujqu1Wv4HWLrqm6SNb4whQ1oaPEuHF3ahE2KSFPi50erIN0arI9+g9GUm7BTPpfNaLe4GMS+4YefcyBKJOMHggtSn+/dFO1LziVpb27+3oXkRiG8B6ytYuuarSlZ0z1rFykt4CtBeXRAsnYMOxsBAEQMDRREv62J+BgA9Dy8hUKHMcK1WG8TCNh9PiRz09fXvRPI459wdaVHMgqMr8wUIoo4FCIpXbgzPe/369RVSfQDXgNilC8vHSHIkX2vH3C52zO1Cmle3s7dzLAg58BBAzwBchw37by8oumI89z6SHoSLF2sVmvmKN0jHO+eGarWROzdC6CQdjxkRMCyx0Nsb7ToHQAJg5DRYqw09VqsN/U5Oz2HufE0L2DoAtK+I1aTWLEXcra+/f0cSJyt2P6/XyzcsNjbZLUDehHgz3JPQNwCMztcr7tb6ceRqOoSkHsrl+IY5VqBAgtBvAdQBNAg9mHaLmG1szvcbx1EcTYKz3kOLXHAEIK8RX0xjeiVdtBSxSTOPl0OMj05yGt63NlLsSgCQY3wHjHaCcIOgE+bUQYlZvZ+10SPWRg8DeGn63UxWX2K2G5wp6nsAWK0OPoT5ZUk7F3Ds+9F+NOZvXRzfmvbjWXRs0sxnZVM8Vs7V+/p4+0Lt+i4A8iqVynqKHsAHCW1TCMOXATBp1fD0BCR9ELslH/ozBhaSDccKgvA0QB7AZwDdh8l9RguKgKT/98k0MHvOUgVlTbeytVAobAfiJZBuTjtSzWe1zWe7oBJfS9cD2F/kZ03MT2eCsdkS3c4AaWd/hrjjXlIqAyhI+DjBDwN6UX9/+O1F6Io297zT88whzumzmS0z8aYCCMbkD6MxRob/PQ/ndPIMBDIt+pDXBbd65XL5blDbOLo7AGwVBNGxcvgHKUnApZuFvY5PLv10fm9I9kgaAbx/9G34I4CXSdxe4C1r1qyZa6dC51kO2TLkVrFYXEGD/+ecW5PP4f8sZWSl61CPyKMoIW7gZkxud++GG8bDMFwWKymTjT2VuxSpjFveZSbn/p7kyYJWSd7OirGCuea+dGymib3u2sp48nKGP42duxRAA8KNgI4YrY58co7VTqTVR5K8NEReweR+p4ITv0bSyumYkZGRYSzhjvhuAGruvvvuvc+sXfd6Jz0yPj7yOOauppyowPGD8JI45kkgAkHIwZzSAN7bBbBmbGzoSWvD2x31CpCnGi/+n5yH3UZGKt9fyGRtUPoSoH0o7x2AO9/3e86q1WZd7US7pEzeh0AcJUk05uzeKHpgfGTkcRtE19GY/ZyLL6rXyquWIKo/bxGnZ55Zt5cxZhkSi6ebqKwB4HwbfdLQOxfEAIBeQLGhOdfa6F8w97YNByBXq5X/E0AOQg7Eh5otPNxXKu2c3tOHDTOp2U97WwuSrr7ah4hPAtyH49h8IK0PwCwxO2JgoCh4P6DhqQC2gySSr8vFusUPwlXGeCsVu8/Xq+WLlxqcrq04koeBgJhs2esi9BJHUbQbiTMklw35m8TD1/m+72/ThS5rAcjVq+WLJWwPp3Ea/Jtp6ufWRq/E5G4ETWMYpP18lhesjW4h6cvxXU7mYjK+MO0vNxv3JL7fWPNtJF+W7BFKnWIpBriToXlV7FqX1mojZyyVUbAggEStlHMt49xPu3DmCADNpvZIncVsSiBZlWQPkN8Ok/uAcrMo6RYAb7Q28sHE1JeF3HkgvhwEpQ9krLRc5h1pO7FofxuM/UbkLyF8gsadK5c/u1qtPjiHnmgbABJ5KCaLFicj4aST3L31avk8zK9t5pIB1B6MpXQgoPtrtdqzXQQT2+3Lfp/RVeqIPhsaXG9teNby5cttCoJmASoG4NVq5U856h4Yc4Ac/hnAK4OgtKpYLK7IxNEEoGVt6WwaXE/gwwbuERFH16rlM0dH1z8zi0nNDHDjfX39OxHYcRqfpt1wr5wFc2N47ma2AAoA+H60gsZYgbdlWH8uC8zU6yP3QrqBNLksMUjm5HSXgEHjeZdVa2MPWxueBcwJVAzAq1cq1yv2/o3ECx3cKkAPOJhvBkHpIgAOy5aFNoi+DeIESOcJ2t2Bcb068p40FDSdgZM1o+O+vv6d/CD8mJdzq0n+paS2Tmv7WWIi6r6AjVzGNVc4HqQ7OKkr46p55kro4tzJTvGq9NA/AWhI+p7v9xxRr47sGzt3CoAx43mX2WDsYWvDdwPwZwEqBuCNjg6uqdVG3ieY+51TQ9L3RR0RBOHNtuFuBTgIuWtE/CXkXVWvjlyO6RsndQKzow3CS7yce9Qz3nmA7otbOEYOFyYhwgk/K+ekT9frlauwkU+PnNJfbWBgoDg23nqI5LbOudvqtfJhvg2vM8Ycl89xp6GhrvtII0uMIOg/SHLfElSp18q7ddzX6xejEyi93xhvV+fc04Q+XC2Wr8Ra1DPuQLZH9sSxmsuWLQsbjdaJDlhBYmc4Pg2jKoXHqtXyf2SszrhjbBOE7evr39HLxWcDPIfG5OXiewh+ONsH3Pej/WBwBCBj4N1RrQ7dscjc0USlkm+jB4zhCsndW6uW958RqOlawVgbPmWD8ElM33yum0GkJ41EXwuKpbinp7gHpnaVnwQqiN5pg9Jj6VFma4KkTb/f4bd1HlWQ/DiKdrG29HfWRv8ShuHuHUBsMJ42MDYIP2qDqJG8s3RPEETHYZbjEBaYqpmNOYxvo9/O1ApmRoBsEH0/DMNlQXIGwbVd6p+ZnGEvCKLjgrBfvh9d0OEkd7bJ7/WD6BQblB4LpgJV6AaoGb6b8o5CYdkOU4EJZwKmE5Ds7nBsCoBmMRI07px7MQxBuZ8tgHuyesNVq/73XezWkzgNSalu3OHDtIk4Xq+OXFGrDu/pnHsXwCaN92kbRA8HQXhGClSnjsp2vOrJgD+l81WhsGwHWwz/zXjxo8Z4fw/wN3LuLbVq+aXV6sh/dTjh8TTGTzYYu0muKQA550zGjoxF76UQEFP3zNNA2CCFAKytE+4zxjO7WRsemyEw5gIqdu5dgGIa7zMpUKd3AJU9jL3RGdFOgIk+Yrz4UUPvAoAPJMAMv6RaHbluDmA2BQacQZpMdSDfMzRUyRoAkjsAEDzZhxYB0ETw07nW551z4wI+iA1b+c8BVHnP2LnTAMQ03mdtED2UASpOUiIJh9hi9C0/iK4qBNGxSZv/eDVpLgT0oIvjv95MgGEmoZe+m63M3LlBwsna6DU2iIbTVo332yBa4wfh/YsQbxvoBGujDxfDfvl+8W+71Gvs4LS+IIhOtUH0RGpMPOX7xbcXwvBlfhD9vt1rLvuxQXiPteFbutBbmxKctnW4f6r3YxuETwZB/8FTomwAgGXLQttsfQUwxyBTlZkcBeDuqVXLB2KyInMxZiXDMCzFMR8G0ezJmz2HEq6dK3yUZf92MLLPD6KTCLyfNDtKThkxlzV/m026fRuVyiPYtF0k5wKnx9rw0yBPzoyXScMm9+1aPncSBgfL3vLly61GG9cbmtdhasuW9CQOs30u3/Pnzeb41xZp9wOANz4+Xsv39g16xhzfjF3QbIx/fx75E5fhqEazMf7LZmP8M/l833MgXpOx8NrxP0ey1xN+02iM34vuOoJsbHC8NLr+X8Z4b8UkR2ROPzF75VrxgcuWla7zgNw/GWNOTFu15KaTkcaYvfL5noeazfH/WWTcyQHwmo3xe3K5ntcaY47zevM3tBqNJ+f53DZQeQCNZnPsZ/mevrMJ2I5VquR4G3w3bUi+Kft+E1MzrxMAWBu+xRjz/qTr1xSXof2bpjFmt8Z4i0bAKWmRX26WFzmAZ8wRdZ6XZUd4pwNoUeYKYIeFbPtQmunMAfAo3ZmC0d4K2QQAJ/3BGP1Xhz4zWPxZecwQtLObVjtomz13IgbQa23/i0Cej6nb+jfwHZXI7FNyJLaeayCSTHKK1oR4mKnXQbd+kVerDd1vbXSh8czHfVv5eL2GMxeY8HIA1Grx3FxeLyK5+xQjQFrTanFXAMOYvivIfMHKHvoxm07u7Y2i7Tzn9qIzB4A4ANA+gNspGZbmBJ/E1t0cT9MmwjjAr0O8tFYb+p9sUmsBQE3Ewvwg+pEx5nDF8d/UauWvLxAkIukZNxCL76LMywE9K2gfY8whSUGsWw3px5K5HdB9+TweT+sHFnEtt74fh0BzG2Owq4hd4bAHgBcJ2NMYLmufueScqzHZINaOAXZlRdIG0TMAls+xiiYtDKkB8NolAMoAkO/728Dk7yXgG7qXZnZtxwsBqfNLa6NXkzhWwJtIbo+0H02a2V0LcI2kZ0iUIa4RNV1vOS85iw8ewOUA+gFtD2AAMH0kJk8STI6DGxPwOwp3iPiFgfICVwI4DEmaPo/Z6+baXPoH+kF0oSE/kjESOhNTDkk7y7IxJkxbrSBJAfOriwQqrSkLjzCeucFJ99lCz0Hr1q2rY35nDU2XPug8JdILgmUrpNZ+Il5CcB8JuwLalmTY3vw1O82S5oSSqgDXEnhOxFPJcXB4lA6Pe56eKpfLj7UjGPTcOZDelmxGI0jASc8SeAGmtrnJvqhFMu+k9xFArw2i75A8QolgzK7cHEnIuS85l7vI81qnCDyd5DYdQLU56v4FAJWmp8P3mZz3r865r9WrI2+dJsWwKAd5Fo7ssdaWnOvtIeMXzBDZYJzHkNfMj/b2xvWhoaFRzNIJMgiCvYTcBYBOTBpuTOxoXg3xk8bEVzvHj6RnB6JDpHsk6eRW1avllRMOrS2GV9ggakz1wKO6DcJLMPWgi62DoPRBG0Rr2we5pn+O2SD8orX9+3QRqp8OJPhBeFUx7FfBFv+5I+K9lGbvUkakc0g6R6bitPTnNoiutEE03nEA8O9ssfSegYGB4lTxG15ig6jeQfOGLYZXpBnmyVaUbeQdvIMBbg1iTY7uJ+Vy+dGMzpgoBrfWvoDMnyGok6PGIF4L8NJabeg3XXIUAZhtt922t1yu30TPvMI5d0q9OvIFbIRSphnM5bnM/Ox5fCYTtUCyKPVeUMeT7GsfxdnmmFrN+2K62S2bfAQAhWH4Zy2ZgyDsAGidQXxHWtSCznicmUNETBsbs9a+IAhKH2zHwTIcNWqL4RXz4CiT5GoGtrNB9LugWJLvF1duBE5abOTZm5x7/z6p5Bnt4JhHrY3OwVSOmc6H9OaKcHOaf+g8NtN1Exuz1r4AyJ0p4nRDLp/CUdQ1lLu0Wq0+MAdHtY9sfrFMbhXFkGgdnjZp2tic1E1KIE4lzd6ieS/EExKOac/VPQbxk7293hczR17PpUtnpTmXSERkgVoO5M6YFijpajL3ifQkyZmASo9sDg4Wc6sAlBXjtfX68K+fB5A6gFm2t9Q6F+QJSQPBtihLgKn1el9E98DML+y91ED5vr8NmW8D9YIMUKMpR31iFo5qW3avp2e+C2BIMQ7fhCBNxzHnphyTAQaPQ7qst9e7YnCJgdkYAM0OFHCGMdx6ClDSNaS7NKMUs0BNgmTM9ZIGCb427ei7sUDqBGYvybx3Go55HOJlPT3mC5nTl5cUmI0J0GxAnSnitA04SrqadJ+YBiiT4aTr4TSIjQPSdMCcC/LE5wuYTQHQTEBtS+bPFHDaBhxFXEXFn0ga8U0A5QFo+H7xSHre9YKeU0srR0fLv1gCkDqB2VP0zoVwIkk/M7YnIFzW02Ou2FTAbEqA5gtUHcLV5BSg+gCM+X7xSBrvekBNCEelp9TPq3f1jMDIOxfcEBg5fKq311y+qYF5Pq8pfpTv+9taG12cHg+a9aPq1kafSwvjMXl/8UgbRMM2KLWsDd86i48xpx9TLBZXWBt9zgZRbeq7w8f9YnR+FEWlOfyYP+prClCFQmE7a6OL/WK0rgOoWidQhUJ4gLXpfTY6p8Of4MKBiZ7Y3IDhZgLUhOgrFAa2M6b1bgGnGsOtpog+4itUfFm1Wn2gUFi2vTHxKuOZFbFzl9WrI3/XIXY6o9rJ8QEw50D4W5I28+wnRXwqb3B5Jke0WYgybmYclQGqsJ0xPWcJeNcGQAlXt1r41/Hxkaetja6jMcdI7geEd55zY0Np+y9kOGYP58y54IzAXDEyMjK0OeoYbqaiLwPUsu2Nid8N4lSSA9nIhIDL4fBFGl1Jmn2TnJbqAB6FzFcA/lhwZ3JDYJ4S8Km8h8s3V2A2Z4BmBwo4lWYKUEituIlAbLbzYnLPRHT5KQGfznv4/OYOzJYA0MxA5eKzJLyDwDJMPWs8mxJol/U2AT4t6HM5o8vL5fLglmQub0lmY0dQNnpV5qC+WTvVx3QHj1Uqd22JfozZggBqn33XA8AjtUdaBzdbWt2RNDlxP0x2qG9tSU7mlgRQlitil4i3bn9Q2tKA2ZIBSuSdMdWNce+fAFoaDkJT8Q1pyfJMBf1CUhXrmopvyP72TwBtfIC8RqXyMKQvkPSmEV9pbZnxIH2hMVkMucUB5GHLvUyzOX5jPt/7Ihru3WGRkqQn5/67Viufio3UpuVPAM19NZvN8a/n832DAnYh0Q/ASXgI4sW12sh5mMwXbZEA/X9WM2NRxIy3dQAAAABJRU5ErkJggg==');background-size:contain;background-repeat:no-repeat;background-position:center}
.logo b{font-weight:700}
.logo .lw{font-weight:400}
.logo .sup{font-size:9px;vertical-align:super;font-weight:500;color:var(--muted)}
/* ★ IN FLOW, not absolutely centred. Out of flow, the header could not reserve room for
   the nav: at seven items it grew under the logo and the CTA (z-index:2) and items simply
   vanished - Platform went missing the moment Insights was added (Shane, 2026-09-27). A
   flex item cannot overlap its siblings, and `margin:0 auto` keeps it centred in the space
   the logo and CTA leave. `min-width:0` lets it shrink rather than push the CTA off. */
/* ★ The nav must never SHRINK. `min-width:0` let this flex item go narrower than its own
   nowrap content, so the overflow was cut off and the FIRST item - Platform - disappeared on the
   sub-pages, whose header has less room than the home page (Shane, 2026-09-27, twice).
   `flex:0 0 auto` keeps it at content width; .site-head-in wraps instead, so when there is not
   enough room the nav moves to its own line rather than being clipped. Wrapping is visible;
   clipping is not, and an invisible failure is the one that ships. */
.nav{display:flex;gap:22px;font-size:14.5px;color:var(--ink-soft);margin:0 auto;white-space:nowrap;flex:0 0 auto}
.nav a{text-decoration:none}
/* The current section's link, as on the home page. Insights pages mark theirs; see build-insights.mjs. */
.nav a.on{color:var(--ink);font-weight:600}
.head-cta{margin-left:auto;display:flex;gap:10px;position:relative;z-index:2}
.btn{font:inherit;font-size:14.5px;font-weight:500;padding:11px 20px;border-radius:7px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;cursor:pointer}
.btn-solid{background:var(--panel);color:var(--panel-ink)}

/* page hero (from index.html) */
.page-hero{padding:74px 0 46px}
.page-hero .eyebrow{font-family:"Archivo",sans-serif;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.page-hero h1{font-size:clamp(34px,4vw,52px);letter-spacing:-0.03em;max-width:30ch}
.page-hero p{margin-top:20px;font-size:19px;color:var(--muted);max-width:76ch;line-height:1.55}

/* long-form legal text */
.legal{max-width:72ch;padding-bottom:88px}
.legal h2{font-size:clamp(22px,2.2vw,27px);letter-spacing:-0.022em;margin:52px 0 16px;padding-top:26px;border-top:1px solid var(--rule)}
.legal > h2:first-child{margin-top:0}
.legal h3{font-size:19px;letter-spacing:-0.016em;margin:30px 0 10px}
.legal p{margin:0 0 16px;color:var(--ink-soft)}
.legal strong{color:var(--ink);font-weight:600}
.legal ul,.legal ol{margin:0 0 18px;padding-left:24px;color:var(--ink-soft)}
.legal li{margin:0 0 8px;padding-left:4px}
.legal li::marker{color:var(--muted)}
.legal li > ul,.legal li > ol{margin:8px 0 0}
.legal a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--accent-line)}
.legal a:hover{border-bottom-width:2px}
.legal code{font-family:"IBM Plex Mono",monospace;font-size:.86em;background:var(--surface);border:1px solid var(--rule);border-radius:5px;padding:1px 5px}
.legal .section-number{color:var(--muted);margin-right:2px}
.legal .last-updated{color:var(--muted);font-size:15px}
.legal .important-notice,.legal .acknowledgment{background:var(--accent-wash);border-left:3px solid var(--accent-line);border-radius:0 9px 9px 0;padding:18px 22px;margin:22px 0}
.legal .important-notice p:last-child,.legal .acknowledgment p:last-child{margin-bottom:0}
.legal .contact-info{background:var(--surface);border:1px solid var(--rule);border-radius:11px;padding:22px 24px;margin:22px 0}
.legal .contact-info p:last-child{margin-bottom:0}
.legal [id]{scroll-margin-top:24px}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:8px 0 22px}
.legal table{width:100%;min-width:520px;border-collapse:collapse;font-size:15px}
.legal th{text-align:left;font-family:"Archivo",sans-serif;font-size:12.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);padding:0 20px 11px 0;border-bottom:1px solid var(--rule)}
.legal td{padding:15px 20px 15px 0;border-bottom:1px solid var(--rule);vertical-align:top;line-height:1.5;color:var(--ink-soft)}
.legal td:last-child,.legal th:last-child{padding-right:0}

/* footer (from index.html; legal column added) */
footer{border-top:1px solid var(--rule);margin-top:40px;padding:48px 0 96px;font-size:14px;background:var(--paper)}
@media (max-width:640px){footer{margin-top:28px}}
/* ★ Same in-flow grid as the home page, and NO min-height. The previous rule set a
   hand-guessed 96px, which the link column overflows once it has four entries - that is
   the 2026-09-23 bug where the footer rule draws through the last item. Eleven pages
   carried it and the guard only read index.html. */
.foot-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(48px,7vw,140px);align-items:start}
.foot-links{justify-self:end}
.foot-brand{max-width:44ch}
.foot-top a{text-decoration:none}
.foot-top .logo .lmark{width:26px;height:30px;margin-top:0;margin-bottom:0;margin-right:9px}
.foot-brand{display:flex;flex-direction:column}
.foot-links{display:flex;gap:64px;margin-left:auto}
.foot-links h4{font-size:13px;font-weight:600;margin-bottom:14px;font-family:"Inter",sans-serif}
.foot-links ul{list-style:none;margin:0;padding:0}
.foot-links li{margin-bottom:10px}
.foot-links a{text-decoration:none;color:var(--muted);font-size:14px}
.foot-links a:hover{color:var(--ink)}
.foot-tag{margin-top:14px;font-size:14px;color:var(--muted);max-width:none;line-height:1.65}
.foot-tag span{display:block}
.foot-note{margin-top:40px;padding-top:20px;border-top:1px solid var(--rule);font-size:12.5px;color:var(--muted);line-height:1.6}

:focus-visible{outline:2px solid var(--accent-line);outline-offset:3px}

@media (max-width:1100px){
  .wrap{padding:0 28px}
  .site-head-in{padding-left:28px;padding-right:28px}
  .nav{gap:18px;font-size:14px}
  .foot-links{gap:44px}
}
/* Header: stacked layout from 1080px down, before the button would drop under the menu (it stopped
   fitting below ~1020px). Same breakpoint as the home page; the 900px block narrows the padding. */
@media (max-width:1080px){
  .site-head-in{flex-wrap:wrap;gap:14px;padding-top:14px;padding-bottom:0}
  .head-cta{margin-left:auto}
  .nav{position:static;transform:none;order:3;flex-basis:auto;gap:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -28px;padding:0 28px;width:calc(100% + 56px);border-top:1px solid var(--rule)}
  .nav::-webkit-scrollbar{display:none}
  .nav a{white-space:nowrap;padding:13px 14px;min-height:44px;display:flex;align-items:center;border-bottom:2px solid transparent}
  .nav > a:first-child{padding-left:0}
  .nav a.on{border-bottom-color:var(--accent-line)}
}
@media (max-width:900px){
  .wrap{padding:0 20px}
  .page-hero{padding:44px 0 30px}
  .page-hero h1,.page-hero p{max-width:none}
  .site-head-in{flex-wrap:wrap;gap:14px;padding:14px 20px 0}
  .head-cta{margin-left:auto}
  .nav{position:static;transform:none;order:3;flex-basis:auto;gap:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -20px;padding:0 20px;width:calc(100% + 40px);border-top:1px solid var(--rule)}
  .nav::-webkit-scrollbar{display:none}
  .nav a{white-space:nowrap;padding:13px 14px;min-height:44px;display:flex;align-items:center;border-bottom:2px solid transparent}
  .nav > a:first-child{padding-left:0}
  .nav a.on{border-bottom-color:var(--accent-line)}
  .foot-top{display:block;min-height:0}
  .foot-links{margin-left:0;margin-top:26px;flex-wrap:wrap;gap:32px 48px}
}
@media (max-width:560px){
  body{font-size:16px}
  .wrap{padding:0 18px}
  .site-head-in{padding-left:18px;padding-right:18px}
  .nav{margin:0 -20px;padding:0 20px;width:calc(100% + 40px)}
  .page-hero h1{font-size:clamp(26px,8vw,34px)}
  .page-hero p{font-size:16.5px}
  .legal h2{font-size:21px;margin-top:40px}
  .legal h3{font-size:17.5px}
  .legal ul,.legal ol{padding-left:20px}
}
@media (hover:none){
  .btn{min-height:44px}
  a,button{-webkit-tap-highlight-color:transparent}
}
@supports (padding:max(0px)){
  @media (max-width:900px){
    .wrap,.site-head-in{padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right))}
  }
}
@media (prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important}}

/* Privacy button and panel (bottom left), the same on every page. It uses the HTML popover attribute,
   not JavaScript, so it also works on the legal pages, whose CSP is script-src 'none'. The browser
   handles open/close, Esc, clicking outside and aria-expanded. In a browser without popover support
   (pre-2024) the panel stays hidden and the button does nothing: a safe failure. Keep this block
   identical in site/index.html and site/css/pages.css (check-scenarios-copy.mjs compares them). */
.privacy-fab{position:fixed;left:20px;bottom:20px;z-index:80;font-family:"Inter",sans-serif}
.privacy-fab > button{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;min-height:40px;font:inherit;font-size:13px;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:999px;box-shadow:0 8px 24px rgba(11,12,15,.10);cursor:pointer}
.privacy-fab > button:hover{border-color:var(--accent-line)}
.pf-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-line);flex:none}
.privacy-panel{display:none;position:fixed;inset:auto auto 72px 20px;margin:0;width:330px;max-width:calc(100vw - 40px);max-height:calc(100vh - 96px);overflow:auto;background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-radius:12px;padding:20px;box-shadow:0 20px 48px rgba(11,12,15,.16);font-family:"Inter",sans-serif;text-align:left}
.privacy-panel:popover-open{display:block}
.privacy-panel h4{font-family:"Archivo",sans-serif;font-size:16px;font-weight:600;letter-spacing:-0.018em;margin:0 0 10px;color:var(--ink)}
.privacy-panel p{font-size:13.5px;line-height:1.55;color:var(--muted);margin:9px 0 0}
.privacy-panel .pf-fine{font-size:12px;opacity:.85;padding-top:10px;margin-top:12px;border-top:1px solid var(--rule)}
.pf-close{margin-top:14px;font:inherit;font-size:13px;padding:8px 14px;min-height:34px;border-radius:8px;border:1px solid var(--rule);background:var(--surface);color:var(--ink);cursor:pointer}
.pf-close:hover{border-color:var(--accent-line)}
@media (max-width:560px){.privacy-fab{left:14px;bottom:14px}.privacy-panel{inset:auto auto 64px 14px;width:calc(100vw - 28px);max-width:none}}
@media print{.privacy-fab,.privacy-panel{display:none}}
