:root {
  --ink: #10243e;
  --ink-2: #1f3653;
  --navy: #07182c;
  --navy-2: #0b203a;
  --blue: #3157e4;
  --blue-dark: #2443b8;
  --cyan: #61e5ff;
  --lime: #bcff6c;
  --violet: #7155f5;
  --green: #10a976;
  --amber: #ee9b2f;
  --rose: #e75a7c;
  --paper: #ffffff;
  --mist: #f3f7fb;
  --line: #dce5ee;
  --muted: #5d6d7f;
  --shell: 1180px;
  --shadow: 0 24px 60px rgba(17, 36, 62, .12);
  --radius: 22px;
}

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

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.nav-open { overflow: hidden; }

img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }

h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 { line-height: 1.1; letter-spacing: -.04em; }

h1 { font-size: clamp(3.4rem, 7vw, 6.9rem); font-weight: 720; }
h2 { font-size: clamp(2.45rem, 4.7vw, 4.6rem); font-weight: 700; }
h3 { font-size: 1.35rem; }

.shell { width: min(calc(100% - 48px), var(--shell)); margin-inline: auto; }
.section { padding: 120px 0; }
.section--tint { background: var(--mist); }
.icon { width: 1.35em; height: 1.35em; flex: 0 0 auto; }

.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}

.skip-link {
  position: fixed;
  z-index: 9999;
  top: 12px;
  left: 12px;
  padding: 10px 16px;
  color: var(--navy);
  background: var(--lime);
  font-weight: 750;
  border-radius: 8px;
  transform: translateY(-160%);
  transition: transform .2s ease;
}
.skip-link:focus { transform: none; }

.eyebrow {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 22px;
  color: var(--blue);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1.3;
  text-transform: uppercase;
}
.eyebrow--light { color: var(--cyan); }

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 54px;
  padding: 0 25px;
  border: 1px solid transparent;
  border-radius: 9px;
  text-decoration: none;
  font-size: .92rem;
  font-weight: 780;
  letter-spacing: -.01em;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.button:hover { transform: translateY(-2px); }
.button:focus-visible, .text-link:focus-visible, a:focus-visible, button:focus-visible { outline: 3px solid var(--cyan); outline-offset: 3px; }
.button--bright { color: var(--navy); background: var(--lime); box-shadow: 0 12px 32px rgba(188, 255, 108, .18); }
.button--bright:hover { background: #cdff92; box-shadow: 0 15px 36px rgba(188, 255, 108, .25); }
.button--dark { color: var(--navy); background: var(--lime); box-shadow: 0 12px 32px rgba(188,255,108,.18); }
.button--dark:hover { background: #cdff92; box-shadow: 0 15px 36px rgba(188,255,108,.25); }
.button--small { min-height: 44px; padding-inline: 18px; color: var(--navy); background: var(--lime); }
.button--block { width: 100%; }
.button .icon { width: 19px; transition: transform .2s ease; }
.button:hover .icon { transform: translateX(3px); }

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--blue);
  font-weight: 780;
  text-decoration: none;
}
.text-link--light { color: white; }
.text-link .icon { width: 18px; }

/* Header */
.site-header {
  position: absolute;
  z-index: 100;
  inset: 0 0 auto;
  height: 88px;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, .13);
  transition: background .25s ease, box-shadow .25s ease;
}
.site-header.is-scrolled {
  position: fixed;
  height: 76px;
  color: var(--ink);
  background: rgba(255, 255, 255, .96);
  border-bottom-color: var(--line);
  box-shadow: 0 8px 28px rgba(7, 24, 44, .08);
  backdrop-filter: blur(14px);
}
.site-header__inner { height: 100%; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; color: inherit; text-decoration: none; }
.brand__logo {
  display: block; width: clamp(220px, 21vw, 290px); height: auto; object-fit: contain;
}
.brand__logo--dark { object-fit: contain; }
.brand__logo--light { display: none; }
.site-header.is-scrolled .brand__logo--dark { display: none; }
.site-header.is-scrolled .brand__logo--light { display: block; }

.site-nav { display: flex; align-items: center; gap: 30px; }
.site-nav__list { display: flex; align-items: center; gap: 28px; margin: 0; padding: 0; list-style: none; }
.site-nav__list a { position: relative; color: inherit; text-decoration: none; font-size: .87rem; font-weight: 680; }
.site-nav__list a::after { content: ""; position: absolute; right: 0; bottom: -7px; left: 0; height: 2px; background: var(--lime); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.site-nav__list a:hover::after { transform: scaleX(1); }
.nav-toggle { display: none; width: 44px; height: 44px; padding: 0; color: inherit; background: transparent; border: 0; }
.nav-toggle__close { display: none; }
.nav-toggle[aria-expanded="true"] .nav-toggle__open { display: none; }
.nav-toggle[aria-expanded="true"] .nav-toggle__close { display: block; }

/* Hero */
.hero { position: relative; min-height: 680px; color: #fff; background: var(--navy); overflow: hidden; }
.hero__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 53% center; }
.hero__veil { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3, 16, 30, .97) 0%, rgba(3, 16, 30, .87) 38%, rgba(3, 16, 30, .38) 71%, rgba(3, 16, 30, .22) 100%), linear-gradient(0deg, rgba(3, 16, 30, .67), transparent 50%); }
.hero__inner { position: relative; min-height: 680px; display: flex; align-items: center; justify-content: space-between; gap: 25px; padding-top: 90px; }
.hero__content { width: min(660px, 58%); flex: 0 1 660px; padding: 42px 0; }
.hero h1 { max-width: 660px; margin-bottom: 22px; color: white; font-size: clamp(3rem, 4.6vw, 4.35rem); }
.hero h1 em { color: var(--cyan); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.hero__lead { max-width: 655px; margin-bottom: 32px; color: #d4dfeb; font-size: clamp(1.12rem, 2vw, 1.35rem); line-height: 1.58; }
.hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.hero__actions .button { padding-inline: 18px; white-space: nowrap; }
.hero__note { display: flex; align-items: center; gap: 9px; margin: 25px 0 0; color: #aebdcb; font-size: .85rem; }
.hero__note .icon { width: 17px; color: var(--lime); }
.hero__showcase { width: min(42vw, 495px); flex: 0 1 495px; transform: translateY(-24px); }
.hero__storefront {
  width: 100%; height: auto;
  filter: drop-shadow(0 24px 42px rgba(0,0,0,.34));
}
.pulse { display: block; width: 8px; height: 8px; background: var(--lime); border-radius: 50%; box-shadow: 0 0 0 5px rgba(188,255,108,.12); }

.trust-strip { position: relative; z-index: 2; color: #fff; background: var(--blue); }
.trust-strip__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-strip__grid > div { display: flex; align-items: center; gap: 15px; min-height: 108px; padding: 20px 30px; border-left: 1px solid rgba(255,255,255,.18); }
.trust-strip__grid > div:last-child { border-right: 1px solid rgba(255,255,255,.18); }
.trust-strip .icon { width: 26px; color: var(--lime); }
.trust-strip p { display: flex; flex-direction: column; margin: 0; line-height: 1.35; }
.trust-strip strong { font-size: .92rem; }
.trust-strip span { color: #cdd8ff; font-size: .72rem; }

/* General sections */
.section-heading { margin-bottom: 58px; }
.section-heading h2 { margin-bottom: 0; }
.section-heading--split { display: grid; grid-template-columns: 1.08fr .72fr; align-items: end; gap: 85px; }
.section-heading--split > p { margin: 0 0 7px; color: var(--muted); font-size: 1.05rem; }
.section-heading--center { max-width: 800px; margin-inline: auto; text-align: center; }
.section-heading--center .eyebrow { justify-content: center; }
.section-heading--center h2 { margin-bottom: 22px; }
.section-heading--center > p:last-child { max-width: 690px; margin-inline: auto; color: var(--muted); font-size: 1.05rem; }

.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; overflow: hidden; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius); }
.feature-card { min-height: 275px; padding: 36px 34px; background: #fff; }
.feature-card__icon { display: grid; width: 49px; height: 49px; margin-bottom: 29px; place-items: center; color: var(--blue); background: #eaf0ff; border-radius: 14px; }
.feature-card__icon--green { color: var(--green); background: #e7f9f2; }
.feature-card__icon--violet { color: var(--violet); background: #efebff; }
.feature-card__icon--amber { color: var(--amber); background: #fff4e3; }
.feature-card__icon--rose { color: var(--rose); background: #ffedf2; }
.feature-card__icon--blue { color: #1684be; background: #e5f7ff; }
.feature-card__icon .icon { width: 23px; }
.feature-card h3 { margin-bottom: 13px; }
.feature-card p { margin: 0; color: var(--muted); font-size: .93rem; }

/* Pricing */
.pricing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; max-width: 940px; margin-inline: auto; align-items: stretch; }
.price-card { position: relative; padding: 46px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 14px 40px rgba(17,36,62,.06); }
.price-card--featured { color: #fff; background: var(--navy); border-color: var(--navy); box-shadow: 0 24px 60px rgba(7,24,44,.2); }
.popular-tag { position: absolute; top: 0; right: 34px; padding: 8px 14px; color: var(--navy); background: var(--lime); border-radius: 0 0 8px 8px; font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.plan-label { margin-bottom: 8px; color: var(--blue); font-size: .72rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.price-card--featured .plan-label { color: var(--cyan); }
.price-card__top h3 { margin-bottom: 13px; font-size: 1.85rem; }
.price-card__top > p:last-child { min-height: 52px; margin-bottom: 30px; color: var(--muted); font-size: .91rem; }
.price-card--featured .price-card__top > p:last-child { color: #afbdca; }
.price { display: flex; align-items: flex-start; margin-bottom: 5px; }
.price__currency { margin: 8px 4px 0 0; font-size: 1.25rem; font-weight: 800; }
.price strong { font-size: 4.8rem; line-height: 1; letter-spacing: -.07em; }
.price__term { align-self: flex-end; margin: 0 0 7px 12px; color: var(--muted); font-size: .72rem; line-height: 1.35; }
.price-card--featured .price__term { color: #afbdca; }
.renewal { margin-bottom: 25px; color: var(--muted); font-size: .78rem; font-weight: 650; }
.price-card--featured .renewal { color: #afbdca; }
.check-list { display: grid; gap: 12px; margin: 28px 0 0; padding: 26px 0 0; border-top: 1px solid var(--line); list-style: none; }
.check-list li { display: flex; align-items: flex-start; gap: 10px; color: var(--ink-2); font-size: .88rem; }
.check-list .icon { width: 17px; margin-top: 3px; color: var(--green); stroke-width: 2.5; }
.check-list--light { border-top-color: rgba(255,255,255,.15); }
.check-list--light li { color: #d7e0e8; }
.check-list--light .icon { color: var(--lime); }
.plan-footnote { max-width: 740px; margin: 25px auto 0; color: var(--muted); font-size: .76rem; text-align: center; }

/* Operations */
.split-layout { display: grid; grid-template-columns: 1fr .95fr; align-items: center; gap: clamp(55px, 8vw, 105px); }
.media-frame { position: relative; }
.media-frame::before { content: ""; position: absolute; z-index: -1; top: -19px; right: 28px; bottom: 32px; left: -19px; background: var(--mist); border-radius: var(--radius); }
.media-frame img { width: 100%; min-height: 600px; object-fit: cover; object-position: 63% center; border-radius: var(--radius); box-shadow: var(--shadow); }
.media-badge { position: absolute; right: -28px; bottom: 28px; display: flex; align-items: center; gap: 14px; min-width: 225px; padding: 17px 19px; color: #fff; background: var(--navy); border-radius: 12px; box-shadow: var(--shadow); }
.media-badge p { display: flex; flex-direction: column; margin: 0; line-height: 1.4; }
.media-badge strong { font-size: .82rem; }
.media-badge small { color: #9aabba; font-size: .69rem; }
.split-copy h2 { margin-bottom: 25px; }
.lead-copy { margin-bottom: 35px; color: var(--muted); font-size: 1.04rem; }
.detail-list { display: grid; gap: 24px; }
.detail-list > div { display: grid; grid-template-columns: 47px 1fr; gap: 17px; }
.detail-list > div > span { display: grid; width: 47px; height: 47px; place-items: center; color: var(--blue); background: #edf1ff; border-radius: 12px; }
.detail-list p { margin: 0; color: var(--muted); font-size: .88rem; }
.detail-list strong { display: block; margin-bottom: 3px; color: var(--ink); font-size: .96rem; }

/* Commerce */
.commerce { color: #fff; background: var(--navy); overflow: hidden; }
.commerce__grid { display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: 80px; }
.commerce__copy h2 { margin-bottom: 25px; }
.commerce__copy > p:not(.eyebrow) { color: #b3c1ce; font-size: 1.03rem; }
.commerce-features { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 35px; }
.commerce-features > div { display: flex; align-items: center; gap: 13px; padding: 16px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.1); border-radius: 11px; }
.commerce-features > div > span { display: grid; width: 38px; height: 38px; place-items: center; color: var(--cyan); background: rgba(97,229,255,.09); border-radius: 9px; }
.commerce-features .icon { width: 19px; }
.commerce-features p { display: flex; flex-direction: column; margin: 0; line-height: 1.35; }
.commerce-features strong { font-size: .78rem; }
.commerce-features small { color: #8fa2b4; font-size: .65rem; }
.commerce__media { position: relative; }
.commerce__media::after { content: ""; position: absolute; z-index: 0; top: -170px; right: -230px; width: 450px; height: 450px; background: rgba(49,87,228,.32); border-radius: 50%; filter: blur(30px); }
.commerce__media img { position: relative; z-index: 1; width: 100%; min-height: 580px; object-fit: cover; border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius); }
.commerce__signal { position: absolute; z-index: 2; right: -25px; bottom: 25px; display: flex; align-items: center; gap: 14px; padding: 16px 19px; color: var(--navy); background: var(--lime); border-radius: 12px; box-shadow: var(--shadow); }
.commerce__signal > span { display: grid; width: 38px; height: 38px; place-items: center; background: rgba(7,24,44,.08); border-radius: 9px; }
.commerce__signal p { display: flex; flex-direction: column; margin: 0; line-height: 1.35; }
.commerce__signal strong { font-size: .82rem; }
.commerce__signal small { font-size: .68rem; }

/* Infrastructure */
.infrastructure { position: relative; min-height: 650px; display: flex; align-items: center; color: #fff; overflow: hidden; }
.infrastructure__image, .infrastructure__overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.infrastructure__image { object-fit: cover; object-position: center; }
.infrastructure__overlay { background: linear-gradient(90deg, rgba(4,17,31,.96) 0%, rgba(4,17,31,.88) 43%, rgba(4,17,31,.28) 80%), linear-gradient(0deg, rgba(4,17,31,.65), transparent); }
.infrastructure__inner { position: relative; display: grid; grid-template-columns: 1fr .8fr; gap: 100px; align-items: end; padding-block: 110px; }
.infrastructure__copy h2 { margin-bottom: 24px; }
.infrastructure__copy > p:last-child { max-width: 600px; color: #bcc8d3; font-size: 1.05rem; }
.stats-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.15); border-radius: 16px; overflow: hidden; backdrop-filter: blur(10px); }
.stats-grid > div { min-height: 120px; display: flex; flex-direction: column; justify-content: center; padding: 23px; background: rgba(7,24,44,.7); }
.stats-grid strong { color: var(--lime); font-size: 1.55rem; letter-spacing: -.04em; }
.stats-grid span { color: #aebdca; font-size: .76rem; }

/* Process */
.process-grid { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin: 0; padding: 0; list-style: none; }
.process-grid::before { content: ""; position: absolute; top: 44px; right: 17%; left: 17%; height: 1px; background: var(--line); }
.process-grid li { position: relative; padding: 0 26px; text-align: center; }
.process-grid li > span { position: absolute; top: 4px; right: 20px; color: #bdc8d2; font-size: .68rem; font-weight: 800; letter-spacing: .09em; }
.process-grid li > div { position: relative; z-index: 1; display: grid; width: 88px; height: 88px; margin: 0 auto 28px; place-items: center; color: var(--blue); background: #fff; border: 1px solid var(--line); border-radius: 50%; box-shadow: 0 11px 28px rgba(17,36,62,.08); }
.process-grid .icon { width: 27px; }
.process-grid h3 { margin-bottom: 11px; }
.process-grid p { margin: 0; color: var(--muted); font-size: .9rem; }

/* FAQ */
.faq__layout { display: grid; grid-template-columns: .62fr 1fr; gap: 100px; }
.faq__intro { position: sticky; top: 120px; align-self: start; }
.faq__intro h2 { margin-bottom: 22px; }
.faq__intro > p:not(.eyebrow) { color: var(--muted); }
.accordion { border-top: 1px solid #cfdbe5; }
.accordion details { border-bottom: 1px solid #cfdbe5; }
.accordion summary { position: relative; padding: 25px 45px 25px 0; cursor: pointer; list-style: none; font-weight: 750; letter-spacing: -.02em; }
.accordion summary::-webkit-details-marker { display: none; }
.accordion summary span::before, .accordion summary span::after { content: ""; position: absolute; top: 34px; right: 7px; width: 15px; height: 2px; background: var(--blue); transition: transform .2s ease; }
.accordion summary span::after { transform: rotate(90deg); }
.accordion details[open] summary span::after { transform: rotate(0); }
.accordion details p { padding: 0 48px 25px 0; margin: 0; color: var(--muted); font-size: .93rem; }

.final-cta { color: #fff; background: var(--blue); }
.final-cta__inner { min-height: 230px; display: flex; align-items: center; justify-content: space-between; gap: 48px; padding-block: 42px; }
.final-cta h2 { max-width: 760px; margin: 0; font-size: clamp(2rem, 3.6vw, 3.35rem); }
.final-cta .button { flex: 0 0 auto; }

/* Inner pages */
.page-hero { color: #fff; background: var(--navy); }
.page-hero__inner { padding-top: 185px; padding-bottom: 75px; }
.page-hero h1 { margin: 0; font-size: clamp(3rem, 6vw, 5.5rem); }
.page-content { min-height: 40vh; padding-top: 80px; padding-bottom: 110px; }
.prose { max-width: 860px; }
.prose h2 { margin-top: 55px; font-size: 2.3rem; }
.prose h3 { margin-top: 38px; }
.prose p, .prose li { color: var(--muted); }
.prose a { color: var(--blue); }
.prose input, .prose textarea, .prose select { width: 100%; padding: 13px 15px; border: 1px solid var(--line); border-radius: 8px; }
.prose button, .prose input[type="submit"] { width: auto; padding: 13px 22px; color: var(--navy); background: var(--lime); border: 0; border-radius: 8px; cursor: pointer; }
.not-found { min-height: 78vh; display: grid; place-items: center; padding-top: 90px; text-align: center; }
.not-found__inner { max-width: 780px; }
.not-found .eyebrow { justify-content: center; }
.not-found h1 { margin-bottom: 25px; }
.not-found p:not(.eyebrow) { margin-bottom: 30px; color: var(--muted); font-size: 1.1rem; }

/* Footer */
.site-footer { color: #fff; background: #04111f; }
.site-footer__grid { display: grid; grid-template-columns: 1.5fr .7fr .7fr 1fr; gap: 50px; padding-top: 78px; padding-bottom: 63px; }
.brand--footer { margin-bottom: 20px; }
.brand--footer .brand__logo {
  width: min(100%, 340px); height: auto; object-fit: contain;
}
.site-footer__brand p, .site-footer__contact p { max-width: 330px; color: #8799aa; font-size: .84rem; }
.footer-label { margin-bottom: 18px; color: white !important; font-size: .72rem !important; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.footer-links { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.footer-links a { color: #9eb0bf; text-decoration: none; font-size: .82rem; }
.cookie-settings-link { padding: 0; color: #9eb0bf; background: transparent; border: 0; cursor: pointer; font-size: .82rem; }
.footer-links a:hover, .cookie-settings-link:hover { color: var(--lime); }
.site-footer__contact .button { margin-top: 5px; }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 40px; padding-top: 23px; padding-bottom: 23px; border-top: 1px solid rgba(255,255,255,.1); }
.site-footer__bottom p { max-width: 620px; margin: 0; color: #667b8d; font-size: .67rem; }

/* Contact form */
.page-hero--contact .page-hero__inner { padding-right: min(25vw, 300px); }
.page-hero--contact h1 { margin-bottom: 23px; }
.page-hero--contact .page-hero__inner > p:last-child { max-width: 720px; margin-bottom: 0; color: #b7c5d2; font-size: 1.08rem; }
.contact-section { padding: 95px 0 120px; background: var(--mist); }
.contact-layout { display: grid; grid-template-columns: .68fr 1.12fr; gap: clamp(55px, 8vw, 105px); align-items: start; }
.contact-aside { padding-top: 35px; }
.contact-aside h2 { margin-bottom: 23px; font-size: clamp(2.4rem, 4vw, 3.7rem); }
.contact-aside > p:not(.eyebrow) { color: var(--muted); }
.contact-expectations { display: grid; gap: 23px; margin: 36px 0 0; padding: 30px 0 0; border-top: 1px solid var(--line); list-style: none; }
.contact-expectations li { display: grid; grid-template-columns: 45px 1fr; gap: 15px; }
.contact-expectations li > span { display: grid; width: 45px; height: 45px; place-items: center; color: var(--blue); background: #e8eeff; border-radius: 12px; }
.contact-expectations li > span .icon { width: 21px; }
.contact-expectations div { display: flex; flex-direction: column; }
.contact-expectations strong { font-size: .9rem; }
.contact-expectations small { color: var(--muted); font-size: .78rem; line-height: 1.5; }
.contact-expectations a { color: var(--blue); font-weight: 700; }
.contact-form-card { padding: clamp(30px, 5vw, 54px); background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.contact-form-card__heading { margin-bottom: 34px; padding-bottom: 27px; border-bottom: 1px solid var(--line); }
.contact-form-card__heading h2 { margin-bottom: 10px; font-size: clamp(2rem, 4vw, 3rem); }
.contact-form-card__heading p:last-child { margin: 0; color: var(--muted); font-size: .84rem; }
.dc99-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.form-field { margin-bottom: 21px; }
.form-field label { display: block; margin-bottom: 7px; color: var(--ink); font-size: .82rem; font-weight: 760; }
.form-field label > span[aria-hidden="true"], .form-required-note span { color: #b5223d; }
.field-optional { float: right; color: #7e8b98; font-size: .68rem; font-weight: 600; }
.field-help { display: block; margin: -2px 0 8px; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.contact-form-card .wpcf7-form-control-wrap { display: block; }
.contact-form-card input:not([type="checkbox"]):not([type="submit"]),
.contact-form-card select,
.contact-form-card textarea {
  display: block;
  width: 100%;
  min-height: 50px;
  padding: 11px 13px;
  color: var(--ink);
  background: #fbfdff;
  border: 1px solid #c7d4df;
  border-radius: 8px;
  outline: 0;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.contact-form-card textarea { min-height: 155px; resize: vertical; }
.contact-form-card input:hover, .contact-form-card select:hover, .contact-form-card textarea:hover { border-color: #8297a9; }
.contact-form-card input:focus, .contact-form-card select:focus, .contact-form-card textarea:focus { background: #fff; border-color: var(--blue); box-shadow: 0 0 0 4px rgba(49,87,228,.14); }
.contact-form-card .wpcf7-not-valid { border-color: #b5223d !important; }
.contact-form-card .wpcf7-not-valid-tip { margin-top: 5px; color: #9c1730; font-size: .75rem; font-weight: 650; }
.form-consent { margin: 4px 0 14px; padding: 15px; background: var(--mist); border-radius: 8px; }
.form-consent .wpcf7-list-item { margin: 0; }
.form-consent label { display: grid; grid-template-columns: 20px 1fr; align-items: start; gap: 9px; color: var(--muted); font-size: .77rem; line-height: 1.5; }
.form-consent input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--blue); }
.form-consent a { color: var(--blue); font-weight: 700; }
.form-required-note { margin-bottom: 19px; color: var(--muted); font-size: .7rem; }
.contact-form-card .dc99-submit { min-height: 52px; padding: 0 24px; color: var(--navy); background: var(--lime); border: 0; border-radius: 8px; cursor: pointer; font-size: .88rem; font-weight: 780; }
.contact-form-card .dc99-submit:hover { background: #cdff92; }
.contact-form-card .wpcf7-spinner { vertical-align: middle; }
.contact-form-card .wpcf7-response-output { margin: 23px 0 0 !important; padding: 14px 16px !important; border: 1px solid var(--line) !important; border-left: 4px solid var(--blue) !important; border-radius: 7px; color: var(--ink); background: var(--mist); font-size: .84rem; }
.contact-form-card form.invalid .wpcf7-response-output,
.contact-form-card form.failed .wpcf7-response-output { border-left-color: #b5223d !important; }
.dc99-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; opacity: 0 !important; pointer-events: none !important; }

/* CookieYes and AccessiYes placement */
.cky-btn-revisit-wrapper,
#cya11y-container { transition: opacity 500ms ease-in-out, visibility 500ms ease-in-out; }
.cky-btn-revisit-wrapper { width: 35px !important; height: 35px !important; background: var(--blue) !important; box-shadow: 0 10px 26px rgba(7,25,42,.2) !important; }
.cky-btn-revisit-wrapper .cky-btn-revisit,
.cky-btn-revisit-wrapper .cky-btn-revisit img { width: 23px !important; height: 23px !important; }
.cky-btn-revisit-wrapper.cky-revisit-bottom-left,
.cky-btn-revisit-wrapper.cky-revisit-bottom-right { right: auto !important; left: 20px !important; }
body.page-scrolling .cky-btn-revisit-wrapper,
body.page-scrolling #cya11y-container,
body.nav-open .cky-btn-revisit-wrapper,
body.nav-open #cya11y-container { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }

@media (max-width: 1080px) {
  .site-nav__list { gap: 18px; }
  .site-nav { gap: 20px; }
  .hero__content { width: 75%; }
  .hero__showcase { display: none; }
  .trust-strip__grid > div { padding-inline: 18px; }
  .commerce__grid { gap: 45px; }
  .infrastructure__inner { gap: 55px; }
  .site-footer__grid { grid-template-columns: 1.4fr .7fr .7fr; }
  .site-footer__contact { grid-column: 1 / -1; }
}

/* Keep the expanded Blog navigation clear of the logo on smaller desktops. */
@media (max-width: 1120px) {
  .nav-toggle { display: grid; place-items: center; }
  .nav-toggle .icon { width: 25px; }
  body.nav-open .site-header { position: fixed; height: 76px; color: var(--ink); background: #fff !important; border-bottom-color: var(--line); box-shadow: 0 8px 28px rgba(7, 24, 44, .08); backdrop-filter: none; transition: none; }
  body.nav-open .brand__logo--dark { display: none; }
  body.nav-open .brand__logo--light { display: block; }
  .site-nav { position: fixed; z-index: 101; inset: 76px 0 0; display: none; align-items: stretch; flex-direction: column; gap: 24px; min-height: calc(100dvh - 76px); padding: 24px max(24px, calc((100vw - var(--shell)) / 2)); overflow-y: auto; color: var(--ink); background: #fff; }
  .site-nav.is-open { display: flex; }
  .site-nav__list { align-items: stretch; flex-direction: column; gap: 0; }
  .site-nav__list li { border-bottom: 1px solid var(--line); }
  .site-nav__list a { display: block; padding: 16px 0; font-size: 1.05rem; }
  .site-header .button--small { color: var(--navy); background: var(--lime); }
}

@media (max-width: 900px) {
  .section { padding: 90px 0; }
  .hero__content { width: 88%; }
  .trust-strip__grid { grid-template-columns: repeat(2, 1fr); }
  .trust-strip__grid > div:nth-child(3) { border-top: 1px solid rgba(255,255,255,.18); }
  .trust-strip__grid > div:nth-child(4) { border-top: 1px solid rgba(255,255,255,.18); border-right: 1px solid rgba(255,255,255,.18); }
  .section-heading--split { grid-template-columns: 1fr; gap: 25px; }
  .feature-grid { grid-template-columns: repeat(2, 1fr); }
  .split-layout, .commerce__grid { grid-template-columns: 1fr; }
  .media-frame { max-width: 680px; }
  .media-frame img { min-height: 520px; }
  .commerce__media { grid-row: 1; }
  .commerce__media img { min-height: 500px; }
  .infrastructure__inner { grid-template-columns: 1fr; }
  .stats-grid { max-width: 500px; }
  .faq__layout { grid-template-columns: 1fr; gap: 45px; }
  .faq__intro { position: static; }
  .final-cta__inner { align-items: flex-start; flex-direction: column; justify-content: center; gap: 30px; padding-block: 48px; }
  .site-footer__grid { grid-template-columns: 1.3fr 1fr 1fr; }
  .contact-layout { grid-template-columns: 1fr; gap: 45px; }
  .contact-aside { padding-top: 0; }
}

@media (max-width: 700px) {
  .shell { width: min(calc(100% - 34px), var(--shell)); }
  .section { padding: 75px 0; }
  h1 { font-size: clamp(2.65rem, 12vw, 3.25rem); }
  h2 { font-size: clamp(2.2rem, 10vw, 3.2rem); }
  .site-header { height: 76px; }
  .brand__logo { width: clamp(180px, 55vw, 220px); }
  .hero, .hero__inner { min-height: 0; }
  .hero__image { object-position: 61% center; }
  .hero__veil { background: linear-gradient(90deg, rgba(3,16,30,.97), rgba(3,16,30,.72)), linear-gradient(0deg, rgba(3,16,30,.8), transparent); }
  .hero__inner { padding-top: 76px; }
  .hero__content { width: 100%; padding: 58px 0 52px; }
  .hero .eyebrow { margin-bottom: 18px; font-size: .66rem; letter-spacing: .1em; }
  .hero h1 { margin-bottom: 20px; font-size: clamp(2.6rem, 11.6vw, 3.05rem); line-height: 1.04; }
  .hero h1 em { font-size: .94em; line-height: 1.08; }
  .hero__lead { margin-bottom: 24px; font-size: .98rem; line-height: 1.5; }
  .hero__actions { align-items: stretch; flex-direction: column; gap: 11px; }
  .hero__actions .button { width: 100%; min-height: 50px; }
  .hero__actions .text-link { justify-content: center; }
  .hero__note { align-items: flex-start; }
  .trust-strip__grid { grid-template-columns: 1fr; }
  .trust-strip__grid > div { min-height: 88px; border-right: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
  .feature-grid { grid-template-columns: 1fr; }
  .feature-card { min-height: auto; padding: 30px 27px; }
  .pricing-grid { grid-template-columns: 1fr; }
  .price-card { padding: 38px 26px; }
  .price-card__top > p:last-child { min-height: 0; }
  .price strong { font-size: 4.2rem; }
  .media-frame::before { display: none; }
  .media-frame img { min-height: 430px; }
  .media-badge { right: 12px; bottom: 12px; }
  .commerce-features { grid-template-columns: 1fr; }
  .commerce__media img { min-height: 400px; }
  .commerce__signal { right: 12px; bottom: 12px; }
  .infrastructure { min-height: 840px; }
  .infrastructure__overlay { background: linear-gradient(0deg, rgba(4,17,31,.97) 0%, rgba(4,17,31,.84) 67%, rgba(4,17,31,.42) 100%); }
  .infrastructure__inner { padding-block: 80px; }
  .stats-grid > div { min-height: 105px; padding: 18px; }
  .process-grid { grid-template-columns: 1fr; gap: 45px; }
  .process-grid::before { display: none; }
  .process-grid li { padding-inline: 15px; }
  .process-grid li > span { right: 15%; }
  .accordion summary { font-size: .95rem; }
  .site-footer__grid { grid-template-columns: 1fr 1fr; gap: 38px 25px; }
  .site-footer__brand, .site-footer__contact { grid-column: 1 / -1; }
  .site-footer__bottom { flex-direction: column; gap: 12px; }
  .contact-section { padding: 65px 0 85px; }
  .page-hero--contact .page-hero__inner { padding-right: 0; }
  .dc99-form-grid { grid-template-columns: 1fr; gap: 0; }
  .contact-form-card { padding: 28px 20px; }
  .cky-btn-revisit-wrapper { width: 25px !important; height: 25px !important; }
  .cky-btn-revisit-wrapper .cky-btn-revisit,
  .cky-btn-revisit-wrapper .cky-btn-revisit img { width: 17px !important; height: 17px !important; }
}

@media (max-width: 340px) {
  .hero .eyebrow { font-size: .6rem; letter-spacing: .07em; }
  .hero h1 { font-size: 2.28rem; }
  .hero h1 em { font-size: .87em; }
  .hero__lead { font-size: .94rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
