@font-face {
  font-family: Manrope;
  src: url('assets/brand/manrope.woff2') format('woff2');
  font-weight: 200 800;
  font-display: swap;
}
:root {
  --rm-blue: #093bc9;
  --rm-paper: #ffffff;
  --rm-ink: #093bc9;
  --rm-muted: #485571;
  --rm-rule: #9caeeb;
  --rm-focus: #b75413;
  --rm-font: Manrope, Arial, sans-serif;
  /* Buttons: two sizes, one shape, one weight. scripts/browser/buttons.mjs holds the site to them. */
  --rm-btn-h: 52px;
  --rm-btn-h-sm: 44px;
  --rm-btn-font: 16px;
  --rm-btn-font-sm: 14px;
  --rm-btn-weight: 700;
  --rm-btn-pad: 24px;
  --rm-btn-pad-sm: 18px;
  --rm-btn-radius: 999px;
  --rm-blue-deep: #082d99;
  --rm-blue-wash: #eff3ff;
  /* Motion: a quick response for controls, a steady one for state, a slow one for entrances. */
  --rm-dur-fast: 160ms;
  --rm-dur: 240ms;
  --rm-dur-slow: 480ms;
  --rm-ease: cubic-bezier(.22, 1, .36, 1);
}
* { box-sizing: border-box; }
html { color-scheme: light; }
body { margin: 0; color: var(--rm-ink); background: var(--rm-paper); font: 16px/1.5 var(--rm-font); }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .45; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--rm-focus); outline-offset: 4px; }
.icon { display: inline-block; flex: none; width: 24px; height: 24px; background: currentColor; mask: var(--icon) center/contain no-repeat; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
/* rm-site-header styles itself inside its shadow root, and that stylesheet does not block rendering.
   Until it applies (data-styled), hold the box the header will occupy so the page does not jump. */
@media (scripting: enabled) {
  rm-site-header:not([data-styled]) { display: block; height: 88px; overflow: hidden; visibility: hidden; }
  rm-site-header:not([data-styled]):is([blue-hero], [kitchen-hero]) { position: absolute; inset: 0 0 auto; }
}
@media (scripting: enabled) and (max-width: 760px) { rm-site-header:not([data-styled]) { height: 76px; } }
