/* [next]/internal/font/google/ibm_plex_sans_9fa80815.module.css [app-client] (css) */
@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/7fea77d1d19108bf-s.0xyeb7czu1stb.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/1bcd0e671759a44c-s.0vnh8.d8wxa2x.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/e15f58668ad64cb8-s.0~.8lt~vdqmc3.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/90c51ce8fb754fe8-s.00z~hoalba5dm.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/57215795b8570f5c-s.0vwgtotjdgnhr.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/7fea77d1d19108bf-s.0xyeb7czu1stb.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/1bcd0e671759a44c-s.0vnh8.d8wxa2x.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/e15f58668ad64cb8-s.0~.8lt~vdqmc3.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/90c51ce8fb754fe8-s.00z~hoalba5dm.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/57215795b8570f5c-s.0vwgtotjdgnhr.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/7fea77d1d19108bf-s.0xyeb7czu1stb.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/1bcd0e671759a44c-s.0vnh8.d8wxa2x.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/e15f58668ad64cb8-s.0~.8lt~vdqmc3.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/90c51ce8fb754fe8-s.00z~hoalba5dm.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/57215795b8570f5c-s.0vwgtotjdgnhr.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/7fea77d1d19108bf-s.0xyeb7czu1stb.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/1bcd0e671759a44c-s.0vnh8.d8wxa2x.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/e15f58668ad64cb8-s.0~.8lt~vdqmc3.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/90c51ce8fb754fe8-s.00z~hoalba5dm.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/57215795b8570f5c-s.0vwgtotjdgnhr.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: IBM Plex Sans;
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: IBM Plex Sans Fallback;
  src: local(Arial);
  ascent-override: 101.32%;
  descent-override: 27.18%;
  line-gap-override: 0.0%;
  size-adjust: 101.17%;
}

.ibm_plex_sans_9fa80815-module__wA9lkq__className {
  font-family: IBM Plex Sans, IBM Plex Sans Fallback;
  font-style: normal;
}

.ibm_plex_sans_9fa80815-module__wA9lkq__variable {
  --font-ibm-plex-sans: "IBM Plex Sans", "IBM Plex Sans Fallback";
}

/* [project]/src/components/layout/Navigation.module.css [app-client] (css) */
.Navigation-module__yDraKW__nav {
  z-index: 100;
  background: var(--color-rose);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--color-rose);
  position: sticky;
  top: 0;
}

.Navigation-module__yDraKW__topbar {
  max-width: var(--max-width);
  padding: .75rem var(--section-padding-x);
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  display: flex;
}

.Navigation-module__yDraKW__logo {
  flex-shrink: 0;
  align-items: center;
  gap: .625rem;
  text-decoration: none;
  display: flex;
}

.Navigation-module__yDraKW__logo img {
  border-radius: var(--radius-sm);
}

.Navigation-module__yDraKW__logoText {
  color: var(--color-navy);
  letter-spacing: -.02em;
  font-size: 1.375rem;
  font-weight: 700;
}

.Navigation-module__yDraKW__hamburger {
  cursor: pointer;
  background: none;
  border: none;
  flex-direction: column;
  gap: 5px;
  padding: .5rem;
  display: none;
}

.Navigation-module__yDraKW__bar {
  background: var(--color-navy);
  border-radius: 2px;
  width: 24px;
  height: 2px;
  transition: transform .2s, opacity .2s;
  display: block;
}

.Navigation-module__yDraKW__barOpen1 {
  transform: translateY(7px)rotate(45deg);
}

.Navigation-module__yDraKW__barOpen2 {
  opacity: 0;
}

.Navigation-module__yDraKW__barOpen3 {
  transform: translateY(-7px)rotate(-45deg);
}

.Navigation-module__yDraKW__menu {
  background: none;
  border: none;
  align-items: center;
  gap: 2rem;
  padding: 0;
  list-style: none;
  display: flex;
  position: static;
}

.Navigation-module__yDraKW__link {
  color: var(--color-navy);
  cursor: pointer;
  font-weight: 500;
  font-family: var(--font-sans);
  white-space: nowrap;
  background: none;
  border: none;
  padding: .25rem 0;
  font-size: 1rem;
  text-decoration: none;
  transition: color .15s;
}

.Navigation-module__yDraKW__link:hover {
  color: var(--color-medium);
}

.Navigation-module__yDraKW__dropdown {
  position: relative;
}

.Navigation-module__yDraKW__chevron {
  font-style: normal;
  transition: transform .2s;
  display: inline-block;
}

.Navigation-module__yDraKW__chevronOpen {
  font-style: normal;
  display: inline-block;
  transform: rotate(180deg);
}

.Navigation-module__yDraKW__submenu {
  border: 1px solid var(--color-rose);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card-hover);
  z-index: 10;
  background: #fff;
  min-width: 260px;
  padding: .5rem 0;
  list-style: none;
  position: absolute;
  top: calc(100% + .5rem);
  left: 50%;
  transform: translateX(-50%);
}

.Navigation-module__yDraKW__sublink {
  color: var(--color-navy);
  padding: .625rem 1.25rem;
  font-size: .9375rem;
  transition: background .15s;
  display: block;
}

.Navigation-module__yDraKW__sublink:hover {
  background: var(--color-cream);
}

.Navigation-module__yDraKW__phoneDesktop, .Navigation-module__yDraKW__phoneMobile {
  color: var(--color-navy);
  white-space: nowrap;
  font-size: .9375rem;
  font-weight: 500;
  text-decoration: none;
  transition: color .15s;
}

.Navigation-module__yDraKW__phoneDesktop:hover, .Navigation-module__yDraKW__phoneMobile:hover {
  color: var(--color-medium);
}

@media (min-width: 769px) {
  .Navigation-module__yDraKW__phoneMobile {
    display: none;
  }

  .Navigation-module__yDraKW__nav {
    grid-template-columns: 1fr auto 1fr;
    align-items: stretch;
    display: grid;
  }

  .Navigation-module__yDraKW__topbar {
    max-width: none;
    margin: 0;
    padding-right: 0;
  }

  .Navigation-module__yDraKW__phoneDesktop {
    justify-content: center;
    align-items: center;
    padding: .75rem 0;
    display: flex;
  }

  .Navigation-module__yDraKW__menu {
    padding: .75rem var(--section-padding-x);
    justify-self: end;
  }
}

@media (max-width: 768px) {
  .Navigation-module__yDraKW__hamburger {
    display: flex;
  }

  .Navigation-module__yDraKW__phoneDesktop {
    display: none;
  }

  .Navigation-module__yDraKW__topbar {
    grid-template-columns: 1fr auto 1fr;
    align-items: baseline;
    display: grid;
  }

  .Navigation-module__yDraKW__logo {
    align-items: baseline;
  }

  .Navigation-module__yDraKW__logo img {
    align-self: center;
  }

  .Navigation-module__yDraKW__phoneMobile {
    text-align: center;
  }

  .Navigation-module__yDraKW__hamburger {
    place-self: center end;
  }

  .Navigation-module__yDraKW__menu {
    border-top: 1px solid var(--color-rose);
    background: var(--color-cream);
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
    padding: 0;
    display: none;
  }

  .Navigation-module__yDraKW__menu[data-open="true"] {
    display: flex;
  }

  .Navigation-module__yDraKW__menu > li {
    border-bottom: 1px solid var(--color-rose);
    width: 100%;
  }

  .Navigation-module__yDraKW__link {
    padding: .875rem var(--section-padding-x);
    text-align: left;
    width: 100%;
    display: block;
  }

  .Navigation-module__yDraKW__submenu {
    box-shadow: none;
    border: none;
    border-top: 1px solid var(--color-rose);
    background: #fff;
    border-radius: 0;
    width: 100%;
    min-width: 0;
    position: static;
    transform: none;
  }

  .Navigation-module__yDraKW__sublink {
    padding-left: calc(var(--section-padding-x) + 1rem);
  }
}

/* [project]/src/components/layout/Footer.module.css [app-client] (css) */
.Footer-module__3hUVsW__footer {
  background: var(--color-navy);
  color: var(--color-cream);
  padding: var(--section-padding-y) var(--section-padding-x) 0;
}

.Footer-module__3hUVsW__inner {
  max-width: var(--max-width);
  border-bottom: 1px solid #c9ada733;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  margin: 0 auto;
  padding-bottom: 2.5rem;
  display: grid;
}

.Footer-module__3hUVsW__name {
  margin-bottom: .5rem;
  font-size: 1.5rem;
  font-weight: 700;
}

.Footer-module__3hUVsW__tagline {
  color: var(--color-muted);
  max-width: 320px;
  font-size: .9375rem;
  line-height: 1.5;
}

.Footer-module__3hUVsW__links {
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  display: grid;
}

.Footer-module__3hUVsW__col_title {
  color: var(--color-rose);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: .75rem;
  font-size: .875rem;
  font-weight: 600;
}

.Footer-module__3hUVsW__links ul {
  flex-direction: column;
  gap: .5rem;
  list-style: none;
  display: flex;
}

.Footer-module__3hUVsW__links a {
  color: var(--color-muted);
  font-size: .9375rem;
  transition: color .15s;
}

.Footer-module__3hUVsW__links a:hover {
  color: var(--color-cream);
}

.Footer-module__3hUVsW__links li {
  color: var(--color-muted);
  font-size: .9375rem;
}

.Footer-module__3hUVsW__bottom {
  max-width: var(--max-width);
  color: var(--color-muted);
  margin: 0 auto;
  padding: 1.25rem 0;
  font-size: .875rem;
}

@media (max-width: 640px) {
  .Footer-module__3hUVsW__inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

/* [project]/src/app/globals.css [app-client] (css) */
:root {
  --p1: #22223b;
  --p2: #4a4e69;
  --p3: #9a8c98;
  --p4: #c9ada7;
  --p5: #f2e9e4;
}

[data-theme="sage"] {
  --p1: #1f2b25;
  --p2: #3d5a49;
  --p3: #7a9e8a;
  --p4: #b5cab8;
  --p5: #eaf0eb;
}

[data-theme="slate"] {
  --p1: #1c2b3a;
  --p2: #3d5a74;
  --p3: #7a9ab0;
  --p4: #b0c8d8;
  --p5: #e8f0f5;
}

[data-theme="terra"] {
  --p1: #2e1a0e;
  --p2: #6b3a2a;
  --p3: #a8765e;
  --p4: #d4b5a0;
  --p5: #f5ede7;
}

:root, [data-theme] {
  --color-navy: var(--p1);
  --color-medium: var(--p2);
  --color-muted: var(--p3);
  --color-rose: var(--p4);
  --color-cream: var(--p5);
  --font-sans: var(--font-ibm-plex-sans), "IBM Plex Sans", sans-serif;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --shadow-card: 0 2px 12px color-mix(in srgb, var(--p1) 8%, transparent);
  --shadow-card-hover: 0 6px 24px color-mix(in srgb, var(--p1) 14%, transparent);
  --max-width: 1200px;
  --section-padding-y: clamp(3rem, 6vw, 6rem);
  --section-padding-x: clamp(1rem, 5vw, 2rem);
}

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

html {
  scroll-behavior: smooth;
  max-width: 100vw;
  overflow-x: hidden;
}

body {
  font-family: var(--font-sans);
  background-color: var(--color-cream);
  color: var(--color-navy);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.6;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
  display: block;
}

button {
  font-family: var(--font-sans);
  cursor: pointer;
  background: none;
  border: none;
}

.sr-only {
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__03egq68._.css.map*/