:root {
  --brand-type-heading-display-font: 'Heebo';
  --brand-type-heading-display-size: 11.5rem;
  --brand-type-heading-display-size-mobile: 5rem;
  --brand-type-heading-display-weight: 300;
  --brand-type-heading-display-line-height: 0.95;
  --brand-type-heading-display-letter-spacing: 0.02em;
  --brand-type-heading-display-text-transform: none;
  --brand-type-heading-display-font-style: normal;
  --brand-type-heading-section-font: 'Heebo';
  --brand-type-heading-section-size: 3.5rem;
  --brand-type-heading-section-size-mobile: 2rem;
  --brand-type-heading-section-weight: 200;
  --brand-type-heading-section-line-height: 1.25;
  --brand-type-heading-section-letter-spacing: 0em;
  --brand-type-heading-section-text-transform: none;
  --brand-type-heading-section-font-style: normal;
  --brand-type-heading-card-font: 'Heebo';
  --brand-type-heading-card-size: 1.5rem;
  --brand-type-heading-card-size-mobile: 1.25rem;
  --brand-type-heading-card-weight: 200;
  --brand-type-heading-card-line-height: 1.3;
  --brand-type-heading-card-letter-spacing: 0em;
  --brand-type-heading-card-text-transform: none;
  --brand-type-heading-card-font-style: normal;
  --brand-type-callout-decorative-font: 'Heebo';
  --brand-type-callout-decorative-size: 2.5rem;
  --brand-type-callout-decorative-size-mobile: 1.75rem;
  --brand-type-callout-decorative-weight: 200;
  --brand-type-callout-decorative-line-height: 1.18;
  --brand-type-callout-decorative-letter-spacing: 0em;
  --brand-type-callout-decorative-text-transform: none;
  --brand-type-callout-decorative-font-style: normal;
  --brand-type-body-large-font: 'Heebo';
  --brand-type-body-large-size: 1.313rem;
  --brand-type-body-large-size-mobile: 1rem;
  --brand-type-body-large-weight: 300;
  --brand-type-body-large-line-height: 1.7;
  --brand-type-body-large-letter-spacing: 0em;
  --brand-type-body-large-text-transform: none;
  --brand-type-body-large-font-style: normal;
  --brand-type-body-font: 'Heebo';
  --brand-type-body-size: 1rem;
  --brand-type-body-size-mobile: 1rem;
  --brand-type-body-weight: 400;
  --brand-type-body-line-height: 1.6;
  --brand-type-body-letter-spacing: 0em;
  --brand-type-body-text-transform: none;
  --brand-type-body-font-style: normal;
  --brand-type-body-secondary-font: 'Heebo';
  --brand-type-body-secondary-size: 0.969rem;
  --brand-type-body-secondary-size-mobile: 1rem;
  --brand-type-body-secondary-weight: 300;
  --brand-type-body-secondary-line-height: 1.7;
  --brand-type-body-secondary-letter-spacing: 0em;
  --brand-type-body-secondary-text-transform: none;
  --brand-type-body-secondary-font-style: normal;
  --brand-type-stat-numeral-font: 'Raleway';
  --brand-type-stat-numeral-size: 4rem;
  --brand-type-stat-numeral-size-mobile: 3rem;
  --brand-type-stat-numeral-weight: 200;
  --brand-type-stat-numeral-line-height: 1;
  --brand-type-stat-numeral-letter-spacing: 0em;
  --brand-type-stat-numeral-text-transform: none;
  --brand-type-stat-numeral-font-style: normal;
  --brand-type-quote-font: 'Heebo';
  --brand-type-quote-size: 1.063rem;
  --brand-type-quote-size-mobile: 1.125rem;
  --brand-type-quote-weight: 300;
  --brand-type-quote-line-height: 1.7;
  --brand-type-quote-letter-spacing: 0em;
  --brand-type-quote-text-transform: none;
  --brand-type-quote-font-style: normal;
  --brand-type-eyebrow-font: 'JetBrains Mono';
  --brand-type-eyebrow-size: 0.688rem;
  --brand-type-eyebrow-size-mobile: 0.75rem;
  --brand-type-eyebrow-weight: 600;
  --brand-type-eyebrow-line-height: 1.5;
  --brand-type-eyebrow-letter-spacing: 0.32em;
  --brand-type-eyebrow-text-transform: uppercase;
  --brand-type-eyebrow-font-style: normal;
  --brand-type-mono-label-font: 'JetBrains Mono';
  --brand-type-mono-label-size: 0.656rem;
  --brand-type-mono-label-size-mobile: 0.656rem;
  --brand-type-mono-label-weight: 500;
  --brand-type-mono-label-line-height: 1.5;
  --brand-type-mono-label-letter-spacing: 0.22em;
  --brand-type-mono-label-text-transform: uppercase;
  --brand-type-mono-label-font-style: normal;
  --brand-type-caption-font: 'JetBrains Mono';
  --brand-type-caption-size: 0.656rem;
  --brand-type-caption-size-mobile: 0.875rem;
  --brand-type-caption-weight: 400;
  --brand-type-caption-line-height: 1.5;
  --brand-type-caption-letter-spacing: 0.22em;
  --brand-type-caption-text-transform: uppercase;
  --brand-type-caption-font-style: normal;
  --brand-type-button-cta-font: 'Heebo';
  --brand-type-button-cta-size: 0.875rem;
  --brand-type-button-cta-size-mobile: 0.875rem;
  --brand-type-button-cta-weight: 500;
  --brand-type-button-cta-line-height: 1;
  --brand-type-button-cta-letter-spacing: 0.06em;
  --brand-type-button-cta-text-transform: none;
  --brand-type-button-cta-font-style: normal;
  --brand-type-button-submit-font: 'Heebo';
  --brand-type-button-submit-size: 0.781rem;
  --brand-type-button-submit-size-mobile: 0.781rem;
  --brand-type-button-submit-weight: 600;
  --brand-type-button-submit-line-height: 1;
  --brand-type-button-submit-letter-spacing: 0.28em;
  --brand-type-button-submit-text-transform: uppercase;
  --brand-type-button-submit-font-style: normal;
}
@media (max-width: 768px) {
  :root {
    --brand-type-heading-display-size: 5rem;
    --brand-type-heading-section-size: 2rem;
    --brand-type-heading-card-size: 1.25rem;
    --brand-type-callout-decorative-size: 1.75rem;
    --brand-type-body-large-size: 1rem;
    --brand-type-body-size: 1rem;
    --brand-type-body-secondary-size: 1rem;
    --brand-type-stat-numeral-size: 3rem;
    --brand-type-quote-size: 1.125rem;
    --brand-type-eyebrow-size: 0.75rem;
    --brand-type-mono-label-size: 0.656rem;
    --brand-type-caption-size: 0.875rem;
    --brand-type-button-cta-size: 0.875rem;
    --brand-type-button-submit-size: 0.781rem;
  }
}

:root {
  --btn-size-small-px: 1.25rem;  --btn-size-small-py: 0.5rem;   --btn-size-small-fs: calc(var(--brand-shape-button-fontSize, 1.125rem) - 0.125rem);
  --btn-size-medium-px: 2rem;    --btn-size-medium-py: 1rem;    --btn-size-medium-fs: var(--brand-shape-button-fontSize, 1.125rem);
  --btn-size-large-px: 2.5rem;   --btn-size-large-py: 1.25rem;  --btn-size-large-fs: calc(var(--brand-shape-button-fontSize, 1.125rem) + 0.125rem);
}
/* button: primary (Primary) */
.btn-primary { background: #4db5e8; color: #0d1115; border: 1px solid #4db5e8; border-radius: var(--brand-shape-button-radius, 8px); padding: var(--btn-size-medium-py) var(--btn-size-medium-px); font-size: var(--btn-size-medium-fs); font-family: var(--brand-type-body-font, system-ui, sans-serif); font-weight: 600; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; cursor: pointer; }
.btn-primary { transition: background-color .3s ease, color .3s ease, border-color .3s ease; }
.btn-primary:hover { background-color: #c54d18; color: #ffffff; border-color: #c54d18 }
/* button: cream (Cream (on dark)) */
.btn-cream { background: #F7F0DE; color: #405A63; border: 1px solid #F7F0DE; border-radius: var(--brand-shape-button-radius, 8px); padding: var(--btn-size-medium-py) var(--btn-size-medium-px); font-size: var(--btn-size-medium-fs); font-family: var(--brand-type-heading-display-font, system-ui, sans-serif); font-weight: 600; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; cursor: pointer; }
.btn-cream { position: relative; overflow: hidden; isolation: isolate; transition: color .8s cubic-bezier(.4,0,.2,1), border-color .8s cubic-bezier(.4,0,.2,1); }
.btn-cream::before { content: ""; position: absolute; top: 50%; left: 50%; width: 0; height: 0; border-radius: 50%; background-color: #405A63; transform: translate(-50%, -50%); transition: width .8s cubic-bezier(.4,0,.2,1), height .8s cubic-bezier(.4,0,.2,1); z-index: -1; }
.btn-cream:hover::before { width: 300%; height: 300%; }
.btn-cream:hover { color: #ffffff }
/* button: link (Text link) */
.btn-link { background: transparent; color: #405A63; border: 1px solid transparent; border-radius: var(--brand-shape-button-radius, 8px); padding: var(--btn-size-medium-py) var(--btn-size-medium-px); font-size: var(--btn-size-medium-fs); font-family: var(--brand-type-heading-display-font, system-ui, sans-serif); font-weight: 600; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; cursor: pointer; }
.btn-link { position: relative; display: inline-block; padding-bottom: 4px; transition: color .3s ease; }
.btn-link::after { content: ""; position: absolute; bottom: 0; left: 0; right: auto; height: 1px; width: 0; background: #405A63; transition: width .5s ease, right .5s ease, left .5s ease; }
.btn-link:hover { color: #405A63 }
.btn-link:hover::after { left: auto; right: 0; width: 100%; }
/* button: outlined-on-dark (Outlined on dark) */
.btn-outlined-on-dark { background: transparent; color: #ffffff; border: 1px solid #4db5e8; border-radius: var(--brand-shape-button-radius, 8px); padding: var(--btn-size-medium-py) var(--btn-size-medium-px); font-size: var(--btn-size-medium-fs); font-family: var(--brand-type-body-font, system-ui, sans-serif); font-weight: 600; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; cursor: pointer; }
.btn-outlined-on-dark { transition: background-color .3s ease, color .3s ease, border-color .3s ease; }
.btn-outlined-on-dark:hover { background-color: rgba(197,77,24,0.18); color: #ffffff; border-color: #c54d18 }

:root {
  --brand-color-brand-primary: #4db5e8;
  --brand-color-brand-primary-hsl: 200 77% 61%;
  --brand-color-brand-secondary: #6b7280;
  --brand-color-brand-secondary-hsl: 220 9% 46%;
  --brand-color-brand-accent: #c54d18;
  --brand-color-brand-accent-hsl: 18 78% 43%;
  --brand-color-semantic-success: #16a34a;
  --brand-color-semantic-success-hsl: 142 76% 36%;
  --brand-color-semantic-warning: #d97706;
  --brand-color-semantic-warning-hsl: 32 95% 44%;
  --brand-color-semantic-error: #dc2626;
  --brand-color-semantic-error-hsl: 0 72% 51%;
  --brand-color-semantic-info: #0284c7;
  --brand-color-semantic-info-hsl: 200 98% 39%;
  --brand-color-surface-pageBg: #f6f5f2;
  --brand-color-surface-pageBg-hsl: 45 18% 96%;
  --brand-color-surface-cardBg: #ffffff;
  --brand-color-surface-cardBg-hsl: 0 0% 100%;
  --brand-color-surface-sectionAlt: #efeeea;
  --brand-color-surface-sectionAlt-hsl: 48 14% 93%;
  --brand-color-surface-border: #34393c;
  --brand-color-surface-border-hsl: 202 7% 22%;
  --brand-color-surface-darkBg: #1d2329;
  --brand-color-surface-darkBg-hsl: 210 17% 14%;
  --brand-color-surface-warmGrey: #445464;
  --brand-color-surface-warmGrey-hsl: 210 19% 33%;
  --brand-color-surface-sandDeep: #ede6cf;
  --brand-color-surface-sandDeep-hsl: 46 45% 87%;
  --brand-color-text-body: #34393c;
  --brand-color-text-body-hsl: 202 7% 22%;
  --brand-color-text-muted: #5a6068;
  --brand-color-text-muted-hsl: 214 7% 38%;
  --brand-color-text-heading: #34393c;
  --brand-color-text-heading-hsl: 202 7% 22%;
  --brand-color-text-headingAccent: #4cabdb;
  --brand-color-text-headingAccent-hsl: 200 67% 58%;
  --brand-color-text-bodyOnDark: #e9e8e4;
  --brand-color-text-bodyOnDark-hsl: 48 10% 90%;
  --brand-color-text-headingOnDark: #ffffff;
  --brand-color-text-headingOnDark-hsl: 0 0% 100%;
  --brand-font-heading: 'Heebo';
  --brand-font-body: 'Heebo';
  --brand-shape-button-radius: 32px;
  --brand-shape-button-fontSize: 0.875rem;
  --brand-shape-card-radius: 0px;
  --brand-spacing-density: 5.5rem;
  --brand-shadow-elevation: none;
  --brand-website-header-logoSize: Medium;
  --brand-website-header-navLinkColor: #d3d4d5;
  --brand-website-header-navLinkColor-hsl: 210 2% 83%;
  --brand-website-header-navActiveColor: #34393c;
  --brand-website-header-navActiveColor-hsl: 202 7% 22%;
  --brand-website-header-mobileMenu: Drawer;
  --brand-website-hero-overlayEnabled: true;
  --brand-website-hero-overlayColor: #0d1115;
  --brand-website-hero-overlayColor-hsl: 210 24% 7%;
  --brand-website-hero-overlayOpacity: 78;
  --brand-website-hero-textColor: Light;
  --brand-website-hero-gradient: None;
  --brand-website-section-darkBg: #1d2329;
  --brand-website-section-darkBg-hsl: 210 17% 14%;
  --brand-website-footer-bgTone: Dark;
  --brand-website-footer-linkColor: #e9e8e4;
  --brand-website-footer-linkColor-hsl: 48 10% 90%;
  --brand-website-footer-showSocial: false;
  --brand-website-footer-socialStyle: Outline;
  --brand-website-footer-columns: 2;
  --brand-website-blog-bodySize: Default;
  --brand-website-blog-codeStyle: Light;
  --brand-website-blog-blockquoteStyle: Left border;
  --brand-website-images-radius: 0px;
  --brand-website-images-border-width: 0;
  --brand-website-images-shadow: none;
  --brand-website-images-hoverEffect: None;
}

/* Per-selection token-aware styling */
.tus-color-brand-primary { color: var(--brand-color-brand-primary) }
.tus-color-brand-secondary { color: var(--brand-color-brand-secondary) }
.tus-color-brand-accent { color: var(--brand-color-brand-accent) }
.tus-color-semantic-success { color: var(--brand-color-semantic-success) }
.tus-color-semantic-warning { color: var(--brand-color-semantic-warning) }
.tus-color-semantic-error { color: var(--brand-color-semantic-error) }
.tus-color-semantic-info { color: var(--brand-color-semantic-info) }
.tus-color-surface-pageBg { color: var(--brand-color-surface-pageBg) }
.tus-color-surface-cardBg { color: var(--brand-color-surface-cardBg) }
.tus-color-surface-sectionAlt { color: var(--brand-color-surface-sectionAlt) }
.tus-color-surface-border { color: var(--brand-color-surface-border) }
.tus-color-surface-darkBg { color: var(--brand-color-surface-darkBg) }
.tus-color-surface-warmGrey { color: var(--brand-color-surface-warmGrey) }
.tus-color-surface-sandDeep { color: var(--brand-color-surface-sandDeep) }
.tus-color-text-body { color: var(--brand-color-text-body) }
.tus-color-text-muted { color: var(--brand-color-text-muted) }
.tus-color-text-heading { color: var(--brand-color-text-heading) }
.tus-color-text-headingAccent { color: var(--brand-color-text-headingAccent) }
.tus-color-text-bodyOnDark { color: var(--brand-color-text-bodyOnDark) }
.tus-color-text-headingOnDark { color: var(--brand-color-text-headingOnDark) }

.tus-weight-bold { font-weight: bold }
.tus-style-italic { font-style: italic }
.tus-decor-underline { text-decoration: underline }
.tus-decor-strikethrough { text-decoration: line-through }


/* Per-selection font-family (V2) */
.tus-font-heebo { font-family: "Heebo", sans-serif }
.tus-font-raleway { font-family: "Raleway", sans-serif }
.tus-font-jetbrains-mono { font-family: "JetBrains Mono", sans-serif }


/* Per-selection font-size (V2) */
.tus-size-xs { font-size: 0.75rem }
.tus-size-sm { font-size: 0.875rem }
.tus-size-base { font-size: 1rem }
.tus-size-lg { font-size: 1.25rem }
.tus-size-xl { font-size: 1.5rem }
.tus-size-2xl { font-size: 2rem }
