

:root {
  --bg: #0B0B0C;
  --surface: #16161A;
  --text: #FAFAFA;
  --muted: #8A8A93;
  --accent: #C6FF3A;
  --accent2: #3A3A42;

  --site-bg: #0B0B0C;
  --site-surface: #16161A;
  --site-text: #FAFAFA;
  --site-muted: #8A8A93;
  --site-accent: #C6FF3A;

  --hair: rgba(138,138,147,0.24);
  --hair-soft: rgba(138,138,147,0.12);
  --measure: 66ch;
  --wrap: 680px;
  --pad: clamp(20px, 5vw, 28px);

  --f-head: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --f-body: "Atkinson Hyperlegible", system-ui, sans-serif;
}

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

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--f-body);
  font-size: 17px;
  line-height: 1.7;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; }

h1, h2, h3, h4 {
  font-family: var(--f-head);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.02em;
  margin: 0 0 .5em;
}

a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }

p { margin: 0 0 1rem; max-width: var(--measure); }

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

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

.fn-section { padding-block: clamp(56px, 12vw, 96px); }

.fn-rule { height: 1px; background: var(--hair); border: 0; margin: 0; }

.fn-marker {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 34px;
}
.fn-marker-num {
  font-family: var(--f-head);
  font-weight: 700;
  font-size: clamp(2.4rem, 9vw, 3.6rem);
  color: var(--accent2);
  line-height: 1;
  letter-spacing: -0.04em;
}
.fn-marker-tick { color: var(--accent); font-family: var(--f-head); font-size: 1.1rem; }
.fn-marker-label {
  font-family: var(--f-head);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .28em;
  color: var(--muted);
}
.fn-marker-line { flex: 1 1 60px; min-width: 40px; height: 1px; background: var(--hair); align-self: center; }

.fn-eyebrow {
  font-family: var(--f-head);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .3em;
  color: var(--accent);
  margin: 0 0 16px;
}

#masthead-q1s {
  position: sticky;
  top: 0;
  z-index: 60;
  background: rgba(11,11,12,0.86);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--hair-soft);
}
#masthead-q1s.is-scrolled { border-bottom-color: var(--hair); }

.fn-nav-bar {
  height: 70px;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 16px;
}

.fn-nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
  margin: 0;
  padding: 0;
  list-style: none;
  order: 1;
}
.fn-nav-links a {
  font-family: var(--f-head);
  font-size: .82rem;
  letter-spacing: .02em;
  color: var(--text);
}
.fn-nav-links a:hover { color: var(--accent); text-decoration: none; }

.fn-nav-ctrl {
  order: 2;
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border: 1px solid var(--hair);
  background: var(--surface);
  color: var(--muted);
  font-family: var(--f-head);
  font-size: .74rem;
  letter-spacing: .12em;
  cursor: pointer;
}
.fn-nav-ctrl:hover { color: var(--text); border-color: var(--muted); }

.fn-brand {
  order: 3;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.fn-brand-mark { width: 26px; height: 26px; display: block; }
.fn-brand-name {
  font-family: var(--f-head);
  font-weight: 700;
  font-size: 1.12rem;
  letter-spacing: -0.02em;
  color: var(--text);
}
.fn-brand:hover { text-decoration: none; }

.fn-nav-toggle {
  order: 1;
  display: none;
  align-items: center;
  justify-content: center;
  width: 42px; height: 42px;
  background: var(--surface);
  border: 1px solid var(--hair);
  color: var(--text);
  cursor: pointer;
}

#slideout-46o {
  position: fixed;
  top: 0; right: 0;
  height: 100%;
  width: min(320px, 84vw);
  background: var(--surface);
  border-left: 1px solid var(--hair);
  transform: translateX(100%);
  transition: transform .3s ease;
  z-index: 80;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
#slideout-46o.is-open { transform: translateX(0); }
#slideout-46o a {
  font-family: var(--f-head);
  color: var(--text);
  padding: 12px 4px;
  border-bottom: 1px solid var(--hair-soft);
}
.fn-drawer-top { display: flex; justify-content: flex-end; margin-bottom: 8px; }
#close-menu-014 {
  background: none; border: 0; color: var(--muted);
  font-size: 1.5rem; cursor: pointer; line-height: 1;
}
#veil-tz6 {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.6);
  opacity: 0; visibility: hidden;
  transition: opacity .3s ease;
  z-index: 70;
}
#veil-tz6.is-open { opacity: 1; visibility: visible; }

.trigger-hpb {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--f-head);
  font-size: .84rem;
  font-weight: 700;
  letter-spacing: .04em;
  padding: 14px 24px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--text);
  cursor: pointer;
  border-radius: 0;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.trigger-hpb:hover { text-decoration: none; }
.trigger-hpb--primary {
  background: var(--accent);
  color: #0B0B0C;
}
.trigger-hpb--primary:hover { background: #d6ff64; }
.trigger-hpb--ghost {
  border-color: var(--hair);
  color: var(--text);
  background: transparent;
}
.trigger-hpb--ghost:hover { border-color: var(--accent); color: var(--accent); }
.trigger-hpb:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.trigger-hpb:disabled { opacity: .5; cursor: not-allowed; }

.panel-8vm {
  background: var(--surface);
  border: 1px solid var(--hair);
  padding: clamp(22px, 5vw, 34px);
  border-radius: 0;
}
.chip-8cr {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--f-head);
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--muted);
  border: 1px solid var(--hair);
  padding: 4px 10px;
}

.field-yp8 {
  width: 100%;
  min-width: 0;
  font-family: var(--f-body);
  font-size: 1rem;
  color: var(--text);
  background: var(--bg);
  border: 1px solid var(--hair);
  padding: 13px 14px;
  border-radius: 0;
}
.field-yp8::placeholder { color: var(--muted); }
.field-yp8:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-color: var(--accent); }
textarea.field-yp8 { min-height: 140px; resize: vertical; }

.fn-field { margin-bottom: 16px; }
.fn-label {
  display: block;
  font-family: var(--f-head);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--muted);
  margin-bottom: 8px;
}

.fn-hero {
  background: var(--surface);
  border: 1px solid var(--hair);
  padding: clamp(40px, 9vw, 76px) clamp(24px, 6vw, 60px);
  text-align: center;
  margin-top: clamp(48px, 9vw, 80px);
}
.fn-hero-title {
  font-size: clamp(2.2rem, 8vw, 4rem);
  margin-bottom: 20px;
}
.fn-hero-sub {
  color: var(--muted);
  font-size: clamp(1rem, 2.4vw, 1.18rem);
  margin: 0 auto 30px;
  max-width: 52ch;
}
.fn-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
}

.fn-phero { padding-top: clamp(48px, 10vw, 90px); }
.fn-phero--band {
  background: var(--surface);
  border: 1px solid var(--hair);
  padding: clamp(40px, 8vw, 70px) clamp(24px, 5vw, 48px);
  margin-top: clamp(40px, 8vw, 72px);
}
.fn-phero--center { text-align: center; }
.fn-phero--type { border: 0; background: transparent; padding-inline: 0; }
.fn-phero-title { font-size: clamp(2rem, 7vw, 3.4rem); }
.fn-phero-sub { color: var(--muted); max-width: 56ch; }
.fn-phero--center .fn-phero-sub { margin-inline: auto; }

.fn-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 1px;
  background: var(--hair);
  border: 1px solid var(--hair);
}
.fn-stat {
  flex: 1 1 160px;
  min-width: 0;
  background: var(--bg);
  padding: 28px 22px;
}
.fn-stat-num {
  font-family: var(--f-head);
  font-weight: 700;
  font-size: clamp(2rem, 6vw, 3rem);
  color: var(--accent);
  line-height: 1;
}
.fn-stat-label {
  font-family: var(--f-head);
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .18em;
  color: var(--muted);
  margin-top: 12px;
}

.fn-stats--boxed { background: transparent; border: 0; gap: 16px; }
.fn-stats--boxed .fn-stat { border: 1px solid var(--hair); background: var(--surface); }

.fn-svc { border-top: 1px solid var(--hair); }
.fn-svc-row {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(16px, 4vw, 32px);
  align-items: center;
  padding-block: clamp(28px, 5vw, 44px);
  border-bottom: 1px solid var(--hair);
}
.fn-svc-row:nth-child(even) { flex-direction: row-reverse; }
.fn-svc-media {
  flex: 1 1 240px;
  min-width: 0;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border: 1px solid var(--hair);
}
.fn-svc-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.fn-svc-body { flex: 1 1 240px; min-width: 0; }
.fn-svc-body h3 { font-size: 1.3rem; }

.fn-svc-list { list-style: none; margin: 0; padding: 0; }
.fn-svc-item {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  padding-block: 24px;
  border-bottom: 1px solid var(--hair);
}
.fn-svc-item:first-child { border-top: 1px solid var(--hair); }
.fn-svc-index {
  font-family: var(--f-head);
  font-weight: 700;
  color: var(--accent2);
  font-size: 1.4rem;
  flex: 0 0 auto;
}
.fn-svc-item-body { flex: 1 1 260px; min-width: 0; }
.fn-svc-item-body h3 { font-size: 1.1rem; margin-bottom: 6px; }
.fn-svc-item-body p { margin: 0; color: var(--muted); }

.fn-svc-two {
  display: flex;
  flex-wrap: wrap;
  gap: 1px;
  background: var(--hair);
  border: 1px solid var(--hair);
}
.fn-svc-two > * {
  flex: 1 1 260px;
  min-width: 0;
  background: var(--bg);
  padding: 26px;
}

.fn-team {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.fn-team-card {
  flex: 1 1 200px;
  min-width: 0;
  background: var(--surface);
  border: 1px solid var(--hair);
}
.fn-team-photo { aspect-ratio: 3 / 4; overflow: hidden; }
.fn-team-photo img { display: block; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.05); }
.fn-team-info { padding: 18px; }
.fn-team-info h3 { font-size: 1.05rem; margin-bottom: 4px; }
.fn-team-role { font-family: var(--f-head); font-size: .74rem; letter-spacing: .1em; color: var(--accent); text-transform: uppercase; }

.fn-people { list-style: none; margin: 0; padding: 0; }
.fn-people li {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: baseline;
  padding-block: 20px;
  border-bottom: 1px solid var(--hair);
}
.fn-people li:first-child { border-top: 1px solid var(--hair); }
.fn-people-name { flex: 1 1 180px; min-width: 0; font-family: var(--f-head); font-weight: 700; }
.fn-people-role { flex: 1 1 180px; min-width: 0; color: var(--muted); }

.fn-news { list-style: none; margin: 0; padding: 0; }
.fn-news-item {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(12px, 4vw, 34px);
  padding-block: 24px;
  border-bottom: 1px solid var(--hair);
}
.fn-news-item:first-child { border-top: 1px solid var(--hair); }
.fn-news-date {
  flex: 0 0 auto;
  font-family: var(--f-head);
  font-size: .78rem;
  letter-spacing: .1em;
  color: var(--muted);
  min-width: 88px;
}
.fn-news-body { flex: 1 1 260px; min-width: 0; }
.fn-news-body h3 { font-size: 1.12rem; margin-bottom: 6px; }
.fn-news-body h3 a { color: var(--text); }
.fn-news-body h3 a:hover { color: var(--accent); }
.fn-news-body p { margin: 0; color: var(--muted); }
.fn-news--compact .fn-news-item { padding-block: 16px; }
.fn-year-head {
  font-family: var(--f-head);
  font-size: 1.6rem;
  color: var(--accent2);
  margin-bottom: 8px;
}

.fn-nl {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(20px, 5vw, 40px);
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--hair);
  padding: clamp(24px, 5vw, 40px);
}
.fn-nl-promise { flex: 1 1 240px; min-width: 0; }
.fn-nl-promise h3 { font-size: 1.5rem; }
.fn-nl-promise p { color: var(--muted); margin: 0; }
.fn-nl-form { flex: 1 1 260px; min-width: 0; }
.fn-nl-form .fn-field { margin-bottom: 12px; }

.fn-nl--band { flex-direction: column; text-align: center; }
.fn-nl-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  width: 100%;
  max-width: 480px;
  margin-inline: auto;
}
.fn-nl-inline .field-yp8 { flex: 1 1 200px; }
.fn-nl-inline .trigger-hpb { flex: 0 0 auto; }

.fn-phases { border-top: 1px solid var(--hair); }
.fn-phase {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(16px, 5vw, 40px);
  padding-block: clamp(28px, 5vw, 44px);
  border-bottom: 1px solid var(--hair);
}
.fn-phase-num {
  font-family: var(--f-head);
  font-weight: 700;
  font-size: clamp(2.4rem, 8vw, 3.4rem);
  color: var(--accent2);
  line-height: 1;
  flex: 0 0 auto;
}
.fn-phase-body { flex: 1 1 280px; min-width: 0; }
.fn-phase-body h3 { font-size: 1.25rem; }
.fn-phase-body p { color: var(--muted); margin: 0; }

.fn-phase-table { width: 100%; border-collapse: collapse; }
.fn-phase-table th, .fn-phase-table td {
  text-align: left;
  padding: 18px 12px;
  border-bottom: 1px solid var(--hair);
  vertical-align: top;
}
.fn-phase-table th {
  font-family: var(--f-head);
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--muted);
  font-weight: 700;
}
.fn-phase-table td:first-child {
  font-family: var(--f-head);
  color: var(--accent);
  width: 60px;
}

.fn-res {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}
.fn-res-card {
  flex: 1 1 260px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: var(--surface);
  border: 1px solid var(--hair);
  padding: 24px;
  color: var(--text);
}
.fn-res-card:hover { border-color: var(--accent); text-decoration: none; }
.fn-res-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  font-family: var(--f-head);
  font-size: .7rem;
  letter-spacing: .12em;
  color: var(--muted);
  text-transform: uppercase;
}
.fn-res-card h3 { font-size: 1.1rem; margin: 0; }

.fn-res-feature {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(20px, 5vw, 36px);
  margin-bottom: 32px;
}
.fn-res-feature-media {
  flex: 1 1 260px;
  min-width: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border: 1px solid var(--hair);
}
.fn-res-feature-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.fn-res-feature-body { flex: 1 1 260px; min-width: 0; }
.fn-res-short { list-style: none; margin: 0; padding: 0; }
.fn-res-short li { padding-block: 14px; border-bottom: 1px solid var(--hair); }
.fn-res-short li:first-child { border-top: 1px solid var(--hair); }
.fn-res-short a { color: var(--text); font-family: var(--f-head); font-size: .95rem; }
.fn-res-short a:hover { color: var(--accent); }

.fn-cta {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(20px, 5vw, 40px);
  align-items: center;
  justify-content: space-between;
  background: var(--surface);
  border: 1px solid var(--hair);
  padding: clamp(28px, 5vw, 44px);
}
.fn-cta-copy { flex: 1 1 260px; min-width: 0; }
.fn-cta-copy h2 { font-size: clamp(1.6rem, 4vw, 2.2rem); }
.fn-cta-copy p { color: var(--muted); margin: 0; }
.fn-cta-contact {
  flex: 1 1 220px;
  min-width: 0;
  font-family: var(--f-head);
  font-size: .85rem;
}
.fn-cta-contact a { display: block; padding: 4px 0; color: var(--text); }
.fn-cta-contact a:hover { color: var(--accent); }
.fn-cta--center { flex-direction: column; text-align: center; justify-content: center; }
.fn-cta--center .fn-hero-actions { justify-content: center; }

.fn-contact {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(24px, 5vw, 44px);
}
.fn-contact-form { flex: 2 1 300px; min-width: 0; }
.fn-contact-info { flex: 1 1 220px; min-width: 0; }
.fn-contact-info dt {
  font-family: var(--f-head);
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--muted);
  margin-top: 18px;
}
.fn-contact-info dd { margin: 4px 0 0; }
.fn-contact-info a { color: var(--text); }
.fn-contact-info a:hover { color: var(--accent); }
.fn-form-actions { margin-top: 8px; }

.fn-legal { padding-top: clamp(40px, 8vw, 72px); }
.fn-legal h1 { font-size: clamp(1.8rem, 6vw, 2.8rem); }
.fn-legal h2 { font-size: 1.3rem; margin-top: 2em; }
.fn-legal p, .fn-legal li { color: var(--muted); }
.fn-legal a { color: var(--accent); }

[data-collapse-item] { border-bottom: 1px solid var(--hair); }
[data-collapse-item]:first-child { border-top: 1px solid var(--hair); }
[data-acc-head] {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: none;
  border: 0;
  color: var(--text);
  font-family: var(--f-head);
  font-size: 1rem;
  text-align: left;
  padding: 20px 4px;
  cursor: pointer;
}
[data-acc-head] .fn-acc-icon { color: var(--accent); transition: transform .3s ease; flex: 0 0 auto; }
[data-collapse-item].is-open [data-acc-head] .fn-acc-icon { transform: rotate(45deg); }
.fn-acc-body { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
[data-collapse-item].is-open .fn-acc-body { max-height: 600px; }
.fn-acc-body-inner { padding: 0 4px 22px; color: var(--muted); }

.glider-cyy { padding-bottom: 44px; }
.glider-cyy .swiper-slide {
  background: var(--surface);
  border: 1px solid var(--hair);
  padding: 26px;
  height: auto;
}
.glider-cyy .swiper-pagination-bullet { background: var(--muted); opacity: 1; }
.glider-cyy .swiper-pagination-bullet-active { background: var(--accent); }
.glider-cyy .swiper-button-prev,
.glider-cyy .swiper-button-next { color: var(--accent); }
.glider-cyy .swiper-button-prev::after,
.glider-cyy .swiper-button-next::after { font-size: 1.3rem; }

.site-modal, .popup-djx {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(0,0,0,0.72);
}
.site-modal.is-open, .popup-djx.is-open { display: flex; }
.fn-modal-dialog, .popup-djx .fn-modal-dialog {
  width: min(460px, 100%);
  background: var(--surface);
  border: 1px solid var(--hair);
  padding: clamp(26px, 5vw, 38px);
}
.fn-modal-dialog h2 { font-size: 1.4rem; }
.fn-modal-dialog p { color: var(--muted); }
.fn-modal-close {
  float: right;
  background: none; border: 0;
  color: var(--muted);
  font-size: 1.4rem; line-height: 1;
  cursor: pointer;
}
.fn-modal-close:hover { color: var(--text); }

#action-dock-a3z {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 50;
}
#top-btn-qnu {
  width: 46px; height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--accent);
  color: #0B0B0C;
  border: 0;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s ease;
}
#top-btn-qnu.is-visible { opacity: 1; visibility: visible; }
#top-btn-qnu:hover { background: #d6ff64; }

.fn-footer {
  border-top: 1px solid var(--hair);
  margin-top: clamp(56px, 10vw, 96px);
}
.fn-foot-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-block: 26px;
  border-bottom: 1px solid var(--hair);
}
.fn-foot-brand .fn-brand-name { font-size: 1.2rem; }
.fn-foot-tag { color: var(--muted); font-family: var(--f-head); font-size: .78rem; margin-left: auto; }
.fn-foot-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  padding-block: 18px;
  border-bottom: 1px solid var(--hair);
}
.fn-foot-key {
  flex: 0 0 140px;
  min-width: 0;
  font-family: var(--f-head);
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .18em;
  color: var(--muted);
}
.fn-foot-val { flex: 1 1 240px; min-width: 0; }
.fn-foot-val a { color: var(--text); }
.fn-foot-val a:hover { color: var(--accent); }
.fn-foot-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}
.fn-foot-nav a { font-family: var(--f-head); font-size: .82rem; color: var(--text); }
.fn-foot-nav a:hover { color: var(--accent); }
.fn-foot-copy {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  justify-content: space-between;
  padding-block: 20px;
  color: var(--muted);
  font-size: .8rem;
  font-family: var(--f-head);
}
.fn-foot-legal { display: flex; flex-wrap: wrap; gap: 16px; }
.fn-foot-legal a { color: var(--muted); }
.fn-foot-legal a:hover { color: var(--accent); }

[data-aos] { pointer-events: none; }
[data-aos].aos-animate { pointer-events: auto; }

@media (max-width: 720px) {
  .fn-nav-links { display: none; }
  .fn-nav-ctrl { display: none; }
  .fn-nav-toggle { display: inline-flex; }
  .fn-nav-bar { justify-content: space-between; }
  .fn-brand { margin-left: auto; }
}
@media (min-width: 721px) {
  #slideout-46o, #veil-tz6 { display: none; }
}

.ck-4i3-overlay{position:fixed;inset:0;opacity:0;visibility:hidden;transition:.25s;z-index:9998;}
.ck-4i3-overlay.is-open{opacity:1;visibility:visible;}
.ck-4i3-panel{position:fixed;background:var(--site-surface,#fff);color:var(--site-text,#1a1a1a);
  box-shadow:0 20px 60px rgba(0,0,0,.28);padding:24px;opacity:0;visibility:hidden;transition:.25s;z-index:9999;}
.ck-4i3-panel.is-open{opacity:1;visibility:visible;}
.ck-4i3-panel h3{margin:0 0 8px;font-size:1.2rem;}
.ck-4i3-panel>p{margin:0 0 16px;color:var(--site-muted,#666);font-size:.95rem;}
.ck-4i3-cat{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid rgba(128,128,128,.2);}
.ck-4i3-cat h4{margin:0 0 2px;font-size:.98rem;}
.ck-4i3-cat p{margin:0;color:var(--site-muted,#777);font-size:.85rem;}
.ck-4i3-switch{position:relative;flex:0 0 auto;width:44px;height:24px;}
.ck-4i3-switch input{opacity:0;width:0;height:0;position:absolute;}
.ck-4i3-switch span{position:absolute;inset:0;background:#c9c9c9;border-radius:999px;transition:.2s;cursor:pointer;}
.ck-4i3-switch span::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;}
.ck-4i3-switch input:checked+span{background:var(--site-accent,#2b7);}
.ck-4i3-switch input:checked+span::before{transform:translateX(20px);}
.ck-4i3-switch input:disabled+span{opacity:.6;cursor:not-allowed;}
.ck-4i3-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.ck-4i3-actions button{flex:1;min-width:140px;padding:11px 16px;border:none;border-radius:10px;font:inherit;font-weight:600;cursor:pointer;}
.ck-4i3-actions #ck-4i3-all{background:var(--site-accent,#2b7);color:#fff;}
.ck-4i3-actions #ck-4i3-save{background:transparent;color:var(--site-text,#222);border:1px solid rgba(128,128,128,.4);}
.ck-4i3-links{display:flex;gap:16px;margin-top:14px;font-size:.85rem;}
.ck-4i3-links a{color:var(--site-accent,#2b7);text-decoration:underline;}
.ck-4i3-trigger{position:fixed;left:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
  background:var(--site-surface,#fff);color:var(--site-accent,#2b7);box-shadow:0 6px 18px rgba(0,0,0,.2);z-index:9997;font-size:1.1rem;}

.ck-4i3-overlay{background:rgba(0,0,0,.5);}
.ck-4i3-panel{left:50%;bottom:24px;transform:translate(-50%,20px);width:min(560px,calc(100% - 32px));border-radius:16px;}
.ck-4i3-panel.is-open{transform:translate(-50%,0);}
@media(max-width:520px){.ck-4i3-actions button{min-width:100%;}}
#action-dock-a3z{left:auto !important;right:18px !important;}
@media(max-width:520px){#action-dock-a3z{right:12px !important;}}

.submit-ok-sjx{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;
  padding:20px;background:rgba(8,10,14,.55);backdrop-filter:blur(2px);}
.submit-ok-sjx.is-open{display:flex;}
.submit-ok-sjx__box{width:min(420px,100%);background:var(--site-surface,#fff);color:var(--site-text,#15181d);
  border-radius:16px;padding:32px 28px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.28);
  animation:submit-ok-sjx-in .22s ease-out;}
@keyframes submit-ok-sjx-in{from{opacity:0;transform:translateY(12px) scale(.97);}to{opacity:1;transform:none;}}
.submit-ok-sjx__mark{width:56px;height:56px;margin:0 auto 18px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;font-size:26px;line-height:1;
  background:var(--site-accent,#2e7d5b);color:#fff;}
.submit-ok-sjx__title{margin:0 0 10px;font-size:1.35rem;line-height:1.25;}
.submit-ok-sjx__text{margin:0 0 24px;line-height:1.6;color:var(--site-muted,#5b6472);}
.submit-ok-sjx__close{display:inline-block;cursor:pointer;border:0;border-radius:999px;
  padding:12px 30px;font:inherit;font-weight:600;background:var(--site-accent,#2e7d5b);color:#fff;}
.submit-ok-sjx__close:hover{filter:brightness(1.08);}
.submit-ok-sjx__close:focus-visible{outline:2px solid var(--site-text,#15181d);outline-offset:3px;}
@media(prefers-reduced-motion:reduce){.submit-ok-sjx__box{animation:none;}}

*,*::before,*::after{box-sizing:border-box;}
html,body{overflow-x:hidden;overflow-x:clip;max-width:100%;}
img,svg,video,iframe,canvas{max-width:100%;}
table{max-width:100%;}

.simpleParallax{display:block;width:100%;height:100%;}
.simpleParallax img{width:100%;height:100%;object-fit:cover;}

blockquote, figure { margin-left: 0; margin-right: 0; }

figure > blockquote, figure > figcaption { margin-left: 0; margin-right: 0; }

html.no-aos [data-aos]{opacity:1 !important;transform:none !important;}

@media(prefers-reduced-motion:reduce){
  [data-aos]{opacity:1 !important;transform:none !important;transition:none !important;}
}

.legal-doc{max-width:72ch;margin:0 auto;padding:64px 20px;line-height:1.7;}
.legal-doc h1{margin:0 0 .6em;}
.legal-doc h2{margin:1.8em 0 .5em;}
.legal-doc h3{margin:1.4em 0 .4em;}
.legal-doc p,.legal-doc li{margin:0 0 .8em;}
.legal-doc ul,.legal-doc ol{padding-left:1.4em;margin:0 0 1em;}
.legal-doc table{width:100%;border-collapse:collapse;margin:0 0 1.2em;}
.legal-doc th,.legal-doc td{border:1px solid currentColor;padding:.5em;text-align:left;}

@media (max-width: 720px) {
  body { overflow-x: hidden; }
  h1, h2, h3, p, li, td { overflow-wrap: break-word; }
  
  input, select, textarea { max-width: 100%; min-width: 0; }
  
  img, svg, video, iframe, table { max-width: 100%; }
}

#menu-open-2xa{appearance:none;-webkit-appearance:none;background:none;border:0;padding:.4em;color:inherit;font:inherit;cursor:pointer;line-height:1;}

@media (max-width: 720px) {
  
.fn-nav-ctrl,
.fn-brand,
#slideout-46o,
.fn-drawer-top,
.trigger-hpb,
.chip-8cr,
.fn-res-card,
.site-modal.is-open, .popup-djx.is-open,
#top-btn-qnu,
.fn-foot-brand,
.ck-4i3-cat,
.ck-4i3-links,
.submit-ok-sjx.is-open,
.submit-ok-sjx__mark { flex-wrap: wrap; }
  
.fn-nav-ctrl > *,
.fn-brand > *,
#slideout-46o > *,
.fn-drawer-top > *,
.trigger-hpb > *,
.chip-8cr > *,
.fn-res-card > *,
.site-modal.is-open, .popup-djx.is-open > *,
#top-btn-qnu > *,
.fn-foot-brand > *,
.ck-4i3-cat > *,
.ck-4i3-links > *,
.submit-ok-sjx.is-open > *,
.submit-ok-sjx__mark > * { min-width: 0; }
}
