/* b150 design tokens — extracted verbatim from the live site's :root.
   Source of truth: getComputedStyle(document.documentElement) + all :root rules.
   Fonts: Geist (main) + Fragment Mono (secondary). Accent: lime #d4fd80. */
:root{
  /* fonts */
  --font--main: "Geist", -apple-system, BlinkMacSystemFont, sans-serif;
  --font--secondary: "Fragment Mono", ui-monospace, monospace;
  --font-weight--thin:100; --font-weight--extra-light:200; --font-weight--light:300;
  --font-weight--normal:400; --font-weight--medium:500; --font-weight--semi-bold:600;
  --font-weight--bold:700; --font-weight--extra-bold:800; --font-weight--black:900;

  /* colors */
  --_colors---color--bg-1:#e6e3dd;
  --_colors---color--bg-2:#f2efe9;
  --_colors---color--bg-3:#f7f5f1;
  --_colors---color--light:#fffdf6;
  --_colors---color--dark:#1f1915;
  --_colors---border:#e6e3dd;
  --_colors---color--accent:#d4fd80;
  --_colors---color--accent-64:#d4fd80a3;
  --_colors---color--red:#fa4149;
  --_colors---grey:#616161;
  --_colors---white:white;
  --_colors---color--dark-16:#1f191529; --_colors---color--dark-32:#1f191552;
  --_colors---color--dark-48:#1f19157a; --_colors---color--dark-64:#1f1915a3;
  --_colors---color--light-16:#fffdf629; --_colors---color--light-32:#fffdf652;
  --_colors---color--light-48:#fffdf67a; --_colors---color--light-64:#fffdf6a3;

  /* radii */
  --radius--2:2px; --radius--4:4px; --radius--8:8px; --radius--10:10px;
  --radius--12:12px; --radius--16:16px; --radius--20:20px; --radius--24:24px;
  --radius--30:30px; --radius--32:32px; --radius--full:100vw;

  /* containers + site padding */
  --container-width--main:1800px;
  --container-width--small:1024px;
  --_spacing---site-padding--main:32px;

  /* section spacing */
  --_spacing---section-spacing--0:0px;
  --_spacing---section-spacing--48:48px;
  --_spacing---section-spacing--64:64px;
  --_spacing---section-spacing--80:80px;
  --_spacing---section-spacing--96:96px;
  --_spacing---section-spacing--120:120px;
  --_spacing---section-spacing--160:160px;
  --_spacing---section-spacing--hero-top-padding:168px;
  --_spacing---title-margin-bottom--xs:48px;
  --_spacing---title-margin-bottom--s:64px;
  --_spacing---title-margin-bottom--m:80px;

  /* type scale (size / line-height / letter-spacing / weight) */
  --type-h1-size:120px; --type-h1-lh:93.3%;  --type-h1-ls:-8px; --type-h1-weight:400;
  --type-h2-size:96px;  --type-h2-lh:91.6%;  --type-h2-ls:-3px; --type-h2-weight:500;
  --type-h3-size:64px;  --type-h3-lh:100%;   --type-h3-ls:-2px; --type-h3-weight:500;
  --type-h4-size:48px;  --type-h4-lh:100%;   --type-h4-ls:-2px; --type-h4-weight:500;
  --type-h5-size:40px;  --type-h5-lh:100%;   --type-h5-ls:-1px; --type-h5-weight:500;
  --type-h6-size:32px;  --type-h6-lh:112.5%; --type-h6-ls:-1px; --type-h6-weight:500;
  --type-h7-size:24px;  --type-h7-lh:100%;   --type-h7-ls:0px;  --type-h7-weight:500;
  --type-h8-size:16px;  --type-h8-lh:100%;   --type-h8-ls:0px;  --type-h8-weight:500;
  --type-body-size:10px; --type-body-lh:150%; --type-body-ls:-.3px; --type-body-weight:500;
  --type-text-large-size:12px; --type-text-large-lh:170%; --type-text-large-ls:0px; --type-text-large-weight:400;
  --type-text-small-size:12px; --type-text-small-lh:133.3%; --type-text-small-ls:0px; --type-text-small-weight:500;
  --type-label-large-size:10px;

  /* buttons */
  --_buttons---button-large--font-size:16px;
  --_buttons---button-large--line-height:150%;
  --_buttons---button-large--letter-spacing:.5px;
  --_buttons---button-large--font-weight:500;
  --_buttons---button-large--radius:var(--radius--full);
  --_buttons---button-small--font-size:10px;
  --_buttons---button-small--line-height:142%;
  --_buttons---button-small--letter-spacing:.3px;
  --_buttons---button-small--font-weight:500;
  --_buttons---button-small--radius:var(--radius--full);

  /* icons */
  --icon-size--xs:16px; --icon-size--m:32px; --icon-size--l:64px;
}

/* ── base ── */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{font-family:var(--font--main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:auto}
body{
  font-family:var(--font--main);
  background:var(--_colors---color--bg-2);
  color:var(--_colors---color--dark);
  font-size:var(--type-body-size);
  line-height:var(--type-body-lh);
  letter-spacing:var(--type-body-ls);
  font-weight:var(--type-body-weight);
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img,video,svg{display:block;max-width:100%}

/* ── containers ── */
.main-container{width:100%;max-width:var(--container-width--main);margin-inline:auto;padding-inline:var(--_spacing---site-padding--main)}
.main-container.small{max-width:var(--container-width--small)}

/* ── type classes (bind the scale) ── */
.t-h1{font-size:var(--type-h1-size);line-height:var(--type-h1-lh);letter-spacing:var(--type-h1-ls);font-weight:var(--type-h1-weight)}
.t-h2{font-size:var(--type-h2-size);line-height:var(--type-h2-lh);letter-spacing:var(--type-h2-ls);font-weight:var(--type-h2-weight)}
.t-h3{font-size:var(--type-h3-size);line-height:var(--type-h3-lh);letter-spacing:var(--type-h3-ls);font-weight:var(--type-h3-weight)}
.t-h4{font-size:var(--type-h4-size);line-height:var(--type-h4-lh);letter-spacing:var(--type-h4-ls);font-weight:var(--type-h4-weight)}
.t-h5{font-size:var(--type-h5-size);line-height:var(--type-h5-lh);letter-spacing:var(--type-h5-ls);font-weight:var(--type-h5-weight)}
.t-h6{font-size:var(--type-h6-size);line-height:var(--type-h6-lh);letter-spacing:var(--type-h6-ls);font-weight:var(--type-h6-weight)}
.t-h7{font-size:var(--type-h7-size);line-height:var(--type-h7-lh);letter-spacing:var(--type-h7-ls);font-weight:var(--type-h7-weight)}
.t-h8{font-size:var(--type-h8-size);line-height:var(--type-h8-lh);letter-spacing:var(--type-h8-ls);font-weight:var(--type-h8-weight)}
.t-body{font-size:var(--type-body-size);line-height:var(--type-body-lh);letter-spacing:var(--type-body-ls);font-weight:var(--type-body-weight)}
.t-large{font-size:var(--type-text-large-size);line-height:var(--type-text-large-lh);letter-spacing:var(--type-text-large-ls);font-weight:var(--type-text-large-weight)}
.t-small{font-size:var(--type-text-small-size);line-height:var(--type-text-small-lh);letter-spacing:var(--type-text-small-ls);font-weight:var(--type-text-small-weight)}
.t-mono{font-family:var(--font--secondary)}
.t-label{font-family:var(--font--secondary);font-size:var(--type-label-large-size);letter-spacing:.5px;text-transform:uppercase;font-weight:500}

/* ── buttons ── */
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:var(--_buttons---button-large--radius);font-family:var(--font--main);font-size:var(--_buttons---button-large--font-size);line-height:var(--_buttons---button-large--line-height);letter-spacing:var(--_buttons---button-large--letter-spacing);font-weight:var(--_buttons---button-large--font-weight);padding:12px 24px;cursor:pointer;border:1px solid transparent}
.btn.small{border-radius:var(--_buttons---button-small--radius);font-size:var(--_buttons---button-small--font-size);line-height:var(--_buttons---button-small--line-height);letter-spacing:var(--_buttons---button-small--letter-spacing);font-weight:var(--_buttons---button-small--font-weight);padding:8px 16px}
.btn.dark{background:var(--_colors---color--dark);color:var(--_colors---color--light)}
.btn.light{background:var(--_colors---color--light);color:var(--_colors---color--dark)}
.btn.accent{background:var(--_colors---color--accent);color:var(--_colors---color--dark)}

/* ── label chip (the source's .label-master) ── */
.label-master{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--_colors---border);border-radius:var(--radius--24);padding:8px 16px;font-family:var(--font--secondary);font-size:var(--type-label-large-size);letter-spacing:.5px;text-transform:uppercase;font-weight:500}
.label-master.dark{border-color:var(--_colors---color--dark-32)}
