:root {
  --ink: #10182c;
  --ink-2: #39445c;
  --muted: #69748b;
  --line: #dfe5ef;
  --soft: #f3f6fb;
  --white: #fff;
  --navy: #2b446a;
  --navy-2: #35547d;
  --blue: #2457cf;
  --blue-2: #3772ee;
  --orange: #f0673d;
  --orange-2: #ff8b54;
  --green: #2ecc8b;
  --shadow: 0 18px 60px rgba(19, 37, 79, .12);
  --shadow-lg: 0 30px 90px rgba(1, 8, 23, .32);
  --radius: 24px;
  --radius-sm: 16px;
  --container: 1220px;
  --nav-anchor-shift: -69px;
}

* { box-sizing: border-box; }
html { background: var(--navy); scroll-behavior: smooth; scroll-padding-top: 64px; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; font-size: 16px; line-height: 1.58; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
body::after { position: fixed; z-index: 80; inset: 0; content: ""; background: var(--navy); opacity: 1; pointer-events: none; animation: page-content-reveal .44s cubic-bezier(.22, .61, .36, 1) .2s forwards; }
@keyframes page-content-reveal {
  from { opacity: 1; visibility: visible; }
  to { opacity: 0; visibility: hidden; }
}
body.menu-open, body.modal-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { color: inherit; }
h1, h2, h3, h4, p { margin-top: 0; }
main h2, main h3, main h4 { letter-spacing: -.02em; }
svg { display: block; width: 1.25em; height: 1.25em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.container { width: min(var(--container), calc(100% - 48px)); margin-inline: auto; }
.section { padding: 112px 0; }
.section-soft {
  background-color: var(--soft);
  background-image: repeating-linear-gradient(135deg, rgba(35, 66, 118, .018) 0 1px, transparent 1px 13px);
  background-size: auto;
}
.section-dark {
  color: var(--white);
  background-color: var(--navy);
  background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, .026) 0 1px, transparent 1px 13px);
  background-size: auto;
}
.skip-link { position: fixed; z-index: 1000; top: 12px; left: 12px; padding: 10px 16px; color: #fff; background: var(--blue); border-radius: 10px; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }

.btn { position: relative; display: inline-flex; min-height: 56px; align-items: center; justify-content: center; gap: 10px; padding: 0 24px; border: 0; border-radius: 14px; font-weight: 750; line-height: 1; cursor: pointer; overflow: hidden; isolation: isolate; transition: color .35s ease, background-color .35s ease, border-color .35s ease, box-shadow .35s ease, filter .35s ease, transform .35s ease; }
.btn::before { position: absolute; top: -45%; bottom: -45%; left: -75%; width: 38%; content: ""; background: linear-gradient(90deg, transparent, rgba(255,255,255,.42), transparent); opacity: 0; pointer-events: none; transform: skewX(-20deg); transition: left .72s cubic-bezier(.22,.75,.25,1), opacity .25s ease; }
.btn:hover { filter: brightness(1.055) saturate(1.06); transform: none; }
.btn:hover::before { left: 135%; opacity: .9; }
.btn:focus-visible, .text-link:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid rgba(55, 114, 238, .35); outline-offset: 3px; }
.btn svg { width: 18px; height: 18px; transition: transform .25s ease; }
.btn:hover svg, .text-link:hover svg { transform: translateX(3px); }
.btn--primary { color: #fff; background: var(--blue); box-shadow: 0 6px 16px rgba(36, 87, 207, .18); }
.btn--primary:hover { background: #1c49b8; box-shadow: 0 8px 20px rgba(36, 87, 207, .24); }
.btn--accent { color: #fff; background: linear-gradient(135deg, var(--orange), var(--orange-2)); box-shadow: 0 7px 18px rgba(240, 103, 61, .20); }
.btn--accent:hover { box-shadow: 0 9px 22px rgba(240, 103, 61, .26); }
.btn--light { color: var(--ink); background: #fff; box-shadow: 0 6px 18px rgba(0, 0, 0, .08); }
.btn--light:hover { color: var(--blue); background: #f5f8ff; box-shadow: 0 8px 20px rgba(5, 18, 43, .12); }
.btn--small { padding-inline: 18px; border-radius: 12px; font-size: 14px; }
.btn--wide { width: 100%; }
.text-link { display: inline-flex; align-items: center; gap: 8px; padding: 0; color: var(--blue); background: none; border: 0; font-weight: 750; cursor: pointer; }
.text-link svg { width: 18px; height: 18px; transition: transform .25s ease; }
.text-link--external { font-size: 15px; }

.kicker { display: inline-block; margin-bottom: 16px; color: var(--blue); font-size: 12px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.kicker--light { color: #8eb2ff; }
.section-heading { max-width: 760px; margin-bottom: 52px; }
.section-heading h2, .ai-copy h2, .contact-copy h2 { margin-bottom: 22px; font-size: clamp(36px, 4.4vw, 64px); line-height: 1.02; letter-spacing: -.02em; }
.section-heading--row { display: flex; max-width: none; align-items: flex-end; justify-content: space-between; gap: 60px; }
.section-heading--row > div { max-width: 680px; }
.section-heading--row h2 { margin-bottom: 0; }
.section-heading--row .section-intro { max-width: 470px; margin-bottom: 4px; }
.section-heading--center { margin-inline: auto; text-align: center; }
.section-intro { margin-bottom: 0; color: var(--ink-2); font-size: 19px; line-height: 1.65; }

.header-strip { position: relative; z-index: 2; max-height: 42px; color: #eef3ff; background: #263d60; box-shadow: 0 4px 12px rgba(3, 10, 24, .16); font-size: 13px; opacity: 1; overflow: hidden; transform: translateY(0); transition: max-height .28s ease, opacity .22s ease, transform .28s ease; }
.header-strip__inner { display: flex; min-height: 42px; align-items: center; justify-content: space-between; gap: 20px; }
.site-header.contact-hidden .header-strip { max-height: 0; opacity: 0; transform: translateY(-100%); }
.header-strip__item { display: inline-flex; align-items: center; gap: 7px; transition: color .2s ease; }
.header-strip__item:hover { color: #fff; }
.header-strip__item svg { width: 14px; height: 14px; color: #82a8ff; }
.header-strip__status { display: inline-flex; align-items: center; gap: 8px; }
.header-strip__status-link,
.header-strip__status-link:hover,
.header-strip__status-link:focus,
.header-strip__status-link:active { color: inherit; text-decoration: none; cursor: default; -webkit-user-select: none; user-select: none; }
.header-strip__status-link:focus-visible { outline: 0; }
.header-strip__status i { position: relative; width: 8px; height: 8px; background: var(--green); border-radius: 50%; box-shadow: 0 0 0 4px rgba(46, 204, 139, .12); animation: support-dot-pulse 2.4s ease-in-out infinite; }
.header-strip__status i::after { position: absolute; inset: -5px; content: ""; border: 1px solid rgba(110, 239, 188, .72); border-radius: 50%; animation: support-ring-pulse 2.4s ease-out infinite; }
@keyframes support-dot-pulse {
  0%, 100% { filter: brightness(1); box-shadow: 0 0 0 4px rgba(46, 204, 139, .12); }
  50% { filter: brightness(1.25); box-shadow: 0 0 0 6px rgba(46, 204, 139, .2), 0 0 12px rgba(46, 204, 139, .5); }
}
@keyframes support-ring-pulse {
  0% { opacity: .7; transform: scale(.62); }
  65%, 100% { opacity: 0; transform: scale(1.45); }
}
.site-header { position: sticky; z-index: 100; top: 0; }
.nav-wrap { position: relative; background-color: #557aa8; background-image: none; border-bottom: 1px solid rgba(218, 231, 255, .3); box-shadow: 0 9px 24px rgba(12, 29, 61, .2); }
.nav { display: flex; min-height: 78px; align-items: center; gap: 34px; }
.logo { display: block; width: 166px; flex: 0 0 auto; }
.logo img { width: 100%; height: 54px; object-fit: contain; animation: logo-soft-flash 10s ease-in-out infinite; }
@keyframes logo-soft-flash {
  0%, 90%, 100% { filter: brightness(1) saturate(1); }
  94% { filter: brightness(1.32) saturate(1.16) drop-shadow(0 0 8px rgba(255,255,255,.55)); }
  97% { filter: brightness(1.05) saturate(1.04); }
}
.desktop-nav { display: flex; align-items: center; gap: 28px; margin-left: auto; }
.desktop-nav a, .nav-dropdown__trigger { position: relative; color: #f3f7ff; font-size: 15px; font-weight: 400; transition: color .25s ease; }
.desktop-nav a::after, .nav-dropdown__trigger::after { position: absolute; right: 0; bottom: -8px; left: 0; height: 2px; content: ""; background: #c7d8ff; transform: scaleX(0); transform-origin: right; transition: transform .25s ease; }
.desktop-nav a:hover, .nav-dropdown__trigger:hover { color: #dbe7ff; }
.desktop-nav a:hover::after, .desktop-nav a.is-active::after, .nav-dropdown__trigger:hover::after, .nav-dropdown__trigger.is-active::after { transform: scaleX(1); transform-origin: left; }
.desktop-nav a.is-active, .nav-dropdown__trigger.is-active { color: #dbe7ff; }
.nav-dropdown { position: relative; }
.nav-dropdown__trigger { display: inline-flex; align-items: center; padding: 0; background: transparent; border: 0; line-height: inherit; cursor: default; }
.nav-dropdown__chevron { box-sizing: border-box; width: 6px; height: 6px; flex: 0 0 auto; margin-top: -3px; margin-left: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; opacity: 1; transform: rotate(45deg); transition: width .45s ease, margin-left .45s ease, opacity .25s ease, transform .35s ease; }
.nav-dropdown--delayed-chevron .nav-dropdown__chevron { width: 0; margin-left: 0; opacity: 0; transform: scale(.4) rotate(45deg); }
.nav-dropdown--delayed-chevron.is-chevron-ready .nav-dropdown__chevron { width: 6px; margin-left: 7px; opacity: 1; transform: scale(1) rotate(45deg); }
.nav-dropdown__menu { position: absolute; z-index: 20; top: calc(100% + 15px); left: 50%; display: grid; min-width: 224px; padding: 8px; background: linear-gradient(180deg, #557aa8 0%, #426791 100%); border: 1px solid rgba(255,255,255,.5); border-radius: 14px; box-shadow: 0 18px 42px rgba(8, 23, 50, .3); opacity: 0; visibility: hidden; pointer-events: none; transform: translate(-50%, -9px); transition: opacity .45s ease, transform .45s ease, visibility 0s linear .45s; }
.nav-dropdown__menu::before { position: absolute; right: 0; bottom: 100%; left: 0; height: 16px; content: ""; }
.nav-dropdown__menu::after { position: absolute; top: -6px; left: 50%; width: 10px; height: 10px; content: ""; background: #557aa8; border-top: 1px solid rgba(255,255,255,.5); border-left: 1px solid rgba(255,255,255,.5); transform: translateX(-50%) rotate(45deg); }
.desktop-nav .nav-dropdown__menu a { display: block; padding: 10px 12px; color: #fff; background: transparent; border-radius: 0; font-size: 14px; line-height: 1.25; white-space: nowrap; transition: color .2s ease; }
.desktop-nav .nav-dropdown__menu a:first-child { border-top-left-radius: 8px; border-top-right-radius: 8px; }
.desktop-nav .nav-dropdown__menu a:last-child { border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; }
.desktop-nav .nav-dropdown__menu a + a { border-top: 1px solid rgba(255,255,255,.2); }
.desktop-nav .nav-dropdown__menu a::after { display: none; }
.desktop-nav .nav-dropdown__menu a:focus-visible { color: #fff; font-weight: 700; }
@media (hover: hover) and (pointer: fine) {
  .desktop-nav .nav-dropdown__menu a:hover { color: #fff; font-weight: 700; }
}
.desktop-nav .nav-dropdown__menu a.is-active { color: #ffb092; font-weight: 700; }
.nav-dropdown:not([data-ai-menu]):hover .nav-dropdown__menu, .nav-dropdown:not([data-ai-menu]):focus-within .nav-dropdown__menu, .nav-dropdown[data-ai-menu].is-open .nav-dropdown__menu { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0); transition-delay: 0s; }
.nav-dropdown:not([data-ai-menu]):hover .nav-dropdown__chevron, .nav-dropdown:not([data-ai-menu]):focus-within .nav-dropdown__chevron, .nav-dropdown[data-ai-menu].is-open .nav-dropdown__chevron { transform: translateY(3px) rotate(225deg); }
.nav-dropdown[data-ai-menu] .nav-dropdown__trigger { cursor: pointer; }
.header-cta { height: 46px; min-height: 46px; margin-left: 8px; color: #fff; background: transparent; border: 1px solid rgba(255,255,255,.68); box-shadow: none; font-size: 15px; }
.header-cta:hover { color: #fff; background: var(--orange); border-color: var(--orange); box-shadow: 0 7px 18px rgba(240, 103, 61, .22); transform: none; }
.menu-button { display: none; width: 46px; height: 46px; align-items: center; justify-content: center; margin-left: auto; padding: 0; color: #fff; background: rgba(15, 34, 64, .34); border: 1px solid rgba(255,255,255,.42); border-radius: 13px; }
.menu-button svg { width: 24px; height: 24px; }
.mobile-menu { position: fixed; z-index: 90; inset: 120px 0 auto; max-height: calc(100vh - 120px); padding: 28px 24px 36px; background: #fff; box-shadow: 0 30px 80px rgba(3, 11, 29, .24); opacity: 0; visibility: hidden; overflow-y: auto; transform: translateY(-18px); transition: .25s ease; }
.site-header.contact-hidden .mobile-menu { inset: 78px 0 auto; max-height: calc(100vh - 78px); }
.mobile-menu.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
.mobile-menu nav { display: grid; }
.mobile-menu nav a { padding: 15px 0; border-bottom: 1px solid var(--line); font-size: 17px; font-weight: 650; }
.mobile-menu__ai-sections { padding-left: 20px; }
.mobile-menu nav .mobile-menu__ai-sections a { display: block; min-height: 44px; padding: 10px 0; background: transparent; font-size: 16px; font-weight: 400; }
.mobile-menu nav .mobile-menu__ai-sections a:focus-visible { font-weight: 700; }
@media (hover: hover) and (pointer: fine) {
  .mobile-menu nav .mobile-menu__ai-sections a:hover { font-weight: 700; }
}
.mobile-menu__contacts { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 26px; color: var(--blue); font-weight: 750; }

.page-indicator { --page-progress: 0%; position: fixed; z-index: 85; top: 50%; right: 18px; display: grid; gap: 8px; padding: 13px 10px; background: transparent; border: 1px solid rgba(177, 201, 248, .78); border-radius: 999px; box-shadow: none; backdrop-filter: none; transform: translateY(-50%); }
.page-indicator__rail { position: absolute; z-index: -1; top: 21px; bottom: 21px; left: 50%; width: 2px; background: #dce3ef; border-radius: 99px; overflow: hidden; transform: translateX(-50%); }
.page-indicator__rail i { display: block; width: 100%; height: var(--page-progress); background: linear-gradient(to bottom, var(--blue-2), var(--blue)); border-radius: inherit; transition: height .18s linear; }
.page-indicator a { position: relative; display: grid; width: 14px; height: 14px; place-items: center; }
.page-indicator a::after { width: 7px; height: 7px; content: ""; background: #a9b4c7; border: 2px solid rgba(255,255,255,.96); border-radius: 50%; box-shadow: 0 0 0 1px #bdc7d8; transition: width .22s ease, height .22s ease, background-color .22s ease, box-shadow .22s ease; }
.page-indicator a:hover::after { background: var(--blue-2); }
.page-indicator a.is-active::after { width: 11px; height: 11px; background: var(--orange); box-shadow: 0 0 0 4px rgba(240, 103, 61, .18); }
.page-indicator a span { position: absolute; top: 50%; right: 28px; padding: 6px 9px; color: #fff; background: var(--ink); border-radius: 8px; font-size: 11px; font-weight: 750; line-height: 1; white-space: nowrap; opacity: 0; pointer-events: none; transform: translate(7px, -50%); transition: opacity .2s ease, transform .2s ease; }
.page-indicator a span::after { position: absolute; top: 50%; right: -4px; width: 8px; height: 8px; content: ""; background: var(--ink); transform: translateY(-50%) rotate(45deg); }
.page-indicator a:hover span, .page-indicator a:focus-visible span { opacity: 1; transform: translate(0, -50%); }

.hero { position: relative; padding: 90px 0; background-color: var(--navy); background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.026) 0 1px, transparent 1px 13px); background-size: auto; overflow: hidden; }
.hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, .94fr) minmax(440px, 1.06fr); align-items: stretch; gap: 42px; }
.hero-copy { display: flex; flex-direction: column; }
.eyebrow { position: relative; display: inline-flex; width: fit-content; align-items: center; gap: 9px; margin-bottom: 28px; color: #c5d6ff; font-size: 16px; font-weight: 650; overflow: hidden; }
.eyebrow svg { width: 20px; height: 20px; }
.eyebrow span { color: transparent; background: linear-gradient(90deg, #c5d6ff 0%, #c5d6ff 42%, #ff753d 48%, #ff9a70 52%, #c5d6ff 58%, #c5d6ff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; animation: eyebrow-text-shine 6.5s ease-in-out infinite; }
.hero h1 { margin-bottom: 28px; font-size: clamp(48px, 5.7vw, 80px); line-height: .98; letter-spacing: .005em; text-align: left; }
.hero-title-line { --title-base: #fff; display: inline-block; color: transparent; background: linear-gradient(90deg, var(--title-base) 0%, var(--title-base) 42%, #ff7138 48%, #ff9a70 52%, var(--title-base) 58%, var(--title-base) 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; animation: hero-title-shine 9s ease-in-out infinite; }
.hero-title-line--accent { --title-base: #9cb9f9; animation-delay: .18s; }
.hero-lead { display: grid; width: min(100%, 590px); justify-items: start; gap: 2px; margin: auto 0; color: #d3dbea; font-size: 20px; line-height: 1.65; text-align: left; transform: translateY(-10px); }
.hero-lead__row { display: flex; align-items: center; justify-content: flex-start; gap: 11px; }
.hero-lead__row > span { white-space: nowrap; }
.hero-lead i { color: var(--orange); font-size: 1.35em; font-style: normal; line-height: 1; }
.hero-actions { display: flex; max-width: 590px; flex-wrap: wrap; gap: 20px; margin-top: 0; margin-bottom: 60px; }
.hero-actions .btn { flex: 1 1 0; color: #fff; background: rgba(36, 87, 207, .16); border: 1px solid rgba(255,255,255,.68); box-shadow: none; }
.reaction-card { display: flex; max-width: 590px; align-items: center; gap: 22px; margin-top: 0; padding: 20px 22px; background: rgba(15, 34, 64, .42); border: 1px solid rgba(255,255,255,.26); border-radius: 18px; box-shadow: 0 14px 34px rgba(9, 22, 45, .18); backdrop-filter: blur(12px); cursor: default; transition: transform .28s ease, border-color .28s ease, background-color .28s ease, box-shadow .28s ease; }
.reaction-card__number { flex: 0 0 auto; color: #ff9e7e; font-size: 14px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.reaction-card__number strong { display: block; font-size: 32px; line-height: 1; letter-spacing: -.04em; }
.reaction-card p { margin: 0; color: #b9c6da; font-size: 16px; line-height: 1.45; }
.hero-visual { position: relative; min-width: 0; }
.hero-image { position: relative; height: 610px; border: 1px solid rgba(255,255,255,.12); border-radius: 34px; box-shadow: var(--shadow-lg); overflow: hidden; }
.hero-image::after { position: absolute; inset: 0; content: ""; background: linear-gradient(to top, rgba(7,16,31,.62), transparent 45%); }
.hero-image img { width: 100%; height: 100%; object-fit: cover; }
.stats { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 70px; background: rgba(15, 34, 64, .36); border: 1px solid rgba(255,255,255,.24); border-radius: 20px; box-shadow: 0 16px 38px rgba(9, 22, 45, .16); overflow: hidden; backdrop-filter: blur(10px); }
.stats article { display: flex; align-items: flex-start; gap: 12px; padding: 28px 14px; border-right: 1px solid rgba(255,255,255,.18); cursor: default; transition: background-color .25s ease, box-shadow .25s ease; }
.stats article:last-child { border-right: 0; }
.stats__icon { display: grid; width: 46px; height: 52px; flex: 0 0 auto; color: #9ab9ff; place-items: center; transition: color .25s ease, transform .25s ease, filter .25s ease; }
.stats__icon svg { width: 44px; height: 44px; stroke-width: 1.9; }
.stats__value { display: block; color: #fff; font-size: 32px; font-weight: 850; line-height: 1; letter-spacing: -.04em; transition: color .25s ease, transform .25s ease, text-shadow .25s ease; }
.stats p { margin: 0; color: #b9c6da; font-size: 16px; line-height: 1.45; transition: color .25s ease, text-shadow .25s ease; }


.ticker { padding: 18px 0; color: #fff; background: #1f4fbd; overflow: hidden; }
.ticker__track { display: flex; width: max-content; align-items: center; gap: 24px; white-space: nowrap; animation: ticker 34s linear infinite; }
.ticker span { font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ticker i { width: 5px; height: 5px; background: #ff9a70; border-radius: 50%; }
.section-break { position: relative; z-index: 2; height: 0; pointer-events: none; }
.section-break__inner { position: relative; width: 100%; transform: translateY(-50%); }
.section-break__line { display: block; height: 4px; background: rgba(150, 181, 245, .78); }
@keyframes ticker { to { transform: translateX(-50%); } }
@keyframes eyebrow-text-shine {
  0%, 72% { background-position: 100% 0; filter: none; }
  84% { filter: drop-shadow(0 0 5px rgba(255, 117, 61, .38)); }
  96%, 100% { background-position: 0 0; filter: none; }
}
@keyframes hero-title-shine {
  0%, 78% { background-position: 100% 0; filter: none; }
  87% { filter: drop-shadow(0 0 8px rgba(255, 113, 56, .28)); }
  97%, 100% { background-position: 0 0; filter: none; }
}

.about { position: relative; background-color: #557aa8; background-image: repeating-linear-gradient(45deg, rgba(255,255,255,.03) 0 1px, transparent 1px 13px); background-size: auto; }
.about-anchor { position: absolute; top: 0; left: 0; width: 1px; height: 1px; pointer-events: none; }
.about-heading { display: grid; grid-template-columns: .9fr 1.1fr; align-items: end; gap: 22px; margin-bottom: 54px; }
.about-heading h2 { width: fit-content; max-width: 660px; margin-bottom: 0; color: transparent; background: linear-gradient(90deg, #fff 0%, #fff 42%, #ff7138 48%, #ff9a70 52%, #fff 58%, #fff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; font-size: clamp(40px, 5vw, 68px); line-height: 1.02; letter-spacing: -.02em; animation: hero-title-shine 6.5s ease-in-out .7s infinite; }
.about-heading__subtitle-row { display: flex; align-items: center; gap: 9px; margin-bottom: 16px; }
.about-heading__subtitle-icon { display: grid; width: 22px; height: 22px; flex: 0 0 auto; color: #e6efff; place-items: center; }
.about-heading__subtitle-icon svg { width: 20px; height: 20px; }
.about-heading__subtitle { width: fit-content; margin: 0; color: transparent; background: linear-gradient(90deg, #f2f6ff 0%, #f2f6ff 42%, #ff7138 48%, #ff9a70 52%, #f2f6ff 58%, #f2f6ff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; font-size: 16px; font-weight: 800; line-height: 1.4; animation: hero-title-shine 6.5s ease-in-out infinite; }
.about-heading__copy { display: flex; max-width: 650px; align-items: flex-start; gap: 18px; }
@media (min-width: 981px) {
  .about-heading__copy { padding-left: 30px; }
}
.about-heading__icon { display: grid; width: 54px; height: 54px; flex: 0 0 auto; color: #fff; background: rgba(240, 103, 61, .72); border: 1px solid rgba(255, 181, 151, .7); border-radius: 16px; box-shadow: 0 10px 24px rgba(48, 70, 110, .18); place-items: center; }
.about-heading__icon svg { width: 28px; height: 28px; }
.about-heading__copy p { max-width: 570px; margin: 0 0 5px; color: #f5f8ff; font-size: 20px; line-height: 1.65; transform: translateY(-8px); }
.about-heading strong, .about-pitch > p strong { color: #fff; }
.about-sales { display: grid; grid-template-columns: .9fr 1.1fr; gap: 22px; }
.about-pitch { display: flex; min-height: 100%; flex-direction: column; align-items: flex-start; padding: 42px; background: #365f91; border: 1px solid rgba(213, 228, 255, .48); border-radius: 28px; box-shadow: 0 18px 42px rgba(14, 34, 64, .2); cursor: default; transition: background-color .4s cubic-bezier(.22,.75,.25,1), border-color .4s ease, box-shadow .4s ease, transform .4s cubic-bezier(.22,.75,.25,1); }
.about-pitch__label { margin-bottom: 20px; color: transparent; background: linear-gradient(90deg, #edf3ff 0%, #edf3ff 42%, #ff7138 48%, #ff9a70 52%, #edf3ff 58%, #edf3ff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; font-size: 12px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; animation: hero-title-shine 7s ease-in-out .5s infinite; }
.about-pitch h3 { margin-bottom: 20px; color: transparent; background: linear-gradient(90deg, #fff 0%, #fff 42%, #ff7138 48%, #ff9a70 52%, #fff 58%, #fff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; font-size: 38px; line-height: 1.08; letter-spacing: -.02em; animation: hero-title-shine 6.5s ease-in-out 1s infinite; }
.about-pitch > p { margin-bottom: 34px; color: #f8fbff; font-size: 17px; line-height: 1.65; }
.about-pitch .btn { width: min(100%, 285px); margin-top: auto; color: #fff; background: rgba(36, 87, 207, .16); border: 1px solid rgba(255,255,255,.68); box-shadow: none; }
.about-pitch .btn:hover { color: #fff; background: var(--orange); border-color: var(--orange); box-shadow: 0 9px 22px rgba(240, 103, 61, .26); }
.about-directions { display: grid; gap: 14px; }
.about-direction { display: grid; grid-template-columns: 58px 1fr; gap: 21px; padding: 27px 30px; background: #4772a4; border: 1px solid rgba(218, 231, 255, .46); border-radius: 22px; box-shadow: 0 10px 26px rgba(19, 46, 82, .12); cursor: default; transition: background-color .4s cubic-bezier(.22,.75,.25,1), border-color .4s ease, box-shadow .4s ease, transform .4s cubic-bezier(.22,.75,.25,1); }
.about-direction__icon { display: grid; width: 52px; height: 52px; color: #e0ebff; background: #315d95; border: 1px solid rgba(205, 222, 255, .5); border-radius: 15px; place-items: center; transition: color .35s ease, background-color .35s ease, transform .35s ease; }
.about-direction__icon svg { width: 27px; height: 27px; }
.about-direction h3 { margin-bottom: 8px; color: #fff; font-size: 23px; line-height: 1.2; }
.about-direction p { margin: 0; color: #f7faff; font-size: 15px; line-height: 1.55; }
@media (hover: hover) and (pointer: fine) {
  .about-pitch:hover { background: #3f6d9f; border-color: rgba(255,255,255,.7); box-shadow: 0 24px 48px rgba(14, 34, 64, .24); transform: translateY(-3px); }
  .about-direction:hover { background: #527fb2; border-color: rgba(255,255,255,.62); box-shadow: 0 16px 34px rgba(15, 37, 70, .17); transform: translateY(-3px); }
  .about-direction:hover .about-direction__icon { color: #fff; background: rgba(240, 103, 61, .68); transform: scale(1.05); }
}

.services { background-color: var(--navy); background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.026) 0 1px, transparent 1px 13px); background-size: auto; }
.services .kicker { color: #a8c2fb; }
.services-kicker { display: inline-flex; align-items: center; gap: 9px; font-size: 16px; font-weight: 800; letter-spacing: 0; line-height: 1.4; text-transform: none; }
.services-kicker svg { width: 20px; height: 20px; color: #b8ceff; }
.services-kicker span { color: transparent; background: linear-gradient(90deg, #b8ceff 0%, #b8ceff 42%, #ff7138 48%, #ff9a70 52%, #b8ceff 58%, #b8ceff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; animation: hero-title-shine 6.5s ease-in-out infinite; }
.services .section-heading h2 { width: fit-content; color: transparent; background: linear-gradient(90deg, #fff 0%, #fff 42%, #ff7138 48%, #ff9a70 52%, #fff 58%, #fff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; animation: hero-title-shine 6.5s ease-in-out .7s infinite; }
.services-intro { display: flex; max-width: 560px; align-items: flex-start; gap: 18px; }
.services-intro__icon { display: grid; width: 54px; height: 54px; flex: 0 0 auto; color: #fff; background: rgba(240, 103, 61, .78); border: 1px solid rgba(255, 187, 158, .72); border-radius: 16px; box-shadow: 0 10px 24px rgba(7, 20, 43, .2); place-items: center; }
.services-intro__icon svg { width: 28px; height: 28px; }
.section-heading--row .services-intro .section-intro { margin-top: 0; transform: translateY(-8px); }
.services .section-intro { color: #d1dbea; }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.service-card { position: relative; display: flex; min-height: 390px; flex-direction: column; padding: 32px; color: var(--ink); background: #fff; border: 1px solid #e5eaf2; border-radius: var(--radius); box-shadow: 0 8px 30px rgba(15,34,77,.04); overflow: hidden; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.service-card:hover { border-color: rgba(36,87,207,.3); box-shadow: var(--shadow); transform: translateY(-6px); }
.service-card::after { position: absolute; right: -50px; bottom: -80px; width: 180px; height: 180px; content: ""; background: radial-gradient(circle, rgba(36,87,207,.1), transparent 66%); border-radius: 50%; }
.service-card--featured {
  color: #fff;
  background-color: #1e4fbf;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px),
    repeating-linear-gradient(135deg, rgba(255,255,255,.026) 0 1px, transparent 1px 13px),
    linear-gradient(145deg, #1e4fbf, #112e78);
  background-size: 32px 32px, 32px 32px, auto, auto;
  border-color: rgba(218, 231, 255, .46);
}
.service-card--featured p { color: #c8d7f8 !important; }
.service-card--featured .service-card__icon { color: #fff; background: #315d95; border: 1px solid rgba(205, 222, 255, .5); }
.service-card--featured .text-link { color: #fff; }
.service-card__tag { position: absolute; z-index: 3; top: 28px; right: 0; padding: 12px 22px 12px 25px; color: #fff; background: var(--orange); clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 12px 50%); box-shadow: -8px 10px 22px rgba(50, 20, 10, .26); font-size: 11px; font-weight: 850; letter-spacing: .04em; line-height: 1; text-transform: uppercase; }
.service-card__tag::after { position: absolute; top: 4px; right: -2px; bottom: 4px; left: -2px; content: ""; border-top: 1px solid rgba(255,255,255,.5); border-bottom: 1px solid rgba(255,255,255,.5); pointer-events: none; }
.service-card__tag--multiline { padding-block: 10px; line-height: 1.3; text-align: center; }
.service-card__number { display: none; }
.service-card--featured .service-card__number, .service-card--tagged .service-card__number { display: none; }
.service-card__icon { display: grid; width: 56px; height: 56px; margin-bottom: 52px; color: var(--blue); background: #eef3ff; border-radius: 16px; place-items: center; }
.service-card__icon svg { width: 27px; height: 27px; }
.service-card h3 { margin-bottom: 16px; font-size: 23px; line-height: 1.15; letter-spacing: -.02em; }
.service-card p { margin-bottom: 24px; color: var(--muted); font-size: 14px; }
.service-card .text-link { position: relative; z-index: 2; margin-top: auto; align-self: flex-start; }
.service-card[data-modal] { cursor: pointer; }
.service-card[data-modal]:focus-visible { outline: 3px solid rgba(255, 142, 94, .78); outline-offset: 4px; }

.ai-section { position: relative; background-color: #557aa8; background-image: repeating-linear-gradient(45deg, rgba(255,255,255,.03) 0 1px, transparent 1px 13px); background-size: auto; overflow: hidden; }
.ai-section::after { display: none; }
.ai-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 80px; }
.ai-visual { position: relative; }
.ai-visual img { width: 100%; height: 620px; object-fit: cover; border: 1px solid rgba(255,255,255,.12); border-radius: 32px; box-shadow: var(--shadow-lg); }
.ai-chip { position: absolute; top: 28px; left: 28px; display: inline-flex; align-items: center; gap: 8px; padding: 9px 13px; color: #fff; background: rgba(7,16,31,.72); border: 1px solid rgba(255,255,255,.18); border-radius: 999px; font-size: 12px; font-weight: 800; backdrop-filter: blur(12px); }
.ai-kicker-row { display: flex; align-items: center; gap: 9px; margin-bottom: 16px; }
.ai-kicker-icon { display: grid; width: 22px; height: 22px; flex: 0 0 auto; color: #e6efff; place-items: center; }
.ai-kicker-icon svg { width: 20px; height: 20px; }
.ai-copy .kicker { width: fit-content; margin-bottom: 0; color: transparent; background: linear-gradient(90deg, #f2f6ff 0%, #f2f6ff 42%, #ff7138 48%, #ff9a70 52%, #f2f6ff 58%, #f2f6ff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; font-size: 16px; font-weight: 800; letter-spacing: 0; line-height: 1.4; text-transform: none; animation: hero-title-shine 6.5s ease-in-out infinite; }
.ai-copy h2 { width: fit-content; margin-bottom: 24px; color: transparent; background: linear-gradient(90deg, #fff 0%, #fff 42%, #ff7138 48%, #ff9a70 52%, #fff 58%, #fff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; font-size: clamp(36px, 4vw, 58px); animation: hero-title-shine 6.5s ease-in-out .7s infinite; }
.ai-copy h3 { margin-bottom: 18px; color: #9cb9f9; font-size: 20px; }
.ai-copy p { color: #edf3fc; }
.ai-copy .btn { width: min(100%, 405.6px); padding-inline: 37.44px; gap: 15.6px; font-size: inherit; margin-top: 18px; color: #fff; background: rgba(36, 87, 207, .16); border: 1px solid rgba(255,255,255,.68); box-shadow: none; }
.ai-copy .btn:hover { color: #fff; background: var(--orange); border-color: var(--orange); box-shadow: 0 9px 22px rgba(240, 103, 61, .26); }

.pricing { background-color: var(--navy); background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.026) 0 1px, transparent 1px 13px); background-size: auto; }
.pricing .kicker { color: #b8ceff; }
.pricing-kicker { display: inline-flex; align-items: center; gap: 9px; font-size: 16px; font-weight: 800; letter-spacing: 0; line-height: 1.4; text-transform: none; }
.pricing-kicker svg { width: 20px; height: 20px; }
.pricing-kicker > span { color: transparent; background: linear-gradient(90deg, #b8ceff 0%, #b8ceff 42%, #ff7138 48%, #ff9a70 52%, #b8ceff 58%, #b8ceff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; animation: hero-title-shine 6.5s ease-in-out infinite; }
.pricing .section-heading h2 { width: fit-content; color: transparent; background: linear-gradient(90deg, #fff 0%, #fff 42%, #ff7138 48%, #ff9a70 52%, #fff 58%, #fff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; animation: hero-title-shine 6.5s ease-in-out .7s infinite; }
.pricing .section-intro { color: #d1dbea; }
.pricing-intro { display: flex; max-width: 560px; align-items: flex-start; gap: 18px; }
.pricing-intro__icon { display: grid; width: 54px; height: 54px; flex: 0 0 auto; color: #fff; background: rgba(240, 103, 61, .78); border: 1px solid rgba(255, 187, 158, .72); border-radius: 16px; box-shadow: 0 10px 24px rgba(7, 20, 43, .2); place-items: center; }
.pricing-intro__icon svg { width: 28px; height: 28px; }
.section-heading--row .pricing-intro .section-intro { margin-top: 0; transform: translateY(-8px); }
.price-tabs { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 0; padding: 0; background: none; border: 1px solid rgba(213, 228, 255, .48); border-bottom: 0; border-radius: 22px 22px 0 0; overflow: hidden; }
.price-tab { position: relative; display: grid; grid-template-columns: 64px 1fr; padding: 22px 18px 25px; color: #fff; text-align: left; background: transparent; border: 0; border-radius: 0; cursor: pointer; transition: color .25s ease; }
.price-tab::after { position: absolute; right: 0; bottom: 0; left: 0; height: 4px; content: ""; background: var(--orange); opacity: 0; transform: scaleX(.35); transition: opacity .25s ease, transform .3s ease; }
.price-tab span { grid-row: 1 / 3; color: #dbe7fa; font-size: 36px; font-weight: 850; line-height: 1; transition: color .25s ease, text-shadow .25s ease; }
.price-tab strong, .price-tab small { display: block; }
.price-tab strong { font-size: 18px; transition: color .25s ease, text-shadow .25s ease; }
.price-tab small { color: #e0e9f7; font-size: 13px; transition: color .25s ease, text-shadow .25s ease; }
.price-tab.is-active { color: #ff986e; background: transparent; box-shadow: none; }
.price-tab.is-active::after { opacity: 1; transform: scaleX(1); }
.price-tab.is-active span, .price-tab.is-active small { color: #ff986e; }
.price-tab:hover, .price-tab:hover span, .price-tab:hover small { color: #ff986e; text-shadow: 0 0 14px rgba(255, 112, 60, .26); }
.price-panels { position: relative; }
.price-panel { position: absolute; top: 0; left: 0; display: grid; width: 100%; grid-template-columns: .9fr 1.1fr; gap: 64px; padding: 54px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 28px; box-shadow: var(--shadow); visibility: hidden; pointer-events: none; overflow: hidden; }
.price-panel.is-active, .price-panel.is-switching { visibility: visible; }
.price-panel.is-active { position: relative; pointer-events: auto; }
.pricing .price-panel { color: #fff; background-color: #557aa8; background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.03) 0 1px, transparent 1px 13px); background-size: auto; border-color: rgba(213, 228, 255, .48); border-radius: 0 0 28px 28px; box-shadow: 0 28px 60px rgba(6, 20, 45, .24); }
.pricing .price-panel.is-switching { background: transparent; border-color: transparent; box-shadow: none; }
.pricing .price-panel__main p, .pricing .price-panel__details p { color: #f3f7ff; }
.pricing .price-panel__details { border-left-color: rgba(255,255,255,.24); }
.pricing .price-list li { border-bottom-color: rgba(255,255,255,.22); }
.pricing .price-list strong { color: #fff; }
.price-panel[hidden] { display: none; }
.price-label { display: inline-block; width: fit-content; margin-bottom: 18px; padding: 0; color: transparent; background: linear-gradient(90deg, #dce9ff 0%, #dce9ff 42%, #ff7138 48%, #ff9a70 52%, #dce9ff 58%, #dce9ff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; border-radius: 0; font-size: 16px; font-weight: 800; letter-spacing: 0; line-height: 1.4; text-transform: none; animation: hero-title-shine 6.5s ease-in-out infinite; }
.price-panel__main h3 { width: fit-content; margin-bottom: 22px; color: transparent; background: linear-gradient(90deg, #fff 0%, #fff 42%, #ff7138 48%, #ff9a70 52%, #fff 58%, #fff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; font-size: 38px; line-height: 1.08; letter-spacing: -.02em; animation: hero-title-shine 6.5s ease-in-out .7s infinite; }
.price-panel__main p { color: var(--ink-2); font-size: 17px; }
.price-panel__main .btn { width: min(100%, 260px); margin-top: 18px; color: #fff; background: rgba(36, 87, 207, .16); border: 1px solid rgba(255,255,255,.68); box-shadow: none; }
.price-panel__main .btn:hover { color: #fff; background: linear-gradient(135deg, var(--orange), var(--orange-2)); border-color: #ffad87; box-shadow: 0 10px 26px rgba(240, 103, 61, .34), 0 0 0 1px rgba(255,255,255,.12) inset; transform: none; }
#price-cloud .price-panel__main .btn { margin-top: 52px; }
.price-panel__details { padding: 4px 0 4px 54px; border-left: 1px solid var(--line); }
.price-panel__details h4 { margin-bottom: 22px; font-size: 19px; }
.price-panel__details p { color: var(--muted); font-size: 13px; }
.price-list { margin: 0 0 24px; padding: 0; list-style: none; }
.price-list li { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; padding: 15px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.price-list strong { flex: 0 0 auto; color: var(--blue); text-align: right; }
.free-chip { margin: 24px 0 8px; padding: 13px 15px; color: #0f6c4d; background: #e7f9f1; border-radius: 12px; font-size: 13px; font-weight: 750; }

.trust { background-color: #557aa8; background-image: repeating-linear-gradient(45deg, rgba(255,255,255,.03) 0 1px, transparent 1px 13px); background-size: auto; }
.trust-anchor, .section-anchor { display: block; width: 1px; height: 1px; margin-top: -1px; pointer-events: none; }
#about-anchor,
#ourservices,
#ai,
#price,
#trust-anchor,
#steps,
#bid,
#reviews,
#projects,
#faq-anchor { scroll-margin-top: calc(var(--nav-anchor-shift) + 19px); }
.trust-heading { display: grid; grid-template-columns: 1fr .82fr; align-items: end; gap: 72px; margin-bottom: 52px; }
.trust-heading h2 { width: fit-content; margin: 0; color: transparent; background: linear-gradient(90deg, #fff 0%, #fff 42%, #ff7138 48%, #ff9a70 52%, #fff 58%, #fff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; font-size: clamp(42px, 5vw, 68px); line-height: 1.02; animation: hero-title-shine 6.5s ease-in-out .7s infinite; }
.trust-heading > p { max-width: 570px; margin: 0 0 4px; color: #f2f6ff; font-size: 19px; line-height: 1.65; }
.trust-heading__lead { display: grid; grid-template-columns: 54px 1fr; align-items: start; gap: 18px; }
.trust-heading__lead > svg { width: 54px; height: 54px; padding: 13px; color: #fff; background: rgba(240, 103, 61, .78); border: 1px solid rgba(255, 187, 158, .72); border-radius: 16px; box-shadow: 0 10px 24px rgba(7, 20, 43, .2); }
.trust-heading__lead > span { transform: translateY(-8px); }
.trust-kicker { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 16px; color: #e6efff; }
.trust-kicker > svg { width: 21px; height: 21px; }
.trust-kicker > span { color: transparent; background: linear-gradient(90deg, #f2f6ff 0%, #f2f6ff 42%, #ff7138 48%, #ff9a70 52%, #f2f6ff 58%, #f2f6ff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; font-size: 16px; font-weight: 800; animation: hero-title-shine 6.5s ease-in-out infinite; }
.trust-layout { display: grid; grid-template-columns: .9fr 1.1fr; align-items: stretch; gap: 20px; }
.trust-proof { display: flex; min-height: 100%; flex-direction: column; padding: 46px; background-color: var(--navy); background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.026) 0 1px, transparent 1px 13px); border: 1px solid rgba(218, 231, 255, .46); border-radius: 28px; box-shadow: 0 20px 48px rgba(8, 23, 50, .22); transition: border-color .35s ease, box-shadow .35s ease, transform .35s ease; }
.trust-proof__label { color: #b8ceff; font-size: 12px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.trust-proof__metric { margin: 12px 0 8px; color: #ff986e; font-size: clamp(82px, 9vw, 118px); font-weight: 900; line-height: .92; letter-spacing: -.05em; text-shadow: 0 0 30px rgba(240, 103, 61, .18); }
.trust-proof h3 { max-width: 470px; margin-bottom: 20px; font-size: 30px; line-height: 1.12; }
.trust-proof p { margin-bottom: 32px; color: #dce6f5; font-size: 16px; line-height: 1.65; }
.trust-proof__secondary { margin-top: 4px; padding-top: 28px; border-top: 1px solid rgba(218, 231, 255, .25); }
.trust-proof__years { display: block; margin-bottom: 14px; color: #ff986e; font-size: 30px; font-weight: 900; line-height: 1.12; letter-spacing: -.02em; }
.trust-proof__secondary p { margin-bottom: 30px; }
.trust-grid { display: grid; gap: 16px; }
.trust .trust-grid article { display: grid; grid-template-columns: 58px 1fr; align-items: start; gap: 20px; padding: 28px 30px; color: #fff; background-color: #4772a4; background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.026) 0 1px, transparent 1px 13px); border: 1px solid rgba(218, 231, 255, .46); border-radius: 22px; box-shadow: 0 14px 34px rgba(8, 23, 50, .14); transition: background-color .35s ease, border-color .35s ease, box-shadow .35s ease, transform .35s ease; }
.trust-icon { display: grid; width: 58px; height: 58px; color: #e8f0ff; background: #315d95; border: 1px solid rgba(205, 222, 255, .5); border-radius: 16px; place-items: center; transition: color .35s ease, background-color .35s ease, border-color .35s ease, transform .35s ease; }
.trust-icon svg { width: 28px; height: 28px; }
.trust-grid h3 { margin-bottom: 9px; color: #fff; font-size: 22px; line-height: 1.2; }
.trust-grid p { margin: 0; color: #eef4ff; font-size: 15px; line-height: 1.58; }

.steps { position: relative; background-color: var(--navy); background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.026) 0 1px, transparent 1px 13px); }
.steps .section-heading { max-width: 880px; }
.steps-kicker { display: inline-flex; align-items: center; gap: 9px; font-size: 16px; font-weight: 800; letter-spacing: 0; line-height: 1.4; text-transform: none; }
.steps-kicker svg { width: 20px; height: 20px; color: #b8ceff; }
.steps-kicker span { color: transparent; background: linear-gradient(90deg, #b8ceff 0%, #b8ceff 42%, #ff7138 48%, #ff9a70 52%, #b8ceff 58%, #b8ceff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; animation: hero-title-shine 6.5s ease-in-out infinite; }
.steps .section-heading h2 { width: fit-content; color: transparent; background: linear-gradient(90deg, #fff 0%, #fff 42%, #ff7138 48%, #ff9a70 52%, #fff 58%, #fff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; animation: hero-title-shine 7.5s ease-in-out .7s infinite; }
.steps .section-intro { color: #dce6f5; }
.steps-line { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 64px; }
.steps-line::before { position: absolute; z-index: 0; top: 55px; right: calc(25% - 64px); left: 52px; height: 2px; content: ""; background: rgba(142, 178, 255, .56); }
.steps-line article { position: relative; z-index: 1; min-height: 250px; padding: 28px 24px; background: rgba(15, 34, 64, .42); border: 1px solid rgba(218, 231, 255, .28); border-radius: 20px; box-shadow: 0 14px 34px rgba(8, 23, 50, .14); transition: background-color .3s ease, border-color .3s ease, box-shadow .3s ease, transform .3s ease; }
.steps-line span { position: relative; z-index: 1; display: grid; width: 56px; height: 56px; margin-bottom: 24px; color: #fff; background: #315d95; border: 1px solid rgba(205, 222, 255, .55); border-radius: 50%; box-shadow: 0 0 0 7px rgba(43, 68, 106, .9); font-size: 12px; font-weight: 850; place-items: center; transition: color .3s ease, background-color .3s ease, border-color .3s ease, transform .3s ease; }
.steps-line h3 { margin-bottom: 10px; color: #fff; font-size: 20px; }
.steps-line p { margin: 0; color: #dce6f5; font-size: 14px; line-height: 1.6; }
@media (hover: hover) {
  .steps-line article:hover { background: rgba(71, 114, 164, .54); border-color: rgba(255,255,255,.54); box-shadow: 0 20px 42px rgba(8, 23, 50, .22); transform: translateY(-3px); }
  .steps-line article:hover span { color: #fff; background: var(--orange); border-color: rgba(255, 181, 151, .8); transform: scale(1.06); }
}

.contact-section { position: relative; background-color: #557aa8; background-image: repeating-linear-gradient(45deg, rgba(255,255,255,.03) 0 1px, transparent 1px 13px); background-size: auto; overflow: hidden; }
.contact-section::before { display: none; }
.contact-grid { position: relative; display: grid; grid-template-columns: 1.08fr .92fr; align-items: start; gap: 76px; }
.contact-copy { padding-top: 0; }
.contact-copy h2 { width: fit-content; max-width: 760px; margin-bottom: 28px; color: transparent; background: linear-gradient(90deg, #fff 0%, #fff 42%, #ff7138 48%, #ff9a70 52%, #fff 58%, #fff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; font-size: clamp(46px, 4.6vw, 64px); animation: hero-title-shine 7.5s ease-in-out .7s infinite; }
.contact-lead, .contact-request-copy { max-width: 720px; color: #f2f6ff; font-size: 18px; line-height: 1.65; }
.contact-request-copy { margin-top: 20px; }
.contact-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 28px; margin-top: 30px; }
.contact-links a { display: flex; align-items: center; gap: 14px; }
.contact-links svg { width: 28px; height: 28px; color: #dbe7ff; }
.contact-links span, .contact-links strong { display: block; }
.contact-links span { color: #d2def0; font-size: 12px; }
.contact-links strong { color: #fff; font-size: 19px; font-weight: 400; overflow-wrap: anywhere; transition: color .25s ease; }
.contact-links a:hover strong { color: #ffb092; }
.contact-client-note { max-width: 720px; margin: 30px 0 0; padding: 0; color: #eef4ff; background: transparent; border: 0; border-radius: 0; font-size: 18px; line-height: 1.65; }
.contact-chat-link { color: #ffb092; font-weight: inherit; text-decoration: underline; text-decoration-color: rgba(255,176,146,.55); text-underline-offset: 3px; transition: color .2s ease, text-decoration-color .2s ease; }
.contact-chat-link:hover { color: #ffb092; text-decoration-color: var(--orange); }
.contact-response-note { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 18px; font-size: 16px; font-weight: 800; line-height: 1.4; }
.contact-response-note svg { width: 22px; height: 22px; color: #dbe7ff; }
.contact-response-note span { color: transparent; background: linear-gradient(90deg, #e6efff 0%, #e6efff 42%, #ff7138 48%, #ff9a70 52%, #e6efff 58%, #e6efff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; animation: hero-title-shine 6.5s ease-in-out infinite; }
.contact-section .contact-form { margin-top: 50px; padding: 0; color: var(--ink); background-color: transparent; background-image: none; border: 0; border-radius: 0; box-shadow: none; }
.contact-form label { position: relative; display: block; margin-bottom: 20px; }
.contact-form label > span:first-child { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; border: 0; clip: rect(0 0 0 0); overflow: hidden; white-space: nowrap; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.form-grid label { margin-bottom: 20px; }
.contact-form input:not([type="checkbox"]), .contact-form textarea { width: 100%; padding: 20px 24px; color: var(--ink); background: rgba(255,255,255,.8); border: 1px solid #c8ced8; border-radius: 20px; outline: none; font-size: 16px; transition: border-color .2s, box-shadow .2s, background .2s; }
.contact-form input:not([type="checkbox"]):focus, .contact-form textarea:focus { background: #fff; border-color: #7da3ff; box-shadow: 0 0 0 4px rgba(36,87,207,.09); }
.contact-form input:not([type="checkbox"]) { min-height: 56px; padding: 14px 20px; }
.contact-form textarea { min-height: 142px; resize: vertical; }
.checkbox { display: grid !important; grid-template-columns: 22px 1fr; gap: 12px; color: #f2f6ff; font-size: 12px; line-height: 1.45; }
.checkbox input { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--blue); }
.checkbox a { color: #ffb092; text-decoration: underline; text-underline-offset: 2px; }
.contact-form .btn { color: #fff; background: rgba(36, 87, 207, .16); border: 1px solid rgba(255,255,255,.68); border-radius: 19px; box-shadow: none; font-size: 18px; }
.contact-form .btn:hover { color: #fff; background: linear-gradient(135deg, var(--orange), var(--orange-2)); border-color: #ffad87; box-shadow: 0 10px 26px rgba(240, 103, 61, .3); filter: none; transform: none; }
.contact-form .btn:disabled { cursor: wait; opacity: .72; pointer-events: none; }
.form-status { min-height: 22px; margin-top: 18px; font-size: 14px; font-weight: 800; line-height: 1.45; text-align: left; }
.form-status.is-error { color: #ffb09b; }
.form-status.is-success { color: #c8f1dc; }

.reviews { background-color: var(--navy); background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.026) 0 1px, transparent 1px 13px); background-size: auto; }
.reviews-kicker { display: inline-flex; align-items: center; gap: 9px; font-size: 16px; font-weight: 800; letter-spacing: 0; line-height: 1.4; text-transform: none; }
.reviews-kicker svg { width: 20px; height: 20px; color: #b8ceff; }
.reviews-kicker span { color: transparent; background: linear-gradient(90deg, #b8ceff 0%, #b8ceff 42%, #ff7138 48%, #ff9a70 52%, #b8ceff 58%, #b8ceff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; animation: hero-title-shine 6.5s ease-in-out infinite; }
.reviews .section-heading h2 { width: fit-content; color: transparent; background: linear-gradient(90deg, #fff 0%, #fff 42%, #ff7138 48%, #ff9a70 52%, #fff 58%, #fff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; animation: hero-title-shine 7.5s ease-in-out .7s infinite; }
.reviews-link { min-height: 50px; padding: 0 20px; color: #fff; background: rgba(36, 87, 207, .16); border: 1px solid rgba(255,255,255,.58); border-radius: 14px; transition: color .3s ease, background-color .3s ease, border-color .3s ease, box-shadow .3s ease; }
.reviews-link:hover { color: #fff; background: var(--orange); border-color: var(--orange); box-shadow: 0 9px 22px rgba(240, 103, 61, .24); }
.review-grid { --review-card-width: calc((100% - 36px) / 3); display: flex; gap: 18px; padding: 14px 0 76px; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scroll-behavior: smooth; scroll-snap-type: inline mandatory; scrollbar-width: none; }
.review-grid::-webkit-scrollbar { display: none; width: 0; height: 0; }
.review-grid::after { flex: 0 0 max(0px, calc(100% - var(--review-card-width))); content: ""; }
.review-card { position: relative; display: flex; min-height: 350px; flex: 0 0 var(--review-card-width); flex-direction: column; padding: 34px; color: #fff; background: rgba(15, 34, 64, .44); border: 1px solid rgba(218, 231, 255, .3); border-radius: 22px; box-shadow: 0 14px 34px rgba(8, 23, 50, .14); overflow: hidden; scroll-snap-align: start; scroll-snap-stop: always; transition: background-color .3s ease, border-color .3s ease, box-shadow .3s ease, transform .3s ease; }
.review-card::after { position: absolute; top: 5px; right: 22px; color: rgba(255,255,255,.055); content: "“"; font-family: Georgia, serif; font-size: 120px; line-height: 1; pointer-events: none; }
.review-card--accent { background: rgba(71, 114, 164, .7); border-color: rgba(218, 231, 255, .46); box-shadow: 0 14px 34px rgba(8, 23, 50, .14); }
.review-card--more { background: rgba(49, 93, 149, .66); border-color: rgba(218, 231, 255, .42); }
.review-stars { position: relative; z-index: 1; margin-bottom: 24px; color: #ff9a70; font-size: 13px; letter-spacing: .2em; }
.review-card blockquote { position: relative; z-index: 1; margin: 0 0 28px; color: #f7faff; font-size: 18px; line-height: 1.58; letter-spacing: -.015em; }
.review-card footer { position: relative; z-index: 1; display: flex; align-items: center; gap: 12px; margin-top: auto; }
.review-card footer span { display: grid; width: 44px; height: 44px; color: #fff; background: #315d95; border: 1px solid rgba(205, 222, 255, .45); border-radius: 50%; font-size: 12px; font-weight: 850; place-items: center; }
.review-card footer strong { color: #fff; font-size: 14px; }
.review-card footer a:hover strong { color: #ffb092; }
.review-navigation { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: -28px; }
.review-pagination { display: flex; align-items: center; justify-content: center; gap: 10px; }
.review-pagination button { width: 10px; height: 10px; padding: 0; background: rgba(205, 222, 255, .46); border: 0; border-radius: 999px; cursor: pointer; transition: width .3s ease, background-color .3s ease, box-shadow .3s ease; }
.review-pagination button:hover { background: #dbe7ff; }
.review-pagination button.is-active { width: 30px; background: var(--orange); box-shadow: 0 0 0 4px rgba(240, 103, 61, .16); }
.review-arrow { display: grid; width: 44px; height: 44px; padding: 0; color: #fff; background: rgba(36, 87, 207, .16); border: 1px solid rgba(255,255,255,.5); border-radius: 13px; cursor: pointer; place-items: center; transition: color .25s ease, background-color .25s ease, border-color .25s ease, opacity .25s ease, box-shadow .25s ease; }
.review-arrow svg { width: 19px; height: 19px; }
.review-arrow--prev svg { transform: rotate(180deg); }
.review-arrow:hover:not(:disabled) { background: var(--orange); border-color: var(--orange); box-shadow: 0 8px 20px rgba(240, 103, 61, .24); }
.review-arrow:disabled { opacity: .32; cursor: default; }
@media (hover: hover) {
  .review-card:hover { background: rgba(71, 114, 164, .52); border-color: rgba(255,255,255,.58); box-shadow: 0 20px 42px rgba(8, 23, 50, .22); transform: translateY(-3px); }
  .review-card--accent:hover { background: rgba(82, 127, 178, .82); }
}

.projects { position: relative; color: #fff; background-color: #557aa8; background-image: repeating-linear-gradient(45deg, rgba(255,255,255,.03) 0 1px, transparent 1px 13px); background-size: auto; overflow: hidden; }
.projects::before { position: absolute; top: -260px; right: -170px; width: 620px; height: 620px; content: ""; background: radial-gradient(circle, rgba(160,193,255,.16), transparent 68%); pointer-events: none; }
.projects .container { position: relative; z-index: 1; }
.projects-heading { display: grid; width: 100%; max-width: none; grid-template-columns: 1fr; align-items: start; gap: 30px; margin-bottom: 18px; }
.projects-kicker { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 18px; font-size: 16px; font-weight: 800; line-height: 1.4; letter-spacing: normal; text-transform: uppercase; }
.projects-kicker svg { width: 22px; height: 22px; color: #dbe7ff; }
.projects-kicker span { color: transparent; background: linear-gradient(90deg, #e6efff 0%, #e6efff 42%, #ff7138 48%, #ff9a70 52%, #e6efff 58%, #e6efff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; animation: hero-title-shine 6.5s ease-in-out infinite; }
.projects .section-heading h2 { width: fit-content; margin-bottom: 0; color: transparent; background: linear-gradient(90deg, #fff 0%, #fff 42%, #ff7138 48%, #ff9a70 52%, #fff 58%, #fff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; animation: hero-title-shine 7.5s ease-in-out .7s infinite; }
.projects .section-heading h2 > span { display: block; white-space: nowrap; }
.projects .section-intro { width: 100%; max-width: none; margin: 0; color: #f2f6ff; font-size: 18px; line-height: 1.7; }
.projects-intro { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 64px; }
.projects-intro__column { position: relative; min-width: 0; padding: 0 0 0 20px; }
.projects-intro__column::before { position: absolute; top: .35em; bottom: .35em; left: 0; width: 2px; content: ""; background: linear-gradient(180deg, var(--orange-2) 0, var(--orange) 36px, rgba(240,103,61,.22) 100%); border-radius: 2px; }
.projects-intro p { margin: 0 0 14px; }
.projects-intro p:last-child { margin-bottom: 0; }
.projects-grid { --project-shadow-gutter: min(32px, 4vw); --project-card-width: calc((100% - 32px) / 2); display: flex; gap: 32px; margin-inline: calc(-1 * var(--project-shadow-gutter)); padding: 12px var(--project-shadow-gutter) 96px; scroll-padding-inline: var(--project-shadow-gutter); overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scroll-behavior: smooth; scroll-snap-type: inline mandatory; scrollbar-width: none; }
.projects-grid::-webkit-scrollbar { display: none; width: 0; height: 0; }
.projects-grid::after { content: none; }
.projects-grid:focus-visible { outline: 3px solid rgba(55,114,238,.35); outline-offset: 8px; border-radius: 20px; }
.project-card { position: relative; display: flex; min-height: 320px; flex: 0 0 var(--project-card-width); flex-direction: column; padding: 28px; color: #fff; background-color: var(--navy); background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.026) 0 1px, transparent 1px 13px); border: 1px solid rgba(218, 231, 255, .46); border-radius: 28px; box-shadow: 0 5px 14px rgba(8, 23, 50, .08); overflow: hidden; scroll-snap-align: start; scroll-snap-stop: always; transition: border-color .35s ease, box-shadow .35s ease, transform .35s ease; }
.project-card::after { position: absolute; z-index: 0; top: 3px; right: 18px; color: rgba(255,152,110,.12); content: attr(data-project-number); font-size: 118px; font-weight: 900; line-height: 1; letter-spacing: -.05em; pointer-events: none; }
.project-card__meta { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 24px; }
.project-card__meta span { display: inline-flex; min-height: 30px; align-items: center; padding: 0 11px; color: #dfe9f8; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.22); border-radius: 999px; font-size: 11px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.project-card__meta span:first-child { color: #fff; background: var(--orange); border-color: #ff9e78; }
.project-card h3 { position: relative; z-index: 1; max-width: 520px; margin-bottom: 12px; color: #fff; font-size: 24px; line-height: 1.16; }
.project-card__lead { position: relative; z-index: 1; max-width: 590px; margin: 0 0 20px; color: #dce6f5; font-size: 14px; line-height: 1.6; }
.project-card__result { position: relative; z-index: 1; margin: 0 0 20px; padding: 18px 0 0; border-top: 1px solid rgba(218,231,255,.25); }
.project-card__result span { display: block; margin-bottom: 7px; color: #b8ceff; font-size: 11px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.project-card__result strong { color: #ff986e; font-size: 15px; line-height: 1.45; }
.project-card__button { position: relative; z-index: 1; width: fit-content; min-height: 46px; margin-top: auto; padding-inline: 20px; }
.project-card .project-card__button { color: #fff; background: rgba(36,87,207,.16); border: 1px solid rgba(255,255,255,.58); box-shadow: none; }
.project-card .project-card__button:hover { color: #fff; background: var(--orange); border-color: var(--orange); box-shadow: 0 9px 22px rgba(240,103,61,.24); }
.project-navigation { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: -58px; }
.project-pagination { display: flex; min-width: 158px; align-items: center; justify-content: center; gap: 10px; }
.project-pagination button { width: 10px; height: 10px; padding: 0; background: rgba(205,222,255,.46); border: 0; border-radius: 999px; cursor: pointer; transition: width .3s ease, background-color .3s ease, box-shadow .3s ease; }
.project-pagination button:hover { background: #dbe7ff; }
.project-pagination button.is-active { width: 30px; background: var(--orange); box-shadow: 0 0 0 4px rgba(240,103,61,.16); }
.project-arrow { display: grid; width: 44px; height: 44px; padding: 0; color: var(--blue); background: rgba(255,255,255,.78); border: 1px solid #b8c9e2; border-radius: 13px; box-shadow: 0 8px 22px rgba(32,59,99,.08); cursor: pointer; place-items: center; transition: color .25s ease, background-color .25s ease, border-color .25s ease, opacity .25s ease, box-shadow .25s ease; }
.project-arrow svg { width: 19px; height: 19px; }
.project-arrow--prev svg { transform: rotate(180deg); }
.project-arrow:hover:not(:disabled) { color: #fff; background: var(--orange); border-color: var(--orange); box-shadow: 0 8px 20px rgba(240,103,61,.24); }
.project-arrow:disabled { opacity: .34; cursor: default; box-shadow: none; }
.project-modal__label { display: block; margin-bottom: 14px; color: var(--orange); font-size: 14px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.project-modal .modal__dialog { width: min(920px, 100%); color: #fff; background-color: #557aa8; background-image: repeating-linear-gradient(45deg, rgba(255,255,255,.03) 0 1px, transparent 1px 13px); border-color: rgba(218,231,255,.46); }
.project-modal__lead { max-width: 760px; margin-bottom: 26px; font-size: 17px; line-height: 1.65; }
.project-modal__details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.project-modal__details > div { padding: 22px 20px; background-color: #4772a4; background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.026) 0 1px, transparent 1px 13px); border: 1px solid rgba(218,231,255,.46); border-radius: 18px; box-shadow: 0 12px 28px rgba(8,23,50,.12); }
.project-modal__details span { color: var(--orange); font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.project-modal__details h3 { margin: 12px 0 8px; color: #fff; font-size: 18px; }
.project-modal .project-modal__details p { margin: 0; color: #eef4ff; font-size: 14px; line-height: 1.6; }
@media (hover: hover) {
  .project-card:hover { border-color: rgba(255,255,255,.68); box-shadow: 0 8px 18px rgba(8, 23, 50, .11); transform: translateY(-3px); }
}

.faq { position: relative; color: #fff; background-color: var(--navy); background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.026) 0 1px, transparent 1px 13px); background-size: auto; overflow: hidden; }
.faq-grid { display: grid; grid-template-columns: .68fr 1.32fr; align-items: start; gap: 90px; }
.faq-grid .section-heading { position: sticky; top: 142px; margin: 0; }
.faq-kicker { display: inline-flex; align-items: center; gap: 9px; font-size: 16px; font-weight: 800; letter-spacing: 0; line-height: 1.4; text-transform: none; }
.faq-kicker svg { width: 20px; height: 20px; color: #dbe7ff; }
.faq-kicker span { color: transparent; background: linear-gradient(90deg, #e6efff 0%, #e6efff 42%, #ff7138 48%, #ff9a70 52%, #e6efff 58%, #e6efff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; animation: hero-title-shine 6.5s ease-in-out infinite; }
.services-kicker, .pricing-kicker, .steps-kicker, .reviews-kicker, .faq-kicker, .price-label { font-size: 16px; font-weight: 800; letter-spacing: .07em; line-height: 1.4; text-transform: uppercase; }
.faq .section-heading h2 { width: fit-content; color: transparent; background: linear-gradient(90deg, #fff 0%, #fff 42%, #ff7138 48%, #ff9a70 52%, #fff 58%, #fff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; animation: hero-title-shine 7.5s ease-in-out .7s infinite; }
.faq .section-intro { color: #f2f6ff; }
.faq .section-intro a { display: inline-flex; align-items: center; gap: 6px; color: #ffb092; font-weight: 400; text-decoration: underline; text-decoration-color: rgba(255, 176, 146, .48); text-underline-offset: 4px; transition: color .25s ease, text-decoration-color .25s ease; }
.faq .section-intro a svg { width: 17px; height: 17px; transition: transform .25s ease; }
.faq .section-intro a:hover { color: #fff; text-decoration-color: var(--orange); }
.faq .section-intro a:hover svg { transform: translateX(3px); }
.faq-list { border-top: 1px solid rgba(218, 231, 255, .42); }
.faq-list details { background: transparent; border: 0; border-bottom: 1px solid rgba(218, 231, 255, .42); border-radius: 0; box-shadow: none; overflow: visible; }
.faq-list summary { position: relative; padding: 26px 58px 26px 0; color: #f7faff; font-size: 18px; font-weight: 750; line-height: 1.4; list-style: none; cursor: pointer; transition: color .25s ease; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { position: absolute; top: 50%; right: 0; width: 36px; height: 36px; background: rgba(36, 87, 207, .16); border: 1px solid rgba(255,255,255,.5); border-radius: 11px; transform: translateY(-50%); transition: background-color .25s ease, border-color .25s ease, box-shadow .25s ease; }
.faq-list summary span::before, .faq-list summary span::after { position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; content: ""; background: #fff; border-radius: 2px; transform: translate(-50%, -50%); transition: transform .25s ease; }
.faq-list summary span::after { transform: translate(-50%, -50%) rotate(90deg); }
.faq-list details[open] summary { color: #ffb092; }
.faq-list details[open] summary span { color: #fff; background: var(--orange); border-color: #ffad87; box-shadow: 0 8px 18px rgba(240, 103, 61, .24); }
.faq-list details[open] summary span::after { transform: translate(-50%, -50%) rotate(0); }
.faq-list details > div { padding: 0 58px 28px 0; color: #edf3ff; font-size: 15px; line-height: 1.68; }
.faq-list details > div p:last-child { margin-bottom: 0; }
@media (hover: hover) {
  .faq-list details:not([open]):hover summary { color: #fff; text-shadow: 0 0 18px rgba(255,255,255,.2); }
  .faq-list details:not([open]):hover summary span { background: rgba(255,255,255,.13); border-color: rgba(255,255,255,.72); }
}

.map-section { position: relative; min-height: 0; padding: 82px 0; background-color: #557aa8; background-image: repeating-linear-gradient(45deg, rgba(255,255,255,.03) 0 1px, transparent 1px 13px); background-size: auto; }
.map-heading { margin-bottom: 32px; }
.map-heading h2 { width: fit-content; margin-bottom: 12px; color: transparent; background: linear-gradient(90deg, #fff 0%, #fff 42%, #ff7138 48%, #ff9a70 52%, #fff 58%, #fff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; font-size: clamp(32px, 3.7vw, 50px); line-height: 1.08; animation: hero-title-shine 6.5s ease-in-out .7s infinite; }
.map-heading p { margin: 0; color: #dce6f5; font-size: 18px; }
.map-heading a { color: #aac4ff; font-weight: 750; text-decoration: underline; text-decoration-color: rgba(170, 196, 255, .42); text-underline-offset: 4px; transition: color .25s ease, text-decoration-color .25s ease; }
.map-heading a:hover { color: var(--orange); text-decoration-color: currentColor; }
.map-embed { position: relative; height: 480px; border: 1px solid rgba(255,255,255,.32); border-radius: 26px; box-shadow: 0 22px 54px rgba(5, 16, 36, .28); overflow: hidden; }
.map-embed iframe { width: 100%; height: 100%; border: 0; filter: saturate(.82) contrast(.98); }

.footer { position: relative; padding: 78px 0 0; color: #fff; background-color: var(--navy); background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.026) 0 1px, transparent 1px 13px); background-size: auto; overflow: hidden; }
.footer::before { content: none; }
.footer-grid { position: relative; display: grid; grid-template-columns: 1.55fr .82fr 1fr; align-items: stretch; gap: 18px; padding-bottom: 42px; }
.footer-panel { min-width: 0; padding: 32px 30px; background: rgba(19, 48, 88, .24); border: 1px solid rgba(218, 231, 255, .26); border-radius: 22px; box-shadow: 0 16px 38px rgba(8, 23, 50, .12); backdrop-filter: blur(8px); }
.footer-grid h3 { position: relative; width: fit-content; margin-bottom: 30px; color: #fff; font-size: 18px; font-weight: 850; letter-spacing: .035em; line-height: 1.2; text-transform: none; }
.footer-grid h3::after { position: absolute; right: 0; bottom: -10px; left: 0; height: 2px; content: ""; background: linear-gradient(90deg, #dce8ff, #8fb1f8); border-radius: 99px; }
.footer-grid .footer-panel a { position: relative; display: block; margin: 0 0 10px; padding: 4px 0; color: #eef4ff; font-size: 15px; line-height: 1.48; break-inside: avoid; transition: color .25s ease, padding-left .25s ease; }
.footer-grid .footer-panel a:hover { color: #ffb092; }
.footer-menu-links { columns: 2; column-gap: 30px; }
.footer-menu-links a, .footer-services > a { padding-left: 14px !important; }
.footer-menu-links a::before, .footer-services > a::before { position: absolute; top: .94em; left: 0; width: 5px; height: 5px; content: ""; background: rgba(220, 232, 255, .72); border-radius: 50%; transition: background-color .25s ease, transform .25s ease; }
.footer-menu-links a:hover, .footer-services > a:hover { padding-left: 18px !important; }
.footer-menu-links a:hover::before, .footer-services > a:hover::before { background: var(--orange); transform: scale(1.2); }
.footer-grid > .footer-contacts { text-align: right; }
.footer .footer-grid > div.footer-contacts > a { display: flex; width: 100%; min-height: 42px; align-items: center; justify-content: flex-end; gap: 13px; margin-bottom: 7px; padding: 3px 0; }
.footer-contacts a > span { flex: 1 1 auto; text-align: right; }
.footer-contacts svg { width: 34px; height: 34px; flex: 0 0 34px; padding: 7px; color: #f5f8ff; background: rgba(36, 87, 207, .16); border: 1px solid rgba(255,255,255,.34); border-radius: 10px; transition: color .25s ease, background-color .25s ease, border-color .25s ease, transform .25s ease; }
.footer-contacts a:hover svg { color: #fff; background: var(--orange); border-color: #ffad87; transform: scale(1.05); }
.footer .footer-grid > div.footer-contacts > a.footer-review-link { margin-top: 18px; padding-top: 22px; border-top: 1px solid rgba(218, 231, 255, .2); }
.footer-2gis-icon { display: block; width: 34px; height: 34px; flex: 0 0 34px; object-fit: contain; border-radius: 10px; transition: transform .25s ease, box-shadow .25s ease; }
.footer-review-link:hover .footer-2gis-icon { box-shadow: 0 7px 18px rgba(8, 23, 50, .18); transform: scale(1.05); }
.footer-legal { position: relative; padding-bottom: 26px; color: #dfe9f7; font-size: 13px; line-height: 1.65; text-align: right; }
.footer-legal p { margin: 3px 0 0 auto; }
.footer-bottom { position: relative; display: flex; align-items: center; justify-content: space-between; padding-block: 24px; color: #e2eaf7; border-top: 1px solid rgba(255,255,255,.28); font-size: 13px; }
.footer-bottom a:hover { color: #ffb092; }

.cookie-banner { position: fixed; z-index: 200; left: 20px; right: auto; bottom: 20px; display: flex; width: min(600px, calc(100% - 40px)); align-items: center; gap: 24px; padding: 20px 22px; background: rgba(255,255,255,.97); border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 22px 70px rgba(4,16,43,.25); backdrop-filter: blur(16px); transition: opacity .25s, transform .25s; }
.cookie-banner.is-hidden { opacity: 0; pointer-events: none; transform: translateY(16px); }
.cookie-banner p { margin: 0; color: var(--muted); font-size: 11px; }
.cookie-banner a { color: var(--blue); text-decoration: underline; }

.modal { position: fixed; z-index: 300; inset: 0; display: flex; padding: 22px; align-items: flex-start; justify-content: center; opacity: 0; overflow-y: auto; overscroll-behavior: contain; pointer-events: none; scrollbar-width: none; -ms-overflow-style: none; visibility: hidden; transition: opacity .25s, visibility .25s; }
.modal::-webkit-scrollbar { display: none; width: 0; height: 0; }
.modal.is-open { opacity: 1; pointer-events: auto; visibility: visible; }
.modal__overlay { position: fixed; inset: 0; background: rgba(2,8,20,.78); backdrop-filter: blur(8px); }
.modal__dialog { position: relative; z-index: 1; width: min(730px, 100%); max-height: none; margin: auto 0; padding: 48px; background: #fff; border-radius: 26px; box-shadow: var(--shadow-lg); overflow: visible; transform: translateY(18px) scale(.98); transition: transform .25s; }
.modal.is-open .modal__dialog { transform: translateY(0) scale(1); }
.modal__close { position: absolute; z-index: 6; top: 10px; right: 10px; display: grid; width: 40px; height: 40px; margin: 0; padding: 0; background: var(--soft); border: 0; border-radius: 50%; cursor: pointer; place-items: center; }
.modal__close svg { width: 20px; height: 20px; }
.modal__dialog h2 { margin-bottom: 18px; padding-right: 32px; font-size: 38px; line-height: 1.08; letter-spacing: -.02em; }
.modal__dialog h3 { margin: 24px 0 10px; font-size: 20px; }
.modal__dialog p { color: var(--ink-2); }
.modal__dialog ul { display: grid; gap: 9px; margin: 22px 0; padding: 0; list-style: none; }
.modal__dialog li { position: relative; padding-left: 26px; color: var(--ink-2); }
.modal__dialog li::before { position: absolute; top: .57em; left: 2px; width: 8px; height: 8px; content: ""; background: var(--blue); border-radius: 50%; box-shadow: 0 0 0 4px #edf3ff; }
.modal__dialog .btn { margin-top: 40px; }
.modal__dialog > .btn:last-child { display: flex; width: fit-content; margin-bottom: 0; }

main > .section:not(.section-dark):not(.section-soft) {
  background-color: #fff;
  background-image: repeating-linear-gradient(135deg, rgba(38, 70, 123, .02) 0 1px, transparent 1px 14px);
  background-size: auto;
}
.service-card:not(.service-card--featured),
.trust-grid article,
.contact-form,
.modal__dialog {
  background-color: #fff;
  background-image: repeating-linear-gradient(135deg, rgba(38, 70, 123, .016) 0 1px, transparent 1px 14px);
  background-size: auto;
}
.services .service-card:not(.service-card--featured) {
  color: #fff;
  background-color: #4772a4;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px),
    repeating-linear-gradient(135deg, rgba(255,255,255,.026) 0 1px, transparent 1px 13px);
  background-size: 32px 32px, 32px 32px, auto;
  border-color: rgba(218, 231, 255, .46);
  box-shadow: 0 14px 34px rgba(8, 23, 50, .16);
}
.services .service-card:not(.service-card--featured) h3 { color: #fff; }
.services .service-card:not(.service-card--featured) p { color: #f5f8ff; }
.services .service-card:not(.service-card--featured) .service-card__number { color: #dbe7fa; }
.services .service-card:not(.service-card--featured) .service-card__icon { color: #e0ebff; background: #315d95; border: 1px solid rgba(205, 222, 255, .5); }
.services .service-card:not(.service-card--featured) .text-link { color: #fff; }
.services .service-card .text-link { transition: color .3s ease; }
.services .service-card .text-link:hover { color: #8db7ff; }
.services .service-card__icon { transition: color .35s ease, background-color .35s ease, border-color .35s ease, transform .35s ease; }
.modal__dialog {
  color: #fff;
  background-color: var(--navy);
  background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.026) 0 1px, transparent 1px 13px);
  background-size: auto;
  border: 1px solid rgba(255,255,255,.26);
}
.modal__dialog .kicker { color: #a9c4ff; }
.modal__dialog p, .modal__dialog li { color: #edf3fb; }
.modal__dialog li::before { background: var(--orange); box-shadow: 0 0 0 4px rgba(240, 103, 61, .16); }
.modal__close { color: #fff; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.reveal--delay { transition-delay: .13s; }
.reveal.is-visible { opacity: 1; transform: none; }

@media (hover: hover) and (pointer: fine) {
  .services .service-card:hover { transform: translateY(-3px); }
  .services .service-card:not(.service-card--featured):hover { background-color: #527fb2; border-color: rgba(255,255,255,.62); box-shadow: 0 20px 42px rgba(8, 23, 50, .24); }
  .services .service-card--featured:hover { border-color: rgba(255,255,255,.62); }
  .services .service-card:hover .service-card__icon { color: #fff; background: rgba(240, 103, 61, .78); border-color: rgba(255, 181, 151, .72); transform: scale(1.05); }
  .hero-actions .btn:hover { transform: none; }
  .hero-actions .btn--accent:hover, .hero-actions .btn--light:hover { color: #fff; background: var(--orange); border-color: var(--orange); box-shadow: 0 9px 22px rgba(240, 103, 61, .26), 0 0 0 1px rgba(255,255,255,.18); }
  .reaction-card:hover { background: rgba(25, 52, 91, .72); border-color: rgba(255,255,255,.52); box-shadow: 0 20px 46px rgba(8, 21, 43, .3); transform: translateY(-5px); }
  .reaction-card:hover .reaction-card__number { color: #ffb090; }
  .stats article:hover { background: rgba(255,255,255,.1); box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
  .stats article:hover .stats__value { color: #ff804d; text-shadow: 0 0 20px rgba(255, 112, 60, .62); transform: translateY(-2px); }
  .stats article:hover .stats__icon { color: #ff804d; filter: drop-shadow(0 0 9px rgba(255, 112, 60, .38)); transform: translateY(-3px); }
  .stats article:hover p { color: #fff; text-shadow: 0 0 14px rgba(255,255,255,.24); }
  .trust-proof:hover { border-color: rgba(255,255,255,.68); box-shadow: 0 26px 54px rgba(8, 23, 50, .28); transform: translateY(-3px); }
  .trust .trust-grid article:hover { background-color: #527fb2; border-color: rgba(255,255,255,.65); box-shadow: 0 20px 42px rgba(8, 23, 50, .22); transform: translateY(-3px); }
  .trust .trust-grid article:hover .trust-icon { color: #fff; background: rgba(240, 103, 61, .82); border-color: rgba(255, 181, 151, .72); transform: scale(1.06); }
}

@media (max-width: 1120px) {
  .page-indicator { display: none; }
  .desktop-nav { gap: 18px; }
  .desktop-nav a { font-size: 15px; }
  .hero-grid { grid-template-columns: .95fr 1.05fr; gap: 42px; }
  .hero-image { height: 560px; }
  .stats article { align-items: flex-start; }
  .stats__value { margin-bottom: 7px; }
  .contact-grid { gap: 55px; }
  .footer-grid { gap: 14px; }
  .footer-panel { padding: 28px 24px; }
}

@media (max-width: 980px) {
  :root { --nav-anchor-shift: -58px; }
  .section { padding: 86px 0; }
  .desktop-nav, .header-cta { display: none; }
  .menu-button { display: flex; }
  .hero { padding: 66px 0; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-copy { max-width: 760px; }
  .hero-actions { margin-top: 34px; margin-bottom: 32px; }
  .hero-visual { margin-top: 10px; }
  .hero-image { height: 630px; }
  .stats { grid-template-columns: repeat(2, 1fr); }
  .stats article:nth-child(2) { border-right: 0; }
  .stats article:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.18); }
  .about-heading, .about-sales, .faq-grid { grid-template-columns: 1fr; }
  .about-heading { gap: 24px; }
  .about-heading__copy p { max-width: 760px; }
  .faq-grid { gap: 38px; }
  .faq-grid .section-heading { position: static; }
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .ai-grid { grid-template-columns: 1fr; gap: 50px; }
  .ai-visual img { height: 540px; }
  .price-tabs { grid-template-columns: repeat(2, 1fr); }
  .price-panel { grid-template-columns: 1fr; gap: 40px; }
  .price-panel__details { padding: 36px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .trust-heading, .trust-layout { grid-template-columns: 1fr; }
  .trust-heading { gap: 24px; }
  .trust-grid { grid-template-columns: 1fr; }
  .steps-line { grid-template-columns: repeat(2, 1fr); gap: 42px 24px; }
  .steps-line::before { display: none; }
  .contact-grid { grid-template-columns: 1fr; }
  .contact-copy { max-width: 720px; padding-top: 0; }
  .contact-section .contact-form { margin-top: 0; }
  .review-grid { --review-card-width: calc((100% - 18px) / 2); }
  .review-card { min-height: 330px; }
  .review-card--accent { transform: none; }
  .projects-heading { gap: 24px; margin-bottom: 12px; }
  .projects-grid { --project-card-width: calc((100% - 32px) / 2); }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .footer-menu { grid-column: 1 / -1; }
  .footer-grid > div:last-child { grid-column: auto; }
}

@media (max-width: 720px) {
  :root { --nav-anchor-shift: -53px; }
  .container { width: min(100% - 32px, var(--container)); }
  .section { padding: 72px 0; }
  .section-heading { margin-bottom: 38px; }
  .section-heading--row { display: block; }
  .section-heading--row .section-intro, .section-heading--row .text-link { margin-top: 22px; }
  .section-heading--row .services-intro { margin-top: 22px; }
  .section-heading h2, .ai-copy h2, .contact-copy h2 { font-size: 40px; }
  .section-intro { font-size: 17px; }
  .header-strip__inner { min-height: 36px; }
  .header-strip { max-height: 36px; }
  .header-strip { font-size: 11px; }
  .header-strip__inner { gap: 10px; }
  .header-strip__item { gap: 4px; white-space: nowrap; }
  .header-strip__item svg { width: 12px; height: 12px; }
  .header-strip__item:first-child, .header-strip__status { display: none; }
  .header-strip__item:last-child { margin-left: auto; }
  .nav { min-height: 70px; }
  .logo { width: 145px; }
  .logo img { height: 47px; }
  .mobile-menu { inset: 106px 0 auto; max-height: calc(100vh - 106px); }
  .site-header.contact-hidden .mobile-menu { inset: 70px 0 auto; max-height: calc(100vh - 70px); }
  .hero { padding: 54px 0; }
  .hero h1 { font-size: 50px; }
  .hero-lead { font-size: 18px; }
  .hero-actions .btn { width: 100%; }
  .reaction-card { align-items: flex-start; }
  .hero-image { height: 510px; border-radius: 24px; }
  .stats { grid-template-columns: 1fr 1fr; margin-top: 44px; }
  .stats article { padding: 22px 13px; }
  .stats__icon { width: 40px; height: 40px; }
  .stats__icon svg { width: 38px; height: 38px; }
  .stats__value { margin-bottom: 6px; font-size: 24px; }
  .stats p { font-size: 12px; }
  .about-heading { margin-bottom: 38px; }
  .about-heading h2 { font-size: 43px; }
  .about-heading__subtitle { font-size: 16px; }
  .about-heading__copy p { font-size: 18px; }
  .about-pitch { padding: 32px 28px; }
  .about-pitch h3 { font-size: 32px; }
  .about-direction { padding: 24px 22px; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 350px; padding: 28px; }
  .ai-visual img { height: 450px; border-radius: 24px; }
  .price-tabs { grid-template-columns: 1fr 1fr; }
  .price-tab { min-width: 0; grid-template-columns: 44px minmax(0, 1fr); align-items: start; column-gap: 10px; row-gap: 4px; padding: 16px 14px 18px; }
  .price-tab span { align-self: start; font-size: 30px; }
  .price-tab strong { min-width: 0; font-size: 16px; line-height: 1.18; overflow-wrap: anywhere; }
  .price-tab small { display: none; }
  .price-panel { padding: 30px 24px; border-radius: 22px; }
  .price-panel__main h3 { font-size: 30px; }
  .price-list li { display: block; }
  .price-list strong { display: block; margin-top: 5px; text-align: left; }
  .trust-heading h2 { font-size: 43px; }
  .trust-proof { padding: 34px 28px; }
  .trust-proof__metric { font-size: 78px; }
  .trust-proof h3 { font-size: 26px; }
  .trust-proof__years { font-size: 26px; }
  .trust .trust-grid article { grid-template-columns: 50px 1fr; gap: 16px; padding: 24px 22px; }
  .trust-icon { width: 50px; height: 50px; }
  .trust-icon svg { width: 24px; height: 24px; }
  .steps-line { grid-template-columns: 1fr; }
  .steps-line article { min-height: 0; padding: 24px 22px; }
  .contact-form { padding: 28px 22px; border-radius: 22px; }
  .form-grid { grid-template-columns: 1fr; gap: 0; }
  .form-grid label { margin-bottom: 17px; }
  .review-grid { --review-card-width: 100%; }
  .review-card { padding: 28px; }
  .projects-heading { margin-bottom: 12px; }
  .projects-intro { grid-template-columns: 1fr; gap: 18px; }
  .projects-grid { --project-card-width: calc((100% - 32px) / 2); gap: 32px; }
  .project-card { min-height: 300px; padding: 24px; }
  .project-modal__details { grid-template-columns: 1fr; }
  .faq-list summary { font-size: 16px; }
  .faq-list summary { padding: 21px 50px 21px 0; }
  .faq-list summary span { right: 0; width: 34px; height: 34px; }
  .faq-list details > div { padding: 0 50px 22px 0; }
  .map-section { min-height: 0; padding: 56px 0; }
  .map-embed { height: 380px; border-radius: 20px; }
  .footer-grid { grid-template-columns: 1fr; gap: 16px; }
  .footer-menu { grid-column: auto; }
  .footer-menu-links { columns: 1; }
  .footer-grid > div:last-child { grid-column: auto; }
  .footer-bottom { display: grid; gap: 9px; }
  .cookie-banner { align-items: flex-start; gap: 14px; padding: 16px; }
  .cookie-banner .btn { flex: 0 0 auto; }
  .modal { padding: 10px; }
  .modal__dialog { max-height: none; padding: 36px 24px 28px; border-radius: 20px; }
  .modal__close { top: 8px; right: 8px; }
  .modal__dialog h2 { font-size: 31px; }
}

@media (max-width: 460px) {
  .hero h1 { font-size: 41px; }
  .hero-lead { font-size: 14px; }
  .hero-lead__row { flex-wrap: wrap; gap: 5px 7px; }
  .hero-image { height: 420px; }
  .reaction-card { display: block; }
  .reaction-card__number { margin-bottom: 12px; }
  .stats { grid-template-columns: 1fr 1fr; }
  .contact-links { grid-template-columns: 1fr; }
  .price-tabs { grid-template-columns: 1fr; }
  .price-tab { min-height: 92px; grid-template-columns: 56px minmax(0, 1fr); column-gap: 14px; padding: 18px 24px; }
  .price-tab span { font-size: 38px; }
  .price-tab strong { font-size: 20px; line-height: 1.2; }
  .price-tab small { display: block; font-size: 15px; line-height: 1.35; }
  .review-card blockquote { font-size: 17px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > div:last-child { grid-column: auto; }
  .cookie-banner { display: block; }
  .cookie-banner .btn { width: 100%; margin-top: 12px; }
}

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

/* Personal data policy page */
.psd-hero { position: relative; padding: 64px 0 34px; background-color: var(--navy); background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.026) 0 1px, transparent 1px 13px); overflow: hidden; }
.psd-hero__inner { position: relative; z-index: 1; max-width: 1000px; }
.psd-kicker { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 24px; color: #dce8ff; font-size: 14px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.psd-kicker svg { width: 23px; height: 23px; color: #ff8b5e; }
.psd-kicker > span { color: transparent; background: linear-gradient(90deg, #dce8ff 0%, #dce8ff 42%, #ff7138 48%, #ff9a70 52%, #dce8ff 58%, #dce8ff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; animation: hero-title-shine 6.5s ease-in-out infinite; }
.psd-hero h1 { width: fit-content; max-width: 980px; margin-bottom: 14px; color: transparent; background: linear-gradient(90deg, #fff 0%, #fff 42%, #ff7138 48%, #ff9a70 52%, #fff 58%, #fff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; font-size: clamp(42px, 5.5vw, 76px); line-height: 1.02; letter-spacing: -.012em; animation: hero-title-shine 6.5s ease-in-out .7s infinite; }
.psd-hero p { margin: 0; color: #dce7f7; font-size: 17px; }
.psd-content { padding: 0 0 102px; background-color: var(--navy); background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.026) 0 1px, transparent 1px 13px); }
.psd-page .footer { background-color: var(--navy); background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.026) 0 1px, transparent 1px 13px); background-size: auto; }
.psd-document { max-width: 1040px; margin-inline: auto; padding: 66px 72px; background-color: rgba(26, 53, 88, .5); background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0 1px, transparent 1px 13px); border: 1px solid rgba(218, 231, 255, .3); border-radius: 28px; box-shadow: 0 24px 64px rgba(5, 16, 35, .2); }
.psd-document > section + section { margin-top: 54px; padding-top: 50px; border-top: 1px solid rgba(218, 231, 255, .22); }
.psd-document h2 { display: grid; grid-template-columns: max-content minmax(0, 1fr); align-items: start; gap: 20px; margin-bottom: 26px; color: #fff; font-size: clamp(25px, 3vw, 36px); line-height: 1.17; letter-spacing: -.012em; text-transform: uppercase; }
.psd-document h2 .psd-section-number { display: block; align-self: start; padding: 0; color: var(--orange); font-family: inherit; font-size: 1em; font-weight: 850; line-height: 1.17; letter-spacing: -.012em; }
.psd-document h2 .psd-section-title { display: block; min-width: 0; }
.psd-document h3 { margin-bottom: 20px; color: #fff; font-size: 20px; line-height: 1.45; }
.psd-document p { margin: 0 0 18px; color: #e7eef8; font-size: 17px; line-height: 1.72; }
.psd-document p:last-child { margin-bottom: 0; }
.psd-document p strong, .psd-document li strong { color: #fff; }
.psd-document a { color: #aac4ff; text-decoration: underline; text-decoration-color: rgba(170,196,255,.42); text-underline-offset: 3px; }
.psd-document a:hover { color: var(--orange); text-decoration-color: currentColor; }
.psd-purpose { padding: 0 34px 32px; background: rgba(255,255,255,.055); border: 1px solid rgba(218,231,255,.3); border-radius: 10px; box-shadow: 0 12px 28px rgba(5, 16, 35, .14); overflow: hidden; }
.psd-purpose h3 { margin: 0 -34px 28px; padding: 24px 34px; color: #fff; background: #1f3657; border-bottom: 1px solid rgba(218,231,255,.24); font-size: 19px; font-weight: 800; letter-spacing: .005em; line-height: 1.5; }
.psd-purpose ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.psd-purpose li { position: relative; padding: 15px 0 15px 28px; color: #e7eef8; border-bottom: 1px solid rgba(218,231,255,.16); font-size: 16px; line-height: 1.65; }
.psd-purpose li:first-child { padding-top: 0; }
.psd-purpose li:last-child { padding-bottom: 0; border-bottom: 0; }
.psd-purpose li::before { position: absolute; top: 1.42em; left: 1px; width: 8px; height: 8px; content: ""; background: #a9c4ff; border-radius: 1px; transform: rotate(45deg); }
.psd-purpose li:first-child::before { top: .72em; }

@media (max-width: 720px) {
  .psd-hero { padding: 46px 0 24px; }
  .psd-hero h1 { font-size: 42px; overflow-wrap: anywhere; }
  .psd-content { padding: 0 0 64px; }
  .psd-document { padding: 36px 25px; border-radius: 20px; }
  .psd-document > section + section { margin-top: 38px; padding-top: 36px; }
  .psd-document h2 { gap: 13px; font-size: 26px; }
  .psd-document h2 .psd-section-number { padding: 0; }
  .psd-document p { font-size: 16px; line-height: 1.68; }
  .psd-purpose { padding: 0 20px 24px; }
  .psd-purpose h3 { margin: 0 -20px 22px; padding: 20px; font-size: 17px; }
  .psd-purpose li { padding-left: 24px; }
}

@media (max-width: 460px) {
  .psd-hero h1 { font-size: 35px; }
  .psd-kicker { font-size: 12px; }
  .psd-document { padding: 31px 20px; }
  .psd-document h2 { gap: 11px; font-size: 23px; }
  .psd-document h2 .psd-section-number { padding: 0; }
}

/* Страница ИИ */
.ai-page-hero { position: relative; padding: 96px 0 104px; background-color: var(--navy); background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.026) 0 1px, transparent 1px 13px); overflow: hidden; }
.ai-page-hero::before { position: absolute; top: -240px; right: -180px; width: 620px; height: 620px; content: ""; background: radial-gradient(circle, rgba(58,116,238,.24), transparent 68%); pointer-events: none; }
.ai-page-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0, .92fr) minmax(460px, 1.08fr); align-items: center; gap: 74px; }
.ai-page-hero__copy h1 { max-width: 720px; margin-bottom: 28px; color: #fff; font-size: clamp(48px, 5.25vw, 76px); line-height: .98; letter-spacing: -.012em; }
.ai-page-hero__copy > p { max-width: 690px; margin-bottom: 32px; color: #e7eef9; font-size: 16px; line-height: 1.65; }
.ai-page-kicker { display: inline-flex; width: fit-content; align-items: center; gap: 9px; margin-bottom: 20px; color: #dbe7ff; font-size: 15px; font-weight: 800; letter-spacing: .08em; line-height: 1.4; }
.ai-page-kicker svg { width: 22px; height: 22px; flex: 0 0 auto; }
.ai-page-kicker span { color: transparent; background: linear-gradient(90deg, #dbe7ff 0%, #dbe7ff 42%, #ff7138 48%, #ff9a70 52%, #dbe7ff 58%, #dbe7ff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; animation: hero-title-shine 6.5s ease-in-out infinite; }
.ai-page-kicker--dark { color: var(--blue); }
.ai-page-kicker--dark span { background-image: linear-gradient(90deg, #2457cf 0%, #2457cf 42%, #f0673d 48%, #ff8b54 52%, #2457cf 58%, #2457cf 100%); }
.ai-page-hero__actions { display: flex; width: 100%; max-width: 590px; flex-wrap: wrap; gap: 20px; }
.ai-page-hero__actions .btn { min-width: 0; flex: 1 1 0; color: #fff; background: rgba(36,87,207,.16); border: 1px solid rgba(255,255,255,.68); box-shadow: none; }
.ai-page-hero__actions .btn:hover { color: #fff; background: var(--orange); border-color: var(--orange); box-shadow: 0 9px 22px rgba(240,103,61,.26), 0 0 0 1px rgba(255,255,255,.18); }
.ai-page-hero__facts { display: grid; gap: 10px; margin-top: 34px; color: #dbe6f6; font-size: 14px; }
.ai-page-hero__facts span { display: flex; align-items: center; gap: 9px; }
.ai-page-hero__facts svg { width: 19px; height: 19px; flex: 0 0 auto; color: #9ebcff; }
.ai-page-hero__visual { position: relative; min-width: 0; }
.ai-page-hero__visual img { width: 100%; height: 650px; object-fit: cover; border: 1px solid rgba(255,255,255,.2); border-radius: 32px; box-shadow: 0 32px 90px rgba(1,8,23,.36); }
.ai-page-hero__chip { position: absolute; top: 26px; left: 26px; display: inline-flex; align-items: center; gap: 9px; padding: 10px 14px; color: #fff; background: rgba(7,16,31,.72); border: 1px solid rgba(255,255,255,.22); border-radius: 999px; font-size: 12px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; backdrop-filter: blur(12px); }
.ai-page-hero__chip i { width: 8px; height: 8px; background: var(--green); border-radius: 50%; box-shadow: 0 0 0 5px rgba(46,204,139,.14); animation: support-dot-pulse 2.4s ease-in-out infinite; }
.ai-page-hero__note { position: absolute; right: 24px; bottom: 24px; display: grid; max-width: 300px; gap: 3px; padding: 18px 20px; color: #fff; background: rgba(20,43,78,.8); border: 1px solid rgba(255,255,255,.25); border-radius: 18px; box-shadow: 0 16px 42px rgba(1,8,23,.25); backdrop-filter: blur(14px); }
.ai-page-hero__note strong { font-size: 18px; }
.ai-page-hero__note span { color: #dce7f7; font-size: 13px; }
.ai-page-heading h2 { max-width: 900px; }
.ai-page-heading .section-intro { max-width: 800px; color: #dce6f5; font-size: 16px; }
.ai-page-solutions { background-color: #557aa8; background-image: repeating-linear-gradient(45deg, rgba(255,255,255,.03) 0 1px, transparent 1px 13px); }
.ai-capability-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.ai-capability-card { min-height: 290px; padding: 30px; background: rgba(35,67,105,.72); border: 1px solid rgba(218,231,255,.42); border-radius: 24px; box-shadow: 0 18px 44px rgba(7,20,43,.15); transition: background-color .35s ease, border-color .35s ease, box-shadow .35s ease, transform .35s ease; }
.ai-capability-card:hover { background: rgba(43,76,118,.96); border-color: rgba(255,159,118,.78); box-shadow: 0 22px 52px rgba(7,20,43,.24); transform: translateY(-3px); }
.ai-capability-card > span { display: grid; width: 50px; height: 50px; margin-bottom: 26px; color: #fff; background: rgba(240,103,61,.78); border: 1px solid rgba(255,187,158,.72); border-radius: 15px; place-items: center; }
.ai-capability-card > span svg { width: 26px; height: 26px; }
.ai-capability-card h3 { margin-bottom: 13px; color: #fff; font-size: 24px; line-height: 1.15; }
.ai-capability-card p { margin: 0; color: #e5edf8; font-size: 15px; line-height: 1.65; }
.ai-page-integrations { background-color: #edf3fb; background-image: repeating-linear-gradient(45deg, rgba(36,87,207,.035) 0 1px, transparent 1px 14px); }
.ai-page-integrations__grid { display: grid; grid-template-columns: .82fr 1.18fr; align-items: start; gap: 78px; }
.ai-page-integrations .ai-page-heading { position: sticky; top: 112px; }
.ai-page-integrations .ai-page-heading h2 { margin-bottom: 24px; color: #18345c; font-size: clamp(40px, 4vw, 60px); line-height: 1.04; }
.ai-page-integrations .ai-page-heading > p { color: #43516a; font-size: 18px; line-height: 1.7; }
.ai-page-integrations .ai-page-heading .btn { margin-top: 16px; }
.ai-integration-list { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ai-integration-list article { min-height: 190px; padding: 28px; background: #fff; border: 1px solid #d4deed; border-radius: 22px; box-shadow: 0 16px 42px rgba(32,59,99,.08); transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease; }
.ai-integration-list article:hover { border-color: #8eafe9; box-shadow: 0 20px 48px rgba(32,59,99,.14); transform: translateY(-2px); }
.ai-integration-list strong { display: block; margin-bottom: 12px; color: #1b3f72; font-size: 21px; line-height: 1.2; }
.ai-integration-list span { color: #536078; font-size: 15px; line-height: 1.6; }
.ai-page-process, .ai-page .footer { background-color: #557aa8; background-image: repeating-linear-gradient(45deg, rgba(255,255,255,.03) 0 1px, transparent 1px 13px); background-size: auto; }
.ai-process-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ai-process-grid article { position: relative; min-height: 290px; padding: 30px 26px; background: rgba(15,34,64,.42); border: 1px solid rgba(218,231,255,.28); border-radius: 22px; box-shadow: 0 16px 36px rgba(8,23,50,.16); overflow: hidden; transition: background-color .3s ease, border-color .3s ease, box-shadow .3s ease, transform .3s ease; }
.ai-process-grid article > span { display: block; margin-bottom: 30px; color: #ff986e; font-size: 44px; font-weight: 900; line-height: 1; }
.ai-process-grid h3 { margin-bottom: 14px; color: #fff; font-size: 23px; line-height: 1.16; }
.ai-process-grid p { margin: 0; color: #dce6f5; font-size: 16px; line-height: 1.65; }
@media (hover: hover) {
  .ai-process-grid article:hover { background: rgba(71,114,164,.54); border-color: rgba(255,255,255,.54); box-shadow: 0 22px 46px rgba(8,23,50,.24); transform: translateY(-4px); }
}
.ai-page-security { background-color: var(--navy); background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.026) 0 1px, transparent 1px 13px); }
.ai-page-security__grid { display: grid; grid-template-columns: 1.08fr .92fr; align-items: start; gap: 60px; }
.ai-page-security__copy h2 { max-width: 680px; margin-bottom: 24px; font-size: clamp(40px, 3.8vw, 56px); line-height: 1.02; overflow-wrap: normal; }
.ai-page-security__copy > p { max-width: 650px; color: #edf3fc; font-size: 16px; line-height: 1.7; }
.ai-security-list { display: grid; gap: 14px; }
.ai-security-list > div { display: grid; grid-template-columns: 48px 1fr; align-items: center; gap: 16px; padding: 22px 24px; background: rgba(38,69,108,.7); border: 1px solid rgba(218,231,255,.4); border-radius: 18px; }
.ai-security-list svg { width: 48px; height: 48px; padding: 12px; color: #fff; background: rgba(240,103,61,.78); border-radius: 14px; }
.ai-security-list span { color: #e7eef9; line-height: 1.6; }
.ai-security-list strong { color: #fff; }
.ai-page-contact .contact-copy h2 { max-width: 780px; font-size: clamp(42px, 4.3vw, 62px); }
.ai-page .ai-import-feature { position: relative; background-color: #557aa8; background-image: repeating-linear-gradient(45deg, rgba(255,255,255,.03) 0 1px, transparent 1px 13px); background-size: auto; overflow: hidden; }
.ai-import-feature__grid, .ai-import-summary__grid { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 78px; }
.ai-import-feature__image { min-width: 0; }
.ai-import-feature__image img, .ai-import-summary__image img { width: 100%; height: 590px; object-fit: cover; border: 1px solid rgba(255,255,255,.2); border-radius: 30px; box-shadow: 0 26px 70px rgba(4,17,40,.28); }
.ai-import-feature__copy h2, .ai-import-summary__copy h2 { margin-bottom: 24px; color: #fff; font-size: clamp(42px, 4.5vw, 64px); line-height: 1.02; }
.ai-import-feature__copy p, .ai-import-summary__copy p { color: #edf3fc; font-size: 16px; line-height: 1.72; }
.ai-page .ai-import-feature__copy p { color: #f2f6ff; }
.ai-import-feature__copy .btn, .ai-page-security__copy .btn, .ai-import-summary__copy .btn { margin-top: 14px; color: #fff; background: rgba(36,87,207,.16); border: 1px solid rgba(255,255,255,.68); box-shadow: none; }
.ai-import-feature__copy .btn:hover, .ai-page-security__copy .btn:hover, .ai-import-summary__copy .btn:hover { color: #fff; background: var(--orange); border-color: var(--orange); }
.ai-page-security .ai-import-feature__image img { height: 610px; }
.ai-import-summary, .ai-page .map-section { background-color: var(--navy); background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.026) 0 1px, transparent 1px 13px); }
.ai-page .map-heading h2 { margin-bottom: 24px; line-height: 1.02; }
.ai-page .map-heading p { color: #edf3fc; font-size: 16px; line-height: 1.72; }
.ai-page .map-embed { border-color: rgba(255,255,255,.2); border-radius: 30px; box-shadow: 0 26px 70px rgba(4,17,40,.28); }
.ai-page .footer-panel { background: rgba(15,34,64,.42); border-color: rgba(218,231,255,.28); box-shadow: 0 16px 36px rgba(8,23,50,.16); backdrop-filter: none; }
.ai-import-summary__image { min-width: 0; }
.ai-import-summary__image img { height: 520px; }
.ai-page-hero__copy h1,
.ai-import-feature__copy h2,
.ai-page-security__copy h2,
.ai-page-process .ai-page-heading h2,
.ai-import-summary__copy h2 { width: fit-content; color: transparent; background: linear-gradient(90deg, #fff 0%, #fff 42%, #ff7138 48%, #ff9a70 52%, #fff 58%, #fff 100%); background-position: 100% 0; background-repeat: no-repeat; background-size: 280% 100%; background-clip: text; -webkit-background-clip: text; animation: hero-title-shine 6.5s ease-in-out .7s infinite; }
.ai-page-process .ai-page-kicker { color: #dbe7ff; }
.ai-page-process .ai-page-kicker span { background-image: linear-gradient(90deg, #e6efff 0%, #e6efff 42%, #ff7138 48%, #ff9a70 52%, #e6efff 58%, #e6efff 100%); }
.ai-page-process .ai-page-heading h2 { background-image: linear-gradient(90deg, #fff 0%, #fff 42%, #ff7138 48%, #ff9a70 52%, #fff 58%, #fff 100%); }
.ai-page-process .ai-page-heading .section-intro { color: #f2f6ff; }

@media (max-width: 1024px) {
  .ai-page-hero__grid, .ai-page-integrations__grid, .ai-page-security__grid { grid-template-columns: 1fr; }
  .ai-page-hero__grid { gap: 48px; }
  .ai-page-hero__copy { max-width: 790px; }
  .ai-page-hero__visual img { height: 560px; }
  .ai-capability-grid { grid-template-columns: 1fr 1fr; }
  .ai-page-integrations .ai-page-heading { position: static; }
  .ai-process-grid { grid-template-columns: 1fr 1fr; }
  .ai-import-feature__grid, .ai-import-summary__grid { grid-template-columns: 1fr; gap: 44px; }
  .ai-page-security .ai-import-feature__image { grid-row: 1; }
  .ai-page-security__copy { grid-row: 2; }
}

@media (max-width: 720px) {
  .ai-page-hero { padding: 64px 0 72px; }
  .ai-page-hero__copy h1 { font-size: 46px; }
  .ai-page-hero__copy > p { font-size: 16px; }
  .ai-page-hero__actions { display: grid; }
  .ai-page-hero__actions .btn { width: 100%; min-width: 0; }
  .ai-page-hero__visual img { height: 440px; border-radius: 24px; }
  .ai-page-hero__note { right: 14px; bottom: 14px; left: 14px; max-width: none; }
  .ai-capability-grid, .ai-integration-list, .ai-process-grid { grid-template-columns: 1fr; }
  .ai-capability-card { min-height: 0; padding: 26px; }
  .ai-page-integrations .ai-page-heading h2, .ai-page-security__copy h2 { font-size: 40px; }
  .ai-process-grid article { min-height: 0; }
  .ai-security-list > div { grid-template-columns: 44px 1fr; padding: 19px; }
  .ai-security-list svg { width: 44px; height: 44px; }
  .ai-import-feature__image img, .ai-page-security .ai-import-feature__image img, .ai-import-summary__image img { height: 430px; border-radius: 24px; }
  .ai-import-feature__copy h2, .ai-import-summary__copy h2 { font-size: 40px; }
  .ai-page .map-embed { border-radius: 24px; }
}

@media (max-width: 460px) {
  .ai-page-hero__copy h1 { font-size: 39px; }
  .ai-page-kicker { font-size: 13px; letter-spacing: .05em; }
  .ai-page-hero__visual img { height: 390px; }
  .ai-page-hero__facts { font-size: 13px; }
  .ai-page-contact .contact-copy h2 { font-size: 38px; }
  .ai-import-feature__image img, .ai-page-security .ai-import-feature__image img, .ai-import-summary__image img { height: 360px; }
  .ai-import-feature__copy h2, .ai-import-summary__copy h2 { font-size: 36px; }
}

/* Единый размер основных заголовков страницы ИИ */
.ai-page main h1,
.ai-page main h2 { font-size: 50px; }

@media (max-width: 720px) {
  .ai-page main h1,
  .ai-page main h2 { font-size: 40px; }
}

@media (max-width: 460px) {
  .ai-page main h1,
  .ai-page main h2 { font-size: 36px; }
}

/* Единый размер основных заголовков сайта */
.home-page main h1,
.home-page main h2,
.ai-page main h1,
.ai-page main h2,
.psd-page .psd-hero h1,
.psd-page .contact-section h2 { font-size: 60px !important; }

@media (max-width: 720px) {
  .home-page main h1,
  .home-page main h2,
  .ai-page main h1,
  .ai-page main h2,
  .psd-page .psd-hero h1,
  .psd-page .contact-section h2 { font-size: 40px !important; }
}

@media (max-width: 460px) {
  .home-page main h1,
  .home-page main h2,
  .ai-page main h1,
  .ai-page main h2,
  .psd-page .psd-hero h1,
  .psd-page .contact-section h2 { font-size: 35px !important; }
}

/* Keep the mobile cookie notice above the chat launcher. */
@media (max-width: 760px) {
  .cookie-banner { bottom: 96px; }
}

.ai-copy .btn svg { width: 28.08px; height: 28.08px; flex-shrink: 0; }

.project-pagination button[hidden] { display: none; }

.projects-footnote-mark { margin-left: .12em; color: #ff986e; font-size: .4em; vertical-align: super; line-height: 0; }
.projects-footnote { position: relative; max-width: 780px; margin: 18px 0 0; padding-left: 16px; color: #dce6f5; font-size: 13px; font-weight: 400; line-height: 1.6; }
.projects-footnote > span { position: absolute; top: 0; left: 0; color: #ff986e; }
.projects-footnote a { color: #ffb092; text-decoration: underline; text-decoration-color: rgba(255,176,146,.48); text-underline-offset: 3px; transition: color .25s ease, text-decoration-color .25s ease; }
.projects-footnote a:hover { color: #fff; text-decoration-color: var(--orange); }

.projects .section-heading h2[aria-describedby="projects-footnote"] > span { white-space: normal; }
