/* Hamiltonn typography and layout normalisation — v0.33.11
   UI/body: Hanken Grotesk. Display titles only: Fraunces. */
:root {
  --oc-font-ui: "Hanken Grotesk", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --oc-font-display: "Fraunces", Georgia, "Times New Roman", serif;
}

html,
body,
button,
input,
select,
textarea,
optgroup,
option,
table,
th,
td {
  font-family: var(--oc-font-ui) !important;
  font-synthesis: none;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

button,
input,
select,
textarea,
optgroup,
option {
  font-family: var(--oc-font-ui) !important;
  letter-spacing: inherit;
}

.material-symbols-outlined {
  font-family: "Material Symbols Outlined" !important;
  font-synthesis: none;
  line-height: 1 !important;
  letter-spacing: normal !important;
  overflow-wrap: normal !important;
  white-space: nowrap !important;
}

.oc-stitch-shell,
.oc-stitch-shell [class*="font-body"],
.oc-stitch-shell [class*="font-label"],
.oc-stitch-shell [class*="font-title"],
.oc-stitch-shell [class*="font-headline"],
.oc-stitch-shell [class*="font-display"],
.oc-stitch-shell h2,
.oc-stitch-shell h3,
.oc-stitch-shell h4,
.oc-stitch-shell h5,
.oc-stitch-shell h6,
.oc-stitch-shell strong,
.oc-stitch-shell b,
.oc-stitch-shell label,
.oc-stitch-shell summary,
.oc-stitch-shell button,
.oc-stitch-shell input,
.oc-stitch-shell select,
.oc-stitch-shell textarea,
.oc-stitch-shell table,
.oc-stitch-shell th,
.oc-stitch-shell td,
.oc-stitch-shell .md\:font-headline-lg,
.oc-stitch-shell .md\:font-headline-md,
.oc-stitch-shell article.border-l-4 strong,
.oc-stitch-shell #oc-menu aside strong,
.oc-stitch-shell .text-title-lg,
.oc-stitch-shell .text-headline-md,
.oc-stitch-shell .text-headline-lg,
.oc-stitch-shell .text-headline-lg-mobile,
.oc-stitch-shell .text-display-lg,
.oc-stitch-shell .text-body-lg,
.oc-stitch-shell .text-body-md,
.oc-stitch-shell .text-label-lg,
.oc-stitch-shell .text-label-md,
.oc-stitch-shell .font-title-lg,
.oc-stitch-shell .font-body-lg,
.oc-stitch-shell .font-body-md,
.oc-stitch-shell .font-label-lg,
.oc-stitch-shell .font-label-md,
.oc-stitch-shell .font-headline-lg,
.oc-stitch-shell .font-headline-lg-mobile,
.oc-stitch-shell .font-headline-md,
.oc-stitch-shell .font-display-lg,
.oc-stitch-shell .md\:font-headline-lg,
.oc-stitch-shell .md\:font-headline-md,
.ocqr-shell,
.ocdp-shell,
.ocuk,
.ocwl,
.ocwf,
.ocwa {
  font-family: var(--oc-font-ui) !important;
}

/* Fraunces is intentionally limited to primary display headings. */
.oc-stitch-shell main > section > h1,
.oc-stitch-shell main > div > h1,
.oc-stitch-shell header + main h1,
.ocqr-title h1,
.ocdp-title h1,
.ocwl-copy h1,
.ocwf-heading h1,
.ocwa-intro h1,
.oc-login-brand-copy h1,
.oc-public-hero h1,
.oc-page-display-title {
  font-family: var(--oc-font-display) !important;
  font-weight: 560 !important;
  line-height: 1.08;
  letter-spacing: -0.025em;
}

/* Dense operational headings stay compact and predictable. */
.oc-stitch-shell h2,
.oc-stitch-shell h3,
.oc-stitch-shell [role="dialog"] h1,
.oc-stitch-shell [role="dialog"] h2,
.oc-stitch-shell [role="dialog"] h3,
.oc-stitch-shell .fixed h1,
.oc-stitch-shell .fixed h2,
.oc-stitch-shell .fixed h3,
.ocqr-shell h2,
.ocdp-shell h2,
.ocuk h2,
.ocwl h2,
.ocwf h2,
.ocwa h2,
.ocwa h3 {
  font-family: var(--oc-font-ui) !important;
  line-height: 1.25;
  letter-spacing: -0.012em;
}

/* Flex/grid children and long operational values must shrink instead of widening pages. */
.oc-stitch-shell :where(.flex, .grid) > *,
.oc-stitch-shell :where(section, article, form, fieldset, label, div),
.ocuk :where(.flex, .grid) > *,
.ocuk :where(section, article, form, fieldset, label, div),
.ocqr-shell :where(.ocqr-title, .ocqr-scope > div, .ocqr-actions) > *,
.ocdp-shell :where(.ocdp-title, .ocdp-bank-grid, .ocdp-fields) > *,
.ocwl :where(.ocwl-shell, .ocwl-form-panel, form) > *,
.ocwf :where(.ocwf-grid, .ocwf-heading, .ocwf-card, .ocwf-list article) > *,
.ocwa :where(.ocwa-layout, .ocwa-grid, .ocwa-worker, .ocwa-card) > * {
  min-width: 0;
}

.oc-stitch-shell :where(h1, h2, h3, h4, p, strong, b, span, label, a, button, th, td),
.ocuk :where(h1, h2, h3, h4, p, strong, b, span, label, a, button),
.ocqr-shell :where(h1, h2, h3, p, strong, span, label, th, td),
.ocdp-shell :where(h1, h2, h3, p, strong, span, label),
.ocwl :where(h1, h2, h3, p, strong, span, label, a, button),
.ocwf :where(h1, h2, h3, p, strong, span, label, a, button),
.ocwa :where(h1, h2, h3, p, strong, span, label, a, button, dd) {
  overflow-wrap: anywhere;
}

.oc-stitch-shell :where(input, select, textarea),
.ocuk :where(input, select, textarea),
.ocqr-shell :where(input, select, textarea),
.ocdp-shell :where(input, select, textarea),
.ocwl :where(input, select, textarea),
.ocwf :where(input, select, textarea),
.ocwa :where(input, select, textarea) {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  line-height: 1.35;
}

.oc-stitch-shell button,
.ocuk button,
.ocqr-shell button,
.ocdp-shell button,
.ocwl button,
.ocwf button,
.ocwa button {
  line-height: 1.2;
}

.oc-stitch-shell table,
.ocqr-shell table,
.ocdp-shell table {
  font-family: var(--oc-font-ui) !important;
  font-variant-numeric: tabular-nums;
}

.oc-stitch-shell :where(dialog, section, article, form),
.ocuk :where(dialog, section, article, form),
.ocqr-shell :where(section, article, form),
.ocdp-shell :where(section, article, form) {
  max-width: 100%;
}

@media (max-width: 640px) {
  .oc-stitch-shell h1,
  .ocqr-title h1,
  .ocdp-title h1,
  .ocwl-copy h1,
  .ocwf-heading h1,
  .ocwa-intro h1 {
    font-size: clamp(1.75rem, 9vw, 2.25rem) !important;
    line-height: 1.08 !important;
  }

  .oc-stitch-shell h2,
  .ocqr-shell h2,
  .ocdp-shell h2,
  .ocuk h2,
  .ocwl h2,
  .ocwf h2,
  .ocwa h2 {
    font-size: clamp(1.1rem, 5vw, 1.4rem);
  }

  .oc-stitch-shell :where(input, select, textarea),
  .ocuk :where(input, select, textarea),
  .ocqr-shell :where(input, select, textarea),
  .ocdp-shell :where(input, select, textarea),
  .ocwl :where(input, select, textarea),
  .ocwf :where(input, select, textarea),
  .ocwa :where(input, select, textarea) {
    font-size: 16px !important;
  }

  .oc-stitch-shell .min-w-\[240px\],
  .oc-stitch-shell .min-w-\[280px\] {
    min-width: 0 !important;
  }

  .oc-stitch-shell [role="dialog"],
  .oc-stitch-shell .fixed > section {
    max-width: 100vw;
  }
}
