/* Shared reset and base typography. Loaded before page layout. */

html,body,#main {
  box-sizing:border-box;
  margin:0;
  padding:0
}

:root {
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale
}

* {
  box-sizing:border-box;
  -webkit-font-smoothing:inherit
}

h1,h2,h3,h4,h5,h6,p,figure {
  margin:0
}

body,input,textarea,select,button {
  font-family:sans-serif;
  font-size:12px
}

@supports (background:-webkit-named-image(i)) and (not (grid-template-rows:subgrid)) {
  body {
    --framer-will-change-override:transform
  }
}

@supports (background:-webkit-named-image(i)) and (not (position-area:top right)) {
  body {
    --framer-will-change-filter-override:filter
  }
}

[data-framer-component-type=Text] div div span,[data-framer-component-type=Text] a div span,[data-framer-component-type=Text] span span span,[data-framer-component-type=Text] p span span,[data-framer-component-type=Text] h1 span span,[data-framer-component-type=Text] h2 span span,[data-framer-component-type=Text] h3 span span,[data-framer-component-type=Text] h4 span span,[data-framer-component-type=Text] h5 span span,[data-framer-component-type=Text] h6 span span,[data-framer-component-type=Text] a {
  font-family:var(--font-family);
  font-style:var(--font-style);
  font-weight:min(calc(var(--framer-font-weight-increase,0) + var(--font-weight,400)),900);
  color:var(--text-color);
  letter-spacing:var(--letter-spacing);
  font-size:var(--font-size);
  text-transform:var(--text-transform);
  --text-decoration:var(--framer-text-decoration-style,solid)var(--framer-text-decoration,none)var(--framer-text-decoration-color,currentcolor)var(--framer-text-decoration-thickness,auto);
  --text-decoration-skip-ink:var(--framer-text-decoration-skip-ink);
  --text-underline-offset:var(--framer-text-decoration-offset);
  line-height:var(--line-height);
  --font-family:var(--framer-font-family);
  --font-style:var(--framer-font-style);
  --font-weight:var(--framer-font-weight);
  --text-color:var(--framer-text-color);
  --letter-spacing:var(--framer-letter-spacing);
  --font-size:var(--framer-font-size);
  --text-transform:var(--framer-text-transform);
  --line-height:var(--framer-line-height)
}

/* Display P3 color fallbacks removed — site uses sRGB only. */

[data-framer-component-type=Stack]:not([data-framer-generated])>*,[data-framer-component-type=Stack]:not([data-framer-generated])>[data-framer-component-type],NavigationContainer [data-framer-component-type=NavigationContainer]>*,[data-framer-component-type=NavigationContainer]>[data-framer-component-type] {
  position:relative
}

@supports not (overflow:clip) {
  :root {
    --overflow-clip-fallback:hidden
  }
}

@supports (background:-webkit-named-image(i)) and (not (contain-intrinsic-size:inherit)) {
  div.framer-text,p.framer-text,h1.framer-text,h2.framer-text,h3.framer-text,h4.framer-text,h5.framer-text,h6.framer-text,ol.framer-text,ul.framer-text,li.framer-text,blockquote.framer-text,.framer-text.framer-image {
    display:var(--text-truncation-display-inline-for-safari-16,revert)
  }
  div.framer-text:after,p.framer-text:after,h1.framer-text:after,h2.framer-text:after,h3.framer-text:after,h4.framer-text:after,h5.framer-text:after,h6.framer-text:after,ol.framer-text:after,ul.framer-text:after,li.framer-text:after,blockquote.framer-text:after,.framer-text.framer-image:after {
    content:var(--text-truncation-line-break-for-safari-16);
    white-space:pre
  }
  .framer-text.framer-text-module,.framer-text.framer-table-wrapper {
    display:var(--text-truncation-display-none-for-safari-16,revert)
  }
  p.framer-text[data-text-fill] {
    display:var(--text-truncation-display-inline-for-safari-16,inline-block)
  }
}


.framer-cursor-none,.framer-cursor-none * {
  cursor:none!important
}

.framer-pointer-events-none,.framer-pointer-events-none * {
  pointer-events:none!important
}
