/* Performance Lab sitewide typography, surfaces, header, footer, card, button, form, and homepage hero polish. — Created: 2026-05-04 01:44:45 — Bricks MCP Sandbox */
@import url('https://fonts.googleapis.com/css2?family=Chivo:wght@600;700;800;900&family=Geist:wght@400;500;600;700;800&family=Geist+Mono:wght@500;600;700&display=swap');

:root {
  --pf-ink: #111712;
  --pf-ink-2: #1c261f;
  --pf-paper: #fffdf7;
  --pf-canvas: #fafaf5;
  --pf-surface: #eef4ec;
  --pf-surface-2: #f5f7ef;
  --pf-line: #d9e1d6;
  --pf-muted: #5d6b61;
  --pf-signal: #2155d6;
  --pf-signal-strong: #14388f;
  --pf-accent: #16865a;
  --pf-warm: #f0d78a;
  --pf-shadow-sm: 0 12px 34px rgba(17, 23, 18, .08);
  --pf-shadow-md: 0 22px 70px rgba(17, 23, 18, .14);
  --pf-radius: 8px;
  --font-body: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-heading: 'Chivo', 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --primary: var(--pf-signal);
  --primary-dark: var(--pf-signal-strong);
  --primary-light: #6ea7ff;
  --accent: var(--pf-accent);
  --dark: var(--pf-ink);
  --base: var(--pf-ink);
  --base-dark: var(--pf-ink-2);
  --shade: var(--pf-surface);
  --neutral: var(--pf-muted);
  --white: var(--pf-paper);
}

html {
  background: var(--pf-canvas);
  color-scheme: light;
}

body.brx-body {
  background: var(--pf-canvas);
  color: var(--pf-ink);
  font-family: var(--font-body);
  font-feature-settings: 'kern' 1, 'liga' 1, 'calt' 1;
  text-rendering: optimizeLegibility;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: .14;
  background-image: linear-gradient(rgba(17, 23, 18, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(17, 23, 18, .04) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, #000, transparent 78%);
}

#brx-content,
#brx-header,
#brx-footer {
  position: relative;
  z-index: 1;
}

h1, h2, h3, h4, h5, h6,
.brxe-heading {
  color: var(--pf-ink);
  font-family: var(--font-heading) !important;
  font-weight: 800;
  letter-spacing: 0 !important;
  line-height: 1.1;
  text-wrap: balance;
}

h1, .brxe-heading:is(h1) { font-size: 3.75rem; }
h2, .brxe-heading:is(h2) { font-size: 2.75rem; }
h3, .brxe-heading:is(h3) { font-size: 1.6rem; }
h4, .brxe-heading:is(h4) { font-size: 1.25rem; }

p, li, .brxe-text-basic, .brxe-text {
  font-family: var(--font-body) !important;
  line-height: 1.65;
  text-wrap: pretty;
}

.brxe-text-basic,
.brxe-text,
#brx-content li {
  color: var(--pf-muted);
}

#brx-content > .brxe-section {
  padding-top: 96px !important;
  padding-bottom: 104px !important;
  background-color: var(--pf-canvas);
}

#brx-content > .brxe-section:nth-of-type(even) {
  background-color: var(--pf-surface-2);
}

#brx-content > .brxe-section > .brxe-container {
  width: min(1220px, calc(100% - 48px));
  max-width: 1220px;
  margin-inline: auto;
}

#brx-header {
  position: sticky;
  top: 0;
  z-index: 40;
}

#brx-header > .brxe-section,
#brx-header > header.brxe-section {
  background: rgba(250, 250, 245, .9) !important;
  border-bottom: 1px solid rgba(217, 225, 214, .85);
  box-shadow: 0 16px 42px rgba(17, 23, 18, .08);
  backdrop-filter: blur(16px);
}

#brxe-pfh002 {
  min-height: 76px;
  width: min(1240px, calc(100% - 40px));
  gap: 28px;
}

#brx-header img {
  filter: none !important;
}

#brx-header .brxe-image img,
#brx-header img.brxe-image {
  max-height: 42px;
  width: auto;
  object-fit: contain;
}

#brx-header .bricks-nav-menu > li > a,
#brx-header .brx-submenu-toggle > a,
#brx-header .brx-submenu-toggle > button {
  color: var(--pf-ink) !important;
  font-family: var(--font-body) !important;
  font-size: .93rem;
  font-weight: 650;
  letter-spacing: 0;
  transition: color 220ms ease, transform 420ms cubic-bezier(.22,1,.36,1);
}

#brx-header .bricks-nav-menu > li:hover > a,
#brx-header .brx-submenu-toggle:hover > a,
#brx-header .current-menu-item > a,
#brx-header [aria-current='page'] {
  color: var(--pf-signal) !important;
}

#brx-header .sub-menu {
  background: var(--pf-popover-bg, #1a1c19) !important;
  border: 1px solid var(--pf-popover-line, rgba(250,250,245,.16)) !important;
  border-radius: var(--pf-radius-md, 8px) !important;
  box-shadow: var(--pf-shadow-popover, 0 26px 80px rgba(26,28,25,.34)) !important;
  padding: 10px !important;
}

#brx-header .sub-menu a {
  min-height: 44px;
  display: flex;
  align-items: center;
  border-radius: var(--pf-radius-sm, 6px);
  background: rgba(250,250,245,.045) !important;
  color: var(--pf-paper, #fffdf7) !important;
  font-family: var(--font-body) !important;
  font-weight: 650;
}

#brx-header .sub-menu a:hover,
#brx-header .sub-menu a:focus-visible {
  background: rgba(250,250,245,.11) !important;
  color: #fff !important;
}

.bricks-button,
.brxe-button,
button,
input[type='submit'] {
  border-radius: var(--pf-radius) !important;
  font-family: var(--font-body) !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
  min-height: 48px;
  transition: transform 420ms cubic-bezier(.22,1,.36,1), background-color 220ms ease, border-color 220ms ease, box-shadow 420ms cubic-bezier(.22,1,.36,1);
}

.bricks-button:hover,
.brxe-button:hover,
button:hover,
input[type='submit']:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 44px rgba(33, 85, 214, .2);
}

.bricks-button:active,
.brxe-button:active,
button:active,
input[type='submit']:active {
  transform: translateY(0) scale(.985);
}

.btn-primary,
#brxe-pfcta1,
#brxe-pfmcta,
input[type='submit'] {
  background: var(--pf-signal) !important;
  border: 1px solid color-mix(in srgb, var(--pf-signal), #000 8%) !important;
  color: var(--pf-paper) !important;
}

.btn-primary:hover,
#brxe-pfcta1:hover,
#brxe-pfmcta:hover,
input[type='submit']:hover {
  background: var(--pf-signal-strong) !important;
}

.btn-secondary {
  background: transparent !important;
  border: 1px solid color-mix(in srgb, var(--pf-signal), transparent 42%) !important;
  color: var(--pf-signal) !important;
}

.btn-secondary:hover {
  background: color-mix(in srgb, var(--pf-signal), transparent 90%) !important;
  border-color: var(--pf-signal) !important;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[role='button']:focus-visible {
  outline: 3px solid var(--pf-accent) !important;
  outline-offset: 3px !important;
}

body.home #brxe-a10001 {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--pf-ink) !important;
  color: var(--pf-paper);
  padding-top: 92px !important;
  padding-bottom: 104px !important;
}

body.home #brxe-a10001::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: linear-gradient(rgba(250,250,245,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(250,250,245,.07) 1px, transparent 1px);
  background-size: 56px 56px;
  opacity: .55;
}

body.home #brxe-a10001::after {
  content: '';
  position: absolute;
  inset: auto 0 0 0;
  height: 42%;
  z-index: -1;
  background: linear-gradient(to top, rgba(22,134,90,.22), rgba(17,23,18,0));
}

body.home #brxe-a10002 {
  display: grid !important;
  grid-template-columns: minmax(0, 1.04fr) minmax(360px, .96fr);
  align-items: center;
  column-gap: 64px;
  row-gap: 26px;
  width: min(1220px, calc(100% - 48px));
}

body.home #brxe-a10003,
body.home #brxe-a10004,
body.home #brxe-a10005,
body.home #brxe-a10008 {
  grid-column: 1;
}

body.home #brxe-a10003 {
  color: var(--pf-paper) !important;
  font-size: 4.5rem !important;
  line-height: 1.02;
  max-width: 11ch;
  margin: 0;
}


body.home #brxe-a10004 {
  color: rgba(250, 250, 245, .78) !important;
  max-width: 62ch;
  font-size: 1.18rem;
  font-weight: 450;
}

body.home #brxe-a10002 > img.brxe-image,
body.home #brxe-a10002 > .brxe-image:not(a) {
  grid-column: 2;
  grid-row: 1 / span 4;
  width: 100% !important;
  height: auto !important;
  max-height: 640px;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border: 1px solid rgba(250, 250, 245, .18);
  border-radius: var(--pf-radius);
  box-shadow: 0 38px 96px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.14);
  filter: saturate(1.08) contrast(1.06) !important;
}

body.home #brxe-a10005 {
  display: flex !important;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  margin-top: 10px;
}

body.home #brxe-a10008 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 22px;
}

body.home #brxe-a10008 > * {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 10px;
  background: rgba(250, 250, 245, .075);
  border: 1px solid rgba(250, 250, 245, .14);
  border-radius: 6px;
  color: rgba(250, 250, 245, .72) !important;
  font-family: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, monospace !important;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1.35;
  text-align: center;
  text-transform: uppercase;
}

.brx-grid {
  gap: 24px !important;
}

.brx-grid > a.brxe-container,
.brx-grid > div.brxe-container,
.brx-grid > article,
.card {
  position: relative;
  background: var(--pf-paper) !important;
  border: 1px solid var(--pf-line) !important;
  border-radius: var(--pf-radius) !important;
  box-shadow: var(--pf-shadow-sm);
  transition: transform 420ms cubic-bezier(.22,1,.36,1), border-color 220ms ease, box-shadow 420ms cubic-bezier(.22,1,.36,1), background-color 220ms ease;
}

.brx-grid > a.brxe-container:hover,
.brx-grid > div.brxe-container:hover,
.brx-grid > article:hover,
.card:hover {
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--pf-signal), var(--pf-line) 46%) !important;
  box-shadow: var(--pf-shadow-md);
}

.brx-grid > a.brxe-container h3,
.brx-grid > div.brxe-container h3 {
  color: var(--pf-ink) !important;
}

#brx-content img {
  border-radius: var(--pf-radius);
}

#brx-content .brxe-image:not(a),
#brx-content img.brxe-image {
  box-shadow: 0 18px 52px rgba(17,23,18,.12);
}

#brx-footer > .brxe-section,
#brx-footer > footer.brxe-section {
  background: var(--pf-ink) !important;
  color: var(--pf-paper);
  border-top: 1px solid rgba(250,250,245,.12);
  padding-top: 72px !important;
  padding-bottom: 52px !important;
}

#brx-footer .brxe-text-basic,
#brx-footer p,
#brx-footer li {
  color: rgba(250,250,245,.72) !important;
}

#brx-footer a {
  color: rgba(250,250,245,.78) !important;
  text-decoration: none;
  transition: color 220ms ease, transform 420ms cubic-bezier(.22,1,.36,1);
}

#brx-footer a:hover {
  color: var(--pf-paper) !important;
}

#brx-footer [id$='0011'],
#brx-footer .brxe-text-basic:first-child {
  color: var(--pf-paper) !important;
  font-family: var(--font-heading) !important;
  font-weight: 800;
}

input:not([type='checkbox']):not([type='radio']),
textarea,
select {
  min-height: 48px;
  border: 1px solid var(--pf-line) !important;
  border-radius: var(--pf-radius) !important;
  background: var(--pf-paper) !important;
  color: var(--pf-ink) !important;
  font-family: var(--font-body) !important;
  transition: border-color 220ms ease, box-shadow 220ms ease, background-color 220ms ease;
}

input:not([type='checkbox']):not([type='radio']):focus,
textarea:focus,
select:focus {
  border-color: var(--pf-signal) !important;
  box-shadow: 0 0 0 4px rgba(33,85,214,.14) !important;
}

.skip-link:focus {
  background: var(--pf-ink) !important;
  color: var(--pf-paper) !important;
  border-radius: 6px;
  padding: 10px 14px;
}

html.pf-motion-ready .pf-reveal {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 760ms cubic-bezier(.22,1,.36,1), transform 760ms cubic-bezier(.22,1,.36,1);
  transition-delay: var(--pf-reveal-delay, 0ms);
}

html.pf-motion-ready .pf-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 1024px) {
  h1, .brxe-heading:is(h1) { font-size: 3rem; }
  h2, .brxe-heading:is(h2) { font-size: 2.25rem; }
  body.home #brxe-a10002 {
    grid-template-columns: 1fr;
    width: min(760px, calc(100% - 40px));
  }
  body.home #brxe-a10003,
  body.home #brxe-a10004,
  body.home #brxe-a10005,
  body.home #brxe-a10008,
  body.home #brxe-a10002 > img.brxe-image,
  body.home #brxe-a10002 > .brxe-image:not(a) {
    grid-column: 1;
    grid-row: auto;
  }
  body.home #brxe-a10003 {
    max-width: 13ch;
    font-size: 3.5rem !important;
  }
  body.home #brxe-a10002 > img.brxe-image,
  body.home #brxe-a10002 > .brxe-image:not(a) {
    aspect-ratio: 16 / 10;
    max-height: 460px;
  }
}

@media (max-width: 767px) {
  #brx-content > .brxe-section {
    padding-top: 64px !important;
    padding-bottom: 72px !important;
  }
  #brx-content > .brxe-section > .brxe-container {
    width: min(100% - 32px, 100%);
  }
  h1, .brxe-heading:is(h1) { font-size: 2.35rem; }
  h2, .brxe-heading:is(h2) { font-size: 1.95rem; }
  h3, .brxe-heading:is(h3) { font-size: 1.35rem; }
  body.home #brxe-a10001 {
    padding-top: 64px !important;
    padding-bottom: 76px !important;
  }
  body.home #brxe-a10002 {
    width: min(100% - 32px, 100%);
    row-gap: 22px;
  }
  body.home #brxe-a10003 {
    font-size: 2.72rem !important;
    max-width: 12ch;
  }
  body.home #brxe-a10004 {
    font-size: 1.03rem;
  }
  body.home #brxe-a10005 {
    align-items: stretch;
  }
  body.home #brxe-a10005 .bricks-button,
  body.home #brxe-a10005 .brxe-button {
    width: 100%;
  }
  body.home #brxe-a10008 {
    grid-template-columns: 1fr 1fr;
  }
  .brx-grid {
    grid-template-columns: 1fr !important;
  }
  .brx-grid > a.brxe-container,
  .brx-grid > div.brxe-container,
  .brx-grid > article,
  .card {
    transform: none !important;
  }
}

@media (max-width: 478px) {
  body.home #brxe-a10008 {
    grid-template-columns: 1fr;
  }
  .bricks-button,
  .brxe-button,
  button,
  input[type='submit'] {
    width: 100%;
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
  }
  html.pf-motion-ready .pf-reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}