[hidden] { display: none !important; }

/* Inter (downloaded from the source) */
@font-face { font-family: "Inter"; src: url("/assets/source/5vvr9Vy74if2I6bQbJvbw7SY1pQ-e6fbebf5.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; unicode-range: U+370-3FF; }
@font-face { font-family: "Inter"; src: url("/assets/source/EOr0mi4hNtlgWNn9if640EZzXCo-10eaf49a.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; unicode-range: U+100-24F, U+259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Inter"; src: url("/assets/source/Y9k9QrlZAqio88Klkmbd8VoMQc-63d93df9.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; src: url("/assets/source/OYrD2tBIBPvoJXiIHnLoOXnY9M-398feb0f.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: "Inter"; src: url("/assets/source/JeYwfuaPfZHQhEG8U5gtPDZ7WQ-25e630f9.woff2") format("woff2"); font-weight: 700; font-style: italic; font-display: swap; unicode-range: U+460-52F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "Inter"; src: url("/assets/source/GrgcKwrN6d3Uz8EwcLHZxwEfC4-1ab81cfc.woff2") format("woff2"); font-weight: 700; font-style: italic; font-display: swap; unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116; }
@font-face { font-family: "Inter"; src: url("/assets/source/b6Y37FthZeALduNqHicBT6FutY-6fa637ec.woff2") format("woff2"); font-weight: 700; font-style: italic; font-display: swap; unicode-range: U+1F00-1FFF; }
@font-face { font-family: "Inter"; src: url("/assets/source/5A3Ce6C9YYmCjpQx9M4inSaKU-ff903709.woff2") format("woff2"); font-weight: 700; font-style: italic; font-display: swap; unicode-range: U+370-3FF; }
@font-face { font-family: "Inter"; src: url("/assets/source/Qx95Xyt0Ka3SGhinnbXIGpEIyP4-431f795f.woff2") format("woff2"); font-weight: 700; font-style: italic; font-display: swap; unicode-range: U+100-24F, U+259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Inter"; src: url("/assets/source/6mJuEAguuIuMog10gGvH5d3cl8-ebf989b8.woff2") format("woff2"); font-weight: 700; font-style: italic; font-display: swap; unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; src: url("/assets/source/xYYWaj7wCU5zSQH0eXvSaS19wo-c586166a.woff2") format("woff2"); font-weight: 700; font-style: italic; font-display: swap; unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: "Inter"; src: url("/assets/source/otTaNuNpVK4RbdlT7zDDdKvQBA-a2d4da36.woff2") format("woff2"); font-weight: 500; font-style: italic; font-display: swap; unicode-range: U+460-52F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "Inter"; src: url("/assets/source/UjlFhCnUjxhNfep4oYBPqnEssyo-52394584.woff2") format("woff2"); font-weight: 500; font-style: italic; font-display: swap; unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116; }
@font-face { font-family: "Inter"; src: url("/assets/source/DolVirEGb34pEXEp8t8FQBSK4-0e89558a.woff2") format("woff2"); font-weight: 500; font-style: italic; font-display: swap; unicode-range: U+1F00-1FFF; }
@font-face { font-family: "Inter"; src: url("/assets/source/hyOgCu0Xnghbimh0pE8QTvtt2AU-8723a00a.woff2") format("woff2"); font-weight: 500; font-style: italic; font-display: swap; unicode-range: U+370-3FF; }
@font-face { font-family: "Inter"; src: url("/assets/source/NeGmSOXrPBfEFIy5YZeHq17LEDA-35e1a648.woff2") format("woff2"); font-weight: 500; font-style: italic; font-display: swap; unicode-range: U+100-24F, U+259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Inter"; src: url("/assets/source/oYaAX5himiTPYuN8vLWnqBbfD2s-a186805f.woff2") format("woff2"); font-weight: 500; font-style: italic; font-display: swap; unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; src: url("/assets/source/lEJLP4R0yuCaMCjSXYHtJw72M-94424b3f.woff2") format("woff2"); font-weight: 500; font-style: italic; font-display: swap; unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: "Inter"; src: url("/assets/source/cRJyLNuTJR5jbyKzGi33wU9cqIQ-7112722c.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; unicode-range: U+460-52F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "Inter"; src: url("/assets/source/yDtI2UI8XcEg1W2je9XPN3Noo-c83b48d9.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116; }
@font-face { font-family: "Inter"; src: url("/assets/source/A0Wcc7NgXMjUuFdquHDrIZpzZw0-03459c73.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; unicode-range: U+1F00-1FFF; }
@font-face { font-family: "Inter"; src: url("/assets/source/DpPBYI0sL4fYLgAkX8KXOPVt7c-0e93c160.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; unicode-range: U+370-3FF; }
@font-face { font-family: "Inter"; src: url("/assets/source/4RAEQdEOrcnDkhHiiCbJOw92Lk-e1100441.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; unicode-range: U+100-24F, U+259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Inter"; src: url("/assets/source/1K3W8DizY3v4emK8Mb08YHxTbs-d4add6f0.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; src: url("/assets/source/tUSCtfYVM1I1IchuyCwz9gDdQ-b54fd20a.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: "Inter"; src: url("/assets/source/VgYFWiwsAC5OYxAycRXXvhze58-5606055a.woff2") format("woff2"); font-weight: 900; font-style: normal; font-display: swap; unicode-range: U+460-52F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "Inter"; src: url("/assets/source/syRNPWzAMIrcJ3wIlPIP43KjQs-b3244d3d.woff2") format("woff2"); font-weight: 900; font-style: normal; font-display: swap; unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116; }
@font-face { font-family: "Inter"; src: url("/assets/source/GIryZETIX4IFypco5pYZONKhJIo-188af264.woff2") format("woff2"); font-weight: 900; font-style: normal; font-display: swap; unicode-range: U+1F00-1FFF; }
@font-face { font-family: "Inter"; src: url("/assets/source/H89BbHkbHDzlxZzxi8uPzTsp90-1fcffd05.woff2") format("woff2"); font-weight: 900; font-style: normal; font-display: swap; unicode-range: U+370-3FF; }
@font-face { font-family: "Inter"; src: url("/assets/source/u6gJwDuwB143kpNK1T1MDKDWkMc-bba809c0.woff2") format("woff2"); font-weight: 900; font-style: normal; font-display: swap; unicode-range: U+100-24F, U+259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Inter"; src: url("/assets/source/43sJ6MfOPh1LCJt46OvyDuSbA6o-e37b09e8.woff2") format("woff2"); font-weight: 900; font-style: normal; font-display: swap; unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; src: url("/assets/source/wccHG0r4gBDAIRhfHiOlq6oEkqw-c1c7071b.woff2") format("woff2"); font-weight: 900; font-style: normal; font-display: swap; unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: "Inter"; src: url("/assets/source/WZ367JPwf9bRW6LdTHN8rXgSjw-599dfaec.woff2") format("woff2"); font-weight: 900; font-style: italic; font-display: swap; unicode-range: U+460-52F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "Inter"; src: url("/assets/source/ia3uin3hQWqDrVloC1zEtYHWw-8be6b7ba.woff2") format("woff2"); font-weight: 900; font-style: italic; font-display: swap; unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116; }
@font-face { font-family: "Inter"; src: url("/assets/source/2A4Xx7CngadFGlVV4xrO06OBHY-d80e17c7.woff2") format("woff2"); font-weight: 900; font-style: italic; font-display: swap; unicode-range: U+1F00-1FFF; }
@font-face { font-family: "Inter"; src: url("/assets/source/khkJkwSL66WFg8SX6Wa726c-fe486426.woff2") format("woff2"); font-weight: 900; font-style: italic; font-display: swap; unicode-range: U+370-3FF; }
@font-face { font-family: "Inter"; src: url("/assets/source/0E7IMbDzcGABpBwwqNEt60wU0w-d04ec831.woff2") format("woff2"); font-weight: 900; font-style: italic; font-display: swap; unicode-range: U+100-24F, U+259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Inter"; src: url("/assets/source/NTJ0nQgIF0gcDelS14zQ9NR9Q-f8d4c9d3.woff2") format("woff2"); font-weight: 900; font-style: italic; font-display: swap; unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; src: url("/assets/source/QrcNhgEPfRl0LS8qz5Ln8olanl8-42b70d86.woff2") format("woff2"); font-weight: 900; font-style: italic; font-display: swap; unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: "Inter"; src: url("/assets/source/JEXmejW8mXOYMtt0hyRg811kHac-2445e67a.woff2") format("woff2"); font-weight: 600; font-style: italic; font-display: swap; unicode-range: U+460-52F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "Inter"; src: url("/assets/source/Bo5CNzBv77CafbxOtKIkpw9egw-068e4237.woff2") format("woff2"); font-weight: 600; font-style: italic; font-display: swap; unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116; }
@font-face { font-family: "Inter"; src: url("/assets/source/uy9s0iWuxiNnVt8EpTI3gzohpwo-bb2f6cd2.woff2") format("woff2"); font-weight: 600; font-style: italic; font-display: swap; unicode-range: U+1F00-1FFF; }
@font-face { font-family: "Inter"; src: url("/assets/source/CfMzU8w2e7tHgF4T4rATMPuWosA-09f33353.woff2") format("woff2"); font-weight: 600; font-style: italic; font-display: swap; unicode-range: U+370-3FF; }
@font-face { font-family: "Inter"; src: url("/assets/source/867QObYax8ANsfX4TGEVU9YiCM-f3aed039.woff2") format("woff2"); font-weight: 600; font-style: italic; font-display: swap; unicode-range: U+100-24F, U+259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Inter"; src: url("/assets/source/Oyn2ZbENFdnW7mt2Lzjk1h9Zb9k-3b29f665.woff2") format("woff2"); font-weight: 600; font-style: italic; font-display: swap; unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; src: url("/assets/source/cdAe8hgZ1cMyLu9g005pAW3xMo-71d01ef2.woff2") format("woff2"); font-weight: 600; font-style: italic; font-display: swap; unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+1EA0-1EF9, U+20AB; }
/* Variable Inter (400–800, upright) */
@font-face { font-family: "Inter"; src: url("/assets/source/UcC73FwrK3iLTeHuS-nVMrMxCp50SjIa2JL7W0Q5-b4aee2c6.woff2") format("woff2"); font-weight: 400 800; font-style: normal; font-display: swap; unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "Inter"; src: url("/assets/source/UcC73FwrK3iLTeHuS-nVMrMxCp50SjIa0ZL7W0Q5-3774b678.woff2") format("woff2"); font-weight: 400 800; font-style: normal; font-display: swap; unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Inter"; src: url("/assets/source/UcC73FwrK3iLTeHuS-nVMrMxCp50SjIa2ZL7W0Q5-d239a945.woff2") format("woff2"); font-weight: 400 800; font-style: normal; font-display: swap; unicode-range: U+1F00-1FFF; }
@font-face { font-family: "Inter"; src: url("/assets/source/UcC73FwrK3iLTeHuS-nVMrMxCp50SjIa1pL7W0Q5-9b4e8e0a.woff2") format("woff2"); font-weight: 400 800; font-style: normal; font-display: swap; unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: "Inter"; src: url("/assets/source/UcC73FwrK3iLTeHuS-nVMrMxCp50SjIa2pL7W0Q5-17718374.woff2") format("woff2"); font-weight: 400 800; font-style: normal; font-display: swap; unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
@font-face { font-family: "Inter"; src: url("/assets/source/UcC73FwrK3iLTeHuS-nVMrMxCp50SjIa25L7W0Q5-521e24d1.woff2") format("woff2"); font-weight: 400 800; font-style: normal; font-display: swap; unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Inter"; src: url("/assets/source/UcC73FwrK3iLTeHuS-nVMrMxCp50SjIa1ZL7W0Q5-1dc044f4.woff2") format("woff2"); font-weight: 400 800; font-style: normal; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ---------- Tokens ---------- */
:root {
  --ink: #171717;
  --ink-60: rgba(23, 23, 23, 0.6);
  --ink-strong: #111111;
  --ink-deep: #0d0d0d;
  --grey: #4d4d4d;
  --muted: #737373;
  --muted-2: #6b7280;
  --line: #eeeeee;
  --line-2: #f0efef;
  --surface: #fafafa;
  --white: #ffffff;
  --focus: #2b5cff;

  --font: "Inter", "Inter Placeholder", system-ui, -apple-system, sans-serif;

  --header-h: 68px;
  --gutter: 20px;
  --frame: 1400px;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
}
@media (max-width: 1199px) { :root { --header-h: 74px; } }
@media (max-width: 809px) { :root { --header-h: 76px; --gutter: 16px; } }

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: var(--header-h); }
body {
  margin: 0;
  background: var(--white);
  color: var(--ink);
  font-family: var(--font);
  font-size: 16px;
  line-height: 25px;
  font-weight: 500;
  letter-spacing: -0.01em;
  -webkit-font-smoothing: antialiased;
  padding-top: var(--header-h);
  caret-color: var(--ink);
}
h1, h2, h3, h4, h5, h6, p, ul, ol, figure, blockquote { margin: 0; }
h1, h2, h3, h4, h5, h6 { font-weight: 500; text-wrap: balance; }
ul, ol { padding: 0; list-style: none; }
img, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; text-underline-offset: 3px; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; letter-spacing: inherit; }
::selection { background: var(--ink); color: var(--white); }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }

/* The framed column every page section sits in */
.page { max-width: calc(var(--frame) + var(--gutter) * 2); margin: 0 auto; padding: 0 var(--gutter); }
.page > section, .page > div[data-rebuild-section] { border-inline: 1px solid var(--line); }

/* ---------- Type styles ---------- */
.t-display { font-size: 48px; line-height: 53px; letter-spacing: -1.92px; font-weight: 500; color: var(--ink-60); }
.t-h2 { font-size: 40px; line-height: 48px; letter-spacing: -2px; font-weight: 500; color: var(--ink-60); }
.t-h2 .ink, .t-display .ink { color: var(--ink); }
.t-h3 { font-size: 28px; line-height: 36px; letter-spacing: -1px; font-weight: 500; color: var(--ink); }
.t-title { font-size: 24px; line-height: 32px; letter-spacing: -1px; font-weight: 500; color: var(--ink); }
.t-card-title { font-size: 20px; line-height: 24px; letter-spacing: -0.4px; font-weight: 500; color: var(--ink); }
.t-lead { font-size: 18px; line-height: 24px; font-weight: 400; color: var(--ink-60); }
.t-body { font-size: 16px; line-height: 25px; letter-spacing: -0.16px; font-weight: 500; color: var(--ink); }
.t-small { font-size: 14px; line-height: 19px; letter-spacing: -0.28px; font-weight: 400; color: var(--muted); }
.t-label { font-size: 12px; line-height: 12px; letter-spacing: -0.12px; font-weight: 500; text-transform: uppercase; color: var(--ink); }

@media (max-width: 1199px) {
  .t-h2 { font-size: 32px; line-height: 38px; letter-spacing: -1.5px; }
  .t-h3 { font-size: 24px; line-height: 31px; }
  .t-lead { font-size: 16px; line-height: 22px; }
}
@media (max-width: 809px) {
  .t-display { font-size: 44px; line-height: 44px; letter-spacing: -1.76px; }
  .t-h2 { font-size: 28px; line-height: 34px; letter-spacing: -1.2px; }
  .t-h3 { font-size: 18px; line-height: 23px; letter-spacing: -0.4px; }
  .t-title { font-size: 20px; line-height: 27px; letter-spacing: -0.6px; }
  .t-lead { font-size: 14px; line-height: 19px; }
}

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 5px 12px; min-height: 36px;
  font-size: 16px; line-height: 25px; letter-spacing: -0.16px; font-weight: 500;
  border: 1px solid transparent; border-radius: 0;
  transition: background-color 0.25s var(--ease), color 0.25s var(--ease), border-color 0.25s var(--ease);
  white-space: nowrap;
}
.btn--primary { background: var(--ink); color: var(--white); }
.btn--primary:hover { background: #333333; }
.btn--primary:active { background: #000000; }
.btn--secondary { background: var(--white); color: var(--ink); border-color: var(--line); }
.btn--secondary:hover { background: var(--surface); border-color: #e2e2e2; }
.btn--secondary:active { background: #f2f2f2; }
.btn[aria-disabled="true"], .btn:disabled { opacity: 0.5; pointer-events: none; }

/* Underlined text link ("About Billing") */
.text-link {
  display: inline-block; padding-bottom: 4px;
  font-size: 14px; line-height: 14px; letter-spacing: -0.25px; font-weight: 400; color: #383838;
  border-bottom: 1px solid currentColor;
  transition: color 0.2s var(--ease);
}
.text-link:hover { color: var(--ink); }

/* Section tag pill ("FEATURES") */
.tag {
  display: inline-flex; align-items: center;
  padding: 8px; background: var(--surface); border: 1px solid var(--line);
  font-size: 12px; line-height: 12px; letter-spacing: -0.12px; font-weight: 500; text-transform: uppercase; color: var(--ink);
  white-space: nowrap;
}

/* Square bordered icon button / arrow box */
.icon-box {
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; background: rgba(255, 255, 255, 0.9); border: 1px solid var(--line-2);
  transition: background-color 0.2s var(--ease), border-color 0.2s var(--ease);
}
.icon-box img { width: 16px; height: 16px; }
.icon-box:hover { background: var(--surface); border-color: #e2e2e2; }

/* Check list */
.check-list { display: grid; gap: 7px; }
.check-list li { display: flex; align-items: center; gap: 7px; font-size: 14px; line-height: 19px; letter-spacing: -0.28px; font-weight: 400; color: var(--muted); }
.check-list img { width: 16px; height: 16px; flex: none; }

/* Section heading block: tag, heading left, lead right */
.title-wrapper { padding: 60px; display: flex; flex-direction: column; gap: 40px; }
.title-wrapper__row { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; }
.title-wrapper__row .t-h2 { max-width: 400px; }
.title-wrapper__row .t-lead { max-width: 450px; text-align: right; }
@media (max-width: 1199px) {
  .title-wrapper { padding: 48px 40px; gap: 32px; }
  .title-wrapper__row { flex-direction: column; align-items: flex-start; gap: 16px; }
  .title-wrapper__row .t-lead { text-align: left; }
}
@media (max-width: 809px) {
  .title-wrapper { padding: 32px 20px 40px; gap: 24px; }
  .title-wrapper__row .t-h2 { max-width: none; }
  .title-wrapper__row .t-lead { max-width: none; }
}

/* ---------- Header ---------- */
.site-header {
  position: fixed; inset: 0 0 auto 0; z-index: 50;
  background: var(--white); border-bottom: 1px solid var(--line);
}
.site-header__bar {
  height: var(--header-h); padding: 16px 20px;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.logo { display: inline-flex; align-items: center; gap: 8px; color: var(--ink-strong); }
.logo img { width: 22px; height: 22px; }
.logo__text { font-size: 20px; line-height: 20px; font-weight: 600; letter-spacing: -0.8px; }
.site-header__menu { display: contents; }
.site-header__actions { display: flex; gap: 8px; align-items: flex-start; }
.site-header__actions .btn { min-height: 36px; }
.burger { display: none; width: 40px; height: 40px; align-items: center; justify-content: center; margin-right: -8px; }
.burger svg { width: 24px; height: 24px; }
.burger .burger__close { display: none; }
.site-header.is-open .burger__open { display: none; }
.site-header.is-open .burger__close { display: block; }

/* Primary nav (Dotsy menu "primary") */
.nav__list { display: flex; align-items: center; gap: 4px; }
.nav__item { position: relative; }
.nav__link {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 3px 6px 3px 8px; min-height: 32px; background: var(--white);
  font-size: 16px; line-height: 25px; letter-spacing: -0.16px; font-weight: 500; color: var(--ink);
  transition: background-color 0.2s var(--ease);
}
.nav__link:hover, .nav__item--dropdown:hover > .nav__trigger, .nav__trigger[aria-expanded="true"] { background: #f5f5f5; }
.nav__chev { width: 20px; height: 20px; transition: transform 0.25s var(--ease); }
.nav__item--dropdown:hover .nav__chev, .nav__item--dropdown:focus-within .nav__chev, .nav__trigger[aria-expanded="true"] .nav__chev { transform: rotate(180deg); }
.nav__panel {
  position: absolute; top: 100%; left: -60px; padding-top: 12px;
  visibility: hidden; opacity: 0; transform: translateY(-4px);
  transition: opacity 0.2s var(--ease), transform 0.2s var(--ease), visibility 0s linear 0.2s;
}
.nav__item--dropdown:hover > .nav__panel,
.nav__item--dropdown:focus-within > .nav__panel,
.nav__trigger[aria-expanded="true"] + .nav__panel {
  visibility: visible; opacity: 1; transform: none; transition-delay: 0s;
}
.nav__sub {
  min-width: 224px; padding: 8px 0; background: var(--white);
  border: 1px solid var(--line); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}
.nav__sublink { display: flex; align-items: center; gap: 12px; padding: 12px 20px; transition: background-color 0.2s var(--ease); }
.nav__sublink:hover { background: var(--surface); }
.nav__subicon { width: 24px; height: 24px; flex: none; opacity: 0.7; }
.nav__subtext { display: flex; flex-direction: column; gap: 2px; }
.nav__subtitle { font-size: 14px; line-height: 17px; font-weight: 500; color: var(--grey); white-space: nowrap; }
.nav__subdesc { font-size: 12px; line-height: 14px; font-weight: 400; color: var(--ink-60); white-space: nowrap; }
.nav__sublink:hover .nav__subtitle { color: var(--ink); }

@media (max-width: 1199px) {
  .site-header__bar { padding: 16px 20px; }
  .logo img { width: 22px; height: 22px; }
  .burger { display: inline-flex; }
  .site-header__menu {
    display: none; position: absolute; top: 100%; left: 0; right: 0;
    max-height: calc(100vh - var(--header-h)); overflow-y: auto;
    background: var(--white); border-bottom: 1px solid var(--line);
    padding: 8px 20px 24px; flex-direction: column; gap: 16px;
  }
  .site-header.is-open .site-header__menu { display: flex; }
  .nav__list { flex-direction: column; align-items: stretch; gap: 0; }
  .nav__item { border-bottom: 1px solid var(--line); }
  .nav__link { width: 100%; justify-content: space-between; padding: 12px 0; min-height: 48px; background: transparent; font-size: 18px; }
  .nav__link:hover, .nav__item--dropdown:hover > .nav__trigger, .nav__trigger[aria-expanded="true"] { background: transparent; }
  .nav__item--dropdown:hover .nav__chev { transform: none; }
  .nav__trigger[aria-expanded="true"] .nav__chev { transform: rotate(180deg); }
  .nav__panel, .nav__item--dropdown:hover > .nav__panel, .nav__item--dropdown:focus-within > .nav__panel {
    position: static; padding: 0 0 8px; display: none; visibility: visible; opacity: 1; transform: none;
  }
  .nav__trigger[aria-expanded="true"] + .nav__panel { display: block; }
  .nav__sub { border: 0; box-shadow: none; padding: 0; min-width: 0; }
  .nav__sublink { padding: 10px 0; }
  .site-header__actions { flex-direction: column; align-items: stretch; }
  .site-header__actions .btn { width: 100%; }
}
@media (max-width: 809px) {
  .site-header__bar { padding: 18px 16px; }
}

/* ---------- Footer ---------- */
.site-footer { background: var(--white); border-top: 1px solid var(--line); overflow: hidden; }
.site-footer__inner { max-width: 1440px; margin: 0 auto; padding: 60px; }
.site-footer__top { display: grid; grid-template-columns: 330px 1fr; gap: 0; }
.site-footer__brand { display: flex; flex-direction: column; gap: 24px; align-items: flex-start; }
.site-footer .logo img { width: 20px; height: 20px; }
.site-footer .logo__text { font-size: 18px; line-height: 20px; letter-spacing: -0.72px; }
.follow { display: flex; flex-direction: column; gap: 8px; }
.follow__title { font-size: 16px; line-height: 25px; font-weight: 500; color: var(--muted); }
.socials { display: flex; gap: 6px; align-items: center; }
.socials a { display: inline-flex; width: 24px; height: 24px; padding: 4px; align-items: center; justify-content: center; transition: opacity 0.2s var(--ease); }
.socials a:hover { opacity: 0.6; }
.socials img { width: 14px; height: 14px; }
.footer__nav { display: flex; justify-content: flex-end; align-items: flex-start; gap: 80px; }
.footer__col { display: flex; flex-direction: column; gap: 21px; }
.footer__heading { font-size: 18px; line-height: 29px; font-weight: 500; color: var(--ink); margin-bottom: 0; }
.footer__links { display: flex; flex-direction: column; gap: 11px; }
.footer__link, .site-footer__legal a {
  font-size: 16px; line-height: 25px; font-weight: 500; letter-spacing: -0.16px; color: var(--muted);
  transition: color 0.2s var(--ease);
}
.footer__link:hover, .site-footer__legal a:hover { color: var(--ink); }
.site-footer__legal { display: flex; gap: 24px; margin-top: 80px; padding-top: 0; }
.site-footer__wordmark { padding-top: 60px; }
.site-footer__wordmark img { width: 100%; height: auto; max-width: 1440px; margin: 0 auto; aspect-ratio: 1440 / 156; object-fit: cover; }

@media (max-width: 1199px) {
  .site-footer__inner { padding: 60px 40px; }
  .site-footer__top { grid-template-columns: 1fr; gap: 48px; }
  .footer__nav { justify-content: flex-start; flex-wrap: wrap; gap: 48px 64px; }
}
@media (max-width: 809px) {
  .site-footer__inner { padding: 48px 16px 40px; text-align: center; }
  .site-footer__brand { align-items: center; }
  .follow { align-items: center; }
  .footer__nav { flex-direction: column; align-items: center; gap: 32px; }
  .footer__col { align-items: center; gap: 4px; }
  .footer__heading { font-size: 16px; line-height: 19px; margin-bottom: 8px; }
  .footer__links { align-items: center; gap: 6px; }
  .footer__link, .site-footer__legal a { font-size: 14px; }
  .site-footer__legal { justify-content: center; margin-top: 40px; }
  .site-footer__wordmark { padding-top: 0; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}
