

:root {
  color-scheme: light;

  --color-ink: #0b1728;
  --color-ink-soft: #34465a;
  --color-muted: #5d6d7d;
  --color-bg: #fbfcfe;
  --color-bg-soft: #f1f5f9;
  --color-surface: #ffffff;
  --color-surface-raised: #ffffff;
  --color-border: #d9e1ea;
  --color-border-strong: #bdc9d6;
  --color-hairline: rgba(11, 23, 40, 0.12);
  --color-control-border: #718194;
  --color-header-bg: rgba(251, 252, 254, 0.96);

  --color-accent: #075fc9;
  --color-accent-strong: #06499a;
  --color-accent-soft: #e8f1ff;
  --color-on-accent: #ffffff;
  --color-accent-on-dark: #8ab0ff;
  --color-success: #067647;
  --color-success-soft: #ecfdf3;
  --color-error: #b42318;
  --color-error-soft: #fef3f2;

  --color-dark-bg: #091424;
  --color-dark-surface: #122238;
  --color-dark-border: #34465e;
  --color-dark-text: #f7f9fc;
  --color-dark-muted: #b8c5d4;

  --gradient-brand: linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-strong) 100%);

  --font-heading: 'Space Grotesk Variable', 'Segoe UI', system-ui, sans-serif;
  --font-body: 'Inter Variable', 'Segoe UI', system-ui, sans-serif;

  --text-xs: 0.78125rem;
  --text-sm: clamp(0.875rem, 0.84rem + 0.14vw, 0.95rem);
  --text-base: clamp(1rem, 0.965rem + 0.16vw, 1.0875rem);
  --text-lg: clamp(1.125rem, 1.04rem + 0.38vw, 1.3125rem);
  --text-xl: clamp(1.3125rem, 1.19rem + 0.58vw, 1.625rem);
  --text-2xl: clamp(1.6875rem, 1.45rem + 1.02vw, 2.25rem);
  --text-3xl: clamp(2.125rem, 1.72rem + 1.72vw, 3.125rem);
  --text-4xl: clamp(2.75rem, 1.95rem + 3.45vw, 4.875rem);
  --text-display: clamp(3.25rem, 2.05rem + 5.1vw, 6.5rem);
  --text-page-hero: clamp(2.625rem, 1.95rem + 2.9vw, 4.25rem);
  --text-article-hero: clamp(2.125rem, 1.7rem + 1.75vw, 3.125rem);

  --leading-display: 0.94;
  --leading-tight: 1.06;
  --leading-snug: 1.34;
  --leading-normal: 1.68;

  --space-2xs: 0.25rem;
  --space-xs: 0.5rem;
  --space-sm: 0.75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: clamp(2rem, 1.55rem + 1.8vw, 3rem);
  --space-2xl: clamp(3rem, 2.1rem + 3.4vw, 5rem);
  --space-3xl: clamp(4rem, 2.4rem + 6vw, 7.5rem);
  --space-section: clamp(4.5rem, 3rem + 6vw, 8.5rem);

  --container-max: 80rem;
  --container-wide: 90rem;
  --container-narrow: 47rem;
  --container-pad: clamp(1.125rem, 3.6vw, 2.75rem);

  --radius-xs: 0.25rem;
  --radius-sm: 0.375rem;
  --radius-md: 0.625rem;
  --radius-lg: 0.875rem;
  --radius-full: 999px;

  --shadow-sm: 0 1px 2px rgba(11, 23, 40, 0.06);
  --shadow-md: 0 16px 40px -28px rgba(11, 23, 40, 0.38);
  --shadow-lg: 0 36px 80px -46px rgba(11, 23, 40, 0.46);
  --shadow-accent: 0 18px 38px -24px rgba(7, 95, 201, 0.78);

  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --duration-fast: 170ms;
  --duration-base: 360ms;
  --duration-slow: 760ms;
}


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

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: 5rem;
  background-color: var(--color-bg);
}

body {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  color: var(--color-ink);
  background-color: var(--color-bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

main {
  position: relative;
}

img,
svg,
video {
  display: block;
  max-width: 100%;
  height: auto;
}

[hidden] {
  display: none !important;
}

h1,
h2,
h3,
h4 {
  font-family: var(--font-heading);
  line-height: var(--leading-tight);
  font-kerning: normal;
  overflow-wrap: break-word;
  text-wrap: balance;
}

h1 {
  font-size: var(--text-4xl);
  font-weight: 650;
  letter-spacing: -0.052em;
}

h2 {
  font-size: var(--text-3xl);
  font-weight: 610;
  letter-spacing: -0.042em;
}

h3 {
  font-size: var(--text-xl);
  font-weight: 580;
  letter-spacing: -0.026em;
}

h4 {
  font-size: var(--text-lg);
  font-weight: 620;
  letter-spacing: -0.018em;
}

p {
  max-width: 65ch;
}

a {
  color: var(--color-accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

a:hover {
  color: var(--color-accent-strong);
}

strong {
  font-weight: 600;
}

::selection {
  background-color: var(--color-accent);
  color: var(--color-on-accent);
}

:focus-visible {
  outline: 3px solid var(--color-accent);
  outline-offset: 3px;
  border-radius: 2px;
}

.container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);
}

.container--narrow {
  max-width: var(--container-narrow);
}

.container--wide {
  max-width: var(--container-wide);
}

.section {
  position: relative;
  padding-block: var(--space-section);
}

.section--soft {
  background-color: var(--color-bg-soft);
  border-block: 1px solid var(--color-hairline);
}

.section--dark {
  background-color: var(--color-dark-bg);
  color: var(--color-dark-text);
}

.section--dark h2,
.section--dark h3 {
  color: #ffffff;
}

.kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-bottom: var(--space-md);
  font-family: var(--font-heading);
  font-size: var(--text-xs);
  font-weight: 650;
  letter-spacing: 0.105em;
  text-transform: uppercase;
  color: var(--color-accent);
}

.kicker::before {
  content: '';
  width: 0.42rem;
  height: 0.42rem;
  background-color: currentColor;
  transform: rotate(45deg);
}

.section--dark .kicker {
  color: var(--color-accent-on-dark);
}

.section-head {
  max-width: 49rem;
  margin-bottom: 1.75rem;
}

.section-head > p:not(.kicker) {
  margin-top: 0.75rem;
  font-size: 1.0625rem;
  line-height: 1.55;
  color: var(--color-ink-soft);
}

.section--dark .section-head > p:not(.kicker) {
  color: var(--color-dark-muted);
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  min-height: 3rem;
  padding: 0.78em 1.15em;
  font-family: var(--font-heading);
  font-size: var(--text-sm);
  font-weight: 620;
  letter-spacing: -0.012em;
  text-decoration: none;
  line-height: 1.3;
  border-radius: var(--radius-xs);
  border: 1px solid transparent;
  cursor: pointer;
  transition:
    transform var(--duration-fast) var(--ease-out),
    background-color var(--duration-fast) var(--ease-out),
    border-color var(--duration-fast) var(--ease-out),
    box-shadow var(--duration-fast) var(--ease-out);
}

.button--primary {
  background-color: var(--color-accent);
  background-image: var(--gradient-brand);
  color: var(--color-on-accent);
  box-shadow: var(--shadow-accent);
}

.button--primary::after {
  content: '→';
  display: inline-block;
  margin-left: 0.15em;
  transition: transform var(--duration-fast) var(--ease-out);
}

.button--secondary {
  background-color: var(--color-surface);
  color: var(--color-ink);
  border-color: var(--color-control-border);
}

.section--dark .button--secondary {
  background-color: transparent;
  color: var(--color-dark-text);
  border-color: var(--color-dark-muted);
}

@media (hover: hover) and (pointer: fine) {
  .button--primary:hover {
    background-color: var(--color-accent-strong);
    background-image: none;
    color: var(--color-on-accent);
    transform: translateY(-1px);
    box-shadow: 0 16px 32px -18px rgba(7, 95, 201, 0.82);
  }

  .button--primary:hover::after {
    transform: translateX(0.22rem);
  }

  .button--secondary:hover {
    color: var(--color-ink);
    border-color: var(--color-ink-soft);
    transform: translateY(-2px);
  }

  .section--dark .button--secondary:hover {
    background-color: var(--color-dark-surface);
    color: #ffffff;
    border-color: var(--color-dark-muted);
  }
}

.button:active {
  transform: scale(0.985);
}

.button:disabled,
.button[aria-disabled='true'] {
  cursor: progress;
  opacity: 0.62;
  box-shadow: none;
  transform: none;
}

.card {
  background-color: var(--color-surface-raised);
  border: 1px solid var(--color-border);
  border-top: 2px solid var(--color-ink);
  border-radius: var(--radius-sm);
  padding: var(--space-lg);
  box-shadow: none;
  transition:
    transform var(--duration-base) var(--ease-out),
    border-color var(--duration-fast) var(--ease-out),
    box-shadow var(--duration-base) var(--ease-out);
}

@media (hover: hover) and (pointer: fine) {
  a.card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
    border-color: var(--color-ink-soft);
  }
}

a.card:active {
  transform: scale(0.99);
}

.faq {
  display: grid;
  gap: 0;
  max-width: var(--container-narrow);
  counter-reset: faq-item;
}

.faq__item {
  counter-increment: faq-item;
  background-color: var(--color-surface-raised);
  border: 0;
  border-top: 1px solid var(--color-border);
  border-radius: 0;
}

.faq__item:last-child {
  border-bottom: 1px solid var(--color-border);
}

.faq__item[open] {
  border-color: var(--color-border-strong);
  background: linear-gradient(90deg, var(--color-accent-soft), var(--color-surface) 42%);
}

.faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  min-height: 4rem;
  padding: var(--space-md) 0;
  font-family: var(--font-heading);
  font-weight: 580;
  line-height: 1.4;
  cursor: pointer;
  list-style: none;
}

.faq__question::before {
  content: counter(faq-item, decimal-leading-zero);
  flex: 0 0 2rem;
  color: var(--color-accent);
  font-size: var(--text-xs);
  font-weight: 650;
  letter-spacing: 0.06em;
}

.faq__question > span {
  flex: 1 1 auto;
}

.faq__question::-webkit-details-marker {
  display: none;
}

.faq__chevron {
  flex-shrink: 0;
  color: var(--color-accent);
  transition: transform var(--duration-base) var(--ease-out);
}

.faq__item[open] .faq__chevron {
  transform: rotate(180deg);
}

.faq__answer {
  max-width: none;
  padding: 0 2.5rem var(--space-lg) 0;
  font-size: var(--text-sm);
  line-height: 1.6;
  color: var(--color-ink-soft);
}

.check-list {
  list-style: none;
  padding: 0;
  display: grid;
  gap: var(--space-sm);
}

.check-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.6em;
}

.check-list li::before {
  content: '';
  flex-shrink: 0;
  width: 1.25em;
  height: 1.25em;
  margin-top: 0.12em;
  border-radius: var(--radius-full);
  background-color: var(--color-success-soft);

  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23067647' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M5 10.5l3.2 3.2L15 7'/%3E%3C/svg%3E");
  background-size: 70%;
  background-position: center;
  background-repeat: no-repeat;
}

.page-hero {
  position: relative;
  isolation: isolate;
  padding-block: 3rem 3.5rem;
  overflow: hidden;
  border-bottom: 1px solid var(--color-hairline);
  background:
    linear-gradient(90deg, transparent calc(100% - 1px), rgba(11, 23, 40, 0.045) 1px) 0 0 / clamp(5rem, 9vw, 8rem) 100%,
    linear-gradient(180deg, #ffffff 0%, var(--color-bg) 100%);
}

.page-hero::after {
  content: '';
  position: absolute;
  left: max(var(--container-pad), calc((100vw - var(--container-max)) / 2 + var(--container-pad)));
  top: 0;
  bottom: auto;
  width: clamp(4.5rem, 12vw, 10rem);
  height: 0.3rem;
  background-image: var(--gradient-brand);
}

.page-hero h1 {
  max-width: 100%;
  font-size: var(--text-page-hero);
  line-height: 1.02;
  letter-spacing: -0.045em;
}

.page-hero--article h1 {
  max-width: 100%;
  font-size: var(--text-article-hero);
}

.page-hero__lead {
  margin-top: 0.875rem;
  font-size: 1rem;
  color: var(--color-ink-soft);
  max-width: none;
  line-height: 1.55;
}

.page-hero__actions {
  display: grid;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.page-hero__actions .button {
  width: 100%;
}

.breadcrumb {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.35em;
  list-style: none;
  padding: 0;
  margin: 0 0 1.25rem;
  overflow: hidden;
  font-size: var(--text-xs);
  white-space: nowrap;
  color: var(--color-muted);
}

.breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
}

.breadcrumb a:hover {
  color: var(--color-accent);
}

.breadcrumb li + li::before {
  content: '›';
  margin-right: 0.5em;
}

.breadcrumb li {
  min-width: 0;
  flex-shrink: 0;
}

.breadcrumb li[aria-current='page'] {
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
}

.two-col {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: start;
}

.feature-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

.feature-grid h3 {
  margin-bottom: var(--space-sm);
}

.feature-grid p {
  color: var(--color-ink-soft);
  font-size: var(--text-sm);
}

.price-box {
  position: static;
  top: 6rem;
  overflow: visible;
  padding: var(--space-lg) 0 0;
  text-align: left;
  background: transparent;
  border: 0;
  border-top: 0.25rem solid var(--color-accent);
  border-radius: 0;
  box-shadow: none;
}

.price-box__label {
  font-family: var(--font-heading);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-accent);
}

.price-box__price {
  font-family: var(--font-heading);
  font-size: var(--text-3xl);
  font-weight: 700;
  margin-block: var(--space-sm);
  letter-spacing: -0.04em;
}

.price-box__note {
  font-size: var(--text-sm);
  color: var(--color-ink-soft);
}

@media (min-width: 52.01rem) {
  .two-col {
    grid-template-columns: minmax(0, 1.3fr) minmax(16rem, 0.7fr);
    gap: var(--space-2xl);
  }

  .feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .price-box {
    position: sticky;
  }
}

.prose {
  font-size: 1rem;
}

.prose h2 {
  font-size: var(--text-2xl);
  margin-top: 2.25rem;
  margin-bottom: 0.875rem;
}

.prose h3 {
  margin-top: 1.75rem;
  margin-bottom: var(--space-sm);
}

.prose p {
  margin-bottom: var(--space-md);
  color: var(--color-ink-soft);
}

.prose ul,
.prose ol {
  margin: 0 0 var(--space-md);
  padding-left: 1.4em;
  color: var(--color-ink-soft);
  display: grid;
  gap: var(--space-xs);
}

.prose strong {
  color: var(--color-ink);
}

.prose blockquote {
  margin: var(--space-lg) 0;
  padding: 1rem 1.125rem;
  border-left: 3px solid var(--color-accent);
  background-color: var(--color-accent-soft);
  border-radius: var(--radius-sm);
}

.prose blockquote p:last-child {
  margin-bottom: 0;
}

.prose table {
  width: 100%;
  border-collapse: collapse;
  margin: var(--space-lg) 0;
  font-size: var(--text-sm);
}

.prose th,
.prose td {
  text-align: left;
  padding: 0.75rem;
  border: 1px solid var(--color-border);
}

.prose thead th {
  font-family: var(--font-heading);
  background-color: var(--color-bg-soft);
}

.prose hr {
  border: none;
  border-top: 1px solid var(--color-border);
  margin: var(--space-xl) 0;
}

@media (min-width: 40.01rem) {
  html {
    scroll-padding-top: 6rem;
  }

  .section-head {
    margin-bottom: var(--space-xl);
  }

  .section-head > p:not(.kicker) {
    margin-top: var(--space-md);
    font-size: var(--text-lg);
    line-height: var(--leading-normal);
  }

  .card { padding: var(--space-xl); }

  .button {
    min-height: 3.2rem;
    padding: 0.78em 1.35em;
    line-height: inherit;
  }

  .page-hero { padding-block: clamp(3.75rem, 7vw, 7.25rem); }

  .page-hero h1 {
    max-width: 25ch;
    line-height: 1.01;
    letter-spacing: -0.052em;
  }

  .page-hero--article h1 {
    max-width: 24ch;
  }

  .page-hero__lead {
    margin-top: clamp(1.25rem, 2vw, 1.75rem);
    max-width: 58ch;
    font-size: clamp(1.0625rem, 1rem + 0.2vw, 1.1875rem);
    line-height: 1.55;
  }

  .page-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md);
    margin-top: clamp(1.5rem, 2vw, 2rem);
  }

  .page-hero__actions .button {
    width: auto;
  }

  .breadcrumb {
    flex-wrap: wrap;
    gap: 0.5em;
    margin-bottom: clamp(2rem, 4vw, 3.5rem);
    overflow: visible;
    font-size: var(--text-sm);
    white-space: normal;
  }

  .breadcrumb li {
    min-width: auto;
    flex-shrink: 1;
  }

  .breadcrumb li[aria-current='page'] {
    flex: 0 1 auto;
    overflow: visible;
    text-overflow: clip;
  }

  .two-col {
    gap: var(--space-xl);
  }

  .feature-grid {
    gap: var(--space-lg);
  }

  .price-box {
    text-align: left;
  }

  .faq__question {
    min-height: 4.75rem;
    gap: var(--space-md);
    padding: 1.15rem 0;
    line-height: inherit;
  }

  .faq__answer {
    padding: 0 3.25rem 1.5rem 0;
    font-size: var(--text-base);
    line-height: var(--leading-normal);
  }

  .prose {
    font-size: var(--text-base);
  }

  .prose h2 {
    margin-top: var(--space-2xl);
    margin-bottom: var(--space-md);
  }

  .prose h3 {
    margin-top: var(--space-xl);
  }

  .prose blockquote {
    padding: var(--space-md) var(--space-lg);
  }

  .prose th,
  .prose td {
    padding: var(--space-sm) var(--space-md);
  }
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 100;
  padding: 0.6em 1.2em;
  background-color: var(--color-accent);
  color: var(--color-on-accent);
  border-radius: var(--radius-sm);
  text-decoration: none;
  transform: translateY(-250%);
  transition: transform var(--duration-fast) var(--ease-out);
}

.skip-link:focus-visible {
  transform: translateY(0);
  color: var(--color-on-accent);
}

@media (prefers-reduced-motion: reduce) {
  .button,
  .button:hover,
  .button:active,
  .card,
  a.card:hover,
  a.card:active,
  .faq__chevron,
  .faq__item[open] .faq__answer {
    animation: none;
    transition: none;
    transform: none;
  }

  .skip-link {
    animation: none;
    transition: none;
  }
}
.js.reveal-ready :where([data-reveal]) {
  --reveal-x: 0;
  --reveal-y: 1rem;
  --reveal-scale: 1;
  opacity: 0;
  transform: translate3d(var(--reveal-x), var(--reveal-y), 0)
    scale(var(--reveal-scale));
  transition:
    opacity var(--duration-slow) var(--ease-out),
    transform var(--duration-slow) var(--ease-out),
    clip-path 920ms var(--ease-out);
  transition-duration: 620ms;
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}

.js.reveal-ready :where([data-reveal='left']) {
  --reveal-x: 0;
  --reveal-y: 1rem;
}

.js.reveal-ready :where([data-reveal='right']) {
  --reveal-x: 0;
  --reveal-y: 1rem;
}

.js.reveal-ready :where([data-reveal='fade']) {
  --reveal-y: 0;
}

.js.reveal-ready :where([data-reveal='image']) {
  --reveal-y: 0;
  --reveal-scale: 1.035;
  clip-path: inset(0 0 100% 0);
}

.js.reveal-ready :where([data-reveal='line']) {
  --reveal-y: 0;
  clip-path: inset(0 100% 0 0);
}

.js.reveal-ready :where([data-reveal].is-visible, [data-reveal]:focus-within) {
  opacity: 1;
  transform: none;
  clip-path: inset(0);
  will-change: auto;
}

.js.reveal-ready :where(
  [data-reveal].is-visible:hover,
  [data-reveal].is-visible:focus-visible,
  [data-reveal].is-visible:active
) {
  transition-delay: 0ms;
}

[data-reveal-stagger] > :nth-child(1) { --reveal-delay: 0ms; }
[data-reveal-stagger] > :nth-child(2) { --reveal-delay: 60ms; }
[data-reveal-stagger] > :nth-child(3) { --reveal-delay: 120ms; }
[data-reveal-stagger] > :nth-child(4) { --reveal-delay: 180ms; }
[data-reveal-stagger] > :nth-child(5) { --reveal-delay: 240ms; }
[data-reveal-stagger] > :nth-child(n + 6) { --reveal-delay: 300ms; }

.js.reveal-failed :where([data-reveal]) {
  opacity: 1 !important;
  transform: none !important;
  clip-path: none !important;
  transition: none !important;
}

@media (min-width: 48.01rem) {
  .js.reveal-ready :where([data-reveal]) {
    --reveal-y: 1.75rem;
    transition:
      opacity var(--duration-slow) var(--ease-out),
      transform var(--duration-slow) var(--ease-out),
      clip-path 920ms var(--ease-out);
  }

  .js.reveal-ready :where([data-reveal='left']) {
    --reveal-x: -2.75rem;
    --reveal-y: 0;
  }

  .js.reveal-ready :where([data-reveal='right']) {
    --reveal-x: 2.75rem;
    --reveal-y: 0;
  }

  [data-reveal-stagger] > :nth-child(1) { --reveal-delay: 0ms; }
  [data-reveal-stagger] > :nth-child(2) { --reveal-delay: 90ms; }
  [data-reveal-stagger] > :nth-child(3) { --reveal-delay: 180ms; }
  [data-reveal-stagger] > :nth-child(4) { --reveal-delay: 270ms; }
  [data-reveal-stagger] > :nth-child(5) { --reveal-delay: 360ms; }
  [data-reveal-stagger] > :nth-child(6) { --reveal-delay: 450ms; }
  [data-reveal-stagger] > :nth-child(n + 7) { --reveal-delay: 520ms; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }

  .js.reveal-ready :where([data-reveal]) {
    opacity: 1;
    transform: none;
    clip-path: none;
    transition: none;
  }
}
.site-header[data-astro-cid-ctg3m53h]{position:sticky;top:0.75rem;z-index:50;padding-inline:var(--container-pad)}.site-header__inner[data-astro-cid-ctg3m53h]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);min-height:4.25rem;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--space-lg);background-color:rgba(255,255,255,0.92);backdrop-filter:blur(20px) saturate(1.12);border:1px solid var(--color-border);border-radius:var(--radius-full);box-shadow:var(--shadow-md)}.site-header__brand[data-astro-cid-ctg3m53h]{display:inline-flex;align-items:center;gap:0.75rem;text-decoration:none}.site-header__mark[data-astro-cid-ctg3m53h]{width:2.5rem;height:2.5rem;border-radius:0.6rem;box-shadow:0 8px 18px -10px rgba(7,95,201,0.9)}.site-header__brand-copy[data-astro-cid-ctg3m53h]{display:grid;gap:0.05rem}.site-header__name[data-astro-cid-ctg3m53h]{font-family:var(--font-heading);font-size:1.125rem;font-weight:700;color:var(--color-ink);letter-spacing:-0.01em}.site-header__role[data-astro-cid-ctg3m53h]{color:var(--color-ink-soft);font-family:var(--font-heading);font-size:0.68rem;font-weight:650;letter-spacing:0.08em;line-height:1.2;text-transform:uppercase}.site-header__list[data-astro-cid-ctg3m53h]{display:flex;align-items:center;gap:clamp(0.9rem,1.7vw,var(--space-lg));list-style:none;margin:0;padding:0}@media (max-width: 72rem){.site-header__list[data-astro-cid-ctg3m53h]{gap:var(--space-md)}.site-header__cta[data-astro-cid-ctg3m53h]{padding:0.6em 1em}}.site-header__link[data-astro-cid-ctg3m53h]{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:600;color:var(--color-ink-soft);text-decoration:none;padding-block:0.4rem;border-bottom:2px solid transparent}.site-header__link[data-astro-cid-ctg3m53h]:hover{color:var(--color-ink)}.site-header__link[data-astro-cid-ctg3m53h][aria-current=page]{color:var(--color-accent);border-bottom-color:var(--color-accent)}.site-header__cta[data-astro-cid-ctg3m53h]{min-height:2.75rem;padding:0.6em 1.15em}.site-header__toggle[data-astro-cid-ctg3m53h]{display:none;flex-direction:column;justify-content:center;gap:5px;width:2.75rem;height:2.75rem;padding:0.6rem;background:none;border:1px solid var(--color-control-border);border-radius:var(--radius-sm);cursor:pointer}.site-header__toggle-bar[data-astro-cid-ctg3m53h]{display:block;height:2px;width:100%;background-color:var(--color-ink);border-radius:2px;transition:transform var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out)}.site-header__toggle[data-astro-cid-ctg3m53h][aria-expanded=true] .site-header__toggle-bar[data-astro-cid-ctg3m53h]:nth-child(2){transform:translateY(7px) rotate(45deg)}.site-header__toggle[data-astro-cid-ctg3m53h][aria-expanded=true] .site-header__toggle-bar[data-astro-cid-ctg3m53h]:nth-child(3){opacity:0}.site-header__toggle[data-astro-cid-ctg3m53h][aria-expanded=true] .site-header__toggle-bar[data-astro-cid-ctg3m53h]:nth-child(4){transform:translateY(-7px) rotate(-45deg)}@media (max-width: 64rem){.site-header__inner[data-astro-cid-ctg3m53h]{min-height:4.25rem;flex-wrap:wrap}.site-header__brand[data-astro-cid-ctg3m53h],.site-header__toggle[data-astro-cid-ctg3m53h]{position:relative;z-index:2}.site-header__nav[data-astro-cid-ctg3m53h]{flex:1 0 100%;border-top:1px solid var(--color-border)}.js .site-header__inner[data-astro-cid-ctg3m53h]{flex-wrap:nowrap}.js .site-header__toggle[data-astro-cid-ctg3m53h]{display:flex;background-color:var(--color-surface);transition:transform var(--duration-fast) var(--ease-out)}.js .site-header__nav[data-astro-cid-ctg3m53h]{display:block;position:absolute;top:calc(100% + 0.5rem);left:var(--container-pad);right:var(--container-pad);z-index:1;max-height:calc(100vh - 4rem);max-height:calc(100dvh - 4.25rem);overflow-y:auto;overscroll-behavior:contain;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-0.5rem);transform-origin:top;transition:opacity 220ms var(--ease-out),transform 220ms var(--ease-out),visibility 0s linear 220ms}.js .site-header__nav[data-astro-cid-ctg3m53h].is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}.site-header__list[data-astro-cid-ctg3m53h]{flex-direction:column;align-items:stretch;gap:0;padding:0.75rem var(--container-pad) 1rem}.site-header__link[data-astro-cid-ctg3m53h]{display:flex;align-items:center;min-height:2.875rem;padding:0.65rem 0.75rem;font-size:var(--text-base);border-bottom:none;border-radius:var(--radius-sm)}.site-header__link[data-astro-cid-ctg3m53h][aria-current=page]{background-color:var(--color-accent-soft)}.site-header__cta[data-astro-cid-ctg3m53h]{width:100%;min-height:3rem;margin-top:0.5rem;justify-content:center;display:flex}html.menu-open{overflow:hidden}}@media (max-width: 25rem){.site-header__mark[data-astro-cid-ctg3m53h]{width:2.25rem;height:2.25rem}.site-header__name[data-astro-cid-ctg3m53h]{font-size:1rem}}@media (prefers-reduced-motion: reduce){.site-header__toggle[data-astro-cid-ctg3m53h],.site-header__toggle-bar[data-astro-cid-ctg3m53h],.site-header__nav[data-astro-cid-ctg3m53h]{transition:none}}.site-footer[data-astro-cid-gcn2mc3v]{background-color:var(--color-dark-bg);color:var(--color-dark-muted);padding-block:clamp(3.5rem,8vw,6rem) calc(1.5rem + env(safe-area-inset-bottom));font-size:var(--text-sm)}.site-footer__grid[data-astro-cid-gcn2mc3v]{display:grid;gap:2.5rem 1.5rem;padding-bottom:clamp(2.5rem,5vw,4rem);border-bottom:1px solid var(--color-dark-border)}.site-footer__brand[data-astro-cid-gcn2mc3v]{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700;color:#ffffff;margin-bottom:var(--space-sm)}.site-footer__tagline[data-astro-cid-gcn2mc3v]{max-width:36ch;line-height:1.65}.site-footer[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v].site-footer__contact{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);max-width:24rem;margin-top:var(--space-lg);padding-block:var(--space-md);border-block:1px solid var(--color-dark-border);color:#ffffff;font-family:var(--font-heading);font-weight:650}.site-footer__contact[data-astro-cid-gcn2mc3v] i[data-astro-cid-gcn2mc3v]{color:var(--color-accent-on-dark);font-size:var(--text-lg);font-style:normal;transition:transform var(--duration-fast) var(--ease-out)}.site-footer__heading[data-astro-cid-gcn2mc3v]{font-family:var(--font-heading);font-weight:700;color:#ffffff;margin-bottom:0.5rem;font-size:var(--text-xs);letter-spacing:0.1em;text-transform:uppercase}.site-footer__col[data-astro-cid-gcn2mc3v] ul[data-astro-cid-gcn2mc3v]{list-style:none;margin:0;padding:0;display:grid;gap:0.2rem}.site-footer[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]{color:var(--color-dark-muted);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}.site-footer__col[data-astro-cid-gcn2mc3v] li[data-astro-cid-gcn2mc3v]{line-height:1.5}.site-footer__col[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]{display:inline-flex;align-items:center;min-height:2.6rem}@media (hover: hover) and (pointer: fine){.site-footer[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]:hover{color:#ffffff}.site-footer__contact[data-astro-cid-gcn2mc3v]:hover i[data-astro-cid-gcn2mc3v]{transform:translateX(0.3rem)}}.site-footer__bottom[data-astro-cid-gcn2mc3v]{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-md);padding-top:1.5rem}.site-footer__legal[data-astro-cid-gcn2mc3v]{display:flex;flex-wrap:wrap;gap:0 1rem;list-style:none;margin:0;padding:0}@media (min-width: 40rem){.site-footer__grid[data-astro-cid-gcn2mc3v]{grid-template-columns:1fr 1fr}.site-footer__about[data-astro-cid-gcn2mc3v]{grid-column:1 / -1}.site-footer__heading[data-astro-cid-gcn2mc3v]{margin-bottom:0.85rem}.site-footer__bottom[data-astro-cid-gcn2mc3v]{align-items:center;padding-top:var(--space-lg)}.site-footer__legal[data-astro-cid-gcn2mc3v]{gap:var(--space-sm) var(--space-lg)}}@media (min-width: 68rem){.site-footer__grid[data-astro-cid-gcn2mc3v]{grid-template-columns:minmax(18rem,1.55fr) repeat(3,minmax(9rem,1fr));gap:clamp(2rem,4vw,4.5rem)}.site-footer__about[data-astro-cid-gcn2mc3v]{grid-column:auto}}@media (prefers-reduced-motion: reduce){.site-footer__contact[data-astro-cid-gcn2mc3v] i[data-astro-cid-gcn2mc3v]{transition:none}}.cookie-leiste[data-astro-cid-garwan2p]{position:fixed;inset-inline:0;bottom:0;z-index:90;display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm) var(--space-xl);padding:var(--space-sm) var(--container-pad);padding-top:var(--space-md);padding-bottom:max(var(--space-sm),env(safe-area-inset-bottom));background-color:var(--color-dark-bg);color:var(--color-dark-text)}.cookie-leiste__text[data-astro-cid-garwan2p]{flex:1 1 100%;margin:0;font-size:var(--text-sm)}.cookie-leiste__text[data-astro-cid-garwan2p] a[data-astro-cid-garwan2p]{color:inherit;text-decoration:underline;text-underline-offset:3px}.cookie-leiste__aktionen[data-astro-cid-garwan2p]{display:flex;align-items:center;gap:var(--space-sm);margin-left:0;width:100%}.cookie-leiste__einstellungen[data-astro-cid-garwan2p]{flex:1;padding:0.5rem 1rem;border:1px solid var(--color-dark-border);border-radius:var(--radius-sm);color:var(--color-dark-text);font-size:var(--text-sm);text-decoration:none;text-align:center;justify-content:center;white-space:nowrap}.cookie-leiste__einstellungen[data-astro-cid-garwan2p]:hover{border-color:var(--color-dark-text)}.cookie-leiste__zustimmen[data-astro-cid-garwan2p]{flex:1;padding:0.5rem 1.1rem;border:1px solid #ffffff;border-radius:var(--radius-sm);background-color:#ffffff;color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;text-align:center;justify-content:center;cursor:pointer;white-space:nowrap}.cookie-leiste__zustimmen[data-astro-cid-garwan2p]:hover{background-color:var(--color-dark-text);border-color:var(--color-dark-text)}.cookie-leiste__schliessen[data-astro-cid-garwan2p]{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-dark-text);cursor:pointer}.cookie-leiste__schliessen[data-astro-cid-garwan2p]:hover{background-color:var(--color-dark-surface)}.cookie-leiste[data-astro-cid-garwan2p] a[data-astro-cid-garwan2p]:focus-visible,.cookie-leiste[data-astro-cid-garwan2p] button[data-astro-cid-garwan2p]:focus-visible{outline:2px solid var(--color-accent-on-dark);outline-offset:2px}@media (min-width: 52.01rem){.cookie-leiste[data-astro-cid-garwan2p]{padding-top:var(--space-sm)}.cookie-leiste__text[data-astro-cid-garwan2p]{flex:0 1 auto}.cookie-leiste__aktionen[data-astro-cid-garwan2p]{margin-left:auto;width:auto}.cookie-leiste__einstellungen[data-astro-cid-garwan2p],.cookie-leiste__zustimmen[data-astro-cid-garwan2p]{flex:0 1 auto}.cookie-leiste__einstellungen[data-astro-cid-garwan2p]{text-align:start}}