
    :root {
      --primary: #F5AF05;
      --primaryLight: #FBD46A;
      --secondary: #1C1C1C;
      --secondaryLight: #E5E2DC;
      --headerColor: #1C1C1C;
      --bodyTextColor: #333333;
      --bodyTextColorWhite: #FFFFFF;
      --backgroundColor: #FAF9F6;

      /* On-color roles (auto-derived, WCAG-guaranteed foreground for each surface) */
      --onPrimary: #0B0B0C;
      --onSecondary: #FFFFFF;
      --onPrimaryLight: #0B0B0C;
      --onSecondaryLight: #0B0B0C;
      --onBackground: #333333;
      --surface: #FFFFFF;
      --onSurface: #1C1C1C;
      --onHeaderColor: #FFFFFF;
      --onBodyTextColor: #FFFFFF;
      /* Hue-preserving brand accents, legible as text on the given surface */
      --accent: #805d09;
      --accentSecondary: #1C1C1C;
      --accentOnDark: #f7bf37;

      /* Font family variables */
      --headingFont: Rajdhani;
      --bodyFont: Roboto;
      --uiFont: Roboto, system-ui, sans-serif;
      
      /* Font weight variables */
      --headingWeight: 700;
      --bodyWeight: 400;
      --uiWeight: 500;

      /* 13px - 16px */
      --topperFontSize: clamp(0.8125rem, 1.6vw, 1rem);
      /* 31px - 49px */
      --headerFontSize: clamp(1.9375rem, 3.9vw, 3.0625rem);
      --bodyFontSize: 1rem;
      /* 60px - 100px top and bottom */
      --sectionPadding: clamp(3.75rem, 7.82vw, 6.25rem) 1rem;
    }
    .cs-navigation {
      z-index: 1000; /* WHY: ensure navigation is on top of all other elements */
    }
  

    body {
      margin: 0;
      padding: 0;
      font-family: var(--bodyFont);
      font-weight: var(--bodyWeight);
      background: var(--backgroundColor);
      color: var(--bodyTextColor);
    }

    *, *:before, *:after {
      box-sizing: border-box;
    }

    h1, h2, h3, h4, h5, h6 {
      font-family: var(--headingFont);
      font-weight: var(--headingWeight);
      color: var(--headerColor);
    }

    button, input, select, textarea {
      font-family: var(--uiFont);
      font-weight: var(--uiWeight);
    }    
    .cs-button-solid {
      font-size: 1rem;
      line-height: clamp(2.875rem, 5.5vw, 3.5rem);
    }

    
    a:hover {
      color: var(--secondary);
    }

      /* Base Social Icon Styles */
      .cs-social-icon,
      .cs-social-icon-dark,
      .cs-social-icon-small,
      .cs-social-icon-large {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
      }

      /* Sizes */
      .cs-social-icon,
      .cs-social-icon-dark { width: 24px; height: 24px; font-size: 24px; }
      .cs-social-icon-small { width: 16px; height: 16px; font-size: 16px; }
      .cs-social-icon-large { width: 32px; height: 32px; font-size: 32px; }

      /* Colors */
      .cs-social-icon,
      .cs-social-icon-small,
      .cs-social-icon-large { color: var(--bodyTextColorWhite); }
      .cs-social-icon-dark { color: var(--headerColor); }

      /* Font Awesome Icon Centering Fix */
      /* Ensures Font Awesome icons center properly in flex containers */
      .cs-picture > span[class*="fa-"],
      .cs-picture > span[class*="fas"],
      .cs-picture > span[class*="far"],
      .cs-picture > span[class*="fab"],
      picture > span[class*="fa-"],
      picture > span[class*="fas"],
      picture > span[class*="far"],
      picture > span[class*="fab"] {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
      }

      /* Apply to cs-icon spans that are Font Awesome ONLY in flex contexts */
      /* Don't override block-level centering (margin: auto + display: block) */
      .cs-picture span.cs-icon[class*="fa-"],
      .cs-picture span.cs-icon[class*="fas"],
      .cs-picture span.cs-icon[class*="far"],
      .cs-picture span.cs-icon[class*="fab"],
      picture span.cs-icon[class*="fa-"],
      picture span.cs-icon[class*="fas"],
      picture span.cs-icon[class*="far"],
      picture span.cs-icon[class*="fab"] {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
      }

      /* Font Awesome Icon Color Fix */
      /* Smart context-aware Font Awesome icon colors */
      .cs-icon-wrapper .fas[style*="color: var(--primary)"],
      .cs-icon-wrapper .far[style*="color: var(--primary)"],
      .cs-icon-wrapper .fab[style*="color: var(--primary)"] {
        color: var(--secondaryLight) !important;
      }

      /* Font Awesome icons in colored picture containers need contrasting color */
      /* WHY: .cs-picture often has background-color: var(--primary), icons inherit body text color which may not contrast */
      /* HOW: Use bodyTextColorWhite which is theme-aware and designed for colored backgrounds */
      .cs-picture .fas,
      .cs-picture .far,
      .cs-picture .fab,
      .cs-picture .fa-solid,
      .cs-picture .fa-regular,
      .cs-picture .fa-brands {
        color: var(--bodyTextColorWhite) !important;
      }


    .cs-topper {
      font-family: var(--uiFont);
      font-size: var(--topperFontSize);
      line-height: 1.2em;
      text-transform: uppercase;
      text-align: inherit;
      letter-spacing: .1em;
      font-weight: 700;
      color: var(--primary);
      margin-bottom: 0.25rem;
      display: block;
    }

    .cs-title {
      font-family: var(--headingFont);
      font-size: var(--headerFontSize);
      font-weight: var(--headingWeight);
      line-height: 1.2em;
      text-align: inherit;
      max-width: 43.75rem;
      margin: 0 0 1rem 0;
      color: var(--headerColor);
      position: relative;
    }

    .cs-text {
      font-family: var(--bodyFont);
      font-size: var(--bodyFontSize);
      font-weight: var(--bodyWeight);
      line-height: 1.5em;
      text-align: inherit;
      width: 100%;
      max-width: 40.625rem;
      margin: 0;
      color: var(--bodyTextColor);
    }

    .cs-button-solid {
      font-size: 1rem;
      /* 46px - 56px */
      line-height: clamp(2.875rem, 5.5vw, 3.5rem);
      text-decoration: none;
      font-weight: 700;
      text-align: center;
      margin: 0;
      color: #fff;
      min-width: 9.375rem;
      padding: 0 1.5rem;
      background-color: var(--primary);
      display: inline-block;
      position: relative;
      z-index: 1;
      /* prevents padding from adding to the width */
      box-sizing: border-box;
      border-radius: 0.375rem;
      transition: background 0.2s, color 0.2s;
    }
    
    .cs-button-solid:before {
      content: '';
      position: absolute;
      height: 100%;
      width: 0%;
      background: var(--secondary);
      opacity: 0.15;
      top: 0;
      left: 0;
      z-index: -1;
      transition: width .3s;
      border-radius: 0.375rem;
    }
    
    .cs-button-solid:hover:before {
      width: 100%;
    }
    
    .cs-button-solid:hover {
      background-color: var(--secondary);
      color: #fff;
    }
/* ===== FC contrast layer (auto) ===== */
[data-stitch]:not(#_) .cs-button-solid{background-color:var(--primary)!important;color:var(--onPrimary)!important;}
[data-stitch]:not(#_) .cs-button-solid:hover,[data-stitch]:not(#_) .cs-button-solid:focus-visible{color:var(--onPrimary)!important;}
[data-stitch]:not(#_) .cs-button-solid .cs-icon path,[data-stitch]:not(#_) .cs-button-solid svg path{fill:var(--onPrimary);}
/* ---- BLOCKS_V3_MODE: website-v3 core layer (tokens + primitives) ---- */
*{box-sizing:border-box}img{max-width:100%}
:root {
  --fs-step-5: clamp(3.0518rem, 1.6987rem + 6.0135vw, 6.3592rem);
  --fs-step-4: clamp(2.4414rem, 1.6004rem + 3.738vw, 4.4973rem);
  --fs-step-3: clamp(1.9531rem, 1.451rem + 2.2317vw, 3.1805rem);
  --fs-step-2: clamp(1.5625rem, 1.2815rem + 1.2488vw, 2.2493rem);
  --fs-step-1: clamp(1.25rem, 1.1106rem + 0.6195vw, 1.5908rem);
  --fs-step-0: clamp(1rem, 0.9489rem + 0.2273vw, 1.125rem);
  --fs-step-n1: clamp(0.7956rem, 0.8018rem + -0.008vw, 0.8rem);
  --sp-3xs: clamp(0.25rem, 0.2244rem + 0.1136vw, 0.3125rem);
  --sp-2xs: clamp(0.5rem, 0.4489rem + 0.2273vw, 0.625rem);
  --sp-xs: clamp(0.75rem, 0.6733rem + 0.3409vw, 0.9375rem);
  --sp-s: clamp(1rem, 0.8977rem + 0.4545vw, 1.25rem);
  --sp-m: clamp(1.5rem, 1.3466rem + 0.6818vw, 1.875rem);
  --sp-l: clamp(2rem, 1.7955rem + 0.9091vw, 2.5rem);
  --sp-xl: clamp(3rem, 2.6932rem + 1.3636vw, 3.75rem);
  --sp-2xl: clamp(4rem, 3.5909rem + 1.8182vw, 5rem);
  --sp-3xl: clamp(6rem, 5.3864rem + 2.7273vw, 7.5rem);
  --radius: 4px; --radius-lg: 8px;
  --shadow: 0 2px 4px rgb(0 0 0 / .14); --shadow-lg: 0 16px 40px rgb(0 0 0 / .18);
  --font-heading: 'Bricolage Grotesque','Segoe UI',sans-serif; --font-body: 'IBM Plex Sans','Segoe UI',sans-serif; --fw-heading: 800;
}
[data-variant="light"] {
  --surface: #fff9f1; --surface-2: #f4efe7; --text: #55514b; --text-muted: #76736e;
  --heading: #3e3c39; --primary: #bf8700; --on-primary: #16130f; --border: #e1dcd4;
  background: var(--surface); color: var(--text); isolation: isolate;
}
[data-variant="muted"] {
  --surface: #f1ece4; --surface-2: #e4dfd7; --text: #4e4a43; --text-muted: #6e6b67;
  --heading: #373532; --primary: #b37f00; --on-primary: #0e0b07; --border: #d4cfc7;
  background: var(--surface); color: var(--text); isolation: isolate;
}
[data-variant="dark"] {
  --surface: #1a1711; --surface-2: #26221c; --text: #9c9790; --text-muted: #83807a;
  --heading: #e0ddd9; --primary: #845d00; --on-primary: #fffbf5; --border: #37342d;
  background: var(--surface); color: var(--text); isolation: isolate;
}
[data-variant="accent"] {
  --surface: #825b00; --surface-2: #986b00; --text: #fff4e1; --text-muted: #e5ddcf;
  --heading: #fbf4ea; --primary: #bdb5a8; --on-primary: #312e29; --border: #8a857e;
  background: var(--surface); color: var(--text); isolation: isolate;
}
:root { --font-heading: 'Rajdhani','Segoe UI',sans-serif; --font-body: 'Roboto','Segoe UI',sans-serif; }

/**
 * C0 — Layout Primitives v0 (class mechanism).
 * Intrinsically responsive layout vocabulary: no @media anywhere; children of
 * these classes reflow from their own geometry (flex-basis math, auto-fit
 * grids, aspect ratios). Blocks express ALL structural layout by composing
 * these classes; knobs are custom properties with token defaults.
 * Patterns follow the published intrinsic-design techniques (Every Layout
 * et al.); implementation is ours.
 *
 * @container is permitted inside blocks; @media is not (lint L-PRIM-1).
 */

/* Region — section wrapper: variant surface comes from the theme's
   [data-variant] rules; this only owns rhythm + containment. */
.l-region {
  padding-block: var(--region-pad, var(--sp-xl));
  container-type: inline-size;
}

/* Center — measure-capped horizontal centering with gutters. */
.l-center {
  box-sizing: content-box;
  max-inline-size: var(--measure, 68rem);
  margin-inline: auto;
  padding-inline: var(--center-gutter, var(--sp-m));
}

/* Stack — vertical flow with owned rhythm. */
.l-stack { display: flex; flex-direction: column; justify-content: flex-start; }
.l-stack > * { margin-block: 0; }
.l-stack > * + * { margin-block-start: var(--stack-gap, var(--sp-s)); }

/* Cluster — wrapping inline row (tags, CTAs, meta rows). */
.l-cluster {
  display: flex;
  flex-wrap: wrap;
  gap: var(--cluster-gap, var(--sp-xs));
  align-items: var(--cluster-align, center);
  justify-content: var(--cluster-justify, flex-start);
}

/* Switcher — row that becomes a column when the CONTAINER is narrower than
   the threshold. The flex-basis trick makes the switch intrinsic. */
.l-switcher {
  display: flex;
  flex-wrap: wrap;
  gap: var(--switcher-gap, var(--sp-m));
  align-items: var(--switcher-align, center);
}
.l-switcher > * {
  flex-grow: 1;
  flex-basis: calc((var(--switcher-threshold, 42rem) - 100%) * 999);
  min-inline-size: 0;
}

/* Sidebar — content + aside pair; aside keeps its width, content takes the
   rest; wraps intrinsically when content would drop below its minimum. */
.l-sidebar { display: flex; flex-wrap: wrap; gap: var(--sidebar-gap, var(--sp-m)); }
.l-sidebar > .l-sidebar__aside { flex-basis: var(--sidebar-width, 20rem); flex-grow: 1; }
.l-sidebar > .l-sidebar__content { flex-basis: 0; flex-grow: 999; min-inline-size: var(--sidebar-content-min, 55%); }

/* Narrow-viewport stacking override — many admitted library blocks carry
   inline flex/inline-size percentages on switcher/sidebar children, which
   defeat the intrinsic wrap tricks above (inline "flex:0 1 calc(51% - ...)"
   pins two columns side-by-side at any width, and a percentage
   min-inline-size on __content can never exceed its container, so its wrap
   condition is unreachable). Author-stylesheet !important outranks
   non-important inline styles, so below the threshold every child stacks
   full-width regardless of block-local geometry. */
@media (max-width: 48rem) {
  .l-switcher > *,
  .l-sidebar > * {
    flex: 1 1 100% !important;
    inline-size: auto !important;
    max-inline-size: 100% !important;
    min-inline-size: 0 !important;
  }
  /* …except compact control rows: a <span> aside (number chip, icon) next to
     a <button>/<span> content (accordion question) must stay inline — forcing
     those to stack turns every FAQ digit into its own full-width band */
  .l-sidebar > span.l-sidebar__aside {
    flex: 0 0 auto !important;
    inline-size: auto !important;
  }
  .l-sidebar > span.l-sidebar__aside ~ .l-sidebar__content {
    flex: 1 1 0 !important;
  }
  /* form fields collapse to full rows on phones regardless of inline
     multi-column geometry (labels, inputs, nested field clusters) */
  form label,
  form input:not([type='checkbox']):not([type='radio']),
  form textarea,
  form select {
    flex: 1 1 100% !important;
    inline-size: 100% !important;
    max-inline-size: 100% !important;
  }
  /* multi-column form grids become one column — 125px inputs truncate their
     own placeholders. Covers inline repeat(N) grids and autogrids whose
     percentage --grid-min can never trigger a wrap. */
  form [style*='grid-template-columns'],
  form[style*='grid-template-columns'],
  form .l-autogrid {
    grid-template-columns: 1fr !important;
  }
  /* Inline hard-coded multi-column grids (repeat(3|4, …)) leave unreadable
     ~90px tiles on phones — reflow to two columns. */
  [style*="grid-template-columns: repeat(4"],
  [style*="grid-template-columns: repeat(3"],
  [style*="grid-template-columns:repeat(4"],
  [style*="grid-template-columns:repeat(3"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  /* Absolutely-positioned in-hero panels (e.g. a lead form pinned to the
     hero's bottom edge) overlap the collapsed single-column content on
     phones — return them to flow. */
  .l-region form[style*="position: absolute"],
  .l-region form[style*="position:absolute"] {
    position: static !important;
    inset: auto !important;
    margin-block-start: var(--sp-l);
  }
  /* Tall cover heroes keep their desktop min-height after content collapses,
     leaving near-viewport-height dead bands — relax the floor. */
  [style*="--cover-min"] {
    --cover-min: 0rem !important;
  }
}

/* AutoGrid — auto-fit card grid; column count derives from item minimum. */
.l-autogrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(var(--grid-min, 16rem), 100%), 1fr));
  gap: var(--grid-gap, var(--sp-m));
}

/* Cover — bounded-height centering shell for heroes. min height is a bounded
   clamp (never bare vh) so it stays sane embedded anywhere. */
.l-cover {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-block-size: var(--cover-min, clamp(24rem, 70vh, 44rem));
}

/* Frame — aspect-ratio media crop. */
.l-frame { aspect-ratio: var(--frame-ratio, 4 / 3); overflow: hidden; border-radius: var(--frame-radius, var(--radius-lg)); }
.l-frame > img, .l-frame > video { inline-size: 100%; block-size: 100%; object-fit: cover; display: block; }

/* Reel — scroll-snapping horizontal strip (galleries, logos, cards). */
.l-reel {
  display: flex;
  gap: var(--reel-gap, var(--sp-s));
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-block-end: var(--sp-2xs);
}
.l-reel > * { flex: 0 0 var(--reel-item, 18rem); scroll-snap-align: start; }

/* Layer + Imposter — positioned overlays (badges, caption chips, accents). */
.l-layer { position: relative; }
.l-imposter { position: absolute; inset: var(--imposter-inset, auto auto var(--sp-s) var(--sp-s)); }

/* Repel — two groups pushed apart, wrapping gracefully (nav rows, footers). */
.l-repel {
  display: flex;
  flex-wrap: wrap;
  gap: var(--repel-gap, var(--sp-s));
  justify-content: space-between;
  align-items: var(--repel-align, center);
}

/*-- -------------------------- -->
<---     Mobile Navigation      -->
<--- -------------------------- -*/
body,
html{
  /* reset margin and padding so there's no gap between the nav and the screen edges */
  margin: 0;
  padding: 0;
}/* Mobile - 767px */
@media only screen and (max-width: 47.9375rem) {[data-stitch="cs-navigation_ds33"]:not(#_) .cs-top-link:nth-of-type(2){
    display: none;
    z-index: 10000;
  }
}/* Mobile - 1023px */
@media only screen and (max-width: 63.9375rem) {body.cs-open{
    overflow: hidden;
  }body.cs-open [data-stitch="cs-navigation_ds33"]:not(#_){
    background-color: #1a1a1a;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_){
    width: 100%;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    background-color: rgba(26, 26, 26, 0.84);
    position: fixed;
    z-index: 10000;
    transition: background-color 0.3s;
  }[data-stitch="cs-navigation_ds33"]:not(#_):before{
    /* black blurred overlay */
    content: "";
    width: 0%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.6);
    opacity: 0;
    display: block;
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 10000;
    transition: width 0.5s, opacity 0.3s;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
  }[data-stitch="cs-navigation_ds33"]:not(#_).cs-active:before{
    width: 100%;
    opacity: 1;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_).cs-active .cs-ul-wrapper{
    opacity: 1;
    transform: scaleX(1);
    transition-delay: 0.2s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_).cs-active .cs-li{
    opacity: 1;
    transform: translateX(0);
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-top-bar{
    width: 100%;
    background-color: #1a1a1a;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-top-container{
    width: 100%;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 3.125rem;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-top-contact{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 1.5rem;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-top-link{
    font-size: 0.875rem;
    line-height: 1.5em;
    text-decoration: none;
    margin: 0;
    color: #f7f7f7;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5rem;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-link-icon{
    width: 1rem;
    height: auto;
    display: block;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-top-social{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-social-link{
    text-decoration: none;
    width: auto;
    height: auto;
    display: block;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-social-icon{
    width: 1.25rem;
    height: auto;
    display: block;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-container{
    width: 100%;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 1rem;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-logo{
    width: 9.1875rem;
    height: auto;
    margin: 0 auto 0 0;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-logo img{
    width: 100%;
    height: 100%;
    /* ensures the image never overflows the container. It stays contained within it's width and height and expands to fill it then stops once it reaches an edge */
    object-fit: contain;
    /* places the image to the left edge of the parent */
    object-position: left;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-toggle{
    width: 3.5rem;
    height: 3.5rem;
    margin: 0 0 0 auto;
    background-color: #484848;
    border: none;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-active .cs-line1{
    top: 50%;
    transform: translate(-50%, -50%) rotate(225deg);
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-active .cs-line2{
    top: 50%;
    transform: translate(-50%, -50%) translateY(0) rotate(-225deg);
    transform-origin: center;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-active .cs-line3{
    opacity: 0;
    bottom: 100%;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-box{
    /* 24px - 28px */
    width: clamp(1.5rem, 2vw, 1.75rem);
    height: 1rem;
    position: relative;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-line{
    width: 100%;
    height: 2px;
    background-color: #fafbfc;
    border-radius: 2px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-line1{
    top: 0;
    transition: transform 0.5s, top 0.3s, left 0.3s;
    animation-duration: 0.7s;
    animation-timing-function: ease;
    animation-direction: normal;
    animation-fill-mode: forwards;
    transform-origin: center;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-line2{
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    transition: top 0.3s, left 0.3s, transform 0.5s;
    animation-duration: 0.7s;
    animation-timing-function: ease;
    animation-direction: normal;
    animation-fill-mode: forwards;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-line3{
    bottom: 0;
    transition: bottom 0.3s, opacity 0.3s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-ul-wrapper{
    min-width: 70vw;
    height: 100vh;
    background-color: #1a1a1a;
    overflow: hidden;
    box-shadow: inset rgba(0, 0, 0, 0.2) 0px 8px 24px;
    opacity: 0;
    position: absolute;
    top: 100%;
    right: 0;
    left: auto;
    z-index: 10000;
    transform: scaleX(0);
    transition: transform 0.4s, opacity 0.3s;
    transform-origin: top right;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-ul{
    width: auto;
    min-width: 40%;
    height: 65vh;
    margin: 0;
    /* 28px - 40px */
    padding: 3rem clamp(1.75rem, 3vw, 2.5rem) 2rem 4.375rem;
    overflow: scroll;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 1.25rem;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-li{
    text-align: right;
    list-style: none;
    width: 100%;
    margin-right: 0;
    opacity: 0;
    /* transition from these values */
    transform: translateX(-2.5rem);
    transition: transform 0.6s, opacity 0.9s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-li:nth-of-type(1){
    transition-delay: 0.05s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-li:nth-of-type(2){
    transition-delay: 0.1s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-li:nth-of-type(3){
    transition-delay: 0.15s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-li:nth-of-type(4){
    transition-delay: 0.2s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-li:nth-of-type(5){
    transition-delay: 0.25s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-li:nth-of-type(6){
    transition-delay: 0.3s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-li:nth-of-type(7){
    transition-delay: 0.35s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-li:nth-of-type(8){
    transition-delay: 0.4s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-li:nth-of-type(9){
    transition-delay: 0.45s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-li-link{
    /* 16px - 24px */
    font-size: clamp(1rem, 2.5vw, 1.5rem);
    line-height: 1.2em;
    text-decoration: none;
    margin: 0;
    color: var(--bodyTextColorWhite);
    display: inline-block;
    position: relative;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-li-link:before{
    /* active state underline */
    content: "";
    width: 100%;
    height: 1px;
    background: currentColor;
    opacity: 1;
    display: none;
    position: absolute;
    bottom: -0.125rem;
    left: 0;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-li-link.cs-active{
    color: var(--secondary);
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-li-link.cs-active:before{
    display: block;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-button-solid{
    display: none;
    z-index: 10000;
  }
}/*-- -------------------------- -->
<---     Navigation Dropdown    -->
<--- -------------------------- -*/
/* Mobile - 1023px */
@media only screen and (max-width: 63.9375rem) {[data-stitch="cs-navigation_ds33"]:not(#_) .cs-dropdown{
    color: var(--bodyTextColorWhite);
    position: relative;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-dropdown.cs-active .cs-drop-ul{
    height: auto;
    margin: 0.75rem 0 0 0;
    padding: 1.5rem;
    opacity: 1;
    visibility: visible;
    transform: scale(1);
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-dropdown.cs-active .cs-drop-link{
    opacity: 1;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-dropdown .cs-li-link{
    position: relative;
    transition: opacity 0.3s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-drop-icon{
    width: 0.9375rem;
    height: auto;
    position: absolute;
    top: 50%;
    right: -1.25rem;
    transform: translateY(-50%);
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-drop-ul{
    width: 100%;
    height: 0;
    margin: 0;
    box-sizing: border-box;
    padding: 0 1.5rem 0 1.5rem;
    background-color: var(--primary);
    overflow: hidden;
    opacity: 0;
    display: flex;
    visibility: hidden;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 0.75rem;
    transform: scale(0);
    transition: padding 0.3s, margin 0.3s, height 0.3s, opacity 0.3s, transform 0.3s, visibility 0.3s;
    transform-origin: top right;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-drop-li{
    text-align: inherit;
    list-style: none;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-li-link.cs-drop-link{
    /* 14px - 16px */
    font-size: clamp(0.875rem, 2vw, 1.25rem);
    color: #fff;
    z-index: 10000;
  }
}/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {[data-stitch="cs-navigation_ds33"]:not(#_) .cs-dropdown{
    position: relative;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-dropdown:hover{
    cursor: pointer;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-dropdown:hover .cs-drop-ul{
    opacity: 1;
    visibility: visible;
    transform: scaleY(1);
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-dropdown:hover .cs-drop-li{
    opacity: 1;
    transform: translateY(0);
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-drop-icon{
    width: 0.9375rem;
    height: auto;
    display: inline-block;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-drop-ul{
    min-width: 12.5rem;
    margin: 0;
    padding: 0;
    background-color: #1a1a1a;
    overflow: hidden;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 10px 16px;
    opacity: 0;
    border-bottom: 5px solid var(--primary);
    visibility: hidden;
    /* if you have 8 or more links in your dropdown nav, uncomment the columns property to make the list into 2 even columns. Change it to 3 or 4 if you need extra columns. Then remove the transition delays on the cs-drop-li so they don't have weird scattered animations */
    position: absolute;
    top: 99.9%;
    z-index: 10000;
    transform: scaleY(0);
    transition: transform 0.3s, visibility 0.3s, opacity 0.3s;
    transform-origin: top;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-drop-li{
    font-size: 1rem;
    text-decoration: none;
    list-style: none;
    width: 100%;
    height: auto;
    color: var(--bodyTextColorWhite);
    opacity: 0;
    display: block;
    transform: translateY(-0.625rem);
    transition: opacity 0.6s, transform 0.6s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-drop-li:nth-of-type(1){
    transition-delay: 0.05s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-drop-li:nth-of-type(2){
    transition-delay: 0.1s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-drop-li:nth-of-type(3){
    transition-delay: 0.15s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-drop-li:nth-of-type(4){
    transition-delay: 0.2s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-drop-li:nth-of-type(5){
    transition-delay: 0.25s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-drop-li:nth-of-type(6){
    transition-delay: 0.3s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-drop-li:nth-of-type(7){
    transition-delay: 0.35s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-drop-li:nth-of-type(8){
    transition-delay: 0.4s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-drop-li:nth-of-type(9){
    transition-delay: 0.45s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-drop-li:nth-of-type(10){
    transition-delay: 0.5s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-drop-li:nth-of-type(11){
    transition-delay: 0.55s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-drop-li:nth-of-type(12){
    transition-delay: 0.6s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-drop-li:nth-of-type(13){
    transition-delay: 0.65s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-li-link.cs-drop-link{
    font-size: 1rem;
    line-height: 1.5em;
    text-decoration: none;
    white-space: nowrap;
    width: 100%;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 0.75rem;
    color: var(--bodyTextColorWhite);
    display: block;
    transition: color 0.3s, background-color 0.3s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-li-link.cs-drop-link:hover{
    background-color: #f7f7f7;
    color: var(--primary);
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-li-link.cs-drop-link:before{
    display: none;
    z-index: 10000;
  }
}/*-- -------------------------- -->
<---     Desktop Navigation     -->
<--- -------------------------- -*/
/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {[data-stitch="cs-navigation_ds33"]:not(#_){
    width: 100%;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 0;
    background-color: rgba(26, 26, 26, 0.84);
    position: fixed;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-top-bar{
    width: 100%;
    background-color: #1a1a1a;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-top-container{
    width: 100%;
    max-width: 80rem;
    /* prevents padding and border from affecting height and width */
    box-sizing: border-box;
    padding: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 3.125rem;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-top-contact{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 1.5rem;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-top-link{
    font-size: 0.875rem;
    line-height: 1.5em;
    text-decoration: none;
    margin: 0;
    color: #f7f7f7;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5rem;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-top-link:hover{
    text-decoration: underline;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-link-icon{
    width: 1rem;
    height: auto;
    display: block;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-top-social{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-social-link{
    text-decoration: none;
    width: auto;
    height: auto;
    display: block;
    transition: transform 0.3s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-social-link:hover{
    transform: translateY(-0.25rem);
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-social-icon{
    width: 1.25rem;
    height: auto;
    display: block;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-container{
    width: 100%;
    max-width: 80rem;
    /* same height as the cs-ul-wrapper */
    height: 5.8125rem;
    margin: auto;
    /* prevents padding from affecting height */
    box-sizing: border-box;
    padding: 0 1rem;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1.5rem;
    position: relative;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-toggle{
    display: none;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-logo{
    width: 18.4%;
    max-width: 12.3125rem;
    height: 3.75rem;
    /* margin-right auto pushes everything away from it to the right */
    margin: 0 auto 0 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-logo img{
    width: 100%;
    height: 100%;
    /* ensures the image never overflows the container. It stays contained within it's width and height and expands to fill it then stops once it reaches an edge */
    object-fit: contain;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-ul-wrapper{
    /* absolutely positioned to be dead center */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-ul{
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    /* 20px - 36px */
    gap: clamp(1.25rem, 2.6vw, 2.25rem);
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-li{
    list-style: none;
    padding: 2.25rem 0;
    /* prevent flexbox from squishing it */
    flex: none;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-li-link{
    /* 14px - 16px */
    font-size: clamp(0.875rem, 0.6vw, 1rem);
    line-height: 1.5em;
    text-decoration: none;
    margin: 0;
    color: var(--bodyTextColorWhite);
    display: block;
    position: relative;
    transition: color 0.3s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-li-link:before{
    content: "";
    width: 0%;
    height: 1px;
    background: currentColor;
    opacity: 1;
    display: block;
    position: absolute;
    bottom: -2px;
    left: 0;
    transition: width 0.3s;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-li-link:hover{
    color: var(--secondary);
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-li-link:hover:before{
    width: 100%;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-li-link.cs-active{
    color: var(--secondary);
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-li-link.cs-active:before{
    width: 100%;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-button-solid{
    font-size: 1rem;
    font-weight: 700;
    /* 46px - 56px */
    line-height: clamp(2.875em, 5.5vw, 3.5em);
    text-align: center;
    text-decoration: none;
    min-width: 9.375rem;
    margin: 0;
    /* prevents padding from adding to the width */
    box-sizing: border-box;
    padding: 0 2rem;
    background-color: var(--primary);
    color: #fff;
    display: inline-block;
    position: relative;
    z-index: 10000;
    transition: color 0.3s;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-button-solid:before{
    content: "";
    width: 0%;
    height: 100%;
    background: #fff;
    opacity: 1;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10000;
    transition: width 0.3s;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-button-solid:hover{
    color: #1a1a1a;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-button-solid:hover:before{
    width: 100%;
    z-index: 10000;
  }[data-stitch="cs-navigation_ds33"]:not(#_) .cs-nav-button{
    line-height: 2.875rem;
    z-index: 10000;
  }
}

    /* Auto-generated Font Awesome icon rules (fa-icon-*)
  to normalize FA icon sizing and color consistently do not change manually to avoid being overwritten.
     */
    [data-stitch="cs-navigation_ds33"]:not(#_) .fa-icon-1 {
      font-size: 12px;
      color: var(--primary);
      align-items: center;
      justify-content: center;
    }

    [data-stitch="cs-expanded_ds6E"]:not(#_) .fa-icon-1 {
      font-size: 12px;
      color: var(--primary);
      align-items: center;
      justify-content: center;
    }

    [data-stitch="dark-mode-toggle_dsF2"]:not(#_) .fa-icon-1 {
      font-size: 12px;
      color: var(--primary);
      align-items: center;
      justify-content: center;
    }
.v3-cffbdea0-extracted-style-1 { enable-background:new 0 0 480 480 }


    /* Auto-generated Font Awesome icon rules (fa-icon-*)
  to normalize FA icon sizing and color consistently do not change manually to avoid being overwritten.
     */

.v3-a53be350-extracted-style-1 { position: relative; isolation: isolate; overflow: hidden; min-block-size: 42.875rem; --region-pad: var(--sp-2xl); }
.v3-a53be350-extracted-style-2 { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; opacity: .2; z-index: -1; }
.v3-a53be350-extracted-style-3 { --measure: 59.6875rem; position: relative; z-index: 1; }
.v3-a53be350-extracted-style-4 { --stack-gap: var(--sp-3xl); align-items: center; }
.v3-a53be350-extracted-style-5 { --stack-gap: var(--sp-3xs); align-items: center; text-align: center; }
.v3-a53be350-extracted-style-6 { font-family: var(--font-body); font-size: var(--fs-step-n1); line-height: 1.2; font-weight: var(--fw-heading); letter-spacing: .1em; text-transform: uppercase; color: var(--primary); }
.v3-a53be350-extracted-style-7 { font-family: var(--font-heading); font-size: var(--fs-step-3); line-height: 1.2; font-weight: var(--fw-heading); color: var(--heading); margin: 0; }
.v3-a53be350-extracted-style-8 { --grid-min: 18rem; --grid-gap: var(--sp-m); inline-size: 100%; margin: 0; padding: 0; list-style: none; }
.v3-a53be350-extracted-style-9 { --stack-gap: 0; min-inline-size: 0; align-self: end; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); }
.v3-a53be350-extracted-style-10 { --frame-ratio: 1.49090909; --frame-radius: 0; }
.v3-a53be350-extracted-style-11 { object-position: top; }
.v3-a53be350-extracted-style-12 { --repel-gap: var(--sp-xs); --repel-align: center; padding: var(--sp-m) var(--sp-m); background: var(--surface); color: var(--on-primary); min-block-size: 5.5rem; box-sizing: border-box; }
.v3-a53be350-extracted-style-13 { --stack-gap: var(--sp-3xs); }
.v3-a53be350-extracted-style-14 { font-family: var(--font-body); font-size: var(--fs-step-1); line-height: 1.2; font-weight: var(--fw-heading); color: var(--on-primary); }
.v3-a53be350-extracted-style-15 { font-family: var(--font-body); font-size: var(--fs-step-0); line-height: 1.5; color: var(--on-primary); opacity: .8; }
.v3-a53be350-extracted-style-16 { inline-size: 2rem; block-size: 2rem; }


    /* Auto-generated Font Awesome icon rules (fa-icon-*)
  to normalize FA icon sizing and color consistently do not change manually to avoid being overwritten.
     */

.v3-660a24d4-extracted-style-1 { --region-pad: var(--sp-2xl); text-align: center; }
.v3-660a24d4-extracted-style-2 { --measure: 80rem; }
.v3-660a24d4-extracted-style-3 { --stack-gap: var(--sp-2xl); align-items: center; }
.v3-660a24d4-extracted-style-4 { --stack-gap: var(--sp-3xs); align-items: center; inline-size: 100%; }
.v3-660a24d4-extracted-style-5 { display: block; font-family: var(--font-body); font-size: var(--fs-step-n1); font-weight: var(--fw-heading); line-height: 1.2; color: var(--heading); }
.v3-660a24d4-extracted-style-6 { margin: 0; font-family: var(--font-heading); font-size: var(--fs-step-3); font-weight: var(--fw-heading); line-height: 1.15; color: var(--heading); }
.v3-660a24d4-extracted-style-7 { --grid-min: 20rem; --grid-gap: var(--sp-m); inline-size: 100%; margin: 0; padding: 0; text-align: left; list-style: none; }
.v3-660a24d4-extracted-style-8 { --stack-gap: var(--sp-s); min-inline-size: 0; padding: var(--sp-xl) var(--sp-m); overflow: hidden; background: color-mix(in srgb, var(--primary) 10%, transparent); color: var(--text); }
.v3-660a24d4-extracted-style-9 { margin: 0 0 var(--sp-xl); font-family: var(--font-body); font-size: var(--fs-step-0); line-height: 1.5; color: var(--text); }
.v3-660a24d4-extracted-style-10 { --cluster-gap: var(--sp-s); inline-size: 100%; flex-wrap: nowrap; }
.v3-660a24d4-extracted-style-11 { font-family: var(--font-heading); font-size: var(--fs-step-1); line-height: 1; color: var(--primary); }
.v3-660a24d4-extracted-style-12 { flex: 1 1 auto; border-block-start: 2px solid var(--primary); }
.v3-660a24d4-extracted-style-13 { --cluster-gap: var(--sp-s); }
.v3-660a24d4-extracted-style-14 { display: block; flex: 0 0 var(--sp-2xl); inline-size: var(--sp-2xl); block-size: var(--sp-2xl); overflow: hidden; border-radius: var(--radius-lg); }
.v3-660a24d4-extracted-style-15 { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
.v3-660a24d4-extracted-style-16 { --stack-gap: var(--sp-3xs); align-items: flex-start; font-family: var(--font-body); font-size: var(--fs-step-1); font-weight: var(--fw-heading); line-height: 1.2; color: var(--text); }
.v3-660a24d4-extracted-style-17 { font-size: var(--fs-step-n1); font-weight: 400; line-height: 1.5; color: var(--text-muted); }


    /* Auto-generated Font Awesome icon rules (fa-icon-*)
  to normalize FA icon sizing and color consistently do not change manually to avoid being overwritten.
     */

.v3-b3f26383-extracted-style-1 { --region-pad: var(--sp-2xl); overflow: hidden; }
.v3-b3f26383-extracted-style-2 { --measure: 80rem; }
.v3-b3f26383-extracted-style-3 { --switcher-threshold: 60rem; --switcher-gap: var(--sp-l); --switcher-align: center; }
.v3-b3f26383-extracted-style-4 { font-size: min(2.235vw, 0.8em); inline-size: min(40.625em, 100%); block-size: auto; aspect-ratio: 40.625 / 46.3125; flex: 0 1 calc(50% - var(--switcher-gap)); margin-inline: auto; isolation: isolate; }
.v3-b3f26383-extracted-style-5 { display: block; position: absolute; inline-size: 25.8125em; block-size: 26.625em; inset-block-start: 0; inset-inline-start: 0; z-index: 2; overflow: hidden; }
.v3-b3f26383-extracted-style-6 { inline-size: 100%; block-size: 100%; object-fit: cover; display: block; }
.v3-b3f26383-extracted-style-7 { display: block; position: absolute; inline-size: 27.6875em; block-size: 24.6875em; inset-block-end: 0; inset-inline-end: 1.25em; overflow: hidden; }
.v3-b3f26383-extracted-style-8 { inline-size: 35.625em; block-size: auto; display: block; position: absolute; inset-block-start: 5em; inset-inline-end: 0; z-index: -1; }
.v3-b3f26383-extracted-style-9 { inline-size: 11.375em; block-size: auto; display: block; position: absolute; inset-block-start: 7.5em; inset-inline-end: 1.25em; }
.v3-b3f26383-extracted-style-10 { --stack-gap: var(--sp-xs); flex: 0 1 calc(50% - var(--switcher-gap)); inline-size: 100%; max-inline-size: 33.875rem; align-items: flex-start; }
.v3-b3f26383-extracted-style-11 { font-family: var(--font-body); font-size: var(--fs-step-n1); font-weight: var(--fw-heading); color: var(--primary); }
.v3-b3f26383-extracted-style-12 { font-family: var(--font-heading); font-weight: var(--fw-heading); font-size: var(--fs-step-3); line-height: 1.15; color: var(--heading); margin: 0; }
.v3-b3f26383-extracted-style-13 { font-family: var(--font-body); font-size: var(--fs-step-0); line-height: 1.6; color: var(--text); margin: 0 0 var(--sp-m); }
.v3-b3f26383-extracted-style-14 { --stack-gap: var(--sp-xs); inline-size: 100%; box-sizing: border-box; padding-block: var(--sp-l); padding-inline: var(--sp-m); background: var(--surface-2); }
.v3-b3f26383-extracted-style-15 { font-family: var(--font-body); font-size: var(--fs-step-n1); color: var(--heading); display: flex; flex-direction: column; gap: var(--sp-3xs); }
.v3-b3f26383-extracted-style-16 { font-family: var(--font-body); font-size: var(--fs-step-0); color: var(--heading); background: var(--surface); border: 1px solid var(--border); min-block-size: 3.5rem; padding-inline: var(--sp-m); box-sizing: border-box; }
.v3-b3f26383-extracted-style-17 { font-family: var(--font-body); font-size: var(--fs-step-0); color: var(--heading); background: var(--surface); border: 1px solid var(--border); min-block-size: 7.5rem; padding-block-start: var(--sp-m); padding-inline: var(--sp-m); box-sizing: border-box; resize: vertical; }
.v3-b3f26383-extracted-style-18 { font-family: var(--font-body); font-size: var(--fs-step-0); font-weight: var(--fw-heading); line-height: 3.5rem; text-align: center; color: var(--on-primary); background: var(--primary); border: 0; min-inline-size: 17.6875rem; padding-inline: var(--sp-m); border-radius: 0; display: inline-flex; justify-content: center; align-self: flex-start; }
/*-- -------------------------- -->
<---           Maps              -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  [data-stitch="maps_dsOSM"]:not(#_) {
    width: 100%;
    padding: 0;
    margin: 0;
    position: relative;
  }
  [data-stitch="maps_dsOSM"]:not(#_) .cs-map-container {
    width: 100%;
    min-height: 400px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #f5f5f5;
  }
  [data-stitch="maps_dsOSM"]:not(#_) .cs-map-container iframe {
    width: 100%;
    height: 400px;
    border: 0;
    display: block;
  }
  [data-stitch="maps_dsOSM"]:not(#_) .cs-map-placeholder {
    width: 100%;
    padding: 3rem;
    text-align: center;
    background-color: #f5f5f5;
    color: #666;
  }
  [data-stitch="maps_dsOSM"]:not(#_) .cs-map-placeholder .cs-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
    display: block;
  }
  [data-stitch="maps_dsOSM"]:not(#_) .cs-map-placeholder .cs-label {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--headerColor, #1a1a1a);
    margin-bottom: 0.5rem;
    display: block;
  }
  [data-stitch="maps_dsOSM"]:not(#_) .cs-map-placeholder .cs-description {
    font-size: 0.875rem;
    color: #666;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  [data-stitch="maps_dsOSM"]:not(#_) .cs-map-container iframe {
    height: 450px;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  [data-stitch="maps_dsOSM"]:not(#_) .cs-map-container iframe {
    height: 500px;
  }
}
/*-- -------------------------- -->
<---            CTA             -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {[data-stitch="cta_ds6C"]:not(#_){
        width: 100%;
        max-width: 80rem;
        margin: var(--sectionPadding);
        margin-left: auto;
        margin-right: auto;
        margin-top: 0;
        /* 16px - 60px */
        padding: 3.75rem clamp(1rem, 7vw, 3.75rem);
        /* prevents padding and border from affecting height and width */
        box-sizing: border-box;
        border: 1px solid #484848;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        position: relative;
        z-index: 1;
    }[data-stitch="cta_ds6C"]:not(#_) .cs-content{
        /* set text align to left if content needs to be left aligned */
        text-align: center;
        width: 100%;
        /* changes to 100% at tablet */
        max-width: 25rem;
        display: flex;
        flex-direction: column;
        /* centers content horizontally, set to flex-start to left align */
        align-items: center;
        gap: 1.5rem;
    }[data-stitch="cta_ds6C"]:not(#_) .cs-title{
        width: 100%;
        font-size: 1.9375rem;
        margin: 0;
        color: var(--bodyTextColorWhite);
    }[data-stitch="cta_ds6C"]:not(#_) .cs-form{
        width: 100%;
        max-width: 45.3125rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 1rem;
        /* prevents flexbox from squishing it */
        flex: none;
    }[data-stitch="cta_ds6C"]:not(#_) .cs-input{
        font-size: 1rem;
        width: 100%;
        height: clamp(2.875rem, 5.5vw, 3.5rem);
        margin: 0;
        padding: 0;
        padding-left: 1.25rem;
        border: none;
        /* prevents padding from adding to width and height */
        box-sizing: border-box;
        display: block;
    }[data-stitch="cta_ds6C"]:not(#_) .cs-input::placeholder{
        color: #767676;
    }[data-stitch="cta_ds6C"]:not(#_) .cs-button-solid{
        font-size: 1rem;
        /* 46px - 56px */
        line-height: clamp(2.875rem, 5.5vw, 3.5rem);
        text-decoration: none;
        font-weight: 700;
        text-align: center;
        margin: 0;
        color: #fff;
        min-width: 9.375rem;
        padding: 0 1.5rem;
        background-color: var(--primary);
        display: inline-block;
        position: relative;
        z-index: 1;
        /* prevents padding from adding to the width */
        box-sizing: border-box;
    }[data-stitch="cta_ds6C"]:not(#_) .cs-button-solid:before{
        content: "";
        position: absolute;
        height: 100%;
        width: 0%;
        background: #000;
        opacity: 1;
        top: 0;
        left: 0;
        z-index: -1;
        transition: width 0.3s;
    }[data-stitch="cta_ds6C"]:not(#_) .cs-button-solid:hover:before{
        width: 100%;
    }[data-stitch="cta_ds6C"]:not(#_) .cs-submit{
        width: 100%;
        border: none;
        transition: color 0.3s;
    }[data-stitch="cta_ds6C"]:not(#_) .cs-submit:before{
        background-color: #fff;
    }[data-stitch="cta_ds6C"]:not(#_) .cs-submit:hover{
        color: var(--primary);
    }
    /* Auto-generated Font Awesome icon rules (fa-icon-*)
  to normalize FA icon sizing and color consistently do not change manually to avoid being overwritten.
     */
    [data-stitch="cs-footer_dsBE"]:not(#_) .fa-icon-1 {
      font-size: 17px;
      color: var(--primary);
      align-items: center;
      justify-content: center;
    }

    [data-stitch="cta_ds6C"]:not(#_) .fa-icon-1 {
      font-size: 17px;
      color: var(--primary);
      align-items: center;
      justify-content: center;
    }

    [data-stitch="cs-email_dsD0"]:not(#_) .fa-icon-1 {
      font-size: 17px;
      color: var(--primary);
      align-items: center;
      justify-content: center;
    }
}/* Tablet - 768px */
@media only screen and (min-width: 48rem) {[data-stitch="cta_ds6C"]:not(#_) .cs-container{
        padding-left: 3.75rem;
        padding-right: 3.75rem;
    }[data-stitch="cta_ds6C"]:not(#_) .cs-content{
        max-width: 100%;
    }[data-stitch="cta_ds6C"]:not(#_) .cs-form{
        flex-direction: row;
    }[data-stitch="cta_ds6C"]:not(#_) .cs-input{
        width: 100%;
        max-width: 32.8125rem;
    }[data-stitch="cta_ds6C"]:not(#_) .cs-submit{
        width: auto;
        min-width: 11.875rem;
        /* prevents flexbox from squishing it */
        flex: none;
    }
}/* Desktop - 1300px */
@media only screen and (min-width: 81.25rem) {[data-stitch="cta_ds6C"]:not(#_) .cs-content{
        flex-direction: row;
    }[data-stitch="cta_ds6C"]:not(#_) .cs-form{
        width: 60%;
    }
}/*-- -------------------------- -->
<---          Footer            -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {[data-stitch="cs-footer_dsBE"]:not(#_){
        padding: var(--sectionPadding);
        position: relative;
        /* Navigation Links */
    }[data-stitch="cs-footer_dsBE"]:not(#_) .cs-container{
        width: 100%;
        /* reset on desktop */
        max-width: 43.75rem;
        margin: auto;
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 2.5rem;
    }[data-stitch="cs-footer_dsBE"]:not(#_) .cs-logo-group{
        /* takes up all the space, lets the other ul's wrap below it */
        width: 100%;
        position: relative;
    }[data-stitch="cs-footer_dsBE"]:not(#_) .cs-logo{
        width: 12.3125rem;
        height: auto;
        display: block;
        margin-bottom: 1.5rem;
    }[data-stitch="cs-footer_dsBE"]:not(#_) .cs-logo-img{
        width: 100%;
        height: auto;
    }[data-stitch="cs-footer_dsBE"]:not(#_) .cs-logo-img.dark{
        display: none;
    }[data-stitch="cs-footer_dsBE"]:not(#_) .cs-text{
        /* 14px - 16px */
        font-size: clamp(0.875rem, 2.5vw, 1rem);
        line-height: 1.5em;
        margin: 0;
        width: 78%;
        /* changes to 305px at desktop */
        max-width: 26.25rem;
        color: var(--bodyTextColorWhite);
    }[data-stitch="cs-footer_dsBE"]:not(#_) .cs-nav{
        width: 100%;
        padding: 0;
        margin: 0;
        display: flex;
        justify-content: center;
        align-items: flex-start;
        flex-direction: column;
        gap: 0.75rem;
    }[data-stitch="cs-footer_dsBE"]:not(#_) .cs-nav-li{
        list-style: none;
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
    }[data-stitch="cs-footer_dsBE"]:not(#_) .cs-header{
        font-size: 1rem;
        line-height: 1.2em;
        text-transform: uppercase;
        font-weight: 700;
        margin-bottom: 0.75rem;
        color: var(--bodyTextColorWhite);
        position: relative;
        display: block;
    }[data-stitch="cs-footer_dsBE"]:not(#_) .cs-nav-link{
        font-size: 1rem;
        text-decoration: none;
        line-height: 1.5em;
        color: var(--bodyTextColorWhite);
        position: relative;
        display: inline-block;
        transition: color 0.3s;
    }[data-stitch="cs-footer_dsBE"]:not(#_) .cs-nav-link:before{
        /* underline */
        content: "";
        width: 0%;
        height: 0.125rem;
        background: currentColor;
        opacity: 1;
        position: absolute;
        display: block;
        bottom: -0.125rem;
        left: 0;
        transition: width 0.3s;
    }[data-stitch="cs-footer_dsBE"]:not(#_) .cs-nav-link:hover{
        color: var(--secondary);
    }[data-stitch="cs-footer_dsBE"]:not(#_) .cs-nav-link:hover:before{
        width: 100%;
    }[data-stitch="cs-footer_dsBE"]:not(#_) .cs-icon{
        width: 1.5rem;
        height: auto;
        margin-right: 0.75rem;
    }[data-stitch="cs-footer_dsBE"]:not(#_) .cs-bottom{
        max-width: 80rem;
        margin: auto;
        margin-top: 2rem;
        padding-top: 1.5rem;
        border-top: 1px solid #484848;
        display: flex;
        justify-content: center;
        align-items: center;
    }[data-stitch="cs-footer_dsBE"]:not(#_) .cs-copyright,
    [data-stitch="cs-footer_dsBE"]:not(#_) .cs-copyright-link{
        font-size: 1rem;
        line-height: 1.5em;
        color: var(--bodyTextColorWhite);
    }[data-stitch="cs-footer_dsBE"]:not(#_) .cs-copyright-link{
        text-decoration: none;
        transition: color 0.3s;
    }[data-stitch="cs-footer_dsBE"]:not(#_) .cs-copyright-link:hover{
        color: var(--secondary);
    }[data-stitch="cs-footer_dsBE"]:not(#_) .cs-background{
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
    }[data-stitch="cs-footer_dsBE"]:not(#_) .cs-background:before{
        /* background color overlay */
        content: "";
        position: absolute;
        display: block;
        height: 100%;
        width: 100%;
        background: -moz-linear-gradient(
            left,
            rgba(26, 26, 26, 0.94) 0%,
            #1a1a1a 100%
        );
        /* FF3.6-15 */
        background: -webkit-linear-gradient(
            left,
            rgba(26, 26, 26, 0.94) 0%,
            #1a1a1a 100%
        );
        /* Chrome10-25,Safari5.1-6 */
        background: linear-gradient(
            to right,
            rgba(26, 26, 26, 0.94) 0%,
            #1a1a1a 100%
        );
        /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
        opacity: 0.97;
        top: 0;
        left: 0;
        z-index: 1;
    }[data-stitch="cs-footer_dsBE"]:not(#_) .cs-background img{
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        /* Makes img tag act as a background image */
        object-fit: cover;
    }
}/* Tablet - 768px */
@media only screen and (min-width: 48rem) {[data-stitch="cs-footer_dsBE"]:not(#_) .cs-container{
        row-gap: 0;
        flex-direction: row;
        justify-content: space-between;
        row-gap: 2.5rem;
    }[data-stitch="cs-footer_dsBE"]:not(#_) .cs-nav{
        width: auto;
    }
}/* Small Desktop - 1024px */
@media only screen and (min-width: 64rem) {[data-stitch="cs-footer_dsBE"]:not(#_) .cs-container{
        max-width: 80rem;
        flex-wrap: nowrap;
        /* align everything to the right */
        justify-content: flex-end;
        column-gap: 5.25rem;
    }[data-stitch="cs-footer_dsBE"]:not(#_) .cs-logo-group{
        width: 30%;
        max-width: 24.1875rem;
        /* pushes away from everything to the right */
        margin-right: auto;
    }[data-stitch="cs-footer_dsBE"]:not(#_) .cs-text{
        width: 100%;
    }
}