:root {
  --ink: #141e35;
  --paper: #f9faf8;
  --rule: #bdc6ca;
  --blue: #174891;
  --aqua: #52dfcf;
  font: 100%/1.55 "Segoe UI", Arial, sans-serif;
  color: var(--ink);
  background: var(--paper);
}
* { box-sizing: border-box }
body:has(.site-current) { isolation: isolate }
.site-current {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
}
body:has(.site-current) .wrap { position: relative; z-index: 1 }
body:has(.site-current) :is(.cover, .band, .contact) { position: relative; background: transparent }
body:has(.site-current) :is(.cover, .band, .contact)::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #131d34;
}
body:has(.site-current) .band::before { background: #e3eeeb }
.motion-control {
  padding: .5rem .75rem;
  color: var(--ink);
  border: 1px solid var(--rule);
  background: var(--paper);
  border-radius: 3px;
}
body:has(.site-current) .cover-grid { z-index: auto }
body:has(.site-current) .cover-grid > * { position: relative; z-index: 1 }
body:has(.site-current) .signature { mix-blend-mode: lighten }
body, figure, dl, dd, h1, h2 { margin: 0 }
a { color: inherit; text-underline-offset: .27em }
button, input, select { font: inherit }
button, summary { cursor: pointer }
:focus-visible { outline: 3px solid #bf7220; outline-offset: 4px }
.wrap { width: min(76rem, 90%); margin-inline: auto }
.bar, nav { display: flex; align-items: center; gap: clamp(1rem, 3vw, 3rem); flex-wrap: wrap }
.bar { min-height: 5rem; padding-block: 1rem }
.bar nav { margin-inline: auto }
.brand { display: inline-flex; align-items: center; gap: .65rem; text-decoration: none; font-size: 1.3rem; font-weight: 700 }
.brand img { border-radius: .4rem }
nav a { text-decoration: none }
nav a:hover { text-decoration: underline }
.contact-link, .demo-request { color: var(--blue); font-weight: 600 }
.cover, .contact { background: #131d34; color: white }
.cover-grid, .feature, .split { display: grid; align-items: start; gap: clamp(2rem, 6vw, 6rem) }
.cover-grid { grid-template-columns: 1.5fr 1fr; align-items: center; padding-block: clamp(3rem, 6vw, 6rem) }
.signature { width: 100%; height: auto; display: block }
h1, h2 { font-weight: 600; letter-spacing: -.035em; line-height: 1.07; text-wrap: balance }
h1 { font-size: clamp(2.35rem, 6.1vw, 5.9rem) }
h2 { font-size: clamp(2rem, 3.6vw, 3.65rem) }
p { max-width: 56ch; margin: 1rem 0; }
.cover p, .intro { font-size: clamp(1.12rem, 1.6vw, 1.45rem); line-height: 1.48 }
.cover p { color: #e1e9f3; max-width: 42ch; margin: 1.5rem 0 2rem }
.action, .submit { background: var(--aqua); color: #101d32; font-weight: 650; display: inline-block; border: 0; border-radius: 3px; padding: .85rem 1.3rem; text-decoration: none }
button, .action { transition: background-color .18s, transform .18s }
.action:hover, .submit:hover { background: #8aeee1; transform: translateY(-2px) }
.feature { grid-template-columns: 1fr 1fr; padding-block: clamp(3rem, 6vw, 6rem) 2.5rem }
.feature-copy p { margin-block: 1.3rem }
.demo-request { border: 0; border-bottom: 1px solid; padding: .45rem 0; background: transparent }
figure { padding: clamp(1.25rem, 3vw, 2.5rem); background: #e9efef }
figcaption { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px solid #aab6ba; padding-bottom: .8rem; font-weight: 650 }
figcaption span, dt, .price-row small, .num { color: #48576a; font-size: .94rem }
dt { margin: 1.1rem 0 .25rem; font-weight: 650 }
dd { font-size: 1.15rem }
.chapters { padding-bottom: clamp(3rem, 5vw, 5rem) }
details { border-top: 1px solid var(--rule); padding: 1.1rem 0 }
summary { font-size: clamp(1.1rem, 2vw, 1.45rem); font-weight: 550 }
.band { background: #e3eeeb }
.band, .block, .contact { padding-block: clamp(3rem, 6vw, 6rem) }
.split { grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr) }
.intro { margin-top: 0 }
.block + .block { border-top: 1px solid var(--rule) }
.price-row { display: grid; grid-template-columns: auto 1fr auto; width: 100%; text-align: left; align-items: baseline; gap: 1rem; padding: 1.15rem 0; border: 0; border-top: 1px solid var(--rule); background: transparent; color: inherit }
.price-row:hover, .diag-options button:hover { background: #e5ecec }
.price-row strong { white-space: nowrap }
.price-row small { display: block }
.round { display: none }
.diag-options { display: grid; gap: .5rem }
.diag-options button { text-align: left; padding: .8rem 1rem; background: var(--paper); border: 1px solid #89959c; color: var(--ink) }
.diag-options button.active { background: var(--ink); color: white }
.diag-result { margin-top: 1rem; color: #254963 }
.lead-form, .form-row { display: grid; gap: 1rem }
.form-row { grid-template-columns: 1fr 1fr }
label { display: grid; gap: .35rem; min-width: 0 }
input, select { width: 100%; min-width: 0; border: 1px solid #a7b7c6; background: white; color: var(--ink); padding: .7rem; border-radius: 2px }
input::placeholder { color: #566478 }
.consent { display: flex; align-items: baseline; gap: .65rem }
.consent input { width: auto; accent-color: var(--aqua) }
.invalid { outline: 2px solid #ff9f96 }
.error { color: #ffbeb7 }
.success { color: var(--aqua) }
.form-legal-note { margin: -.35rem 0 .2rem; color: #dce6f0; font-size: .875rem; max-width: 65ch }
.consent a, .form-legal-note a { text-decoration-thickness: 1px }
.site-footer { position: relative; color: var(--ink) }
.site-footer .brand { min-height: 44px }
.footer-main { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .75fr) minmax(0, 1.1fr); gap: clamp(2rem, 4vw, 4rem); padding-block: 3.5rem 2.5rem }
.footer-brand p { color: #48576a; max-width: 30ch; margin-block: 1rem 1.25rem }
.footer-title { font-size: 1rem; font-weight: 650; letter-spacing: 0; line-height: 1.5; margin-bottom: .65rem }
.footer-nav { display: block }
.footer-nav ul { list-style: none; margin: 0; padding: 0 }
.footer-nav a, .footer-contact-link { display: flex; align-items: center; width: fit-content; min-height: 44px; text-decoration: none; transition: color .18s }
.footer-nav a:hover, .footer-contact-link:hover { color: var(--blue); text-decoration: underline }
.footer-address { font-style: normal }
.footer-phone { font-size: clamp(1.25rem, 2vw, 1.65rem); font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap }
.footer-contact-link { max-width: 100%; overflow-wrap: anywhere }
.footer-up { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; color: var(--blue); text-decoration: none }
.footer-up svg { transition: transform .18s }
.footer-up:hover svg { transform: translateY(-3px) }
.footer-up:hover { text-decoration: underline }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem 2rem; padding-block: 1.25rem; border-top: 1px solid var(--rule); font-size: .875rem; color: #48576a }
.footer-bottom p { margin: 0 }
.footer-documents { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem }
.footer-documents a { display: inline-flex; align-items: center; min-height: 44px; text-decoration-thickness: 1px }
.footer-documents a:hover { color: var(--blue) }
.site-footer .motion-control { min-height: 44px; font-size: .875rem }
.legal-document { width: min(48rem, 90%); margin-inline: auto; padding-block: clamp(2.5rem, 6vw, 5rem) }
.legal-document h1 { font-size: clamp(2rem, 4vw, 3.5rem); overflow-wrap: anywhere }
.legal-document h2 { font-size: 1.4rem; letter-spacing: -.015em; margin-block: 2.25rem .8rem }
.legal-document p { max-width: 72ch }
.legal-document li { margin-block: .6rem }
.legal-date { color: #48576a; font-size: .94rem }
.legal-document a { color: var(--blue); overflow-wrap: anywhere }
.legal-document + .site-footer { border-top: 1px solid var(--rule) }
@media (max-width: 900px) {
  .footer-main { grid-template-columns: 1fr 1fr }
  .footer-brand { grid-column: 1 / -1 }
  .footer-brand p { max-width: 44ch }
}
@media (max-width: 560px) {
  .footer-main { grid-template-columns: 1fr; gap: 1.75rem; padding-block: 2.5rem 1.75rem }
  .footer-brand { grid-column: auto }
  .footer-contacts { grid-row: 2 }
  .footer-nav ul { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem }
  .footer-bottom { align-items: flex-start; gap: .75rem }
  .footer-documents { width: 100%; flex-direction: column; gap: 0 }
}
@media (max-width: 760px) {
  .cover-grid, .feature, .split { grid-template-columns: 1fr }
  .cover-grid { position: relative }
  .signature { width: 6rem; grid-row: 1 }
  .bar { justify-content: space-between; gap: .7rem }
  .bar nav { order: 3; width: 100%; gap: 1.2rem }
  .price-row { grid-template-columns: 1fr auto }
  .num { display: none }
}
@media (max-width: 480px) {
  .form-row { grid-template-columns: 1fr }
  .price-row { grid-template-columns: 1fr; gap: .35rem }
}
@media (prefers-reduced-motion: reduce) {
  button, .action { transition: none; transform: none !important }
  .footer-up svg, .footer-nav a, .footer-contact-link { transition: none; transform: none !important }
}
