


html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
}
main {
  display: block;
}
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}
abbr[title] {
  border-bottom: none;
  text-decoration: underline dotted;
}
b,
strong {
  font-weight: bolder;
}
img {
  border-style: none;
}
button,
input,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}
button,
[type='submit'] {
  -webkit-appearance: button;
}
[hidden] {
  display: none;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}


:root {
  --colorNight: #070c22;
  --colorDeep: #0d1430;
  --colorDusk: #151e42;
  --colorAurora: #27c08a;
  --colorAuroraSoft: #6fe0b6;
  --colorAuroraDeep: #0b6f4f;
  --colorPeriwinkle: #667eea;
  --colorViolet: #764ba2;
  --colorSurface: #f4f7fb;
  --colorSurfaceAlt: #e6ecf6;
  --colorPaper: #ffffff;
  --colorInk: #182033;
  --colorMuted: #566380;
  --colorLine: #cfd9ea;
  --colorOnDark: #f2f6fb;
  --colorOnDarkMuted: #a6b3cd;

  --spaceHair: 0.382em;
  --spaceTight: 0.618em;
  --spaceBase: 1em;
  --spaceWide: 1.618em;
  --spaceRoomy: 2.618em;
  --spaceVast: 4.236em;

  --fontDisplay: 'Quicksand', 'Trebuchet MS', sans-serif;
  --fontBody: 'Nunito Sans', 'Segoe UI', sans-serif;
  --sizeSmall: 0.875em;
  --sizeBase: 1em;
  --sizeLead: 1.125em;

  --radiusSoft: 0.75em;
  --radiusRound: 1em;
  --radiusPill: 999px;
  --lineHair: 1px;
  --borderWidth: 2px;

  --shadowSoft: 0 0.382em 1em rgba(7, 12, 34, 0.09);
  --shadowLift: 0 1.618em 2.618em rgba(7, 12, 34, 0.16);
  --shadowFab: 0 0.618em 1.618em rgba(7, 12, 34, 0.34);

  --motionBase: 0.2s;
  --motionSlide: 0.3s;

  --shellWidth: 68em;
  --headerHeight: 4.236em;

  
  --heroVeil: 0.42;
}


body {
  position: relative;
  margin: 0;
  padding-top: var(--headerHeight);
  font-family: var(--fontBody);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.7;
  color: var(--colorInk);
  background-color: var(--colorSurface);
  -webkit-font-smoothing: antialiased;
}
h1 {
  font-family: var(--fontDisplay);
  font-weight: 700;
  font-size: 2.1em;
  line-height: 1.12;
  letter-spacing: -0.01em;
  margin: 0 0 var(--spaceWide);
}
h2 {
  font-family: var(--fontDisplay);
  font-weight: 700;
  font-size: 1.75em;
  line-height: 1.2;
  margin: 0 0 var(--spaceWide);
}
h3 {
  font-family: var(--fontDisplay);
  font-weight: 700;
  font-size: 1.2em;
  line-height: 1.3;
  margin: 0 0 var(--spaceTight);
}
h4 {
  font-family: var(--fontDisplay);
  font-weight: 600;
  font-size: 1.05em;
  margin: 0 0 var(--spaceHair);
}
p {
  font-size: var(--sizeBase);
  line-height: 1.7;
  margin: 0 0 var(--spaceBase);
}
a {
  color: var(--colorAuroraDeep);
  text-decoration: underline;
  text-underline-offset: 0.2em;
  transition: color var(--motionBase) ease;
}
a:hover {
  color: var(--colorViolet);
}
ul {
  margin: 0 0 var(--spaceBase);
  padding-left: 1.2em;
}
ol {
  margin: 0 0 var(--spaceBase);
  padding-left: 1.2em;
}
li {
  margin-bottom: var(--spaceHair);
}
section {
  position: relative;
  width: 100%;
  padding: var(--spaceRoomy) var(--spaceBase);
}
header {
  font-family: var(--fontBody);
}
footer {
  font-family: var(--fontBody);
}
form {
  margin: 0;
}
label {
  display: block;
  font-weight: 600;
  font-size: var(--sizeSmall);
  letter-spacing: 0.02em;
  margin-bottom: var(--spaceHair);
}
input {
  width: 100%;
  padding: 0.85em 1em;
  font-size: var(--sizeBase);
  color: var(--colorInk);
  background-color: var(--colorPaper);
  border: var(--borderWidth) solid var(--colorLine);
  border-radius: var(--radiusSoft);
  transition: border-color var(--motionBase) ease;
}
input:focus {
  outline: none;
  border-color: var(--colorAurora);
}
button {
  font-family: var(--fontBody);
  cursor: pointer;
}
figure {
  margin: 0;
}
table {
  border-collapse: collapse;
  width: 100%;
}


[data-mm-header]{--mm-bg:#ffffff;--mm-text:#333333;--mm-primary:#2563eb;--mm-overlay-bg:rgba(0,0,0,0.5);--mm-transition:0.3s ease}[data-mm-header]{position:relative}[data-mm-toggle]{display:flex;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:8px;z-index:1001}[data-mm-toggle] span{display:block;width:24px;height:2px;background:var(--mm-text);transition:var(--mm-transition)}[data-mm-menu]{position:fixed;top:0;right:0;width:280px;max-width:85vw;height:100vh;height:100dvh;background:var(--mm-bg);transform:translateX(100%);transition:transform var(--mm-transition);z-index:1100;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;padding:60px 24px 24px}[data-mm-menu].mm-open{transform:translateX(0)}[data-mm-menu] ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}[data-mm-menu] ul li a{display:block;padding:14px 0;color:var(--mm-text);text-decoration:none;font-size:16px;border-bottom:1px solid rgba(0,0,0,0.08);transition:color var(--mm-transition)}[data-mm-menu] ul li a:hover{color:var(--mm-primary)}[data-mm-close]{position:absolute;top:16px;right:16px;background:none;border:none;font-size:28px;line-height:1;cursor:pointer;color:var(--mm-text);padding:4px 8px}[data-mm-overlay]{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--mm-overlay-bg);opacity:0;visibility:hidden;transition:opacity var(--mm-transition),visibility var(--mm-transition);z-index:1050}[data-mm-overlay].mm-visible{opacity:1;visibility:visible}@media(min-width:768px){[data-mm-toggle]{display:none!important}[data-mm-menu]{position:static!important;width:auto!important;max-width:none!important;height:auto!important;background:transparent!important;transform:none!important;padding:0!important;overflow:visible!important;flex-direction:row!important}[data-mm-menu] ul{flex-direction:row;gap:0;align-items:center}[data-mm-menu] ul li a{padding:8px 16px;border-bottom:none;font-size:inherit}[data-mm-close]{display:none!important}[data-mm-overlay]{display:none!important}}@media(prefers-reduced-motion:reduce){[data-mm-menu],[data-mm-overlay],[data-mm-toggle] span{transition:none!important}}


.appShell {
  position: relative;
  width: 100%;
  overflow-x: hidden;
}

.siteHeader {
  --mm-bg: #0d1430;
  --mm-text: #f2f6fb;
  --mm-primary: #27c08a;
  --mm-overlay-bg: rgba(7, 12, 34, 0.72);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  height: var(--headerHeight);
  background-image: linear-gradient(104deg, #0d1430 0%, #151e42 62%, #764ba2 190%);
  border-bottom: var(--lineHair) solid rgba(242, 246, 251, 0.12);
}
.headerBar {
  display: flex;
  align-items: center;
  height: var(--headerHeight);
  padding: 0 var(--spaceBase);
  max-width: var(--shellWidth);
  margin: 0 auto;
}
.headerBrand {
  display: flex;
  align-items: center;
  gap: var(--spaceTight);
  text-decoration: none;
  color: var(--colorOnDark);
}
.brandMark {
  height: 2.1em;
  width: auto;
  display: block;
}
.brandName {
  font-family: var(--fontDisplay);
  font-weight: 700;
  font-size: 1.15em;
  letter-spacing: 0.01em;
  line-height: 1;
  color: var(--colorOnDark);
}
.headerToggle {
  margin-left: auto;
}
.headerNav {
  font-family: var(--fontBody);
}
.headerList {
  list-style: none;
}
.headerLink {
  font-weight: 600;
  letter-spacing: 0.01em;
  text-decoration: none;
  white-space: nowrap;
}
.headerClose {
  font-family: var(--fontDisplay);
}

.siteFooter {
  
  padding-bottom: 5.5em;
  color: var(--colorOnDarkMuted);
  background-image: linear-gradient(126deg, #070c22 0%, #0d1430 58%, #151e42 100%);
}
.footerRow {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: .75em;
  padding: 1.25em 1em;
  font-size: .9em;
  max-width: var(--shellWidth);
  margin: 0 auto;
}
.footerBrand {
  display: flex;
  align-items: center;
  gap: var(--spaceTight);
  font-family: var(--fontDisplay);
  font-weight: 700;
  color: var(--colorOnDark);
}
.footerMark {
  height: 1.6em;
  width: auto;
  display: block;
}
.footerLinks {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--spaceTight);
  list-style: none;
  margin: 0;
  padding: 0;
}
.footerLink {
  color: var(--colorOnDarkMuted);
  text-decoration: none;
  border-bottom: var(--lineHair) solid rgba(166, 179, 205, 0.34);
}
.footerLink:hover {
  color: var(--colorAuroraSoft);
  border-bottom-color: var(--colorAuroraSoft);
}
.footerContact {
  color: var(--colorOnDark);
  text-decoration: none;
  font-weight: 600;
}
.footerNote {
  max-width: var(--shellWidth);
  margin: 0 auto;
  padding: 0 1em 1.618em;
  font-size: .8em;
  line-height: 1.6;
  color: var(--colorOnDarkMuted);
}
.cookieSettingsTrigger {
  color: var(--colorOnDarkMuted);
  background: none;
  border: none;
  padding: 0;
  font-size: inherit;
  text-decoration: underline;
}


.appMain {
  display: block;
  position: relative;
}
.moduleInner {
  max-width: var(--shellWidth);
  margin: 0 auto;
}
.moduleContent {
  position: relative;
}
.panelEyebrow {
  display: inline-block;
  font-family: var(--fontDisplay);
  font-weight: 600;
  font-size: .78em;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: var(--spaceTight);
  color: var(--colorAuroraDeep);
}
.panelLead {
  font-size: var(--sizeLead);
  max-width: 34em;
}
.skewEdge {
  
  --skewEdgeDepth: 1.25rem;
  clip-path: polygon(0 0, 100% var(--skewEdgeDepth), 100% 100%, 0 calc(100% - var(--skewEdgeDepth)));
}

.primaryButton {
  display: inline-block;
  background-image: linear-gradient(112deg, #0f8f66 0%, #27c08a 54%, #6fe0b6 130%);
  color: #04160f;
  border: none;
  border-radius: 1em;
  padding: 1em 2em;
  font-family: var(--fontDisplay);
  font-weight: 600;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  box-shadow: var(--shadowSoft);
  transition: transform var(--motionBase) ease, box-shadow var(--motionBase) ease;
}
.primaryButton:hover {
  color: #04160f;
  transform: translateY(-0.125em);
  box-shadow: var(--shadowLift);
}
.primaryButtonLarge {
  font-size: 1.5em;
  padding: 1.5em 3em;
  animation: pulse 2s infinite;
}
.ghostButton {
  display: inline-block;
  background: none;
  color: var(--colorOnDark);
  border: var(--borderWidth) solid rgba(242, 246, 251, 0.34);
  border-radius: var(--radiusRound);
  padding: 0.9em 1.618em;
  font-family: var(--fontDisplay);
  font-weight: 600;
  text-decoration: none;
  transition: border-color var(--motionBase) ease, color var(--motionBase) ease;
}
.ghostButton:hover {
  color: var(--colorAuroraSoft);
  border-color: var(--colorAuroraSoft);
}

.spinnerRing {
  display: none;
  width: 2.5em;
  height: 2.5em;
  border: 4px solid rgba(7, 12, 34, 0.12);
  border-left-color: var(--colorAuroraDeep);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
.isBusy .spinnerRing {
  display: inline-block;
}
.skeletonBlock {
  position: relative;
  overflow: hidden;
  background-color: var(--colorSurfaceAlt);
}
.skeletonBlock::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: linear-gradient(94deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.62) 50%, rgba(255, 255, 255, 0) 100%);
  transform: translateX(-100%);
  transition: transform 0.3s;
  animation: shimmer 1.4s ease-in-out infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes pulse {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(39, 192, 138, 0.45);
  }
  50% {
    box-shadow: 0 0 0 0.9em rgba(39, 192, 138, 0);
  }
}
@keyframes shimmer {
  to {
    transform: translateX(100%);
  }
}
@keyframes riseIn {
  from {
    opacity: 0;
    transform: translateY(1.618em);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.isRevealed {
  animation: riseIn 0.5s ease both;
}


.documentPanel {
  background-image: linear-gradient(178deg, #f4f7fb 0%, #e6ecf6 100%);
  padding-top: var(--spaceRoomy);
  padding-bottom: var(--spaceVast);
}
.documentSheet {
  max-width: 46em;
  margin: 0 auto;
  background-color: var(--colorPaper);
  border: var(--borderWidth) solid var(--colorLine);
  border-radius: var(--radiusSoft);
  padding: var(--spaceWide);
  box-shadow: var(--shadowSoft);
}
.documentStamp {
  font-size: var(--sizeSmall);
  color: var(--colorMuted);
  margin-bottom: var(--spaceWide);
}
.documentSheet h2 {
  font-size: 1.3em;
  margin-top: var(--spaceWide);
}


@media (min-width: 40em) {
  .footerRow {
    padding: 1.618em 1.618em;
  }
  .documentSheet {
    padding: var(--spaceRoomy);
  }
  h1 {
    font-size: 2.618em;
  }
}

@media (min-width: 48em) {
  .headerLink {
    color: var(--colorOnDark);
  }
  .headerNav .headerList {
    gap: var(--spaceHair);
  }
  section {
    padding: var(--spaceVast) var(--spaceWide);
  }
}

@media (min-width: 64em) {
  body {
    font-size: 18px;
  }
  h1 {
    font-size: 3em;
  }
  h2 {
    font-size: 2.1em;
  }
}

@media (min-width: 80em) {
  .moduleInner {
    max-width: 72em;
  }
}

@media (max-width: 47.9375em) {
  .decorLayer {
    display: none;
  }
  .secondaryNote {
    display: none;
  }
  .headerNav .headerLink {
    color: var(--colorOnDark);
  }
  h1 {
    font-size: 1.9em;
  }
  section {
    padding: 1.618em 1em;
  }
}
